From d004074c90525442a69cebe226440bb318abad29 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Tue, 10 Mar 2026 21:28:40 -0700 Subject: [PATCH 01/51] feat(auth): Add pluggable support for auth integrations using AuthProviderRegistry within CredentialManager The flow for integrating a new auth method will be as follows. The ADK framework contributor will 1. extend the `AuthScheme` to create their own within `adk/auth/auth_scheme.py` 2. implement `BaseAuthProvider` within their dedicated directory in `adk/integrations/auth` 3. do the static registration of the new scheme and provider with AuthProviderRegistry of CredentialManager. PiperOrigin-RevId: 881775983 --- src/google/adk/auth/__init__.py | 1 + src/google/adk/auth/auth_provider_registry.py | 54 +++++++++ src/google/adk/auth/base_auth_provider.py | 43 ++++++++ src/google/adk/auth/credential_manager.py | 25 +++++ src/google/adk/features/_feature_registry.py | 4 + .../auth/test_auth_provider_registry.py | 59 ++++++++++ .../unittests/auth/test_credential_manager.py | 104 ++++++++++++++++++ 7 files changed, 290 insertions(+) create mode 100644 src/google/adk/auth/auth_provider_registry.py create mode 100644 src/google/adk/auth/base_auth_provider.py create mode 100644 tests/unittests/auth/test_auth_provider_registry.py diff --git a/src/google/adk/auth/__init__.py b/src/google/adk/auth/__init__.py index 2426b512c1..f2148a75f6 100644 --- a/src/google/adk/auth/__init__.py +++ b/src/google/adk/auth/__init__.py @@ -20,3 +20,4 @@ from .auth_schemes import AuthSchemeType from .auth_schemes import OpenIdConnectWithConfig from .auth_tool import AuthConfig +from .base_auth_provider import BaseAuthProvider diff --git a/src/google/adk/auth/auth_provider_registry.py b/src/google/adk/auth/auth_provider_registry.py new file mode 100644 index 0000000000..db6997ae04 --- /dev/null +++ b/src/google/adk/auth/auth_provider_registry.py @@ -0,0 +1,54 @@ +# Copyright 2026 Google LLC +# +# 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. + +"""Auth provider registry.""" + +from __future__ import annotations + +from ..features import experimental +from ..features import FeatureName +from .auth_schemes import AuthScheme +from .base_auth_provider import BaseAuthProvider + + +@experimental(FeatureName.PLUGGABLE_AUTH) +class AuthProviderRegistry: + """Registry for auth provider instances.""" + + def __init__(self): + self._providers: dict[type[AuthScheme], BaseAuthProvider] = {} + + def register( + self, + auth_scheme_type: type[AuthScheme], + provider_instance: BaseAuthProvider, + ) -> None: + """Register a provider instance for an auth scheme type. + + Args: + auth_scheme_type: The auth scheme type to register for. + provider_instance: The provider instance to register. + """ + self._providers[auth_scheme_type] = provider_instance + + def get_provider(self, auth_scheme: AuthScheme) -> BaseAuthProvider | None: + """Get the provider instance for an auth scheme. + + Args: + auth_scheme: The auth scheme to get provider for. + + Returns: + The provider instance if registered, None otherwise. + """ + return self._providers.get(type(auth_scheme)) diff --git a/src/google/adk/auth/base_auth_provider.py b/src/google/adk/auth/base_auth_provider.py new file mode 100644 index 0000000000..902f35aa25 --- /dev/null +++ b/src/google/adk/auth/base_auth_provider.py @@ -0,0 +1,43 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from abc import ABC +from abc import abstractmethod + +from ..agents.callback_context import CallbackContext +from ..features import experimental +from ..features import FeatureName +from .auth_credential import AuthCredential +from .auth_tool import AuthConfig + + +@experimental(FeatureName.PLUGGABLE_AUTH) +class BaseAuthProvider(ABC): + """Abstract base class for custom authentication providers.""" + + @abstractmethod + async def get_auth_credential( + self, auth_config: AuthConfig, context: CallbackContext + ) -> AuthCredential | None: + """Provide an AuthCredential asynchronously. + + Args: + auth_config: The current authentication configuration. + context: The current callback context. + + Returns: + The retrieved AuthCredential, or None if unavailable. + """ diff --git a/src/google/adk/auth/credential_manager.py b/src/google/adk/auth/credential_manager.py index d037a43e6b..08d1184d4d 100644 --- a/src/google/adk/auth/credential_manager.py +++ b/src/google/adk/auth/credential_manager.py @@ -24,6 +24,7 @@ from ..utils.feature_decorator import experimental from .auth_credential import AuthCredential from .auth_credential import AuthCredentialTypes +from .auth_provider_registry import AuthProviderRegistry from .auth_schemes import AuthSchemeType from .auth_schemes import ExtendedOAuth2 from .auth_schemes import OpenIdConnectWithConfig @@ -81,6 +82,7 @@ def __init__( auth_config: AuthConfig, ): self._auth_config = auth_config + self._auth_provider_registry = AuthProviderRegistry() self._exchanger_registry = CredentialExchangerRegistry() self._refresher_registry = CredentialRefresherRegistry() self._discovery_manager = OAuth2DiscoveryManager() @@ -137,6 +139,29 @@ async def get_auth_credential( ) -> Optional[AuthCredential]: """Load and prepare authentication credential through a structured workflow.""" + # First, check if a registered auth provider is available before attempting + # to retrieve tokens natively. + provider = self._auth_provider_registry.get_provider( + self._auth_config.auth_scheme + ) + if provider: + provided_credential = await provider.get_auth_credential( + self._auth_config, context + ) + if not provided_credential: + raise ValueError("AuthProvider did not return a credential.") + # Handle special case for OAuth2 user consent flow. + if ( + provided_credential.oauth2 + and not provided_credential.oauth2.access_token + and provided_credential.oauth2.auth_uri + ): + # User consent is required. We save the auth uri and return None + # to signal the need for user consent. + self._auth_config.exchanged_auth_credential = provided_credential + return None + return provided_credential + # Step 1: Validate credential configuration await self._validate_credential() diff --git a/src/google/adk/features/_feature_registry.py b/src/google/adk/features/_feature_registry.py index 9b633c2d34..08f58adba9 100644 --- a/src/google/adk/features/_feature_registry.py +++ b/src/google/adk/features/_feature_registry.py @@ -49,6 +49,7 @@ class FeatureName(str, Enum): SPANNER_VECTOR_STORE = "SPANNER_VECTOR_STORE" TOOL_CONFIG = "TOOL_CONFIG" TOOL_CONFIRMATION = "TOOL_CONFIRMATION" + PLUGGABLE_AUTH = "PLUGGABLE_AUTH" class FeatureStage(Enum): @@ -150,6 +151,9 @@ class FeatureConfig: FeatureName.TOOL_CONFIRMATION: FeatureConfig( FeatureStage.EXPERIMENTAL, default_on=True ), + FeatureName.PLUGGABLE_AUTH: FeatureConfig( + FeatureStage.EXPERIMENTAL, default_on=True + ), } # Track which experimental features have already warned (warn only once) diff --git a/tests/unittests/auth/test_auth_provider_registry.py b/tests/unittests/auth/test_auth_provider_registry.py new file mode 100644 index 0000000000..ca7b567e4c --- /dev/null +++ b/tests/unittests/auth/test_auth_provider_registry.py @@ -0,0 +1,59 @@ +# Copyright 2026 Google LLC +# +# 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. + +"""Unit tests for the AuthProviderRegistry.""" + +from google.adk.auth.auth_provider_registry import AuthProviderRegistry +from google.adk.auth.base_auth_provider import BaseAuthProvider +from pydantic import BaseModel + + +class SchemeA(BaseModel): + pass + + +class SchemeB(BaseModel): + pass + + +class TestAuthProviderRegistry: + """Test cases for AuthProviderRegistry.""" + + def test_register_and_get_provider(self, mocker): + """Test registering and retrieving providers for different auth scheme types.""" + registry = AuthProviderRegistry() + provider_a = mocker.create_autospec(BaseAuthProvider, instance=True) + provider_b = mocker.create_autospec(BaseAuthProvider, instance=True) + + registry.register(SchemeA, provider_a) + registry.register(SchemeB, provider_b) + + assert registry.get_provider(SchemeA()) is provider_a + assert registry.get_provider(SchemeB()) is provider_b + + def test_get_unregistered_provider_returns_none(self): + """Test that get_provider returns None for unregistered scheme types.""" + registry = AuthProviderRegistry() + assert registry.get_provider(SchemeA()) is None + + def test_register_duplicate_type_overwrites_existing(self, mocker): + """Test that registering a provider for an existing type overwrites the previous one.""" + registry = AuthProviderRegistry() + provider_1 = mocker.create_autospec(BaseAuthProvider, instance=True) + provider_2 = mocker.create_autospec(BaseAuthProvider, instance=True) + + registry.register(SchemeA, provider_1) + registry.register(SchemeA, provider_2) + + assert registry.get_provider(SchemeA()) is provider_2 diff --git a/tests/unittests/auth/test_credential_manager.py b/tests/unittests/auth/test_credential_manager.py index 7000c9b8f8..0cb999e5d9 100644 --- a/tests/unittests/auth/test_credential_manager.py +++ b/tests/unittests/auth/test_credential_manager.py @@ -21,6 +21,7 @@ from fastapi.openapi.models import OAuthFlowAuthorizationCode from fastapi.openapi.models import OAuthFlowImplicit from fastapi.openapi.models import OAuthFlows +from google.adk.agents.callback_context import CallbackContext from google.adk.agents.invocation_context import InvocationContext from google.adk.agents.llm_agent import Agent from google.adk.auth.auth_credential import AuthCredential @@ -32,6 +33,7 @@ from google.adk.auth.auth_schemes import AuthSchemeType from google.adk.auth.auth_schemes import ExtendedOAuth2 from google.adk.auth.auth_tool import AuthConfig +from google.adk.auth.base_auth_provider import BaseAuthProvider from google.adk.auth.credential_manager import CredentialManager from google.adk.auth.credential_manager import ServiceAccountCredentialExchanger from google.adk.auth.oauth2_discovery import AuthorizationServerMetadata @@ -63,6 +65,107 @@ async def test_request_credential(self): tool_context.request_credential.assert_called_once_with(auth_config) + @pytest.mark.asyncio + async def test_get_auth_credential_uses_registered_provider(self, mocker): + """Test get_auth_credential uses registered provider if available.""" + credential = AuthCredential( + auth_type=AuthCredentialTypes.API_KEY, api_key="test-key" + ) + provider = mocker.AsyncMock(spec=BaseAuthProvider) + provider.get_auth_credential.return_value = credential + manager = CredentialManager( + mocker.Mock(spec=AuthConfig, auth_scheme="scheme") + ) + mocker.patch.object( + manager._auth_provider_registry, "get_provider", return_value=provider + ) + mock_context = mocker.Mock(spec=CallbackContext) + + received_credential = await manager.get_auth_credential(mock_context) + + assert received_credential is credential + + @pytest.mark.asyncio + async def test_get_auth_credential_fallback_when_no_provider(self, mocker): + """Test fallback to standard flow when no provider is registered.""" + api_key_cred = AuthCredential( + auth_type=AuthCredentialTypes.API_KEY, + api_key="fallback-key-no-provider", + ) + + auth_scheme = mocker.Mock(spec=AuthScheme) + auth_scheme.type_ = AuthSchemeType.apiKey + + auth_config = mocker.Mock(spec=AuthConfig) + auth_config.auth_scheme = auth_scheme + auth_config.raw_auth_credential = api_key_cred + auth_config.exchanged_auth_credential = None + + manager = CredentialManager(auth_config) + + # Setup registry to return None (no provider found) + mocker.patch.object( + manager._auth_provider_registry, "get_provider", return_value=None + ) + + result = await manager.get_auth_credential(mocker.Mock()) + + assert result == api_key_cred + + @pytest.mark.asyncio + async def test_get_auth_credential_raises_error_when_provider_returns_none( + self, mocker + ): + """Test that a ValueError is raised when registered provider returns None.""" + api_key_cred = AuthCredential( + auth_type=AuthCredentialTypes.API_KEY, api_key="fallback-key" + ) + + auth_scheme = mocker.Mock(spec=AuthScheme) + auth_scheme.type_ = AuthSchemeType.apiKey + + auth_config = mocker.Mock(spec=AuthConfig) + auth_config.auth_scheme = auth_scheme + auth_config.raw_auth_credential = api_key_cred + auth_config.exchanged_auth_credential = None + + manager = CredentialManager(auth_config) + + # Setup provider to return None + provider = mocker.AsyncMock(spec=BaseAuthProvider) + provider.get_auth_credential.return_value = None + mocker.patch.object( + manager._auth_provider_registry, "get_provider", return_value=provider + ) + mock_context = mocker.Mock(spec=CallbackContext) + + with pytest.raises( + ValueError, match="AuthProvider did not return a credential." + ): + await manager.get_auth_credential(mock_context) + + @pytest.mark.asyncio + async def test_get_auth_credential_triggers_user_consent_when_provider_returns_auth_uri( + self, mocker + ): + """Test get_auth_credential triggers user consent when provider returns oauth2 credential with auth_uri.""" + credential = mocker.Mock(spec=AuthCredential) + credential.oauth2 = mocker.Mock(auth_uri="http://auth", access_token=None) + + provider = mocker.AsyncMock(spec=BaseAuthProvider) + provider.get_auth_credential.return_value = credential + + manager = CredentialManager( + mocker.Mock(spec=AuthConfig, auth_scheme="scheme") + ) + mocker.patch.object( + manager._auth_provider_registry, "get_provider", return_value=provider + ) + mock_context = mocker.Mock(spec=CallbackContext) + + assert await manager.get_auth_credential(mock_context) is None + assert manager._auth_config.exchanged_auth_credential is credential + @pytest.mark.asyncio async def test_load_auth_credentials_success(self): """Test load_auth_credential with successful flow.""" @@ -70,6 +173,7 @@ async def test_load_auth_credentials_success(self): auth_config = Mock(spec=AuthConfig) auth_config.raw_auth_credential = None auth_config.exchanged_auth_credential = None + auth_config.auth_scheme = Mock(spec=AuthScheme) # Mock the credential that will be returned mock_credential = Mock(spec=AuthCredential) From 0ad4de73502b62e13fef17dc5d865e3e51e39024 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Tue, 10 Mar 2026 21:47:59 -0700 Subject: [PATCH 02/51] ADK changes PiperOrigin-RevId: 881782296 --- contributing/samples/gepa/OWNERS | 3 --- tests/integration/fixture/context_update_test/OWNERS | 1 - 2 files changed, 4 deletions(-) delete mode 100644 contributing/samples/gepa/OWNERS delete mode 100644 tests/integration/fixture/context_update_test/OWNERS diff --git a/contributing/samples/gepa/OWNERS b/contributing/samples/gepa/OWNERS deleted file mode 100644 index 36064e743f..0000000000 --- a/contributing/samples/gepa/OWNERS +++ /dev/null @@ -1,3 +0,0 @@ -aarg -jief -paulxz \ No newline at end of file diff --git a/tests/integration/fixture/context_update_test/OWNERS b/tests/integration/fixture/context_update_test/OWNERS deleted file mode 100644 index 02f72c401c..0000000000 --- a/tests/integration/fixture/context_update_test/OWNERS +++ /dev/null @@ -1 +0,0 @@ -gkcng From ab4b736807dabee65659486a68135d9f1530834c Mon Sep 17 00:00:00 2001 From: Luke Street Date: Wed, 11 Mar 2026 09:19:53 -0700 Subject: [PATCH 03/51] fix: Refactor type string update in Anthropic tool param conversion The _update_type_string function now recursively processes "properties" at any level of the schema, ensuring that all "type" fields within nested objects are correctly lowercased. This improves handling of complex Co-authored-by: George Weale PiperOrigin-RevId: 882050939 --- src/google/adk/models/anthropic_llm.py | 79 +++++-- tests/unittests/models/test_anthropic_llm.py | 214 +++++++++++++++++++ 2 files changed, 273 insertions(+), 20 deletions(-) diff --git a/src/google/adk/models/anthropic_llm.py b/src/google/adk/models/anthropic_llm.py index 45c80b1595..7dd050a1cb 100644 --- a/src/google/adk/models/anthropic_llm.py +++ b/src/google/adk/models/anthropic_llm.py @@ -17,6 +17,7 @@ from __future__ import annotations import base64 +import copy import dataclasses from functools import cached_property import json @@ -250,22 +251,60 @@ def message_to_generate_content_response( ) -def _update_type_string(value_dict: dict[str, Any]): - """Updates 'type' field to expected JSON schema format.""" - if "type" in value_dict: - value_dict["type"] = value_dict["type"].lower() - - if "items" in value_dict: - # 'type' field could exist for items as well, this would be the case if - # items represent primitive types. - _update_type_string(value_dict["items"]) - - if "properties" in value_dict["items"]: - # There could be properties as well on the items, especially if the items - # are complex object themselves. We recursively traverse each individual - # property as well and fix the "type" value. - for _, value in value_dict["items"]["properties"].items(): - _update_type_string(value) +def _update_type_string(value: Any): + """Lowercases nested JSON schema type strings for Anthropic compatibility.""" + if isinstance(value, list): + for item in value: + _update_type_string(item) + return + + if not isinstance(value, dict): + return + + schema_type = value.get("type") + if isinstance(schema_type, str): + value["type"] = schema_type.lower() + + for dict_key in ( + "$defs", + "defs", + "dependentSchemas", + "patternProperties", + "properties", + ): + child_dict = value.get(dict_key) + if isinstance(child_dict, dict): + for child_value in child_dict.values(): + _update_type_string(child_value) + + for single_key in ( + "additionalProperties", + "additional_properties", + "contains", + "else", + "if", + "items", + "not", + "propertyNames", + "then", + "unevaluatedProperties", + ): + child_value = value.get(single_key) + if isinstance(child_value, (dict, list)): + _update_type_string(child_value) + + for list_key in ( + "allOf", + "all_of", + "anyOf", + "any_of", + "oneOf", + "one_of", + "prefixItems", + ): + child_list = value.get(list_key) + if isinstance(child_list, list): + _update_type_string(child_list) def function_declaration_to_tool_param( @@ -276,16 +315,15 @@ def function_declaration_to_tool_param( # Use parameters_json_schema if available, otherwise convert from parameters if function_declaration.parameters_json_schema: - input_schema = function_declaration.parameters_json_schema + input_schema = copy.deepcopy(function_declaration.parameters_json_schema) + _update_type_string(input_schema) else: properties = {} required_params = [] if function_declaration.parameters: if function_declaration.parameters.properties: for key, value in function_declaration.parameters.properties.items(): - value_dict = value.model_dump(exclude_none=True) - _update_type_string(value_dict) - properties[key] = value_dict + properties[key] = value.model_dump(by_alias=True, exclude_none=True) if function_declaration.parameters.required: required_params = function_declaration.parameters.required @@ -295,6 +333,7 @@ def function_declaration_to_tool_param( } if required_params: input_schema["required"] = required_params + _update_type_string(input_schema) return anthropic_types.ToolParam( name=function_declaration.name, diff --git a/tests/unittests/models/test_anthropic_llm.py b/tests/unittests/models/test_anthropic_llm.py index 8273d74aac..3df9f567be 100644 --- a/tests/unittests/models/test_anthropic_llm.py +++ b/tests/unittests/models/test_anthropic_llm.py @@ -280,6 +280,220 @@ def test_supported_models(): }, ), ), + ( + "function_with_nested_object_parameter", + types.FunctionDeclaration( + name="update_profile", + description="Updates a user profile.", + parameters=types.Schema( + type=types.Type.OBJECT, + properties={ + "profile": types.Schema( + type=types.Type.OBJECT, + description="The profile data", + properties={ + "name": types.Schema( + type=types.Type.STRING, + description="Full name", + ), + "address": types.Schema( + type=types.Type.OBJECT, + description="Mailing address", + properties={ + "city": types.Schema( + type=types.Type.STRING, + ), + "state": types.Schema( + type=types.Type.STRING, + ), + }, + ), + }, + ), + }, + required=["profile"], + ), + ), + anthropic_types.ToolParam( + name="update_profile", + description="Updates a user profile.", + input_schema={ + "type": "object", + "properties": { + "profile": { + "type": "object", + "description": "The profile data", + "properties": { + "name": { + "type": "string", + "description": "Full name", + }, + "address": { + "type": "object", + "description": "Mailing address", + "properties": { + "city": {"type": "string"}, + "state": {"type": "string"}, + }, + }, + }, + }, + }, + "required": ["profile"], + }, + ), + ), + ( + "function_with_any_of_parameter", + types.FunctionDeclaration( + name="set_value", + description="Sets a value that can be a string or integer.", + parameters=types.Schema( + type=types.Type.OBJECT, + properties={ + "value": types.Schema( + description="A string or integer value", + any_of=[ + types.Schema(type=types.Type.STRING), + types.Schema(type=types.Type.INTEGER), + ], + ), + }, + required=["value"], + ), + ), + anthropic_types.ToolParam( + name="set_value", + description="Sets a value that can be a string or integer.", + input_schema={ + "type": "object", + "properties": { + "value": { + "description": "A string or integer value", + "anyOf": [ + {"type": "string"}, + {"type": "integer"}, + ], + }, + }, + "required": ["value"], + }, + ), + ), + ( + "function_with_additional_properties_parameter", + types.FunctionDeclaration( + name="store_metadata", + description="Stores arbitrary key-value metadata.", + parameters=types.Schema( + type=types.Type.OBJECT, + properties={ + "metadata": types.Schema( + type=types.Type.OBJECT, + description="Arbitrary metadata", + additional_properties=types.Schema( + type=types.Type.STRING, + ), + ), + }, + required=["metadata"], + ), + ), + anthropic_types.ToolParam( + name="store_metadata", + description="Stores arbitrary key-value metadata.", + input_schema={ + "type": "object", + "properties": { + "metadata": { + "type": "object", + "description": "Arbitrary metadata", + "additionalProperties": {"type": "string"}, + }, + }, + "required": ["metadata"], + }, + ), + ), + ( + "function_with_parameters_json_schema_combinators", + types.FunctionDeclaration( + name="validate_payload", + description="Validates a payload with schema combinators.", + parameters_json_schema={ + "type": "OBJECT", + "properties": { + "choice": { + "oneOf": [ + {"type": "STRING"}, + {"type": "INTEGER"}, + ], + }, + "config": { + "allOf": [ + { + "type": "OBJECT", + "properties": { + "enabled": {"type": "BOOLEAN"}, + }, + }, + ], + }, + "blocked": { + "not": { + "type": "NULL", + }, + }, + "tuple_value": { + "type": "ARRAY", + "items": [ + {"type": "STRING"}, + {"type": "INTEGER"}, + ], + }, + }, + "required": ["choice"], + }, + ), + anthropic_types.ToolParam( + name="validate_payload", + description="Validates a payload with schema combinators.", + input_schema={ + "type": "object", + "properties": { + "choice": { + "oneOf": [ + {"type": "string"}, + {"type": "integer"}, + ], + }, + "config": { + "allOf": [ + { + "type": "object", + "properties": { + "enabled": {"type": "boolean"}, + }, + }, + ], + }, + "blocked": { + "not": { + "type": "null", + }, + }, + "tuple_value": { + "type": "array", + "items": [ + {"type": "string"}, + {"type": "integer"}, + ], + }, + }, + "required": ["choice"], + }, + ), + ), ( "function_with_parameters_json_schema", types.FunctionDeclaration( From 3117446293d30039c2f21f3d17a64a456c42c47d Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Wed, 11 Mar 2026 12:26:33 -0700 Subject: [PATCH 04/51] feat: Added tracking headers for ADK CLI command to Agent Engine PiperOrigin-RevId: 882138997 --- src/google/adk/cli/cli_deploy.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/google/adk/cli/cli_deploy.py b/src/google/adk/cli/cli_deploy.py index 465ca6c3e1..9d1cbc0d40 100644 --- a/src/google/adk/cli/cli_deploy.py +++ b/src/google/adk/cli/cli_deploy.py @@ -1061,12 +1061,20 @@ def to_agent_engine( import vertexai + from ..utils._google_client_headers import get_tracking_headers + if project and region: click.echo('Initializing Vertex AI...') - client = vertexai.Client(project=project, location=region) + client = vertexai.Client( + project=project, + location=region, + http_options={'headers': get_tracking_headers()}, + ) elif api_key: click.echo('Initializing Vertex AI in Express Mode with API key...') - client = vertexai.Client(api_key=api_key) + client = vertexai.Client( + api_key=api_key, http_options={'headers': get_tracking_headers()} + ) else: click.echo( 'No project/region or api_key provided. ' From 22799c0833569753021078f7bd8dcd11ece562fe Mon Sep 17 00:00:00 2001 From: Yifan Wang Date: Wed, 11 Mar 2026 14:15:50 -0700 Subject: [PATCH 05/51] chore: update adk web, see changelog [web] section Co-authored-by: Yifan Wang PiperOrigin-RevId: 882192675 --- .../{chunk-M3M3P5CP.js => chunk-5MGPUGAY.js} | 2 +- .../{chunk-CHLIPOEM.js => chunk-66RH7XMI.js} | 2 +- .../{chunk-XB75PFJS.js => chunk-AF27AUNK.js} | 2 +- .../{chunk-UATSMTT5.js => chunk-ARP3QDVK.js} | 2 +- .../{chunk-AK5ESGDJ.js => chunk-BI6TV3NL.js} | 2 +- .../{chunk-RLBEOMT4.js => chunk-FZZPD3K2.js} | 2 +- .../{chunk-4MSGFQCD.js => chunk-GFARMTUE.js} | 2 +- .../{chunk-HYLIZOX5.js => chunk-GLGQFQO2.js} | 2 +- .../{chunk-RUWE7IJV.js => chunk-MBYWPZQV.js} | 2 +- .../{chunk-HAQR6HJ6.js => chunk-N3RKSFBU.js} | 2 +- .../{chunk-VPVAD56Y.js => chunk-R2IMOXM4.js} | 2 +- .../{chunk-BX7YU7E6.js => chunk-RGCH6K7F.js} | 36 +- .../{chunk-BWFUMX67.js => chunk-ROC2DVJ2.js} | 2 +- .../{chunk-IXLBQLFI.js => chunk-SGO5R2ED.js} | 2 +- .../{chunk-A6XEKK5I.js => chunk-YI5XBR2B.js} | 2 +- .../{chunk-7MR4QDTO.js => chunk-ZLSAKILO.js} | 2 +- src/google/adk/cli/browser/index.html | 10 +- src/google/adk/cli/browser/main-7SJG752M.js | 4133 ++++++++++++++++ src/google/adk/cli/browser/main-QQBY56NS.js | 4134 ----------------- .../adk/cli/browser/styles-SI5RXIFC.css | 1 - .../adk/cli/browser/styles-YY6V3TJU.css | 1 + 21 files changed, 4172 insertions(+), 4173 deletions(-) rename src/google/adk/cli/browser/{chunk-M3M3P5CP.js => chunk-5MGPUGAY.js} (95%) rename src/google/adk/cli/browser/{chunk-CHLIPOEM.js => chunk-66RH7XMI.js} (93%) rename src/google/adk/cli/browser/{chunk-XB75PFJS.js => chunk-AF27AUNK.js} (95%) rename src/google/adk/cli/browser/{chunk-UATSMTT5.js => chunk-ARP3QDVK.js} (96%) rename src/google/adk/cli/browser/{chunk-AK5ESGDJ.js => chunk-BI6TV3NL.js} (93%) rename src/google/adk/cli/browser/{chunk-RLBEOMT4.js => chunk-FZZPD3K2.js} (97%) rename src/google/adk/cli/browser/{chunk-4MSGFQCD.js => chunk-GFARMTUE.js} (93%) rename src/google/adk/cli/browser/{chunk-HYLIZOX5.js => chunk-GLGQFQO2.js} (84%) rename src/google/adk/cli/browser/{chunk-RUWE7IJV.js => chunk-MBYWPZQV.js} (96%) rename src/google/adk/cli/browser/{chunk-HAQR6HJ6.js => chunk-N3RKSFBU.js} (79%) rename src/google/adk/cli/browser/{chunk-VPVAD56Y.js => chunk-R2IMOXM4.js} (89%) rename src/google/adk/cli/browser/{chunk-BX7YU7E6.js => chunk-RGCH6K7F.js} (90%) rename src/google/adk/cli/browser/{chunk-BWFUMX67.js => chunk-ROC2DVJ2.js} (97%) rename src/google/adk/cli/browser/{chunk-IXLBQLFI.js => chunk-SGO5R2ED.js} (93%) rename src/google/adk/cli/browser/{chunk-A6XEKK5I.js => chunk-YI5XBR2B.js} (94%) rename src/google/adk/cli/browser/{chunk-7MR4QDTO.js => chunk-ZLSAKILO.js} (95%) create mode 100644 src/google/adk/cli/browser/main-7SJG752M.js delete mode 100644 src/google/adk/cli/browser/main-QQBY56NS.js delete mode 100644 src/google/adk/cli/browser/styles-SI5RXIFC.css create mode 100644 src/google/adk/cli/browser/styles-YY6V3TJU.css diff --git a/src/google/adk/cli/browser/chunk-M3M3P5CP.js b/src/google/adk/cli/browser/chunk-5MGPUGAY.js similarity index 95% rename from src/google/adk/cli/browser/chunk-M3M3P5CP.js rename to src/google/adk/cli/browser/chunk-5MGPUGAY.js index f83cb5b679..4ca3c6da60 100644 --- a/src/google/adk/cli/browser/chunk-M3M3P5CP.js +++ b/src/google/adk/cli/browser/chunk-5MGPUGAY.js @@ -1 +1 @@ -import{$b as b,Bb as l,Bc as c,Cb as r,Da as m,Ib as d,Kb as h,Qa as o,Yb as v,Zb as a,_b as g,ab as p,eb as u,md as f,vc as s}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var E=(()=>{class i extends f{value=c.required();label=c.required();inputChecked=s(()=>super.resolvePrimitive(this.value())??!1);resolvedLabel=s(()=>super.resolvePrimitive(this.label()));inputId=super.getUniqueId("a2ui-checkbox");handleChange(t){let n=this.value()?.path;!(t.target instanceof HTMLInputElement)||!n||this.processor.setData(this.component(),n,t.target.checked,this.surfaceId())}static \u0275fac=(()=>{let t;return function(e){return(t||(t=m(i)))(e||i)}})();static \u0275cmp=p({type:i,selectors:[["a2ui-checkbox"]],inputs:{value:[1,"value"],label:[1,"label"]},features:[u],decls:4,vars:12,consts:[["autocomplete","off","type","checkbox",3,"change","id","checked"],[3,"htmlFor"]],template:function(n,e){n&1&&(l(0,"section")(1,"input",0),h("change",function(k){return e.handleChange(k)}),r(),l(2,"label",1),g(3),r()()),n&2&&(v(e.theme.additionalStyles==null?null:e.theme.additionalStyles.CheckBox),a(e.theme.components.CheckBox.container),o(),a(e.theme.components.CheckBox.element),d("id",e.inputId)("checked",e.inputChecked()),o(),a(e.theme.components.CheckBox.label),d("htmlFor",e.inputId),o(),b(e.resolvedLabel()))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}input[_ngcontent-%COMP%]{display:block;width:100%}"]})}return i})();export{E as Checkbox}; +import{$b as b,Bb as l,Bc as c,Cb as r,Da as m,Ib as d,Kb as h,Qa as o,Yb as v,Zb as a,_b as g,ab as p,eb as u,md as f,vc as s}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var E=(()=>{class i extends f{value=c.required();label=c.required();inputChecked=s(()=>super.resolvePrimitive(this.value())??!1);resolvedLabel=s(()=>super.resolvePrimitive(this.label()));inputId=super.getUniqueId("a2ui-checkbox");handleChange(t){let n=this.value()?.path;!(t.target instanceof HTMLInputElement)||!n||this.processor.setData(this.component(),n,t.target.checked,this.surfaceId())}static \u0275fac=(()=>{let t;return function(e){return(t||(t=m(i)))(e||i)}})();static \u0275cmp=p({type:i,selectors:[["a2ui-checkbox"]],inputs:{value:[1,"value"],label:[1,"label"]},features:[u],decls:4,vars:12,consts:[["autocomplete","off","type","checkbox",3,"change","id","checked"],[3,"htmlFor"]],template:function(n,e){n&1&&(l(0,"section")(1,"input",0),h("change",function(k){return e.handleChange(k)}),r(),l(2,"label",1),g(3),r()()),n&2&&(v(e.theme.additionalStyles==null?null:e.theme.additionalStyles.CheckBox),a(e.theme.components.CheckBox.container),o(),a(e.theme.components.CheckBox.element),d("id",e.inputId)("checked",e.inputChecked()),o(),a(e.theme.components.CheckBox.label),d("htmlFor",e.inputId),o(),b(e.resolvedLabel()))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}input[_ngcontent-%COMP%]{display:block;width:100%}"]})}return i})();export{E as Checkbox}; diff --git a/src/google/adk/cli/browser/chunk-CHLIPOEM.js b/src/google/adk/cli/browser/chunk-66RH7XMI.js similarity index 93% rename from src/google/adk/cli/browser/chunk-CHLIPOEM.js rename to src/google/adk/cli/browser/chunk-66RH7XMI.js index c793b46fd7..a6bcdd39ef 100644 --- a/src/google/adk/cli/browser/chunk-CHLIPOEM.js +++ b/src/google/adk/cli/browser/chunk-66RH7XMI.js @@ -1 +1 @@ -import{Bc as h,Da as o,Gb as u,Jb as p,Qa as a,Yb as m,Zb as f,ab as r,eb as c,md as y,nd as g,xb as s,yb as l,zb as d}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var _=(()=>{class n extends y{action=h.required();handleClick(){let t=this.action();t&&super.sendAction(t)}static \u0275fac=(()=>{let t;return function(e){return(t||(t=o(n)))(e||n)}})();static \u0275cmp=r({type:n,selectors:[["a2ui-button"]],inputs:{action:[1,"action"]},features:[c],decls:2,vars:6,consts:[[3,"click"],["a2ui-renderer","",3,"surfaceId","component"]],template:function(i,e){i&1&&(l(0,"button",0),p("click",function(){return e.handleClick()}),u(1,1),d()),i&2&&(m(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Button),f(e.theme.components.Button),a(),s("surfaceId",e.surfaceId())("component",e.component().properties.child))},dependencies:[g],styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0}"]})}return n})();export{_ as Button}; +import{Bc as h,Da as o,Gb as u,Jb as p,Qa as a,Yb as m,Zb as f,ab as r,eb as c,md as y,nd as g,xb as s,yb as l,zb as d}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var _=(()=>{class n extends y{action=h.required();handleClick(){let t=this.action();t&&super.sendAction(t)}static \u0275fac=(()=>{let t;return function(e){return(t||(t=o(n)))(e||n)}})();static \u0275cmp=r({type:n,selectors:[["a2ui-button"]],inputs:{action:[1,"action"]},features:[c],decls:2,vars:6,consts:[[3,"click"],["a2ui-renderer","",3,"surfaceId","component"]],template:function(i,e){i&1&&(l(0,"button",0),p("click",function(){return e.handleClick()}),u(1,1),d()),i&2&&(m(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Button),f(e.theme.components.Button),a(),s("surfaceId",e.surfaceId())("component",e.component().properties.child))},dependencies:[g],styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0}"]})}return n})();export{_ as Button}; diff --git a/src/google/adk/cli/browser/chunk-XB75PFJS.js b/src/google/adk/cli/browser/chunk-AF27AUNK.js similarity index 95% rename from src/google/adk/cli/browser/chunk-XB75PFJS.js rename to src/google/adk/cli/browser/chunk-AF27AUNK.js index 2c2d9b8430..9dd976b1f9 100644 --- a/src/google/adk/cli/browser/chunk-XB75PFJS.js +++ b/src/google/adk/cli/browser/chunk-AF27AUNK.js @@ -1 +1 @@ -import{Bb as r,Bc as n,Cb as u,Da as m,Ib as d,Kb as c,Qa as l,Yb as v,Zb as o,_b as g,ab as s,ac as f,eb as p,md as b,vc as h}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var M=["a2ui-slider",""],E=(()=>{class a extends b{value=n.required();label=n("");minValue=n.required();maxValue=n.required();inputId=super.getUniqueId("a2ui-slider");resolvedValue=h(()=>super.resolvePrimitive(this.value())??0);handleInput(t){let i=this.value()?.path;!(t.target instanceof HTMLInputElement)||!i||this.processor.setData(this.component(),i,t.target.valueAsNumber,this.surfaceId())}static \u0275fac=(()=>{let t;return function(e){return(t||(t=m(a)))(e||a)}})();static \u0275cmp=s({type:a,selectors:[["","a2ui-slider",""]],inputs:{value:[1,"value"],label:[1,"label"],minValue:[1,"minValue"],maxValue:[1,"maxValue"]},features:[p],attrs:M,decls:4,vars:14,consts:[[3,"for"],["autocomplete","off","type","range",3,"input","value","min","max","id"]],template:function(i,e){i&1&&(r(0,"section")(1,"label",0),g(2),u(),r(3,"input",1),c("input",function(y){return e.handleInput(y)}),u()()),i&2&&(o(e.theme.components.Slider.container),l(),o(e.theme.components.Slider.label),d("htmlFor",e.inputId),l(),f(" ",e.label()," "),l(),v(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Slider),o(e.theme.components.Slider.element),d("value",e.resolvedValue())("min",e.minValue())("max",e.maxValue())("id",e.inputId))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight)}input[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return a})();export{E as Slider}; +import{Bb as r,Bc as n,Cb as u,Da as m,Ib as d,Kb as c,Qa as l,Yb as v,Zb as o,_b as g,ab as s,ac as f,eb as p,md as b,vc as h}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var M=["a2ui-slider",""],E=(()=>{class a extends b{value=n.required();label=n("");minValue=n.required();maxValue=n.required();inputId=super.getUniqueId("a2ui-slider");resolvedValue=h(()=>super.resolvePrimitive(this.value())??0);handleInput(t){let i=this.value()?.path;!(t.target instanceof HTMLInputElement)||!i||this.processor.setData(this.component(),i,t.target.valueAsNumber,this.surfaceId())}static \u0275fac=(()=>{let t;return function(e){return(t||(t=m(a)))(e||a)}})();static \u0275cmp=s({type:a,selectors:[["","a2ui-slider",""]],inputs:{value:[1,"value"],label:[1,"label"],minValue:[1,"minValue"],maxValue:[1,"maxValue"]},features:[p],attrs:M,decls:4,vars:14,consts:[[3,"for"],["autocomplete","off","type","range",3,"input","value","min","max","id"]],template:function(i,e){i&1&&(r(0,"section")(1,"label",0),g(2),u(),r(3,"input",1),c("input",function(y){return e.handleInput(y)}),u()()),i&2&&(o(e.theme.components.Slider.container),l(),o(e.theme.components.Slider.label),d("htmlFor",e.inputId),l(),f(" ",e.label()," "),l(),v(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Slider),o(e.theme.components.Slider.element),d("value",e.resolvedValue())("min",e.minValue())("max",e.maxValue())("id",e.inputId))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight)}input[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return a})();export{E as Slider}; diff --git a/src/google/adk/cli/browser/chunk-UATSMTT5.js b/src/google/adk/cli/browser/chunk-ARP3QDVK.js similarity index 96% rename from src/google/adk/cli/browser/chunk-UATSMTT5.js rename to src/google/adk/cli/browser/chunk-ARP3QDVK.js index 9a18a187be..f46a390dde 100644 --- a/src/google/adk/cli/browser/chunk-UATSMTT5.js +++ b/src/google/adk/cli/browser/chunk-ARP3QDVK.js @@ -1 +1 @@ -import{$b as C,Bb as l,Bc as r,Cb as s,Da as b,Hb as x,Ib as p,Kb as y,Lb as M,Qa as o,Yb as _,Zb as a,_b as T,ab as g,eb as v,gc as F,hc as I,ic as P,md as D,na as m,oa as c,qb as f,sb as h,vc as u}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function E(n,O){if(n&1&&(l(0,"label",2),T(1),s()),n&2){let t=M(),i=P(0);a(t.theme.components.TextField.label),p("htmlFor",t.inputId),o(),C(i)}}var k=(()=>{class n extends D{text=r.required();label=r.required();inputType=r.required();inputValue=u(()=>super.resolvePrimitive(this.text())||"");resolvedLabel=u(()=>super.resolvePrimitive(this.label()));inputId=super.getUniqueId("a2ui-input");handleInput(t){let i=this.text()?.path;!(t.target instanceof HTMLInputElement)||!i||this.processor.setData(this.component(),i,t.target.value,this.surfaceId())}static \u0275fac=(()=>{let t;return function(e){return(t||(t=b(n)))(e||n)}})();static \u0275cmp=g({type:n,selectors:[["a2ui-text-field"]],inputs:{text:[1,"text"],label:[1,"label"],inputType:[1,"inputType"]},features:[v],decls:4,vars:11,consts:[[3,"for","class"],["autocomplete","off","placeholder","Please enter a value",3,"input","id","value","type"],[3,"for"]],template:function(i,e){if(i&1){let d=x();F(0),l(1,"section"),f(2,E,2,4,"label",0),l(3,"input",1),y("input",function(L){return m(d),c(e.handleInput(L))}),s()()}if(i&2){let d=I(e.resolvedLabel());o(),a(e.theme.components.TextField.container),o(),h(d?2:-1),o(),_(e.theme.additionalStyles==null?null:e.theme.additionalStyles.TextField),a(e.theme.components.TextField.element),p("id",e.inputId)("value",e.inputValue())("type",e.inputType()==="number"?"number":"text")}},styles:["[_nghost-%COMP%]{display:flex;flex:var(--weight)}section[_ngcontent-%COMP%], input[_ngcontent-%COMP%], label[_ngcontent-%COMP%]{box-sizing:border-box}input[_ngcontent-%COMP%]{display:block;width:100%}label[_ngcontent-%COMP%]{display:block;margin-bottom:4px}"]})}return n})();export{k as TextField}; +import{$b as C,Bb as l,Bc as r,Cb as s,Da as b,Hb as x,Ib as p,Kb as y,Lb as M,Qa as o,Yb as _,Zb as a,_b as T,ab as g,eb as v,gc as F,hc as I,ic as P,md as D,na as m,oa as c,qb as f,sb as h,vc as u}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function E(n,O){if(n&1&&(l(0,"label",2),T(1),s()),n&2){let t=M(),i=P(0);a(t.theme.components.TextField.label),p("htmlFor",t.inputId),o(),C(i)}}var k=(()=>{class n extends D{text=r.required();label=r.required();inputType=r.required();inputValue=u(()=>super.resolvePrimitive(this.text())||"");resolvedLabel=u(()=>super.resolvePrimitive(this.label()));inputId=super.getUniqueId("a2ui-input");handleInput(t){let i=this.text()?.path;!(t.target instanceof HTMLInputElement)||!i||this.processor.setData(this.component(),i,t.target.value,this.surfaceId())}static \u0275fac=(()=>{let t;return function(e){return(t||(t=b(n)))(e||n)}})();static \u0275cmp=g({type:n,selectors:[["a2ui-text-field"]],inputs:{text:[1,"text"],label:[1,"label"],inputType:[1,"inputType"]},features:[v],decls:4,vars:11,consts:[[3,"for","class"],["autocomplete","off","placeholder","Please enter a value",3,"input","id","value","type"],[3,"for"]],template:function(i,e){if(i&1){let d=x();F(0),l(1,"section"),f(2,E,2,4,"label",0),l(3,"input",1),y("input",function(L){return m(d),c(e.handleInput(L))}),s()()}if(i&2){let d=I(e.resolvedLabel());o(),a(e.theme.components.TextField.container),o(),h(d?2:-1),o(),_(e.theme.additionalStyles==null?null:e.theme.additionalStyles.TextField),a(e.theme.components.TextField.element),p("id",e.inputId)("value",e.inputValue())("type",e.inputType()==="number"?"number":"text")}},styles:["[_nghost-%COMP%]{display:flex;flex:var(--weight)}section[_ngcontent-%COMP%], input[_ngcontent-%COMP%], label[_ngcontent-%COMP%]{box-sizing:border-box}input[_ngcontent-%COMP%]{display:block;width:100%}label[_ngcontent-%COMP%]{display:block;margin-bottom:4px}"]})}return n})();export{k as TextField}; diff --git a/src/google/adk/cli/browser/chunk-AK5ESGDJ.js b/src/google/adk/cli/browser/chunk-BI6TV3NL.js similarity index 93% rename from src/google/adk/cli/browser/chunk-AK5ESGDJ.js rename to src/google/adk/cli/browser/chunk-BI6TV3NL.js index 29ffacad65..f50dad0856 100644 --- a/src/google/adk/cli/browser/chunk-AK5ESGDJ.js +++ b/src/google/adk/cli/browser/chunk-BI6TV3NL.js @@ -1 +1 @@ -import{Bb as c,Bc as M,Cb as u,Da as r,Db as m,Ib as p,Lb as v,Qa as n,Yb as f,Zb as y,ab as l,eb as d,gc as g,hc as h,ic as x,md as _,qb as a,sb as s,vc as C}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function D(e,P){if(e&1&&(c(0,"section"),m(1,"audio",1),u()),e&2){let t=v(),o=x(0);f(t.theme.additionalStyles==null?null:t.theme.additionalStyles.AudioPlayer),y(t.theme.components.AudioPlayer),n(),p("src",o)}}var w=(()=>{class e extends _{url=M.required();resolvedUrl=C(()=>this.resolvePrimitive(this.url()));static \u0275fac=(()=>{let t;return function(i){return(t||(t=r(e)))(i||e)}})();static \u0275cmp=l({type:e,selectors:[["a2ui-audio"]],inputs:{url:[1,"url"]},features:[d],decls:2,vars:2,consts:[[3,"class","style"],["controls","",3,"src"]],template:function(o,i){if(o&1&&(g(0),a(1,D,2,5,"section",0)),o&2){let b=h(i.resolvedUrl());n(),s(b?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}audio[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return e})();export{w as Audio}; +import{Bb as c,Bc as M,Cb as u,Da as r,Db as m,Ib as p,Lb as v,Qa as n,Yb as f,Zb as y,ab as l,eb as d,gc as g,hc as h,ic as x,md as _,qb as a,sb as s,vc as C}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function D(e,P){if(e&1&&(c(0,"section"),m(1,"audio",1),u()),e&2){let t=v(),o=x(0);f(t.theme.additionalStyles==null?null:t.theme.additionalStyles.AudioPlayer),y(t.theme.components.AudioPlayer),n(),p("src",o)}}var w=(()=>{class e extends _{url=M.required();resolvedUrl=C(()=>this.resolvePrimitive(this.url()));static \u0275fac=(()=>{let t;return function(i){return(t||(t=r(e)))(i||e)}})();static \u0275cmp=l({type:e,selectors:[["a2ui-audio"]],inputs:{url:[1,"url"]},features:[d],decls:2,vars:2,consts:[[3,"class","style"],["controls","",3,"src"]],template:function(o,i){if(o&1&&(g(0),a(1,D,2,5,"section",0)),o&2){let b=h(i.resolvedUrl());n(),s(b?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}audio[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return e})();export{w as Audio}; diff --git a/src/google/adk/cli/browser/chunk-RLBEOMT4.js b/src/google/adk/cli/browser/chunk-FZZPD3K2.js similarity index 97% rename from src/google/adk/cli/browser/chunk-RLBEOMT4.js rename to src/google/adk/cli/browser/chunk-FZZPD3K2.js index 1379101957..e6a2e64aa7 100644 --- a/src/google/adk/cli/browser/chunk-RLBEOMT4.js +++ b/src/google/adk/cli/browser/chunk-FZZPD3K2.js @@ -1 +1 @@ -import{$b as M,Bb as s,Bc as l,Cb as m,Da as g,Ib as d,Kb as y,Qa as u,Yb as T,Zb as r,_b as I,ab as f,eb as D,md as N,ob as v,vc as o}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var S=(()=>{class i extends N{value=l.required();enableDate=l.required();enableTime=l.required();inputId=super.getUniqueId("a2ui-datetime-input");inputType=o(()=>{let t=this.enableDate(),n=this.enableTime();return t&&n?"datetime-local":t?"date":n?"time":"datetime-local"});label=o(()=>{let t=this.inputType();return t==="date"?"Date":t==="time"?"Time":"Date & Time"});inputValue=o(()=>{let t=this.inputType(),n=super.resolvePrimitive(this.value())||"",e=n?new Date(n):null;if(!e||isNaN(e.getTime()))return"";let p=this.padNumber(e.getFullYear()),a=this.padNumber(e.getMonth()),c=this.padNumber(e.getDate()),b=this.padNumber(e.getHours()),h=this.padNumber(e.getMinutes());return t==="date"?`${p}-${a}-${c}`:t==="time"?`${b}:${h}`:`${p}-${a}-${c}T${b}:${h}`});handleInput(t){let n=this.value()?.path;!(t.target instanceof HTMLInputElement)||!n||this.processor.setData(this.component(),n,t.target.value,this.surfaceId())}padNumber(t){return t.toString().padStart(2,"0")}static \u0275fac=(()=>{let t;return function(e){return(t||(t=g(i)))(e||i)}})();static \u0275cmp=f({type:i,selectors:[["a2ui-datetime-input"]],inputs:{value:[1,"value"],enableDate:[1,"enableDate"],enableTime:[1,"enableTime"]},features:[D],decls:4,vars:13,consts:[[3,"for"],["autocomplete","off",3,"input","id","value"]],template:function(n,e){n&1&&(s(0,"section")(1,"label",0),I(2),m(),s(3,"input",1),y("input",function(a){return e.handleInput(a)}),m()()),n&2&&(r(e.theme.components.DateTimeInput.container),u(),r(e.theme.components.DateTimeInput.label),d("htmlFor",e.inputId),u(),M(e.label()),u(),T(e.theme.additionalStyles==null?null:e.theme.additionalStyles.DateTimeInput),r(e.theme.components.DateTimeInput.element),d("id",e.inputId)("value",e.inputValue()),v("type",e.inputType()))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}input[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return i})();export{S as DatetimeInput}; +import{$b as M,Bb as s,Bc as l,Cb as m,Da as g,Ib as d,Kb as y,Qa as u,Yb as T,Zb as r,_b as I,ab as f,eb as D,md as N,ob as v,vc as o}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var S=(()=>{class i extends N{value=l.required();enableDate=l.required();enableTime=l.required();inputId=super.getUniqueId("a2ui-datetime-input");inputType=o(()=>{let t=this.enableDate(),n=this.enableTime();return t&&n?"datetime-local":t?"date":n?"time":"datetime-local"});label=o(()=>{let t=this.inputType();return t==="date"?"Date":t==="time"?"Time":"Date & Time"});inputValue=o(()=>{let t=this.inputType(),n=super.resolvePrimitive(this.value())||"",e=n?new Date(n):null;if(!e||isNaN(e.getTime()))return"";let p=this.padNumber(e.getFullYear()),a=this.padNumber(e.getMonth()),c=this.padNumber(e.getDate()),b=this.padNumber(e.getHours()),h=this.padNumber(e.getMinutes());return t==="date"?`${p}-${a}-${c}`:t==="time"?`${b}:${h}`:`${p}-${a}-${c}T${b}:${h}`});handleInput(t){let n=this.value()?.path;!(t.target instanceof HTMLInputElement)||!n||this.processor.setData(this.component(),n,t.target.value,this.surfaceId())}padNumber(t){return t.toString().padStart(2,"0")}static \u0275fac=(()=>{let t;return function(e){return(t||(t=g(i)))(e||i)}})();static \u0275cmp=f({type:i,selectors:[["a2ui-datetime-input"]],inputs:{value:[1,"value"],enableDate:[1,"enableDate"],enableTime:[1,"enableTime"]},features:[D],decls:4,vars:13,consts:[[3,"for"],["autocomplete","off",3,"input","id","value"]],template:function(n,e){n&1&&(s(0,"section")(1,"label",0),I(2),m(),s(3,"input",1),y("input",function(a){return e.handleInput(a)}),m()()),n&2&&(r(e.theme.components.DateTimeInput.container),u(),r(e.theme.components.DateTimeInput.label),d("htmlFor",e.inputId),u(),M(e.label()),u(),T(e.theme.additionalStyles==null?null:e.theme.additionalStyles.DateTimeInput),r(e.theme.components.DateTimeInput.element),d("id",e.inputId)("value",e.inputValue()),v("type",e.inputType()))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}input[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return i})();export{S as DatetimeInput}; diff --git a/src/google/adk/cli/browser/chunk-4MSGFQCD.js b/src/google/adk/cli/browser/chunk-GFARMTUE.js similarity index 93% rename from src/google/adk/cli/browser/chunk-4MSGFQCD.js rename to src/google/adk/cli/browser/chunk-GFARMTUE.js index 644f65e1d1..23f8108152 100644 --- a/src/google/adk/cli/browser/chunk-4MSGFQCD.js +++ b/src/google/adk/cli/browser/chunk-GFARMTUE.js @@ -1 +1 @@ -import{$b as y,Bb as m,Bc as I,Cb as d,Da as a,Lb as p,Qa as i,Yb as u,Zb as v,_b as f,ab as s,eb as r,gc as g,hc as h,ic as x,md as M,qb as c,sb as l,vc as C}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function _(e,D){if(e&1&&(m(0,"section")(1,"span",1),f(2),d()()),e&2){let t=p(),n=x(0);u(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Icon),v(t.theme.components.Icon),i(2),y(n)}}var S=(()=>{class e extends M{name=I.required();resolvedName=C(()=>this.resolvePrimitive(this.name()));static \u0275fac=(()=>{let t;return function(o){return(t||(t=a(e)))(o||e)}})();static \u0275cmp=s({type:e,selectors:[["a2ui-icon"]],inputs:{name:[1,"name"]},features:[r],decls:2,vars:2,consts:[[3,"class","style"],[1,"g-icon"]],template:function(n,o){if(n&1&&(g(0),c(1,_,3,5,"section",0)),n&2){let N=h(o.resolvedName());i(),l(N?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}"]})}return e})();export{S as Icon}; +import{$b as y,Bb as m,Bc as I,Cb as d,Da as a,Lb as p,Qa as i,Yb as u,Zb as v,_b as f,ab as s,eb as r,gc as g,hc as h,ic as x,md as M,qb as c,sb as l,vc as C}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function _(e,D){if(e&1&&(m(0,"section")(1,"span",1),f(2),d()()),e&2){let t=p(),n=x(0);u(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Icon),v(t.theme.components.Icon),i(2),y(n)}}var S=(()=>{class e extends M{name=I.required();resolvedName=C(()=>this.resolvePrimitive(this.name()));static \u0275fac=(()=>{let t;return function(o){return(t||(t=a(e)))(o||e)}})();static \u0275cmp=s({type:e,selectors:[["a2ui-icon"]],inputs:{name:[1,"name"]},features:[r],decls:2,vars:2,consts:[[3,"class","style"],[1,"g-icon"]],template:function(n,o){if(n&1&&(g(0),c(1,_,3,5,"section",0)),n&2){let N=h(o.resolvedName());i(),l(N?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}"]})}return e})();export{S as Icon}; diff --git a/src/google/adk/cli/browser/chunk-HYLIZOX5.js b/src/google/adk/cli/browser/chunk-GLGQFQO2.js similarity index 84% rename from src/google/adk/cli/browser/chunk-HYLIZOX5.js rename to src/google/adk/cli/browser/chunk-GLGQFQO2.js index 460e433783..56bb9bea07 100644 --- a/src/google/adk/cli/browser/chunk-HYLIZOX5.js +++ b/src/google/adk/cli/browser/chunk-GLGQFQO2.js @@ -1 +1 @@ -import{Bc as w,Da as _,Gb as I,Hb as g,Jb as T,Lb as c,Qa as a,Yb as C,Zb as r,_b as M,ab as f,ac as D,bd as E,eb as h,gc as F,hc as k,ic as S,md as L,na as p,nd as N,oa as u,ub as x,vb as v,vc as $,wb as y,xb as d,yb as l,za as b,zb as o}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function B(n,m){if(n&1){let t=g();l(0,"button",2),T("click",function(){let e=p(t).$index,i=c();return u(i.selectedIndex.set(e))}),M(1),o()}if(n&2){let t=m.$implicit,s=m.$index,e=c(),i=S(0);r(e.buttonClasses()[i]),d("disabled",i===s),a(),D(" ",e.resolvePrimitive(t.title)," ")}}var z=(()=>{class n extends L{selectedIndex=b(0);tabs=w.required();buttonClasses=$(()=>{let t=this.selectedIndex();return this.tabs().map((s,e)=>e===t?E.merge(this.theme.components.Tabs.controls.all,this.theme.components.Tabs.controls.selected):this.theme.components.Tabs.controls.all)});static \u0275fac=(()=>{let t;return function(e){return(t||(t=_(n)))(e||n)}})();static \u0275cmp=f({type:n,selectors:[["a2ui-tabs"]],inputs:{tabs:[1,"tabs"]},features:[h],decls:6,vars:9,consts:[[3,"disabled","class"],["a2ui-renderer","",3,"surfaceId","component"],[3,"click","disabled"]],template:function(s,e){if(s&1&&(F(0),l(1,"section")(2,"div"),v(3,B,2,4,"button",0,x),o(),I(5,1),o()),s&2){let i=e.tabs(),V=k(e.selectedIndex());a(),C(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Tabs),r(e.theme.components.Tabs.container),a(),r(e.theme.components.Tabs.element),a(),y(i),a(2),d("surfaceId",e.surfaceId())("component",i[V].child)}},dependencies:[N],styles:["[_nghost-%COMP%]{display:block;flex:var(--weight)}"]})}return n})();export{z as Tabs}; +import{Bc as w,Da as _,Gb as I,Hb as g,Jb as T,Lb as c,Mc as E,Qa as a,Yb as C,Zb as r,_b as M,ab as f,ac as D,eb as h,gc as F,hc as k,ic as S,md as L,na as p,nd as N,oa as u,ub as x,vb as v,vc as $,wb as y,xb as d,yb as l,za as b,zb as o}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function B(n,m){if(n&1){let t=g();l(0,"button",2),T("click",function(){let e=p(t).$index,i=c();return u(i.selectedIndex.set(e))}),M(1),o()}if(n&2){let t=m.$implicit,s=m.$index,e=c(),i=S(0);r(e.buttonClasses()[i]),d("disabled",i===s),a(),D(" ",e.resolvePrimitive(t.title)," ")}}var z=(()=>{class n extends L{selectedIndex=b(0);tabs=w.required();buttonClasses=$(()=>{let t=this.selectedIndex();return this.tabs().map((s,e)=>e===t?E.merge(this.theme.components.Tabs.controls.all,this.theme.components.Tabs.controls.selected):this.theme.components.Tabs.controls.all)});static \u0275fac=(()=>{let t;return function(e){return(t||(t=_(n)))(e||n)}})();static \u0275cmp=f({type:n,selectors:[["a2ui-tabs"]],inputs:{tabs:[1,"tabs"]},features:[h],decls:6,vars:9,consts:[[3,"disabled","class"],["a2ui-renderer","",3,"surfaceId","component"],[3,"click","disabled"]],template:function(s,e){if(s&1&&(F(0),l(1,"section")(2,"div"),v(3,B,2,4,"button",0,x),o(),I(5,1),o()),s&2){let i=e.tabs(),V=k(e.selectedIndex());a(),C(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Tabs),r(e.theme.components.Tabs.container),a(),r(e.theme.components.Tabs.element),a(),y(i),a(2),d("surfaceId",e.surfaceId())("component",i[V].child)}},dependencies:[N],styles:["[_nghost-%COMP%]{display:block;flex:var(--weight)}"]})}return n})();export{z as Tabs}; diff --git a/src/google/adk/cli/browser/chunk-RUWE7IJV.js b/src/google/adk/cli/browser/chunk-MBYWPZQV.js similarity index 96% rename from src/google/adk/cli/browser/chunk-RUWE7IJV.js rename to src/google/adk/cli/browser/chunk-MBYWPZQV.js index 92ced3a3df..793c89f3a7 100644 --- a/src/google/adk/cli/browser/chunk-RUWE7IJV.js +++ b/src/google/adk/cli/browser/chunk-MBYWPZQV.js @@ -1 +1 @@ -import{$b as u,Bb as l,Bc as c,Cb as a,Da as m,Ib as r,Kb as M,Lb as C,Qa as n,Yb as y,Zb as s,_b as d,ab as h,eb as v,md as b,vb as g,vc as _,wb as f}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var D=(i,p)=>p.value;function P(i,p){if(i&1&&(l(0,"option",2),d(1),a()),i&2){let t=p.$implicit,o=C();r("value",t.value),n(),u(o.resolvePrimitive(t.label))}}var x=(()=>{class i extends b{options=c.required();value=c.required();description=c.required();selectId=super.getUniqueId("a2ui-multiple-choice");selectValue=_(()=>super.resolvePrimitive(this.value()));handleChange(t){let o=this.value()?.path;!(t.target instanceof HTMLSelectElement)||!t.target.value||!o||this.processor.setData(this.component(),this.processor.resolvePath(o,this.component().dataContextPath),t.target.value)}static \u0275fac=(()=>{let t;return function(e){return(t||(t=m(i)))(e||i)}})();static \u0275cmp=h({type:i,selectors:[["a2ui-multiple-choice"]],inputs:{options:[1,"options"],value:[1,"value"],description:[1,"description"]},features:[v],decls:6,vars:12,consts:[[3,"for"],[3,"change","id","value"],[3,"value"]],template:function(o,e){o&1&&(l(0,"section")(1,"label",0),d(2),a(),l(3,"select",1),M("change",function(E){return e.handleChange(E)}),g(4,P,2,2,"option",2,D),a()()),o&2&&(s(e.theme.components.MultipleChoice.container),n(),s(e.theme.components.MultipleChoice.label),r("htmlFor",e.selectId),n(),u(e.description()),n(),y(e.theme.additionalStyles==null?null:e.theme.additionalStyles.MultipleChoice),s(e.theme.components.MultipleChoice.element),r("id",e.selectId)("value",e.selectValue()),n(),f(e.options()))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}select[_ngcontent-%COMP%]{width:100%;box-sizing:border-box}"]})}return i})();export{x as MultipleChoice}; +import{$b as u,Bb as l,Bc as c,Cb as a,Da as m,Ib as r,Kb as M,Lb as C,Qa as n,Yb as y,Zb as s,_b as d,ab as h,eb as v,md as b,vb as g,vc as _,wb as f}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var D=(i,p)=>p.value;function P(i,p){if(i&1&&(l(0,"option",2),d(1),a()),i&2){let t=p.$implicit,o=C();r("value",t.value),n(),u(o.resolvePrimitive(t.label))}}var x=(()=>{class i extends b{options=c.required();value=c.required();description=c.required();selectId=super.getUniqueId("a2ui-multiple-choice");selectValue=_(()=>super.resolvePrimitive(this.value()));handleChange(t){let o=this.value()?.path;!(t.target instanceof HTMLSelectElement)||!t.target.value||!o||this.processor.setData(this.component(),this.processor.resolvePath(o,this.component().dataContextPath),t.target.value)}static \u0275fac=(()=>{let t;return function(e){return(t||(t=m(i)))(e||i)}})();static \u0275cmp=h({type:i,selectors:[["a2ui-multiple-choice"]],inputs:{options:[1,"options"],value:[1,"value"],description:[1,"description"]},features:[v],decls:6,vars:12,consts:[[3,"for"],[3,"change","id","value"],[3,"value"]],template:function(o,e){o&1&&(l(0,"section")(1,"label",0),d(2),a(),l(3,"select",1),M("change",function(E){return e.handleChange(E)}),g(4,P,2,2,"option",2,D),a()()),o&2&&(s(e.theme.components.MultipleChoice.container),n(),s(e.theme.components.MultipleChoice.label),r("htmlFor",e.selectId),n(),u(e.description()),n(),y(e.theme.additionalStyles==null?null:e.theme.additionalStyles.MultipleChoice),s(e.theme.components.MultipleChoice.element),r("id",e.selectId)("value",e.selectValue()),n(),f(e.options()))},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}select[_ngcontent-%COMP%]{width:100%;box-sizing:border-box}"]})}return i})();export{x as MultipleChoice}; diff --git a/src/google/adk/cli/browser/chunk-HAQR6HJ6.js b/src/google/adk/cli/browser/chunk-N3RKSFBU.js similarity index 79% rename from src/google/adk/cli/browser/chunk-HAQR6HJ6.js rename to src/google/adk/cli/browser/chunk-N3RKSFBU.js index 03be74513b..071b266a70 100644 --- a/src/google/adk/cli/browser/chunk-HAQR6HJ6.js +++ b/src/google/adk/cli/browser/chunk-N3RKSFBU.js @@ -1 +1 @@ -import{Bb as g,Bc as r,Cb as p,Da as a,Db as v,Ib as h,Lb as f,Na as l,Qa as o,Yb as y,Zb as x,ab as m,bd as D,eb as d,gc as M,hc as b,ic as C,md as I,qb as c,sb as u,vc as s}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function H(t,U){if(t&1&&(g(0,"section"),v(1,"img",1),p()),t&2){let e=f(),i=C(0);y(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Image),x(e.classes()),o(),h("src",i,l)}}var w=(()=>{class t extends I{url=r.required();usageHint=r.required();resolvedUrl=s(()=>this.resolvePrimitive(this.url()));classes=s(()=>{let e=this.usageHint();return D.merge(this.theme.components.Image.all,e?this.theme.components.Image[e]:{})});static \u0275fac=(()=>{let e;return function(n){return(e||(e=a(t)))(n||t)}})();static \u0275cmp=m({type:t,selectors:[["a2ui-image"]],inputs:{url:[1,"url"],usageHint:[1,"usageHint"]},features:[d],decls:2,vars:2,consts:[[3,"class","style"],[3,"src"]],template:function(i,n){if(i&1&&(M(0),c(1,H,2,5,"section",0)),i&2){let _=b(n.resolvedUrl());o(),u(_?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}img[_ngcontent-%COMP%]{display:block;width:100%;height:100%;box-sizing:border-box}"]})}return t})();export{w as Image}; +import{Bb as g,Bc as r,Cb as p,Da as a,Db as v,Ib as h,Lb as f,Mc as D,Na as l,Qa as o,Yb as y,Zb as x,ab as m,eb as d,gc as M,hc as b,ic as C,md as I,qb as c,sb as u,vc as s}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function H(t,U){if(t&1&&(g(0,"section"),v(1,"img",1),p()),t&2){let e=f(),i=C(0);y(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Image),x(e.classes()),o(),h("src",i,l)}}var w=(()=>{class t extends I{url=r.required();usageHint=r.required();resolvedUrl=s(()=>this.resolvePrimitive(this.url()));classes=s(()=>{let e=this.usageHint();return D.merge(this.theme.components.Image.all,e?this.theme.components.Image[e]:{})});static \u0275fac=(()=>{let e;return function(n){return(e||(e=a(t)))(n||t)}})();static \u0275cmp=m({type:t,selectors:[["a2ui-image"]],inputs:{url:[1,"url"],usageHint:[1,"usageHint"]},features:[d],decls:2,vars:2,consts:[[3,"class","style"],[3,"src"]],template:function(i,n){if(i&1&&(M(0),c(1,H,2,5,"section",0)),i&2){let _=b(n.resolvedUrl());o(),u(_?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}img[_ngcontent-%COMP%]{display:block;width:100%;height:100%;box-sizing:border-box}"]})}return t})();export{w as Image}; diff --git a/src/google/adk/cli/browser/chunk-VPVAD56Y.js b/src/google/adk/cli/browser/chunk-R2IMOXM4.js similarity index 89% rename from src/google/adk/cli/browser/chunk-VPVAD56Y.js rename to src/google/adk/cli/browser/chunk-R2IMOXM4.js index d5e96825d3..9f00c13026 100644 --- a/src/google/adk/cli/browser/chunk-VPVAD56Y.js +++ b/src/google/adk/cli/browser/chunk-R2IMOXM4.js @@ -1 +1 @@ -import{Da as o,Db as d,Yb as l,Zb as s,ab as r,eb as a,md as m}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var f=(()=>{class e extends m{static \u0275fac=(()=>{let i;return function(t){return(i||(i=o(e)))(t||e)}})();static \u0275cmp=r({type:e,selectors:[["a2ui-divider"]],features:[a],decls:1,vars:4,template:function(n,t){n&1&&d(0,"hr"),n&2&&(l(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Divider),s(t.theme.components.Divider))},styles:["[_nghost-%COMP%]{display:block;min-height:0;overflow:auto}hr[_ngcontent-%COMP%]{height:1px;background:#ccc;border:none}"]})}return e})();export{f as Divider}; +import{Da as o,Db as d,Yb as l,Zb as s,ab as r,eb as a,md as m}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var f=(()=>{class e extends m{static \u0275fac=(()=>{let i;return function(t){return(i||(i=o(e)))(t||e)}})();static \u0275cmp=r({type:e,selectors:[["a2ui-divider"]],features:[a],decls:1,vars:4,template:function(n,t){n&1&&d(0,"hr"),n&2&&(l(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Divider),s(t.theme.components.Divider))},styles:["[_nghost-%COMP%]{display:block;min-height:0;overflow:auto}hr[_ngcontent-%COMP%]{height:1px;background:#ccc;border:none}"]})}return e})();export{f as Divider}; diff --git a/src/google/adk/cli/browser/chunk-BX7YU7E6.js b/src/google/adk/cli/browser/chunk-RGCH6K7F.js similarity index 90% rename from src/google/adk/cli/browser/chunk-BX7YU7E6.js rename to src/google/adk/cli/browser/chunk-RGCH6K7F.js index e7ed117838..b2f707c399 100644 --- a/src/google/adk/cli/browser/chunk-BX7YU7E6.js +++ b/src/google/adk/cli/browser/chunk-RGCH6K7F.js @@ -1,7 +1,7 @@ import{a as S,b as P,e as lr,g as at}from"./chunk-W7GRJBO5.js";var me=null,Li=!1,ja=1,Kv=null,ne=Symbol("SIGNAL");function M(e){let t=me;return me=e,t}function ji(){return me}var Kt={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Jt(e){if(Li)throw new Error("");if(me===null)return;me.consumerOnSignalRead(e);let t=me.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=me.recomputing;if(r&&(n=t!==void 0?t.nextProducer:me.producers,n!==void 0&&n.producer===e)){me.producersTail=n,n.lastReadVersion=e.version;return}let o=e.consumersTail;if(o!==void 0&&o.consumer===me&&(!r||Xv(o,me)))return;let i=pr(me),s={producer:e,consumer:me,nextProducer:n,prevConsumer:o,lastReadVersion:e.version,nextConsumer:void 0};me.producersTail=s,t!==void 0?t.nextProducer=s:me.producers=s,i&&Sh(e,s)}function xh(){ja++}function wn(e){if(!(pr(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===ja)){if(!e.producerMustRecompute(e)&&!fr(e)){dr(e);return}e.producerRecomputeValue(e),dr(e)}}function Ba(e){if(e.consumers===void 0)return;let t=Li;Li=!0;try{for(let n=e.consumers;n!==void 0;n=n.nextConsumer){let r=n.consumer;r.dirty||Jv(r)}}finally{Li=t}}function Va(){return me?.consumerAllowSignalWrites!==!1}function Jv(e){e.dirty=!0,Ba(e),e.consumerMarkedDirty?.(e)}function dr(e){e.dirty=!1,e.lastCleanEpoch=ja}function It(e){return e&&Ih(e),M(e)}function Ih(e){e.producersTail=void 0,e.recomputing=!0}function Xt(e,t){M(t),e&&Th(e)}function Th(e){e.recomputing=!1;let t=e.producersTail,n=t!==void 0?t.nextProducer:e.producers;if(n!==void 0){if(pr(e))do n=Ha(n);while(n!==void 0);t!==void 0?t.nextProducer=void 0:e.producers=void 0}}function fr(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let n=t.producer,r=t.lastReadVersion;if(r!==n.version||(wn(n),r!==n.version))return!0}return!1}function en(e){if(pr(e)){let t=e.producers;for(;t!==void 0;)t=Ha(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function Sh(e,t){let n=e.consumersTail,r=pr(e);if(n!==void 0?(t.nextConsumer=n.nextConsumer,n.nextConsumer=t):(t.nextConsumer=void 0,e.consumers=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let o=e.producers;o!==void 0;o=o.nextProducer)Sh(o.producer,o)}function Ha(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,o=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r!==void 0?r.prevConsumer=o:t.consumersTail=o,o!==void 0)o.nextConsumer=r;else if(t.consumers=r,!pr(t)){let i=t.producers;for(;i!==void 0;)i=Ha(i)}return n}function pr(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function yo(e){Kv?.(e)}function Xv(e,t){let n=t.producersTail;if(n!==void 0){let r=t.producers;do{if(r===e)return!0;if(r===n)break;r=r.nextProducer}while(r!==void 0)}return!1}function bo(e,t){return Object.is(e,t)}function vo(e,t){let n=Object.create(eD);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(wn(n),Jt(n),n.value===xt)throw n.error;return n.value};return r[ne]=n,yo(n),r}var Qt=Symbol("UNSET"),Cn=Symbol("COMPUTING"),xt=Symbol("ERRORED"),eD=P(S({},Kt),{value:Qt,dirty:!0,error:null,equal:bo,kind:"computed",producerMustRecompute(e){return e.value===Qt||e.value===Cn},producerRecomputeValue(e){if(e.value===Cn)throw new Error("");let t=e.value;e.value=Cn;let n=It(e),r,o=!1;try{r=e.computation(),M(null),o=t!==Qt&&t!==xt&&r!==xt&&e.equal(t,r)}catch(i){r=xt,e.error=i}finally{Xt(e,n)}if(o){e.value=t;return}e.value=r,e.version++}});function tD(){throw new Error}var Mh=tD;function Ah(e){Mh(e)}function $a(e){Mh=e}var nD=null;function Ua(e,t){let n=Object.create(Do);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Nh(n);return r[ne]=n,yo(n),[r,s=>xn(n,s),s=>Bi(n,s)]}function Nh(e){return Jt(e),e.value}function xn(e,t){Va()||Ah(e),e.equal(e.value,t)||(e.value=t,rD(e))}function Bi(e,t){Va()||Ah(e),xn(e,t(e.value))}var Do=P(S({},Kt),{equal:bo,value:void 0,kind:"signal"});function rD(e){e.version++,xh(),Ba(e),nD?.(e)}function za(e){let t=M(null);try{return e()}finally{M(t)}}var qa=P(S({},Kt),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:"effect"});function Ga(e){if(e.dirty=!1,e.version>0&&!fr(e))return;e.version++;let t=It(e);try{e.cleanup(),e.fn()}finally{Xt(e,t)}}function k(e){return typeof e=="function"}function hr(e){let n=e(r=>{Error.call(r),r.stack=new Error().stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Vi=hr(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription: ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` `)}`:"",this.name="UnsubscriptionError",this.errors=n});function In(e,t){if(e){let n=e.indexOf(t);0<=n&&e.splice(n,1)}}var X=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(let i of n)i.remove(this);else n.remove(this);let{initialTeardown:r}=this;if(k(r))try{r()}catch(i){t=i instanceof Vi?i.errors:[i]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let i of o)try{kh(i)}catch(s){t=t??[],s instanceof Vi?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Vi(t)}}add(t){var n;if(t&&t!==this)if(this.closed)kh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(t)}}_hasParent(t){let{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){let{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){let{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&In(n,t)}remove(t){let{_finalizers:n}=this;n&&In(n,t),t instanceof e&&t._removeParent(this)}};X.EMPTY=(()=>{let e=new X;return e.closed=!0,e})();var Wa=X.EMPTY;function Hi(e){return e instanceof X||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function kh(e){k(e)?e():e.unsubscribe()}var We={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var gr={setTimeout(e,t,...n){let{delegate:r}=gr;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){let{delegate:t}=gr;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function $i(e){gr.setTimeout(()=>{let{onUnhandledError:t}=We;if(t)t(e);else throw e})}function Tt(){}var Rh=Za("C",void 0,void 0);function Fh(e){return Za("E",void 0,e)}function Oh(e){return Za("N",e,void 0)}function Za(e,t,n){return{kind:e,value:t,error:n}}var Tn=null;function mr(e){if(We.useDeprecatedSynchronousErrorHandling){let t=!Tn;if(t&&(Tn={errorThrown:!1,error:null}),e(),t){let{errorThrown:n,error:r}=Tn;if(Tn=null,n)throw r}}else e()}function Ph(e){We.useDeprecatedSynchronousErrorHandling&&Tn&&(Tn.errorThrown=!0,Tn.error=e)}var Sn=class extends X{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Hi(t)&&t.add(this)):this.destination=sD}static create(t,n,r){return new Ze(t,n,r)}next(t){this.isStopped?Qa(Oh(t),this):this._next(t)}error(t){this.isStopped?Qa(Fh(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Qa(Rh,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},oD=Function.prototype.bind;function Ya(e,t){return oD.call(e,t)}var Ka=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){Ui(r)}}error(t){let{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){Ui(r)}else Ui(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Ui(n)}}},Ze=class extends Sn{constructor(t,n,r){super();let o;if(k(t)||!t)o={next:t??void 0,error:n??void 0,complete:r??void 0};else{let i;this&&We.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&Ya(t.next,i),error:t.error&&Ya(t.error,i),complete:t.complete&&Ya(t.complete,i)}):o=t}this.destination=new Ka(o)}};function Ui(e){We.useDeprecatedSynchronousErrorHandling?Ph(e):$i(e)}function iD(e){throw e}function Qa(e,t){let{onStoppedNotification:n}=We;n&&gr.setTimeout(()=>n(e,t))}var sD={closed:!0,next:Tt,error:iD,complete:Tt};var yr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function De(e){return e}function uD(...e){return Ja(e)}function Ja(e){return e.length===0?De:e.length===1?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}var B=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){let r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,o){let i=cD(n)?n:new Ze(n,r,o);return mr(()=>{let{operator:s,source:u}=this;i.add(s?s.call(i,u):u?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return r=Lh(r),new r((o,i)=>{let s=new Ze({next:u=>{try{n(u)}catch(a){i(a),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(n){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(n)}[yr](){return this}pipe(...n){return Ja(n)(this)}toPromise(n){return n=Lh(n),new n((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function Lh(e){var t;return(t=e??We.Promise)!==null&&t!==void 0?t:Promise}function aD(e){return e&&k(e.next)&&k(e.error)&&k(e.complete)}function cD(e){return e&&e instanceof Sn||aD(e)&&Hi(e)}function Xa(e){return k(e?.lift)}function j(e){return t=>{if(Xa(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function R(e,t,n,r,o){return new ec(e,t,n,r,o)}var ec=class extends Sn{constructor(t,n,r,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(u){try{n(u)}catch(a){t.error(a)}}:super._next,this._error=o?function(u){try{o(u)}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(u){t.error(u)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:n}=this;super.unsubscribe(),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}}};function jh(){return j((e,t)=>{let n=null;e._refCount++;let r=R(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount){n=null;return}let o=e._connection,i=n;n=null,o&&(!i||o===i)&&o.unsubscribe(),t.unsubscribe()});e.subscribe(r),r.closed||(n=e.connect())})}var tc=class extends B{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,Xa(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){let t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new X;let n=this.getSubject();t.add(this.source.subscribe(R(n,void 0,()=>{this._teardown(),n.complete()},r=>{this._teardown(),n.error(r)},()=>this._teardown()))),t.closed&&(this._connection=null,t=X.EMPTY)}return t}refCount(){return jh()(this)}};var br={schedule(e){let t=requestAnimationFrame,n=cancelAnimationFrame,{delegate:r}=br;r&&(t=r.requestAnimationFrame,n=r.cancelAnimationFrame);let o=t(i=>{n=void 0,e(i)});return new X(()=>n?.(o))},requestAnimationFrame(...e){let{delegate:t}=br;return(t?.requestAnimationFrame||requestAnimationFrame)(...e)},cancelAnimationFrame(...e){let{delegate:t}=br;return(t?.cancelAnimationFrame||cancelAnimationFrame)(...e)},delegate:void 0};var Bh=hr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var le=(()=>{class e extends B{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){let r=new zi(this,this);return r.operator=n,r}_throwIfClosed(){if(this.closed)throw new Bh}next(n){mr(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(n)}})}error(n){mr(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;let{observers:r}=this;for(;r.length;)r.shift().error(n)}})}complete(){mr(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){let{hasError:r,isStopped:o,observers:i}=this;return r||o?Wa:(this.currentObservers=null,i.push(n),new X(()=>{this.currentObservers=null,In(i,n)}))}_checkFinalizedStatuses(n){let{hasError:r,thrownError:o,isStopped:i}=this;r?n.error(o):i&&n.complete()}asObservable(){let n=new B;return n.source=this,n}}return e.create=(t,n)=>new zi(t,n),e})(),zi=class extends le{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.next)===null||r===void 0||r.call(n,t)}error(t){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.error)===null||r===void 0||r.call(n,t)}complete(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)}_subscribe(t){var n,r;return(r=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&r!==void 0?r:Wa}};var Eo=class extends le{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){let n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){let{hasError:t,thrownError:n,_value:r}=this;if(t)throw n;return this._throwIfClosed(),r}next(t){super.next(this._value=t)}};var _o={now(){return(_o.delegate||Date).now()},delegate:void 0};var Co=class extends le{constructor(t=1/0,n=1/0,r=_o){super(),this._bufferSize=t,this._windowTime=n,this._timestampProvider=r,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=n===1/0,this._bufferSize=Math.max(1,t),this._windowTime=Math.max(1,n)}next(t){let{isStopped:n,_buffer:r,_infiniteTimeWindow:o,_timestampProvider:i,_windowTime:s}=this;n||(r.push(t),!o&&r.push(i.now()+s)),this._trimBuffer(),super.next(t)}_subscribe(t){this._throwIfClosed(),this._trimBuffer();let n=this._innerSubscribe(t),{_infiniteTimeWindow:r,_buffer:o}=this,i=o.slice();for(let s=0;sVh(t)&&e()),t},clearImmediate(e){Vh(e)}};var{setImmediate:dD,clearImmediate:fD}=Hh,xo={setImmediate(...e){let{delegate:t}=xo;return(t?.setImmediate||dD)(...e)},clearImmediate(e){let{delegate:t}=xo;return(t?.clearImmediate||fD)(e)},delegate:void 0};var Gi=class extends tn{constructor(t,n){super(t,n),this.scheduler=t,this.work=n}requestAsyncId(t,n,r=0){return r!==null&&r>0?super.requestAsyncId(t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=xo.setImmediate(t.flush.bind(t,void 0))))}recycleAsyncId(t,n,r=0){var o;if(r!=null?r>0:this.delay>0)return super.recycleAsyncId(t,n,r);let{actions:i}=t;n!=null&&((o=i[i.length-1])===null||o===void 0?void 0:o.id)!==n&&(xo.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))}};var vr=class e{constructor(t,n=e.now){this.schedulerActionCtor=t,this.now=n}schedule(t,n=0,r){return new this.schedulerActionCtor(this,t).schedule(r,n)}};vr.now=_o.now;var nn=class extends vr{constructor(t,n=vr.now){super(t,n),this.actions=[],this._active=!1}flush(t){let{actions:n}=this;if(this._active){n.push(t);return}let r;this._active=!0;do if(r=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,r){for(;t=n.shift();)t.unsubscribe();throw r}}};var Wi=class extends nn{flush(t){this._active=!0;let n=this._scheduled;this._scheduled=void 0;let{actions:r}=this,o;t=t||r.shift();do if(o=t.execute(t.state,t.delay))break;while((t=r[0])&&t.id===n&&r.shift());if(this._active=!1,o){for(;(t=r[0])&&t.id===n&&r.shift();)t.unsubscribe();throw o}}};var pD=new Wi(Gi);var Dr=new nn(tn),oc=Dr;var Zi=class extends tn{constructor(t,n){super(t,n),this.scheduler=t,this.work=n}requestAsyncId(t,n,r=0){return r!==null&&r>0?super.requestAsyncId(t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=br.requestAnimationFrame(()=>t.flush(void 0))))}recycleAsyncId(t,n,r=0){var o;if(r!=null?r>0:this.delay>0)return super.recycleAsyncId(t,n,r);let{actions:i}=t;n!=null&&n===t._scheduled&&((o=i[i.length-1])===null||o===void 0?void 0:o.id)!==n&&(br.cancelAnimationFrame(n),t._scheduled=void 0)}};var Yi=class extends nn{flush(t){this._active=!0;let n;t?n=t.id:(n=this._scheduled,this._scheduled=void 0);let{actions:r}=this,o;t=t||r.shift();do if(o=t.execute(t.state,t.delay))break;while((t=r[0])&&t.id===n&&r.shift());if(this._active=!1,o){for(;(t=r[0])&&t.id===n&&r.shift();)t.unsubscribe();throw o}}};var hD=new Yi(Zi);var St=new B(e=>e.complete());function Qi(e){return e&&k(e.schedule)}function ic(e){return e[e.length-1]}function rn(e){return k(ic(e))?e.pop():void 0}function ct(e){return Qi(ic(e))?e.pop():void 0}function $h(e,t){return typeof ic(e)=="number"?e.pop():t}function ZN(e,t,n,r){var o=arguments.length,i=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,n,r);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(i=(o<3?s(i):o>3?s(t,n,i):s(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function zh(e,t,n,r){function o(i){return i instanceof n?i:new n(function(s){s(i)})}return new(n||(n=Promise))(function(i,s){function u(l){try{c(r.next(l))}catch(d){s(d)}}function a(l){try{c(r.throw(l))}catch(d){s(d)}}function c(l){l.done?i(l.value):o(l.value).then(u,a)}c((r=r.apply(e,t||[])).next())})}function Uh(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Mn(e){return this instanceof Mn?(this.v=e,this):new Mn(e)}function qh(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),u("next"),u("throw"),u("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(f){return function(p){return Promise.resolve(p).then(f,d)}}function u(f,p){r[f]&&(o[f]=function(g){return new Promise(function(m,y){i.push([f,g,m,y])>1||a(f,g)})},p&&(o[f]=p(o[f])))}function a(f,p){try{c(r[f](p))}catch(g){h(i[0][3],g)}}function c(f){f.value instanceof Mn?Promise.resolve(f.value.v).then(l,d):h(i[0][2],f)}function l(f){a("next",f)}function d(f){a("throw",f)}function h(f,p){f(p),i.shift(),i.length&&a(i[0][0],i[0][1])}}function Gh(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof Uh=="function"?Uh(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(u,a){s=e[i](s),o(u,a,s.done,s.value)})}}function o(i,s,u,a){Promise.resolve(a).then(function(c){i({value:c,done:u})},s)}}var Er=e=>e&&typeof e.length=="number"&&typeof e!="function";function Ki(e){return k(e?.then)}function Ji(e){return k(e[yr])}function Xi(e){return Symbol.asyncIterator&&k(e?.[Symbol.asyncIterator])}function es(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function gD(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var ts=gD();function ns(e){return k(e?.[ts])}function rs(e){return qh(this,arguments,function*(){let n=e.getReader();try{for(;;){let{value:r,done:o}=yield Mn(n.read());if(o)return yield Mn(void 0);yield yield Mn(r)}}finally{n.releaseLock()}})}function os(e){return k(e?.getReader)}function z(e){if(e instanceof B)return e;if(e!=null){if(Ji(e))return mD(e);if(Er(e))return yD(e);if(Ki(e))return bD(e);if(Xi(e))return Wh(e);if(ns(e))return vD(e);if(os(e))return DD(e)}throw es(e)}function mD(e){return new B(t=>{let n=e[yr]();if(k(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function yD(e){return new B(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,$i)})}function vD(e){return new B(t=>{for(let n of e)if(t.next(n),t.closed)return;t.complete()})}function Wh(e){return new B(t=>{ED(e,t).catch(n=>t.error(n))})}function DD(e){return Wh(rs(e))}function ED(e,t){var n,r,o,i;return zh(this,void 0,void 0,function*(){try{for(n=Gh(e);r=yield n.next(),!r.done;){let s=r.value;if(t.next(s),t.closed)return}}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=n.return)&&(yield i.call(n))}finally{if(o)throw o.error}}t.complete()})}function Se(e,t,n,r=0,o=!1){let i=t.schedule(function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Io(e,t=0){return j((n,r)=>{n.subscribe(R(r,o=>Se(r,e,()=>r.next(o),t),()=>Se(r,e,()=>r.complete(),t),o=>Se(r,e,()=>r.error(o),t)))})}function is(e,t=0){return j((n,r)=>{r.add(e.schedule(()=>n.subscribe(r),t))})}function Zh(e,t){return z(e).pipe(is(t),Io(t))}function Yh(e,t){return z(e).pipe(is(t),Io(t))}function Qh(e,t){return new B(n=>{let r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function Kh(e,t){return new B(n=>{let r;return Se(n,t,()=>{r=e[ts](),Se(n,t,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){n.error(s);return}i?n.complete():n.next(o)},0,!0)}),()=>k(r?.return)&&r.return()})}function ss(e,t){if(!e)throw new Error("Iterable cannot be null");return new B(n=>{Se(n,t,()=>{let r=e[Symbol.asyncIterator]();Se(n,t,()=>{r.next().then(o=>{o.done?n.complete():n.next(o.value)})},0,!0)})})}function Jh(e,t){return ss(rs(e),t)}function Xh(e,t){if(e!=null){if(Ji(e))return Zh(e,t);if(Er(e))return Qh(e,t);if(Ki(e))return Yh(e,t);if(Xi(e))return ss(e,t);if(ns(e))return Kh(e,t);if(os(e))return Jh(e,t)}throw es(e)}function lt(e,t){return t?Xh(e,t):z(e)}function us(...e){let t=ct(e);return lt(e,t)}function _D(e,t){let n=k(e)?e:()=>e,r=o=>o.error(n());return new B(t?o=>t.schedule(r,0,o):r)}function CD(e){return!!e&&(e instanceof B||k(e.lift)&&k(e.subscribe))}var An=hr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function sc(e,t){let n=typeof t=="object";return new Promise((r,o)=>{let i=new Ze({next:s=>{r(s),i.unsubscribe()},error:o,complete:()=>{n?r(t.defaultValue):o(new An)}});e.subscribe(i)})}function e0(e){return e instanceof Date&&!isNaN(e)}function Ee(e,t){return j((n,r)=>{let o=0;n.subscribe(R(r,i=>{r.next(e.call(t,i,o++))}))})}var{isArray:wD}=Array;function xD(e,t){return wD(t)?e(...t):e(t)}function _r(e){return Ee(t=>xD(e,t))}var{isArray:ID}=Array,{getPrototypeOf:TD,prototype:SD,keys:MD}=Object;function as(e){if(e.length===1){let t=e[0];if(ID(t))return{args:t,keys:null};if(AD(t)){let n=MD(t);return{args:n.map(r=>t[r]),keys:n}}}return{args:e,keys:null}}function AD(e){return e&&typeof e=="object"&&TD(e)===SD}function cs(e,t){return e.reduce((n,r,o)=>(n[r]=t[o],n),{})}function ND(...e){let t=ct(e),n=rn(e),{args:r,keys:o}=as(e);if(r.length===0)return lt([],t);let i=new B(kD(r,t,o?s=>cs(o,s):De));return n?i.pipe(_r(n)):i}function kD(e,t,n=De){return r=>{t0(t,()=>{let{length:o}=e,i=new Array(o),s=o,u=o;for(let a=0;a{let c=lt(e[a],t),l=!1;c.subscribe(R(r,d=>{i[a]=d,l||(l=!0,u--),u||r.next(n(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}function t0(e,t,n){e?Se(n,e,t):t()}function n0(e,t,n,r,o,i,s,u){let a=[],c=0,l=0,d=!1,h=()=>{d&&!a.length&&!c&&t.complete()},f=g=>c{i&&t.next(g),c++;let m=!1;z(n(g,l++)).subscribe(R(t,y=>{o?.(y),i?f(y):t.next(y)},()=>{m=!0},void 0,()=>{if(m)try{for(c--;a.length&&cp(y)):p(y)}h()}catch(y){t.error(y)}}))};return e.subscribe(R(t,f,()=>{d=!0,h()})),()=>{u?.()}}function Mt(e,t,n=1/0){return k(t)?Mt((r,o)=>Ee((i,s)=>t(r,i,o,s))(z(e(r,o))),n):(typeof t=="number"&&(n=t),j((r,o)=>n0(r,o,e,n)))}function To(e=1/0){return Mt(De,e)}function r0(){return To(1)}function ls(...e){return r0()(lt(e,ct(e)))}function RD(e){return new B(t=>{z(e()).subscribe(t)})}function FD(...e){let t=rn(e),{args:n,keys:r}=as(e),o=new B(i=>{let{length:s}=n;if(!s){i.complete();return}let u=new Array(s),a=s,c=s;for(let l=0;l{d||(d=!0,c--),u[l]=h},()=>a--,void 0,()=>{(!a||!d)&&(c||i.next(r?cs(r,u):u),i.complete())}))}});return t?o.pipe(_r(t)):o}var OD=["addListener","removeListener"],PD=["addEventListener","removeEventListener"],LD=["on","off"];function uc(e,t,n,r){if(k(n)&&(r=n,n=void 0),r)return uc(e,t,n).pipe(_r(r));let[o,i]=VD(e)?PD.map(s=>u=>e[s](t,u,n)):jD(e)?OD.map(o0(e,t)):BD(e)?LD.map(o0(e,t)):[];if(!o&&Er(e))return Mt(s=>uc(s,t,n))(z(e));if(!o)throw new TypeError("Invalid event target");return new B(s=>{let u=(...a)=>s.next(1i(u)})}function o0(e,t){return n=>r=>e[n](t,r)}function jD(e){return k(e.addListener)&&k(e.removeListener)}function BD(e){return k(e.on)&&k(e.off)}function VD(e){return k(e.addEventListener)&&k(e.removeEventListener)}function ac(e=0,t,n=oc){let r=-1;return t!=null&&(Qi(t)?n=t:r=t),new B(o=>{let i=e0(e)?+e-n.now():e;i<0&&(i=0);let s=0;return n.schedule(function(){o.closed||(o.next(s++),0<=r?this.schedule(void 0,r):o.complete())},i)})}function HD(...e){let t=ct(e),n=$h(e,1/0),r=e;return r.length?r.length===1?z(r[0]):To(n)(lt(r,t)):St}var $D=new B(Tt);var{isArray:UD}=Array;function i0(e){return e.length===1&&UD(e[0])?e[0]:e}function on(e,t){return j((n,r)=>{let o=0;n.subscribe(R(r,i=>e.call(t,i,o++)&&r.next(i)))})}function zD(...e){let t=rn(e),n=i0(e);return n.length?new B(r=>{let o=n.map(()=>[]),i=n.map(()=>!1);r.add(()=>{o=i=null});for(let s=0;!r.closed&&s{if(o[s].push(u),o.every(a=>a.length)){let a=o.map(c=>c.shift());r.next(t?t(...a):a),o.some((c,l)=>!c.length&&i[l])&&r.complete()}},()=>{i[s]=!0,!o[s].length&&r.complete()}));return()=>{o=i=null}}):St}function s0(e){return j((t,n)=>{let r=!1,o=null,i=null,s=!1,u=()=>{if(i?.unsubscribe(),i=null,r){r=!1;let c=o;o=null,n.next(c)}s&&n.complete()},a=()=>{i=null,s&&n.complete()};t.subscribe(R(n,c=>{r=!0,o=c,i||z(e(c)).subscribe(i=R(n,u,a))},()=>{s=!0,(!r||!i||i.closed)&&n.complete()}))})}function qD(e,t=Dr){return s0(()=>ac(e,t))}function cc(e){return j((t,n)=>{let r=null,o=!1,i;r=t.subscribe(R(n,void 0,void 0,s=>{i=z(e(s,cc(e)(t))),r?(r.unsubscribe(),r=null,i.subscribe(n)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(n))})}function lc(e,t){return k(t)?Mt(e,t,1):Mt(e,1)}function u0(e,t=Dr){return j((n,r)=>{let o=null,i=null,s=null,u=()=>{if(o){o.unsubscribe(),o=null;let c=i;i=null,r.next(c)}};function a(){let c=s+e,l=t.now();if(l{i=c,s=t.now(),o||(o=t.schedule(a,e),r.add(o))},()=>{u(),r.complete()},void 0,()=>{i=o=null}))})}function a0(e){return j((t,n)=>{let r=!1;t.subscribe(R(n,o=>{r=!0,n.next(o)},()=>{r||n.next(e),n.complete()}))})}function dc(e){return e<=0?()=>St:j((t,n)=>{let r=0;t.subscribe(R(n,o=>{++r<=e&&(n.next(o),e<=r&&n.complete())}))})}function GD(e){return Ee(()=>e)}function c0(e,t=De){return e=e??WD,j((n,r)=>{let o,i=!0;n.subscribe(R(r,s=>{let u=t(s);(i||!e(o,u))&&(i=!1,o=u,r.next(s))}))})}function WD(e,t){return e===t}function l0(e=ZD){return j((t,n)=>{let r=!1;t.subscribe(R(n,o=>{r=!0,n.next(o)},()=>r?n.complete():n.error(e())))})}function ZD(){return new An}function ds(e){return j((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}function YD(e,t){let n=arguments.length>=2;return r=>r.pipe(e?on((o,i)=>e(o,i,r)):De,dc(1),n?a0(t):l0(()=>new An))}function QD(e){return e<=0?()=>St:j((t,n)=>{let r=[];t.subscribe(R(n,o=>{r.push(o),e{for(let o of r)n.next(o);n.complete()},void 0,()=>{r=null}))})}function d0(){return j((e,t)=>{let n,r=!1;e.subscribe(R(t,o=>{let i=n;n=o,r&&t.next([i,o]),r=!0}))})}function fs(e={}){let{connector:t=()=>new le,resetOnError:n=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,u,a,c=0,l=!1,d=!1,h=()=>{u?.unsubscribe(),u=void 0},f=()=>{h(),s=a=void 0,l=d=!1},p=()=>{let g=s;f(),g?.unsubscribe()};return j((g,m)=>{c++,!d&&!l&&h();let y=a=a??t();m.add(()=>{c--,c===0&&!d&&!l&&(u=fc(p,o))}),y.subscribe(m),!s&&c>0&&(s=new Ze({next:v=>y.next(v),error:v=>{d=!0,h(),u=fc(f,n,v),y.error(v)},complete:()=>{l=!0,h(),u=fc(f,r),y.complete()}}),z(g).subscribe(s))})(i)}}function fc(e,t,...n){if(t===!0){e();return}if(t===!1)return;let r=new Ze({next:()=>{r.unsubscribe(),e()}});return z(t(...n)).subscribe(r)}function f0(e,t,n){let r,o=!1;return e&&typeof e=="object"?{bufferSize:r=1/0,windowTime:t=1/0,refCount:o=!1,scheduler:n}=e:r=e??1/0,fs({connector:()=>new Co(r,t,n),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:o})}function p0(e){return on((t,n)=>e<=n)}function h0(...e){let t=ct(e);return j((n,r)=>{(t?ls(e,n,t):ls(e,n)).subscribe(r)})}function ps(e,t){return j((n,r)=>{let o=null,i=0,s=!1,u=()=>s&&!o&&r.complete();n.subscribe(R(r,a=>{o?.unsubscribe();let c=0,l=i++;z(e(a,l)).subscribe(o=R(r,d=>r.next(t?t(a,d,l,c++):d),()=>{o=null,u()}))},()=>{s=!0,u()}))})}function KD(e){return j((t,n)=>{z(e).subscribe(R(n,()=>n.complete(),Tt)),!n.closed&&t.subscribe(n)})}function JD(e,t=!1){return j((n,r)=>{let o=0;n.subscribe(R(r,i=>{let s=e(i,o++);(s||t)&&r.next(i),!s&&r.complete()}))})}function g0(e,t,n){let r=k(e)||t||n?{next:e,error:t,complete:n}:e;return r?j((o,i)=>{var s;(s=r.subscribe)===null||s===void 0||s.call(r);let u=!0;o.subscribe(R(i,a=>{var c;(c=r.next)===null||c===void 0||c.call(r,a),i.next(a)},()=>{var a;u=!1,(a=r.complete)===null||a===void 0||a.call(r),i.complete()},a=>{var c;u=!1,(c=r.error)===null||c===void 0||c.call(r,a),i.error(a)},()=>{var a,c;u&&((a=r.unsubscribe)===null||a===void 0||a.call(r)),(c=r.finalize)===null||c===void 0||c.call(r)}))}):De}function XD(...e){let t=rn(e);return j((n,r)=>{let o=e.length,i=new Array(o),s=e.map(()=>!1),u=!1;for(let a=0;a{i[a]=c,!u&&!s[a]&&(s[a]=!0,(u=s.every(De))&&(s=null))},Tt));n.subscribe(R(r,a=>{if(u){let c=[a,...i];r.next(t?t(...c):c)}}))})}var pc;function hs(){return pc}function dt(e){let t=pc;return pc=e,t}var m0=Symbol("NotFound");function Cr(e){return e===m0||e?.name==="\u0275NotFound"}function hc(e,t,n){let r=Object.create(eE);r.source=e,r.computation=t,n!=null&&(r.equal=n);let i=()=>{if(wn(r),Jt(r),r.value===xt)throw r.error;return r.value};return i[ne]=r,yo(r),i}function y0(e,t){wn(e),xn(e,t),dr(e)}function b0(e,t){wn(e),Bi(e,t),dr(e)}var eE=P(S({},Kt),{value:Qt,dirty:!0,error:null,equal:bo,kind:"linkedSignal",producerMustRecompute(e){return e.value===Qt||e.value===Cn},producerRecomputeValue(e){if(e.value===Cn)throw new Error("");let t=e.value;e.value=Cn;let n=It(e),r;try{let o=e.source(),i=t===Qt||t===xt?void 0:{source:e.sourceValue,value:t};r=e.computation(o,i),e.sourceValue=o}catch(o){r=xt,e.error=o}finally{Xt(e,n)}if(t!==Qt&&r!==xt&&e.equal(t,r)){e.value=t;return}e.value=r,e.version++}});var Es="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",_=class extends Error{code;constructor(t,n){super(pt(t,n)),this.code=t}};function tE(e){return`NG0${Math.abs(e)}`}function pt(e,t){return`${tE(e)}${t?": "+t:""}`}var xe=globalThis;function G(e){for(let t in e)if(e[t]===G)return t;throw Error("")}function C0(e,t){for(let n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function kt(e){if(typeof e=="string")return e;if(Array.isArray(e))return`[${e.map(kt).join(", ")}]`;if(e==null)return""+e;let t=e.overriddenName||e.name;if(t)return`${t}`;let n=e.toString();if(n==null)return""+n;let r=n.indexOf(` -`);return r>=0?n.slice(0,r):n}function _s(e,t){return e?t?`${e} ${t}`:e:t||""}var nE=G({__forward_ref__:G});function Cs(e){return e.__forward_ref__=Cs,e.toString=function(){return kt(this())},e}function ue(e){return Tc(e)?e():e}function Tc(e){return typeof e=="function"&&e.hasOwnProperty(nE)&&e.__forward_ref__===Cs}function I(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ht(e){return{providers:e.providers||[],imports:e.imports||[]}}function Fo(e){return oE(e,ws)}function rE(e){return Fo(e)!==null}function oE(e,t){return e.hasOwnProperty(t)&&e[t]||null}function iE(e){let t=e?.[ws]??null;return t||null}function mc(e){return e&&e.hasOwnProperty(ms)?e[ms]:null}var ws=G({\u0275prov:G}),ms=G({\u0275inj:G}),x=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(t,n){this._desc=t,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=I({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Sc(e){return e&&!!e.\u0275providers}var Mc=G({\u0275cmp:G}),Ac=G({\u0275dir:G}),Nc=G({\u0275pipe:G}),kc=G({\u0275mod:G}),Mo=G({\u0275fac:G}),On=G({__NG_ELEMENT_ID__:G}),v0=G({__NG_ENV_ID__:G});function Rc(e){return Is(e,"@NgModule"),e[kc]||null}function gt(e){return Is(e,"@Component"),e[Mc]||null}function xs(e){return Is(e,"@Directive"),e[Ac]||null}function w0(e){return Is(e,"@Pipe"),e[Nc]||null}function Is(e,t){if(e==null)throw new _(-919,!1)}function Ne(e){return typeof e=="string"?e:e==null?"":String(e)}function x0(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():Ne(e)}var I0=G({ngErrorCode:G}),sE=G({ngErrorMessage:G}),uE=G({ngTokenPath:G});function Fc(e,t){return T0("",-200,t)}function Ts(e,t){throw new _(-201,!1)}function T0(e,t,n){let r=new _(t,e);return r[I0]=t,r[sE]=e,n&&(r[uE]=n),r}function aE(e){return e[I0]}var yc;function S0(){return yc}function _e(e){let t=yc;return yc=e,t}function Oc(e,t,n){let r=Fo(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;Ts(e,"")}var cE={},Nn=cE,lE="__NG_DI_FLAG__",bc=class{injector;constructor(t){this.injector=t}retrieve(t,n){let r=kn(n)||0;try{return this.injector.get(t,r&8?null:Nn,r)}catch(o){if(Cr(o))return o;throw o}}};function dE(e,t=0){let n=hs();if(n===void 0)throw new _(-203,!1);if(n===null)return Oc(e,void 0,t);{let r=fE(t),o=n.retrieve(e,r);if(Cr(o)){if(r.optional)return null;throw o}return o}}function A(e,t=0){return(S0()||dE)(ue(e),t)}function b(e,t){return A(e,kn(t))}function kn(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function fE(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function vc(e){let t=[];for(let n=0;nArray.isArray(n)?Ss(n,t):t(n))}function Pc(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Oo(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function N0(e,t){let n=[];for(let r=0;rt;){let i=o-2;e[o]=e[i],o--}e[t]=n,e[t+1]=r}}function Po(e,t,n){let r=xr(e,t);return r>=0?e[r|1]=n:(r=~r,k0(e,r,t,n)),r}function Ms(e,t){let n=xr(e,t);if(n>=0)return e[n|1]}function xr(e,t){return hE(e,t,1)}function hE(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){let i=r+(o-r>>1),s=e[i<t?o=i:r=i+1}return~(o<{n.push(s)};return Ss(t,s=>{let u=s;ys(u,i,[],r)&&(o||=[],o.push(u))}),o!==void 0&&F0(o,i),n}function F0(e,t){for(let n=0;n{t(i,r)})}}function ys(e,t,n,r){if(e=ue(e),!e)return!1;let o=null,i=mc(e),s=!i&>(e);if(!i&&!s){let a=e.ngModule;if(i=mc(a),i)o=a;else return!1}else{if(s&&!s.standalone)return!1;o=e}let u=r.has(o);if(s){if(u)return!1;if(r.add(o),s.dependencies){let a=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of a)ys(c,t,n,r)}}else if(i){if(i.imports!=null&&!u){r.add(o);let c;Ss(i.imports,l=>{ys(l,t,n,r)&&(c||=[],c.push(l))}),c!==void 0&&F0(c,t)}if(!u){let c=sn(o)||(()=>new o);t({provide:o,useFactory:c,deps:ye},o),t({provide:jc,useValue:o,multi:!0},o),t({provide:Ir,useValue:()=>A(o),multi:!0},o)}let a=i.providers;if(a!=null&&!u){let c=e;Vc(a,l=>{t(l,c)})}}else return!1;return o!==e&&e.providers!==void 0}function Vc(e,t){for(let n of e)Sc(n)&&(n=n.\u0275providers),Array.isArray(n)?Vc(n,t):t(n)}var gE=G({provide:String,useValue:G});function O0(e){return e!==null&&typeof e=="object"&&gE in e}function mE(e){return!!(e&&e.useExisting)}function yE(e){return!!(e&&e.useFactory)}function Rn(e){return typeof e=="function"}function P0(e){return!!e.useClass}var Lo=new x(""),gs={},D0={},gc;function Tr(){return gc===void 0&&(gc=new Ao),gc}var Ce=class{},Fn=class extends Ce{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,Ec(t,s=>this.processProvider(s)),this.records.set(Lc,wr(void 0,this)),o.has("environment")&&this.records.set(Ce,wr(void 0,this));let i=this.records.get(Lo);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(jc,ye,{self:!0}))}retrieve(t,n){let r=kn(n)||0;try{return this.get(t,Nn,r)}catch(o){if(Cr(o))return o;throw o}}destroy(){So(this),this._destroyed=!0;let t=M(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of n)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),M(t)}}onDestroy(t){return So(this),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){So(this);let n=dt(this),r=_e(void 0),o;try{return t()}finally{dt(n),_e(r)}}get(t,n=Nn,r){if(So(this),t.hasOwnProperty(v0))return t[v0](this);let o=kn(r),i,s=dt(this),u=_e(void 0);try{if(!(o&4)){let c=this.records.get(t);if(c===void 0){let l=_E(t)&&Fo(t);l&&this.injectableDefInScope(l)?c=wr(Dc(t),gs):c=null,this.records.set(t,c)}if(c!=null)return this.hydrate(t,c,o)}let a=o&2?Tr():this.parent;return n=o&8&&n===Nn?null:n,a.get(t,n)}catch(a){let c=aE(a);throw c===-200||c===-201?new _(c,null):a}finally{_e(u),dt(s)}}resolveInjectorInitializers(){let t=M(null),n=dt(this),r=_e(void 0),o;try{let i=this.get(Ir,ye,{self:!0});for(let s of i)s()}finally{dt(n),_e(r),M(t)}}toString(){let t=[],n=this.records;for(let r of n.keys())t.push(kt(r));return`R3Injector[${t.join(", ")}]`}processProvider(t){t=ue(t);let n=Rn(t)?t:ue(t&&t.provide),r=vE(t);if(!Rn(t)&&t.multi===!0){let o=this.records.get(n);o||(o=wr(void 0,gs,!0),o.factory=()=>vc(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n,r){let o=M(null);try{if(n.value===D0)throw Fc(kt(t));return n.value===gs&&(n.value=D0,n.value=n.factory(void 0,r)),typeof n.value=="object"&&n.value&&EE(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{M(o)}}injectableDefInScope(t){if(!t.providedIn)return!1;let n=ue(t.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){let n=this._onDestroyHooks.indexOf(t);n!==-1&&this._onDestroyHooks.splice(n,1)}};function Dc(e){let t=Fo(e),n=t!==null?t.factory:sn(e);if(n!==null)return n;if(e instanceof x)throw new _(204,!1);if(e instanceof Function)return bE(e);throw new _(204,!1)}function bE(e){if(e.length>0)throw new _(204,!1);let n=iE(e);return n!==null?()=>n.factory(e):()=>new e}function vE(e){if(O0(e))return wr(void 0,e.useValue);{let t=Hc(e);return wr(t,gs)}}function Hc(e,t,n){let r;if(Rn(e)){let o=ue(e);return sn(o)||Dc(o)}else if(O0(e))r=()=>ue(e.useValue);else if(yE(e))r=()=>e.useFactory(...vc(e.deps||[]));else if(mE(e))r=(o,i)=>A(ue(e.useExisting),i!==void 0&&i&8?8:void 0);else{let o=ue(e&&(e.useClass||e.provide));if(DE(e))r=()=>new o(...vc(e.deps));else return sn(o)||Dc(o)}return r}function So(e){if(e.destroyed)throw new _(205,!1)}function wr(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function DE(e){return!!e.deps}function EE(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function _E(e){return typeof e=="function"||typeof e=="object"&&e.ngMetadataName==="InjectionToken"}function Ec(e,t){for(let n of e)Array.isArray(n)?Ec(n,t):n&&Sc(n)?Ec(n.\u0275providers,t):t(n)}function Sr(e,t){let n;e instanceof Fn?(So(e),n=e):n=new bc(e);let r,o=dt(n),i=_e(void 0);try{return t()}finally{dt(o),_e(i)}}function As(){return S0()!==void 0||hs()!=null}function CE(e){if(!As())throw new _(-203,!1)}var Qe=0,T=1,L=2,ae=3,He=4,Ie=5,Ln=6,Mr=7,ee=8,Rt=9,mt=10,Z=11,Ar=12,$c=13,jn=14,ve=15,cn=16,Bn=17,yt=18,Ft=19,Uc=20,Nt=21,Ns=22,un=23,ke=24,Vn=25,Hn=26,Q=27,L0=1,zc=6,ln=7,jo=8,$n=9,te=10;function bt(e){return Array.isArray(e)&&typeof e[L0]=="object"}function Ke(e){return Array.isArray(e)&&e[L0]===!0}function qc(e){return(e.flags&4)!==0}function Ot(e){return e.componentOffset>-1}function Nr(e){return(e.flags&1)===1}function Je(e){return!!e.template}function kr(e){return(e[L]&512)!==0}function Un(e){return(e[L]&256)===256}var Gc="svg",j0="math";function $e(e){for(;Array.isArray(e);)e=e[Qe];return e}function Wc(e,t){return $e(t[e])}function Ue(e,t){return $e(t[e.index])}function Bo(e,t){return e.data[t]}function Vo(e,t){return e[t]}function Ho(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function Re(e,t){let n=t[e];return bt(n)?n:n[Qe]}function B0(e){return(e[L]&4)===4}function ks(e){return(e[L]&128)===128}function V0(e){return Ke(e[ae])}function Fe(e,t){return t==null?null:e[t]}function Zc(e){e[Bn]=0}function Yc(e){e[L]&1024||(e[L]|=1024,ks(e)&&zn(e))}function H0(e,t){for(;e>0;)t=t[jn],e--;return t}function $o(e){return!!(e[L]&9216||e[ke]?.dirty)}function Rs(e){e[mt].changeDetectionScheduler?.notify(8),e[L]&64&&(e[L]|=1024),$o(e)&&zn(e)}function zn(e){e[mt].changeDetectionScheduler?.notify(0);let t=an(e);for(;t!==null&&!(t[L]&8192||(t[L]|=8192,!ks(t)));)t=an(t)}function Qc(e,t){if(Un(e))throw new _(911,!1);e[Nt]===null&&(e[Nt]=[]),e[Nt].push(t)}function $0(e,t){if(e[Nt]===null)return;let n=e[Nt].indexOf(t);n!==-1&&e[Nt].splice(n,1)}function an(e){let t=e[ae];return Ke(t)?t[ae]:t}function Kc(e){return e[Mr]??=[]}function Jc(e){return e.cleanup??=[]}function U0(e,t,n,r){let o=Kc(t);o.push(n),e.firstCreatePass&&Jc(e).push(r,o.length-1)}var V={lFrame:tg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var _c=!1;function z0(){return V.lFrame.elementDepthCount}function q0(){V.lFrame.elementDepthCount++}function Xc(){V.lFrame.elementDepthCount--}function Fs(){return V.bindingsEnabled}function el(){return V.skipHydrationRootTNode!==null}function tl(e){return V.skipHydrationRootTNode===e}function nl(){V.skipHydrationRootTNode=null}function C(){return V.lFrame.lView}function Y(){return V.lFrame.tView}function G0(e){return V.lFrame.contextLView=e,e[ee]}function W0(e){return V.lFrame.contextLView=null,e}function re(){let e=rl();for(;e!==null&&e.type===64;)e=e.parent;return e}function rl(){return V.lFrame.currentTNode}function Z0(){let e=V.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function qn(e,t){let n=V.lFrame;n.currentTNode=e,n.isParent=t}function ol(){return V.lFrame.isParent}function il(){V.lFrame.isParent=!1}function sl(){return V.lFrame.contextLView}function ul(){return _c}function No(e){let t=_c;return _c=e,t}function Rr(){let e=V.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function al(){return V.lFrame.bindingIndex}function Y0(e){return V.lFrame.bindingIndex=e}function Xe(){return V.lFrame.bindingIndex++}function Uo(e){let t=V.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Q0(){return V.lFrame.inI18n}function K0(e,t){let n=V.lFrame;n.bindingIndex=n.bindingRootIndex=e,Os(t)}function J0(){return V.lFrame.currentDirectiveIndex}function Os(e){V.lFrame.currentDirectiveIndex=e}function X0(e){let t=V.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function Ps(){return V.lFrame.currentQueryIndex}function zo(e){V.lFrame.currentQueryIndex=e}function wE(e){let t=e[T];return t.type===2?t.declTNode:t.type===1?e[Ie]:null}function cl(e,t,n){if(n&4){let o=t,i=e;for(;o=o.parent,o===null&&!(n&1);)if(o=wE(i),o===null||(i=i[jn],o.type&10))break;if(o===null)return!1;t=o,e=i}let r=V.lFrame=eg();return r.currentTNode=t,r.lView=e,!0}function Ls(e){let t=eg(),n=e[T];V.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function eg(){let e=V.lFrame,t=e===null?null:e.child;return t===null?tg(e):t}function tg(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function ng(){let e=V.lFrame;return V.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var ll=ng;function js(){let e=ng();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function rg(e){return(V.lFrame.contextLView=H0(e,V.lFrame.contextLView))[ee]}function ze(){return V.lFrame.selectedIndex}function dn(e){V.lFrame.selectedIndex=e}function fn(){let e=V.lFrame;return Bo(e.tView,e.selectedIndex)}function og(){V.lFrame.currentNamespace=Gc}function ig(){xE()}function xE(){V.lFrame.currentNamespace=null}function sg(){return V.lFrame.currentNamespace}var ug=!0;function Bs(){return ug}function qo(e){ug=e}function Cc(e,t=null,n=null,r){let o=dl(e,t,n,r);return o.resolveInjectorInitializers(),o}function dl(e,t=null,n=null,r,o=new Set){let i=[n||ye,R0(e)];return r=r||(typeof e=="object"?void 0:kt(e)),new Fn(i,t||Tr(),r||null,o)}var we=class e{static THROW_IF_NOT_FOUND=Nn;static NULL=new Ao;static create(t,n){if(Array.isArray(t))return Cc({name:""},n,t,"");{let r=t.name??"";return Cc({name:r},t.parent,t.providers,r)}}static \u0275prov=I({token:e,providedIn:"any",factory:()=>A(Lc)});static __NG_ELEMENT_ID__=-1},K=new x(""),Oe=(()=>{class e{static __NG_ELEMENT_ID__=IE;static __NG_ENV_ID__=n=>n}return e})(),bs=class extends Oe{_lView;constructor(t){super(),this._lView=t}get destroyed(){return Un(this._lView)}onDestroy(t){let n=this._lView;return Qc(n,t),()=>$0(n,t)}};function IE(){return new bs(C())}var ag=!1,cg=new x(""),Gn=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Eo(!1);debugTaskTracker=b(cg,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new B(n=>{n.next(!1),n.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),this.debugTaskTracker?.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.debugTaskTracker?.remove(n),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),wc=class extends le{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(t=!1){super(),this.__isAsync=t,As()&&(this.destroyRef=b(Oe,{optional:!0})??void 0,this.pendingTasks=b(Gn,{optional:!0})??void 0)}emit(t){let n=M(null);try{super.next(t)}finally{M(n)}}subscribe(t,n,r){let o=t,i=n||(()=>null),s=r;if(t&&typeof t=="object"){let a=t;o=a.next?.bind(a),i=a.error?.bind(a),s=a.complete?.bind(a)}this.__isAsync&&(i=this.wrapInTimeout(i),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));let u=super.subscribe({next:o,error:i,complete:s});return t instanceof X&&t.add(u),u}wrapInTimeout(t){return n=>{let r=this.pendingTasks?.add();setTimeout(()=>{try{t(n)}finally{r!==void 0&&this.pendingTasks?.remove(r)}})}}},At=wc;function vs(...e){}function fl(e){let t,n;function r(){e=vs;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function lg(e){return queueMicrotask(()=>e()),()=>{e=vs}}var pl="isAngularZone",ko=pl+"_ID",TE=0,be=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new At(!1);onMicrotaskEmpty=new At(!1);onStable=new At(!1);onError=new At(!1);constructor(t){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:i=ag}=t;if(typeof Zone>"u")throw new _(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&r,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=i,AE(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(pl)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new _(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new _(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,SE,vs,vs);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}},SE={};function hl(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function ME(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){fl(()=>{e.callbackScheduled=!1,xc(e),e.isCheckStableRunning=!0,hl(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),xc(e)}function AE(e){let t=()=>{ME(e)},n=TE++;e._inner=e._inner.fork({name:"angular",properties:{[pl]:!0,[ko]:n,[ko+n]:!0},onInvokeTask:(r,o,i,s,u,a)=>{if(NE(a))return r.invokeTask(i,s,u,a);try{return E0(e),r.invokeTask(i,s,u,a)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&t(),_0(e)}},onInvoke:(r,o,i,s,u,a,c)=>{try{return E0(e),r.invoke(i,s,u,a,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!kE(a)&&t(),_0(e)}},onHasTask:(r,o,i,s)=>{r.hasTask(i,s),o===i&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,xc(e),hl(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,o,i,s)=>(r.handleError(i,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function xc(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function E0(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function _0(e){e._nesting--,hl(e)}var Ro=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new At;onMicrotaskEmpty=new At;onStable=new At;onError=new At;run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,o){return t.apply(n,r)}};function NE(e){return dg(e,"__ignore_ng_zone__")}function kE(e){return dg(e,"__scheduler_tick__")}function dg(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Ve=class{_console=console;handleError(t){this._console.error("ERROR",t)}},Pt=new x("",{factory:()=>{let e=b(be),t=b(Ce),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(Ve),n.handleError(r))})}}}),fg={provide:Ir,useValue:()=>{let e=b(Ve,{optional:!0})},multi:!0};function pn(e,t){let[n,r,o]=Ua(e,t?.equal),i=n,s=i[ne];return i.set=r,i.update=o,i.asReadonly=Go.bind(i),i}function Go(){let e=this[ne];if(e.readonlyFn===void 0){let t=()=>this();t[ne]=e,e.readonlyFn=t}return e.readonlyFn}var Fr=(()=>{class e{view;node;constructor(n,r){this.view=n,this.node=r}static __NG_ELEMENT_ID__=RE}return e})();function RE(){return new Fr(C(),re())}var ft=class{},Wo=new x("",{factory:()=>!0});var gl=new x(""),Wn=(()=>{class e{internalPendingTasks=b(Gn);scheduler=b(ft);errorHandler=b(Pt);add(){let n=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(n)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(n))}}run(n){let r=this.add();n().catch(this.errorHandler).finally(r)}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),Vs=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:()=>new Ic})}return e})(),Ic=class{dirtyEffectCount=0;queues=new Map;add(t){this.enqueue(t),this.schedule(t)}schedule(t){t.dirty&&this.dirtyEffectCount++}remove(t){let n=t.zone,r=this.queues.get(n);r.has(t)&&(r.delete(t),t.dirty&&this.dirtyEffectCount--)}enqueue(t){let n=t.zone;this.queues.has(n)||this.queues.set(n,new Set);let r=this.queues.get(n);r.has(t)||r.add(t)}flush(){for(;this.dirtyEffectCount>0;){let t=!1;for(let[n,r]of this.queues)n===null?t||=this.flushQueue(r):t||=n.run(()=>this.flushQueue(r));t||(this.dirtyEffectCount=0)}}flushQueue(t){let n=!1;for(let r of t)r.dirty&&(this.dirtyEffectCount--,n=!0,r.run());return n}},Ds=class{[ne];constructor(t){this[ne]=t}destroy(){this[ne].destroy()}};function Zo(e,t){let n=t?.injector??b(we),r=t?.manualCleanup!==!0?n.get(Oe):null,o,i=n.get(Fr,null,{optional:!0}),s=n.get(ft);return i!==null?(o=PE(i.view,s,e),r instanceof bs&&r._lView===i.view&&(r=null)):o=LE(e,n.get(Vs),s),o.injector=n,r!==null&&(o.onDestroyFns=[r.onDestroy(()=>o.destroy())]),new Ds(o)}var pg=P(S({},qa),{cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=No(!1);try{Ga(this)}finally{No(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=M(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],M(e)}}}),FE=P(S({},pg),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(en(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}}),OE=P(S({},pg),{consumerMarkedDirty(){this.view[L]|=8192,zn(this.view),this.notifier.notify(13)},destroy(){if(en(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[un]?.delete(this)}});function PE(e,t,n){let r=Object.create(OE);return r.view=e,r.zone=typeof Zone<"u"?Zone.current:null,r.notifier=t,r.fn=hg(r,n),e[un]??=new Set,e[un].add(r),r.consumerMarkedDirty(r),r}function LE(e,t,n){let r=Object.create(FE);return r.fn=hg(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<"u"?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function hg(e,t){return()=>{t(n=>(e.cleanupFns??=[]).push(n))}}function de(e){return za(e)}function si(e){return{toString:e}.toString()}function zE(e){return typeof e=="function"}function Kg(e,t,n,r){t!==null?t.applyValueToInputSignal(t,r):e[n]=r}var Qs=class{previousValue;currentValue;firstChange;constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}},hu=(()=>{let e=()=>Jg;return e.ngInherit=!0,e})();function Jg(e){return e.type.prototype.ngOnChanges&&(e.setInput=GE),qE}function qE(){let e=em(this),t=e?.current;if(t){let n=e.previous;if(n===Ye)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function GE(e,t,n,r,o){let i=this.declaredInputs[r],s=em(e)||WE(e,{previous:Ye,current:null}),u=s.current||(s.current={}),a=s.previous,c=a[i];u[i]=new Qs(c&&c.currentValue,n,a===Ye),Kg(e,t,o,n)}var Xg="__ngSimpleChanges__";function em(e){return e[Xg]||null}function WE(e,t){return e[Xg]=t}var gg=[];var W=function(e,t=null,n){for(let r=0;r=r)break}else t[a]<0&&(e[Bn]+=65536),(u>14>16&&(e[L]&3)===t&&(e[L]+=16384,mg(u,i)):mg(u,i)}var Pr=-1,Yn=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(t,n,r,o){this.factory=t,this.name=o,this.canSeeViewProviders=n,this.injectImpl=r}};function QE(e){return(e.flags&8)!==0}function KE(e){return(e.flags&16)!==0}function JE(e,t,n){let r=0;for(;rt){s=i-1;break}}}for(;i>16}function Js(e,t){let n=e_(e),r=t;for(;n>0;)r=r[jn],n--;return r}var Il=!0;function Xs(e){let t=Il;return Il=e,t}var t_=256,im=t_-1,sm=5,n_=0,vt={};function r_(e,t,n){let r;typeof n=="string"?r=n.charCodeAt(0)||0:n.hasOwnProperty(On)&&(r=n[On]),r==null&&(r=n[On]=n_++);let o=r&im,i=1<>sm)]|=i}function eu(e,t){let n=um(e,t);if(n!==-1)return n;let r=t[T];r.firstCreatePass&&(e.injectorIndex=t.length,yl(r.data,e),yl(t,null),yl(r.blueprint,null));let o=sd(e,t),i=e.injectorIndex;if(om(o)){let s=Ks(o),u=Js(o,t),a=u[T].data;for(let c=0;c<8;c++)t[i+c]=u[s+c]|a[s+c]}return t[i+8]=o,i}function yl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function um(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function sd(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;o!==null;){if(r=fm(o),r===null)return Pr;if(n++,o=o[jn],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return Pr}function Tl(e,t,n){r_(e,t,n)}function o_(e,t){if(t==="class")return e.classes;if(t==="style")return e.styles;let n=e.attrs;if(n){let r=n.length,o=0;for(;o>20,d=r?u:u+l,h=o?u+l:c;for(let f=d;f=a&&p.type===n)return f}if(o){let f=s[a];if(f&&Je(f)&&f.type===n)return a}return null}function Ko(e,t,n,r,o){let i=e[n],s=t.data;if(i instanceof Yn){let u=i;if(u.resolving){let f=x0(s[n]);throw Fc(f)}let a=Xs(u.canSeeViewProviders);u.resolving=!0;let c=s[n].type||s[n],l,d=u.injectImpl?_e(u.injectImpl):null,h=cl(e,r,0);try{i=e[n]=u.factory(void 0,o,s,e,r),t.firstCreatePass&&n>=r.directiveStart&&ZE(n,s[n],t)}finally{d!==null&&_e(d),Xs(a),u.resolving=!1,ll()}}return i}function s_(e){if(typeof e=="string")return e.charCodeAt(0)||0;let t=e.hasOwnProperty(On)?e[On]:void 0;return typeof t=="number"?t>=0?t&im:u_:t}function bg(e,t,n){let r=1<>sm)]&r)}function vg(e,t){return!(e&2)&&!(e&1&&t)}var Zn=class{_tNode;_lView;constructor(t,n){this._tNode=t,this._lView=n}get(t,n,r){return lm(this._tNode,this._lView,t,kn(r),n)}};function u_(){return new Zn(re(),C())}function Ur(e){return si(()=>{let t=e.prototype.constructor,n=t[Mo]||Sl(t),r=Object.prototype,o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){let i=o[Mo]||Sl(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Sl(e){return Tc(e)?()=>{let t=Sl(ue(e));return t&&t()}:sn(e)}function a_(e,t,n,r,o){let i=e,s=t;for(;i!==null&&s!==null&&s[L]&2048&&!kr(s);){let u=dm(i,s,n,r|2,vt);if(u!==vt)return u;let a=i.parent;if(!a){let c=s[Uc];if(c){let l=c.get(n,vt,r);if(l!==vt)return l}a=fm(s),s=s[jn]}i=a}return o}function fm(e){let t=e[T],n=t.type;return n===2?t.declTNode:n===1?e[Ie]:null}function ud(e){return o_(re(),e)}function c_(){return zr(re(),C())}function zr(e,t){return new jt(Ue(e,t))}var jt=(()=>{class e{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=c_}return e})();function pm(e){return e instanceof jt?e.nativeElement:e}function l_(){return this._results[Symbol.iterator]()}var tu=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new le}constructor(t=!1){this._emitDistinctChangesOnly=t}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){this.dirty=!1;let r=A0(t);(this._changesDetected=!M0(this._results,r,n))&&(this._results=r,this.length=r.length,this.last=r[this.length-1],this.first=r[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(t){this._onDirty=t}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=l_};function hm(e){return(e.flags&128)===128}var ad=(function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e})(ad||{}),gm=new Map,d_=0;function f_(){return d_++}function p_(e){gm.set(e[Ft],e)}function Ml(e){gm.delete(e[Ft])}var Dg="__ngContext__";function jr(e,t){bt(t)?(e[Dg]=t[Ft],p_(t)):e[Dg]=t}function mm(e){return bm(e[Ar])}function ym(e){return bm(e[He])}function bm(e){for(;e!==null&&!Ke(e);)e=e[He];return e}var Al;function cd(e){Al=e}function vm(){if(Al!==void 0)return Al;if(typeof document<"u")return document;throw new _(210,!1)}var gu=new x("",{factory:()=>h_}),h_="ng";var mu=new x(""),Xn=new x("",{providedIn:"platform",factory:()=>"unknown"}),g_=new x(""),yu=new x("",{factory:()=>b(K).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var Dm="r";var Em="di";var _m=!1,Cm=new x("",{factory:()=>_m});var wm=new x("");var m_=(e,t,n,r)=>{};function y_(e,t,n,r){m_(e,t,n,r)}function bu(e){return(e.flags&32)===32}var b_=()=>null;function xm(e,t,n=!1){return b_(e,t,n)}function Im(e,t){let n=e.contentQueries;if(n!==null){let r=M(null);try{for(let o=0;oe,createScript:e=>e,createScriptURL:e=>e})}catch{}return Hs}function vu(e){return v_()?.createHTML(e)||e}var $s;function D_(){if($s===void 0&&($s=null,xe.trustedTypes))try{$s=xe.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return $s}function Eg(e){return D_()?.createHTML(e)||e}var Lt=class{changingThisBreaksApplicationSecurity;constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Es})`}},kl=class extends Lt{getTypeName(){return"HTML"}},Rl=class extends Lt{getTypeName(){return"Style"}},Fl=class extends Lt{getTypeName(){return"Script"}},Ol=class extends Lt{getTypeName(){return"URL"}},Pl=class extends Lt{getTypeName(){return"ResourceURL"}};function Pe(e){return e instanceof Lt?e.changingThisBreaksApplicationSecurity:e}function Bt(e,t){let n=Tm(e);if(n!=null&&n!==t){if(n==="ResourceURL"&&t==="URL")return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${Es})`)}return n===t}function Tm(e){return e instanceof Lt&&e.getTypeName()||null}function dd(e){return new kl(e)}function fd(e){return new Rl(e)}function pd(e){return new Fl(e)}function hd(e){return new Ol(e)}function gd(e){return new Pl(e)}function E_(e){let t=new jl(e);return __()?new Ll(t):t}var Ll=class{inertDocumentHelper;constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{let n=new window.DOMParser().parseFromString(vu(t),"text/html").body;return n===null?this.inertDocumentHelper.getInertBodyElement(t):(n.firstChild?.remove(),n)}catch{return null}}},jl=class{defaultDoc;inertDocument;constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){let n=this.inertDocument.createElement("template");return n.innerHTML=vu(t),n}};function __(){try{return!!new window.DOMParser().parseFromString(vu(""),"text/html")}catch{return!1}}var C_=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function ui(e){return e=String(e),e.match(C_)?e:"unsafe:"+e}function Vt(e){let t={};for(let n of e.split(","))t[n]=!0;return t}function ai(...e){let t={};for(let n of e)for(let r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}var Sm=Vt("area,br,col,hr,img,wbr"),Mm=Vt("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Am=Vt("rp,rt"),w_=ai(Am,Mm),x_=ai(Mm,Vt("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),I_=ai(Am,Vt("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),_g=ai(Sm,x_,I_,w_),Nm=Vt("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),T_=Vt("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),S_=Vt("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"),M_=ai(Nm,T_,S_),A_=Vt("script,style,template"),Bl=class{sanitizedSomething=!1;buf=[];sanitizeChildren(t){let n=t.firstChild,r=!0,o=[];for(;n;){if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild){o.push(n),n=R_(n);continue}for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=k_(n);if(i){n=i;break}n=o.pop()}}return this.buf.join("")}startElement(t){let n=Cg(t).toLowerCase();if(!_g.hasOwnProperty(n))return this.sanitizedSomething=!0,!A_.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);let r=t.attributes;for(let o=0;o"),!0}endElement(t){let n=Cg(t).toLowerCase();_g.hasOwnProperty(n)&&!Sm.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(wg(t))}};function N_(e,t){return(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function k_(e){let t=e.nextSibling;if(t&&e!==t.previousSibling)throw km(t);return t}function R_(e){let t=e.firstChild;if(t&&N_(e,t))throw km(t);return t}function Cg(e){let t=e.nodeName;return typeof t=="string"?t:"FORM"}function km(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}var F_=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,O_=/([^\#-~ |!])/g;function wg(e){return e.replace(/&/g,"&").replace(F_,function(t){let n=t.charCodeAt(0),r=t.charCodeAt(1);return"&#"+((n-55296)*1024+(r-56320)+65536)+";"}).replace(O_,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}var Us;function Du(e,t){let n=null;try{Us=Us||E_(e);let r=t?String(t):"";n=Us.getInertBodyElement(r);let o=5,i=r;do{if(o===0)throw new Error("Failed to sanitize html because the input is unstable");o--,r=i,i=n.innerHTML,n=Us.getInertBodyElement(r)}while(r!==i);let u=new Bl().sanitizeChildren(xg(n)||n);return vu(u)}finally{if(n){let r=xg(n)||n;for(;r.firstChild;)r.firstChild.remove()}}}function xg(e){return"content"in e&&P_(e)?e.content:null}function P_(e){return e.nodeType===Node.ELEMENT_NODE&&e.nodeName==="TEMPLATE"}var L_=/^>|^->||--!>|)/g,B_="\u200B$1\u200B";function V_(e){return e.replace(L_,t=>t.replace(j_,B_))}function H_(e,t){return e.createText(t)}function $_(e,t,n){e.setValue(t,n)}function U_(e,t){return e.createComment(V_(t))}function Rm(e,t,n){return e.createElement(t,n)}function nu(e,t,n,r,o){e.insertBefore(t,n,r,o)}function Fm(e,t,n){e.appendChild(t,n)}function Ig(e,t,n,r,o){r!==null?nu(e,t,n,r,o):Fm(e,t,n)}function Om(e,t,n,r){e.removeChild(null,t,n,r)}function z_(e,t,n){e.setAttribute(t,"style",n)}function q_(e,t,n){n===""?e.removeAttribute(t,"class"):e.setAttribute(t,"class",n)}function Pm(e,t,n){let{mergedAttrs:r,classes:o,styles:i}=n;r!==null&&JE(e,t,r),o!==null&&q_(e,t,o),i!==null&&z_(e,t,i)}var Le=(function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e})(Le||{});function md(e){let t=Lm();return t?Eg(t.sanitize(Le.HTML,e)||""):Bt(e,"HTML")?Eg(Pe(e)):Du(vm(),Ne(e))}function G_(e){let t=Lm();return t?t.sanitize(Le.URL,e)||"":Bt(e,"URL")?Pe(e):ui(Ne(e))}function Lm(){let e=C();return e&&e[mt].sanitizer}function W_(e){return e.ownerDocument.defaultView}function Z_(e){return e.ownerDocument}function jm(e){return e instanceof Function?e():e}function Y_(e,t,n){let r=e.length;for(;;){let o=e.indexOf(t,n);if(o===-1)return o;if(o===0||e.charCodeAt(o-1)<=32){let i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}var Bm="ng-template";function Q_(e,t,n,r){let o=0;if(r){for(;o-1){let i;for(;++oi?d="":d=o[l+1].toLowerCase(),r&2&&c!==d){if(et(r))return!1;s=!0}}}}return et(r)||s}function et(e){return(e&1)===0}function X_(e,t,n,r){if(t===null)return-1;let o=0;if(r||!n){let i=!1;for(;o-1)for(n++;n0?'="'+u+'"':"")+"]"}else r&8?o+="."+s:r&4&&(o+=" "+s);else o!==""&&!et(s)&&(t+=Tg(i,o),o=""),r=s,i=i||!et(r);n++}return o!==""&&(t+=Tg(i,o)),t}function iC(e){return e.map(oC).join(",")}function sC(e){let t=[],n=[],r=1,o=2;for(;r{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),_d=[0,1,2,3],Cd=(()=>{class e{ngZone=b(be);scheduler=b(ft);errorHandler=b(Ve,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){b(Dt,{optional:!0})}execute(){let n=this.sequences.size>0;n&&W(q.AfterRenderHooksStart),this.executing=!0;for(let r of _d)for(let o of this.sequences)if(!(o.erroredOrDestroyed||!o.hooks[r]))try{o.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let i=o.hooks[r];return i(o.pipelinedValue)},o.snapshot))}catch(i){o.erroredOrDestroyed=!0,this.errorHandler?.handleError(i)}this.executing=!1;for(let r of this.sequences)r.afterRun(),r.once&&(this.sequences.delete(r),r.destroy());for(let r of this.deferredRegistrations)this.sequences.add(r);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),n&&W(q.AfterRenderHooksEnd)}register(n){let{view:r}=n;r!==void 0?((r[Vn]??=[]).push(n),zn(r),r[L]|=8192):this.executing?this.deferredRegistrations.add(n):this.addSequence(n)}addSequence(n){this.sequences.add(n),this.scheduler.notify(7)}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}maybeTrace(n,r){return r?r.run(_u.AFTER_NEXT_RENDER,n):n()}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),Xo=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(t,n,r,o,i,s=null){this.impl=t,this.hooks=n,this.view=r,this.once=o,this.snapshot=s,this.unregisterOnDestroy=i?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let t=this.view?.[Vn];t&&(this.view[Vn]=t.filter(n=>n!==this))}};function dC(e,t){let n=t?.injector??b(we);return Ht("NgAfterNextRender"),pC(e,n,t,!0)}function fC(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function pC(e,t,n,r){let o=t.get(Cu);o.impl??=t.get(Cd);let i=t.get(Dt,null,{optional:!0}),s=n?.manualCleanup!==!0?t.get(Oe):null,u=t.get(Fr,null,{optional:!0}),a=new Xo(o.impl,fC(e),u?.view,r,s,i?.snapshot(null));return o.impl.register(a),a}var zm=new x("",{factory:()=>({queue:new Set,isScheduled:!1,scheduler:null,injector:b(Ce)})});function qm(e,t,n){let r=e.get(zm);if(Array.isArray(t))for(let o of t)r.queue.add(o),n?.detachedLeaveAnimationFns?.push(o);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function hC(e,t){let n=e.get(zm);if(t.detachedLeaveAnimationFns){for(let r of t.detachedLeaveAnimationFns)n.queue.delete(r);t.detachedLeaveAnimationFns=void 0}}function gC(e,t){for(let[n,r]of t)qm(e,r.animateFns)}function Mg(e,t,n,r){let o=e?.[Hn]?.enter;t!==null&&o&&o.has(n.index)&&gC(r,o)}function Or(e,t,n,r,o,i,s,u){if(o!=null){let a,c=!1;Ke(o)?a=o:bt(o)&&(c=!0,o=o[Qe]);let l=$e(o);e===0&&r!==null?(Mg(u,r,i,n),s==null?Fm(t,r,l):nu(t,r,l,s||null,!0)):e===1&&r!==null?(Mg(u,r,i,n),nu(t,r,l,s||null,!0)):e===2?Ag(u,i,n,d=>{Om(t,l,c,d)}):e===3&&Ag(u,i,n,()=>{t.destroyNode(l)}),a!=null&&IC(t,e,n,a,i,r,s)}}function mC(e,t){Gm(e,t),t[Qe]=null,t[Ie]=null}function yC(e,t,n,r,o,i){r[Qe]=o,r[Ie]=t,xu(e,r,n,1,o,i)}function Gm(e,t){t[mt].changeDetectionScheduler?.notify(9),xu(e,t,t[Z],2,null,null)}function bC(e){let t=e[Ar];if(!t)return bl(e[T],e);for(;t;){let n=null;if(bt(t))n=t[Ar];else{let r=t[te];r&&(n=r)}if(!n){for(;t&&!t[He]&&t!==e;)bt(t)&&bl(t[T],t),t=t[ae];t===null&&(t=e),bt(t)&&bl(t[T],t),n=t&&t[He]}t=n}}function wd(e,t){let n=e[$n],r=n.indexOf(t);n.splice(r,1)}function wu(e,t){if(Un(t))return;let n=t[Z];n.destroyNode&&xu(e,t,n,3,null,null),bC(t)}function bl(e,t){if(Un(t))return;let n=M(null);try{t[L]&=-129,t[L]|=256,t[ke]&&en(t[ke]),EC(e,t),DC(e,t),t[T].type===1&&t[Z].destroy();let r=t[cn];if(r!==null&&Ke(t[ae])){r!==t[ae]&&wd(r,t);let o=t[yt];o!==null&&o.detachView(e)}Ml(t)}finally{M(n)}}function Ag(e,t,n,r){let o=e?.[Hn];if(o==null||o.leave==null||!o.leave.has(t.index))return r(!1);e&&Qn.add(e[Ft]),qm(n,()=>{if(o.leave&&o.leave.has(t.index)){let s=o.leave.get(t.index),u=[];if(s){for(let a=0;a{e[Hn].running=void 0,Qn.delete(e[Ft]),t(!0)});return}t(!1)}function DC(e,t){let n=e.cleanup,r=t[Mr];if(n!==null)for(let s=0;s=0?r[u]():r[-u].unsubscribe(),s+=2}else{let u=r[n[s+1]];n[s].call(u)}r!==null&&(t[Mr]=null);let o=t[Nt];if(o!==null){t[Nt]=null;for(let s=0;sQ&&Um(e,t,Q,!1);let u=s?q.TemplateUpdateStart:q.TemplateCreateStart;W(u,o,n),n(r,o)}finally{dn(i);let u=s?q.TemplateUpdateEnd:q.TemplateCreateEnd;W(u,o,n)}}function Iu(e,t,n){kC(e,t,n),(n.flags&64)===64&&RC(e,t,n)}function ci(e,t,n=Ue){let r=t.localNames;if(r!==null){let o=t.index+1;for(let i=0;inull;function NC(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function Jm(e,t,n,r,o,i){let s=t[T];if(Tu(e,s,t,n,r)){Ot(e)&&ey(t,e.index);return}e.type&3&&(n=NC(n)),Xm(e,t,n,r,o,i)}function Xm(e,t,n,r,o,i){if(e.type&3){let s=Ue(e,t);r=i!=null?i(r,e.value||"",n):r,o.setProperty(s,n,r)}else e.type&12}function ey(e,t){let n=Re(t,e);n[L]&16||(n[L]|=64)}function kC(e,t,n){let r=n.directiveStart,o=n.directiveEnd;Ot(n)&&cC(t,n,e.data[r+n.componentOffset]),e.firstCreatePass||eu(n,t);let i=n.initialInputs;for(let s=r;s=u&&f<=a){let p=t.data[f],g=d[h+1];Jo(p,n[f],g,i),c=!0}else if(f>a)break}}return s!==null&&r.inputs.hasOwnProperty(o)&&(Jo(r,n[s],o,i),c=!0),c}function BC(e,t){let n=Re(t,e),r=n[T];VC(r,n);let o=n[Qe];o!==null&&n[Ln]===null&&(n[Ln]=xm(o,n[Rt])),W(q.ComponentStart);try{Ad(r,n,n[ee])}finally{W(q.ComponentEnd,n[ee])}}function VC(e,t){for(let n=t.length;n{zn(e.lView)},consumerOnSignalRead(){this.lView[ke]=this}});function GC(e){let t=e[ke]??Object.create(WC);return t.lView=e,t}var WC=P(S({},Kt),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let t=an(e.lView);for(;t&&!iy(t[T]);)t=an(t);t&&Yc(t)},consumerOnSignalRead(){this.lView[ke]=this}});function iy(e){return e.type!==2}function sy(e){if(e[un]===null)return;let t=!0;for(;t;){let n=!1;for(let r of e[un])r.dirty&&(n=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));t=n&&!!(e[L]&8192)}}var ZC=100;function uy(e,t=0){let r=e[mt].rendererFactory,o=!1;o||r.begin?.();try{YC(e,t)}finally{o||r.end?.()}}function YC(e,t){let n=ul();try{No(!0),Hl(e,t);let r=0;for(;$o(e);){if(r===ZC)throw new _(103,!1);r++,Hl(e,1)}}finally{No(n)}}function QC(e,t,n,r){if(Un(t))return;let o=t[L],i=!1,s=!1;Ls(t);let u=!0,a=null,c=null;i||(iy(e)?(c=$C(t),a=It(c)):ji()===null?(u=!1,c=GC(t),a=It(c)):t[ke]&&(en(t[ke]),t[ke]=null));try{Zc(t),Y0(e.bindingStartIndex),n!==null&&Km(e,t,n,2,r);let l=(o&3)===3;if(!i)if(l){let f=e.preOrderCheckHooks;f!==null&&qs(t,f,null)}else{let f=e.preOrderHooks;f!==null&&Gs(t,f,0,null),ml(t,0)}if(s||KC(t),sy(t),ay(t,0),e.contentQueries!==null&&Im(e,t),!i)if(l){let f=e.contentCheckHooks;f!==null&&qs(t,f)}else{let f=e.contentHooks;f!==null&&Gs(t,f,1),ml(t,1)}XC(e,t);let d=e.components;d!==null&&ly(t,d,0);let h=e.viewQuery;if(h!==null&&Nl(2,h,r),!i)if(l){let f=e.viewCheckHooks;f!==null&&qs(t,f)}else{let f=e.viewHooks;f!==null&&Gs(t,f,2),ml(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[Ns]){for(let f of t[Ns])f();t[Ns]=null}i||(ry(t),t[L]&=-73)}catch(l){throw i||zn(t),l}finally{c!==null&&(Xt(c,a),u&&zC(c)),js()}}function ay(e,t){for(let n=mm(e);n!==null;n=ym(n))for(let r=te;r0&&(e[n-1][He]=r[He]);let i=Oo(e,te+t);mC(r[T],r);let s=i[yt];s!==null&&s.detachView(i[T]),r[ae]=null,r[He]=null,r[L]&=-129}return r}function ew(e,t,n,r){let o=te+r,i=n.length;r>0&&(n[o-1][He]=t),r-1&&(ti(t,r),Oo(n,r))}this._attachedToViewContainer=!1}wu(this._lView[T],this._lView)}onDestroy(t){Qc(this._lView,t)}markForCheck(){Su(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[L]&=-129}reattach(){Rs(this._lView),this._lView[L]|=128}detectChanges(){this._lView[L]|=1024,uy(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new _(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let t=kr(this._lView),n=this._lView[cn];n!==null&&!t&&wd(n,this._lView),Gm(this._lView[T],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new _(902,!1);this._appRef=t;let n=kr(this._lView),r=this._lView[cn];r!==null&&!n&&hy(r,this._lView),Rs(this._lView)}};var gn=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=tw;constructor(n,r,o){this._declarationLView=n,this._declarationTContainer=r,this.elementRef=o}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,r){return this.createEmbeddedViewImpl(n,r)}createEmbeddedViewImpl(n,r,o){let i=li(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:r,dehydratedView:o});return new hn(i)}}return e})();function tw(){return Mu(re(),C())}function Mu(e,t){return e.type&4?new gn(t,e,zr(e,t)):null}function er(e,t,n,r,o){let i=e.data[t];if(i===null)i=nw(e,t,n,r,o),Q0()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=r,i.attrs=o;let s=Z0();i.injectorIndex=s===null?-1:s.injectorIndex}return qn(i,!0),i}function nw(e,t,n,r,o){let i=rl(),s=ol(),u=s?i:i&&i.parent,a=e.data[t]=ow(e,u,n,t,r,o);return rw(e,a,i,s),a}function rw(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function ow(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,u=0;return el()&&(u|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,fieldIndex:-1,customControlIndex:-1,propertyBindings:null,flags:u,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function iw(e){let t=e[zc]??[],r=e[ae][Z],o=[];for(let i of t)i.data[Em]!==void 0?o.push(i):sw(i,r);e[zc]=o}function sw(e,t){let n=0,r=e.firstChild;if(r){let o=e.data[Dm];for(;nnull,aw=()=>null;function ru(e,t){return uw(e,t)}function gy(e,t,n){return aw(e,t,n)}var my=class{},Au=class{},$l=class{resolveComponentFactory(t){throw new _(917,!1)}},fi=class{static NULL=new $l},Kn=class{},pi=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>cw()}return e})();function cw(){let e=C(),t=re(),n=Re(t.index,e);return(bt(n)?n:e)[Z]}var yy=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:()=>null})}return e})();var Zs={},Ul=class{injector;parentInjector;constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){let o=this.injector.get(t,Zs,r);return o!==Zs||n===Zs?o:this.parentInjector.get(t,n,r)}};function ou(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(t!==null)for(let s=0;s0&&(n.directiveToIndex=new Map);for(let h=0;h0;){let n=e[--t];if(typeof n=="number"&&n<0)return n}return 0}function bw(e,t,n){if(n){if(t.exportAs)for(let r=0;rr($e(g[e.index])):e.index;Cy(p,t,n,i,u,f,!1)}}return c}function Cw(e){return e.startsWith("animation")||e.startsWith("transition")}function ww(e,t,n,r){let o=e.cleanup;if(o!=null)for(let i=0;ia?u[a]:null}typeof s=="string"&&(i+=2)}return null}function Cy(e,t,n,r,o,i,s){let u=t.firstCreatePass?Jc(t):null,a=Kc(n),c=a.length;a.push(o,i),u&&u.push(r,e,c,(c+1)*(s?-1:1))}function Pg(e,t,n,r,o,i){let s=t[n],u=t[T],c=u.data[n].outputs[r],d=s[c].subscribe(i);Cy(e.index,u,t,o,i,d,!0)}var ni=Symbol("BINDING"),xw={kind:"input",requiredVars:1},Iw={kind:"field",requiredVars:2};function Lg(e,t,n){let r=C(),o=Xe();if(Te(r,o,n)){let i=r[T],s=fn(),u=Re(s.index,r);Su(u,1);let a=i.directiveRegistry[e],c=jC(s,i,r,a,t,n)}}function jg(e,t){return C()[t.directiveStart+e.targetIdx][Ey]}function U(e,t){if(e==="formField"){let r={[ni]:Iw,create:()=>{jg(r,re())?.create()},update:()=>{Lg(r.targetIdx,e,t()),jg(r,fn())?.update()}};return r}let n={[ni]:xw,update:()=>Lg(n.targetIdx,e,t())};return n}var su=class extends fi{ngModule;constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){let n=gt(t);return new mn(n,this.ngModule)}};function Tw(e){return Object.keys(e).map(t=>{let[n,r,o]=e[t],i={propName:n,templateName:t,isSignal:(r&Eu.SignalBased)!==0};return o&&(i.transform=o),i})}function Sw(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Mw(e,t,n){let r=t instanceof Ce?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Ul(n,r):n}function Aw(e){let t=e.get(Kn,null);if(t===null)throw new _(407,!1);let n=e.get(yy,null),r=e.get(ft,null);return{rendererFactory:t,sanitizer:n,changeDetectionScheduler:r,ngReflect:!1}}function Nw(e,t){let n=wy(e);return Rm(t,n,n==="svg"?Gc:n==="math"?j0:null)}function wy(e){return(e.selectors[0][0]||"div").toLowerCase()}var mn=class extends Au{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=Tw(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=Sw(this.componentDef.outputs),this.cachedOutputs}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=iC(t.selectors),this.ngContentSelectors=t.ngContentSelectors??[],this.isBoundToModule=!!n}create(t,n,r,o,i,s){W(q.DynamicComponentStart);let u=M(null);try{let a=this.componentDef,c=kw(r,a,s,i),l=Mw(a,o||this.ngModule,t),d=Aw(l),h=d.rendererFactory.createRenderer(null,a),f=r?SC(h,r,a.encapsulation,l):Nw(a,h),p=s?.some(Bg)||i?.some(y=>typeof y!="function"&&y.bindings.some(Bg)),g=vd(null,c,null,512|Hm(a),null,null,d,h,l,null,xm(f,l,!0));g[Q]=f,Ls(g);let m=null;try{let y=Nd(Q,g,2,"#host",()=>c.directiveRegistry,!0,0);Pm(h,f,y),jr(f,g),Iu(c,g,y),ld(c,y,g),kd(c,y),n!==void 0&&Fw(y,this.ngContentSelectors,n),m=Re(y.index,g),g[ee]=m[ee],Ad(c,g,null)}catch(y){throw m!==null&&Ml(m),Ml(g),y}finally{W(q.DynamicComponentEnd),js()}return new uu(this.componentType,g,!!p)}finally{M(u)}}};function kw(e,t,n,r){let o=e?["ng-version","21.1.0"]:sC(t.selectors[0]),i=null,s=null,u=0;if(n)for(let l of n)u+=l[ni].requiredVars,l.create&&(l.targetIdx=0,(i??=[]).push(l)),l.update&&(l.targetIdx=0,(s??=[]).push(l));if(r)for(let l=0;l{if(n&1&&e)for(let r of e)r.create();if(n&2&&t)for(let r of t)r.update()}}function Bg(e){let t=e[ni].kind;return t==="input"||t==="twoWay"}var uu=class extends my{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(t,n,r){super(),this._rootLView=n,this._hasInputBindings=r,this._tNode=Bo(n[T],Q),this.location=zr(this._tNode,n),this.instance=Re(this._tNode.index,n)[ee],this.hostView=this.changeDetectorRef=new hn(n,void 0),this.componentType=t}setInput(t,n){this._hasInputBindings;let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),n))return;let o=this._rootLView,i=Tu(r,o[T],o,t,n);this.previousInputValues.set(t,n);let s=Re(r.index,o);Su(s,1)}get injector(){return new Zn(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}};function Fw(e,t,n){let r=e.projection=[];for(let o=0;o{class e{static __NG_ELEMENT_ID__=Ow}return e})();function Ow(){let e=re();return Iy(e,C())}var Pw=rt,xy=class extends Pw{_lContainer;_hostTNode;_hostLView;constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return zr(this._hostTNode,this._hostLView)}get injector(){return new Zn(this._hostTNode,this._hostLView)}get parentInjector(){let t=sd(this._hostTNode,this._hostLView);if(om(t)){let n=Js(t,this._hostLView),r=Ks(t),o=n[T].data[r+8];return new Zn(o,n)}else return new Zn(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){let n=Vg(this._lContainer);return n!==null&&n[t]||null}get length(){return this._lContainer.length-te}createEmbeddedView(t,n,r){let o,i;typeof r=="number"?o=r:r!=null&&(o=r.index,i=r.injector);let s=ru(this._lContainer,t.ssrId),u=t.createEmbeddedViewImpl(n||{},i,s);return this.insertImpl(u,o,Br(this._hostTNode,s)),u}createComponent(t,n,r,o,i,s,u){let a=t&&!zE(t),c;if(a)c=n;else{let m=n||{};c=m.index,r=m.injector,o=m.projectableNodes,i=m.environmentInjector||m.ngModuleRef,s=m.directives,u=m.bindings}let l=a?t:new mn(gt(t)),d=r||this.parentInjector;if(!i&&l.ngModule==null){let y=(a?d:this.parentInjector).get(Ce,null);y&&(i=y)}let h=gt(l.componentType??{}),f=ru(this._lContainer,h?.id??null),p=f?.firstChild??null,g=l.create(d,o,p,i,s,u);return this.insertImpl(g.hostView,c,Br(this._hostTNode,f)),g}insert(t,n){return this.insertImpl(t,n,!0)}insertImpl(t,n,r){let o=t._lView;if(V0(o)){let u=this.indexOf(t);if(u!==-1)this.detach(u);else{let a=o[ae],c=new xy(a,a[Ie],a[ae]);c.detach(c.indexOf(t))}}let i=this._adjustIndex(n),s=this._lContainer;return di(s,o,i,r),t.attachToViewContainerRef(),Pc(vl(s),i,t),t}move(t,n){return this.insert(t,n)}indexOf(t){let n=Vg(this._lContainer);return n!==null?n.indexOf(t):-1}remove(t){let n=this._adjustIndex(t,-1),r=ti(this._lContainer,n);r&&(Oo(vl(this._lContainer),n),wu(r[T],r))}detach(t){let n=this._adjustIndex(t,-1),r=ti(this._lContainer,n);return r&&Oo(vl(this._lContainer),n)!=null?new hn(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function Vg(e){return e[jo]}function vl(e){return e[jo]||(e[jo]=[])}function Iy(e,t){let n,r=t[e.index];return Ke(r)?n=r:(n=dy(r,t,null,e),t[e.index]=n,Dd(t,n)),jw(n,t,e,r),new xy(n,e,t)}function Lw(e,t){let n=e[Z],r=n.createComment(""),o=Ue(t,e),i=n.parentNode(o);return nu(n,i,r,n.nextSibling(o),!1),r}var jw=Hw,Bw=()=>!1;function Vw(e,t,n){return Bw(e,t,n)}function Hw(e,t,n,r){if(e[ln])return;let o;n.type&8?o=$e(r):o=Lw(t,n),e[ln]=o}var zl=class e{queryList;matches=null;constructor(t){this.queryList=t}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},ql=class e{queries;constructor(t=[]){this.queries=t}createEmbeddedView(t){let n=t.queries;if(n!==null){let r=t.contentQueries!==null?t.contentQueries[0]:n.length,o=[];for(let i=0;i0)r.push(s[u/2]);else{let c=i[u+1],l=t[-a];for(let d=te;dt.trim())}function Ny(e,t,n){e.queries===null&&(e.queries=new Gl),e.queries.track(new Wl(t,n))}function Ww(e,t){let n=e.contentQueries||(e.contentQueries=[]),r=n.length?n[n.length-1]:-1;t!==r&&n.push(e.queries.length-1,t)}function Pd(e,t){return e.queries.getByIndex(t)}function ky(e,t){let n=e[T],r=Pd(n,t);return r.crossesNgTemplate?Zl(n,e,t,[]):Ty(n,e,r,t)}function Ld(e,t,n){let r,o=vo(()=>{r._dirtyCounter();let i=Zw(r,e);if(t&&i===void 0)throw new _(-951,!1);return i});return r=o[ne],r._dirtyCounter=pn(0),r._flatValue=void 0,o}function jd(e){return Ld(!0,!1,e)}function Bd(e){return Ld(!0,!0,e)}function Ry(e){return Ld(!1,!1,e)}function Fy(e,t){let n=e[ne];n._lView=C(),n._queryIndex=t,n._queryList=Od(n._lView,t),n._queryList.onDirty(()=>n._dirtyCounter.update(r=>r+1))}function Zw(e,t){let n=e._lView,r=e._queryIndex;if(n===void 0||r===void 0||n[L]&4)return t?void 0:ye;let o=Od(n,r),i=ky(n,r);return o.reset(i,pm),t?o.first:o._changesDetected||e._flatValue===void 0?e._flatValue=o.toArray():e._flatValue}var yn=class{},Oy=class{};function Vd(e,t){return new ri(e,t??null,[])}var ri=class extends yn{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new su(this);constructor(t,n,r,o=!0){super(),this.ngModuleType=t,this._parent=n;let i=Rc(t);this._bootstrapComponents=jm(i.bootstrap),this._r3Injector=dl(t,n,[{provide:yn,useValue:this},{provide:fi,useValue:this.componentFactoryResolver},...r],kt(t),new Set(["environment"])),o&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}},cu=class extends Oy{moduleType;constructor(t){super(),this.moduleType=t}create(t){return new ri(this.moduleType,t,[])}};var oi=class extends yn{injector;componentFactoryResolver=new su(this);instance=null;constructor(t){super();let n=new Fn([...t.providers,{provide:yn,useValue:this},{provide:fi,useValue:this.componentFactoryResolver}],t.parent||Tr(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}};function Py(e,t,n=null){return new oi({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Yw=(()=>{class e{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=Bc(!1,n.type),o=r.length>0?Py([r],this._injector,""):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=I({token:e,providedIn:"environment",factory:()=>new e(A(Ce))})}return e})();function Gr(e){return si(()=>{let t=Ly(e),n=P(S({},t),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ad.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?o=>o.get(Yw).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||tt.Emulated,styles:e.styles||ye,_:null,schemas:e.schemas||null,tView:null,id:""});t.standalone&&Ht("NgStandalone"),jy(n);let r=e.dependencies;return n.directiveDefs=Hg(r,Qw),n.pipeDefs=Hg(r,w0),n.id=Xw(n),n})}function Qw(e){return gt(e)||xs(e)}function $t(e){return si(()=>({type:e.type,bootstrap:e.bootstrap||ye,declarations:e.declarations||ye,imports:e.imports||ye,exports:e.exports||ye,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Kw(e,t){if(e==null)return Ye;let n={};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r],i,s,u,a;Array.isArray(o)?(u=o[0],i=o[1],s=o[2]??i,a=o[3]||null):(i=o,s=o,u=Eu.None,a=null),n[i]=[r,u,a],t[i]=s}return n}function Jw(e){if(e==null)return Ye;let t={};for(let n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function ot(e){return si(()=>{let t=Ly(e);return jy(t),t})}function ku(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Ly(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||Ye,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||ye,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:Kw(e.inputs,t),outputs:Jw(e.outputs),debugInfo:null}}function jy(e){e.features?.forEach(t=>t(e))}function Hg(e,t){return e?()=>{let n=typeof e=="function"?e():e,r=[];for(let o of n){let i=t(o);i!==null&&r.push(i)}return r}:null}function Xw(e){let t=0,n=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let i of r.join("|"))t=Math.imul(31,t)+i.charCodeAt(0)<<0;return t+=2147483648,"c"+t}function ex(e){let t=n=>{let r=Array.isArray(e);n.hostDirectives===null?(n.resolveHostDirectives=tx,n.hostDirectives=r?e.map(Yl):[e]):r?n.hostDirectives.unshift(...e.map(Yl)):n.hostDirectives.unshift(e)};return t.ngInherit=!0,t}function tx(e){let t=[],n=!1,r=null,o=null;for(let i=0;i=0;r--){let o=e[r];o.hostVars=t+=o.hostVars,o.hostAttrs=Lr(o.hostAttrs,n=Lr(n,o.hostAttrs))}}function Dl(e){return e===Ye?{}:e===ye?[]:e}function sx(e,t){let n=e.viewQuery;n?e.viewQuery=(r,o)=>{t(r,o),n(r,o)}:e.viewQuery=t}function ux(e,t){let n=e.contentQueries;n?e.contentQueries=(r,o,i)=>{t(r,o,i),n(r,o,i)}:e.contentQueries=t}function ax(e,t){let n=e.hostBindings;n?e.hostBindings=(r,o)=>{t(r,o),n(r,o)}:e.hostBindings=t}function Vy(e,t,n,r,o,i,s,u){if(n.firstCreatePass){e.mergedAttrs=Lr(e.mergedAttrs,e.attrs);let l=e.tView=bd(2,e,o,i,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),l.queries=n.queries.embeddedTView(e))}u&&(e.flags|=u),qn(e,!1);let a=lx(n,t,e,r);Bs()&&xd(n,t,a,e),jr(a,t);let c=dy(a,t,a,e);t[r+Q]=c,Dd(t,c),Vw(c,e,t)}function cx(e,t,n,r,o,i,s,u,a,c,l){let d=n+Q,h;return t.firstCreatePass?(h=er(t,d,4,s||null,u||null),Fs()&&by(t,e,h,Fe(t.consts,c),Td),tm(t,h)):h=t.data[d],Vy(h,e,t,n,r,o,i,a),Nr(h)&&Iu(t,e,h),c!=null&&ci(e,h,l),h}function Vr(e,t,n,r,o,i,s,u,a,c,l){let d=n+Q,h;if(t.firstCreatePass){if(h=er(t,d,4,s||null,u||null),c!=null){let f=Fe(t.consts,c);h.localNames=[];for(let p=0;p{class e{log(n){console.log(n)}warn(n){console.warn(n)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function zy(e){return typeof e=="function"&&e[ne]!==void 0}function Hd(e){return zy(e)&&typeof e.set=="function"}var Ru=new x(""),Fu=new x(""),hi=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];_taskTrackingZone=null;_destroyRef;constructor(n,r,o){this._ngZone=n,this.registry=r,As()&&(this._destroyRef=b(Oe,{optional:!0})??void 0),$d||(Gy(o),o.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this._taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){let n=this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),r=this._ngZone.runOutsideAngular(()=>this._ngZone.onStable.subscribe({next:()=>{be.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}}));this._destroyRef?.onDestroy(()=>{n.unsubscribe(),r.unsubscribe()})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;this._callbacks.length!==0;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb()}});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>r.updateCb&&r.updateCb(n)?(clearTimeout(r.timeoutId),!1):!0)}}getPendingTasks(){return this._taskTrackingZone?this._taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),n()},r)),this._callbacks.push({doneCb:n,timeoutId:i,updateCb:o})}whenStable(n,r,o){if(o&&!this._taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,r,o),this._runCallbacksIfReady()}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,o){return[]}static \u0275fac=function(r){return new(r||e)(A(be),A(qy),A(Fu))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),qy=(()=>{class e{_applications=new Map;registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return $d?.findTestabilityInTree(this,n,r)??null}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Gy(e){$d=e}var $d;function gi(e){return!!e&&typeof e.then=="function"}function Ou(e){return!!e&&typeof e.subscribe=="function"}var Ud=new x("");function fx(e){return Pn([{provide:Ud,multi:!0,useValue:e}])}var zd=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r});appInits=b(Ud,{optional:!0})??[];injector=b(we);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let i=Sr(this.injector,o);if(gi(i))n.push(i);else if(Ou(i)){let s=new Promise((u,a)=>{i.subscribe({complete:u,error:a})});n.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Wy=new x("");function Zy(){$a(()=>{let e="";throw new _(600,e)})}function Yy(e){return e.isBoundToModule}var px=10;var Zr=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=b(Pt);afterRenderManager=b(Cu);zonelessEnabled=b(Wo);rootEffectScheduler=b(Vs);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new le;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=b(Gn);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Ee(n=>!n))}constructor(){b(Dt,{optional:!0})}whenStable(){let n;return new Promise(r=>{n=this.isStable.subscribe({next:o=>{o&&r()}})}).finally(()=>{n.unsubscribe()})}_injector=b(Ce);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,r){return this.bootstrapImpl(n,r)}bootstrapImpl(n,r,o=we.NULL){return this._injector.get(be).run(()=>{W(q.BootstrapComponentStart);let s=n instanceof Au;if(!this._injector.get(zd).done){let p="";throw new _(405,p)}let a;s?a=n:a=this._injector.get(fi).resolveComponentFactory(n),this.componentTypes.push(a.componentType);let c=Yy(a)?void 0:this._injector.get(yn),l=r||a.selector,d=a.create(o,[],l,c),h=d.location.nativeElement,f=d.injector.get(Ru,null);return f?.registerApplication(h),d.onDestroy(()=>{this.detachView(d.hostView),Qo(this.components,d),f?.unregisterApplication(h)}),this._loadComponent(d),W(q.BootstrapComponentEnd,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){W(q.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(_u.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw W(q.ChangeDetectionEnd),new _(101,!1);let n=M(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,M(n),this.afterTick.next(),W(q.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Kn,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++$o(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;Qo(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView);try{this.tick()}catch(o){this.internalErrorHandler(o)}this.components.push(n),this._injector.get(Wy,[]).forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Qo(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new _(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Qo(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Qy(e,t){let n=C(),r=Xe();if(Te(n,r,t)){let o=Y(),i=fn();if(Tu(i,o,n,e,t))Ot(i)&&ey(n,i.index);else{let u=Ue(i,n);ty(n[Z],u,null,i.value,e,t,null)}}return Qy}function Pu(e,t,n,r){let o=C(),i=Xe();if(Te(o,i,t)){let s=Y(),u=fn();OC(u,o,e,t,n,r)}return Pu}var BP=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";function hx(){return C()[ve][ee]}var Ql=class{destroy(t){}updateValue(t,n){}swap(t,n){let r=Math.min(t,n),o=Math.max(t,n),i=this.detach(o);if(o-r>1){let s=this.detach(r);this.attach(r,i),this.attach(o,s)}else this.attach(r,i)}move(t,n){this.attach(n,this.detach(t))}};function El(e,t,n,r,o){return e===n&&Object.is(t,r)?1:Object.is(o(e,t),o(n,r))?-1:0}function gx(e,t,n,r){let o,i,s=0,u=e.length-1,a=void 0;if(Array.isArray(t)){M(r);let c=t.length-1;for(M(null);s<=u&&s<=c;){let l=e.at(s),d=t[s],h=El(s,l,s,d,n);if(h!==0){h<0&&e.updateValue(s,d),s++;continue}let f=e.at(u),p=t[c],g=El(u,f,c,p,n);if(g!==0){g<0&&e.updateValue(u,p),u--,c--;continue}let m=n(s,l),y=n(u,f),v=n(s,d);if(Object.is(v,y)){let w=n(c,p);Object.is(w,m)?(e.swap(s,u),e.updateValue(u,p),c--,u--):e.move(u,s),e.updateValue(s,d),s++;continue}if(o??=new lu,i??=qg(e,s,u,n),Kl(e,o,s,v))e.updateValue(s,d),s++,u++;else if(i.has(v))o.set(m,e.detach(s)),u--;else{let w=e.create(s,t[s]);e.attach(s,w),s++,u++}}for(;s<=c;)zg(e,o,n,s,t[s]),s++}else if(t!=null){M(r);let c=t[Symbol.iterator]();M(null);let l=c.next();for(;!l.done&&s<=u;){let d=e.at(s),h=l.value,f=El(s,d,s,h,n);if(f!==0)f<0&&e.updateValue(s,h),s++,l=c.next();else{o??=new lu,i??=qg(e,s,u,n);let p=n(s,h);if(Kl(e,o,s,p))e.updateValue(s,h),s++,u++,l=c.next();else if(!i.has(p))e.attach(s,e.create(s,h)),s++,u++,l=c.next();else{let g=n(s,d);o.set(g,e.detach(s)),u--}}}for(;!l.done;)zg(e,o,n,e.length,l.value),l=c.next()}for(;s<=u;)e.destroy(e.detach(u--));o?.forEach(c=>{e.destroy(c)})}function Kl(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function zg(e,t,n,r,o){if(Kl(e,t,r,n(r,o)))e.updateValue(r,o);else{let i=e.create(r,o);e.attach(r,i)}}function qg(e,t,n,r){let o=new Set;for(let i=t;i<=n;i++)o.add(r(i,e.at(i)));return o}var lu=class{kvMap=new Map;_vMap=void 0;has(t){return this.kvMap.has(t)}delete(t){if(!this.has(t))return!1;let n=this.kvMap.get(t);return this._vMap!==void 0&&this._vMap.has(n)?(this.kvMap.set(t,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(t),!0}get(t){return this.kvMap.get(t)}set(t,n){if(this.kvMap.has(t)){let r=this.kvMap.get(t);this._vMap===void 0&&(this._vMap=new Map);let o=this._vMap;for(;o.has(r);)r=o.get(r);o.set(r,n)}else this.kvMap.set(t,n)}forEach(t){for(let[n,r]of this.kvMap)if(t(r,n),this._vMap!==void 0){let o=this._vMap;for(;o.has(r);)r=o.get(r),t(r,n)}}};function qd(e,t,n,r,o,i,s,u){Ht("NgControlFlow");let a=C(),c=Y(),l=Fe(c.consts,i);return Vr(a,c,e,t,n,r,o,l,256,s,u),Gd}function Gd(e,t,n,r,o,i,s,u){Ht("NgControlFlow");let a=C(),c=Y(),l=Fe(c.consts,i);return Vr(a,c,e,t,n,r,o,l,512,s,u),Gd}function Wd(e,t){Ht("NgControlFlow");let n=C(),r=Xe(),o=n[r]!==fe?n[r]:-1,i=o!==-1?du(n,Q+o):void 0,s=0;if(Te(n,r,e)){let u=M(null);try{if(i!==void 0&&py(i,s),e!==-1){let a=Q+e,c=du(n,a),l=td(n[T],a),d=gy(c,l,n),h=li(n,l,t,{dehydratedView:d});di(c,h,s,Br(l,d))}}finally{M(u)}}else if(i!==void 0){let u=fy(i,s);u!==void 0&&(u[ee]=t)}}var Jl=class{lContainer;$implicit;$index;constructor(t,n,r){this.lContainer=t,this.$implicit=n,this.$index=r}get $count(){return this.lContainer.length-te}};function mx(e){return e}function Lu(e,t){return t}var Xl=class{hasEmptyBlock;trackByFn;liveCollection;constructor(t,n,r){this.hasEmptyBlock=t,this.trackByFn=n,this.liveCollection=r}};function ju(e,t,n,r,o,i,s,u,a,c,l,d,h){Ht("NgControlFlow");let f=C(),p=Y(),g=a!==void 0,m=C(),y=u?s.bind(m[ve][ee]):s,v=new Xl(g,y);m[Q+e]=v,Vr(f,p,e+1,t,n,r,o,Fe(p.consts,i),256),g&&Vr(f,p,e+2,a,c,l,d,Fe(p.consts,h),512)}var ed=class extends Ql{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(t,n,r){super(),this.lContainer=t,this.hostLView=n,this.templateTNode=r}get length(){return this.lContainer.length-te}at(t){return this.getLView(t)[ee].$implicit}attach(t,n){let r=n[Ln];this.needsIndexUpdate||=t!==this.length,di(this.lContainer,n,t,Br(this.templateTNode,r)),yx(this.lContainer,t)}detach(t){return this.needsIndexUpdate||=t!==this.length-1,bx(this.lContainer,t),vx(this.lContainer,t)}create(t,n){let r=ru(this.lContainer,this.templateTNode.tView.ssrId);return li(this.hostLView,this.templateTNode,new Jl(this.lContainer,n,t),{dehydratedView:r})}destroy(t){wu(t[T],t)}updateValue(t,n){this.getLView(t)[ee].$implicit=n}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let t=0;t0){let i=r[Rt];hC(i,o),Qn.delete(r[Ft]),o.detachedLeaveAnimationFns=void 0}}function bx(e,t){if(e.length<=te)return;let n=te+t,r=e[n],o=r?r[Hn]:void 0;o&&o.leave&&o.leave.size>0&&(o.detachedLeaveAnimationFns=[])}function vx(e,t){return ti(e,t)}function Dx(e,t){return fy(e,t)}function td(e,t){return Bo(e,t)}function Yr(e,t,n){let r=C(),o=Xe();if(Te(r,o,t)){let i=Y(),s=fn();Jm(s,r,e,t,r[Z],n)}return Yr}function nd(e,t,n,r,o){Tu(t,e,n,o?"class":"style",r)}function Qr(e,t,n,r){let o=C(),i=o[T],s=e+Q,u=i.firstCreatePass?Nd(s,o,2,t,Td,Fs(),n,r):i.data[s];if(Sd(u,o,e,t,Jy),Nr(u)){let a=o[T];Iu(a,o,u),ld(a,u,o)}return r!=null&&ci(o,u),Qr}function Kr(){let e=Y(),t=re(),n=Md(t);return e.firstCreatePass&&kd(e,n),tl(n)&&nl(),Xc(),n.classesWithoutHost!=null&&QE(n)&&nd(e,n,C(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&KE(n)&&nd(e,n,C(),n.stylesWithoutHost,!1),Kr}function Ky(e,t,n,r){return Qr(e,t,n,r),Kr(),Ky}function Zd(e,t,n,r){let o=C(),i=o[T],s=e+Q,u=i.firstCreatePass?Dw(s,i,2,t,n,r):i.data[s];return Sd(u,o,e,t,Jy),r!=null&&ci(o,u),Zd}function Yd(){let e=re(),t=Md(e);return tl(t)&&nl(),Xc(),Yd}function Vu(e,t,n,r){return Zd(e,t,n,r),Yd(),Vu}var Jy=(e,t,n,r,o)=>(qo(!0),Rm(t[Z],r,sg()));function Qd(e,t,n){let r=C(),o=r[T],i=e+Q,s=o.firstCreatePass?Nd(i,r,8,"ng-container",Td,Fs(),t,n):o.data[i];if(Sd(s,r,e,"ng-container",Ex),Nr(s)){let u=r[T];Iu(u,r,s),ld(u,s,r)}return n!=null&&ci(r,s),Qd}function Kd(){let e=Y(),t=re(),n=Md(t);return e.firstCreatePass&&kd(e,n),Kd}function Jr(e,t,n){return Qd(e,t,n),Kd(),Jr}var Ex=(e,t,n,r,o)=>(qo(!0),U_(t[Z],""));function _x(){return C()}function Hu(e,t,n){let r=C(),o=Xe();if(Te(r,o,t)){let i=Y(),s=fn();Xm(s,r,e,t,r[Z],n)}return Hu}var mi="en-US";var Cx=mi;function Xy(e){typeof e=="string"&&(Cx=e.toLowerCase().replace(/_/g,"-"))}function eb(e,t,n){let r=C(),o=Y(),i=re();return nb(o,r,r[Z],i,e,t,n),eb}function tb(e,t,n){let r=C(),o=Y(),i=re();return(i.type&3||n)&&_y(i,o,r,n,r[Z],e,t,Ys(i,r,t)),tb}function nb(e,t,n,r,o,i,s){let u=!0,a=null;if((r.type&3||s)&&(a??=Ys(r,t,i),_y(r,e,t,s,n,o,i,a)&&(u=!1)),u){let c=r.outputs?.[o],l=r.hostDirectiveOutputs?.[o];if(l&&l.length)for(let d=0;d>17&32767}function kx(e){return(e&2)==2}function Rx(e,t){return e&131071|t<<17}function rd(e){return e|2}function Hr(e){return(e&131068)>>2}function _l(e,t){return e&-131069|t<<2}function Fx(e){return(e&1)===1}function od(e){return e|1}function Ox(e,t,n,r,o,i){let s=i?t.classBindings:t.styleBindings,u=Jn(s),a=Hr(s);e[r]=n;let c=!1,l;if(Array.isArray(n)){let d=n;l=d[1],(l===null||xr(d,l)>0)&&(c=!0)}else l=n;if(o)if(a!==0){let h=Jn(e[u+1]);e[r+1]=zs(h,u),h!==0&&(e[h+1]=_l(e[h+1],r)),e[u+1]=Rx(e[u+1],r)}else e[r+1]=zs(u,0),u!==0&&(e[u+1]=_l(e[u+1],r)),u=r;else e[r+1]=zs(a,0),u===0?u=r:e[a+1]=_l(e[a+1],r),a=r;c&&(e[r+1]=rd(e[r+1])),Gg(e,l,r,!0),Gg(e,l,r,!1),Px(t,l,e,r,i),s=zs(u,a),i?t.classBindings=s:t.styleBindings=s}function Px(e,t,n,r,o){let i=o?e.residualClasses:e.residualStyles;i!=null&&typeof t=="string"&&xr(i,t)>=0&&(n[r+1]=od(n[r+1]))}function Gg(e,t,n,r){let o=e[n+1],i=t===null,s=r?Jn(o):Hr(o),u=!1;for(;s!==0&&(u===!1||i);){let a=e[s],c=e[s+1];Lx(a,t)&&(u=!0,e[s+1]=r?od(c):rd(c)),s=r?Jn(c):Hr(c)}u&&(e[n+1]=r?rd(o):od(o))}function Lx(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t=="string"?xr(e,t)>=0:!1}var ce={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ub(e){return e.substring(ce.key,ce.keyEnd)}function jx(e){return e.substring(ce.value,ce.valueEnd)}function Bx(e){return lb(e),ab(e,$r(e,0,ce.textEnd))}function ab(e,t){let n=ce.textEnd;return n===t?-1:(t=ce.keyEnd=Hx(e,ce.key=t,n),$r(e,t,n))}function Vx(e){return lb(e),cb(e,$r(e,0,ce.textEnd))}function cb(e,t){let n=ce.textEnd,r=ce.key=$r(e,t,n);return n===r?-1:(r=ce.keyEnd=$x(e,r,n),r=Wg(e,r,n,58),r=ce.value=$r(e,r,n),r=ce.valueEnd=Ux(e,r,n),Wg(e,r,n,59))}function lb(e){ce.key=0,ce.keyEnd=0,ce.value=0,ce.valueEnd=0,ce.textEnd=e.length}function $r(e,t,n){for(;t32;)t++;return t}function $x(e,t,n){let r;for(;t=65&&(r&-33)<=90||r>=48&&r<=57);)t++;return t}function Wg(e,t,n,r){return t=$r(e,t,n),t32&&(u=s),i=o,o=r,r=a&-33}return u}function Zg(e,t,n,r){let o=-1,i=n;for(;i=0;n=cb(t,n))mb(e,ub(t),jx(t))}function bi(e){pb(Kx,qx,e,!0)}function qx(e,t){for(let n=Bx(t);n>=0;n=ab(t,n))Po(e,ub(t),!0)}function fb(e,t,n,r){let o=C(),i=Y(),s=Uo(2);if(i.firstUpdatePass&&gb(i,e,s,r),t!==fe&&Te(o,s,t)){let u=i.data[ze()];yb(i,u,o,o[Z],e,o[s+1]=Xx(t,n),r,s)}}function pb(e,t,n,r){let o=Y(),i=Uo(2);o.firstUpdatePass&&gb(o,null,i,r);let s=C();if(n!==fe&&Te(s,i,n)){let u=o.data[ze()];if(bb(u,r)&&!hb(o,i)){let a=r?u.classesWithoutHost:u.stylesWithoutHost;a!==null&&(n=_s(a,n||"")),nd(o,u,s,n,r)}else Jx(o,u,s,s[Z],s[i+1],s[i+1]=Qx(e,t,n),r,i)}}function hb(e,t){return t>=e.expandoStartIndex}function gb(e,t,n,r){let o=e.data;if(o[n+1]===null){let i=o[ze()],s=hb(e,n);bb(i,r)&&t===null&&!s&&(t=!1),t=Gx(o,i,t,r),Ox(o,i,t,n,s,r)}}function Gx(e,t,n,r){let o=X0(e),i=r?t.residualClasses:t.residualStyles;if(o===null)(r?t.classBindings:t.styleBindings)===0&&(n=Cl(null,e,t,n,r),n=ii(n,t.attrs,r),i=null);else{let s=t.directiveStylingLast;if(s===-1||e[s]!==o)if(n=Cl(o,e,t,n,r),i===null){let a=Wx(e,t,r);a!==void 0&&Array.isArray(a)&&(a=Cl(null,e,t,a[1],r),a=ii(a,t.attrs,r),Zx(e,t,r,a))}else i=Yx(e,t,r)}return i!==void 0&&(r?t.residualClasses=i:t.residualStyles=i),n}function Wx(e,t,n){let r=n?t.classBindings:t.styleBindings;if(Hr(r)!==0)return e[Jn(r)]}function Zx(e,t,n,r){let o=n?t.classBindings:t.styleBindings;e[Jn(o)]=r}function Yx(e,t,n){let r,o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0;){let a=e[o],c=Array.isArray(a),l=c?a[1]:a,d=l===null,h=n[o+1];h===fe&&(h=d?ye:void 0);let f=d?Ms(h,r):l===r?h:void 0;if(c&&!fu(f)&&(f=Ms(a,r)),fu(f)&&(u=f,s))return u;let p=e[o+1];o=s?Jn(p):Hr(p)}if(t!==null){let a=i?t.residualClasses:t.residualStyles;a!=null&&(u=Ms(a,r))}return u}function fu(e){return e!==void 0}function Xx(e,t){return e==null||e===""||(typeof t=="string"?e=e+t:typeof e=="object"&&(e=kt(Pe(e)))),e}function bb(e,t){return(e.flags&(t?8:16))!==0}function eI(e,t=""){let n=C(),r=Y(),o=e+Q,i=r.firstCreatePass?er(r,o,1,t,null):r.data[o],s=tI(r,n,i,t,e);n[o]=s,Bs()&&xd(r,n,s,i),qn(i,!1)}var tI=(e,t,n,r,o)=>(qo(!0),H_(t[Z],r));function vb(e,t,n,r=""){return Te(e,Xe(),n)?t+Ne(n)+r:fe}function nI(e,t,n,r,o,i=""){let s=al(),u=iu(e,s,n,o);return Uo(2),u?t+Ne(n)+r+Ne(o)+i:fe}function rI(e,t,n,r,o,i,s,u,a,c=""){let l=al(),d=_w(e,l,n,o,s,a);return Uo(4),d?t+Ne(n)+r+Ne(o)+i+Ne(s)+u+Ne(a)+c:fe}function Db(e){return Jd("",e),Db}function Jd(e,t,n){let r=C(),o=vb(r,e,t,n);return o!==fe&&Xd(r,ze(),o),Jd}function Eb(e,t,n,r,o){let i=C(),s=nI(i,e,t,n,r,o);return s!==fe&&Xd(i,ze(),s),Eb}function _b(e,t,n,r,o,i,s,u,a){let c=C(),l=rI(c,e,t,n,r,o,i,s,u,a);return l!==fe&&Xd(c,ze(),l),_b}function Xd(e,t,n){let r=Wc(t,e);$_(e[Z],r,n)}function Cb(e,t,n){Hd(t)&&(t=t());let r=C(),o=Xe();if(Te(r,o,t)){let i=Y(),s=fn();Jm(s,r,e,t,r[Z],n)}return Cb}function oI(e,t){let n=Hd(e);return n&&e.set(t),n}function wb(e,t){let n=C(),r=Y(),o=re();return nb(r,n,n[Z],o,e,t),wb}var xb={};function Uu(e){Ht("NgLet");let t=Y(),n=C(),r=e+Q,o=er(t,r,128,null,null);return qn(o,!1),Ho(t,n,r,xb),Uu}function zu(e){let t=Y(),n=C(),r=ze();return Ho(t,n,r,e),e}function qu(e){let t=sl(),n=Vo(t,Q+e);if(n===xb)throw new _(314,!1);return n}function iI(e){return Te(C(),Xe(),e)?Ne(e):fe}function sI(e,t,n=""){return vb(C(),e,t,n)}function Qg(e,t,n){let r=Y();r.firstCreatePass&&Ib(t,r.data,r.blueprint,Je(e),n)}function Ib(e,t,n,r,o){if(e=ue(e),Array.isArray(e))for(let i=0;i>20;if(Rn(e)||!e.multi){let f=new Yn(c,o,oe,null),p=xl(a,t,o?l:l+h,d);p===-1?(Tl(eu(u,s),i,a),wl(i,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(f),s.push(f)):(n[p]=f,s[p]=f)}else{let f=xl(a,t,l+h,d),p=xl(a,t,l,l+h),g=f>=0&&n[f],m=p>=0&&n[p];if(o&&!m||!o&&!g){Tl(eu(u,s),i,a);let y=cI(o?aI:uI,n.length,o,r,c,e);!o&&m&&(n[p].providerFactory=y),wl(i,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(y),s.push(y)}else{let y=Tb(n[o?p:f],c,!o&&r);wl(i,e,f>-1?f:p,y)}!o&&r&&m&&n[p].componentProviders++}}}function wl(e,t,n,r){let o=Rn(t),i=P0(t);if(o||i){let a=(i?ue(t.useClass):t).prototype.ngOnDestroy;if(a){let c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){let l=c.indexOf(n);l===-1?c.push(n,[r,a]):c[l+1].push(r,a)}else c.push(n,a)}}}function Tb(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function xl(e,t,n,r){for(let o=n;o{n.providersResolver=(r,o)=>Qg(r,o?o(e):e,!1),t&&(n.viewProvidersResolver=(r,o)=>Qg(r,o?o(t):t,!0))}}function dI(e,t){let n=Rr()+e,r=C();return r[n]===fe?Fd(r,n,t()):Ew(r,n)}function fI(e,t,n){return Mb(C(),Rr(),e,t,n)}function pI(e,t,n,r){return Ab(C(),Rr(),e,t,n,r)}function Sb(e,t){let n=e[t];return n===fe?void 0:n}function Mb(e,t,n,r,o,i){let s=t+n;return Te(e,s,o)?Fd(e,s+1,i?r.call(i,o):r(o)):Sb(e,s+1)}function Ab(e,t,n,r,o,i,s){let u=t+n;return iu(e,u,o,i)?Fd(e,u+2,s?r.call(s,o,i):r(o,i)):Sb(e,u+2)}function hI(e,t){let n=Y(),r,o=e+Q;n.firstCreatePass?(r=gI(t,n.pipeRegistry),n.data[o]=r,r.onDestroy&&(n.destroyHooks??=[]).push(o,r.onDestroy)):r=n.data[o];let i=r.factory||(r.factory=sn(r.type,!0)),s,u=_e(oe);try{let a=Xs(!1),c=i();return Xs(a),Ho(n,C(),o,c),c}finally{_e(u)}}function gI(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function mI(e,t,n){let r=e+Q,o=C(),i=Vo(o,r);return Nb(o,r)?Mb(o,Rr(),t,i.transform,n,i):i.transform(n)}function yI(e,t,n,r){let o=e+Q,i=C(),s=Vo(i,o);return Nb(i,o)?Ab(i,Rr(),t,s.transform,n,r,s):s.transform(n,r)}function Nb(e,t){return e[T].data[t].pure}function bI(e,t){return Mu(e,t)}var pu=class{ngModuleFactory;componentFactories;constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}},vI=(()=>{class e{compileModuleSync(n){return new cu(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){let r=this.compileModuleSync(n),o=Rc(n),i=jm(o.declarations).reduce((s,u)=>{let a=gt(u);return a&&s.push(new mn(a)),s},[]);return new pu(r,i)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var kb=(()=>{class e{applicationErrorHandler=b(Pt);appRef=b(Zr);taskService=b(Gn);ngZone=b(be);zonelessEnabled=b(Wo);tracing=b(Dt,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new X;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(ko):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(b(gl,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let n=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(n);return}this.switchToMicrotaskScheduler(),this.taskService.remove(n)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let n=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})})}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2;break}case 12:{this.appRef.dirtyFlags|=16;break}case 13:{this.appRef.dirtyFlags|=2;break}case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let r=this.useMicrotaskScheduler?lg:fl;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(ko+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){this.applicationErrorHandler(r)}finally{this.taskService.remove(n),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Rb(){return[{provide:ft,useExisting:kb},{provide:be,useClass:Ro},{provide:Wo,useValue:!0}]}function DI(){return typeof $localize<"u"&&$localize.locale||mi}var Gu=new x("",{factory:()=>b(Gu,{optional:!0,skipSelf:!0})||DI()});var Wu=class{destroyed=!1;listeners=null;errorHandler=b(Ve,{optional:!0});destroyRef=b(Oe);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(t){if(this.destroyed)throw new _(953,!1);return(this.listeners??=[]).push(t),{unsubscribe:()=>{let n=this.listeners?.indexOf(t);n!==void 0&&n!==-1&&this.listeners?.splice(n,1)}}}emit(t){if(this.destroyed){console.warn(pt(953,!1));return}if(this.listeners===null)return;let n=M(null);try{for(let r of this.listeners)try{r(t)}catch(o){this.errorHandler?.handleError(o)}}finally{M(n)}}};function Me(e,t){return vo(e,t?.equal)}var EI=e=>e;function ef(e,t){if(typeof e=="function"){let n=hc(e,EI,t?.equal);return Fb(n,t?.debugName)}else{let n=hc(e.source,e.computation,e.equal);return Fb(n,e.debugName)}}function Fb(e,t){let n=e[ne],r=e;return r.set=o=>y0(n,o),r.update=o=>b0(n,o),r.asReadonly=Go.bind(e),r}function _I(e){let t=e.request,n=e.params??t??(()=>null);return new Zu(n,wI(e),e.defaultValue,e.equal?CI(e.equal):void 0,e.debugName,e.injector??b(we))}var tf=class{value;isLoading;constructor(t,n){this.value=t,this.value.set=this.set.bind(this),this.value.update=this.update.bind(this),this.value.asReadonly=Go,this.isLoading=Me(()=>this.status()==="loading"||this.status()==="reloading",void 0)}isError=Me(()=>this.status()==="error");update(t){this.set(t(de(this.value)))}isValueDefined=Me(()=>this.isError()?!1:this.value()!==void 0);hasValue(){return this.isValueDefined()}asReadonly(){return this}},Zu=class extends tf{loaderFn;equal;debugName;pendingTasks;state;extRequest;effectRef;pendingController;resolvePendingTask=void 0;destroyed=!1;unregisterOnDestroy;status;error;constructor(t,n,r,o,i,s){super(Me(()=>{let u=this.state().stream?.();if(!u||this.state().status==="loading"&&this.error())return r;if(!nf(u))throw new rf(this.error());return u.value},{equal:o}),i),this.loaderFn=n,this.equal=o,this.debugName=i,this.extRequest=ef({source:t,computation:u=>({request:u,reload:0})}),this.state=ef({source:this.extRequest,computation:(u,a)=>{let c=u.request===void 0?"idle":"loading";return a?{extRequest:u,status:c,previousStatus:Ob(a.value),stream:a.value.extRequest.request===u.request?a.value.stream:void 0}:{extRequest:u,status:c,previousStatus:"idle",stream:void 0}}}),this.effectRef=Zo(this.loadEffect.bind(this),{injector:s,manualCleanup:!0}),this.pendingTasks=s.get(Wn),this.unregisterOnDestroy=s.get(Oe).onDestroy(()=>this.destroy()),this.status=Me(()=>Ob(this.state()),void 0),this.error=Me(()=>{let u=this.state().stream?.();return u&&!nf(u)?u.error:void 0},void 0)}set(t){if(this.destroyed)return;let n=de(this.error),r=de(this.state);if(!n){let o=de(this.value);if(r.status==="local"&&(this.equal?this.equal(o,t):o===t))return}this.state.set({extRequest:r.extRequest,status:"local",previousStatus:"local",stream:pn({value:t},void 0)}),this.abortInProgressLoad()}reload(){let{status:t}=de(this.state);return t==="idle"||t==="loading"?!1:(this.extRequest.update(({request:n,reload:r})=>({request:n,reload:r+1})),!0)}destroy(){this.destroyed=!0,this.unregisterOnDestroy(),this.effectRef.destroy(),this.abortInProgressLoad(),this.state.set({extRequest:{request:void 0,reload:0},status:"idle",previousStatus:"idle",stream:void 0})}loadEffect(){return at(this,null,function*(){let t=this.extRequest(),{status:n,previousStatus:r}=de(this.state);if(t.request===void 0)return;if(n!=="loading")return;this.abortInProgressLoad();let o=this.resolvePendingTask=this.pendingTasks.add(),{signal:i}=this.pendingController=new AbortController;try{let s=yield de(()=>this.loaderFn({params:t.request,request:t.request,abortSignal:i,previous:{status:r}}));if(i.aborted||de(this.extRequest)!==t)return;this.state.set({extRequest:t,status:"resolved",previousStatus:"resolved",stream:s})}catch(s){if(i.aborted||de(this.extRequest)!==t)return;this.state.set({extRequest:t,status:"resolved",previousStatus:"error",stream:pn({error:sf(s)},void 0)})}finally{o?.(),o=void 0}})}abortInProgressLoad(){de(()=>this.pendingController?.abort()),this.pendingController=void 0,this.resolvePendingTask?.(),this.resolvePendingTask=void 0}};function CI(e){return(t,n)=>t===void 0||n===void 0?t===n:e(t,n)}function wI(e){return xI(e)?e.stream:t=>at(null,null,function*(){try{return pn({value:yield e.loader(t)},void 0)}catch(n){return pn({error:sf(n)},void 0)}})}function xI(e){return!!e.stream}function Ob(e){switch(e.status){case"loading":return e.extRequest.reload===0?"loading":"reloading";case"resolved":return nf(e.stream())?"resolved":"error";default:return e.status}}function nf(e){return e.error===void 0}function sf(e){return II(e)?e:new of(e)}function II(e){return e instanceof Error||typeof e=="object"&&typeof e.name=="string"&&typeof e.message=="string"}var rf=class extends Error{constructor(t){super(t.message,{cause:t})}},of=class extends Error{constructor(t){super(String(t),{cause:t})}};var qb=Symbol("InputSignalNode#UNSET"),LI=P(S({},Do),{transformFn:void 0,applyValueToInputSignal(e,t){xn(e,t)}});function Gb(e,t){let n=Object.create(LI);n.value=e,n.transformFn=t?.transform;function r(){if(Jt(n),n.value===qb){let o=null;throw new _(-950,o)}return n.value}return r[ne]=n,r}var Pb=class{attributeName;constructor(t){this.attributeName=t}__NG_ELEMENT_ID__=()=>ud(this.attributeName);toString(){return`HostAttributeToken ${this.attributeName}`}},iB=(()=>{let e=new x("");return e.__NG_ELEMENT_ID__=t=>{let n=re();if(n===null)throw new _(204,!1);if(n.type&2)return n.value;if(t&8)return null;throw new _(204,!1)},e})();function sB(e){return new Wu}function Lb(e,t){return Gb(e,t)}function jI(e){return Gb(qb,e)}var Ae=(Lb.required=jI,Lb);function jb(e,t){return jd(t)}function BI(e,t){return Bd(t)}var uB=(jb.required=BI,jb);function aB(e,t){return Ry(t)}function Bb(e,t){return jd(t)}function VI(e,t){return Bd(t)}var cB=(Bb.required=VI,Bb);var af=new x(""),HI=new x("");function vi(e){return!e.moduleRef}function $I(e){let t=vi(e)?e.r3Injector:e.moduleRef.injector,n=t.get(be);return n.run(()=>{vi(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(Pt),o;if(n.runOutsideAngular(()=>{o=n.onError.subscribe({next:r})}),vi(e)){let i=()=>t.destroy(),s=e.platformInjector.get(af);s.add(i),t.onDestroy(()=>{o.unsubscribe(),s.delete(i)})}else{let i=()=>e.moduleRef.destroy(),s=e.platformInjector.get(af);s.add(i),e.moduleRef.onDestroy(()=>{Qo(e.allPlatformModules,e.moduleRef),o.unsubscribe(),s.delete(i)})}return zI(r,n,()=>{let i=t.get(Gn),s=i.add(),u=t.get(zd);return u.runInitializers(),u.donePromise.then(()=>{let a=t.get(Gu,mi);if(Xy(a||mi),!t.get(HI,!0))return vi(e)?t.get(Zr):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(vi(e)){let l=t.get(Zr);return e.rootComponent!==void 0&&l.bootstrap(e.rootComponent),l}else return UI?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>{i.remove(s)})})})}var UI;function zI(e,t,n){try{let r=n();return gi(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e(r)),r}}var Yu=null;function qI(e=[],t){return we.create({name:t,providers:[{provide:Lo,useValue:"platform"},{provide:af,useValue:new Set([()=>Yu=null])},...e]})}function GI(e=[]){if(Yu)return Yu;let t=qI(e);return Yu=t,Zy(),WI(t),t}function WI(e){let t=e.get(mu,null);Sr(e,()=>{t?.forEach(n=>n())})}var ZI=1e4;var lB=ZI-1e3;var yf=(()=>{class e{static __NG_ELEMENT_ID__=YI}return e})();function YI(e){return QI(re(),C(),(e&16)===16)}function QI(e,t,n){if(Ot(e)&&!n){let r=Re(e.index,t);return new hn(r,r)}else if(e.type&175){let r=t[ve];return new hn(r,t)}return null}var cf=class{constructor(){}supports(t){return Rd(t)}create(t){return new lf(t)}},KI=(e,t)=>t,lf=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(t){this._trackByFn=t||KI}forEachItem(t){let n;for(n=this._itHead;n!==null;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,o=0,i=null;for(;n||r;){let s=!r||n&&n.currentIndex{s=this._trackByFn(o,u),n===null||!Object.is(n.trackById,s)?(n=this._mismatch(n,u,s,o),r=!0):(r&&(n=this._verifyReinsertion(n,u,s,o)),Object.is(n.item,u)||this._addIdentityChange(n,u)),n=n._next,o++}),this.length=o;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;t!==null;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;t!==null;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;t!==null;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,o){let i;return t===null?i=this._itTail:(i=t._prev,this._remove(t)),t=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null),t!==null?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,i,o)):(t=this._linkedRecords===null?null:this._linkedRecords.get(r,o),t!==null?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,i,o)):t=this._addAfter(new df(n,r),i,o)),t}_verifyReinsertion(t,n,r,o){let i=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null);return i!==null?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;t!==null;){let n=t._next;this._addToRemovals(this._unlink(t)),t=n}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,r){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(t);let o=t._prevRemoved,i=t._nextRemoved;return o===null?this._removalsHead=i:o._nextRemoved=i,i===null?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail===null?this._additionsTail=this._additionsHead=t:this._additionsTail=this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){let o=n===null?this._itHead:n._next;return t._next=o,t._prev=n,o===null?this._itTail=t:o._prev=t,n===null?this._itHead=t:n._next=t,this._linkedRecords===null&&(this._linkedRecords=new Qu),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){this._linkedRecords!==null&&this._linkedRecords.remove(t);let n=t._prev,r=t._next;return n===null?this._itHead=r:n._next=r,r===null?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail===null?this._movesTail=this._movesHead=t:this._movesTail=this._movesTail._nextMoved=t),t}_addToRemovals(t){return this._unlinkedRecords===null&&(this._unlinkedRecords=new Qu),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=t:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=t,t}},df=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(t,n){this.item=t,this.trackById=n}},ff=class{_head=null;_tail=null;add(t){this._head===null?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;r!==null;r=r._nextDup)if((n===null||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){let n=t._prevDup,r=t._nextDup;return n===null?this._head=r:n._nextDup=r,r===null?this._tail=n:r._prevDup=n,this._head===null}},Qu=class{map=new Map;put(t){let n=t.trackById,r=this.map.get(n);r||(r=new ff,this.map.set(n,r)),r.add(t)}get(t,n){let r=t,o=this.map.get(r);return o?o.get(t,n):null}remove(t){let n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function Vb(e,t,n){let r=e.previousIndex;if(r===null)return r;let o=0;return n&&r{if(n&&n.key===o)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{let i=this._getOrCreateRecordForKey(o,r);n=this._insertBeforeOrAppend(n,i)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;r!==null;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){let r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){let o=this._records.get(t);this._maybeAddToChanges(o,n);let i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}let r=new gf(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;t!==null;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;t!==null;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;t!=null;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){this._additionsHead===null?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){this._changesHead===null?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}},gf=class{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(t){this.key=t}};function Hb(){return new bf([new cf])}var bf=(()=>{class e{factories;static \u0275prov=I({token:e,providedIn:"root",factory:Hb});constructor(n){this.factories=n}static create(n,r){if(r!=null){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:()=>{let r=b(e,{optional:!0,skipSelf:!0});return e.create(n,r||Hb())}}}find(n){let r=this.factories.find(o=>o.supports(n));if(r!=null)return r;throw new _(901,!1)}}return e})();function $b(){return new Ku([new pf])}var Ku=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:$b});factories;constructor(n){this.factories=n}static create(n,r){if(r){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:()=>{let r=b(e,{optional:!0,skipSelf:!0});return e.create(n,r||$b())}}}find(n){let r=this.factories.find(o=>o.supports(n));if(r)return r;throw new _(901,!1)}}return e})();var Wb=(()=>{class e{constructor(n){}static \u0275fac=function(r){return new(r||e)(A(Zr))};static \u0275mod=$t({type:e});static \u0275inj=ht({})}return e})();function Zb(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:o}=e;W(q.BootstrapApplicationStart);try{let i=o?.injector??GI(r),s=[Rb(),fg,...n||[]],u=new oi({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return $I({r3Injector:u.injector,platformInjector:i,rootComponent:t})}catch(i){return Promise.reject(i)}finally{W(q.BootstrapApplicationEnd)}}function JI(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function XI(e,t=NaN){return!isNaN(parseFloat(e))&&!isNaN(Number(e))?Number(e):t}var uf=Symbol("NOT_SET"),Yb=new Set,e2=P(S({},Do),{kind:"afterRenderEffectPhase",consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,value:uf,cleanup:null,consumerMarkedDirty(){if(this.sequence.impl.executing){if(this.sequence.lastPhase===null||this.sequence.lastPhase(Jt(c),c.value),c.signal[ne]=c,c.registerCleanupFn=l=>(c.cleanup??=new Set).add(l),this.nodes[u]=c,this.hooks[u]=l=>c.phaseFn(l)}}afterRun(){super.afterRun(),this.lastPhase=null}destroy(){if(this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();super.destroy();for(let t of this.nodes)if(t)try{for(let n of t.cleanup??Yb)n()}finally{en(t)}}};function dB(e,t){let n=t?.injector??b(we),r=n.get(ft),o=n.get(Cu),i=n.get(Dt,null,{optional:!0});o.impl??=n.get(Cd);let s=e;typeof s=="function"&&(s={mixedReadWrite:e});let u=n.get(Fr,null,{optional:!0}),a=new mf(o.impl,[s.earlyRead,s.write,s.mixedReadWrite,s.read],u?.view,r,n,i?.snapshot(null));return o.impl.register(a),a}function fB(e,t){let n=gt(e),r=t.elementInjector||Tr();return new mn(n).create(r,t.projectableNodes,t.hostElement,t.environmentInjector,t.directives,t.bindings)}function pB(e){let t=gt(e);if(!t)return null;let n=new mn(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}var Qb=null;function Et(){return Qb}function vf(e){Qb??=e}var Di=class{},vn=(()=>{class e{historyGo(n){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:()=>b(Kb),providedIn:"platform"})}return e})(),t2=new x(""),Kb=(()=>{class e extends vn{_location;_history;_doc=b(K);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Et().getBaseHref(this._doc)}onPopState(n){let r=Et().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){let r=Et().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function Ju(e,t){return e?t?e.endsWith("/")?t.startsWith("/")?e+t.slice(1):e+t:t.startsWith("/")?e+t:`${e}/${t}`:e:t}function Jb(e){let t=e.search(/#|\?|$/);return e[t-1]==="/"?e.slice(0,t-1)+e.slice(t):e}function it(e){return e&&e[0]!=="?"?`?${e}`:e}var eo=(()=>{class e{historyGo(n){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:()=>b(e1),providedIn:"root"})}return e})(),Xu=new x(""),e1=(()=>{class e extends eo{_platformLocation;_baseHref;_removeListenerFns=[];constructor(n,r){super(),this._platformLocation=n,this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??b(K).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Ju(this._baseHref,n)}path(n=!1){let r=this._platformLocation.pathname+it(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i));this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i));this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static \u0275fac=function(r){return new(r||e)(A(vn),A(Xu,8))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),t1=(()=>{class e{_subject=new le;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(n){this._locationStrategy=n;let r=this._locationStrategy.getBaseHref();this._basePath=o2(Jb(Xb(r))),this._locationStrategy.onPopState(o=>{this._subject.next({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+it(r))}normalize(n){return e.stripTrailingSlash(r2(this._basePath,Xb(n)))}prepareExternalUrl(n){return n&&n[0]!=="/"&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+it(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+it(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r??void 0,complete:o??void 0})}static normalizeQueryParams=it;static joinWithSlash=Ju;static stripTrailingSlash=Jb;static \u0275fac=function(r){return new(r||e)(A(eo))};static \u0275prov=I({token:e,factory:()=>n2(),providedIn:"root"})}return e})();function n2(){return new t1(A(eo))}function r2(e,t){if(!e||!t.startsWith(e))return t;let n=t.substring(e.length);return n===""||["/",";","?","#"].includes(n[0])?n:t}function Xb(e){return e.replace(/\/index.html$/,"")}function o2(e){if(new RegExp("^(https?:)?//").test(e)){let[,n]=e.split(/\/\/[^\/]+/);return n}return e}var i2=(()=>{class e extends eo{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(n,r){super(),this._platformLocation=n,r!=null&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(n){let r=Ju(this._baseHref,n);return r.length>0?"#"+r:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i))||this._platformLocation.pathname;this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i))||this._platformLocation.pathname;this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static \u0275fac=function(r){return new(r||e)(A(vn),A(Xu,8))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})();var Df=/\s+/,n1=[],s2=(()=>{class e{_ngEl;_renderer;initialClasses=n1;rawClass;stateMap=new Map;constructor(n,r){this._ngEl=n,this._renderer=r}set klass(n){this.initialClasses=n!=null?n.trim().split(Df):n1}set ngClass(n){this.rawClass=typeof n=="string"?n.trim().split(Df):n}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(let r of n)this._updateState(r,!0);else if(n!=null)for(let r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){let o=this.stateMap.get(n);o!==void 0?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let n of this.stateMap){let r=n[0],o=n[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(n,r){n=n.trim(),n.length>0&&n.split(Df).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static \u0275fac=function(r){return new(r||e)(oe(jt),oe(pi))};static \u0275dir=ot({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})(),u2=(()=>{class e{_viewContainerRef;ngComponentOutlet=null;ngComponentOutletInputs;ngComponentOutletInjector;ngComponentOutletEnvironmentInjector;ngComponentOutletContent;ngComponentOutletNgModule;_componentRef;_moduleRef;_inputsUsed=new Map;get componentInstance(){return this._componentRef?.instance??null}constructor(n){this._viewContainerRef=n}_needToReCreateNgModuleInstance(n){return n.ngComponentOutletNgModule!==void 0}_needToReCreateComponentInstance(n){return n.ngComponentOutlet!==void 0||n.ngComponentOutletContent!==void 0||n.ngComponentOutletInjector!==void 0||n.ngComponentOutletEnvironmentInjector!==void 0||this._needToReCreateNgModuleInstance(n)}ngOnChanges(n){if(this._needToReCreateComponentInstance(n)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){let r=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(n)&&(this._moduleRef?.destroy(),this.ngComponentOutletNgModule?this._moduleRef=Vd(this.ngComponentOutletNgModule,a2(r)):this._moduleRef=void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:r,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent,environmentInjector:this.ngComponentOutletEnvironmentInjector})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(let n of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(n,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(n){for(let[r,o]of this._inputsUsed)o?(n.setInput(r,this.ngComponentOutletInputs[r]),this._inputsUsed.set(r,!1)):(n.setInput(r,void 0),this._inputsUsed.delete(r))}static \u0275fac=function(r){return new(r||e)(oe(rt))};static \u0275dir=ot({type:e,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInputs:"ngComponentOutletInputs",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletEnvironmentInjector:"ngComponentOutletEnvironmentInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule"},exportAs:["ngComponentOutlet"],features:[hu]})}return e})();function a2(e){return e.get(yn).injector}var ea=class{$implicit;ngForOf;index;count;constructor(t,n,r,o){this.$implicit=t,this.ngForOf=n,this.index=r,this.count=o}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},s1=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(n,r,o){this._viewContainer=n,this._template=r,this._differs=o}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){let n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){let r=this._viewContainer;n.forEachOperation((o,i,s)=>{if(o.previousIndex==null)r.createEmbeddedView(this._template,new ea(o.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)r.remove(i===null?void 0:i);else if(i!==null){let u=r.get(i);r.move(u,s),r1(u,o)}});for(let o=0,i=r.length;o{let i=r.get(o.currentIndex);r1(i,o)})}static ngTemplateContextGuard(n,r){return!0}static \u0275fac=function(r){return new(r||e)(oe(rt),oe(gn),oe(bf))};static \u0275dir=ot({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function r1(e,t){e.context.$implicit=t.item}var c2=(()=>{class e{_viewContainer;_context=new ta;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(n,r){this._viewContainer=n,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){o1(n,!1),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){o1(n,!1),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(n,r){return!0}static \u0275fac=function(r){return new(r||e)(oe(rt),oe(gn))};static \u0275dir=ot({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})(),ta=class{$implicit=null;ngIf=null};function o1(e,t){if(e&&!e.createEmbeddedView)throw new _(2020,!1)}var l2=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(n,r,o){this._ngEl=n,this._differs=r,this._renderer=o}set ngStyle(n){this._ngStyle=n,!this._differ&&n&&(this._differ=this._differs.find(n).create())}ngDoCheck(){if(this._differ){let n=this._differ.diff(this._ngStyle);n&&this._applyChanges(n)}}_setStyle(n,r){let[o,i]=n.split("."),s=o.indexOf("-")===-1?void 0:nt.DashCase;r!=null?this._renderer.setStyle(this._ngEl.nativeElement,o,i?`${r}${i}`:r,s):this._renderer.removeStyle(this._ngEl.nativeElement,o,s)}_applyChanges(n){n.forEachRemovedItem(r=>this._setStyle(r.key,null)),n.forEachAddedItem(r=>this._setStyle(r.key,r.currentValue)),n.forEachChangedItem(r=>this._setStyle(r.key,r.currentValue))}static \u0275fac=function(r){return new(r||e)(oe(jt),oe(Ku),oe(pi))};static \u0275dir=ot({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),d2=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(n){this._viewContainerRef=n}ngOnChanges(n){if(this._shouldRecreateView(n)){let r=this._viewContainerRef;if(this._viewRef&&r.remove(r.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let o=this._createContextForwardProxy();this._viewRef=r.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(n){return!!n.ngTemplateOutlet||!!n.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(n,r,o)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,r,o):!1,get:(n,r,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,r,o)}})}static \u0275fac=function(r){return new(r||e)(oe(rt))};static \u0275dir=ot({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[hu]})}return e})();function f2(e,t){return new _(2100,!1)}var Ef=class{createSubscription(t,n,r){return de(()=>t.subscribe({next:n,error:r}))}dispose(t){de(()=>t.unsubscribe())}},_f=class{createSubscription(t,n,r){return t.then(o=>n?.(o),o=>r?.(o)),{unsubscribe:()=>{n=null,r=null}}}dispose(t){t.unsubscribe()}},p2=new _f,h2=new Ef,g2=(()=>{class e{_ref;_latestValue=null;markForCheckOnValueUpdate=!0;_subscription=null;_obj=null;_strategy=null;applicationErrorHandler=b(Pt);constructor(n){this._ref=n}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(n){if(!this._obj){if(n)try{this.markForCheckOnValueUpdate=!1,this._subscribe(n)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return n!==this._obj?(this._dispose(),this.transform(n)):this._latestValue}_subscribe(n){this._obj=n,this._strategy=this._selectStrategy(n),this._subscription=this._strategy.createSubscription(n,r=>this._updateLatestValue(n,r),r=>this.applicationErrorHandler(r))}_selectStrategy(n){if(gi(n))return p2;if(Ou(n))return h2;throw f2(e,n)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(n,r){n===this._obj&&(this._latestValue=r,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static \u0275fac=function(r){return new(r||e)(oe(yf,16))};static \u0275pipe=ku({name:"async",type:e,pure:!1})}return e})();function m2(e,t){return{key:e,value:t}}var y2=(()=>{class e{differs;constructor(n){this.differs=n}differ;keyValues=[];compareFn=i1;transform(n,r=i1){if(!n||!(n instanceof Map)&&typeof n!="object")return null;this.differ??=this.differs.find(n).create();let o=this.differ.diff(n),i=r!==this.compareFn;return o&&(this.keyValues=[],o.forEachItem(s=>{this.keyValues.push(m2(s.key,s.currentValue))})),(o||i)&&(r&&this.keyValues.sort(r),this.compareFn=r),this.keyValues}static \u0275fac=function(r){return new(r||e)(oe(Ku,16))};static \u0275pipe=ku({name:"keyvalue",type:e,pure:!1})}return e})();function i1(e,t){let n=e.key,r=t.key;if(n===r)return 0;if(n==null)return 1;if(r==null)return-1;if(typeof n=="string"&&typeof r=="string")return n{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=$t({type:e});static \u0275inj=ht({})}return e})();function Ei(e,t){t=encodeURIComponent(t);for(let n of e.split(";")){let r=n.indexOf("="),[o,i]=r==-1?[n,""]:[n.slice(0,r),n.slice(r+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}var tr=class{};var xf="browser";function u1(e){return e===xf}var Z7=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:()=>new wf(b(K),window)})}return e})(),wf=class{document;window;offset=()=>[0,0];constructor(t,n){this.document=t,this.window=n}setOffset(t){Array.isArray(t)?this.offset=()=>t:this.offset=t}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(t,n){this.window.scrollTo(P(S({},n),{left:t[0],top:t[1]}))}scrollToAnchor(t,n){let r=b2(this.document,t);r&&(this.scrollToElement(r,n),r.focus())}setHistoryScrollRestoration(t){try{this.window.history.scrollRestoration=t}catch{console.warn(pt(2400,!1))}}scrollToElement(t,n){let r=t.getBoundingClientRect(),o=r.left+this.window.pageXOffset,i=r.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(P(S({},n),{left:o-s[0],top:i-s[1]}))}};function b2(e,t){let n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if(typeof e.createTreeWalker=="function"&&e.body&&typeof e.body.attachShadow=="function"){let r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT),o=r.currentNode;for(;o;){let i=o.shadowRoot;if(i){let s=i.getElementById(t)||i.querySelector(`[name="${t}"]`);if(s)return s}o=r.nextNode()}}return null}var ro={};lr(ro,{appendToAll:()=>E2,createThemeStyles:()=>_2,merge:()=>D2,structuralStyles:()=>C2,toProp:()=>je});var v2=` +`);return r>=0?n.slice(0,r):n}function _s(e,t){return e?t?`${e} ${t}`:e:t||""}var nE=G({__forward_ref__:G});function Cs(e){return e.__forward_ref__=Cs,e.toString=function(){return kt(this())},e}function ue(e){return Tc(e)?e():e}function Tc(e){return typeof e=="function"&&e.hasOwnProperty(nE)&&e.__forward_ref__===Cs}function I(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ht(e){return{providers:e.providers||[],imports:e.imports||[]}}function Fo(e){return oE(e,ws)}function rE(e){return Fo(e)!==null}function oE(e,t){return e.hasOwnProperty(t)&&e[t]||null}function iE(e){let t=e?.[ws]??null;return t||null}function mc(e){return e&&e.hasOwnProperty(ms)?e[ms]:null}var ws=G({\u0275prov:G}),ms=G({\u0275inj:G}),x=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(t,n){this._desc=t,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=I({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Sc(e){return e&&!!e.\u0275providers}var Mc=G({\u0275cmp:G}),Ac=G({\u0275dir:G}),Nc=G({\u0275pipe:G}),kc=G({\u0275mod:G}),Mo=G({\u0275fac:G}),On=G({__NG_ELEMENT_ID__:G}),v0=G({__NG_ENV_ID__:G});function Rc(e){return Is(e,"@NgModule"),e[kc]||null}function gt(e){return Is(e,"@Component"),e[Mc]||null}function xs(e){return Is(e,"@Directive"),e[Ac]||null}function w0(e){return Is(e,"@Pipe"),e[Nc]||null}function Is(e,t){if(e==null)throw new _(-919,!1)}function Ne(e){return typeof e=="string"?e:e==null?"":String(e)}function x0(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():Ne(e)}var I0=G({ngErrorCode:G}),sE=G({ngErrorMessage:G}),uE=G({ngTokenPath:G});function Fc(e,t){return T0("",-200,t)}function Ts(e,t){throw new _(-201,!1)}function T0(e,t,n){let r=new _(t,e);return r[I0]=t,r[sE]=e,n&&(r[uE]=n),r}function aE(e){return e[I0]}var yc;function S0(){return yc}function _e(e){let t=yc;return yc=e,t}function Oc(e,t,n){let r=Fo(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;Ts(e,"")}var cE={},Nn=cE,lE="__NG_DI_FLAG__",bc=class{injector;constructor(t){this.injector=t}retrieve(t,n){let r=kn(n)||0;try{return this.injector.get(t,r&8?null:Nn,r)}catch(o){if(Cr(o))return o;throw o}}};function dE(e,t=0){let n=hs();if(n===void 0)throw new _(-203,!1);if(n===null)return Oc(e,void 0,t);{let r=fE(t),o=n.retrieve(e,r);if(Cr(o)){if(r.optional)return null;throw o}return o}}function A(e,t=0){return(S0()||dE)(ue(e),t)}function b(e,t){return A(e,kn(t))}function kn(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function fE(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function vc(e){let t=[];for(let n=0;nArray.isArray(n)?Ss(n,t):t(n))}function Pc(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Oo(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function N0(e,t){let n=[];for(let r=0;rt;){let i=o-2;e[o]=e[i],o--}e[t]=n,e[t+1]=r}}function Po(e,t,n){let r=xr(e,t);return r>=0?e[r|1]=n:(r=~r,k0(e,r,t,n)),r}function Ms(e,t){let n=xr(e,t);if(n>=0)return e[n|1]}function xr(e,t){return hE(e,t,1)}function hE(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){let i=r+(o-r>>1),s=e[i<t?o=i:r=i+1}return~(o<{n.push(s)};return Ss(t,s=>{let u=s;ys(u,i,[],r)&&(o||=[],o.push(u))}),o!==void 0&&F0(o,i),n}function F0(e,t){for(let n=0;n{t(i,r)})}}function ys(e,t,n,r){if(e=ue(e),!e)return!1;let o=null,i=mc(e),s=!i&>(e);if(!i&&!s){let a=e.ngModule;if(i=mc(a),i)o=a;else return!1}else{if(s&&!s.standalone)return!1;o=e}let u=r.has(o);if(s){if(u)return!1;if(r.add(o),s.dependencies){let a=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of a)ys(c,t,n,r)}}else if(i){if(i.imports!=null&&!u){r.add(o);let c;Ss(i.imports,l=>{ys(l,t,n,r)&&(c||=[],c.push(l))}),c!==void 0&&F0(c,t)}if(!u){let c=sn(o)||(()=>new o);t({provide:o,useFactory:c,deps:ye},o),t({provide:jc,useValue:o,multi:!0},o),t({provide:Ir,useValue:()=>A(o),multi:!0},o)}let a=i.providers;if(a!=null&&!u){let c=e;Vc(a,l=>{t(l,c)})}}else return!1;return o!==e&&e.providers!==void 0}function Vc(e,t){for(let n of e)Sc(n)&&(n=n.\u0275providers),Array.isArray(n)?Vc(n,t):t(n)}var gE=G({provide:String,useValue:G});function O0(e){return e!==null&&typeof e=="object"&&gE in e}function mE(e){return!!(e&&e.useExisting)}function yE(e){return!!(e&&e.useFactory)}function Rn(e){return typeof e=="function"}function P0(e){return!!e.useClass}var Lo=new x(""),gs={},D0={},gc;function Tr(){return gc===void 0&&(gc=new Ao),gc}var Ce=class{},Fn=class extends Ce{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,Ec(t,s=>this.processProvider(s)),this.records.set(Lc,wr(void 0,this)),o.has("environment")&&this.records.set(Ce,wr(void 0,this));let i=this.records.get(Lo);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(jc,ye,{self:!0}))}retrieve(t,n){let r=kn(n)||0;try{return this.get(t,Nn,r)}catch(o){if(Cr(o))return o;throw o}}destroy(){So(this),this._destroyed=!0;let t=M(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of n)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),M(t)}}onDestroy(t){return So(this),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){So(this);let n=dt(this),r=_e(void 0),o;try{return t()}finally{dt(n),_e(r)}}get(t,n=Nn,r){if(So(this),t.hasOwnProperty(v0))return t[v0](this);let o=kn(r),i,s=dt(this),u=_e(void 0);try{if(!(o&4)){let c=this.records.get(t);if(c===void 0){let l=_E(t)&&Fo(t);l&&this.injectableDefInScope(l)?c=wr(Dc(t),gs):c=null,this.records.set(t,c)}if(c!=null)return this.hydrate(t,c,o)}let a=o&2?Tr():this.parent;return n=o&8&&n===Nn?null:n,a.get(t,n)}catch(a){let c=aE(a);throw c===-200||c===-201?new _(c,null):a}finally{_e(u),dt(s)}}resolveInjectorInitializers(){let t=M(null),n=dt(this),r=_e(void 0),o;try{let i=this.get(Ir,ye,{self:!0});for(let s of i)s()}finally{dt(n),_e(r),M(t)}}toString(){let t=[],n=this.records;for(let r of n.keys())t.push(kt(r));return`R3Injector[${t.join(", ")}]`}processProvider(t){t=ue(t);let n=Rn(t)?t:ue(t&&t.provide),r=vE(t);if(!Rn(t)&&t.multi===!0){let o=this.records.get(n);o||(o=wr(void 0,gs,!0),o.factory=()=>vc(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n,r){let o=M(null);try{if(n.value===D0)throw Fc(kt(t));return n.value===gs&&(n.value=D0,n.value=n.factory(void 0,r)),typeof n.value=="object"&&n.value&&EE(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{M(o)}}injectableDefInScope(t){if(!t.providedIn)return!1;let n=ue(t.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){let n=this._onDestroyHooks.indexOf(t);n!==-1&&this._onDestroyHooks.splice(n,1)}};function Dc(e){let t=Fo(e),n=t!==null?t.factory:sn(e);if(n!==null)return n;if(e instanceof x)throw new _(204,!1);if(e instanceof Function)return bE(e);throw new _(204,!1)}function bE(e){if(e.length>0)throw new _(204,!1);let n=iE(e);return n!==null?()=>n.factory(e):()=>new e}function vE(e){if(O0(e))return wr(void 0,e.useValue);{let t=Hc(e);return wr(t,gs)}}function Hc(e,t,n){let r;if(Rn(e)){let o=ue(e);return sn(o)||Dc(o)}else if(O0(e))r=()=>ue(e.useValue);else if(yE(e))r=()=>e.useFactory(...vc(e.deps||[]));else if(mE(e))r=(o,i)=>A(ue(e.useExisting),i!==void 0&&i&8?8:void 0);else{let o=ue(e&&(e.useClass||e.provide));if(DE(e))r=()=>new o(...vc(e.deps));else return sn(o)||Dc(o)}return r}function So(e){if(e.destroyed)throw new _(205,!1)}function wr(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function DE(e){return!!e.deps}function EE(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function _E(e){return typeof e=="function"||typeof e=="object"&&e.ngMetadataName==="InjectionToken"}function Ec(e,t){for(let n of e)Array.isArray(n)?Ec(n,t):n&&Sc(n)?Ec(n.\u0275providers,t):t(n)}function Sr(e,t){let n;e instanceof Fn?(So(e),n=e):n=new bc(e);let r,o=dt(n),i=_e(void 0);try{return t()}finally{dt(o),_e(i)}}function As(){return S0()!==void 0||hs()!=null}function CE(e){if(!As())throw new _(-203,!1)}var Qe=0,T=1,L=2,ae=3,He=4,Ie=5,Ln=6,Mr=7,ee=8,Rt=9,mt=10,Z=11,Ar=12,$c=13,jn=14,ve=15,cn=16,Bn=17,yt=18,Ft=19,Uc=20,Nt=21,Ns=22,un=23,ke=24,Vn=25,Hn=26,Q=27,L0=1,zc=6,ln=7,jo=8,$n=9,te=10;function bt(e){return Array.isArray(e)&&typeof e[L0]=="object"}function Ke(e){return Array.isArray(e)&&e[L0]===!0}function qc(e){return(e.flags&4)!==0}function Ot(e){return e.componentOffset>-1}function Nr(e){return(e.flags&1)===1}function Je(e){return!!e.template}function kr(e){return(e[L]&512)!==0}function Un(e){return(e[L]&256)===256}var Gc="svg",j0="math";function $e(e){for(;Array.isArray(e);)e=e[Qe];return e}function Wc(e,t){return $e(t[e])}function Ue(e,t){return $e(t[e.index])}function Bo(e,t){return e.data[t]}function Vo(e,t){return e[t]}function Ho(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function Re(e,t){let n=t[e];return bt(n)?n:n[Qe]}function B0(e){return(e[L]&4)===4}function ks(e){return(e[L]&128)===128}function V0(e){return Ke(e[ae])}function Fe(e,t){return t==null?null:e[t]}function Zc(e){e[Bn]=0}function Yc(e){e[L]&1024||(e[L]|=1024,ks(e)&&zn(e))}function H0(e,t){for(;e>0;)t=t[jn],e--;return t}function $o(e){return!!(e[L]&9216||e[ke]?.dirty)}function Rs(e){e[mt].changeDetectionScheduler?.notify(8),e[L]&64&&(e[L]|=1024),$o(e)&&zn(e)}function zn(e){e[mt].changeDetectionScheduler?.notify(0);let t=an(e);for(;t!==null&&!(t[L]&8192||(t[L]|=8192,!ks(t)));)t=an(t)}function Qc(e,t){if(Un(e))throw new _(911,!1);e[Nt]===null&&(e[Nt]=[]),e[Nt].push(t)}function $0(e,t){if(e[Nt]===null)return;let n=e[Nt].indexOf(t);n!==-1&&e[Nt].splice(n,1)}function an(e){let t=e[ae];return Ke(t)?t[ae]:t}function Kc(e){return e[Mr]??=[]}function Jc(e){return e.cleanup??=[]}function U0(e,t,n,r){let o=Kc(t);o.push(n),e.firstCreatePass&&Jc(e).push(r,o.length-1)}var V={lFrame:tg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var _c=!1;function z0(){return V.lFrame.elementDepthCount}function q0(){V.lFrame.elementDepthCount++}function Xc(){V.lFrame.elementDepthCount--}function Fs(){return V.bindingsEnabled}function el(){return V.skipHydrationRootTNode!==null}function tl(e){return V.skipHydrationRootTNode===e}function nl(){V.skipHydrationRootTNode=null}function C(){return V.lFrame.lView}function Y(){return V.lFrame.tView}function G0(e){return V.lFrame.contextLView=e,e[ee]}function W0(e){return V.lFrame.contextLView=null,e}function re(){let e=rl();for(;e!==null&&e.type===64;)e=e.parent;return e}function rl(){return V.lFrame.currentTNode}function Z0(){let e=V.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function qn(e,t){let n=V.lFrame;n.currentTNode=e,n.isParent=t}function ol(){return V.lFrame.isParent}function il(){V.lFrame.isParent=!1}function sl(){return V.lFrame.contextLView}function ul(){return _c}function No(e){let t=_c;return _c=e,t}function Rr(){let e=V.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function al(){return V.lFrame.bindingIndex}function Y0(e){return V.lFrame.bindingIndex=e}function Xe(){return V.lFrame.bindingIndex++}function Uo(e){let t=V.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Q0(){return V.lFrame.inI18n}function K0(e,t){let n=V.lFrame;n.bindingIndex=n.bindingRootIndex=e,Os(t)}function J0(){return V.lFrame.currentDirectiveIndex}function Os(e){V.lFrame.currentDirectiveIndex=e}function X0(e){let t=V.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function Ps(){return V.lFrame.currentQueryIndex}function zo(e){V.lFrame.currentQueryIndex=e}function wE(e){let t=e[T];return t.type===2?t.declTNode:t.type===1?e[Ie]:null}function cl(e,t,n){if(n&4){let o=t,i=e;for(;o=o.parent,o===null&&!(n&1);)if(o=wE(i),o===null||(i=i[jn],o.type&10))break;if(o===null)return!1;t=o,e=i}let r=V.lFrame=eg();return r.currentTNode=t,r.lView=e,!0}function Ls(e){let t=eg(),n=e[T];V.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function eg(){let e=V.lFrame,t=e===null?null:e.child;return t===null?tg(e):t}function tg(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function ng(){let e=V.lFrame;return V.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var ll=ng;function js(){let e=ng();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function rg(e){return(V.lFrame.contextLView=H0(e,V.lFrame.contextLView))[ee]}function ze(){return V.lFrame.selectedIndex}function dn(e){V.lFrame.selectedIndex=e}function fn(){let e=V.lFrame;return Bo(e.tView,e.selectedIndex)}function og(){V.lFrame.currentNamespace=Gc}function ig(){xE()}function xE(){V.lFrame.currentNamespace=null}function sg(){return V.lFrame.currentNamespace}var ug=!0;function Bs(){return ug}function qo(e){ug=e}function Cc(e,t=null,n=null,r){let o=dl(e,t,n,r);return o.resolveInjectorInitializers(),o}function dl(e,t=null,n=null,r,o=new Set){let i=[n||ye,R0(e)];return r=r||(typeof e=="object"?void 0:kt(e)),new Fn(i,t||Tr(),r||null,o)}var we=class e{static THROW_IF_NOT_FOUND=Nn;static NULL=new Ao;static create(t,n){if(Array.isArray(t))return Cc({name:""},n,t,"");{let r=t.name??"";return Cc({name:r},t.parent,t.providers,r)}}static \u0275prov=I({token:e,providedIn:"any",factory:()=>A(Lc)});static __NG_ELEMENT_ID__=-1},K=new x(""),Oe=(()=>{class e{static __NG_ELEMENT_ID__=IE;static __NG_ENV_ID__=n=>n}return e})(),bs=class extends Oe{_lView;constructor(t){super(),this._lView=t}get destroyed(){return Un(this._lView)}onDestroy(t){let n=this._lView;return Qc(n,t),()=>$0(n,t)}};function IE(){return new bs(C())}var ag=!1,cg=new x(""),Gn=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Eo(!1);debugTaskTracker=b(cg,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new B(n=>{n.next(!1),n.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),this.debugTaskTracker?.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.debugTaskTracker?.remove(n),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),wc=class extends le{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(t=!1){super(),this.__isAsync=t,As()&&(this.destroyRef=b(Oe,{optional:!0})??void 0,this.pendingTasks=b(Gn,{optional:!0})??void 0)}emit(t){let n=M(null);try{super.next(t)}finally{M(n)}}subscribe(t,n,r){let o=t,i=n||(()=>null),s=r;if(t&&typeof t=="object"){let a=t;o=a.next?.bind(a),i=a.error?.bind(a),s=a.complete?.bind(a)}this.__isAsync&&(i=this.wrapInTimeout(i),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));let u=super.subscribe({next:o,error:i,complete:s});return t instanceof X&&t.add(u),u}wrapInTimeout(t){return n=>{let r=this.pendingTasks?.add();setTimeout(()=>{try{t(n)}finally{r!==void 0&&this.pendingTasks?.remove(r)}})}}},At=wc;function vs(...e){}function fl(e){let t,n;function r(){e=vs;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function lg(e){return queueMicrotask(()=>e()),()=>{e=vs}}var pl="isAngularZone",ko=pl+"_ID",TE=0,be=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new At(!1);onMicrotaskEmpty=new At(!1);onStable=new At(!1);onError=new At(!1);constructor(t){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:i=ag}=t;if(typeof Zone>"u")throw new _(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&r,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=i,AE(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(pl)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new _(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new _(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,SE,vs,vs);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}},SE={};function hl(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function ME(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){fl(()=>{e.callbackScheduled=!1,xc(e),e.isCheckStableRunning=!0,hl(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),xc(e)}function AE(e){let t=()=>{ME(e)},n=TE++;e._inner=e._inner.fork({name:"angular",properties:{[pl]:!0,[ko]:n,[ko+n]:!0},onInvokeTask:(r,o,i,s,u,a)=>{if(NE(a))return r.invokeTask(i,s,u,a);try{return E0(e),r.invokeTask(i,s,u,a)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&t(),_0(e)}},onInvoke:(r,o,i,s,u,a,c)=>{try{return E0(e),r.invoke(i,s,u,a,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!kE(a)&&t(),_0(e)}},onHasTask:(r,o,i,s)=>{r.hasTask(i,s),o===i&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,xc(e),hl(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,o,i,s)=>(r.handleError(i,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function xc(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function E0(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function _0(e){e._nesting--,hl(e)}var Ro=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new At;onMicrotaskEmpty=new At;onStable=new At;onError=new At;run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,o){return t.apply(n,r)}};function NE(e){return dg(e,"__ignore_ng_zone__")}function kE(e){return dg(e,"__scheduler_tick__")}function dg(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Ve=class{_console=console;handleError(t){this._console.error("ERROR",t)}},Pt=new x("",{factory:()=>{let e=b(be),t=b(Ce),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(Ve),n.handleError(r))})}}}),fg={provide:Ir,useValue:()=>{let e=b(Ve,{optional:!0})},multi:!0};function pn(e,t){let[n,r,o]=Ua(e,t?.equal),i=n,s=i[ne];return i.set=r,i.update=o,i.asReadonly=Go.bind(i),i}function Go(){let e=this[ne];if(e.readonlyFn===void 0){let t=()=>this();t[ne]=e,e.readonlyFn=t}return e.readonlyFn}var Fr=(()=>{class e{view;node;constructor(n,r){this.view=n,this.node=r}static __NG_ELEMENT_ID__=RE}return e})();function RE(){return new Fr(C(),re())}var ft=class{},Wo=new x("",{factory:()=>!0});var gl=new x(""),Wn=(()=>{class e{internalPendingTasks=b(Gn);scheduler=b(ft);errorHandler=b(Pt);add(){let n=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(n)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(n))}}run(n){let r=this.add();n().catch(this.errorHandler).finally(r)}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),Vs=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:()=>new Ic})}return e})(),Ic=class{dirtyEffectCount=0;queues=new Map;add(t){this.enqueue(t),this.schedule(t)}schedule(t){t.dirty&&this.dirtyEffectCount++}remove(t){let n=t.zone,r=this.queues.get(n);r.has(t)&&(r.delete(t),t.dirty&&this.dirtyEffectCount--)}enqueue(t){let n=t.zone;this.queues.has(n)||this.queues.set(n,new Set);let r=this.queues.get(n);r.has(t)||r.add(t)}flush(){for(;this.dirtyEffectCount>0;){let t=!1;for(let[n,r]of this.queues)n===null?t||=this.flushQueue(r):t||=n.run(()=>this.flushQueue(r));t||(this.dirtyEffectCount=0)}}flushQueue(t){let n=!1;for(let r of t)r.dirty&&(this.dirtyEffectCount--,n=!0,r.run());return n}},Ds=class{[ne];constructor(t){this[ne]=t}destroy(){this[ne].destroy()}};function Zo(e,t){let n=t?.injector??b(we),r=t?.manualCleanup!==!0?n.get(Oe):null,o,i=n.get(Fr,null,{optional:!0}),s=n.get(ft);return i!==null?(o=PE(i.view,s,e),r instanceof bs&&r._lView===i.view&&(r=null)):o=LE(e,n.get(Vs),s),o.injector=n,r!==null&&(o.onDestroyFns=[r.onDestroy(()=>o.destroy())]),new Ds(o)}var pg=P(S({},qa),{cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=No(!1);try{Ga(this)}finally{No(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=M(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],M(e)}}}),FE=P(S({},pg),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(en(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}}),OE=P(S({},pg),{consumerMarkedDirty(){this.view[L]|=8192,zn(this.view),this.notifier.notify(13)},destroy(){if(en(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[un]?.delete(this)}});function PE(e,t,n){let r=Object.create(OE);return r.view=e,r.zone=typeof Zone<"u"?Zone.current:null,r.notifier=t,r.fn=hg(r,n),e[un]??=new Set,e[un].add(r),r.consumerMarkedDirty(r),r}function LE(e,t,n){let r=Object.create(FE);return r.fn=hg(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<"u"?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function hg(e,t){return()=>{t(n=>(e.cleanupFns??=[]).push(n))}}function de(e){return za(e)}function si(e){return{toString:e}.toString()}function zE(e){return typeof e=="function"}function Kg(e,t,n,r){t!==null?t.applyValueToInputSignal(t,r):e[n]=r}var Qs=class{previousValue;currentValue;firstChange;constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}},hu=(()=>{let e=()=>Jg;return e.ngInherit=!0,e})();function Jg(e){return e.type.prototype.ngOnChanges&&(e.setInput=GE),qE}function qE(){let e=em(this),t=e?.current;if(t){let n=e.previous;if(n===Ye)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function GE(e,t,n,r,o){let i=this.declaredInputs[r],s=em(e)||WE(e,{previous:Ye,current:null}),u=s.current||(s.current={}),a=s.previous,c=a[i];u[i]=new Qs(c&&c.currentValue,n,a===Ye),Kg(e,t,o,n)}var Xg="__ngSimpleChanges__";function em(e){return e[Xg]||null}function WE(e,t){return e[Xg]=t}var gg=[];var W=function(e,t=null,n){for(let r=0;r=r)break}else t[a]<0&&(e[Bn]+=65536),(u>14>16&&(e[L]&3)===t&&(e[L]+=16384,mg(u,i)):mg(u,i)}var Pr=-1,Yn=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(t,n,r,o){this.factory=t,this.name=o,this.canSeeViewProviders=n,this.injectImpl=r}};function QE(e){return(e.flags&8)!==0}function KE(e){return(e.flags&16)!==0}function JE(e,t,n){let r=0;for(;rt){s=i-1;break}}}for(;i>16}function Js(e,t){let n=e_(e),r=t;for(;n>0;)r=r[jn],n--;return r}var Il=!0;function Xs(e){let t=Il;return Il=e,t}var t_=256,im=t_-1,sm=5,n_=0,vt={};function r_(e,t,n){let r;typeof n=="string"?r=n.charCodeAt(0)||0:n.hasOwnProperty(On)&&(r=n[On]),r==null&&(r=n[On]=n_++);let o=r&im,i=1<>sm)]|=i}function eu(e,t){let n=um(e,t);if(n!==-1)return n;let r=t[T];r.firstCreatePass&&(e.injectorIndex=t.length,yl(r.data,e),yl(t,null),yl(r.blueprint,null));let o=sd(e,t),i=e.injectorIndex;if(om(o)){let s=Ks(o),u=Js(o,t),a=u[T].data;for(let c=0;c<8;c++)t[i+c]=u[s+c]|a[s+c]}return t[i+8]=o,i}function yl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function um(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function sd(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;o!==null;){if(r=fm(o),r===null)return Pr;if(n++,o=o[jn],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return Pr}function Tl(e,t,n){r_(e,t,n)}function o_(e,t){if(t==="class")return e.classes;if(t==="style")return e.styles;let n=e.attrs;if(n){let r=n.length,o=0;for(;o>20,d=r?u:u+l,h=o?u+l:c;for(let f=d;f=a&&p.type===n)return f}if(o){let f=s[a];if(f&&Je(f)&&f.type===n)return a}return null}function Ko(e,t,n,r,o){let i=e[n],s=t.data;if(i instanceof Yn){let u=i;if(u.resolving){let f=x0(s[n]);throw Fc(f)}let a=Xs(u.canSeeViewProviders);u.resolving=!0;let c=s[n].type||s[n],l,d=u.injectImpl?_e(u.injectImpl):null,h=cl(e,r,0);try{i=e[n]=u.factory(void 0,o,s,e,r),t.firstCreatePass&&n>=r.directiveStart&&ZE(n,s[n],t)}finally{d!==null&&_e(d),Xs(a),u.resolving=!1,ll()}}return i}function s_(e){if(typeof e=="string")return e.charCodeAt(0)||0;let t=e.hasOwnProperty(On)?e[On]:void 0;return typeof t=="number"?t>=0?t&im:u_:t}function bg(e,t,n){let r=1<>sm)]&r)}function vg(e,t){return!(e&2)&&!(e&1&&t)}var Zn=class{_tNode;_lView;constructor(t,n){this._tNode=t,this._lView=n}get(t,n,r){return lm(this._tNode,this._lView,t,kn(r),n)}};function u_(){return new Zn(re(),C())}function Ur(e){return si(()=>{let t=e.prototype.constructor,n=t[Mo]||Sl(t),r=Object.prototype,o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){let i=o[Mo]||Sl(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Sl(e){return Tc(e)?()=>{let t=Sl(ue(e));return t&&t()}:sn(e)}function a_(e,t,n,r,o){let i=e,s=t;for(;i!==null&&s!==null&&s[L]&2048&&!kr(s);){let u=dm(i,s,n,r|2,vt);if(u!==vt)return u;let a=i.parent;if(!a){let c=s[Uc];if(c){let l=c.get(n,vt,r);if(l!==vt)return l}a=fm(s),s=s[jn]}i=a}return o}function fm(e){let t=e[T],n=t.type;return n===2?t.declTNode:n===1?e[Ie]:null}function ud(e){return o_(re(),e)}function c_(){return zr(re(),C())}function zr(e,t){return new jt(Ue(e,t))}var jt=(()=>{class e{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=c_}return e})();function pm(e){return e instanceof jt?e.nativeElement:e}function l_(){return this._results[Symbol.iterator]()}var tu=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new le}constructor(t=!1){this._emitDistinctChangesOnly=t}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){this.dirty=!1;let r=A0(t);(this._changesDetected=!M0(this._results,r,n))&&(this._results=r,this.length=r.length,this.last=r[this.length-1],this.first=r[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(t){this._onDirty=t}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=l_};function hm(e){return(e.flags&128)===128}var ad=(function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e})(ad||{}),gm=new Map,d_=0;function f_(){return d_++}function p_(e){gm.set(e[Ft],e)}function Ml(e){gm.delete(e[Ft])}var Dg="__ngContext__";function jr(e,t){bt(t)?(e[Dg]=t[Ft],p_(t)):e[Dg]=t}function mm(e){return bm(e[Ar])}function ym(e){return bm(e[He])}function bm(e){for(;e!==null&&!Ke(e);)e=e[He];return e}var Al;function cd(e){Al=e}function vm(){if(Al!==void 0)return Al;if(typeof document<"u")return document;throw new _(210,!1)}var gu=new x("",{factory:()=>h_}),h_="ng";var mu=new x(""),Xn=new x("",{providedIn:"platform",factory:()=>"unknown"}),g_=new x(""),yu=new x("",{factory:()=>b(K).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var Dm="r";var Em="di";var _m=!1,Cm=new x("",{factory:()=>_m});var wm=new x("");var m_=(e,t,n,r)=>{};function y_(e,t,n,r){m_(e,t,n,r)}function bu(e){return(e.flags&32)===32}var b_=()=>null;function xm(e,t,n=!1){return b_(e,t,n)}function Im(e,t){let n=e.contentQueries;if(n!==null){let r=M(null);try{for(let o=0;oe,createScript:e=>e,createScriptURL:e=>e})}catch{}return Hs}function vu(e){return v_()?.createHTML(e)||e}var $s;function D_(){if($s===void 0&&($s=null,xe.trustedTypes))try{$s=xe.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return $s}function Eg(e){return D_()?.createHTML(e)||e}var Lt=class{changingThisBreaksApplicationSecurity;constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Es})`}},kl=class extends Lt{getTypeName(){return"HTML"}},Rl=class extends Lt{getTypeName(){return"Style"}},Fl=class extends Lt{getTypeName(){return"Script"}},Ol=class extends Lt{getTypeName(){return"URL"}},Pl=class extends Lt{getTypeName(){return"ResourceURL"}};function Pe(e){return e instanceof Lt?e.changingThisBreaksApplicationSecurity:e}function Bt(e,t){let n=Tm(e);if(n!=null&&n!==t){if(n==="ResourceURL"&&t==="URL")return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${Es})`)}return n===t}function Tm(e){return e instanceof Lt&&e.getTypeName()||null}function dd(e){return new kl(e)}function fd(e){return new Rl(e)}function pd(e){return new Fl(e)}function hd(e){return new Ol(e)}function gd(e){return new Pl(e)}function E_(e){let t=new jl(e);return __()?new Ll(t):t}var Ll=class{inertDocumentHelper;constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{let n=new window.DOMParser().parseFromString(vu(t),"text/html").body;return n===null?this.inertDocumentHelper.getInertBodyElement(t):(n.firstChild?.remove(),n)}catch{return null}}},jl=class{defaultDoc;inertDocument;constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){let n=this.inertDocument.createElement("template");return n.innerHTML=vu(t),n}};function __(){try{return!!new window.DOMParser().parseFromString(vu(""),"text/html")}catch{return!1}}var C_=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function ui(e){return e=String(e),e.match(C_)?e:"unsafe:"+e}function Vt(e){let t={};for(let n of e.split(","))t[n]=!0;return t}function ai(...e){let t={};for(let n of e)for(let r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}var Sm=Vt("area,br,col,hr,img,wbr"),Mm=Vt("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Am=Vt("rp,rt"),w_=ai(Am,Mm),x_=ai(Mm,Vt("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),I_=ai(Am,Vt("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),_g=ai(Sm,x_,I_,w_),Nm=Vt("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),T_=Vt("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),S_=Vt("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"),M_=ai(Nm,T_,S_),A_=Vt("script,style,template"),Bl=class{sanitizedSomething=!1;buf=[];sanitizeChildren(t){let n=t.firstChild,r=!0,o=[];for(;n;){if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild){o.push(n),n=R_(n);continue}for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=k_(n);if(i){n=i;break}n=o.pop()}}return this.buf.join("")}startElement(t){let n=Cg(t).toLowerCase();if(!_g.hasOwnProperty(n))return this.sanitizedSomething=!0,!A_.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);let r=t.attributes;for(let o=0;o"),!0}endElement(t){let n=Cg(t).toLowerCase();_g.hasOwnProperty(n)&&!Sm.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(wg(t))}};function N_(e,t){return(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function k_(e){let t=e.nextSibling;if(t&&e!==t.previousSibling)throw km(t);return t}function R_(e){let t=e.firstChild;if(t&&N_(e,t))throw km(t);return t}function Cg(e){let t=e.nodeName;return typeof t=="string"?t:"FORM"}function km(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}var F_=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,O_=/([^\#-~ |!])/g;function wg(e){return e.replace(/&/g,"&").replace(F_,function(t){let n=t.charCodeAt(0),r=t.charCodeAt(1);return"&#"+((n-55296)*1024+(r-56320)+65536)+";"}).replace(O_,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}var Us;function Du(e,t){let n=null;try{Us=Us||E_(e);let r=t?String(t):"";n=Us.getInertBodyElement(r);let o=5,i=r;do{if(o===0)throw new Error("Failed to sanitize html because the input is unstable");o--,r=i,i=n.innerHTML,n=Us.getInertBodyElement(r)}while(r!==i);let u=new Bl().sanitizeChildren(xg(n)||n);return vu(u)}finally{if(n){let r=xg(n)||n;for(;r.firstChild;)r.firstChild.remove()}}}function xg(e){return"content"in e&&P_(e)?e.content:null}function P_(e){return e.nodeType===Node.ELEMENT_NODE&&e.nodeName==="TEMPLATE"}var L_=/^>|^->||--!>|)/g,B_="\u200B$1\u200B";function V_(e){return e.replace(L_,t=>t.replace(j_,B_))}function H_(e,t){return e.createText(t)}function $_(e,t,n){e.setValue(t,n)}function U_(e,t){return e.createComment(V_(t))}function Rm(e,t,n){return e.createElement(t,n)}function nu(e,t,n,r,o){e.insertBefore(t,n,r,o)}function Fm(e,t,n){e.appendChild(t,n)}function Ig(e,t,n,r,o){r!==null?nu(e,t,n,r,o):Fm(e,t,n)}function Om(e,t,n,r){e.removeChild(null,t,n,r)}function z_(e,t,n){e.setAttribute(t,"style",n)}function q_(e,t,n){n===""?e.removeAttribute(t,"class"):e.setAttribute(t,"class",n)}function Pm(e,t,n){let{mergedAttrs:r,classes:o,styles:i}=n;r!==null&&JE(e,t,r),o!==null&&q_(e,t,o),i!==null&&z_(e,t,i)}var Le=(function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e})(Le||{});function md(e){let t=Lm();return t?Eg(t.sanitize(Le.HTML,e)||""):Bt(e,"HTML")?Eg(Pe(e)):Du(vm(),Ne(e))}function G_(e){let t=Lm();return t?t.sanitize(Le.URL,e)||"":Bt(e,"URL")?Pe(e):ui(Ne(e))}function Lm(){let e=C();return e&&e[mt].sanitizer}function W_(e){return e.ownerDocument.defaultView}function Z_(e){return e.ownerDocument}function jm(e){return e instanceof Function?e():e}function Y_(e,t,n){let r=e.length;for(;;){let o=e.indexOf(t,n);if(o===-1)return o;if(o===0||e.charCodeAt(o-1)<=32){let i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}var Bm="ng-template";function Q_(e,t,n,r){let o=0;if(r){for(;o-1){let i;for(;++oi?d="":d=o[l+1].toLowerCase(),r&2&&c!==d){if(et(r))return!1;s=!0}}}}return et(r)||s}function et(e){return(e&1)===0}function X_(e,t,n,r){if(t===null)return-1;let o=0;if(r||!n){let i=!1;for(;o-1)for(n++;n0?'="'+u+'"':"")+"]"}else r&8?o+="."+s:r&4&&(o+=" "+s);else o!==""&&!et(s)&&(t+=Tg(i,o),o=""),r=s,i=i||!et(r);n++}return o!==""&&(t+=Tg(i,o)),t}function iC(e){return e.map(oC).join(",")}function sC(e){let t=[],n=[],r=1,o=2;for(;r{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),_d=[0,1,2,3],Cd=(()=>{class e{ngZone=b(be);scheduler=b(ft);errorHandler=b(Ve,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){b(Dt,{optional:!0})}execute(){let n=this.sequences.size>0;n&&W(q.AfterRenderHooksStart),this.executing=!0;for(let r of _d)for(let o of this.sequences)if(!(o.erroredOrDestroyed||!o.hooks[r]))try{o.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let i=o.hooks[r];return i(o.pipelinedValue)},o.snapshot))}catch(i){o.erroredOrDestroyed=!0,this.errorHandler?.handleError(i)}this.executing=!1;for(let r of this.sequences)r.afterRun(),r.once&&(this.sequences.delete(r),r.destroy());for(let r of this.deferredRegistrations)this.sequences.add(r);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),n&&W(q.AfterRenderHooksEnd)}register(n){let{view:r}=n;r!==void 0?((r[Vn]??=[]).push(n),zn(r),r[L]|=8192):this.executing?this.deferredRegistrations.add(n):this.addSequence(n)}addSequence(n){this.sequences.add(n),this.scheduler.notify(7)}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}maybeTrace(n,r){return r?r.run(_u.AFTER_NEXT_RENDER,n):n()}static \u0275prov=I({token:e,providedIn:"root",factory:()=>new e})}return e})(),Xo=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(t,n,r,o,i,s=null){this.impl=t,this.hooks=n,this.view=r,this.once=o,this.snapshot=s,this.unregisterOnDestroy=i?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let t=this.view?.[Vn];t&&(this.view[Vn]=t.filter(n=>n!==this))}};function dC(e,t){let n=t?.injector??b(we);return Ht("NgAfterNextRender"),pC(e,n,t,!0)}function fC(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function pC(e,t,n,r){let o=t.get(Cu);o.impl??=t.get(Cd);let i=t.get(Dt,null,{optional:!0}),s=n?.manualCleanup!==!0?t.get(Oe):null,u=t.get(Fr,null,{optional:!0}),a=new Xo(o.impl,fC(e),u?.view,r,s,i?.snapshot(null));return o.impl.register(a),a}var zm=new x("",{factory:()=>({queue:new Set,isScheduled:!1,scheduler:null,injector:b(Ce)})});function qm(e,t,n){let r=e.get(zm);if(Array.isArray(t))for(let o of t)r.queue.add(o),n?.detachedLeaveAnimationFns?.push(o);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function hC(e,t){let n=e.get(zm);if(t.detachedLeaveAnimationFns){for(let r of t.detachedLeaveAnimationFns)n.queue.delete(r);t.detachedLeaveAnimationFns=void 0}}function gC(e,t){for(let[n,r]of t)qm(e,r.animateFns)}function Mg(e,t,n,r){let o=e?.[Hn]?.enter;t!==null&&o&&o.has(n.index)&&gC(r,o)}function Or(e,t,n,r,o,i,s,u){if(o!=null){let a,c=!1;Ke(o)?a=o:bt(o)&&(c=!0,o=o[Qe]);let l=$e(o);e===0&&r!==null?(Mg(u,r,i,n),s==null?Fm(t,r,l):nu(t,r,l,s||null,!0)):e===1&&r!==null?(Mg(u,r,i,n),nu(t,r,l,s||null,!0)):e===2?Ag(u,i,n,d=>{Om(t,l,c,d)}):e===3&&Ag(u,i,n,()=>{t.destroyNode(l)}),a!=null&&IC(t,e,n,a,i,r,s)}}function mC(e,t){Gm(e,t),t[Qe]=null,t[Ie]=null}function yC(e,t,n,r,o,i){r[Qe]=o,r[Ie]=t,xu(e,r,n,1,o,i)}function Gm(e,t){t[mt].changeDetectionScheduler?.notify(9),xu(e,t,t[Z],2,null,null)}function bC(e){let t=e[Ar];if(!t)return bl(e[T],e);for(;t;){let n=null;if(bt(t))n=t[Ar];else{let r=t[te];r&&(n=r)}if(!n){for(;t&&!t[He]&&t!==e;)bt(t)&&bl(t[T],t),t=t[ae];t===null&&(t=e),bt(t)&&bl(t[T],t),n=t&&t[He]}t=n}}function wd(e,t){let n=e[$n],r=n.indexOf(t);n.splice(r,1)}function wu(e,t){if(Un(t))return;let n=t[Z];n.destroyNode&&xu(e,t,n,3,null,null),bC(t)}function bl(e,t){if(Un(t))return;let n=M(null);try{t[L]&=-129,t[L]|=256,t[ke]&&en(t[ke]),EC(e,t),DC(e,t),t[T].type===1&&t[Z].destroy();let r=t[cn];if(r!==null&&Ke(t[ae])){r!==t[ae]&&wd(r,t);let o=t[yt];o!==null&&o.detachView(e)}Ml(t)}finally{M(n)}}function Ag(e,t,n,r){let o=e?.[Hn];if(o==null||o.leave==null||!o.leave.has(t.index))return r(!1);e&&Qn.add(e[Ft]),qm(n,()=>{if(o.leave&&o.leave.has(t.index)){let s=o.leave.get(t.index),u=[];if(s){for(let a=0;a{e[Hn].running=void 0,Qn.delete(e[Ft]),t(!0)});return}t(!1)}function DC(e,t){let n=e.cleanup,r=t[Mr];if(n!==null)for(let s=0;s=0?r[u]():r[-u].unsubscribe(),s+=2}else{let u=r[n[s+1]];n[s].call(u)}r!==null&&(t[Mr]=null);let o=t[Nt];if(o!==null){t[Nt]=null;for(let s=0;sQ&&Um(e,t,Q,!1);let u=s?q.TemplateUpdateStart:q.TemplateCreateStart;W(u,o,n),n(r,o)}finally{dn(i);let u=s?q.TemplateUpdateEnd:q.TemplateCreateEnd;W(u,o,n)}}function Iu(e,t,n){kC(e,t,n),(n.flags&64)===64&&RC(e,t,n)}function ci(e,t,n=Ue){let r=t.localNames;if(r!==null){let o=t.index+1;for(let i=0;inull;function NC(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function Jm(e,t,n,r,o,i){let s=t[T];if(Tu(e,s,t,n,r)){Ot(e)&&ey(t,e.index);return}e.type&3&&(n=NC(n)),Xm(e,t,n,r,o,i)}function Xm(e,t,n,r,o,i){if(e.type&3){let s=Ue(e,t);r=i!=null?i(r,e.value||"",n):r,o.setProperty(s,n,r)}else e.type&12}function ey(e,t){let n=Re(t,e);n[L]&16||(n[L]|=64)}function kC(e,t,n){let r=n.directiveStart,o=n.directiveEnd;Ot(n)&&cC(t,n,e.data[r+n.componentOffset]),e.firstCreatePass||eu(n,t);let i=n.initialInputs;for(let s=r;s=u&&f<=a){let p=t.data[f],g=d[h+1];Jo(p,n[f],g,i),c=!0}else if(f>a)break}}return s!==null&&r.inputs.hasOwnProperty(o)&&(Jo(r,n[s],o,i),c=!0),c}function BC(e,t){let n=Re(t,e),r=n[T];VC(r,n);let o=n[Qe];o!==null&&n[Ln]===null&&(n[Ln]=xm(o,n[Rt])),W(q.ComponentStart);try{Ad(r,n,n[ee])}finally{W(q.ComponentEnd,n[ee])}}function VC(e,t){for(let n=t.length;n{zn(e.lView)},consumerOnSignalRead(){this.lView[ke]=this}});function GC(e){let t=e[ke]??Object.create(WC);return t.lView=e,t}var WC=P(S({},Kt),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let t=an(e.lView);for(;t&&!iy(t[T]);)t=an(t);t&&Yc(t)},consumerOnSignalRead(){this.lView[ke]=this}});function iy(e){return e.type!==2}function sy(e){if(e[un]===null)return;let t=!0;for(;t;){let n=!1;for(let r of e[un])r.dirty&&(n=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));t=n&&!!(e[L]&8192)}}var ZC=100;function uy(e,t=0){let r=e[mt].rendererFactory,o=!1;o||r.begin?.();try{YC(e,t)}finally{o||r.end?.()}}function YC(e,t){let n=ul();try{No(!0),Hl(e,t);let r=0;for(;$o(e);){if(r===ZC)throw new _(103,!1);r++,Hl(e,1)}}finally{No(n)}}function QC(e,t,n,r){if(Un(t))return;let o=t[L],i=!1,s=!1;Ls(t);let u=!0,a=null,c=null;i||(iy(e)?(c=$C(t),a=It(c)):ji()===null?(u=!1,c=GC(t),a=It(c)):t[ke]&&(en(t[ke]),t[ke]=null));try{Zc(t),Y0(e.bindingStartIndex),n!==null&&Km(e,t,n,2,r);let l=(o&3)===3;if(!i)if(l){let f=e.preOrderCheckHooks;f!==null&&qs(t,f,null)}else{let f=e.preOrderHooks;f!==null&&Gs(t,f,0,null),ml(t,0)}if(s||KC(t),sy(t),ay(t,0),e.contentQueries!==null&&Im(e,t),!i)if(l){let f=e.contentCheckHooks;f!==null&&qs(t,f)}else{let f=e.contentHooks;f!==null&&Gs(t,f,1),ml(t,1)}XC(e,t);let d=e.components;d!==null&&ly(t,d,0);let h=e.viewQuery;if(h!==null&&Nl(2,h,r),!i)if(l){let f=e.viewCheckHooks;f!==null&&qs(t,f)}else{let f=e.viewHooks;f!==null&&Gs(t,f,2),ml(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[Ns]){for(let f of t[Ns])f();t[Ns]=null}i||(ry(t),t[L]&=-73)}catch(l){throw i||zn(t),l}finally{c!==null&&(Xt(c,a),u&&zC(c)),js()}}function ay(e,t){for(let n=mm(e);n!==null;n=ym(n))for(let r=te;r0&&(e[n-1][He]=r[He]);let i=Oo(e,te+t);mC(r[T],r);let s=i[yt];s!==null&&s.detachView(i[T]),r[ae]=null,r[He]=null,r[L]&=-129}return r}function ew(e,t,n,r){let o=te+r,i=n.length;r>0&&(n[o-1][He]=t),r-1&&(ti(t,r),Oo(n,r))}this._attachedToViewContainer=!1}wu(this._lView[T],this._lView)}onDestroy(t){Qc(this._lView,t)}markForCheck(){Su(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[L]&=-129}reattach(){Rs(this._lView),this._lView[L]|=128}detectChanges(){this._lView[L]|=1024,uy(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new _(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let t=kr(this._lView),n=this._lView[cn];n!==null&&!t&&wd(n,this._lView),Gm(this._lView[T],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new _(902,!1);this._appRef=t;let n=kr(this._lView),r=this._lView[cn];r!==null&&!n&&hy(r,this._lView),Rs(this._lView)}};var gn=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=tw;constructor(n,r,o){this._declarationLView=n,this._declarationTContainer=r,this.elementRef=o}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,r){return this.createEmbeddedViewImpl(n,r)}createEmbeddedViewImpl(n,r,o){let i=li(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:r,dehydratedView:o});return new hn(i)}}return e})();function tw(){return Mu(re(),C())}function Mu(e,t){return e.type&4?new gn(t,e,zr(e,t)):null}function er(e,t,n,r,o){let i=e.data[t];if(i===null)i=nw(e,t,n,r,o),Q0()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=r,i.attrs=o;let s=Z0();i.injectorIndex=s===null?-1:s.injectorIndex}return qn(i,!0),i}function nw(e,t,n,r,o){let i=rl(),s=ol(),u=s?i:i&&i.parent,a=e.data[t]=ow(e,u,n,t,r,o);return rw(e,a,i,s),a}function rw(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function ow(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,u=0;return el()&&(u|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,fieldIndex:-1,customControlIndex:-1,propertyBindings:null,flags:u,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function iw(e){let t=e[zc]??[],r=e[ae][Z],o=[];for(let i of t)i.data[Em]!==void 0?o.push(i):sw(i,r);e[zc]=o}function sw(e,t){let n=0,r=e.firstChild;if(r){let o=e.data[Dm];for(;nnull,aw=()=>null;function ru(e,t){return uw(e,t)}function gy(e,t,n){return aw(e,t,n)}var my=class{},Au=class{},$l=class{resolveComponentFactory(t){throw new _(917,!1)}},fi=class{static NULL=new $l},Kn=class{},pi=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>cw()}return e})();function cw(){let e=C(),t=re(),n=Re(t.index,e);return(bt(n)?n:e)[Z]}var yy=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:()=>null})}return e})();var Zs={},Ul=class{injector;parentInjector;constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){let o=this.injector.get(t,Zs,r);return o!==Zs||n===Zs?o:this.parentInjector.get(t,n,r)}};function ou(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(t!==null)for(let s=0;s0&&(n.directiveToIndex=new Map);for(let h=0;h0;){let n=e[--t];if(typeof n=="number"&&n<0)return n}return 0}function bw(e,t,n){if(n){if(t.exportAs)for(let r=0;rr($e(g[e.index])):e.index;Cy(p,t,n,i,u,f,!1)}}return c}function Cw(e){return e.startsWith("animation")||e.startsWith("transition")}function ww(e,t,n,r){let o=e.cleanup;if(o!=null)for(let i=0;ia?u[a]:null}typeof s=="string"&&(i+=2)}return null}function Cy(e,t,n,r,o,i,s){let u=t.firstCreatePass?Jc(t):null,a=Kc(n),c=a.length;a.push(o,i),u&&u.push(r,e,c,(c+1)*(s?-1:1))}function Pg(e,t,n,r,o,i){let s=t[n],u=t[T],c=u.data[n].outputs[r],d=s[c].subscribe(i);Cy(e.index,u,t,o,i,d,!0)}var ni=Symbol("BINDING"),xw={kind:"input",requiredVars:1},Iw={kind:"field",requiredVars:2};function Lg(e,t,n){let r=C(),o=Xe();if(Te(r,o,n)){let i=r[T],s=fn(),u=Re(s.index,r);Su(u,1);let a=i.directiveRegistry[e],c=jC(s,i,r,a,t,n)}}function jg(e,t){return C()[t.directiveStart+e.targetIdx][Ey]}function U(e,t){if(e==="formField"){let r={[ni]:Iw,create:()=>{jg(r,re())?.create()},update:()=>{Lg(r.targetIdx,e,t()),jg(r,fn())?.update()}};return r}let n={[ni]:xw,update:()=>Lg(n.targetIdx,e,t())};return n}var su=class extends fi{ngModule;constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){let n=gt(t);return new mn(n,this.ngModule)}};function Tw(e){return Object.keys(e).map(t=>{let[n,r,o]=e[t],i={propName:n,templateName:t,isSignal:(r&Eu.SignalBased)!==0};return o&&(i.transform=o),i})}function Sw(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Mw(e,t,n){let r=t instanceof Ce?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Ul(n,r):n}function Aw(e){let t=e.get(Kn,null);if(t===null)throw new _(407,!1);let n=e.get(yy,null),r=e.get(ft,null);return{rendererFactory:t,sanitizer:n,changeDetectionScheduler:r,ngReflect:!1}}function Nw(e,t){let n=wy(e);return Rm(t,n,n==="svg"?Gc:n==="math"?j0:null)}function wy(e){return(e.selectors[0][0]||"div").toLowerCase()}var mn=class extends Au{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=Tw(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=Sw(this.componentDef.outputs),this.cachedOutputs}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=iC(t.selectors),this.ngContentSelectors=t.ngContentSelectors??[],this.isBoundToModule=!!n}create(t,n,r,o,i,s){W(q.DynamicComponentStart);let u=M(null);try{let a=this.componentDef,c=kw(r,a,s,i),l=Mw(a,o||this.ngModule,t),d=Aw(l),h=d.rendererFactory.createRenderer(null,a),f=r?SC(h,r,a.encapsulation,l):Nw(a,h),p=s?.some(Bg)||i?.some(y=>typeof y!="function"&&y.bindings.some(Bg)),g=vd(null,c,null,512|Hm(a),null,null,d,h,l,null,xm(f,l,!0));g[Q]=f,Ls(g);let m=null;try{let y=Nd(Q,g,2,"#host",()=>c.directiveRegistry,!0,0);Pm(h,f,y),jr(f,g),Iu(c,g,y),ld(c,y,g),kd(c,y),n!==void 0&&Fw(y,this.ngContentSelectors,n),m=Re(y.index,g),g[ee]=m[ee],Ad(c,g,null)}catch(y){throw m!==null&&Ml(m),Ml(g),y}finally{W(q.DynamicComponentEnd),js()}return new uu(this.componentType,g,!!p)}finally{M(u)}}};function kw(e,t,n,r){let o=e?["ng-version","21.1.0"]:sC(t.selectors[0]),i=null,s=null,u=0;if(n)for(let l of n)u+=l[ni].requiredVars,l.create&&(l.targetIdx=0,(i??=[]).push(l)),l.update&&(l.targetIdx=0,(s??=[]).push(l));if(r)for(let l=0;l{if(n&1&&e)for(let r of e)r.create();if(n&2&&t)for(let r of t)r.update()}}function Bg(e){let t=e[ni].kind;return t==="input"||t==="twoWay"}var uu=class extends my{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(t,n,r){super(),this._rootLView=n,this._hasInputBindings=r,this._tNode=Bo(n[T],Q),this.location=zr(this._tNode,n),this.instance=Re(this._tNode.index,n)[ee],this.hostView=this.changeDetectorRef=new hn(n,void 0),this.componentType=t}setInput(t,n){this._hasInputBindings;let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),n))return;let o=this._rootLView,i=Tu(r,o[T],o,t,n);this.previousInputValues.set(t,n);let s=Re(r.index,o);Su(s,1)}get injector(){return new Zn(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}};function Fw(e,t,n){let r=e.projection=[];for(let o=0;o{class e{static __NG_ELEMENT_ID__=Ow}return e})();function Ow(){let e=re();return Iy(e,C())}var Pw=rt,xy=class extends Pw{_lContainer;_hostTNode;_hostLView;constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return zr(this._hostTNode,this._hostLView)}get injector(){return new Zn(this._hostTNode,this._hostLView)}get parentInjector(){let t=sd(this._hostTNode,this._hostLView);if(om(t)){let n=Js(t,this._hostLView),r=Ks(t),o=n[T].data[r+8];return new Zn(o,n)}else return new Zn(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){let n=Vg(this._lContainer);return n!==null&&n[t]||null}get length(){return this._lContainer.length-te}createEmbeddedView(t,n,r){let o,i;typeof r=="number"?o=r:r!=null&&(o=r.index,i=r.injector);let s=ru(this._lContainer,t.ssrId),u=t.createEmbeddedViewImpl(n||{},i,s);return this.insertImpl(u,o,Br(this._hostTNode,s)),u}createComponent(t,n,r,o,i,s,u){let a=t&&!zE(t),c;if(a)c=n;else{let m=n||{};c=m.index,r=m.injector,o=m.projectableNodes,i=m.environmentInjector||m.ngModuleRef,s=m.directives,u=m.bindings}let l=a?t:new mn(gt(t)),d=r||this.parentInjector;if(!i&&l.ngModule==null){let y=(a?d:this.parentInjector).get(Ce,null);y&&(i=y)}let h=gt(l.componentType??{}),f=ru(this._lContainer,h?.id??null),p=f?.firstChild??null,g=l.create(d,o,p,i,s,u);return this.insertImpl(g.hostView,c,Br(this._hostTNode,f)),g}insert(t,n){return this.insertImpl(t,n,!0)}insertImpl(t,n,r){let o=t._lView;if(V0(o)){let u=this.indexOf(t);if(u!==-1)this.detach(u);else{let a=o[ae],c=new xy(a,a[Ie],a[ae]);c.detach(c.indexOf(t))}}let i=this._adjustIndex(n),s=this._lContainer;return di(s,o,i,r),t.attachToViewContainerRef(),Pc(vl(s),i,t),t}move(t,n){return this.insert(t,n)}indexOf(t){let n=Vg(this._lContainer);return n!==null?n.indexOf(t):-1}remove(t){let n=this._adjustIndex(t,-1),r=ti(this._lContainer,n);r&&(Oo(vl(this._lContainer),n),wu(r[T],r))}detach(t){let n=this._adjustIndex(t,-1),r=ti(this._lContainer,n);return r&&Oo(vl(this._lContainer),n)!=null?new hn(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function Vg(e){return e[jo]}function vl(e){return e[jo]||(e[jo]=[])}function Iy(e,t){let n,r=t[e.index];return Ke(r)?n=r:(n=dy(r,t,null,e),t[e.index]=n,Dd(t,n)),jw(n,t,e,r),new xy(n,e,t)}function Lw(e,t){let n=e[Z],r=n.createComment(""),o=Ue(t,e),i=n.parentNode(o);return nu(n,i,r,n.nextSibling(o),!1),r}var jw=Hw,Bw=()=>!1;function Vw(e,t,n){return Bw(e,t,n)}function Hw(e,t,n,r){if(e[ln])return;let o;n.type&8?o=$e(r):o=Lw(t,n),e[ln]=o}var zl=class e{queryList;matches=null;constructor(t){this.queryList=t}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},ql=class e{queries;constructor(t=[]){this.queries=t}createEmbeddedView(t){let n=t.queries;if(n!==null){let r=t.contentQueries!==null?t.contentQueries[0]:n.length,o=[];for(let i=0;i0)r.push(s[u/2]);else{let c=i[u+1],l=t[-a];for(let d=te;dt.trim())}function Ny(e,t,n){e.queries===null&&(e.queries=new Gl),e.queries.track(new Wl(t,n))}function Ww(e,t){let n=e.contentQueries||(e.contentQueries=[]),r=n.length?n[n.length-1]:-1;t!==r&&n.push(e.queries.length-1,t)}function Pd(e,t){return e.queries.getByIndex(t)}function ky(e,t){let n=e[T],r=Pd(n,t);return r.crossesNgTemplate?Zl(n,e,t,[]):Ty(n,e,r,t)}function Ld(e,t,n){let r,o=vo(()=>{r._dirtyCounter();let i=Zw(r,e);if(t&&i===void 0)throw new _(-951,!1);return i});return r=o[ne],r._dirtyCounter=pn(0),r._flatValue=void 0,o}function jd(e){return Ld(!0,!1,e)}function Bd(e){return Ld(!0,!0,e)}function Ry(e){return Ld(!1,!1,e)}function Fy(e,t){let n=e[ne];n._lView=C(),n._queryIndex=t,n._queryList=Od(n._lView,t),n._queryList.onDirty(()=>n._dirtyCounter.update(r=>r+1))}function Zw(e,t){let n=e._lView,r=e._queryIndex;if(n===void 0||r===void 0||n[L]&4)return t?void 0:ye;let o=Od(n,r),i=ky(n,r);return o.reset(i,pm),t?o.first:o._changesDetected||e._flatValue===void 0?e._flatValue=o.toArray():e._flatValue}var yn=class{},Oy=class{};function Vd(e,t){return new ri(e,t??null,[])}var ri=class extends yn{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new su(this);constructor(t,n,r,o=!0){super(),this.ngModuleType=t,this._parent=n;let i=Rc(t);this._bootstrapComponents=jm(i.bootstrap),this._r3Injector=dl(t,n,[{provide:yn,useValue:this},{provide:fi,useValue:this.componentFactoryResolver},...r],kt(t),new Set(["environment"])),o&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}},cu=class extends Oy{moduleType;constructor(t){super(),this.moduleType=t}create(t){return new ri(this.moduleType,t,[])}};var oi=class extends yn{injector;componentFactoryResolver=new su(this);instance=null;constructor(t){super();let n=new Fn([...t.providers,{provide:yn,useValue:this},{provide:fi,useValue:this.componentFactoryResolver}],t.parent||Tr(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}};function Py(e,t,n=null){return new oi({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Yw=(()=>{class e{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=Bc(!1,n.type),o=r.length>0?Py([r],this._injector,""):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=I({token:e,providedIn:"environment",factory:()=>new e(A(Ce))})}return e})();function Gr(e){return si(()=>{let t=Ly(e),n=P(S({},t),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ad.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?o=>o.get(Yw).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||tt.Emulated,styles:e.styles||ye,_:null,schemas:e.schemas||null,tView:null,id:""});t.standalone&&Ht("NgStandalone"),jy(n);let r=e.dependencies;return n.directiveDefs=Hg(r,Qw),n.pipeDefs=Hg(r,w0),n.id=Xw(n),n})}function Qw(e){return gt(e)||xs(e)}function $t(e){return si(()=>({type:e.type,bootstrap:e.bootstrap||ye,declarations:e.declarations||ye,imports:e.imports||ye,exports:e.exports||ye,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Kw(e,t){if(e==null)return Ye;let n={};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r],i,s,u,a;Array.isArray(o)?(u=o[0],i=o[1],s=o[2]??i,a=o[3]||null):(i=o,s=o,u=Eu.None,a=null),n[i]=[r,u,a],t[i]=s}return n}function Jw(e){if(e==null)return Ye;let t={};for(let n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function ot(e){return si(()=>{let t=Ly(e);return jy(t),t})}function ku(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Ly(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||Ye,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||ye,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:Kw(e.inputs,t),outputs:Jw(e.outputs),debugInfo:null}}function jy(e){e.features?.forEach(t=>t(e))}function Hg(e,t){return e?()=>{let n=typeof e=="function"?e():e,r=[];for(let o of n){let i=t(o);i!==null&&r.push(i)}return r}:null}function Xw(e){let t=0,n=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let i of r.join("|"))t=Math.imul(31,t)+i.charCodeAt(0)<<0;return t+=2147483648,"c"+t}function ex(e){let t=n=>{let r=Array.isArray(e);n.hostDirectives===null?(n.resolveHostDirectives=tx,n.hostDirectives=r?e.map(Yl):[e]):r?n.hostDirectives.unshift(...e.map(Yl)):n.hostDirectives.unshift(e)};return t.ngInherit=!0,t}function tx(e){let t=[],n=!1,r=null,o=null;for(let i=0;i=0;r--){let o=e[r];o.hostVars=t+=o.hostVars,o.hostAttrs=Lr(o.hostAttrs,n=Lr(n,o.hostAttrs))}}function Dl(e){return e===Ye?{}:e===ye?[]:e}function sx(e,t){let n=e.viewQuery;n?e.viewQuery=(r,o)=>{t(r,o),n(r,o)}:e.viewQuery=t}function ux(e,t){let n=e.contentQueries;n?e.contentQueries=(r,o,i)=>{t(r,o,i),n(r,o,i)}:e.contentQueries=t}function ax(e,t){let n=e.hostBindings;n?e.hostBindings=(r,o)=>{t(r,o),n(r,o)}:e.hostBindings=t}function Vy(e,t,n,r,o,i,s,u){if(n.firstCreatePass){e.mergedAttrs=Lr(e.mergedAttrs,e.attrs);let l=e.tView=bd(2,e,o,i,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),l.queries=n.queries.embeddedTView(e))}u&&(e.flags|=u),qn(e,!1);let a=lx(n,t,e,r);Bs()&&xd(n,t,a,e),jr(a,t);let c=dy(a,t,a,e);t[r+Q]=c,Dd(t,c),Vw(c,e,t)}function cx(e,t,n,r,o,i,s,u,a,c,l){let d=n+Q,h;return t.firstCreatePass?(h=er(t,d,4,s||null,u||null),Fs()&&by(t,e,h,Fe(t.consts,c),Td),tm(t,h)):h=t.data[d],Vy(h,e,t,n,r,o,i,a),Nr(h)&&Iu(t,e,h),c!=null&&ci(e,h,l),h}function Vr(e,t,n,r,o,i,s,u,a,c,l){let d=n+Q,h;if(t.firstCreatePass){if(h=er(t,d,4,s||null,u||null),c!=null){let f=Fe(t.consts,c);h.localNames=[];for(let p=0;p{class e{log(n){console.log(n)}warn(n){console.warn(n)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function zy(e){return typeof e=="function"&&e[ne]!==void 0}function Hd(e){return zy(e)&&typeof e.set=="function"}var Ru=new x(""),Fu=new x(""),hi=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];_taskTrackingZone=null;_destroyRef;constructor(n,r,o){this._ngZone=n,this.registry=r,As()&&(this._destroyRef=b(Oe,{optional:!0})??void 0),$d||(Gy(o),o.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this._taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){let n=this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),r=this._ngZone.runOutsideAngular(()=>this._ngZone.onStable.subscribe({next:()=>{be.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}}));this._destroyRef?.onDestroy(()=>{n.unsubscribe(),r.unsubscribe()})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;this._callbacks.length!==0;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb()}});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>r.updateCb&&r.updateCb(n)?(clearTimeout(r.timeoutId),!1):!0)}}getPendingTasks(){return this._taskTrackingZone?this._taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),n()},r)),this._callbacks.push({doneCb:n,timeoutId:i,updateCb:o})}whenStable(n,r,o){if(o&&!this._taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,r,o),this._runCallbacksIfReady()}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,o){return[]}static \u0275fac=function(r){return new(r||e)(A(be),A(qy),A(Fu))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),qy=(()=>{class e{_applications=new Map;registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return $d?.findTestabilityInTree(this,n,r)??null}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Gy(e){$d=e}var $d;function gi(e){return!!e&&typeof e.then=="function"}function Ou(e){return!!e&&typeof e.subscribe=="function"}var Ud=new x("");function fx(e){return Pn([{provide:Ud,multi:!0,useValue:e}])}var zd=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r});appInits=b(Ud,{optional:!0})??[];injector=b(we);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let i=Sr(this.injector,o);if(gi(i))n.push(i);else if(Ou(i)){let s=new Promise((u,a)=>{i.subscribe({complete:u,error:a})});n.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Wy=new x("");function Zy(){$a(()=>{let e="";throw new _(600,e)})}function Yy(e){return e.isBoundToModule}var px=10;var Zr=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=b(Pt);afterRenderManager=b(Cu);zonelessEnabled=b(Wo);rootEffectScheduler=b(Vs);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new le;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=b(Gn);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Ee(n=>!n))}constructor(){b(Dt,{optional:!0})}whenStable(){let n;return new Promise(r=>{n=this.isStable.subscribe({next:o=>{o&&r()}})}).finally(()=>{n.unsubscribe()})}_injector=b(Ce);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,r){return this.bootstrapImpl(n,r)}bootstrapImpl(n,r,o=we.NULL){return this._injector.get(be).run(()=>{W(q.BootstrapComponentStart);let s=n instanceof Au;if(!this._injector.get(zd).done){let p="";throw new _(405,p)}let a;s?a=n:a=this._injector.get(fi).resolveComponentFactory(n),this.componentTypes.push(a.componentType);let c=Yy(a)?void 0:this._injector.get(yn),l=r||a.selector,d=a.create(o,[],l,c),h=d.location.nativeElement,f=d.injector.get(Ru,null);return f?.registerApplication(h),d.onDestroy(()=>{this.detachView(d.hostView),Qo(this.components,d),f?.unregisterApplication(h)}),this._loadComponent(d),W(q.BootstrapComponentEnd,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){W(q.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(_u.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw W(q.ChangeDetectionEnd),new _(101,!1);let n=M(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,M(n),this.afterTick.next(),W(q.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Kn,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++$o(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;Qo(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView);try{this.tick()}catch(o){this.internalErrorHandler(o)}this.components.push(n),this._injector.get(Wy,[]).forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Qo(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new _(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Qo(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Qy(e,t){let n=C(),r=Xe();if(Te(n,r,t)){let o=Y(),i=fn();if(Tu(i,o,n,e,t))Ot(i)&&ey(n,i.index);else{let u=Ue(i,n);ty(n[Z],u,null,i.value,e,t,null)}}return Qy}function Pu(e,t,n,r){let o=C(),i=Xe();if(Te(o,i,t)){let s=Y(),u=fn();OC(u,o,e,t,n,r)}return Pu}var BP=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";function hx(){return C()[ve][ee]}var Ql=class{destroy(t){}updateValue(t,n){}swap(t,n){let r=Math.min(t,n),o=Math.max(t,n),i=this.detach(o);if(o-r>1){let s=this.detach(r);this.attach(r,i),this.attach(o,s)}else this.attach(r,i)}move(t,n){this.attach(n,this.detach(t))}};function El(e,t,n,r,o){return e===n&&Object.is(t,r)?1:Object.is(o(e,t),o(n,r))?-1:0}function gx(e,t,n,r){let o,i,s=0,u=e.length-1,a=void 0;if(Array.isArray(t)){M(r);let c=t.length-1;for(M(null);s<=u&&s<=c;){let l=e.at(s),d=t[s],h=El(s,l,s,d,n);if(h!==0){h<0&&e.updateValue(s,d),s++;continue}let f=e.at(u),p=t[c],g=El(u,f,c,p,n);if(g!==0){g<0&&e.updateValue(u,p),u--,c--;continue}let m=n(s,l),y=n(u,f),v=n(s,d);if(Object.is(v,y)){let w=n(c,p);Object.is(w,m)?(e.swap(s,u),e.updateValue(u,p),c--,u--):e.move(u,s),e.updateValue(s,d),s++;continue}if(o??=new lu,i??=qg(e,s,u,n),Kl(e,o,s,v))e.updateValue(s,d),s++,u++;else if(i.has(v))o.set(m,e.detach(s)),u--;else{let w=e.create(s,t[s]);e.attach(s,w),s++,u++}}for(;s<=c;)zg(e,o,n,s,t[s]),s++}else if(t!=null){M(r);let c=t[Symbol.iterator]();M(null);let l=c.next();for(;!l.done&&s<=u;){let d=e.at(s),h=l.value,f=El(s,d,s,h,n);if(f!==0)f<0&&e.updateValue(s,h),s++,l=c.next();else{o??=new lu,i??=qg(e,s,u,n);let p=n(s,h);if(Kl(e,o,s,p))e.updateValue(s,h),s++,u++,l=c.next();else if(!i.has(p))e.attach(s,e.create(s,h)),s++,u++,l=c.next();else{let g=n(s,d);o.set(g,e.detach(s)),u--}}}for(;!l.done;)zg(e,o,n,e.length,l.value),l=c.next()}for(;s<=u;)e.destroy(e.detach(u--));o?.forEach(c=>{e.destroy(c)})}function Kl(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function zg(e,t,n,r,o){if(Kl(e,t,r,n(r,o)))e.updateValue(r,o);else{let i=e.create(r,o);e.attach(r,i)}}function qg(e,t,n,r){let o=new Set;for(let i=t;i<=n;i++)o.add(r(i,e.at(i)));return o}var lu=class{kvMap=new Map;_vMap=void 0;has(t){return this.kvMap.has(t)}delete(t){if(!this.has(t))return!1;let n=this.kvMap.get(t);return this._vMap!==void 0&&this._vMap.has(n)?(this.kvMap.set(t,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(t),!0}get(t){return this.kvMap.get(t)}set(t,n){if(this.kvMap.has(t)){let r=this.kvMap.get(t);this._vMap===void 0&&(this._vMap=new Map);let o=this._vMap;for(;o.has(r);)r=o.get(r);o.set(r,n)}else this.kvMap.set(t,n)}forEach(t){for(let[n,r]of this.kvMap)if(t(r,n),this._vMap!==void 0){let o=this._vMap;for(;o.has(r);)r=o.get(r),t(r,n)}}};function qd(e,t,n,r,o,i,s,u){Ht("NgControlFlow");let a=C(),c=Y(),l=Fe(c.consts,i);return Vr(a,c,e,t,n,r,o,l,256,s,u),Gd}function Gd(e,t,n,r,o,i,s,u){Ht("NgControlFlow");let a=C(),c=Y(),l=Fe(c.consts,i);return Vr(a,c,e,t,n,r,o,l,512,s,u),Gd}function Wd(e,t){Ht("NgControlFlow");let n=C(),r=Xe(),o=n[r]!==fe?n[r]:-1,i=o!==-1?du(n,Q+o):void 0,s=0;if(Te(n,r,e)){let u=M(null);try{if(i!==void 0&&py(i,s),e!==-1){let a=Q+e,c=du(n,a),l=td(n[T],a),d=gy(c,l,n),h=li(n,l,t,{dehydratedView:d});di(c,h,s,Br(l,d))}}finally{M(u)}}else if(i!==void 0){let u=fy(i,s);u!==void 0&&(u[ee]=t)}}var Jl=class{lContainer;$implicit;$index;constructor(t,n,r){this.lContainer=t,this.$implicit=n,this.$index=r}get $count(){return this.lContainer.length-te}};function mx(e){return e}function Lu(e,t){return t}var Xl=class{hasEmptyBlock;trackByFn;liveCollection;constructor(t,n,r){this.hasEmptyBlock=t,this.trackByFn=n,this.liveCollection=r}};function ju(e,t,n,r,o,i,s,u,a,c,l,d,h){Ht("NgControlFlow");let f=C(),p=Y(),g=a!==void 0,m=C(),y=u?s.bind(m[ve][ee]):s,v=new Xl(g,y);m[Q+e]=v,Vr(f,p,e+1,t,n,r,o,Fe(p.consts,i),256),g&&Vr(f,p,e+2,a,c,l,d,Fe(p.consts,h),512)}var ed=class extends Ql{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(t,n,r){super(),this.lContainer=t,this.hostLView=n,this.templateTNode=r}get length(){return this.lContainer.length-te}at(t){return this.getLView(t)[ee].$implicit}attach(t,n){let r=n[Ln];this.needsIndexUpdate||=t!==this.length,di(this.lContainer,n,t,Br(this.templateTNode,r)),yx(this.lContainer,t)}detach(t){return this.needsIndexUpdate||=t!==this.length-1,bx(this.lContainer,t),vx(this.lContainer,t)}create(t,n){let r=ru(this.lContainer,this.templateTNode.tView.ssrId);return li(this.hostLView,this.templateTNode,new Jl(this.lContainer,n,t),{dehydratedView:r})}destroy(t){wu(t[T],t)}updateValue(t,n){this.getLView(t)[ee].$implicit=n}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let t=0;t0){let i=r[Rt];hC(i,o),Qn.delete(r[Ft]),o.detachedLeaveAnimationFns=void 0}}function bx(e,t){if(e.length<=te)return;let n=te+t,r=e[n],o=r?r[Hn]:void 0;o&&o.leave&&o.leave.size>0&&(o.detachedLeaveAnimationFns=[])}function vx(e,t){return ti(e,t)}function Dx(e,t){return fy(e,t)}function td(e,t){return Bo(e,t)}function Yr(e,t,n){let r=C(),o=Xe();if(Te(r,o,t)){let i=Y(),s=fn();Jm(s,r,e,t,r[Z],n)}return Yr}function nd(e,t,n,r,o){Tu(t,e,n,o?"class":"style",r)}function Qr(e,t,n,r){let o=C(),i=o[T],s=e+Q,u=i.firstCreatePass?Nd(s,o,2,t,Td,Fs(),n,r):i.data[s];if(Sd(u,o,e,t,Jy),Nr(u)){let a=o[T];Iu(a,o,u),ld(a,u,o)}return r!=null&&ci(o,u),Qr}function Kr(){let e=Y(),t=re(),n=Md(t);return e.firstCreatePass&&kd(e,n),tl(n)&&nl(),Xc(),n.classesWithoutHost!=null&&QE(n)&&nd(e,n,C(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&KE(n)&&nd(e,n,C(),n.stylesWithoutHost,!1),Kr}function Ky(e,t,n,r){return Qr(e,t,n,r),Kr(),Ky}function Zd(e,t,n,r){let o=C(),i=o[T],s=e+Q,u=i.firstCreatePass?Dw(s,i,2,t,n,r):i.data[s];return Sd(u,o,e,t,Jy),r!=null&&ci(o,u),Zd}function Yd(){let e=re(),t=Md(e);return tl(t)&&nl(),Xc(),Yd}function Vu(e,t,n,r){return Zd(e,t,n,r),Yd(),Vu}var Jy=(e,t,n,r,o)=>(qo(!0),Rm(t[Z],r,sg()));function Qd(e,t,n){let r=C(),o=r[T],i=e+Q,s=o.firstCreatePass?Nd(i,r,8,"ng-container",Td,Fs(),t,n):o.data[i];if(Sd(s,r,e,"ng-container",Ex),Nr(s)){let u=r[T];Iu(u,r,s),ld(u,s,r)}return n!=null&&ci(r,s),Qd}function Kd(){let e=Y(),t=re(),n=Md(t);return e.firstCreatePass&&kd(e,n),Kd}function Jr(e,t,n){return Qd(e,t,n),Kd(),Jr}var Ex=(e,t,n,r,o)=>(qo(!0),U_(t[Z],""));function _x(){return C()}function Hu(e,t,n){let r=C(),o=Xe();if(Te(r,o,t)){let i=Y(),s=fn();Xm(s,r,e,t,r[Z],n)}return Hu}var mi="en-US";var Cx=mi;function Xy(e){typeof e=="string"&&(Cx=e.toLowerCase().replace(/_/g,"-"))}function eb(e,t,n){let r=C(),o=Y(),i=re();return nb(o,r,r[Z],i,e,t,n),eb}function tb(e,t,n){let r=C(),o=Y(),i=re();return(i.type&3||n)&&_y(i,o,r,n,r[Z],e,t,Ys(i,r,t)),tb}function nb(e,t,n,r,o,i,s){let u=!0,a=null;if((r.type&3||s)&&(a??=Ys(r,t,i),_y(r,e,t,s,n,o,i,a)&&(u=!1)),u){let c=r.outputs?.[o],l=r.hostDirectiveOutputs?.[o];if(l&&l.length)for(let d=0;d>17&32767}function kx(e){return(e&2)==2}function Rx(e,t){return e&131071|t<<17}function rd(e){return e|2}function Hr(e){return(e&131068)>>2}function _l(e,t){return e&-131069|t<<2}function Fx(e){return(e&1)===1}function od(e){return e|1}function Ox(e,t,n,r,o,i){let s=i?t.classBindings:t.styleBindings,u=Jn(s),a=Hr(s);e[r]=n;let c=!1,l;if(Array.isArray(n)){let d=n;l=d[1],(l===null||xr(d,l)>0)&&(c=!0)}else l=n;if(o)if(a!==0){let h=Jn(e[u+1]);e[r+1]=zs(h,u),h!==0&&(e[h+1]=_l(e[h+1],r)),e[u+1]=Rx(e[u+1],r)}else e[r+1]=zs(u,0),u!==0&&(e[u+1]=_l(e[u+1],r)),u=r;else e[r+1]=zs(a,0),u===0?u=r:e[a+1]=_l(e[a+1],r),a=r;c&&(e[r+1]=rd(e[r+1])),Gg(e,l,r,!0),Gg(e,l,r,!1),Px(t,l,e,r,i),s=zs(u,a),i?t.classBindings=s:t.styleBindings=s}function Px(e,t,n,r,o){let i=o?e.residualClasses:e.residualStyles;i!=null&&typeof t=="string"&&xr(i,t)>=0&&(n[r+1]=od(n[r+1]))}function Gg(e,t,n,r){let o=e[n+1],i=t===null,s=r?Jn(o):Hr(o),u=!1;for(;s!==0&&(u===!1||i);){let a=e[s],c=e[s+1];Lx(a,t)&&(u=!0,e[s+1]=r?od(c):rd(c)),s=r?Jn(c):Hr(c)}u&&(e[n+1]=r?rd(o):od(o))}function Lx(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t=="string"?xr(e,t)>=0:!1}var ce={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ub(e){return e.substring(ce.key,ce.keyEnd)}function jx(e){return e.substring(ce.value,ce.valueEnd)}function Bx(e){return lb(e),ab(e,$r(e,0,ce.textEnd))}function ab(e,t){let n=ce.textEnd;return n===t?-1:(t=ce.keyEnd=Hx(e,ce.key=t,n),$r(e,t,n))}function Vx(e){return lb(e),cb(e,$r(e,0,ce.textEnd))}function cb(e,t){let n=ce.textEnd,r=ce.key=$r(e,t,n);return n===r?-1:(r=ce.keyEnd=$x(e,r,n),r=Wg(e,r,n,58),r=ce.value=$r(e,r,n),r=ce.valueEnd=Ux(e,r,n),Wg(e,r,n,59))}function lb(e){ce.key=0,ce.keyEnd=0,ce.value=0,ce.valueEnd=0,ce.textEnd=e.length}function $r(e,t,n){for(;t32;)t++;return t}function $x(e,t,n){let r;for(;t=65&&(r&-33)<=90||r>=48&&r<=57);)t++;return t}function Wg(e,t,n,r){return t=$r(e,t,n),t32&&(u=s),i=o,o=r,r=a&-33}return u}function Zg(e,t,n,r){let o=-1,i=n;for(;i=0;n=cb(t,n))mb(e,ub(t),jx(t))}function bi(e){pb(Kx,qx,e,!0)}function qx(e,t){for(let n=Bx(t);n>=0;n=ab(t,n))Po(e,ub(t),!0)}function fb(e,t,n,r){let o=C(),i=Y(),s=Uo(2);if(i.firstUpdatePass&&gb(i,e,s,r),t!==fe&&Te(o,s,t)){let u=i.data[ze()];yb(i,u,o,o[Z],e,o[s+1]=Xx(t,n),r,s)}}function pb(e,t,n,r){let o=Y(),i=Uo(2);o.firstUpdatePass&&gb(o,null,i,r);let s=C();if(n!==fe&&Te(s,i,n)){let u=o.data[ze()];if(bb(u,r)&&!hb(o,i)){let a=r?u.classesWithoutHost:u.stylesWithoutHost;a!==null&&(n=_s(a,n||"")),nd(o,u,s,n,r)}else Jx(o,u,s,s[Z],s[i+1],s[i+1]=Qx(e,t,n),r,i)}}function hb(e,t){return t>=e.expandoStartIndex}function gb(e,t,n,r){let o=e.data;if(o[n+1]===null){let i=o[ze()],s=hb(e,n);bb(i,r)&&t===null&&!s&&(t=!1),t=Gx(o,i,t,r),Ox(o,i,t,n,s,r)}}function Gx(e,t,n,r){let o=X0(e),i=r?t.residualClasses:t.residualStyles;if(o===null)(r?t.classBindings:t.styleBindings)===0&&(n=Cl(null,e,t,n,r),n=ii(n,t.attrs,r),i=null);else{let s=t.directiveStylingLast;if(s===-1||e[s]!==o)if(n=Cl(o,e,t,n,r),i===null){let a=Wx(e,t,r);a!==void 0&&Array.isArray(a)&&(a=Cl(null,e,t,a[1],r),a=ii(a,t.attrs,r),Zx(e,t,r,a))}else i=Yx(e,t,r)}return i!==void 0&&(r?t.residualClasses=i:t.residualStyles=i),n}function Wx(e,t,n){let r=n?t.classBindings:t.styleBindings;if(Hr(r)!==0)return e[Jn(r)]}function Zx(e,t,n,r){let o=n?t.classBindings:t.styleBindings;e[Jn(o)]=r}function Yx(e,t,n){let r,o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0;){let a=e[o],c=Array.isArray(a),l=c?a[1]:a,d=l===null,h=n[o+1];h===fe&&(h=d?ye:void 0);let f=d?Ms(h,r):l===r?h:void 0;if(c&&!fu(f)&&(f=Ms(a,r)),fu(f)&&(u=f,s))return u;let p=e[o+1];o=s?Jn(p):Hr(p)}if(t!==null){let a=i?t.residualClasses:t.residualStyles;a!=null&&(u=Ms(a,r))}return u}function fu(e){return e!==void 0}function Xx(e,t){return e==null||e===""||(typeof t=="string"?e=e+t:typeof e=="object"&&(e=kt(Pe(e)))),e}function bb(e,t){return(e.flags&(t?8:16))!==0}function eI(e,t=""){let n=C(),r=Y(),o=e+Q,i=r.firstCreatePass?er(r,o,1,t,null):r.data[o],s=tI(r,n,i,t,e);n[o]=s,Bs()&&xd(r,n,s,i),qn(i,!1)}var tI=(e,t,n,r,o)=>(qo(!0),H_(t[Z],r));function vb(e,t,n,r=""){return Te(e,Xe(),n)?t+Ne(n)+r:fe}function nI(e,t,n,r,o,i=""){let s=al(),u=iu(e,s,n,o);return Uo(2),u?t+Ne(n)+r+Ne(o)+i:fe}function rI(e,t,n,r,o,i,s,u,a,c=""){let l=al(),d=_w(e,l,n,o,s,a);return Uo(4),d?t+Ne(n)+r+Ne(o)+i+Ne(s)+u+Ne(a)+c:fe}function Db(e){return Jd("",e),Db}function Jd(e,t,n){let r=C(),o=vb(r,e,t,n);return o!==fe&&Xd(r,ze(),o),Jd}function Eb(e,t,n,r,o){let i=C(),s=nI(i,e,t,n,r,o);return s!==fe&&Xd(i,ze(),s),Eb}function _b(e,t,n,r,o,i,s,u,a){let c=C(),l=rI(c,e,t,n,r,o,i,s,u,a);return l!==fe&&Xd(c,ze(),l),_b}function Xd(e,t,n){let r=Wc(t,e);$_(e[Z],r,n)}function Cb(e,t,n){Hd(t)&&(t=t());let r=C(),o=Xe();if(Te(r,o,t)){let i=Y(),s=fn();Jm(s,r,e,t,r[Z],n)}return Cb}function oI(e,t){let n=Hd(e);return n&&e.set(t),n}function wb(e,t){let n=C(),r=Y(),o=re();return nb(r,n,n[Z],o,e,t),wb}var xb={};function Uu(e){Ht("NgLet");let t=Y(),n=C(),r=e+Q,o=er(t,r,128,null,null);return qn(o,!1),Ho(t,n,r,xb),Uu}function zu(e){let t=Y(),n=C(),r=ze();return Ho(t,n,r,e),e}function qu(e){let t=sl(),n=Vo(t,Q+e);if(n===xb)throw new _(314,!1);return n}function iI(e){return Te(C(),Xe(),e)?Ne(e):fe}function sI(e,t,n=""){return vb(C(),e,t,n)}function Qg(e,t,n){let r=Y();r.firstCreatePass&&Ib(t,r.data,r.blueprint,Je(e),n)}function Ib(e,t,n,r,o){if(e=ue(e),Array.isArray(e))for(let i=0;i>20;if(Rn(e)||!e.multi){let f=new Yn(c,o,oe,null),p=xl(a,t,o?l:l+h,d);p===-1?(Tl(eu(u,s),i,a),wl(i,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(f),s.push(f)):(n[p]=f,s[p]=f)}else{let f=xl(a,t,l+h,d),p=xl(a,t,l,l+h),g=f>=0&&n[f],m=p>=0&&n[p];if(o&&!m||!o&&!g){Tl(eu(u,s),i,a);let y=cI(o?aI:uI,n.length,o,r,c,e);!o&&m&&(n[p].providerFactory=y),wl(i,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(y),s.push(y)}else{let y=Tb(n[o?p:f],c,!o&&r);wl(i,e,f>-1?f:p,y)}!o&&r&&m&&n[p].componentProviders++}}}function wl(e,t,n,r){let o=Rn(t),i=P0(t);if(o||i){let a=(i?ue(t.useClass):t).prototype.ngOnDestroy;if(a){let c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){let l=c.indexOf(n);l===-1?c.push(n,[r,a]):c[l+1].push(r,a)}else c.push(n,a)}}}function Tb(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function xl(e,t,n,r){for(let o=n;o{n.providersResolver=(r,o)=>Qg(r,o?o(e):e,!1),t&&(n.viewProvidersResolver=(r,o)=>Qg(r,o?o(t):t,!0))}}function dI(e,t){let n=Rr()+e,r=C();return r[n]===fe?Fd(r,n,t()):Ew(r,n)}function fI(e,t,n){return Mb(C(),Rr(),e,t,n)}function pI(e,t,n,r){return Ab(C(),Rr(),e,t,n,r)}function Sb(e,t){let n=e[t];return n===fe?void 0:n}function Mb(e,t,n,r,o,i){let s=t+n;return Te(e,s,o)?Fd(e,s+1,i?r.call(i,o):r(o)):Sb(e,s+1)}function Ab(e,t,n,r,o,i,s){let u=t+n;return iu(e,u,o,i)?Fd(e,u+2,s?r.call(s,o,i):r(o,i)):Sb(e,u+2)}function hI(e,t){let n=Y(),r,o=e+Q;n.firstCreatePass?(r=gI(t,n.pipeRegistry),n.data[o]=r,r.onDestroy&&(n.destroyHooks??=[]).push(o,r.onDestroy)):r=n.data[o];let i=r.factory||(r.factory=sn(r.type,!0)),s,u=_e(oe);try{let a=Xs(!1),c=i();return Xs(a),Ho(n,C(),o,c),c}finally{_e(u)}}function gI(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function mI(e,t,n){let r=e+Q,o=C(),i=Vo(o,r);return Nb(o,r)?Mb(o,Rr(),t,i.transform,n,i):i.transform(n)}function yI(e,t,n,r){let o=e+Q,i=C(),s=Vo(i,o);return Nb(i,o)?Ab(i,Rr(),t,s.transform,n,r,s):s.transform(n,r)}function Nb(e,t){return e[T].data[t].pure}function bI(e,t){return Mu(e,t)}var pu=class{ngModuleFactory;componentFactories;constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}},vI=(()=>{class e{compileModuleSync(n){return new cu(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){let r=this.compileModuleSync(n),o=Rc(n),i=jm(o.declarations).reduce((s,u)=>{let a=gt(u);return a&&s.push(new mn(a)),s},[]);return new pu(r,i)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var kb=(()=>{class e{applicationErrorHandler=b(Pt);appRef=b(Zr);taskService=b(Gn);ngZone=b(be);zonelessEnabled=b(Wo);tracing=b(Dt,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new X;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(ko):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(b(gl,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let n=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(n);return}this.switchToMicrotaskScheduler(),this.taskService.remove(n)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let n=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})})}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2;break}case 12:{this.appRef.dirtyFlags|=16;break}case 13:{this.appRef.dirtyFlags|=2;break}case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let r=this.useMicrotaskScheduler?lg:fl;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(ko+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){this.applicationErrorHandler(r)}finally{this.taskService.remove(n),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Rb(){return[{provide:ft,useExisting:kb},{provide:be,useClass:Ro},{provide:Wo,useValue:!0}]}function DI(){return typeof $localize<"u"&&$localize.locale||mi}var Gu=new x("",{factory:()=>b(Gu,{optional:!0,skipSelf:!0})||DI()});var Wu=class{destroyed=!1;listeners=null;errorHandler=b(Ve,{optional:!0});destroyRef=b(Oe);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(t){if(this.destroyed)throw new _(953,!1);return(this.listeners??=[]).push(t),{unsubscribe:()=>{let n=this.listeners?.indexOf(t);n!==void 0&&n!==-1&&this.listeners?.splice(n,1)}}}emit(t){if(this.destroyed){console.warn(pt(953,!1));return}if(this.listeners===null)return;let n=M(null);try{for(let r of this.listeners)try{r(t)}catch(o){this.errorHandler?.handleError(o)}}finally{M(n)}}};function Me(e,t){return vo(e,t?.equal)}var EI=e=>e;function ef(e,t){if(typeof e=="function"){let n=hc(e,EI,t?.equal);return Fb(n,t?.debugName)}else{let n=hc(e.source,e.computation,e.equal);return Fb(n,e.debugName)}}function Fb(e,t){let n=e[ne],r=e;return r.set=o=>y0(n,o),r.update=o=>b0(n,o),r.asReadonly=Go.bind(e),r}function _I(e){let t=e.request,n=e.params??t??(()=>null);return new Zu(n,wI(e),e.defaultValue,e.equal?CI(e.equal):void 0,e.debugName,e.injector??b(we))}var tf=class{value;isLoading;constructor(t,n){this.value=t,this.value.set=this.set.bind(this),this.value.update=this.update.bind(this),this.value.asReadonly=Go,this.isLoading=Me(()=>this.status()==="loading"||this.status()==="reloading",void 0)}isError=Me(()=>this.status()==="error");update(t){this.set(t(de(this.value)))}isValueDefined=Me(()=>this.isError()?!1:this.value()!==void 0);hasValue(){return this.isValueDefined()}asReadonly(){return this}},Zu=class extends tf{loaderFn;equal;debugName;pendingTasks;state;extRequest;effectRef;pendingController;resolvePendingTask=void 0;destroyed=!1;unregisterOnDestroy;status;error;constructor(t,n,r,o,i,s){super(Me(()=>{let u=this.state().stream?.();if(!u||this.state().status==="loading"&&this.error())return r;if(!nf(u))throw new rf(this.error());return u.value},{equal:o}),i),this.loaderFn=n,this.equal=o,this.debugName=i,this.extRequest=ef({source:t,computation:u=>({request:u,reload:0})}),this.state=ef({source:this.extRequest,computation:(u,a)=>{let c=u.request===void 0?"idle":"loading";return a?{extRequest:u,status:c,previousStatus:Ob(a.value),stream:a.value.extRequest.request===u.request?a.value.stream:void 0}:{extRequest:u,status:c,previousStatus:"idle",stream:void 0}}}),this.effectRef=Zo(this.loadEffect.bind(this),{injector:s,manualCleanup:!0}),this.pendingTasks=s.get(Wn),this.unregisterOnDestroy=s.get(Oe).onDestroy(()=>this.destroy()),this.status=Me(()=>Ob(this.state()),void 0),this.error=Me(()=>{let u=this.state().stream?.();return u&&!nf(u)?u.error:void 0},void 0)}set(t){if(this.destroyed)return;let n=de(this.error),r=de(this.state);if(!n){let o=de(this.value);if(r.status==="local"&&(this.equal?this.equal(o,t):o===t))return}this.state.set({extRequest:r.extRequest,status:"local",previousStatus:"local",stream:pn({value:t},void 0)}),this.abortInProgressLoad()}reload(){let{status:t}=de(this.state);return t==="idle"||t==="loading"?!1:(this.extRequest.update(({request:n,reload:r})=>({request:n,reload:r+1})),!0)}destroy(){this.destroyed=!0,this.unregisterOnDestroy(),this.effectRef.destroy(),this.abortInProgressLoad(),this.state.set({extRequest:{request:void 0,reload:0},status:"idle",previousStatus:"idle",stream:void 0})}loadEffect(){return at(this,null,function*(){let t=this.extRequest(),{status:n,previousStatus:r}=de(this.state);if(t.request===void 0)return;if(n!=="loading")return;this.abortInProgressLoad();let o=this.resolvePendingTask=this.pendingTasks.add(),{signal:i}=this.pendingController=new AbortController;try{let s=yield de(()=>this.loaderFn({params:t.request,request:t.request,abortSignal:i,previous:{status:r}}));if(i.aborted||de(this.extRequest)!==t)return;this.state.set({extRequest:t,status:"resolved",previousStatus:"resolved",stream:s})}catch(s){if(i.aborted||de(this.extRequest)!==t)return;this.state.set({extRequest:t,status:"resolved",previousStatus:"error",stream:pn({error:sf(s)},void 0)})}finally{o?.(),o=void 0}})}abortInProgressLoad(){de(()=>this.pendingController?.abort()),this.pendingController=void 0,this.resolvePendingTask?.(),this.resolvePendingTask=void 0}};function CI(e){return(t,n)=>t===void 0||n===void 0?t===n:e(t,n)}function wI(e){return xI(e)?e.stream:t=>at(null,null,function*(){try{return pn({value:yield e.loader(t)},void 0)}catch(n){return pn({error:sf(n)},void 0)}})}function xI(e){return!!e.stream}function Ob(e){switch(e.status){case"loading":return e.extRequest.reload===0?"loading":"reloading";case"resolved":return nf(e.stream())?"resolved":"error";default:return e.status}}function nf(e){return e.error===void 0}function sf(e){return II(e)?e:new of(e)}function II(e){return e instanceof Error||typeof e=="object"&&typeof e.name=="string"&&typeof e.message=="string"}var rf=class extends Error{constructor(t){super(t.message,{cause:t})}},of=class extends Error{constructor(t){super(String(t),{cause:t})}};var qb=Symbol("InputSignalNode#UNSET"),LI=P(S({},Do),{transformFn:void 0,applyValueToInputSignal(e,t){xn(e,t)}});function Gb(e,t){let n=Object.create(LI);n.value=e,n.transformFn=t?.transform;function r(){if(Jt(n),n.value===qb){let o=null;throw new _(-950,o)}return n.value}return r[ne]=n,r}var Pb=class{attributeName;constructor(t){this.attributeName=t}__NG_ELEMENT_ID__=()=>ud(this.attributeName);toString(){return`HostAttributeToken ${this.attributeName}`}},iB=(()=>{let e=new x("");return e.__NG_ELEMENT_ID__=t=>{let n=re();if(n===null)throw new _(204,!1);if(n.type&2)return n.value;if(t&8)return null;throw new _(204,!1)},e})();function sB(e){return new Wu}function Lb(e,t){return Gb(e,t)}function jI(e){return Gb(qb,e)}var Ae=(Lb.required=jI,Lb);function jb(e,t){return jd(t)}function BI(e,t){return Bd(t)}var uB=(jb.required=BI,jb);function aB(e,t){return Ry(t)}function Bb(e,t){return jd(t)}function VI(e,t){return Bd(t)}var cB=(Bb.required=VI,Bb);var af=new x(""),HI=new x("");function vi(e){return!e.moduleRef}function $I(e){let t=vi(e)?e.r3Injector:e.moduleRef.injector,n=t.get(be);return n.run(()=>{vi(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(Pt),o;if(n.runOutsideAngular(()=>{o=n.onError.subscribe({next:r})}),vi(e)){let i=()=>t.destroy(),s=e.platformInjector.get(af);s.add(i),t.onDestroy(()=>{o.unsubscribe(),s.delete(i)})}else{let i=()=>e.moduleRef.destroy(),s=e.platformInjector.get(af);s.add(i),e.moduleRef.onDestroy(()=>{Qo(e.allPlatformModules,e.moduleRef),o.unsubscribe(),s.delete(i)})}return zI(r,n,()=>{let i=t.get(Gn),s=i.add(),u=t.get(zd);return u.runInitializers(),u.donePromise.then(()=>{let a=t.get(Gu,mi);if(Xy(a||mi),!t.get(HI,!0))return vi(e)?t.get(Zr):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(vi(e)){let l=t.get(Zr);return e.rootComponent!==void 0&&l.bootstrap(e.rootComponent),l}else return UI?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>{i.remove(s)})})})}var UI;function zI(e,t,n){try{let r=n();return gi(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e(r)),r}}var Yu=null;function qI(e=[],t){return we.create({name:t,providers:[{provide:Lo,useValue:"platform"},{provide:af,useValue:new Set([()=>Yu=null])},...e]})}function GI(e=[]){if(Yu)return Yu;let t=qI(e);return Yu=t,Zy(),WI(t),t}function WI(e){let t=e.get(mu,null);Sr(e,()=>{t?.forEach(n=>n())})}var ZI=1e4;var lB=ZI-1e3;var yf=(()=>{class e{static __NG_ELEMENT_ID__=YI}return e})();function YI(e){return QI(re(),C(),(e&16)===16)}function QI(e,t,n){if(Ot(e)&&!n){let r=Re(e.index,t);return new hn(r,r)}else if(e.type&175){let r=t[ve];return new hn(r,t)}return null}var cf=class{constructor(){}supports(t){return Rd(t)}create(t){return new lf(t)}},KI=(e,t)=>t,lf=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(t){this._trackByFn=t||KI}forEachItem(t){let n;for(n=this._itHead;n!==null;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,o=0,i=null;for(;n||r;){let s=!r||n&&n.currentIndex{s=this._trackByFn(o,u),n===null||!Object.is(n.trackById,s)?(n=this._mismatch(n,u,s,o),r=!0):(r&&(n=this._verifyReinsertion(n,u,s,o)),Object.is(n.item,u)||this._addIdentityChange(n,u)),n=n._next,o++}),this.length=o;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;t!==null;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;t!==null;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;t!==null;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,o){let i;return t===null?i=this._itTail:(i=t._prev,this._remove(t)),t=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null),t!==null?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,i,o)):(t=this._linkedRecords===null?null:this._linkedRecords.get(r,o),t!==null?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,i,o)):t=this._addAfter(new df(n,r),i,o)),t}_verifyReinsertion(t,n,r,o){let i=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null);return i!==null?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;t!==null;){let n=t._next;this._addToRemovals(this._unlink(t)),t=n}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,r){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(t);let o=t._prevRemoved,i=t._nextRemoved;return o===null?this._removalsHead=i:o._nextRemoved=i,i===null?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail===null?this._additionsTail=this._additionsHead=t:this._additionsTail=this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){let o=n===null?this._itHead:n._next;return t._next=o,t._prev=n,o===null?this._itTail=t:o._prev=t,n===null?this._itHead=t:n._next=t,this._linkedRecords===null&&(this._linkedRecords=new Qu),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){this._linkedRecords!==null&&this._linkedRecords.remove(t);let n=t._prev,r=t._next;return n===null?this._itHead=r:n._next=r,r===null?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail===null?this._movesTail=this._movesHead=t:this._movesTail=this._movesTail._nextMoved=t),t}_addToRemovals(t){return this._unlinkedRecords===null&&(this._unlinkedRecords=new Qu),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=t:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=t,t}},df=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(t,n){this.item=t,this.trackById=n}},ff=class{_head=null;_tail=null;add(t){this._head===null?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;r!==null;r=r._nextDup)if((n===null||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){let n=t._prevDup,r=t._nextDup;return n===null?this._head=r:n._nextDup=r,r===null?this._tail=n:r._prevDup=n,this._head===null}},Qu=class{map=new Map;put(t){let n=t.trackById,r=this.map.get(n);r||(r=new ff,this.map.set(n,r)),r.add(t)}get(t,n){let r=t,o=this.map.get(r);return o?o.get(t,n):null}remove(t){let n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function Vb(e,t,n){let r=e.previousIndex;if(r===null)return r;let o=0;return n&&r{if(n&&n.key===o)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{let i=this._getOrCreateRecordForKey(o,r);n=this._insertBeforeOrAppend(n,i)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;r!==null;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){let r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){let o=this._records.get(t);this._maybeAddToChanges(o,n);let i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}let r=new gf(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;t!==null;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;t!==null;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;t!=null;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){this._additionsHead===null?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){this._changesHead===null?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}},gf=class{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(t){this.key=t}};function Hb(){return new bf([new cf])}var bf=(()=>{class e{factories;static \u0275prov=I({token:e,providedIn:"root",factory:Hb});constructor(n){this.factories=n}static create(n,r){if(r!=null){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:()=>{let r=b(e,{optional:!0,skipSelf:!0});return e.create(n,r||Hb())}}}find(n){let r=this.factories.find(o=>o.supports(n));if(r!=null)return r;throw new _(901,!1)}}return e})();function $b(){return new Ku([new pf])}var Ku=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:$b});factories;constructor(n){this.factories=n}static create(n,r){if(r){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:()=>{let r=b(e,{optional:!0,skipSelf:!0});return e.create(n,r||$b())}}}find(n){let r=this.factories.find(o=>o.supports(n));if(r)return r;throw new _(901,!1)}}return e})();var Wb=(()=>{class e{constructor(n){}static \u0275fac=function(r){return new(r||e)(A(Zr))};static \u0275mod=$t({type:e});static \u0275inj=ht({})}return e})();function Zb(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:o}=e;W(q.BootstrapApplicationStart);try{let i=o?.injector??GI(r),s=[Rb(),fg,...n||[]],u=new oi({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return $I({r3Injector:u.injector,platformInjector:i,rootComponent:t})}catch(i){return Promise.reject(i)}finally{W(q.BootstrapApplicationEnd)}}function JI(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function XI(e,t=NaN){return!isNaN(parseFloat(e))&&!isNaN(Number(e))?Number(e):t}var uf=Symbol("NOT_SET"),Yb=new Set,e2=P(S({},Do),{kind:"afterRenderEffectPhase",consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,value:uf,cleanup:null,consumerMarkedDirty(){if(this.sequence.impl.executing){if(this.sequence.lastPhase===null||this.sequence.lastPhase(Jt(c),c.value),c.signal[ne]=c,c.registerCleanupFn=l=>(c.cleanup??=new Set).add(l),this.nodes[u]=c,this.hooks[u]=l=>c.phaseFn(l)}}afterRun(){super.afterRun(),this.lastPhase=null}destroy(){if(this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();super.destroy();for(let t of this.nodes)if(t)try{for(let n of t.cleanup??Yb)n()}finally{en(t)}}};function dB(e,t){let n=t?.injector??b(we),r=n.get(ft),o=n.get(Cu),i=n.get(Dt,null,{optional:!0});o.impl??=n.get(Cd);let s=e;typeof s=="function"&&(s={mixedReadWrite:e});let u=n.get(Fr,null,{optional:!0}),a=new mf(o.impl,[s.earlyRead,s.write,s.mixedReadWrite,s.read],u?.view,r,n,i?.snapshot(null));return o.impl.register(a),a}function fB(e,t){let n=gt(e),r=t.elementInjector||Tr();return new mn(n).create(r,t.projectableNodes,t.hostElement,t.environmentInjector,t.directives,t.bindings)}function pB(e){let t=gt(e);if(!t)return null;let n=new mn(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}var no={};lr(no,{appendToAll:()=>r2,createThemeStyles:()=>o2,merge:()=>n2,structuralStyles:()=>i2,toProp:()=>je});var t2=` &:not([disabled]) { cursor: pointer; opacity: var(--opacity, 0); @@ -11,10 +11,10 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` &:focus { opacity: 1; } - }`,a1=` + }`,Qb=` ${new Array(21).fill(0).map((e,t)=>`.behavior-ho-${t*5} { --opacity: ${t/20}; - ${v2} + ${t2} }`).join(` `)} @@ -33,7 +33,7 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` .behavior-sw-n { scrollbar-width: none; } -`;var c1=` +`;var Kb=` ${new Array(25).fill(0).map((e,t)=>` .border-bw-${t} { border-width: ${t}px; } .border-btw-${t} { border-top-width: ${t}px; } @@ -52,20 +52,20 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` .border-bs-s { border-style: solid; } -`;var If=[0,5,10,15,20,25,30,35,40,50,60,70,80,90,95,98,99,100];function D2(...e){let t={};for(let n of e)for(let[r,o]of Object.entries(n)){let i=r.split("-").with(-1,"").join("-"),s=Object.keys(t).filter(u=>u.startsWith(i));for(let u of s)delete t[u];t[r]=o}return t}function E2(e,t,...n){let r=structuredClone(e);for(let o of n)for(let i of Object.keys(o)){let s=i.split("-").with(-1,"").join("-");for(let[u,a]of Object.entries(r)){if(t.includes(u))continue;let c=!1;for(let l=0;l` - ${e.map(t=>{let n=Tf(t);return`.color-bc-${t} { border-color: light-dark(var(${je(t)}), var(${je(n)})); }`}).join(` +`;var vf=[0,5,10,15,20,25,30,35,40,50,60,70,80,90,95,98,99,100];function n2(...e){let t={};for(let n of e)for(let[r,o]of Object.entries(n)){let i=r.split("-").with(-1,"").join("-"),s=Object.keys(t).filter(u=>u.startsWith(i));for(let u of s)delete t[u];t[r]=o}return t}function r2(e,t,...n){let r=structuredClone(e);for(let o of n)for(let i of Object.keys(o)){let s=i.split("-").with(-1,"").join("-");for(let[u,a]of Object.entries(r)){if(t.includes(u))continue;let c=!1;for(let l=0;l` + ${e.map(t=>{let n=Df(t);return`.color-bc-${t} { border-color: light-dark(var(${je(t)}), var(${je(n)})); }`}).join(` `)} - ${e.map(t=>{let n=Tf(t),r=[`.color-bgc-${t} { background-color: light-dark(var(${je(t)}), var(${je(n)})); }`,`.color-bbgc-${t}::backdrop { background-color: light-dark(var(${je(t)}), var(${je(n)})); }`];for(let o=.1;o<1;o+=.1)r.push(`.color-bbgc-${t}_${(o*100).toFixed(0)}::backdrop { + ${e.map(t=>{let n=Df(t),r=[`.color-bgc-${t} { background-color: light-dark(var(${je(t)}), var(${je(n)})); }`,`.color-bbgc-${t}::backdrop { background-color: light-dark(var(${je(t)}), var(${je(n)})); }`];for(let o=.1;o<1;o+=.1)r.push(`.color-bbgc-${t}_${(o*100).toFixed(0)}::backdrop { background-color: light-dark(oklch(from var(${je(t)}) l c h / calc(alpha * ${o.toFixed(1)})), oklch(from var(${je(n)}) l c h / calc(alpha * ${o.toFixed(1)})) ); } `);return r.join(` `)}).join(` `)} - ${e.map(t=>{let n=Tf(t);return`.color-c-${t} { color: light-dark(var(${je(t)}), var(${je(n)})); }`}).join(` + ${e.map(t=>{let n=Df(t);return`.color-c-${t} { color: light-dark(var(${je(t)}), var(${je(n)})); }`}).join(` `)} - `,Tf=e=>{let t=e.match(/^([a-z]+)(\d+)$/);if(!t)return e;let[,n,r]=t,i=100-parseInt(r,10),s=If.reduce((u,a)=>Math.abs(a-i)If.map(t=>`${e}${t}`),l1=[to(no("p")),to(no("s")),to(no("t")),to(no("n")),to(no("nv")),to(no("e")),` + `,Df=e=>{let t=e.match(/^([a-z]+)(\d+)$/);if(!t)return e;let[,n,r]=t,i=100-parseInt(r,10),s=vf.reduce((u,a)=>Math.abs(a-i)vf.map(t=>`${e}${t}`),Jb=[eo(to("p")),eo(to("s")),eo(to("t")),eo(to("n")),eo(to("nv")),eo(to("e")),` .color-bgc-transparent { background-color: transparent; } @@ -73,7 +73,7 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` :host { color-scheme: var(--color-scheme); } - `];var d1=` + `];var Xb=` .g-icon { font-family: "Material Symbols Outlined", "Google Symbols"; font-weight: normal; @@ -107,7 +107,7 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` "ROND" 100; } } -`;var f1=` +`;var e1=` :host { ${new Array(16).fill(0).map((e,t)=>`--g-${t+1}: ${(t+1)*4}px;`).join(` `)} @@ -281,10 +281,10 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` width: calc(100% + var(--padding) * 2); height: calc(100% + var(--padding) * 2); } -`;var p1=` +`;var t1=` ${new Array(21).fill(0).map((e,t)=>`.opacity-el-${t*5} { opacity: ${t/20}; }`).join(` `)} -`;var h1=` +`;var n1=` :host { --default-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; --default-font-family-mono: "Courier New", Courier, monospace; @@ -418,9 +418,9 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` ${new Array(9).fill(0).map((e,t)=>{let n=(t+1)*100;return`.typography-w-${n} { font-weight: ${n}; }`}).join(` `)} -`;var C2=[a1,c1,l1,d1,f1,p1,h1].flat(1/0).join(` -`);var Zf={};lr(Zf,{isComponentArrayReference:()=>Mf,isObject:()=>$,isPath:()=>Sf,isResolvedAudioPlayer:()=>Af,isResolvedButton:()=>Nf,isResolvedCard:()=>kf,isResolvedCheckbox:()=>Rf,isResolvedColumn:()=>Ff,isResolvedDateTimeInput:()=>Of,isResolvedDivider:()=>Pf,isResolvedIcon:()=>jf,isResolvedImage:()=>Lf,isResolvedList:()=>Bf,isResolvedModal:()=>Vf,isResolvedMultipleChoice:()=>Hf,isResolvedRow:()=>$f,isResolvedSlider:()=>Uf,isResolvedTabs:()=>zf,isResolvedText:()=>qf,isResolvedTextField:()=>Gf,isResolvedVideo:()=>Wf,isValueMap:()=>x2});function x2(e){return $(e)&&"key"in e}function Sf(e,t){return e==="path"&&typeof t=="string"}function $(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Mf(e){return $(e)?"explicitList"in e||"template"in e:!1}function zt(e){return $(e)&&("path"in e||"literal"in e&&typeof e.literal=="string"||"literalString"in e)}function I2(e){return $(e)&&("path"in e||"literal"in e&&typeof e.literal=="number"||"literalNumber"in e)}function T2(e){return $(e)&&("path"in e||"literal"in e&&typeof e.literal=="boolean"||"literalBoolean"in e)}function Ut(e){return!(!$(e)||!("id"in e&&"type"in e&&"properties"in e))}function Af(e){return $(e)&&"url"in e&&zt(e.url)}function Nf(e){return $(e)&&"child"in e&&Ut(e.child)&&"action"in e}function kf(e){return $(e)?"child"in e?Ut(e.child):"children"in e?Array.isArray(e.children)&&e.children.every(Ut):!1:!1}function Rf(e){return $(e)&&"label"in e&&zt(e.label)&&"value"in e&&T2(e.value)}function Ff(e){return $(e)&&"children"in e&&Array.isArray(e.children)&&e.children.every(Ut)}function Of(e){return $(e)&&"value"in e&&zt(e.value)}function Pf(e){return $(e)}function Lf(e){return $(e)&&"url"in e&&zt(e.url)}function jf(e){return $(e)&&"name"in e&&zt(e.name)}function Bf(e){return $(e)&&"children"in e&&Array.isArray(e.children)&&e.children.every(Ut)}function Vf(e){return $(e)&&"entryPointChild"in e&&Ut(e.entryPointChild)&&"contentChild"in e&&Ut(e.contentChild)}function Hf(e){return $(e)&&"selections"in e}function $f(e){return $(e)&&"children"in e&&Array.isArray(e.children)&&e.children.every(Ut)}function Uf(e){return $(e)&&"value"in e&&I2(e.value)}function S2(e){return $(e)&&"title"in e&&zt(e.title)&&"child"in e&&Ut(e.child)}function zf(e){return $(e)&&"tabItems"in e&&Array.isArray(e.tabItems)&&e.tabItems.every(S2)}function qf(e){return $(e)&&"text"in e&&zt(e.text)}function Gf(e){return $(e)&&"label"in e&&zt(e.label)}function Wf(e){return $(e)&&"url"in e&&zt(e.url)}var na=(()=>{class e{static{this.DEFAULT_SURFACE_ID="@default"}#t=Map;#n=Array;#o=Set;#e=Object;#r;constructor(n={mapCtor:Map,arrayCtor:Array,setCtor:Set,objCtor:Object}){this.opts=n,this.#n=n.arrayCtor,this.#t=n.mapCtor,this.#o=n.setCtor,this.#e=n.objCtor,this.#r=new n.mapCtor}getSurfaces(){return this.#r}clearSurfaces(){this.#r.clear()}processMessages(n){for(let r of n)r.beginRendering&&this.#g(r.beginRendering,r.beginRendering.surfaceId),r.surfaceUpdate&&this.#m(r.surfaceUpdate,r.surfaceUpdate.surfaceId),r.dataModelUpdate&&this.#y(r.dataModelUpdate,r.dataModelUpdate.surfaceId),r.deleteSurface&&this.#b(r.deleteSurface)}getData(n,r,o=e.DEFAULT_SURFACE_ID){let i=this.#i(o);if(!i)return null;let s;return r==="."||r===""?s=n.dataContextPath??"/":s=this.resolvePath(r,n.dataContextPath),this.#p(i.dataModel,s)}setData(n,r,o,i=e.DEFAULT_SURFACE_ID){if(!n){console.warn("No component node set");return}let s=this.#i(i);if(!s)return;let u;r==="."||r===""?u=n.dataContextPath??"/":u=this.resolvePath(r,n.dataContextPath),this.#a(s.dataModel,u,o)}resolvePath(n,r){return n.startsWith("/")?n:r&&r!=="/"?r.endsWith("/")?`${r}${n}`:`${r}/${n}`:`/${n}`}#d(n){if(typeof n!="string")return n;let r=n.trim();if(r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))try{return JSON.parse(n)}catch(o){return console.warn(`Failed to parse potential JSON string: "${n.substring(0,50)}..."`,o),n}return n}#u(n){let r=new this.#t;for(let o of n){if(!$(o)||!("key"in o))continue;let i=o.key,s=this.#h(o);if(!s)continue;let u=o[s];s==="valueMap"&&Array.isArray(u)?u=this.#u(u):typeof u=="string"&&(u=this.#d(u)),this.#a(r,i,u)}return r}#a(n,r,o){if(Array.isArray(o)&&(o.length===0||$(o[0])&&"key"in o[0]))if(o.length===1&&$(o[0])&&o[0].key==="."){let c=o[0],l=this.#h(c);l?(o=c[l],l==="valueMap"&&Array.isArray(o)?o=this.#u(o):typeof o=="string"&&(o=this.#d(o))):o=this.#u(o)}else o=this.#u(o);let i=this.#f(r).split("/").filter(c=>c);if(i.length===0){if(o instanceof Map||$(o)){!(o instanceof Map)&&$(o)&&(o=new this.#t(Object.entries(o))),n.clear();for(let[c,l]of o.entries())n.set(c,l)}else console.error("Cannot set root of DataModel to a non-Map value.");return}let s=n;for(let c=0;ci.length>0).join("/")}#p(n,r){let o=this.#f(r).split("/").filter(s=>s),i=n;for(let s of o){if(i==null)return null;if(i instanceof Map)i=i.get(s);else if(Array.isArray(i)&&/^\d+$/.test(s))i=i[parseInt(s,10)];else if($(i))i=i[s];else return null}return i}#i(n){let r=this.#r.get(n);return r||(r=new this.#e({rootComponentId:null,componentTree:null,dataModel:new this.#t,components:new this.#t,styles:new this.#e}),this.#r.set(n,r)),r}#g(n,r){let o=this.#i(r);o.rootComponentId=n.root,o.styles=n.styles??{},this.#c(o)}#m(n,r){let o=this.#i(r);for(let i of n.components)o.components.set(i.id,i);this.#c(o)}#y(n,r){let o=this.#i(r),i=n.path??"/";this.#a(o.dataModel,i,n.contents),this.#c(o)}#b(n){this.#r.delete(n.surfaceId)}#c(n){if(!n.rootComponentId){n.componentTree=null;return}let r=new this.#o;n.componentTree=this.#s(n.rootComponentId,n,r,"/","")}#h(n){return Object.keys(n).find(r=>r.startsWith("value"))}#s(n,r,o,i,s=""){let u=`${n}${s}`,{components:a}=r;if(!a.has(n))return null;if(o.has(u))throw new Error(`Circular dependency for component "${u}".`);o.add(u);let c=a.get(n),l=c.component??{},d=Object.keys(l)[0],h=l[d],f=new this.#e;if($(h))for(let[g,m]of Object.entries(h))f[g]=this.#l(m,r,o,i,s);o.delete(u);let p={id:u,dataContextPath:i,weight:c.weight??"initial"};switch(d){case"Text":if(!qf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Text",properties:f}));case"Image":if(!Lf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Image",properties:f}));case"Icon":if(!jf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Icon",properties:f}));case"Video":if(!Wf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Video",properties:f}));case"AudioPlayer":if(!Af(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"AudioPlayer",properties:f}));case"Row":if(!$f(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Row",properties:f}));case"Column":if(!Ff(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Column",properties:f}));case"List":if(!Bf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"List",properties:f}));case"Card":if(!kf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Card",properties:f}));case"Tabs":if(!zf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Tabs",properties:f}));case"Divider":if(!Pf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Divider",properties:f}));case"Modal":if(!Vf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Modal",properties:f}));case"Button":if(!Nf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Button",properties:f}));case"CheckBox":if(!Rf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"CheckBox",properties:f}));case"TextField":if(!Gf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"TextField",properties:f}));case"DateTimeInput":if(!Of(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"DateTimeInput",properties:f}));case"MultipleChoice":if(!Hf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"MultipleChoice",properties:f}));case"Slider":if(!Uf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Slider",properties:f}));default:return new this.#e(P(S({},p),{type:d,properties:f}))}}#l(n,r,o,i,s=""){if(typeof n=="string"&&r.components.has(n))return this.#s(n,r,o,i,s);if(Mf(n)){if(n.explicitList)return n.explicitList.map(u=>this.#s(u,r,o,i,s));if(n.template){let u=this.resolvePath(n.template.dataBinding,i),a=this.#p(r.dataModel,u),c=n.template;if(Array.isArray(a))return a.map((d,h)=>{let g=`:${[...i.split("/").filter(y=>/^\d+$/.test(y)),h].join(":")}`,m=`${u}/${h}`;return this.#s(c.componentId,r,o,m,g)});let l=this.#t;return a instanceof l?Array.from(a.keys(),d=>{let h=`:${d}`,f=`${u}/${d}`;return this.#s(c.componentId,r,o,f,h)}):new this.#n}}if(Array.isArray(n))return n.map(u=>this.#l(u,r,o,i,s));if($(n)){let u=new this.#e;for(let[a,c]of Object.entries(n)){let l=c;if(Sf(a,c)&&i!=="/"){l=c.replace(/^\.?\/item/,"").replace(/^\.?\/text/,"").replace(/^\.?\/label/,"").replace(/^\.?\//,""),u[a]=l;continue}u[a]=this.#l(l,r,o,i,s)}return u}return n}}return e})();var M2=Object.defineProperty,A2=(e,t,n)=>t in e?M2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yf=(e,t,n)=>(A2(e,typeof t!="symbol"?t+"":t,n),n),N2=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Qf=(e,t)=>{if(Object(t)!==t)throw TypeError('Cannot use the "in" operator on this value');return e.has(t)},ra=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},g1=(e,t,n)=>(N2(e,t,"access private method"),n);function m1(e,t){return Object.is(e,t)}var se=null,_i=!1,oa=1,ia=Symbol("SIGNAL");function oo(e){let t=se;return se=e,t}function k2(){return se}function R2(){return _i}var tp={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function ua(e){if(_i)throw new Error("");if(se===null)return;se.consumerOnSignalRead(e);let t=se.nextProducerIndex++;if(io(se),te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function B2(e){io(e);for(let t=0;t0}function io(e){e.producerNode??(e.producerNode=[]),e.producerIndexOfThis??(e.producerIndexOfThis=[]),e.producerLastReadVersion??(e.producerLastReadVersion=[])}function np(e){e.liveConsumerNode??(e.liveConsumerNode=[]),e.liveConsumerIndexOfThis??(e.liveConsumerIndexOfThis=[])}function D1(e){if(y1(e),ua(e),e.value===ep)throw e.error;return e.value}function V2(e){let t=Object.create(H2);t.computation=e;let n=()=>D1(t);return n[ia]=t,n}var Kf=Symbol("UNSET"),Jf=Symbol("COMPUTING"),ep=Symbol("ERRORED"),H2=P(S({},tp),{value:Kf,dirty:!0,error:null,equal:m1,producerMustRecompute(e){return e.value===Kf||e.value===Jf},producerRecomputeValue(e){if(e.value===Jf)throw new Error("Detected cycle in computations.");let t=e.value;e.value=Jf;let n=L2(e),r,o=!1;try{r=e.computation.call(e.wrapper),o=t!==Kf&&t!==ep&&e.equal.call(e.wrapper,t,r)}catch(i){r=ep,e.error=i}finally{j2(e,n)}if(o){e.value=t;return}e.value=r,e.version++}});function $2(){throw new Error}var U2=$2;function z2(){U2()}function q2(e){let t=Object.create(Z2);t.value=e;let n=()=>(ua(t),t.value);return n[ia]=t,n}function G2(){return ua(this),this.value}function W2(e,t){O2()||z2(),e.equal.call(e.wrapper,e.value,t)||(e.value=t,Y2(e))}var Z2=P(S({},tp),{equal:m1,value:void 0});function Y2(e){e.version++,F2(),b1(e)}var pe=Symbol("node"),sa;(e=>{var t,n,r,o,i,s;class u{constructor(l,d={}){ra(this,n),Yf(this,t);let f=q2(l)[ia];if(this[pe]=f,f.wrapper=this,d){let p=d.equals;p&&(f.equal=p),f.watched=d[e.subtle.watched],f.unwatched=d[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return G2.call(this[pe])}set(l){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(R2())throw new Error("Writes to signals not permitted during Watcher callback");let d=this[pe];W2(d,l)}}t=pe,n=new WeakSet,r=function(){},e.isState=c=>typeof c=="object"&&Qf(n,c),e.State=u;class a{constructor(l,d){ra(this,i),Yf(this,o);let f=V2(l)[ia];if(f.consumerAllowSignalWrites=!0,this[pe]=f,f.wrapper=this,d){let p=d.equals;p&&(f.equal=p),f.watched=d[e.subtle.watched],f.unwatched=d[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return D1(this[pe])}}o=pe,i=new WeakSet,s=function(){},e.isComputed=c=>typeof c=="object"&&Qf(i,c),e.Computed=a,(c=>{var l,d,h,f,p;function g(E){let N,O=null;try{O=oo(null),N=E()}finally{oo(O)}return N}c.untrack=g;function m(E){var N;if(!(0,e.isComputed)(E)&&!(0,e.isWatcher)(E))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return((N=E[pe].producerNode)==null?void 0:N.map(O=>O.wrapper))??[]}c.introspectSources=m;function y(E){var N;if(!(0,e.isComputed)(E)&&!(0,e.isState)(E))throw new TypeError("Called introspectSinks without a Signal argument");return((N=E[pe].liveConsumerNode)==null?void 0:N.map(O=>O.wrapper))??[]}c.introspectSinks=y;function v(E){if(!(0,e.isComputed)(E)&&!(0,e.isState)(E))throw new TypeError("Called hasSinks without a Signal argument");let N=E[pe].liveConsumerNode;return N?N.length>0:!1}c.hasSinks=v;function w(E){if(!(0,e.isComputed)(E)&&!(0,e.isWatcher)(E))throw new TypeError("Called hasSources without a Computed or Watcher argument");let N=E[pe].producerNode;return N?N.length>0:!1}c.hasSources=w;class D{constructor(N){ra(this,d),ra(this,f),Yf(this,l);let O=Object.create(tp);O.wrapper=this,O.consumerMarkedDirty=N,O.consumerIsAlwaysLive=!0,O.consumerAllowSignalWrites=!1,O.producerNode=[],this[pe]=O}watch(...N){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");g1(this,f,p).call(this,N);let O=this[pe];O.dirty=!1;let J=oo(O);for(let ut of N)ua(ut[pe]);oo(J)}unwatch(...N){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");g1(this,f,p).call(this,N);let O=this[pe];io(O);for(let J=O.producerNode.length-1;J>=0;J--)if(N.includes(O.producerNode[J].wrapper)){aa(O.producerNode[J],O.producerIndexOfThis[J]);let ut=O.producerNode.length-1;if(O.producerNode[J]=O.producerNode[ut],O.producerIndexOfThis[J]=O.producerIndexOfThis[ut],O.producerNode.length--,O.producerIndexOfThis.length--,O.nextProducerIndex--,JO.dirty).map(O=>O.wrapper)}}l=pe,d=new WeakSet,h=function(){},f=new WeakSet,p=function(E){for(let N of E)if(!(0,e.isComputed)(N)&&!(0,e.isState)(N))throw new TypeError("Called watch/unwatch without a Computed or State argument")},e.isWatcher=E=>Qf(d,E),c.Watcher=D;function F(){var E;return(E=k2())==null?void 0:E.wrapper}c.currentComputed=F,c.watched=Symbol("watched"),c.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(sa||(sa={}));var qe=(e=null)=>new sa.State(e,{equals:()=>!1});var Q2=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),K2=new Set(["fill","push","unshift"]);function E1(e){if(typeof e=="symbol")return null;let t=Number(e);return isNaN(t)?null:t%1===0?t:null}var Ci=class e{static from(t,n,r){return n?new e(Array.from(t,n,r)):new e(Array.from(t))}static of(...t){return new e(t)}constructor(t=[]){let n=t.slice(),r=this,o=new Map,i=!1;return new Proxy(n,{get(s,u){let a=E1(u);if(a!==null)return r.#o(a),r.#t.get(),s[a];if(u==="length")return i?i=!1:r.#t.get(),s[u];if(K2.has(u)&&(i=!0),Q2.has(u)){let c=o.get(u);return c===void 0&&(c=(...l)=>(r.#t.get(),s[u](...l)),o.set(u,c)),c}return s[u]},set(s,u,a){s[u]=a;let c=E1(u);return c!==null?(r.#e(c),r.#t.set(null)):u==="length"&&r.#t.set(null),!0},getPrototypeOf(){return e.prototype}})}#t=qe();#n=new Map;#o(t){let n=this.#n.get(t);n===void 0&&(n=qe(),this.#n.set(t,n)),n.get()}#e(t){let n=this.#n.get(t);n&&n.set(null)}};Object.setPrototypeOf(Ci.prototype,Array.prototype);var wi=class{collection=qe();storages=new Map;vals;readStorageFor(t){let{storages:n}=this,r=n.get(t);r===void 0&&(r=qe(),n.set(t,r)),r.get()}dirtyStorageFor(t){let n=this.storages.get(t);n&&n.set(null)}constructor(t){this.vals=t?new Map(t):new Map}get(t){return this.readStorageFor(t),this.vals.get(t)}has(t){return this.readStorageFor(t),this.vals.has(t)}entries(){return this.collection.get(),this.vals.entries()}keys(){return this.collection.get(),this.vals.keys()}values(){return this.collection.get(),this.vals.values()}forEach(t){this.collection.get(),this.vals.forEach(t)}get size(){return this.collection.get(),this.vals.size}[Symbol.iterator](){return this.collection.get(),this.vals[Symbol.iterator]()}get[Symbol.toStringTag](){return this.vals[Symbol.toStringTag]}set(t,n){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.set(t,n),this}delete(t){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.delete(t)}clear(){this.storages.forEach(t=>t.set(null)),this.collection.set(null),this.vals.clear()}};Object.setPrototypeOf(wi.prototype,Map.prototype);var rp=class e{static fromEntries(t){return new e(Object.fromEntries(t))}#t=new Map;#n=qe();constructor(t={}){let n=Object.getPrototypeOf(t),r=Object.getOwnPropertyDescriptors(t),o=Object.create(n);for(let s in r)Object.defineProperty(o,s,r[s]);let i=this;return new Proxy(o,{get(s,u,a){return i.#o(u),Reflect.get(s,u,a)},has(s,u){return i.#o(u),u in s},ownKeys(s){return i.#n.get(),Reflect.ownKeys(s)},set(s,u,a,c){let l=Reflect.set(s,u,a,c);return i.#e(u),i.#r(),l},deleteProperty(s,u){return u in s&&(delete s[u],i.#e(u),i.#r()),!0},getPrototypeOf(){return e.prototype}})}#o(t){let n=this.#t.get(t);n===void 0&&(n=qe(),this.#t.set(t,n)),n.get()}#e(t){let n=this.#t.get(t);n&&n.set(null)}#r(){this.#n.set(null)}},_1=rp;var xi=class{collection=qe();storages=new Map;vals;storageFor(t){let n=this.storages,r=n.get(t);return r===void 0&&(r=qe(),n.set(t,r)),r}dirtyStorageFor(t){let n=this.storages.get(t);n&&n.set(null)}constructor(t){this.vals=new Set(t)}has(t){return this.storageFor(t).get(),this.vals.has(t)}entries(){return this.collection.get(),this.vals.entries()}keys(){return this.collection.get(),this.vals.keys()}values(){return this.collection.get(),this.vals.values()}forEach(t){this.collection.get(),this.vals.forEach(t)}get size(){return this.collection.get(),this.vals.size}[Symbol.iterator](){return this.collection.get(),this.vals[Symbol.iterator]()}get[Symbol.toStringTag](){return this.vals[Symbol.toStringTag]}add(t){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.add(t),this}delete(t){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.delete(t)}clear(){this.storages.forEach(t=>t.set(null)),this.collection.set(null),this.vals.clear()}};Object.setPrototypeOf(xi.prototype,Set.prototype);function C1(){return new na({arrayCtor:Ci,mapCtor:wi,objCtor:_1,setCtor:xi})}var w1={createSignalA2uiMessageProcessor:C1,A2uiMessageProcessor:na,Guards:Zf};var Ii=class{_doc;constructor(t){this._doc=t}manager},ca=(()=>{class e extends Ii{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o,i){return n.addEventListener(r,o,i),()=>this.removeEventListener(n,r,o,i)}removeEventListener(n,r,o,i){return n.removeEventListener(r,o,i)}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),fa=new x(""),up=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(n,r){this._zone=r,n.forEach(s=>{s.manager=this});let o=n.filter(s=>!(s instanceof ca));this._plugins=o.slice().reverse();let i=n.find(s=>s instanceof ca);i&&this._plugins.push(i)}addEventListener(n,r,o,i){return this._findPluginFor(r).addEventListener(n,r,o,i)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(i=>i.supports(n)),!r)throw new _(5101,!1);return this._eventNameToPlugin.set(n,r),r}static \u0275fac=function(r){return new(r||e)(A(fa),A(be))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),op="ng-app-id";function x1(e){for(let t of e)t.remove()}function I1(e,t){let n=t.createElement("style");return n.textContent=e,n}function J2(e,t,n,r){let o=e.head?.querySelectorAll(`style[${op}="${t}"],link[${op}="${t}"]`);if(o)for(let i of o)i.removeAttribute(op),i instanceof HTMLLinkElement?r.set(i.href.slice(i.href.lastIndexOf("/")+1),{usage:0,elements:[i]}):i.textContent&&n.set(i.textContent,{usage:0,elements:[i]})}function sp(e,t){let n=t.createElement("link");return n.setAttribute("rel","stylesheet"),n.setAttribute("href",e),n}var ap=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(n,r,o,i={}){this.doc=n,this.appId=r,this.nonce=o,J2(n,r,this.inline,this.external),this.hosts.add(n.head)}addStyles(n,r){for(let o of n)this.addUsage(o,this.inline,I1);r?.forEach(o=>this.addUsage(o,this.external,sp))}removeStyles(n,r){for(let o of n)this.removeUsage(o,this.inline);r?.forEach(o=>this.removeUsage(o,this.external))}addUsage(n,r,o){let i=r.get(n);i?i.usage++:r.set(n,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,o(n,this.doc)))})}removeUsage(n,r){let o=r.get(n);o&&(o.usage--,o.usage<=0&&(x1(o.elements),r.delete(n)))}ngOnDestroy(){for(let[,{elements:n}]of[...this.inline,...this.external])x1(n);this.hosts.clear()}addHost(n){this.hosts.add(n);for(let[r,{elements:o}]of this.inline)o.push(this.addElement(n,I1(r,this.doc)));for(let[r,{elements:o}]of this.external)o.push(this.addElement(n,sp(r,this.doc)))}removeHost(n){this.hosts.delete(n)}addElement(n,r){return this.nonce&&r.setAttribute("nonce",this.nonce),n.appendChild(r)}static \u0275fac=function(r){return new(r||e)(A(K),A(gu),A(yu,8),A(Xn))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),ip={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},cp=/%COMP%/g;var S1="%COMP%",X2=`_nghost-${S1}`,eT=`_ngcontent-${S1}`,tT=!0,nT=new x("",{factory:()=>tT});function rT(e){return eT.replace(cp,e)}function oT(e){return X2.replace(cp,e)}function M1(e,t){return t.map(n=>n.replace(cp,e))}var lp=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(n,r,o,i,s,u,a=null,c=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.ngZone=u,this.nonce=a,this.tracingService=c,this.defaultRenderer=new Ti(n,s,u,this.tracingService)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;let o=this.getOrCreateRenderer(n,r);return o instanceof da?o.applyToHost(n):o instanceof Si&&o.applyStyles(),o}getOrCreateRenderer(n,r){let o=this.rendererByCompId,i=o.get(r.id);if(!i){let s=this.doc,u=this.ngZone,a=this.eventManager,c=this.sharedStylesHost,l=this.removeStylesOnCompDestroy,d=this.tracingService;switch(r.encapsulation){case tt.Emulated:i=new da(a,c,r,this.appId,l,s,u,d);break;case tt.ShadowDom:return new la(a,n,r,s,u,this.nonce,d,c);case tt.ExperimentalIsolatedShadowDom:return new la(a,n,r,s,u,this.nonce,d);default:i=new Si(a,c,r,l,s,u,d);break}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(n){this.rendererByCompId.delete(n)}static \u0275fac=function(r){return new(r||e)(A(up),A(ap),A(gu),A(nT),A(K),A(be),A(yu),A(Dt,8))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),Ti=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(t,n,r,o){this.eventManager=t,this.doc=n,this.ngZone=r,this.tracingService=o}destroy(){}destroyNode=null;createElement(t,n){return n?this.doc.createElementNS(ip[n]||n,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,n){(T1(t)?t.content:t).appendChild(n)}insertBefore(t,n,r){t&&(T1(t)?t.content:t).insertBefore(n,r)}removeChild(t,n){n.remove()}selectRootElement(t,n){let r=typeof t=="string"?this.doc.querySelector(t):t;if(!r)throw new _(-5104,!1);return n||(r.textContent=""),r}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,r,o){if(o){n=o+":"+n;let i=ip[o];i?t.setAttributeNS(i,n,r):t.setAttribute(n,r)}else t.setAttribute(n,r)}removeAttribute(t,n,r){if(r){let o=ip[r];o?t.removeAttributeNS(o,n):t.removeAttribute(`${r}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,r,o){o&(nt.DashCase|nt.Important)?t.style.setProperty(n,r,o&nt.Important?"important":""):t.style[n]=r}removeStyle(t,n,r){r&nt.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,r){t!=null&&(t[n]=r)}setValue(t,n){t.nodeValue=n}listen(t,n,r,o){if(typeof t=="string"&&(t=Et().getGlobalEventTarget(this.doc,t),!t))throw new _(5102,!1);let i=this.decoratePreventDefault(r);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(t,n,i)),this.eventManager.addEventListener(t,n,i,o)}decoratePreventDefault(t){return n=>{if(n==="__ngUnwrap__")return t;t(n)===!1&&n.preventDefault()}}};function T1(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var la=class extends Ti{hostEl;sharedStylesHost;shadowRoot;constructor(t,n,r,o,i,s,u,a){super(t,o,i,u),this.hostEl=n,this.sharedStylesHost=a,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let c=r.styles;c=M1(r.id,c);for(let d of c){let h=document.createElement("style");s&&h.setAttribute("nonce",s),h.textContent=d,this.shadowRoot.appendChild(h)}let l=r.getExternalStyles?.();if(l)for(let d of l){let h=sp(d,o);s&&h.setAttribute("nonce",s),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,n){return super.appendChild(this.nodeOrShadowRoot(t),n)}insertBefore(t,n,r){return super.insertBefore(this.nodeOrShadowRoot(t),n,r)}removeChild(t,n){return super.removeChild(null,n)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},Si=class extends Ti{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(t,n,r,o,i,s,u,a){super(t,i,s,u),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=o;let c=r.styles;this.styles=a?M1(a,c):c,this.styleUrls=r.getExternalStyles?.(a)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Qn.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},da=class extends Si{contentAttr;hostAttr;constructor(t,n,r,o,i,s,u,a){let c=o+"-"+r.id;super(t,n,r,i,s,u,a,c),this.contentAttr=rT(c),this.hostAttr=oT(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,n){let r=super.createElement(t,n);return super.setAttribute(r,this.contentAttr,""),r}};var pa=class e extends Di{supportsDOMEvents=!0;static makeCurrent(){vf(new e)}onAndCancel(t,n,r,o){return t.addEventListener(n,r,o),()=>{t.removeEventListener(n,r,o)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.remove()}createElement(t,n){return n=n||this.getDefaultDocument(),n.createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return n==="window"?window:n==="document"?t:n==="body"?t.body:null}getBaseHref(t){let n=iT();return n==null?null:sT(n)}resetBaseElement(){Mi=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Ei(document.cookie,t)}},Mi=null;function iT(){return Mi=Mi||document.head.querySelector("base"),Mi?Mi.getAttribute("href"):null}function sT(e){return new URL(e,document.baseURI).pathname}var ha=class{addToWindow(t){xe.getAngularTestability=(r,o=!0)=>{let i=t.findTestabilityInTree(r,o);if(i==null)throw new _(5103,!1);return i},xe.getAllAngularTestabilities=()=>t.getAllTestabilities(),xe.getAllAngularRootElements=()=>t.getAllRootElements();let n=r=>{let o=xe.getAllAngularTestabilities(),i=o.length,s=function(){i--,i==0&&r()};o.forEach(u=>{u.whenStable(s)})};xe.frameworkStabilizers||(xe.frameworkStabilizers=[]),xe.frameworkStabilizers.push(n)}findTestabilityInTree(t,n,r){if(n==null)return null;let o=t.getTestability(n);return o??(r?Et().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},uT=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),A1=["alt","control","meta","shift"],aT={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cT={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},N1=(()=>{class e extends Ii{constructor(n){super(n)}supports(n){return e.parseEventName(n)!=null}addEventListener(n,r,o,i){let s=e.parseEventName(r),u=e.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Et().onAndCancel(n,s.domEventName,u,i))}static parseEventName(n){let r=n.toLowerCase().split("."),o=r.shift();if(r.length===0||!(o==="keydown"||o==="keyup"))return null;let i=e._normalizeKey(r.pop()),s="",u=r.indexOf("code");if(u>-1&&(r.splice(u,1),s="code."),A1.forEach(c=>{let l=r.indexOf(c);l>-1&&(r.splice(l,1),s+=c+".")}),s+=i,r.length!=0||i.length===0)return null;let a={};return a.domEventName=o,a.fullKey=s,a}static matchEventFullKeyCode(n,r){let o=aT[n.key]||n.key,i="";return r.indexOf("code.")>-1&&(o=n.code,i="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),A1.forEach(s=>{if(s!==o){let u=cT[s];u(n)&&(i+=s+".")}}),i+=o,i===r)}static eventCallback(n,r,o){return i=>{e.matchEventFullKeyCode(i,n)&&o.runGuarded(()=>r(i))}}static _normalizeKey(n){return n==="esc"?"escape":n}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})();function lT(e,t,n){return at(this,null,function*(){let r=S({rootComponent:e},dT(t,n));return Zb(r)})}function dT(e,t){return{platformRef:t?.platformRef,appProviders:[...k1,...e?.providers??[]],platformProviders:gT}}function fT(){pa.makeCurrent()}function pT(){return new Ve}function hT(){return cd(document),document}var gT=[{provide:Xn,useValue:xf},{provide:mu,useValue:fT,multi:!0},{provide:K,useFactory:hT}];var mT=[{provide:Fu,useClass:ha},{provide:Ru,useClass:hi},{provide:hi,useClass:hi}],k1=[{provide:Lo,useValue:"root"},{provide:Ve,useFactory:pT},{provide:fa,useClass:ca,multi:!0},{provide:fa,useClass:N1,multi:!0},lp,ap,up,{provide:Kn,useExisting:lp},{provide:tr,useClass:uT},[]],yT=(()=>{class e{constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275mod=$t({type:e});static \u0275inj=ht({providers:[...k1,...mT],imports:[Cf,Wb]})}return e})();var Dn=class e{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(t){t?typeof t=="string"?this.lazyInit=()=>{this.headers=new Map,t.split(` -`).forEach(n=>{let r=n.indexOf(":");if(r>0){let o=n.slice(0,r),i=n.slice(r+1).trim();this.addHeaderEntry(o,i)}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.addHeaderEntry(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();let n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){let n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){let n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(t.name,n);let o=(t.op==="a"?this.headers.get(n):void 0)||[];o.push(...r),this.headers.set(n,o);break;case"d":let i=t.value;if(!i)this.headers.delete(n),this.normalizedNames.delete(n);else{let s=this.headers.get(n);if(!s)return;s=s.filter(u=>i.indexOf(u)===-1),s.length===0?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}break}}addHeaderEntry(t,n){let r=t.toLowerCase();this.maybeSetNormalizedName(t,r),this.headers.has(r)?this.headers.get(r).push(n):this.headers.set(r,[n])}setHeaderEntries(t,n){let r=(Array.isArray(n)?n:[n]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}};var ma=class{map=new Map;set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}},ya=class{encodeKey(t){return R1(t)}encodeValue(t){return R1(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}};function bT(e,t){let n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{let i=o.indexOf("="),[s,u]=i==-1?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],a=n.get(s)||[];a.push(u),n.set(s,a)}),n}var vT=/%(\d[a-f0-9])/gi,DT={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function R1(e){return encodeURIComponent(e).replace(vT,(t,n)=>DT[n]??t)}function ga(e){return`${e}`}var qt=class e{map;encoder;updates=null;cloneFrom=null;constructor(t={}){if(this.encoder=t.encoder||new ya,t.fromString){if(t.fromObject)throw new _(2805,!1);this.map=bT(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{let r=t.fromObject[n],o=Array.isArray(r)?r.map(ga):[ga(r)];this.map.set(n,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();let n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){let n=[];return Object.keys(t).forEach(r=>{let o=t[r];Array.isArray(o)?o.forEach(i=>{n.push({param:r,value:i,op:"a"})}):n.push({param:r,value:o,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{let n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>t!=="").join("&")}clone(t){let n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":let n=(t.op==="a"?this.map.get(t.param):void 0)||[];n.push(ga(t.value)),this.map.set(t.param,n);break;case"d":if(t.value!==void 0){let r=this.map.get(t.param)||[],o=r.indexOf(ga(t.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}else{this.map.delete(t.param);break}}}),this.cloneFrom=this.updates=null)}};function ET(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function F1(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function O1(e){return typeof Blob<"u"&&e instanceof Blob}function P1(e){return typeof FormData<"u"&&e instanceof FormData}function _T(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}var L1="Content-Type",j1="Accept",V1="text/plain",H1="application/json",CT=`${H1}, ${V1}, */*`,so=class e{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;referrerPolicy;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(t,n,r,o){this.url=n,this.method=t.toUpperCase();let i;if(ET(this.method)||o?(this.body=r!==void 0?r:null,i=o):i=r,i){if(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,this.keepalive=!!i.keepalive,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),i.priority&&(this.priority=i.priority),i.cache&&(this.cache=i.cache),i.credentials&&(this.credentials=i.credentials),typeof i.timeout=="number"){if(i.timeout<1||!Number.isInteger(i.timeout))throw new _(2822,"");this.timeout=i.timeout}i.mode&&(this.mode=i.mode),i.redirect&&(this.redirect=i.redirect),i.integrity&&(this.integrity=i.integrity),i.referrer&&(this.referrer=i.referrer),i.referrerPolicy&&(this.referrerPolicy=i.referrerPolicy),this.transferCache=i.transferCache}if(this.headers??=new Dn,this.context??=new ma,!this.params)this.params=new qt,this.urlWithParams=n;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=n;else{let u=n.indexOf("?"),a=u===-1?"?":uE.set(N,t.setHeaders[N]),w)),t.setParams&&(D=Object.keys(t.setParams).reduce((E,N)=>E.set(N,t.setParams[N]),D)),new e(n,r,m,{params:D,headers:w,context:F,reportProgress:v,responseType:o,withCredentials:y,transferCache:p,keepalive:i,cache:u,priority:s,timeout:g,mode:a,redirect:c,credentials:l,referrer:d,integrity:h,referrerPolicy:f})}},nr=(function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e})(nr||{}),ao=class{headers;status;statusText;url;ok;type;redirected;responseType;constructor(t,n=200,r="OK"){this.headers=t.headers||new Dn,this.status=t.status!==void 0?t.status:n,this.statusText=t.statusText||r,this.url=t.url||null,this.redirected=t.redirected,this.responseType=t.responseType,this.ok=this.status>=200&&this.status<300}},ba=class e extends ao{constructor(t={}){super(t)}type=nr.ResponseHeader;clone(t={}){return new e({headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},Ai=class e extends ao{body;constructor(t={}){super(t),this.body=t.body!==void 0?t.body:null}type=nr.Response;clone(t={}){return new e({body:t.body!==void 0?t.body:this.body,headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0,redirected:t.redirected??this.redirected,responseType:t.responseType??this.responseType})}},uo=class extends ao{name="HttpErrorResponse";message;error;ok=!1;constructor(t){super(t,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${t.url||"(unknown url)"}`:this.message=`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}},wT=200,xT=204;var IT=new x("");var TT=/^\)\]\}',?\n/;var fp=(()=>{class e{xhrFactory;tracingService=b(Dt,{optional:!0});constructor(n){this.xhrFactory=n}maybePropagateTrace(n){return this.tracingService?.propagate?this.tracingService.propagate(n):n}handle(n){if(n.method==="JSONP")throw new _(-2800,!1);let r=this.xhrFactory;return us(null).pipe(ps(()=>new B(i=>{let s=r.build();if(s.open(n.method,n.urlWithParams),n.withCredentials&&(s.withCredentials=!0),n.headers.forEach((m,y)=>s.setRequestHeader(m,y.join(","))),n.headers.has(j1)||s.setRequestHeader(j1,CT),!n.headers.has(L1)){let m=n.detectContentTypeHeader();m!==null&&s.setRequestHeader(L1,m)}if(n.timeout&&(s.timeout=n.timeout),n.responseType){let m=n.responseType.toLowerCase();s.responseType=m!=="json"?m:"text"}let u=n.serializeBody(),a=null,c=()=>{if(a!==null)return a;let m=s.statusText||"OK",y=new Dn(s.getAllResponseHeaders()),v=s.responseURL||n.url;return a=new ba({headers:y,status:s.status,statusText:m,url:v}),a},l=this.maybePropagateTrace(()=>{let{headers:m,status:y,statusText:v,url:w}=c(),D=null;y!==xT&&(D=typeof s.response>"u"?s.responseText:s.response),y===0&&(y=D?wT:0);let F=y>=200&&y<300;if(n.responseType==="json"&&typeof D=="string"){let E=D;D=D.replace(TT,"");try{D=D!==""?JSON.parse(D):null}catch(N){D=E,F&&(F=!1,D={error:N,text:D})}}F?(i.next(new Ai({body:D,headers:m,status:y,statusText:v,url:w||void 0})),i.complete()):i.error(new uo({error:D,headers:m,status:y,statusText:v,url:w||void 0}))}),d=this.maybePropagateTrace(m=>{let{url:y}=c(),v=new uo({error:m,status:s.status||0,statusText:s.statusText||"Unknown Error",url:y||void 0});i.error(v)}),h=d;n.timeout&&(h=this.maybePropagateTrace(m=>{let{url:y}=c(),v=new uo({error:new DOMException("Request timed out","TimeoutError"),status:s.status||0,statusText:s.statusText||"Request timeout",url:y||void 0});i.error(v)}));let f=!1,p=this.maybePropagateTrace(m=>{f||(i.next(c()),f=!0);let y={type:nr.DownloadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),n.responseType==="text"&&s.responseText&&(y.partialText=s.responseText),i.next(y)}),g=this.maybePropagateTrace(m=>{let y={type:nr.UploadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),i.next(y)});return s.addEventListener("load",l),s.addEventListener("error",d),s.addEventListener("timeout",h),s.addEventListener("abort",d),n.reportProgress&&(s.addEventListener("progress",p),u!==null&&s.upload&&s.upload.addEventListener("progress",g)),s.send(u),i.next({type:nr.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",l),s.removeEventListener("timeout",h),n.reportProgress&&(s.removeEventListener("progress",p),u!==null&&s.upload&&s.upload.removeEventListener("progress",g)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(r){return new(r||e)(A(tr))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function $1(e,t){return t(e)}function ST(e,t){return(n,r)=>t.intercept(n,{handle:o=>e(o,r)})}function MT(e,t,n){return(r,o)=>Sr(n,()=>t(r,i=>e(i,o)))}var U1=new x(""),pp=new x("",{factory:()=>[]}),z1=new x(""),hp=new x("",{factory:()=>!0});function AT(){let e=null;return(t,n)=>{e===null&&(e=(b(U1,{optional:!0})??[]).reduceRight(ST,$1));let r=b(Wn);if(b(hp)){let i=r.add();return e(t,n).pipe(ds(i))}else return e(t,n)}}var gp=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(fp),o},providedIn:"root"})}return e})();var va=(()=>{class e{backend;injector;chain=null;pendingTasks=b(Wn);contributeToStability=b(hp);constructor(n,r){this.backend=n,this.injector=r}handle(n){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(pp),...this.injector.get(z1,[])]));this.chain=r.reduceRight((o,i)=>MT(o,i,this.injector),$1)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(n,o=>this.backend.handle(o)).pipe(ds(r))}else return this.chain(n,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||e)(A(gp),A(Ce))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),mp=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(va),o},providedIn:"root"})}return e})();function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,credentials:e.credentials,transferCache:e.transferCache,timeout:e.timeout,keepalive:e.keepalive,priority:e.priority,cache:e.cache,mode:e.mode,redirect:e.redirect,integrity:e.integrity,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var q1=(()=>{class e{handler;constructor(n){this.handler=n}request(n,r,o={}){let i;if(n instanceof so)i=n;else{let a;o.headers instanceof Dn?a=o.headers:a=new Dn(o.headers);let c;o.params&&(o.params instanceof qt?c=o.params:c=new qt({fromObject:o.params})),i=new so(n,r,o.body!==void 0?o.body:null,{headers:a,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials,referrer:o.referrer,referrerPolicy:o.referrerPolicy,integrity:o.integrity,timeout:o.timeout})}let s=us(i).pipe(lc(a=>this.handler.handle(a)));if(n instanceof so||o.observe==="events")return s;let u=s.pipe(on(a=>a instanceof Ai));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return u.pipe(Ee(a=>{if(a.body!==null&&!(a.body instanceof ArrayBuffer))throw new _(2806,!1);return a.body}));case"blob":return u.pipe(Ee(a=>{if(a.body!==null&&!(a.body instanceof Blob))throw new _(2807,!1);return a.body}));case"text":return u.pipe(Ee(a=>{if(a.body!==null&&typeof a.body!="string")throw new _(2808,!1);return a.body}));default:return u.pipe(Ee(a=>a.body))}case"response":return u;default:throw new _(2809,!1)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:new qt().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,dp(o,r))}post(n,r,o={}){return this.request("POST",n,dp(o,r))}put(n,r,o={}){return this.request("PUT",n,dp(o,r))}static \u0275fac=function(r){return new(r||e)(A(mp))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var NT=new x("",{factory:()=>!0}),kT="XSRF-TOKEN",RT=new x("",{factory:()=>kT}),FT="X-XSRF-TOKEN",OT=new x("",{factory:()=>FT}),PT=(()=>{class e{cookieName=b(RT);doc=b(K);lastCookieString="";lastToken=null;parseCount=0;getToken(){let n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=Ei(n,this.cookieName),this.lastCookieString=n),this.lastToken}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),G1=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(PT),o},providedIn:"root"})}return e})();function LT(e,t){if(!b(NT)||e.method==="GET"||e.method==="HEAD")return t(e);try{let o=b(vn).href,{origin:i}=new URL(o),{origin:s}=new URL(e.url,i);if(i!==s)return t(e)}catch{return t(e)}let n=b(G1).getToken(),r=b(OT);return n!=null&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var yp=(function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e})(yp||{});function jT(e,t){return{\u0275kind:e,\u0275providers:t}}function W1(...e){let t=[q1,va,{provide:mp,useExisting:va},{provide:gp,useFactory:()=>b(IT,{optional:!0})??b(fp)},{provide:pp,useValue:LT,multi:!0}];for(let n of e)t.push(...n.\u0275providers);return Pn(t)}var B1=new x("");function Z1(){return jT(yp.LegacyInterceptors,[{provide:B1,useFactory:AT},{provide:pp,useExisting:B1,multi:!0}])}var BT=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=$t({type:e});static \u0275inj=ht({providers:[W1(Z1())]})}return e})();var s$=(()=>{class e{_doc;constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var bp=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(VT),o},providedIn:"root"})}return e})(),VT=(()=>{class e extends bp{_doc;constructor(n){super(),this._doc=n}sanitize(n,r){if(r==null)return null;switch(n){case Le.NONE:return r;case Le.HTML:return Bt(r,"HTML")?Pe(r):Du(this._doc,String(r)).toString();case Le.STYLE:return Bt(r,"Style")?Pe(r):r;case Le.SCRIPT:if(Bt(r,"Script"))return Pe(r);throw new _(5200,!1);case Le.URL:return Bt(r,"URL")?Pe(r):ui(String(r));case Le.RESOURCE_URL:if(Bt(r,"ResourceURL"))return Pe(r);throw new _(5201,!1);default:throw new _(5202,!1)}}bypassSecurityTrustHtml(n){return dd(n)}bypassSecurityTrustStyle(n){return fd(n)}bypassSecurityTrustScript(n){return pd(n)}bypassSecurityTrustUrl(n){return hd(n)}bypassSecurityTrustResourceUrl(n){return gd(n)}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Tp={};lr(Tp,{arrayReplaceAt:()=>Ip,assign:()=>fo,escapeHtml:()=>Zt,escapeRE:()=>CS,fromCodePoint:()=>Ri,has:()=>fS,isMdAsciiPunct:()=>sr,isPunctChar:()=>ir,isSpace:()=>H,isString:()=>Na,isValidEntityCode:()=>ka,isWhiteSpace:()=>or,lib:()=>wS,normalizeReference:()=>ur,unescapeAll:()=>Wt,unescapeMd:()=>yS});var wa={};lr(wa,{decode:()=>Ni,encode:()=>_a,format:()=>co,parse:()=>ki});var Y1={};function HT(e){let t=Y1[e];if(t)return t;t=Y1[e]=[];for(let n=0;n<128;n++){let r=String.fromCharCode(n);t.push(r)}for(let n=0;n=55296&&l<=57343?o+="\uFFFD\uFFFD\uFFFD":o+=String.fromCharCode(l),i+=6;continue}}if((u&248)===240&&i+91114111?o+="\uFFFD\uFFFD\uFFFD\uFFFD":(d-=65536,o+=String.fromCharCode(55296+(d>>10),56320+(d&1023))),i+=9;continue}}o+="\uFFFD"}return o})}Da.defaultChars=";/?:@&=+$,#";Da.componentChars="";var Ni=Da;var Q1={};function $T(e){let t=Q1[e];if(t)return t;t=Q1[e]=[];for(let n=0;n<128;n++){let r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?t.push(r):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);let r=$T(t),o="";for(let i=0,s=e.length;i=55296&&u<=57343){if(u>=55296&&u<=56319&&i+1=56320&&a<=57343){o+=encodeURIComponent(e[i]+e[i+1]),i++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[i])}return o}Ea.defaultChars=";/?:@&=+$,-_.!~*'()#";Ea.componentChars="-_.!~*'()";var _a=Ea;function co(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function Ca(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var UT=/^([a-z0-9.+-]+:)/i,zT=/:[0-9]*$/,qT=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,GT=["<",">",'"',"`"," ","\r",` +`;var i2=[Qb,Kb,Jb,Xb,e1,t1,n1].flat(1/0).join(` +`);var Hf={};lr(Hf,{isComponentArrayReference:()=>_f,isObject:()=>$,isPath:()=>Ef,isResolvedAudioPlayer:()=>Cf,isResolvedButton:()=>wf,isResolvedCard:()=>xf,isResolvedCheckbox:()=>If,isResolvedColumn:()=>Tf,isResolvedDateTimeInput:()=>Sf,isResolvedDivider:()=>Mf,isResolvedIcon:()=>Nf,isResolvedImage:()=>Af,isResolvedList:()=>kf,isResolvedModal:()=>Rf,isResolvedMultipleChoice:()=>Ff,isResolvedRow:()=>Of,isResolvedSlider:()=>Pf,isResolvedTabs:()=>Lf,isResolvedText:()=>jf,isResolvedTextField:()=>Bf,isResolvedVideo:()=>Vf,isValueMap:()=>u2});function u2(e){return $(e)&&"key"in e}function Ef(e,t){return e==="path"&&typeof t=="string"}function $(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _f(e){return $(e)?"explicitList"in e||"template"in e:!1}function zt(e){return $(e)&&("path"in e||"literal"in e&&typeof e.literal=="string"||"literalString"in e)}function a2(e){return $(e)&&("path"in e||"literal"in e&&typeof e.literal=="number"||"literalNumber"in e)}function c2(e){return $(e)&&("path"in e||"literal"in e&&typeof e.literal=="boolean"||"literalBoolean"in e)}function Ut(e){return!(!$(e)||!("id"in e&&"type"in e&&"properties"in e))}function Cf(e){return $(e)&&"url"in e&&zt(e.url)}function wf(e){return $(e)&&"child"in e&&Ut(e.child)&&"action"in e}function xf(e){return $(e)?"child"in e?Ut(e.child):"children"in e?Array.isArray(e.children)&&e.children.every(Ut):!1:!1}function If(e){return $(e)&&"label"in e&&zt(e.label)&&"value"in e&&c2(e.value)}function Tf(e){return $(e)&&"children"in e&&Array.isArray(e.children)&&e.children.every(Ut)}function Sf(e){return $(e)&&"value"in e&&zt(e.value)}function Mf(e){return $(e)}function Af(e){return $(e)&&"url"in e&&zt(e.url)}function Nf(e){return $(e)&&"name"in e&&zt(e.name)}function kf(e){return $(e)&&"children"in e&&Array.isArray(e.children)&&e.children.every(Ut)}function Rf(e){return $(e)&&"entryPointChild"in e&&Ut(e.entryPointChild)&&"contentChild"in e&&Ut(e.contentChild)}function Ff(e){return $(e)&&"selections"in e}function Of(e){return $(e)&&"children"in e&&Array.isArray(e.children)&&e.children.every(Ut)}function Pf(e){return $(e)&&"value"in e&&a2(e.value)}function l2(e){return $(e)&&"title"in e&&zt(e.title)&&"child"in e&&Ut(e.child)}function Lf(e){return $(e)&&"tabItems"in e&&Array.isArray(e.tabItems)&&e.tabItems.every(l2)}function jf(e){return $(e)&&"text"in e&&zt(e.text)}function Bf(e){return $(e)&&"label"in e&&zt(e.label)}function Vf(e){return $(e)&&"url"in e&&zt(e.url)}var Ju=(()=>{class e{static{this.DEFAULT_SURFACE_ID="@default"}#t=Map;#n=Array;#o=Set;#e=Object;#r;constructor(n={mapCtor:Map,arrayCtor:Array,setCtor:Set,objCtor:Object}){this.opts=n,this.#n=n.arrayCtor,this.#t=n.mapCtor,this.#o=n.setCtor,this.#e=n.objCtor,this.#r=new n.mapCtor}getSurfaces(){return this.#r}clearSurfaces(){this.#r.clear()}processMessages(n){for(let r of n)r.beginRendering&&this.#g(r.beginRendering,r.beginRendering.surfaceId),r.surfaceUpdate&&this.#m(r.surfaceUpdate,r.surfaceUpdate.surfaceId),r.dataModelUpdate&&this.#y(r.dataModelUpdate,r.dataModelUpdate.surfaceId),r.deleteSurface&&this.#b(r.deleteSurface)}getData(n,r,o=e.DEFAULT_SURFACE_ID){let i=this.#i(o);if(!i)return null;let s;return r==="."||r===""?s=n.dataContextPath??"/":s=this.resolvePath(r,n.dataContextPath),this.#p(i.dataModel,s)}setData(n,r,o,i=e.DEFAULT_SURFACE_ID){if(!n){console.warn("No component node set");return}let s=this.#i(i);if(!s)return;let u;r==="."||r===""?u=n.dataContextPath??"/":u=this.resolvePath(r,n.dataContextPath),this.#a(s.dataModel,u,o)}resolvePath(n,r){return n.startsWith("/")?n:r&&r!=="/"?r.endsWith("/")?`${r}${n}`:`${r}/${n}`:`/${n}`}#d(n){if(typeof n!="string")return n;let r=n.trim();if(r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))try{return JSON.parse(n)}catch(o){return console.warn(`Failed to parse potential JSON string: "${n.substring(0,50)}..."`,o),n}return n}#u(n){let r=new this.#t;for(let o of n){if(!$(o)||!("key"in o))continue;let i=o.key,s=this.#h(o);if(!s)continue;let u=o[s];s==="valueMap"&&Array.isArray(u)?u=this.#u(u):typeof u=="string"&&(u=this.#d(u)),this.#a(r,i,u)}return r}#a(n,r,o){if(Array.isArray(o)&&(o.length===0||$(o[0])&&"key"in o[0]))if(o.length===1&&$(o[0])&&o[0].key==="."){let c=o[0],l=this.#h(c);l?(o=c[l],l==="valueMap"&&Array.isArray(o)?o=this.#u(o):typeof o=="string"&&(o=this.#d(o))):o=this.#u(o)}else o=this.#u(o);let i=this.#f(r).split("/").filter(c=>c);if(i.length===0){if(o instanceof Map||$(o)){!(o instanceof Map)&&$(o)&&(o=new this.#t(Object.entries(o))),n.clear();for(let[c,l]of o.entries())n.set(c,l)}else console.error("Cannot set root of DataModel to a non-Map value.");return}let s=n;for(let c=0;ci.length>0).join("/")}#p(n,r){let o=this.#f(r).split("/").filter(s=>s),i=n;for(let s of o){if(i==null)return null;if(i instanceof Map)i=i.get(s);else if(Array.isArray(i)&&/^\d+$/.test(s))i=i[parseInt(s,10)];else if($(i))i=i[s];else return null}return i}#i(n){let r=this.#r.get(n);return r||(r=new this.#e({rootComponentId:null,componentTree:null,dataModel:new this.#t,components:new this.#t,styles:new this.#e}),this.#r.set(n,r)),r}#g(n,r){let o=this.#i(r);o.rootComponentId=n.root,o.styles=n.styles??{},this.#c(o)}#m(n,r){let o=this.#i(r);for(let i of n.components)o.components.set(i.id,i);this.#c(o)}#y(n,r){let o=this.#i(r),i=n.path??"/";this.#a(o.dataModel,i,n.contents),this.#c(o)}#b(n){this.#r.delete(n.surfaceId)}#c(n){if(!n.rootComponentId){n.componentTree=null;return}let r=new this.#o;n.componentTree=this.#s(n.rootComponentId,n,r,"/","")}#h(n){return Object.keys(n).find(r=>r.startsWith("value"))}#s(n,r,o,i,s=""){let u=`${n}${s}`,{components:a}=r;if(!a.has(n))return null;if(o.has(u))throw new Error(`Circular dependency for component "${u}".`);o.add(u);let c=a.get(n),l=c.component??{},d=Object.keys(l)[0],h=l[d],f=new this.#e;if($(h))for(let[g,m]of Object.entries(h))f[g]=this.#l(m,r,o,i,s);o.delete(u);let p={id:u,dataContextPath:i,weight:c.weight??"initial"};switch(d){case"Text":if(!jf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Text",properties:f}));case"Image":if(!Af(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Image",properties:f}));case"Icon":if(!Nf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Icon",properties:f}));case"Video":if(!Vf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Video",properties:f}));case"AudioPlayer":if(!Cf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"AudioPlayer",properties:f}));case"Row":if(!Of(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Row",properties:f}));case"Column":if(!Tf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Column",properties:f}));case"List":if(!kf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"List",properties:f}));case"Card":if(!xf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Card",properties:f}));case"Tabs":if(!Lf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Tabs",properties:f}));case"Divider":if(!Mf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Divider",properties:f}));case"Modal":if(!Rf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Modal",properties:f}));case"Button":if(!wf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Button",properties:f}));case"CheckBox":if(!If(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"CheckBox",properties:f}));case"TextField":if(!Bf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"TextField",properties:f}));case"DateTimeInput":if(!Sf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"DateTimeInput",properties:f}));case"MultipleChoice":if(!Ff(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"MultipleChoice",properties:f}));case"Slider":if(!Pf(f))throw new Error(`Invalid data; expected ${d}`);return new this.#e(P(S({},p),{type:"Slider",properties:f}));default:return new this.#e(P(S({},p),{type:d,properties:f}))}}#l(n,r,o,i,s=""){if(typeof n=="string"&&r.components.has(n))return this.#s(n,r,o,i,s);if(_f(n)){if(n.explicitList)return n.explicitList.map(u=>this.#s(u,r,o,i,s));if(n.template){let u=this.resolvePath(n.template.dataBinding,i),a=this.#p(r.dataModel,u),c=n.template;if(Array.isArray(a))return a.map((d,h)=>{let g=`:${[...i.split("/").filter(y=>/^\d+$/.test(y)),h].join(":")}`,m=`${u}/${h}`;return this.#s(c.componentId,r,o,m,g)});let l=this.#t;return a instanceof l?Array.from(a.keys(),d=>{let h=`:${d}`,f=`${u}/${d}`;return this.#s(c.componentId,r,o,f,h)}):new this.#n}}if(Array.isArray(n))return n.map(u=>this.#l(u,r,o,i,s));if($(n)){let u=new this.#e;for(let[a,c]of Object.entries(n)){let l=c;if(Ef(a,c)&&i!=="/"){l=c.replace(/^\.?\/item/,"").replace(/^\.?\/text/,"").replace(/^\.?\/label/,"").replace(/^\.?\//,""),u[a]=l;continue}u[a]=this.#l(l,r,o,i,s)}return u}return n}}return e})();var d2=Object.defineProperty,f2=(e,t,n)=>t in e?d2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$f=(e,t,n)=>(f2(e,typeof t!="symbol"?t+"":t,n),n),p2=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Uf=(e,t)=>{if(Object(t)!==t)throw TypeError('Cannot use the "in" operator on this value');return e.has(t)},Xu=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},r1=(e,t,n)=>(p2(e,t,"access private method"),n);function o1(e,t){return Object.is(e,t)}var se=null,Di=!1,ea=1,ta=Symbol("SIGNAL");function ro(e){let t=se;return se=e,t}function h2(){return se}function g2(){return Di}var Zf={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function ra(e){if(Di)throw new Error("");if(se===null)return;se.consumerOnSignalRead(e);let t=se.nextProducerIndex++;if(oo(se),te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function E2(e){oo(e);for(let t=0;t0}function oo(e){e.producerNode??(e.producerNode=[]),e.producerIndexOfThis??(e.producerIndexOfThis=[]),e.producerLastReadVersion??(e.producerLastReadVersion=[])}function Yf(e){e.liveConsumerNode??(e.liveConsumerNode=[]),e.liveConsumerIndexOfThis??(e.liveConsumerIndexOfThis=[])}function a1(e){if(i1(e),ra(e),e.value===Wf)throw e.error;return e.value}function _2(e){let t=Object.create(C2);t.computation=e;let n=()=>a1(t);return n[ta]=t,n}var zf=Symbol("UNSET"),qf=Symbol("COMPUTING"),Wf=Symbol("ERRORED"),C2=P(S({},Zf),{value:zf,dirty:!0,error:null,equal:o1,producerMustRecompute(e){return e.value===zf||e.value===qf},producerRecomputeValue(e){if(e.value===qf)throw new Error("Detected cycle in computations.");let t=e.value;e.value=qf;let n=v2(e),r,o=!1;try{r=e.computation.call(e.wrapper),o=t!==zf&&t!==Wf&&e.equal.call(e.wrapper,t,r)}catch(i){r=Wf,e.error=i}finally{D2(e,n)}if(o){e.value=t;return}e.value=r,e.version++}});function w2(){throw new Error}var x2=w2;function I2(){x2()}function T2(e){let t=Object.create(A2);t.value=e;let n=()=>(ra(t),t.value);return n[ta]=t,n}function S2(){return ra(this),this.value}function M2(e,t){y2()||I2(),e.equal.call(e.wrapper,e.value,t)||(e.value=t,N2(e))}var A2=P(S({},Zf),{equal:o1,value:void 0});function N2(e){e.version++,m2(),s1(e)}var pe=Symbol("node"),na;(e=>{var t,n,r,o,i,s;class u{constructor(l,d={}){Xu(this,n),$f(this,t);let f=T2(l)[ta];if(this[pe]=f,f.wrapper=this,d){let p=d.equals;p&&(f.equal=p),f.watched=d[e.subtle.watched],f.unwatched=d[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return S2.call(this[pe])}set(l){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(g2())throw new Error("Writes to signals not permitted during Watcher callback");let d=this[pe];M2(d,l)}}t=pe,n=new WeakSet,r=function(){},e.isState=c=>typeof c=="object"&&Uf(n,c),e.State=u;class a{constructor(l,d){Xu(this,i),$f(this,o);let f=_2(l)[ta];if(f.consumerAllowSignalWrites=!0,this[pe]=f,f.wrapper=this,d){let p=d.equals;p&&(f.equal=p),f.watched=d[e.subtle.watched],f.unwatched=d[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return a1(this[pe])}}o=pe,i=new WeakSet,s=function(){},e.isComputed=c=>typeof c=="object"&&Uf(i,c),e.Computed=a,(c=>{var l,d,h,f,p;function g(E){let N,O=null;try{O=ro(null),N=E()}finally{ro(O)}return N}c.untrack=g;function m(E){var N;if(!(0,e.isComputed)(E)&&!(0,e.isWatcher)(E))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return((N=E[pe].producerNode)==null?void 0:N.map(O=>O.wrapper))??[]}c.introspectSources=m;function y(E){var N;if(!(0,e.isComputed)(E)&&!(0,e.isState)(E))throw new TypeError("Called introspectSinks without a Signal argument");return((N=E[pe].liveConsumerNode)==null?void 0:N.map(O=>O.wrapper))??[]}c.introspectSinks=y;function v(E){if(!(0,e.isComputed)(E)&&!(0,e.isState)(E))throw new TypeError("Called hasSinks without a Signal argument");let N=E[pe].liveConsumerNode;return N?N.length>0:!1}c.hasSinks=v;function w(E){if(!(0,e.isComputed)(E)&&!(0,e.isWatcher)(E))throw new TypeError("Called hasSources without a Computed or Watcher argument");let N=E[pe].producerNode;return N?N.length>0:!1}c.hasSources=w;class D{constructor(N){Xu(this,d),Xu(this,f),$f(this,l);let O=Object.create(Zf);O.wrapper=this,O.consumerMarkedDirty=N,O.consumerIsAlwaysLive=!0,O.consumerAllowSignalWrites=!1,O.producerNode=[],this[pe]=O}watch(...N){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");r1(this,f,p).call(this,N);let O=this[pe];O.dirty=!1;let J=ro(O);for(let ut of N)ra(ut[pe]);ro(J)}unwatch(...N){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");r1(this,f,p).call(this,N);let O=this[pe];oo(O);for(let J=O.producerNode.length-1;J>=0;J--)if(N.includes(O.producerNode[J].wrapper)){oa(O.producerNode[J],O.producerIndexOfThis[J]);let ut=O.producerNode.length-1;if(O.producerNode[J]=O.producerNode[ut],O.producerIndexOfThis[J]=O.producerIndexOfThis[ut],O.producerNode.length--,O.producerIndexOfThis.length--,O.nextProducerIndex--,JO.dirty).map(O=>O.wrapper)}}l=pe,d=new WeakSet,h=function(){},f=new WeakSet,p=function(E){for(let N of E)if(!(0,e.isComputed)(N)&&!(0,e.isState)(N))throw new TypeError("Called watch/unwatch without a Computed or State argument")},e.isWatcher=E=>Uf(d,E),c.Watcher=D;function F(){var E;return(E=h2())==null?void 0:E.wrapper}c.currentComputed=F,c.watched=Symbol("watched"),c.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(na||(na={}));var qe=(e=null)=>new na.State(e,{equals:()=>!1});var k2=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),R2=new Set(["fill","push","unshift"]);function c1(e){if(typeof e=="symbol")return null;let t=Number(e);return isNaN(t)?null:t%1===0?t:null}var Ei=class e{static from(t,n,r){return n?new e(Array.from(t,n,r)):new e(Array.from(t))}static of(...t){return new e(t)}constructor(t=[]){let n=t.slice(),r=this,o=new Map,i=!1;return new Proxy(n,{get(s,u){let a=c1(u);if(a!==null)return r.#o(a),r.#t.get(),s[a];if(u==="length")return i?i=!1:r.#t.get(),s[u];if(R2.has(u)&&(i=!0),k2.has(u)){let c=o.get(u);return c===void 0&&(c=(...l)=>(r.#t.get(),s[u](...l)),o.set(u,c)),c}return s[u]},set(s,u,a){s[u]=a;let c=c1(u);return c!==null?(r.#e(c),r.#t.set(null)):u==="length"&&r.#t.set(null),!0},getPrototypeOf(){return e.prototype}})}#t=qe();#n=new Map;#o(t){let n=this.#n.get(t);n===void 0&&(n=qe(),this.#n.set(t,n)),n.get()}#e(t){let n=this.#n.get(t);n&&n.set(null)}};Object.setPrototypeOf(Ei.prototype,Array.prototype);var _i=class{collection=qe();storages=new Map;vals;readStorageFor(t){let{storages:n}=this,r=n.get(t);r===void 0&&(r=qe(),n.set(t,r)),r.get()}dirtyStorageFor(t){let n=this.storages.get(t);n&&n.set(null)}constructor(t){this.vals=t?new Map(t):new Map}get(t){return this.readStorageFor(t),this.vals.get(t)}has(t){return this.readStorageFor(t),this.vals.has(t)}entries(){return this.collection.get(),this.vals.entries()}keys(){return this.collection.get(),this.vals.keys()}values(){return this.collection.get(),this.vals.values()}forEach(t){this.collection.get(),this.vals.forEach(t)}get size(){return this.collection.get(),this.vals.size}[Symbol.iterator](){return this.collection.get(),this.vals[Symbol.iterator]()}get[Symbol.toStringTag](){return this.vals[Symbol.toStringTag]}set(t,n){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.set(t,n),this}delete(t){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.delete(t)}clear(){this.storages.forEach(t=>t.set(null)),this.collection.set(null),this.vals.clear()}};Object.setPrototypeOf(_i.prototype,Map.prototype);var Qf=class e{static fromEntries(t){return new e(Object.fromEntries(t))}#t=new Map;#n=qe();constructor(t={}){let n=Object.getPrototypeOf(t),r=Object.getOwnPropertyDescriptors(t),o=Object.create(n);for(let s in r)Object.defineProperty(o,s,r[s]);let i=this;return new Proxy(o,{get(s,u,a){return i.#o(u),Reflect.get(s,u,a)},has(s,u){return i.#o(u),u in s},ownKeys(s){return i.#n.get(),Reflect.ownKeys(s)},set(s,u,a,c){let l=Reflect.set(s,u,a,c);return i.#e(u),i.#r(),l},deleteProperty(s,u){return u in s&&(delete s[u],i.#e(u),i.#r()),!0},getPrototypeOf(){return e.prototype}})}#o(t){let n=this.#t.get(t);n===void 0&&(n=qe(),this.#t.set(t,n)),n.get()}#e(t){let n=this.#t.get(t);n&&n.set(null)}#r(){this.#n.set(null)}},l1=Qf;var Ci=class{collection=qe();storages=new Map;vals;storageFor(t){let n=this.storages,r=n.get(t);return r===void 0&&(r=qe(),n.set(t,r)),r}dirtyStorageFor(t){let n=this.storages.get(t);n&&n.set(null)}constructor(t){this.vals=new Set(t)}has(t){return this.storageFor(t).get(),this.vals.has(t)}entries(){return this.collection.get(),this.vals.entries()}keys(){return this.collection.get(),this.vals.keys()}values(){return this.collection.get(),this.vals.values()}forEach(t){this.collection.get(),this.vals.forEach(t)}get size(){return this.collection.get(),this.vals.size}[Symbol.iterator](){return this.collection.get(),this.vals[Symbol.iterator]()}get[Symbol.toStringTag](){return this.vals[Symbol.toStringTag]}add(t){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.add(t),this}delete(t){return this.dirtyStorageFor(t),this.collection.set(null),this.vals.delete(t)}clear(){this.storages.forEach(t=>t.set(null)),this.collection.set(null),this.vals.clear()}};Object.setPrototypeOf(Ci.prototype,Set.prototype);function d1(){return new Ju({arrayCtor:Ei,mapCtor:_i,objCtor:l1,setCtor:Ci})}var f1={createSignalA2uiMessageProcessor:d1,A2uiMessageProcessor:Ju,Guards:Hf};var p1=null;function Et(){return p1}function Kf(e){p1??=e}var wi=class{},vn=(()=>{class e{historyGo(n){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:()=>b(h1),providedIn:"platform"})}return e})(),F2=new x(""),h1=(()=>{class e extends vn{_location;_history;_doc=b(K);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Et().getBaseHref(this._doc)}onPopState(n){let r=Et().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){let r=Et().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function ia(e,t){return e?t?e.endsWith("/")?t.startsWith("/")?e+t.slice(1):e+t:t.startsWith("/")?e+t:`${e}/${t}`:e:t}function g1(e){let t=e.search(/#|\?|$/);return e[t-1]==="/"?e.slice(0,t-1)+e.slice(t):e}function it(e){return e&&e[0]!=="?"?`?${e}`:e}var io=(()=>{class e{historyGo(n){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:()=>b(y1),providedIn:"root"})}return e})(),sa=new x(""),y1=(()=>{class e extends io{_platformLocation;_baseHref;_removeListenerFns=[];constructor(n,r){super(),this._platformLocation=n,this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??b(K).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return ia(this._baseHref,n)}path(n=!1){let r=this._platformLocation.pathname+it(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i));this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i));this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static \u0275fac=function(r){return new(r||e)(A(vn),A(sa,8))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),b1=(()=>{class e{_subject=new le;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(n){this._locationStrategy=n;let r=this._locationStrategy.getBaseHref();this._basePath=L2(g1(m1(r))),this._locationStrategy.onPopState(o=>{this._subject.next({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+it(r))}normalize(n){return e.stripTrailingSlash(P2(this._basePath,m1(n)))}prepareExternalUrl(n){return n&&n[0]!=="/"&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+it(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+it(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r??void 0,complete:o??void 0})}static normalizeQueryParams=it;static joinWithSlash=ia;static stripTrailingSlash=g1;static \u0275fac=function(r){return new(r||e)(A(io))};static \u0275prov=I({token:e,factory:()=>O2(),providedIn:"root"})}return e})();function O2(){return new b1(A(io))}function P2(e,t){if(!e||!t.startsWith(e))return t;let n=t.substring(e.length);return n===""||["/",";","?","#"].includes(n[0])?n:t}function m1(e){return e.replace(/\/index.html$/,"")}function L2(e){if(new RegExp("^(https?:)?//").test(e)){let[,n]=e.split(/\/\/[^\/]+/);return n}return e}var j2=(()=>{class e extends io{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(n,r){super(),this._platformLocation=n,r!=null&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(n){let r=ia(this._baseHref,n);return r.length>0?"#"+r:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i))||this._platformLocation.pathname;this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+it(i))||this._platformLocation.pathname;this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static \u0275fac=function(r){return new(r||e)(A(vn),A(sa,8))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})();var Jf=/\s+/,v1=[],B2=(()=>{class e{_ngEl;_renderer;initialClasses=v1;rawClass;stateMap=new Map;constructor(n,r){this._ngEl=n,this._renderer=r}set klass(n){this.initialClasses=n!=null?n.trim().split(Jf):v1}set ngClass(n){this.rawClass=typeof n=="string"?n.trim().split(Jf):n}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(let r of n)this._updateState(r,!0);else if(n!=null)for(let r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){let o=this.stateMap.get(n);o!==void 0?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let n of this.stateMap){let r=n[0],o=n[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(n,r){n=n.trim(),n.length>0&&n.split(Jf).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static \u0275fac=function(r){return new(r||e)(oe(jt),oe(pi))};static \u0275dir=ot({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})(),V2=(()=>{class e{_viewContainerRef;ngComponentOutlet=null;ngComponentOutletInputs;ngComponentOutletInjector;ngComponentOutletEnvironmentInjector;ngComponentOutletContent;ngComponentOutletNgModule;_componentRef;_moduleRef;_inputsUsed=new Map;get componentInstance(){return this._componentRef?.instance??null}constructor(n){this._viewContainerRef=n}_needToReCreateNgModuleInstance(n){return n.ngComponentOutletNgModule!==void 0}_needToReCreateComponentInstance(n){return n.ngComponentOutlet!==void 0||n.ngComponentOutletContent!==void 0||n.ngComponentOutletInjector!==void 0||n.ngComponentOutletEnvironmentInjector!==void 0||this._needToReCreateNgModuleInstance(n)}ngOnChanges(n){if(this._needToReCreateComponentInstance(n)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){let r=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(n)&&(this._moduleRef?.destroy(),this.ngComponentOutletNgModule?this._moduleRef=Vd(this.ngComponentOutletNgModule,H2(r)):this._moduleRef=void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:r,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent,environmentInjector:this.ngComponentOutletEnvironmentInjector})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(let n of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(n,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(n){for(let[r,o]of this._inputsUsed)o?(n.setInput(r,this.ngComponentOutletInputs[r]),this._inputsUsed.set(r,!1)):(n.setInput(r,void 0),this._inputsUsed.delete(r))}static \u0275fac=function(r){return new(r||e)(oe(rt))};static \u0275dir=ot({type:e,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInputs:"ngComponentOutletInputs",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletEnvironmentInjector:"ngComponentOutletEnvironmentInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule"},exportAs:["ngComponentOutlet"],features:[hu]})}return e})();function H2(e){return e.get(yn).injector}var ua=class{$implicit;ngForOf;index;count;constructor(t,n,r,o){this.$implicit=t,this.ngForOf=n,this.index=r,this.count=o}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},C1=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(n,r,o){this._viewContainer=n,this._template=r,this._differs=o}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){let n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){let r=this._viewContainer;n.forEachOperation((o,i,s)=>{if(o.previousIndex==null)r.createEmbeddedView(this._template,new ua(o.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)r.remove(i===null?void 0:i);else if(i!==null){let u=r.get(i);r.move(u,s),D1(u,o)}});for(let o=0,i=r.length;o{let i=r.get(o.currentIndex);D1(i,o)})}static ngTemplateContextGuard(n,r){return!0}static \u0275fac=function(r){return new(r||e)(oe(rt),oe(gn),oe(bf))};static \u0275dir=ot({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function D1(e,t){e.context.$implicit=t.item}var $2=(()=>{class e{_viewContainer;_context=new aa;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(n,r){this._viewContainer=n,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){E1(n,!1),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){E1(n,!1),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(n,r){return!0}static \u0275fac=function(r){return new(r||e)(oe(rt),oe(gn))};static \u0275dir=ot({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})(),aa=class{$implicit=null;ngIf=null};function E1(e,t){if(e&&!e.createEmbeddedView)throw new _(2020,!1)}var U2=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(n,r,o){this._ngEl=n,this._differs=r,this._renderer=o}set ngStyle(n){this._ngStyle=n,!this._differ&&n&&(this._differ=this._differs.find(n).create())}ngDoCheck(){if(this._differ){let n=this._differ.diff(this._ngStyle);n&&this._applyChanges(n)}}_setStyle(n,r){let[o,i]=n.split("."),s=o.indexOf("-")===-1?void 0:nt.DashCase;r!=null?this._renderer.setStyle(this._ngEl.nativeElement,o,i?`${r}${i}`:r,s):this._renderer.removeStyle(this._ngEl.nativeElement,o,s)}_applyChanges(n){n.forEachRemovedItem(r=>this._setStyle(r.key,null)),n.forEachAddedItem(r=>this._setStyle(r.key,r.currentValue)),n.forEachChangedItem(r=>this._setStyle(r.key,r.currentValue))}static \u0275fac=function(r){return new(r||e)(oe(jt),oe(Ku),oe(pi))};static \u0275dir=ot({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),z2=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(n){this._viewContainerRef=n}ngOnChanges(n){if(this._shouldRecreateView(n)){let r=this._viewContainerRef;if(this._viewRef&&r.remove(r.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let o=this._createContextForwardProxy();this._viewRef=r.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(n){return!!n.ngTemplateOutlet||!!n.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(n,r,o)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,r,o):!1,get:(n,r,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,r,o)}})}static \u0275fac=function(r){return new(r||e)(oe(rt))};static \u0275dir=ot({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[hu]})}return e})();function q2(e,t){return new _(2100,!1)}var Xf=class{createSubscription(t,n,r){return de(()=>t.subscribe({next:n,error:r}))}dispose(t){de(()=>t.unsubscribe())}},ep=class{createSubscription(t,n,r){return t.then(o=>n?.(o),o=>r?.(o)),{unsubscribe:()=>{n=null,r=null}}}dispose(t){t.unsubscribe()}},G2=new ep,W2=new Xf,Z2=(()=>{class e{_ref;_latestValue=null;markForCheckOnValueUpdate=!0;_subscription=null;_obj=null;_strategy=null;applicationErrorHandler=b(Pt);constructor(n){this._ref=n}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(n){if(!this._obj){if(n)try{this.markForCheckOnValueUpdate=!1,this._subscribe(n)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return n!==this._obj?(this._dispose(),this.transform(n)):this._latestValue}_subscribe(n){this._obj=n,this._strategy=this._selectStrategy(n),this._subscription=this._strategy.createSubscription(n,r=>this._updateLatestValue(n,r),r=>this.applicationErrorHandler(r))}_selectStrategy(n){if(gi(n))return G2;if(Ou(n))return W2;throw q2(e,n)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(n,r){n===this._obj&&(this._latestValue=r,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static \u0275fac=function(r){return new(r||e)(oe(yf,16))};static \u0275pipe=ku({name:"async",type:e,pure:!1})}return e})();function Y2(e,t){return{key:e,value:t}}var Q2=(()=>{class e{differs;constructor(n){this.differs=n}differ;keyValues=[];compareFn=_1;transform(n,r=_1){if(!n||!(n instanceof Map)&&typeof n!="object")return null;this.differ??=this.differs.find(n).create();let o=this.differ.diff(n),i=r!==this.compareFn;return o&&(this.keyValues=[],o.forEachItem(s=>{this.keyValues.push(Y2(s.key,s.currentValue))})),(o||i)&&(r&&this.keyValues.sort(r),this.compareFn=r),this.keyValues}static \u0275fac=function(r){return new(r||e)(oe(Ku,16))};static \u0275pipe=ku({name:"keyvalue",type:e,pure:!1})}return e})();function _1(e,t){let n=e.key,r=t.key;if(n===r)return 0;if(n==null)return 1;if(r==null)return-1;if(typeof n=="string"&&typeof r=="string")return n{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=$t({type:e});static \u0275inj=ht({})}return e})();function xi(e,t){t=encodeURIComponent(t);for(let n of e.split(";")){let r=n.indexOf("="),[o,i]=r==-1?[n,""]:[n.slice(0,r),n.slice(r+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}var tr=class{};var rp="browser";function w1(e){return e===rp}var UV=(()=>{class e{static \u0275prov=I({token:e,providedIn:"root",factory:()=>new np(b(K),window)})}return e})(),np=class{document;window;offset=()=>[0,0];constructor(t,n){this.document=t,this.window=n}setOffset(t){Array.isArray(t)?this.offset=()=>t:this.offset=t}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(t,n){this.window.scrollTo(P(S({},n),{left:t[0],top:t[1]}))}scrollToAnchor(t,n){let r=K2(this.document,t);r&&(this.scrollToElement(r,n),r.focus())}setHistoryScrollRestoration(t){try{this.window.history.scrollRestoration=t}catch{console.warn(pt(2400,!1))}}scrollToElement(t,n){let r=t.getBoundingClientRect(),o=r.left+this.window.pageXOffset,i=r.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(P(S({},n),{left:o-s[0],top:i-s[1]}))}};function K2(e,t){let n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if(typeof e.createTreeWalker=="function"&&e.body&&typeof e.body.attachShadow=="function"){let r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT),o=r.currentNode;for(;o;){let i=o.shadowRoot;if(i){let s=i.getElementById(t)||i.querySelector(`[name="${t}"]`);if(s)return s}o=r.nextNode()}}return null}var Ii=class{_doc;constructor(t){this._doc=t}manager},ca=(()=>{class e extends Ii{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o,i){return n.addEventListener(r,o,i),()=>this.removeEventListener(n,r,o,i)}removeEventListener(n,r,o,i){return n.removeEventListener(r,o,i)}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),fa=new x(""),up=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(n,r){this._zone=r,n.forEach(s=>{s.manager=this});let o=n.filter(s=>!(s instanceof ca));this._plugins=o.slice().reverse();let i=n.find(s=>s instanceof ca);i&&this._plugins.push(i)}addEventListener(n,r,o,i){return this._findPluginFor(r).addEventListener(n,r,o,i)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(i=>i.supports(n)),!r)throw new _(5101,!1);return this._eventNameToPlugin.set(n,r),r}static \u0275fac=function(r){return new(r||e)(A(fa),A(be))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),op="ng-app-id";function x1(e){for(let t of e)t.remove()}function I1(e,t){let n=t.createElement("style");return n.textContent=e,n}function J2(e,t,n,r){let o=e.head?.querySelectorAll(`style[${op}="${t}"],link[${op}="${t}"]`);if(o)for(let i of o)i.removeAttribute(op),i instanceof HTMLLinkElement?r.set(i.href.slice(i.href.lastIndexOf("/")+1),{usage:0,elements:[i]}):i.textContent&&n.set(i.textContent,{usage:0,elements:[i]})}function sp(e,t){let n=t.createElement("link");return n.setAttribute("rel","stylesheet"),n.setAttribute("href",e),n}var ap=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(n,r,o,i={}){this.doc=n,this.appId=r,this.nonce=o,J2(n,r,this.inline,this.external),this.hosts.add(n.head)}addStyles(n,r){for(let o of n)this.addUsage(o,this.inline,I1);r?.forEach(o=>this.addUsage(o,this.external,sp))}removeStyles(n,r){for(let o of n)this.removeUsage(o,this.inline);r?.forEach(o=>this.removeUsage(o,this.external))}addUsage(n,r,o){let i=r.get(n);i?i.usage++:r.set(n,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,o(n,this.doc)))})}removeUsage(n,r){let o=r.get(n);o&&(o.usage--,o.usage<=0&&(x1(o.elements),r.delete(n)))}ngOnDestroy(){for(let[,{elements:n}]of[...this.inline,...this.external])x1(n);this.hosts.clear()}addHost(n){this.hosts.add(n);for(let[r,{elements:o}]of this.inline)o.push(this.addElement(n,I1(r,this.doc)));for(let[r,{elements:o}]of this.external)o.push(this.addElement(n,sp(r,this.doc)))}removeHost(n){this.hosts.delete(n)}addElement(n,r){return this.nonce&&r.setAttribute("nonce",this.nonce),n.appendChild(r)}static \u0275fac=function(r){return new(r||e)(A(K),A(gu),A(yu,8),A(Xn))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),ip={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},cp=/%COMP%/g;var S1="%COMP%",X2=`_nghost-${S1}`,eT=`_ngcontent-${S1}`,tT=!0,nT=new x("",{factory:()=>tT});function rT(e){return eT.replace(cp,e)}function oT(e){return X2.replace(cp,e)}function M1(e,t){return t.map(n=>n.replace(cp,e))}var lp=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(n,r,o,i,s,u,a=null,c=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.ngZone=u,this.nonce=a,this.tracingService=c,this.defaultRenderer=new Ti(n,s,u,this.tracingService)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;let o=this.getOrCreateRenderer(n,r);return o instanceof da?o.applyToHost(n):o instanceof Si&&o.applyStyles(),o}getOrCreateRenderer(n,r){let o=this.rendererByCompId,i=o.get(r.id);if(!i){let s=this.doc,u=this.ngZone,a=this.eventManager,c=this.sharedStylesHost,l=this.removeStylesOnCompDestroy,d=this.tracingService;switch(r.encapsulation){case tt.Emulated:i=new da(a,c,r,this.appId,l,s,u,d);break;case tt.ShadowDom:return new la(a,n,r,s,u,this.nonce,d,c);case tt.ExperimentalIsolatedShadowDom:return new la(a,n,r,s,u,this.nonce,d);default:i=new Si(a,c,r,l,s,u,d);break}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(n){this.rendererByCompId.delete(n)}static \u0275fac=function(r){return new(r||e)(A(up),A(ap),A(gu),A(nT),A(K),A(be),A(yu),A(Dt,8))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),Ti=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(t,n,r,o){this.eventManager=t,this.doc=n,this.ngZone=r,this.tracingService=o}destroy(){}destroyNode=null;createElement(t,n){return n?this.doc.createElementNS(ip[n]||n,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,n){(T1(t)?t.content:t).appendChild(n)}insertBefore(t,n,r){t&&(T1(t)?t.content:t).insertBefore(n,r)}removeChild(t,n){n.remove()}selectRootElement(t,n){let r=typeof t=="string"?this.doc.querySelector(t):t;if(!r)throw new _(-5104,!1);return n||(r.textContent=""),r}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,r,o){if(o){n=o+":"+n;let i=ip[o];i?t.setAttributeNS(i,n,r):t.setAttribute(n,r)}else t.setAttribute(n,r)}removeAttribute(t,n,r){if(r){let o=ip[r];o?t.removeAttributeNS(o,n):t.removeAttribute(`${r}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,r,o){o&(nt.DashCase|nt.Important)?t.style.setProperty(n,r,o&nt.Important?"important":""):t.style[n]=r}removeStyle(t,n,r){r&nt.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,r){t!=null&&(t[n]=r)}setValue(t,n){t.nodeValue=n}listen(t,n,r,o){if(typeof t=="string"&&(t=Et().getGlobalEventTarget(this.doc,t),!t))throw new _(5102,!1);let i=this.decoratePreventDefault(r);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(t,n,i)),this.eventManager.addEventListener(t,n,i,o)}decoratePreventDefault(t){return n=>{if(n==="__ngUnwrap__")return t;t(n)===!1&&n.preventDefault()}}};function T1(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var la=class extends Ti{hostEl;sharedStylesHost;shadowRoot;constructor(t,n,r,o,i,s,u,a){super(t,o,i,u),this.hostEl=n,this.sharedStylesHost=a,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let c=r.styles;c=M1(r.id,c);for(let d of c){let h=document.createElement("style");s&&h.setAttribute("nonce",s),h.textContent=d,this.shadowRoot.appendChild(h)}let l=r.getExternalStyles?.();if(l)for(let d of l){let h=sp(d,o);s&&h.setAttribute("nonce",s),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,n){return super.appendChild(this.nodeOrShadowRoot(t),n)}insertBefore(t,n,r){return super.insertBefore(this.nodeOrShadowRoot(t),n,r)}removeChild(t,n){return super.removeChild(null,n)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},Si=class extends Ti{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(t,n,r,o,i,s,u,a){super(t,i,s,u),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=o;let c=r.styles;this.styles=a?M1(a,c):c,this.styleUrls=r.getExternalStyles?.(a)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Qn.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},da=class extends Si{contentAttr;hostAttr;constructor(t,n,r,o,i,s,u,a){let c=o+"-"+r.id;super(t,n,r,i,s,u,a,c),this.contentAttr=rT(c),this.hostAttr=oT(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,n){let r=super.createElement(t,n);return super.setAttribute(r,this.contentAttr,""),r}};var pa=class e extends wi{supportsDOMEvents=!0;static makeCurrent(){Kf(new e)}onAndCancel(t,n,r,o){return t.addEventListener(n,r,o),()=>{t.removeEventListener(n,r,o)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.remove()}createElement(t,n){return n=n||this.getDefaultDocument(),n.createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return n==="window"?window:n==="document"?t:n==="body"?t.body:null}getBaseHref(t){let n=iT();return n==null?null:sT(n)}resetBaseElement(){Mi=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return xi(document.cookie,t)}},Mi=null;function iT(){return Mi=Mi||document.head.querySelector("base"),Mi?Mi.getAttribute("href"):null}function sT(e){return new URL(e,document.baseURI).pathname}var ha=class{addToWindow(t){xe.getAngularTestability=(r,o=!0)=>{let i=t.findTestabilityInTree(r,o);if(i==null)throw new _(5103,!1);return i},xe.getAllAngularTestabilities=()=>t.getAllTestabilities(),xe.getAllAngularRootElements=()=>t.getAllRootElements();let n=r=>{let o=xe.getAllAngularTestabilities(),i=o.length,s=function(){i--,i==0&&r()};o.forEach(u=>{u.whenStable(s)})};xe.frameworkStabilizers||(xe.frameworkStabilizers=[]),xe.frameworkStabilizers.push(n)}findTestabilityInTree(t,n,r){if(n==null)return null;let o=t.getTestability(n);return o??(r?Et().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},uT=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})(),A1=["alt","control","meta","shift"],aT={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cT={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},N1=(()=>{class e extends Ii{constructor(n){super(n)}supports(n){return e.parseEventName(n)!=null}addEventListener(n,r,o,i){let s=e.parseEventName(r),u=e.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Et().onAndCancel(n,s.domEventName,u,i))}static parseEventName(n){let r=n.toLowerCase().split("."),o=r.shift();if(r.length===0||!(o==="keydown"||o==="keyup"))return null;let i=e._normalizeKey(r.pop()),s="",u=r.indexOf("code");if(u>-1&&(r.splice(u,1),s="code."),A1.forEach(c=>{let l=r.indexOf(c);l>-1&&(r.splice(l,1),s+=c+".")}),s+=i,r.length!=0||i.length===0)return null;let a={};return a.domEventName=o,a.fullKey=s,a}static matchEventFullKeyCode(n,r){let o=aT[n.key]||n.key,i="";return r.indexOf("code.")>-1&&(o=n.code,i="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),A1.forEach(s=>{if(s!==o){let u=cT[s];u(n)&&(i+=s+".")}}),i+=o,i===r)}static eventCallback(n,r,o){return i=>{e.matchEventFullKeyCode(i,n)&&o.runGuarded(()=>r(i))}}static _normalizeKey(n){return n==="esc"?"escape":n}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac})}return e})();function lT(e,t,n){return at(this,null,function*(){let r=S({rootComponent:e},dT(t,n));return Zb(r)})}function dT(e,t){return{platformRef:t?.platformRef,appProviders:[...k1,...e?.providers??[]],platformProviders:gT}}function fT(){pa.makeCurrent()}function pT(){return new Ve}function hT(){return cd(document),document}var gT=[{provide:Xn,useValue:rp},{provide:mu,useValue:fT,multi:!0},{provide:K,useFactory:hT}];var mT=[{provide:Fu,useClass:ha},{provide:Ru,useClass:hi},{provide:hi,useClass:hi}],k1=[{provide:Lo,useValue:"root"},{provide:Ve,useFactory:pT},{provide:fa,useClass:ca,multi:!0},{provide:fa,useClass:N1,multi:!0},lp,ap,up,{provide:Kn,useExisting:lp},{provide:tr,useClass:uT},[]],yT=(()=>{class e{constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275mod=$t({type:e});static \u0275inj=ht({providers:[...k1,...mT],imports:[tp,Wb]})}return e})();var Dn=class e{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(t){t?typeof t=="string"?this.lazyInit=()=>{this.headers=new Map,t.split(` +`).forEach(n=>{let r=n.indexOf(":");if(r>0){let o=n.slice(0,r),i=n.slice(r+1).trim();this.addHeaderEntry(o,i)}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.addHeaderEntry(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();let n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){let n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){let n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(t.name,n);let o=(t.op==="a"?this.headers.get(n):void 0)||[];o.push(...r),this.headers.set(n,o);break;case"d":let i=t.value;if(!i)this.headers.delete(n),this.normalizedNames.delete(n);else{let s=this.headers.get(n);if(!s)return;s=s.filter(u=>i.indexOf(u)===-1),s.length===0?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}break}}addHeaderEntry(t,n){let r=t.toLowerCase();this.maybeSetNormalizedName(t,r),this.headers.has(r)?this.headers.get(r).push(n):this.headers.set(r,[n])}setHeaderEntries(t,n){let r=(Array.isArray(n)?n:[n]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}};var ma=class{map=new Map;set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}},ya=class{encodeKey(t){return R1(t)}encodeValue(t){return R1(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}};function bT(e,t){let n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{let i=o.indexOf("="),[s,u]=i==-1?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],a=n.get(s)||[];a.push(u),n.set(s,a)}),n}var vT=/%(\d[a-f0-9])/gi,DT={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function R1(e){return encodeURIComponent(e).replace(vT,(t,n)=>DT[n]??t)}function ga(e){return`${e}`}var qt=class e{map;encoder;updates=null;cloneFrom=null;constructor(t={}){if(this.encoder=t.encoder||new ya,t.fromString){if(t.fromObject)throw new _(2805,!1);this.map=bT(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{let r=t.fromObject[n],o=Array.isArray(r)?r.map(ga):[ga(r)];this.map.set(n,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();let n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){let n=[];return Object.keys(t).forEach(r=>{let o=t[r];Array.isArray(o)?o.forEach(i=>{n.push({param:r,value:i,op:"a"})}):n.push({param:r,value:o,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{let n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>t!=="").join("&")}clone(t){let n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":let n=(t.op==="a"?this.map.get(t.param):void 0)||[];n.push(ga(t.value)),this.map.set(t.param,n);break;case"d":if(t.value!==void 0){let r=this.map.get(t.param)||[],o=r.indexOf(ga(t.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}else{this.map.delete(t.param);break}}}),this.cloneFrom=this.updates=null)}};function ET(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function F1(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function O1(e){return typeof Blob<"u"&&e instanceof Blob}function P1(e){return typeof FormData<"u"&&e instanceof FormData}function _T(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}var L1="Content-Type",j1="Accept",V1="text/plain",H1="application/json",CT=`${H1}, ${V1}, */*`,so=class e{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;referrerPolicy;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(t,n,r,o){this.url=n,this.method=t.toUpperCase();let i;if(ET(this.method)||o?(this.body=r!==void 0?r:null,i=o):i=r,i){if(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,this.keepalive=!!i.keepalive,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),i.priority&&(this.priority=i.priority),i.cache&&(this.cache=i.cache),i.credentials&&(this.credentials=i.credentials),typeof i.timeout=="number"){if(i.timeout<1||!Number.isInteger(i.timeout))throw new _(2822,"");this.timeout=i.timeout}i.mode&&(this.mode=i.mode),i.redirect&&(this.redirect=i.redirect),i.integrity&&(this.integrity=i.integrity),i.referrer&&(this.referrer=i.referrer),i.referrerPolicy&&(this.referrerPolicy=i.referrerPolicy),this.transferCache=i.transferCache}if(this.headers??=new Dn,this.context??=new ma,!this.params)this.params=new qt,this.urlWithParams=n;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=n;else{let u=n.indexOf("?"),a=u===-1?"?":uE.set(N,t.setHeaders[N]),w)),t.setParams&&(D=Object.keys(t.setParams).reduce((E,N)=>E.set(N,t.setParams[N]),D)),new e(n,r,m,{params:D,headers:w,context:F,reportProgress:v,responseType:o,withCredentials:y,transferCache:p,keepalive:i,cache:u,priority:s,timeout:g,mode:a,redirect:c,credentials:l,referrer:d,integrity:h,referrerPolicy:f})}},nr=(function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e})(nr||{}),ao=class{headers;status;statusText;url;ok;type;redirected;responseType;constructor(t,n=200,r="OK"){this.headers=t.headers||new Dn,this.status=t.status!==void 0?t.status:n,this.statusText=t.statusText||r,this.url=t.url||null,this.redirected=t.redirected,this.responseType=t.responseType,this.ok=this.status>=200&&this.status<300}},ba=class e extends ao{constructor(t={}){super(t)}type=nr.ResponseHeader;clone(t={}){return new e({headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},Ai=class e extends ao{body;constructor(t={}){super(t),this.body=t.body!==void 0?t.body:null}type=nr.Response;clone(t={}){return new e({body:t.body!==void 0?t.body:this.body,headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0,redirected:t.redirected??this.redirected,responseType:t.responseType??this.responseType})}},uo=class extends ao{name="HttpErrorResponse";message;error;ok=!1;constructor(t){super(t,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${t.url||"(unknown url)"}`:this.message=`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}},wT=200,xT=204;var IT=new x("");var TT=/^\)\]\}',?\n/;var fp=(()=>{class e{xhrFactory;tracingService=b(Dt,{optional:!0});constructor(n){this.xhrFactory=n}maybePropagateTrace(n){return this.tracingService?.propagate?this.tracingService.propagate(n):n}handle(n){if(n.method==="JSONP")throw new _(-2800,!1);let r=this.xhrFactory;return us(null).pipe(ps(()=>new B(i=>{let s=r.build();if(s.open(n.method,n.urlWithParams),n.withCredentials&&(s.withCredentials=!0),n.headers.forEach((m,y)=>s.setRequestHeader(m,y.join(","))),n.headers.has(j1)||s.setRequestHeader(j1,CT),!n.headers.has(L1)){let m=n.detectContentTypeHeader();m!==null&&s.setRequestHeader(L1,m)}if(n.timeout&&(s.timeout=n.timeout),n.responseType){let m=n.responseType.toLowerCase();s.responseType=m!=="json"?m:"text"}let u=n.serializeBody(),a=null,c=()=>{if(a!==null)return a;let m=s.statusText||"OK",y=new Dn(s.getAllResponseHeaders()),v=s.responseURL||n.url;return a=new ba({headers:y,status:s.status,statusText:m,url:v}),a},l=this.maybePropagateTrace(()=>{let{headers:m,status:y,statusText:v,url:w}=c(),D=null;y!==xT&&(D=typeof s.response>"u"?s.responseText:s.response),y===0&&(y=D?wT:0);let F=y>=200&&y<300;if(n.responseType==="json"&&typeof D=="string"){let E=D;D=D.replace(TT,"");try{D=D!==""?JSON.parse(D):null}catch(N){D=E,F&&(F=!1,D={error:N,text:D})}}F?(i.next(new Ai({body:D,headers:m,status:y,statusText:v,url:w||void 0})),i.complete()):i.error(new uo({error:D,headers:m,status:y,statusText:v,url:w||void 0}))}),d=this.maybePropagateTrace(m=>{let{url:y}=c(),v=new uo({error:m,status:s.status||0,statusText:s.statusText||"Unknown Error",url:y||void 0});i.error(v)}),h=d;n.timeout&&(h=this.maybePropagateTrace(m=>{let{url:y}=c(),v=new uo({error:new DOMException("Request timed out","TimeoutError"),status:s.status||0,statusText:s.statusText||"Request timeout",url:y||void 0});i.error(v)}));let f=!1,p=this.maybePropagateTrace(m=>{f||(i.next(c()),f=!0);let y={type:nr.DownloadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),n.responseType==="text"&&s.responseText&&(y.partialText=s.responseText),i.next(y)}),g=this.maybePropagateTrace(m=>{let y={type:nr.UploadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),i.next(y)});return s.addEventListener("load",l),s.addEventListener("error",d),s.addEventListener("timeout",h),s.addEventListener("abort",d),n.reportProgress&&(s.addEventListener("progress",p),u!==null&&s.upload&&s.upload.addEventListener("progress",g)),s.send(u),i.next({type:nr.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",l),s.removeEventListener("timeout",h),n.reportProgress&&(s.removeEventListener("progress",p),u!==null&&s.upload&&s.upload.removeEventListener("progress",g)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(r){return new(r||e)(A(tr))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function $1(e,t){return t(e)}function ST(e,t){return(n,r)=>t.intercept(n,{handle:o=>e(o,r)})}function MT(e,t,n){return(r,o)=>Sr(n,()=>t(r,i=>e(i,o)))}var U1=new x(""),pp=new x("",{factory:()=>[]}),z1=new x(""),hp=new x("",{factory:()=>!0});function AT(){let e=null;return(t,n)=>{e===null&&(e=(b(U1,{optional:!0})??[]).reduceRight(ST,$1));let r=b(Wn);if(b(hp)){let i=r.add();return e(t,n).pipe(ds(i))}else return e(t,n)}}var gp=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(fp),o},providedIn:"root"})}return e})();var va=(()=>{class e{backend;injector;chain=null;pendingTasks=b(Wn);contributeToStability=b(hp);constructor(n,r){this.backend=n,this.injector=r}handle(n){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(pp),...this.injector.get(z1,[])]));this.chain=r.reduceRight((o,i)=>MT(o,i,this.injector),$1)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(n,o=>this.backend.handle(o)).pipe(ds(r))}else return this.chain(n,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||e)(A(gp),A(Ce))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),mp=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(va),o},providedIn:"root"})}return e})();function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,credentials:e.credentials,transferCache:e.transferCache,timeout:e.timeout,keepalive:e.keepalive,priority:e.priority,cache:e.cache,mode:e.mode,redirect:e.redirect,integrity:e.integrity,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var q1=(()=>{class e{handler;constructor(n){this.handler=n}request(n,r,o={}){let i;if(n instanceof so)i=n;else{let a;o.headers instanceof Dn?a=o.headers:a=new Dn(o.headers);let c;o.params&&(o.params instanceof qt?c=o.params:c=new qt({fromObject:o.params})),i=new so(n,r,o.body!==void 0?o.body:null,{headers:a,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials,referrer:o.referrer,referrerPolicy:o.referrerPolicy,integrity:o.integrity,timeout:o.timeout})}let s=us(i).pipe(lc(a=>this.handler.handle(a)));if(n instanceof so||o.observe==="events")return s;let u=s.pipe(on(a=>a instanceof Ai));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return u.pipe(Ee(a=>{if(a.body!==null&&!(a.body instanceof ArrayBuffer))throw new _(2806,!1);return a.body}));case"blob":return u.pipe(Ee(a=>{if(a.body!==null&&!(a.body instanceof Blob))throw new _(2807,!1);return a.body}));case"text":return u.pipe(Ee(a=>{if(a.body!==null&&typeof a.body!="string")throw new _(2808,!1);return a.body}));default:return u.pipe(Ee(a=>a.body))}case"response":return u;default:throw new _(2809,!1)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:new qt().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,dp(o,r))}post(n,r,o={}){return this.request("POST",n,dp(o,r))}put(n,r,o={}){return this.request("PUT",n,dp(o,r))}static \u0275fac=function(r){return new(r||e)(A(mp))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var NT=new x("",{factory:()=>!0}),kT="XSRF-TOKEN",RT=new x("",{factory:()=>kT}),FT="X-XSRF-TOKEN",OT=new x("",{factory:()=>FT}),PT=(()=>{class e{cookieName=b(RT);doc=b(K);lastCookieString="";lastToken=null;parseCount=0;getToken(){let n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=xi(n,this.cookieName),this.lastCookieString=n),this.lastToken}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),G1=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(PT),o},providedIn:"root"})}return e})();function LT(e,t){if(!b(NT)||e.method==="GET"||e.method==="HEAD")return t(e);try{let o=b(vn).href,{origin:i}=new URL(o),{origin:s}=new URL(e.url,i);if(i!==s)return t(e)}catch{return t(e)}let n=b(G1).getToken(),r=b(OT);return n!=null&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var yp=(function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e})(yp||{});function jT(e,t){return{\u0275kind:e,\u0275providers:t}}function W1(...e){let t=[q1,va,{provide:mp,useExisting:va},{provide:gp,useFactory:()=>b(IT,{optional:!0})??b(fp)},{provide:pp,useValue:LT,multi:!0}];for(let n of e)t.push(...n.\u0275providers);return Pn(t)}var B1=new x("");function Z1(){return jT(yp.LegacyInterceptors,[{provide:B1,useFactory:AT},{provide:pp,useExisting:B1,multi:!0}])}var BT=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=$t({type:e});static \u0275inj=ht({providers:[W1(Z1())]})}return e})();var s$=(()=>{class e{_doc;constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var bp=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=A(VT),o},providedIn:"root"})}return e})(),VT=(()=>{class e extends bp{_doc;constructor(n){super(),this._doc=n}sanitize(n,r){if(r==null)return null;switch(n){case Le.NONE:return r;case Le.HTML:return Bt(r,"HTML")?Pe(r):Du(this._doc,String(r)).toString();case Le.STYLE:return Bt(r,"Style")?Pe(r):r;case Le.SCRIPT:if(Bt(r,"Script"))return Pe(r);throw new _(5200,!1);case Le.URL:return Bt(r,"URL")?Pe(r):ui(String(r));case Le.RESOURCE_URL:if(Bt(r,"ResourceURL"))return Pe(r);throw new _(5201,!1);default:throw new _(5202,!1)}}bypassSecurityTrustHtml(n){return dd(n)}bypassSecurityTrustStyle(n){return fd(n)}bypassSecurityTrustScript(n){return pd(n)}bypassSecurityTrustUrl(n){return hd(n)}bypassSecurityTrustResourceUrl(n){return gd(n)}static \u0275fac=function(r){return new(r||e)(A(K))};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Tp={};lr(Tp,{arrayReplaceAt:()=>Ip,assign:()=>fo,escapeHtml:()=>Zt,escapeRE:()=>CS,fromCodePoint:()=>Ri,has:()=>fS,isMdAsciiPunct:()=>sr,isPunctChar:()=>ir,isSpace:()=>H,isString:()=>Na,isValidEntityCode:()=>ka,isWhiteSpace:()=>or,lib:()=>wS,normalizeReference:()=>ur,unescapeAll:()=>Wt,unescapeMd:()=>yS});var wa={};lr(wa,{decode:()=>Ni,encode:()=>_a,format:()=>co,parse:()=>ki});var Y1={};function HT(e){let t=Y1[e];if(t)return t;t=Y1[e]=[];for(let n=0;n<128;n++){let r=String.fromCharCode(n);t.push(r)}for(let n=0;n=55296&&l<=57343?o+="\uFFFD\uFFFD\uFFFD":o+=String.fromCharCode(l),i+=6;continue}}if((u&248)===240&&i+91114111?o+="\uFFFD\uFFFD\uFFFD\uFFFD":(d-=65536,o+=String.fromCharCode(55296+(d>>10),56320+(d&1023))),i+=9;continue}}o+="\uFFFD"}return o})}Da.defaultChars=";/?:@&=+$,#";Da.componentChars="";var Ni=Da;var Q1={};function $T(e){let t=Q1[e];if(t)return t;t=Q1[e]=[];for(let n=0;n<128;n++){let r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?t.push(r):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);let r=$T(t),o="";for(let i=0,s=e.length;i=55296&&u<=57343){if(u>=55296&&u<=56319&&i+1=56320&&a<=57343){o+=encodeURIComponent(e[i]+e[i+1]),i++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[i])}return o}Ea.defaultChars=";/?:@&=+$,-_.!~*'()#";Ea.componentChars="-_.!~*'()";var _a=Ea;function co(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function Ca(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var UT=/^([a-z0-9.+-]+:)/i,zT=/:[0-9]*$/,qT=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,GT=["<",">",'"',"`"," ","\r",` `," "],WT=["{","}","|","\\","^","`"].concat(GT),ZT=["'"].concat(WT),K1=["%","/","?",";","#"].concat(ZT),J1=["/","?","#"],YT=255,X1=/^[+a-z0-9A-Z_-]{0,63}$/,QT=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ev={javascript:!0,"javascript:":!0},tv={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function KT(e,t){if(e&&e instanceof Ca)return e;let n=new Ca;return n.parse(e,t),n}Ca.prototype.parse=function(e,t){let n,r,o,i=e;if(i=i.trim(),!t&&e.split("#").length===1){let c=qT.exec(i);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let s=UT.exec(i);if(s&&(s=s[0],n=s.toLowerCase(),this.protocol=s,i=i.substr(s.length)),(t||s||i.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=i.substr(0,2)==="//",o&&!(s&&ev[s])&&(i=i.substr(2),this.slashes=!0)),!ev[s]&&(o||s&&!tv[s])){let c=-1;for(let p=0;p127?v+="x":v+=y[w];if(!v.match(X1)){let w=p.slice(0,g),D=p.slice(g+1),F=y.match(QT);F&&(w.push(F[1]),D.unshift(F[2])),D.length&&(i=D.join(".")+i),this.hostname=w.join(".");break}}}}this.hostname.length>YT&&(this.hostname=""),f&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let u=i.indexOf("#");u!==-1&&(this.hash=i.substr(u),i=i.slice(0,u));let a=i.indexOf("?");return a!==-1&&(this.search=i.substr(a),i=i.slice(0,a)),i&&(this.pathname=i),tv[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Ca.prototype.parseHost=function(e){let t=zT.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var ki=KT;var vp={};lr(vp,{Any:()=>xa,Cc:()=>Ia,Cf:()=>nv,P:()=>lo,S:()=>Ta,Z:()=>Sa});var xa=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var Ia=/[\0-\x1F\x7F-\x9F]/;var nv=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;var lo=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;var Ta=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;var Sa=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var rv=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)));var ov=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(e=>e.charCodeAt(0)));var Dp,JT=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]]),Ep=(Dp=String.fromCodePoint)!==null&&Dp!==void 0?Dp:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function _p(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=JT.get(e))!==null&&t!==void 0?t:e}var ge=(function(e){return 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",e})(ge||{}),XT=32,rr=(function(e){return e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE",e})(rr||{});function Cp(e){return e>=ge.ZERO&&e<=ge.NINE}function eS(e){return e>=ge.UPPER_A&&e<=ge.UPPER_F||e>=ge.LOWER_A&&e<=ge.LOWER_F}function tS(e){return e>=ge.UPPER_A&&e<=ge.UPPER_Z||e>=ge.LOWER_A&&e<=ge.LOWER_Z||Cp(e)}function nS(e){return e===ge.EQUALS||tS(e)}var he=(function(e){return 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",e})(he||{}),Gt=(function(e){return e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute",e})(Gt||{}),Ma=class{constructor(t,n,r){this.decodeTree=t,this.emitCodePoint=n,this.errors=r,this.state=he.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Gt.Strict}startEntity(t){this.decodeMode=t,this.state=he.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case he.EntityStart:return t.charCodeAt(n)===ge.NUM?(this.state=he.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=he.NamedEntity,this.stateNamedEntity(t,n));case he.NumericStart:return this.stateNumericStart(t,n);case he.NumericDecimal:return this.stateNumericDecimal(t,n);case he.NumericHex:return this.stateNumericHex(t,n);case he.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|XT)===ge.LOWER_X?(this.state=he.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=he.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,r,o){if(n!==r){let i=r-n;this.result=this.result*Math.pow(o,i)+parseInt(t.substr(n,i),o),this.consumed+=i}}stateNumericHex(t,n){let r=n;for(;n>14;for(;n>14,i!==0){if(s===ge.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Gt.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:n,decodeTree:r}=this,o=(r[n]&rr.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,o,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){let{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~rr.VALUE_LENGTH:o[t+1],r),n===3&&this.emitCodePoint(o[t+2],r),r}end(){var t;switch(this.state){case he.NamedEntity:return this.result!==0&&(this.decodeMode!==Gt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case he.NumericDecimal:return this.emitNumericEntity(0,2);case he.NumericHex:return this.emitNumericEntity(0,3);case he.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case he.EntityStart:return 0}}};function iv(e){let t="",n=new Ma(e,r=>t+=Ep(r));return function(o,i){let s=0,u=0;for(;(u=o.indexOf("&",u))>=0;){t+=o.slice(s,u),n.startEntity(i);let c=n.write(o,u+1);if(c<0){s=u+n.end();break}s=u+c,u=c===0?s+1:s}let a=t+o.slice(s);return t="",a}}function rS(e,t,n,r){let o=(t&rr.BRANCH_LENGTH)>>7,i=t&rr.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){let a=r-i;return a<0||a>=o?-1:e[n+a]-1}let s=n,u=s+o-1;for(;s<=u;){let a=s+u>>>1,c=e[a];if(cr)u=a-1;else return e[a+o]}return-1}var oS=iv(rv),P$=iv(ov);function En(e,t=Gt.Legacy){return oS(e,t)}function Aa(e){for(let t=1;te.codePointAt(t):(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);function wp(e,t){return function(r){let o,i=0,s="";for(;o=e.exec(r);)i!==o.index&&(s+=r.substring(i,o.index)),s+=t.get(o[0].charCodeAt(0)),i=o.index+1;return s+r.substring(i)}}var sv=wp(/[&<>'"]/g,sS),uv=wp(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),av=wp(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));function lS(e){return Object.prototype.toString.call(e)}function Na(e){return lS(e)==="[object String]"}var dS=Object.prototype.hasOwnProperty;function fS(e,t){return dS.call(e,t)}function fo(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){if(n){if(typeof n!="object")throw new TypeError(n+"must be object");Object.keys(n).forEach(function(r){e[r]=n[r]})}}),e}function Ip(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function ka(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function Ri(e){if(e>65535){e-=65536;let t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var dv=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,pS=/&([a-z#][a-z0-9]{1,31});/gi,hS=new RegExp(dv.source+"|"+pS.source,"gi"),gS=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function mS(e,t){if(t.charCodeAt(0)===35&&gS.test(t)){let r=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return ka(r)?Ri(r):e}let n=En(e);return n!==e?n:e}function yS(e){return e.indexOf("\\")<0?e:e.replace(dv,"$1")}function Wt(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(hS,function(t,n,r){return n||mS(t,r)})}var bS=/[&<>"]/,vS=/[&<>"]/g,DS={"&":"&","<":"<",">":">",'"':"""};function ES(e){return DS[e]}function Zt(e){return bS.test(e)?e.replace(vS,ES):e}var _S=/[.?*+^$[\]\\(){}|-]/g;function CS(e){return e.replace(_S,"\\$&")}function H(e){switch(e){case 9:case 32:return!0}return!1}function or(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function ir(e){return lo.test(e)||Ta.test(e)}function sr(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function ur(e){return e=e.trim().replace(/\s+/g," "),"\u1E9E".toLowerCase()==="\u1E7E"&&(e=e.replace(/ẞ/g,"\xDF")),e.toLowerCase().toUpperCase()}var wS={mdurl:wa,ucmicro:vp};var Np={};lr(Np,{parseLinkDestination:()=>Mp,parseLinkLabel:()=>Sp,parseLinkTitle:()=>Ap});function Sp(e,t,n){let r,o,i,s,u=e.posMax,a=e.pos;for(e.pos=t+1,r=1;e.pos32))return i;if(r===41){if(s===0)break;s--}o++}return t===o||s!==0||(i.str=Wt(e.slice(t,o)),i.pos=o,i.ok=!0),i}function Ap(e,t,n,r){let o,i=t,s={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)s.str=r.str,s.marker=r.marker;else{if(i>=n)return s;let u=e.charCodeAt(i);if(u!==34&&u!==39&&u!==40)return s;t++,i++,u===40&&(u=41),s.marker=u}for(;i"+Zt(i.content)+""};_t.code_block=function(e,t,n,r,o){let i=e[t];return""+Zt(e[t].content)+` `};_t.fence=function(e,t,n,r,o){let i=e[t],s=i.info?Wt(i.info).trim():"",u="",a="";if(s){let l=s.split(/(\s+)/g);u=l[0],a=l.slice(2).join("")}let c;if(n.highlight?c=n.highlight(i.content,u,a)||Zt(i.content):c=Zt(i.content),c.indexOf("${c} @@ -435,5 +435,5 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` `:">",i};po.prototype.renderInline=function(e,t,n){let r="",o=this.rules;for(let i=0,s=e.length;i=0&&(r=this.attrs[n][1]),r};ho.prototype.attrJoin=function(t,n){let r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};var Yt=ho;function pv(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}pv.prototype.Token=Yt;var hv=pv;var xS=/\r\n?|\n/g,IS=/\0/g;function kp(e){let t;t=e.src.replace(xS,` `),t=t.replace(IS,"\uFFFD"),e.src=t}function Rp(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function Fp(e){let t=e.tokens;for(let n=0,r=t.length;n\s]/i.test(e)}function SS(e){return/^<\/a\s*>/i.test(e)}function Op(e){let t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n=0;s--){let u=o[s];if(u.type==="link_close"){for(s--;o[s].level!==u.level&&o[s].type!=="link_open";)s--;continue}if(u.type==="html_inline"&&(TS(u.content)&&i>0&&i--,SS(u.content)&&i++),!(i>0)&&u.type==="text"&&e.md.linkify.test(u.content)){let a=u.content,c=e.md.linkify.match(a),l=[],d=u.level,h=0;c.length>0&&c[0].index===0&&s>0&&o[s-1].type==="text_special"&&(c=c.slice(1));for(let f=0;fh){let F=new e.Token("text","",0);F.content=a.slice(h,y),F.level=d,l.push(F)}let v=new e.Token("link_open","a",1);v.attrs=[["href",g]],v.level=d++,v.markup="linkify",v.info="auto",l.push(v);let w=new e.Token("text","",0);w.content=m,w.level=d,l.push(w);let D=new e.Token("link_close","a",-1);D.level=--d,D.markup="linkify",D.info="auto",l.push(D),h=c[f].lastIndex}if(h=0;n--){let r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(AS,kS)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function FS(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];r.type==="text"&&!t&&gv.test(r.content)&&(r.content=r.content.replace(/\+-/g,"\xB1").replace(/\.{2,}/g,"\u2026").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1\u2014").replace(/(^|\s)--(?=\s|$)/mg,"$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1\u2013")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function Pp(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(MS.test(e.tokens[t].content)&&RS(e.tokens[t].children),gv.test(e.tokens[t].content)&&FS(e.tokens[t].children))}var OS=/['"]/,mv=/['"]/g,yv="\u2019";function Ra(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function PS(e,t){let n,r=[];for(let o=0;o=0&&!(r[n].level<=s);n--);if(r.length=n+1,i.type!=="text")continue;let u=i.content,a=0,c=u.length;e:for(;a=0)p=u.charCodeAt(l.index-1);else for(n=o-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){p=e[n].content.charCodeAt(e[n].content.length-1);break}let g=32;if(a=48&&p<=57&&(h=d=!1),d&&h&&(d=m,h=y),!d&&!h){f&&(i.content=Ra(i.content,l.index,yv));continue}if(h)for(n=r.length-1;n>=0;n--){let D=r[n];if(r[n].level=0;t--)e.tokens[t].type!=="inline"||!OS.test(e.tokens[t].content)||PS(e.tokens[t].children,e)}function jp(e){let t,n,r=e.tokens,o=r.length;for(let i=0;i0&&this.level++,this.tokens.push(r),r};Ct.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]};Ct.prototype.skipEmptyLines=function(t){for(let n=this.lineMax;tn;)if(!H(this.src.charCodeAt(--t)))return t+1;return t};Ct.prototype.skipChars=function(t,n){for(let r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t};Ct.prototype.getLines=function(t,n,r,o){if(t>=n)return"";let i=new Array(n-t);for(let s=0,u=t;ur?i[s]=new Array(a-r+1).join(" ")+this.src.slice(l,d):i[s]=this.src.slice(l,d)}return i.join("")};Ct.prototype.Token=Yt;var vv=Ct;var LS=65536;function Hp(e,t){let n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function Dv(e){let t=[],n=e.length,r=0,o=e.charCodeAt(r),i=!1,s=0,u="";for(;rn)return!1;let o=t+1;if(e.sCount[o]=4)return!1;let i=e.bMarks[o]+e.tShift[o];if(i>=e.eMarks[o])return!1;let s=e.src.charCodeAt(i++);if(s!==124&&s!==45&&s!==58||i>=e.eMarks[o])return!1;let u=e.src.charCodeAt(i++);if(u!==124&&u!==45&&u!==58&&!H(u)||s===45&&H(u))return!1;for(;i=4)return!1;c=Dv(a),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();let d=c.length;if(d===0||d!==l.length)return!1;if(r)return!0;let h=e.parentType;e.parentType="table";let f=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),g=[t,0];p.map=g;let m=e.push("thead_open","thead",1);m.map=[t,t+1];let y=e.push("tr_open","tr",1);y.map=[t,t+1];for(let D=0;D=4||(c=Dv(a),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),w+=d-c.length,w>LS))break;if(o===t+2){let E=e.push("tbody_open","tbody",1);E.map=v=[t+2,0]}let F=e.push("tr_open","tr",1);F.map=[o,o+1];for(let E=0;E=4){r++,o=r;continue}break}e.line=o;let i=e.push("code_block","code",0);return i.content=e.getLines(t,o,4+e.blkIndent,!1)+` -`,i.map=[t,e.line],!0}function zp(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>i)return!1;let s=e.src.charCodeAt(o);if(s!==126&&s!==96)return!1;let u=o;o=e.skipChars(o,s);let a=o-u;if(a<3)return!1;let c=e.src.slice(u,o),l=e.src.slice(o,i);if(s===96&&l.indexOf(String.fromCharCode(s))>=0)return!1;if(r)return!0;let d=t,h=!1;for(;d++,!(d>=n||(o=u=e.bMarks[d]+e.tShift[d],i=e.eMarks[d],o=4)&&(o=e.skipChars(o,s),!(o-u=4||e.src.charCodeAt(o)!==62)return!1;if(r)return!0;let u=[],a=[],c=[],l=[],d=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let f=!1,p;for(p=t;p=i)break;if(e.src.charCodeAt(o++)===62&&!w){let F=e.sCount[p]+1,E,N;e.src.charCodeAt(o)===32?(o++,F++,N=!1,E=!0):e.src.charCodeAt(o)===9?(E=!0,(e.bsCount[p]+F)%4===3?(o++,F++,N=!1):N=!0):E=!1;let O=F;for(u.push(e.bMarks[p]),e.bMarks[p]=o;o=i,a.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(E?1:0),c.push(e.sCount[p]),e.sCount[p]=O-F,l.push(e.tShift[p]),e.tShift[p]=o-e.bMarks[p];continue}if(f)break;let D=!1;for(let F=0,E=d.length;F";let y=[t,0];m.map=y,e.md.block.tokenize(e,t,p);let v=e.push("blockquote_close","blockquote",-1);v.markup=">",e.lineMax=s,e.parentType=h,y[1]=e.line;for(let w=0;w=4)return!1;let i=e.bMarks[t]+e.tShift[t],s=e.src.charCodeAt(i++);if(s!==42&&s!==45&&s!==95)return!1;let u=1;for(;i=r)return-1;let i=e.src.charCodeAt(o++);if(i<48||i>57)return-1;for(;;){if(o>=r)return-1;if(i=e.src.charCodeAt(o++),i>=48&&i<=57){if(o-n>=10)return-1;continue}if(i===41||i===46)break;return-1}return o=4||e.listIndent>=0&&e.sCount[a]-e.listIndent>=4&&e.sCount[a]=e.blkIndent&&(l=!0);let d,h,f;if((f=_v(e,a))>=0){if(d=!0,s=e.bMarks[a]+e.tShift[a],h=Number(e.src.slice(s,f-1)),l&&h!==1)return!1}else if((f=Ev(e,a))>=0)d=!1;else return!1;if(l&&e.skipSpaces(f)>=e.eMarks[a])return!1;if(r)return!0;let p=e.src.charCodeAt(f-1),g=e.tokens.length;d?(u=e.push("ordered_list_open","ol",1),h!==1&&(u.attrs=[["start",h]])):u=e.push("bullet_list_open","ul",1);let m=[a,0];u.map=m,u.markup=String.fromCharCode(p);let y=!1,v=e.md.block.ruler.getRules("list"),w=e.parentType;for(e.parentType="list";a=o?N=1:N=F-D,N>4&&(N=1);let O=D+N;u=e.push("list_item_open","li",1),u.markup=String.fromCharCode(p);let J=[a,0];u.map=J,d&&(u.info=e.src.slice(s,f-1));let ut=e.tight,mo=e.tShift[a],Pi=e.sCount[a],Yv=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=O,e.tight=!0,e.tShift[a]=E-e.bMarks[a],e.sCount[a]=F,E>=o&&e.isEmpty(a+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,a,n,!0),(!e.tight||y)&&(c=!1),y=e.line-a>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=Yv,e.tShift[a]=mo,e.sCount[a]=Pi,e.tight=ut,u=e.push("list_item_close","li",-1),u.markup=String.fromCharCode(p),a=e.line,J[1]=a,a>=n||e.sCount[a]=4)break;let wh=!1;for(let cr=0,Qv=v.length;cr=4||e.src.charCodeAt(o)!==91)return!1;function u(v){let w=e.lineMax;if(v>=w||e.isEmpty(v))return null;let D=!1;if(e.sCount[v]-e.blkIndent>3&&(D=!0),e.sCount[v]<0&&(D=!0),!D){let N=e.md.block.ruler.getRules("reference"),O=e.parentType;e.parentType="reference";let J=!1;for(let ut=0,mo=N.length;ut"u"&&(e.env.references={}),typeof e.env.references[y]>"u"&&(e.env.references[y]={title:m,href:d}),e.line=s),!0):!1}var Cv=["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"];var BS="[a-zA-Z_:][a-zA-Z0-9:._-]*",VS="[^\"'=<>`\\x00-\\x20]+",HS="'[^']*'",$S='"[^"]*"',US="(?:"+VS+"|"+HS+"|"+$S+")",zS="(?:\\s+"+BS+"(?:\\s*=\\s*"+US+")?)",wv="<[A-Za-z][A-Za-z0-9\\-]*"+zS+"*\\s*\\/?>",xv="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",qS="",GS="<[?][\\s\\S]*?[?]>",WS="]*>",ZS="",Iv=new RegExp("^(?:"+wv+"|"+xv+"|"+qS+"|"+GS+"|"+WS+"|"+ZS+")"),Tv=new RegExp("^(?:"+wv+"|"+xv+")");var go=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(Tv.source+"\\s*$"),/^$/,!1]];function Yp(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let s=e.src.slice(o,i),u=0;for(;u=4)return!1;let s=e.src.charCodeAt(o);if(s!==35||o>=i)return!1;let u=1;for(s=e.src.charCodeAt(++o);s===35&&o6||oo&&H(e.src.charCodeAt(a-1))&&(i=a),e.line=t+1;let c=e.push("heading_open","h"+String(u),1);c.markup="########".slice(0,u),c.map=[t,e.line];let l=e.push("inline","",0);l.content=e.src.slice(o,i).trim(),l.map=[t,e.line],l.children=[];let d=e.push("heading_close","h"+String(u),-1);return d.markup="########".slice(0,u),!0}function Kp(e,t,n){let r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;let o=e.parentType;e.parentType="paragraph";let i=0,s,u=t+1;for(;u3)continue;if(e.sCount[u]>=e.blkIndent){let f=e.bMarks[u]+e.tShift[u],p=e.eMarks[u];if(f=p))){i=s===61?1:2;break}}if(e.sCount[u]<0)continue;let h=!1;for(let f=0,p=r.length;f3||e.sCount[i]<0)continue;let c=!1;for(let l=0,d=r.length;l=n||e.sCount[s]=i){e.line=n;break}let a=e.line,c=!1;for(let l=0;l=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!u,e.isEmpty(e.line-1)&&(u=!0),s=e.line,s0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r};Fi.prototype.scanDelims=function(e,t){let n=this.posMax,r=this.src.charCodeAt(e),o=e>0?this.src.charCodeAt(e-1):32,i=e;for(;i0)return!1;let n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;let o=e.pending.match(QS);if(!o)return!1;let i=o[1],s=e.md.linkify.matchAtStart(e.src.slice(n-i.length));if(!s)return!1;let u=s.url;if(u.length<=i.length)return!1;u=u.replace(/\*+$/,"");let a=e.md.normalizeLink(u);if(!e.md.validateLink(a))return!1;if(!t){e.pending=e.pending.slice(0,-i.length);let c=e.push("link_open","a",1);c.attrs=[["href",a]],c.markup="linkify",c.info="auto";let l=e.push("text","",0);l.content=e.md.normalizeLinkText(u);let d=e.push("link_close","a",-1);d.markup="linkify",d.info="auto"}return e.pos+=u.length-i.length,!0}function th(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;let r=e.pending.length-1,o=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let i=r-1;for(;i>=1&&e.pending.charCodeAt(i-1)===32;)i--;e.pending=e.pending.slice(0,i),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){nh[e.charCodeAt(0)]=1});function rh(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&o<=56319&&n+1=56320&&u<=57343&&(i+=e.src[n+1],n++)}let s="\\"+i;if(!t){let u=e.push("text_special","",0);o<256&&nh[o]!==0?u.content=i:u.content=s,u.markup=s,u.info="escape"}return e.pos=n+1,!0}function oh(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;let o=n;n++;let i=e.posMax;for(;n=0;r--){let o=t[r];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;let i=t[o.end],s=r>0&&t[r-1].end===o.end+1&&t[r-1].marker===o.marker&&t[r-1].token===o.token-1&&t[o.end+1].token===i.token+1,u=String.fromCharCode(o.marker),a=e.tokens[o.token];a.type=s?"strong_open":"em_open",a.tag=s?"strong":"em",a.nesting=1,a.markup=s?u+u:u,a.content="";let c=e.tokens[i.token];c.type=s?"strong_close":"em_close",c.tag=s?"strong":"em",c.nesting=-1,c.markup=s?u+u:u,c.content="",s&&(e.tokens[t[r-1].token].content="",e.tokens[t[o.end+1].token].content="",r--)}}function eM(e){let t=e.tokens_meta,n=e.tokens_meta.length;Nv(e,e.delimiters);for(let r=0;r=d)return!1;if(a=p,o=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),o.ok){for(s=e.md.normalizeLink(o.str),e.md.validateLink(s)?p=o.pos:s="",a=p;p=d||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?r=e.src.slice(a,p++):p=f+1):p=f+1,r||(r=e.src.slice(h,f)),i=e.env.references[ur(r)],!i)return e.pos=l,!1;s=i.href,u=i.title}if(!t){e.pos=h,e.posMax=f;let g=e.push("link_open","a",1),m=[["href",s]];g.attrs=m,u&&m.push(["title",u]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=d,!0}function ah(e,t){let n,r,o,i,s,u,a,c,l="",d=e.pos,h=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;let f=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(i=p+1,i=h)return!1;for(c=i,u=e.md.helpers.parseLinkDestination(e.src,i,e.posMax),u.ok&&(l=e.md.normalizeLink(u.str),e.md.validateLink(l)?i=u.pos:l=""),c=i;i=h||e.src.charCodeAt(i)!==41)return e.pos=d,!1;i++}else{if(typeof e.env.references>"u")return!1;if(i=0?o=e.src.slice(c,i++):i=p+1):i=p+1,o||(o=e.src.slice(f,p)),s=e.env.references[ur(o)],!s)return e.pos=d,!1;l=s.href,a=s.title}if(!t){r=e.src.slice(f,p);let g=[];e.md.inline.parse(r,e.md,e.env,g);let m=e.push("image","img",0),y=[["src",l],["alt",""]];m.attrs=y,m.children=g,m.content=r,a&&y.push(["title",a])}return e.pos=i,e.posMax=h,!0}var tM=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,nM=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function ch(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;let r=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;let s=e.src.charCodeAt(n);if(s===60)return!1;if(s===62)break}let i=e.src.slice(r+1,n);if(nM.test(i)){let s=e.md.normalizeLink(i);if(!e.md.validateLink(s))return!1;if(!t){let u=e.push("link_open","a",1);u.attrs=[["href",s]],u.markup="autolink",u.info="auto";let a=e.push("text","",0);a.content=e.md.normalizeLinkText(i);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=i.length+2,!0}if(tM.test(i)){let s=e.md.normalizeLink("mailto:"+i);if(!e.md.validateLink(s))return!1;if(!t){let u=e.push("link_open","a",1);u.attrs=[["href",s]],u.markup="autolink",u.info="auto";let a=e.push("text","",0);a.content=e.md.normalizeLinkText(i);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=i.length+2,!0}return!1}function rM(e){return/^\s]/i.test(e)}function oM(e){return/^<\/a\s*>/i.test(e)}function iM(e){let t=e|32;return t>=97&&t<=122}function lh(e,t){if(!e.md.options.html)return!1;let n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let o=e.src.charCodeAt(r+1);if(o!==33&&o!==63&&o!==47&&!iM(o))return!1;let i=e.src.slice(r).match(Iv);if(!i)return!1;if(!t){let s=e.push("html_inline","",0);s.content=i[0],rM(s.content)&&e.linkLevel++,oM(s.content)&&e.linkLevel--}return e.pos+=i[0].length,!0}var sM=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,uM=/^&([a-z][a-z0-9]{1,31});/i;function dh(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){let i=e.src.slice(n).match(sM);if(i){if(!t){let s=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10),u=e.push("text_special","",0);u.content=ka(s)?Ri(s):Ri(65533),u.markup=i[0],u.info="entity"}return e.pos+=i[0].length,!0}}else{let i=e.src.slice(n).match(uM);if(i){let s=En(i[0]);if(s!==i[0]){if(!t){let u=e.push("text_special","",0);u.content=s,u.markup=i[0],u.info="entity"}return e.pos+=i[0].length,!0}}}return!1}function kv(e){let t={},n=e.length;if(!n)return;let r=0,o=-2,i=[];for(let s=0;sa;c-=i[c]+1){let d=e[c];if(d.marker===u.marker&&d.open&&d.end<0){let h=!1;if((d.close||u.open)&&(d.length+u.length)%3===0&&(d.length%3!==0||u.length%3!==0)&&(h=!0),!h){let f=c>0&&!e[c-1].open?i[c-1]+1:0;i[s]=s-c+f,i[c]=f,u.open=!1,d.end=s,d.close=!1,l=-1,o=-2;break}}}l!==-1&&(t[u.marker][(u.open?3:0)+(u.length||0)%3]=l)}}function fh(e){let t=e.tokens_meta,n=e.tokens_meta.length;kv(e.delimiters);for(let r=0;r0&&r++,o[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;s||e.pos++,i[t]=e.pos};Oi.prototype.tokenize=function(e){let t=this.ruler.getRules(""),n=t.length,r=e.posMax,o=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(s){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Oi.prototype.parse=function(e,t,n,r){let o=new this.State(e,t,n,r);this.tokenize(o);let i=this.ruler2.getRules(""),s=i.length;for(let u=0;u|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+t.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+t.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function mh(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function La(e){return Object.prototype.toString.call(e)}function aM(e){return La(e)==="[object String]"}function cM(e){return La(e)==="[object Object]"}function lM(e){return La(e)==="[object RegExp]"}function Ov(e){return La(e)==="[object Function]"}function dM(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var Lv={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function fM(e){return Object.keys(e||{}).reduce(function(t,n){return t||Lv.hasOwnProperty(n)},!1)}var pM={"http:":{validate:function(e,t,n){let r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){let r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){let r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},hM="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",gM="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function mM(e){e.__index__=-1,e.__text_cache__=""}function yM(e){return function(t,n){let r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function Pv(){return function(e,t){t.normalize(e)}}function Pa(e){let t=e.re=Fv(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(hM),n.push(t.src_xn),t.src_tlds=n.join("|");function r(u){return u.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");let o=[];e.__compiled__={};function i(u,a){throw new Error('(LinkifyIt) Invalid schema "'+u+'": '+a)}Object.keys(e.__schemas__).forEach(function(u){let a=e.__schemas__[u];if(a===null)return;let c={validate:null,link:null};if(e.__compiled__[u]=c,cM(a)){lM(a.validate)?c.validate=yM(a.validate):Ov(a.validate)?c.validate=a.validate:i(u,a),Ov(a.normalize)?c.normalize=a.normalize:a.normalize?i(u,a):c.normalize=Pv();return}if(aM(a)){o.push(u);return}i(u,a)}),o.forEach(function(u){e.__compiled__[e.__schemas__[u]]&&(e.__compiled__[u].validate=e.__compiled__[e.__schemas__[u]].validate,e.__compiled__[u].normalize=e.__compiled__[e.__schemas__[u]].normalize)}),e.__compiled__[""]={validate:null,normalize:Pv()};let s=Object.keys(e.__compiled__).filter(function(u){return u.length>0&&e.__compiled__[u]}).map(dM).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><\uFF5C]|"+t.src_ZPCc+"))("+s+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><\uFF5C]|"+t.src_ZPCc+"))("+s+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),mM(e)}function bM(e,t){let n=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function yh(e,t){let n=new bM(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function Be(e,t){if(!(this instanceof Be))return new Be(e,t);t||fM(e)&&(t=e,e={}),this.__opts__=mh({},Lv,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=mh({},pM,e),this.__compiled__={},this.__tlds__=gM,this.__tlds_replaced__=!1,this.re={},Pa(this)}Be.prototype.add=function(t,n){return this.__schemas__[t]=n,Pa(this),this};Be.prototype.set=function(t){return this.__opts__=mh(this.__opts__,t),this};Be.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,o,i,s,u,a,c,l;if(this.re.schema_test.test(t)){for(a=this.re.schema_search,a.lastIndex=0;(n=a.exec(t))!==null;)if(i=this.testSchemaAt(t,n[2],a.lastIndex),i){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+i;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=t.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c=0&&(o=t.match(this.re.email_fuzzy))!==null&&(s=o.index+o[1].length,u=o.index+o[0].length,(this.__index__<0||sthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=s,this.__last_index__=u))),this.__index__>=0};Be.prototype.pretest=function(t){return this.re.pretest.test(t)};Be.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};Be.prototype.match=function(t){let n=[],r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(yh(this,r)),r=this.__last_index__);let o=r?t.slice(r):t;for(;this.test(o);)n.push(yh(this,r)),o=o.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};Be.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;let n=this.re.schema_at_start.exec(t);if(!n)return null;let r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,yh(this,0)):null};Be.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,o,i){return r!==i[o-1]}).reverse(),Pa(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,Pa(this),this)};Be.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};Be.prototype.onCompile=function(){};var jv=Be;var vM=/^xn--/,DM=/[^\0-\x7F]/,EM=/[\x2E\u3002\uFF0E\uFF61]/g,_M={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},bh=35,wt=Math.floor,vh=String.fromCharCode;function _n(e){throw new RangeError(_M[e])}function CM(e,t){let n=[],r=e.length;for(;r--;)n[r]=t(e[r]);return n}function Vv(e,t){let n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(EM,".");let o=e.split("."),i=CM(o,t).join(".");return r+i}function Hv(e){let t=[],n=0,r=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),xM=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:36},Bv=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},$v=function(e,t,n){let r=0;for(e=n?wt(e/700):e>>1,e+=wt(e/t);e>bh*26>>1;r+=36)e=wt(e/bh);return wt(r+(bh+1)*e/(e+38))},Uv=function(e){let t=[],n=e.length,r=0,o=128,i=72,s=e.lastIndexOf("-");s<0&&(s=0);for(let u=0;u=128&&_n("not-basic"),t.push(e.charCodeAt(u));for(let u=s>0?s+1:0;u=n&&_n("invalid-input");let h=xM(e.charCodeAt(u++));h>=36&&_n("invalid-input"),h>wt((2147483647-r)/l)&&_n("overflow"),r+=h*l;let f=d<=i?1:d>=i+26?26:d-i;if(hwt(2147483647/p)&&_n("overflow"),l*=p}let c=t.length+1;i=$v(r-a,c,a==0),wt(r/c)>2147483647-o&&_n("overflow"),o+=wt(r/c),r%=c,t.splice(r++,0,o)}return String.fromCodePoint(...t)},zv=function(e){let t=[];e=Hv(e);let n=e.length,r=128,o=0,i=72;for(let a of e)a<128&&t.push(vh(a));let s=t.length,u=s;for(s&&t.push("-");u=r&&lwt((2147483647-o)/c)&&_n("overflow"),o+=(a-r)*c,r=a;for(let l of e)if(l2147483647&&_n("overflow"),l===r){let d=o;for(let h=36;;h+=36){let f=h<=i?1:h>=i+26?26:h-i;if(d=0))try{t.hostname=Dh.toASCII(t.hostname)}catch{}return _a(co(t))}function FM(e){let t=ki(e,!0);if(t.hostname&&(!t.protocol||Zv.indexOf(t.protocol)>=0))try{t.hostname=Dh.toUnicode(t.hostname)}catch{}return Ni(co(t),Ni.defaultChars+"%")}function Ge(e,t){if(!(this instanceof Ge))return new Ge(e,t);t||Na(e)||(t=e||{},e="default"),this.inline=new Rv,this.block=new Sv,this.core=new bv,this.renderer=new fv,this.linkify=new jv,this.validateLink=kM,this.normalizeLink=RM,this.normalizeLinkText=FM,this.utils=Tp,this.helpers=fo({},Np),this.options={},this.configure(e),t&&this.set(t)}Ge.prototype.set=function(e){return fo(this.options,e),this};Ge.prototype.configure=function(e){let t=this;if(Na(e)){let n=e;if(e=MM[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};Ge.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));let r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};Ge.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));let r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};Ge.prototype.use=function(e){let t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};Ge.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");let n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};Ge.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};Ge.prototype.parseInline=function(e,t){let n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};Ge.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var Eh=Ge;function OM(e,t){if(e&1&&Jr(0,0),e&2){let n=t.$implicit,r=yi();Yr("surfaceId",r.surfaceId())("component",n)}}function PM(e,t){if(e&1&&Jr(0,0),e&2){let n=t.$implicit,r=yi();Yr("surfaceId",r.surfaceId())("component",n)}}function LM(e,t){if(e&1&&Jr(0,0),e&2){yi();let n=qu(0),r=qu(1);Yr("surfaceId",n)("component",r.componentTree)}}var jM=new x("Catalog"),BM=(()=>{class e extends w1.A2uiMessageProcessor{events=new le;setData(n,r,o,i){return super.setData(n,r,o,i??void 0)}dispatch(n){let r=new le;return this.events.next({message:n,completion:r}),sc(r)}static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),VM=new x("Theme"),HM=0,_h=(()=>{class e{processor=b(BM);theme=b(VM);surfaceId=Ae.required();component=Ae.required();weight=Ae.required();sendAction(n){let r=this.component(),o=this.surfaceId()??void 0,i={};if(n.context){for(let u of n.context)if(u.value.literalBoolean)i[u.key]=u.value.literalBoolean;else if(u.value.literalNumber)i[u.key]=u.value.literalNumber;else if(u.value.literalString)i[u.key]=u.value.literalString;else if(u.value.path){let a=this.processor.resolvePath(u.value.path,r.dataContextPath),c=this.processor.getData(r,a,o);i[u.key]=c}}let s={userAction:{name:n.name,sourceComponentId:r.id,surfaceId:o,timestamp:new Date().toISOString(),context:i}};return this.processor.dispatch(s)}resolvePrimitive(n){let r=this.component(),o=this.surfaceId();return!n||typeof n!="object"?null:n.literal!=null?n.literal:n.path?this.processor.getData(r,n.path,o??void 0):"literalString"in n?n.literalString:"literalNumber"in n?n.literalNumber:"literalBoolean"in n?n.literalBoolean:null}getUniqueId(n){return`${n}-${HM++}`}static \u0275fac=function(r){return new(r||e)};static \u0275dir=ot({type:e,hostVars:2,hostBindings:function(r,o){r&2&&$u("--weight",o.weight())},inputs:{surfaceId:[1,"surfaceId"],component:[1,"component"],weight:[1,"weight"]}})}return e})(),Ch=(()=>{class e{viewContainerRef=b(rt);catalog=b(jM);static hasInsertedStyles=!1;currentRef=null;isDestroyed=!1;surfaceId=Ae.required();component=Ae.required();constructor(){Zo(()=>{let o=this.surfaceId(),i=this.component();de(()=>this.render(o,i))});let n=b(Xn),r=b(K);if(!e.hasInsertedStyles&&u1(n)){let o=r.createElement("style");o.textContent=ro.structuralStyles,r.head.appendChild(o),e.hasInsertedStyles=!0}}ngOnDestroy(){this.isDestroyed=!0,this.clear()}render(n,r){return at(this,null,function*(){let o=this.catalog[r.type],i=null,s=null;if(typeof o=="function"?i=yield o():typeof o=="object"&&(i=yield o.type(),s=o.bindings(r)),this.clear(),i&&!this.isDestroyed){let u=[U("surfaceId",()=>n),U("component",()=>r),U("weight",()=>r.weight??"initial")];s&&u.push(...s),this.currentRef=this.viewContainerRef.createComponent(i,{bindings:u,injector:this.viewContainerRef.injector})}})}clear(){this.currentRef?.destroy(),this.currentRef=null}static \u0275fac=function(r){return new(r||e)};static \u0275dir=ot({type:e,selectors:[["ng-container","a2ui-renderer",""]],inputs:{surfaceId:[1,"surfaceId"],component:[1,"component"]}})}return e})();var $M=(()=>{class e extends _h{alignment=Ae("stretch");distribution=Ae("start");classes=Me(()=>P(S({},this.theme.components.Row),{[`align-${this.alignment()}`]:!0,[`distribute-${this.distribution()}`]:!0}));static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275cmp=Gr({type:e,selectors:[["a2ui-row"]],hostVars:2,hostBindings:function(r,o){r&2&&Pu("alignment",o.alignment())("distribution",o.distribution())},inputs:{alignment:[1,"alignment"],distribution:[1,"distribution"]},features:[Wr],decls:3,vars:4,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(r,o){r&1&&(Qr(0,"section"),ju(1,OM,1,2,"ng-container",0,Lu),Kr()),r&2&&(Xr(o.theme.additionalStyles==null?null:o.theme.additionalStyles.Row),bi(o.classes()),qr(),Bu(o.component().properties.children))},dependencies:[Ch],styles:["[_nghost-%COMP%]{display:flex;flex:var(--weight)}section[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:100%;min-height:100%;box-sizing:border-box}.align-start[_ngcontent-%COMP%]{align-items:start}.align-center[_ngcontent-%COMP%]{align-items:center}.align-end[_ngcontent-%COMP%]{align-items:end}.align-stretch[_ngcontent-%COMP%]{align-items:stretch}.distribute-start[_ngcontent-%COMP%]{justify-content:start}.distribute-center[_ngcontent-%COMP%]{justify-content:center}.distribute-end[_ngcontent-%COMP%]{justify-content:end}.distribute-spaceBetween[_ngcontent-%COMP%]{justify-content:space-between}.distribute-spaceAround[_ngcontent-%COMP%]{justify-content:space-around}.distribute-spaceEvenly[_ngcontent-%COMP%]{justify-content:space-evenly}"]})}return e})(),UM=(()=>{class e extends _h{alignment=Ae("stretch");distribution=Ae("start");classes=Me(()=>P(S({},this.theme.components.Column),{[`align-${this.alignment()}`]:!0,[`distribute-${this.distribution()}`]:!0}));static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275cmp=Gr({type:e,selectors:[["a2ui-column"]],inputs:{alignment:[1,"alignment"],distribution:[1,"distribution"]},features:[Wr],decls:3,vars:4,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(r,o){r&1&&(Qr(0,"section"),ju(1,PM,1,2,"ng-container",0,Lu),Kr()),r&2&&(Xr(o.theme.additionalStyles==null?null:o.theme.additionalStyles.Column),bi(o.classes()),qr(),Bu(o.component().properties.children))},dependencies:[Ch],styles:["[_nghost-%COMP%]{display:flex;flex:var(--weight)}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:100%;height:100%;box-sizing:border-box}.align-start[_ngcontent-%COMP%]{align-items:start}.align-center[_ngcontent-%COMP%]{align-items:center}.align-end[_ngcontent-%COMP%]{align-items:end}.align-stretch[_ngcontent-%COMP%]{align-items:stretch}.distribute-start[_ngcontent-%COMP%]{justify-content:start}.distribute-center[_ngcontent-%COMP%]{justify-content:center}.distribute-end[_ngcontent-%COMP%]{justify-content:end}.distribute-spaceBetween[_ngcontent-%COMP%]{justify-content:space-between}.distribute-spaceAround[_ngcontent-%COMP%]{justify-content:space-around}.distribute-spaceEvenly[_ngcontent-%COMP%]{justify-content:space-evenly}"]})}return e})(),zM=(()=>{class e{originalClassMap=new Map;sanitizer=b(bp);markdownIt=Eh({highlight:(n,r)=>{if(r==="html"){let o=document.createElement("iframe");return o.classList.add("html-view"),o.srcdoc=n,o.sandbox="",o.innerHTML}return n}});render(n,r){r&&this.applyTagClassMap(r);let o=this.markdownIt.render(n);return this.unapplyTagClassMap(),this.sanitizer.sanitize(Le.HTML,o)}applyTagClassMap(n){Object.entries(n).forEach(([r,o])=>{let i;switch(r){case"p":i="paragraph";break;case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":i="heading";break;case"ul":i="bullet_list";break;case"ol":i="ordered_list";break;case"li":i="list_item";break;case"a":i="link";break;case"strong":i="strong";break;case"em":i="em";break}if(!i)return;let s=`${i}_open`,u=this.markdownIt.renderer.rules[s];this.originalClassMap.set(s,u),this.markdownIt.renderer.rules[s]=(a,c,l,d,h)=>{let f=a[c];for(let p of o)f.attrJoin("class",p);return u?u.call(this,a,c,l,d,h):h.renderToken(a,c,l)}})}unapplyTagClassMap(){for(let[n,r]of this.originalClassMap)this.markdownIt.renderer.rules[n]=r;this.originalClassMap.clear()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),qM=(()=>{class e extends _h{markdownRenderer=b(zM);text=Ae.required();usageHint=Ae.required();resolvedText=Me(()=>{let n=this.usageHint(),r=super.resolvePrimitive(this.text());if(r==null)return"(empty)";switch(n){case"h1":r=`# ${r}`;break;case"h2":r=`## ${r}`;break;case"h3":r=`### ${r}`;break;case"h4":r=`#### ${r}`;break;case"h5":r=`##### ${r}`;break;case"caption":r=`*${r}*`;break;default:r=String(r);break}return this.markdownRenderer.render(r,ro.appendToAll(this.theme.markdown,["ol","ul","li"],{}))});classes=Me(()=>{let n=this.usageHint();return ro.merge(this.theme.components.Text.all,n?this.theme.components.Text[n]:{})});additionalStyles=Me(()=>{let n=this.usageHint(),r=this.theme.additionalStyles?.Text;if(!r)return null;let o={};return this.areHintedStyles(r)?o=r[n??"body"]:o=r,o});areHintedStyles(n){return typeof n!="object"||!n||Array.isArray(n)?!1:["h1","h2","h3","h4","h5","h6","caption","body"].every(o=>o in n)}static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275cmp=Gr({type:e,selectors:[["a2ui-text"]],inputs:{text:[1,"text"],usageHint:[1,"usageHint"]},features:[Wr],decls:1,vars:5,consts:[[3,"innerHTML"]],template:function(r,o){r&1&&Vu(0,"section",0),r&2&&(Xr(o.additionalStyles()),bi(o.classes()),Hu("innerHTML",o.resolvedText(),md))},styles:[`a2ui-text{display:block;flex:var(--weight)}a2ui-text h1,a2ui-text h2,a2ui-text h3,a2ui-text h4,a2ui-text h5{line-height:inherit;font:inherit} -`],encapsulation:2})}return e})(),Oq={Row:{type:()=>$M,bindings:e=>{let t=e.properties;return[U("alignment",()=>t.alignment??"stretch"),U("distribution",()=>t.distribution??"start")]}},Column:{type:()=>UM,bindings:e=>{let t=e.properties;return[U("alignment",()=>t.alignment??"stretch"),U("distribution",()=>t.distribution??"start")]}},List:{type:()=>import("./chunk-7MR4QDTO.js").then(e=>e.List),bindings:e=>{let t=e.properties;return[U("direction",()=>t.direction??"vertical")]}},Card:()=>import("./chunk-A6XEKK5I.js").then(e=>e.Card),Image:{type:()=>import("./chunk-HAQR6HJ6.js").then(e=>e.Image),bindings:e=>{let t=e.properties;return[U("url",()=>t.url),U("usageHint",()=>t.usageHint)]}},Icon:{type:()=>import("./chunk-4MSGFQCD.js").then(e=>e.Icon),bindings:e=>{let t=e.properties;return[U("name",()=>t.name)]}},Video:{type:()=>import("./chunk-IXLBQLFI.js").then(e=>e.Video),bindings:e=>{let t=e.properties;return[U("url",()=>t.url)]}},AudioPlayer:{type:()=>import("./chunk-AK5ESGDJ.js").then(e=>e.Audio),bindings:e=>{let t=e.properties;return[U("url",()=>t.url)]}},Text:{type:()=>qM,bindings:e=>{let t=e.properties;return[U("text",()=>t.text),U("usageHint",()=>t.usageHint||null)]}},Button:{type:()=>import("./chunk-CHLIPOEM.js").then(e=>e.Button),bindings:e=>{let t=e.properties;return[U("action",()=>t.action)]}},Divider:()=>import("./chunk-VPVAD56Y.js").then(e=>e.Divider),MultipleChoice:{type:()=>import("./chunk-RUWE7IJV.js").then(e=>e.MultipleChoice),bindings:e=>{let t=e.properties;return[U("options",()=>t.options||[]),U("value",()=>t.selections),U("description",()=>"Select an item")]}},TextField:{type:()=>import("./chunk-UATSMTT5.js").then(e=>e.TextField),bindings:e=>{let t=e.properties;return[U("text",()=>t.text??null),U("label",()=>t.label),U("inputType",()=>t.type)]}},DateTimeInput:{type:()=>import("./chunk-RLBEOMT4.js").then(e=>e.DatetimeInput),bindings:e=>{let t=e.properties;return[U("enableDate",()=>t.enableDate),U("enableTime",()=>t.enableTime),U("value",()=>t.value)]}},CheckBox:{type:()=>import("./chunk-M3M3P5CP.js").then(e=>e.Checkbox),bindings:e=>{let t=e.properties;return[U("label",()=>t.label),U("value",()=>t.value)]}},Slider:{type:()=>import("./chunk-XB75PFJS.js").then(e=>e.Slider),bindings:e=>{let t=e.properties;return[U("value",()=>t.value),U("minValue",()=>t.minValue),U("maxValue",()=>t.maxValue),U("label",()=>"")]}},Tabs:{type:()=>import("./chunk-HYLIZOX5.js").then(e=>e.Tabs),bindings:e=>{let t=e.properties;return[U("tabs",()=>t.tabItems)]}},Modal:{type:()=>import("./chunk-BWFUMX67.js").then(e=>e.Modal),bindings:()=>[]}},Pq=(()=>{class e{surfaceId=Ae.required();surface=Ae.required();styles=Me(()=>{let n=this.surface(),r={};if(n?.styles)for(let[o,i]of Object.entries(n.styles))switch(o){case"primaryColor":{r["--p-100"]="#ffffff",r["--p-99"]=`color-mix(in srgb, ${i} 2%, white 98%)`,r["--p-98"]=`color-mix(in srgb, ${i} 4%, white 96%)`,r["--p-95"]=`color-mix(in srgb, ${i} 10%, white 90%)`,r["--p-90"]=`color-mix(in srgb, ${i} 20%, white 80%)`,r["--p-80"]=`color-mix(in srgb, ${i} 40%, white 60%)`,r["--p-70"]=`color-mix(in srgb, ${i} 60%, white 40%)`,r["--p-60"]=`color-mix(in srgb, ${i} 80%, white 20%)`,r["--p-50"]=i,r["--p-40"]=`color-mix(in srgb, ${i} 80%, black 20%)`,r["--p-35"]=`color-mix(in srgb, ${i} 70%, black 30%)`,r["--p-30"]=`color-mix(in srgb, ${i} 60%, black 40%)`,r["--p-25"]=`color-mix(in srgb, ${i} 50%, black 50%)`,r["--p-20"]=`color-mix(in srgb, ${i} 40%, black 60%)`,r["--p-15"]=`color-mix(in srgb, ${i} 30%, black 70%)`,r["--p-10"]=`color-mix(in srgb, ${i} 20%, black 80%)`,r["--p-5"]=`color-mix(in srgb, ${i} 10%, black 90%)`,r["--0"]="#00000";break}case"font":{r["--font-family"]=i,r["--font-family-flex"]=i;break}}return r});static \u0275fac=function(r){return new(r||e)};static \u0275cmp=Gr({type:e,selectors:[["a2ui-surface"]],hostVars:2,hostBindings:function(r,o){r&2&&Xr(o.styles())},inputs:{surfaceId:[1,"surfaceId"],surface:[1,"surface"]},decls:3,vars:3,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(r,o){if(r&1&&(Uu(0)(1),qd(2,LM,1,2,"ng-container",0)),r&2){let i=zu(o.surfaceId());qr();let s=zu(o.surface());qr(),Wd(i&&s?2:-1)}},dependencies:[Ch],styles:["[_nghost-%COMP%]{display:flex;min-height:0;max-height:100%;flex-direction:column;gap:16px}"]})}return e})();export{X as a,Sn as b,uD as c,B as d,tc as e,le as f,zi as g,Eo as h,Co as i,pD as j,Dr as k,hD as l,St as m,ZN as n,Io as o,lt as p,us as q,_D as r,CD as s,An as t,sc as u,Ee as v,ND as w,Mt as x,To as y,ls as z,RD as A,FD as B,uc as C,ac as D,HD as E,$D as F,on as G,zD as H,qD as I,cc as J,lc as K,u0 as L,dc as M,GD as N,c0 as O,ds as P,YD as Q,QD as R,d0 as S,fs as T,f0 as U,p0 as V,h0 as W,ps as X,KD as Y,JD as Z,g0 as _,XD as $,_ as aa,pt as ba,Cs as ca,I as da,ht as ea,rE as fa,x as ga,A as ha,b as ia,R0 as ja,Ce as ka,Sr as la,CE as ma,G0 as na,W0 as oa,og as pa,ig as qa,we as ra,K as sa,Oe as ta,Gn as ua,At as va,be as wa,Ve as xa,Pt as ya,pn as za,Zo as Aa,de as Ba,hu as Ca,Ur as Da,jt as Ea,tu as Fa,gu as Ga,Xn as Ha,g_ as Ia,yu as Ja,wm as Ka,Le as La,md as Ma,G_ as Na,W_ as Oa,Z_ as Pa,qr as Qa,Ht as Ra,dC as Sa,gn as Ta,Kn as Ua,pi as Va,oe as Wa,lw as Xa,rt as Ya,yn as Za,Oy as _a,Py as $a,Gr as ab,$t as bb,ot as cb,ex as db,Wr as eb,Hy as fb,$y as gb,Uy as hb,zy as ib,gi as jb,fx as kb,Wy as lb,Zr as mb,Qy as nb,Pu as ob,hx as pb,qd as qb,Gd as rb,Wd as sb,mx as tb,Lu as ub,ju as vb,Bu as wb,Yr as xb,Qr as yb,Kr as zb,Ky as Ab,Zd as Bb,Yd as Cb,Vu as Db,Qd as Eb,Kd as Fb,Jr as Gb,_x as Hb,Hu as Ib,eb as Jb,tb as Kb,yi as Lb,xx as Mb,Ix as Nb,rb as Ob,ob as Pb,Sx as Qb,Mx as Rb,ib as Sb,sb as Tb,Ax as Ub,Nx as Vb,$u as Wb,db as Xb,Xr as Yb,bi as Zb,eI as _b,Db as $b,Jd as ac,Eb as bc,_b as cc,Cb as dc,oI as ec,wb as fc,Uu as gc,zu as hc,qu as ic,iI as jc,sI as kc,lI as lc,dI as mc,fI as nc,pI as oc,hI as pc,mI as qc,yI as rc,bI as sc,vI as tc,Wu as uc,Me as vc,_I as wc,sf as xc,Pb as yc,iB as zc,sB as Ac,Ae as Bc,uB as Cc,aB as Dc,cB as Ec,yf as Fc,bf as Gc,JI as Hc,XI as Ic,dB as Jc,fB as Kc,pB as Lc,Et as Mc,t2 as Nc,eo as Oc,e1 as Pc,t1 as Qc,i2 as Rc,s2 as Sc,u2 as Tc,s1 as Uc,c2 as Vc,l2 as Wc,d2 as Xc,g2 as Yc,y2 as Zc,Cf as _c,u1 as $c,Z7 as ad,ro as bd,lp as cd,lT as dd,yT as ed,q1 as fd,BT as gd,s$ as hd,bp as id,jM as jd,BM as kd,VM as ld,_h as md,Ch as nd,Oq as od,Pq as pd}; +`,i.map=[t,e.line],!0}function zp(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>i)return!1;let s=e.src.charCodeAt(o);if(s!==126&&s!==96)return!1;let u=o;o=e.skipChars(o,s);let a=o-u;if(a<3)return!1;let c=e.src.slice(u,o),l=e.src.slice(o,i);if(s===96&&l.indexOf(String.fromCharCode(s))>=0)return!1;if(r)return!0;let d=t,h=!1;for(;d++,!(d>=n||(o=u=e.bMarks[d]+e.tShift[d],i=e.eMarks[d],o=4)&&(o=e.skipChars(o,s),!(o-u=4||e.src.charCodeAt(o)!==62)return!1;if(r)return!0;let u=[],a=[],c=[],l=[],d=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let f=!1,p;for(p=t;p=i)break;if(e.src.charCodeAt(o++)===62&&!w){let F=e.sCount[p]+1,E,N;e.src.charCodeAt(o)===32?(o++,F++,N=!1,E=!0):e.src.charCodeAt(o)===9?(E=!0,(e.bsCount[p]+F)%4===3?(o++,F++,N=!1):N=!0):E=!1;let O=F;for(u.push(e.bMarks[p]),e.bMarks[p]=o;o=i,a.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(E?1:0),c.push(e.sCount[p]),e.sCount[p]=O-F,l.push(e.tShift[p]),e.tShift[p]=o-e.bMarks[p];continue}if(f)break;let D=!1;for(let F=0,E=d.length;F";let y=[t,0];m.map=y,e.md.block.tokenize(e,t,p);let v=e.push("blockquote_close","blockquote",-1);v.markup=">",e.lineMax=s,e.parentType=h,y[1]=e.line;for(let w=0;w=4)return!1;let i=e.bMarks[t]+e.tShift[t],s=e.src.charCodeAt(i++);if(s!==42&&s!==45&&s!==95)return!1;let u=1;for(;i=r)return-1;let i=e.src.charCodeAt(o++);if(i<48||i>57)return-1;for(;;){if(o>=r)return-1;if(i=e.src.charCodeAt(o++),i>=48&&i<=57){if(o-n>=10)return-1;continue}if(i===41||i===46)break;return-1}return o=4||e.listIndent>=0&&e.sCount[a]-e.listIndent>=4&&e.sCount[a]=e.blkIndent&&(l=!0);let d,h,f;if((f=_v(e,a))>=0){if(d=!0,s=e.bMarks[a]+e.tShift[a],h=Number(e.src.slice(s,f-1)),l&&h!==1)return!1}else if((f=Ev(e,a))>=0)d=!1;else return!1;if(l&&e.skipSpaces(f)>=e.eMarks[a])return!1;if(r)return!0;let p=e.src.charCodeAt(f-1),g=e.tokens.length;d?(u=e.push("ordered_list_open","ol",1),h!==1&&(u.attrs=[["start",h]])):u=e.push("bullet_list_open","ul",1);let m=[a,0];u.map=m,u.markup=String.fromCharCode(p);let y=!1,v=e.md.block.ruler.getRules("list"),w=e.parentType;for(e.parentType="list";a=o?N=1:N=F-D,N>4&&(N=1);let O=D+N;u=e.push("list_item_open","li",1),u.markup=String.fromCharCode(p);let J=[a,0];u.map=J,d&&(u.info=e.src.slice(s,f-1));let ut=e.tight,mo=e.tShift[a],Pi=e.sCount[a],Yv=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=O,e.tight=!0,e.tShift[a]=E-e.bMarks[a],e.sCount[a]=F,E>=o&&e.isEmpty(a+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,a,n,!0),(!e.tight||y)&&(c=!1),y=e.line-a>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=Yv,e.tShift[a]=mo,e.sCount[a]=Pi,e.tight=ut,u=e.push("list_item_close","li",-1),u.markup=String.fromCharCode(p),a=e.line,J[1]=a,a>=n||e.sCount[a]=4)break;let wh=!1;for(let cr=0,Qv=v.length;cr=4||e.src.charCodeAt(o)!==91)return!1;function u(v){let w=e.lineMax;if(v>=w||e.isEmpty(v))return null;let D=!1;if(e.sCount[v]-e.blkIndent>3&&(D=!0),e.sCount[v]<0&&(D=!0),!D){let N=e.md.block.ruler.getRules("reference"),O=e.parentType;e.parentType="reference";let J=!1;for(let ut=0,mo=N.length;ut"u"&&(e.env.references={}),typeof e.env.references[y]>"u"&&(e.env.references[y]={title:m,href:d}),e.line=s),!0):!1}var Cv=["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"];var BS="[a-zA-Z_:][a-zA-Z0-9:._-]*",VS="[^\"'=<>`\\x00-\\x20]+",HS="'[^']*'",$S='"[^"]*"',US="(?:"+VS+"|"+HS+"|"+$S+")",zS="(?:\\s+"+BS+"(?:\\s*=\\s*"+US+")?)",wv="<[A-Za-z][A-Za-z0-9\\-]*"+zS+"*\\s*\\/?>",xv="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",qS="",GS="<[?][\\s\\S]*?[?]>",WS="]*>",ZS="",Iv=new RegExp("^(?:"+wv+"|"+xv+"|"+qS+"|"+GS+"|"+WS+"|"+ZS+")"),Tv=new RegExp("^(?:"+wv+"|"+xv+")");var go=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(Tv.source+"\\s*$"),/^$/,!1]];function Yp(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let s=e.src.slice(o,i),u=0;for(;u=4)return!1;let s=e.src.charCodeAt(o);if(s!==35||o>=i)return!1;let u=1;for(s=e.src.charCodeAt(++o);s===35&&o6||oo&&H(e.src.charCodeAt(a-1))&&(i=a),e.line=t+1;let c=e.push("heading_open","h"+String(u),1);c.markup="########".slice(0,u),c.map=[t,e.line];let l=e.push("inline","",0);l.content=e.src.slice(o,i).trim(),l.map=[t,e.line],l.children=[];let d=e.push("heading_close","h"+String(u),-1);return d.markup="########".slice(0,u),!0}function Kp(e,t,n){let r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;let o=e.parentType;e.parentType="paragraph";let i=0,s,u=t+1;for(;u3)continue;if(e.sCount[u]>=e.blkIndent){let f=e.bMarks[u]+e.tShift[u],p=e.eMarks[u];if(f=p))){i=s===61?1:2;break}}if(e.sCount[u]<0)continue;let h=!1;for(let f=0,p=r.length;f3||e.sCount[i]<0)continue;let c=!1;for(let l=0,d=r.length;l=n||e.sCount[s]=i){e.line=n;break}let a=e.line,c=!1;for(let l=0;l=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!u,e.isEmpty(e.line-1)&&(u=!0),s=e.line,s0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r};Fi.prototype.scanDelims=function(e,t){let n=this.posMax,r=this.src.charCodeAt(e),o=e>0?this.src.charCodeAt(e-1):32,i=e;for(;i0)return!1;let n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;let o=e.pending.match(QS);if(!o)return!1;let i=o[1],s=e.md.linkify.matchAtStart(e.src.slice(n-i.length));if(!s)return!1;let u=s.url;if(u.length<=i.length)return!1;u=u.replace(/\*+$/,"");let a=e.md.normalizeLink(u);if(!e.md.validateLink(a))return!1;if(!t){e.pending=e.pending.slice(0,-i.length);let c=e.push("link_open","a",1);c.attrs=[["href",a]],c.markup="linkify",c.info="auto";let l=e.push("text","",0);l.content=e.md.normalizeLinkText(u);let d=e.push("link_close","a",-1);d.markup="linkify",d.info="auto"}return e.pos+=u.length-i.length,!0}function th(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;let r=e.pending.length-1,o=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let i=r-1;for(;i>=1&&e.pending.charCodeAt(i-1)===32;)i--;e.pending=e.pending.slice(0,i),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){nh[e.charCodeAt(0)]=1});function rh(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&o<=56319&&n+1=56320&&u<=57343&&(i+=e.src[n+1],n++)}let s="\\"+i;if(!t){let u=e.push("text_special","",0);o<256&&nh[o]!==0?u.content=i:u.content=s,u.markup=s,u.info="escape"}return e.pos=n+1,!0}function oh(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;let o=n;n++;let i=e.posMax;for(;n=0;r--){let o=t[r];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;let i=t[o.end],s=r>0&&t[r-1].end===o.end+1&&t[r-1].marker===o.marker&&t[r-1].token===o.token-1&&t[o.end+1].token===i.token+1,u=String.fromCharCode(o.marker),a=e.tokens[o.token];a.type=s?"strong_open":"em_open",a.tag=s?"strong":"em",a.nesting=1,a.markup=s?u+u:u,a.content="";let c=e.tokens[i.token];c.type=s?"strong_close":"em_close",c.tag=s?"strong":"em",c.nesting=-1,c.markup=s?u+u:u,c.content="",s&&(e.tokens[t[r-1].token].content="",e.tokens[t[o.end+1].token].content="",r--)}}function eM(e){let t=e.tokens_meta,n=e.tokens_meta.length;Nv(e,e.delimiters);for(let r=0;r=d)return!1;if(a=p,o=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),o.ok){for(s=e.md.normalizeLink(o.str),e.md.validateLink(s)?p=o.pos:s="",a=p;p=d||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?r=e.src.slice(a,p++):p=f+1):p=f+1,r||(r=e.src.slice(h,f)),i=e.env.references[ur(r)],!i)return e.pos=l,!1;s=i.href,u=i.title}if(!t){e.pos=h,e.posMax=f;let g=e.push("link_open","a",1),m=[["href",s]];g.attrs=m,u&&m.push(["title",u]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=d,!0}function ah(e,t){let n,r,o,i,s,u,a,c,l="",d=e.pos,h=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;let f=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(i=p+1,i=h)return!1;for(c=i,u=e.md.helpers.parseLinkDestination(e.src,i,e.posMax),u.ok&&(l=e.md.normalizeLink(u.str),e.md.validateLink(l)?i=u.pos:l=""),c=i;i=h||e.src.charCodeAt(i)!==41)return e.pos=d,!1;i++}else{if(typeof e.env.references>"u")return!1;if(i=0?o=e.src.slice(c,i++):i=p+1):i=p+1,o||(o=e.src.slice(f,p)),s=e.env.references[ur(o)],!s)return e.pos=d,!1;l=s.href,a=s.title}if(!t){r=e.src.slice(f,p);let g=[];e.md.inline.parse(r,e.md,e.env,g);let m=e.push("image","img",0),y=[["src",l],["alt",""]];m.attrs=y,m.children=g,m.content=r,a&&y.push(["title",a])}return e.pos=i,e.posMax=h,!0}var tM=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,nM=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function ch(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;let r=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;let s=e.src.charCodeAt(n);if(s===60)return!1;if(s===62)break}let i=e.src.slice(r+1,n);if(nM.test(i)){let s=e.md.normalizeLink(i);if(!e.md.validateLink(s))return!1;if(!t){let u=e.push("link_open","a",1);u.attrs=[["href",s]],u.markup="autolink",u.info="auto";let a=e.push("text","",0);a.content=e.md.normalizeLinkText(i);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=i.length+2,!0}if(tM.test(i)){let s=e.md.normalizeLink("mailto:"+i);if(!e.md.validateLink(s))return!1;if(!t){let u=e.push("link_open","a",1);u.attrs=[["href",s]],u.markup="autolink",u.info="auto";let a=e.push("text","",0);a.content=e.md.normalizeLinkText(i);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=i.length+2,!0}return!1}function rM(e){return/^\s]/i.test(e)}function oM(e){return/^<\/a\s*>/i.test(e)}function iM(e){let t=e|32;return t>=97&&t<=122}function lh(e,t){if(!e.md.options.html)return!1;let n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let o=e.src.charCodeAt(r+1);if(o!==33&&o!==63&&o!==47&&!iM(o))return!1;let i=e.src.slice(r).match(Iv);if(!i)return!1;if(!t){let s=e.push("html_inline","",0);s.content=i[0],rM(s.content)&&e.linkLevel++,oM(s.content)&&e.linkLevel--}return e.pos+=i[0].length,!0}var sM=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,uM=/^&([a-z][a-z0-9]{1,31});/i;function dh(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){let i=e.src.slice(n).match(sM);if(i){if(!t){let s=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10),u=e.push("text_special","",0);u.content=ka(s)?Ri(s):Ri(65533),u.markup=i[0],u.info="entity"}return e.pos+=i[0].length,!0}}else{let i=e.src.slice(n).match(uM);if(i){let s=En(i[0]);if(s!==i[0]){if(!t){let u=e.push("text_special","",0);u.content=s,u.markup=i[0],u.info="entity"}return e.pos+=i[0].length,!0}}}return!1}function kv(e){let t={},n=e.length;if(!n)return;let r=0,o=-2,i=[];for(let s=0;sa;c-=i[c]+1){let d=e[c];if(d.marker===u.marker&&d.open&&d.end<0){let h=!1;if((d.close||u.open)&&(d.length+u.length)%3===0&&(d.length%3!==0||u.length%3!==0)&&(h=!0),!h){let f=c>0&&!e[c-1].open?i[c-1]+1:0;i[s]=s-c+f,i[c]=f,u.open=!1,d.end=s,d.close=!1,l=-1,o=-2;break}}}l!==-1&&(t[u.marker][(u.open?3:0)+(u.length||0)%3]=l)}}function fh(e){let t=e.tokens_meta,n=e.tokens_meta.length;kv(e.delimiters);for(let r=0;r0&&r++,o[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;s||e.pos++,i[t]=e.pos};Oi.prototype.tokenize=function(e){let t=this.ruler.getRules(""),n=t.length,r=e.posMax,o=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(s){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Oi.prototype.parse=function(e,t,n,r){let o=new this.State(e,t,n,r);this.tokenize(o);let i=this.ruler2.getRules(""),s=i.length;for(let u=0;u|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+t.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+t.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function mh(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function La(e){return Object.prototype.toString.call(e)}function aM(e){return La(e)==="[object String]"}function cM(e){return La(e)==="[object Object]"}function lM(e){return La(e)==="[object RegExp]"}function Ov(e){return La(e)==="[object Function]"}function dM(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var Lv={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function fM(e){return Object.keys(e||{}).reduce(function(t,n){return t||Lv.hasOwnProperty(n)},!1)}var pM={"http:":{validate:function(e,t,n){let r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){let r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){let r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},hM="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",gM="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function mM(e){e.__index__=-1,e.__text_cache__=""}function yM(e){return function(t,n){let r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function Pv(){return function(e,t){t.normalize(e)}}function Pa(e){let t=e.re=Fv(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(hM),n.push(t.src_xn),t.src_tlds=n.join("|");function r(u){return u.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");let o=[];e.__compiled__={};function i(u,a){throw new Error('(LinkifyIt) Invalid schema "'+u+'": '+a)}Object.keys(e.__schemas__).forEach(function(u){let a=e.__schemas__[u];if(a===null)return;let c={validate:null,link:null};if(e.__compiled__[u]=c,cM(a)){lM(a.validate)?c.validate=yM(a.validate):Ov(a.validate)?c.validate=a.validate:i(u,a),Ov(a.normalize)?c.normalize=a.normalize:a.normalize?i(u,a):c.normalize=Pv();return}if(aM(a)){o.push(u);return}i(u,a)}),o.forEach(function(u){e.__compiled__[e.__schemas__[u]]&&(e.__compiled__[u].validate=e.__compiled__[e.__schemas__[u]].validate,e.__compiled__[u].normalize=e.__compiled__[e.__schemas__[u]].normalize)}),e.__compiled__[""]={validate:null,normalize:Pv()};let s=Object.keys(e.__compiled__).filter(function(u){return u.length>0&&e.__compiled__[u]}).map(dM).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><\uFF5C]|"+t.src_ZPCc+"))("+s+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><\uFF5C]|"+t.src_ZPCc+"))("+s+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),mM(e)}function bM(e,t){let n=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function yh(e,t){let n=new bM(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function Be(e,t){if(!(this instanceof Be))return new Be(e,t);t||fM(e)&&(t=e,e={}),this.__opts__=mh({},Lv,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=mh({},pM,e),this.__compiled__={},this.__tlds__=gM,this.__tlds_replaced__=!1,this.re={},Pa(this)}Be.prototype.add=function(t,n){return this.__schemas__[t]=n,Pa(this),this};Be.prototype.set=function(t){return this.__opts__=mh(this.__opts__,t),this};Be.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,o,i,s,u,a,c,l;if(this.re.schema_test.test(t)){for(a=this.re.schema_search,a.lastIndex=0;(n=a.exec(t))!==null;)if(i=this.testSchemaAt(t,n[2],a.lastIndex),i){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+i;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=t.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c=0&&(o=t.match(this.re.email_fuzzy))!==null&&(s=o.index+o[1].length,u=o.index+o[0].length,(this.__index__<0||sthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=s,this.__last_index__=u))),this.__index__>=0};Be.prototype.pretest=function(t){return this.re.pretest.test(t)};Be.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};Be.prototype.match=function(t){let n=[],r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(yh(this,r)),r=this.__last_index__);let o=r?t.slice(r):t;for(;this.test(o);)n.push(yh(this,r)),o=o.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};Be.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;let n=this.re.schema_at_start.exec(t);if(!n)return null;let r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,yh(this,0)):null};Be.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,o,i){return r!==i[o-1]}).reverse(),Pa(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,Pa(this),this)};Be.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};Be.prototype.onCompile=function(){};var jv=Be;var vM=/^xn--/,DM=/[^\0-\x7F]/,EM=/[\x2E\u3002\uFF0E\uFF61]/g,_M={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},bh=35,wt=Math.floor,vh=String.fromCharCode;function _n(e){throw new RangeError(_M[e])}function CM(e,t){let n=[],r=e.length;for(;r--;)n[r]=t(e[r]);return n}function Vv(e,t){let n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(EM,".");let o=e.split("."),i=CM(o,t).join(".");return r+i}function Hv(e){let t=[],n=0,r=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),xM=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:36},Bv=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},$v=function(e,t,n){let r=0;for(e=n?wt(e/700):e>>1,e+=wt(e/t);e>bh*26>>1;r+=36)e=wt(e/bh);return wt(r+(bh+1)*e/(e+38))},Uv=function(e){let t=[],n=e.length,r=0,o=128,i=72,s=e.lastIndexOf("-");s<0&&(s=0);for(let u=0;u=128&&_n("not-basic"),t.push(e.charCodeAt(u));for(let u=s>0?s+1:0;u=n&&_n("invalid-input");let h=xM(e.charCodeAt(u++));h>=36&&_n("invalid-input"),h>wt((2147483647-r)/l)&&_n("overflow"),r+=h*l;let f=d<=i?1:d>=i+26?26:d-i;if(hwt(2147483647/p)&&_n("overflow"),l*=p}let c=t.length+1;i=$v(r-a,c,a==0),wt(r/c)>2147483647-o&&_n("overflow"),o+=wt(r/c),r%=c,t.splice(r++,0,o)}return String.fromCodePoint(...t)},zv=function(e){let t=[];e=Hv(e);let n=e.length,r=128,o=0,i=72;for(let a of e)a<128&&t.push(vh(a));let s=t.length,u=s;for(s&&t.push("-");u=r&&lwt((2147483647-o)/c)&&_n("overflow"),o+=(a-r)*c,r=a;for(let l of e)if(l2147483647&&_n("overflow"),l===r){let d=o;for(let h=36;;h+=36){let f=h<=i?1:h>=i+26?26:h-i;if(d=0))try{t.hostname=Dh.toASCII(t.hostname)}catch{}return _a(co(t))}function FM(e){let t=ki(e,!0);if(t.hostname&&(!t.protocol||Zv.indexOf(t.protocol)>=0))try{t.hostname=Dh.toUnicode(t.hostname)}catch{}return Ni(co(t),Ni.defaultChars+"%")}function Ge(e,t){if(!(this instanceof Ge))return new Ge(e,t);t||Na(e)||(t=e||{},e="default"),this.inline=new Rv,this.block=new Sv,this.core=new bv,this.renderer=new fv,this.linkify=new jv,this.validateLink=kM,this.normalizeLink=RM,this.normalizeLinkText=FM,this.utils=Tp,this.helpers=fo({},Np),this.options={},this.configure(e),t&&this.set(t)}Ge.prototype.set=function(e){return fo(this.options,e),this};Ge.prototype.configure=function(e){let t=this;if(Na(e)){let n=e;if(e=MM[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};Ge.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));let r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};Ge.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));let r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};Ge.prototype.use=function(e){let t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};Ge.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");let n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};Ge.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};Ge.prototype.parseInline=function(e,t){let n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};Ge.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var Eh=Ge;function OM(e,t){if(e&1&&Jr(0,0),e&2){let n=t.$implicit,r=yi();Yr("surfaceId",r.surfaceId())("component",n)}}function PM(e,t){if(e&1&&Jr(0,0),e&2){let n=t.$implicit,r=yi();Yr("surfaceId",r.surfaceId())("component",n)}}function LM(e,t){if(e&1&&Jr(0,0),e&2){yi();let n=qu(0),r=qu(1);Yr("surfaceId",n)("component",r.componentTree)}}var jM=new x("Catalog"),BM=(()=>{class e extends f1.A2uiMessageProcessor{events=new le;setData(n,r,o,i){return super.setData(n,r,o,i??void 0)}dispatch(n){let r=new le;return this.events.next({message:n,completion:r}),sc(r)}static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),VM=new x("Theme"),HM=0,_h=(()=>{class e{processor=b(BM);theme=b(VM);surfaceId=Ae.required();component=Ae.required();weight=Ae.required();sendAction(n){let r=this.component(),o=this.surfaceId()??void 0,i={};if(n.context){for(let u of n.context)if(u.value.literalBoolean)i[u.key]=u.value.literalBoolean;else if(u.value.literalNumber)i[u.key]=u.value.literalNumber;else if(u.value.literalString)i[u.key]=u.value.literalString;else if(u.value.path){let a=this.processor.resolvePath(u.value.path,r.dataContextPath),c=this.processor.getData(r,a,o);i[u.key]=c}}let s={userAction:{name:n.name,sourceComponentId:r.id,surfaceId:o,timestamp:new Date().toISOString(),context:i}};return this.processor.dispatch(s)}resolvePrimitive(n){let r=this.component(),o=this.surfaceId();return!n||typeof n!="object"?null:n.literal!=null?n.literal:n.path?this.processor.getData(r,n.path,o??void 0):"literalString"in n?n.literalString:"literalNumber"in n?n.literalNumber:"literalBoolean"in n?n.literalBoolean:null}getUniqueId(n){return`${n}-${HM++}`}static \u0275fac=function(r){return new(r||e)};static \u0275dir=ot({type:e,hostVars:2,hostBindings:function(r,o){r&2&&$u("--weight",o.weight())},inputs:{surfaceId:[1,"surfaceId"],component:[1,"component"],weight:[1,"weight"]}})}return e})(),Ch=(()=>{class e{viewContainerRef=b(rt);catalog=b(jM);static hasInsertedStyles=!1;currentRef=null;isDestroyed=!1;surfaceId=Ae.required();component=Ae.required();constructor(){Zo(()=>{let o=this.surfaceId(),i=this.component();de(()=>this.render(o,i))});let n=b(Xn),r=b(K);if(!e.hasInsertedStyles&&w1(n)){let o=r.createElement("style");o.textContent=no.structuralStyles,r.head.appendChild(o),e.hasInsertedStyles=!0}}ngOnDestroy(){this.isDestroyed=!0,this.clear()}render(n,r){return at(this,null,function*(){let o=this.catalog[r.type],i=null,s=null;if(typeof o=="function"?i=yield o():typeof o=="object"&&(i=yield o.type(),s=o.bindings(r)),this.clear(),i&&!this.isDestroyed){let u=[U("surfaceId",()=>n),U("component",()=>r),U("weight",()=>r.weight??"initial")];s&&u.push(...s),this.currentRef=this.viewContainerRef.createComponent(i,{bindings:u,injector:this.viewContainerRef.injector})}})}clear(){this.currentRef?.destroy(),this.currentRef=null}static \u0275fac=function(r){return new(r||e)};static \u0275dir=ot({type:e,selectors:[["ng-container","a2ui-renderer",""]],inputs:{surfaceId:[1,"surfaceId"],component:[1,"component"]}})}return e})();var $M=(()=>{class e extends _h{alignment=Ae("stretch");distribution=Ae("start");classes=Me(()=>P(S({},this.theme.components.Row),{[`align-${this.alignment()}`]:!0,[`distribute-${this.distribution()}`]:!0}));static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275cmp=Gr({type:e,selectors:[["a2ui-row"]],hostVars:2,hostBindings:function(r,o){r&2&&Pu("alignment",o.alignment())("distribution",o.distribution())},inputs:{alignment:[1,"alignment"],distribution:[1,"distribution"]},features:[Wr],decls:3,vars:4,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(r,o){r&1&&(Qr(0,"section"),ju(1,OM,1,2,"ng-container",0,Lu),Kr()),r&2&&(Xr(o.theme.additionalStyles==null?null:o.theme.additionalStyles.Row),bi(o.classes()),qr(),Bu(o.component().properties.children))},dependencies:[Ch],styles:["[_nghost-%COMP%]{display:flex;flex:var(--weight)}section[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:100%;min-height:100%;box-sizing:border-box}.align-start[_ngcontent-%COMP%]{align-items:start}.align-center[_ngcontent-%COMP%]{align-items:center}.align-end[_ngcontent-%COMP%]{align-items:end}.align-stretch[_ngcontent-%COMP%]{align-items:stretch}.distribute-start[_ngcontent-%COMP%]{justify-content:start}.distribute-center[_ngcontent-%COMP%]{justify-content:center}.distribute-end[_ngcontent-%COMP%]{justify-content:end}.distribute-spaceBetween[_ngcontent-%COMP%]{justify-content:space-between}.distribute-spaceAround[_ngcontent-%COMP%]{justify-content:space-around}.distribute-spaceEvenly[_ngcontent-%COMP%]{justify-content:space-evenly}"]})}return e})(),UM=(()=>{class e extends _h{alignment=Ae("stretch");distribution=Ae("start");classes=Me(()=>P(S({},this.theme.components.Column),{[`align-${this.alignment()}`]:!0,[`distribute-${this.distribution()}`]:!0}));static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275cmp=Gr({type:e,selectors:[["a2ui-column"]],inputs:{alignment:[1,"alignment"],distribution:[1,"distribution"]},features:[Wr],decls:3,vars:4,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(r,o){r&1&&(Qr(0,"section"),ju(1,PM,1,2,"ng-container",0,Lu),Kr()),r&2&&(Xr(o.theme.additionalStyles==null?null:o.theme.additionalStyles.Column),bi(o.classes()),qr(),Bu(o.component().properties.children))},dependencies:[Ch],styles:["[_nghost-%COMP%]{display:flex;flex:var(--weight)}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:100%;height:100%;box-sizing:border-box}.align-start[_ngcontent-%COMP%]{align-items:start}.align-center[_ngcontent-%COMP%]{align-items:center}.align-end[_ngcontent-%COMP%]{align-items:end}.align-stretch[_ngcontent-%COMP%]{align-items:stretch}.distribute-start[_ngcontent-%COMP%]{justify-content:start}.distribute-center[_ngcontent-%COMP%]{justify-content:center}.distribute-end[_ngcontent-%COMP%]{justify-content:end}.distribute-spaceBetween[_ngcontent-%COMP%]{justify-content:space-between}.distribute-spaceAround[_ngcontent-%COMP%]{justify-content:space-around}.distribute-spaceEvenly[_ngcontent-%COMP%]{justify-content:space-evenly}"]})}return e})(),zM=(()=>{class e{originalClassMap=new Map;sanitizer=b(bp);markdownIt=Eh({highlight:(n,r)=>{if(r==="html"){let o=document.createElement("iframe");return o.classList.add("html-view"),o.srcdoc=n,o.sandbox="",o.innerHTML}return n}});render(n,r){r&&this.applyTagClassMap(r);let o=this.markdownIt.render(n);return this.unapplyTagClassMap(),this.sanitizer.sanitize(Le.HTML,o)}applyTagClassMap(n){Object.entries(n).forEach(([r,o])=>{let i;switch(r){case"p":i="paragraph";break;case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":i="heading";break;case"ul":i="bullet_list";break;case"ol":i="ordered_list";break;case"li":i="list_item";break;case"a":i="link";break;case"strong":i="strong";break;case"em":i="em";break}if(!i)return;let s=`${i}_open`,u=this.markdownIt.renderer.rules[s];this.originalClassMap.set(s,u),this.markdownIt.renderer.rules[s]=(a,c,l,d,h)=>{let f=a[c];for(let p of o)f.attrJoin("class",p);return u?u.call(this,a,c,l,d,h):h.renderToken(a,c,l)}})}unapplyTagClassMap(){for(let[n,r]of this.originalClassMap)this.markdownIt.renderer.rules[n]=r;this.originalClassMap.clear()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),qM=(()=>{class e extends _h{markdownRenderer=b(zM);text=Ae.required();usageHint=Ae.required();resolvedText=Me(()=>{let n=this.usageHint(),r=super.resolvePrimitive(this.text());if(r==null)return"(empty)";switch(n){case"h1":r=`# ${r}`;break;case"h2":r=`## ${r}`;break;case"h3":r=`### ${r}`;break;case"h4":r=`#### ${r}`;break;case"h5":r=`##### ${r}`;break;case"caption":r=`*${r}*`;break;default:r=String(r);break}return this.markdownRenderer.render(r,no.appendToAll(this.theme.markdown,["ol","ul","li"],{}))});classes=Me(()=>{let n=this.usageHint();return no.merge(this.theme.components.Text.all,n?this.theme.components.Text[n]:{})});additionalStyles=Me(()=>{let n=this.usageHint(),r=this.theme.additionalStyles?.Text;if(!r)return null;let o={};return this.areHintedStyles(r)?o=r[n??"body"]:o=r,o});areHintedStyles(n){return typeof n!="object"||!n||Array.isArray(n)?!1:["h1","h2","h3","h4","h5","h6","caption","body"].every(o=>o in n)}static \u0275fac=(()=>{let n;return function(o){return(n||(n=Ur(e)))(o||e)}})();static \u0275cmp=Gr({type:e,selectors:[["a2ui-text"]],inputs:{text:[1,"text"],usageHint:[1,"usageHint"]},features:[Wr],decls:1,vars:5,consts:[[3,"innerHTML"]],template:function(r,o){r&1&&Vu(0,"section",0),r&2&&(Xr(o.additionalStyles()),bi(o.classes()),Hu("innerHTML",o.resolvedText(),md))},styles:[`a2ui-text{display:block;flex:var(--weight)}a2ui-text h1,a2ui-text h2,a2ui-text h3,a2ui-text h4,a2ui-text h5{line-height:inherit;font:inherit} +`],encapsulation:2})}return e})(),Oq={Row:{type:()=>$M,bindings:e=>{let t=e.properties;return[U("alignment",()=>t.alignment??"stretch"),U("distribution",()=>t.distribution??"start")]}},Column:{type:()=>UM,bindings:e=>{let t=e.properties;return[U("alignment",()=>t.alignment??"stretch"),U("distribution",()=>t.distribution??"start")]}},List:{type:()=>import("./chunk-ZLSAKILO.js").then(e=>e.List),bindings:e=>{let t=e.properties;return[U("direction",()=>t.direction??"vertical")]}},Card:()=>import("./chunk-YI5XBR2B.js").then(e=>e.Card),Image:{type:()=>import("./chunk-N3RKSFBU.js").then(e=>e.Image),bindings:e=>{let t=e.properties;return[U("url",()=>t.url),U("usageHint",()=>t.usageHint)]}},Icon:{type:()=>import("./chunk-GFARMTUE.js").then(e=>e.Icon),bindings:e=>{let t=e.properties;return[U("name",()=>t.name)]}},Video:{type:()=>import("./chunk-SGO5R2ED.js").then(e=>e.Video),bindings:e=>{let t=e.properties;return[U("url",()=>t.url)]}},AudioPlayer:{type:()=>import("./chunk-BI6TV3NL.js").then(e=>e.Audio),bindings:e=>{let t=e.properties;return[U("url",()=>t.url)]}},Text:{type:()=>qM,bindings:e=>{let t=e.properties;return[U("text",()=>t.text),U("usageHint",()=>t.usageHint||null)]}},Button:{type:()=>import("./chunk-66RH7XMI.js").then(e=>e.Button),bindings:e=>{let t=e.properties;return[U("action",()=>t.action)]}},Divider:()=>import("./chunk-R2IMOXM4.js").then(e=>e.Divider),MultipleChoice:{type:()=>import("./chunk-MBYWPZQV.js").then(e=>e.MultipleChoice),bindings:e=>{let t=e.properties;return[U("options",()=>t.options||[]),U("value",()=>t.selections),U("description",()=>"Select an item")]}},TextField:{type:()=>import("./chunk-ARP3QDVK.js").then(e=>e.TextField),bindings:e=>{let t=e.properties;return[U("text",()=>t.text??null),U("label",()=>t.label),U("inputType",()=>t.type)]}},DateTimeInput:{type:()=>import("./chunk-FZZPD3K2.js").then(e=>e.DatetimeInput),bindings:e=>{let t=e.properties;return[U("enableDate",()=>t.enableDate),U("enableTime",()=>t.enableTime),U("value",()=>t.value)]}},CheckBox:{type:()=>import("./chunk-5MGPUGAY.js").then(e=>e.Checkbox),bindings:e=>{let t=e.properties;return[U("label",()=>t.label),U("value",()=>t.value)]}},Slider:{type:()=>import("./chunk-AF27AUNK.js").then(e=>e.Slider),bindings:e=>{let t=e.properties;return[U("value",()=>t.value),U("minValue",()=>t.minValue),U("maxValue",()=>t.maxValue),U("label",()=>"")]}},Tabs:{type:()=>import("./chunk-GLGQFQO2.js").then(e=>e.Tabs),bindings:e=>{let t=e.properties;return[U("tabs",()=>t.tabItems)]}},Modal:{type:()=>import("./chunk-ROC2DVJ2.js").then(e=>e.Modal),bindings:()=>[]}},Pq=(()=>{class e{surfaceId=Ae.required();surface=Ae.required();styles=Me(()=>{let n=this.surface(),r={};if(n?.styles)for(let[o,i]of Object.entries(n.styles))switch(o){case"primaryColor":{r["--p-100"]="#ffffff",r["--p-99"]=`color-mix(in srgb, ${i} 2%, white 98%)`,r["--p-98"]=`color-mix(in srgb, ${i} 4%, white 96%)`,r["--p-95"]=`color-mix(in srgb, ${i} 10%, white 90%)`,r["--p-90"]=`color-mix(in srgb, ${i} 20%, white 80%)`,r["--p-80"]=`color-mix(in srgb, ${i} 40%, white 60%)`,r["--p-70"]=`color-mix(in srgb, ${i} 60%, white 40%)`,r["--p-60"]=`color-mix(in srgb, ${i} 80%, white 20%)`,r["--p-50"]=i,r["--p-40"]=`color-mix(in srgb, ${i} 80%, black 20%)`,r["--p-35"]=`color-mix(in srgb, ${i} 70%, black 30%)`,r["--p-30"]=`color-mix(in srgb, ${i} 60%, black 40%)`,r["--p-25"]=`color-mix(in srgb, ${i} 50%, black 50%)`,r["--p-20"]=`color-mix(in srgb, ${i} 40%, black 60%)`,r["--p-15"]=`color-mix(in srgb, ${i} 30%, black 70%)`,r["--p-10"]=`color-mix(in srgb, ${i} 20%, black 80%)`,r["--p-5"]=`color-mix(in srgb, ${i} 10%, black 90%)`,r["--0"]="#00000";break}case"font":{r["--font-family"]=i,r["--font-family-flex"]=i;break}}return r});static \u0275fac=function(r){return new(r||e)};static \u0275cmp=Gr({type:e,selectors:[["a2ui-surface"]],hostVars:2,hostBindings:function(r,o){r&2&&Xr(o.styles())},inputs:{surfaceId:[1,"surfaceId"],surface:[1,"surface"]},decls:3,vars:3,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(r,o){if(r&1&&(Uu(0)(1),qd(2,LM,1,2,"ng-container",0)),r&2){let i=zu(o.surfaceId());qr();let s=zu(o.surface());qr(),Wd(i&&s?2:-1)}},dependencies:[Ch],styles:["[_nghost-%COMP%]{display:flex;min-height:0;max-height:100%;flex-direction:column;gap:16px}"]})}return e})();export{X as a,Sn as b,uD as c,B as d,tc as e,le as f,zi as g,Eo as h,Co as i,pD as j,Dr as k,hD as l,St as m,ZN as n,Io as o,lt as p,us as q,_D as r,CD as s,An as t,sc as u,Ee as v,ND as w,Mt as x,To as y,ls as z,RD as A,FD as B,uc as C,ac as D,HD as E,$D as F,on as G,zD as H,qD as I,cc as J,lc as K,u0 as L,dc as M,GD as N,c0 as O,ds as P,YD as Q,QD as R,d0 as S,fs as T,f0 as U,p0 as V,h0 as W,ps as X,KD as Y,JD as Z,g0 as _,XD as $,_ as aa,pt as ba,Cs as ca,I as da,ht as ea,rE as fa,x as ga,A as ha,b as ia,R0 as ja,Ce as ka,Sr as la,CE as ma,G0 as na,W0 as oa,og as pa,ig as qa,we as ra,K as sa,Oe as ta,Gn as ua,At as va,be as wa,Ve as xa,Pt as ya,pn as za,Zo as Aa,de as Ba,hu as Ca,Ur as Da,jt as Ea,tu as Fa,gu as Ga,Xn as Ha,g_ as Ia,yu as Ja,wm as Ka,Le as La,md as Ma,G_ as Na,W_ as Oa,Z_ as Pa,qr as Qa,Ht as Ra,dC as Sa,gn as Ta,Kn as Ua,pi as Va,oe as Wa,lw as Xa,rt as Ya,yn as Za,Oy as _a,Py as $a,Gr as ab,$t as bb,ot as cb,ex as db,Wr as eb,Hy as fb,$y as gb,Uy as hb,zy as ib,gi as jb,fx as kb,Wy as lb,Zr as mb,Qy as nb,Pu as ob,hx as pb,qd as qb,Gd as rb,Wd as sb,mx as tb,Lu as ub,ju as vb,Bu as wb,Yr as xb,Qr as yb,Kr as zb,Ky as Ab,Zd as Bb,Yd as Cb,Vu as Db,Qd as Eb,Kd as Fb,Jr as Gb,_x as Hb,Hu as Ib,eb as Jb,tb as Kb,yi as Lb,xx as Mb,Ix as Nb,rb as Ob,ob as Pb,Sx as Qb,Mx as Rb,ib as Sb,sb as Tb,Ax as Ub,Nx as Vb,$u as Wb,db as Xb,Xr as Yb,bi as Zb,eI as _b,Db as $b,Jd as ac,Eb as bc,_b as cc,Cb as dc,oI as ec,wb as fc,Uu as gc,zu as hc,qu as ic,iI as jc,sI as kc,lI as lc,dI as mc,fI as nc,pI as oc,hI as pc,mI as qc,yI as rc,bI as sc,vI as tc,Wu as uc,Me as vc,_I as wc,sf as xc,Pb as yc,iB as zc,sB as Ac,Ae as Bc,uB as Cc,aB as Dc,cB as Ec,yf as Fc,bf as Gc,JI as Hc,XI as Ic,dB as Jc,fB as Kc,pB as Lc,no as Mc,Et as Nc,F2 as Oc,io as Pc,y1 as Qc,b1 as Rc,j2 as Sc,B2 as Tc,V2 as Uc,C1 as Vc,$2 as Wc,U2 as Xc,z2 as Yc,Z2 as Zc,Q2 as _c,tp as $c,w1 as ad,UV as bd,lp as cd,lT as dd,yT as ed,q1 as fd,BT as gd,s$ as hd,bp as id,jM as jd,BM as kd,VM as ld,_h as md,Ch as nd,Oq as od,Pq as pd}; diff --git a/src/google/adk/cli/browser/chunk-BWFUMX67.js b/src/google/adk/cli/browser/chunk-ROC2DVJ2.js similarity index 97% rename from src/google/adk/cli/browser/chunk-BWFUMX67.js rename to src/google/adk/cli/browser/chunk-ROC2DVJ2.js index cf3e47dd03..f0d6677557 100644 --- a/src/google/adk/cli/browser/chunk-BWFUMX67.js +++ b/src/google/adk/cli/browser/chunk-ROC2DVJ2.js @@ -1 +1 @@ -import{Aa as f,Cc as k,Gb as m,Hb as p,Jb as d,Lb as o,Qa as r,Tb as w,Ub as v,Yb as y,Zb as u,_b as D,ab as C,eb as M,md as b,na as a,nd as P,oa as c,qb as x,sb as h,xb as g,yb as l,za as _,zb as s}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var V=["dialog"];function S(t,E){if(t&1){let e=p();l(0,"dialog",2,0),d("click",function(i){a(e);let O=o();return c(O.handleDialogClick(i))}),l(2,"section")(3,"div",3)(4,"button",2),d("click",function(){a(e);let i=o();return c(i.closeDialog())}),l(5,"span",4),D(6,"close"),s()()(),m(7,5),s()()}if(t&2){let e=o();u(e.theme.components.Modal.backdrop),r(2),y(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Modal),u(e.theme.components.Modal.element),r(5),g("surfaceId",e.surfaceId())("component",e.component().properties.contentChild)}}function T(t,E){if(t&1){let e=p();l(0,"section",2),d("click",function(){a(e);let i=o();return c(i.showDialog.set(!0))}),m(1,5),s()}if(t&2){let e=o();r(),g("surfaceId",e.surfaceId())("component",e.component().properties.entryPointChild)}}var j=(()=>{class t extends b{showDialog=_(!1);dialog=k("dialog");constructor(){super(),f(()=>{let e=this.dialog();e&&!e.nativeElement.open&&e.nativeElement.showModal()})}handleDialogClick(e){e.target instanceof HTMLDialogElement&&this.closeDialog()}closeDialog(){let e=this.dialog();e&&(e.nativeElement.open||e.nativeElement.close(),this.showDialog.set(!1))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=C({type:t,selectors:[["a2ui-modal"]],viewQuery:function(n,i){n&1&&w(i.dialog,V,5),n&2&&v()},features:[M],decls:2,vars:1,consts:[["dialog",""],[3,"class"],[3,"click"],[1,"controls"],[1,"g-icon"],["a2ui-renderer","",3,"surfaceId","component"]],template:function(n,i){n&1&&x(0,S,8,8,"dialog",1)(1,T,2,2,"section"),n&2&&h(i.showDialog()?0:1)},dependencies:[P],styles:["dialog[_ngcontent-%COMP%]{padding:0;border:none;background:none}dialog[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .controls[_ngcontent-%COMP%]{display:flex;justify-content:end;margin-bottom:4px}dialog[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;width:20px;height:20px;pointer:cursor;border:none;cursor:pointer}"]})}return t})();export{j as Modal}; +import{Aa as f,Cc as k,Gb as m,Hb as p,Jb as d,Lb as o,Qa as r,Tb as w,Ub as v,Yb as y,Zb as u,_b as D,ab as C,eb as M,md as b,na as a,nd as P,oa as c,qb as x,sb as h,xb as g,yb as l,za as _,zb as s}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var V=["dialog"];function S(t,E){if(t&1){let e=p();l(0,"dialog",2,0),d("click",function(i){a(e);let O=o();return c(O.handleDialogClick(i))}),l(2,"section")(3,"div",3)(4,"button",2),d("click",function(){a(e);let i=o();return c(i.closeDialog())}),l(5,"span",4),D(6,"close"),s()()(),m(7,5),s()()}if(t&2){let e=o();u(e.theme.components.Modal.backdrop),r(2),y(e.theme.additionalStyles==null?null:e.theme.additionalStyles.Modal),u(e.theme.components.Modal.element),r(5),g("surfaceId",e.surfaceId())("component",e.component().properties.contentChild)}}function T(t,E){if(t&1){let e=p();l(0,"section",2),d("click",function(){a(e);let i=o();return c(i.showDialog.set(!0))}),m(1,5),s()}if(t&2){let e=o();r(),g("surfaceId",e.surfaceId())("component",e.component().properties.entryPointChild)}}var j=(()=>{class t extends b{showDialog=_(!1);dialog=k("dialog");constructor(){super(),f(()=>{let e=this.dialog();e&&!e.nativeElement.open&&e.nativeElement.showModal()})}handleDialogClick(e){e.target instanceof HTMLDialogElement&&this.closeDialog()}closeDialog(){let e=this.dialog();e&&(e.nativeElement.open||e.nativeElement.close(),this.showDialog.set(!1))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=C({type:t,selectors:[["a2ui-modal"]],viewQuery:function(n,i){n&1&&w(i.dialog,V,5),n&2&&v()},features:[M],decls:2,vars:1,consts:[["dialog",""],[3,"class"],[3,"click"],[1,"controls"],[1,"g-icon"],["a2ui-renderer","",3,"surfaceId","component"]],template:function(n,i){n&1&&x(0,S,8,8,"dialog",1)(1,T,2,2,"section"),n&2&&h(i.showDialog()?0:1)},dependencies:[P],styles:["dialog[_ngcontent-%COMP%]{padding:0;border:none;background:none}dialog[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .controls[_ngcontent-%COMP%]{display:flex;justify-content:end;margin-bottom:4px}dialog[_ngcontent-%COMP%] section[_ngcontent-%COMP%] .controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;width:20px;height:20px;pointer:cursor;border:none;cursor:pointer}"]})}return t})();export{j as Modal}; diff --git a/src/google/adk/cli/browser/chunk-IXLBQLFI.js b/src/google/adk/cli/browser/chunk-SGO5R2ED.js similarity index 93% rename from src/google/adk/cli/browser/chunk-IXLBQLFI.js rename to src/google/adk/cli/browser/chunk-SGO5R2ED.js index c1a0434ee9..15b4e2f1e6 100644 --- a/src/google/adk/cli/browser/chunk-IXLBQLFI.js +++ b/src/google/adk/cli/browser/chunk-SGO5R2ED.js @@ -1 +1 @@ -import{Bb as m,Bc as _,Cb as u,Da as r,Db as p,Ib as v,Lb as f,Na as l,Qa as n,Yb as y,Zb as g,ab as d,eb as s,gc as h,hc as x,ic as C,md as b,qb as a,sb as c,vc as M}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function U(e,V){if(e&1&&(m(0,"section"),p(1,"video",1),u()),e&2){let t=f(),i=C(0);y(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Video),g(t.theme.components.Video),n(),v("src",i,l)}}var L=(()=>{class e extends b{url=_.required();resolvedUrl=M(()=>this.resolvePrimitive(this.url()));static \u0275fac=(()=>{let t;return function(o){return(t||(t=r(e)))(o||e)}})();static \u0275cmp=d({type:e,selectors:[["a2ui-video"]],inputs:{url:[1,"url"]},features:[s],decls:2,vars:2,consts:[[3,"class","style"],["controls","",3,"src"]],template:function(i,o){if(i&1&&(h(0),a(1,U,2,5,"section",0)),i&2){let D=x(o.resolvedUrl());n(),c(D?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}video[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return e})();export{L as Video}; +import{Bb as m,Bc as _,Cb as u,Da as r,Db as p,Ib as v,Lb as f,Na as l,Qa as n,Yb as y,Zb as g,ab as d,eb as s,gc as h,hc as x,ic as C,md as b,qb as a,sb as c,vc as M}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function U(e,V){if(e&1&&(m(0,"section"),p(1,"video",1),u()),e&2){let t=f(),i=C(0);y(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Video),g(t.theme.components.Video),n(),v("src",i,l)}}var L=(()=>{class e extends b{url=_.required();resolvedUrl=M(()=>this.resolvePrimitive(this.url()));static \u0275fac=(()=>{let t;return function(o){return(t||(t=r(e)))(o||e)}})();static \u0275cmp=d({type:e,selectors:[["a2ui-video"]],inputs:{url:[1,"url"]},features:[s],decls:2,vars:2,consts:[[3,"class","style"],["controls","",3,"src"]],template:function(i,o){if(i&1&&(h(0),a(1,U,2,5,"section",0)),i&2){let D=x(o.resolvedUrl());n(),c(D?1:-1)}},styles:["[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}video[_ngcontent-%COMP%]{display:block;width:100%;box-sizing:border-box}"]})}return e})();export{L as Video}; diff --git a/src/google/adk/cli/browser/chunk-A6XEKK5I.js b/src/google/adk/cli/browser/chunk-YI5XBR2B.js similarity index 94% rename from src/google/adk/cli/browser/chunk-A6XEKK5I.js rename to src/google/adk/cli/browser/chunk-YI5XBR2B.js index a2032f5271..6e7f080920 100644 --- a/src/google/adk/cli/browser/chunk-A6XEKK5I.js +++ b/src/google/adk/cli/browser/chunk-YI5XBR2B.js @@ -1,2 +1,2 @@ -import{Da as o,Gb as h,Lb as y,Qa as a,Yb as C,Zb as g,ab as c,eb as d,md as _,nc as v,nd as w,ub as s,vb as l,wb as p,xb as m,yb as u,zb as f}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";var D=e=>[e];function M(e,F){if(e&1&&h(0,0),e&2){let i=F.$implicit,n=y();m("surfaceId",n.surfaceId())("component",i)}}var T=(()=>{class e extends _{static \u0275fac=(()=>{let i;return function(t){return(i||(i=o(e)))(t||e)}})();static \u0275cmp=c({type:e,selectors:[["a2ui-card"]],features:[d],decls:3,vars:6,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(n,t){if(n&1&&(u(0,"section"),l(1,M,1,2,"ng-container",0,s),f()),n&2){let r=t.component().properties,I=r.children||v(4,D,r.child);C(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Card),g(t.theme.components.Card),a(),p(I)}},dependencies:[w],styles:[`a2ui-card{display:block;flex:var(--weight);min-height:0;overflow:auto}a2ui-card>section{height:100%;width:100%;min-height:0;overflow:auto}a2ui-card>section>*{height:100%;width:100%} +import{Da as o,Gb as h,Lb as y,Qa as a,Yb as C,Zb as g,ab as c,eb as d,md as _,nc as v,nd as w,ub as s,vb as l,wb as p,xb as m,yb as u,zb as f}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";var D=e=>[e];function M(e,F){if(e&1&&h(0,0),e&2){let i=F.$implicit,n=y();m("surfaceId",n.surfaceId())("component",i)}}var T=(()=>{class e extends _{static \u0275fac=(()=>{let i;return function(t){return(i||(i=o(e)))(t||e)}})();static \u0275cmp=c({type:e,selectors:[["a2ui-card"]],features:[d],decls:3,vars:6,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(n,t){if(n&1&&(u(0,"section"),l(1,M,1,2,"ng-container",0,s),f()),n&2){let r=t.component().properties,I=r.children||v(4,D,r.child);C(t.theme.additionalStyles==null?null:t.theme.additionalStyles.Card),g(t.theme.components.Card),a(),p(I)}},dependencies:[w],styles:[`a2ui-card{display:block;flex:var(--weight);min-height:0;overflow:auto}a2ui-card>section{height:100%;width:100%;min-height:0;overflow:auto}a2ui-card>section>*{height:100%;width:100%} `],encapsulation:2})}return e})();export{T as Card}; diff --git a/src/google/adk/cli/browser/chunk-7MR4QDTO.js b/src/google/adk/cli/browser/chunk-ZLSAKILO.js similarity index 95% rename from src/google/adk/cli/browser/chunk-7MR4QDTO.js rename to src/google/adk/cli/browser/chunk-ZLSAKILO.js index b5e69c1ba1..2c39033bda 100644 --- a/src/google/adk/cli/browser/chunk-7MR4QDTO.js +++ b/src/google/adk/cli/browser/chunk-ZLSAKILO.js @@ -1 +1 @@ -import{Bc as _,Da as o,Gb as u,Lb as g,Qa as r,Yb as y,Zb as C,ab as s,eb as c,md as M,nd as v,ob as a,ub as d,vb as l,wb as p,xb as m,yb as f,zb as h}from"./chunk-BX7YU7E6.js";import"./chunk-W7GRJBO5.js";function O(e,x){if(e&1&&u(0,0),e&2){let n=x.$implicit,i=g();m("surfaceId",i.surfaceId())("component",n)}}var D=(()=>{class e extends M{direction=_("vertical");static \u0275fac=(()=>{let n;return function(t){return(n||(n=o(e)))(t||e)}})();static \u0275cmp=s({type:e,selectors:[["a2ui-list"]],hostVars:1,hostBindings:function(i,t){i&2&&a("direction",t.direction())},inputs:{direction:[1,"direction"]},features:[c],decls:3,vars:4,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(i,t){i&1&&(f(0,"section"),l(1,O,1,2,"ng-container",0,d),h()),i&2&&(y(t.theme.additionalStyles==null?null:t.theme.additionalStyles.List),C(t.theme.components.List),r(),p(t.component().properties.children))},dependencies:[v],styles:['[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}[direction="vertical"][_nghost-%COMP%] section[_ngcontent-%COMP%]{display:grid}[direction="horizontal"][_nghost-%COMP%] section[_ngcontent-%COMP%]{display:flex;max-width:100%;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none}[direction="horizontal"][_nghost-%COMP%] section[_ngcontent-%COMP%] > [_ngcontent-%COMP%]::slotted(*){flex:1 0 fit-content;max-width:min(80%,400px)}']})}return e})();export{D as List}; +import{Bc as _,Da as o,Gb as u,Lb as g,Qa as r,Yb as y,Zb as C,ab as s,eb as c,md as M,nd as v,ob as a,ub as d,vb as l,wb as p,xb as m,yb as f,zb as h}from"./chunk-RGCH6K7F.js";import"./chunk-W7GRJBO5.js";function O(e,x){if(e&1&&u(0,0),e&2){let n=x.$implicit,i=g();m("surfaceId",i.surfaceId())("component",n)}}var D=(()=>{class e extends M{direction=_("vertical");static \u0275fac=(()=>{let n;return function(t){return(n||(n=o(e)))(t||e)}})();static \u0275cmp=s({type:e,selectors:[["a2ui-list"]],hostVars:1,hostBindings:function(i,t){i&2&&a("direction",t.direction())},inputs:{direction:[1,"direction"]},features:[c],decls:3,vars:4,consts:[["a2ui-renderer","",3,"surfaceId","component"]],template:function(i,t){i&1&&(f(0,"section"),l(1,O,1,2,"ng-container",0,d),h()),i&2&&(y(t.theme.additionalStyles==null?null:t.theme.additionalStyles.List),C(t.theme.components.List),r(),p(t.component().properties.children))},dependencies:[v],styles:['[_nghost-%COMP%]{display:block;flex:var(--weight);min-height:0;overflow:auto}[direction="vertical"][_nghost-%COMP%] section[_ngcontent-%COMP%]{display:grid}[direction="horizontal"][_nghost-%COMP%] section[_ngcontent-%COMP%]{display:flex;max-width:100%;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none}[direction="horizontal"][_nghost-%COMP%] section[_ngcontent-%COMP%] > [_ngcontent-%COMP%]::slotted(*){flex:1 0 fit-content;max-width:min(80%,400px)}']})}return e})();export{D as List}; diff --git a/src/google/adk/cli/browser/index.html b/src/google/adk/cli/browser/index.html index 653a24e2a9..655dacd9f1 100644 --- a/src/google/adk/cli/browser/index.html +++ b/src/google/adk/cli/browser/index.html @@ -1,6 +1,6 @@ |$))/,I2A=Ao("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",cM).replace("tag",B6).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),MT=Ao(gM).replace("hr",Xu).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",B6).getRegex(),d2A=Ao(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",MT).getRegex(),CM={blockquote:d2A,code:a2A,def:c2A,fences:r2A,heading:s2A,hr:Xu,html:I2A,lheading:bT,list:C2A,newline:o2A,paragraph:MT,table:Zu,text:l2A},uT=Ao("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Xu).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",B6).getRegex(),B2A=be(gA({},CM),{lheading:g2A,table:uT,paragraph:Ao(gM).replace("hr",Xu).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",uT).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",B6).getRegex()}),E2A=be(gA({},CM),{html:Ao(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",cM).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Zu,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ao(gM).replace("hr",Xu).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",bT).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),Q2A=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,h2A=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,kT=/^( {2,}|\\)\n(?!\s*$)/,u2A=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",n2A?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),RT=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,D2A=Ao(RT,"u").replace(/punct/g,E6).getRegex(),y2A=Ao(RT,"u").replace(/punct/g,xT).getRegex(),NT="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",v2A=Ao(NT,"gu").replace(/notPunctSpace/g,ST).replace(/punctSpace/g,IM).replace(/punct/g,E6).getRegex(),b2A=Ao(NT,"gu").replace(/notPunctSpace/g,p2A).replace(/punctSpace/g,m2A).replace(/punct/g,xT).getRegex(),M2A=Ao("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ST).replace(/punctSpace/g,IM).replace(/punct/g,E6).getRegex(),k2A=Ao(/\\(punct)/,"gu").replace(/punct/g,E6).getRegex(),S2A=Ao(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),x2A=Ao(cM).replace("(?:-->|$)","-->").getRegex(),R2A=Ao("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",x2A).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),I6=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,N2A=Ao(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",I6).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),FT=Ao(/^!?\[(label)\]\[(ref)\]/).replace("label",I6).replace("ref",lM).getRegex(),_T=Ao(/^!?\[(ref)\](?:\[\])?/).replace("ref",lM).getRegex(),F2A=Ao("reflink|nolink(?!\\()","g").replace("reflink",FT).replace("nolink",_T).getRegex(),fT=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,dM={_backpedal:Zu,anyPunctuation:k2A,autolink:S2A,blockSkip:w2A,br:kT,code:h2A,del:Zu,emStrongLDelim:D2A,emStrongRDelimAst:v2A,emStrongRDelimUnd:M2A,escape:Q2A,link:N2A,nolink:_T,punctuation:f2A,reflink:FT,reflinkSearch:F2A,tag:R2A,text:u2A,url:Zu},_2A=be(gA({},dM),{link:Ao(/^!?\[(label)\]\((.*?)\)/).replace("label",I6).getRegex(),reflink:Ao(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",I6).getRegex()}),nM=be(gA({},dM),{emStrongRDelimAst:b2A,emStrongLDelim:y2A,url:Ao(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",fT).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Ao(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},mT=t=>G2A[t];function lC(t,e){if(e){if(Ls.escapeTest.test(t))return t.replace(Ls.escapeReplace,mT)}else if(Ls.escapeTestNoEncode.test(t))return t.replace(Ls.escapeReplaceNoEncode,mT);return t}function pT(t){try{t=encodeURI(t).replace(Ls.percentDecode,"%")}catch{return null}return t}function wT(t,e){let A=t.replace(Ls.findPipe,(o,a,r)=>{let s=!1,g=a;for(;--g>=0&&r[g]==="\\";)s=!s;return s?"|":" |"}),i=A.split(Ls.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length0?-2:-1}function DT(t,e,A,i,n){let o=e.href,a=e.title||null,r=t[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let s={type:t[0].charAt(0)==="!"?"image":"link",raw:A,href:o,title:a,text:r,tokens:i.inlineTokens(r)};return i.state.inLink=!1,s}function U2A(t,e,A){let i=t.match(A.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(` +`).map(o=>{let a=o.match(A.other.beginningSpace);if(a===null)return o;let[r]=a;return r.length>=n.length?o.slice(n.length):o}).join(` +`)}var d6=class{options;rules;lexer;constructor(t){this.options=t||K1}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let A=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?A:Vu(A,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let A=e[0],i=U2A(A,e[3]||"",this.rules);return{type:"code",raw:A,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let A=e[2].trim();if(this.rules.other.endingHash.test(A)){let i=Vu(A,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(A=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:A,tokens:this.lexer.inline(A)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:Vu(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let A=Vu(e[0],` +`).split(` +`),i="",n="",o=[];for(;A.length>0;){let a=!1,r=[],s;for(s=0;s1,n={type:"list",raw:"",ordered:i,start:i?+A.slice(0,-1):"",loose:!1,items:[]};A=i?`\\d{1,9}\\${A.slice(-1)}`:`\\${A}`,this.options.pedantic&&(A=i?A:"[*+-]");let o=this.rules.other.listItemRegex(A),a=!1;for(;t;){let s=!1,g="",l="";if(!(e=o.exec(t))||this.rules.block.hr.test(t))break;g=e[0],t=t.substring(g.length);let C=e[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,E=>" ".repeat(3*E.length)),I=t.split(` +`,1)[0],d=!C.trim(),B=0;if(this.options.pedantic?(B=2,l=C.trimStart()):d?B=e[1].length+1:(B=e[2].search(this.rules.other.nonSpaceChar),B=B>4?1:B,l=C.slice(B),B+=e[1].length),d&&this.rules.other.blankLine.test(I)&&(g+=I+` +`,t=t.substring(I.length+1),s=!0),!s){let E=this.rules.other.nextBulletRegex(B),Q=this.rules.other.hrRegex(B),f=this.rules.other.fencesBeginRegex(B),b=this.rules.other.headingBeginRegex(B),S=this.rules.other.htmlBeginRegex(B);for(;t;){let M=t.split(` +`,1)[0],D;if(I=M,this.options.pedantic?(I=I.replace(this.rules.other.listReplaceNesting," "),D=I):D=I.replace(this.rules.other.tabCharGlobal," "),f.test(I)||b.test(I)||S.test(I)||E.test(I)||Q.test(I))break;if(D.search(this.rules.other.nonSpaceChar)>=B||!I.trim())l+=` +`+D.slice(B);else{if(d||C.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||f.test(C)||b.test(C)||Q.test(C))break;l+=` +`+I}!d&&!I.trim()&&(d=!0),g+=M+` +`,t=t.substring(M.length+1),C=D.slice(B)}}n.loose||(a?n.loose=!0:this.rules.other.doubleBlankLine.test(g)&&(a=!0)),n.items.push({type:"list_item",raw:g,task:!!this.options.gfm&&this.rules.other.listIsTask.test(l),loose:!1,text:l,tokens:[]}),n.raw+=g}let r=n.items.at(-1);if(r)r.raw=r.raw.trimEnd(),r.text=r.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let s of n.items){if(this.lexer.state.top=!1,s.tokens=this.lexer.blockTokens(s.text,[]),s.task){if(s.text=s.text.replace(this.rules.other.listReplaceTask,""),s.tokens[0]?.type==="text"||s.tokens[0]?.type==="paragraph"){s.tokens[0].raw=s.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),s.tokens[0].text=s.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let l=this.lexer.inlineQueue.length-1;l>=0;l--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[l].src)){this.lexer.inlineQueue[l].src=this.lexer.inlineQueue[l].src.replace(this.rules.other.listReplaceTask,"");break}}let g=this.rules.other.listTaskCheckbox.exec(s.raw);if(g){let l={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};s.checked=l.checked,n.loose?s.tokens[0]&&["paragraph","text"].includes(s.tokens[0].type)&&"tokens"in s.tokens[0]&&s.tokens[0].tokens?(s.tokens[0].raw=l.raw+s.tokens[0].raw,s.tokens[0].text=l.raw+s.tokens[0].text,s.tokens[0].tokens.unshift(l)):s.tokens.unshift({type:"paragraph",raw:l.raw,text:l.raw,tokens:[l]}):s.tokens.unshift(l)}}if(!n.loose){let g=s.tokens.filter(C=>C.type==="space"),l=g.length>0&&g.some(C=>this.rules.other.anyLine.test(C.raw));n.loose=l}}if(n.loose)for(let s of n.items){s.loose=!0;for(let g of s.tokens)g.type==="text"&&(g.type="paragraph")}return n}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let A=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:A,raw:e[0],href:i,title:n}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let A=wT(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(` +`):[],o={type:"table",raw:e[0],header:[],align:[],rows:[]};if(A.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?o.align.push("right"):this.rules.other.tableAlignCenter.test(a)?o.align.push("center"):this.rules.other.tableAlignLeft.test(a)?o.align.push("left"):o.align.push(null);for(let a=0;a({text:r,tokens:this.lexer.inline(r),header:!1,align:o.align[s]})));return o}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let A=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:A,tokens:this.lexer.inline(A)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let A=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(A)){if(!this.rules.other.endAngleBracket.test(A))return;let o=Vu(A.slice(0,-1),"\\");if((A.length-o.length)%2===0)return}else{let o=K2A(e[2],"()");if(o===-2)return;if(o>-1){let a=(e[0].indexOf("!")===0?5:4)+e[1].length+o;e[2]=e[2].substring(0,o),e[0]=e[0].substring(0,a).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let o=this.rules.other.pedanticHrefTitle.exec(i);o&&(i=o[1],n=o[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(A)?i=i.slice(1):i=i.slice(1,-1)),DT(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let A;if((A=this.rules.inline.reflink.exec(t))||(A=this.rules.inline.nolink.exec(t))){let i=(A[2]||A[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let o=A[0].charAt(0);return{type:"text",raw:o,text:o}}return DT(A,n,A[0],this.lexer,this.rules)}}emStrong(t,e,A=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!(!i||i[3]&&A.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!A||this.rules.inline.punctuation.exec(A))){let n=[...i[0]].length-1,o,a,r=n,s=0,g=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,e=e.slice(-1*t.length+n);(i=g.exec(e))!=null;){if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!o)continue;if(a=[...o].length,i[3]||i[4]){r+=a;continue}else if((i[5]||i[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(r-=a,r>0)continue;a=Math.min(a,a+r+s);let l=[...i[0]][0].length,C=t.slice(0,n+i.index+l+a);if(Math.min(n,a)%2){let d=C.slice(1,-1);return{type:"em",raw:C,text:d,tokens:this.lexer.inlineTokens(d)}}let I=C.slice(2,-2);return{type:"strong",raw:C,text:I,tokens:this.lexer.inlineTokens(I)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let A=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(A),n=this.rules.other.startingSpaceChar.test(A)&&this.rules.other.endingSpaceChar.test(A);return i&&n&&(A=A.substring(1,A.length-1)),{type:"codespan",raw:e[0],text:A}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let A,i;return e[2]==="@"?(A=e[1],i="mailto:"+A):(A=e[1],i=A),{type:"link",raw:e[0],text:A,href:i,tokens:[{type:"text",raw:A,text:A}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let A,i;if(e[2]==="@")A=e[0],i="mailto:"+A;else{let n;do n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(n!==e[0]);A=e[0],e[1]==="www."?i="http://"+e[0]:i=e[0]}return{type:"link",raw:e[0],text:A,href:i,tokens:[{type:"text",raw:A,text:A}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let A=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:A}}}},ec=class oM{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||K1,this.options.tokenizer=this.options.tokenizer||new d6,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let A={other:Ls,block:C6.normal,inline:qu.normal};this.options.pedantic?(A.block=C6.pedantic,A.inline=qu.pedantic):this.options.gfm&&(A.block=C6.gfm,this.options.breaks?A.inline=qu.breaks:A.inline=qu.gfm),this.tokenizer.rules=A}static get rules(){return{block:C6,inline:qu}}static lex(e,A){return new oM(A).lex(e)}static lexInline(e,A){return new oM(A).inlineTokens(e)}lex(e){e=e.replace(Ls.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let A=0;A(n=a.call({lexer:this},e,A))?(e=e.substring(n.raw.length),A.push(n),!0):!1))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let a=A.at(-1);n.raw.length===1&&a!==void 0?a.raw+=` +`:A.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let a=A.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+n.raw,a.text+=` +`+n.text,this.inlineQueue.at(-1).src=a.text):A.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let a=A.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+n.raw,a.text+=` +`+n.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},A.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),A.push(n);continue}let o=e;if(this.options.extensions?.startBlock){let a=1/0,r=e.slice(1),s;this.options.extensions.startBlock.forEach(g=>{s=g.call({lexer:this},r),typeof s=="number"&&s>=0&&(a=Math.min(a,s))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(o))){let a=A.at(-1);i&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+n.raw,a.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):A.push(n),i=o.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let a=A.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+n.raw,a.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):A.push(n);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,A}inline(e,A=[]){return this.inlineQueue.push({src:e,tokens:A}),A}inlineTokens(e,A=[]){let i=e,n=null;if(this.tokens.links){let s=Object.keys(this.tokens.links);if(s.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)s.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let o;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)o=n[2]?n[2].length:0,i=i.slice(0,n.index+o)+"["+"a".repeat(n[0].length-o-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let a=!1,r="";for(;e;){a||(r=""),a=!1;let s;if(this.options.extensions?.inline?.some(l=>(s=l.call({lexer:this},e,A))?(e=e.substring(s.raw.length),A.push(s),!0):!1))continue;if(s=this.tokenizer.escape(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.tag(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.link(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(s.raw.length);let l=A.at(-1);s.type==="text"&&l?.type==="text"?(l.raw+=s.raw,l.text+=s.text):A.push(s);continue}if(s=this.tokenizer.emStrong(e,i,r)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.codespan(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.br(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.del(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.autolink(e)){e=e.substring(s.raw.length),A.push(s);continue}if(!this.state.inLink&&(s=this.tokenizer.url(e))){e=e.substring(s.raw.length),A.push(s);continue}let g=e;if(this.options.extensions?.startInline){let l=1/0,C=e.slice(1),I;this.options.extensions.startInline.forEach(d=>{I=d.call({lexer:this},C),typeof I=="number"&&I>=0&&(l=Math.min(l,I))}),l<1/0&&l>=0&&(g=e.substring(0,l+1))}if(s=this.tokenizer.inlineText(g)){e=e.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(r=s.raw.slice(-1)),a=!0;let l=A.at(-1);l?.type==="text"?(l.raw+=s.raw,l.text+=s.text):A.push(s);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return A}},R2=class{options;parser;constructor(t){this.options=t||K1}space(t){return""}code({text:t,lang:e,escaped:A}){let i=(e||"").match(Ls.notSpaceStart)?.[0],n=t.replace(Ls.endingNewline,"")+` +`;return i?'
'+(A?n:lC(n,!0))+`
+`:"
"+(A?n:lC(n,!0))+`
+`}blockquote({tokens:t}){return`
+${this.parser.parse(t)}
+`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} +`}hr(t){return`
+`}list(t){let e=t.ordered,A=t.start,i="";for(let a=0;a +`+i+" +`}listitem(t){return`
  • ${this.parser.parse(t.tokens)}
  • +`}checkbox({checked:t}){return" '}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    +`}table(t){let e="",A="";for(let n=0;n${i}`),` + +`+e+` +`+i+`
    +`}tablerow({text:t}){return` +${t} +`}tablecell(t){let e=this.parser.parseInline(t.tokens),A=t.header?"th":"td";return(t.align?`<${A} align="${t.align}">`:`<${A}>`)+e+` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${lC(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:A}){let i=this.parser.parseInline(A),n=pT(t);if(n===null)return i;t=n;let o='
    ",o}image({href:t,title:e,text:A,tokens:i}){i&&(A=this.parser.parseInline(i,this.parser.textRenderer));let n=pT(t);if(n===null)return lC(A);t=n;let o=`${A}{let a=n[o].flat(1/0);A=A.concat(this.walkTokens(a,e))}):n.tokens&&(A=A.concat(this.walkTokens(n.tokens,e)))}}return A}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(A=>{let i=gA({},A);if(i.async=this.defaults.async||i.async||!1,A.extensions&&(A.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let o=e.renderers[n.name];o?e.renderers[n.name]=function(...a){let r=n.renderer.apply(this,a);return r===!1&&(r=o.apply(this,a)),r}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=e[n.level];o?o.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),A.renderer){let n=this.defaults.renderer||new R2(this.defaults);for(let o in A.renderer){if(!(o in n))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let a=o,r=A.renderer[a],s=n[a];n[a]=(...g)=>{let l=r.apply(n,g);return l===!1&&(l=s.apply(n,g)),l||""}}i.renderer=n}if(A.tokenizer){let n=this.defaults.tokenizer||new d6(this.defaults);for(let o in A.tokenizer){if(!(o in n))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let a=o,r=A.tokenizer[a],s=n[a];n[a]=(...g)=>{let l=r.apply(n,g);return l===!1&&(l=s.apply(n,g)),l}}i.tokenizer=n}if(A.hooks){let n=this.defaults.hooks||new Wu;for(let o in A.hooks){if(!(o in n))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let a=o,r=A.hooks[a],s=n[a];Wu.passThroughHooks.has(o)?n[a]=g=>{if(this.defaults.async&&Wu.passThroughHooksRespectAsync.has(o))return nt(this,null,function*(){let C=yield r.call(n,g);return s.call(n,C)});let l=r.call(n,g);return s.call(n,l)}:n[a]=(...g)=>{if(this.defaults.async)return nt(this,null,function*(){let C=yield r.apply(n,g);return C===!1&&(C=yield s.apply(n,g)),C});let l=r.apply(n,g);return l===!1&&(l=s.apply(n,g)),l}}i.hooks=n}if(A.walkTokens){let n=this.defaults.walkTokens,o=A.walkTokens;i.walkTokens=function(a){let r=[];return r.push(o.call(this,a)),n&&(r=r.concat(n.call(this,a))),r}}this.defaults=gA(gA({},this.defaults),i)}),this}setOptions(t){return this.defaults=gA(gA({},this.defaults),t),this}lexer(t,e){return ec.lex(t,e??this.defaults)}parser(t,e){return tc.parse(t,e??this.defaults)}parseMarkdown(t){return(e,A)=>{let i=gA({},A),n=gA(gA({},this.defaults),i),o=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=t),n.async)return nt(this,null,function*(){let a=n.hooks?yield n.hooks.preprocess(e):e,r=yield(n.hooks?yield n.hooks.provideLexer():t?ec.lex:ec.lexInline)(a,n),s=n.hooks?yield n.hooks.processAllTokens(r):r;n.walkTokens&&(yield Promise.all(this.walkTokens(s,n.walkTokens)));let g=yield(n.hooks?yield n.hooks.provideParser():t?tc.parse:tc.parseInline)(s,n);return n.hooks?yield n.hooks.postprocess(g):g}).catch(o);try{n.hooks&&(e=n.hooks.preprocess(e));let a=(n.hooks?n.hooks.provideLexer():t?ec.lex:ec.lexInline)(e,n);n.hooks&&(a=n.hooks.processAllTokens(a)),n.walkTokens&&this.walkTokens(a,n.walkTokens);let r=(n.hooks?n.hooks.provideParser():t?tc.parse:tc.parseInline)(a,n);return n.hooks&&(r=n.hooks.postprocess(r)),r}catch(a){return o(a)}}}onError(t,e){return A=>{if(A.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let i="

    An error occurred:

    "+lC(A.message+"",!0)+"
    ";return e?Promise.resolve(i):i}if(e)return Promise.reject(A);throw A}}},G1=new J2A;function Hn(t,e){return G1.parse(t,e)}Hn.options=Hn.setOptions=function(t){return G1.setOptions(t),Hn.defaults=G1.defaults,yT(Hn.defaults),Hn};Hn.getDefaults=rM;Hn.defaults=K1;Hn.use=function(...t){return G1.use(...t),Hn.defaults=G1.defaults,yT(Hn.defaults),Hn};Hn.walkTokens=function(t,e){return G1.walkTokens(t,e)};Hn.parseInline=G1.parseInline;Hn.Parser=tc;Hn.parser=tc.parse;Hn.Renderer=R2;Hn.TextRenderer=BM;Hn.Lexer=ec;Hn.lexer=ec.lex;Hn.Tokenizer=d6;Hn.Hooks=Wu;Hn.parse=Hn;var LAe=Hn.options,GAe=Hn.setOptions,KAe=Hn.use,UAe=Hn.walkTokens,JAe=Hn.parseInline;var YAe=tc.parse,TAe=ec.lex;var Y2A=["*"],T2A="Copy",H2A="Copied",z2A=(()=>{class t{constructor(){this._buttonClick$=new $A,this.copied=_s(this._buttonClick$.pipe(ki(()=>hi(se(!0),Xm(3e3).pipe(cu(!1)))),jl(),js(1))),this.copiedText=Ke(()=>this.copied()?H2A:T2A)}onCopyToClipboardClick(){this._buttonClick$.next()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["markdown-clipboard"]],decls:2,vars:3,consts:[[1,"markdown-clipboard-button",3,"click"]],template:function(i,n){i&1&&(ci(0,"button",0),f2("click",function(){return n.onCopyToClipboardClick()}),K(1),fi()),i&2&&(ae("copied",n.copied()),p(),qA(n.copiedText()))},encapsulation:2,changeDetection:0})}}return t})(),O2A=new yA("CLIPBOARD_OPTIONS");var P2A=new yA("MARKED_EXTENSIONS"),j2A=new yA("MARKED_OPTIONS"),q2A=new yA("MERMAID_OPTIONS"),V2A=new yA("SANITIZE");function W2A(t){return typeof t=="function"}var Z2A="[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information",X2A="[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information",$2A="[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information",AIA="[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information",eIA="[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function",tIA="[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information";var LT=(()=>{class t{get options(){return this._options}set options(A){this._options=gA(gA({},this.DEFAULT_MARKED_OPTIONS),A)}get renderer(){return this.options.renderer}set renderer(A){this.options.renderer=A}constructor(){this.clipboardOptions=h(O2A,{optional:!0}),this.extensions=h(P2A,{optional:!0}),this.http=h($s,{optional:!0}),this.mermaidOptions=h(q2A,{optional:!0}),this.platform=h(tp),this.sanitize=h(V2A,{optional:!0}),this.sanitizer=h(w2),this.DEFAULT_MARKED_OPTIONS={renderer:new R2},this.DEFAULT_KATEX_OPTIONS={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}]},this.DEFAULT_MERMAID_OPTIONS={startOnLoad:!1},this.DEFAULT_CLIPBOARD_OPTIONS={buttonComponent:void 0},this.DEFAULT_PARSE_OPTIONS={decodeHtml:!1,inline:!1,emoji:!1,mermaid:!1,markedOptions:void 0,disableSanitizer:!1},this.DEFAULT_RENDER_OPTIONS={clipboard:!1,clipboardOptions:void 0,katex:!1,katexOptions:void 0,mermaid:!1,mermaidOptions:void 0},this.DEFAULT_SECURITY_CONTEXT=ql.HTML,this._options=null,this._reload$=new $A,this.reload$=this._reload$.asObservable(),this.options=h(j2A,{optional:!0})}parse(A,i=this.DEFAULT_PARSE_OPTIONS){let{decodeHtml:n,inline:o,emoji:a,mermaid:r,disableSanitizer:s}=i,g=gA(gA({},this.options),i.markedOptions),l=g.renderer||this.renderer||new R2;this.extensions&&(this.renderer=this.extendsRendererForExtensions(l)),r&&(this.renderer=this.extendsRendererForMermaid(l));let C=this.trimIndentation(A),I=n?this.decodeHtml(C):C,d=a?this.parseEmoji(I):I,B=this.parseMarked(d,g,o);return s?B:this.sanitizeHtml(B)}render(A,i=this.DEFAULT_RENDER_OPTIONS,n){let{clipboard:o,clipboardOptions:a,katex:r,katexOptions:s,mermaid:g,mermaidOptions:l}=i;r&&this.renderKatex(A,gA(gA({},this.DEFAULT_KATEX_OPTIONS),s)),g&&this.renderMermaid(A,gA(gA(gA({},this.DEFAULT_MERMAID_OPTIONS),this.mermaidOptions),l)),o&&this.renderClipboard(A,n,gA(gA(gA({},this.DEFAULT_CLIPBOARD_OPTIONS),this.clipboardOptions),a)),this.highlight(A)}reload(){this._reload$.next()}getSource(A){if(!this.http)throw new Error(tIA);return this.http.get(A,{responseType:"text"}).pipe(fe(i=>this.handleExtension(A,i)))}highlight(A){if(!aC(this.platform)||typeof Prism>"u"||typeof Prism.highlightAllUnder>"u")return;A||(A=document);let i=A.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,n=>n.classList.add("language-none")),Prism.highlightAllUnder(A)}decodeHtml(A){if(!aC(this.platform))return A;let i=document.createElement("textarea");return i.innerHTML=A,i.value}extendsRendererForExtensions(A){let i=A;return i.\u0275NgxMarkdownRendererExtendedForExtensions===!0||(this.extensions&&this.extensions.length>0&&Hn.use(...this.extensions),i.\u0275NgxMarkdownRendererExtendedForExtensions=!0),A}extendsRendererForMermaid(A){let i=A;if(i.\u0275NgxMarkdownRendererExtendedForMermaid===!0)return A;let n=A.code;return A.code=o=>o.lang==="mermaid"?`
    ${o.text}
    `:n(o),i.\u0275NgxMarkdownRendererExtendedForMermaid=!0,A}handleExtension(A,i){let n=A.lastIndexOf("://"),o=n>-1?A.substring(n+4):A,a=o.lastIndexOf("/"),r=a>-1?o.substring(a+1).split("?")[0]:"",s=r.lastIndexOf("."),g=s>-1?r.substring(s+1):"";return g&&g!=="md"?"```"+g+` +`+i+"\n```":i}parseMarked(A,i,n=!1){if(i.renderer){let o=gA({},i.renderer);delete o.\u0275NgxMarkdownRendererExtendedForExtensions,delete o.\u0275NgxMarkdownRendererExtendedForMermaid,delete i.renderer,Hn.use({renderer:o})}return n?Hn.parseInline(A,i):Hn.parse(A,i)}parseEmoji(A){if(!aC(this.platform))return A;if(typeof joypixels>"u"||typeof joypixels.shortnameToUnicode>"u")throw new Error(Z2A);return joypixels.shortnameToUnicode(A)}renderKatex(A,i){if(aC(this.platform)){if(typeof katex>"u"||typeof renderMathInElement>"u")throw new Error(X2A);renderMathInElement(A,i)}}renderClipboard(A,i,n){if(!aC(this.platform))return;if(typeof ClipboardJS>"u")throw new Error(AIA);if(!i)throw new Error(eIA);let{buttonComponent:o,buttonTemplate:a}=n,r=A.querySelectorAll("pre");for(let s=0;sC.classList.add("hover"),l.onmouseleave=()=>C.classList.remove("hover");let I;if(o){let B=i.createComponent(o);I=B.hostView,B.changeDetectorRef.markForCheck()}else if(a)I=i.createEmbeddedView(a);else{let B=i.createComponent(z2A);I=B.hostView,B.changeDetectorRef.markForCheck()}let d;I.rootNodes.forEach(B=>{C.appendChild(B),d=new ClipboardJS(B,{text:()=>g.innerText})}),I.onDestroy(()=>d.destroy())}}renderMermaid(A,i=this.DEFAULT_MERMAID_OPTIONS){if(!aC(this.platform))return;if(typeof mermaid>"u"||typeof mermaid.initialize>"u")throw new Error($2A);let n=A.querySelectorAll(".mermaid");n.length!==0&&(mermaid.initialize(i),mermaid.run({nodes:n}))}trimIndentation(A){if(!A)return"";let i;return A.split(` +`).map(n=>{let o=i;return n.length>0&&(o=isNaN(o)?n.search(/\S|$/):Math.min(n.search(/\S|$/),o)),isNaN(i)&&(i=o),o?n.substring(o):n}).join(` +`)}sanitizeHtml(A){return nt(this,null,function*(){return W2A(this.sanitize)?this.sanitize(yield A):this.sanitize!==ql.NONE?this.sanitizer.sanitize(this.sanitize??this.DEFAULT_SECURITY_CONTEXT,A)??"":A})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),EM=(function(t){return t.CommandLine="command-line",t.LineHighlight="line-highlight",t.LineNumbers="line-numbers",t})(EM||{}),GT=(()=>{class t{constructor(){this.element=h(ge),this.markdownService=h(LT),this.viewContainerRef=h(Ho),this.error=new WA,this.load=new WA,this.ready=new WA,this._clipboard=!1,this._commandLine=!1,this._disableSanitizer=!1,this._emoji=!1,this._inline=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1,this._mermaid=!1,this.destroyed$=new $A}get disableSanitizer(){return this._disableSanitizer}set disableSanitizer(A){this._disableSanitizer=this.coerceBooleanProperty(A)}get inline(){return this._inline}set inline(A){this._inline=this.coerceBooleanProperty(A)}get clipboard(){return this._clipboard}set clipboard(A){this._clipboard=this.coerceBooleanProperty(A)}get emoji(){return this._emoji}set emoji(A){this._emoji=this.coerceBooleanProperty(A)}get katex(){return this._katex}set katex(A){this._katex=this.coerceBooleanProperty(A)}get mermaid(){return this._mermaid}set mermaid(A){this._mermaid=this.coerceBooleanProperty(A)}get lineHighlight(){return this._lineHighlight}set lineHighlight(A){this._lineHighlight=this.coerceBooleanProperty(A)}get lineNumbers(){return this._lineNumbers}set lineNumbers(A){this._lineNumbers=this.coerceBooleanProperty(A)}get commandLine(){return this._commandLine}set commandLine(A){this._commandLine=this.coerceBooleanProperty(A)}ngOnChanges(){this.loadContent()}loadContent(){if(this.data!=null){this.handleData();return}if(this.src!=null){this.handleSrc();return}}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion(),this.markdownService.reload$.pipe(Bt(this.destroyed$)).subscribe(()=>this.loadContent())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}render(A,i=!1){return nt(this,null,function*(){let n={decodeHtml:i,inline:this.inline,emoji:this.emoji,mermaid:this.mermaid,disableSanitizer:this.disableSanitizer},o={clipboard:this.clipboard,clipboardOptions:this.getClipboardOptions(),katex:this.katex,katexOptions:this.katexOptions,mermaid:this.mermaid,mermaidOptions:this.mermaidOptions},a=yield this.markdownService.parse(A,n);this.element.nativeElement.innerHTML=a,this.handlePlugins(),this.markdownService.render(this.element.nativeElement,o,this.viewContainerRef),this.ready.emit()})}coerceBooleanProperty(A){return A!=null&&`${String(A)}`!="false"}getClipboardOptions(){if(this.clipboardButtonComponent||this.clipboardButtonTemplate)return{buttonComponent:this.clipboardButtonComponent,buttonTemplate:this.clipboardButtonTemplate}}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe({next:A=>{this.render(A).then(()=>{this.load.emit(A)})},error:A=>this.error.emit(A)})}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.commandLine&&(this.setPluginClass(this.element.nativeElement,EM.CommandLine),this.setPluginOptions(this.element.nativeElement,{dataFilterOutput:this.filterOutput,dataHost:this.host,dataPrompt:this.prompt,dataOutput:this.output,dataUser:this.user})),this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,EM.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(A,i){let n=A.querySelectorAll("pre");for(let o=0;o{let r=i[a];if(r){let s=this.toLispCase(a);n.item(o).setAttribute(s,r.toString())}})}toLispCase(A){let i=A.match(/([A-Z])/g);if(!i)return A;let n=A.toString();for(let o=0,a=i.length;o{class t{static forRoot(A){return{ngModule:t,providers:[$u(A)]}}static forChild(){return{ngModule:t}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=$e({type:t})}static{this.\u0275inj=Xe({})}}return t})();var Di="primary",g4=Symbol("RouteTitle"),mM=class{params;constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){let A=this.params[e];return Array.isArray(A)?A[0]:A}return null}getAll(e){if(this.has(e)){let A=this.params[e];return Array.isArray(A)?A:[A]}return[]}get keys(){return Object.keys(this.params)}};function Y1(t){return new mM(t)}function QM(t,e,A){for(let i=0;it.length||A.pathMatch==="full"&&(e.hasChildren()||i.lengtht.length||A.pathMatch==="full"&&e.hasChildren()&&A.path!=="**")return null;let r={};return!QM(o,t.slice(0,o.length),r)||!QM(a,t.slice(t.length-a.length),r)?null:{consumed:t,posParams:r}}function p6(t){return new Promise((e,A)=>{t.pipe(To()).subscribe({next:i=>e(i),error:i=>A(i)})})}function oIA(t,e){if(t.length!==e.length)return!1;for(let A=0;Ai[o]===n)}else return t===e}function aIA(t){return t.length>0?t[t.length-1]:null}function H1(t){return mB(t)?t:sp(t)?ks(Promise.resolve(t)):se(t)}function WT(t){return mB(t)?p6(t):Promise.resolve(t)}var rIA={exact:XT,subset:$T},ZT={exact:sIA,subset:gIA,ignored:()=>!0};function UT(t,e,A){return rIA[A.paths](t.root,e.root,A.matrixParams)&&ZT[A.queryParams](t.queryParams,e.queryParams)&&!(A.fragment==="exact"&&t.fragment!==e.fragment)}function sIA(t,e){return l0(t,e)}function XT(t,e,A){if(!U1(t.segments,e.segments)||!u6(t.segments,e.segments,A)||t.numberOfChildren!==e.numberOfChildren)return!1;for(let i in e.children)if(!t.children[i]||!XT(t.children[i],e.children[i],A))return!1;return!0}function gIA(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(A=>VT(t[A],e[A]))}function $T(t,e,A){return AH(t,e,e.segments,A)}function AH(t,e,A,i){if(t.segments.length>A.length){let n=t.segments.slice(0,A.length);return!(!U1(n,A)||e.hasChildren()||!u6(n,A,i))}else if(t.segments.length===A.length){if(!U1(t.segments,A)||!u6(t.segments,A,i))return!1;for(let n in e.children)if(!t.children[n]||!$T(t.children[n],e.children[n],i))return!1;return!0}else{let n=A.slice(0,t.segments.length),o=A.slice(t.segments.length);return!U1(t.segments,n)||!u6(t.segments,n,i)||!t.children[Di]?!1:AH(t.children[Di],e,o,i)}}function u6(t,e,A){return e.every((i,n)=>ZT[A](t[n].parameters,i.parameters))}var nc=class{root;queryParams;fragment;_queryParamMap;constructor(e=new ro([],{}),A={},i=null){this.root=e,this.queryParams=A,this.fragment=i}get queryParamMap(){return this._queryParamMap??=Y1(this.queryParams),this._queryParamMap}toString(){return CIA.serialize(this)}},ro=class{segments;children;parent=null;constructor(e,A){this.segments=e,this.children=A,Object.values(A).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return f6(this)}},N2=class{path;parameters;_parameterMap;constructor(e,A){this.path=e,this.parameters=A}get parameterMap(){return this._parameterMap??=Y1(this.parameters),this._parameterMap}toString(){return tH(this)}};function lIA(t,e){return U1(t,e)&&t.every((A,i)=>l0(A.parameters,e[i].parameters))}function U1(t,e){return t.length!==e.length?!1:t.every((A,i)=>A.path===e[i].path)}function cIA(t,e){let A=[];return Object.entries(t.children).forEach(([i,n])=>{i===Di&&(A=A.concat(e(n,i)))}),Object.entries(t.children).forEach(([i,n])=>{i!==Di&&(A=A.concat(e(n,i)))}),A}var z1=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>new CC,providedIn:"root"})}return t})(),CC=class{parse(e){let A=new DM(e);return new nc(A.parseRootSegment(),A.parseQueryParams(),A.parseFragment())}serialize(e){let A=`/${A4(e.root,!0)}`,i=BIA(e.queryParams),n=typeof e.fragment=="string"?`#${IIA(e.fragment)}`:"";return`${A}${i}${n}`}},CIA=new CC;function f6(t){return t.segments.map(e=>tH(e)).join("/")}function A4(t,e){if(!t.hasChildren())return f6(t);if(e){let A=t.children[Di]?A4(t.children[Di],!1):"",i=[];return Object.entries(t.children).forEach(([n,o])=>{n!==Di&&i.push(`${n}:${A4(o,!1)}`)}),i.length>0?`${A}(${i.join("//")})`:A}else{let A=cIA(t,(i,n)=>n===Di?[A4(t.children[Di],!1)]:[`${n}:${A4(i,!1)}`]);return Object.keys(t.children).length===1&&t.children[Di]!=null?`${f6(t)}/${A[0]}`:`${f6(t)}/(${A.join("//")})`}}function eH(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Q6(t){return eH(t).replace(/%3B/gi,";")}function IIA(t){return encodeURI(t)}function wM(t){return eH(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function m6(t){return decodeURIComponent(t)}function JT(t){return m6(t.replace(/\+/g,"%20"))}function tH(t){return`${wM(t.path)}${dIA(t.parameters)}`}function dIA(t){return Object.entries(t).map(([e,A])=>`;${wM(e)}=${wM(A)}`).join("")}function BIA(t){let e=Object.entries(t).map(([A,i])=>Array.isArray(i)?i.map(n=>`${Q6(A)}=${Q6(n)}`).join("&"):`${Q6(A)}=${Q6(i)}`).filter(A=>A);return e.length?`?${e.join("&")}`:""}var EIA=/^[^\/()?;#]+/;function hM(t){let e=t.match(EIA);return e?e[0]:""}var QIA=/^[^\/()?;=#]+/;function hIA(t){let e=t.match(QIA);return e?e[0]:""}var uIA=/^[^=?&#]+/;function fIA(t){let e=t.match(uIA);return e?e[0]:""}var mIA=/^[^&#]+/;function pIA(t){let e=t.match(mIA);return e?e[0]:""}var DM=class{url;remaining;constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new ro([],{}):new ro([],this.parseChildren())}parseQueryParams(){let e={};if(this.consumeOptional("?"))do this.parseQueryParam(e);while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let A={};this.peekStartsWith("/(")&&(this.capture("/"),A=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(e.length>0||Object.keys(A).length>0)&&(i[Di]=new ro(e,A)),i}parseSegment(){let e=hM(this.remaining);if(e===""&&this.peekStartsWith(";"))throw new kt(4009,!1);return this.capture(e),new N2(m6(e),this.parseMatrixParams())}parseMatrixParams(){let e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){let A=hIA(this.remaining);if(!A)return;this.capture(A);let i="";if(this.consumeOptional("=")){let n=hM(this.remaining);n&&(i=n,this.capture(i))}e[m6(A)]=m6(i)}parseQueryParam(e){let A=fIA(this.remaining);if(!A)return;this.capture(A);let i="";if(this.consumeOptional("=")){let a=pIA(this.remaining);a&&(i=a,this.capture(i))}let n=JT(A),o=JT(i);if(e.hasOwnProperty(n)){let a=e[n];Array.isArray(a)||(a=[a],e[n]=a),a.push(o)}else e[n]=o}parseParens(e){let A={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=hM(this.remaining),n=this.remaining[i.length];if(n!=="/"&&n!==")"&&n!==";")throw new kt(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):e&&(o=Di);let a=this.parseChildren();A[o??Di]=Object.keys(a).length===1&&a[Di]?a[Di]:new ro([],a),this.consumeOptional("//")}return A}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return this.peekStartsWith(e)?(this.remaining=this.remaining.substring(e.length),!0):!1}capture(e){if(!this.consumeOptional(e))throw new kt(4011,!1)}};function iH(t){return t.segments.length>0?new ro([],{[Di]:t}):t}function nH(t){let e={};for(let[i,n]of Object.entries(t.children)){let o=nH(n);if(i===Di&&o.segments.length===0&&o.hasChildren())for(let[a,r]of Object.entries(o.children))e[a]=r;else(o.segments.length>0||o.hasChildren())&&(e[i]=o)}let A=new ro(t.segments,e);return wIA(A)}function wIA(t){if(t.numberOfChildren===1&&t.children[Di]){let e=t.children[Di];return new ro(t.segments.concat(e.segments),e.children)}return t}function WB(t){return t instanceof nc}function oH(t,e,A=null,i=null,n=new CC){let o=aH(t);return rH(o,e,A,i,n)}function aH(t){let e;function A(o){let a={};for(let s of o.children){let g=A(s);a[s.outlet]=g}let r=new ro(o.url,a);return o===t&&(e=r),r}let i=A(t.root),n=iH(i);return e??n}function rH(t,e,A,i,n){let o=t;for(;o.parent;)o=o.parent;if(e.length===0)return uM(o,o,o,A,i,n);let a=DIA(e);if(a.toRoot())return uM(o,o,new ro([],{}),A,i,n);let r=yIA(a,o,t),s=r.processChildren?t4(r.segmentGroup,r.index,a.commands):gH(r.segmentGroup,r.index,a.commands);return uM(o,r.segmentGroup,s,A,i,n)}function w6(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function n4(t){return typeof t=="object"&&t!=null&&t.outlets}function YT(t,e,A){t||="\u0275";let i=new nc;return i.queryParams={[t]:e},A.parse(A.serialize(i)).queryParams[t]}function uM(t,e,A,i,n,o){let a={};for(let[g,l]of Object.entries(i??{}))a[g]=Array.isArray(l)?l.map(C=>YT(g,C,o)):YT(g,l,o);let r;t===e?r=A:r=sH(t,e,A);let s=iH(nH(r));return new nc(s,a,n)}function sH(t,e,A){let i={};return Object.entries(t.children).forEach(([n,o])=>{o===e?i[n]=A:i[n]=sH(o,e,A)}),new ro(t.segments,i)}var D6=class{isAbsolute;numberOfDoubleDots;commands;constructor(e,A,i){if(this.isAbsolute=e,this.numberOfDoubleDots=A,this.commands=i,e&&i.length>0&&w6(i[0]))throw new kt(4003,!1);let n=i.find(n4);if(n&&n!==aIA(i))throw new kt(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function DIA(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new D6(!0,0,t);let e=0,A=!1,i=t.reduce((n,o,a)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let r={};return Object.entries(o.outlets).forEach(([s,g])=>{r[s]=typeof g=="string"?g.split("/"):g}),[...n,{outlets:r}]}if(o.segmentPath)return[...n,o.segmentPath]}return typeof o!="string"?[...n,o]:a===0?(o.split("/").forEach((r,s)=>{s==0&&r==="."||(s==0&&r===""?A=!0:r===".."?e++:r!=""&&n.push(r))}),n):[...n,o]},[]);return new D6(A,e,i)}var jB=class{segmentGroup;processChildren;index;constructor(e,A,i){this.segmentGroup=e,this.processChildren=A,this.index=i}};function yIA(t,e,A){if(t.isAbsolute)return new jB(e,!0,0);if(!A)return new jB(e,!1,NaN);if(A.parent===null)return new jB(A,!0,0);let i=w6(t.commands[0])?0:1,n=A.segments.length-1+i;return vIA(A,n,t.numberOfDoubleDots)}function vIA(t,e,A){let i=t,n=e,o=A;for(;o>n;){if(o-=n,i=i.parent,!i)throw new kt(4005,!1);n=i.segments.length}return new jB(i,!1,n-o)}function bIA(t){return n4(t[0])?t[0].outlets:{[Di]:t}}function gH(t,e,A){if(t??=new ro([],{}),t.segments.length===0&&t.hasChildren())return t4(t,e,A);let i=MIA(t,e,A),n=A.slice(i.commandIndex);if(i.match&&i.pathIndexo!==Di)&&t.children[Di]&&t.numberOfChildren===1&&t.children[Di].segments.length===0){let o=t4(t.children[Di],e,A);return new ro(t.segments,o.children)}return Object.entries(i).forEach(([o,a])=>{typeof a=="string"&&(a=[a]),a!==null&&(n[o]=gH(t.children[o],e,a))}),Object.entries(t.children).forEach(([o,a])=>{i[o]===void 0&&(n[o]=a)}),new ro(t.segments,n)}}function MIA(t,e,A){let i=0,n=e,o={match:!1,pathIndex:0,commandIndex:0};for(;n=A.length)return o;let a=t.segments[n],r=A[i];if(n4(r))break;let s=`${r}`,g=i0&&s===void 0)break;if(s&&g&&typeof g=="object"&&g.outlets===void 0){if(!HT(s,g,a))return o;i+=2}else{if(!HT(s,{},a))return o;i++}n++}return{match:!0,pathIndex:n,commandIndex:i}}function yM(t,e,A){let i=t.segments.slice(0,e),n=0;for(;n{typeof i=="string"&&(i=[i]),i!==null&&(e[A]=yM(new ro([],{}),0,i))}),e}function TT(t){let e={};return Object.entries(t).forEach(([A,i])=>e[A]=`${i}`),e}function HT(t,e,A){return t==A.path&&l0(e,A.parameters)}var qB="imperative",dr=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(dr||{}),Kg=class{id;url;constructor(e,A){this.id=e,this.url=A}},F2=class extends Kg{type=dr.NavigationStart;navigationTrigger;restoredState;constructor(e,A,i="imperative",n=null){super(e,A),this.navigationTrigger=i,this.restoredState=n}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},oc=class extends Kg{urlAfterRedirects;type=dr.NavigationEnd;constructor(e,A,i){super(e,A),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},cs=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(cs||{}),ZB=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(ZB||{}),gl=class extends Kg{reason;code;type=dr.NavigationCancel;constructor(e,A,i,n){super(e,A),this.reason=i,this.code=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function lH(t){return t instanceof gl&&(t.code===cs.Redirect||t.code===cs.SupersededByNewNavigation)}var c0=class extends Kg{reason;code;type=dr.NavigationSkipped;constructor(e,A,i,n){super(e,A),this.reason=i,this.code=n}},T1=class extends Kg{error;target;type=dr.NavigationError;constructor(e,A,i,n){super(e,A),this.error=i,this.target=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},XB=class extends Kg{urlAfterRedirects;state;type=dr.RoutesRecognized;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},y6=class extends Kg{urlAfterRedirects;state;type=dr.GuardsCheckStart;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},v6=class extends Kg{urlAfterRedirects;state;shouldActivate;type=dr.GuardsCheckEnd;constructor(e,A,i,n,o){super(e,A),this.urlAfterRedirects=i,this.state=n,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},b6=class extends Kg{urlAfterRedirects;state;type=dr.ResolveStart;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},M6=class extends Kg{urlAfterRedirects;state;type=dr.ResolveEnd;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},k6=class{route;type=dr.RouteConfigLoadStart;constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},S6=class{route;type=dr.RouteConfigLoadEnd;constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},x6=class{snapshot;type=dr.ChildActivationStart;constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},R6=class{snapshot;type=dr.ChildActivationEnd;constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},N6=class{snapshot;type=dr.ActivationStart;constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},F6=class{snapshot;type=dr.ActivationEnd;constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},$B=class{routerEvent;position;anchor;scrollBehavior;type=dr.Scroll;constructor(e,A,i,n){this.routerEvent=e,this.position=A,this.anchor=i,this.scrollBehavior=n}toString(){let e=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${e}')`}},AE=class{},eE=class{url;navigationBehaviorOptions;constructor(e,A){this.url=e,this.navigationBehaviorOptions=A}};function SIA(t){return!(t instanceof AE)&&!(t instanceof eE)}var _6=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(e){this.rootInjector=e,this.children=new O1(this.rootInjector)}},O1=(()=>{class t{rootInjector;contexts=new Map;constructor(A){this.rootInjector=A}onChildOutletCreated(A,i){let n=this.getOrCreateContext(A);n.outlet=i,this.contexts.set(A,n)}onChildOutletDestroyed(A){let i=this.getContext(A);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){let A=this.contexts;return this.contexts=new Map,A}onOutletReAttached(A){this.contexts=A}getOrCreateContext(A){let i=this.getContext(A);return i||(i=new _6(this.rootInjector),this.contexts.set(A,i)),i}getContext(A){return this.contexts.get(A)||null}static \u0275fac=function(i){return new(i||t)(So(Gr))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),L6=class{_root;constructor(e){this._root=e}get root(){return this._root.value}parent(e){let A=this.pathFromRoot(e);return A.length>1?A[A.length-2]:null}children(e){let A=vM(e,this._root);return A?A.children.map(i=>i.value):[]}firstChild(e){let A=vM(e,this._root);return A&&A.children.length>0?A.children[0].value:null}siblings(e){let A=bM(e,this._root);return A.length<2?[]:A[A.length-2].children.map(n=>n.value).filter(n=>n!==e)}pathFromRoot(e){return bM(e,this._root).map(A=>A.value)}};function vM(t,e){if(t===e.value)return e;for(let A of e.children){let i=vM(t,A);if(i)return i}return null}function bM(t,e){if(t===e.value)return[e];for(let A of e.children){let i=bM(t,A);if(i.length)return i.unshift(e),i}return[]}var Gg=class{value;children;constructor(e,A){this.value=e,this.children=A}toString(){return`TreeNode(${this.value})`}};function PB(t){let e={};return t&&t.children.forEach(A=>e[A.value.outlet]=A),e}var o4=class extends L6{snapshot;constructor(e,A){super(e),this.snapshot=A,_M(this,e)}toString(){return this.snapshot.toString()}};function cH(t,e){let A=xIA(t,e),i=new Tt([new N2("",{})]),n=new Tt({}),o=new Tt({}),a=new Tt({}),r=new Tt(""),s=new ag(i,n,a,r,o,Di,t,A.root);return s.snapshot=A.root,new o4(new Gg(s,[]),A)}function xIA(t,e){let A={},i={},n={},a=new J1([],A,n,"",i,Di,t,null,{},e);return new a4("",new Gg(a,[]))}var ag=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(e,A,i,n,o,a,r,s){this.urlSubject=e,this.paramsSubject=A,this.queryParamsSubject=i,this.fragmentSubject=n,this.dataSubject=o,this.outlet=a,this.component=r,this._futureSnapshot=s,this.title=this.dataSubject?.pipe(fe(g=>g[g4]))??se(void 0),this.url=e,this.params=A,this.queryParams=i,this.fragment=n,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(fe(e=>Y1(e))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(fe(e=>Y1(e))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function G6(t,e,A="emptyOnly"){let i,{routeConfig:n}=t;return e!==null&&(A==="always"||n?.path===""||!e.component&&!e.routeConfig?.loadComponent)?i={params:gA(gA({},e.params),t.params),data:gA(gA({},e.data),t.data),resolve:gA(gA(gA(gA({},t.data),e.data),n?.data),t._resolvedData)}:i={params:gA({},t.params),data:gA({},t.data),resolve:gA(gA({},t.data),t._resolvedData??{})},n&&IH(n)&&(i.resolve[g4]=n.title),i}var J1=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[g4]}constructor(e,A,i,n,o,a,r,s,g,l){this.url=e,this.params=A,this.queryParams=i,this.fragment=n,this.data=o,this.outlet=a,this.component=r,this.routeConfig=s,this._resolve=g,this._environmentInjector=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Y1(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Y1(this.queryParams),this._queryParamMap}toString(){let e=this.url.map(i=>i.toString()).join("/"),A=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${e}', path:'${A}')`}},a4=class extends L6{url;constructor(e,A){super(A),this.url=e,_M(this,A)}toString(){return CH(this._root)}};function _M(t,e){e.value._routerState=t,e.children.forEach(A=>_M(t,A))}function CH(t){let e=t.children.length>0?` { ${t.children.map(CH).join(", ")} } `:"";return`${t.value}${e}`}function fM(t){if(t.snapshot){let e=t.snapshot,A=t._futureSnapshot;t.snapshot=A,l0(e.queryParams,A.queryParams)||t.queryParamsSubject.next(A.queryParams),e.fragment!==A.fragment&&t.fragmentSubject.next(A.fragment),l0(e.params,A.params)||t.paramsSubject.next(A.params),oIA(e.url,A.url)||t.urlSubject.next(A.url),l0(e.data,A.data)||t.dataSubject.next(A.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function MM(t,e){let A=l0(t.params,e.params)&&lIA(t.url,e.url),i=!t.parent!=!e.parent;return A&&!i&&(!t.parent||MM(t.parent,e.parent))}function IH(t){return typeof t.title=="string"||t.title===null}var dH=new yA(""),LM=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=Di;activateEvents=new WA;deactivateEvents=new WA;attachEvents=new WA;detachEvents=new WA;routerOutletData=at();parentContexts=h(O1);location=h(Ho);changeDetector=h(mt);inputBinder=h(l4,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(A){if(A.name){let{firstChange:i,previousValue:n}=A.name;if(i)return;this.isTrackedInParentContexts(n)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(n)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(A){return this.parentContexts.getContext(A)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let A=this.parentContexts.getContext(this.name);A?.route&&(A.attachRef?this.attach(A.attachRef,A.route):this.activateWith(A.route,A.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new kt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new kt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new kt(4012,!1);this.location.detach();let A=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(A.instance),A}attach(A,i){this.activated=A,this._activatedRoute=i,this.location.insert(A.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(A.instance)}deactivate(){if(this.activated){let A=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(A)}}activateWith(A,i){if(this.isActivated)throw new kt(4013,!1);this._activatedRoute=A;let n=this.location,a=A.snapshot.component,r=this.parentContexts.getOrCreateContext(this.name).children,s=new kM(A,r,n.injector,this.routerOutletData);this.activated=n.createComponent(a,{index:n.length,injector:s,environmentInjector:i}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[ti]})}return t})(),kM=class{route;childContexts;parent;outletData;constructor(e,A,i,n){this.route=e,this.childContexts=A,this.parent=i,this.outletData=n}get(e,A){return e===ag?this.route:e===O1?this.childContexts:e===dH?this.outletData:this.parent.get(e,A)}},l4=new yA(""),GM=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(A){this.unsubscribeFromRouteData(A),this.subscribeToRouteData(A)}unsubscribeFromRouteData(A){this.outletDataSubscriptions.get(A)?.unsubscribe(),this.outletDataSubscriptions.delete(A)}subscribeToRouteData(A){let{activatedRoute:i}=A,n=cr([i.queryParams,i.params,i.data]).pipe(ki(([o,a,r],s)=>(r=gA(gA(gA({},o),a),r),s===0?se(r):Promise.resolve(r)))).subscribe(o=>{if(!A.isActivated||!A.activatedComponentRef||A.activatedRoute!==i||i.component===null){this.unsubscribeFromRouteData(A);return}let a=SU(i.component);if(!a){this.unsubscribeFromRouteData(A);return}for(let{templateName:r}of a.inputs)A.activatedComponentRef.setInput(r,o[r])});this.outletDataSubscriptions.set(A,n)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac})}return t})(),KM=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(i,n){i&1&&GA(0,"router-outlet")},dependencies:[LM],encapsulation:2})}return t})();function UM(t){let e=t.children&&t.children.map(UM),A=e?be(gA({},t),{children:e}):gA({},t);return!A.component&&!A.loadComponent&&(e||A.loadChildren)&&A.outlet&&A.outlet!==Di&&(A.component=KM),A}function RIA(t,e,A){let i=r4(t,e._root,A?A._root:void 0);return new o4(i,e)}function r4(t,e,A){if(A&&t.shouldReuseRoute(e.value,A.value.snapshot)){let i=A.value;i._futureSnapshot=e.value;let n=NIA(t,e,A);return new Gg(i,n)}else{if(t.shouldAttach(e.value)){let o=t.retrieve(e.value);if(o!==null){let a=o.route;return a.value._futureSnapshot=e.value,a.children=e.children.map(r=>r4(t,r)),a}}let i=FIA(e.value),n=e.children.map(o=>r4(t,o));return new Gg(i,n)}}function NIA(t,e,A){return e.children.map(i=>{for(let n of A.children)if(t.shouldReuseRoute(i.value,n.value.snapshot))return r4(t,i,n);return r4(t,i)})}function FIA(t){return new ag(new Tt(t.url),new Tt(t.params),new Tt(t.queryParams),new Tt(t.fragment),new Tt(t.data),t.outlet,t.component,t)}var tE=class{redirectTo;navigationBehaviorOptions;constructor(e,A){this.redirectTo=e,this.navigationBehaviorOptions=A}},BH="ngNavigationCancelingError";function K6(t,e){let{redirectTo:A,navigationBehaviorOptions:i}=WB(e)?{redirectTo:e,navigationBehaviorOptions:void 0}:e,n=EH(!1,cs.Redirect);return n.url=A,n.navigationBehaviorOptions=i,n}function EH(t,e){let A=new Error(`NavigationCancelingError: ${t||""}`);return A[BH]=!0,A.cancellationCode=e,A}function _IA(t){return QH(t)&&WB(t.url)}function QH(t){return!!t&&t[BH]}var SM=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(e,A,i,n,o){this.routeReuseStrategy=e,this.futureState=A,this.currState=i,this.forwardEvent=n,this.inputBindingEnabled=o}activate(e){let A=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(A,i,e),fM(this.futureState.root),this.activateChildRoutes(A,i,e)}deactivateChildRoutes(e,A,i){let n=PB(A);e.children.forEach(o=>{let a=o.value.outlet;this.deactivateRoutes(o,n[a],i),delete n[a]}),Object.values(n).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(e,A,i){let n=e.value,o=A?A.value:null;if(n===o)if(n.component){let a=i.getContext(n.outlet);a&&this.deactivateChildRoutes(e,A,a.children)}else this.deactivateChildRoutes(e,A,i);else o&&this.deactivateRouteAndItsChildren(A,i)}deactivateRouteAndItsChildren(e,A){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,A):this.deactivateRouteAndOutlet(e,A)}detachAndStoreRouteSubtree(e,A){let i=A.getContext(e.value.outlet),n=i&&e.value.component?i.children:A,o=PB(e);for(let a of Object.values(o))this.deactivateRouteAndItsChildren(a,n);if(i&&i.outlet){let a=i.outlet.detach(),r=i.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:a,route:e,contexts:r})}}deactivateRouteAndOutlet(e,A){let i=A.getContext(e.value.outlet),n=i&&e.value.component?i.children:A,o=PB(e);for(let a of Object.values(o))this.deactivateRouteAndItsChildren(a,n);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(e,A,i){let n=PB(A);e.children.forEach(o=>{this.activateRoutes(o,n[o.value.outlet],i),this.forwardEvent(new F6(o.value.snapshot))}),e.children.length&&this.forwardEvent(new R6(e.value.snapshot))}activateRoutes(e,A,i){let n=e.value,o=A?A.value:null;if(fM(n),n===o)if(n.component){let a=i.getOrCreateContext(n.outlet);this.activateChildRoutes(e,A,a.children)}else this.activateChildRoutes(e,A,i);else if(n.component){let a=i.getOrCreateContext(n.outlet);if(this.routeReuseStrategy.shouldAttach(n.snapshot)){let r=this.routeReuseStrategy.retrieve(n.snapshot);this.routeReuseStrategy.store(n.snapshot,null),a.children.onOutletReAttached(r.contexts),a.attachRef=r.componentRef,a.route=r.route.value,a.outlet&&a.outlet.attach(r.componentRef,r.route.value),fM(r.route.value),this.activateChildRoutes(e,null,a.children)}else a.attachRef=null,a.route=n,a.outlet&&a.outlet.activateWith(n,a.injector),this.activateChildRoutes(e,null,a.children)}else this.activateChildRoutes(e,null,i)}},U6=class{path;route;constructor(e){this.path=e,this.route=this.path[this.path.length-1]}},VB=class{component;route;constructor(e,A){this.component=e,this.route=A}};function LIA(t,e,A){let i=t._root,n=e?e._root:null;return e4(i,n,A,[i.value])}function GIA(t){let e=t.routeConfig?t.routeConfig.canActivateChild:null;return!e||e.length===0?null:{node:t,guards:e}}function nE(t,e){let A=Symbol(),i=e.get(t,A);return i===A?typeof t=="function"&&!lU(t)?t:e.get(t):i}function e4(t,e,A,i,n={canDeactivateChecks:[],canActivateChecks:[]}){let o=PB(e);return t.children.forEach(a=>{KIA(a,o[a.value.outlet],A,i.concat([a.value]),n),delete o[a.value.outlet]}),Object.entries(o).forEach(([a,r])=>i4(r,A.getContext(a),n)),n}function KIA(t,e,A,i,n={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,a=e?e.value:null,r=A?A.getContext(t.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){let s=UIA(a,o,o.routeConfig.runGuardsAndResolvers);s?n.canActivateChecks.push(new U6(i)):(o.data=a.data,o._resolvedData=a._resolvedData),o.component?e4(t,e,r?r.children:null,i,n):e4(t,e,A,i,n),s&&r&&r.outlet&&r.outlet.isActivated&&n.canDeactivateChecks.push(new VB(r.outlet.component,a))}else a&&i4(e,r,n),n.canActivateChecks.push(new U6(i)),o.component?e4(t,null,r?r.children:null,i,n):e4(t,null,A,i,n);return n}function UIA(t,e,A){if(typeof A=="function")return ir(e._environmentInjector,()=>A(t,e));switch(A){case"pathParamsChange":return!U1(t.url,e.url);case"pathParamsOrQueryParamsChange":return!U1(t.url,e.url)||!l0(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!MM(t,e)||!l0(t.queryParams,e.queryParams);default:return!MM(t,e)}}function i4(t,e,A){let i=PB(t),n=t.value;Object.entries(i).forEach(([o,a])=>{n.component?e?i4(a,e.children.getContext(o),A):i4(a,null,A):i4(a,e,A)}),n.component?e&&e.outlet&&e.outlet.isActivated?A.canDeactivateChecks.push(new VB(e.outlet.component,n)):A.canDeactivateChecks.push(new VB(null,n)):A.canDeactivateChecks.push(new VB(null,n))}function c4(t){return typeof t=="function"}function JIA(t){return typeof t=="boolean"}function YIA(t){return t&&c4(t.canLoad)}function TIA(t){return t&&c4(t.canActivate)}function HIA(t){return t&&c4(t.canActivateChild)}function zIA(t){return t&&c4(t.canDeactivate)}function OIA(t){return t&&c4(t.canMatch)}function hH(t){return t instanceof nU||t?.name==="EmptyError"}var h6=Symbol("INITIAL_VALUE");function iE(){return ki(t=>cr(t.map(e=>e.pipe(oo(1),cn(h6)))).pipe(fe(e=>{for(let A of e)if(A!==!0){if(A===h6)return h6;if(A===!1||PIA(A))return A}return!0}),Ze(e=>e!==h6),oo(1)))}function PIA(t){return WB(t)||t instanceof tE}function uH(t){return t.aborted?se(void 0).pipe(oo(1)):new ji(e=>{let A=()=>{e.next(),e.complete()};return t.addEventListener("abort",A),()=>t.removeEventListener("abort",A)})}function fH(t){return Bt(uH(t))}function jIA(t){return e0(e=>{let{targetSnapshot:A,currentSnapshot:i,guards:{canActivateChecks:n,canDeactivateChecks:o}}=e;return o.length===0&&n.length===0?se(be(gA({},e),{guardsResult:!0})):qIA(o,A,i).pipe(e0(a=>a&&JIA(a)?VIA(A,n,t):se(a)),fe(a=>be(gA({},e),{guardsResult:a})))})}function qIA(t,e,A){return ks(t).pipe(e0(i=>A1A(i.component,i.route,A,e)),To(i=>i!==!0,!0))}function VIA(t,e,A){return ks(e).pipe(lu(i=>Wm(ZIA(i.route.parent,A),WIA(i.route,A),$IA(t,i.path),XIA(t,i.route))),To(i=>i!==!0,!0))}function WIA(t,e){return t!==null&&e&&e(new N6(t)),se(!0)}function ZIA(t,e){return t!==null&&e&&e(new x6(t)),se(!0)}function XIA(t,e){let A=e.routeConfig?e.routeConfig.canActivate:null;if(!A||A.length===0)return se(!0);let i=A.map(n=>t0(()=>{let o=e._environmentInjector,a=nE(n,o),r=TIA(a)?a.canActivate(e,t):ir(o,()=>a(e,t));return H1(r).pipe(To())}));return se(i).pipe(iE())}function $IA(t,e){let A=e[e.length-1],n=e.slice(0,e.length-1).reverse().map(o=>GIA(o)).filter(o=>o!==null).map(o=>t0(()=>{let a=o.guards.map(r=>{let s=o.node._environmentInjector,g=nE(r,s),l=HIA(g)?g.canActivateChild(A,t):ir(s,()=>g(A,t));return H1(l).pipe(To())});return se(a).pipe(iE())}));return se(n).pipe(iE())}function A1A(t,e,A,i){let n=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!n||n.length===0)return se(!0);let o=n.map(a=>{let r=e._environmentInjector,s=nE(a,r),g=zIA(s)?s.canDeactivate(t,e,A,i):ir(r,()=>s(t,e,A,i));return H1(g).pipe(To())});return se(o).pipe(iE())}function e1A(t,e,A,i,n){let o=e.canLoad;if(o===void 0||o.length===0)return se(!0);let a=o.map(r=>{let s=nE(r,t),g=YIA(s)?s.canLoad(e,A):ir(t,()=>s(e,A)),l=H1(g);return n?l.pipe(fH(n)):l});return se(a).pipe(iE(),mH(i))}function mH(t){return eU(oi(e=>{if(typeof e!="boolean")throw K6(t,e)}),fe(e=>e===!0))}function t1A(t,e,A,i,n){let o=e.canMatch;if(!o||o.length===0)return se(!0);let a=o.map(r=>{let s=nE(r,t),g=OIA(s)?s.canMatch(e,A):ir(t,()=>s(e,A));return H1(g).pipe(fH(n))});return se(a).pipe(iE(),mH(i))}var cC=class t extends Error{segmentGroup;constructor(e){super(),this.segmentGroup=e||null,Object.setPrototypeOf(this,t.prototype)}},s4=class t extends Error{urlTree;constructor(e){super(),this.urlTree=e,Object.setPrototypeOf(this,t.prototype)}};function i1A(t){throw new kt(4e3,!1)}function n1A(t){throw EH(!1,cs.GuardRejected)}var xM=class{urlSerializer;urlTree;constructor(e,A){this.urlSerializer=e,this.urlTree=A}lineralizeSegments(e,A){return nt(this,null,function*(){let i=[],n=A.root;for(;;){if(i=i.concat(n.segments),n.numberOfChildren===0)return i;if(n.numberOfChildren>1||!n.children[Di])throw i1A(`${e.redirectTo}`);n=n.children[Di]}})}applyRedirectCommands(e,A,i,n,o){return nt(this,null,function*(){let a=yield o1A(A,n,o);if(a instanceof nc)throw new s4(a);let r=this.applyRedirectCreateUrlTree(a,this.urlSerializer.parse(a),e,i);if(a[0]==="/")throw new s4(r);return r})}applyRedirectCreateUrlTree(e,A,i,n){let o=this.createSegmentGroup(e,A.root,i,n);return new nc(o,this.createQueryParams(A.queryParams,this.urlTree.queryParams),A.fragment)}createQueryParams(e,A){let i={};return Object.entries(e).forEach(([n,o])=>{if(typeof o=="string"&&o[0]===":"){let r=o.substring(1);i[n]=A[r]}else i[n]=o}),i}createSegmentGroup(e,A,i,n){let o=this.createSegments(e,A.segments,i,n),a={};return Object.entries(A.children).forEach(([r,s])=>{a[r]=this.createSegmentGroup(e,s,i,n)}),new ro(o,a)}createSegments(e,A,i,n){return A.map(o=>o.path[0]===":"?this.findPosParam(e,o,n):this.findOrReturn(o,i))}findPosParam(e,A,i){let n=i[A.path.substring(1)];if(!n)throw new kt(4001,!1);return n}findOrReturn(e,A){let i=0;for(let n of A){if(n.path===e.path)return A.splice(i),n;i++}return e}};function o1A(t,e,A){if(typeof t=="string")return Promise.resolve(t);let i=t,{queryParams:n,fragment:o,routeConfig:a,url:r,outlet:s,params:g,data:l,title:C,paramMap:I,queryParamMap:d}=e;return p6(H1(ir(A,()=>i({params:g,data:l,queryParams:n,fragment:o,routeConfig:a,url:r,outlet:s,title:C,paramMap:I,queryParamMap:d}))))}function a1A(t,e){return t.providers&&!t._injector&&(t._injector=op(t.providers,e,`Route: ${t.path}`)),t._injector??e}function ic(t){return t.outlet||Di}function r1A(t,e){let A=t.filter(i=>ic(i)===e);return A.push(...t.filter(i=>ic(i)!==e)),A}var RM={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function s1A(t,e,A,i,n,o){let a=pH(t,e,A);return a.matched?(i=a1A(e,i),t1A(i,e,A,n,o).pipe(fe(r=>r===!0?a:gA({},RM)))):se(a)}function pH(t,e,A){if(e.path==="")return e.pathMatch==="full"&&(t.hasChildren()||A.length>0)?gA({},RM):{matched:!0,consumedSegments:[],remainingSegments:A,parameters:{},positionalParamSegments:{}};let n=(e.matcher||qT)(A,t,e);if(!n)return gA({},RM);let o={};Object.entries(n.posParams??{}).forEach(([r,s])=>{o[r]=s.path});let a=n.consumed.length>0?gA(gA({},o),n.consumed[n.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:n.consumed,remainingSegments:A.slice(n.consumed.length),parameters:a,positionalParamSegments:n.posParams??{}}}function zT(t,e,A,i){return A.length>0&&c1A(t,A,i)?{segmentGroup:new ro(e,l1A(i,new ro(A,t.children))),slicedSegments:[]}:A.length===0&&C1A(t,A,i)?{segmentGroup:new ro(t.segments,g1A(t,A,i,t.children)),slicedSegments:A}:{segmentGroup:new ro(t.segments,t.children),slicedSegments:A}}function g1A(t,e,A,i){let n={};for(let o of A)if(Y6(t,e,o)&&!i[ic(o)]){let a=new ro([],{});n[ic(o)]=a}return gA(gA({},i),n)}function l1A(t,e){let A={};A[Di]=e;for(let i of t)if(i.path===""&&ic(i)!==Di){let n=new ro([],{});A[ic(i)]=n}return A}function c1A(t,e,A){return A.some(i=>Y6(t,e,i)&&ic(i)!==Di)}function C1A(t,e,A){return A.some(i=>Y6(t,e,i))}function Y6(t,e,A){return(t.hasChildren()||e.length>0)&&A.pathMatch==="full"?!1:A.path===""}function I1A(t,e,A){return e.length===0&&!t.children[A]}var NM=class{};function d1A(t,e,A,i,n,o,a="emptyOnly",r){return nt(this,null,function*(){return new FM(t,e,A,i,n,a,o,r).recognize()})}var B1A=31,FM=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(e,A,i,n,o,a,r,s){this.injector=e,this.configLoader=A,this.rootComponentType=i,this.config=n,this.urlTree=o,this.paramsInheritanceStrategy=a,this.urlSerializer=r,this.abortSignal=s,this.applyRedirects=new xM(this.urlSerializer,this.urlTree)}noMatchError(e){return new kt(4002,`'${e.segmentGroup}'`)}recognize(){return nt(this,null,function*(){let e=zT(this.urlTree.root,[],[],this.config).segmentGroup,{children:A,rootSnapshot:i}=yield this.match(e),n=new Gg(i,A),o=new a4("",n),a=oH(i,[],this.urlTree.queryParams,this.urlTree.fragment);return a.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(a),{state:o,tree:a}})}match(e){return nt(this,null,function*(){let A=new J1([],Object.freeze({}),Object.freeze(gA({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),Di,this.rootComponentType,null,{},this.injector);try{return{children:yield this.processSegmentGroup(this.injector,this.config,e,Di,A),rootSnapshot:A}}catch(i){if(i instanceof s4)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof cC?this.noMatchError(i):i}})}processSegmentGroup(e,A,i,n,o){return nt(this,null,function*(){if(i.segments.length===0&&i.hasChildren())return this.processChildren(e,A,i,o);let a=yield this.processSegment(e,A,i,i.segments,n,!0,o);return a instanceof Gg?[a]:[]})}processChildren(e,A,i,n){return nt(this,null,function*(){let o=[];for(let s of Object.keys(i.children))s==="primary"?o.unshift(s):o.push(s);let a=[];for(let s of o){let g=i.children[s],l=r1A(A,s),C=yield this.processSegmentGroup(e,l,g,s,n);a.push(...C)}let r=wH(a);return E1A(r),r})}processSegment(e,A,i,n,o,a,r){return nt(this,null,function*(){for(let s of A)try{return yield this.processSegmentAgainstRoute(s._injector??e,A,s,i,n,o,a,r)}catch(g){if(g instanceof cC||hH(g))continue;throw g}if(I1A(i,n,o))return new NM;throw new cC(i)})}processSegmentAgainstRoute(e,A,i,n,o,a,r,s){return nt(this,null,function*(){if(ic(i)!==a&&(a===Di||!Y6(n,o,i)))throw new cC(n);if(i.redirectTo===void 0)return this.matchSegmentAgainstRoute(e,n,i,o,a,s);if(this.allowRedirects&&r)return this.expandSegmentAgainstRouteUsingRedirect(e,n,A,i,o,a,s);throw new cC(n)})}expandSegmentAgainstRouteUsingRedirect(e,A,i,n,o,a,r){return nt(this,null,function*(){let{matched:s,parameters:g,consumedSegments:l,positionalParamSegments:C,remainingSegments:I}=pH(A,n,o);if(!s)throw new cC(A);typeof n.redirectTo=="string"&&n.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>B1A&&(this.allowRedirects=!1));let d=new J1(o,g,Object.freeze(gA({},this.urlTree.queryParams)),this.urlTree.fragment,OT(n),ic(n),n.component??n._loadedComponent??null,n,PT(n),e),B=G6(d,r,this.paramsInheritanceStrategy);if(d.params=Object.freeze(B.params),d.data=Object.freeze(B.data),this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let E=yield this.applyRedirects.applyRedirectCommands(l,n.redirectTo,C,d,e),Q=yield this.applyRedirects.lineralizeSegments(n,E);return this.processSegment(e,i,A,Q.concat(I),a,!1,r)})}matchSegmentAgainstRoute(e,A,i,n,o,a){return nt(this,null,function*(){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let r=yield p6(s1A(A,i,n,e,this.urlSerializer,this.abortSignal));if(i.path==="**"&&(A.children={}),!r?.matched)throw new cC(A);e=i._injector??e;let{routes:s}=yield this.getChildConfig(e,i,n),g=i._loadedInjector??e,{parameters:l,consumedSegments:C,remainingSegments:I}=r,d=new J1(C,l,Object.freeze(gA({},this.urlTree.queryParams)),this.urlTree.fragment,OT(i),ic(i),i.component??i._loadedComponent??null,i,PT(i),e),B=G6(d,a,this.paramsInheritanceStrategy);d.params=Object.freeze(B.params),d.data=Object.freeze(B.data);let{segmentGroup:E,slicedSegments:Q}=zT(A,C,I,s);if(Q.length===0&&E.hasChildren()){let S=yield this.processChildren(g,s,E,d);return new Gg(d,S)}if(s.length===0&&Q.length===0)return new Gg(d,[]);let f=ic(i)===o,b=yield this.processSegment(g,s,E,Q,f?Di:o,!0,d);return new Gg(d,b instanceof Gg?[b]:[])})}getChildConfig(e,A,i){return nt(this,null,function*(){if(A.children)return{routes:A.children,injector:e};if(A.loadChildren){if(A._loadedRoutes!==void 0){let o=A._loadedNgModuleFactory;return o&&!A._loadedInjector&&(A._loadedInjector=o.create(e).injector),{routes:A._loadedRoutes,injector:A._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(yield p6(e1A(e,A,i,this.urlSerializer,this.abortSignal))){let o=yield this.configLoader.loadChildren(e,A);return A._loadedRoutes=o.routes,A._loadedInjector=o.injector,A._loadedNgModuleFactory=o.factory,o}throw n1A(A)}return{routes:[],injector:e}})}};function E1A(t){t.sort((e,A)=>e.value.outlet===Di?-1:A.value.outlet===Di?1:e.value.outlet.localeCompare(A.value.outlet))}function Q1A(t){let e=t.value.routeConfig;return e&&e.path===""}function wH(t){let e=[],A=new Set;for(let i of t){if(!Q1A(i)){e.push(i);continue}let n=e.find(o=>i.value.routeConfig===o.value.routeConfig);n!==void 0?(n.children.push(...i.children),A.add(n)):e.push(i)}for(let i of A){let n=wH(i.children);e.push(new Gg(i.value,n))}return e.filter(i=>!A.has(i))}function OT(t){return t.data||{}}function PT(t){return t.resolve||{}}function h1A(t,e,A,i,n,o,a){return e0(r=>nt(null,null,function*(){let{state:s,tree:g}=yield d1A(t,e,A,i,r.extractedUrl,n,o,a);return be(gA({},r),{targetSnapshot:s,urlAfterRedirects:g})}))}function u1A(t){return e0(e=>{let{targetSnapshot:A,guards:{canActivateChecks:i}}=e;if(!i.length)return se(e);let n=new Set(i.map(r=>r.route)),o=new Set;for(let r of n)if(!o.has(r))for(let s of DH(r))o.add(s);let a=0;return ks(o).pipe(lu(r=>n.has(r)?f1A(r,A,t):(r.data=G6(r,r.parent,t).resolve,se(void 0))),oi(()=>a++),Gb(1),e0(r=>a===o.size?se(e):ja))})}function DH(t){let e=t.children.map(A=>DH(A)).flat();return[t,...e]}function f1A(t,e,A){let i=t.routeConfig,n=t._resolve;return i?.title!==void 0&&!IH(i)&&(n[g4]=i.title),t0(()=>(t.data=G6(t,t.parent,A).resolve,m1A(n,t,e).pipe(fe(o=>(t._resolvedData=o,t.data=gA(gA({},t.data),o),null)))))}function m1A(t,e,A){let i=pM(t);if(i.length===0)return se({});let n={};return ks(i).pipe(e0(o=>p1A(t[o],e,A).pipe(To(),oi(a=>{if(a instanceof tE)throw K6(new CC,a);n[o]=a}))),Gb(1),fe(()=>n),ea(o=>hH(o)?ja:Vm(o)))}function p1A(t,e,A){let i=e._environmentInjector,n=nE(t,i),o=n.resolve?n.resolve(e,A):ir(i,()=>n(e,A));return H1(o)}function jT(t){return ki(e=>{let A=t(e);return A?ks(A).pipe(fe(()=>e)):se(e)})}var JM=(()=>{class t{buildTitle(A){let i,n=A.root;for(;n!==void 0;)i=this.getResolvedTitleForRoute(n)??i,n=n.children.find(o=>o.outlet===Di);return i}getResolvedTitleForRoute(A){return A.data[g4]}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(yH),providedIn:"root"})}return t})(),yH=(()=>{class t extends JM{title;constructor(A){super(),this.title=A}updateTitle(A){let i=this.buildTitle(A);i!==void 0&&this.title.setTitle(i)}static \u0275fac=function(i){return new(i||t)(So(KU))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),P1=new yA("",{factory:()=>({})}),oE=new yA(""),T6=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=h(wU);loadComponent(A,i){return nt(this,null,function*(){if(this.componentLoaders.get(i))return this.componentLoaders.get(i);if(i._loadedComponent)return Promise.resolve(i._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(i);let n=nt(this,null,function*(){try{let o=yield WT(ir(A,()=>i.loadComponent())),a=yield MH(bH(o));return this.onLoadEndListener&&this.onLoadEndListener(i),i._loadedComponent=a,a}finally{this.componentLoaders.delete(i)}});return this.componentLoaders.set(i,n),n})}loadChildren(A,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Promise.resolve({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);let n=nt(this,null,function*(){try{let o=yield vH(i,this.compiler,A,this.onLoadEndListener);return i._loadedRoutes=o.routes,i._loadedInjector=o.injector,i._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(i)}});return this.childrenLoaders.set(i,n),n}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function vH(t,e,A,i){return nt(this,null,function*(){let n=yield WT(ir(A,()=>t.loadChildren())),o=yield MH(bH(n)),a;o instanceof EU||Array.isArray(o)?a=o:a=yield e.compileModuleAsync(o),i&&i(t);let r,s,g=!1,l;return Array.isArray(a)?(s=a,g=!0):(r=a.create(A).injector,l=a,s=r.get(oE,[],{optional:!0,self:!0}).flat()),{routes:s.map(UM),injector:r,factory:l}})}function w1A(t){return t&&typeof t=="object"&&"default"in t}function bH(t){return w1A(t)?t.default:t}function MH(t){return nt(this,null,function*(){return t})}var H6=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(D1A),providedIn:"root"})}return t})(),D1A=(()=>{class t{shouldProcessUrl(A){return!0}extract(A){return A}merge(A,i){return A}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),YM=new yA(""),TM=new yA("");function kH(t,e,A){let i=t.get(TM),n=t.get(Xt);if(!n.startViewTransition||i.skipNextTransition)return i.skipNextTransition=!1,new Promise(g=>setTimeout(g));let o,a=new Promise(g=>{o=g}),r=n.startViewTransition(()=>(o(),y1A(t)));r.updateCallbackDone.catch(g=>{}),r.ready.catch(g=>{}),r.finished.catch(g=>{});let{onViewTransitionCreated:s}=i;return s&&ir(t,()=>s({transition:r,from:e,to:A})),a}function y1A(t){return new Promise(e=>{Yn({read:()=>setTimeout(e)},{injector:t})})}var v1A=()=>{},HM=new yA(""),z6=(()=>{class t{currentNavigation=jA(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=jA(null);events=new $A;transitionAbortWithErrorSubject=new $A;configLoader=h(T6);environmentInjector=h(Gr);destroyRef=h(Cr);urlSerializer=h(z1);rootContexts=h(O1);location=h(n0);inputBindingEnabled=h(l4,{optional:!0})!==null;titleStrategy=h(JM);options=h(P1,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=h(H6);createViewTransition=h(YM,{optional:!0});navigationErrorHandler=h(HM,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>se(void 0);rootComponentType=null;destroyed=!1;constructor(){let A=n=>this.events.next(new k6(n)),i=n=>this.events.next(new S6(n));this.configLoader.onLoadEndListener=i,this.configLoader.onLoadStartListener=A,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(A){let i=++this.navigationId;la(()=>{this.transitions?.next(be(gA({},A),{extractedUrl:this.urlHandlingStrategy.extract(A.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:i}))})}setupNavigations(A){return this.transitions=new Tt(null),this.transitions.pipe(Ze(i=>i!==null),ki(i=>{let n=!1,o=new AbortController,a=()=>!n&&this.currentTransition?.id===i.id;return se(i).pipe(ki(r=>{if(this.navigationId>i.id)return this.cancelNavigationTransition(i,"",cs.SupersededByNewNavigation),ja;this.currentTransition=i;let s=this.lastSuccessfulNavigation();this.currentNavigation.set({id:r.id,initialUrl:r.rawUrl,extractedUrl:r.extractedUrl,targetBrowserUrl:typeof r.extras.browserUrl=="string"?this.urlSerializer.parse(r.extras.browserUrl):r.extras.browserUrl,trigger:r.source,extras:r.extras,previousNavigation:s?be(gA({},s),{previousNavigation:null}):null,abort:()=>o.abort()});let g=!A.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=r.extras.onSameUrlNavigation??A.onSameUrlNavigation;if(!g&&l!=="reload")return this.events.next(new c0(r.id,this.urlSerializer.serialize(r.rawUrl),"",ZB.IgnoredSameUrlNavigation)),r.resolve(!1),ja;if(this.urlHandlingStrategy.shouldProcessUrl(r.rawUrl))return se(r).pipe(ki(C=>(this.events.next(new F2(C.id,this.urlSerializer.serialize(C.extractedUrl),C.source,C.restoredState)),C.id!==this.navigationId?ja:Promise.resolve(C))),h1A(this.environmentInjector,this.configLoader,this.rootComponentType,A.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),oi(C=>{i.targetSnapshot=C.targetSnapshot,i.urlAfterRedirects=C.urlAfterRedirects,this.currentNavigation.update(d=>(d.finalUrl=C.urlAfterRedirects,d));let I=new XB(C.id,this.urlSerializer.serialize(C.extractedUrl),this.urlSerializer.serialize(C.urlAfterRedirects),C.targetSnapshot);this.events.next(I)}));if(g&&this.urlHandlingStrategy.shouldProcessUrl(r.currentRawUrl)){let{id:C,extractedUrl:I,source:d,restoredState:B,extras:E}=r,Q=new F2(C,this.urlSerializer.serialize(I),d,B);this.events.next(Q);let f=cH(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=i=be(gA({},r),{targetSnapshot:f,urlAfterRedirects:I,extras:be(gA({},E),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(b=>(b.finalUrl=I,b)),se(i)}else return this.events.next(new c0(r.id,this.urlSerializer.serialize(r.extractedUrl),"",ZB.IgnoredByUrlHandlingStrategy)),r.resolve(!1),ja}),fe(r=>{let s=new y6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot);return this.events.next(s),this.currentTransition=i=be(gA({},r),{guards:LIA(r.targetSnapshot,r.currentSnapshot,this.rootContexts)}),i}),jIA(r=>this.events.next(r)),ki(r=>{if(i.guardsResult=r.guardsResult,r.guardsResult&&typeof r.guardsResult!="boolean")throw K6(this.urlSerializer,r.guardsResult);let s=new v6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot,!!r.guardsResult);if(this.events.next(s),!a())return ja;if(!r.guardsResult)return this.cancelNavigationTransition(r,"",cs.GuardRejected),ja;if(r.guards.canActivateChecks.length===0)return se(r);let g=new b6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot);if(this.events.next(g),!a())return ja;let l=!1;return se(r).pipe(u1A(this.paramsInheritanceStrategy),oi({next:()=>{l=!0;let C=new M6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot);this.events.next(C)},complete:()=>{l||this.cancelNavigationTransition(r,"",cs.NoDataFromResolver)}}))}),jT(r=>{let s=l=>{let C=[];if(l.routeConfig?._loadedComponent)l.component=l.routeConfig?._loadedComponent;else if(l.routeConfig?.loadComponent){let I=l._environmentInjector;C.push(this.configLoader.loadComponent(I,l.routeConfig).then(d=>{l.component=d}))}for(let I of l.children)C.push(...s(I));return C},g=s(r.targetSnapshot.root);return g.length===0?se(r):ks(Promise.all(g).then(()=>r))}),jT(()=>this.afterPreactivation()),ki(()=>{let{currentSnapshot:r,targetSnapshot:s}=i,g=this.createViewTransition?.(this.environmentInjector,r.root,s.root);return g?ks(g).pipe(fe(()=>i)):se(i)}),oo(1),fe(r=>{let s=RIA(A.routeReuseStrategy,r.targetSnapshot,r.currentRouterState);this.currentTransition=i=r=be(gA({},r),{targetRouterState:s}),this.currentNavigation.update(g=>(g.targetRouterState=s,g)),this.events.next(new AE),a()&&(new SM(A.routeReuseStrategy,i.targetRouterState,i.currentRouterState,g=>this.events.next(g),this.inputBindingEnabled).activate(this.rootContexts),a()&&(n=!0,this.currentNavigation.update(g=>(g.abort=v1A,g)),this.lastSuccessfulNavigation.set(la(this.currentNavigation)),this.events.next(new oc(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects))),this.titleStrategy?.updateTitle(r.targetRouterState.snapshot),r.resolve(!0)))}),Bt(uH(o.signal).pipe(Ze(()=>!n&&!i.targetRouterState),oi(()=>{this.cancelNavigationTransition(i,o.signal.reason+"",cs.Aborted)}))),oi({complete:()=>{n=!0}}),Bt(this.transitionAbortWithErrorSubject.pipe(oi(r=>{throw r}))),$m(()=>{o.abort(),n||this.cancelNavigationTransition(i,"",cs.SupersededByNewNavigation),this.currentTransition?.id===i.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),ea(r=>{if(n=!0,this.destroyed)return i.resolve(!1),ja;if(QH(r))this.events.next(new gl(i.id,this.urlSerializer.serialize(i.extractedUrl),r.message,r.cancellationCode)),_IA(r)?this.events.next(new eE(r.url,r.navigationBehaviorOptions)):i.resolve(!1);else{let s=new T1(i.id,this.urlSerializer.serialize(i.extractedUrl),r,i.targetSnapshot??void 0);try{let g=ir(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(g instanceof tE){let{message:l,cancellationCode:C}=K6(this.urlSerializer,g);this.events.next(new gl(i.id,this.urlSerializer.serialize(i.extractedUrl),l,C)),this.events.next(new eE(g.redirectTo,g.navigationBehaviorOptions))}else throw this.events.next(s),r}catch(g){this.options.resolveNavigationPromiseOnError?i.resolve(!1):i.reject(g)}}return ja}))}))}cancelNavigationTransition(A,i,n){let o=new gl(A.id,this.urlSerializer.serialize(A.extractedUrl),i,n);this.events.next(o),A.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let A=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),i=la(this.currentNavigation),n=i?.targetBrowserUrl??i?.extractedUrl;return A.toString()!==n?.toString()&&!i?.extras.skipLocationChange}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function b1A(t){return t!==qB}var SH=new yA("");var xH=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(M1A),providedIn:"root"})}return t})(),J6=class{shouldDetach(e){return!1}store(e,A){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,A){return e.routeConfig===A.routeConfig}shouldDestroyInjector(e){return!0}},M1A=(()=>{class t extends J6{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),zM=(()=>{class t{urlSerializer=h(z1);options=h(P1,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=h(n0);urlHandlingStrategy=h(H6);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new nc;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:A,initialUrl:i,targetBrowserUrl:n}){let o=A!==void 0?this.urlHandlingStrategy.merge(A,i):i,a=n??o;return a instanceof nc?this.urlSerializer.serialize(a):a}commitTransition({targetRouterState:A,finalUrl:i,initialUrl:n}){i&&A?(this.currentUrlTree=i,this.rawUrlTree=this.urlHandlingStrategy.merge(i,n),this.routerState=A):this.rawUrlTree=n}routerState=cH(null,h(Gr));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(k1A),providedIn:"root"})}return t})(),k1A=(()=>{class t extends zM{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(A){return this.location.subscribe(i=>{i.type==="popstate"&&setTimeout(()=>{A(i.url,i.state,"popstate")})})}handleRouterEvent(A,i){A instanceof F2?this.updateStateMemento():A instanceof c0?this.commitTransition(i):A instanceof XB?this.urlUpdateStrategy==="eager"&&(i.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(i),i)):A instanceof AE?(this.commitTransition(i),this.urlUpdateStrategy==="deferred"&&!i.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(i),i)):A instanceof gl&&!lH(A)?this.restoreHistory(i):A instanceof T1?this.restoreHistory(i,!0):A instanceof oc&&(this.lastSuccessfulId=A.id,this.currentPageId=this.browserPageId)}setBrowserUrl(A,{extras:i,id:n}){let{replaceUrl:o,state:a}=i;if(this.location.isCurrentPathEqualTo(A)||o){let r=this.browserPageId,s=gA(gA({},a),this.generateNgRouterState(n,r));this.location.replaceState(A,"",s)}else{let r=gA(gA({},a),this.generateNgRouterState(n,this.browserPageId+1));this.location.go(A,"",r)}}restoreHistory(A,i=!1){if(this.canceledNavigationResolution==="computed"){let n=this.browserPageId,o=this.currentPageId-n;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===A.finalUrl&&o===0&&(this.resetInternalState(A),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(i&&this.resetInternalState(A),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:A}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,A??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(A,i){return this.canceledNavigationResolution==="computed"?{navigationId:A,\u0275routerPageId:i}:{navigationId:A}}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function O6(t,e){t.events.pipe(Ze(A=>A instanceof oc||A instanceof gl||A instanceof T1||A instanceof c0),fe(A=>A instanceof oc||A instanceof c0?0:(A instanceof gl?A.code===cs.Redirect||A.code===cs.SupersededByNewNavigation:!1)?2:1),Ze(A=>A!==2),oo(1)).subscribe(()=>{e()})}var RH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},NH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},Cs=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=h(QU);stateManager=h(zM);options=h(P1,{optional:!0})||{};pendingTasks=h(IU);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=h(z6);urlSerializer=h(z1);location=h(n0);urlHandlingStrategy=h(H6);injector=h(Gr);_events=new $A;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=h(xH);injectorCleanup=h(SH,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=h(oE,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!h(l4,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:A=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new Jn;subscribeToNavigationEvents(){let A=this.navigationTransitions.events.subscribe(i=>{try{let n=this.navigationTransitions.currentTransition,o=la(this.navigationTransitions.currentNavigation);if(n!==null&&o!==null){if(this.stateManager.handleRouterEvent(i,o),i instanceof gl&&i.code!==cs.Redirect&&i.code!==cs.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof oc)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(i instanceof eE){let a=i.navigationBehaviorOptions,r=this.urlHandlingStrategy.merge(i.url,n.currentRawUrl),s=gA({scroll:n.extras.scroll,browserUrl:n.extras.browserUrl,info:n.extras.info,skipLocationChange:n.extras.skipLocationChange,replaceUrl:n.extras.replaceUrl||this.urlUpdateStrategy==="eager"||b1A(n.source)},a);this.scheduleNavigation(r,qB,null,s,{resolve:n.resolve,reject:n.reject,promise:n.promise})}}SIA(i)&&this._events.next(i)}catch(n){this.navigationTransitions.transitionAbortWithErrorSubject.next(n)}});this.eventsSubscription.add(A)}resetRootComponentType(A){this.routerState.root.component=A,this.navigationTransitions.rootComponentType=A}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),qB,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((A,i,n)=>{this.navigateToSyncWithBrowser(A,n,i)})}navigateToSyncWithBrowser(A,i,n){let o={replaceUrl:!0},a=n?.navigationId?n:null;if(n){let s=gA({},n);delete s.navigationId,delete s.\u0275routerPageId,Object.keys(s).length!==0&&(o.state=s)}let r=this.parseUrl(A);this.scheduleNavigation(r,i,a,o).catch(s=>{this.disposed||this.injector.get(Kb)(s)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return la(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(A){this.config=A.map(UM),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(A,i={}){let{relativeTo:n,queryParams:o,fragment:a,queryParamsHandling:r,preserveFragment:s}=i,g=s?this.currentUrlTree.fragment:a,l=null;switch(r??this.options.defaultQueryParamsHandling){case"merge":l=gA(gA({},this.currentUrlTree.queryParams),o);break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=o||null}l!==null&&(l=this.removeEmptyProps(l));let C;try{let I=n?n.snapshot:this.routerState.snapshot.root;C=aH(I)}catch{(typeof A[0]!="string"||A[0][0]!=="/")&&(A=[]),C=this.currentUrlTree.root}return rH(C,A,l,g??null,this.urlSerializer)}navigateByUrl(A,i={skipLocationChange:!1}){let n=WB(A)?A:this.parseUrl(A),o=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(o,qB,null,i)}navigate(A,i={skipLocationChange:!1}){return S1A(A),this.navigateByUrl(this.createUrlTree(A,i),i)}serializeUrl(A){return this.urlSerializer.serialize(A)}parseUrl(A){try{return this.urlSerializer.parse(A)}catch{return this.console.warn(gU(4018,!1)),this.urlSerializer.parse("/")}}isActive(A,i){let n;if(i===!0?n=gA({},RH):i===!1?n=gA({},NH):n=i,WB(A))return UT(this.currentUrlTree,A,n);let o=this.parseUrl(A);return UT(this.currentUrlTree,o,n)}removeEmptyProps(A){return Object.entries(A).reduce((i,[n,o])=>(o!=null&&(i[n]=o),i),{})}scheduleNavigation(A,i,n,o,a){if(this.disposed)return Promise.resolve(!1);let r,s,g;a?(r=a.resolve,s=a.reject,g=a.promise):g=new Promise((C,I)=>{r=C,s=I});let l=this.pendingTasks.add();return O6(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:A,extras:o,resolve:r,reject:s,promise:g,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),g.catch(C=>Promise.reject(C))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function S1A(t){for(let e=0;e{class t{router;injector;preloadingStrategy;loader;subscription;constructor(A,i,n,o){this.router=A,this.injector=i,this.preloadingStrategy=n,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(Ze(A=>A instanceof oc),lu(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription?.unsubscribe()}processRoutes(A,i){let n=[];for(let o of i){o.providers&&!o._injector&&(o._injector=op(o.providers,A,""));let a=o._injector??A;o._loadedNgModuleFactory&&!o._loadedInjector&&(o._loadedInjector=o._loadedNgModuleFactory.create(a).injector);let r=o._loadedInjector??a;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&n.push(this.preloadConfig(a,o)),(o.children||o._loadedRoutes)&&n.push(this.processRoutes(r,o.children??o._loadedRoutes))}return ks(n).pipe(Lb())}preloadConfig(A,i){return this.preloadingStrategy.preload(i,()=>{if(A.destroyed)return se(null);let n;i.loadChildren&&i.canLoad===void 0?n=ks(this.loader.loadChildren(A,i)):n=se(null);let o=n.pipe(e0(a=>a===null?se(void 0):(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,i._loadedNgModuleFactory=a.factory,this.processRoutes(a.injector??A,a.routes))));if(i.loadComponent&&!i._loadedComponent){let a=this.loader.loadComponent(A,i);return ks([o,a]).pipe(Lb())}else return o})}static \u0275fac=function(i){return new(i||t)(So(Cs),So(Gr),So(C4),So(T6))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_H=new yA(""),R1A=(()=>{class t{options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=qB;restoredId=0;store={};urlSerializer=h(z1);zone=h(Oe);viewportScroller=h(Hb);transitions=h(z6);constructor(A){this.options=A,this.options.scrollPositionRestoration||="disabled",this.options.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(A=>{A instanceof F2?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=A.navigationTrigger,this.restoredId=A.restoredState?A.restoredState.navigationId:0):A instanceof oc?(this.lastId=A.id,this.scheduleScrollEvent(A,this.urlSerializer.parse(A.urlAfterRedirects).fragment)):A instanceof c0&&A.code===ZB.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(A,this.urlSerializer.parse(A.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(A=>{if(!(A instanceof $B)||A.scrollBehavior==="manual")return;let i={behavior:"instant"};A.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],i):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(A.position,i):A.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(A.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(A,i){let n=la(this.transitions.currentNavigation)?.extras.scroll;this.zone.runOutsideAngular(()=>nt(this,null,function*(){yield new Promise(o=>{setTimeout(o),typeof requestAnimationFrame<"u"&&requestAnimationFrame(o)}),this.zone.run(()=>{this.transitions.events.next(new $B(A,this.lastSource==="popstate"?this.store[this.restoredId]:null,i,n))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(i){np()};static \u0275prov=zA({token:t,factory:t.\u0275fac})}return t})();function N1A(){return h(Cs).routerState.root}function I4(t,e){return{\u0275kind:t,\u0275providers:e}}function F1A(){let t=h(ft);return e=>{let A=t.get(iC);if(e!==A.components[0])return;let i=t.get(Cs),n=t.get(LH);t.get(PM)===1&&i.initialNavigation(),t.get(UH,null,{optional:!0})?.setUpPreloading(),t.get(_H,null,{optional:!0})?.init(),i.resetRootComponentType(A.componentTypes[0]),n.closed||(n.next(),n.complete(),n.unsubscribe())}}var LH=new yA("",{factory:()=>new $A}),PM=new yA("",{factory:()=>1});function GH(){let t=[{provide:BU,useValue:!0},{provide:PM,useValue:0},Jb(()=>{let e=h(ft);return e.get(xU,Promise.resolve()).then(()=>new Promise(i=>{let n=e.get(Cs),o=e.get(LH);O6(n,()=>{i(!0)}),e.get(z6).afterPreactivation=()=>(i(!0),o.closed?se(void 0):o),n.initialNavigation()}))})];return I4(2,t)}function KH(){let t=[Jb(()=>{h(Cs).setUpLocationChangeListener()}),{provide:PM,useValue:2}];return I4(3,t)}var UH=new yA("");function JH(t){return I4(0,[{provide:UH,useExisting:FH},{provide:C4,useExisting:t}])}function YH(){return I4(8,[GM,{provide:l4,useExisting:GM}])}function TH(t){ip("NgRouterViewTransitions");let e=[{provide:YM,useValue:kH},{provide:TM,useValue:gA({skipNextTransition:!!t?.skipInitialTransition},t)}];return I4(9,e)}var HH=[n0,{provide:z1,useClass:CC},Cs,O1,{provide:ag,useFactory:N1A},T6,[]],P6=(()=>{class t{constructor(){}static forRoot(A,i){return{ngModule:t,providers:[HH,[],{provide:oE,multi:!0,useValue:A},[],i?.errorHandler?{provide:HM,useValue:i.errorHandler}:[],{provide:P1,useValue:i||{}},i?.useHash?L1A():G1A(),_1A(),i?.preloadingStrategy?JH(i.preloadingStrategy).\u0275providers:[],i?.initialNavigation?K1A(i):[],i?.bindToComponentInputs?YH().\u0275providers:[],i?.enableViewTransitions?TH().\u0275providers:[],U1A()]}}static forChild(A){return{ngModule:t,providers:[{provide:oE,multi:!0,useValue:A}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();function _1A(){return{provide:_H,useFactory:()=>{let t=h(Hb),e=h(P1);return e.scrollOffset&&t.setOffset(e.scrollOffset),new R1A(e)}}}function L1A(){return{provide:Tb,useClass:NU}}function G1A(){return{provide:Tb,useClass:RU}}function K1A(t){return[t.initialNavigation==="disabled"?KH().\u0275providers:[],t.initialNavigation==="enabledBlocking"?GH().\u0275providers:[]]}var OM=new yA("");function U1A(){return[{provide:OM,useFactory:F1A},{provide:hU,multi:!0,useExisting:OM}]}var T1A=["*"];var H1A=new yA("MAT_CARD_CONFIG"),aE=(()=>{class t{appearance;constructor(){let A=h(H1A,{optional:!0});this.appearance=A?.appearance||"raised"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(i,n){i&2&&ae("mat-mdc-card-outlined",n.appearance==="outlined")("mdc-card--outlined",n.appearance==="outlined")("mat-mdc-card-filled",n.appearance==="filled")("mdc-card--filled",n.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:T1A,decls:1,vars:0,template:function(i,n){i&1&&(Ht(),He(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end} +`],encapsulation:2,changeDetection:0})}return t})();var zH=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var d4=class{};function B4(t){return t&&typeof t.connect=="function"&&!(t instanceof tU)}var ac=(function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t})(ac||{}),j6=class{viewCacheSize=20;_viewCache=[];applyChanges(e,A,i,n,o){e.forEachOperation((a,r,s)=>{let g,l;if(a.previousIndex==null){let C=()=>i(a,r,s);g=this._insertView(C,s,A,n(a)),l=g?ac.INSERTED:ac.REPLACED}else s==null?(this._detachAndCacheView(r,A),l=ac.REMOVED):(g=this._moveView(r,s,A,n(a)),l=ac.MOVED);o&&o({context:g?.context,operation:l,record:a})})}detach(){for(let e of this._viewCache)e.destroy();this._viewCache=[]}_insertView(e,A,i,n){let o=this._insertViewFromCache(A,i);if(o){o.context.$implicit=n;return}let a=e();return i.createEmbeddedView(a.templateRef,a.context,a.index)}_detachAndCacheView(e,A){let i=A.detach(e);this._maybeCacheView(i,A)}_moveView(e,A,i,n){let o=i.get(e);return i.move(o,A),o.context.$implicit=n,o}_maybeCacheView(e,A){if(this._viewCache.length{class t{_ngZone=h(Oe);_platform=h(Ii);_renderer=h(Kr).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new $A;_scrolledCount=0;scrollContainers=new Map;register(A){this.scrollContainers.has(A)||this.scrollContainers.set(A,A.elementScrolled().subscribe(()=>this._scrolled.next(A)))}deregister(A){let i=this.scrollContainers.get(A);i&&(i.unsubscribe(),this.scrollContainers.delete(A))}scrolled(A=O1A){return this._platform.isBrowser?new ji(i=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let n=A>0?this._scrolled.pipe(m1(A)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):se()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((A,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(A,i){let n=this.getAncestorScrollContainers(A);return this.scrolled(i).pipe(Ze(o=>!o||n.indexOf(o)>-1))}getAncestorScrollContainers(A){let i=[];return this.scrollContainers.forEach((n,o)=>{this._scrollableContainsElement(o,A)&&i.push(o)}),i}_scrollableContainsElement(A,i){let n=Rs(i),o=A.getElementRef().nativeElement;do if(n==o)return!0;while(n=n.parentElement);return!1}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),IC=(()=>{class t{elementRef=h(ge);scrollDispatcher=h(I0);ngZone=h(Oe);dir=h(xo,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new $A;_renderer=h(Fi);_cleanupScroll;_elementScrolled=new $A;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",A=>this._elementScrolled.next(A))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(A){let i=this.elementRef.nativeElement,n=this.dir&&this.dir.value=="rtl";A.left==null&&(A.left=n?A.end:A.start),A.right==null&&(A.right=n?A.start:A.end),A.bottom!=null&&(A.top=i.scrollHeight-i.clientHeight-A.bottom),n&&_B()!=Wl.NORMAL?(A.left!=null&&(A.right=i.scrollWidth-i.clientWidth-A.left),_B()==Wl.INVERTED?A.left=A.right:_B()==Wl.NEGATED&&(A.left=A.right?-A.right:A.right)):A.right!=null&&(A.left=i.scrollWidth-i.clientWidth-A.right),this._applyScrollToOptions(A)}_applyScrollToOptions(A){let i=this.elementRef.nativeElement;Gp()?i.scrollTo(A):(A.top!=null&&(i.scrollTop=A.top),A.left!=null&&(i.scrollLeft=A.left))}measureScrollOffset(A){let i="left",n="right",o=this.elementRef.nativeElement;if(A=="top")return o.scrollTop;if(A=="bottom")return o.scrollHeight-o.clientHeight-o.scrollTop;let a=this.dir&&this.dir.value=="rtl";return A=="start"?A=a?n:i:A=="end"&&(A=a?i:n),a&&_B()==Wl.INVERTED?A==i?o.scrollWidth-o.clientWidth-o.scrollLeft:o.scrollLeft:a&&_B()==Wl.NEGATED?A==i?o.scrollLeft+o.scrollWidth-o.clientWidth:-o.scrollLeft:A==i?o.scrollLeft:o.scrollWidth-o.clientWidth-o.scrollLeft}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]})}return t})(),P1A=20,Gs=(()=>{class t{_platform=h(Ii);_listeners;_viewportSize=null;_change=new $A;_document=h(Xt);constructor(){let A=h(Oe),i=h(Kr).createRenderer(null,null);A.runOutsideAngular(()=>{if(this._platform.isBrowser){let n=o=>this._change.next(o);this._listeners=[i.listen("window","resize",n),i.listen("window","orientationchange",n)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(A=>A()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let A={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),A}getViewportRect(){let A=this.getViewportScrollPosition(),{width:i,height:n}=this.getViewportSize();return{top:A.top,left:A.left,bottom:A.top+n,right:A.left+i,height:n,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let A=this._document,i=this._getWindow(),n=A.documentElement,o=n.getBoundingClientRect(),a=-o.top||A.body?.scrollTop||i.scrollY||n.scrollTop||0,r=-o.left||A.body?.scrollLeft||i.scrollX||n.scrollLeft||0;return{top:a,left:r}}change(A=P1A){return A>0?this._change.pipe(m1(A)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let A=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:A.innerWidth,height:A.innerHeight}:{width:0,height:0}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var OH=new yA("CDK_VIRTUAL_SCROLL_VIEWPORT");var C0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})(),q6=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi,C0,Gi,C0]})}return t})();var E4=class{_attachedHost=null;attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;e!=null&&(this._attachedHost=null,e.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(e){this._attachedHost=e}},Ug=class extends E4{component;viewContainerRef;injector;projectableNodes;constructor(e,A,i,n){super(),this.component=e,this.viewContainerRef=A,this.injector=i,this.projectableNodes=n}},Is=class extends E4{templateRef;viewContainerRef;context;injector;constructor(e,A,i,n){super(),this.templateRef=e,this.viewContainerRef=A,this.context=i,this.injector=n}get origin(){return this.templateRef.elementRef}attach(e,A=this.context){return this.context=A,super.attach(e)}detach(){return this.context=void 0,super.detach()}},jM=class extends E4{element;constructor(e){super(),this.element=e instanceof ge?e.nativeElement:e}},_2=class{_attachedPortal=null;_disposeFn=null;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(e){if(e instanceof Ug)return this._attachedPortal=e,this.attachComponentPortal(e);if(e instanceof Is)return this._attachedPortal=e,this.attachTemplatePortal(e);if(this.attachDomPortal&&e instanceof jM)return this._attachedPortal=e,this.attachDomPortal(e)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},Q4=class extends _2{outletElement;_appRef;_defaultInjector;constructor(e,A,i){super(),this.outletElement=e,this._appRef=A,this._defaultInjector=i}attachComponentPortal(e){let A;if(e.viewContainerRef){let i=e.injector||e.viewContainerRef.injector,n=i.get(Ub,null,{optional:!0})||void 0;A=e.viewContainerRef.createComponent(e.component,{index:e.viewContainerRef.length,injector:i,ngModuleRef:n,projectableNodes:e.projectableNodes||void 0}),this.setDisposeFn(()=>A.destroy())}else{let i=this._appRef,n=e.injector||this._defaultInjector||ft.NULL,o=n.get(Gr,i.injector);A=cp(e.component,{elementInjector:n,environmentInjector:o,projectableNodes:e.projectableNodes||void 0}),i.attachView(A.hostView),this.setDisposeFn(()=>{i.viewCount>0&&i.detachView(A.hostView),A.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(A)),this._attachedPortal=e,A}attachTemplatePortal(e){let A=e.viewContainerRef,i=A.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return i.rootNodes.forEach(n=>this.outletElement.appendChild(n)),i.detectChanges(),this.setDisposeFn(()=>{let n=A.indexOf(i);n!==-1&&A.remove(n)}),this._attachedPortal=e,i}attachDomPortal=e=>{let A=e.element;A.parentNode;let i=this.outletElement.ownerDocument.createComment("dom-portal");A.parentNode.insertBefore(i,A),this.outletElement.appendChild(A),this._attachedPortal=e,super.setDisposeFn(()=>{i.parentNode&&i.parentNode.replaceChild(A,i)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(e){return e.hostView.rootNodes[0]}},PH=(()=>{class t extends Is{constructor(){let A=h(Tn),i=h(Ho);super(A,i)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[dt]})}return t})(),Jg=(()=>{class t extends _2{_moduleRef=h(Ub,{optional:!0});_document=h(Xt);_viewContainerRef=h(Ho);_isInitialized=!1;_attachedRef=null;constructor(){super()}get portal(){return this._attachedPortal}set portal(A){this.hasAttached()&&!A&&!this._isInitialized||(this.hasAttached()&&super.detach(),A&&super.attach(A),this._attachedPortal=A||null)}attached=new WA;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(A){A.setAttachedHost(this);let i=A.viewContainerRef!=null?A.viewContainerRef:this._viewContainerRef,n=i.createComponent(A.component,{index:i.length,injector:A.injector||i.injector,projectableNodes:A.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0});return i!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=A,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(A){A.setAttachedHost(this);let i=this._viewContainerRef.createEmbeddedView(A.templateRef,A.context,{injector:A.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=A,this._attachedRef=i,this.attached.emit(i),i}attachDomPortal=A=>{let i=A.element;i.parentNode;let n=this._document.createComment("dom-portal");A.setAttachedHost(this),i.parentNode.insertBefore(n,i),this._getRootNode().appendChild(i),this._attachedPortal=A,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(i,n)})};_getRootNode(){let A=this._viewContainerRef.element.nativeElement;return A.nodeType===A.ELEMENT_NODE?A:A.parentNode}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[dt]})}return t})(),d0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();var jH=Gp();function gE(t){return new V6(t.get(Gs),t.get(Xt))}var V6=class{_viewportRuler;_previousHTMLStyles={top:"",left:""};_previousScrollPosition;_isEnabled=!1;_document;constructor(e,A){this._viewportRuler=e,this._document=A}attach(){}enable(){if(this._canBeEnabled()){let e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=qa(-this._previousScrollPosition.left),e.style.top=qa(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let e=this._document.documentElement,A=this._document.body,i=e.style,n=A.style,o=i.scrollBehavior||"",a=n.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),jH&&(i.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),jH&&(i.scrollBehavior=o,n.scrollBehavior=a)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let A=this._document.documentElement,i=this._viewportRuler.getViewportSize();return A.scrollHeight>i.height||A.scrollWidth>i.width}};function Az(t,e){return new W6(t.get(I0),t.get(Oe),t.get(Gs),e)}var W6=class{_scrollDispatcher;_ngZone;_viewportRuler;_config;_scrollSubscription=null;_overlayRef;_initialScrollPosition;constructor(e,A,i,n){this._scrollDispatcher=e,this._ngZone=A,this._viewportRuler=i,this._config=n}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(this._scrollSubscription)return;let e=this._scrollDispatcher.scrolled(0).pipe(Ze(A=>!A||!this._overlayRef.overlayElement.contains(A.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{let A=this._viewportRuler.getViewportScrollPosition().top;Math.abs(A-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}_detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}};var h4=class{enable(){}disable(){}attach(){}};function qM(t,e){return e.some(A=>{let i=t.bottomA.bottom,o=t.rightA.right;return i||n||o||a})}function qH(t,e){return e.some(A=>{let i=t.topA.bottom,o=t.leftA.right;return i||n||o||a})}function dC(t,e){return new Z6(t.get(I0),t.get(Gs),t.get(Oe),e)}var Z6=class{_scrollDispatcher;_viewportRuler;_ngZone;_config;_scrollSubscription=null;_overlayRef;constructor(e,A,i,n){this._scrollDispatcher=e,this._viewportRuler=A,this._ngZone=i,this._config=n}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(!this._scrollSubscription){let e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let A=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:n}=this._viewportRuler.getViewportSize();qM(A,[{width:i,height:n,bottom:n,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},ez=(()=>{class t{_injector=h(ft);constructor(){}noop=()=>new h4;close=A=>Az(this._injector,A);block=()=>gE(this._injector);reposition=A=>dC(this._injector,A);static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),rc=class{positionStrategy;scrollStrategy=new h4;panelClass="";hasBackdrop=!1;backdropClass="cdk-overlay-dark-backdrop";disableAnimations;width;height;minWidth;minHeight;maxWidth;maxHeight;direction;disposeOnNavigation=!1;usePopover;constructor(e){if(e){let A=Object.keys(e);for(let i of A)e[i]!==void 0&&(this[i]=e[i])}}};var X6=class{connectionPair;scrollableViewProperties;constructor(e,A){this.connectionPair=e,this.scrollableViewProperties=A}};var tz=(()=>{class t{_attachedOverlays=[];_document=h(Xt);_isAttached=!1;constructor(){}ngOnDestroy(){this.detach()}add(A){this.remove(A),this._attachedOverlays.push(A)}remove(A){let i=this._attachedOverlays.indexOf(A);i>-1&&this._attachedOverlays.splice(i,1),this._attachedOverlays.length===0&&this.detach()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),iz=(()=>{class t extends tz{_ngZone=h(Oe);_renderer=h(Kr).createRenderer(null,null);_cleanupKeydown;add(A){super.add(A),this._isAttached||(this._ngZone.runOutsideAngular(()=>{this._cleanupKeydown=this._renderer.listen("body","keydown",this._keydownListener)}),this._isAttached=!0)}detach(){this._isAttached&&(this._cleanupKeydown?.(),this._isAttached=!1)}_keydownListener=A=>{let i=this._attachedOverlays;for(let n=i.length-1;n>-1;n--)if(i[n]._keydownEvents.observers.length>0){this._ngZone.run(()=>i[n]._keydownEvents.next(A));break}};static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),nz=(()=>{class t extends tz{_platform=h(Ii);_ngZone=h(Oe);_renderer=h(Kr).createRenderer(null,null);_cursorOriginalValue;_cursorStyleIsSet=!1;_pointerDownEventTarget=null;_cleanups;add(A){if(super.add(A),!this._isAttached){let i=this._document.body,n={capture:!0},o=this._renderer;this._cleanups=this._ngZone.runOutsideAngular(()=>[o.listen(i,"pointerdown",this._pointerDownListener,n),o.listen(i,"click",this._clickListener,n),o.listen(i,"auxclick",this._clickListener,n),o.listen(i,"contextmenu",this._clickListener,n)]),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){this._isAttached&&(this._cleanups?.forEach(A=>A()),this._cleanups=void 0,this._platform.IOS&&this._cursorStyleIsSet&&(this._document.body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1)}_pointerDownListener=A=>{this._pointerDownEventTarget=Jr(A)};_clickListener=A=>{let i=Jr(A),n=A.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:i;this._pointerDownEventTarget=null;let o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){let r=o[a];if(r._outsidePointerEvents.observers.length<1||!r.hasAttached())continue;if(VH(r.overlayElement,i)||VH(r.overlayElement,n))break;let s=r._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>s.next(A)):s.next(A)}};static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function VH(t,e){let A=typeof ShadowRoot<"u"&&ShadowRoot,i=e;for(;i;){if(i===t)return!0;i=A&&i instanceof ShadowRoot?i.host:i.parentNode}return!1}var oz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],hostAttrs:["cdk-overlay-style-loader",""],decls:0,vars:0,template:function(i,n){},styles:[`.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:auto;top:0;left:0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto} +`],encapsulation:2,changeDetection:0})}return t})(),e8=(()=>{class t{_platform=h(Ii);_containerElement;_document=h(Xt);_styleLoader=h(Xn);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let A="cdk-overlay-container";if(this._platform.isBrowser||E9()){let n=this._document.querySelectorAll(`.${A}[platform="server"], .${A}[platform="test"]`);for(let o=0;o{let e=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),e.style.pointerEvents="none",e.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}};function WM(t){return t&&t.nodeType===1}var rE=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new $A;_attachments=new $A;_detachments=new $A;_positionStrategy;_scrollStrategy;_locationChanges=Jn.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_disposed=!1;_previousHostParent;_keydownEvents=new $A;_outsidePointerEvents=new $A;_afterNextRenderRef;constructor(e,A,i,n,o,a,r,s,g,l=!1,C,I){this._portalOutlet=e,this._host=A,this._pane=i,this._config=n,this._ngZone=o,this._keyboardDispatcher=a,this._document=r,this._location=s,this._outsideClickDispatcher=g,this._animationsDisabled=l,this._injector=C,this._renderer=I,n.scrollStrategy&&(this._scrollStrategy=n.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=n.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}attach(e){if(this._disposed)return null;this._attachHost();let A=this._portalOutlet.attach(e);return this._positionStrategy?.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=Yn(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof A?.onDestroy=="function"&&A.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),A}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let e=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){if(this._disposed)return;let e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,e&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent(),this._disposed=!0}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=gA(gA({},this._config),e),this._updateElementSize()}setDirection(e){this._config=be(gA({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){let e=this._config.direction;return e?typeof e=="string"?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let e=this._pane.style;e.width=qa(this._config.width),e.height=qa(this._config.height),e.minWidth=qa(this._config.minWidth),e.minHeight=qa(this._config.minHeight),e.maxWidth=qa(this._config.maxWidth),e.maxHeight=qa(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachHost(){if(!this._host.parentElement){let e=this._config.usePopover?this._positionStrategy?.getPopoverInsertionPoint?.():null;WM(e)?e.after(this._host):e?.type==="parent"?e.element.appendChild(this._host):this._previousHostParent?.appendChild(this._host)}if(this._config.usePopover)try{this._host.showPopover()}catch{}}_attachBackdrop(){let e="cdk-overlay-backdrop-showing";this._backdropRef?.dispose(),this._backdropRef=new VM(this._document,this._renderer,this._ngZone,A=>{this._backdropClick.next(A)}),this._animationsDisabled&&this._backdropRef.element.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropRef.element,this._config.backdropClass,!0),this._config.usePopover?this._host.prepend(this._backdropRef.element):this._host.parentElement.insertBefore(this._backdropRef.element,this._host),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._backdropRef?.element.classList.add(e))}):this._backdropRef.element.classList.add(e)}_updateStackingOrder(){!this._config.usePopover&&this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){this._animationsDisabled?(this._backdropRef?.dispose(),this._backdropRef=null):this._backdropRef?.detach()}_toggleClasses(e,A,i){let n=xB(A||[]).filter(o=>!!o);n.length&&(i?e.classList.add(...n):e.classList.remove(...n))}_detachContentWhenEmpty(){let e=!1;try{this._detachContentAfterRenderRef=Yn(()=>{e=!0,this._detachContent()},{injector:this._injector})}catch(A){if(e)throw A;this._detachContent()}globalThis.MutationObserver&&this._pane&&(this._detachContentMutationObserver||=new globalThis.MutationObserver(()=>{this._detachContent()}),this._detachContentMutationObserver.observe(this._pane,{childList:!0}))}_detachContent(){(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),this._completeDetachContent())}_completeDetachContent(){this._detachContentAfterRenderRef?.destroy(),this._detachContentAfterRenderRef=void 0,this._detachContentMutationObserver?.disconnect()}_disposeScrollStrategy(){let e=this._scrollStrategy;e?.disable(),e?.detach?.()}},WH="cdk-overlay-connected-position-bounding-box",q1A=/([A-Za-z%]+)$/;function q1(t,e){return new $6(e,t.get(Gs),t.get(Xt),t.get(Ii),t.get(e8))}var $6=class{_viewportRuler;_document;_platform;_overlayContainer;_overlayRef;_isInitialRender=!1;_lastBoundingBoxSize={width:0,height:0};_isPushed=!1;_canPush=!0;_growAfterOpen=!1;_hasFlexibleDimensions=!0;_positionLocked=!1;_originRect;_overlayRect;_viewportRect;_containerRect;_viewportMargin=0;_scrollables=[];_preferredPositions=[];_origin;_pane;_isDisposed=!1;_boundingBox=null;_lastPosition=null;_lastScrollVisibility=null;_positionChanges=new $A;_resizeSubscription=Jn.EMPTY;_offsetX=0;_offsetY=0;_transformOriginSelector;_appliedPanelClasses=[];_previousPushAmount=null;_popoverLocation="global";positionChanges=this._positionChanges;get positions(){return this._preferredPositions}constructor(e,A,i,n,o){this._viewportRuler=A,this._document=i,this._platform=n,this._overlayContainer=o,this.setOrigin(e)}attach(e){this._overlayRef&&this._overlayRef,this._validatePositions(),e.hostElement.classList.add(WH),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._getContainerRect();let e=this._originRect,A=this._overlayRect,i=this._viewportRect,n=this._containerRect,o=[],a;for(let r of this._preferredPositions){let s=this._getOriginPoint(e,n,r),g=this._getOverlayPoint(s,A,r),l=this._getOverlayFit(g,A,i,r);if(l.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(r,s);return}if(this._canFitWithFlexibleDimensions(l,g,i)){o.push({position:r,origin:s,overlayRect:A,boundingBoxRect:this._calculateBoundingBoxRect(s,r)});continue}(!a||a.overlayFit.visibleAreas&&(s=l,r=g)}this._isPushed=!1,this._applyPosition(r.position,r.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(a.position,a.originPoint);return}this._applyPosition(a.position,a.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&j1(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(WH),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let e=this._lastPosition;e?(this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._getContainerRect(),this._applyPosition(e,this._getOriginPoint(this._originRect,this._containerRect,e))):this.apply()}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,e.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}withPopoverLocation(e){return this._popoverLocation=e,this}getPopoverInsertionPoint(){return this._popoverLocation==="global"?null:this._popoverLocation!=="inline"?this._popoverLocation:this._origin instanceof ge?this._origin.nativeElement:WM(this._origin)?this._origin:null}_getOriginPoint(e,A,i){let n;if(i.originX=="center")n=e.left+e.width/2;else{let a=this._isRtl()?e.right:e.left,r=this._isRtl()?e.left:e.right;n=i.originX=="start"?a:r}A.left<0&&(n-=A.left);let o;return i.originY=="center"?o=e.top+e.height/2:o=i.originY=="top"?e.top:e.bottom,A.top<0&&(o-=A.top),{x:n,y:o}}_getOverlayPoint(e,A,i){let n;i.overlayX=="center"?n=-A.width/2:i.overlayX==="start"?n=this._isRtl()?-A.width:0:n=this._isRtl()?0:-A.width;let o;return i.overlayY=="center"?o=-A.height/2:o=i.overlayY=="top"?0:-A.height,{x:e.x+n,y:e.y+o}}_getOverlayFit(e,A,i,n){let o=XH(A),{x:a,y:r}=e,s=this._getOffset(n,"x"),g=this._getOffset(n,"y");s&&(a+=s),g&&(r+=g);let l=0-a,C=a+o.width-i.width,I=0-r,d=r+o.height-i.height,B=this._subtractOverflows(o.width,l,C),E=this._subtractOverflows(o.height,I,d),Q=B*E;return{visibleArea:Q,isCompletelyWithinViewport:o.width*o.height===Q,fitsInViewportVertically:E===o.height,fitsInViewportHorizontally:B==o.width}}_canFitWithFlexibleDimensions(e,A,i){if(this._hasFlexibleDimensions){let n=i.bottom-A.y,o=i.right-A.x,a=ZH(this._overlayRef.getConfig().minHeight),r=ZH(this._overlayRef.getConfig().minWidth),s=e.fitsInViewportVertically||a!=null&&a<=n,g=e.fitsInViewportHorizontally||r!=null&&r<=o;return s&&g}return!1}_pushOverlayOnScreen(e,A,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};let n=XH(A),o=this._viewportRect,a=Math.max(e.x+n.width-o.width,0),r=Math.max(e.y+n.height-o.height,0),s=Math.max(o.top-i.top-e.y,0),g=Math.max(o.left-i.left-e.x,0),l=0,C=0;return n.width<=o.width?l=g||-a:l=e.xB&&!this._isInitialRender&&!this._growAfterOpen&&(a=e.y-B/2)}let s=A.overlayX==="start"&&!n||A.overlayX==="end"&&n,g=A.overlayX==="end"&&!n||A.overlayX==="start"&&n,l,C,I;if(g)I=i.width-e.x+this._getViewportMarginStart()+this._getViewportMarginEnd(),l=e.x-this._getViewportMarginStart();else if(s)C=e.x,l=i.right-e.x-this._getViewportMarginEnd();else{let d=Math.min(i.right-e.x+i.left,e.x),B=this._lastBoundingBoxSize.width;l=d*2,C=e.x-d,l>B&&!this._isInitialRender&&!this._growAfterOpen&&(C=e.x-B/2)}return{top:a,left:C,bottom:r,right:I,width:l,height:o}}_setBoundingBoxStyles(e,A){let i=this._calculateBoundingBoxRect(e,A);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));let n={};if(this._hasExactPosition())n.top=n.left="0",n.bottom=n.right="auto",n.maxHeight=n.maxWidth="",n.width=n.height="100%";else{let o=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;n.width=qa(i.width),n.height=qa(i.height),n.top=qa(i.top)||"auto",n.bottom=qa(i.bottom)||"auto",n.left=qa(i.left)||"auto",n.right=qa(i.right)||"auto",A.overlayX==="center"?n.alignItems="center":n.alignItems=A.overlayX==="end"?"flex-end":"flex-start",A.overlayY==="center"?n.justifyContent="center":n.justifyContent=A.overlayY==="bottom"?"flex-end":"flex-start",o&&(n.maxHeight=qa(o)),a&&(n.maxWidth=qa(a))}this._lastBoundingBoxSize=i,j1(this._boundingBox.style,n)}_resetBoundingBoxStyles(){j1(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){j1(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,A){let i={},n=this._hasExactPosition(),o=this._hasFlexibleDimensions,a=this._overlayRef.getConfig();if(n){let l=this._viewportRuler.getViewportScrollPosition();j1(i,this._getExactOverlayY(A,e,l)),j1(i,this._getExactOverlayX(A,e,l))}else i.position="static";let r="",s=this._getOffset(A,"x"),g=this._getOffset(A,"y");s&&(r+=`translateX(${s}px) `),g&&(r+=`translateY(${g}px)`),i.transform=r.trim(),a.maxHeight&&(n?i.maxHeight=qa(a.maxHeight):o&&(i.maxHeight="")),a.maxWidth&&(n?i.maxWidth=qa(a.maxWidth):o&&(i.maxWidth="")),j1(this._pane.style,i)}_getExactOverlayY(e,A,i){let n={top:"",bottom:""},o=this._getOverlayPoint(A,this._overlayRect,e);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),e.overlayY==="bottom"){let a=this._document.documentElement.clientHeight;n.bottom=`${a-(o.y+this._overlayRect.height)}px`}else n.top=qa(o.y);return n}_getExactOverlayX(e,A,i){let n={left:"",right:""},o=this._getOverlayPoint(A,this._overlayRect,e);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i));let a;if(this._isRtl()?a=e.overlayX==="end"?"left":"right":a=e.overlayX==="end"?"right":"left",a==="right"){let r=this._document.documentElement.clientWidth;n.right=`${r-(o.x+this._overlayRect.width)}px`}else n.left=qa(o.x);return n}_getScrollVisibility(){let e=this._getOriginRect(),A=this._pane.getBoundingClientRect(),i=this._scrollables.map(n=>n.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:qH(e,i),isOriginOutsideView:qM(e,i),isOverlayClipped:qH(A,i),isOverlayOutsideView:qM(A,i)}}_subtractOverflows(e,...A){return A.reduce((i,n)=>i-Math.max(n,0),e)}_getNarrowedViewportRect(){let e=this._document.documentElement.clientWidth,A=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._getViewportMarginTop(),left:i.left+this._getViewportMarginStart(),right:i.left+e-this._getViewportMarginEnd(),bottom:i.top+A-this._getViewportMarginBottom(),width:e-this._getViewportMarginStart()-this._getViewportMarginEnd(),height:A-this._getViewportMarginTop()-this._getViewportMarginBottom()}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,A){return A==="x"?e.offsetX==null?this._offsetX:e.offsetX:e.offsetY==null?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&xB(e).forEach(A=>{A!==""&&this._appliedPanelClasses.indexOf(A)===-1&&(this._appliedPanelClasses.push(A),this._pane.classList.add(A))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getViewportMarginStart(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.start??0}_getViewportMarginEnd(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.end??0}_getViewportMarginTop(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.top??0}_getViewportMarginBottom(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.bottom??0}_getOriginRect(){let e=this._origin;if(e instanceof ge)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();let A=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+A,height:i,width:A}}_getContainerRect(){let e=this._overlayRef.getConfig().usePopover&&this._popoverLocation!=="global",A=this._overlayContainer.getContainerElement();e&&(A.style.display="block");let i=A.getBoundingClientRect();return e&&(A.style.display=""),i}};function j1(t,e){for(let A in e)e.hasOwnProperty(A)&&(t[A]=e[A]);return t}function ZH(t){if(typeof t!="number"&&t!=null){let[e,A]=t.split(q1A);return!A||A==="px"?parseFloat(e):null}return t||null}function XH(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}function V1A(t,e){return t===e?!0:t.isOriginClipped===e.isOriginClipped&&t.isOriginOutsideView===e.isOriginOutsideView&&t.isOverlayClipped===e.isOverlayClipped&&t.isOverlayOutsideView===e.isOverlayOutsideView}var $H="cdk-global-overlay-wrapper";function L2(t){return new A8}var A8=class{_overlayRef;_cssPosition="static";_topOffset="";_bottomOffset="";_alignItems="";_xPosition="";_xOffset="";_width="";_height="";_isDisposed=!1;attach(e){let A=e.getConfig();this._overlayRef=e,this._width&&!A.width&&e.updateSize({width:this._width}),this._height&&!A.height&&e.updateSize({height:this._height}),e.hostElement.classList.add($H),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._xOffset=e,this._xPosition="left",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._xOffset=e,this._xPosition="right",this}start(e=""){return this._xOffset=e,this._xPosition="start",this}end(e=""){return this._xOffset=e,this._xPosition="end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._xPosition="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let e=this._overlayRef.overlayElement.style,A=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:n,height:o,maxWidth:a,maxHeight:r}=i,s=(n==="100%"||n==="100vw")&&(!a||a==="100%"||a==="100vw"),g=(o==="100%"||o==="100vh")&&(!r||r==="100%"||r==="100vh"),l=this._xPosition,C=this._xOffset,I=this._overlayRef.getConfig().direction==="rtl",d="",B="",E="";s?E="flex-start":l==="center"?(E="center",I?B=C:d=C):I?l==="left"||l==="end"?(E="flex-end",d=C):(l==="right"||l==="start")&&(E="flex-start",B=C):l==="left"||l==="start"?(E="flex-start",d=C):(l==="right"||l==="end")&&(E="flex-end",B=C),e.position=this._cssPosition,e.marginLeft=s?"0":d,e.marginTop=g?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=s?"0":B,A.justifyContent=E,A.alignItems=g?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let e=this._overlayRef.overlayElement.style,A=this._overlayRef.hostElement,i=A.style;A.classList.remove($H),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}},az=(()=>{class t{_injector=h(ft);constructor(){}global(){return L2()}flexibleConnectedTo(A){return q1(this._injector,A)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),u4=new yA("OVERLAY_DEFAULT_CONFIG");function gc(t,e){t.get(Xn).load(oz);let A=t.get(e8),i=t.get(Xt),n=t.get(an),o=t.get(iC),a=t.get(xo),r=t.get(Fi,null,{optional:!0})||t.get(Kr).createRenderer(null,null),s=new rc(e),g=t.get(u4,null,{optional:!0})?.usePopover??!0;s.direction=s.direction||a.value,"showPopover"in i.body?s.usePopover=e?.usePopover??g:s.usePopover=!1;let l=i.createElement("div"),C=i.createElement("div");l.id=n.getId("cdk-overlay-"),l.classList.add("cdk-overlay-pane"),C.appendChild(l),s.usePopover&&(C.setAttribute("popover","manual"),C.classList.add("cdk-overlay-popover"));let I=s.usePopover?s.positionStrategy?.getPopoverInsertionPoint?.():null;return WM(I)?I.after(C):I?.type==="parent"?I.element.appendChild(C):A.getContainerElement().appendChild(C),new rE(new Q4(l,o,t),C,l,s,t.get(Oe),t.get(iz),i,t.get(n0),t.get(nz),e?.disableAnimations??t.get(p1,null,{optional:!0})==="NoopAnimations",t.get(Gr),r)}var t8=(()=>{class t{scrollStrategies=h(ez);_positionBuilder=h(az);_injector=h(ft);constructor(){}create(A){return gc(this._injector,A)}position(){return this._positionBuilder}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),W1A=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Z1A=new yA("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>dC(t)}}),sE=(()=>{class t{elementRef=h(ge);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]})}return t})(),rz=new yA("cdk-connected-overlay-default-config"),i8=(()=>{class t{_dir=h(xo,{optional:!0});_injector=h(ft);_overlayRef;_templatePortal;_backdropSubscription=Jn.EMPTY;_attachSubscription=Jn.EMPTY;_detachSubscription=Jn.EMPTY;_positionSubscription=Jn.EMPTY;_offsetX;_offsetY;_position;_scrollStrategyFactory=h(Z1A);_ngZone=h(Oe);origin;positions;positionStrategy;get offsetX(){return this._offsetX}set offsetX(A){this._offsetX=A,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(A){this._offsetY=A,this._position&&this._updatePositionStrategy(this._position)}width;height;minWidth;minHeight;backdropClass;panelClass;viewportMargin=0;scrollStrategy;open=!1;disableClose=!1;transformOriginSelector;hasBackdrop=!1;lockPosition=!1;flexibleDimensions=!1;growAfterOpen=!1;push=!1;disposeOnNavigation=!1;usePopover;matchWidth=!1;set _config(A){typeof A!="string"&&this._assignConfig(A)}backdropClick=new WA;positionChange=new WA;attach=new WA;detach=new WA;overlayKeydown=new WA;overlayOutsideClick=new WA;constructor(){let A=h(Tn),i=h(Ho),n=h(rz,{optional:!0}),o=h(u4,{optional:!0});this.usePopover=o?.usePopover===!1?null:"global",this._templatePortal=new Is(A,i),this.scrollStrategy=this._scrollStrategyFactory(),n&&this._assignConfig(n)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef?.dispose()}ngOnChanges(A){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef?.updateSize({width:this._getWidth(),minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),A.origin&&this.open&&this._position.apply()),A.open&&(this.open?this.attachOverlay():this.detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=W1A);let A=this._overlayRef=gc(this._injector,this._buildConfig());this._attachSubscription=A.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=A.detachments().subscribe(()=>this.detach.emit()),A.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),i.keyCode===27&&!this.disableClose&&!ma(i)&&(i.preventDefault(),this.detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{let n=this._getOriginElement(),o=Jr(i);(!n||n!==o&&!n.contains(o))&&this.overlayOutsideClick.next(i)})}_buildConfig(){let A=this._position=this.positionStrategy||this._createPositionStrategy(),i=new rc({direction:this._dir||"ltr",positionStrategy:A,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation,usePopover:!!this.usePopover});return(this.height||this.height===0)&&(i.height=this.height),(this.minWidth||this.minWidth===0)&&(i.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(A){let i=this.positions.map(n=>({originX:n.originX,originY:n.originY,overlayX:n.overlayX,overlayY:n.overlayY,offsetX:n.offsetX||this.offsetX,offsetY:n.offsetY||this.offsetY,panelClass:n.panelClass||void 0}));return A.setOrigin(this._getOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector).withPopoverLocation(this.usePopover===null?"global":this.usePopover)}_createPositionStrategy(){let A=q1(this._injector,this._getOrigin());return this._updatePositionStrategy(A),A}_getOrigin(){return this.origin instanceof sE?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof sE?this.origin.elementRef.nativeElement:this.origin instanceof ge?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}_getWidth(){return this.width?this.width:this.matchWidth?this._getOriginElement()?.getBoundingClientRect?.().width:void 0}attachOverlay(){this._overlayRef||this._createOverlay();let A=this._overlayRef;A.getConfig().hasBackdrop=this.hasBackdrop,A.updateSize({width:this._getWidth()}),A.hasAttached()||A.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=A.backdropClick().subscribe(i=>this.backdropClick.emit(i)):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(sU(()=>this.positionChange.observers.length>0)).subscribe(i=>{this._ngZone.run(()=>this.positionChange.emit(i)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()})),this.open=!0}detachOverlay(){this._overlayRef?.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.open=!1}_assignConfig(A){this.origin=A.origin??this.origin,this.positions=A.positions??this.positions,this.positionStrategy=A.positionStrategy??this.positionStrategy,this.offsetX=A.offsetX??this.offsetX,this.offsetY=A.offsetY??this.offsetY,this.width=A.width??this.width,this.height=A.height??this.height,this.minWidth=A.minWidth??this.minWidth,this.minHeight=A.minHeight??this.minHeight,this.backdropClass=A.backdropClass??this.backdropClass,this.panelClass=A.panelClass??this.panelClass,this.viewportMargin=A.viewportMargin??this.viewportMargin,this.scrollStrategy=A.scrollStrategy??this.scrollStrategy,this.disableClose=A.disableClose??this.disableClose,this.transformOriginSelector=A.transformOriginSelector??this.transformOriginSelector,this.hasBackdrop=A.hasBackdrop??this.hasBackdrop,this.lockPosition=A.lockPosition??this.lockPosition,this.flexibleDimensions=A.flexibleDimensions??this.flexibleDimensions,this.growAfterOpen=A.growAfterOpen??this.growAfterOpen,this.push=A.push??this.push,this.disposeOnNavigation=A.disposeOnNavigation??this.disposeOnNavigation,this.usePopover=A.usePopover??this.usePopover,this.matchWidth=A.matchWidth??this.matchWidth}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",he],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",he],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",he],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",he],push:[2,"cdkConnectedOverlayPush","push",he],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",he],usePopover:[0,"cdkConnectedOverlayUsePopover","usePopover"],matchWidth:[2,"cdkConnectedOverlayMatchWidth","matchWidth",he],_config:[0,"cdkConnectedOverlay","_config"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ti]})}return t})(),ll=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[t8],imports:[Gi,d0,q6,q6]})}return t})();function X1A(t,e){}var G2=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var XM=(()=>{class t extends _2{_elementRef=h(ge);_focusTrapFactory=h(yu);_config;_interactivityChecker=h(NB);_ngZone=h(Oe);_focusMonitor=h(nr);_renderer=h(Fi);_changeDetectorRef=h(mt);_injector=h(ft);_platform=h(Ii);_document=h(Xt);_portalOutlet;_focusTrapped=new $A;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=h(G2,{optional:!0})||new G2,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(A){this._ariaLabelledByQueue.push(A),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(A){let i=this._ariaLabelledByQueue.indexOf(A);i>-1&&(this._ariaLabelledByQueue.splice(i,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(A){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachComponentPortal(A);return this._contentAttached(),i}attachTemplatePortal(A){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachTemplatePortal(A);return this._contentAttached(),i}attachDomPortal=A=>{this._portalOutlet.hasAttached();let i=this._portalOutlet.attachDomPortal(A);return this._contentAttached(),i};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(A,i){this._interactivityChecker.isFocusable(A)||(A.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),a(),A.removeAttribute("tabindex")},o=this._renderer.listen(A,"blur",n),a=this._renderer.listen(A,"mousedown",n)})),A.focus(i)}_focusByCssSelector(A,i){let n=this._elementRef.nativeElement.querySelector(A);n&&this._forceFocus(n,i)}_trapFocus(A){this._isDestroyed||Yn(()=>{let i=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||i.focus(A);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(A)||this._focusDialogContainer(A);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',A);break;default:this._focusByCssSelector(this._config.autoFocus,A);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let A=this._config.restoreFocus,i=null;if(typeof A=="string"?i=this._document.querySelector(A):typeof A=="boolean"?i=A?this._elementFocusedBeforeDialogWasOpened:null:A&&(i=A),this._config.restoreFocus&&i&&typeof i.focus=="function"){let n=mu(),o=this._elementRef.nativeElement;(!n||n===this._document.body||n===o||o.contains(n))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(A){this._elementRef.nativeElement.focus?.(A)}_containsFocus(){let A=this._elementRef.nativeElement,i=mu();return A===i||A.contains(i)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=mu()))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(i,n){if(i&1&&ai(Jg,7),i&2){let o;ce(o=Ce())&&(n._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,n){i&2&&ie("id",n._config.id||null)("role",n._config.role)("aria-modal",n._config.ariaModal)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null)},features:[dt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,n){i&1&&vt(0,X1A,0,0,"ng-template",0)},dependencies:[Jg],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit} +`],encapsulation:2})}return t})(),f4=class{overlayRef;config;componentInstance=null;componentRef=null;containerInstance;disableClose;closed=new $A;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(e,A){this.overlayRef=e,this.config=A,this.disableClose=A.disableClose,this.backdropClick=e.backdropClick(),this.keydownEvents=e.keydownEvents(),this.outsidePointerEvents=e.outsidePointerEvents(),this.id=A.id,this.keydownEvents.subscribe(i=>{i.keyCode===27&&!this.disableClose&&!ma(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=e.detachments().subscribe(()=>{A.closeOnOverlayDetachments!==!1&&this.close()})}close(e,A){if(this._canClose(e)){let i=this.closed;this.containerInstance._closeInteractionType=A?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(e),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(e="",A=""){return this.overlayRef.updateSize({width:e,height:A}),this}addPanelClass(e){return this.overlayRef.addPanelClass(e),this}removePanelClass(e){return this.overlayRef.removePanelClass(e),this}_canClose(e){let A=this.config;return!!this.containerInstance&&(!A.closePredicate||A.closePredicate(e,A,this.componentInstance))}},$1A=new yA("DialogScrollStrategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>gE(t)}}),AdA=new yA("DialogData"),edA=new yA("DefaultDialogConfig");function tdA(t){let e=jA(t),A=new WA;return{valueSignal:e,get value(){return e()},change:A,ngOnDestroy(){A.complete()}}}var $M=(()=>{class t{_injector=h(ft);_defaultOptions=h(edA,{optional:!0});_parentDialog=h(t,{optional:!0,skipSelf:!0});_overlayContainer=h(e8);_idGenerator=h(an);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new $A;_afterOpenedAtThisLevel=new $A;_ariaHiddenElements=new Map;_scrollStrategy=h($1A);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=t0(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(cn(void 0)));constructor(){}open(A,i){let n=this._defaultOptions||new G2;i=gA(gA({},n),i),i.id=i.id||this._idGenerator.getId("cdk-dialog-"),i.id&&this.getDialogById(i.id);let o=this._getOverlayConfig(i),a=gc(this._injector,o),r=new f4(a,i),s=this._attachContainer(a,r,i);if(r.containerInstance=s,!this.openDialogs.length){let g=this._overlayContainer.getContainerElement();s._focusTrapped?s._focusTrapped.pipe(oo(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(g)}):this._hideNonDialogContentFromAssistiveTechnology(g)}return this._attachDialogContent(A,r,s,i),this.openDialogs.push(r),r.closed.subscribe(()=>this._removeOpenDialog(r,!0)),this.afterOpened.next(r),r}closeAll(){ZM(this.openDialogs,A=>A.close())}getDialogById(A){return this.openDialogs.find(i=>i.id===A)}ngOnDestroy(){ZM(this._openDialogsAtThisLevel,A=>{A.config.closeOnDestroy===!1&&this._removeOpenDialog(A,!1)}),ZM(this._openDialogsAtThisLevel,A=>A.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(A){let i=new rc({positionStrategy:A.positionStrategy||L2().centerHorizontally().centerVertically(),scrollStrategy:A.scrollStrategy||this._scrollStrategy(),panelClass:A.panelClass,hasBackdrop:A.hasBackdrop,direction:A.direction,minWidth:A.minWidth,minHeight:A.minHeight,maxWidth:A.maxWidth,maxHeight:A.maxHeight,width:A.width,height:A.height,disposeOnNavigation:A.closeOnNavigation,disableAnimations:A.disableAnimations});return A.backdropClass&&(i.backdropClass=A.backdropClass),i}_attachContainer(A,i,n){let o=n.injector||n.viewContainerRef?.injector,a=[{provide:G2,useValue:n},{provide:f4,useValue:i},{provide:rE,useValue:A}],r;n.container?typeof n.container=="function"?r=n.container:(r=n.container.type,a.push(...n.container.providers(n))):r=XM;let s=new Ug(r,n.viewContainerRef,ft.create({parent:o||this._injector,providers:a}));return A.attach(s).instance}_attachDialogContent(A,i,n,o){if(A instanceof Tn){let a=this._createInjector(o,i,n,void 0),r={$implicit:o.data,dialogRef:i};o.templateContext&&(r=gA(gA({},r),typeof o.templateContext=="function"?o.templateContext():o.templateContext)),n.attachTemplatePortal(new Is(A,null,r,a))}else{let a=this._createInjector(o,i,n,this._injector),r=n.attachComponentPortal(new Ug(A,o.viewContainerRef,a));i.componentRef=r,i.componentInstance=r.instance}}_createInjector(A,i,n,o){let a=A.injector||A.viewContainerRef?.injector,r=[{provide:AdA,useValue:A.data},{provide:f4,useValue:i}];return A.providers&&(typeof A.providers=="function"?r.push(...A.providers(i,A,n)):r.push(...A.providers)),A.direction&&(!a||!a.get(xo,null,{optional:!0}))&&r.push({provide:xo,useValue:tdA(A.direction)}),ft.create({parent:a||o,providers:r})}_removeOpenDialog(A,i){let n=this.openDialogs.indexOf(A);n>-1&&(this.openDialogs.splice(n,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,a)=>{o?a.setAttribute("aria-hidden",o):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(A){if(A.parentElement){let i=A.parentElement.children;for(let n=i.length-1;n>-1;n--){let o=i[n];o!==A&&o.nodeName!=="SCRIPT"&&o.nodeName!=="STYLE"&&!o.hasAttribute("aria-live")&&!o.hasAttribute("popover")&&(this._ariaHiddenElements.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let A=this._parentDialog;return A?A._getAfterAllClosed():this._afterAllClosedAtThisLevel}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ZM(t,e){let A=t.length;for(;A--;)e(t[A])}var sz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[$M],imports:[ll,d0,bu,d0]})}return t})();function idA(t,e){}var o8=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;position;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;delayFocusTrap=!0;scrollStrategy;closeOnNavigation=!0;enterAnimationDuration;exitAnimationDuration},Ak="mdc-dialog--open",gz="mdc-dialog--opening",lz="mdc-dialog--closing",ndA=150,odA=75,adA=(()=>{class t extends XM{_animationStateChanged=new WA;_animationsEnabled=!qi();_actionSectionCount=0;_hostElement=this._elementRef.nativeElement;_enterAnimationDuration=this._animationsEnabled?Cz(this._config.enterAnimationDuration)??ndA:0;_exitAnimationDuration=this._animationsEnabled?Cz(this._config.exitAnimationDuration)??odA:0;_animationTimer=null;_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(cz,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(gz,Ak)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(Ak),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(Ak),this._animationsEnabled?(this._hostElement.style.setProperty(cz,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(lz)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(A){this._actionSectionCount+=A,this._changeDetectorRef.markForCheck()}_finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)};_finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})};_clearAnimationClasses(){this._hostElement.classList.remove(gz,lz)}_waitForAnimationToComplete(A,i){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,A)}_requestAnimationFrame(A){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(A):A()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(A){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:A})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(A){let i=super.attachComponentPortal(A);return i.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),i}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(i,n){i&2&&(vo("id",n._config.id),ie("aria-modal",n._config.ariaModal)("role",n._config.role)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null),ae("_mat-animation-noopable",!n._animationsEnabled)("mat-mdc-dialog-container-with-actions",n._actionSectionCount>0))},features:[dt],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,n){i&1&&(m(0,"div",0)(1,"div",1),vt(2,idA,0,0,"ng-template",2),w()())},dependencies:[Jg],styles:[`.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 560px);min-width:var(--mat-dialog-container-min-width, 280px)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, calc(100vw - 32px))}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, none);border-radius:var(--mat-dialog-container-shape, var(--mat-sys-corner-extra-large, 4px));background-color:var(--mat-dialog-container-color, var(--mat-sys-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 6px 24px 13px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mat-dialog-subhead-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-dialog-subhead-font, var(--mat-sys-headline-small-font, inherit));line-height:var(--mat-dialog-subhead-line-height, var(--mat-sys-headline-small-line-height, 1.5rem));font-size:var(--mat-dialog-subhead-size, var(--mat-sys-headline-small-size, 1rem));font-weight:var(--mat-dialog-subhead-weight, var(--mat-sys-headline-small-weight, 400));letter-spacing:var(--mat-dialog-subhead-tracking, var(--mat-sys-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mat-dialog-supporting-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mat-dialog-supporting-text-font, var(--mat-sys-body-medium-font, inherit));line-height:var(--mat-dialog-supporting-text-line-height, var(--mat-sys-body-medium-line-height, 1.5rem));font-size:var(--mat-dialog-supporting-text-size, var(--mat-sys-body-medium-size, 1rem));font-weight:var(--mat-dialog-supporting-text-weight, var(--mat-sys-body-medium-weight, 400));letter-spacing:var(--mat-dialog-supporting-text-tracking, var(--mat-sys-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px 0)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;box-sizing:border-box;min-height:52px;margin:0;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 16px 24px);justify-content:var(--mat-dialog-actions-alignment, flex-end)}@media(forced-colors: active){.mat-mdc-dialog-actions{border-top-color:CanvasText}}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents} +`],encapsulation:2})}return t})(),cz="--mat-dialog-transition-duration";function Cz(t){return t==null?null:typeof t=="number"?t:t.endsWith("ms")?tg(t.substring(0,t.length-2)):t.endsWith("s")?tg(t.substring(0,t.length-1))*1e3:t==="0"?0:null}var n8=(function(t){return t[t.OPEN=0]="OPEN",t[t.CLOSING=1]="CLOSING",t[t.CLOSED=2]="CLOSED",t})(n8||{}),Po=class{_ref;_config;_containerInstance;componentInstance;componentRef=null;disableClose;id;_afterOpened=new Pl(1);_beforeClosed=new Pl(1);_result;_closeFallbackTimeout;_state=n8.OPEN;_closeInteractionType;constructor(e,A,i){this._ref=e,this._config=A,this._containerInstance=i,this.disableClose=A.disableClose,this.id=e.id,e.addPanelClass("mat-mdc-dialog-panel"),i._animationStateChanged.pipe(Ze(n=>n.state==="opened"),oo(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(Ze(n=>n.state==="closed"),oo(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),hi(this.backdropClick(),this.keydownEvents().pipe(Ze(n=>n.keyCode===27&&!this.disableClose&&!ma(n)))).subscribe(n=>{this.disableClose||(n.preventDefault(),Iz(this,n.type==="keydown"?"keyboard":"mouse"))})}close(e){let A=this._config.closePredicate;A&&!A(e,this._config,this.componentInstance)||(this._result=e,this._containerInstance._animationStateChanged.pipe(Ze(i=>i.state==="closing"),oo(1)).subscribe(i=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),i.totalTime+100)}),this._state=n8.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(e){let A=this._ref.config.positionStrategy;return e&&(e.left||e.right)?e.left?A.left(e.left):A.right(e.right):A.centerHorizontally(),e&&(e.top||e.bottom)?e.top?A.top(e.top):A.bottom(e.bottom):A.centerVertically(),this._ref.updatePosition(),this}updateSize(e="",A=""){return this._ref.updateSize(e,A),this}addPanelClass(e){return this._ref.addPanelClass(e),this}removePanelClass(e){return this._ref.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=n8.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Iz(t,e,A){return t._closeInteractionType=e,t.close(A)}var ka=new yA("MatMdcDialogData"),rdA=new yA("mat-mdc-dialog-default-options"),sdA=new yA("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>gE(t)}}),Ks=(()=>{class t{_defaultOptions=h(rdA,{optional:!0});_scrollStrategy=h(sdA);_parentDialog=h(t,{optional:!0,skipSelf:!0});_idGenerator=h(an);_injector=h(ft);_dialog=h($M);_animationsDisabled=qi();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new $A;_afterOpenedAtThisLevel=new $A;dialogConfigClass=o8;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let A=this._parentDialog;return A?A._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=t0(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(cn(void 0)));constructor(){this._dialogRefConstructor=Po,this._dialogContainerType=adA,this._dialogDataToken=ka}open(A,i){let n;i=gA(gA({},this._defaultOptions||new o8),i),i.id=i.id||this._idGenerator.getId("mat-mdc-dialog-"),i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();let o=this._dialog.open(A,be(gA({},i),{positionStrategy:L2(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||i.enterAnimationDuration?.toLocaleString()==="0"||i.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:G2,useValue:i}]},templateContext:()=>({dialogRef:n}),providers:(a,r,s)=>(n=new this._dialogRefConstructor(a,i,s),n.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:s},{provide:this._dialogDataToken,useValue:r.data},{provide:this._dialogRefConstructor,useValue:n}])}));return n.componentRef=o.componentRef,n.componentInstance=o.componentInstance,this.openDialogs.push(n),this.afterOpened.next(n),n.afterClosed().subscribe(()=>{let a=this.openDialogs.indexOf(n);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),n}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(A){return this.openDialogs.find(i=>i.id===A)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(A){let i=A.length;for(;i--;)A[i].close()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),K2=(()=>{class t{dialogRef=h(Po,{optional:!0});_elementRef=h(ge);_dialog=h(Ks);ariaLabel;type="button";dialogResult;_matDialogClose;constructor(){}ngOnInit(){this.dialogRef||(this.dialogRef=Bz(this._elementRef,this._dialog.openDialogs))}ngOnChanges(A){let i=A._matDialogClose||A._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(A){Iz(this.dialogRef,A.screenX===0&&A.screenY===0?"keyboard":"mouse",this.dialogResult)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(i,n){i&1&&eA("click",function(a){return n._onButtonClick(a)}),i&2&&ie("aria-label",n.ariaLabel||null)("type",n.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[ti]})}return t})(),dz=(()=>{class t{_dialogRef=h(Po,{optional:!0});_elementRef=h(ge);_dialog=h(Ks);constructor(){}ngOnInit(){this._dialogRef||(this._dialogRef=Bz(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t})}return t})(),Ua=(()=>{class t extends dz{id=h(an).getId("mat-mdc-dialog-title-");_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(i,n){i&2&&vo("id",n.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],features:[dt]})}return t})(),yr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],features:[ap([IC])]})}return t})(),or=(()=>{class t extends dz{align;_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(i,n){i&2&&ae("mat-mdc-dialog-actions-align-start",n.align==="start")("mat-mdc-dialog-actions-align-center",n.align==="center")("mat-mdc-dialog-actions-align-end",n.align==="end")},inputs:{align:"align"},features:[dt]})}return t})();function Bz(t,e){let A=t.nativeElement.parentElement;for(;A&&!A.classList.contains("mat-mdc-dialog-container");)A=A.parentElement;return A?e.find(i=>i.id===A.id):null}var Ez=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[Ks],imports:[sz,ll,d0,Gi]})}return t})();var a8=(()=>{class t{get vertical(){return this._vertical}set vertical(A){this._vertical=Dr(A)}_vertical=!1;get inset(){return this._inset}set inset(A){this._inset=Dr(A)}_inset=!1;static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(i,n){i&2&&(ie("aria-orientation",n.vertical?"vertical":"horizontal"),ae("mat-divider-vertical",n.vertical)("mat-divider-horizontal",!n.vertical)("mat-divider-inset",n.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(i,n){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px} +`],encapsulation:2,changeDetection:0})}return t})(),Qz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();function hz(t){return Error(`Unable to find icon with the name "${t}"`)}function ldA(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function uz(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function fz(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}var EC=class{url;svgText;options;svgElement=null;constructor(e,A,i){this.url=e,this.svgText=A,this.options=i}},pz=(()=>{class t{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(A,i,n,o){this._httpClient=A,this._sanitizer=i,this._errorHandler=o,this._document=n}addSvgIcon(A,i,n){return this.addSvgIconInNamespace("",A,i,n)}addSvgIconLiteral(A,i,n){return this.addSvgIconLiteralInNamespace("",A,i,n)}addSvgIconInNamespace(A,i,n,o){return this._addSvgIconConfig(A,i,new EC(n,null,o))}addSvgIconResolver(A){return this._resolvers.push(A),this}addSvgIconLiteralInNamespace(A,i,n,o){let a=this._sanitizer.sanitize(ql.HTML,n);if(!a)throw fz(n);let r=k1(a);return this._addSvgIconConfig(A,i,new EC("",r,o))}addSvgIconSet(A,i){return this.addSvgIconSetInNamespace("",A,i)}addSvgIconSetLiteral(A,i){return this.addSvgIconSetLiteralInNamespace("",A,i)}addSvgIconSetInNamespace(A,i,n){return this._addSvgIconSetConfig(A,new EC(i,null,n))}addSvgIconSetLiteralInNamespace(A,i,n){let o=this._sanitizer.sanitize(ql.HTML,i);if(!o)throw fz(i);let a=k1(o);return this._addSvgIconSetConfig(A,new EC("",a,n))}registerFontClassAlias(A,i=A){return this._fontCssClassesByAlias.set(A,i),this}classNameForFontAlias(A){return this._fontCssClassesByAlias.get(A)||A}setDefaultFontSetClass(...A){return this._defaultFontSetClass=A,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(A){let i=this._sanitizer.sanitize(ql.RESOURCE_URL,A);if(!i)throw uz(A);let n=this._cachedIconsByUrl.get(i);return n?se(r8(n)):this._loadSvgIconFromConfig(new EC(A,null)).pipe(oi(o=>this._cachedIconsByUrl.set(i,o)),fe(o=>r8(o)))}getNamedSvgIcon(A,i=""){let n=mz(i,A),o=this._svgIconConfigs.get(n);if(o)return this._getSvgFromConfig(o);if(o=this._getIconConfigFromResolvers(i,A),o)return this._svgIconConfigs.set(n,o),this._getSvgFromConfig(o);let a=this._iconSetConfigs.get(i);return a?this._getSvgFromIconSetConfigs(A,a):Vm(hz(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(A){return A.svgText?se(r8(this._svgElementFromConfig(A))):this._loadSvgIconFromConfig(A).pipe(fe(i=>r8(i)))}_getSvgFromIconSetConfigs(A,i){let n=this._extractIconWithNameFromAnySet(A,i);if(n)return se(n);let o=i.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(ea(r=>{let g=`Loading icon set URL: ${this._sanitizer.sanitize(ql.RESOURCE_URL,a.url)} failed: ${r.message}`;return this._errorHandler.handleError(new Error(g)),se(null)})));return Zm(o).pipe(fe(()=>{let a=this._extractIconWithNameFromAnySet(A,i);if(!a)throw hz(A);return a}))}_extractIconWithNameFromAnySet(A,i){for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.svgText&&o.svgText.toString().indexOf(A)>-1){let a=this._svgElementFromConfig(o),r=this._extractSvgIconFromSet(a,A,o.options);if(r)return r}}return null}_loadSvgIconFromConfig(A){return this._fetchIcon(A).pipe(oi(i=>A.svgText=i),fe(()=>this._svgElementFromConfig(A)))}_loadSvgIconSetFromConfig(A){return A.svgText?se(null):this._fetchIcon(A).pipe(oi(i=>A.svgText=i))}_extractSvgIconFromSet(A,i,n){let o=A.querySelector(`[id="${i}"]`);if(!o)return null;let a=o.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,n);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),n);let r=this._svgElementFromString(k1(""));return r.appendChild(a),this._setSvgAttributes(r,n)}_svgElementFromString(A){let i=this._document.createElement("DIV");i.innerHTML=A;let n=i.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(A){let i=this._svgElementFromString(k1("")),n=A.attributes;for(let o=0;ok1(g)),$m(()=>this._inProgressUrlFetches.delete(a)),Q2());return this._inProgressUrlFetches.set(a,s),s}_addSvgIconConfig(A,i,n){return this._svgIconConfigs.set(mz(A,i),n),this}_addSvgIconSetConfig(A,i){let n=this._iconSetConfigs.get(A);return n?n.push(i):this._iconSetConfigs.set(A,[i]),this}_svgElementFromConfig(A){if(!A.svgElement){let i=this._svgElementFromString(A.svgText);this._setSvgAttributes(i,A.options),A.svgElement=i}return A.svgElement}_getIconConfigFromResolvers(A,i){for(let n=0;n{let t=h(Xt),e=t?t.location:null;return{getPathname:()=>e?e.pathname+e.search:""}}}),wz=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],BdA=wz.map(t=>`[${t}]`).join(", "),EdA=/^url\(['"]?#(.*?)['"]?\)$/,fn=(()=>{class t{_elementRef=h(ge);_iconRegistry=h(pz);_location=h(ddA);_errorHandler=h(Ap);_defaultColor;get color(){return this._color||this._defaultColor}set color(A){this._color=A}_color;inline=!1;get svgIcon(){return this._svgIcon}set svgIcon(A){A!==this._svgIcon&&(A?this._updateSvgIcon(A):this._svgIcon&&this._clearSvgElement(),this._svgIcon=A)}_svgIcon;get fontSet(){return this._fontSet}set fontSet(A){let i=this._cleanupFontValue(A);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}_fontSet;get fontIcon(){return this._fontIcon}set fontIcon(A){let i=this._cleanupFontValue(A);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_fontIcon;_previousFontSetClass=[];_previousFontIconClass;_svgName=null;_svgNamespace=null;_previousPath;_elementsWithExternalReferences;_currentIconFetch=Jn.EMPTY;constructor(){let A=h(new Zs("aria-hidden"),{optional:!0}),i=h(IdA,{optional:!0});i&&(i.color&&(this.color=this._defaultColor=i.color),i.fontSet&&(this.fontSet=i.fontSet)),A||this._elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(A){if(!A)return["",""];let i=A.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${A}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let A=this._elementsWithExternalReferences;if(A&&A.size){let i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(A){this._clearSvgElement();let i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(A),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(A)}_clearSvgElement(){let A=this._elementRef.nativeElement,i=A.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){let n=A.childNodes[i];(n.nodeType!==1||n.nodeName.toLowerCase()==="svg")&&n.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let A=this._elementRef.nativeElement,i=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(n=>n.length>0);this._previousFontSetClass.forEach(n=>A.classList.remove(n)),i.forEach(n=>A.classList.add(n)),this._previousFontSetClass=i,this.fontIcon!==this._previousFontIconClass&&!i.includes("mat-ligature-font")&&(this._previousFontIconClass&&A.classList.remove(this._previousFontIconClass),this.fontIcon&&A.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(A){return typeof A=="string"?A.trim().split(" ")[0]:A}_prependPathToReferences(A){let i=this._elementsWithExternalReferences;i&&i.forEach((n,o)=>{n.forEach(a=>{o.setAttribute(a.name,`url('${A}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(A){let i=A.querySelectorAll(BdA),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let o=0;o{let r=i[o],s=r.getAttribute(a),g=s?s.match(EdA):null;if(g){let l=n.get(r);l||(l=[],n.set(r,l)),l.push({name:a,value:g[1]})}})}_updateSvgIcon(A){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),A){let[i,n]=this._splitIconName(A);i&&(this._svgNamespace=i),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,i).pipe(oo(1)).subscribe(o=>this._setSvgElement(o),o=>{let a=`Error retrieving icon ${i}:${n}! ${o.message}`;this._errorHandler.handleError(new Error(a))})}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(i,n){i&2&&(ie("data-mat-icon-type",n._usingFontIcon()?"font":"svg")("data-mat-icon-name",n._svgName||n.fontIcon)("data-mat-icon-namespace",n._svgNamespace||n.fontSet)("fontIcon",n._usingFontIcon()?n.fontIcon:null),zo(n.color?"mat-"+n.color:""),ae("mat-icon-inline",n.inline)("mat-icon-no-color",n.color!=="primary"&&n.color!=="accent"&&n.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",he],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],ngContentSelectors:CdA,decls:1,vars:0,template:function(i,n){i&1&&(Ht(),He(0))},styles:[`mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color, inherit)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto} +`],encapsulation:2,changeDetection:0})}return t})(),cl=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var Dz=(()=>{class t{_animationsDisabled=qi();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(i,n){i&2&&ae("mat-pseudo-checkbox-indeterminate",n.state==="indeterminate")("mat-pseudo-checkbox-checked",n.state==="checked")("mat-pseudo-checkbox-disabled",n.disabled)("mat-pseudo-checkbox-minimal",n.appearance==="minimal")("mat-pseudo-checkbox-full",n.appearance==="full")("_mat-animation-noopable",n._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(i,n){},styles:[`.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px} +`],encapsulation:2,changeDetection:0})}return t})();var QdA=["text"],hdA=[[["mat-icon"]],"*"],udA=["mat-icon","*"];function fdA(t,e){if(t&1&&GA(0,"mat-pseudo-checkbox",1),t&2){let A=v();AA("disabled",A.disabled)("state",A.selected?"checked":"unchecked")}}function mdA(t,e){if(t&1&&GA(0,"mat-pseudo-checkbox",3),t&2){let A=v();AA("disabled",A.disabled)}}function pdA(t,e){if(t&1&&(m(0,"span",4),K(1),w()),t&2){let A=v();p(),_e("(",A.group.label,")")}}var l8=new yA("MAT_OPTION_PARENT_COMPONENT"),c8=new yA("MatOptgroup");var g8=class{source;isUserInput;constructor(e,A=!1){this.source=e,this.isUserInput=A}},Hr=(()=>{class t{_element=h(ge);_changeDetectorRef=h(mt);_parent=h(l8,{optional:!0});group=h(c8,{optional:!0});_signalDisableRipple=!1;_selected=!1;_active=!1;_mostRecentViewValue="";get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}value;id=h(an).getId("mat-option-");get disabled(){return this.group&&this.group.disabled||this._disabled()}set disabled(A){this._disabled.set(A)}_disabled=jA(!1);get disableRipple(){return this._signalDisableRipple?this._parent.disableRipple():!!this._parent?.disableRipple}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}onSelectionChange=new WA;_text;_stateChanges=new $A;constructor(){let A=h(Xn);A.load(Ir),A.load(b2),this._signalDisableRipple=!!this._parent&&w1(this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(A=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),A&&this._emitSelectionChangeEvent())}deselect(A=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),A&&this._emitSelectionChangeEvent())}focus(A,i){let n=this._getHostElement();typeof n.focus=="function"&&n.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(A){(A.keyCode===13||A.keyCode===32)&&!ma(A)&&(this._selectViaInteraction(),A.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let A=this.viewValue;A!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=A)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(A=!1){this.onSelectionChange.emit(new g8(this,A))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-option"]],viewQuery:function(i,n){if(i&1&&ai(QdA,7),i&2){let o;ce(o=Ce())&&(n._text=o.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(i,n){i&1&&eA("click",function(){return n._selectViaInteraction()})("keydown",function(a){return n._handleKeydown(a)}),i&2&&(vo("id",n.id),ie("aria-selected",n.selected)("aria-disabled",n.disabled.toString()),ae("mdc-list-item--selected",n.selected)("mat-mdc-option-multiple",n.multiple)("mat-mdc-option-active",n.active)("mdc-list-item--disabled",n.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",he]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],ngContentSelectors:udA,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,n){i&1&&(Ht(hdA),V(0,fdA,1,2,"mat-pseudo-checkbox",1),He(1),m(2,"span",2,0),He(4,1),w(),V(5,mdA,1,1,"mat-pseudo-checkbox",3),V(6,pdA,2,1,"span",4),GA(7,"div",5)),i&2&&(W(n.multiple?0:-1),p(5),W(!n.multiple&&n.selected&&!n.hideSingleSelectionIndicator?5:-1),p(),W(n.group&&n.group._inert?6:-1),p(),AA("matRippleTrigger",n._getHostElement())("matRippleDisabled",n.disabled||n.disableRipple))},dependencies:[Dz,ig],styles:[`.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container))}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors: active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var(--mat-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-focus-indicator::before{content:""} +`],encapsulation:2,changeDetection:0})}return t})();function ek(t,e,A){if(A.length){let i=e.toArray(),n=A.toArray(),o=0;for(let a=0;aA+i?Math.max(0,t-i+e):A}var p4=(()=>{class t{_listeners=[];notify(A,i){for(let n of this._listeners)n(A,i)}listen(A){return this._listeners.push(A),()=>{this._listeners=this._listeners.filter(i=>A!==i)}}ngOnDestroy(){this._listeners=[]}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var C8=class{applyChanges(e,A,i,n,o){e.forEachOperation((a,r,s)=>{let g,l;if(a.previousIndex==null){let C=i(a,r,s);g=A.createEmbeddedView(C.templateRef,C.context,C.index),l=ac.INSERTED}else s==null?(A.remove(r),l=ac.REMOVED):(g=A.get(r),A.move(g,s),l=ac.MOVED);o&&o({context:g?.context,operation:l,record:a})})}detach(){}};var V1=class{_multiple;_emitChanges;compareWith;_selection=new Set;_deselectedToEmit=[];_selectedToEmit=[];_selected=null;get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}changed=new $A;constructor(e=!1,A,i=!0,n){this._multiple=e,this._emitChanges=i,this.compareWith=n,A&&A.length&&(e?A.forEach(o=>this._markSelected(o)):this._markSelected(A[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(i=>this._markSelected(i));let A=this._hasQueuedChanges();return this._emitChangeEvent(),A}deselect(...e){this._verifyValueAssignment(e),e.forEach(i=>this._unmarkSelected(i));let A=this._hasQueuedChanges();return this._emitChangeEvent(),A}setSelection(...e){this._verifyValueAssignment(e);let A=this.selected,i=new Set(e.map(o=>this._getConcreteValue(o)));e.forEach(o=>this._markSelected(o)),A.filter(o=>!i.has(this._getConcreteValue(o,i))).forEach(o=>this._unmarkSelected(o));let n=this._hasQueuedChanges();return this._emitChangeEvent(),n}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let A=this._hasQueuedChanges();return e&&this._emitChangeEvent(),A}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,A){if(this.compareWith){A=A??this._selection;for(let i of A)if(this.compareWith(e,i))return i;return e}else return e}};var yz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var ik=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[S2,yz,Hr,Gi]})}return t})();var wdA=["trigger"],DdA=["panel"],ydA=[[["mat-select-trigger"]],"*"],vdA=["mat-select-trigger","*"];function bdA(t,e){if(t&1&&(m(0,"span",4),K(1),w()),t&2){let A=v();p(),qA(A.placeholder)}}function MdA(t,e){t&1&&He(0)}function kdA(t,e){if(t&1&&(m(0,"span",11),K(1),w()),t&2){let A=v(2);p(),qA(A.triggerValue)}}function SdA(t,e){if(t&1&&(m(0,"span",5),V(1,MdA,1,0)(2,kdA,2,1,"span",11),w()),t&2){let A=v();p(),W(A.customTrigger?1:2)}}function xdA(t,e){if(t&1){let A=JA();m(0,"div",12,1),eA("keydown",function(n){Z(A);let o=v();return X(o._handleKeydown(n))}),He(2,1),w()}if(t&2){let A=v();zo(mU("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",A._getPanelTheme())),ae("mat-select-panel-animations-enabled",!A._animationsDisabled),AA("ngClass",A.panelClass),ie("id",A.id+"-panel")("aria-multiselectable",A.multiple)("aria-label",A.ariaLabel||null)("aria-labelledby",A._getPanelAriaLabelledby())}}var RdA=new yA("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>dC(t)}}),NdA=new yA("MAT_SELECT_CONFIG"),FdA=new yA("MatSelectTrigger"),nk=class{source;value;constructor(e,A){this.source=e,this.value=A}},Il=(()=>{class t{_viewportRuler=h(Gs);_changeDetectorRef=h(mt);_elementRef=h(ge);_dir=h(xo,{optional:!0});_idGenerator=h(an);_renderer=h(Fi);_parentFormField=h(Gu,{optional:!0});ngControl=h(eg,{self:!0,optional:!0});_liveAnnouncer=h(vu);_defaultOptions=h(NdA,{optional:!0});_animationsDisabled=qi();_popoverLocation;_initialized=new $A;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(A){let i=this.options.toArray()[A];if(i){let n=this.panel.nativeElement,o=ek(A,this.options,this.optionGroups),a=i._getHostElement();A===0&&o===1?n.scrollTop=0:n.scrollTop=tk(a.offsetTop,a.offsetHeight,n.scrollTop,n.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(A){return new nk(this,A)}_scrollStrategyFactory=h(RdA);_panelOpen=!1;_compareWith=(A,i)=>A===i;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new $A;_errorStateTracker;stateChanges=new $A;disableAutomaticLabeling=!0;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=!1;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(A){this._disableRipple.set(A)}_disableRipple=jA(!1);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(A){this._hideSingleSelectionIndicator=A,this._syncParentProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get placeholder(){return this._placeholder}set placeholder(A){this._placeholder=A,this.stateChanges.next()}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(Ag.required)??!1}set required(A){this._required=A,this.stateChanges.next()}_required;get multiple(){return this._multiple}set multiple(A){this._selectionModel,this._multiple=A}_multiple=!1;disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1;get compareWith(){return this._compareWith}set compareWith(A){this._compareWith=A,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(A){this._assignValue(A)&&this._onChange(A)}_value;ariaLabel="";ariaLabelledby;get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(A){this._errorStateTracker.matcher=A}typeaheadDebounceInterval;sortComparator;get id(){return this._id}set id(A){this._id=A||this._uid,this.stateChanges.next()}_id;get errorState(){return this._errorStateTracker.errorState}set errorState(A){this._errorStateTracker.errorState=A}panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto";canSelectNullableOptions=this._defaultOptions?.canSelectNullableOptions??!1;optionSelectionChanges=t0(()=>{let A=this.options;return A?A.changes.pipe(cn(A),ki(()=>hi(...A.map(i=>i.onSelectionChange)))):this._initialized.pipe(ki(()=>this.optionSelectionChanges))});openedChange=new WA;_openedStream=this.openedChange.pipe(Ze(A=>A),fe(()=>{}));_closedStream=this.openedChange.pipe(Ze(A=>!A),fe(()=>{}));selectionChange=new WA;valueChange=new WA;constructor(){let A=h(UB),i=h(SB,{optional:!0}),n=h(y2,{optional:!0}),o=h(new Zs("tabindex"),{optional:!0}),a=h(u4,{optional:!0});this.ngControl&&(this.ngControl.valueAccessor=this),this._defaultOptions?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=this._defaultOptions.typeaheadDebounceInterval),this._errorStateTracker=new JB(A,this.ngControl,n,i,this.stateChanges),this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=o==null?0:parseInt(o)||0,this._popoverLocation=a?.usePopover===!1?null:"inline",this.id=this.id}ngOnInit(){this._selectionModel=new V1(this.multiple),this.stateChanges.next(),this._viewportRuler.change().pipe(Bt(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Bt(this._destroy)).subscribe(A=>{A.added.forEach(i=>i.select()),A.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(cn(null),Bt(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){let A=this._getTriggerAriaLabelledby(),i=this.ngControl;if(A!==this._triggerAriaLabelledBy){let n=this._elementRef.nativeElement;this._triggerAriaLabelledBy=A,A?n.setAttribute("aria-labelledby",A):n.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(this._previousControl!==void 0&&i.disabled!==null&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(A){(A.disabled||A.userAriaDescribedBy)&&this.stateChanges.next(),A.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._cleanupDetach?.(),this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._cleanupDetach?.(),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._overlayDir.positionChange.pipe(oo(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()}),this._overlayDir.attachOverlay(),this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!0)))}_trackedModal=null;_applyModalPanelOwnership(){let A=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!A)return;let i=`${this.id}-panel`;this._trackedModal&&_p(this._trackedModal,"aria-owns",i),B9(A,"aria-owns",i),this._trackedModal=A}_clearFromModal(){if(!this._trackedModal)return;let A=`${this.id}-panel`;_p(this._trackedModal,"aria-owns",A),this._trackedModal=null}close(){this._panelOpen&&(this._panelOpen=!1,this._exitAndDetach(),this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!1)))}_exitAndDetach(){if(this._animationsDisabled||!this.panel){this._detachOverlay();return}this._cleanupDetach?.(),this._cleanupDetach=()=>{i(),clearTimeout(n),this._cleanupDetach=void 0};let A=this.panel.nativeElement,i=this._renderer.listen(A,"animationend",o=>{o.animationName==="_mat-select-exit"&&(this._cleanupDetach?.(),this._detachOverlay())}),n=setTimeout(()=>{this._cleanupDetach?.(),this._detachOverlay()},200);A.classList.add("mat-select-panel-exit")}_detachOverlay(){this._overlayDir.detachOverlay(),this._changeDetectorRef.markForCheck()}writeValue(A){this._assignValue(A)}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}setDisabledState(A){this.disabled=A,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){let A=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&A.reverse(),A.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return this._dir?this._dir.value==="rtl":!1}_handleKeydown(A){this.disabled||(this.panelOpen?this._handleOpenKeydown(A):this._handleClosedKeydown(A))}_handleClosedKeydown(A){let i=A.keyCode,n=i===40||i===38||i===37||i===39,o=i===13||i===32,a=this._keyManager;if(!a.isTyping()&&o&&!ma(A)||(this.multiple||A.altKey)&&n)A.preventDefault(),this.open();else if(!this.multiple){let r=this.selected;a.onKeydown(A);let s=this.selected;s&&r!==s&&this._liveAnnouncer.announce(s.viewValue,1e4)}}_handleOpenKeydown(A){let i=this._keyManager,n=A.keyCode,o=n===40||n===38,a=i.isTyping();if(o&&A.altKey)A.preventDefault(),this.close();else if(!a&&(n===13||n===32)&&i.activeItem&&!ma(A))A.preventDefault(),i.activeItem._selectViaInteraction();else if(!a&&this._multiple&&n===65&&A.ctrlKey){A.preventDefault();let r=this.options.some(s=>!s.disabled&&!s.selected);this.options.forEach(s=>{s.disabled||(r?s.select():s.deselect())})}else{let r=i.activeItemIndex;i.onKeydown(A),this._multiple&&o&&A.shiftKey&&i.activeItem&&i.activeItemIndex!==r&&i.activeItem._selectViaInteraction()}}_handleOverlayKeydown(A){A.keyCode===27&&!ma(A)&&(A.preventDefault(),this.close())}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(A){if(this.options.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&A)Array.isArray(A),A.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{let i=this._selectOptionByValue(A);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(A){let i=this.options.find(n=>{if(this._selectionModel.isSelected(n))return!1;try{return(n.value!=null||this.canSelectNullableOptions)&&this._compareWith(n.value,A)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(A){return A!==this._value||this._multiple&&Array.isArray(A)?(this.options&&this._setSelectionByValue(A),this._value=A,!0):!1}_skipPredicate=A=>this.panelOpen?!1:A.disabled;_getOverlayWidth(A){return this.panelWidth==="auto"?(A instanceof sE?A.elementRef:A||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let A of this.options)A._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new Ru(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){let A=hi(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Bt(A)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),hi(...this.options.map(i=>i._stateChanges)).pipe(Bt(A)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(A,i){let n=this._selectionModel.isSelected(A);!this.canSelectNullableOptions&&A.value==null&&!this._multiple?(A.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(A.value)):(n!==A.selected&&(A.selected?this._selectionModel.select(A):this._selectionModel.deselect(A)),i&&this._keyManager.setActiveItem(A),this.multiple&&(this._sortValues(),i&&this.focus())),n!==this._selectionModel.isSelected(A)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){let A=this.options.toArray();this._selectionModel.sort((i,n)=>this.sortComparator?this.sortComparator(i,n,A):A.indexOf(i)-A.indexOf(n)),this.stateChanges.next()}}_propagateChanges(A){let i;this.multiple?i=this.selected.map(n=>n.value):i=this.selected?this.selected.value:A,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let A=-1;for(let i=0;i0&&!!this._overlayDir}focus(A){this._elementRef.nativeElement.focus(A)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let A=this._parentFormField?.getLabelId()||null,i=A?A+" ":"";return this.ariaLabelledby?i+this.ariaLabelledby:A}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let A=this._parentFormField?.getLabelId()||"";return this.ariaLabelledby&&(A+=" "+this.ariaLabelledby),A||(A=this._valueId),A}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(A){let i=this._elementRef.nativeElement;A.length?i.setAttribute("aria-describedby",A.join(" ")):i.removeAttribute("aria-describedby")}onContainerClick(A){let i=Jr(A);i&&(i.tagName==="MAT-OPTION"||i.classList.contains("cdk-overlay-backdrop")||i.closest(".mat-mdc-select-panel"))||(this.focus(),this.open())}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-select"]],contentQueries:function(i,n,o){if(i&1&&ua(o,FdA,5)(o,Hr,5)(o,c8,5),i&2){let a;ce(a=Ce())&&(n.customTrigger=a.first),ce(a=Ce())&&(n.options=a),ce(a=Ce())&&(n.optionGroups=a)}},viewQuery:function(i,n){if(i&1&&ai(wdA,5)(DdA,5)(i8,5),i&2){let o;ce(o=Ce())&&(n.trigger=o.first),ce(o=Ce())&&(n.panel=o.first),ce(o=Ce())&&(n._overlayDir=o.first)}},hostAttrs:["role","combobox","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:21,hostBindings:function(i,n){i&1&&eA("keydown",function(a){return n._handleKeydown(a)})("focus",function(){return n._onFocus()})("blur",function(){return n._onBlur()}),i&2&&(ie("id",n.id)("tabindex",n.disabled?-1:n.tabIndex)("aria-controls",n.panelOpen?n.id+"-panel":null)("aria-expanded",n.panelOpen)("aria-label",n.ariaLabel||null)("aria-required",n.required.toString())("aria-disabled",n.disabled.toString())("aria-invalid",n.errorState)("aria-activedescendant",n._getAriaActiveDescendant()),ae("mat-mdc-select-disabled",n.disabled)("mat-mdc-select-invalid",n.errorState)("mat-mdc-select-required",n.required)("mat-mdc-select-empty",n.empty)("mat-mdc-select-multiple",n.multiple)("mat-select-open",n.panelOpen))},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",he],disableRipple:[2,"disableRipple","disableRipple",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",he],placeholder:"placeholder",required:[2,"required","required",he],multiple:[2,"multiple","multiple",he],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",he],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",en],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth",canSelectNullableOptions:[2,"canSelectNullableOptions","canSelectNullableOptions",he]},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],features:[It([{provide:Lu,useExisting:t},{provide:l8,useExisting:t}]),ti],ngContentSelectors:vdA,decls:11,vars:10,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"detach","backdropClick","overlayKeydown","cdkConnectedOverlayDisableClose","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","cdkConnectedOverlayFlexibleDimensions","cdkConnectedOverlayUsePopover"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(i,n){if(i&1){let o=JA();Ht(ydA),m(0,"div",2,0),eA("click",function(){return Z(o),X(n.open())}),m(3,"div",3),V(4,bdA,2,1,"span",4)(5,SdA,3,1,"span",5),w(),m(6,"div",6)(7,"div",7),Qt(),m(8,"svg",8),GA(9,"path",9),w()()()(),vt(10,xdA,3,10,"ng-template",10),eA("detach",function(){return Z(o),X(n.close())})("backdropClick",function(){return Z(o),X(n.close())})("overlayKeydown",function(r){return Z(o),X(n._handleOverlayKeydown(r))})}if(i&2){let o=An(1);p(3),ie("id",n._valueId),p(),W(n.empty?4:5),p(6),AA("cdkConnectedOverlayDisableClose",!0)("cdkConnectedOverlayPanelClass",n._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",n._scrollStrategy)("cdkConnectedOverlayOrigin",n._preferredOverlayOrigin||o)("cdkConnectedOverlayPositions",n._positions)("cdkConnectedOverlayWidth",n._overlayWidth)("cdkConnectedOverlayFlexibleDimensions",!0)("cdkConnectedOverlayUsePopover",n._popoverLocation)}},dependencies:[sE,i8,gs],styles:[`@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-form-field-animations-enabled .mat-mdc-select-arrow{transition:transform 80ms linear}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))} +`],encapsulation:2,changeDetection:0})}return t})();var ok=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[ll,ik,Gi,C0,Yr,ik]})}return t})();var LdA=["tooltip"],GdA=20;var KdA=new yA("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>dC(t,{scrollThrottle:GdA})}}),UdA=new yA("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var vz="tooltip-panel",bz=v2({passive:!0}),JdA=8,YdA=8,TdA=24,HdA=200,Sa=(()=>{class t{_elementRef=h(ge);_ngZone=h(Oe);_platform=h(Ii);_ariaDescriber=h(HJ);_focusMonitor=h(nr);_dir=h(xo);_injector=h(ft);_viewContainerRef=h(Ho);_mediaMatcher=h(RB);_animationsDisabled=qi();_defaultOptions=h(UdA,{optional:!0});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=!1;_disabled=!1;_tooltipClass;_viewInitialized=!1;_pointerExitEventsInitialized=!1;_tooltipComponent=Mz;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=!1;_dirSubscribed=!1;get position(){return this._position}set position(A){A!==this._position&&(this._position=A,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(A){this._positionAtOrigin=Dr(A),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(A){let i=Dr(A);this._disabled!==i&&(this._disabled=i,i?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(A){this._showDelay=tg(A)}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(A){this._hideDelay=tg(A),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}_hideDelay;touchGestures="auto";get message(){return this._message}set message(A){let i=this._message;this._message=A!=null?String(A).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(i)}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(A){this._tooltipClass=A,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}_passiveListeners=[];_touchstartTimeout=null;_destroyed=new $A;_isDestroyed=!1;constructor(){let A=this._defaultOptions;A&&(this._showDelay=A.showDelay,this._hideDelay=A.hideDelay,A.position&&(this.position=A.position),A.positionAtOrigin&&(this.positionAtOrigin=A.positionAtOrigin),A.touchGestures&&(this.touchGestures=A.touchGestures),A.tooltipClass&&(this.tooltipClass=A.tooltipClass)),this._viewportMargin=JdA}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Bt(this._destroyed)).subscribe(A=>{A?A==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let A=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,n])=>{A.removeEventListener(i,n,bz)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=!0,this._ariaDescriber.removeDescription(A,this.message,"tooltip"),this._focusMonitor.stopMonitoring(A)}show(A=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let n=this._createOverlay(i);this._detach(),this._portal=this._portal||new Ug(this._tooltipComponent,this._viewContainerRef);let o=this._tooltipInstance=n.attach(this._portal).instance;o._triggerElement=this._elementRef.nativeElement,o._mouseLeaveHideDelay=this._hideDelay,o.afterHidden().pipe(Bt(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),o.show(A)}hide(A=this.hideDelay){let i=this._tooltipInstance;i&&(i.isVisible()?i.hide(A):(i._cancelPendingAnimations(),this._detach()))}toggle(A){this._isTooltipVisible()?this.hide():this.show(void 0,A)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(A){if(this._overlayRef){let a=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!A)&&a._origin instanceof ge)return this._overlayRef;this._detach()}let i=this._injector.get(I0).getAncestorScrollContainers(this._elementRef),n=`${this._cssClassPrefix}-${vz}`,o=q1(this._injector,this.positionAtOrigin?A||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i).withPopoverLocation("global");return o.positionChanges.pipe(Bt(this._destroyed)).subscribe(a=>{this._updateCurrentPositionClass(a.connectionPair),this._tooltipInstance&&a.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=gc(this._injector,{direction:this._dir,positionStrategy:o,panelClass:this._overlayPanelClass?[...this._overlayPanelClass,n]:n,scrollStrategy:this._injector.get(KdA)(),disableAnimations:this._animationsDisabled}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Bt(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Bt(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Bt(this._destroyed)).subscribe(a=>{this._isTooltipVisible()&&a.keyCode===27&&!ma(a)&&(a.preventDefault(),a.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._dirSubscribed||(this._dirSubscribed=!0,this._dir.change.pipe(Bt(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(A){let i=A.getConfig().positionStrategy,n=this._getOrigin(),o=this._getOverlayPosition();i.withPositions([this._addOffset(gA(gA({},n.main),o.main)),this._addOffset(gA(gA({},n.fallback),o.fallback))])}_addOffset(A){let i=YdA,n=!this._dir||this._dir.value=="ltr";return A.originY==="top"?A.offsetY=-i:A.originY==="bottom"?A.offsetY=i:A.originX==="start"?A.offsetX=n?-i:i:A.originX==="end"&&(A.offsetX=n?i:-i),A}_getOrigin(){let A=!this._dir||this._dir.value=="ltr",i=this.position,n;i=="above"||i=="below"?n={originX:"center",originY:i=="above"?"top":"bottom"}:i=="before"||i=="left"&&A||i=="right"&&!A?n={originX:"start",originY:"center"}:(i=="after"||i=="right"&&A||i=="left"&&!A)&&(n={originX:"end",originY:"center"});let{x:o,y:a}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:o,originY:a}}}_getOverlayPosition(){let A=!this._dir||this._dir.value=="ltr",i=this.position,n;i=="above"?n={overlayX:"center",overlayY:"bottom"}:i=="below"?n={overlayX:"center",overlayY:"top"}:i=="before"||i=="left"&&A||i=="right"&&!A?n={overlayX:"end",overlayY:"center"}:(i=="after"||i=="right"&&A||i=="left"&&!A)&&(n={overlayX:"start",overlayY:"center"});let{x:o,y:a}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:o,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),Yn(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()},{injector:this._injector}))}_setTooltipClass(A){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=A,this._tooltipInstance._markForCheck())}_invertPosition(A,i){return this.position==="above"||this.position==="below"?i==="top"?i="bottom":i==="bottom"&&(i="top"):A==="end"?A="start":A==="start"&&(A="end"),{x:A,y:i}}_updateCurrentPositionClass(A){let{overlayY:i,originX:n,originY:o}=A,a;if(i==="center"?this._dir&&this._dir.value==="rtl"?a=n==="end"?"left":"right":a=n==="start"?"left":"right":a=i==="bottom"&&o==="top"?"above":"below",a!==this._currentPosition){let r=this._overlayRef;if(r){let s=`${this._cssClassPrefix}-${vz}-`;r.removePanelClass(s+this._currentPosition),r.addPanelClass(s+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._isTouchPlatform()?this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",A=>{let i=A.targetTouches?.[0],n=i?{x:i.clientX,y:i.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);let o=500;this._touchstartTimeout=setTimeout(()=>{this._touchstartTimeout=null,this.show(void 0,n)},this._defaultOptions?.touchLongPressShowDelay??o)}])):this._passiveListeners.push(["mouseenter",A=>{this._setupPointerExitEventsIfNeeded();let i;A.x!==void 0&&A.y!==void 0&&(i=A),this.show(void 0,i)}]),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;let A=[];if(!this._isTouchPlatform())A.push(["mouseleave",i=>{let n=i.relatedTarget;(!n||!this._overlayRef?.overlayElement.contains(n))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let i=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions?.touchendHideDelay)};A.push(["touchend",i],["touchcancel",i])}this._addListeners(A),this._passiveListeners.push(...A)}_addListeners(A){A.forEach(([i,n])=>{this._elementRef.nativeElement.addEventListener(i,n,bz)})}_isTouchPlatform(){return this._platform.IOS||this._platform.ANDROID?!0:this._platform.isBrowser?!!this._defaultOptions?.detectHoverCapability&&this._mediaMatcher.matchMedia("(any-hover: none)").matches:!1}_wheelListener(A){if(this._isTooltipVisible()){let i=this._injector.get(Xt).elementFromPoint(A.clientX,A.clientY),n=this._elementRef.nativeElement;i!==n&&!n.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){let A=this.touchGestures;if(A!=="off"){let i=this._elementRef.nativeElement,n=i.style;(A==="on"||i.nodeName!=="INPUT"&&i.nodeName!=="TEXTAREA")&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),(A==="on"||!i.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}_syncAriaDescription(A){this._ariaDescriptionPending||(this._ariaDescriptionPending=!0,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,A,"tooltip"),this._isDestroyed||Yn({write:()=>{this._ariaDescriptionPending=!1,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")}},{injector:this._injector}))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(i,n){i&2&&ae("mat-mdc-tooltip-disabled",n.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"]})}return t})(),Mz=(()=>{class t{_changeDetectorRef=h(mt);_elementRef=h(ge);_isMultiline=!1;message;tooltipClass;_showTimeoutId;_hideTimeoutId;_triggerElement;_mouseLeaveHideDelay;_animationsDisabled=qi();_tooltip;_closeOnInteraction=!1;_isVisible=!1;_onHide=new $A;_showAnimation="mat-mdc-tooltip-show";_hideAnimation="mat-mdc-tooltip-hide";constructor(){}show(A){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},A)}hide(A){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},A)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:A}){(!A||!this._triggerElement.contains(A))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){let A=this._elementRef.nativeElement.getBoundingClientRect();return A.height>TdA&&A.width>=HdA}_handleAnimationEnd({animationName:A}){(A===this._showAnimation||A===this._hideAnimation)&&this._finalizeAnimation(A===this._showAnimation)}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(A){A?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(A){let i=this._tooltip.nativeElement,n=this._showAnimation,o=this._hideAnimation;if(i.classList.remove(A?o:n),i.classList.add(A?n:o),this._isVisible!==A&&(this._isVisible=A,this._changeDetectorRef.markForCheck()),A&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let a=getComputedStyle(i);(a.getPropertyValue("animation-duration")==="0s"||a.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=!0)}A&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(A))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(i,n){if(i&1&&ai(LdA,7),i&2){let o;ce(o=Ce())&&(n._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostBindings:function(i,n){i&1&&eA("mouseleave",function(a){return n._handleMouseLeave(a)})},decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(i,n){if(i&1){let o=JA();m(0,"div",1,0),eA("animationend",function(r){return Z(o),X(n._handleAnimationEnd(r))}),m(2,"div",2),K(3),w()()}i&2&&(ae("mdc-tooltip--multiline",n._isMultiline),AA("ngClass",n.tooltipClass),p(3),qA(n.message))},dependencies:[gs],styles:[`.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mat-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mat-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mat-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mat-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mat-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mat-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel{line-height:normal}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards} +`],encapsulation:2,changeDetection:0})}return t})();var U2=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[bu,ll,Gi,C0]})}return t})();function zdA(t,e){if(t&1&&(m(0,"mat-option",17),K(1),w()),t&2){let A=e.$implicit;AA("value",A),p(),_e(" ",A," ")}}function OdA(t,e){if(t&1){let A=JA();m(0,"mat-form-field",14)(1,"mat-select",16,0),eA("selectionChange",function(n){Z(A);let o=v(2);return X(o._changePageSize(n.value))}),Ut(3,zdA,2,2,"mat-option",17,_i),w(),m(5,"div",18),eA("click",function(){Z(A);let n=An(2);return X(n.open())}),w()()}if(t&2){let A=v(2);AA("appearance",A._formFieldAppearance)("color",A.color),p(),AA("value",A.pageSize)("disabled",A.disabled),gp("aria-labelledby",A._pageSizeLabelId),AA("panelClass",A.selectConfig.panelClass||"")("disableOptionCentering",A.selectConfig.disableOptionCentering),p(2),Jt(A._displayedPageSizeOptions)}}function PdA(t,e){if(t&1&&(m(0,"div",15),K(1),w()),t&2){let A=v(2);p(),qA(A.pageSize)}}function jdA(t,e){if(t&1&&(m(0,"div",3)(1,"div",13),K(2),w(),V(3,OdA,6,7,"mat-form-field",14),V(4,PdA,2,1,"div",15),w()),t&2){let A=v();p(),ie("id",A._pageSizeLabelId),p(),_e(" ",A._intl.itemsPerPageLabel," "),p(),W(A._displayedPageSizeOptions.length>1?3:-1),p(),W(A._displayedPageSizeOptions.length<=1?4:-1)}}function qdA(t,e){if(t&1){let A=JA();m(0,"button",19),eA("click",function(){Z(A);let n=v();return X(n._buttonClicked(0,n._previousButtonsDisabled()))}),Qt(),m(1,"svg",8),GA(2,"path",20),w()()}if(t&2){let A=v();AA("matTooltip",A._intl.firstPageLabel)("matTooltipDisabled",A._previousButtonsDisabled())("disabled",A._previousButtonsDisabled())("tabindex",A._previousButtonsDisabled()?-1:null),ie("aria-label",A._intl.firstPageLabel)}}function VdA(t,e){if(t&1){let A=JA();m(0,"button",21),eA("click",function(){Z(A);let n=v();return X(n._buttonClicked(n.getNumberOfPages()-1,n._nextButtonsDisabled()))}),Qt(),m(1,"svg",8),GA(2,"path",22),w()()}if(t&2){let A=v();AA("matTooltip",A._intl.lastPageLabel)("matTooltipDisabled",A._nextButtonsDisabled())("disabled",A._nextButtonsDisabled())("tabindex",A._nextButtonsDisabled()?-1:null),ie("aria-label",A._intl.lastPageLabel)}}var d8=(()=>{class t{changes=new $A;itemsPerPageLabel="Items per page:";nextPageLabel="Next page";previousPageLabel="Previous page";firstPageLabel="First page";lastPageLabel="Last page";getRangeLabel=(A,i,n)=>{if(n==0||i==0)return`0 of ${n}`;n=Math.max(n,0);let o=A*i,a=o{class t{_intl=h(d8);_changeDetectorRef=h(mt);_formFieldAppearance;_pageSizeLabelId=h(an).getId("mat-paginator-page-size-label-");_intlChanges;_isInitialized=!1;_initializedStream=new Pl(1);color;get pageIndex(){return this._pageIndex}set pageIndex(A){this._pageIndex=Math.max(A||0,0),this._changeDetectorRef.markForCheck()}_pageIndex=0;get length(){return this._length}set length(A){this._length=A||0,this._changeDetectorRef.markForCheck()}_length=0;get pageSize(){return this._pageSize}set pageSize(A){this._pageSize=Math.max(A||0,0),this._updateDisplayedPageSizeOptions()}_pageSize;get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(A){this._pageSizeOptions=(A||[]).map(i=>en(i,0)),this._updateDisplayedPageSizeOptions()}_pageSizeOptions=[];hidePageSize=!1;showFirstLastButtons=!1;selectConfig={};disabled=!1;page=new WA;_displayedPageSizeOptions;initialized=this._initializedStream;constructor(){let A=this._intl,i=h(ZdA,{optional:!0});if(this._intlChanges=A.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),i){let{pageSize:n,pageSizeOptions:o,hidePageSize:a,showFirstLastButtons:r}=i;n!=null&&(this._pageSize=n),o!=null&&(this._pageSizeOptions=o),a!=null&&(this.hidePageSize=a),r!=null&&(this.showFirstLastButtons=r)}this._formFieldAppearance=i?.formFieldAppearance||"outline"}ngOnInit(){this._isInitialized=!0,this._updateDisplayedPageSizeOptions(),this._initializedStream.next()}ngOnDestroy(){this._initializedStream.complete(),this._intlChanges.unsubscribe()}nextPage(){this.hasNextPage()&&this._navigate(this.pageIndex+1)}previousPage(){this.hasPreviousPage()&&this._navigate(this.pageIndex-1)}firstPage(){this.hasPreviousPage()&&this._navigate(0)}lastPage(){this.hasNextPage()&&this._navigate(this.getNumberOfPages()-1)}hasPreviousPage(){return this.pageIndex>=1&&this.pageSize!=0}hasNextPage(){let A=this.getNumberOfPages()-1;return this.pageIndexA-i),this._changeDetectorRef.markForCheck())}_emitPageEvent(A){this.page.emit({previousPageIndex:A,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}_navigate(A){let i=this.pageIndex;A!==i&&(this.pageIndex=A,this._emitPageEvent(i))}_buttonClicked(A,i){i||this._navigate(A)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-mdc-paginator"],inputs:{color:"color",pageIndex:[2,"pageIndex","pageIndex",en],length:[2,"length","length",en],pageSize:[2,"pageSize","pageSize",en],pageSizeOptions:"pageSizeOptions",hidePageSize:[2,"hidePageSize","hidePageSize",he],showFirstLastButtons:[2,"showFirstLastButtons","showFirstLastButtons",he],selectConfig:"selectConfig",disabled:[2,"disabled","disabled",he]},outputs:{page:"page"},exportAs:["matPaginator"],decls:14,vars:14,consts:[["selectRef",""],[1,"mat-mdc-paginator-outer-container"],[1,"mat-mdc-paginator-container"],[1,"mat-mdc-paginator-page-size"],[1,"mat-mdc-paginator-range-actions"],["aria-atomic","true","aria-live","polite","role","status",1,"mat-mdc-paginator-range-label"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","disabled","tabindex"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-previous",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["viewBox","0 0 24 24","focusable","false","aria-hidden","true",1,"mat-mdc-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-next",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","disabled","tabindex"],["aria-hidden","true",1,"mat-mdc-paginator-page-size-label"],[1,"mat-mdc-paginator-page-size-select",3,"appearance","color"],[1,"mat-mdc-paginator-page-size-value"],["hideSingleSelectionIndicator","",3,"selectionChange","value","disabled","aria-labelledby","panelClass","disableOptionCentering"],[3,"value"],[1,"mat-mdc-paginator-touch-target",3,"click"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-first",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-last",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(i,n){i&1&&(m(0,"div",1)(1,"div",2),V(2,jdA,5,4,"div",3),m(3,"div",4)(4,"div",5),K(5),w(),V(6,qdA,3,5,"button",6),m(7,"button",7),eA("click",function(){return n._buttonClicked(n.pageIndex-1,n._previousButtonsDisabled())}),Qt(),m(8,"svg",8),GA(9,"path",9),w()(),as(),m(10,"button",10),eA("click",function(){return n._buttonClicked(n.pageIndex+1,n._nextButtonsDisabled())}),Qt(),m(11,"svg",8),GA(12,"path",11),w()(),V(13,VdA,3,5,"button",12),w()()()),i&2&&(p(2),W(n.hidePageSize?-1:2),p(3),_e(" ",n._intl.getRangeLabel(n.pageIndex,n.pageSize,n.length)," "),p(),W(n.showFirstLastButtons?6:-1),p(),AA("matTooltip",n._intl.previousPageLabel)("matTooltipDisabled",n._previousButtonsDisabled())("disabled",n._previousButtonsDisabled())("tabindex",n._previousButtonsDisabled()?-1:null),ie("aria-label",n._intl.previousPageLabel),p(3),AA("matTooltip",n._intl.nextPageLabel)("matTooltipDisabled",n._nextButtonsDisabled())("disabled",n._nextButtonsDisabled())("tabindex",n._nextButtonsDisabled()?-1:null),ie("aria-label",n._intl.nextPageLabel),p(3),W(n.showFirstLastButtons?13:-1))},dependencies:[ta,Il,Hr,Ma,Sa],styles:[`.mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer} +`],encapsulation:2,changeDetection:0})}return t})();var Sz=["*"],XdA=["content"],$dA=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],ABA=["mat-drawer","mat-drawer-content","*"];function eBA(t,e){if(t&1){let A=JA();m(0,"div",1),eA("click",function(){Z(A);let n=v();return X(n._onBackdropClicked())}),w()}if(t&2){let A=v();ae("mat-drawer-shown",A._isShowingBackdrop())}}function tBA(t,e){t&1&&(m(0,"mat-drawer-content"),He(1,2),w())}var iBA=new yA("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),xz=new yA("MAT_DRAWER_CONTAINER"),ak=(()=>{class t extends IC{_platform=h(Ii);_changeDetectorRef=h(mt);_container=h(sk);constructor(){let A=h(ge),i=h(I0),n=h(Oe);super(A,i,n)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:A,end:i}=this._container;return A!=null&&A.mode!=="over"&&A.opened||i!=null&&i.mode!=="over"&&i.opened}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(i,n){i&2&&(wn("margin-left",n._container._contentMargins.left,"px")("margin-right",n._container._contentMargins.right,"px"),ae("mat-drawer-content-hidden",n._shouldBeHidden()))},features:[It([{provide:IC,useExisting:t}]),dt],ngContentSelectors:Sz,decls:1,vars:0,template:function(i,n){i&1&&(Ht(),He(0))},encapsulation:2,changeDetection:0})}return t})(),rk=(()=>{class t{_elementRef=h(ge);_focusTrapFactory=h(yu);_focusMonitor=h(nr);_platform=h(Ii);_ngZone=h(Oe);_renderer=h(Fi);_interactivityChecker=h(NB);_doc=h(Xt);_container=h(xz,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(A){A=A==="end"?"end":"start",A!==this._position&&(this._isAttached&&this._updatePositionInParent(A),this._position=A,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(A){this._mode=A,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(A){this._disableClose=Dr(A)}_disableClose=!1;get autoFocus(){let A=this._autoFocus;return A??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(A){(A==="true"||A==="false"||A==null)&&(A=Dr(A)),this._autoFocus=A}_autoFocus;get opened(){return this._opened()}set opened(A){this.toggle(Dr(A))}_opened=jA(!1);_openedVia=null;_animationStarted=new $A;_animationEnd=new $A;openedChange=new WA(!0);_openedStream=this.openedChange.pipe(Ze(A=>A),fe(()=>{}));openedStart=this._animationStarted.pipe(Ze(()=>this.opened),cu(void 0));_closedStream=this.openedChange.pipe(Ze(A=>!A),fe(()=>{}));closedStart=this._animationStarted.pipe(Ze(()=>!this.opened),cu(void 0));_destroyed=new $A;onPositionChanged=new WA;_content;_modeChanged=new $A;_injector=h(ft);_changeDetectorRef=h(mt);constructor(){this.openedChange.pipe(Bt(this._destroyed)).subscribe(A=>{A?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{let A=this._elementRef.nativeElement;il(A,"keydown").pipe(Ze(i=>i.keyCode===27&&!this.disableClose&&!ma(i)),Bt(this._destroyed)).subscribe(i=>this._ngZone.run(()=>{this.close(),i.stopPropagation(),i.preventDefault()})),this._eventCleanups=[this._renderer.listen(A,"transitionrun",this._handleTransitionEvent),this._renderer.listen(A,"transitionend",this._handleTransitionEvent),this._renderer.listen(A,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(A,i){this._interactivityChecker.isFocusable(A)||(A.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),a(),A.removeAttribute("tabindex")},o=this._renderer.listen(A,"blur",n),a=this._renderer.listen(A,"mousedown",n)})),A.focus(i)}_focusByCssSelector(A,i){let n=this._elementRef.nativeElement.querySelector(A);n&&this._forceFocus(n,i)}_takeFocus(){if(!this._focusTrap)return;let A=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Yn(()=>{!this._focusTrap.focusInitialElement()&&typeof A.focus=="function"&&A.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(A){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,A):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let A=this._doc.activeElement;return!!A&&this._elementRef.nativeElement.contains(A)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(A=>A()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(A){return this.toggle(!0,A)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(A=!this.opened,i){A&&i&&(this._openedVia=i);let n=this._setOpen(A,!A&&this._isFocusWithinDrawer(),this._openedVia||"program");return A||(this._openedVia=null),n}_setOpen(A,i,n){return A===this.opened?Promise.resolve(A?"open":"close"):(this._opened.set(A),this._container?._transitionsEnabled?this._setIsAnimating(!0):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",A),!A&&i&&this._restoreFocus(n),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(o=>{this.openedChange.pipe(oo(1)).subscribe(a=>o(a?"open":"close"))}))}_setIsAnimating(A){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",A)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=!!this._container?.hasBackdrop&&this.opened)}_updatePositionInParent(A){if(!this._platform.isBrowser)return;let i=this._elementRef.nativeElement,n=i.parentNode;A==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),n.insertBefore(this._anchor,i)),n.appendChild(i)):this._anchor&&this._anchor.parentNode.insertBefore(i,this._anchor)}_handleTransitionEvent=A=>{let i=this._elementRef.nativeElement;A.target===i&&this._ngZone.run(()=>{A.type==="transitionrun"?this._animationStarted.next(A):(A.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(A))})};static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-drawer"]],viewQuery:function(i,n){if(i&1&&ai(XdA,5),i&2){let o;ce(o=Ce())&&(n._content=o.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(i,n){i&2&&(ie("align",null)("tabIndex",n.mode!=="side"?"-1":null),wn("visibility",!n._container&&!n.opened?"hidden":null),ae("mat-drawer-end",n.position==="end")("mat-drawer-over",n.mode==="over")("mat-drawer-push",n.mode==="push")("mat-drawer-side",n.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:Sz,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(i,n){i&1&&(Ht(),m(0,"div",1,0),He(2),w())},dependencies:[IC],encapsulation:2,changeDetection:0})}return t})(),sk=(()=>{class t{_dir=h(xo,{optional:!0});_element=h(ge);_ngZone=h(Oe);_changeDetectorRef=h(mt);_animationDisabled=qi();_transitionsEnabled=!1;_allDrawers;_drawers=new nl;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(A){this._autosize=Dr(A)}_autosize=h(iBA);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(A){this._backdropOverride=A==null?null:Dr(A)}_backdropOverride=null;backdropClick=new WA;_start=null;_end=null;_left=null;_right=null;_destroyed=new $A;_doCheckSubject=new $A;_contentMargins={left:null,right:null};_contentMarginChanges=new $A;get scrollable(){return this._userContent||this._content}_injector=h(ft);constructor(){let A=h(Ii),i=h(Gs);this._dir?.change.pipe(Bt(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),i.change().pipe(Bt(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&A.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(cn(this._allDrawers),Bt(this._destroyed)).subscribe(A=>{this._drawers.reset(A.filter(i=>!i._container||i._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(cn(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(A=>{this._watchDrawerToggle(A),this._watchDrawerPosition(A),this._watchDrawerMode(A)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(Ps(10),Bt(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(A=>A.open())}close(){this._drawers.forEach(A=>A.close())}updateContentMargins(){let A=0,i=0;if(this._left&&this._left.opened){if(this._left.mode=="side")A+=this._left._getWidth();else if(this._left.mode=="push"){let n=this._left._getWidth();A+=n,i-=n}}if(this._right&&this._right.opened){if(this._right.mode=="side")i+=this._right._getWidth();else if(this._right.mode=="push"){let n=this._right._getWidth();i+=n,A-=n}}A=A||null,i=i||null,(A!==this._contentMargins.left||i!==this._contentMargins.right)&&(this._contentMargins={left:A,right:i},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(A){A._animationStarted.pipe(Bt(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),A.mode!=="side"&&A.openedChange.pipe(Bt(this._drawers.changes)).subscribe(()=>this._setContainerClass(A.opened))}_watchDrawerPosition(A){A.onPositionChanged.pipe(Bt(this._drawers.changes)).subscribe(()=>{Yn({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(A){A._modeChanged.pipe(Bt(hi(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(A){let i=this._element.nativeElement.classList,n="mat-drawer-container-has-open";A?i.add(n):i.remove(n)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(A=>{A.position=="end"?(this._end!=null,this._end=A):(this._start!=null,this._start=A)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(A=>A&&!A.disableClose&&this._drawerHasBackdrop(A)).forEach(A=>A._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(A){return A!=null&&A.opened}_drawerHasBackdrop(A){return this._backdropOverride==null?!!A&&A.mode!=="side":this._backdropOverride}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-drawer-container"]],contentQueries:function(i,n,o){if(i&1&&ua(o,ak,5)(o,rk,5),i&2){let a;ce(a=Ce())&&(n._content=a.first),ce(a=Ce())&&(n._allDrawers=a)}},viewQuery:function(i,n){if(i&1&&ai(ak,5),i&2){let o;ce(o=Ce())&&(n._userContent=o.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(i,n){i&2&&ae("mat-drawer-container-explicit-backdrop",n._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[It([{provide:xz,useExisting:t}])],ngContentSelectors:ABA,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(i,n){i&1&&(Ht($dA),V(0,eBA,1,2,"div",0),He(1),He(2,1),V(3,tBA,2,0,"mat-drawer-content")),i&2&&(W(n.hasBackdrop?0:-1),p(3),W(n._content?-1:3))},dependencies:[ak],styles:[`.mat-drawer-container{position:relative;z-index:1;color:var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));background-color:var(--mat-sidenav-content-background-color, var(--mat-sys-background));box-sizing:border-box;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible;background-color:var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent))}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}@media(forced-colors: active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-content.mat-drawer-content-hidden{opacity:0}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;color:var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));box-shadow:var(--mat-sidenav-container-elevation-shadow, none);background-color:var(--mat-sidenav-container-background-color, var(--mat-sys-surface));border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));width:var(--mat-sidenav-container-width, 360px);display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}@media(forced-colors: active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media(forced-colors: active){[dir=rtl] .mat-drawer,.mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0);border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .mat-drawer{border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-left-radius:0;border-bottom-left-radius:0;left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-transition .mat-drawer{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating){visibility:hidden;box-shadow:none}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container{display:none}.mat-drawer.mat-drawer-opened.mat-drawer-opened{transform:none}.mat-drawer-side{box-shadow:none;border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid}.mat-drawer-side.mat-drawer-end{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid;border-left:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto}.mat-sidenav-fixed{position:fixed} +`],encapsulation:2,changeDetection:0})}return t})();var nBA=["mat-internal-form-field",""],oBA=["*"],B8=(()=>{class t{labelPosition="after";static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(i,n){i&2&&ae("mdc-form-field--align-end",n.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:nBA,ngContentSelectors:oBA,decls:1,vars:0,template:function(i,n){i&1&&(Ht(),He(0))},styles:[`.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0} +`],encapsulation:2,changeDetection:0})}return t})();var aBA=["switch"],rBA=["*"];function sBA(t,e){t&1&&(m(0,"span",11),Qt(),m(1,"svg",13),GA(2,"path",14),w(),m(3,"svg",15),GA(4,"path",16),w()())}var gBA=new yA("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),E8=class{source;checked;constructor(e,A){this.source=e,this.checked=A}},Rz=(()=>{class t{_elementRef=h(ge);_focusMonitor=h(nr);_changeDetectorRef=h(mt);defaults=h(gBA);_onChange=A=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(A){return new E8(this,A)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=qi();_focused=!1;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required=!1;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(A){this._checked=A,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new WA;toggleChange=new WA;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){h(Xn).load(Ir);let A=h(new Zs("tabindex"),{optional:!0}),i=this.defaults;this.tabIndex=A==null?0:parseInt(A)||0,this.color=i.color||"accent",this.id=this._uniqueId=h(an).getId("mat-mdc-slide-toggle-"),this.hideIcon=i.hideIcon??!1,this.disabledInteractive=i.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(A=>{A==="keyboard"||A==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):A||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(A){A.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(A){this.checked=!!A}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}validate(A){return this.required&&A.value!==!0?{required:!0}:null}registerOnValidatorChange(A){this._validatorOnChange=A}setDisabledState(A){this.disabled=A,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new E8(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-slide-toggle"]],viewQuery:function(i,n){if(i&1&&ai(aBA,5),i&2){let o;ce(o=Ce())&&(n._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),zo(n.color?"mat-"+n.color:""),ae("mat-mdc-slide-toggle-focused",n._focused)("mat-mdc-slide-toggle-checked",n.checked)("_mat-animation-noopable",n._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",he],color:"color",disabled:[2,"disabled","disabled",he],disableRipple:[2,"disableRipple","disableRipple",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)],checked:[2,"checked","checked",he],hideIcon:[2,"hideIcon","hideIcon",he],disabledInteractive:[2,"disabledInteractive","disabledInteractive",he]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[It([{provide:Lg,useExisting:pr(()=>t),multi:!0},{provide:a0,useExisting:t,multi:!0}]),ti],ngContentSelectors:rBA,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,n){if(i&1){let o=JA();Ht(),m(0,"div",1)(1,"button",2,0),eA("click",function(){return Z(o),X(n._handleClick())}),GA(3,"div",3)(4,"span",4),m(5,"span",5)(6,"span",6)(7,"span",7),GA(8,"span",8),w(),m(9,"span",9),GA(10,"span",10),w(),V(11,sBA,5,0,"span",11),w()()(),m(12,"label",12),eA("click",function(r){return Z(o),X(r.stopPropagation())}),He(13),w()()}if(i&2){let o=An(2);AA("labelPosition",n.labelPosition),p(),ae("mdc-switch--selected",n.checked)("mdc-switch--unselected",!n.checked)("mdc-switch--checked",n.checked)("mdc-switch--disabled",n.disabled)("mat-mdc-slide-toggle-disabled-interactive",n.disabledInteractive),AA("tabIndex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex)("disabled",n.disabled&&!n.disabledInteractive),ie("id",n.buttonId)("name",n.name)("aria-label",n.ariaLabel)("aria-labelledby",n._getAriaLabelledBy())("aria-describedby",n.ariaDescribedby)("aria-required",n.required||null)("aria-checked",n.checked)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),p(9),AA("matRippleTrigger",o)("matRippleDisabled",n.disableRipple||n.disabled)("matRippleCentered",!0),p(),W(n.hideIcon?-1:11),p(),AA("for",n.buttonId),ie("id",n._labelId)}},dependencies:[ig,B8],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}label:empty{display:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)} +`],encapsulation:2,changeDetection:0})}return t})();function lBA(t,e){if(t&1){let A=JA();m(0,"div",1)(1,"button",2),eA("click",function(){Z(A);let n=v();return X(n.action())}),K(2),w()()}if(t&2){let A=v();p(2),_e(" ",A.data.action," ")}}var cBA=["label"];function CBA(t,e){}var IBA=Math.pow(2,31)-1,w4=class{_overlayRef;instance;containerInstance;_afterDismissed=new $A;_afterOpened=new $A;_onAction=new $A;_durationTimeoutId;_dismissedByAction=!1;constructor(e,A){this._overlayRef=A,this.containerInstance=e,e._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,IBA))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}},Nz=new yA("MatSnackBarData"),lE=class{politeness="polite";announcementMessage="";viewContainerRef;duration=0;panelClass;direction;data=null;horizontalPosition="center";verticalPosition="bottom"},dBA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]})}return t})(),BBA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]})}return t})(),EBA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]})}return t})(),QBA=(()=>{class t{snackBarRef=h(w4);data=h(Nz);constructor(){}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions",""],["matButton","","matSnackBarAction","",3,"click"]],template:function(i,n){i&1&&(m(0,"div",0),K(1),w(),V(2,lBA,3,1,"div",1)),i&2&&(p(),_e(" ",n.data.message,` +`),p(),W(n.hasAction?2:-1))},dependencies:[Fn,dBA,BBA,EBA],styles:[`.mat-mdc-simple-snack-bar{display:flex}.mat-mdc-simple-snack-bar .mat-mdc-snack-bar-label{max-height:50vh;overflow:auto} +`],encapsulation:2,changeDetection:0})}return t})(),gk="_mat-snack-bar-enter",lk="_mat-snack-bar-exit",hBA=(()=>{class t extends _2{_ngZone=h(Oe);_elementRef=h(ge);_changeDetectorRef=h(mt);_platform=h(Ii);_animationsDisabled=qi();snackBarConfig=h(lE);_document=h(Xt);_trackedModals=new Set;_enterFallback;_exitFallback;_injector=h(ft);_announceDelay=150;_announceTimeoutId;_destroyed=!1;_portalOutlet;_onAnnounce=new $A;_onExit=new $A;_onEnter=new $A;_animationState="void";_live;_label;_role;_liveElementId=h(an).getId("mat-snack-bar-container-live-");constructor(){super();let A=this.snackBarConfig;A.politeness==="assertive"&&!A.announcementMessage?this._live="assertive":A.politeness==="off"?this._live="off":this._live="polite",this._platform.FIREFOX&&(this._live==="polite"&&(this._role="status"),this._live==="assertive"&&(this._role="alert"))}attachComponentPortal(A){this._assertNotAttached();let i=this._portalOutlet.attachComponentPortal(A);return this._afterPortalAttached(),i}attachTemplatePortal(A){this._assertNotAttached();let i=this._portalOutlet.attachTemplatePortal(A);return this._afterPortalAttached(),i}attachDomPortal=A=>{this._assertNotAttached();let i=this._portalOutlet.attachDomPortal(A);return this._afterPortalAttached(),i};onAnimationEnd(A){A===lk?this._completeExit():A===gk&&(clearTimeout(this._enterFallback),this._ngZone.run(()=>{this._onEnter.next(),this._onEnter.complete()}))}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce(),this._animationsDisabled?Yn(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(gk)))},{injector:this._injector}):(clearTimeout(this._enterFallback),this._enterFallback=setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-snack-bar-fallback-visible"),this.onAnimationEnd(gk)},200)))}exit(){return this._destroyed?se(void 0):(this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._animationsDisabled?Yn(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(lk)))},{injector:this._injector}):(clearTimeout(this._exitFallback),this._exitFallback=setTimeout(()=>this.onAnimationEnd(lk),200))}),this._onExit)}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){clearTimeout(this._exitFallback),queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){let A=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(a=>A.classList.add(a)):A.classList.add(i)),this._exposeToModals();let n=this._label.nativeElement,o="mdc-snackbar__label";n.classList.toggle(o,!n.querySelector(`.${o}`))}_exposeToModals(){let A=this._liveElementId,i=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let n=0;n{let i=A.getAttribute("aria-owns");if(i){let n=i.replace(this._liveElementId,"").trim();n.length>0?A.setAttribute("aria-owns",n):A.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{if(this._destroyed)return;let A=this._elementRef.nativeElement,i=A.querySelector("[aria-hidden]"),n=A.querySelector("[aria-live]");if(i&&n){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&i.contains(document.activeElement)&&(o=document.activeElement),i.removeAttribute("aria-hidden"),n.appendChild(i),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-snack-bar-container"]],viewQuery:function(i,n){if(i&1&&ai(Jg,7)(cBA,7),i&2){let o;ce(o=Ce())&&(n._portalOutlet=o.first),ce(o=Ce())&&(n._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container"],hostVars:6,hostBindings:function(i,n){i&1&&eA("animationend",function(a){return n.onAnimationEnd(a.animationName)})("animationcancel",function(a){return n.onAnimationEnd(a.animationName)}),i&2&&ae("mat-snack-bar-container-enter",n._animationState==="visible")("mat-snack-bar-container-exit",n._animationState==="hidden")("mat-snack-bar-container-animations-enabled",!n._animationsDisabled)},features:[dt],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface","mat-mdc-snackbar-surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(i,n){i&1&&(m(0,"div",1)(1,"div",2,0)(3,"div",3),vt(4,CBA,0,0,"ng-template",4),w(),GA(5,"div"),w()()),i&2&&(p(5),ie("aria-live",n._live)("role",n._role)("id",n._liveElementId))},dependencies:[Jg],styles:[`@keyframes _mat-snack-bar-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes _mat-snack-bar-exit{from{opacity:1}to{opacity:0}}.mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-snack-bar-container-animations-enabled{opacity:0}.mat-snack-bar-container-animations-enabled.mat-snack-bar-fallback-visible{opacity:1}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-enter{animation:_mat-snack-bar-enter 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-exit{animation:_mat-snack-bar-exit 75ms cubic-bezier(0.4, 0, 1, 1) forwards}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}@media(forced-colors: active){.mat-mdc-snackbar-surface{outline:solid 1px}}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mat-snack-bar-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-snack-bar-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-snack-bar-container-color, var(--mat-sys-inverse-surface))}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mat-snack-bar-supporting-text-font, var(--mat-sys-body-medium-font));font-size:var(--mat-snack-bar-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mat-snack-bar-supporting-text-weight, var(--mat-sys-body-medium-weight));line-height:var(--mat-snack-bar-supporting-text-line-height, var(--mat-sys-body-medium-line-height))}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){--mat-button-text-state-layer-color: currentColor;--mat-button-text-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled).mat-unthemed{color:var(--mat-snack-bar-button-color, var(--mat-sys-inverse-primary))}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1} +`],encapsulation:2})}return t})(),uBA=new yA("mat-snack-bar-default-options",{providedIn:"root",factory:()=>new lE}),J2=(()=>{class t{_live=h(vu);_injector=h(ft);_breakpointObserver=h(Du);_parentSnackBar=h(t,{optional:!0,skipSelf:!0});_defaultConfig=h(uBA);_animationsDisabled=qi();_snackBarRefAtThisLevel=null;simpleSnackBarComponent=QBA;snackBarContainerComponent=hBA;handsetCssClass="mat-mdc-snack-bar-handset";get _openedSnackBarRef(){let A=this._parentSnackBar;return A?A._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(A){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=A:this._snackBarRefAtThisLevel=A}constructor(){}openFromComponent(A,i){return this._attach(A,i)}openFromTemplate(A,i){return this._attach(A,i)}open(A,i="",n){let o=gA(gA({},this._defaultConfig),n);return o.data={message:A,action:i},o.announcementMessage===A&&(o.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,o)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(A,i){let n=i&&i.viewContainerRef&&i.viewContainerRef.injector,o=ft.create({parent:n||this._injector,providers:[{provide:lE,useValue:i}]}),a=new Ug(this.snackBarContainerComponent,i.viewContainerRef,o),r=A.attach(a);return r.instance.snackBarConfig=i,r.instance}_attach(A,i){let n=gA(gA(gA({},new lE),this._defaultConfig),i),o=this._createOverlay(n),a=this._attachSnackBarContainer(o,n),r=new w4(a,o);if(A instanceof Tn){let s=new Is(A,null,{$implicit:n.data,snackBarRef:r});r.instance=a.attachTemplatePortal(s)}else{let s=this._createInjector(n,r),g=new Ug(A,void 0,s),l=a.attachComponentPortal(g);r.instance=l.instance}return this._breakpointObserver.observe(OJ.HandsetPortrait).pipe(Bt(o.detachments())).subscribe(s=>{o.overlayElement.classList.toggle(this.handsetCssClass,s.matches)}),n.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(r,n),this._openedSnackBarRef=r,this._openedSnackBarRef}_animateSnackBar(A,i){A.afterDismissed().subscribe(()=>{this._openedSnackBarRef==A&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),i.duration&&i.duration>0&&A.afterOpened().subscribe(()=>A._dismissAfter(i.duration)),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{A.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):A.containerInstance.enter()}_createOverlay(A){let i=new rc;i.direction=A.direction;let n=L2(this._injector),o=A.direction==="rtl",a=A.horizontalPosition==="left"||A.horizontalPosition==="start"&&!o||A.horizontalPosition==="end"&&o,r=!a&&A.horizontalPosition!=="center";return a?n.left("0"):r?n.right("0"):n.centerHorizontally(),A.verticalPosition==="top"?n.top("0"):n.bottom("0"),i.positionStrategy=n,i.disableAnimations=this._animationsDisabled,gc(this._injector,i)}_createInjector(A,i){let n=A&&A.viewContainerRef&&A.viewContainerRef.injector;return ft.create({parent:n||this._injector,providers:[{provide:w4,useValue:i},{provide:Nz,useValue:A.data}]})}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var fBA=t=>["segment",t],mBA=(t,e)=>({"segment-main":!0,expandable:t,expanded:e});function pBA(t,e){t&1&&GA(0,"div",9)}function wBA(t,e){if(t&1&&(m(0,"span",10),K(1),w()),t&2){let A=v().$implicit;p(),qA(A.description)}}function DBA(t,e){if(t&1&&(m(0,"section",11),GA(1,"ngx-json-viewer",12),w()),t&2){let A=v().$implicit,i=v();p(),AA("json",A.value)("expanded",i.expanded)("depth",i.depth)("_currentDepth",i._currentDepth+1)}}function yBA(t,e){if(t&1){let A=JA();m(0,"section",2)(1,"section",3),eA("click",function(){let n=Z(A).$implicit,o=v();return X(o.toggle(n))}),vt(2,pBA,1,0,"div",4),m(3,"span",5),K(4),w(),m(5,"span",6),K(6,": "),w(),vt(7,wBA,2,1,"span",7),w(),vt(8,DBA,2,4,"section",8),w()}if(t&2){let A=e.$implicit,i=v();AA("ngClass",ss(6,fBA,"segment-type-"+A.type)),p(),AA("ngClass",Vl(8,mBA,i.isExpandable(A),A.expanded)),p(),AA("ngIf",i.isExpandable(A)),p(2),qA(A.key),p(3),AA("ngIf",!A.expanded||!i.isExpandable(A)),p(),AA("ngIf",A.expanded&&i.isExpandable(A))}}var Y2=(()=>{class t{constructor(){this.expanded=!0,this.depth=-1,this._currentDepth=0,this.segments=[]}ngOnChanges(){this.segments=[],this.json=this.decycle(this.json),typeof this.json=="object"?Object.keys(this.json).forEach(A=>{this.segments.push(this.parseKeyValue(A,this.json[A]))}):this.segments.push(this.parseKeyValue(`(${typeof this.json})`,this.json))}isExpandable(A){return A.type==="object"||A.type==="array"}toggle(A){this.isExpandable(A)&&(A.expanded=!A.expanded)}parseKeyValue(A,i){let n={key:A,value:i,type:void 0,description:""+i,expanded:this.isExpanded()};switch(typeof n.value){case"number":{n.type="number";break}case"boolean":{n.type="boolean";break}case"function":{n.type="function";break}case"string":{n.type="string",n.description='"'+n.value+'"';break}case"undefined":{n.type="undefined",n.description="undefined";break}case"object":{n.value===null?(n.type="null",n.description="null"):Array.isArray(n.value)?(n.type="array",n.description="Array["+n.value.length+"] "+JSON.stringify(n.value)):n.value instanceof Date?n.type="date":(n.type="object",n.description="Object "+JSON.stringify(n.value));break}}return n}isExpanded(){return this.expanded&&!(this.depth>-1&&this._currentDepth>=this.depth)}decycle(A){let i=new WeakMap;return(function n(o,a){let r,s;return typeof o=="object"&&o!==null&&!(o instanceof Boolean)&&!(o instanceof Date)&&!(o instanceof Number)&&!(o instanceof RegExp)&&!(o instanceof String)?(r=i.get(o),r!==void 0?{$ref:r}:(i.set(o,a),Array.isArray(o)?(s=[],o.forEach(function(g,l){s[l]=n(g,a+"["+l+"]")})):(s={},Object.keys(o).forEach(function(g){s[g]=n(o[g],a+"["+JSON.stringify(g)+"]")})),s)):o})(A,"$")}}return t.\u0275fac=function(A){return new(A||t)},t.\u0275cmp=kA({type:t,selectors:[["ngx-json-viewer"]],inputs:{json:"json",expanded:"expanded",depth:"depth",_currentDepth:"_currentDepth"},standalone:!1,features:[ti],decls:2,vars:1,consts:[[1,"ngx-json-viewer"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[3,"click","ngClass"],["class","toggler",4,"ngIf"],[1,"segment-key"],[1,"segment-separator"],["class","segment-value",4,"ngIf"],["class","children",4,"ngIf"],[1,"toggler"],[1,"segment-value"],[1,"children"],[3,"json","expanded","depth","_currentDepth"]],template:function(A,i){A&1&&(m(0,"section",0),vt(1,yBA,9,11,"section",1),w()),A&2&&(p(),AA("ngForOf",i.segments))},dependencies:[gs,DB,o0,t],styles:['@charset "UTF-8";.ngx-json-viewer[_ngcontent-%COMP%]{font-family:var(--ngx-json-font-family, monospace);font-size:var(--ngx-json-font-size, 1em);width:100%;height:100%;overflow:hidden;position:relative}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%]{padding:2px;margin:1px 1px 1px 12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%]{word-wrap:break-word}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]{position:absolute;margin-left:-14px;margin-top:3px;font-size:.8em;line-height:1.2em;vertical-align:middle;color:var(--ngx-json-toggler, #787878)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]:after{display:inline-block;content:"\\25ba";transition:transform .1s ease-in}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-key, #4E187C)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-separator[_ngcontent-%COMP%]{color:var(--ngx-json-separator, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-value, #000)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .children[_ngcontent-%COMP%]{margin-left:12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-string[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-string, #FF6B6B)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-number[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-number, #009688)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-boolean[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-boolean, #B938A4)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-date[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-date, #05668D)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-array, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-object, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-function[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-function, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-null, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-undefined, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-null-bg, red)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%]{white-space:nowrap}.ngx-json-viewer[_ngcontent-%COMP%] .expanded[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]:after{transform:rotate(90deg)}.ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]{cursor:pointer}']}),t})(),B0=(()=>{class t{}return t.\u0275fac=function(A){return new(A||t)},t.\u0275mod=$e({type:t}),t.\u0275inj=Xe({imports:[fa]}),t})();var zr=class t{static getBaseUrlWithoutPath(){let e=window.location.href;return new URL(e).origin+"/dev-ui/"}static getApiServerBaseUrl(){return window.runtimeConfig?.backendUrl||""}static getWSServerUrl(){let e=t.getApiServerBaseUrl();return!e||e==""?window.location.host:e.startsWith("http://")?e.slice(7):e.startsWith("https://")?e.slice(8):e}};var sg=new yA("AgentService");var E0=new yA("AgentBuilderService");var h8=new yA("ArtifactService");var cE=new yA("DownloadService");var Q0=new yA("EvalService");var CE=new yA("EventService");var Fz="import_session",_z="edit_function_args";var Lz="a2a_card",vr=new yA("FeatureFlagService");var IE=new yA("GraphService");var u8=new yA("LocalFileService");var ds=new yA("SafeValuesService"),f8=class{openBase64InNewTab(e,A){try{if(!e)return;let i=e;if(e.startsWith("data:")&&e.includes(";base64,")&&(i=i.substring(i.indexOf(";base64,")+8)),!A||!i)return;let n=atob(i),o=new Array(n.length);for(let g=0;gthis.onResizeHandleMouseDown(e)),document.documentElement.style.setProperty("--bottom-panel-height","310px"),this.renderer.setStyle(this.el.nativeElement,"height","var(--bottom-panel-height)")}onResizeHandleMouseDown(e){this.resizingEvent={isResizing:!0,startingCursorY:e.clientY,startingHeight:this.bottomPanelHeight},e.preventDefault()}onMouseMove(e){if(!this.resizingEvent.isResizing)return;let A=this.resizingEvent.startingCursorY-e.clientY,i=this.resizingEvent.startingHeight+A;this.bottomPanelHeight=i,this.renderer.addClass(document.body,"resizing")}onMouseUp(){this.resizingEvent.isResizing=!1,this.renderer.removeClass(document.body,"resizing")}onResize(){this.bottomMaxHeight=window.innerHeight/2,this.bottomPanelHeight=this.bottomPanelHeight}set bottomPanelHeight(e){let A=Math.min(Math.max(e,this.bottomMinHeight),this.bottomMaxHeight);document.body.style.setProperty("--bottom-panel-height",`${A}px`)}get bottomPanelHeight(){let e=getComputedStyle(document.body).getPropertyValue("--bottom-panel-height"),A=parseInt(e,10);return isNaN(A)?500:A}static \u0275fac=function(A){return new(A||t)(Ct(ge),Ct(Fi))};static \u0275dir=OA({type:t,selectors:[["","appResizableBottomPanel",""]],hostBindings:function(A,i){A&1&&eA("mousemove",function(o){return i.onMouseMove(o)},tC)("mouseup",function(){return i.onMouseUp()},tC)("resize",function(){return i.onResize()},u2)}})};var D8=class t{constructor(e,A){this.el=e;this.renderer=A}sideDrawerMinWidth=310;sideDrawerMaxWidth=window.innerWidth/2;resizeHandle=null;resizingEvent={isResizing:!1,startingCursorX:0,startingWidth:0};ngAfterViewInit(){this.sideDrawerMaxWidth=window.innerWidth/2,this.resizeHandle=document.getElementsByClassName("resize-handler")[0],this.resizeHandle&&this.renderer.listen(this.resizeHandle,"mousedown",e=>this.onResizeHandleMouseDown(e)),document.documentElement.style.setProperty("--side-drawer-width","570px"),this.renderer.setStyle(this.el.nativeElement,"width","var(--side-drawer-width)")}onResizeHandleMouseDown(e){this.resizingEvent={isResizing:!0,startingCursorX:e.clientX,startingWidth:this.sideDrawerWidth},e.preventDefault()}onMouseMove(e){if(!this.resizingEvent.isResizing)return;let A=e.clientX-this.resizingEvent.startingCursorX,i=this.resizingEvent.startingWidth+A;this.sideDrawerWidth=i,this.renderer.addClass(document.body,"resizing")}onMouseUp(){this.resizingEvent.isResizing=!1,this.renderer.removeClass(document.body,"resizing")}onResize(){this.sideDrawerMaxWidth=window.innerWidth/2,this.sideDrawerWidth=this.sideDrawerWidth}set sideDrawerWidth(e){let A=Math.min(Math.max(e,this.sideDrawerMinWidth),this.sideDrawerMaxWidth);document.documentElement.style.setProperty("--side-drawer-width",`${A}px`)}get sideDrawerWidth(){let e=getComputedStyle(document.documentElement).getPropertyValue("--side-drawer-width"),A=parseFloat(e);return isNaN(A)?500:A}static \u0275fac=function(A){return new(A||t)(Ct(ge),Ct(Fi))};static \u0275dir=OA({type:t,selectors:[["","appResizableDrawer",""]],hostBindings:function(A,i){A&1&&eA("mousemove",function(o){return i.onMouseMove(o)},tC)("mouseup",function(){return i.onMouseUp()},tC)("resize",function(){return i.onResize()},u2)}})};var y8=Symbol.for("yaml.alias"),v8=Symbol.for("yaml.document"),lc=Symbol.for("yaml.map"),ck=Symbol.for("yaml.pair"),Yg=Symbol.for("yaml.scalar"),hC=Symbol.for("yaml.seq"),Us=Symbol.for("yaml.node.type"),El=t=>!!t&&typeof t=="object"&&t[Us]===y8,cc=t=>!!t&&typeof t=="object"&&t[Us]===v8,Cc=t=>!!t&&typeof t=="object"&&t[Us]===lc,mn=t=>!!t&&typeof t=="object"&&t[Us]===ck,Yi=t=>!!t&&typeof t=="object"&&t[Us]===Yg,Ic=t=>!!t&&typeof t=="object"&&t[Us]===hC;function so(t){if(t&&typeof t=="object")switch(t[Us]){case lc:case hC:return!0}return!1}function yn(t){if(t&&typeof t=="object")switch(t[Us]){case y8:case lc:case Yg:case hC:return!0}return!1}var b8=t=>(Yi(t)||so(t))&&!!t.anchor;var gg=Symbol("break visit"),Gz=Symbol("skip children"),h0=Symbol("remove node");function u0(t,e){let A=Kz(e);cc(t)?BE(null,t.contents,A,Object.freeze([t]))===h0&&(t.contents=null):BE(null,t,A,Object.freeze([]))}u0.BREAK=gg;u0.SKIP=Gz;u0.REMOVE=h0;function BE(t,e,A,i){let n=Uz(t,e,A,i);if(yn(n)||mn(n))return Jz(t,i,n),BE(t,n,A,i);if(typeof n!="symbol"){if(so(e)){i=Object.freeze(i.concat(e));for(let o=0;ot.replace(/[!,[\]{}]/g,e=>vBA[e]),QE=(()=>{class t{constructor(A,i){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,A),this.tags=Object.assign({},t.defaultTags,i)}clone(){let A=new t(this.yaml,this.tags);return A.docStart=this.docStart,A}atDocument(){let A=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return A}add(A,i){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let n=A.trim().split(/[ \t]+/),o=n.shift();switch(o){case"%TAG":{if(n.length!==2&&(i(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[a,r]=n;return this.tags[a]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return i(0,"%YAML directive should contain exactly one part"),!1;let[a]=n;if(a==="1.1"||a==="1.2")return this.yaml.version=a,!0;{let r=/^\d+\.\d+$/.test(a);return i(6,`Unsupported YAML version ${a}`,r),!1}}default:return i(0,`Unknown directive ${o}`,!0),!1}}tagName(A,i){if(A==="!")return"!";if(A[0]!=="!")return i(`Not a valid tag: ${A}`),null;if(A[1]==="<"){let r=A.slice(2,-1);return r==="!"||r==="!!"?(i(`Verbatim tags aren't resolved, so ${A} is invalid.`),null):(A[A.length-1]!==">"&&i("Verbatim tags must end with a >"),r)}let[,n,o]=A.match(/^(.*!)([^!]*)$/s);o||i(`The ${A} tag has no suffix`);let a=this.tags[n];if(a)try{return a+decodeURIComponent(o)}catch(r){return i(String(r)),null}return n==="!"?A:(i(`Could not resolve tag: ${A}`),null)}tagString(A){for(let[i,n]of Object.entries(this.tags))if(A.startsWith(n))return i+bBA(A.substring(n.length));return A[0]==="!"?A:`!<${A}>`}toString(A){let i=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),o;if(A&&n.length>0&&yn(A.contents)){let a={};u0(A.contents,(r,s)=>{yn(s)&&s.tag&&(a[s.tag]=!0)}),o=Object.keys(a)}else o=[];for(let[a,r]of n)a==="!!"&&r==="tag:yaml.org,2002:"||(!A||o.some(s=>s.startsWith(r)))&&i.push(`%TAG ${a} ${r}`);return i.join(` +`)}}return t.defaultYaml={explicit:!1,version:"1.2"},t.defaultTags={"!!":"tag:yaml.org,2002:"},t})();function k8(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let A=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(A)}return!0}function Ck(t){let e=new Set;return u0(t,{Value(A,i){i.anchor&&e.add(i.anchor)}}),e}function Ik(t,e){for(let A=1;;++A){let i=`${t}${A}`;if(!e.has(i))return i}}function Yz(t,e){let A=[],i=new Map,n=null;return{onAnchor:o=>{A.push(o),n??(n=Ck(t));let a=Ik(e,n);return n.add(a),a},setAnchors:()=>{for(let o of A){let a=i.get(o);if(typeof a=="object"&&a.anchor&&(Yi(a.node)||so(a.node)))a.node.anchor=a.anchor;else{let r=new Error("Failed to resolve repeated object (this should not happen)");throw r.source=o,r}}},sourceObjects:i}}function H2(t,e,A,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let n=0,o=i.length;nBr(i,String(n),A));if(t&&typeof t.toJSON=="function"){if(!A||!b8(t))return t.toJSON(e,A);let i={aliasCount:0,count:1,res:void 0};A.anchors.set(t,i),A.onCreate=o=>{i.res=o,delete A.onCreate};let n=t.toJSON(e,A);return A.onCreate&&A.onCreate(n),n}return typeof t=="bigint"&&!A?.keep?Number(t):t}var z2=class{constructor(e){Object.defineProperty(this,Us,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:A,maxAliasCount:i,onAnchor:n,reviver:o}={}){if(!cc(e))throw new TypeError("A document argument is required");let a={anchors:new Map,doc:e,keep:!0,mapAsMap:A===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},r=Br(this,"",a);if(typeof n=="function")for(let{count:s,res:g}of a.anchors.values())n(g,s);return typeof o=="function"?H2(o,{"":r},"",r):r}};var uC=class extends z2{constructor(e){super(y8),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,A){let i;A?.aliasResolveCache?i=A.aliasResolveCache:(i=[],u0(e,{Node:(o,a)=>{(El(a)||b8(a))&&i.push(a)}}),A&&(A.aliasResolveCache=i));let n;for(let o of i){if(o===this)break;o.anchor===this.source&&(n=o)}return n}toJSON(e,A){if(!A)return{source:this.source};let{anchors:i,doc:n,maxAliasCount:o}=A,a=this.resolve(n,A);if(!a){let s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(s)}let r=i.get(a);if(r||(Br(a,null,A),r=i.get(a)),r?.res===void 0){let s="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(s)}if(o>=0&&(r.count+=1,r.aliasCount===0&&(r.aliasCount=S8(n,a,i)),r.count*r.aliasCount>o)){let s="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(s)}return r.res}toString(e,A,i){let n=`*${this.source}`;if(e){if(k8(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(e.implicitKey)return`${n} `}return n}};function S8(t,e,A){if(El(e)){let i=e.resolve(t),n=A&&i&&A.get(i);return n?n.count*n.aliasCount:0}else if(so(e)){let i=0;for(let n of e.items){let o=S8(t,n,A);o>i&&(i=o)}return i}else if(mn(e)){let i=S8(t,e.key,A),n=S8(t,e.value,A);return Math.max(i,n)}return 1}var x8=t=>!t||typeof t!="function"&&typeof t!="object",zt=(()=>{class t extends z2{constructor(A){super(Yg),this.value=A}toJSON(A,i){return i?.keep?this.value:Br(this.value,A,i)}toString(){return String(this.value)}}return t.BLOCK_FOLDED="BLOCK_FOLDED",t.BLOCK_LITERAL="BLOCK_LITERAL",t.PLAIN="PLAIN",t.QUOTE_DOUBLE="QUOTE_DOUBLE",t.QUOTE_SINGLE="QUOTE_SINGLE",t})();var MBA="tag:yaml.org,2002:";function kBA(t,e,A){if(e){let i=A.filter(o=>o.tag===e),n=i.find(o=>!o.format)??i[0];if(!n)throw new Error(`Tag ${e} not found`);return n}return A.find(i=>i.identify?.(t)&&!i.format)}function fC(t,e,A){if(cc(t)&&(t=t.contents),yn(t))return t;if(mn(t)){let C=A.schema[lc].createNode?.(A.schema,null,A);return C.items.push(t),C}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:i,onAnchor:n,onTagObj:o,schema:a,sourceObjects:r}=A,s;if(i&&t&&typeof t=="object"){if(s=r.get(t),s)return s.anchor??(s.anchor=n(t)),new uC(s.anchor);s={anchor:null,node:null},r.set(t,s)}e?.startsWith("!!")&&(e=MBA+e.slice(2));let g=kBA(t,e,a.tags);if(!g){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let C=new zt(t);return s&&(s.node=C),C}g=t instanceof Map?a[lc]:Symbol.iterator in Object(t)?a[hC]:a[lc]}o&&(o(g),delete A.onTagObj);let l=g?.createNode?g.createNode(A.schema,t,A):typeof g?.nodeClass?.from=="function"?g.nodeClass.from(A.schema,t,A):new zt(t);return e?l.tag=e:g.default||(l.tag=g.tag),s&&(s.node=l),l}function D4(t,e,A){let i=A;for(let n=e.length-1;n>=0;--n){let o=e[n];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let a=[];a[o]=i,i=a}else i=new Map([[o,i]])}return fC(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var uE=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,hE=class extends z2{constructor(e,A){super(e),Object.defineProperty(this,"schema",{value:A,configurable:!0,enumerable:!1,writable:!0})}clone(e){let A=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(A.schema=e),A.items=A.items.map(i=>yn(i)||mn(i)?i.clone(e):i),this.range&&(A.range=this.range.slice()),A}addIn(e,A){if(uE(e))this.add(A);else{let[i,...n]=e,o=this.get(i,!0);if(so(o))o.addIn(n,A);else if(o===void 0&&this.schema)this.set(i,D4(this.schema,n,A));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${n}`)}}deleteIn(e){let[A,...i]=e;if(i.length===0)return this.delete(A);let n=this.get(A,!0);if(so(n))return n.deleteIn(i);throw new Error(`Expected YAML collection at ${A}. Remaining path: ${i}`)}getIn(e,A){let[i,...n]=e,o=this.get(i,!0);return n.length===0?!A&&Yi(o)?o.value:o:so(o)?o.getIn(n,A):void 0}hasAllNullValues(e){return this.items.every(A=>{if(!mn(A))return!1;let i=A.value;return i==null||e&&Yi(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(e){let[A,...i]=e;if(i.length===0)return this.has(A);let n=this.get(A,!0);return so(n)?n.hasIn(i):!1}setIn(e,A){let[i,...n]=e;if(n.length===0)this.set(i,A);else{let o=this.get(i,!0);if(so(o))o.setIn(n,A);else if(o===void 0&&this.schema)this.set(i,D4(this.schema,n,A));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${n}`)}}};var Tz=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function Ql(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var f0=(t,e,A)=>t.endsWith(` +`)?Ql(A,e):A.includes(` +`)?` +`+Ql(A,e):(t.endsWith(" ")?"":" ")+A;var dk="flow",R8="block",y4="quoted";function v4(t,e,A="flow",{indentAtStart:i,lineWidth:n=80,minContentWidth:o=20,onFold:a,onOverflow:r}={}){if(!n||n<0)return t;nn-Math.max(2,o)?g.push(0):C=n-i);let I,d,B=!1,E=-1,Q=-1,f=-1;A===R8&&(E=Hz(t,E,e.length),E!==-1&&(C=E+s));for(let S;S=t[E+=1];){if(A===y4&&S==="\\"){switch(Q=E,t[E+1]){case"x":E+=3;break;case"u":E+=5;break;case"U":E+=9;break;default:E+=1}f=E}if(S===` +`)A===R8&&(E=Hz(t,E,e.length)),C=E+e.length+s,I=void 0;else{if(S===" "&&d&&d!==" "&&d!==` +`&&d!==" "){let M=t[E+1];M&&M!==" "&&M!==` +`&&M!==" "&&(I=E)}if(E>=C)if(I)g.push(I),C=I+s,I=void 0;else if(A===y4){for(;d===" "||d===" ";)d=S,S=t[E+=1],B=!0;let M=E>f+1?E-2:Q-1;if(l[M])return t;g.push(M),l[M]=!0,C=M+s,I=void 0}else B=!0}d=S}if(B&&r&&r(),g.length===0)return t;a&&a();let b=t.slice(0,g[0]);for(let S=0;S({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),_8=t=>/^(%|---|\.\.\.)/m.test(t);function SBA(t,e,A){if(!e||e<0)return!1;let i=e-A,n=t.length;if(n<=i)return!1;for(let o=0,a=0;oi)return!0;if(a=o+1,n-a<=i)return!1}return!0}function b4(t,e){let A=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return A;let{implicitKey:i}=e,n=e.options.doubleQuotedMinMultiLineLength,o=e.indent||(_8(t)?" ":""),a="",r=0;for(let s=0,g=A[s];g;g=A[++s])if(g===" "&&A[s+1]==="\\"&&A[s+2]==="n"&&(a+=A.slice(r,s)+"\\ ",s+=1,r=s,g="\\"),g==="\\")switch(A[s+1]){case"u":{a+=A.slice(r,s);let l=A.substr(s+2,4);switch(l){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:l.substr(0,2)==="00"?a+="\\x"+l.substr(2):a+=A.substr(s,6)}s+=5,r=s+1}break;case"n":if(i||A[s+2]==='"'||A.length +`;let C,I;for(I=A.length;I>0;--I){let D=A[I-1];if(D!==` +`&&D!==" "&&D!==" ")break}let d=A.substring(I),B=d.indexOf(` +`);B===-1?C="-":A===d||B!==d.length-1?(C="+",o&&o()):C="",d&&(A=A.slice(0,-d.length),d[d.length-1]===` +`&&(d=d.slice(0,-1)),d=d.replace(Ek,`$&${g}`));let E=!1,Q,f=-1;for(Q=0;Q{F=!0});let U=v4(`${b}${D}${d}`,g,R8,_);if(!F)return`>${M} +${g}${U}`}return A=A.replace(/\n+/g,`$&${g}`),`|${M} +${g}${b}${A}${d}`}function xBA(t,e,A,i){let{type:n,value:o}=t,{actualString:a,implicitKey:r,indent:s,indentStep:g,inFlow:l}=e;if(r&&o.includes(` +`)||l&&/[[\]{},]/.test(o))return fE(o,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return r||l||!o.includes(` +`)?fE(o,e):N8(t,e,A,i);if(!r&&!l&&n!==zt.PLAIN&&o.includes(` +`))return N8(t,e,A,i);if(_8(o)){if(s==="")return e.forceBlockIndent=!0,N8(t,e,A,i);if(r&&s===g)return fE(o,e)}let C=o.replace(/\n+/g,`$& +${s}`);if(a){let I=E=>E.default&&E.tag!=="tag:yaml.org,2002:str"&&E.test?.test(C),{compat:d,tags:B}=e.doc.schema;if(B.some(I)||d?.some(I))return fE(o,e)}return r?C:v4(C,s,dk,F8(e,!1))}function W1(t,e,A,i){let{implicitKey:n,inFlow:o}=e,a=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:r}=t;r!==zt.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(r=zt.QUOTE_DOUBLE);let s=l=>{switch(l){case zt.BLOCK_FOLDED:case zt.BLOCK_LITERAL:return n||o?fE(a.value,e):N8(a,e,A,i);case zt.QUOTE_DOUBLE:return b4(a.value,e);case zt.QUOTE_SINGLE:return Bk(a.value,e);case zt.PLAIN:return xBA(a,e,A,i);default:return null}},g=s(r);if(g===null){let{defaultKeyType:l,defaultStringType:C}=e.options,I=n&&l||C;if(g=s(I),g===null)throw new Error(`Unsupported default string type ${I}`)}return g}function L8(t,e){let A=Object.assign({blockQuote:!0,commentString:Tz,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,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),i;switch(A.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:t,flowCollectionPadding:A.flowCollectionPadding?" ":"",indent:"",indentStep:typeof A.indent=="number"?" ".repeat(A.indent):" ",inFlow:i,options:A}}function RBA(t,e){if(e.tag){let n=t.filter(o=>o.tag===e.tag);if(n.length>0)return n.find(o=>o.format===e.format)??n[0]}let A,i;if(Yi(e)){i=e.value;let n=t.filter(o=>o.identify?.(i));if(n.length>1){let o=n.filter(a=>a.test);o.length>0&&(n=o)}A=n.find(o=>o.format===e.format)??n.find(o=>!o.format)}else i=e,A=t.find(n=>n.nodeClass&&i instanceof n.nodeClass);if(!A){let n=i?.constructor?.name??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${n} value`)}return A}function NBA(t,e,{anchors:A,doc:i}){if(!i.directives)return"";let n=[],o=(Yi(t)||so(t))&&t.anchor;o&&k8(o)&&(A.add(o),n.push(`&${o}`));let a=t.tag??(e.default?null:e.tag);return a&&n.push(i.directives.tagString(a)),n.join(" ")}function mC(t,e,A,i){if(mn(t))return t.toString(e,A,i);if(El(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let n,o=yn(t)?t:e.doc.createNode(t,{onTagObj:s=>n=s});n??(n=RBA(e.doc.schema.tags,o));let a=NBA(o,n,e);a.length>0&&(e.indentAtStart=(e.indentAtStart??0)+a.length+1);let r=typeof n.stringify=="function"?n.stringify(o,e,A,i):Yi(o)?W1(o,e,A,i):o.toString(e,A,i);return a?Yi(o)||r[0]==="{"||r[0]==="["?`${a} ${r}`:`${a} +${e.indent}${r}`:r}function zz({key:t,value:e},A,i,n){let{allNullValues:o,doc:a,indent:r,indentStep:s,options:{commentString:g,indentSeq:l,simpleKeys:C}}=A,I=yn(t)&&t.comment||null;if(C){if(I)throw new Error("With simple keys, key nodes cannot have comments");if(so(t)||!yn(t)&&typeof t=="object"){let _="With simple keys, collection cannot be used as a key value";throw new Error(_)}}let d=!C&&(!t||I&&e==null&&!A.inFlow||so(t)||(Yi(t)?t.type===zt.BLOCK_FOLDED||t.type===zt.BLOCK_LITERAL:typeof t=="object"));A=Object.assign({},A,{allNullValues:!1,implicitKey:!d&&(C||!o),indent:r+s});let B=!1,E=!1,Q=mC(t,A,()=>B=!0,()=>E=!0);if(!d&&!A.inFlow&&Q.length>1024){if(C)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");d=!0}if(A.inFlow){if(o||e==null)return B&&i&&i(),Q===""?"?":d?`? ${Q}`:Q}else if(o&&!C||e==null&&d)return Q=`? ${Q}`,I&&!B?Q+=f0(Q,A.indent,g(I)):E&&n&&n(),Q;B&&(I=null),d?(I&&(Q+=f0(Q,A.indent,g(I))),Q=`? ${Q} +${r}:`):(Q=`${Q}:`,I&&(Q+=f0(Q,A.indent,g(I))));let f,b,S;yn(e)?(f=!!e.spaceBefore,b=e.commentBefore,S=e.comment):(f=!1,b=null,S=null,e&&typeof e=="object"&&(e=a.createNode(e))),A.implicitKey=!1,!d&&!I&&Yi(e)&&(A.indentAtStart=Q.length+1),E=!1,!l&&s.length>=2&&!A.inFlow&&!d&&Ic(e)&&!e.flow&&!e.tag&&!e.anchor&&(A.indent=A.indent.substring(2));let M=!1,D=mC(e,A,()=>M=!0,()=>E=!0),F=" ";if(I||f||b){if(F=f?` +`:"",b){let _=g(b);F+=` +${Ql(_,A.indent)}`}D===""&&!A.inFlow?F===` +`&&S&&(F=` + +`):F+=` +${A.indent}`}else if(!d&&so(e)){let _=D[0],U=D.indexOf(` +`),J=U!==-1,j=A.inFlow??e.flow??e.items.length===0;if(J||!j){let $=!1;if(J&&(_==="&"||_==="!")){let O=D.indexOf(" ");_==="&"&&O!==-1&&Ot===K8||typeof t=="symbol"&&t.description===K8,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new zt(Symbol(K8)),{addToJSMap:hk}),stringify:()=>K8},Oz=(t,e)=>(dc.identify(e)||Yi(e)&&(!e.type||e.type===zt.PLAIN)&&dc.identify(e.value))&&t?.doc.schema.tags.some(A=>A.tag===dc.tag&&A.default);function hk(t,e,A){if(A=t&&El(A)?A.resolve(t.doc):A,Ic(A))for(let i of A.items)Qk(t,e,i);else if(Array.isArray(A))for(let i of A)Qk(t,e,i);else Qk(t,e,A)}function Qk(t,e,A){let i=t&&El(A)?A.resolve(t.doc):A;if(!Cc(i))throw new Error("Merge sources must be maps or map aliases");let n=i.toJSON(null,t,Map);for(let[o,a]of n)e instanceof Map?e.has(o)||e.set(o,a):e instanceof Set?e.add(o):Object.prototype.hasOwnProperty.call(e,o)||Object.defineProperty(e,o,{value:a,writable:!0,enumerable:!0,configurable:!0});return e}function U8(t,e,{key:A,value:i}){if(yn(A)&&A.addToJSMap)A.addToJSMap(t,e,i);else if(Oz(t,A))hk(t,e,i);else{let n=Br(A,"",t);if(e instanceof Map)e.set(n,Br(i,n,t));else if(e instanceof Set)e.add(n);else{let o=FBA(A,n,t),a=Br(i,o,t);o in e?Object.defineProperty(e,o,{value:a,writable:!0,enumerable:!0,configurable:!0}):e[o]=a}}return e}function FBA(t,e,A){if(e===null)return"";if(typeof e!="object")return String(e);if(yn(t)&&A?.doc){let i=L8(A.doc,{});i.anchors=new Set;for(let o of A.anchors.keys())i.anchors.add(o.anchor);i.inFlow=!0,i.inStringifyKey=!0;let n=t.toString(i);if(!A.mapKeyWarned){let o=JSON.stringify(n);o.length>40&&(o=o.substring(0,36)+'..."'),G8(A.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),A.mapKeyWarned=!0}return n}return JSON.stringify(e)}function mE(t,e,A){let i=fC(t,void 0,A),n=fC(e,void 0,A);return new Ja(i,n)}var Ja=class t{constructor(e,A=null){Object.defineProperty(this,Us,{value:ck}),this.key=e,this.value=A}clone(e){let{key:A,value:i}=this;return yn(A)&&(A=A.clone(e)),yn(i)&&(i=i.clone(e)),new t(A,i)}toJSON(e,A){let i=A?.mapAsMap?new Map:{};return U8(A,i,this)}toString(e,A,i){return e?.doc?zz(this,e,A,i):JSON.stringify(this)}};function Y8(t,e,A){return(e.inFlow??t.flow?LBA:_BA)(t,e,A)}function _BA({comment:t,items:e},A,{blockItemPrefix:i,flowChars:n,itemIndent:o,onChompKeep:a,onComment:r}){let{indent:s,options:{commentString:g}}=A,l=Object.assign({},A,{indent:o,type:null}),C=!1,I=[];for(let B=0;BQ=null,()=>C=!0);Q&&(f+=f0(f,o,g(Q))),C&&Q&&(C=!1),I.push(i+f)}let d;if(I.length===0)d=n.start+n.end;else{d=I[0];for(let B=1;BQ=null);Bl||f.includes(` +`))&&(g=!0),C.push(f),l=C.length}let{start:I,end:d}=A;if(C.length===0)return I+d;if(!g){let B=C.reduce((E,Q)=>E+Q.length+2,2);g=e.options.lineWidth>0&&B>e.options.lineWidth}if(g){let B=I;for(let E of C)B+=E?` +${o}${n}${E}`:` +`;return`${B} +${n}${d}`}else return`${I}${a}${C.join(" ")}${a}${d}`}function J8({indent:t,options:{commentString:e}},A,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let o=Ql(e(i),t);A.push(o.trimStart())}}function O2(t,e){let A=Yi(e)?e.value:e;for(let i of t)if(mn(i)&&(i.key===e||i.key===A||Yi(i.key)&&i.key.value===A))return i}var Va=class extends hE{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(lc,e),this.items=[]}static from(e,A,i){let{keepUndefined:n,replacer:o}=i,a=new this(e),r=(s,g)=>{if(typeof o=="function")g=o.call(A,s,g);else if(Array.isArray(o)&&!o.includes(s))return;(g!==void 0||n)&&a.items.push(mE(s,g,i))};if(A instanceof Map)for(let[s,g]of A)r(s,g);else if(A&&typeof A=="object")for(let s of Object.keys(A))r(s,A[s]);return typeof e.sortMapEntries=="function"&&a.items.sort(e.sortMapEntries),a}add(e,A){let i;mn(e)?i=e:!e||typeof e!="object"||!("key"in e)?i=new Ja(e,e?.value):i=new Ja(e.key,e.value);let n=O2(this.items,i.key),o=this.schema?.sortMapEntries;if(n){if(!A)throw new Error(`Key ${i.key} already set`);Yi(n.value)&&x8(i.value)?n.value.value=i.value:n.value=i.value}else if(o){let a=this.items.findIndex(r=>o(i,r)<0);a===-1?this.items.push(i):this.items.splice(a,0,i)}else this.items.push(i)}delete(e){let A=O2(this.items,e);return A?this.items.splice(this.items.indexOf(A),1).length>0:!1}get(e,A){let n=O2(this.items,e)?.value;return(!A&&Yi(n)?n.value:n)??void 0}has(e){return!!O2(this.items,e)}set(e,A){this.add(new Ja(e,A),!0)}toJSON(e,A,i){let n=i?new i:A?.mapAsMap?new Map:{};A?.onCreate&&A.onCreate(n);for(let o of this.items)U8(A,n,o);return n}toString(e,A,i){if(!e)return JSON.stringify(this);for(let n of this.items)if(!mn(n))throw new Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Y8(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:i,onComment:A})}};var Bc={collection:"map",default:!0,nodeClass:Va,tag:"tag:yaml.org,2002:map",resolve(t,e){return Cc(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,A)=>Va.from(t,e,A)};var Bs=class extends hE{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(hC,e),this.items=[]}add(e){this.items.push(e)}delete(e){let A=T8(e);return typeof A!="number"?!1:this.items.splice(A,1).length>0}get(e,A){let i=T8(e);if(typeof i!="number")return;let n=this.items[i];return!A&&Yi(n)?n.value:n}has(e){let A=T8(e);return typeof A=="number"&&A=0?e:null}var Ec={collection:"seq",default:!0,nodeClass:Bs,tag:"tag:yaml.org,2002:seq",resolve(t,e){return Ic(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,A)=>Bs.from(t,e,A)};var P2={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,A,i){return e=Object.assign({actualString:!0},e),W1(t,e,A,i)}};var Z1={identify:t=>t==null,createNode:()=>new zt(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new zt(null),stringify:({source:t},e)=>typeof t=="string"&&Z1.test.test(t)?t:e.options.nullStr};var M4={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new zt(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},A){if(t&&M4.test.test(t)){let i=t[0]==="t"||t[0]==="T";if(e===i)return t}return e?A.options.trueStr:A.options.falseStr}};function Es({format:t,minFractionDigits:e,tag:A,value:i}){if(typeof i=="bigint")return String(i);let n=typeof i=="number"?i:Number(i);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let o=Object.is(i,-0)?"-0":JSON.stringify(i);if(!t&&e&&(!A||A==="tag:yaml.org,2002:float")&&/^\d/.test(o)){let a=o.indexOf(".");a<0&&(a=o.length,o+=".");let r=e-(o.length-a-1);for(;r-- >0;)o+="0"}return o}var H8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Es},z8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Es(t)}},O8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new zt(parseFloat(t)),A=t.indexOf(".");return A!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-A-1),e},stringify:Es};var P8=t=>typeof t=="bigint"||Number.isInteger(t),uk=(t,e,A,{intAsBigInt:i})=>i?BigInt(t):parseInt(t.substring(e),A);function Pz(t,e,A){let{value:i}=t;return P8(i)&&i>=0?A+i.toString(e):Es(t)}var j8={identify:t=>P8(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,A)=>uk(t,2,8,A),stringify:t=>Pz(t,8,"0o")},q8={identify:P8,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,A)=>uk(t,0,10,A),stringify:Es},V8={identify:t=>P8(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,A)=>uk(t,2,16,A),stringify:t=>Pz(t,16,"0x")};var jz=[Bc,Ec,P2,Z1,M4,j8,q8,V8,H8,z8,O8];function qz(t){return typeof t=="bigint"||Number.isInteger(t)}var W8=({value:t})=>JSON.stringify(t),GBA=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:W8},{identify:t=>t==null,createNode:()=>new zt(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:W8},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:W8},{identify:qz,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:A})=>A?BigInt(t):parseInt(t,10),stringify:({value:t})=>qz(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:W8}],KBA={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},Vz=[Bc,Ec].concat(GBA,KBA);var k4={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof atob=="function"){let A=atob(t.replace(/[\n\r]/g,"")),i=new Uint8Array(A.length);for(let n=0;n1&&e("Each pair must have its own sequence indicator");let n=i.items[0]||new Ja(new zt(null));if(i.commentBefore&&(n.key.commentBefore=n.key.commentBefore?`${i.commentBefore} +${n.key.commentBefore}`:i.commentBefore),i.comment){let o=n.value??n.key;o.comment=o.comment?`${i.comment} +${o.comment}`:i.comment}i=n}t.items[A]=mn(i)?i:new Ja(i)}}else e("Expected a sequence for this tag");return t}function mk(t,e,A){let{replacer:i}=A,n=new Bs(t);n.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterator in Object(e))for(let a of e){typeof i=="function"&&(a=i.call(e,String(o++),a));let r,s;if(Array.isArray(a))if(a.length===2)r=a[0],s=a[1];else throw new TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){let g=Object.keys(a);if(g.length===1)r=g[0],s=a[r];else throw new TypeError(`Expected tuple with one key, not ${g.length} keys`)}else r=a;n.items.push(mE(r,s,A))}return n}var S4={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:fk,createNode:mk};var pk=(()=>{class t extends Bs{constructor(){super(),this.add=Va.prototype.add.bind(this),this.delete=Va.prototype.delete.bind(this),this.get=Va.prototype.get.bind(this),this.has=Va.prototype.has.bind(this),this.set=Va.prototype.set.bind(this),this.tag=t.tag}toJSON(A,i){if(!i)return super.toJSON(A);let n=new Map;i?.onCreate&&i.onCreate(n);for(let o of this.items){let a,r;if(mn(o)?(a=Br(o.key,"",i),r=Br(o.value,a,i)):a=Br(o,"",i),n.has(a))throw new Error("Ordered maps must not include duplicate keys");n.set(a,r)}return n}static from(A,i,n){let o=mk(A,i,n),a=new this;return a.items=o.items,a}}return t.tag="tag:yaml.org,2002:omap",t})(),x4={collection:"seq",identify:t=>t instanceof Map,nodeClass:pk,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let A=fk(t,e),i=[];for(let{key:n}of A.items)Yi(n)&&(i.includes(n.value)?e(`Ordered maps must not include duplicate keys: ${n.value}`):i.push(n.value));return Object.assign(new pk,A)},createNode:(t,e,A)=>pk.from(t,e,A)};function Wz({value:t,source:e},A){return e&&(t?wk:Dk).test.test(e)?e:t?A.options.trueStr:A.options.falseStr}var wk={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new zt(!0),stringify:Wz},Dk={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new zt(!1),stringify:Wz};var Zz={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Es},Xz={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Es(t)}},$z={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new zt(parseFloat(t.replace(/_/g,""))),A=t.indexOf(".");if(A!==-1){let i=t.substring(A+1).replace(/_/g,"");i[i.length-1]==="0"&&(e.minFractionDigits=i.length)}return e},stringify:Es};var R4=t=>typeof t=="bigint"||Number.isInteger(t);function Z8(t,e,A,{intAsBigInt:i}){let n=t[0];if((n==="-"||n==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),i){switch(A){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let a=BigInt(t);return n==="-"?BigInt(-1)*a:a}let o=parseInt(t,A);return n==="-"?-1*o:o}function yk(t,e,A){let{value:i}=t;if(R4(i)){let n=i.toString(e);return i<0?"-"+A+n.substr(1):A+n}return Es(t)}var AO={identify:R4,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,A)=>Z8(t,2,2,A),stringify:t=>yk(t,2,"0b")},eO={identify:R4,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,A)=>Z8(t,1,8,A),stringify:t=>yk(t,8,"0")},tO={identify:R4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,A)=>Z8(t,0,10,A),stringify:Es},iO={identify:R4,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,A)=>Z8(t,2,16,A),stringify:t=>yk(t,16,"0x")};var vk=(()=>{class t extends Va{constructor(A){super(A),this.tag=t.tag}add(A){let i;mn(A)?i=A:A&&typeof A=="object"&&"key"in A&&"value"in A&&A.value===null?i=new Ja(A.key,null):i=new Ja(A,null),O2(this.items,i.key)||this.items.push(i)}get(A,i){let n=O2(this.items,A);return!i&&mn(n)?Yi(n.key)?n.key.value:n.key:n}set(A,i){if(typeof i!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof i}`);let n=O2(this.items,A);n&&!i?this.items.splice(this.items.indexOf(n),1):!n&&i&&this.items.push(new Ja(A))}toJSON(A,i){return super.toJSON(A,i,Set)}toString(A,i,n){if(!A)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},A,{allNullValues:!0}),i,n);throw new Error("Set items must all have null values")}static from(A,i,n){let{replacer:o}=n,a=new this(A);if(i&&Symbol.iterator in Object(i))for(let r of i)typeof o=="function"&&(r=o.call(i,r,r)),a.items.push(mE(r,null,n));return a}}return t.tag="tag:yaml.org,2002:set",t})(),N4={collection:"map",identify:t=>t instanceof Set,nodeClass:vk,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,A)=>vk.from(t,e,A),resolve(t,e){if(Cc(t)){if(t.hasAllNullValues(!0))return Object.assign(new vk,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};function bk(t,e){let A=t[0],i=A==="-"||A==="+"?t.substring(1):t,n=a=>e?BigInt(a):Number(a),o=i.replace(/_/g,"").split(":").reduce((a,r)=>a*n(60)+n(r),n(0));return A==="-"?n(-1)*o:o}function nO(t){let{value:e}=t,A=a=>a;if(typeof e=="bigint")A=a=>BigInt(a);else if(isNaN(e)||!isFinite(e))return Es(t);let i="";e<0&&(i="-",e*=A(-1));let n=A(60),o=[e%n];return e<60?o.unshift(0):(e=(e-o[0])/n,o.unshift(e%n),e>=60&&(e=(e-o[0])/n,o.unshift(e))),i+o.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var X8={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:A})=>bk(t,A),stringify:nO},$8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>bk(t,!1),stringify:nO},pE={identify:t=>t 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(t){let e=t.match(pE.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,A,i,n,o,a,r]=e.map(Number),s=e[7]?Number((e[7]+"00").substr(1,3)):0,g=Date.UTC(A,i-1,n,o||0,a||0,r||0,s),l=e[8];if(l&&l!=="Z"){let C=bk(l,!1);Math.abs(C)<30&&(C*=60),g-=6e4*C}return new Date(g)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var Mk=[Bc,Ec,P2,Z1,wk,Dk,AO,eO,tO,iO,Zz,Xz,$z,k4,dc,x4,S4,N4,X8,$8,pE];var oO=new Map([["core",jz],["failsafe",[Bc,Ec,P2]],["json",Vz],["yaml11",Mk],["yaml-1.1",Mk]]),aO={binary:k4,bool:M4,float:O8,floatExp:z8,floatNaN:H8,floatTime:$8,int:q8,intHex:V8,intOct:j8,intTime:X8,map:Bc,merge:dc,null:Z1,omap:x4,pairs:S4,seq:Ec,set:N4,timestamp:pE},rO={"tag:yaml.org,2002:binary":k4,"tag:yaml.org,2002:merge":dc,"tag:yaml.org,2002:omap":x4,"tag:yaml.org,2002:pairs":S4,"tag:yaml.org,2002:set":N4,"tag:yaml.org,2002:timestamp":pE};function Aw(t,e,A){let i=oO.get(e);if(i&&!t)return A&&!i.includes(dc)?i.concat(dc):i.slice();let n=i;if(!n)if(Array.isArray(t))n=[];else{let o=Array.from(oO.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${o} or define customTags array`)}if(Array.isArray(t))for(let o of t)n=n.concat(o);else typeof t=="function"&&(n=t(n.slice()));return A&&(n=n.concat(dc)),n.reduce((o,a)=>{let r=typeof a=="string"?aO[a]:a;if(!r){let s=JSON.stringify(a),g=Object.keys(aO).map(l=>JSON.stringify(l)).join(", ");throw new Error(`Unknown custom tag ${s}; use one of ${g}`)}return o.includes(r)||o.push(r),o},[])}var UBA=(t,e)=>t.keye.key?1:0,F4=class t{constructor({compat:e,customTags:A,merge:i,resolveKnownTags:n,schema:o,sortMapEntries:a,toStringDefaults:r}){this.compat=Array.isArray(e)?Aw(e,"compat"):e?Aw(null,e):null,this.name=typeof o=="string"&&o||"core",this.knownTags=n?rO:{},this.tags=Aw(A,this.name,i),this.toStringOptions=r??null,Object.defineProperty(this,lc,{value:Bc}),Object.defineProperty(this,Yg,{value:P2}),Object.defineProperty(this,hC,{value:Ec}),this.sortMapEntries=typeof a=="function"?a:a===!0?UBA:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};function sO(t,e){let A=[],i=e.directives===!0;if(e.directives!==!1&&t.directives){let s=t.directives.toString(t);s?(A.push(s),i=!0):t.directives.docStart&&(i=!0)}i&&A.push("---");let n=L8(t,e),{commentString:o}=n.options;if(t.commentBefore){A.length!==1&&A.unshift("");let s=o(t.commentBefore);A.unshift(Ql(s,""))}let a=!1,r=null;if(t.contents){if(yn(t.contents)){if(t.contents.spaceBefore&&i&&A.push(""),t.contents.commentBefore){let l=o(t.contents.commentBefore);A.push(Ql(l,""))}n.forceBlockIndent=!!t.comment,r=t.contents.comment}let s=r?void 0:()=>a=!0,g=mC(t.contents,n,()=>r=null,s);r&&(g+=f0(g,"",o(r))),(g[0]==="|"||g[0]===">")&&A[A.length-1]==="---"?A[A.length-1]=`--- ${g}`:A.push(g)}else A.push(mC(t.contents,n));if(t.directives?.docEnd)if(t.comment){let s=o(t.comment);s.includes(` +`)?(A.push("..."),A.push(Ql(s,""))):A.push(`... ${s}`)}else A.push("...");else{let s=t.comment;s&&a&&(s=s.replace(/^\n+/,"")),s&&((!a||r)&&A[A.length-1]!==""&&A.push(""),A.push(Ql(o(s),"")))}return A.join(` +`)+` +`}var pC=class t{constructor(e,A,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Us,{value:v8});let n=null;typeof A=="function"||Array.isArray(A)?n=A:i===void 0&&A&&(i=A,A=void 0);let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=o;let{version:a}=o;i?._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new QE({version:a}),this.setSchema(a,i),this.contents=e===void 0?null:this.createNode(e,n,i)}clone(){let e=Object.create(t.prototype,{[Us]:{value:v8}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=yn(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){wE(this.contents)&&this.contents.add(e)}addIn(e,A){wE(this.contents)&&this.contents.addIn(e,A)}createAlias(e,A){if(!e.anchor){let i=Ck(this);e.anchor=!A||i.has(A)?Ik(A||"a",i):A}return new uC(e.anchor)}createNode(e,A,i){let n;if(typeof A=="function")e=A.call({"":e},"",e),n=A;else if(Array.isArray(A)){let Q=b=>typeof b=="number"||b instanceof String||b instanceof Number,f=A.filter(Q).map(String);f.length>0&&(A=A.concat(f)),n=A}else i===void 0&&A&&(i=A,A=void 0);let{aliasDuplicateObjects:o,anchorPrefix:a,flow:r,keepUndefined:s,onTagObj:g,tag:l}=i??{},{onAnchor:C,setAnchors:I,sourceObjects:d}=Yz(this,a||"a"),B={aliasDuplicateObjects:o??!0,keepUndefined:s??!1,onAnchor:C,onTagObj:g,replacer:n,schema:this.schema,sourceObjects:d},E=fC(e,l,B);return r&&so(E)&&(E.flow=!0),I(),E}createPair(e,A,i={}){let n=this.createNode(e,null,i),o=this.createNode(A,null,i);return new Ja(n,o)}delete(e){return wE(this.contents)?this.contents.delete(e):!1}deleteIn(e){return uE(e)?this.contents==null?!1:(this.contents=null,!0):wE(this.contents)?this.contents.deleteIn(e):!1}get(e,A){return so(this.contents)?this.contents.get(e,A):void 0}getIn(e,A){return uE(e)?!A&&Yi(this.contents)?this.contents.value:this.contents:so(this.contents)?this.contents.getIn(e,A):void 0}has(e){return so(this.contents)?this.contents.has(e):!1}hasIn(e){return uE(e)?this.contents!==void 0:so(this.contents)?this.contents.hasIn(e):!1}set(e,A){this.contents==null?this.contents=D4(this.schema,[e],A):wE(this.contents)&&this.contents.set(e,A)}setIn(e,A){uE(e)?this.contents=A:this.contents==null?this.contents=D4(this.schema,Array.from(e),A):wE(this.contents)&&this.contents.setIn(e,A)}setSchema(e,A={}){typeof e=="number"&&(e=String(e));let i;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new QE({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new QE({version:e}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{let n=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${n}`)}}if(A.schema instanceof Object)this.schema=A.schema;else if(i)this.schema=new F4(Object.assign(i,A));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:A,mapAsMap:i,maxAliasCount:n,onAnchor:o,reviver:a}={}){let r={anchors:new Map,doc:this,keep:!e,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},s=Br(this.contents,A??"",r);if(typeof o=="function")for(let{count:g,res:l}of r.anchors.values())o(l,g);return typeof a=="function"?H2(a,{"":s},"",s):s}toJSON(e,A){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:A})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let A=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${A}`)}return sO(this,e)}};function wE(t){if(so(t))return!0;throw new Error("Expected a YAML collection as document contents")}var _4=class extends Error{constructor(e,A,i,n){super(),this.name=e,this.code=i,this.message=n,this.pos=A}},Qc=class extends _4{constructor(e,A,i){super("YAMLParseError",e,A,i)}},L4=class extends _4{constructor(e,A,i){super("YAMLWarning",e,A,i)}},kk=(t,e)=>A=>{if(A.pos[0]===-1)return;A.linePos=A.pos.map(r=>e.linePos(r));let{line:i,col:n}=A.linePos[0];A.message+=` at line ${i}, column ${n}`;let o=n-1,a=t.substring(e.lineStarts[i-1],e.lineStarts[i]).replace(/[\n\r]+$/,"");if(o>=60&&a.length>80){let r=Math.min(o-39,a.length-79);a="\u2026"+a.substring(r),o-=r-1}if(a.length>80&&(a=a.substring(0,79)+"\u2026"),i>1&&/^ *$/.test(a.substring(0,o))){let r=t.substring(e.lineStarts[i-2],e.lineStarts[i-1]);r.length>80&&(r=r.substring(0,79)+`\u2026 +`),a=r+a}if(/[^ ]/.test(a)){let r=1,s=A.linePos[1];s?.line===i&&s.col>n&&(r=Math.max(1,Math.min(s.col-n,80-o)));let g=" ".repeat(o)+"^".repeat(r);A.message+=`: + +${a} +${g} +`}};function m0(t,{flow:e,indicator:A,next:i,offset:n,onError:o,parentIndent:a,startOnNewline:r}){let s=!1,g=r,l=r,C="",I="",d=!1,B=!1,E=null,Q=null,f=null,b=null,S=null,M=null,D=null;for(let U of t)switch(B&&(U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&o(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),B=!1),E&&(g&&U.type!=="comment"&&U.type!=="newline"&&o(E,"TAB_AS_INDENT","Tabs are not allowed as indentation"),E=null),U.type){case"space":!e&&(A!=="doc-start"||i?.type!=="flow-collection")&&U.source.includes(" ")&&(E=U),l=!0;break;case"comment":{l||o(U,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let J=U.source.substring(1)||" ";C?C+=I+J:C=J,I="",g=!1;break}case"newline":g?C?C+=U.source:(!M||A!=="seq-item-ind")&&(s=!0):I+=U.source,g=!0,d=!0,(Q||f)&&(b=U),l=!0;break;case"anchor":Q&&o(U,"MULTIPLE_ANCHORS","A node can have at most one anchor"),U.source.endsWith(":")&&o(U.offset+U.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),Q=U,D??(D=U.offset),g=!1,l=!1,B=!0;break;case"tag":{f&&o(U,"MULTIPLE_TAGS","A node can have at most one tag"),f=U,D??(D=U.offset),g=!1,l=!1,B=!0;break}case A:(Q||f)&&o(U,"BAD_PROP_ORDER",`Anchors and tags must be after the ${U.source} indicator`),M&&o(U,"UNEXPECTED_TOKEN",`Unexpected ${U.source} in ${e??"collection"}`),M=U,g=A==="seq-item-ind"||A==="explicit-key-ind",l=!1;break;case"comma":if(e){S&&o(U,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),S=U,g=!1,l=!1;break}default:o(U,"UNEXPECTED_TOKEN",`Unexpected ${U.type} token`),g=!1,l=!1}let F=t[t.length-1],_=F?F.offset+F.source.length:n;return B&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&o(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),E&&(g&&E.indent<=a||i?.type==="block-map"||i?.type==="block-seq")&&o(E,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:S,found:M,spaceBefore:s,comment:C,hasNewline:d,anchor:Q,tag:f,newlineAfterProp:b,end:_,start:D??_}}function j2(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(` +`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let A of e.start)if(A.type==="newline")return!0;if(e.sep){for(let A of e.sep)if(A.type==="newline")return!0}if(j2(e.key)||j2(e.value))return!0}return!1;default:return!0}}function G4(t,e,A){if(e?.type==="flow-collection"){let i=e.end[0];i.indent===t&&(i.source==="]"||i.source==="}")&&j2(e)&&A(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function ew(t,e,A){let{uniqueKeys:i}=t.options;if(i===!1)return!1;let n=typeof i=="function"?i:(o,a)=>o===a||Yi(o)&&Yi(a)&&o.value===a.value;return e.some(o=>n(o.key,A))}var gO="All mapping items must start at the same column";function lO({composeNode:t,composeEmptyNode:e},A,i,n,o){let a=o?.nodeClass??Va,r=new a(A.schema);A.atRoot&&(A.atRoot=!1);let s=i.offset,g=null;for(let l of i.items){let{start:C,key:I,sep:d,value:B}=l,E=m0(C,{indicator:"explicit-key-ind",next:I??d?.[0],offset:s,onError:n,parentIndent:i.indent,startOnNewline:!0}),Q=!E.found;if(Q){if(I&&(I.type==="block-seq"?n(s,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in I&&I.indent!==i.indent&&n(s,"BAD_INDENT",gO)),!E.anchor&&!E.tag&&!d){g=E.end,E.comment&&(r.comment?r.comment+=` +`+E.comment:r.comment=E.comment);continue}(E.newlineAfterProp||j2(I))&&n(I??C[C.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else E.found?.indent!==i.indent&&n(s,"BAD_INDENT",gO);A.atKey=!0;let f=E.end,b=I?t(A,I,E,n):e(A,f,C,null,E,n);A.schema.compat&&G4(i.indent,I,n),A.atKey=!1,ew(A,r.items,b)&&n(f,"DUPLICATE_KEY","Map keys must be unique");let S=m0(d??[],{indicator:"map-value-ind",next:B,offset:b.range[2],onError:n,parentIndent:i.indent,startOnNewline:!I||I.type==="block-scalar"});if(s=S.end,S.found){Q&&(B?.type==="block-map"&&!S.hasNewline&&n(s,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),A.options.strict&&E.startt&&(t.type==="block-map"||t.type==="block-seq");function CO({composeNode:t,composeEmptyNode:e},A,i,n,o){let a=i.start.source==="{",r=a?"flow map":"flow sequence",s=o?.nodeClass??(a?Va:Bs),g=new s(A.schema);g.flow=!0;let l=A.atRoot;l&&(A.atRoot=!1),A.atKey&&(A.atKey=!1);let C=i.offset+i.start.source.length;for(let Q=0;Q0){let Q=p0(B,E,A.options.strict,n);Q.comment&&(g.comment?g.comment+=` +`+Q.comment:g.comment=Q.comment),g.range=[i.offset,E,Q.offset]}else g.range=[i.offset,E,E];return g}function Rk(t,e,A,i,n,o){let a=A.type==="block-map"?lO(t,e,A,i,o):A.type==="block-seq"?cO(t,e,A,i,o):CO(t,e,A,i,o),r=a.constructor;return n==="!"||n===r.tagName?(a.tag=r.tagName,a):(n&&(a.tag=n),a)}function IO(t,e,A,i,n){let o=i.tag,a=o?e.directives.tagName(o.source,I=>n(o,"TAG_RESOLVE_FAILED",I)):null;if(A.type==="block-seq"){let{anchor:I,newlineAfterProp:d}=i,B=I&&o?I.offset>o.offset?I:o:I??o;B&&(!d||d.offsetI.tag===a&&I.collection===r);if(!s){let I=e.schema.knownTags[a];if(I?.collection===r)e.schema.tags.push(Object.assign({},I,{default:!1})),s=I;else return I?n(o,"BAD_COLLECTION_TYPE",`${I.tag} used for ${r} collection, but expects ${I.collection??"scalar"}`,!0):n(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),Rk(t,e,A,n,a)}let g=Rk(t,e,A,n,a,s),l=s.resolve?.(g,I=>n(o,"TAG_RESOLVE_FAILED",I),e.options)??g,C=yn(l)?l:new zt(l);return C.range=g.range,C.tag=a,s?.format&&(C.format=s.format),C}function Nk(t,e,A){let i=e.offset,n=JBA(e,t.options.strict,A);if(!n)return{value:"",type:null,comment:"",range:[i,i,i]};let o=n.mode===">"?zt.BLOCK_FOLDED:zt.BLOCK_LITERAL,a=e.source?YBA(e.source):[],r=a.length;for(let E=a.length-1;E>=0;--E){let Q=a[E][1];if(Q===""||Q==="\r")r=E;else break}if(r===0){let E=n.chomp==="+"&&a.length>0?` +`.repeat(Math.max(1,a.length-1)):"",Q=i+n.length;return e.source&&(Q+=e.source.length),{value:E,type:o,comment:n.comment,range:[i,Q,Q]}}let s=e.indent+n.indent,g=e.offset+n.length,l=0;for(let E=0;Es&&(s=Q.length);else{Q.length=r;--E)a[E][0].length>s&&(r=E+1);let C="",I="",d=!1;for(let E=0;Es||f[0]===" "?(I===" "?I=` +`:!d&&I===` +`&&(I=` + +`),C+=I+Q.slice(s)+f,I=` +`,d=!0):f===""?I===` +`?C+=` +`:I=` +`:(C+=I+f,I=" ",d=!1)}switch(n.chomp){case"-":break;case"+":for(let E=r;EA(i+I,d,B);switch(n){case"scalar":r=zt.PLAIN,s=TBA(o,g);break;case"single-quoted-scalar":r=zt.QUOTE_SINGLE,s=HBA(o,g);break;case"double-quoted-scalar":r=zt.QUOTE_DOUBLE,s=zBA(o,g);break;default:return A(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${n}`),{value:"",type:null,comment:"",range:[i,i+o.length,i+o.length]}}let l=i+o.length,C=p0(a,l,e,A);return{value:s,type:r,comment:C.comment,range:[i,l,C.offset]}}function TBA(t,e){let A="";switch(t[0]){case" ":A="a tab character";break;case",":A="flow indicator character ,";break;case"%":A="directive indicator character %";break;case"|":case">":{A=`block scalar indicator ${t[0]}`;break}case"@":case"`":{A=`reserved character ${t[0]}`;break}}return A&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${A}`),dO(t)}function HBA(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),dO(t.slice(1,-1)).replace(/''/g,"'")}function dO(t){let e,A;try{e=new RegExp(`(.*?)(?o?t.slice(o,i+1):n)}else A+=n}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),A}function OBA(t,e){let A="",i=t[e+1];for(;(i===" "||i===" "||i===` +`||i==="\r")&&!(i==="\r"&&t[e+2]!==` +`);)i===` +`&&(A+=` +`),e+=1,i=t[e+1];return A||(A=" "),{fold:A,offset:e}}var PBA={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` +`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function jBA(t,e,A,i){let n=t.substr(e,A),a=n.length===A&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;if(isNaN(a)){let r=t.substr(e-2,A+2);return i(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${r}`),r}return String.fromCodePoint(a)}function _k(t,e,A,i){let{value:n,type:o,comment:a,range:r}=e.type==="block-scalar"?Nk(t,e,i):Fk(e,t.options.strict,i),s=A?t.directives.tagName(A.source,C=>i(A,"TAG_RESOLVE_FAILED",C)):null,g;t.options.stringKeys&&t.atKey?g=t.schema[Yg]:s?g=qBA(t.schema,n,s,A,i):e.type==="scalar"?g=VBA(t,n,e,i):g=t.schema[Yg];let l;try{let C=g.resolve(n,I=>i(A??e,"TAG_RESOLVE_FAILED",I),t.options);l=Yi(C)?C:new zt(C)}catch(C){let I=C instanceof Error?C.message:String(C);i(A??e,"TAG_RESOLVE_FAILED",I),l=new zt(n)}return l.range=r,l.source=n,o&&(l.type=o),s&&(l.tag=s),g.format&&(l.format=g.format),a&&(l.comment=a),l}function qBA(t,e,A,i,n){if(A==="!")return t[Yg];let o=[];for(let r of t.tags)if(!r.collection&&r.tag===A)if(r.default&&r.test)o.push(r);else return r;for(let r of o)if(r.test?.test(e))return r;let a=t.knownTags[A];return a&&!a.collection?(t.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(n(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${A}`,A!=="tag:yaml.org,2002:str"),t[Yg])}function VBA({atKey:t,directives:e,schema:A},i,n,o){let a=A.tags.find(r=>(r.default===!0||t&&r.default==="key")&&r.test?.test(i))||A[Yg];if(A.compat){let r=A.compat.find(s=>s.default&&s.test?.test(i))??A[Yg];if(a.tag!==r.tag){let s=e.tagString(a.tag),g=e.tagString(r.tag),l=`Value may be parsed as either ${s} or ${g}`;o(n,"TAG_RESOLVE_FAILED",l,!0)}}return a}function BO(t,e,A){if(e){A??(A=e.length);for(let i=A-1;i>=0;--i){let n=e[i];switch(n.type){case"space":case"comment":case"newline":t-=n.source.length;continue}for(n=e[++i];n?.type==="space";)t+=n.source.length,n=e[++i];break}}return t}var WBA={composeNode:Lk,composeEmptyNode:tw};function Lk(t,e,A,i){let n=t.atKey,{spaceBefore:o,comment:a,anchor:r,tag:s}=A,g,l=!0;switch(e.type){case"alias":g=ZBA(t,e,i),(r||s)&&i(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":g=_k(t,e,s,i),r&&(g.anchor=r.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":g=IO(WBA,t,e,A,i),r&&(g.anchor=r.source.substring(1));break;default:{let C=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;i(e,"UNEXPECTED_TOKEN",C),g=tw(t,e.offset,void 0,null,A,i),l=!1}}return r&&g.anchor===""&&i(r,"BAD_ALIAS","Anchor cannot be an empty string"),n&&t.options.stringKeys&&(!Yi(g)||typeof g.value!="string"||g.tag&&g.tag!=="tag:yaml.org,2002:str")&&i(s??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(g.spaceBefore=!0),a&&(e.type==="scalar"&&e.source===""?g.comment=a:g.commentBefore=a),t.options.keepSourceTokens&&l&&(g.srcToken=e),g}function tw(t,e,A,i,{spaceBefore:n,comment:o,anchor:a,tag:r,end:s},g){let l={type:"scalar",offset:BO(e,A,i),indent:-1,source:""},C=_k(t,l,r,g);return a&&(C.anchor=a.source.substring(1),C.anchor===""&&g(a,"BAD_ALIAS","Anchor cannot be an empty string")),n&&(C.spaceBefore=!0),o&&(C.comment=o,C.range[2]=s),C}function ZBA({options:t},{offset:e,source:A,end:i},n){let o=new uC(A.substring(1));o.source===""&&n(e,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&n(e+A.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let a=e+A.length,r=p0(i,a,t.strict,n);return o.range=[e,a,r.offset],r.comment&&(o.comment=r.comment),o}function EO(t,e,{offset:A,start:i,value:n,end:o},a){let r=Object.assign({_directives:e},t),s=new pC(void 0,r),g={atKey:!1,atRoot:!0,directives:s.directives,options:s.options,schema:s.schema},l=m0(i,{indicator:"doc-start",next:n??o?.[0],offset:A,onError:a,parentIndent:0,startOnNewline:!0});l.found&&(s.directives.docStart=!0,n&&(n.type==="block-map"||n.type==="block-seq")&&!l.hasNewline&&a(l.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),s.contents=n?Lk(g,n,l,a):tw(g,l.end,i,null,l,a);let C=s.contents.range[2],I=p0(o,C,!1,a);return I.comment&&(s.comment=I.comment),s.range=[A,C,I.offset],s}function K4(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:A}=t;return[e,e+(typeof A=="string"?A.length:1)]}function QO(t){let e="",A=!1,i=!1;for(let n=0;n{let a=K4(A);o?this.warnings.push(new L4(a,i,n)):this.errors.push(new Qc(a,i,n))},this.directives=new QE({version:e.version||"1.2"}),this.options=e}decorate(e,A){let{comment:i,afterEmptyLine:n}=QO(this.prelude);if(i){let o=e.contents;if(A)e.comment=e.comment?`${e.comment} +${i}`:i;else if(n||e.directives.docStart||!o)e.commentBefore=i;else if(so(o)&&!o.flow&&o.items.length>0){let a=o.items[0];mn(a)&&(a=a.key);let r=a.commentBefore;a.commentBefore=r?`${i} +${r}`:i}else{let a=o.commentBefore;o.commentBefore=a?`${i} +${a}`:i}}A?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:QO(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,A=!1,i=-1){for(let n of e)yield*le(this.next(n));yield*le(this.end(A,i))}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(A,i,n)=>{let o=K4(e);o[0]+=A,this.onError(o,"BAD_DIRECTIVE",i,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let A=EO(this.options,this.directives,e,this.onError);this.atDirectives&&!A.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(A,!1),this.doc&&(yield this.doc),this.doc=A,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let A=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,i=new Qc(K4(e),"UNEXPECTED_TOKEN",A);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){let i="Unexpected doc-end without preceding document";this.errors.push(new Qc(K4(e),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;let A=p0(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),A.comment){let i=this.doc.comment;this.doc.comment=i?`${i} +${A.comment}`:A.comment}this.doc.range[2]=A.offset;break}default:this.errors.push(new Qc(K4(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,A=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let i=Object.assign({_directives:this.directives},this.options),n=new pC(void 0,i);this.atDirectives&&this.onError(A,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,A,A],this.decorate(n,!1),yield n}}};var Gk=Symbol("break visit"),XBA=Symbol("skip children"),hO=Symbol("remove item");function X1(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),uO(Object.freeze([]),t,e)}X1.BREAK=Gk;X1.SKIP=XBA;X1.REMOVE=hO;X1.itemAtPath=(t,e)=>{let A=t;for(let[i,n]of e){let o=A?.[i];if(o&&"items"in o)A=o.items[n];else return}return A};X1.parentCollection=(t,e)=>{let A=X1.itemAtPath(t,e.slice(0,-1)),i=e[e.length-1][0],n=A?.[i];if(n&&"items"in n)return n;throw new Error("Parent collection not found")};function uO(t,e,A){let i=A(e,t);if(typeof i=="symbol")return i;for(let n of["key","value"]){let o=e[n];if(o&&"items"in o){for(let a=0;a":return"block-scalar-header"}return null}function hc(t){switch(t){case void 0:case" ":case` +`:case"\r":case" ":return!0;default:return!1}}var mO=new Set("0123456789ABCDEFabcdef"),AEA=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),nw=new Set(",[]{}"),eEA=new Set(` ,[]{} +\r `),Yk=t=>!t||eEA.has(t),J4=class{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(e,A=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!A;let i=this.next??"stream";for(;i&&(A||this.hasChars(1));)i=yield*le(this.parseNext(i))}atLineEnd(){let e=this.pos,A=this.buffer[e];for(;A===" "||A===" ";)A=this.buffer[++e];return!A||A==="#"||A===` +`?!0:A==="\r"?this.buffer[e+1]===` +`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let A=this.buffer[e];if(this.indentNext>0){let i=0;for(;A===" ";)A=this.buffer[++i+e];if(A==="\r"){let n=this.buffer[i+e+1];if(n===` +`||!n&&!this.atEnd)return e+i+1}return A===` +`||i>=this.indentNext||!A&&!this.atEnd?e+i:-1}if(A==="-"||A==="."){let i=this.buffer.substr(e,3);if((i==="---"||i==="...")&&hc(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&ethis.indentValue&&!hc(this.charAt(1))&&(this.indentNext=this.indentValue),yield*le(this.parseBlockStart())}*parseBlockStart(){let[e,A]=this.peek(2);if(!A&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&hc(A)){let i=(yield*le(this.pushCount(1)))+(yield*le(this.pushSpaces(!0)));return this.indentNext=this.indentValue+1,this.indentValue+=i,yield*le(this.parseBlockStart())}return"doc"}*parseDocument(){yield*le(this.pushSpaces(!0));let e=this.getLine();if(e===null)return this.setNext("doc");let A=yield*le(this.pushIndicators());switch(e[A]){case"#":yield*le(this.pushCount(e.length-A));case void 0:return yield*le(this.pushNewline()),yield*le(this.parseLineStart());case"{":case"[":return yield*le(this.pushCount(1)),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*le(this.pushCount(1)),"doc";case"*":return yield*le(this.pushUntil(Yk)),"doc";case'"':case"'":return yield*le(this.parseQuotedScalar());case"|":case">":return A+=yield*le(this.parseBlockScalarHeader()),A+=yield*le(this.pushSpaces(!0)),yield*le(this.pushCount(e.length-A)),yield*le(this.pushNewline()),yield*le(this.parseBlockScalar());default:return yield*le(this.parsePlainScalar())}}*parseFlowCollection(){let e,A,i=-1;do e=yield*le(this.pushNewline()),e>0?(A=yield*le(this.pushSpaces(!1)),this.indentValue=i=A):A=0,A+=yield*le(this.pushSpaces(!0));while(e+A>0);let n=this.getLine();if(n===null)return this.setNext("flow");if((i!==-1&&i"0"&&A<="9")this.blockScalarIndent=Number(A)-1;else if(A!=="-")break}return yield*le(this.pushUntil(A=>hc(A)||A==="#"))}*parseBlockScalar(){let e=this.pos-1,A=0,i;A:for(let o=this.pos;i=this.buffer[o];++o)switch(i){case" ":A+=1;break;case` +`:e=o,A=0;break;case"\r":{let a=this.buffer[o+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if(a===` +`)break}default:break A}if(!i&&!this.atEnd)return this.setNext("block-scalar");if(A>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=A:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let o=this.continueScalar(e+1);if(o===-1)break;e=this.buffer.indexOf(` +`,o)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;for(i=this.buffer[n];i===" ";)i=this.buffer[++n];if(i===" "){for(;i===" "||i===" "||i==="\r"||i===` +`;)i=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)do{let o=e-1,a=this.buffer[o];a==="\r"&&(a=this.buffer[--o]);let r=o;for(;a===" ";)a=this.buffer[--o];if(a===` +`&&o>=this.pos&&o+1+A>r)e=o;else break}while(!0);return yield iw,yield*le(this.pushToIndex(e+1,!0)),yield*le(this.parseLineStart())}*parsePlainScalar(){let e=this.flowLevel>0,A=this.pos-1,i=this.pos-1,n;for(;n=this.buffer[++i];)if(n===":"){let o=this.buffer[i+1];if(hc(o)||e&&nw.has(o))break;A=i}else if(hc(n)){let o=this.buffer[i+1];if(n==="\r"&&(o===` +`?(i+=1,n=` +`,o=this.buffer[i+1]):A=i),o==="#"||e&&nw.has(o))break;if(n===` +`){let a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(e&&nw.has(n))break;A=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield iw,yield*le(this.pushToIndex(A+1,!0)),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,A){let i=this.buffer.slice(this.pos,e);return i?(yield i,this.pos+=i.length,i.length):(A&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*le(this.pushTag()))+(yield*le(this.pushSpaces(!0)))+(yield*le(this.pushIndicators()));case"&":return(yield*le(this.pushUntil(Yk)))+(yield*le(this.pushSpaces(!0)))+(yield*le(this.pushIndicators()));case"-":case"?":case":":{let e=this.flowLevel>0,A=this.charAt(1);if(hc(A)||e&&nw.has(A))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*le(this.pushCount(1)))+(yield*le(this.pushSpaces(!0)))+(yield*le(this.pushIndicators()))}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,A=this.buffer[e];for(;!hc(A)&&A!==">";)A=this.buffer[++e];return yield*le(this.pushToIndex(A===">"?e+1:e,!1))}else{let e=this.pos+1,A=this.buffer[e];for(;A;)if(AEA.has(A))A=this.buffer[++e];else if(A==="%"&&mO.has(this.buffer[e+1])&&mO.has(this.buffer[e+2]))A=this.buffer[e+=3];else break;return yield*le(this.pushToIndex(e,!1))}}*pushNewline(){let e=this.buffer[this.pos];return e===` +`?yield*le(this.pushCount(1)):e==="\r"&&this.charAt(1)===` +`?yield*le(this.pushCount(2)):0}*pushSpaces(e){let A=this.pos-1,i;do i=this.buffer[++A];while(i===" "||e&&i===" ");let n=A-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=A),n}*pushUntil(e){let A=this.pos,i=this.buffer[A];for(;!e(i);)i=this.buffer[++A];return yield*le(this.pushToIndex(A,!1))}};var Y4=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let A=0,i=this.lineStarts.length;for(;A>1;this.lineStarts[o]=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break A}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function wO(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!q2(e.start,"explicit-key-ind")&&!q2(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,DO(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var T4=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new J4,this.onNewLine=e}*parse(e,A=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let i of this.lexer.lex(e,A))yield*le(this.next(i));A||(yield*le(this.end()))}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*le(this.step()),this.offset+=e.length;return}let A=fO(e);if(A)if(A==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=A,yield*le(this.step()),A){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let i=`Not a YAML token: ${e}`;yield*le(this.pop({type:"error",offset:this.offset,message:i,source:e})),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*le(this.pop())}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*le(this.pop());this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*le(this.stream());switch(e.type){case"document":return yield*le(this.document(e));case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*le(this.scalar(e));case"block-scalar":return yield*le(this.blockScalar(e));case"block-map":return yield*le(this.blockMap(e));case"block-seq":return yield*le(this.blockSequence(e));case"flow-collection":return yield*le(this.flowCollection(e));case"doc-end":return yield*le(this.documentEnd(e))}yield*le(this.pop())}peek(e){return this.stack[this.stack.length-e]}*pop(e){let A=e??this.stack.pop();if(!A)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield A;else{let i=this.peek(1);switch(A.type==="block-scalar"?A.indent="indent"in i?i.indent:0:A.type==="flow-collection"&&i.type==="document"&&(A.indent=0),A.type==="flow-collection"&&wO(A),i.type){case"document":i.value=A;break;case"block-scalar":i.props.push(A);break;case"block-map":{let n=i.items[i.items.length-1];if(n.value){i.items.push({start:[],key:A,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=A;else{Object.assign(n,{key:A,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case"block-seq":{let n=i.items[i.items.length-1];n.value?i.items.push({start:[],value:A}):n.value=A;break}case"flow-collection":{let n=i.items[i.items.length-1];!n||n.value?i.items.push({start:[],key:A,sep:[]}):n.sep?n.value=A:Object.assign(n,{key:A,sep:[]});return}default:yield*le(this.pop()),yield*le(this.pop(A))}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(A.type==="block-map"||A.type==="block-seq")){let n=A.items[A.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&pO(n.start)===-1&&(A.indent===0||n.start.every(o=>o.type!=="comment"||o.indent=e.indent){let i=!this.onKeyLine&&this.indent===e.indent,n=i&&(A.sep||A.explicitKey)&&this.type!=="seq-item-ind",o=[];if(n&&A.sep&&!A.value){let a=[];for(let r=0;re.indent&&(a.length=0);break;default:a.length=0}}a.length>=2&&(o=A.sep.splice(a[1]))}switch(this.type){case"anchor":case"tag":n||A.value?(o.push(this.sourceToken),e.items.push({start:o}),this.onKeyLine=!0):A.sep?A.sep.push(this.sourceToken):A.start.push(this.sourceToken);return;case"explicit-key-ind":!A.sep&&!A.explicitKey?(A.start.push(this.sourceToken),A.explicitKey=!0):n||A.value?(o.push(this.sourceToken),e.items.push({start:o,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(A.explicitKey)if(A.sep)if(A.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(q2(A.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(DO(A.key)&&!q2(A.sep,"newline")){let a=DE(A.start),r=A.key,s=A.sep;s.push(this.sourceToken),delete A.key,delete A.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:r,sep:s}]})}else o.length>0?A.sep=A.sep.concat(o,this.sourceToken):A.sep.push(this.sourceToken);else if(q2(A.start,"newline"))Object.assign(A,{key:null,sep:[this.sourceToken]});else{let a=DE(A.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else A.sep?A.value||n?e.items.push({start:o,key:null,sep:[this.sourceToken]}):q2(A.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):A.sep.push(this.sourceToken):Object.assign(A,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let a=this.flowScalar(this.type);n||A.value?(e.items.push({start:o,key:a,sep:[]}),this.onKeyLine=!0):A.sep?this.stack.push(a):(Object.assign(A,{key:a,sep:[]}),this.onKeyLine=!0);return}default:{let a=this.startBlockValue(e);if(a){if(a.type==="block-seq"){if(!A.explicitKey&&A.sep&&!q2(A.sep,"newline")){yield*le(this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}));return}}else i&&e.items.push({start:o});this.stack.push(a);return}}}}yield*le(this.pop()),yield*le(this.step())}*blockSequence(e){let A=e.items[e.items.length-1];switch(this.type){case"newline":if(A.value){let i="end"in A.value?A.value.end:void 0;(Array.isArray(i)?i[i.length-1]:void 0)?.type==="comment"?i?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else A.start.push(this.sourceToken);return;case"space":case"comment":if(A.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(A.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,A.start),n.push(this.sourceToken),e.items.pop();return}}A.start.push(this.sourceToken)}return;case"anchor":case"tag":if(A.value||this.indent<=e.indent)break;A.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;A.value||q2(A.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):A.start.push(this.sourceToken);return}if(this.indent>e.indent){let i=this.startBlockValue(e);if(i){this.stack.push(i);return}}yield*le(this.pop()),yield*le(this.step())}*flowCollection(e){let A=e.items[e.items.length-1];if(this.type==="flow-error-end"){let i;do yield*le(this.pop()),i=this.peek(1);while(i?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!A||A.sep?e.items.push({start:[this.sourceToken]}):A.start.push(this.sourceToken);return;case"map-value-ind":!A||A.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):A.sep?A.sep.push(this.sourceToken):Object.assign(A,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!A||A.value?e.items.push({start:[this.sourceToken]}):A.sep?A.sep.push(this.sourceToken):A.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);!A||A.value?e.items.push({start:[],key:n,sep:[]}):A.sep?this.stack.push(n):Object.assign(A,{key:n,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let i=this.startBlockValue(e);i?this.stack.push(i):(yield*le(this.pop()),yield*le(this.step()))}else{let i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===e.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*le(this.pop()),yield*le(this.step());else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){let n=ow(i),o=DE(n);wO(e);let a=e.end.splice(1,e.end.length);a.push(this.sourceToken);let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:o,key:e,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*le(this.lineEnd(e))}}flowScalar(e){if(this.onNewLine){let A=this.source.indexOf(` +`)+1;for(;A!==0;)this.onNewLine(this.offset+A),A=this.source.indexOf(` +`,A)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){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;let A=ow(e),i=DE(A);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;let A=ow(e),i=DE(A);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,A){return this.type!=="comment"||this.indent<=A?!1:e.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*le(this.pop())))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*le(this.pop()),yield*le(this.step());break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*le(this.pop()))}}};function tEA(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Y4||null,prettyErrors:e}}function yO(t,e={}){let{lineCounter:A,prettyErrors:i}=tEA(e),n=new T4(A?.addNewLine),o=new U4(e),a=null;for(let r of o.compose(n.parse(t),!0,t.length))if(!a)a=r;else if(a.options.logLevel!=="silent"){a.errors.push(new Qc(r.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&A&&(a.errors.forEach(kk(t,A)),a.warnings.forEach(kk(t,A))),a}function yE(t,e,A){let i;typeof e=="function"?i=e:A===void 0&&e&&typeof e=="object"&&(A=e);let n=yO(t,A);if(!n)return null;if(n.warnings.forEach(o=>G8(n.options.logLevel,o)),n.errors.length>0){if(n.options.logLevel!=="silent")throw n.errors[0];n.errors=[]}return n.toJS(Object.assign({reviver:i},A))}function Tk(t,e,A){let i=null;if(typeof e=="function"||Array.isArray(e)?i=e:A===void 0&&e&&(A=e),typeof A=="string"&&(A=A.length),typeof A=="number"){let n=Math.round(A);A=n<1?void 0:n>8?{indent:8}:{indent:n}}if(t===void 0){let{keepUndefined:n}=A??e??{};if(!n)return}return cc(t)&&!i?t.toString(A):new pC(t,i,A).toString(A)}var w0=class t{static generateYamlFile(e,A,i,n,o=new Set){if(o.has(e.name))return;o.add(e.name);let a=e.isRoot?"root_agent.yaml":`${e.name}.yaml`,r=`${i}/${a}`,s=e.sub_agents?e.sub_agents.map(B=>({config_path:`./${B.name}.yaml`})):[],g={name:e.name,model:e.model,agent_class:e.agent_class,description:e.description||"",instruction:e.instruction,sub_agents:s,tools:t.buildToolsConfig(e.tools,n)};(!e.description||e.description.trim()==="")&&delete g.description,e.agent_class!="LlmAgent"&&(delete g.model,delete g.instruction,delete g.tools),e.agent_class==="LoopAgent"&&e.max_iterations&&(g.max_iterations=e.max_iterations);let l=t.buildCallbacksConfig(e.callbacks);Object.keys(l).length>0&&Object.assign(g,l);let C=Tk(g),I=new Blob([C],{type:"application/x-yaml"}),d=new File([I],r,{type:"application/x-yaml"});A.append("files",d);for(let B of e.sub_agents??[])t.generateYamlFile(B,A,i,n,o);if(e.tools){for(let B of e.tools)if(B.toolType==="Agent Tool"){let E=B.toolAgentName||B.name;if(!E||E==="undefined"||E.trim()==="")continue;let Q=n.get(E);Q&&t.generateYamlFile(Q,A,i,n,o)}}}static buildToolsConfig(e,A){return!e||e.length===0?[]:e.map(i=>{let n={name:i.name};if(i.toolType==="Agent Tool"){n.name="AgentTool";let o=i.toolAgentName||i.name;if(!o||o==="undefined"||o.trim()==="")return null;let a=A.get(o);return n.args={agent:{config_path:`./${o}.yaml`},skip_summarization:a?.skip_summarization||!1},n}return i.args&&Object.keys(i.args).some(a=>{let r=i.args[a];return r!=null&&r!==""})&&(n.args=i.args),n}).filter(i=>i!==null)}static buildCallbacksConfig(e){if(!e||e.length===0)return{};let A={};return e.forEach(i=>{let n=`${i.type}_callbacks`;A[n]||(A[n]=[]),A[n].push({name:i.name})}),A}};function nEA(t,e){t&1&&(m(0,"mat-hint",3),K(1," Start with a letter or underscore, and contain only letters, digits, and underscores. "),w())}var aw=class t{constructor(e,A){this.data=e;this.dialogRef=A}newAppName="";agentService=h(sg);_snackBar=h(J2);router=h(Cs);isNameValid(){let e=this.newAppName.trim();return!(!e||!/^[a-zA-Z_]/.test(e)||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e))}createNewApp(){let e=this.newAppName.trim();if(!this.isNameValid()){this._snackBar.open("App name must start with a letter or underscore and can only contain letters, digits, and underscores.","OK");return}if(this.data.existingAppNames.includes(e)){this._snackBar.open("App name already exists. Please choose a different name.","OK");return}let A={agent_class:"LlmAgent",instruction:"You are the root agent that coordinates other agents.",isRoot:!0,model:"gemini-2.5-flash",name:e,sub_agents:[],tools:[]},i=new FormData,n=new Map;w0.generateYamlFile(A,i,e,n),this.agentService.agentBuildTmp(i).subscribe(o=>{o?(this.router.navigate(["/"],{queryParams:{app:e,mode:"builder"}}).then(()=>{window.location.reload()}),this.dialogRef.close(!0)):this._snackBar.open("Something went wrong, please try again","OK")})}static \u0275fac=function(A){return new(A||t)(Ct(ka),Ct(Po))};static \u0275cmp=kA({type:t,selectors:[["app-add-item-dialog"]],decls:10,vars:3,consts:[["mat-dialog-title","",1,"new-app-title"],[2,"padding-left","20px","padding-right","24px"],["matInput","",3,"ngModelChange","keydown.enter","ngModel"],[1,"validation-hint"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click","disabled"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1,"Create a new app"),w(),m(2,"mat-form-field",1)(3,"input",2),ho("ngModelChange",function(o){return ao(i.newAppName,o)||(i.newAppName=o),o}),eA("keydown.enter",function(){return i.createNewApp()}),w(),V(4,nEA,2,0,"mat-hint",3),w(),m(5,"mat-dialog-actions",4)(6,"button",5),K(7,"Cancel"),w(),m(8,"button",6),eA("click",function(){return i.createNewApp()}),K(9," Create "),w()()),A&2&&(p(3),Qo("ngModel",i.newAppName),p(),W(i.isNameValid()?-1:4),p(4),AA("disabled",!i.isNameValid()))},dependencies:[Ua,ta,Ka,Nn,uo,fo,ba,or,Fn,K2,R1],styles:[".new-app-title[_ngcontent-%COMP%]{color:var(--mdc-dialog-subhead-color)!important;font-family:Google Sans;font-size:24px}.validation-hint[_ngcontent-%COMP%]{font-size:12px;color:var(--mdc-dialog-supporting-text-color)}"]})};var oEA=["audioPlayer"],vE=class t{base64data=at("");audioPlayerRef=ca("audioPlayer");audioSrc="";constructor(){}ngOnChanges(e){e.base64data&&this.base64data()&&this.setAudioSource(this.base64data())}setAudioSource(e){e.startsWith("data:")?this.audioSrc=e:this.audioSrc=`data:audio/mpeg;base64,${e}`,this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&this.audioPlayerRef().nativeElement.load()}play(){this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&this.audioPlayerRef().nativeElement.play()}pause(){this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&this.audioPlayerRef().nativeElement.pause()}stop(){this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&(this.audioPlayerRef().nativeElement.pause(),this.audioPlayerRef().nativeElement.currentTime=0)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-audio-player"]],viewQuery:function(A,i){A&1&&rs(i.audioPlayerRef,oEA,5),A&2&&wr()},inputs:{base64data:[1,"base64data"]},features:[ti],decls:3,vars:1,consts:[["audioPlayer",""],["controls","",3,"src"]],template:function(A,i){A&1&&(ci(0,"div"),Li(1,"audio",1,0),fi()),A&2&&(p(),vo("src",i.audioSrc))},styles:[".audio-player-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:15px;background-color:var(--audio-player-container-background-color);border-radius:8px;box-shadow:0 2px 5px var(--audio-player-container-box-shadow-color);margin:20px auto;max-width:350px}audio[_ngcontent-%COMP%]{outline:none;border-radius:5px;width:350px}.custom-controls[_ngcontent-%COMP%]{margin-top:10px;display:flex;gap:10px}.custom-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:8px 15px;border:none;border-radius:5px;background-color:var(--audio-player-custom-controls-button-background-color);color:var(--audio-player-custom-controls-button-color);cursor:pointer;font-size:14px;transition:background-color .2s ease}.custom-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:var(--audio-player-custom-controls-button-hover-background-color)}"]})};function aEA(t,e){if(t&1&&Li(0,"img",5),t&2){let A=v(2);vo("src",A.displayContent,Ga)}}function rEA(t,e){t&1&&(ci(0,"div",6),K(1," No image data provided. "),fi())}function sEA(t,e){if(t&1&&(ci(0,"div",3),V(1,aEA,1,1,"img",5),V(2,rEA,2,0,"div",6),fi()),t&2){let A=v();p(),W(A.displayContent?1:-1),p(),W(A.displayContent?-1:2)}}function gEA(t,e){if(t&1&&Li(0,"div",4),t&2){let A=v();vo("innerHTML",A.displayContent,ol)}}var V2=class t{displayContent=null;isSvgContent=!1;dialogRef=h(Po);data=h(ka);safeValuesService=h(ds);ngOnInit(){this.processImageData()}processImageData(){let e=this.data.imageData;if(!e){this.displayContent=null,this.isSvgContent=!1;return}if(e.trim().includes("0?1:-1),p(3),_e(" ",o.getArtifactName(i)," "),p(5),Qo("ngModel",o.selectedArtifacts[n]),p(),Jt(o.getSortedArtifactsFromId(i)),p(7),W((A=o.selectedArtifacts[n].mediaType)===o.MediaType.IMAGE?17:A===o.MediaType.AUDIO?18:-1)}}var BEA="default_artifact_name",$1=(n=>(n.IMAGE="image",n.AUDIO="audio",n.TEXT="text",n.UNSPECIFIED="unspecified",n))($1||{});function H4(t){let e=t.toLowerCase();for(let A of Object.values($1))if(A!=="unspecified"&&e.startsWith(A+"/"))return A;return"unspecified"}function EEA(t){return t?t.startsWith("image/"):!1}function QEA(t){return t?t.startsWith("audio/"):!1}var rw=class t{artifacts=at([]);selectedArtifacts=[];isArtifactAudio=QEA;isArtifactImage=EEA;MediaType=$1;downloadService=h(cE);dialog=h(Ks);safeValuesService=h(ds);ngOnChanges(e){if(e.artifacts){this.selectedArtifacts=[];for(let A of this.getDistinctArtifactIds())this.selectedArtifacts.push(this.getSortedArtifactsFromId(A)[0])}}downloadArtifact(e){this.downloadService.downloadBase64Data(e.data,e.mimeType,e.id)}getArtifactName(e){return e??BEA}getDistinctArtifactIds(){return[...new Set(this.artifacts().map(e=>e.id))]}getSortedArtifactsFromId(e){return this.artifacts().filter(A=>A.id===e).sort((A,i)=>i.versionId-A.versionId)}onArtifactVersionChange(e,A){this.selectedArtifacts[A]=e.value}openViewImageDialog(e){if(!e||!e.startsWith("data:")||e.indexOf(";base64,")===-1)return;let A=this.dialog.open(V2,{maxWidth:"90vw",maxHeight:"90vh",data:{imageData:e}})}openArtifact(e,A){if(this.isArtifactImage(A)){this.openViewImageDialog(e);return}this.openBase64InNewTab(e,A)}openBase64InNewTab(e,A){}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-artifact-tab"]],inputs:{artifacts:[1,"artifacts"]},features:[ti],decls:3,vars:0,consts:[[1,"artifact-container"],[1,"artifact-box"],[1,"white-separator"],[1,"artifact-metadata"],[1,"link-style-button",3,"click"],[1,"version-select-container"],[3,"ngModelChange","selectionChange","ngModel"],[3,"value"],["mat-flat-button","",1,"download-button",3,"click"],["alt","artifact.id",1,"generated-image",3,"click","src"],[3,"base64data"]],template:function(A,i){A&1&&(m(0,"div",0),Ut(1,dEA,19,4,"div",1,_i),w()),A&2&&(p(),Jt(i.getDistinctArtifactIds()))},dependencies:[Il,Nn,fo,ba,Hr,Fn,fn,vE],styles:[".artifact-container[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.artifact-box[_ngcontent-%COMP%]{padding:10px;max-width:100%;margin-left:26px;display:flex;flex-direction:column}.artifact-metadata[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:5px}.download-button[_ngcontent-%COMP%]{background-color:var(--artifact-tab-download-button-background-color)!important;margin-left:35px;width:130px;height:28px;font-size:14px}.generated-image[_ngcontent-%COMP%]{max-width:60%;border-radius:8px;cursor:pointer}hr.white-separator[_ngcontent-%COMP%]{border:none;border-top:1px solid var(--artifact-tab-white-separator-border-top-color);margin-bottom:1.2em;margin-right:15px}.version-select-container[_ngcontent-%COMP%]{background-color:var(--artifact-tab-version-select-container-background-color);width:80px;margin-left:15px}.link-style-button[_ngcontent-%COMP%]{background:none;border:none;padding:0;font:inherit;color:var(--artifact-tab-link-style-button-color)!important;text-decoration:underline;cursor:pointer;outline:none}.link-style-button[_ngcontent-%COMP%]:hover{color:var(--artifact-tab-link-style-button-hover-color);text-decoration:underline}.link-style-button[_ngcontent-%COMP%]:focus{outline:1px dotted var(--artifact-tab-link-style-button-focus-outline-color)}.link-style-button[_ngcontent-%COMP%]:active{color:var(--artifact-tab-link-style-button-active-color)}.link-style-button[_ngcontent-%COMP%]:disabled{color:var(--artifact-tab-link-style-button-disabled-color);text-decoration:none;cursor:not-allowed}"]})};var hEA=["input"],uEA=["label"],fEA=["*"],Hk={color:"accent",clickAction:"check-indeterminate",disabledInteractive:!1},mEA=new yA("mat-checkbox-default-options",{providedIn:"root",factory:()=>Hk}),Qs=(function(t){return t[t.Init=0]="Init",t[t.Checked=1]="Checked",t[t.Unchecked=2]="Unchecked",t[t.Indeterminate=3]="Indeterminate",t})(Qs||{}),zk=class{source;checked},bE=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(mt);_ngZone=h(Oe);_animationsDisabled=qi();_options=h(mEA,{optional:!0});focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(A){let i=new zk;return i.source=this,i.checked=A,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}_animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"};ariaLabel="";ariaLabelledby=null;ariaDescribedby;ariaExpanded;ariaControls;ariaOwns;_uniqueId;id;get inputId(){return`${this.id||this._uniqueId}-input`}required=!1;labelPosition="after";name=null;change=new WA;indeterminateChange=new WA;value;disableRipple=!1;_inputElement;_labelElement;tabIndex;color;disabledInteractive;_onTouched=()=>{};_currentAnimationClass="";_currentCheckState=Qs.Init;_controlValueAccessorChangeFn=()=>{};_validatorChangeFn=()=>{};constructor(){h(Xn).load(Ir);let A=h(new Zs("tabindex"),{optional:!0});this._options=this._options||Hk,this.color=this._options.color||Hk.color,this.tabIndex=A==null?0:parseInt(A)||0,this.id=this._uniqueId=h(an).getId("mat-mdc-checkbox-"),this.disabledInteractive=this._options?.disabledInteractive??!1}ngOnChanges(A){A.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this.indeterminate)}get checked(){return this._checked}set checked(A){A!=this.checked&&(this._checked=A,this._changeDetectorRef.markForCheck())}_checked=!1;get disabled(){return this._disabled}set disabled(A){A!==this.disabled&&(this._disabled=A,this._changeDetectorRef.markForCheck())}_disabled=!1;get indeterminate(){return this._indeterminate()}set indeterminate(A){let i=A!=this._indeterminate();this._indeterminate.set(A),i&&(A?this._transitionCheckState(Qs.Indeterminate):this._transitionCheckState(this.checked?Qs.Checked:Qs.Unchecked),this.indeterminateChange.emit(A)),this._syncIndeterminate(A)}_indeterminate=jA(!1);_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(A){this.checked=!!A}registerOnChange(A){this._controlValueAccessorChangeFn=A}registerOnTouched(A){this._onTouched=A}setDisabledState(A){this.disabled=A}validate(A){return this.required&&A.value!==!0?{required:!0}:null}registerOnValidatorChange(A){this._validatorChangeFn=A}_transitionCheckState(A){let i=this._currentCheckState,n=this._getAnimationTargetElement();if(!(i===A||!n)&&(this._currentAnimationClass&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,A),this._currentCheckState=A,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);let o=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(o)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){let A=this._options?.clickAction;!this.disabled&&A!=="noop"?(this.indeterminate&&A!=="check"&&Promise.resolve().then(()=>{this._indeterminate.set(!1),this.indeterminateChange.emit(!1)}),this._checked=!this._checked,this._transitionCheckState(this._checked?Qs.Checked:Qs.Unchecked),this._emitChangeEvent()):(this.disabled&&this.disabledInteractive||!this.disabled&&A==="noop")&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate)}_onInteractionEvent(A){A.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(A,i){if(this._animationsDisabled)return"";switch(A){case Qs.Init:if(i===Qs.Checked)return this._animationClasses.uncheckedToChecked;if(i==Qs.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case Qs.Unchecked:return i===Qs.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case Qs.Checked:return i===Qs.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case Qs.Indeterminate:return i===Qs.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(A){let i=this._inputElement;i&&(i.nativeElement.indeterminate=A)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(A){A.target&&this._labelElement.nativeElement.contains(A.target)&&A.stopPropagation()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-checkbox"]],viewQuery:function(i,n){if(i&1&&ai(hEA,5)(uEA,5),i&2){let o;ce(o=Ce())&&(n._inputElement=o.first),ce(o=Ce())&&(n._labelElement=o.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:16,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("tabindex",null)("aria-label",null)("aria-labelledby",null),zo(n.color?"mat-"+n.color:"mat-accent"),ae("_mat-animation-noopable",n._animationsDisabled)("mdc-checkbox--disabled",n.disabled)("mat-mdc-checkbox-disabled",n.disabled)("mat-mdc-checkbox-checked",n.checked)("mat-mdc-checkbox-disabled-interactive",n.disabledInteractive))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],ariaExpanded:[2,"aria-expanded","ariaExpanded",he],ariaControls:[0,"aria-controls","ariaControls"],ariaOwns:[0,"aria-owns","ariaOwns"],id:"id",required:[2,"required","required",he],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[2,"disableRipple","disableRipple",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?void 0:en(A)],color:"color",disabledInteractive:[2,"disabledInteractive","disabledInteractive",he],checked:[2,"checked","checked",he],disabled:[2,"disabled","disabled",he],indeterminate:[2,"indeterminate","indeterminate",he]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[It([{provide:Lg,useExisting:pr(()=>t),multi:!0},{provide:a0,useExisting:t,multi:!0}]),ti],ngContentSelectors:fEA,decls:15,vars:23,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(i,n){if(i&1){let o=JA();Ht(),m(0,"div",3),eA("click",function(r){return Z(o),X(n._preventBubblingFromLabel(r))}),m(1,"div",4,0)(3,"div",5),eA("click",function(){return Z(o),X(n._onTouchTargetClick())}),w(),m(4,"input",6,1),eA("blur",function(){return Z(o),X(n._onBlur())})("click",function(){return Z(o),X(n._onInputClick())})("change",function(r){return Z(o),X(n._onInteractionEvent(r))}),w(),GA(6,"div",7),m(7,"div",8),Qt(),m(8,"svg",9),GA(9,"path",10),w(),as(),GA(10,"div",11),w(),GA(11,"div",12),w(),m(12,"label",13,2),He(14),w()()}if(i&2){let o=An(2);AA("labelPosition",n.labelPosition),p(4),ae("mdc-checkbox--selected",n.checked),AA("checked",n.checked)("indeterminate",n.indeterminate)("disabled",n.disabled&&!n.disabledInteractive)("id",n.inputId)("required",n.required)("tabIndex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex),ie("aria-label",n.ariaLabel||null)("aria-labelledby",n.ariaLabelledby)("aria-describedby",n.ariaDescribedby)("aria-checked",n.indeterminate?"mixed":null)("aria-controls",n.ariaControls)("aria-disabled",n.disabled&&n.disabledInteractive?!0:null)("aria-expanded",n.ariaExpanded)("aria-owns",n.ariaOwns)("name",n.name)("value",n.value),p(7),AA("matRippleTrigger",o)("matRippleDisabled",n.disableRipple||n.disabled)("matRippleCentered",!0),p(),AA("for",n.inputId)}},dependencies:[ig,B8],styles:[`.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox:hover>.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:hover>.mat-mdc-checkbox-ripple>.mat-ripple-element{background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control:focus+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));background-color:var(--mat-checkbox-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:active>.mdc-checkbox__native-control+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));background-color:var(--mat-checkbox-unselected-pressed-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:active>.mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-unselected-pressed-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));background-color:var(--mat-checkbox-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox .mdc-checkbox__native-control:focus:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));background-color:var(--mat-checkbox-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:active>.mdc-checkbox__native-control:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));background-color:var(--mat-checkbox-selected-pressed-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:active>.mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-pressed-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control+.mdc-checkbox__ripple{background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;width:var(--mat-checkbox-state-layer-size, 40px);height:var(--mat-checkbox-state-layer-size, 40px);top:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2);right:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2);left:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);-webkit-print-color-adjust:exact;color-adjust:exact;border-color:var(--mat-checkbox-unselected-icon-color, var(--mat-sys-on-surface-variant));top:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2)}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-icon-color, var(--mat-sys-primary))}.mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mat-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mat-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}@media(forced-colors: active){.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox:hover>.mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mdc-checkbox:hover>.mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mat-checkbox-unselected-hover-icon-color, var(--mat-sys-on-surface));background-color:rgba(0,0,0,0)}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox:hover>.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-hover-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-hover-icon-color, var(--mat-sys-primary))}.mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mat-checkbox-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-focus-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-focus-icon-color, var(--mat-sys-primary))}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:var(--mat-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--mat-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mat-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mdc-checkbox__checkmark{color:CanvasText}}.mdc-checkbox--disabled .mdc-checkbox__checkmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:var(--mat-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__checkmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:GrayText}}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mat-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:var(--mat-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:GrayText}}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mat-mdc-checkbox-touch-target,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__native-control,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__ripple,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mat-mdc-checkbox-ripple::before,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__mixedmark{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox .mat-internal-form-field{color:var(--mat-checkbox-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-checkbox-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-checkbox-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-checkbox-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-checkbox-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-checkbox-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-checkbox.mat-mdc-checkbox-disabled.mat-mdc-checkbox-disabled-interactive{pointer-events:auto}.mat-mdc-checkbox.mat-mdc-checkbox-disabled.mat-mdc-checkbox-disabled-interactive input{cursor:default}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{color:GrayText}}.mat-mdc-checkbox label:empty{display:none}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox .mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox .mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-checkbox-touch-target-size, 48px);width:var(--mat-checkbox-touch-target-size, 48px);transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display, block)}.mat-mdc-checkbox .mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus-visible~.mat-focus-indicator::before{content:""} +`],encapsulation:2,changeDetection:0})}return t})();var bO=new yA("CdkAccordion");var MO=(()=>{class t{accordion=h(bO,{optional:!0,skipSelf:!0});_changeDetectorRef=h(mt);_expansionDispatcher=h(p4);_openCloseAllSubscription=Jn.EMPTY;closed=new WA;opened=new WA;destroyed=new WA;expandedChange=new WA;id=h(an).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(A){if(this._expanded!==A){if(this._expanded=A,this.expandedChange.emit(A),A){this.opened.emit();let i=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,i)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(A){this._disabled.set(A)}_disabled=jA(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((A,i)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===i&&this.id!==A&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(A=>{this.disabled||(this.expanded=A)})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",he],disabled:[2,"disabled","disabled",he]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[It([{provide:bO,useValue:void 0}])]})}return t})(),kO=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();var pEA=["body"],wEA=["bodyWrapper"],DEA=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],yEA=["mat-expansion-panel-header","*","mat-action-row"];function vEA(t,e){}var bEA=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],MEA=["mat-panel-title","mat-panel-description","*"];function kEA(t,e){t&1&&(ci(0,"span",1),Qt(),ci(1,"svg",2),Li(2,"path",3),fi()())}var SO=new yA("MAT_ACCORDION"),xO=new yA("MAT_EXPANSION_PANEL"),SEA=(()=>{class t{_template=h(Tn);_expansionPanel=h(xO,{optional:!0});constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]})}return t})(),RO=new yA("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Ok=(()=>{class t extends MO{_viewContainerRef=h(Ho);_animationsDisabled=qi();_document=h(Xt);_ngZone=h(Oe);_elementRef=h(ge);_renderer=h(Fi);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(A){this._hideToggle=A}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(A){this._togglePosition=A}_togglePosition;afterExpand=new WA;afterCollapse=new WA;_inputChanges=new $A;accordion=h(SO,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=h(an).getId("mat-expansion-panel-header-");constructor(){super();let A=h(RO,{optional:!0});this._expansionDispatcher=h(p4),A&&(this.hideToggle=A.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(cn(null),Ze(()=>this.expanded&&!this._portal),oo(1)).subscribe(()=>{this._portal=new Is(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(A){this._inputChanges.next(A)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let A=this._document.activeElement,i=this._body.nativeElement;return A===i||i.contains(A)}return!1}_transitionEndListener=({target:A,propertyName:i})=>{A===this._bodyWrapper?.nativeElement&&i==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let A=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(A,"transitionend",this._transitionEndListener),A.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(i,n,o){if(i&1&&ua(o,SEA,5),i&2){let a;ce(a=Ce())&&(n._lazyContent=a.first)}},viewQuery:function(i,n){if(i&1&&ai(pEA,5)(wEA,5),i&2){let o;ce(o=Ce())&&(n._body=o.first),ce(o=Ce())&&(n._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,n){i&2&&ae("mat-expanded",n.expanded)("mat-expansion-panel-spacing",n._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",he],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[It([{provide:SO,useValue:void 0},{provide:xO,useExisting:t}]),dt,ti],ngContentSelectors:yEA,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,n){i&1&&(Ht(DEA),He(0),m(1,"div",2,0)(3,"div",3,1)(5,"div",4),He(6,1),vt(7,vEA,0,0,"ng-template",5),w(),He(8,2),w()()),i&2&&(p(),ie("inert",n.expanded?null:""),p(2),AA("id",n.id),ie("aria-labelledby",n._headerId),p(4),AA("cdkPortalOutlet",n._portal))},dependencies:[Jg],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}@media print{.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px} +`],encapsulation:2,changeDetection:0})}return t})();var NO=(()=>{class t{panel=h(Ok,{host:!0});_element=h(ge);_focusMonitor=h(nr);_changeDetectorRef=h(mt);_parentChangeSubscription=Jn.EMPTY;constructor(){h(Xn).load(Ir);let A=this.panel,i=h(RO,{optional:!0}),n=h(new Zs("tabindex"),{optional:!0}),o=A.accordion?A.accordion._stateChanges.pipe(Ze(a=>!!(a.hideToggle||a.togglePosition))):ja;this.tabIndex=parseInt(n||"")||0,this._parentChangeSubscription=hi(A.opened,A.closed,o,A._inputChanges.pipe(Ze(a=>!!(a.hideToggle||a.disabled||a.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),A.closed.pipe(Ze(()=>A._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),i&&(this.expandedHeight=i.expandedHeight,this.collapsedHeight=i.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let A=this._isExpanded();return A&&this.expandedHeight?this.expandedHeight:!A&&this.collapsedHeight?this.collapsedHeight:null}_keydown(A){switch(A.keyCode){case 32:case 13:ma(A)||(A.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(A);return}}focus(A,i){A?this._focusMonitor.focusVia(this._element,A,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(A=>{A&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(i,n){i&1&&eA("click",function(){return n._toggle()})("keydown",function(a){return n._keydown(a)}),i&2&&(ie("id",n.panel._headerId)("tabindex",n.disabled?-1:n.tabIndex)("aria-controls",n._getPanelId())("aria-expanded",n._isExpanded())("aria-disabled",n.panel.disabled),wn("height",n._getHeaderHeight()),ae("mat-expanded",n._isExpanded())("mat-expansion-toggle-indicator-after",n._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",n._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)]},ngContentSelectors:MEA,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(i,n){i&1&&(Ht(bEA),ci(0,"span",0),He(1),He(2,1),He(3,2),fi(),V(4,kEA,3,0,"span",1)),i&2&&(ae("mat-content-hide-toggle",!n._showToggle()),p(4),W(n._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}} +`],encapsulation:2,changeDetection:0})}return t})();var FO=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return t})();var _O=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[kO,d0,Gi]})}return t})();var xEA={google_search:"search",EnterpriseWebSearchTool:"web",VertexAiSearchTool:"search",FilesRetrieval:"find_in_page",load_memory:"memory",preload_memory:"memory",url_context:"link",VertexAiRagRetrieval:"find_in_page",exit_loop:"sync",get_user_choice:"how_to_reg",load_artifacts:"image",LongRunningFunctionTool:"data_object"};function ME(t,e){return e==="Agent Tool"?"smart_toy":e==="Built-in tool"?xEA[t]||"build":e==="Function tool"?"data_object":"build"}var uc=class t{static toolMenuTooltips=new Map([["Function tool","Build custom tools for your specific ADK agent needs."],["Built-in tool","Ready-to-use functionality such as Google Search or code executors that provide agents with common capabilities. "],["Agent tool","A sub-agent that can be invoked as a tool by another agent."]]);static toolDetailedInfo=new Map([["Function tool",{shortDescription:"Build custom tools for your specific ADK agent needs.",detailedDescription:"The ADK framework automatically inspects your Python function's signature\u2014including its name, docstring, parameters, type hints, and default values\u2014to generate a schema. This schema is what the LLM uses to understand the tool's purpose, when to use it, and what arguments it requires.",docLink:"https://google.github.io/adk-docs/tools/function-tools/"}],["Agent tool",{shortDescription:"Wraps a sub-agent as a callable tool, enabling modular and hierarchical agent architectures.",detailedDescription:"Agent tools allow you to use one agent as a tool within another agent, creating powerful multi-agent workflows.",docLink:"https://google.github.io/adk-docs/agents/multi-agents/#c-explicit-invocation-agenttool"}]]);static callbackMenuTooltips=new Map([["before_agent","Called immediately before the agent's _run_async_impl (or _run_live_impl) method is executed."],["after_agent","Called immediately after the agent's _run_async_impl (or _run_live_impl) method successfully completes."],["before_model","Called just before the generate_content_async (or equivalent) request is sent to the LLM within an LlmAgent's flow."],["after_model","Called just after a response (LlmResponse) is received from the LLM, before it's processed further by the invoking agent."],["before_tool","Called just before a specific tool's run_async method is invoked, after the LLM has generated a function call for it."],["after_tool","Called just after the tool's run_async method completes successfully."]]);static callbackDialogTooltips=new Map([["before_agent","Called immediately before the agent's _run_async_impl (or _run_live_impl) method is executed."],["after_agent","Called immediately after the agent's _run_async_impl (or _run_live_impl) method successfully completes."],["before_model","Called just before the generate_content_async (or equivalent) request is sent to the LLM within an LlmAgent's flow."],["after_model","Called just after a response (LlmResponse) is received from the LLM, before it's processed further by the invoking agent."],["before_tool","Called just before a specific tool's run_async method is invoked, after the LLM has generated a function call for it."],["after_tool","Called just after the tool's run_async method completes successfully."]]);static callbackDetailedInfo=new Map([["before_agent",{shortDescription:"Called immediately before the agent's _run_async_impl (or _run_live_impl) method is executed. It runs after the agent's InvocationContext is created but before its core logic begins.",detailedDescription:" Ideal for setting up resources or state needed only for this specific agent's run, performing validation checks on the session state (callback_context.state) before execution starts, logging the entry point of the agent's activity, or potentially modifying the invocation context before the core logic uses it.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#before-agent-callback"}],["after_agent",{shortDescription:"Called immediately after the agent's _run_async_impl (or _run_live_impl) method successfully completes.",detailedDescription:"Useful for cleanup tasks, post-execution validation, logging the completion of an agent's activity, modifying final state, or augmenting/replacing the agent's final output.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#after-agent-callback"}],["before_model",{shortDescription:"Called just before the generate_content_async (or equivalent) request is sent to the LLM within an LlmAgent's flow.",detailedDescription:"Allows inspection and modification of the request going to the LLM. Use cases include adding dynamic instructions, injecting few-shot examples based on state, modifying model config, implementing guardrails (like profanity filters), or implementing request-level caching.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#before-model-callback"}],["after_model",{shortDescription:"Called just after a response (LlmResponse) is received from the LLM, before it's processed further by the invoking agent.",detailedDescription:"Allows inspection or modification of the raw LLM response.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#after-model-callback"}],["before_tool",{shortDescription:"Called just before a specific tool's run_async method is invoked, after the LLM has generated a function call for it.",detailedDescription:"Allows inspection and modification of tool arguments, performing authorization checks before execution, logging tool usage attempts, or implementing tool-level caching.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#before-tool-callback"}],["after_tool",{shortDescription:"Called just after the tool's run_async method completes successfully.",detailedDescription:"Allows inspection and modification of the tool's result before it's sent back to the LLM (potentially after summarization). Useful for logging tool results, post-processing or formatting results, or saving specific parts of the result to the session state.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#after-tool-callback"}]]);static getToolMenuTooltips(e){return t.toolMenuTooltips.get(e)}static getToolDetailedInfo(e){return t.toolDetailedInfo.get(e)}static getCallbackMenuTooltips(e){return t.callbackMenuTooltips.get(e)}static getCallbackDialogTooltips(e){return t.callbackDialogTooltips.get(e)}static getCallbackDetailedInfo(e){return t.callbackDetailedInfo.get(e)}};var REA=["callbackNameInput"];function NEA(t,e){if(t&1){let A=JA();qs(0),m(1,"div",8)(2,"div",9),eA("click",function(){Z(A);let n=v();return X(n.toggleCallbackInfo())}),m(3,"mat-icon",10),K(4,"info"),w(),m(5,"div",11)(6,"span"),K(7,"Callback Information"),w()(),m(8,"button",12)(9,"mat-icon"),K(10),w()()(),m(11,"div",13)(12,"div",14)(13,"div",15),K(14),w(),m(15,"div",16),K(16),w()(),m(17,"div",17)(18,"a",18)(19,"mat-icon"),K(20,"open_in_new"),w(),m(21,"span"),K(22,"View Official Documentation"),w()()()()(),Vs()}if(t&2){let A,i,n,o=v();p(10),qA(o.isCallbackInfoExpanded?"expand_less":"expand_more"),p(),ae("expanded",o.isCallbackInfoExpanded),p(3),qA((A=o.getCallbackInfo())==null?null:A.shortDescription),p(2),qA((i=o.getCallbackInfo())==null?null:i.detailedDescription),p(2),AA("href",(n=o.getCallbackInfo())==null?null:n.docLink,Ga)}}function FEA(t,e){if(t&1&&(m(0,"mat-option",21),K(1),w()),t&2){let A=e.$implicit;AA("value",A),p(),qA(A)}}function _EA(t,e){if(t&1){let A=JA();qs(0),m(1,"mat-form-field",3)(2,"mat-label"),K(3,"Callback Type"),w(),m(4,"mat-select",19),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.callbackType,n)||(o.callbackType=n),X(n)}),vt(5,FEA,2,2,"mat-option",20),w()(),Vs()}if(t&2){let A=v();p(4),Qo("ngModel",A.callbackType),p(),AA("ngForOf",A.availableCallbackTypes)}}function LEA(t,e){t&1&&(m(0,"mat-error"),K(1,"Same callback name has been used"),w())}function GEA(t,e){t&1&&(m(0,"mat-error"),K(1,"Cannot have callback consist of two words"),w())}function KEA(t,e){t&1&&(m(0,"mat-error"),K(1,"Callback function names cannot have spaces"),w())}var Pk=class{isErrorState(e){return!!(e&&e.invalid)}},z4=class t{constructor(e,A){this.dialogRef=e;this.data=A;this.callbackType=A?.callbackType??"",this.existingCallbackNames=A?.existingCallbackNames??[],this.isEditMode=!!A?.isEditMode,this.availableCallbackTypes=A?.availableCallbackTypes??[],this.isEditMode&&A?.callback&&(this.callbackName=A.callback.name,this.callbackType=A.callback.type,this.originalCallbackName=A.callback.name,this.existingCallbackNames=this.existingCallbackNames.filter(i=>i!==this.originalCallbackName))}callbackNameInput;callbackName="";callbackType="";existingCallbackNames=[];matcher=new Pk;isEditMode=!1;availableCallbackTypes=[];originalCallbackName="";isCallbackInfoExpanded=!1;addCallback(){if(!this.callbackName.trim()||this.hasSpaces()||this.isDuplicateName())return;let e={name:this.callbackName.trim(),type:this.callbackType,isEditMode:this.isEditMode,originalName:this.originalCallbackName||this.callbackName.trim()};this.dialogRef.close(e)}cancel(){this.dialogRef.close()}isDuplicateName(){if(!Array.isArray(this.existingCallbackNames))return!1;let e=(this.callbackName||"").trim();return this.existingCallbackNames.includes(e)}hasSpaces(){return/\s/.test(this.callbackName||"")}createDisabled(){return!this.callbackName.trim()||this.isDuplicateName()||this.hasSpaces()}validate(){this.hasSpaces()?this.callbackNameInput.control.setErrors({hasSpaces:!0}):this.isDuplicateName()?this.callbackNameInput.control.setErrors({duplicateName:!0}):this.callbackNameInput.control.setErrors(null)}getCallbackInfo(){return uc.getCallbackDetailedInfo(this.callbackType)}toggleCallbackInfo(){this.isCallbackInfoExpanded=!this.isCallbackInfoExpanded}static \u0275fac=function(A){return new(A||t)(Ct(Po),Ct(ka))};static \u0275cmp=kA({type:t,selectors:[["app-add-callback-dialog"]],viewQuery:function(A,i){if(A&1&&ai(REA,5),A&2){let n;ce(n=Ce())&&(i.callbackNameInput=n.first)}},decls:18,vars:10,consts:[["callbackNameInput","ngModel"],["mat-dialog-title",""],[4,"ngIf"],[2,"width","100%"],["matInput","",3,"ngModelChange","keydown.enter","ngModel","errorStateMatcher"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","secondary",3,"click","disabled"],[1,"callback-info-container"],[1,"callback-info-header",3,"click"],[1,"callback-info-icon"],[1,"callback-info-title"],["mat-icon-button","","type","button","aria-label","Toggle callback information",1,"callback-info-toggle"],[1,"callback-info-body"],[1,"callback-info-content"],[1,"callback-info-short"],[1,"callback-info-detailed"],[1,"callback-info-link-container"],["target","_blank","rel","noopener noreferrer",1,"callback-info-link",3,"href"],[3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(A,i){if(A&1){let n=JA();m(0,"h2",1),K(1),w(),m(2,"mat-dialog-content"),vt(3,NEA,23,6,"ng-container",2)(4,_EA,6,2,"ng-container",2),m(5,"mat-form-field",3)(6,"mat-label"),K(7,"Callback Name"),w(),m(8,"input",4,0),ho("ngModelChange",function(a){return Z(n),ao(i.callbackName,a)||(i.callbackName=a),X(a)}),eA("ngModelChange",function(){return Z(n),X(i.validate())})("keydown.enter",function(){return Z(n),X(i.addCallback())}),w(),vt(10,LEA,2,0,"mat-error",2)(11,GEA,2,0,"mat-error",2)(12,KEA,2,0,"mat-error",2),w()(),m(13,"mat-dialog-actions",5)(14,"button",6),eA("click",function(){return Z(n),X(i.cancel())}),K(15,"Cancel"),w(),m(16,"button",7),eA("click",function(){return Z(n),X(i.addCallback())}),K(17),w()()}if(A&2){let n=An(9);p(),qA(i.isEditMode?"Edit Callback":"Add "+i.callbackType+" Callback"),p(2),AA("ngIf",i.getCallbackInfo()),p(),AA("ngIf",i.isEditMode),p(4),Qo("ngModel",i.callbackName),AA("errorStateMatcher",i.matcher),p(2),AA("ngIf",n.hasError("duplicateName")),p(),AA("ngIf",n.hasError("hasSpaces")),p(),AA("ngIf",n.hasError("hasSpaces")),p(4),AA("disabled",i.createDisabled()),p(),_e(" ",i.isEditMode?"Save":"Add"," ")}},dependencies:[fa,DB,o0,Nn,uo,fo,ba,Ez,Ua,or,yr,Fs,Fn,Ma,Yr,ta,Zl,D9,rl,Ka,ok,Il,Hr,cl,fn],styles:[".callback-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;min-width:400px;max-width:600px}.full-width[_ngcontent-%COMP%]{width:100%}mat-dialog-content[_ngcontent-%COMP%]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}mat-dialog-actions[_ngcontent-%COMP%]{padding:16px 24px;margin:0}mat-form-field[_ngcontent-%COMP%]{margin-top:8px!important}.mat-mdc-raised-button.mat-secondary[_ngcontent-%COMP%]:not([disabled]){background-color:#8ab4f8}.callback-info-container[_ngcontent-%COMP%]{background-color:#8ab4f814;border:1px solid rgba(138,180,248,.2);border-radius:8px;padding:16px;margin-bottom:16px}.callback-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.callback-info-header[_ngcontent-%COMP%]:hover .callback-info-title[_ngcontent-%COMP%]{color:#a7c8ff}.callback-info-icon[_ngcontent-%COMP%]{color:#8ab4f8;font-size:20px;width:20px;height:20px;flex-shrink:0}.callback-info-title[_ngcontent-%COMP%]{flex:1;font-weight:500;color:#8ab4f8;font-size:14px;transition:color .2s ease}.callback-info-toggle[_ngcontent-%COMP%]{color:#8ab4f8;margin:-8px}.callback-info-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease}.callback-info-body[_ngcontent-%COMP%]{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.callback-info-body.expanded[_ngcontent-%COMP%]{max-height:500px;opacity:1;margin-top:12px}.callback-info-content[_ngcontent-%COMP%]{flex:1}.callback-info-short[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-dialog-content-text-color);margin-bottom:8px;line-height:1.4}.callback-info-detailed[_ngcontent-%COMP%]{color:var(--mat-dialog-content-text-color);font-size:14px;line-height:1.5;opacity:.8}.callback-info-link-container[_ngcontent-%COMP%]{margin-top:12px}.callback-info-link[_ngcontent-%COMP%]{color:#8ab4f8;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.callback-info-link[_ngcontent-%COMP%]:hover{color:#a7c8ff}.callback-info-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}"]})};function UEA(t,e){if(t&1){let A=JA();qs(0),m(1,"div",6)(2,"div",7),eA("click",function(){Z(A);let n=v();return X(n.toggleToolInfo())}),m(3,"mat-icon",8),K(4,"info"),w(),m(5,"div",9)(6,"span"),K(7,"Tool Information"),w()(),m(8,"button",10)(9,"mat-icon"),K(10),w()()(),m(11,"div",11)(12,"div",12)(13,"div",13),K(14),w(),m(15,"div",14),K(16),w()(),m(17,"div",15)(18,"a",16)(19,"mat-icon"),K(20,"open_in_new"),w(),m(21,"span"),K(22,"View Official Documentation"),w()()()()(),Vs()}if(t&2){let A,i,n,o=v();p(10),qA(o.isToolInfoExpanded?"expand_less":"expand_more"),p(),ae("expanded",o.isToolInfoExpanded),p(3),qA((A=o.getToolInfo())==null?null:A.shortDescription),p(2),qA((i=o.getToolInfo())==null?null:i.detailedDescription),p(2),AA("href",(n=o.getToolInfo())==null?null:n.docLink,Ga)}}function JEA(t,e){if(t&1){let A=JA();m(0,"mat-form-field",2)(1,"input",17),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.toolName,n)||(o.toolName=n),X(n)}),eA("keydown.enter",function(){Z(A);let n=v();return X(n.addTool())}),w()()}if(t&2){let A=v();p(),Qo("ngModel",A.toolName)}}function YEA(t,e){if(t&1&&(m(0,"mat-option",20),K(1),w()),t&2){let A=e.$implicit;AA("value",A),p(),_e(" ",A," ")}}function TEA(t,e){if(t&1){let A=JA();m(0,"mat-form-field",2)(1,"mat-select",18),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.selectedBuiltInTool,n)||(o.selectedBuiltInTool=n),X(n)}),vt(2,YEA,2,2,"mat-option",19),w()()}if(t&2){let A=v();p(),Qo("ngModel",A.selectedBuiltInTool),p(),AA("ngForOf",A.builtInTools)}}var W2=class t{constructor(e,A){this.data=e;this.dialogRef=A}toolName="";toolType="Function tool";selectedBuiltInTool="google_search";builtInTools=["EnterpriseWebSearchTool","exit_loop","FilesRetrieval","get_user_choice","google_search","load_artifacts","load_memory","LongRunningFunctionTool","preload_memory","url_context","VertexAiRagRetrieval","VertexAiSearchTool"];isEditMode=!1;isToolInfoExpanded=!1;ngOnInit(){this.toolType=this.data.toolType,this.isEditMode=this.data.isEditMode||!1,this.isEditMode&&this.data.toolName&&(this.toolType==="Function tool"?this.toolName=this.data.toolName:this.toolType==="Built-in tool"&&(this.selectedBuiltInTool=this.data.toolName))}addTool(){if(this.toolType==="Function tool"&&!this.toolName.trim())return;let e={toolType:this.toolType,isEditMode:this.isEditMode};this.toolType==="Function tool"?e.name=this.toolName.trim():this.toolType==="Built-in tool"&&(e.name=this.selectedBuiltInTool),this.dialogRef.close(e)}cancel(){this.dialogRef.close()}createDisabled(){return this.toolType==="Function tool"&&!this.toolName.trim()}getToolInfo(){return uc.getToolDetailedInfo(this.toolType)}toggleToolInfo(){this.isToolInfoExpanded=!this.isToolInfoExpanded}static \u0275fac=function(A){return new(A||t)(Ct(ka),Ct(Po))};static \u0275cmp=kA({type:t,selectors:[["app-add-tool-dialog"]],decls:11,vars:6,consts:[["mat-dialog-title","",1,"dialog-title"],[4,"ngIf"],[2,"width","100%"],["align","end"],["mat-button","",3,"click"],["mat-button","","cdkFocusInitial","",3,"click","disabled"],[1,"tool-info-container"],[1,"tool-info-header",3,"click"],[1,"tool-info-icon"],[1,"tool-info-title"],["mat-icon-button","","type","button","aria-label","Toggle tool information",1,"tool-info-toggle"],[1,"tool-info-body"],[1,"tool-info-content"],[1,"tool-info-short"],[1,"tool-info-detailed"],[1,"tool-info-link-container"],["target","_blank","rel","noopener noreferrer",1,"tool-info-link",3,"href"],["matInput","","placeholder","Enter full function name",3,"ngModelChange","keydown.enter","ngModel"],["placeholder","Select built-in tool",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1),w(),m(2,"mat-dialog-content"),vt(3,UEA,23,6,"ng-container",1),V(4,JEA,2,1,"mat-form-field",2),V(5,TEA,3,2,"mat-form-field",2),w(),m(6,"mat-dialog-actions",3)(7,"button",4),eA("click",function(){return i.cancel()}),K(8,"Cancel"),w(),m(9,"button",5),eA("click",function(){return i.addTool()}),K(10),w()()),A&2&&(p(),qA(i.isEditMode?"Editing Tool":"Add New Tool"),p(2),AA("ngIf",i.getToolInfo()),p(),W(i.toolType==="Function tool"?4:-1),p(),W(i.toolType==="Built-in tool"?5:-1),p(4),AA("disabled",i.createDisabled()),p(),_e(" ",i.isEditMode?"Save":"Create"," "))},dependencies:[fa,DB,o0,Nn,uo,fo,ba,Ua,yr,ta,Ka,Il,Hr,or,Fn,Ma,fn],styles:[".dialog-title[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;font-family:Google Sans;font-size:24px}mat-dialog-content[_ngcontent-%COMP%]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.tool-info-container[_ngcontent-%COMP%]{background-color:#8ab4f814;border:1px solid rgba(138,180,248,.2);border-radius:8px;padding:16px;margin-bottom:16px}.tool-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.tool-info-header[_ngcontent-%COMP%]:hover .tool-info-title[_ngcontent-%COMP%]{color:#a7c8ff}.tool-info-icon[_ngcontent-%COMP%]{color:#8ab4f8;font-size:20px;width:20px;height:20px;flex-shrink:0}.tool-info-title[_ngcontent-%COMP%]{flex:1;font-weight:500;color:#8ab4f8;font-size:14px;transition:color .2s ease}.tool-info-toggle[_ngcontent-%COMP%]{color:#8ab4f8;margin:-8px}.tool-info-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease}.tool-info-body[_ngcontent-%COMP%]{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.tool-info-body.expanded[_ngcontent-%COMP%]{max-height:500px;opacity:1;margin-top:12px}.tool-info-content[_ngcontent-%COMP%]{flex:1}.tool-info-short[_ngcontent-%COMP%]{font-weight:500;color:#e3e3e3;margin-bottom:8px;line-height:1.4}.tool-info-detailed[_ngcontent-%COMP%]{color:#c4c7ca;font-size:14px;line-height:1.5}.tool-info-link-container[_ngcontent-%COMP%]{margin-top:12px}.tool-info-link[_ngcontent-%COMP%]{color:#8ab4f8;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.tool-info-link[_ngcontent-%COMP%]:hover{color:#a7c8ff}.tool-info-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}"]})};function jo(t){return Array.isArray(t)}function ia(t){return t!==null&&typeof t=="object"&&(t.constructor===void 0||t.constructor.name==="Object")}function jk(t){return t&&typeof t=="object"?t.op==="add":!1}function qk(t){return t&&typeof t=="object"?t.op==="remove":!1}function sw(t){return t&&typeof t=="object"?t.op==="replace":!1}function gw(t){return t&&typeof t=="object"?t.op==="copy":!1}function Z2(t){return t&&typeof t=="object"?t.op==="move":!1}function LO(t,e){return JSON.stringify(t)===JSON.stringify(e)}function HEA(t,e){return t===e}function Vk(t){return t.slice(0,t.length-1)}function GO(t){return t[t.length-1]}function KO(t,e){let A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:HEA;if(t.length{e[A]=t[A]}),e}if(ia(t)){let e=gA({},t);return Object.getOwnPropertySymbols(t).forEach(A=>{e[A]=t[A]}),e}return t}function Xk(t,e,A){if(t[e]===A)return t;let i=Zk(t);return i[e]=A,i}function je(t,e){let A=t,i=0;for(;i3&&arguments[3]!==void 0?arguments[3]:!1;if(e.length===0)return A;let n=e[0],o=Or(t?t[n]:void 0,e.slice(1),A,i);if(ia(t)||jo(t))return Xk(t,n,o);if(i){let a=zEA.test(n)?[]:{};return a[n]=o,a}throw new Error("Path does not exist")}var zEA=/^\d+$/;function O4(t,e,A){if(e.length===0)return A(t);if(!Wk(t))throw new Error("Path doesn't exist");let i=e[0],n=O4(t[i],e.slice(1),A);return Xk(t,i,n)}function Ad(t,e){if(e.length===0)return t;if(!Wk(t))throw new Error("Path does not exist");if(e.length===1){let n=e[0];if(!(n in t))return t;let o=Zk(t);return jo(o)&&o.splice(Number.parseInt(n),1),ia(o)&&delete o[n],o}let A=e[0],i=Ad(t[A],e.slice(1));return Xk(t,A,i)}function P4(t,e,A){let i=e.slice(0,e.length-1),n=e[e.length-1];return O4(t,i,o=>{if(!Array.isArray(o))throw new TypeError(`Array expected at path ${JSON.stringify(i)}`);let a=Zk(o);return a.splice(Number.parseInt(n),0,A),a})}function br(t,e){return t===void 0?!1:e.length===0?!0:t===null?!1:br(t[e[0]],e.slice(1))}function hs(t){let e=t.split("/");return e.shift(),e.map(A=>A.replace(/~1/g,"/").replace(/~0/g,"~"))}function wt(t){return t.map(UO).join("")}function UO(t){return`/${String(t).replace(/~/g,"~0").replace(/\//g,"~1")}`}function j4(t,e){return t+UO(e)}function lg(t,e,A){let i=t;for(let n=0;n{let r,s=cg(o,a.path);if(a.op==="add")r=TO(o,s);else if(a.op==="remove")r=YO(o,s);else if(a.op==="replace")r=JO(o,s);else if(a.op==="copy")r=$EA(o,s);else if(a.op==="move")r=AQA(o,s,q4(a.from));else if(a.op==="test")r=[];else throw new Error(`Unknown JSONPatch operation ${JSON.stringify(a)}`);let g;if(A?.before){let l=A.before(o,a,r);if(l?.revertOperations&&(r=l.revertOperations),l?.document&&(g=l.document),l?.json)throw new Error('Deprecation warning: returned object property ".json" has been renamed to ".document"')}if(i=r.concat(i),g!==void 0)return{document:g}}}),i}function JO(t,e){return br(t,e)?[{op:"replace",path:wt(e),value:je(t,e)}]:[]}function YO(t,e){return[{op:"add",path:wt(e),value:je(t,e)}]}function TO(t,e){return kE(t,e)||!br(t,e)?[{op:"remove",path:wt(e)}]:JO(t,e)}function $EA(t,e){return TO(t,e)}function AQA(t,e,A){if(e.length="0"&&t<="9"}function PO(t){return t>=" "}function V4(t){return`,:[]/{}() ++`.includes(t)}function eS(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function tS(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var iS=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,nS=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function oS(t){return`,[]/{} ++`.includes(t)}function aS(t){return W4(t)||cQA.test(t)}var cQA=/^[[{\w-]$/;function jO(t){return t===` +`||t==="\r"||t===" "||t==="\b"||t==="\f"}function X2(t,e){let A=t.charCodeAt(e);return A===32||A===10||A===9||A===13}function qO(t,e){let A=t.charCodeAt(e);return A===32||A===9||A===13}function VO(t,e){let A=t.charCodeAt(e);return A===160||A>=8192&&A<=8202||A===8239||A===8287||A===12288}function W4(t){return rS(t)||Iw(t)}function rS(t){return t==='"'||t==="\u201C"||t==="\u201D"}function sS(t){return t==='"'}function Iw(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function gS(t){return t==="'"}function SE(t,e){let A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=t.lastIndexOf(e);return i!==-1?t.substring(0,i)+(A?"":t.substring(i+1)):t}function hl(t,e){let A=t.length;if(!X2(t,A-1))return t+e;for(;X2(t,A-1);)A--;return t.substring(0,A)+e+t.substring(A)}function WO(t,e,A){return t.substring(0,e)+t.substring(e+A)}function ZO(t){return/[,\n][ \t\r]*$/.test(t)}var CQA={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},IQA={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function ul(t){let e=0,A="";g(["```","[```","{```"]),o()||P(),g(["```","```]","```}"]);let n=C(",");for(n&&a(),aS(t[e])&&ZO(A)?(n||(A=hl(A,",")),f()):n&&(A=SE(A,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return A;DA();function o(){a();let oA=E()||Q()||b()||M()||D()||_(!1)||U();return a(),oA}function a(){let oA=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,sA=e,hA=r(oA);do hA=s(),hA&&(hA=r(oA));while(hA);return e>sA}function r(oA){let sA=oA?X2:qO,hA="";for(;;)if(sA(t,e))hA+=t[e],e++;else if(VO(t,e))hA+=" ",e++;else break;return hA.length>0?(A+=hA,!0):!1}function s(){if(t[e]==="/"&&t[e+1]==="*"){for(;e=t.length;YA||(aS(t[e])||ee?A=hl(A,":"):iA()),o()||(YA||ee?A+="null":iA())}return t[e]==="}"?(A+="}",e++):A=hl(A,"}"),!0}return!1}function Q(){if(t[e]==="["){A+="[",e++,a(),I(",")&&a();let oA=!0;for(;e0&&arguments[0]!==void 0?arguments[0]:!1,sA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,hA=t[e]==="\\";if(hA&&(e++,hA=!0),W4(t[e])){let YA=sS(t[e])?sS:gS(t[e])?gS:Iw(t[e])?Iw:rS,ee=e,UA=A.length,mA='"';for(e++;;){if(e>=t.length){let KA=J(e-1);return!oA&&V4(t.charAt(KA))?(e=ee,A=A.substring(0,UA),b(!0)):(mA=hl(mA,'"'),A+=mA,!0)}if(e===sA)return mA=hl(mA,'"'),A+=mA,!0;if(YA(t[e])){let KA=e,Pe=mA.length;if(mA+='"',e++,A+=mA,a(!1),oA||e>=t.length||V4(t[e])||W4(t[e])||$2(t[e]))return S(),!0;let Ue=J(KA-1),HA=t.charAt(Ue);if(HA===",")return e=ee,A=A.substring(0,UA),b(!1,Ue);if(V4(HA))return e=ee,A=A.substring(0,UA),b(!0);A=A.substring(0,UA),e=KA+1,mA=`${mA.substring(0,Pe)}\\${mA.substring(Pe)}`}else if(oA&&oS(t[e])){if(t[e-1]===":"&&iS.test(t.substring(ee+1,e+2)))for(;e=t.length?e=t.length:BA()}else mA+=KA,e+=2}else{let KA=t.charAt(e);KA==='"'&&t[e-1]!=="\\"?(mA+=`\\${KA}`,e++):jO(KA)?(mA+=CQA[KA],e++):(PO(KA)||O(KA),mA+=KA,e++)}hA&&d()}}return!1}function S(){let oA=!1;for(a();t[e]==="+";){oA=!0,e++,a(),A=SE(A,'"',!0);let sA=A.length;b()?A=WO(A,sA,1):A=hl(A,'"')}return oA}function M(){let oA=e;if(t[e]==="-"){if(e++,j())return $(oA),!0;if(!$2(t[e]))return e=oA,!1}for(;$2(t[e]);)e++;if(t[e]==="."){if(e++,j())return $(oA),!0;if(!$2(t[e]))return e=oA,!1;for(;$2(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,j())return $(oA),!0;if(!$2(t[e]))return e=oA,!1;for(;$2(t[e]);)e++}if(!j())return e=oA,!1;if(e>oA){let sA=t.slice(oA,e),hA=/^0\d/.test(sA);return A+=hA?`"${sA}"`:sA,!0}return!1}function D(){return F("true","true")||F("false","false")||F("null","null")||F("True","true")||F("False","false")||F("None","null")}function F(oA,sA){return t.slice(e,e+oA.length)===oA?(A+=sA,e+=oA.length,!0):!1}function _(oA){let sA=e;if(eS(t[e])){for(;esA){for(;X2(t,e-1)&&e>0;)e--;let hA=t.slice(sA,e);return A+=hA==="undefined"?"null":JSON.stringify(hA),t[e]==='"'&&e++,!0}}function U(){if(t[e]==="/"){let oA=e;for(e++;e0&&X2(t,sA);)sA--;return sA}function j(){return e>=t.length||V4(t[e])||X2(t,e)}function $(oA){A+=`${t.slice(oA,e)}0`}function O(oA){throw new wC(`Invalid character ${JSON.stringify(oA)}`,e)}function DA(){throw new wC(`Unexpected character ${JSON.stringify(t[e])}`,e)}function P(){throw new wC("Unexpected end of json string",t.length)}function aA(){throw new wC("Object key expected",e)}function iA(){throw new wC("Colon expected",e)}function BA(){let oA=t.slice(e,e+6);throw new wC(`Invalid unicode character "${oA}"`,e)}}function dQA(t,e){return t[e]==="*"&&t[e+1]==="/"}var BQA=typeof global=="object"&&global&&global.Object===Object&&global,dw=BQA;var EQA=typeof self=="object"&&self&&self.Object===Object&&self,QQA=dw||EQA||Function("return this")(),Ya=QQA;var hQA=Ya.Symbol,Mr=hQA;var XO=Object.prototype,uQA=XO.hasOwnProperty,fQA=XO.toString,Z4=Mr?Mr.toStringTag:void 0;function mQA(t){var e=uQA.call(t,Z4),A=t[Z4];try{t[Z4]=void 0;var i=!0}catch{}var n=fQA.call(t);return i&&(e?t[Z4]=A:delete t[Z4]),n}var $O=mQA;var pQA=Object.prototype,wQA=pQA.toString;function DQA(t){return wQA.call(t)}var AP=DQA;var yQA="[object Null]",vQA="[object Undefined]",eP=Mr?Mr.toStringTag:void 0;function bQA(t){return t==null?t===void 0?vQA:yQA:eP&&eP in Object(t)?$O(t):AP(t)}var fc=bQA;function MQA(t){return t!=null&&typeof t=="object"}var Js=MQA;var kQA="[object Symbol]";function SQA(t){return typeof t=="symbol"||Js(t)&&fc(t)==kQA}var Tg=SQA;function xQA(t,e){for(var A=-1,i=t==null?0:t.length,n=Array(i);++A0){if(++e>=uhA)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var uP=phA;function whA(t){return function(){return t}}var fP=whA;var DhA=(function(){try{var t=Cg(Object,"defineProperty");return t({},"",{}),t}catch{}})(),RE=DhA;var yhA=RE?function(t,e){return RE(t,"toString",{configurable:!0,enumerable:!1,value:fP(e),writable:!0})}:D0,mP=yhA;var vhA=uP(mP),pP=vhA;function bhA(t,e){for(var A=-1,i=t==null?0:t.length;++A-1&&t%1==0&&t-1&&t%1==0&&t<=UhA}var FE=JhA;function YhA(t){return t!=null&&FE(t.length)&&!Bw(t)}var fl=YhA;function ThA(t,e,A){if(!Er(A))return!1;var i=typeof e;return(i=="number"?fl(A)&&NE(e,A.length):i=="string"&&e in A)?tI(A[e],t):!1}var $4=ThA;var HhA=Object.prototype;function zhA(t){var e=t&&t.constructor,A=typeof e=="function"&&e.prototype||HhA;return t===A}var nI=zhA;function OhA(t,e){for(var A=-1,i=Array(t);++A-1}var PP=c4A;function C4A(t,e){var A=this.__data__,i=rI(A,t);return i<0?(++this.size,A.push([t,e])):A[i][1]=e,this}var jP=C4A;function UE(t){var e=-1,A=t==null?0:t.length;for(this.clear();++e0&&A(r)?e>1?aj(r,e-1,A,i,n):TE(n,r):i||(n[n.length]=r)}return n}var rj=aj;var _4A=mw(Object.getPrototypeOf,Object),yw=_4A;function L4A(t,e,A){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),A=A>n?n:A,A<0&&(A+=n),n=e>A?0:A-e>>>0,e>>>=0;for(var o=Array(n);++ir))return!1;var g=o.get(t),l=o.get(e);if(g&&l)return g==e&&l==t;var C=-1,I=!0,d=A&_fA?new Zj:void 0;for(o.set(t,e),o.set(e,t);++C=e||_<0||C&&U>=o}function f(){var F=zw();if(Q(F))return b(F);r=setTimeout(f,E(F))}function b(F){return r=void 0,I&&i?d(F):(i=n=void 0,a)}function S(){r!==void 0&&clearTimeout(r),g=0,i=s=n=r=void 0}function M(){return r===void 0?a:b(zw())}function D(){var F=zw(),_=Q(F);if(i=arguments,n=this,s=F,_){if(r===void 0)return B(s);if(C)return clearTimeout(r),r=setTimeout(f,e),d(s)}return r===void 0&&(r=setTimeout(f,e)),a}return D.cancel=S,D.flush=M,D}var qE=_mA;function LmA(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var mi=LmA;function GmA(t){return typeof t=="function"?t:D0}var Ow=GmA;function KmA(t,e){for(var A=t==null?0:t.length;A--&&e(t[A],A,t)!==!1;);return t}var wq=KmA;var UmA=Uw(!0),Dq=UmA;function JmA(t,e){return t&&Dq(t,e,ml)}var yq=JmA;var YmA=Yw(yq,!0),vq=YmA;function TmA(t,e){var A=go(t)?wq:vq;return A(t,Ow(e))}var ES=TmA;function HmA(t){return t&&t.length?t[0]:void 0}var pl=HmA;function zmA(t,e){var A=-1,i=fl(t)?Array(t.length):[];return Tw(t,function(n,o,a){i[++A]=e(n,o,a)}),i}var Pw=zmA;function OmA(t,e){var A=go(t)?AI:Pw;return A(t,y0(e,3))}var QS=OmA;var PmA=Object.prototype,jmA=PmA.hasOwnProperty,qmA=Hw(function(t,e,A){jmA.call(t,A)?t[A].push(e):eI(t,A,[e])}),hS=qmA;function VmA(t){var e=t==null?0:t.length;return e?sj(t,0,-1):[]}var Ki=VmA;var WmA="[object Map]",ZmA="[object Set]",XmA=Object.prototype,$mA=XmA.hasOwnProperty;function ApA(t){if(t==null)return!0;if(fl(t)&&(go(t)||typeof t=="string"||typeof t.splice=="function"||yC(t)||_E(t)||oI(t)))return!t.length;var e=mc(t);if(e==WmA||e==ZmA)return!t.size;if(nI(t))return!pw(t).length;for(var A in t)if($mA.call(t,A))return!1;return!0}var Vi=ApA;function epA(t,e){return jE(t,e)}var Bi=epA;function tpA(t,e){return te||o&&a&&s&&!r&&!g||i&&a&&s||!A&&s||!n)return 1;if(!i&&!o&&!g&&t=r)return s;var g=A[i];return s*(g=="desc"?-1:1)}}return t.index-e.index}var xq=spA;function gpA(t,e,A){e.length?e=AI(e,function(o){return go(o)?function(a){return YE(a,o.length===1?o[0]:o)}:o}):e=[D0];var i=-1;e=AI(e,aI(y0));var n=Pw(t,function(o,a,r){var s=AI(e,function(g){return g(o)});return{criteria:s,index:++i,value:o}});return kq(n,function(o,a){return xq(o,a,A)})}var Rq=gpA;var lpA=Hw(function(t,e,A){t[A?0:1].push(e)},function(){return[[],[]]}),fS=lpA;var cpA=Math.ceil,CpA=Math.max;function IpA(t,e,A,i){for(var n=-1,o=CpA(cpA((e-t)/(A||1)),0),a=Array(o);o--;)a[i?o:++n]=t,t+=A;return a}var Nq=IpA;function dpA(t){return function(e,A,i){return i&&typeof i!="number"&&$4(e,A,i)&&(A=i=void 0),e=xE(e),A===void 0?(A=e,e=0):A=xE(A),i=i===void 0?e1&&$4(t,e[0],e[1])?e=[]:A>2&&$4(e[0],e[1],e[2])&&(e=[e[0]]),Rq(t,rj(e,1),[])}),mS=EpA;var QpA=9007199254740991,pS=4294967295,hpA=Math.min;function upA(t,e){if(t=lP(t),t<1||t>QpA)return[];var A=pS,i=hpA(t,pS);e=Ow(e),t-=pS;for(var n=uw(i,e);++AArray.isArray(t),ppA=t=>t!==null&&typeof t=="object"&&!dI(t),wpA=t=>typeof t=="string",id=(t,e)=>t===e?!0:t!==null&&e!==null&&typeof t=="object"&&typeof e=="object"&&Object.keys(t).length===Object.keys(e).length&&Object.entries(t).every(([A,i])=>id(i,e[A])),_q=(t,e)=>{let A=t?.[e];if(A!==void 0){if(!Object.hasOwn(t,e)||Array.isArray(t)&&!/^\d+$/.test(e)||typeof t!="object")throw new TypeError(`Unsupported property "${e}"`);return A}};function Wa(t){return(...e)=>{let A=e.map(o=>Za(o)),i=A[0],n=A[1];return A.length===1?o=>t(i(o)):A.length===2?o=>t(i(o),n(o)):o=>t(...A.map(a=>a(o)))}}var o3={boolean:0,number:1,string:2},Lq=3,Uq=(t,e)=>typeof t==typeof e&&typeof t in o3?t>e:!1,DpA=(t,e)=>id(t,e)||Uq(t,e),Jq=(t,e)=>typeof t==typeof e&&typeof t in o3?tid(t,e)||Jq(t,e),n3={pipe:(...t)=>{let e=t.map(A=>Za(A));return A=>e.reduce((i,n)=>n(i),A)},object:t=>{let e=Object.keys(t).map(A=>[A,Za(t[A])]);return A=>{let i={};for(let[n,o]of e)i[n]=o(A);return i}},array:(...t)=>{let e=t.map(A=>Za(A));return A=>e.map(i=>i(A))},get:(...t)=>{if(t.length===0)return e=>e??null;if(t.length===1){let e=t[0];return A=>_q(A,e)??null}return e=>{let A=e;for(let i of t)A=_q(A,i);return A??null}},map:t=>{let e=Za(t);return A=>A.map(e)},mapObject:t=>{let e=Za(t);return A=>{let i={};for(let n of Object.keys(A)){let o=e({key:n,value:A[n]});i[o.key]=o.value}return i}},mapKeys:t=>{let e=Za(t);return A=>{let i={};for(let n of Object.keys(A)){let o=e(n);i[o]=A[n]}return i}},mapValues:t=>{let e=Za(t);return A=>{let i={};for(let n of Object.keys(A))i[n]=e(A[n]);return i}},filter:t=>{let e=Za(t);return A=>A.filter(i=>Gq(e(i)))},sort:(t=["get"],e)=>{let A=Za(t),i=e==="desc"?-1:1;function n(o,a){let r=A(o),s=A(a);if(typeof r!=typeof s){let g=o3[typeof r]??Lq,l=o3[typeof s]??Lq;return g>l?i:gs?i:ro.slice().sort(n)},reverse:()=>t=>t.toReversed(),pick:(...t)=>{let e=t.map(([i,...n])=>[n[n.length-1],n3.get(...n)]),A=(i,n)=>{let o={};for(let[a,r]of n)o[a]=r(i);return o};return i=>dI(i)?i.map(n=>A(n,e)):A(i,e)},groupBy:t=>{let e=Za(t);return A=>{let i={};for(let n of A){let o=e(n);i[o]?i[o].push(n):i[o]=[n]}return i}},keyBy:t=>{let e=Za(t);return A=>{let i={};for(let n of A){let o=e(n);o in i||(i[o]=n)}return i}},flatten:()=>t=>t.flat(),join:(t="")=>e=>e.join(t),split:Wa((t,e)=>e!==void 0?t.split(e):t.trim().split(/\s+/)),substring:Wa((t,e,A)=>t.slice(Math.max(e,0),A)),uniq:()=>t=>{let e=[];for(let A of t)e.findIndex(i=>id(i,A))===-1&&e.push(A);return e},uniqBy:t=>e=>Object.values(n3.keyBy(t)(e)),limit:t=>e=>e.slice(0,Math.max(t,0)),size:()=>t=>t.length,keys:()=>Object.keys,values:()=>Object.values,prod:()=>t=>i3(t,(e,A)=>e*A),sum:()=>t=>dI(t)?t.reduce((e,A)=>e+A,0):DS(),average:()=>t=>dI(t)?t.length>0?t.reduce((e,A)=>e+A)/t.length:null:DS(),min:()=>t=>i3(t,(e,A)=>Math.min(e,A)),max:()=>t=>i3(t,(e,A)=>Math.max(e,A)),and:Wa((...t)=>i3(t,(e,A)=>!!(e&&A))),or:Wa((...t)=>i3(t,(e,A)=>!!(e||A))),not:Wa(t=>!t),exists:t=>{let e=t.slice(1),A=e.pop(),i=n3.get(...e);return n=>{let o=i(n);return!!o&&Object.hasOwnProperty.call(o,A)}},if:(t,e,A)=>{let i=Za(t),n=Za(e),o=Za(A);return a=>Gq(i(a))?n(a):o(a)},in:(t,e)=>{let A=Za(t),i=Za(e);return n=>{let o=A(n);return i(n).findIndex(a=>id(a,o))!==-1}},"not in":(t,e)=>{let A=n3.in(t,e);return i=>!A(i)},regex:(t,e,A)=>{let i=new RegExp(e,A),n=Za(t);return o=>i.test(n(o))},match:(t,e,A)=>{let i=new RegExp(e,A),n=Za(t);return o=>{let a=n(o).match(i);return a?Kq(a):null}},matchAll:(t,e,A)=>{let i=new RegExp(e,`${A??""}g`),n=Za(t);return o=>Array.from(n(o).matchAll(i)).map(Kq)},eq:Wa(id),gt:Wa(Uq),gte:Wa(DpA),lt:Wa(Jq),lte:Wa(ypA),ne:Wa((t,e)=>!id(t,e)),add:Wa((t,e)=>t+e),subtract:Wa((t,e)=>t-e),multiply:Wa((t,e)=>t*e),divide:Wa((t,e)=>t/e),mod:Wa((t,e)=>t%e),pow:Wa((t,e)=>t**e),abs:Wa(Math.abs),round:Wa((t,e=0)=>+`${Math.round(+`${t}e${e}`)}e${-e}`),number:Wa(t=>{let e=Number(t);return Number.isNaN(Number(t))?null:e}),string:Wa(String)},Gq=t=>t!==null&&t!==0&&t!==!1,i3=(t,e)=>(dI(t)||DS(),t.length===0?null:t.reduce(e)),Kq=t=>{let[e,...A]=t,i=t.groups;return A.length?i?{value:e,groups:A,namedGroups:i}:{value:e,groups:A}:{value:e}},DS=()=>{yS("Array expected")},yS=t=>{throw new TypeError(t)},qw=[];function Za(t,e){qw.unshift(gA(gA(gA({},n3),qw[0]),e?.functions));try{let A=dI(t)?vpA(t,qw[0]):ppA(t)?yS(`Function notation ["object", {...}] expected but got ${JSON.stringify(t)}`):()=>t;return i=>{try{return A(i)}catch(n){throw n.jsonquery=[{data:i,query:t},...n.jsonquery??[]],n}}}finally{qw.shift()}}function vpA(t,e){let[A,...i]=t,n=e[A];return n||yS(`Unknown function '${A}'`),n(...i)}var Yq=[{pow:"^"},{multiply:"*",divide:"/",mod:"%"},{add:"+",subtract:"-"},{gt:">",gte:">=",lt:"<",lte:"<=",in:"in","not in":"not in"},{eq:"==",ne:"!="},{and:"and"},{or:"or"},{pipe:"|"}],bpA=["|","and","or"],Tq=["|","and","or","*","/","%","+","-"];function Hq(t,e){if(!dI(e))throw new Error("Invalid custom operators");return e.reduce(MpA,t)}function MpA(t,{name:e,op:A,at:i,after:n,before:o}){if(i)return t.map(s=>Object.values(s).includes(i)?be(gA({},s),{[e]:A}):s);let a=n??o,r=t.findIndex(s=>Object.values(s).includes(a));if(r!==-1)return t.toSpliced(r+(n?1:0),0,{[e]:A});throw new Error("Invalid custom operator")}var kpA=/^[a-zA-Z_$][a-zA-Z\d_$]*$/,SpA=/^[a-zA-Z_$][a-zA-Z\d_$]*/,xpA=/^"(?:[^"\\]|\\.)*"/,RpA=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,NpA=/^(0|[1-9][0-9]*)/,FpA=/^(true|false|null)/,_pA=/^[ \n\t\r]+/;function vS(t,e){let A=e?.operators??[],i=Hq(Yq,A),n=Object.assign({},...i),o=bpA.concat(A.filter(j=>j.vararg).map(j=>j.op)),a=Tq.concat(A.filter(j=>j.leftAssociative).map(j=>j.op)),r=(j=i.length-1)=>{let $=i[j];if(!$)return g();let O=t[U]==="(",DA=r(j-1);for(;;){if(D(),t[U]==="."&&"pipe"in $){let sA=l();DA=DA[0]==="pipe"?[...DA,sA]:["pipe",DA,sA];continue}let P=U,aA=s($);if(!aA)break;let iA=r(j-1),BA=DA[0],oA=aA===BA&&!O;if(oA&&!a.includes(n[aA])){U=P;break}DA=oA&&o.includes(n[aA])?[...DA,iA]:[aA,DA,iA]}return DA},s=j=>{let $=Object.keys(j).sort((O,DA)=>DA.length-O.length);for(let O of $){let DA=j[O];if(t.substring(U,U+DA.length)===DA)return U+=DA.length,D(),O}},g=()=>{if(D(),t[U]==="("){U++;let j=r();return F(")"),j}return l()},l=()=>{if(t[U]==="."){let j=[];for(;t[U]===".";)U++,j.push(B()??E()??f()??_("Property expected")),D();return["get",...j]}return C()},C=()=>{let j=U,$=E();if(D(),!$||t[U]!=="(")return U=j,I();U++,D();let O=t[U]!==")"?[r()]:[];for(;U{if(t[U]==="{"){U++,D();let j={},$=!0;for(;U{if(t[U]==="["){U++,D();let j=[],$=!0;for(;UM(xpA,JSON.parse),E=()=>M(SpA,j=>j),Q=()=>M(RpA,JSON.parse),f=()=>M(NpA,JSON.parse),b=()=>{let j=M(FpA,JSON.parse);if(j!==void 0)return j;_("Value expected")},S=()=>{D(),U{let O=t.substring(U).match(j);if(O)return U+=O[0].length,$(O[0])},D=()=>M(_pA,j=>j),F=j=>{t[U]!==j&&_(`Character '${j}' expected`),U++},_=(j,$=U)=>{throw new SyntaxError(`${j} (pos: ${$})`)},U=0,J=r();return S(),J}var LpA=40,GpA=" ",zq=(t,e)=>{let A=e?.indentation??GpA,i=e?.operators??[],n=Hq(Yq,i),o=Object.assign({},...n),a=Tq.concat(i.filter(d=>d.leftAssociative).map(d=>d.op)),r=(d,B,E=!1)=>dI(d)?s(d,B,E):JSON.stringify(d),s=(d,B,E)=>{let[Q,...f]=d;if(Q==="get"&&f.length>0)return l(f);if(Q==="object")return g(f[0],B);if(Q==="array"){let D=f.map(F=>r(F,B));return I(D,["[",", ","]"],[`[ +${B+A}`,`, +${B+A}`,` +${B}]`])}let b=o[Q];if(b){let D=E?"(":"",F=E?")":"",_=f.map((U,J)=>{let j=U?.[0],$=n.findIndex(P=>Q in P),O=n.findIndex(P=>j in P),DA=$0||Q===j&&!a.includes(b);return r(U,B+A,DA)});return I(_,[D,` ${b} `,F],[D,` +${B+A}${b} `,F])}let S=f.length===1?B:B+A,M=f.map(D=>r(D,S));return I(M,[`${Q}(`,", ",")"],f.length===1?[`${Q}(`,`, +${B}`,")"]:[`${Q}( +${S}`,`, +${S}`,` +${B})`])},g=(d,B)=>{let E=B+A,Q=Object.entries(d).map(([f,b])=>`${C(f)}: ${r(b,E)}`);return I(Q,["{ ",", "," }"],[`{ +${E}`,`, +${E}`,` +${B}}`])},l=d=>d.map(B=>`.${C(B)}`).join(""),C=d=>kpA.test(d)?d:JSON.stringify(d),I=(d,[B,E,Q],[f,b,S])=>B.length+d.reduce((M,D)=>M+D.length+E.length,0)-E.length+Q.length<=(e?.maxLineLength??LpA)?B+d.join(E)+Q:f+d.join(b)+S;return r(t,"")};function Oq(t,e,A){return Za(wpA(e)?vS(e,A):e,A)(t)}var Pq={prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256a208 208 0 1 1 -416 0 208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0 256 256 0 1 0 -512 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]};var KpA={prefix:"far",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zm230.7 89.9c7.8-10.7 22.8-13.1 33.5-5.3 10.7 7.8 13.1 22.8 5.3 33.5L211.4 366.1c-4.1 5.7-10.5 9.3-17.5 9.8-7 .5-13.9-2-18.8-6.9l-55.9-55.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36 36 105.6-145.2z"]},bS=KpA;var jq={prefix:"far",iconName:"lightbulb",icon:[384,512,[128161],"f0eb","M296.5 291.1C321 265.2 336 230.4 336 192 336 112.5 271.5 48 192 48S48 112.5 48 192c0 38.4 15 73.2 39.5 99.1 21.3 22.4 44.9 54 53.3 92.9l102.4 0c8.4-39 32-70.5 53.3-92.9zm34.8 33C307.7 349 288 379.4 288 413.7l0 18.3c0 44.2-35.8 80-80 80l-32 0c-44.2 0-80-35.8-80-80l0-18.3C96 379.4 76.3 349 52.7 324.1 20 289.7 0 243.2 0 192 0 86 86 0 192 0S384 86 384 192c0 51.2-20 97.7-52.7 132.1zM144 184c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6 39.4-88 88-88 13.3 0 24 10.7 24 24s-10.7 24-24 24c-22.1 0-40 17.9-40 40z"]};var MS={prefix:"far",iconName:"square",icon:[448,512,[9632,9723,9724,61590],"f0c8","M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"]};var qq={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M480.1 192l7.9 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2S477.9 .2 471 7L419.3 58.8C375 22.1 318 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1C79.2 135.5 159.3 64 256 64 300.4 64 341.2 79 373.7 104.3L327 151c-6.9 6.9-8.9 17.2-5.2 26.2S334.3 192 344 192l136.1 0zm29.4 100.5c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-44.4 0-85.2-15-117.7-40.3L185 361c6.9-6.9 8.9-17.2 5.2-26.2S177.7 320 168 320L24 320c-13.3 0-24 10.7-24 24L0 488c0 9.7 5.8 18.5 14.8 22.2S34.1 511.8 41 505l51.8-51.8C137 489.9 194 512 256 512 385 512 491.7 416.6 509.4 292.5z"]};var kS={prefix:"fas",iconName:"paste",icon:[512,512,["file-clipboard"],"f0ea","M64 0C28.7 0 0 28.7 0 64L0 384c0 35.3 28.7 64 64 64l112 0 0-224c0-61.9 50.1-112 112-112l64 0 0-48c0-35.3-28.7-64-64-64L64 0zM248 112l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24zm40 48c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-165.5c0-17-6.7-33.3-18.7-45.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7L288 160z"]};var UpA={prefix:"fas",iconName:"crop-simple",icon:[512,512,["crop-alt"],"f565","M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32l0 32-32 0C14.3 64 0 78.3 0 96s14.3 32 32 32l32 0 0 256c0 35.3 28.7 64 64 64l208 0 0-64-208 0 0-352zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-256c0-35.3-28.7-64-64-64l-208 0 0 64 208 0 0 352z"]},Vq=UpA;var a3={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M32 64C19.1 64 7.4 71.8 2.4 83.8S.2 109.5 9.4 118.6L192 301.3 192 416c0 8.5 3.4 16.6 9.4 22.6l64 64c9.2 9.2 22.9 11.9 34.9 6.9S320 492.9 320 480l0-178.7 182.6-182.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 64 480 64L32 64z"]};var JpA={prefix:"fas",iconName:"square-caret-down",icon:[448,512,["caret-square-down"],"f150","M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9S110.5 192 120 192l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z"]},Wq=JpA;var WE={prefix:"fas",iconName:"caret-right",icon:[256,512,[],"f0da","M249.3 235.8c10.2 12.6 9.5 31.1-2.2 42.8l-128 128c-9.2 9.2-22.9 11.9-34.9 6.9S64.5 396.9 64.5 384l0-256c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l128 128 2.2 2.4z"]};var YpA={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},r3=YpA;var Zq={prefix:"fas",iconName:"eye",icon:[576,512,[128065],"f06e","M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z"]},Xq={prefix:"fas",iconName:"caret-left",icon:[256,512,[],"f0d9","M7.7 235.8c-10.3 12.6-9.5 31.1 2.2 42.8l128 128c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-256c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-128 128-2.2 2.4z"]};var $q={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M201.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 173.3 54.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]};var AV={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8-79.3 23.6-137.1 97.1-137.1 184.1 0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256 512 397.4 397.4 512 256 512S0 397.4 0 256c0-116 77.1-213.9 182.9-245.4 16.9-5 34.8 4.6 39.8 21.5z"]};var TpA={prefix:"fas",iconName:"ellipsis-vertical",icon:[128,512,["ellipsis-v"],"f142","M64 144a56 56 0 1 1 0-112 56 56 0 1 1 0 112zm0 224c30.9 0 56 25.1 56 56s-25.1 56-56 56-56-25.1-56-56 25.1-56 56-56zm56-112c0 30.9-25.1 56-56 56s-56-25.1-56-56 25.1-56 56-56 56 25.1 56 56z"]},SS=TpA;var HpA={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L368 46.1 465.9 144 490.3 119.6c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L432 177.9 334.1 80 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"]},eV=HpA;var xS={prefix:"fas",iconName:"clone",icon:[512,512,[],"f24d","M288 448l-224 0 0-224 48 0 0-64-48 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-48-64 0 0 48zm-64-96l224 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L224 0c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64z"]};var zpA={prefix:"fas",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM342 145.7c-10.7-7.8-25.7-5.4-33.5 5.3L189.1 315.2 137 263.1c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c5 5 11.9 7.5 18.8 7s13.4-4.1 17.5-9.8L347.3 179.2c7.8-10.7 5.4-25.7-5.3-33.5z"]},RS=zpA;var OpA={prefix:"fas",iconName:"square-caret-up",icon:[448,512,["caret-square-up"],"f151","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9S337.5 320 328 320l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z"]},tV=OpA;var s3={prefix:"fas",iconName:"code",icon:[576,512,[],"f121","M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"]};var NS={prefix:"fas",iconName:"angle-right",icon:[256,512,[8250],"f105","M247.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L179.2 256 41.9 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"]};var PpA={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z"]},iV=PpA;var nV={prefix:"fas",iconName:"up-right-and-down-left-from-center",icon:[512,512,["expand-alt"],"f424","M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87-39-39c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2S34.1 320.2 41 327l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2S177.7 512 168 512z"]};var MC={prefix:"fas",iconName:"wrench",icon:[576,512,[128295],"f0ad","M509.4 98.6c7.6-7.6 20.3-5.7 24.1 4.3 6.8 17.7 10.5 37 10.5 57.1 0 88.4-71.6 160-160 160-17.5 0-34.4-2.8-50.2-8L146.9 498.9c-28.1 28.1-73.7 28.1-101.8 0s-28.1-73.7 0-101.8L232 210.2c-5.2-15.8-8-32.6-8-50.2 0-88.4 71.6-160 160-160 20.1 0 39.4 3.7 57.1 10.5 10 3.8 11.8 16.5 4.3 24.1l-88.7 88.7c-3 3-4.7 7.1-4.7 11.3l0 41.4c0 8.8 7.2 16 16 16l41.4 0c4.2 0 8.3-1.7 11.3-4.7l88.7-88.7z"]},Vw={prefix:"fas",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M136.7 5.9C141.1-7.2 153.3-16 167.1-16l113.9 0c13.8 0 26 8.8 30.4 21.9L320 32 416 32c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 8.7-26.1zM32 144l384 0 0 304c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-304zm88 64c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24zm104 0c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24zm104 0c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24z"]};var Ww={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"]};var oV={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]},aV=oV;var g3=oV;var nd={prefix:"fas",iconName:"pen",icon:[512,512,[128394],"f304","M352.9 21.2L308 66.1 445.9 204 490.8 159.1C504.4 145.6 512 127.2 512 108s-7.6-37.6-21.2-51.1L455.1 21.2C441.6 7.6 423.2 0 404 0s-37.6 7.6-51.1 21.2zM274.1 100L58.9 315.1c-10.7 10.7-18.5 24.1-22.6 38.7L.9 481.6c-2.3 8.3 0 17.3 6.2 23.4s15.1 8.5 23.4 6.2l127.8-35.5c14.6-4.1 27.9-11.8 38.7-22.6L412 237.9 274.1 100z"]};var rV={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]};var sV={prefix:"fas",iconName:"angle-down",icon:[384,512,[8964],"f107","M169.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 306.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]};var jpA={prefix:"fas",iconName:"arrow-down-short-wide",icon:[576,512,["sort-amount-desc","sort-amount-down-alt"],"f884","M246.6 374.6l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L96 370.7 96 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 306.7 41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM320 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]};var l3=jpA;var qpA={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 0c14.7 0 28.2 8.1 35.2 21l216 400c6.7 12.4 6.4 27.4-.8 39.5S486.1 480 472 480L40 480c-14.1 0-27.2-7.4-34.4-19.5s-7.5-27.1-.8-39.5l216-400c7-12.9 20.5-21 35.2-21zm0 352a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.5 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z"]},BI=qpA;var VpA={prefix:"fas",iconName:"scissors",icon:[512,512,[9984,9986,9988,"cut"],"f0c4","M192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6-28.3-28.3-74.1-28.3-102.4 0L256 192 216.5 152.5c4.9-12.6 7.5-26.2 7.5-40.5 0-61.9-50.1-112-112-112S0 50.1 0 112 50.1 224 112 224c14.3 0 27.9-2.7 40.5-7.5L192 256zm97.9 97.9L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0 7.1-7.1 7.1-18.5 0-25.6l-145.3-145.3-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},od=VpA;var c3={prefix:"fas",iconName:"arrow-right-arrow-left",icon:[512,512,[8644,"exchange"],"f0ec","M502.6 150.6l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 160 32 160c-17.7 0-32-14.3-32-32S14.3 96 32 96l370.7 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3zm-397.3 352l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 352 480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32l-370.7 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z"]};var FS={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M140.3 135.2c12.6-10.3 31.1-9.5 42.8 2.2l128 128c9.2 9.2 11.9 22.9 6.9 34.9S301.4 320 288.5 320l-256 0c-12.9 0-24.6-7.8-29.6-19.8S.7 274.5 9.9 265.4l128-128 2.4-2.2z"]};var gV={prefix:"fas",iconName:"down-left-and-up-right-to-center",icon:[512,512,["compress-alt"],"f422","M439.5 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2S450.2 240 440.5 240l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87zM72.5 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87-39-39c-6.9-6.9-8.9-17.2-5.2-26.2S62.8 272 72.5 272z"]};var ad={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z"]};var kC={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-200.6c0-17.4-7.1-34.1-19.7-46.2L370.6 17.8C358.7 6.4 342.8 0 326.3 0L192 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-64 0 0 16-192 0 0-256 16 0 0-64-16 0z"]};var WpA={prefix:"fas",iconName:"arrow-rotate-right",icon:[512,512,[8635,"arrow-right-rotate","arrow-rotate-forward","redo"],"f01e","M436.7 74.7L448 85.4 448 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l47.9 0-7.6-7.2c-.2-.2-.4-.4-.6-.6-75-75-196.5-75-271.5 0s-75 196.5 0 271.5 196.5 75 271.5 0c8.2-8.2 15.5-16.9 21.9-26.1 10.1-14.5 30.1-18 44.6-7.9s18 30.1 7.9 44.6c-8.5 12.2-18.2 23.8-29.1 34.7-100 100-262.1 100-362 0S-25 175 75 75c99.9-99.9 261.7-100 361.7-.3z"]};var Zw=WpA;var v0={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M140.3 376.8c12.6 10.2 31.1 9.5 42.8-2.2l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301.4 192 288.5 192l-256 0c-12.9 0-24.6 7.8-29.6 19.8S.7 237.5 9.9 246.6l128 128 2.4 2.2z"]};var ZpA={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M256 64c-56.8 0-107.9 24.7-143.1 64l47.1 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 192c-17.7 0-32-14.3-32-32L0 32C0 14.3 14.3 0 32 0S64 14.3 64 32l0 54.7C110.9 33.6 179.5 0 256 0 397.4 0 512 114.6 512 256S397.4 512 256 512c-87 0-163.9-43.4-210.1-109.7-10.1-14.5-6.6-34.4 7.9-44.6s34.4-6.6 44.6 7.9c34.8 49.8 92.4 82.3 157.6 82.3 106 0 192-86 192-192S362 64 256 64z"]};var Xw=ZpA;var _S={prefix:"fas",iconName:"square",icon:[448,512,[9632,9723,9724,61590],"f0c8","M64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32z"]};var LS={prefix:"fas",iconName:"arrow-down",icon:[384,512,[8595],"f063","M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7-105.4-105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]};var AnA=su(CV(),1);var IV=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function XpA(t,e){return!!(t===e||IV(t)&&IV(e))}function $pA(t,e){if(t.length!==e.length)return!1;for(var A=0;A{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},Qg=class t{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,A,i){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=A,i?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,A){return t.literals[e]=A,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(A=>A.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){let A=new Error(e+" at character "+this.index);throw A.index=this.index,A.description=e,A}runHook(e,A){if(t.hooks[e]){let i={context:this,node:A};return t.hooks.run(e,i),i.node}return A}searchHook(e){if(t.hooks[e]){let A={context:this};return t.hooks[e].find(function(i){return i.call(A.context,A),A.node}),A.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),A=e.length===1?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",A)}gobbleExpressions(e){let A=[],i,n;for(;this.index0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.lengtho.right_a&&C.right_a?i>C.prec:i<=C.prec;for(;n.length>2&&l(n[n.length-2]);)r=n.pop(),A=n.pop().value,a=n.pop(),e={type:t.BINARY_EXP,operator:A,left:a,right:r},n.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+g),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:t.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,A,i,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"),n)return this.runHook("after-token",n);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)n=this.gobbleArray();else{for(A=this.expr.substr(this.index,t.max_unop_len),i=A.length;i>0;){if(t.unary_ops.hasOwnProperty(A)&&(!t.isIdentifierStart(this.code)||this.index+A.length=A.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}else if(o===t.COMMA_CODE){if(this.index++,n++,n!==A.length){if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let a=A.length;a":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Qg.max_unop_len=Qg.getMaxKeyLen(Qg.unary_ops);Qg.max_binop_len=Qg.getMaxKeyLen(Qg.binary_ops);var _C=t=>new Qg(t).parse(),vyA=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(Qg).filter(t=>!vyA.includes(t)&&_C[t]===void 0).forEach(t=>{_C[t]=Qg[t]});_C.Jsep=Qg;var byA="ConditionalExpression",MyA={name:"ternary",init(t){t.hooks.add("after-expression",function(A){if(A.node&&this.code===t.QUMARK_CODE){this.index++;let i=A.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===t.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),A.node={type:byA,test:i,consequent:n,alternate:o},i.operator&&t.binary_ops[i.operator]<=.9){let a=i;for(;a.right.operator&&t.binary_ops[a.right.operator]<=.9;)a=a.right;A.node.test=a.right,a.right=A.node,A.node=i}}else this.throwError("Expected :")}})}};_C.plugins.register(MyA);var PZ=47,kyA=92,SyA={name:"regex",init(t){t.hooks.add("gobble-token",function(A){if(this.code===PZ){let i=++this.index,n=!1;for(;this.index=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57)a+=this.char;else break}let r;try{r=new RegExp(o,a)}catch(s){this.throwError(s.message)}return A.node={type:t.LITERAL,value:r,raw:this.expr.slice(i-1,this.index)},A.node=this.gobbleTokenProperty(A.node),A.node}this.code===t.OBRACK_CODE?n=!0:n&&this.code===t.CBRACK_CODE&&(n=!1),this.index+=this.code===kyA?2:1}this.throwError("Unclosed Regex")}})}},pR=43,xyA=45,cQ={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[pR,xyA],assignmentPrecedence:.9,init(t){let e=[t.IDENTIFIER,t.MEMBER_EXP];cQ.assignmentOperators.forEach(i=>t.addBinaryOp(i,cQ.assignmentPrecedence,!0)),t.hooks.add("gobble-token",function(n){let o=this.code;cQ.updateOperators.some(a=>a===o&&a===this.expr.charCodeAt(this.index+1))&&(this.index+=2,n.node={type:"UpdateExpression",operator:o===pR?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!n.node.argument||!e.includes(n.node.argument.type))&&this.throwError(`Unexpected ${n.node.operator}`))}),t.hooks.add("after-token",function(n){if(n.node){let o=this.code;cQ.updateOperators.some(a=>a===o&&a===this.expr.charCodeAt(this.index+1))&&(e.includes(n.node.type)||this.throwError(`Unexpected ${n.node.operator}`),this.index+=2,n.node={type:"UpdateExpression",operator:o===pR?"++":"--",argument:n.node,prefix:!1})}}),t.hooks.add("after-expression",function(n){n.node&&A(n.node)});function A(i){cQ.assignmentOperators.has(i.operator)?(i.type="AssignmentExpression",A(i.left),A(i.right)):i.operator||Object.values(i).forEach(n=>{n&&typeof n=="object"&&A(n)})}}};_C.plugins.register(SyA,cQ);_C.addUnaryOp("typeof");_C.addLiteral("null",null);_C.addLiteral("undefined",void 0);var RyA=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),No={evalAst(t,e){switch(t.type){case"BinaryExpression":case"LogicalExpression":return No.evalBinaryExpression(t,e);case"Compound":return No.evalCompound(t,e);case"ConditionalExpression":return No.evalConditionalExpression(t,e);case"Identifier":return No.evalIdentifier(t,e);case"Literal":return No.evalLiteral(t,e);case"MemberExpression":return No.evalMemberExpression(t,e);case"UnaryExpression":return No.evalUnaryExpression(t,e);case"ArrayExpression":return No.evalArrayExpression(t,e);case"CallExpression":return No.evalCallExpression(t,e);case"AssignmentExpression":return No.evalAssignmentExpression(t,e);default:throw SyntaxError("Unexpected expression",t)}},evalBinaryExpression(t,e){return{"||":(i,n)=>i||n(),"&&":(i,n)=>i&&n(),"|":(i,n)=>i|n(),"^":(i,n)=>i^n(),"&":(i,n)=>i&n(),"==":(i,n)=>i==n(),"!=":(i,n)=>i!=n(),"===":(i,n)=>i===n(),"!==":(i,n)=>i!==n(),"<":(i,n)=>i":(i,n)=>i>n(),"<=":(i,n)=>i<=n(),">=":(i,n)=>i>=n(),"<<":(i,n)=>i<>":(i,n)=>i>>n(),">>>":(i,n)=>i>>>n(),"+":(i,n)=>i+n(),"-":(i,n)=>i-n(),"*":(i,n)=>i*n(),"/":(i,n)=>i/n(),"%":(i,n)=>i%n()}[t.operator](No.evalAst(t.left,e),()=>No.evalAst(t.right,e))},evalCompound(t,e){let A;for(let i=0;i-No.evalAst(i,e),"!":i=>!No.evalAst(i,e),"~":i=>~No.evalAst(i,e),"+":i=>+No.evalAst(i,e),typeof:i=>typeof No.evalAst(i,e)}[t.operator](t.argument)},evalArrayExpression(t,e){return t.elements.map(A=>No.evalAst(A,e))},evalCallExpression(t,e){let A=t.arguments.map(n=>No.evalAst(n,e));return No.evalAst(t.callee,e)(...A)},evalAssignmentExpression(t,e){if(t.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");let A=t.left.name,i=No.evalAst(t.right,e);return e[A]=i,e[A]}},yR=class{constructor(e){this.code=e,this.ast=_C(this.code)}runInNewContext(e){let A=Object.assign(Object.create(null),e);return No.evalAst(this.ast,A)}};function wI(t,e){return t=t.slice(),t.push(e),t}function vR(t,e){return e=e.slice(),e.unshift(t),e}var bR=class extends Error{constructor(e){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=e,this.name="NewError"}};function eo(t,e,A,i,n){if(!(this instanceof eo))try{return new eo(t,e,A,i,n)}catch(a){if(!a.avoidNew)throw a;return a.value}typeof t=="string"&&(n=i,i=A,A=e,e=t,t=null);let o=t&&typeof t=="object";if(t=t||{},this.json=t.json||A,this.path=t.path||e,this.resultType=t.resultType||"value",this.flatten=t.flatten||!1,this.wrap=Object.hasOwn(t,"wrap")?t.wrap:!0,this.sandbox=t.sandbox||{},this.eval=t.eval===void 0?"safe":t.eval,this.ignoreEvalErrors=typeof t.ignoreEvalErrors>"u"?!1:t.ignoreEvalErrors,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||i||null,this.otherTypeCallback=t.otherTypeCallback||n||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},t.autostart!==!1){let a={path:o?t.path:e};o?"json"in t&&(a.json=t.json):a.json=A;let r=this.evaluate(a);if(!r||typeof r!="object")throw new bR(r);return r}}eo.prototype.evaluate=function(t,e,A,i){let n=this.parent,o=this.parentProperty,{flatten:a,wrap:r}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,A=A||this.callback,this.currOtherTypeCallback=i||this.otherTypeCallback,e=e||this.json,t=t||this.path,t&&typeof t=="object"&&!Array.isArray(t)){if(!t.path&&t.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(t,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:e}=t),a=Object.hasOwn(t,"flatten")?t.flatten:a,this.currResultType=Object.hasOwn(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=Object.hasOwn(t,"sandbox")?t.sandbox:this.currSandbox,r=Object.hasOwn(t,"wrap")?t.wrap:r,this.currEval=Object.hasOwn(t,"eval")?t.eval:this.currEval,A=Object.hasOwn(t,"callback")?t.callback:A,this.currOtherTypeCallback=Object.hasOwn(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,n=Object.hasOwn(t,"parent")?t.parent:n,o=Object.hasOwn(t,"parentProperty")?t.parentProperty:o,t=t.path}if(n=n||null,o=o||null,Array.isArray(t)&&(t=eo.toPathString(t)),!t&&t!==""||!e)return;let s=eo.toPathArray(t);s[0]==="$"&&s.length>1&&s.shift(),this._hasParentSelector=null;let g=this._trace(s,e,["$"],n,o,A).filter(function(l){return l&&!l.isParentSelector});return g.length?!r&&g.length===1&&!g[0].hasArrExpr?this._getPreferredOutput(g[0]):g.reduce((l,C)=>{let I=this._getPreferredOutput(C);return a&&Array.isArray(I)?l=l.concat(I):l.push(I),l},[]):r?[]:void 0};eo.prototype._getPreferredOutput=function(t){let e=this.currResultType;switch(e){case"all":{let A=Array.isArray(t.path)?t.path:eo.toPathArray(t.path);return t.pointer=eo.toPointer(A),t.path=typeof t.path=="string"?t.path:eo.toPathString(t.path),t}case"value":case"parent":case"parentProperty":return t[e];case"path":return eo.toPathString(t[e]);case"pointer":return eo.toPointer(t.path);default:throw new TypeError("Unknown result type")}};eo.prototype._handleCallback=function(t,e,A){if(e){let i=this._getPreferredOutput(t);t.path=typeof t.path=="string"?t.path:eo.toPathString(t.path),e(i,A,t)}};eo.prototype._trace=function(t,e,A,i,n,o,a,r){let s;if(!t.length)return s={path:A,value:e,parent:i,parentProperty:n,hasArrExpr:a},this._handleCallback(s,o,"value"),s;let g=t[0],l=t.slice(1),C=[];function I(d){Array.isArray(d)?d.forEach(B=>{C.push(B)}):C.push(d)}if((typeof g!="string"||r)&&e&&Object.hasOwn(e,g))I(this._trace(l,e[g],wI(A,g),e,g,o,a));else if(g==="*")this._walk(e,d=>{I(this._trace(l,e[d],wI(A,d),e,d,o,!0,!0))});else if(g==="..")I(this._trace(l,e,A,i,n,o,a)),this._walk(e,d=>{typeof e[d]=="object"&&I(this._trace(t.slice(),e[d],wI(A,d),e,d,o,!0))});else{if(g==="^")return this._hasParentSelector=!0,{path:A.slice(0,-1),expr:l,isParentSelector:!0};if(g==="~")return s={path:wI(A,g),value:n,parent:i,parentProperty:null},this._handleCallback(s,o,"property"),s;if(g==="$")I(this._trace(l,e,A,null,null,o,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(g))I(this._slice(g,l,e,A,i,n,o));else if(g.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");let d=g.replace(/^\?\((.*?)\)$/u,"$1"),B=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(d);B?this._walk(e,E=>{let Q=[B[2]],f=B[1]?e[E][B[1]]:e[E];this._trace(Q,f,A,i,n,o,!0).length>0&&I(this._trace(l,e[E],wI(A,E),e,E,o,!0))}):this._walk(e,E=>{this._eval(d,e[E],E,A,i,n)&&I(this._trace(l,e[E],wI(A,E),e,E,o,!0))})}else if(g[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");I(this._trace(vR(this._eval(g,e,A.at(-1),A.slice(0,-1),i,n),l),e,A,i,n,o,a))}else if(g[0]==="@"){let d=!1,B=g.slice(1,-2);switch(B){case"scalar":(!e||!["object","function"].includes(typeof e))&&(d=!0);break;case"boolean":case"string":case"undefined":case"function":typeof e===B&&(d=!0);break;case"integer":Number.isFinite(e)&&!(e%1)&&(d=!0);break;case"number":Number.isFinite(e)&&(d=!0);break;case"nonFinite":typeof e=="number"&&!Number.isFinite(e)&&(d=!0);break;case"object":e&&typeof e===B&&(d=!0);break;case"array":Array.isArray(e)&&(d=!0);break;case"other":d=this.currOtherTypeCallback(e,A,i,n);break;case"null":e===null&&(d=!0);break;default:throw new TypeError("Unknown value type "+B)}if(d)return s={path:A,value:e,parent:i,parentProperty:n},this._handleCallback(s,o,"value"),s}else if(g[0]==="`"&&e&&Object.hasOwn(e,g.slice(1))){let d=g.slice(1);I(this._trace(l,e[d],wI(A,d),e,d,o,a,!0))}else if(g.includes(",")){let d=g.split(",");for(let B of d)I(this._trace(vR(B,l),e,A,i,n,o,!0))}else!r&&e&&Object.hasOwn(e,g)&&I(this._trace(l,e[g],wI(A,g),e,g,o,a,!0))}if(this._hasParentSelector)for(let d=0;d{e(A)})};eo.prototype._slice=function(t,e,A,i,n,o,a){if(!Array.isArray(A))return;let r=A.length,s=t.split(":"),g=s[2]&&Number.parseInt(s[2])||1,l=s[0]&&Number.parseInt(s[0])||0,C=s[1]&&Number.parseInt(s[1])||r;l=l<0?Math.max(0,l+r):Math.min(r,l),C=C<0?Math.max(0,C+r):Math.min(r,C);let I=[];for(let d=l;d{I.push(E)});return I};eo.prototype._eval=function(t,e,A,i,n,o){this.currSandbox._$_parentProperty=o,this.currSandbox._$_parent=n,this.currSandbox._$_property=A,this.currSandbox._$_root=this.json,this.currSandbox._$_v=e;let a=t.includes("@path");a&&(this.currSandbox._$_path=eo.toPathString(i.concat([A])));let r=this.currEval+"Script:"+t;if(!eo.cache[r]){let s=t.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(a&&(s=s.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)eo.cache[r]=new this.safeVm.Script(s);else if(this.currEval==="native")eo.cache[r]=new this.vm.Script(s);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){let g=this.currEval;eo.cache[r]=new g(s)}else if(typeof this.currEval=="function")eo.cache[r]={runInNewContext:g=>this.currEval(s,g)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return eo.cache[r].runInNewContext(this.currSandbox)}catch(s){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+s.message+": "+t)}};eo.cache={};eo.toPathString=function(t){let e=t,A=e.length,i="$";for(let n=1;ntypeof e[g]=="function");let o=i.map(g=>e[g]);A=n.reduce((g,l)=>{let C=e[l].toString();return/function/u.test(C)||(C="function "+C),"var "+l+"="+C+";"+g},"")+A,!/(['"])use strict\1/u.test(A)&&!i.includes("arguments")&&(A="var arguments = undefined;"+A),A=A.replace(/;\s*$/u,"");let r=A.lastIndexOf(";"),s=r!==-1?A.slice(0,r+1)+" return "+A.slice(r+1):" return "+A;return new Function(...i,s)(...o)}};eo.prototype.vm={Script:MR};var SR=[],WZ=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,A=0;e>1;if(t=WZ[i])e=i+1;else return!0;if(e==A)return!1}}function jZ(t){return t>=127462&&t<=127487}var qZ=8205;function ZZ(t,e,A=!0,i=!0){return(A?XZ:_yA)(t,e,i)}function XZ(t,e,A){if(e==t.length)return e;e&&$Z(t.charCodeAt(e))&&AX(t.charCodeAt(e-1))&&e--;let i=kR(t,e);for(e+=VZ(i);e=0&&jZ(kR(t,a));)o++,a-=2;if(o%2==0)break;e+=2}else break}return e}function _yA(t,e,A){for(;e>0;){let i=XZ(t,e-2,A);if(i=56320&&t<57344}function AX(t){return t>=55296&&t<56320}function VZ(t){return t<65536?1:2}var bn=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,A,i){[e,A]=EQ(this,e,A);let n=[];return this.decompose(0,e,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(A,this.length,n,1),IQ.from(n,this.length-(A-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,A=this.length){[e,A]=EQ(this,e,A);let i=[];return this.decompose(e,A,i,0),IQ.from(i,A-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let A=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new Qd(this),o=new Qd(e);for(let a=A,r=A;;){if(n.next(a),o.next(a),a=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(r+=n.value.length,n.done||r>=i)return!0}}iter(e=1){return new Qd(this,e)}iterRange(e,A=this.length){return new Y5(this,e,A)}iterLines(e,A){let i;if(e==null)i=this.iter();else{A==null&&(A=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,A==this.lines+1?this.length:A<=1?0:this.line(A-1).to))}return new T5(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new Hg(e):IQ.from(Hg.split(e,[]))}},Hg=class t extends bn{constructor(e,A=LyA(e)){super(),this.text=e,this.length=A}get lines(){return this.text.length}get children(){return null}lineInner(e,A,i,n){for(let o=0;;o++){let a=this.text[o],r=n+a.length;if((A?i:r)>=e)return new NR(n,r,i,a);n=r+1,i++}}decompose(e,A,i,n){let o=e<=0&&A>=this.length?this:new t(eX(this.text,e,A),Math.min(A,this.length)-Math.max(0,e));if(n&1){let a=i.pop(),r=J5(o.text,a.text.slice(),0,o.length);if(r.length<=32)i.push(new t(r,a.length+o.length));else{let s=r.length>>1;i.push(new t(r.slice(0,s)),new t(r.slice(s)))}}else i.push(o)}replace(e,A,i){if(!(i instanceof t))return super.replace(e,A,i);[e,A]=EQ(this,e,A);let n=J5(this.text,J5(i.text,eX(this.text,0,e)),A),o=this.length+i.length-(A-e);return n.length<=32?new t(n,o):IQ.from(t.split(n,[]),o)}sliceString(e,A=this.length,i=` +`){[e,A]=EQ(this,e,A);let n="";for(let o=0,a=0;o<=A&&ae&&a&&(n+=i),eo&&(n+=r.slice(Math.max(0,e-o),A-o)),o=s+1}return n}flatten(e){for(let A of this.text)e.push(A)}scanIdentical(){return 0}static split(e,A){let i=[],n=-1;for(let o of e)i.push(o),n+=o.length+1,i.length==32&&(A.push(new t(i,n)),i=[],n=-1);return n>-1&&A.push(new t(i,n)),A}},IQ=class t extends bn{constructor(e,A){super(),this.children=e,this.length=A,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,A,i,n){for(let o=0;;o++){let a=this.children[o],r=n+a.length,s=i+a.lines-1;if((A?s:r)>=e)return a.lineInner(e,A,i,n);n=r+1,i=s+1}}decompose(e,A,i,n){for(let o=0,a=0;a<=A&&o=a){let g=n&((a<=e?1:0)|(s>=A?2:0));a>=e&&s<=A&&!g?i.push(r):r.decompose(e-a,A-a,i,g)}a=s+1}}replace(e,A,i){if([e,A]=EQ(this,e,A),i.lines=o&&A<=r){let s=a.replace(e-o,A-o,i),g=this.lines-a.lines+s.lines;if(s.lines>4&&s.lines>g>>6){let l=this.children.slice();return l[n]=s,new t(l,this.length-(A-e)+i.length)}return super.replace(o,r,s)}o=r+1}return super.replace(e,A,i)}sliceString(e,A=this.length,i=` +`){[e,A]=EQ(this,e,A);let n="";for(let o=0,a=0;oe&&o&&(n+=i),ea&&(n+=r.sliceString(e-a,A-a,i)),a=s+1}return n}flatten(e){for(let A of this.children)A.flatten(e)}scanIdentical(e,A){if(!(e instanceof t))return 0;let i=0,[n,o,a,r]=A>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=A,o+=A){if(n==a||o==r)return i;let s=this.children[n],g=e.children[o];if(s!=g)return i+s.scanIdentical(g,A);i+=s.length+1}}static from(e,A=e.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let B of e)B.flatten(d);return new Hg(d,A)}let n=Math.max(32,i>>5),o=n<<1,a=n>>1,r=[],s=0,g=-1,l=[];function C(d){let B;if(d.lines>o&&d instanceof t)for(let E of d.children)C(E);else d.lines>a&&(s>a||!s)?(I(),r.push(d)):d instanceof Hg&&s&&(B=l[l.length-1])instanceof Hg&&d.lines+B.lines<=32?(s+=d.lines,g+=d.length+1,l[l.length-1]=new Hg(B.text.concat(d.text),B.length+1+d.length)):(s+d.lines>n&&I(),s+=d.lines,g+=d.length+1,l.push(d))}function I(){s!=0&&(r.push(l.length==1?l[0]:t.from(l,g)),g=-1,s=l.length=0)}for(let d of e)C(d);return I(),r.length==1?r[0]:new t(r,A)}};bn.empty=new Hg([""],0);function LyA(t){let e=-1;for(let A of t)e+=A.length+1;return e}function J5(t,e,A=0,i=1e9){for(let n=0,o=0,a=!0;o=A&&(s>i&&(r=r.slice(0,i-n)),n0?1:(e instanceof Hg?e.text.length:e.children.length)<<1]}nextInner(e,A){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],o=this.offsets[i],a=o>>1,r=n instanceof Hg?n.text.length:n.children.length;if(a==(A>0?r:0)){if(i==0)return this.done=!0,this.value="",this;A>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((o&1)==(A>0?0:1)){if(this.offsets[i]+=A,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(n instanceof Hg){let s=n.text[a+(A<0?-1:0)];if(this.offsets[i]+=A,s.length>Math.max(0,e))return this.value=e==0?s:A>0?s.slice(e):s.slice(0,s.length-e),this;e-=s.length}else{let s=n.children[a+(A<0?-1:0)];e>s.length?(e-=s.length,this.offsets[i]+=A):(A<0&&this.offsets[i]--,this.nodes.push(s),this.offsets.push(A>0?1:(s instanceof Hg?s.text.length:s.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Y5=class{constructor(e,A,i){this.value="",this.done=!1,this.cursor=new Qd(e,A>i?-1:1),this.pos=A>i?e.length:0,this.from=Math.min(A,i),this.to=Math.max(A,i)}nextInner(e,A){if(A<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,A<0?this.pos-this.to:this.from-this.pos);let i=A<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*A,this.value=n.length<=i?n:A<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},T5=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:A,lineBreak:i,value:n}=this.inner.next(e);return A&&this.afterBreak?(this.value="",this.afterBreak=!1):A?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(bn.prototype[Symbol.iterator]=function(){return this.iter()},Qd.prototype[Symbol.iterator]=Y5.prototype[Symbol.iterator]=T5.prototype[Symbol.iterator]=function(){return this});var NR=class{constructor(e,A,i,n){this.from=e,this.to=A,this.number=i,this.text=n}get length(){return this.to-this.from}};function EQ(t,e,A){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,A))]}function Ta(t,e,A=!0,i=!0){return ZZ(t,e,A,i)}function GyA(t){return t>=56320&&t<57344}function KyA(t){return t>=55296&&t<56320}function Zr(t,e){let A=t.charCodeAt(e);if(!KyA(A)||e+1==t.length)return A;let i=t.charCodeAt(e+1);return GyA(i)?(A-55296<<10)+(i-56320)+65536:A}function Y3(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function zg(t){return t<65536?1:2}var FR=/\r\n?|\n/,qr=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(qr||(qr={})),yI=class t{constructor(e){this.sections=e}get length(){let e=0;for(let A=0;Ae)return o+(e-n);o+=r}else{if(i!=qr.Simple&&g>=e&&(i==qr.TrackDel&&ne||i==qr.TrackBefore&&ne))return null;if(g>e||g==e&&A<0&&!r)return e==n||A<0?o:o+s;o+=s}n=g}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return o}touchesRange(e,A=e){for(let i=0,n=0;i=0&&n<=A&&r>=e)return nA?"cover":!0;n=r}return!1}toString(){let e="";for(let A=0;A=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(A=>typeof A!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},Vr=class t extends yI{constructor(e,A){super(e),this.inserted=A}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return _R(this,(A,i,n,o,a)=>e=e.replace(n,n+(i-A),a),!1),e}mapDesc(e,A=!1){return LR(this,e,A,!0)}invert(e){let A=this.sections.slice(),i=[];for(let n=0,o=0;n=0){A[n]=r,A[n+1]=a;let s=n>>1;for(;i.length0&&DI(i,A,o.text),o.forward(l),r+=l}let g=e[a++];for(;r>1].toJSON()))}return e}static of(e,A,i){let n=[],o=[],a=0,r=null;function s(l=!1){if(!l&&!n.length)return;aI||C<0||I>A)throw new RangeError(`Invalid change range ${C} to ${I} (in doc of length ${A})`);let B=d?typeof d=="string"?bn.of(d.split(i||FR)):d:bn.empty,E=B.length;if(C==I&&E==0)return;Ca&&ps(n,C-a,-1),ps(n,I-C,E),DI(o,n,B),a=I}}return g(e),s(!r),r}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let A=[],i=[];for(let n=0;nr&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(o.length==1)A.push(o[0],0);else{for(;i.length=0&&A<=0&&A==t[n+1]?t[n]+=e:n>=0&&e==0&&t[n]==0?t[n+1]+=A:i?(t[n]+=e,t[n+1]+=A):t.push(e,A)}function DI(t,e,A){if(A.length==0)return;let i=e.length-2>>1;if(i>1])),!(A||a==t.sections.length||t.sections[a+1]<0);)r=t.sections[a++],s=t.sections[a++];e(n,g,o,l,C),n=g,o=l}}}function LR(t,e,A,i=!1){let n=[],o=i?[]:null,a=new hd(t),r=new hd(e);for(let s=-1;;){if(a.done&&r.len||r.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&r.ins==-1){let g=Math.min(a.len,r.len);ps(n,g,-1),a.forward(g),r.forward(g)}else if(r.ins>=0&&(a.ins<0||s==a.i||a.off==0&&(r.len=0&&s=0){let g=0,l=a.len;for(;l;)if(r.ins==-1){let C=Math.min(l,r.len);g+=C,l-=C,r.forward(C)}else if(r.ins==0&&r.lens||a.ins>=0&&a.len>s)&&(r||i.length>g),o.forward2(s),a.forward(s)}}}}var hd=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return A>=e.length?bn.empty:e[A]}textBit(e){let{inserted:A}=this.set,i=this.i-2>>1;return i>=A.length&&!e?bn.empty:A[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},CQ=class t{constructor(e,A,i){this.from=e,this.to=A,this.flags=i}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 bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,A=-1){let i,n;return this.empty?i=n=e.mapPos(this.from,A):(i=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new t(i,n,this.flags)}extend(e,A=e){if(e<=this.anchor&&A>=this.anchor)return de.range(e,A);let i=Math.abs(e-this.anchor)>Math.abs(A-this.anchor)?e:A;return de.range(this.anchor,i)}eq(e,A=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!A||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return de.range(e.anchor,e.head)}static create(e,A,i){return new t(e,A,i)}},de=class t{constructor(e,A){this.ranges=e,this.mainIndex=A}map(e,A=-1){return e.empty?this:t.create(this.ranges.map(i=>i.map(e,A)),this.mainIndex)}eq(e,A=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(A=>CQ.fromJSON(A)),e.main)}static single(e,A=e){return new t([t.range(e,A)],0)}static create(e,A=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;ne?8:0)|o)}static normalized(e,A=0){let i=e[A];e.sort((n,o)=>n.from-o.from),A=e.indexOf(i);for(let n=1;no.head?t.range(s,r):t.range(r,s))}}return new t(e,A)}};function gX(t,e){for(let A of t.ranges)if(A.to>e)throw new RangeError("Selection points outside of document")}var OR=0,We=class t{constructor(e,A,i,n,o){this.combine=e,this.compareInput=A,this.compare=i,this.isStatic=n,this.id=OR++,this.default=e([]),this.extensions=typeof o=="function"?o(this):o}get reader(){return this}static define(e={}){return new t(e.combine||(A=>A),e.compareInput||((A,i)=>A===i),e.compare||(e.combine?(A,i)=>A===i:PR),!!e.static,e.enables)}of(e){return new dQ([],this,0,e)}compute(e,A){if(this.isStatic)throw new Error("Can't compute a static facet");return new dQ(e,this,1,A)}computeN(e,A){if(this.isStatic)throw new Error("Can't compute a static facet");return new dQ(e,this,2,A)}from(e,A){return A||(A=i=>i),this.compute([e],i=>A(i.field(e)))}};function PR(t,e){return t==e||t.length==e.length&&t.every((A,i)=>A===e[i])}var dQ=class{constructor(e,A,i,n){this.dependencies=e,this.facet=A,this.type=i,this.value=n,this.id=OR++}dynamicSlot(e){var A;let i=this.value,n=this.facet.compareInput,o=this.id,a=e[o]>>1,r=this.type==2,s=!1,g=!1,l=[];for(let C of this.dependencies)C=="doc"?s=!0:C=="selection"?g=!0:(((A=e[C.id])!==null&&A!==void 0?A:1)&1)==0&&l.push(e[C.id]);return{create(C){return C.values[a]=i(C),1},update(C,I){if(s&&I.docChanged||g&&(I.docChanged||I.selection)||GR(C,l)){let d=i(C);if(r?!tX(d,C.values[a],n):!n(d,C.values[a]))return C.values[a]=d,1}return 0},reconfigure:(C,I)=>{let d,B=I.config.address[o];if(B!=null){let E=O5(I,B);if(this.dependencies.every(Q=>Q instanceof We?I.facet(Q)===C.facet(Q):Q instanceof wa?I.field(Q,!1)==C.field(Q,!1):!0)||(r?tX(d=i(C),E,n):n(d=i(C),E)))return C.values[a]=E,0}else d=i(C);return C.values[a]=d,1}}}};function tX(t,e,A){if(t.length!=e.length)return!1;for(let i=0;it[s.id]),n=A.map(s=>s.type),o=i.filter(s=>!(s&1)),a=t[e.id]>>1;function r(s){let g=[];for(let l=0;li===n),e);return e.provide&&(A.provides=e.provide(A)),A}create(e){let A=e.facet(G5).find(i=>i.field==this);return(A?.create||this.createF)(e)}slot(e){let A=e[this.id]>>1;return{create:i=>(i.values[A]=this.create(i),1),update:(i,n)=>{let o=i.values[A],a=this.updateF(o,n);return this.compareF(o,a)?0:(i.values[A]=a,1)},reconfigure:(i,n)=>{let o=i.facet(G5),a=n.facet(G5),r;return(r=o.find(s=>s.field==this))&&r!=a.find(s=>s.field==this)?(i.values[A]=r.create(i),1):n.config.address[this.id]!=null?(i.values[A]=n.field(this),0):(i.values[A]=this.create(i),1)}}}init(e){return[this,G5.of({field:this,create:e})]}get extension(){return this}},Bd={lowest:4,low:3,default:2,high:1,highest:0};function L3(t){return e=>new H5(e,t)}var vc={highest:L3(Bd.highest),high:L3(Bd.high),default:L3(Bd.default),low:L3(Bd.low),lowest:L3(Bd.lowest)},H5=class{constructor(e,A){this.inner=e,this.prec=A}},R0=class t{of(e){return new K3(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},K3=class{constructor(e,A){this.compartment=e,this.inner=A}},z5=class t{constructor(e,A,i,n,o,a){for(this.base=e,this.compartments=A,this.dynamicSlots=i,this.address=n,this.staticValues=o,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,A,i){let n=[],o=Object.create(null),a=new Map;for(let I of JyA(e,A,a))I instanceof wa?n.push(I):(o[I.facet.id]||(o[I.facet.id]=[])).push(I);let r=Object.create(null),s=[],g=[];for(let I of n)r[I.id]=g.length<<1,g.push(d=>I.slot(d));let l=i?.config.facets;for(let I in o){let d=o[I],B=d[0].facet,E=l&&l[I]||[];if(d.every(Q=>Q.type==0))if(r[B.id]=s.length<<1|1,PR(E,d))s.push(i.facet(B));else{let Q=B.combine(d.map(f=>f.value));s.push(i&&B.compare(Q,i.facet(B))?i.facet(B):Q)}else{for(let Q of d)Q.type==0?(r[Q.id]=s.length<<1|1,s.push(Q.value)):(r[Q.id]=g.length<<1,g.push(f=>Q.dynamicSlot(f)));r[B.id]=g.length<<1,g.push(Q=>UyA(Q,B,d))}}let C=g.map(I=>I(r));return new t(e,a,C,r,s,o)}};function JyA(t,e,A){let i=[[],[],[],[],[]],n=new Map;function o(a,r){let s=n.get(a);if(s!=null){if(s<=r)return;let g=i[s].indexOf(a);g>-1&&i[s].splice(g,1),a instanceof K3&&A.delete(a.compartment)}if(n.set(a,r),Array.isArray(a))for(let g of a)o(g,r);else if(a instanceof K3){if(A.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let g=e.get(a.compartment)||a.inner;A.set(a.compartment,g),o(g,r)}else if(a instanceof H5)o(a.inner,a.prec);else if(a instanceof wa)i[r].push(a),a.provides&&o(a.provides,r);else if(a instanceof dQ)i[r].push(a),a.facet.extensions&&o(a.facet.extensions,Bd.default);else{let g=a.extension;if(!g)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(g,r)}}return o(t,Bd.default),i.reduce((a,r)=>a.concat(r))}function G3(t,e){if(e&1)return 2;let A=e>>1,i=t.status[A];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;t.status[A]=4;let n=t.computeSlot(t,t.config.dynamicSlots[A]);return t.status[A]=2|n}function O5(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var iX=We.define(),xR=We.define({combine:t=>t.some(e=>e),static:!0}),lX=We.define({combine:t=>t.length?t[0]:void 0,static:!0}),cX=We.define(),CX=We.define(),IX=We.define(),nX=We.define({combine:t=>t.length?t[0]:!1}),hg=class{constructor(e,A){this.type=e,this.value=A}static define(){return new KR}},KR=class{of(e){return new hg(this,e)}},UR=class{constructor(e){this.map=e}of(e){return new Hi(this,e)}},Hi=(()=>{class t{constructor(A,i){this.type=A,this.value=i}map(A){let i=this.type.map(this.value,A);return i===void 0?void 0:i==this.value?this:new t(this.type,i)}is(A){return this.type==A}static define(A={}){return new UR(A.map||(i=>i))}static mapEffects(A,i){if(!A.length)return A;let n=[];for(let o of A){let a=o.map(i);a&&n.push(a)}return n}}return t.reconfigure=t.define(),t.appendConfig=t.define(),t})(),x0=(()=>{class t{constructor(A,i,n,o,a,r){this.startState=A,this.changes=i,this.selection=n,this.effects=o,this.annotations=a,this.scrollIntoView=r,this._doc=null,this._state=null,n&&gX(n,i.newLength),a.some(s=>s.type==t.time)||(this.annotations=a.concat(t.time.of(Date.now())))}static create(A,i,n,o,a,r){return new t(A,i,n,o,a,r)}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(A){for(let i of this.annotations)if(i.type==A)return i.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(A){let i=this.annotation(t.userEvent);return!!(i&&(i==A||i.length>A.length&&i.slice(0,A.length)==A&&i[A.length]=="."))}}return t.time=hg.define(),t.userEvent=hg.define(),t.addToHistory=hg.define(),t.remote=hg.define(),t})();function YyA(t,e){let A=[];for(let i=0,n=0;;){let o,a;if(i=t[i]))o=t[i++],a=t[i++];else if(n=0;n--){let o=i[n](t);o instanceof x0?t=o:Array.isArray(o)&&o.length==1&&o[0]instanceof x0?t=o[0]:t=BX(e,BQ(o),!1)}return t}function HyA(t){let e=t.startState,A=e.facet(IX),i=t;for(let n=A.length-1;n>=0;n--){let o=A[n](t);o&&Object.keys(o).length&&(i=dX(i,JR(e,o,t.changes.newLength),!0))}return i==t?t:x0.create(e,t.changes,t.selection,i.effects,i.annotations,i.scrollIntoView)}var zyA=[];function BQ(t){return t==null?zyA:Array.isArray(t)?t:[t]}var Fo=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Fo||(Fo={})),OyA=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,YR;try{YR=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function PyA(t){if(YR)return YR.test(t);for(let e=0;e"\x80"&&(A.toUpperCase()!=A.toLowerCase()||OyA.test(A)))return!0}return!1}function jyA(t){return e=>{if(!/\S/.test(e))return Fo.Space;if(PyA(e))return Fo.Word;for(let A=0;A-1)return Fo.Word;return Fo.Other}}var $a=(()=>{class t{constructor(A,i,n,o,a,r){this.config=A,this.doc=i,this.selection=n,this.values=o,this.status=A.statusTemplate.slice(),this.computeSlot=a,r&&(r._state=this);for(let s=0;so.set(l,g)),i=null),o.set(s.value.compartment,s.value.extension)):s.is(Hi.reconfigure)?(i=null,n=s.value):s.is(Hi.appendConfig)&&(i=null,n=BQ(n).concat(s.value));let a;i?a=A.startState.values.slice():(i=z5.resolve(n,o,this),a=new t(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(g,l)=>l.reconfigure(g,this),null).values);let r=A.startState.facet(xR)?A.newSelection:A.newSelection.asSingle();new t(i,A.newDoc,r,a,(s,g)=>g.update(s,A),A)}replaceSelection(A){return typeof A=="string"&&(A=this.toText(A)),this.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:A},range:de.cursor(i.from+A.length)}))}changeByRange(A){let i=this.selection,n=A(i.ranges[0]),o=this.changes(n.changes),a=[n.range],r=BQ(n.effects);for(let s=1;sr.spec.fromJSON(s,g)))}}return t.create({doc:A.doc,selection:de.fromJSON(A.selection),extensions:i.extensions?o.concat([i.extensions]):o})}static create(A={}){let i=z5.resolve(A.extensions||[],new Map),n=A.doc instanceof bn?A.doc:bn.of((A.doc||"").split(i.staticFacet(t.lineSeparator)||FR)),o=A.selection?A.selection instanceof de?A.selection:de.single(A.selection.anchor,A.selection.head):de.single(0);return gX(o,n.length),i.staticFacet(xR)||(o=o.asSingle()),new t(i,n,o,i.dynamicSlots.map(()=>null),(a,r)=>r.create(a),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||` +`}get readOnly(){return this.facet(nX)}phrase(A,...i){for(let n of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(n,A)){A=n[A];break}return i.length&&(A=A.replace(/\$(\$|\d*)/g,(n,o)=>{if(o=="$")return"$";let a=+(o||1);return!a||a>i.length?n:i[a-1]})),A}languageDataAt(A,i,n=-1){let o=[];for(let a of this.facet(iX))for(let r of a(this,i,n))Object.prototype.hasOwnProperty.call(r,A)&&o.push(r[A]);return o}charCategorizer(A){let i=this.languageDataAt("wordChars",A);return jyA(i.length?i[0]:"")}wordAt(A){let{text:i,from:n,length:o}=this.doc.lineAt(A),a=this.charCategorizer(A),r=A-n,s=A-n;for(;r>0;){let g=Ta(i,r,!1);if(a(i.slice(g,r))!=Fo.Word)break;r=g}for(;se.length?e[0]:4}),t.lineSeparator=lX,t.readOnly=nX,t.phrases=We.define({compare(e,A){let i=Object.keys(e),n=Object.keys(A);return i.length==n.length&&i.every(o=>e[o]==A[o])}}),t.languageData=iX,t.changeFilter=cX,t.transactionFilter=CX,t.transactionExtender=IX,t})();R0.reconfigure=Hi.define();function kr(t,e,A={}){let i={};for(let n of t)for(let o of Object.keys(n)){let a=n[o],r=i[o];if(r===void 0)i[o]=a;else if(!(r===a||a===void 0))if(Object.hasOwnProperty.call(A,o))i[o]=A[o](r,a);else throw new Error("Config merge conflict for field "+o)}for(let n in e)i[n]===void 0&&(i[n]=e[n]);return i}var bl=class{eq(e){return this==e}range(e,A=e){return U3.create(e,A,this)}};bl.prototype.startSide=bl.prototype.endSide=0;bl.prototype.point=!1;bl.prototype.mapMode=qr.TrackDel;function jR(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var U3=class t{constructor(e,A,i){this.from=e,this.to=A,this.value=i}static create(e,A,i){return new t(e,A,i)}};function TR(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var HR=class t{constructor(e,A,i,n){this.from=e,this.to=A,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,A,i,n=0){let o=i?this.to:this.from;for(let a=n,r=o.length;;){if(a==r)return a;let s=a+r>>1,g=o[s]-e||(i?this.value[s].endSide:this.value[s].startSide)-A;if(s==a)return g>=0?a:r;g>=0?r=s:a=s+1}}between(e,A,i,n){for(let o=this.findIndex(A,-1e9,!0),a=this.findIndex(i,1e9,!1,o);od||I==d&&g.startSide>0&&g.endSide<=0)continue;(d-I||g.endSide-g.startSide)<0||(a<0&&(a=I),g.point&&(r=Math.max(r,d-I)),i.push(g),n.push(I-a),o.push(d-a))}return{mapped:i.length?new t(n,o,i,r):null,pos:a}}},to=(()=>{class t{constructor(A,i,n,o){this.chunkPos=A,this.chunk=i,this.nextLayer=n,this.maxPoint=o}static create(A,i,n,o){return new t(A,i,n,o)}get length(){let A=this.chunk.length-1;return A<0?0:Math.max(this.chunkEnd(A),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let A=this.nextLayer.size;for(let i of this.chunk)A+=i.value.length;return A}chunkEnd(A){return this.chunkPos[A]+this.chunk[A].length}update(A){let{add:i=[],sort:n=!1,filterFrom:o=0,filterTo:a=this.length}=A,r=A.filter;if(i.length==0&&!r)return this;if(n&&(i=i.slice().sort(TR)),this.isEmpty)return i.length?t.of(i):this;let s=new P5(this,null,-1).goto(0),g=0,l=[],C=new Wr;for(;s.value||g=0){let I=i[g++];C.addInner(I.from,I.to,I.value)||l.push(I)}else s.rangeIndex==1&&s.chunkIndexthis.chunkEnd(s.chunkIndex)||as.to||a=a&&A<=a+r.length&&r.between(a,A-a,i-a,n)===!1)return}this.nextLayer.between(A,i,n)}}iter(A=0){return J3.from([this]).goto(A)}get isEmpty(){return this.nextLayer==this}static iter(A,i=0){return J3.from(A).goto(i)}static compare(A,i,n,o,a=-1){let r=A.filter(I=>I.maxPoint>0||!I.isEmpty&&I.maxPoint>=a),s=i.filter(I=>I.maxPoint>0||!I.isEmpty&&I.maxPoint>=a),g=oX(r,s,n),l=new Ed(r,g,a),C=new Ed(s,g,a);n.iterGaps((I,d,B)=>aX(l,I,C,d,B,o)),n.empty&&n.length==0&&aX(l,0,C,0,0,o)}static eq(A,i,n=0,o){o==null&&(o=999999999);let a=A.filter(C=>!C.isEmpty&&i.indexOf(C)<0),r=i.filter(C=>!C.isEmpty&&A.indexOf(C)<0);if(a.length!=r.length)return!1;if(!a.length)return!0;let s=oX(a,r),g=new Ed(a,s,0).goto(n),l=new Ed(r,s,0).goto(n);for(;;){if(g.to!=l.to||!zR(g.active,l.active)||g.point&&(!l.point||!jR(g.point,l.point)))return!1;if(g.to>o)return!0;g.next(),l.next()}}static spans(A,i,n,o,a=-1){let r=new Ed(A,null,a).goto(i),s=i,g=r.openStart;for(;;){let l=Math.min(r.to,n);if(r.point){let C=r.activeForPoint(r.to),I=r.pointFroms&&(o.span(s,l,r.active,g),g=r.openEnd(l));if(r.to>n)return g+(r.point&&r.to>n?1:0);s=r.to,r.next()}}static of(A,i=!1){let n=new Wr;for(let o of A instanceof U3?[A]:i?qyA(A):A)n.add(o.from,o.to,o.value);return n.finish()}static join(A){if(!A.length)return t.empty;let i=A[A.length-1];for(let n=A.length-2;n>=0;n--)for(let o=A[n];o!=t.empty;o=o.nextLayer)i=new t(o.chunkPos,o.chunk,i,Math.max(o.maxPoint,i.maxPoint));return i}}return t.empty=new t([],[],null,-1),t})();function qyA(t){if(t.length>1)for(let e=t[0],A=1;A0)return t.slice().sort(TR);e=i}return t}to.empty.nextLayer=to.empty;var Wr=class t{finishChunk(e){this.chunks.push(new HR(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,e&&(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(e,A,i){this.addInner(e,A,i)||(this.nextLayer||(this.nextLayer=new t)).add(e,A,i)}addInner(e,A,i){let n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(A-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=A,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,A-e)),!0)}addChunk(e,A){if((e-this.lastTo||A.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,A.maxPoint),this.chunks.push(A),this.chunkPos.push(e);let i=A.value.length-1;return this.last=A.value[i],this.lastFrom=A.from[i]+e,this.lastTo=A.to[i]+e,!0}finish(){return this.finishInner(to.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let A=to.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,A}};function oX(t,e,A){let i=new Map;for(let o of t)for(let a=0;a=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&n.push(new P5(a,A,i,o));return n.length==1?n[0]:new t(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,A=-1e9){for(let i of this.heap)i.goto(e,A);for(let i=this.heap.length>>1;i>=0;i--)RR(this.heap,i);return this.next(),this}forward(e,A){for(let i of this.heap)i.forward(e,A);for(let i=this.heap.length>>1;i>=0;i--)RR(this.heap,i);(this.to-e||this.value.endSide-A)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),RR(this.heap,0)}}};function RR(t,e){for(let A=t[e];;){let i=(e<<1)+1;if(i>=t.length)break;let n=t[i];if(i+1=0&&(n=t[i+1],i++),A.compare(n)<0)break;t[i]=A,t[e]=n,e=i}}var Ed=class{constructor(e,A,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=J3.from(e,A,i)}goto(e,A=-1e9){return this.cursor.goto(e,A),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=A,this.openStart=-1,this.next(),this}forward(e,A){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-A)<0;)this.removeActive(this.minActive);this.cursor.forward(e,A)}removeActive(e){K5(this.active,e),K5(this.activeTo,e),K5(this.activeRank,e),this.minActive=rX(this.active,this.activeTo)}addActive(e){let A=0,{value:i,to:n,rank:o}=this.cursor;for(;A0;)A++;U5(this.active,A,i),U5(this.activeTo,A,n),U5(this.activeRank,A,o),e&&U5(e,A,this.cursor.from),this.minActive=rX(this.active,this.activeTo)}next(){let e=this.to,A=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&K5(i,n)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let o=this.cursor.value;if(!o.point)this.addActive(i),this.cursor.next();else if(A&&this.cursor.to==this.to&&this.cursor.from=0&&i[n]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&A.push(this.active[i]);return A.reverse()}openEnd(e){let A=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)A++;return A}};function aX(t,e,A,i,n,o){t.goto(e),A.goto(i);let a=i+n,r=i,s=i-e,g=!!o.boundChange;for(let l=!1;;){let C=t.to+s-A.to,I=C||t.endSide-A.endSide,d=I<0?t.to+s:A.to,B=Math.min(d,a);if(t.point||A.point?(t.point&&A.point&&jR(t.point,A.point)&&zR(t.activeForPoint(t.to),A.activeForPoint(A.to))||o.comparePoint(r,B,t.point,A.point),l=!1):(l&&o.boundChange(r),B>r&&!zR(t.active,A.active)&&o.compareRange(r,B,t.active,A.active),g&&Ba)break;r=d,I<=0&&t.next(),I>=0&&A.next()}}function zR(t,e){if(t.length!=e.length)return!1;for(let A=0;A=e;i--)t[i+1]=t[i];t[e]=A}function rX(t,e){let A=-1,i=1e9;for(let n=0;n=e)return n;if(n==t.length)break;o+=t.charCodeAt(n)==9?A-o%A:1,n=Ta(t,n)}return i===!0?-1:t.length}var EX=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),qR=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),QX=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Ml=class{constructor(e,A){this.rules=[];let{finish:i}=A||{};function n(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function o(a,r,s,g){let l=[],C=/^@(\w+)\b/.exec(a[0]),I=C&&C[1]=="keyframes";if(C&&r==null)return s.push(a[0]+";");for(let d in r){let B=r[d];if(/&/.test(d))o(d.split(/,\s*/).map(E=>a.map(Q=>E.replace(/&/,Q))).reduce((E,Q)=>E.concat(Q)),B,s);else if(B&&typeof B=="object"){if(!C)throw new RangeError("The value of a property ("+d+") should be a primitive value.");o(n(d),B,l,I)}else B!=null&&l.push(d.replace(/_.*/,"").replace(/[A-Z]/g,E=>"-"+E.toLowerCase())+": "+B+";")}(l.length||I)&&s.push((i&&!C&&!g?a.map(i):a).join(", ")+" {"+l.join(" ")+"}")}for(let a in e)o(n(a),e[a],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=QX[EX]||1;return QX[EX]=e+1,"\u037C"+e.toString(36)}static mount(e,A,i){let n=e[qR],o=i&&i.nonce;n?o&&n.setNonce(o):n=new VR(e,o),n.mount(Array.isArray(A)?A:[A],e)}},hX=new Map,VR=class{constructor(e,A){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let o=hX.get(i);if(o)return e[qR]=o;this.sheet=new n.CSSStyleSheet,hX.set(i,this)}else this.styleTag=i.createElement("style"),A&&this.styleTag.setAttribute("nonce",A);this.modules=[],e[qR]=this}mount(e,A){let i=this.sheet,n=0,o=0;for(let a=0;a-1&&(this.modules.splice(s,1),o--,s=-1),s==-1){if(this.modules.splice(o++,0,r),i)for(let g=0;g",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},VyA=typeof navigator<"u"&&/Mac/.test(navigator.platform),WyA=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(ar=0;ar<10;ar++)GC[48+ar]=GC[96+ar]=String(ar);var ar;for(ar=1;ar<=24;ar++)GC[ar+111]="F"+ar;var ar;for(ar=65;ar<=90;ar++)GC[ar]=String.fromCharCode(ar+32),QQ[ar]=String.fromCharCode(ar);var ar;for(q5 in GC)QQ.hasOwnProperty(q5)||(QQ[q5]=GC[q5]);var q5;function uX(t){var e=VyA&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||WyA&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",A=!e&&t.key||(t.shiftKey?QQ:GC)[t.keyCode]||t.key||"Unidentified";return A=="Esc"&&(A="Escape"),A=="Del"&&(A="Delete"),A=="Left"&&(A="ArrowLeft"),A=="Up"&&(A="ArrowUp"),A=="Right"&&(A="ArrowRight"),A=="Down"&&(A="ArrowDown"),A}function io(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,A=arguments[1];if(A&&typeof A=="object"&&A.nodeType==null&&!Array.isArray(A)){for(var i in A)if(Object.prototype.hasOwnProperty.call(A,i)){var n=A[i];typeof n=="string"?t.setAttribute(i,n):n!=null&&(t[i]=n)}e++}for(;e2),gt={mac:wX||/Mac/.test(Hs.platform),windows:/Win/.test(Hs.platform),linux:/Linux|X11/.test(Hs.platform),ie:bD,ie_version:g$?rN.documentMode||6:gN?+gN[1]:sN?+sN[1]:0,gecko:mX,gecko_version:mX?+(/Firefox\/(\d+)/.exec(Hs.userAgent)||[0,0])[1]:0,chrome:!!WR,chrome_version:WR?+WR[1]:0,ios:wX,android:/Android\b/.test(Hs.userAgent),webkit:pX,webkit_version:pX?+(/\bAppleWebKit\/(\d+)/.exec(Hs.userAgent)||[0,0])[1]:0,safari:lN,safari_version:lN?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Hs.userAgent)||[0,0])[1]:0,tabSize:rN.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function AF(t,e){for(let A in t)A=="class"&&e.class?e.class+=" "+t.class:A=="style"&&e.style?e.style+=";"+t.style:e[A]=t[A];return e}var gD=Object.create(null);function eF(t,e,A){if(t==e)return!0;t||(t=gD),e||(e=gD);let i=Object.keys(t),n=Object.keys(e);if(i.length-(A&&i.indexOf(A)>-1?1:0)!=n.length-(A&&n.indexOf(A)>-1?1:0))return!1;for(let o of i)if(o!=A&&(n.indexOf(o)==-1||t[o]!==e[o]))return!1;return!0}function ZyA(t,e){for(let A=t.attributes.length-1;A>=0;A--){let i=t.attributes[A].name;e[i]==null&&t.removeAttribute(i)}for(let A in e){let i=e[A];A=="style"?t.style.cssText=i:t.getAttribute(A)!=i&&t.setAttribute(A,i)}}function DX(t,e,A){let i=!1;if(e)for(let n in e)A&&n in A||(i=!0,n=="style"?t.style.cssText="":t.removeAttribute(n));if(A)for(let n in A)e&&e[n]==A[n]||(i=!0,n=="style"?t.style.cssText=A[n]:t.setAttribute(n,A[n]));return i}function XyA(t){let e=Object.create(null);for(let A=0;A0?3e8:-4e8:A>0?1e8:-1e8,new md(e,A,A,i,e.widget||null,!1)}static replace(e){let A=!!e.block,i,n;if(e.isBlockGap)i=-5e8,n=4e8;else{let{start:o,end:a}=l$(e,A);i=(o?A?-3e8:-1:5e8)-1,n=(a?A?2e8:1:-6e8)+1}return new md(e,i,n,A,e.widget||null,!0)}static line(e){return new tf(e)}static set(e,A=!1){return to.of(e,A)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Dt.none=to.empty;var ef=class t extends Dt{constructor(e){let{start:A,end:i}=l$(e);super(A?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?AF(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||gD}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&eF(this.attrs,e.attrs)}range(e,A=e){if(e>=A)throw new RangeError("Mark decorations may not be empty");return super.range(e,A)}};ef.prototype.point=!1;var tf=class t extends Dt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&eF(this.spec.attributes,e.spec.attributes)}range(e,A=e){if(A!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,A)}};tf.prototype.mapMode=qr.TrackBefore;tf.prototype.point=!0;var md=class t extends Dt{constructor(e,A,i,n,o,a){super(A,i,o,e),this.block=n,this.isReplace=a,this.mapMode=n?A<=0?qr.TrackBefore:qr.TrackAfter:qr.TrackDel}get type(){return this.startSide!=this.endSide?Xr.WidgetRange:this.startSide<=0?Xr.WidgetBefore:Xr.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&$yA(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,A=e){if(this.isReplace&&(e>A||e==A&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&A!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,A)}};md.prototype.point=!0;function l$(t,e=!1){let{inclusiveStart:A,inclusiveEnd:i}=t;return A==null&&(A=t.inclusive),i==null&&(i=t.inclusive),{start:A??e,end:i??e}}function $yA(t,e){return t==e||!!(t&&e&&t.compare(e))}function pQ(t,e,A,i=0){let n=A.length-1;n>=0&&A[n]+i>=t?A[n]=Math.max(A[n],e):A.push(t,e)}var lD=class t extends bl{constructor(e,A){super(),this.tagName=e,this.attributes=A}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&eF(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||gD)}static set(e,A=!1){return to.of(e,A)}};lD.prototype.startSide=lD.prototype.endSide=-1;function DQ(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function cN(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function P3(t,e){if(!e.anchorNode)return!1;try{return cN(t,e.anchorNode)}catch{return!1}}function nD(t){return t.nodeType==3?nf(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function j3(t,e,A,i){return A?yX(t,e,A,i,-1)||yX(t,e,A,i,1):!1}function kI(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function cD(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function yX(t,e,A,i,n){for(;;){if(t==A&&e==i)return!0;if(e==(n<0?0:UC(t))){if(t.nodeName=="DIV")return!1;let o=t.parentNode;if(!o||o.nodeType!=1)return!1;e=kI(t)+(n<0?0:1),t=o}else if(t.nodeType==1){if(t=t.childNodes[e+(n<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=n<0?UC(t):0}else return!1}}function UC(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function CD(t,e){let A=e?t.left:t.right;return{left:A,right:A,top:t.top,bottom:t.bottom}}function AvA(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function c$(t,e){let A=e.width/t.offsetWidth,i=e.height/t.offsetHeight;return(A>.995&&A<1.005||!isFinite(A)||Math.abs(e.width-t.offsetWidth)<1)&&(A=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-t.offsetHeight)<1)&&(i=1),{scaleX:A,scaleY:i}}function evA(t,e,A,i,n,o,a,r){let s=t.ownerDocument,g=s.defaultView||window;for(let l=t,C=!1;l&&!C;)if(l.nodeType==1){let I,d=l==s.body,B=1,E=1;if(d)I=AvA(g);else{if(/^(fixed|sticky)$/.test(getComputedStyle(l).position)&&(C=!0),l.scrollHeight<=l.clientHeight&&l.scrollWidth<=l.clientWidth){l=l.assignedSlot||l.parentNode;continue}let b=l.getBoundingClientRect();({scaleX:B,scaleY:E}=c$(l,b)),I={left:b.left,right:b.left+l.clientWidth*B,top:b.top,bottom:b.top+l.clientHeight*E}}let Q=0,f=0;if(n=="nearest")e.top0&&e.bottom>I.bottom+f&&(f=e.bottom-I.bottom+a)):e.bottom>I.bottom&&(f=e.bottom-I.bottom+a,A<0&&e.top-f0&&e.right>I.right+Q&&(Q=e.right-I.right+o)):e.right>I.right&&(Q=e.right-I.right+o,A<0&&e.leftI.bottom||e.leftI.right)&&(e={left:Math.max(e.left,I.left),right:Math.min(e.right,I.right),top:Math.max(e.top,I.top),bottom:Math.min(e.bottom,I.bottom)}),l=l.assignedSlot||l.parentNode}else if(l.nodeType==11)l=l.host;else break}function tvA(t){let e=t.ownerDocument,A,i;for(let n=t.parentNode;n&&!(n==e.body||A&&i);)if(n.nodeType==1)!i&&n.scrollHeight>n.clientHeight&&(i=n),!A&&n.scrollWidth>n.clientWidth&&(A=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:A,y:i}}var CN=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:A,focusNode:i}=e;this.set(A,Math.min(e.anchorOffset,A?UC(A):0),i,Math.min(e.focusOffset,i?UC(i):0))}set(e,A,i,n){this.anchorNode=e,this.anchorOffset=A,this.focusNode=i,this.focusOffset=n}},ud=null;gt.safari&>.safari_version>=26&&(ud=!1);function C$(t){if(t.setActive)return t.setActive();if(ud)return t.focus(ud);let e=[];for(let A=t;A&&(e.push(A,A.scrollTop,A.scrollLeft),A!=A.ownerDocument);A=A.parentNode);if(t.focus(ud==null?{get preventScroll(){return ud={preventScroll:!0},!0}}:void 0),!ud){ud=!1;for(let A=0;AMath.max(1,t.scrollHeight-t.clientHeight-4)}function d$(t,e){for(let A=t,i=e;;){if(A.nodeType==3&&i>0)return{node:A,offset:i};if(A.nodeType==1&&i>0){if(A.contentEditable=="false")return null;A=A.childNodes[i-1],i=UC(A)}else if(A.parentNode&&!cD(A))i=kI(A),A=A.parentNode;else return null}}function B$(t,e){for(let A=t,i=e;;){if(A.nodeType==3&&i=A){if(r.level==i)return a;(o<0||(n!=0?n<0?r.fromA:e[o].level>r.level))&&(o=a)}}if(o<0)throw new RangeError("Index out of range");return o}};function h$(t,e){if(t.length!=e.length)return!1;for(let A=0;A=0;E-=3)if(N0[E+1]==-d){let Q=N0[E+2],f=Q&2?n:Q&4?Q&1?o:n:0;f&&(Vo[C]=Vo[N0[E]]=f),r=E;break}}else{if(N0.length==189)break;N0[r++]=C,N0[r++]=I,N0[r++]=s}else if((B=Vo[C])==2||B==1){let E=B==n;s=E?0:1;for(let Q=r-3;Q>=0;Q-=3){let f=N0[Q+2];if(f&2)break;if(E)N0[Q+2]|=2;else{if(f&4)break;N0[Q+2]|=4}}}}}function lvA(t,e,A,i){for(let n=0,o=i;n<=A.length;n++){let a=n?A[n-1].to:t,r=ns;)B==Q&&(B=A[--E].from,Q=E?A[E-1].to:t),Vo[--B]=d;s=l}else o=g,s++}}}function dN(t,e,A,i,n,o,a){let r=i%2?2:1;if(i%2==n%2)for(let s=e,g=0;ss&&a.push(new Mc(s,E.from,d));let Q=E.direction==pd!=!(d%2);BN(t,Q?i+1:i,n,E.inner,E.from,E.to,a),s=E.to}B=E.to}else{if(B==A||(l?Vo[B]!=r:Vo[B]==r))break;B++}I?dN(t,s,B,i+1,n,I,a):se;){let l=!0,C=!1;if(!g||s>o[g-1].to){let E=Vo[s-1];E!=r&&(l=!1,C=E==16)}let I=!l&&r==1?[]:null,d=l?i:i+1,B=s;A:for(;;)if(g&&B==o[g-1].to){if(C)break A;let E=o[--g];if(!l)for(let Q=E.from,f=g;;){if(Q==e)break A;if(f&&o[f-1].to==Q)Q=o[--f].from;else{if(Vo[Q-1]==r)break A;break}}if(I)I.push(E);else{E.toVo.length;)Vo[Vo.length]=256;let i=[],n=e==pd?0:1;return BN(t,n,n,A,0,t.length,i),i}function u$(t){return[new Mc(0,t,0)]}var f$="";function CvA(t,e,A,i,n){var o;let a=i.head-t.from,r=Mc.find(e,a,(o=i.bidiLevel)!==null&&o!==void 0?o:-1,i.assoc),s=e[r],g=s.side(n,A);if(a==g){let I=r+=n?1:-1;if(I<0||I>=e.length)return null;s=e[r=I],a=s.side(!n,A),g=s.side(n,A)}let l=Ta(t.text,a,s.forward(n,A));(ls.to)&&(l=g),f$=t.text.slice(Math.min(a,l),Math.max(a,l));let C=r==(n?e.length-1:0)?null:e[r+(n?1:-1)];return C&&l==g&&C.level+(n?0:1)t.some(e=>e)}),b$=We.define({combine:t=>t.some(e=>e)}),M$=We.define(),q3=class t{constructor(e,A="nearest",i="nearest",n=5,o=5,a=!1){this.range=e,this.y=A,this.x=i,this.yMargin=n,this.xMargin=o,this.isSnapshot=a}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(de.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},V5=Hi.define({map:(t,e)=>t.map(e)}),k$=Hi.define();function Sr(t,e,A){let i=t.facet(D$);i.length?i[0](e):window.onerror&&window.onerror(String(e),A,void 0,void 0,e)||(A?console.error(A+":",e):console.error(e))}var KC=We.define({combine:t=>t.length?t[0]:!0}),dvA=0,hQ=We.define({combine(t){return t.filter((e,A)=>{for(let i=0;i{let s=[];return a&&s.push(MD.of(g=>{let l=g.plugin(r);return l?a(l):Dt.none})),o&&s.push(o(r)),s})}static fromClass(e,A){return t.define((i,n)=>new e(i,n),A)}},V3=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let A=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(A)}catch(i){if(Sr(A.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(e,this.spec.arg)}catch(A){Sr(e.state,A,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var A;if(!((A=this.value)===null||A===void 0)&&A.destroy)try{this.value.destroy()}catch(i){Sr(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},MX=We.define(),EN=We.define(),MD=We.define(),S$=We.define(),oF=We.define(),rf=We.define(),x$=We.define();function kX(t,e){let A=t.state.facet(x$);if(!A.length)return A;let i=A.map(o=>o instanceof Function?o(t):o),n=[];return to.spans(i,e.from,e.to,{point(){},span(o,a,r,s){let g=o-e.from,l=a-e.from,C=n;for(let I=r.length-1;I>=0;I--,s--){let d=r[I].spec.bidiIsolate,B;if(d==null&&(d=IvA(e.text,g,l)),s>0&&C.length&&(B=C[C.length-1]).to==g&&B.direction==d)B.to=l,C=B.inner;else{let E={from:g,to:l,direction:d,inner:[]};C.push(E),C=E.inner}}}}),n}var R$=We.define();function aF(t){let e=0,A=0,i=0,n=0;for(let o of t.state.facet(R$)){let a=o(t);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(A=Math.max(A,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(n=Math.max(n,a.bottom)))}return{left:e,right:A,top:i,bottom:n}}var T3=We.define(),kc=class t{constructor(e,A,i,n){this.fromA=e,this.toA=A,this.fromB=i,this.toB=n}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let A=e.length,i=this;for(;A>0;A--){let n=e[A-1];if(!(n.fromA>i.toA)){if(n.toAn.push(new kc(o,a,r,s))),this.changedRanges=n}static create(e,A,i){return new t(e,A,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(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},BvA=[],Ha=class{constructor(e,A,i=0){this.dom=e,this.length=A,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return BvA}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let A=this.domAttrs;A&&ZyA(this.dom,A)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,A=this.posAtStart){let i=A;for(let n of this.children){if(n==e)return i;i+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,A){return null}domPosFor(e,A){let i=kI(this.dom),n=this.length?e>0:A>0;return new F0(this.parent.dom,i+(n?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof vQ)return e;return null}static get(e){return e.cmTile}},yQ=class extends Ha{constructor(e){super(e,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(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let A=this.dom,i=null,n,o=e?.node==A?e:null,a=0;for(let r of this.children){if(r.sync(e),a+=r.length+r.breakAfter,n=i?i.nextSibling:A.firstChild,o&&n!=r.dom&&(o.written=!0),r.dom.parentNode==A)for(;n&&n!=r.dom;)n=SX(n);else A.insertBefore(r.dom,n);i=r.dom}for(n=i?i.nextSibling:A.firstChild,o&&n&&(o.written=!0);n;)n=SX(n);this.length=a}};function SX(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var vQ=class extends yQ{constructor(e,A){super(A),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let A=Ha.get(e);if(A&&this.owns(A))return A;e=e.parentNode}}blockTiles(e){for(let A=[],i=this,n=0,o=0;;)if(n==i.children.length){if(!A.length)return;i=i.parent,i.breakAfter&&o++,n=A.pop()}else{let a=i.children[n++];if(a instanceof bI)A.push(n),i=a,n=0;else{let r=o+a.length,s=e(a,o);if(s!==void 0)return s;o=r+a.breakAfter}}}resolveBlock(e,A){let i,n=-1,o,a=-1;if(this.blockTiles((r,s)=>{let g=s+r.length;if(e>=s&&e<=g){if(r.isWidget()&&A>=-1&&A<=1){if(r.flags&32)return!0;r.flags&16&&(i=void 0)}(se||e==s&&(A>1?r.length:r.covers(-1)))&&(!o||!r.isWidget()&&o.isWidget())&&(o=r,a=e-s)}}),!i&&!o)throw new Error("No tile at position "+e);return i&&A<0||!o?{tile:i,offset:n}:{tile:o,offset:a}}},bI=class t extends yQ{constructor(e,A){super(e),this.wrapper=A}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,A){let i=new t(A||document.createElement(e.tagName),e);return A||(i.flags|=4),i}},bQ=class t extends yQ{constructor(e,A){super(e),this.attrs=A}isLine(){return!0}static start(e,A,i){let n=new t(A||document.createElement("div"),e);return(!A||!i)&&(n.flags|=4),n}get domAttrs(){return this.attrs}resolveInline(e,A,i){let n=null,o=-1,a=null,r=-1;function s(l,C){for(let I=0,d=0;I=C&&(B.isComposite()?s(B,C-d):(!a||a.isHidden&&(A>0||i&&QvA(a,B)))&&(E>C||B.flags&32)?(a=B,r=C-d):(di&&(e=i);let n=e,o=e,a=0;e==0&&A<0||e==i&&A>=0?gt.chrome||gt.gecko||(e?(n--,a=1):o=0)?0:r.length-1];return gt.safari&&!a&&s.width==0&&(s=Array.prototype.find.call(r,g=>g.width)||s),a?CD(s,a<0):s||null}static of(e,A){let i=new t(A||document.createTextNode(e),e);return A||(i.flags|=2),i}},wd=class t extends Ha{constructor(e,A,i,n){super(e,A,n),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,A){return this.coordsInWidget(e,A,!1)}coordsInWidget(e,A,i){let n=this.widget.coordsAt(this.dom,e,A);if(n)return n;if(i)return CD(this.dom.getBoundingClientRect(),this.length?e==0:A<=0);{let o=this.dom.getClientRects(),a=null;if(!o.length)return null;let r=this.flags&16?!0:this.flags&32?!1:e>0;for(let s=r?o.length-1:0;a=o[s],!(e>0?s==0:s==o.length-1||a.top0;)if(n.isComposite())if(a){if(!e)break;i&&i.break(),e--,a=!1}else if(o==n.children.length){if(!e&&!r.length)break;i&&i.leave(n),a=!!n.breakAfter,{tile:n,index:o}=r.pop(),o++}else{let s=n.children[o],g=s.breakAfter;(A>0?s.length<=e:s.length=0;r--){let s=A.marks[r],g=n.lastChild;if(g instanceof ug&&g.mark.eq(s.mark))g.dom!=s.dom&&g.setDOM(XR(s.dom)),n=g;else{if(this.cache.reused.get(s)){let C=Ha.get(s.dom);C&&C.setDOM(XR(s.dom))}let l=ug.of(s.mark,s.dom);n.append(l),n=l}this.cache.reused.set(s,2)}let o=Ha.get(e.text);o&&this.cache.reused.set(o,2);let a=new fd(e.text,e.text.nodeValue);a.flags|=8,n.append(a)}addInlineWidget(e,A,i){let n=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);n||this.flushBuffer();let o=this.ensureMarks(A,i);!n&&!(e.flags&16)&&o.append(this.getBuffer(1)),o.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,A,i){this.flushBuffer(),this.ensureMarks(A,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let A=this.afterWidget||this.lastBlock;A.length+=e,this.pos+=e}addLineStart(e,A){var i;e||(e=N$);let n=bQ.start(e,A||((i=this.cache.find(bQ))===null||i===void 0?void 0:i.dom),!!A);this.getBlockPos().append(this.lastBlock=this.curLine=n)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,A){var i;let n=this.curLine;for(let o=e.length-1;o>=0;o--){let a=e[o],r;if(A>0&&(r=n.lastChild)&&r instanceof ug&&r.mark.eq(a))n=r,A--;else{let s=ug.of(a,(i=this.cache.find(ug,g=>g.mark.eq(a)))===null||i===void 0?void 0:i.dom);n.append(s),n=s,A=0}}return n}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!xX(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(gt.ios&&xX(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget($R,0,32)||new wd($R.toDOM(),0,$R,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let A=new hN(e.from,e.to,e.value,e.rank),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-A.rank||this.wrappers[i-1].to-A.to)<0;)i--;this.wrappers.splice(i,0,A)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let A=this.root;for(let i of this.wrappers){let n=A.lastChild;if(i.froma.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);A.append(o),A=o}}return A}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let A=2|(e<0?16:32),i=this.cache.find(MQ,void 0,1);return i&&(i.flags=A),i||new MQ(A)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},fN=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:n,lineBreak:o,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=n;let r=this.textOff=Math.min(e,n.length);return o?null:n.slice(0,r)}let A=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,A);return this.textOff=A,i}},dD=[wd,bQ,fd,ug,MQ,bI,vQ];for(let t=0;t[]),this.index=dD.map(()=>0),this.reused=new Map}add(e){let A=e.constructor.bucket,i=this.buckets[A];i.length<6?i.push(e):i[this.index[A]=(this.index[A]+1)%6]=e}find(e,A,i=2){let n=e.bucket,o=this.buckets[n],a=this.index[n];for(let r=o.length-1;r>=0;r--){let s=(r+a)%o.length,g=o[s];if((!A||A(g))&&!this.reused.has(g))return o.splice(s,1),s{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,A){let i=A&&this.getCompositionContext(A.text);for(let n=0,o=0,a=0;;){let r=an){let g=s-n;this.preserve(g,!a,!r),n=s,o+=g}if(!r)break;A&&r.fromA<=A.range.fromA&&r.toA>=A.range.toA?(this.forward(r.fromA,A.range.fromA,A.range.fromA{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(s-r);else{let g=s>0||r{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof ug&&n.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?n.length&&(n.length=o=0):a instanceof ug&&(n.shift(),o=Math.min(o,n.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,A){let i=null,n=this.builder,o=0,a=to.spans(this.decorations,e,A,{point:(r,s,g,l,C,I)=>{if(g instanceof md){if(this.disallowBlockEffectsFor[I]){if(g.block)throw new RangeError("Block decorations may not be specified via plugins");if(s>this.view.state.doc.lineAt(r).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(o=l.length,C>l.length)n.continueWidget(s-r);else{let d=g.widget||(g.block?RX.block:RX.inline),B=hvA(g),E=this.cache.findWidget(d,s-r,B)||wd.of(d,this.view,s-r,B);g.block?(g.startSide>0&&n.addLineStartIfNotCovered(i),n.addBlockWidget(E)):(n.ensureLine(i),n.addInlineWidget(E,l,C))}i=null}else i=uvA(i,g);s>r&&this.text.skip(s-r)},span:(r,s,g,l)=>{for(let C=r;Co,this.openMarks=a}forward(e,A,i=1){A-e<=10?this.old.advance(A-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(A-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let A=[],i=null;for(let n=e.parentNode;;n=n.parentNode){let o=Ha.get(n);if(n==this.view.contentDOM)break;o instanceof ug?A.push(o):o?.isLine()?i=o:n.nodeName=="DIV"&&!i&&n!=this.view.contentDOM?i=new bQ(n,N$):A.push(ug.of(new ef({tagName:n.nodeName.toLowerCase(),attributes:XyA(n)}),n))}return{line:i,marks:A}}};function xX(t,e){let A=i=>{for(let n of i.children)if((e?n.isText():n.length)||A(n))return!0;return!1};return A(t)}function hvA(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var N$={class:"cm-line"};function uvA(t,e){let A=e.spec.attributes,i=e.spec.class;return!A&&!i||(t||(t={class:"cm-line"}),A&&AF(A,t),i&&(t.class+=" "+i)),t}function fvA(t){let e=[];for(let A=t.parents.length;A>1;A--){let i=A==t.parents.length?t.tile:t.parents[A].tile;i instanceof ug&&e.push(i.mark)}return e}function XR(t){let e=Ha.get(t);return e&&e.setDOM(t.cloneNode()),t}var RX=(()=>{class t extends fg{constructor(A){super(),this.tag=A}eq(A){return A.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(A){return A.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}return t.inline=new t("span"),t.block=new t("div"),t})(),$R=new class extends fg{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},BD=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Dt.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 vQ(e,e.contentDOM),this.updateInner([new kc(0,0,0,e.state.doc.length)],null)}update(e){var A;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:l,toA:C})=>Cthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((A=this.domChanged)===null||A===void 0)&&A.newSel?n=this.domChanged.newSel.head:!MvA(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let o=n>-1?pvA(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){let{from:l,to:C}=this.hasComposition;i=new kc(l,C,e.changes.mapPos(l,-1),e.changes.mapPos(C,1)).addToSet(i.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(gt.ie||gt.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,r=this.blockWrappers;this.updateDeco();let s=yvA(a,this.decorations,e.changes);s.length&&(i=kc.extendWithRanges(i,s));let g=vvA(r,this.blockWrappers,e.changes);return g.length&&(i=kc.extendWithRanges(i,g)),o&&!i.some(l=>l.fromA<=o.range.fromA&&l.toA>=o.range.toA)&&(i=o.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,A){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(A||e.length){let a=this.tile,r=new pN(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=r.run(e,A),wN(a,r.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 o=gt.chrome||gt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(o),o&&(o.written||i.selectionRange.focusNode!=o.node||!this.tile.dom.contains(o.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let n=[];if(this.view.viewport.from||this.view.viewport.to-1)&&P3(i,this.view.observer.selectionRange)&&!(n&&i.contains(n));if(!(o||A||a))return;let r=this.forceSelection;this.forceSelection=!1;let s=this.view.state.selection.main,g,l;if(s.empty?l=g=this.inlineDOMNearPos(s.anchor,s.assoc||1):(l=this.inlineDOMNearPos(s.head,s.head==s.from?1:-1),g=this.inlineDOMNearPos(s.anchor,s.anchor==s.from?1:-1)),gt.gecko&&s.empty&&!this.hasComposition&&mvA(g)){let I=document.createTextNode("");this.view.observer.ignore(()=>g.node.insertBefore(I,g.node.childNodes[g.offset]||null)),g=l=new F0(I,0),r=!0}let C=this.view.observer.selectionRange;(r||!C.focusNode||(!j3(g.node,g.offset,C.anchorNode,C.anchorOffset)||!j3(l.node,l.offset,C.focusNode,C.focusOffset))&&!this.suppressWidgetCursorChange(C,s))&&(this.view.observer.ignore(()=>{gt.android&>.chrome&&i.contains(C.focusNode)&&bvA(C.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let I=DQ(this.view.root);if(I)if(s.empty){if(gt.gecko){let d=wvA(g.node,g.offset);if(d&&d!=3){let B=(d==1?d$:B$)(g.node,g.offset);B&&(g=new F0(B.node,B.offset))}}I.collapse(g.node,g.offset),s.bidiLevel!=null&&I.caretBidiLevel!==void 0&&(I.caretBidiLevel=s.bidiLevel)}else if(I.extend){I.collapse(g.node,g.offset);try{I.extend(l.node,l.offset)}catch{}}else{let d=document.createRange();s.anchor>s.head&&([g,l]=[l,g]),d.setEnd(l.node,l.offset),d.setStart(g.node,g.offset),I.removeAllRanges(),I.addRange(d)}a&&this.view.root.activeElement==i&&(i.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(g,l)),this.impreciseAnchor=g.precise?null:new F0(C.anchorNode,C.anchorOffset),this.impreciseHead=l.precise?null:new F0(C.focusNode,C.focusOffset)}suppressWidgetCursorChange(e,A){return this.hasComposition&&A.empty&&j3(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==A.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,A=e.state.selection.main,i=DQ(e.root),{anchorNode:n,anchorOffset:o}=e.observer.selectionRange;if(!i||!A.empty||!A.assoc||!i.modify)return;let a=this.lineAt(A.head,A.assoc);if(!a)return;let r=a.posAtStart;if(A.head==r||A.head==r+a.length)return;let s=this.coordsAt(A.head,-1),g=this.coordsAt(A.head,1);if(!s||!g||s.bottom>g.top)return;let l=this.domAtPos(A.head+A.assoc,A.assoc);i.collapse(l.node,l.offset),i.modify("move",A.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let C=e.observer.selectionRange;e.docView.posFromDOM(C.anchorNode,C.anchorOffset)!=A.from&&i.collapse(n,o)}posFromDOM(e,A){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let n=i.posAtStart;if(i.isComposite()){let o;if(e==i.dom)o=i.dom.childNodes[A];else{let a=UC(e)==0?0:A==0?-1:1;for(;;){let r=e.parentNode;if(r==i.dom)break;a==0&&r.firstChild!=r.lastChild&&(e==r.firstChild?a=-1:a=1),e=r}a<0?o=e:o=e.nextSibling}if(o==i.dom.firstChild)return n;for(;o&&!Ha.get(o);)o=o.nextSibling;if(!o)return n+i.length;for(let a=0,r=n;;a++){let s=i.children[a];if(s.dom==o)return r;r+=s.length+s.breakAfter}}else return i.isText()?e==i.dom?n+A:n+(A?i.length:0):n}domAtPos(e,A){let{tile:i,offset:n}=this.tile.resolveBlock(e,A);return i.isWidget()?i.domPosFor(e,A):i.domIn(n,A)}inlineDOMNearPos(e,A){let i,n=-1,o=!1,a,r=-1,s=!1;return this.tile.blockTiles((g,l)=>{if(g.isWidget()){if(g.flags&32&&l>=e)return!0;g.flags&16&&(o=!0)}else{let C=l+g.length;if(l<=e&&(i=g,n=e-l,o=C=e&&!a&&(a=g,r=e-l,s=l>e),l>e&&a)return!0}}),!i&&!a?this.domAtPos(e,A):(o&&a?i=null:s&&i&&(a=null),i&&A<0||!a?i.domIn(n,A):a.domIn(r,A))}coordsAt(e,A){let{tile:i,offset:n}=this.tile.resolveBlock(e,A);return i.isWidget()?i.widget instanceof W3?null:i.coordsInWidget(n,A,!0):i.coordsIn(n,A)}lineAt(e,A){let{tile:i}=this.tile.resolveBlock(e,A);return i.isLine()?i:null}coordsForChar(e){let{tile:A,offset:i}=this.tile.resolveBlock(e,1);if(!A.isLine())return null;function n(o,a){if(o.isComposite())for(let r of o.children){if(r.length>=a){let s=n(r,a);if(s)return s}if(a-=r.length,a<0)break}else if(o.isText()&&aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,r=-1,s=this.view.textDirection==mo.LTR,g=0,l=(C,I,d)=>{for(let B=0;Bn);B++){let E=C.children[B],Q=I+E.length,f=E.dom.getBoundingClientRect(),{height:b}=f;if(d&&!B&&(g+=f.top-d.top),E instanceof bI)Q>i&&l(E,I,f);else if(I>=i&&(g>0&&A.push(-g),A.push(b+g),g=0,a)){let S=E.dom.lastChild,M=S?nD(S):[];if(M.length){let D=M[M.length-1],F=s?D.right-f.left:f.right-D.left;F>r&&(r=F,this.minWidth=o,this.minWidthFrom=I,this.minWidthTo=Q)}}d&&B==C.children.length-1&&(g+=d.bottom-f.bottom),I=Q+E.breakAfter}};return l(this.tile,0,null),A}textDirectionAt(e){let{tile:A}=this.tile.resolveBlock(e,1);return getComputedStyle(A.dom).direction=="rtl"?mo.RTL:mo.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let r=0,s;for(let g of a.children){if(!g.isText()||/[^ -~]/.test(g.text))return;let l=nD(g.dom);if(l.length!=1)return;r+=l[0].width,s=l[0].height}if(r)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:r/a.length,textHeight:s}}});if(e)return e;let A=document.createElement("div"),i,n,o;return A.className="cm-line",A.style.width="99999px",A.style.position="absolute",A.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(A);let a=nD(A.firstChild)[0];i=A.getBoundingClientRect().height,n=a&&a.width?a.width/27:7,o=a&&a.height?a.height:i,A.remove()}),{lineHeight:i,charWidth:n,textHeight:o}}computeBlockGapDeco(){let e=[],A=this.view.viewState;for(let i=0,n=0;;n++){let o=n==A.viewports.length?null:A.viewports[n],a=o?o.from-1:this.view.state.doc.length;if(a>i){let r=(A.lineBlockAt(a).bottom-A.lineBlockAt(i).top)/this.view.scaleY;e.push(Dt.replace({widget:new W3(r),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!o)break;i=o.to+1}return Dt.set(e)}updateDeco(){let e=1,A=this.view.state.facet(MD).map(o=>(this.dynamicDecorationMap[e++]=typeof o=="function")?o(this.view):o),i=!1,n=this.view.state.facet(oF).map((o,a)=>{let r=typeof o=="function";return r&&(i=!0),r?o(this.view):o});for(n.length&&(this.dynamicDecorationMap[e++]=i,A.push(to.join(n))),this.decorations=[this.editContextFormatting,...A,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof o=="function"?o(this.view):o)}scrollIntoView(e){if(e.isSnapshot){let g=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=g.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let g of this.view.state.facet(M$))try{if(g(this.view,e.range,e))return!0}catch(l){Sr(this.view.state,l,"scroll handler")}let{range:A}=e,i=this.coordsAt(A.head,A.empty?A.assoc:A.head>A.anchor?-1:1),n;if(!i)return;!A.empty&&(n=this.coordsAt(A.anchor,A.anchor>A.head?-1:1))&&(i={left:Math.min(i.left,n.left),top:Math.min(i.top,n.top),right:Math.max(i.right,n.right),bottom:Math.max(i.bottom,n.bottom)});let o=aF(this.view),a={left:i.left-o.left,top:i.top-o.top,right:i.right+o.right,bottom:i.bottom+o.bottom},{offsetWidth:r,offsetHeight:s}=this.view.scrollDOM;evA(this.view.scrollDOM,a,A.headi.isWidget()||i.children.some(A);return A(this.tile.resolveBlock(e,1).tile)}destroy(){wN(this.tile)}};function wN(t,e){let A=e?.get(t);if(A!=1){A==null&&t.destroy();for(let i of t.children)wN(i,e)}}function mvA(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function F$(t,e){let A=t.observer.selectionRange;if(!A.focusNode)return null;let i=d$(A.focusNode,A.focusOffset),n=B$(A.focusNode,A.focusOffset),o=i||n;if(n&&i&&n.node!=i.node){let r=Ha.get(n.node);if(!r||r.isText()&&r.text!=n.node.nodeValue)o=n;else if(t.docView.lastCompositionAfterCursor){let s=Ha.get(i.node);!s||s.isText()&&s.text!=i.node.nodeValue||(o=n)}}if(t.docView.lastCompositionAfterCursor=o!=i,!o)return null;let a=e-o.offset;return{from:a,to:a+o.node.nodeValue.length,node:o.node}}function pvA(t,e,A){let i=F$(t,A);if(!i)return null;let{node:n,from:o,to:a}=i,r=n.nodeValue;if(/[\n\r]/.test(r)||t.state.doc.sliceString(i.from,i.to)!=r)return null;let s=e.invertedDesc;return{range:new kc(s.mapPos(o),s.mapPos(a),o,a),text:n}}function wvA(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e{ie.from&&(A=!0)}),A}var W3=class extends fg{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function kvA(t,e,A=1){let i=t.charCategorizer(e),n=t.doc.lineAt(e),o=e-n.from;if(n.length==0)return de.cursor(e);o==0?A=1:o==n.length&&(A=-1);let a=o,r=o;A<0?a=Ta(n.text,o,!1):r=Ta(n.text,o);let s=i(n.text.slice(a,r));for(;a>0;){let g=Ta(n.text,a,!1);if(i(n.text.slice(g,a))!=s)break;a=g}for(;rt.defaultLineHeight*1.5){let r=t.viewState.heightOracle.textHeight,s=Math.floor((n-A.top-(t.defaultLineHeight-r)*.5)/r);o+=s*t.viewState.heightOracle.lineLength}let a=t.state.sliceDoc(A.from,A.to);return A.from+j5(a,o,t.state.tabSize)}function yN(t,e,A){let i=t.lineBlockAt(e);if(Array.isArray(i.type)){let n;for(let o of i.type){if(o.from>e)break;if(!(o.toe)return o;(!n||o.type==Xr.Text&&(n.type!=o.type||(A<0?o.frome)))&&(n=o)}}return n||i}return i}function xvA(t,e,A,i){let n=yN(t,e.head,e.assoc||-1),o=!i||n.type!=Xr.Text||!(t.lineWrapping||n.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(o){let a=t.dom.getBoundingClientRect(),r=t.textDirectionAt(n.from),s=t.posAtCoords({x:A==(r==mo.LTR)?a.right-1:a.left+1,y:(o.top+o.bottom)/2});if(s!=null)return de.cursor(s,A?-1:1)}return de.cursor(A?n.to:n.from,A?-1:1)}function NX(t,e,A,i){let n=t.state.doc.lineAt(e.head),o=t.bidiSpans(n),a=t.textDirectionAt(n.from);for(let r=e,s=null;;){let g=CvA(n,o,a,r,A),l=f$;if(!g){if(n.number==(A?t.state.doc.lines:1))return r;l=` +`,n=t.state.doc.line(n.number+(A?1:-1)),o=t.bidiSpans(n),g=t.visualLineSide(n,!A)}if(s){if(!s(l))return r}else{if(!i)return g;s=i(l)}r=g}}function RvA(t,e,A){let i=t.state.charCategorizer(e),n=i(A);return o=>{let a=i(o);return n==Fo.Space&&(n=a),n==a}}function NvA(t,e,A,i){let n=e.head,o=A?1:-1;if(n==(A?t.state.doc.length:0))return de.cursor(n,e.assoc);let a=e.goalColumn,r,s=t.contentDOM.getBoundingClientRect(),g=t.coordsAtPos(n,e.assoc||-1),l=t.documentTop;if(g)a==null&&(a=g.left-s.left),r=o<0?g.top:g.bottom;else{let B=t.viewState.lineBlockAt(n);a==null&&(a=Math.min(s.right-s.left,t.defaultCharacterWidth*(n-B.from))),r=(o<0?B.top:B.bottom)+l}let C=s.left+a,I=i??t.viewState.heightOracle.textHeight>>1,d=vN(t,{x:C,y:r+I*o},!1,o);return de.cursor(d.pos,d.assoc,void 0,a)}function Z3(t,e,A){for(;;){let i=0;for(let n of t)n.between(e-1,e+1,(o,a,r)=>{if(e>o&&en(t)),A.from,e.head>A.from?-1:1);return i==A.from?A:de.cursor(i,it.viewState.docHeight)return new Sl(t.state.doc.length,-1);if(g=t.elementAtHeight(s),i==null)break;if(g.type==Xr.Text){let I=t.docView.coordsAt(i<0?g.from:g.to,i);if(I&&(i<0?I.top<=s+o:I.bottom>=s+o))break}let C=t.viewState.heightOracle.textHeight/2;s=i>0?g.bottom+C:g.top-C}if(t.viewport.from>=g.to||t.viewport.to<=g.from){if(A)return null;if(g.type==Xr.Text){let C=SvA(t,n,g,a,r);return new Sl(C,C==g.from?1:-1)}}if(g.type!=Xr.Text)return s<(g.top+g.bottom)/2?new Sl(g.from,1):new Sl(g.to,-1);let l=t.docView.lineAt(g.from,2);return(!l||l.length!=g.length)&&(l=t.docView.lineAt(g.from,-2)),L$(t,l,g.from,a,r)}function L$(t,e,A,i,n){let o=-1,a=null,r=1e9,s=1e9,g=n,l=n,C=(I,d)=>{for(let B=0;Bi?E.left-i:E.rightn?E.top-n:E.bottom=g&&(g=Math.min(E.top,g),l=Math.max(E.bottom,l),f=0),(o<0||(f-s||Q-r)<0)&&(o>=0&&s&&r=g+2?s=0:(o=d,r=Q,s=f,a=E))}};if(e.isText()){for(let d=0;d(a.left+a.right)/2==(FX(t,o+A)==mo.LTR)?new Sl(A+Ta(e.text,o),-1):new Sl(A+o,1)}else{if(!e.length)return new Sl(A,1);for(let E=0;E(a.left+a.right)/2==(FX(t,o+A)==mo.LTR)?new Sl(d+I.length,-1):new Sl(d,1)}}function FX(t,e){let A=t.state.doc.lineAt(e);return t.bidiSpans(A)[Mc.find(t.bidiSpans(A),e-A.from,-1,1)].dir}var H3="\uFFFF",bN=class{constructor(e,A){this.points=e,this.view=A,this.text="",this.lineSeparator=A.state.facet($a.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=H3}readRange(e,A){if(!e)return this;let i=e.parentNode;for(let n=e;;){this.findPointBefore(i,n);let o=this.text.length;this.readNode(n);let a=Ha.get(n),r=n.nextSibling;if(r==A){a?.breakAfter&&!r&&i!=this.view.contentDOM&&this.lineBreak();break}let s=Ha.get(r);(a&&s?a.breakAfter:(a?a.breakAfter:cD(n))||cD(r)&&(n.nodeName!="BR"||a?.isWidget())&&this.text.length>o)&&!_vA(r,A)&&this.lineBreak(),n=r}return this.findPointBefore(i,A),this}readTextNode(e){let A=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,A.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let o=-1,a=1,r;if(this.lineSeparator?(o=A.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(r=n.exec(A))&&(o=r.index,a=r[0].length),this.append(A.slice(i,o<0?A.length:o)),o<0)break;if(this.lineBreak(),a>1)for(let s of this.points)s.node==e&&s.pos>this.text.length&&(s.pos-=a-1);i=o+a}}readNode(e){let A=Ha.get(e),i=A&&A.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let n=i.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,A){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==A&&(i.pos=this.text.length)}findPointInside(e,A){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(FvA(e,i.node,i.offset)?A:0))}};function FvA(t,e,A){for(;;){if(!e||A-1;let{impreciseHead:o,impreciseAnchor:a}=e.docView;if(e.state.readOnly&&A>-1)this.newSel=null;else if(A>-1&&(this.bounds=G$(e.docView.tile,A,i,0))){let r=o||a?[]:GvA(e),s=new bN(r,e);s.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=s.text,this.newSel=KvA(r,this.bounds.from)}else{let r=e.observer.selectionRange,s=o&&o.node==r.focusNode&&o.offset==r.focusOffset||!cN(e.contentDOM,r.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(r.focusNode,r.focusOffset),g=a&&a.node==r.anchorNode&&a.offset==r.anchorOffset||!cN(e.contentDOM,r.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(r.anchorNode,r.anchorOffset),l=e.viewport;if((gt.ios||gt.chrome)&&e.state.selection.main.empty&&s!=g&&(l.from>0||l.to-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(de.range(g,s)):this.newSel=de.single(g,s)}}};function G$(t,e,A,i){if(t.isComposite()){let n=-1,o=-1,a=-1,r=-1;for(let s=0,g=i,l=i;sA)return G$(C,e,A,g);if(I>=e&&n==-1&&(n=s,o=g),g>A&&C.dom.parentNode==t.dom){a=s,r=l;break}l=I,g=I+C.breakAfter}return{from:o,to:r<0?i+t.length:r,startDOM:(n?t.children[n-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:a=0?t.children[a].dom:null}}else return t.isText()?{from:i,to:i+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function K$(t,e){let A,{newSel:i}=e,n=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:r}=e.bounds,s=n.from,g=null;(o===8||gt.android&&e.text.length=n.from&&A.to<=n.to&&(A.from!=n.from||A.to!=n.to)&&n.to-n.from-(A.to-A.from)<=4?A={from:n.from,to:n.to,insert:t.state.doc.slice(n.from,A.from).append(A.insert).append(t.state.doc.slice(A.to,n.to))}:t.state.doc.lineAt(n.from).toDate.now()-50?A={from:n.from,to:n.to,insert:t.state.toText(t.inputState.insertingText)}:gt.chrome&&A&&A.from==A.to&&A.from==n.head&&A.insert.toString()==` + `&&t.lineWrapping&&(i&&(i=de.single(i.main.anchor-1,i.main.head-1)),A={from:n.from,to:n.to,insert:bn.of([" "])}),A)return rF(t,A,i,o);if(i&&!QD(i,n)){let a=!1,r="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(a=!0),r=t.inputState.lastSelectionOrigin,r=="select.pointer"&&(i=_$(t.state.facet(rf).map(s=>s(t)),i))),t.dispatch({selection:i,scrollIntoView:a,userEvent:r}),!0}else return!1}function rF(t,e,A,i=-1){if(gt.ios&&t.inputState.flushIOSKey(e))return!0;let n=t.state.selection.main;if(gt.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&t.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&wQ(t.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||i==8&&e.insert.lengthn.head)&&wQ(t.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&wQ(t.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let a,r=()=>a||(a=LvA(t,e,A));return t.state.facet(y$).some(s=>s(t,e.from,e.to,o,r))||t.dispatch(r()),!0}function LvA(t,e,A){let i,n=t.state,o=n.selection.main,a=-1;if(e.from==e.to&&e.fromo.to){let s=e.fromC(t)),g,s);e.from==l&&(a=l)}if(a>-1)i={changes:e,selection:de.cursor(e.from+e.insert.length,-1)};else if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!A||A.main.empty&&A.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let s=o.frome.to?n.sliceDoc(e.to,o.to):"";i=n.replaceSelection(t.state.toText(s+e.insert.sliceString(0,void 0,t.state.lineBreak)+g))}else{let s=n.changes(e),g=A&&A.main.to<=s.newLength?A.main:void 0;if(n.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=o.to+10&&e.to>=o.to-10){let l=t.state.sliceDoc(e.from,e.to),C,I=A&&F$(t,A.main.head);if(I){let B=e.insert.length-(e.to-e.from);C={from:I.from,to:I.to-B}}else C=t.state.doc.lineAt(o.head);let d=o.to-e.to;i=n.changeByRange(B=>{if(B.from==o.from&&B.to==o.to)return{changes:s,range:g||B.map(s)};let E=B.to-d,Q=E-l.length;if(t.state.sliceDoc(Q,E)!=l||E>=C.from&&Q<=C.to)return{range:B};let f=n.changes({from:Q,to:E,insert:e.insert}),b=B.to-o.to;return{changes:f,range:g?de.range(Math.max(0,g.anchor+b),Math.max(0,g.head+b)):B.map(f)}})}else i={changes:s,selection:g&&n.selection.replaceRange(g)}}let r="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,r+=".compose",t.inputState.compositionFirstChange&&(r+=".start",t.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:r,scrollIntoView:!0})}function U$(t,e,A,i){let n=Math.min(t.length,e.length),o=0;for(;o0&&r>0&&t.charCodeAt(a-1)==e.charCodeAt(r-1);)a--,r--;if(i=="end"){let s=Math.max(0,o-Math.min(a,r));A-=a+s-o}if(a=a?o-A:0;o-=s,r=o+(r-a),a=o}else if(r=r?o-A:0;o-=s,a=o+(a-r),r=o}return{from:o,toA:a,toB:r}}function GvA(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:A,anchorOffset:i,focusNode:n,focusOffset:o}=t.observer.selectionRange;return A&&(e.push(new ED(A,i)),(n!=A||o!=i)&&e.push(new ED(n,o))),e}function KvA(t,e){if(t.length==0)return null;let A=t[0].pos,i=t.length==2?t[1].pos:A;return A>-1&&i>-1?de.single(A+e,i+e):null}function QD(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var kN=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 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=e.hasFocus,gt.safari&&e.contentDOM.addEventListener("input",()=>null),gt.gecko&&XvA(e.contentDOM.ownerDocument)}handleEvent(e){!OvA(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,A){let i=this.handlers[e];if(i){for(let n of i.observers)n(this.view,A);for(let n of i.handlers){if(A.defaultPrevented)break;if(n(this.view,A)){A.preventDefault();break}}}}ensureHandlers(e){let A=UvA(e),i=this.handlers,n=this.view.contentDOM;for(let o in A)if(o!="scroll"){let a=!A[o].handlers.length,r=i[o];r&&a!=!r.handlers.length&&(n.removeEventListener(o,this.handleEvent),r=null),r||n.addEventListener(o,this.handleEvent,{passive:a})}for(let o in i)o!="scroll"&&!A[o]&&n.removeEventListener(o,this.handleEvent);this.handlers=A}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Y$.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),gt.android&>.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let A;return gt.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((A=J$.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||JvA.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=A||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let A=this.pendingIOSKey;return!A||A.key=="Enter"&&e&&e.from0?!0:gt.safari&&!gt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function _X(t,e){return(A,i)=>{try{return e.call(t,i,A)}catch(n){Sr(A.state,n)}}}function UvA(t){let e=Object.create(null);function A(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of t){let n=i.spec,o=n&&n.plugin.domEventHandlers,a=n&&n.plugin.domEventObservers;if(o)for(let r in o){let s=o[r];s&&A(r).handlers.push(_X(i.value,s))}if(a)for(let r in a){let s=a[r];s&&A(r).observers.push(_X(i.value,s))}}for(let i in Sc)A(i).handlers.push(Sc[i]);for(let i in xl)A(i).observers.push(xl[i]);return e}var J$=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],JvA="dthko",Y$=[16,17,18,20,91,92,224,225],W5=6;function Z5(t){return Math.max(0,t)*.7+8}function YvA(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var SN=class{constructor(e,A,i,n){this.view=e,this.startEvent=A,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=A,this.scrollParents=tvA(e.contentDOM),this.atoms=e.state.facet(rf).map(a=>a(e));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=A.shiftKey,this.multiple=e.state.facet($a.allowMultipleSelections)&&TvA(e,A),this.dragging=zvA(e,A)&&z$(A)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&YvA(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let A=0,i=0,n=0,o=0,a=this.view.win.innerWidth,r=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:r}=this.scrollParents.y.getBoundingClientRect());let s=aF(this.view);e.clientX-s.left<=n+W5?A=-Z5(n-e.clientX):e.clientX+s.right>=a-W5&&(A=Z5(e.clientX-a)),e.clientY-s.top<=o+W5?i=-Z5(o-e.clientY):e.clientY+s.bottom>=r-W5&&(i=Z5(e.clientY-r)),this.setScrollSpeed(A,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,A){this.scrollSpeed={x:e,y:A},e||A?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:A}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),A&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=A,A=0),(e||A)&&this.view.win.scrollBy(e,A),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:A}=this,i=_$(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(A.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(A=>A.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function TvA(t,e){let A=t.state.facet(m$);return A.length?A[0](e):gt.mac?e.metaKey:e.ctrlKey}function HvA(t,e){let A=t.state.facet(p$);return A.length?A[0](e):gt.mac?!e.altKey:!e.ctrlKey}function zvA(t,e){let{main:A}=t.state.selection;if(A.empty)return!1;let i=DQ(t.root);if(!i||i.rangeCount==0)return!0;let n=i.getRangeAt(0).getClientRects();for(let o=0;o=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function OvA(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let A=e.target,i;A!=t.contentDOM;A=A.parentNode)if(!A||A.nodeType==11||(i=Ha.get(A))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}var Sc=Object.create(null),xl=Object.create(null),T$=gt.ie&>.ie_version<15||gt.ios&>.webkit_version<604;function PvA(t){let e=t.dom.parentNode;if(!e)return;let A=e.appendChild(document.createElement("textarea"));A.style.cssText="position: fixed; left: -10000px; top: 10px",A.focus(),setTimeout(()=>{t.focus(),A.remove(),H$(t,A.value)},50)}function kD(t,e,A){for(let i of t.facet(e))A=i(A,t);return A}function H$(t,e){e=kD(t.state,iF,e);let{state:A}=t,i,n=1,o=A.toText(e),a=o.lines==A.selection.ranges.length;if(xN!=null&&A.selection.ranges.every(s=>s.empty)&&xN==o.toString()){let s=-1;i=A.changeByRange(g=>{let l=A.doc.lineAt(g.from);if(l.from==s)return{range:g};s=l.from;let C=A.toText((a?o.line(n++).text:e)+A.lineBreak);return{changes:{from:l.from,insert:C},range:de.cursor(g.from+C.length)}})}else a?i=A.changeByRange(s=>{let g=o.line(n++);return{changes:{from:s.from,to:s.to,insert:g.text},range:de.cursor(s.from+g.length)}}):i=A.replaceSelection(o);t.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}xl.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Sc.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);xl.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};xl.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};Sc.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let A=null;for(let i of t.state.facet(w$))if(A=i(t,e),A)break;if(!A&&e.button==0&&(A=qvA(t,e)),A){let i=!t.hasFocus;t.inputState.startMouseSelection(new SN(t,e,A,i)),i&&t.observer.ignore(()=>{C$(t.contentDOM);let o=t.root.activeElement;o&&!o.contains(t.contentDOM)&&o.blur()});let n=t.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function LX(t,e,A,i){if(i==1)return de.cursor(e,A);if(i==2)return kvA(t.state,e,A);{let n=t.docView.lineAt(e,A),o=t.state.doc.lineAt(n?n.posAtEnd:e),a=n?n.posAtStart:o.from,r=n?n.posAtEnd:o.to;return rDate.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(KX+1)%3:1}function qvA(t,e){let A=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=z$(e),n=t.state.selection;return{update(o){o.docChanged&&(A.pos=o.changes.mapPos(A.pos),n=n.map(o.changes))},get(o,a,r){let s=t.posAndSideAtCoords({x:o.clientX,y:o.clientY},!1),g,l=LX(t,s.pos,s.assoc,i);if(A.pos!=s.pos&&!a){let C=LX(t,A.pos,A.assoc,i),I=Math.min(C.from,l.from),d=Math.max(C.to,l.to);l=I1&&(g=VvA(n,s.pos))?g:r?n.addRange(l):de.create([l])}}}function VvA(t,e){for(let A=0;A=e)return de.create(t.ranges.slice(0,A).concat(t.ranges.slice(A+1)),t.mainIndex==A?0:t.mainIndex-(t.mainIndex>A?1:0))}return null}Sc.dragstart=(t,e)=>{let{selection:{main:A}}=t.state;if(e.target.draggable){let n=t.docView.tile.nearest(e.target);if(n&&n.isWidget()){let o=n.posAtStart,a=o+n.length;(o>=A.to||a<=A.from)&&(A=de.range(o,a))}}let{inputState:i}=t;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=A,e.dataTransfer&&(e.dataTransfer.setData("Text",kD(t.state,nF,t.state.sliceDoc(A.from,A.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Sc.dragend=t=>(t.inputState.draggedContent=null,!1);function JX(t,e,A,i){if(A=kD(t.state,iF,A),!A)return;let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=t.inputState,a=i&&o&&HvA(t,e)?{from:o.from,to:o.to}:null,r={from:n,insert:A},s=t.state.changes(a?[a,r]:r);t.focus(),t.dispatch({changes:s,selection:{anchor:s.mapPos(n,-1),head:s.mapPos(n,1)},userEvent:a?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Sc.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let A=e.dataTransfer.files;if(A&&A.length){let i=Array(A.length),n=0,o=()=>{++n==A.length&&JX(t,e,i.filter(a=>a!=null).join(t.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(r.result)||(i[a]=r.result),o()},r.readAsText(A[a])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return JX(t,e,i,!0),!0}return!1};Sc.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let A=T$?null:e.clipboardData;return A?(H$(t,A.getData("text/plain")||A.getData("text/uri-list")),!0):(PvA(t),!1)};function WvA(t,e){let A=t.dom.parentNode;if(!A)return;let i=A.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),t.focus()},50)}function ZvA(t){let e=[],A=[],i=!1;for(let n of t.selection.ranges)n.empty||(e.push(t.sliceDoc(n.from,n.to)),A.push(n));if(!e.length){let n=-1;for(let{from:o}of t.selection.ranges){let a=t.doc.lineAt(o);a.number>n&&(e.push(a.text),A.push({from:a.from,to:Math.min(t.doc.length,a.to+1)})),n=a.number}i=!0}return{text:kD(t,nF,e.join(t.lineBreak)),ranges:A,linewise:i}}var xN=null;Sc.copy=Sc.cut=(t,e)=>{let A=DQ(t.root);if(A&&!P3(t.contentDOM,A))return!1;let{text:i,ranges:n,linewise:o}=ZvA(t.state);if(!i&&!o)return!1;xN=o?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let a=T$?null:e.clipboardData;return a?(a.clearData(),a.setData("text/plain",i),!0):(WvA(t,i),!1)};var O$=hg.define();function P$(t,e){let A=[];for(let i of t.facet(v$)){let n=i(t,e);n&&A.push(n)}return A.length?t.update({effects:A,annotations:O$.of(!0)}):null}function j$(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let A=P$(t.state,e);A?t.dispatch(A):t.update([])}},10)}xl.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),j$(t)};xl.blur=t=>{t.observer.clearSelectionRange(),j$(t)};xl.compositionstart=xl.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};xl.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,gt.chrome&>.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};xl.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};Sc.beforeinput=(t,e)=>{var A,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let o=(A=e.dataTransfer)===null||A===void 0?void 0:A.getData("text/plain"),a=e.getTargetRanges();if(o&&a.length){let r=a[0],s=t.posAtDOM(r.startContainer,r.startOffset),g=t.posAtDOM(r.endContainer,r.endOffset);return rF(t,{from:s,to:g,insert:t.state.toText(o)},null),!0}}let n;if(gt.chrome&>.android&&(n=J$.find(o=>o.inputType==e.inputType))&&(t.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let o=((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)>o+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return gt.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),gt.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>xl.compositionend(t,e),20),!1};var YX=new Set;function XvA(t){YX.has(t)||(YX.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var TX=["pre-wrap","normal","pre-line","break-spaces"],kQ=!1;function HX(){kQ=!1}var RN=class{constructor(e){this.lineWrapping=e,this.doc=bn.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,A){let i=this.doc.lineAt(A).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((A-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return TX.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let A=!1;for(let i=0;i-1,s=Math.abs(A-this.lineHeight)>.3||this.lineWrapping!=r||Math.abs(i-this.charWidth)>.1;if(this.lineWrapping=r,this.lineHeight=A,this.charWidth=i,this.textHeight=n,this.lineLength=o,s){this.heightSamples={};for(let g=0;g0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>oD&&(kQ=!0),this.height=e)}replace(e,A,i){return t.of(i)}decomposeLeft(e,A){A.push(this)}decomposeRight(e,A){A.push(this)}applyChanges(e,A,i,n){let o=this,a=i.doc;for(let r=n.length-1;r>=0;r--){let{fromA:s,toA:g,fromB:l,toB:C}=n[r],I=o.lineAt(s,oa.ByPosNoHeight,i.setDoc(A),0,0),d=I.to>=g?I:o.lineAt(g,oa.ByPosNoHeight,i,0,0);for(C+=d.to-g,g=d.to;r>0&&I.from<=n[r-1].toA;)s=n[r-1].fromA,l=n[r-1].fromB,r--,so*2){let r=e[A-1];r.break?e.splice(--A,1,r.left,null,r.right):e.splice(--A,1,r.left,r.right),i+=1+r.break,n-=r.size}else if(o>n*2){let r=e[i];r.break?e.splice(i,1,r.left,null,r.right):e.splice(i,1,r.left,r.right),i+=2+r.break,o-=r.size}else break;else if(n=o&&a(this.lineAt(0,oa.ByPos,i,n,o))}setMeasuredHeight(e){let A=e.heights[e.index++];A<0?(this.spaceAbove=-A,A=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(A)}updateHeight(e,A=0,i=!1,n){return n&&n.from<=A&&n.more&&this.setMeasuredHeight(n),this.outdated=!1,this}toString(){return`block(${this.length})`}},kl=class t extends uD{constructor(e,A,i){super(e,A,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,A){return new bc(A,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,A,i){let n=i[0];return i.length==1&&(n instanceof t||n instanceof MI&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof MI?n=new t(n.length,this.height,this.spaceAbove):n.height=this.height,this.outdated||(n.outdated=!1),n):Og.of(i)}updateHeight(e,A=0,i=!1,n){return n&&n.from<=A&&n.more?this.setMeasuredHeight(n):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},MI=class t extends Og{constructor(e){super(e,0)}heightMetrics(e,A){let i=e.doc.lineAt(A).number,n=e.doc.lineAt(A+this.length).number,o=n-i+1,a,r=0;if(e.lineWrapping){let s=Math.min(this.height,e.lineHeight*o);a=s/o,this.length>o+1&&(r=(this.height-s)/(this.length-o-1))}else a=this.height/o;return{firstLine:i,lastLine:n,perLine:a,perChar:r}}blockAt(e,A,i,n){let{firstLine:o,lastLine:a,perLine:r,perChar:s}=this.heightMetrics(A,n);if(A.lineWrapping){let g=n+(e0){let o=i[i.length-1];o instanceof t?i[i.length-1]=new t(o.length+n):i.push(null,new t(n-1))}if(e>0){let o=i[0];o instanceof t?i[0]=new t(e+o.length):i.unshift(new t(e-1),null)}return Og.of(i)}decomposeLeft(e,A){A.push(new t(e-1),null)}decomposeRight(e,A){A.push(null,new t(this.length-e-1))}updateHeight(e,A=0,i=!1,n){let o=A+this.length;if(n&&n.from<=A+this.length&&n.more){let a=[],r=Math.max(A,n.from),s=-1;for(n.from>A&&a.push(new t(n.from-A-1).updateHeight(e,A));r<=o&&n.more;){let l=e.doc.lineAt(r).length;a.length&&a.push(null);let C=n.heights[n.index++],I=0;C<0&&(I=-C,C=n.heights[n.index++]),s==-1?s=C:Math.abs(C-s)>=oD&&(s=-2);let d=new kl(l,C,I);d.outdated=!1,a.push(d),r+=l+1}r<=o&&a.push(null,new t(o-r).updateHeight(e,r));let g=Og.of(a);return(s<0||Math.abs(g.height-this.height)>=oD||Math.abs(s-this.heightMetrics(e,A).perLine)>=oD)&&(kQ=!0),hD(this,g)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(A,A+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},FN=class extends Og{constructor(e,A,i){super(e.length+A+i.length,e.height+i.height,A|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,A,i,n){let o=i+this.left.height;return er))return g;let l=A==oa.ByPosNoHeight?oa.ByPosNoHeight:oa.ByPos;return s?g.join(this.right.lineAt(r,l,i,a,r)):this.left.lineAt(r,l,i,n,o).join(g)}forEachLine(e,A,i,n,o,a){let r=n+this.left.height,s=o+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,A,i,r,s,a);else{let g=this.lineAt(s,oa.ByPos,i,n,o);e=e&&g.from<=A&&a(g),A>g.to&&this.right.forEachLine(g.to+1,A,i,r,s,a)}}replace(e,A,i){let n=this.left.length+this.break;if(Athis.left.length)return this.balanced(this.left,this.right.replace(e-n,A-n,i));let o=[];e>0&&this.decomposeLeft(e,o);let a=o.length;for(let r of i)o.push(r);if(e>0&&zX(o,a-1),A=i&&A.push(null)),e>i&&this.right.decomposeLeft(e-i,A)}decomposeRight(e,A){let i=this.left.length,n=i+this.break;if(e>=n)return this.right.decomposeRight(e-n,A);e2*A.size||A.size>2*e.size?Og.of(this.break?[e,null,A]:[e,A]):(this.left=hD(this.left,e),this.right=hD(this.right,A),this.setHeight(e.height+A.height),this.outdated=e.outdated||A.outdated,this.size=e.size+A.size,this.length=e.length+this.break+A.length,this)}updateHeight(e,A=0,i=!1,n){let{left:o,right:a}=this,r=A+o.length+this.break,s=null;return n&&n.from<=A+o.length&&n.more?s=o=o.updateHeight(e,A,i,n):o.updateHeight(e,A,i),n&&n.from<=r+a.length&&n.more?s=a=a.updateHeight(e,r,i,n):a.updateHeight(e,r,i),s?this.balanced(o,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function zX(t,e){let A,i;t[e]==null&&(A=t[e-1])instanceof MI&&(i=t[e+1])instanceof MI&&t.splice(e-1,3,new MI(A.length+1+i.length))}var A7A=5,_N=class t{constructor(e,A){this.pos=e,this.oracle=A,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,A){if(this.lineStart>-1){let i=Math.min(A,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof kl?n.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new kl(i-this.pos,-1,0)),this.writtenTo=i,A>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=A}point(e,A,i){if(e=A7A)&&this.addLineDeco(n,o,a)}else A>e&&this.span(e,A);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:A}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=A,this.writtenToe&&this.nodes.push(new kl(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,A){let i=new MI(A-e);return this.oracle.doc.lineAt(e).to==A&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof kl)return e;let A=new kl(0,-1,0);return this.nodes.push(A),A}addBlock(e){this.enterLine();let A=e.deco;A&&A.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,A&&A.endSide>0&&(this.covering=e)}addLineDeco(e,A,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=A,this.writtenTo=this.pos=this.pos+i}finish(e){let A=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(A instanceof kl)&&!this.isCovered?this.nodes.push(new kl(0,-1,0)):(this.writtenTol.clientHeight||l.scrollWidth>l.clientWidth)&&C.overflow!="visible"){let I=l.getBoundingClientRect();o=Math.max(o,I.left),a=Math.min(a,I.right),r=Math.max(r,I.top),s=Math.min(g==t.parentNode?n.innerHeight:s,I.bottom)}g=C.position=="absolute"||C.position=="fixed"?l.offsetParent:l.parentNode}else if(g.nodeType==11)g=g.host;else break;return{left:o-A.left,right:Math.max(o,a)-A.left,top:r-(A.top+e),bottom:Math.max(r,s)-(A.top+e)}}function i7A(t){let e=t.getBoundingClientRect(),A=t.ownerDocument.defaultView||window;return e.left0&&e.top0}function n7A(t,e){let A=t.getBoundingClientRect();return{left:0,right:A.right-A.left,top:e,bottom:A.bottom-(A.top+e)}}var X3=class{constructor(e,A,i,n){this.from=e,this.to=A,this.size=i,this.displaySize=n}static same(e,A){if(e.length!=A.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new RN(A),this.stateDeco=PX(e),this.heightMap=Og.empty().applyChanges(this.stateDeco,bn.empty,this.heightOracle.setDoc(e.doc),[new kc(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Dt.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:A}=this.state.selection;for(let i=0;i<=1;i++){let n=i?A.head:A.anchor;if(!e.some(({from:o,to:a})=>n>=o&&n<=a)){let{from:o,to:a}=this.lineBlockAt(n);e.push(new uQ(o,a))}}return this.viewports=e.sort((i,n)=>i.from-n.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?OX:new KN(this.heightOracle,this.heightMap,this.viewports),e.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,e=>{this.viewportLines.push(z3(e,this.scaler))})}update(e,A=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=PX(this.state);let n=e.changedRanges,o=kc.extendWithRanges(n,e7A(i,this.stateDeco,e?e.changes:Vr.empty(this.state.doc.length))),a=this.heightMap.height,r=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);HX(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=a||kQ)&&(e.flags|=2),r?(this.scrollAnchorPos=e.changes.mapPos(r.from,-1),this.scrollAnchorHeight=r.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let s=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(A&&(A.range.heads.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,A));let g=s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,e.flags|=this.updateForViewport(),(g||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),A&&(this.scrollTarget=A),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(b$)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let A=e.contentDOM,i=window.getComputedStyle(A),n=this.heightOracle,o=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?mo.RTL:mo.LTR;let a=this.heightOracle.mustRefreshForWrapping(o)||this.mustMeasureContent,r=A.getBoundingClientRect(),s=a||this.mustMeasureContent||this.contentDOMHeight!=r.height;this.contentDOMHeight=r.height,this.mustMeasureContent=!1;let g=0,l=0;if(r.width&&r.height){let{scaleX:M,scaleY:D}=c$(A,r);(M>.005&&Math.abs(this.scaleX-M)>.005||D>.005&&Math.abs(this.scaleY-D)>.005)&&(this.scaleX=M,this.scaleY=D,g|=16,a=s=!0)}let C=(parseInt(i.paddingTop)||0)*this.scaleY,I=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=C||this.paddingBottom!=I)&&(this.paddingTop=C,this.paddingBottom=I,g|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,g|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=I$(e.scrollDOM);let B=(this.printing?n7A:t7A)(A,this.paddingTop),E=B.top-this.pixelViewport.top,Q=B.bottom-this.pixelViewport.bottom;this.pixelViewport=B;let f=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(f!=this.inView&&(this.inView=f,f&&(s=!0)),!this.inView&&!this.scrollTarget&&!i7A(e.dom))return 0;let b=r.width;if((this.contentDOMWidth!=b||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=r.width,this.editorHeight=e.scrollDOM.clientHeight,g|=16),s){let M=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(M)&&(a=!0),a||n.lineWrapping&&Math.abs(b-this.contentDOMWidth)>n.charWidth){let{lineHeight:D,charWidth:F,textHeight:_}=e.docView.measureTextSize();a=D>0&&n.refresh(o,D,F,_,Math.max(5,b/F),M),a&&(e.docView.minWidth=0,g|=16)}E>0&&Q>0?l=Math.max(E,Q):E<0&&Q<0&&(l=Math.min(E,Q)),HX();for(let D of this.viewports){let F=D.from==this.viewport.from?M:e.docView.measureVisibleLineHeights(D);this.heightMap=(a?Og.empty().applyChanges(this.stateDeco,bn.empty,this.heightOracle,[new kc(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,a,new NN(D.from,F))}kQ&&(g|=2)}let S=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return S&&(g&2&&(g|=this.updateScaler()),this.viewport=this.getViewport(l,this.scrollTarget),g|=this.updateForViewport()),(g&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),g|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),g}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,A){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,o=this.heightOracle,{visibleTop:a,visibleBottom:r}=this,s=new uQ(n.lineAt(a-i*1e3,oa.ByHeight,o,0,0).from,n.lineAt(r+(1-i)*1e3,oa.ByHeight,o,0,0).to);if(A){let{head:g}=A.range;if(gs.to){let l=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),C=n.lineAt(g,oa.ByPos,o,0,0),I;A.y=="center"?I=(C.top+C.bottom)/2-l/2:A.y=="start"||A.y=="nearest"&&g=r+Math.max(10,Math.min(i,250)))&&n>a-2*1e3&&o>1,a=n<<1;if(this.defaultTextDirection!=mo.LTR&&!i)return[];let r=[],s=(l,C,I,d)=>{if(C-ll&&ff.from>=I.from&&f.to<=I.to&&Math.abs(f.from-l)f.fromb));if(!Q){if(CS.from<=C&&S.to>=C)){let S=A.moveToLineBoundary(de.cursor(C),!1,!0).head;S>l&&(C=S)}let f=this.gapSize(I,l,C,d),b=i||f<2e6?f:2e6;Q=new X3(l,C,f,b)}r.push(Q)},g=l=>{if(l.length2e6)for(let F of e)F.from>=l.from&&F.froml.from&&s(l.from,d,l,C),BA.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let A=this.stateDeco;this.lineGaps.length&&(A=A.concat(this.lineGapDeco));let i=[];to.spans(A,this.viewport.from,this.viewport.to,{span(o,a){i.push({from:o,to:a})},point(){}},20);let n=0;if(i.length!=this.visibleRanges.length)n=12;else for(let o=0;o=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(A=>A.from<=e&&A.to>=e)||z3(this.heightMap.lineAt(e,oa.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(A=>A.top<=e&&A.bottom>=e)||z3(this.heightMap.lineAt(this.scaler.fromDOM(e),oa.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let A=this.lineBlockAtHeight(e+8);return A.from>=this.viewport.from||this.viewportLines[0].top-e>200?A:this.viewportLines[0]}elementAtHeight(e){return z3(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},uQ=class{constructor(e,A){this.from=e,this.to=A}};function o7A(t,e,A){let i=[],n=t,o=0;return to.spans(A,t,e,{span(){},point(a,r){a>n&&(i.push({from:n,to:a}),o+=a-n),n=r}},20),n=1)return e[e.length-1].to;let i=Math.floor(t*A);for(let n=0;;n++){let{from:o,to:a}=e[n],r=a-o;if(i<=r)return o+i;i-=r}}function $5(t,e){let A=0;for(let{from:i,to:n}of t.ranges){if(e<=n){A+=e-i;break}A+=n-i}return A/t.total}function a7A(t,e){for(let A of t)if(e(A))return A}var OX={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function PX(t){let e=t.facet(MD).filter(i=>typeof i!="function"),A=t.facet(oF).filter(i=>typeof i!="function");return A.length&&e.push(to.join(A)),e}var KN=class t{constructor(e,A,i){let n=0,o=0,a=0;this.viewports=i.map(({from:r,to:s})=>{let g=A.lineAt(r,oa.ByPos,e,0,0).top,l=A.lineAt(s,oa.ByPos,e,0,0).bottom;return n+=l-g,{from:r,to:s,top:g,bottom:l,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(A.height-n);for(let r of this.viewports)r.domTop=a+(r.top-o)*this.scale,a=r.domBottom=r.domTop+(r.bottom-r.top),o=r.bottom}toDOM(e){for(let A=0,i=0,n=0;;A++){let o=AA.from==e.viewports[i].from&&A.to==e.viewports[i].to):!1}};function z3(t,e){if(e.scale==1)return t;let A=e.toDOM(t.top),i=e.toDOM(t.bottom);return new bc(t.from,t.length,A,i-A,Array.isArray(t._content)?t._content.map(n=>z3(n,e)):t._content)}var AD=We.define({combine:t=>t.join(" ")}),eN=We.define({combine:t=>t.indexOf(!0)>-1}),UN=Ml.newName(),q$=Ml.newName(),V$=Ml.newName(),W$={"&light":"."+q$,"&dark":"."+V$};function JN(t,e,A){return new Ml(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,n=>{if(n=="&")return t;if(!A||!A[n])throw new RangeError(`Unsupported selector: ${n}`);return A[n]}):t+" "+i}})}var r7A=JN("."+UN,{"&":{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":{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-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"}},W$),s7A={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},tN=gt.ie&>.ie_version<=11,YN=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new CN,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=e.contentDOM,this.observer=new MutationObserver(A=>{for(let i of A)this.queue.push(i);(gt.ie&>.ie_version<=11||gt.ios&&e.composing)&&A.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&>.android&&e.constructor.EDIT_CONTEXT!==!1&&!(gt.chrome&>.chrome_version<126)&&(this.editContext=new TN(e),e.state.facet(KC)&&(e.contentDOM.editContext=this.editContext.editContext)),tN&&(this.onCharData=A=>{this.queue.push({target:A.target,type:"characterData",oldValue:A.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 A;((A=this.view.docView)===null||A===void 0?void 0:A.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),A.length>0&&A[A.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(A=>{A.length>0&&A[A.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((A,i)=>A!=e[i]))){this.gapIntersection.disconnect();for(let A of e)this.gapIntersection.observe(A);this.gaps=e}}onSelectionChange(e){let A=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(KC)?i.root.activeElement!=this.dom:!P3(this.dom,n))return;let o=n.anchorNode&&i.docView.tile.nearest(n.anchorNode);if(o&&o.isWidget()&&o.widget.ignoreEvent(e)){A||(this.selectionChanged=!1);return}(gt.ie&>.ie_version<=11||gt.android&>.chrome)&&!i.state.selection.main.empty&&n.focusNode&&j3(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,A=DQ(e.root);if(!A)return!1;let i=gt.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&g7A(this.view,A)||A;if(!i||this.selectionRange.eq(i))return!1;let n=P3(this.dom,i);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let o=this.delayedAndroidKey;o&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=o.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&o.force&&wQ(this.dom,o.key,o.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:A,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 e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let A=-1,i=-1,n=!1;for(let o of e){let a=this.readMutation(o);a&&(a.typeOver&&(n=!0),A==-1?{from:A,to:i}=a:(A=Math.min(a.from,A),i=Math.max(a.to,i)))}return{from:A,to:i,typeOver:n}}readChange(){let{from:e,to:A,typeOver:i}=this.processRecords(),n=this.selectionChanged&&P3(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new MN(this.view,e,A,i);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let A=this.readChange();if(!A)return this.view.requestMeasure(),!1;let i=this.view.state,n=K$(this.view,A);return this.view.state==i&&(A.domChanged||A.newSel&&!QD(this.view.state.selection,A.newSel.main))&&this.view.update([]),n}readMutation(e){let A=this.view.docView.tile.nearest(e.target);if(!A||A.isWidget())return null;if(A.markDirty(e.type=="attributes"),e.type=="childList"){let i=jX(A,e.previousSibling||e.target.previousSibling,-1),n=jX(A,e.nextSibling||e.target.nextSibling,1);return{from:i?A.posAfter(i):A.posAtStart,to:n?A.posBefore(n):A.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:A.posAtStart,to:A.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(KC)!=e.state.facet(KC)&&(e.view.contentDOM.editContext=e.state.facet(KC)?this.editContext.editContext:null))}destroy(){var e,A,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(A=this.gapIntersection)===null||A===void 0||A.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let n of this.scrollTargets)n.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 jX(t,e,A){for(;e;){let i=Ha.get(e);if(i&&i.parent==t)return i;let n=e.parentNode;e=n!=t.dom?n:A>0?e.nextSibling:e.previousSibling}return null}function qX(t,e){let A=e.startContainer,i=e.startOffset,n=e.endContainer,o=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor,1);return j3(a.node,a.offset,n,o)&&([A,i,n,o]=[n,o,A,i]),{anchorNode:A,anchorOffset:i,focusNode:n,focusOffset:o}}function g7A(t,e){if(e.getComposedRanges){let n=e.getComposedRanges(t.root)[0];if(n)return qX(t,n)}let A=null;function i(n){n.preventDefault(),n.stopImmediatePropagation(),A=n.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",i,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",i,!0),A?qX(t,A):null}var TN=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let A=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let n=e.state.selection.main,{anchor:o,head:a}=n,r=this.toEditorPos(i.updateRangeStart),s=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:r,drifted:!1});let g=s-r>i.text.length;r==this.from&&othis.to&&(s=o);let l=U$(e.state.sliceDoc(r,s),i.text,(g?n.from:n.to)-r,g?"end":null);if(!l){let I=de.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));QD(I,n)||e.dispatch({selection:I,userEvent:"select"});return}let C={from:l.from+r,to:l.toA+r,insert:bn.of(i.text.slice(l.from,l.toB).split(` +`))};if((gt.mac||gt.android)&&C.from==a-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(C={from:r,to:s,insert:bn.of([i.text.replace("."," ")])}),this.pendingContextChange=C,!e.state.readOnly){let I=this.to-this.from+(C.to-C.from+C.insert.length);rF(e,C,de.single(this.toEditorPos(i.selectionStart,I),this.toEditorPos(i.selectionEnd,I)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),C.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(A.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(A.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let n=[],o=null;for(let a=this.toEditorPos(i.rangeStart),r=this.toEditorPos(i.rangeEnd);a{let n=[];for(let o of i.getTextFormats()){let a=o.underlineStyle,r=o.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(r)){let s=this.toEditorPos(o.rangeStart),g=this.toEditorPos(o.rangeEnd);if(s{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)A.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let n=DQ(i.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let A=0,i=!1,n=this.pendingContextChange;return e.changes.iterChanges((o,a,r,s,g)=>{if(i)return;let l=g.length-(a-o);if(n&&a>=n.to)if(n.from==o&&n.to==a&&n.insert.eq(g)){n=this.pendingContextChange=null,A+=l,this.to+=l;return}else n=null,this.revertPending(e.state);if(o+=A,a+=A,a<=this.from)this.from+=l,this.to+=l;else if(othis.to||this.to-this.from+g.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(o),this.toContextPos(a),g.toString()),this.to+=l}A+=l}),n&&!i&&this.revertPending(e.state),!i}update(e){let A=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||A)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:A}=e.selection.main;this.from=Math.max(0,A-1e4),this.to=Math.min(e.doc.length,A+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let A=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(A.from),this.toContextPos(A.from+A.insert.length),e.doc.sliceString(A.from,A.to))}setSelection(e){let{main:A}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,A.anchor))),n=this.toContextPos(A.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(i,n)}rangeIsValid(e){let{head:A}=e.selection.main;return!(this.from>0&&A-this.from<500||this.to1e4*3)}toEditorPos(e,A=this.to-this.from){e=Math.min(e,A);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let A=this.composing;return A&&A.drifted?A.contextBase+(e-A.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},ii=(()=>{class t{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(A={}){var i;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),A.parent&&A.parent.appendChild(this.dom);let{dispatch:n}=A;this.dispatchTransactions=A.dispatchTransactions||n&&(o=>o.forEach(a=>n(a,this)))||(o=>this.update(o)),this.dispatch=this.dispatch.bind(this),this._root=A.root||ivA(A.parent)||document,this.viewState=new fD(A.state||$a.create(A)),A.scrollTo&&A.scrollTo.is(V5)&&(this.viewState.scrollTarget=A.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(hQ).map(o=>new V3(o));for(let o of this.plugins)o.update(this);this.observer=new YN(this),this.inputState=new kN(this),this.inputState.ensureHandlers(this.plugins),this.docView=new BD(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent=!0,this.requestMeasure()})}dispatch(...A){let i=A.length==1&&A[0]instanceof x0?A:A.length==1&&Array.isArray(A[0])?A[0]:[this.state.update(...A)];this.dispatchTransactions(i,this)}update(A){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,n=!1,o,a=this.state;for(let d of A){if(d.startState!=a)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");a=d.state}if(this.destroyed){this.viewState.state=a;return}let r=this.hasFocus,s=0,g=null;A.some(d=>d.annotation(O$))?(this.inputState.notifiedFocused=r,s=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,g=P$(a,r),g||(s=1));let l=this.observer.delayedAndroidKey,C=null;if(l?(this.observer.clearDelayedAndroidKey(),C=this.observer.readChange(),(C&&!this.state.doc.eq(a.doc)||!this.state.selection.eq(a.selection))&&(C=null)):this.observer.clear(),a.facet($a.phrases)!=this.state.facet($a.phrases))return this.setState(a);o=ID.create(this,a,A),o.flags|=s;let I=this.viewState.scrollTarget;try{this.updateState=2;for(let d of A){if(I&&(I=I.map(d.changes)),d.scrollIntoView){let{main:B}=d.state.selection;I=new q3(B.empty?B:de.cursor(B.head,B.head>B.anchor?-1:1))}for(let B of d.effects)B.is(V5)&&(I=B.value.clip(this.state))}this.viewState.update(o,I),this.bidiCache=mD.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),i=this.docView.update(o),this.state.facet(T3)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(A),this.docView.updateSelection(i,A.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(AD)!=o.state.facet(AD)&&(this.viewState.mustMeasureContent=!0),(i||n||I||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!o.empty)for(let d of this.state.facet(ZR))try{d(o)}catch(B){Sr(this.state,B,"update listener")}(g||C)&&Promise.resolve().then(()=>{g&&this.state==g.startState&&this.dispatch(g),C&&!K$(this,C)&&l.force&&wQ(this.contentDOM,l.key,l.keyCode)})}setState(A){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=A;return}this.updateState=2;let i=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new fD(A),this.plugins=A.facet(hQ).map(n=>new V3(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new BD(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(A){let i=A.startState.facet(hQ),n=A.state.facet(hQ);if(i!=n){let o=[];for(let a of n){let r=i.indexOf(a);if(r<0)o.push(new V3(a));else{let s=this.plugins[r];s.mustUpdate=A,o.push(s)}}for(let a of this.plugins)a.mustUpdate!=A&&a.destroy(this);this.plugins=o,this.pluginMap.clear()}else for(let o of this.plugins)o.mustUpdate=A;for(let o=0;o-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,A&&this.observer.forceFlush();let i=null,n=this.scrollDOM,o=n.scrollTop*this.scaleY,{scrollAnchorPos:a,scrollAnchorHeight:r}=this.viewState;Math.abs(o-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let s=0;;s++){if(r<0)if(I$(n))a=-1,r=this.viewState.heightMap.height;else{let B=this.viewState.scrollAnchorAt(o);a=B.from,r=B.top}this.updateState=1;let g=this.viewState.measure(this);if(!g&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(s>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];g&4||([this.measureRequests,l]=[l,this.measureRequests]);let C=l.map(B=>{try{return B.read(this)}catch(E){return Sr(this.state,E),VX}}),I=ID.create(this,this.state,[]),d=!1;I.flags|=g,i?i.flags|=g:i=I,this.updateState=2,I.empty||(this.updatePlugins(I),this.inputState.update(I),this.updateAttrs(),d=this.docView.update(I),d&&this.docViewUpdate());for(let B=0;B1||E<-1){o=o+E,n.scrollTop=o/this.scaleY,r=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let s of this.state.facet(ZR))s(i)}get themeClasses(){return UN+" "+(this.state.facet(eN)?V$:q$)+" "+this.state.facet(AD)}updateAttrs(){let A=WX(this,MX,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(KC)?"true":"false",class:"cm-content",style:`${gt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),WX(this,EN,i);let n=this.observer.ignore(()=>{let o=DX(this.contentDOM,this.contentAttrs,i),a=DX(this.dom,this.editorAttrs,A);return o||a});return this.editorAttrs=A,this.contentAttrs=i,n}showAnnouncements(A){let i=!0;for(let n of A)for(let o of n.effects)if(o.is(t.announce)){i&&(this.announceDOM.textContent=""),i=!1;let a=this.announceDOM.appendChild(document.createElement("div"));a.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(T3);let A=this.state.facet(t.cspNonce);Ml.mount(this.root,this.styleModules.concat(r7A).reverse(),A?{nonce:A}: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(A){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),A){if(this.measureRequests.indexOf(A)>-1)return;if(A.key!=null){for(let i=0;in.plugin==A)||null),i&&i.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(A){return this.readMeasured(),this.viewState.elementAtHeight(A)}lineBlockAtHeight(A){return this.readMeasured(),this.viewState.lineBlockAtHeight(A)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(A){return this.viewState.lineBlockAt(A)}get contentHeight(){return this.viewState.contentHeight}moveByChar(A,i,n){return AN(this,A,NX(this,A,i,n))}moveByGroup(A,i){return AN(this,A,NX(this,A,i,n=>RvA(this,A.head,n)))}visualLineSide(A,i){let n=this.bidiSpans(A),o=this.textDirectionAt(A.from),a=n[i?n.length-1:0];return de.cursor(a.side(i,o)+A.from,a.forward(!i,o)?1:-1)}moveToLineBoundary(A,i,n=!0){return xvA(this,A,i,n)}moveVertically(A,i,n){return AN(this,A,NvA(this,A,i,n))}domAtPos(A,i=1){return this.docView.domAtPos(A,i)}posAtDOM(A,i=0){return this.docView.posFromDOM(A,i)}posAtCoords(A,i=!0){this.readMeasured();let n=vN(this,A,i);return n&&n.pos}posAndSideAtCoords(A,i=!0){return this.readMeasured(),vN(this,A,i)}coordsAtPos(A,i=1){this.readMeasured();let n=this.docView.coordsAt(A,i);if(!n||n.left==n.right)return n;let o=this.state.doc.lineAt(A),a=this.bidiSpans(o),r=a[Mc.find(a,A-o.from,-1,i)];return CD(n,r.dir==mo.LTR==i>0)}coordsForChar(A){return this.readMeasured(),this.docView.coordsForChar(A)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(A){return!this.state.facet(bX)||Athis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(A))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(A){if(A.length>l7A)return u$(A.length);let i=this.textDirectionAt(A.from),n;for(let a of this.bidiCache)if(a.from==A.from&&a.dir==i&&(a.fresh||h$(a.isolates,n=kX(this,A))))return a.order;n||(n=kX(this,A));let o=cvA(A.text,i,n);return this.bidiCache.push(new mD(A.from,A.to,i,n,!0,o)),o}get hasFocus(){var A;return(this.dom.ownerDocument.hasFocus()||gt.safari&&((A=this.inputState)===null||A===void 0?void 0:A.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{C$(this.contentDOM),this.docView.updateSelection()})}setRoot(A){this._root!=A&&(this._root=A,this.observer.setWindow((A.nodeType==9?A:A.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let A of this.plugins)A.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(A,i={}){return V5.of(new q3(typeof A=="number"?de.cursor(A):A,i.y,i.x,i.yMargin,i.xMargin))}scrollSnapshot(){let{scrollTop:A,scrollLeft:i}=this.scrollDOM,n=this.viewState.scrollAnchorAt(A);return V5.of(new q3(de.cursor(n.from),"start","start",n.top-A,i,!0))}setTabFocusMode(A){A==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof A=="boolean"?this.inputState.tabFocusMode=A?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+A)}static domEventHandlers(A){return _o.define(()=>({}),{eventHandlers:A})}static domEventObservers(A){return _o.define(()=>({}),{eventObservers:A})}static theme(A,i){let n=Ml.newName(),o=[AD.of(n),T3.of(JN(`.${n}`,A))];return i&&i.dark&&o.push(eN.of(!0)),o}static baseTheme(A){return vc.lowest(T3.of(JN("."+UN,A,W$)))}static findFromDOM(A){var i;let n=A.querySelector(".cm-content"),o=n&&Ha.get(n)||Ha.get(A);return((i=o?.root)===null||i===void 0?void 0:i.view)||null}}return t.styleModule=T3,t.inputHandler=y$,t.clipboardInputFilter=iF,t.clipboardOutputFilter=nF,t.scrollHandler=M$,t.focusChangeEffect=v$,t.perLineTextDirection=bX,t.exceptionSink=D$,t.updateListener=ZR,t.editable=KC,t.mouseSelectionStyle=w$,t.dragMovesSelection=p$,t.clickAddsSelectionRange=m$,t.decorations=MD,t.blockWrappers=S$,t.outerDecorations=oF,t.atomicRanges=rf,t.bidiIsolatedRanges=x$,t.scrollMargins=R$,t.darkTheme=eN,t.cspNonce=We.define({combine:e=>e.length?e[0]:""}),t.contentAttributes=EN,t.editorAttributes=MX,t.lineWrapping=t.contentAttributes.of({class:"cm-lineWrapping"}),t.announce=Hi.define(),t})(),l7A=4096,VX={},mD=class t{constructor(e,A,i,n,o,a){this.from=e,this.to=A,this.dir=i,this.isolates=n,this.fresh=o,this.order=a}static update(e,A){if(A.empty&&!e.some(o=>o.fresh))return e;let i=[],n=e.length?e[e.length-1].dir:mo.LTR;for(let o=Math.max(0,e.length-10);o=0;n--){let o=i[n],a=typeof o=="function"?o(t):o;a&&AF(a,A)}return A}var c7A=gt.mac?"mac":gt.windows?"win":gt.linux?"linux":"key";function C7A(t,e){let A=t.split(/-(?!$)/),i=A[A.length-1];i=="Space"&&(i=" ");let n,o,a,r;for(let s=0;si.concat(n),[]))),A}function X$(t,e,A){return $$(Z$(t.state),e,t,A)}var vI=null,d7A=4e3;function B7A(t,e=c7A){let A=Object.create(null),i=Object.create(null),n=(a,r)=>{let s=i[a];if(s==null)i[a]=r;else if(s!=r)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},o=(a,r,s,g,l)=>{var C,I;let d=A[a]||(A[a]=Object.create(null)),B=r.split(/ (?!$)/).map(f=>C7A(f,e));for(let f=1;f{let M=vI={view:S,prefix:b,scope:a};return setTimeout(()=>{vI==M&&(vI=null)},d7A),!0}]})}let E=B.join(" ");n(E,!1);let Q=d[E]||(d[E]={preventDefault:!1,stopPropagation:!1,run:((I=(C=d._any)===null||C===void 0?void 0:C.run)===null||I===void 0?void 0:I.slice())||[]});s&&Q.run.push(s),g&&(Q.preventDefault=!0),l&&(Q.stopPropagation=!0)};for(let a of t){let r=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let g of r){let l=A[g]||(A[g]=Object.create(null));l._any||(l._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:C}=a;for(let I in l)l[I].run.push(d=>C(d,HN))}let s=a[e]||a.key;if(s)for(let g of r)o(g,s,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(g,"Shift-"+s,a.shift,a.preventDefault,a.stopPropagation)}return A}var HN=null;function $$(t,e,A,i){HN=e;let n=uX(e),o=Zr(n,0),a=zg(o)==n.length&&n!=" ",r="",s=!1,g=!1,l=!1;vI&&vI.view==A&&vI.scope==i&&(r=vI.prefix+" ",Y$.indexOf(e.keyCode)<0&&(g=!0,vI=null));let C=new Set,I=Q=>{if(Q){for(let f of Q.run)if(!C.has(f)&&(C.add(f),f(A)))return Q.stopPropagation&&(l=!0),!0;Q.preventDefault&&(Q.stopPropagation&&(l=!0),g=!0)}return!1},d=t[i],B,E;return d&&(I(d[r+eD(n,e,!a)])?s=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(gt.windows&&e.ctrlKey&&e.altKey)&&!(gt.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(B=GC[e.keyCode])&&B!=n?(I(d[r+eD(B,e,!0)])||e.shiftKey&&(E=QQ[e.keyCode])!=n&&E!=B&&I(d[r+eD(E,e,!1)]))&&(s=!0):a&&e.shiftKey&&I(d[r+eD(n,e,!0)])&&(s=!0),!s&&I(d._any)&&(s=!0)),g&&(s=!0),s&&l&&e.stopPropagation(),HN=null,s}var of=class t{constructor(e,A,i,n,o){this.className=e,this.left=A,this.top=i,this.width=n,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,A){return A.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,A,i){if(i.empty){let n=e.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let o=AAA(e);return[new t(A,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}else return E7A(e,A,i)}};function AAA(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==mo.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function XX(t,e,A,i){let n=t.coordsAtPos(e,A*2);if(!n)return i;let o=t.dom.getBoundingClientRect(),a=(n.top+n.bottom)/2,r=t.posAtCoords({x:o.left+1,y:a}),s=t.posAtCoords({x:o.right-1,y:a});return r==null||s==null?i:{from:Math.max(i.from,Math.min(r,s)),to:Math.min(i.to,Math.max(r,s))}}function E7A(t,e,A){if(A.to<=t.viewport.from||A.from>=t.viewport.to)return[];let i=Math.max(A.from,t.viewport.from),n=Math.min(A.to,t.viewport.to),o=t.textDirection==mo.LTR,a=t.contentDOM,r=a.getBoundingClientRect(),s=AAA(t),g=a.querySelector(".cm-line"),l=g&&window.getComputedStyle(g),C=r.left+(l?parseInt(l.paddingLeft)+Math.min(0,parseInt(l.textIndent)):0),I=r.right-(l?parseInt(l.paddingRight):0),d=yN(t,i,1),B=yN(t,n,-1),E=d.type==Xr.Text?d:null,Q=B.type==Xr.Text?B:null;if(E&&(t.lineWrapping||d.widgetLineBreaks)&&(E=XX(t,i,1,E)),Q&&(t.lineWrapping||B.widgetLineBreaks)&&(Q=XX(t,n,-1,Q)),E&&Q&&E.from==Q.from&&E.to==Q.to)return b(S(A.from,A.to,E));{let D=E?S(A.from,null,E):M(d,!1),F=Q?S(null,A.to,Q):M(B,!0),_=[];return(E||d).to<(Q||B).from-(E&&Q?1:0)||d.widgetLineBreaks>1&&D.bottom+t.defaultLineHeight/2O&&P.from=iA)break;hA>aA&&$(Math.max(sA,aA),D==null&&sA<=O,Math.min(hA,iA),F==null&&hA>=DA,oA.dir)}if(aA=BA.to+1,aA>=iA)break}return j.length==0&&$(O,D==null,DA,F==null,t.textDirection),{top:U,bottom:J,horizontal:j}}function M(D,F){let _=r.top+(F?D.top:D.bottom);return{top:_,bottom:_,horizontal:[]}}}function Q7A(t,e){return t.constructor==e.constructor&&t.eq(e)}var zN=class{constructor(e,A){this.view=e,this.layer=A,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),A.above&&this.dom.classList.add("cm-layer-above"),A.class&&this.dom.classList.add(A.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),A.mount&&A.mount(this.dom,e)}update(e){e.startState.facet(aD)!=e.state.facet(aD)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let A=0,i=e.facet(aD);for(;A!Q7A(A,this.drawn[i]))){let A=this.dom.firstChild,i=0;for(let n of e)n.update&&A&&n.constructor&&this.drawn[i].constructor&&n.update(A,this.drawn[i])?(A=A.nextSibling,i++):this.dom.insertBefore(n.draw(),A);for(;A;){let n=A.nextSibling;A.remove(),A=n}this.drawn=e,gt.safari&>.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},aD=We.define();function eAA(t){return[_o.define(e=>new zN(e,t)),aD.of(t)]}var af=We.define({combine(t){return kr(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,A)=>Math.min(e,A),drawRangeCursor:(e,A)=>e||A})}});function tAA(t={}){return[af.of(t),h7A,u7A,f7A,b$.of(!0)]}function iAA(t){return t.startState.facet(af)!=t.state.facet(af)}var h7A=eAA({above:!0,markers(t){let{state:e}=t,A=e.facet(af),i=[];for(let n of e.selection.ranges){let o=n==e.selection.main;if(n.empty||A.drawRangeCursor){let a=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",r=n.empty?n:de.cursor(n.head,n.head>n.anchor?-1:1);for(let s of of.forRange(t,a,r))i.push(s)}}return i},update(t,e){t.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let A=iAA(t);return A&&$X(t.state,e),t.docChanged||t.selectionSet||A},mount(t,e){$X(e.state,t)},class:"cm-cursorLayer"});function $X(t,e){e.style.animationDuration=t.facet(af).cursorBlinkRate+"ms"}var u7A=eAA({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:of.forRange(t,"cm-selectionBackground",e)).reduce((e,A)=>e.concat(A))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||iAA(t)},class:"cm-selectionLayer"}),f7A=vc.highest(ii.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"}}}})),nAA=Hi.define({map(t,e){return t==null?null:e.mapPos(t)}}),O3=wa.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((A,i)=>i.is(nAA)?i.value:A,t)}}),m7A=_o.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let A=t.state.field(O3);A==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(O3)!=A||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(O3),A=e!=null&&t.coordsAtPos(e);if(!A)return null;let i=t.scrollDOM.getBoundingClientRect();return{left:A.left-i.left+t.scrollDOM.scrollLeft*t.scaleX,top:A.top-i.top+t.scrollDOM.scrollTop*t.scaleY,height:A.bottom-A.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:A}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/A+"px",this.cursor.style.height=t.height/A+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(O3)!=t&&this.view.dispatch({effects:nAA.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function oAA(){return[O3,m7A]}function A$(t,e,A,i,n){e.lastIndex=0;for(let o=t.iterRange(A,i),a=A,r;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;r=e.exec(o.value);)n(a+r.index,r)}function p7A(t,e){let A=t.visibleRanges;if(A.length==1&&A[0].from==t.viewport.from&&A[0].to==t.viewport.to)return A;let i=[];for(let{from:n,to:o}of A)n=Math.max(t.state.doc.lineAt(n).from,n-e),o=Math.min(t.state.doc.lineAt(o).to,o+e),i.length&&i[i.length-1].to>=n?i[i.length-1].to=o:i.push({from:n,to:o});return i}var ON=class{constructor(e){let{regexp:A,decoration:i,decorate:n,boundary:o,maxLength:a=1e3}=e;if(!A.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=A,n)this.addMatch=(r,s,g,l)=>n(l,g,g+r[0].length,r,s);else if(typeof i=="function")this.addMatch=(r,s,g,l)=>{let C=i(r,s,g);C&&l(g,g+r[0].length,C)};else if(i)this.addMatch=(r,s,g,l)=>l(g,g+r[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=o,this.maxLength=a}createDeco(e){let A=new Wr,i=A.add.bind(A);for(let{from:n,to:o}of p7A(e,this.maxLength))A$(e.state.doc,this.regexp,n,o,(a,r)=>this.addMatch(r,e,a,i));return A.finish()}updateDeco(e,A){let i=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((o,a,r,s)=>{s>=e.view.viewport.from&&r<=e.view.viewport.to&&(i=Math.min(r,i),n=Math.max(s,n))}),e.viewportMoved||n-i>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,A.map(e.changes),i,n):A}updateRange(e,A,i,n){for(let o of e.visibleRanges){let a=Math.max(o.from,i),r=Math.min(o.to,n);if(r>=a){let s=e.state.doc.lineAt(a),g=s.tos.from;a--)if(this.boundary.test(s.text[a-1-s.from])){l=a;break}for(;rI.push(f.range(E,Q));if(s==g)for(this.regexp.lastIndex=l-s.from;(d=this.regexp.exec(s.text))&&d.indexthis.addMatch(Q,e,E,B));A=A.update({filterFrom:l,filterTo:C,filter:(E,Q)=>EC,add:I})}}return A}},PN=/x/.unicode!=null?"gu":"g",w7A=new RegExp(`[\0-\b +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,PN),D7A={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"},iN=null;function y7A(){var t;if(iN==null&&typeof document<"u"&&document.body){let e=document.body.style;iN=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return iN||!1}var rD=We.define({combine(t){let e=kr(t,{render:null,specialChars:w7A,addSpecialChars:null});return(e.replaceTabs=!y7A())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,PN)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,PN)),e}});function aAA(t={}){return[rD.of(t),v7A()]}var e$=null;function v7A(){return e$||(e$=_o.fromClass(class{constructor(t){this.view=t,this.decorations=Dt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(rD)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new ON({regexp:t.specialChars,decoration:(e,A,i)=>{let{doc:n}=A.state,o=Zr(e[0],0);if(o==9){let a=n.lineAt(i),r=A.state.tabSize,s=LC(a.text,r,i-a.from);return Dt.replace({widget:new qN((r-s%r)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=Dt.replace({widget:new jN(t,o)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(rD);t.startState.facet(rD)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}var b7A="\u2022";function M7A(t){return t>=32?b7A:t==10?"\u2424":String.fromCharCode(9216+t)}var jN=class extends fg{constructor(e,A){super(),this.options=e,this.code=A}eq(e){return e.code==this.code}toDOM(e){let A=M7A(this.code),i=e.state.phrase("Control character")+" "+(D7A[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,A);if(n)return n;let o=document.createElement("span");return o.textContent=A,o.title=i,o.setAttribute("aria-label",i),o.className="cm-specialChar",o}ignoreEvent(){return!1}},qN=class extends fg{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function rAA(){return S7A}var k7A=Dt.line({class:"cm-activeLine"}),S7A=_o.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,A=[];for(let i of t.state.selection.ranges){let n=t.lineBlockAt(i.head);n.from>e&&(A.push(k7A.range(n.from)),e=n.from)}return Dt.set(A)}},{decorations:t=>t.decorations});var VN=2e3;function x7A(t,e,A){let i=Math.min(e.line,A.line),n=Math.max(e.line,A.line),o=[];if(e.off>VN||A.off>VN||e.col<0||A.col<0){let a=Math.min(e.off,A.off),r=Math.max(e.off,A.off);for(let s=i;s<=n;s++){let g=t.doc.line(s);g.length<=r&&o.push(de.range(g.from+a,g.to+r))}}else{let a=Math.min(e.col,A.col),r=Math.max(e.col,A.col);for(let s=i;s<=n;s++){let g=t.doc.line(s),l=j5(g.text,a,t.tabSize,!0);if(l<0)o.push(de.cursor(g.to));else{let C=j5(g.text,r,t.tabSize);o.push(de.range(g.from+l,g.from+C))}}}return o}function R7A(t,e){let A=t.coordsAtPos(t.viewport.from);return A?Math.round(Math.abs((A.left-e)/t.defaultCharacterWidth)):-1}function t$(t,e){let A=t.posAtCoords({x:e.clientX,y:e.clientY},!1),i=t.state.doc.lineAt(A),n=A-i.from,o=n>VN?-1:n==i.length?R7A(t,e.clientX):LC(i.text,t.state.tabSize,A-i.from);return{line:i.number,col:o,off:n}}function N7A(t,e){let A=t$(t,e),i=t.state.selection;return A?{update(n){if(n.docChanged){let o=n.changes.mapPos(n.startState.doc.line(A.line).from),a=n.state.doc.lineAt(o);A={line:a.number,col:A.col,off:Math.min(A.off,a.length)},i=i.map(n.changes)}},get(n,o,a){let r=t$(t,n);if(!r)return i;let s=x7A(t.state,A,r);return s.length?a?de.create(s.concat(i.ranges)):de.create(s):i}}:null}function sAA(t){let e=t?.eventFilter||(A=>A.altKey&&A.button==0);return ii.mouseSelectionStyle.of((A,i)=>e(i)?N7A(A,i):null)}var F7A={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},_7A={style:"cursor: crosshair"};function gAA(t={}){let[e,A]=F7A[t.key||"Alt"],i=_o.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||A(n))},keyup(n){(n.keyCode==e||!A(n))&&this.set(!1)},mousemove(n){this.set(A(n))}}});return[i,ii.contentAttributes.of(n=>{var o;return!((o=n.plugin(i))===null||o===void 0)&&o.isDown?_7A:null})]}var tD="-10000px",pD=class{constructor(e,A,i,n){this.facet=A,this.createTooltipView=i,this.removeTooltipView=n,this.input=e.state.facet(A),this.tooltips=this.input.filter(a=>a);let o=null;this.tooltipViews=this.tooltips.map(a=>o=i(a,o))}update(e,A){var i;let n=e.state.facet(this.facet),o=n.filter(s=>s);if(n===this.input){for(let s of this.tooltipViews)s.update&&s.update(e);return!1}let a=[],r=A?[]:null;for(let s=0;sA[g]=s),A.length=r.length),this.input=n,this.tooltips=o,this.tooltipViews=a,!0}};function L7A(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var nN=We.define({combine:t=>{var e,A,i;return{position:gt.ios?"absolute":((e=t.find(n=>n.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((A=t.find(n=>n.parent))===null||A===void 0?void 0:A.parent)||null,tooltipSpace:((i=t.find(n=>n.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||L7A}}}),i$=new WeakMap,sF=_o.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(nN);this.position=e.position,this.parent=e.parent,this.classes=t.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 pD(t,xQ,(A,i)=>this.createTooltip(A,i),A=>{this.resizeObserver&&this.resizeObserver.unobserve(A.dom),A.dom.remove()}),this.above=this.manager.tooltips.map(A=>!!A.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(A=>{Date.now()>this.lastTransaction-50&&A.length>0&&A[A.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.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 t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let A=e||t.geometryChanged,i=t.state.facet(nN);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let n of this.manager.tooltipViews)n.dom.style.position=this.position;A=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let n of this.manager.tooltipViews)this.container.appendChild(n.dom);A=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);A&&this.maybeMeasure()}createTooltip(t,e){let A=t.create(this.view),i=e?e.dom:null;if(A.dom.classList.add("cm-tooltip"),t.arrow&&!A.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",A.dom.appendChild(n)}return A.dom.style.position=this.position,A.dom.style.top=tD,A.dom.style.left="0px",this.container.insertBefore(A.dom,i),A.mount&&A.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(A.dom),A}destroy(){var t,e,A;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(t=i.destroy)===null||t===void 0||t.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(A=this.intersectionObserver)===null||A===void 0||A.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,A=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(gt.safari){let a=o.getBoundingClientRect();A=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else A=!!o.offsetParent&&o.offsetParent!=this.container.ownerDocument.body}if(A||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(t=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),n=aF(this.view);return{visible:{left:i.left+n.left,top:i.top+n.top,right:i.right-n.right,bottom:i.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,a)=>{let r=this.manager.tooltipViews[a];return r.getCoords?r.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(nN).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:A}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let r of this.manager.tooltipViews)r.dom.style.position="absolute"}let{visible:A,space:i,scaleX:n,scaleY:o}=t,a=[];for(let r=0;r=Math.min(A.bottom,i.bottom)||C.rightMath.min(A.right,i.right)+.1)){l.style.top=tD;continue}let d=s.arrow?g.dom.querySelector(".cm-tooltip-arrow"):null,B=d?7:0,E=I.right-I.left,Q=(e=i$.get(g))!==null&&e!==void 0?e:I.bottom-I.top,f=g.offset||K7A,b=this.view.textDirection==mo.LTR,S=I.width>i.right-i.left?b?i.left:i.right-I.width:b?Math.max(i.left,Math.min(C.left-(d?14:0)+f.x,i.right-E)):Math.min(Math.max(i.left,C.left-E+(d?14:0)-f.x),i.right-E),M=this.above[r];!s.strictSide&&(M?C.top-Q-B-f.yi.bottom)&&M==i.bottom-C.bottom>C.top-i.top&&(M=this.above[r]=!M);let D=(M?C.top-i.top:i.bottom-C.bottom)-B;if(DS&&U.topF&&(F=M?U.top-Q-2-B:U.bottom+B+2);if(this.position=="absolute"?(l.style.top=(F-t.parent.top)/o+"px",n$(l,(S-t.parent.left)/n)):(l.style.top=F/o+"px",n$(l,S/n)),d){let U=C.left+(b?f.x:-f.x)-(S+14-7);d.style.left=U/n+"px"}g.overlap!==!0&&a.push({left:S,top:F,right:_,bottom:F+Q}),l.classList.toggle("cm-tooltip-above",M),l.classList.toggle("cm-tooltip-below",!M),g.positioned&&g.positioned(t.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 t of this.manager.tooltipViews)t.dom.style.top=tD}},{eventObservers:{scroll(){this.maybeMeasure()}}});function n$(t,e){let A=parseInt(t.style.left,10);(isNaN(A)||Math.abs(e-A)>1)&&(t.style.left=e+"px")}var G7A=ii.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:"14px",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"}}}),K7A={x:0,y:0},xQ=We.define({enables:[sF,G7A]}),wD=We.define({combine:t=>t.reduce((e,A)=>e.concat(A),[])}),DD=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new pD(e,wD,(A,i)=>this.createHostedView(A,i),A=>A.dom.remove())}createHostedView(e,A){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,A?A.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let A of this.manager.tooltipViews)A.mount&&A.mount(e);this.mounted=!0}positioned(e){for(let A of this.manager.tooltipViews)A.positioned&&A.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let A of this.manager.tooltipViews)(e=A.destroy)===null||e===void 0||e.call(A)}passProp(e){let A;for(let i of this.manager.tooltipViews){let n=i[e];if(n!==void 0){if(A===void 0)A=n;else if(A!==n)return}}return A}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},U7A=xQ.compute([wD],t=>{let e=t.facet(wD);return e.length===0?null:{pos:Math.min(...e.map(A=>A.pos)),end:Math.max(...e.map(A=>{var i;return(i=A.end)!==null&&i!==void 0?i:A.pos})),create:DD.create,above:e[0].above,arrow:e.some(A=>A.arrow)}}),WN=class{constructor(e,A,i,n,o){this.view=e,this.source=A,this.field=i,this.setHover=n,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){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 e=Date.now()-this.lastMove.time;er.bottom||A.xr.right+e.defaultCharacterWidth)return;let s=e.bidiSpans(e.state.doc.lineAt(n)).find(l=>l.from<=n&&l.to>=n),g=s&&s.dir==mo.RTL?-1:1;o=A.x{this.pending==r&&(this.pending=null,s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])}))},s=>Sr(e.state,s,"hover tooltip"))}else a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])})}get tooltip(){let e=this.view.plugin(sF),A=e?e.manager.tooltips.findIndex(i=>i.create==DD.create):-1;return A>-1?e.manager.tooltipViews[A]:null}mousemove(e){var A,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:n,tooltip:o}=this;if(n.length&&o&&!J7A(o.dom,e)||this.pending){let{pos:a}=n[0]||this.pending,r=(i=(A=n[0])===null||A===void 0?void 0:A.end)!==null&&i!==void 0?i:a;(a==r?this.view.posAtCoords(this.lastMove)!=a:!Y7A(this.view,a,r,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:A}=this;if(A.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let A=i=>{e.removeEventListener("mouseleave",A),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",A)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},iD=4;function J7A(t,e){let{left:A,right:i,top:n,bottom:o}=t.getBoundingClientRect(),a;if(a=t.querySelector(".cm-tooltip-arrow")){let r=a.getBoundingClientRect();n=Math.min(r.top,n),o=Math.max(r.bottom,o)}return e.clientX>=A-iD&&e.clientX<=i+iD&&e.clientY>=n-iD&&e.clientY<=o+iD}function Y7A(t,e,A,i,n,o){let a=t.scrollDOM.getBoundingClientRect(),r=t.documentTop+t.documentPadding.top+t.contentHeight;if(a.left>i||a.rightn||Math.min(a.bottom,r)=e&&s<=A}function lAA(t,e={}){let A=Hi.define(),i=wa.define({create(){return[]},update(n,o){if(n.length&&(e.hideOnChange&&(o.docChanged||o.selection)?n=[]:e.hideOn&&(n=n.filter(a=>!e.hideOn(o,a))),o.docChanged)){let a=[];for(let r of n){let s=o.changes.mapPos(r.pos,-1,qr.TrackDel);if(s!=null){let g=Object.assign(Object.create(null),r);g.pos=s,g.end!=null&&(g.end=o.changes.mapPos(g.end)),a.push(g)}}n=a}for(let a of o.effects)a.is(A)&&(n=a.value),a.is(T7A)&&(n=[]);return n},provide:n=>wD.from(n)});return{active:i,extension:[i,_o.define(n=>new WN(n,t,i,A,e.hoverTime||300)),U7A]}}function gF(t,e){let A=t.plugin(sF);if(!A)return null;let i=A.manager.tooltips.indexOf(e);return i<0?null:A.manager.tooltipViews[i]}var T7A=Hi.define();var o$=We.define({combine(t){let e,A;for(let i of t)e=e||i.topContainer,A=A||i.bottomContainer;return{topContainer:e,bottomContainer:A}}});function sf(t,e){let A=t.plugin(cAA),i=A?A.specs.indexOf(e):-1;return i>-1?A.panels[i]:null}var cAA=_o.fromClass(class{constructor(t){this.input=t.state.facet(Dd),this.specs=this.input.filter(A=>A),this.panels=this.specs.map(A=>A(t));let e=t.state.facet(o$);this.top=new fQ(t,!0,e.topContainer),this.bottom=new fQ(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(A=>A.top)),this.bottom.sync(this.panels.filter(A=>!A.top));for(let A of this.panels)A.dom.classList.add("cm-panel"),A.mount&&A.mount()}update(t){let e=t.state.facet(o$);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new fQ(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new fQ(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let A=t.state.facet(Dd);if(A!=this.input){let i=A.filter(s=>s),n=[],o=[],a=[],r=[];for(let s of i){let g=this.specs.indexOf(s),l;g<0?(l=s(t.view),r.push(l)):(l=this.panels[g],l.update&&l.update(t)),n.push(l),(l.top?o:a).push(l)}this.specs=i,this.panels=n,this.top.sync(o),this.bottom.sync(a);for(let s of r)s.dom.classList.add("cm-panel"),s.mount&&s.mount()}else for(let i of this.panels)i.update&&i.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>ii.scrollMargins.of(e=>{let A=e.plugin(t);return A&&{top:A.top.scrollMargin(),bottom:A.bottom.scrollMargin()}})}),fQ=class{constructor(e,A,i){this.view=e,this.top=A,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let A of this.panels)A.destroy&&e.indexOf(A)<0&&A.destroy();this.panels=e,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 A=this.container||this.view.dom;A.insertBefore(this.dom,this.top?A.firstChild:null)}let e=this.dom.firstChild;for(let A of this.panels)if(A.dom.parentNode==this.dom){for(;e!=A.dom;)e=a$(e);e=e.nextSibling}else this.dom.insertBefore(A.dom,e);for(;e;)e=a$(e)}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 e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function a$(t){let e=t.nextSibling;return t.remove(),e}var Dd=We.define({enables:cAA});function CAA(t,e){let A,i=new Promise(a=>A=a),n=a=>H7A(a,e,A);t.state.field(oN,!1)?t.dispatch({effects:IAA.of(n)}):t.dispatch({effects:Hi.appendConfig.of(oN.init(()=>[n]))});let o=dAA.of(n);return{close:o,result:i.then(a=>((t.win.queueMicrotask||(s=>t.win.setTimeout(s,10)))(()=>{t.state.field(oN).indexOf(n)>-1&&t.dispatch({effects:o})}),a))}}var oN=wa.define({create(){return[]},update(t,e){for(let A of e.effects)A.is(IAA)?t=[A.value].concat(t):A.is(dAA)&&(t=t.filter(i=>i!=A.value));return t},provide:t=>Dd.computeN([t],e=>e.field(t))}),IAA=Hi.define(),dAA=Hi.define();function H7A(t,e,A){let i=e.content?e.content(t,()=>a(null)):null;if(!i){if(i=io("form"),e.input){let r=io("input",e.input);/^(text|password|number|email|tel|url)$/.test(r.type)&&r.classList.add("cm-textfield"),r.name||(r.name="input"),i.appendChild(io("label",(e.label||"")+": ",r))}else i.appendChild(document.createTextNode(e.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(io("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let n=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let r=0;r{g.keyCode==27?(g.preventDefault(),a(null)):g.keyCode==13&&(g.preventDefault(),a(s))}),s.addEventListener("submit",g=>{g.preventDefault(),a(s)})}let o=io("div",i,io("button",{onclick:()=>a(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(o.className=e.class),o.classList.add("cm-dialog");function a(r){o.contains(o.ownerDocument.activeElement)&&t.focus(),A(r)}return{dom:o,top:e.top,mount:()=>{if(e.focus){let r;typeof e.focus=="string"?r=i.querySelector(e.focus):r=i.querySelector("input")||i.querySelector("button"),r&&"select"in r?r.select():r&&"focus"in r&&r.focus()}}}}var mg=class extends bl{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};mg.prototype.elementClass="";mg.prototype.toDOM=void 0;mg.prototype.mapMode=qr.TrackBefore;mg.prototype.startSide=mg.prototype.endSide=-1;mg.prototype.point=!0;var sD=We.define(),z7A=We.define(),O7A={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>to.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},$3=We.define();function SD(t){return[BAA(),$3.of(gA(gA({},O7A),t))]}var ZN=We.define({combine:t=>t.some(e=>e)});function BAA(t){let e=[P7A];return t&&t.fixed===!1&&e.push(ZN.of(!0)),e}var P7A=_o.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.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=t.state.facet($3).map(e=>new yD(t,e)),this.fixed=!t.state.facet(ZN);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.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(t){if(this.updateGutters(t)){let e=this.prevViewport,A=t.view.viewport,i=Math.min(e.to,A.to)-Math.max(e.from,A.from);this.syncGutters(i<(A.to-A.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(ZN)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let A=to.iter(this.view.state.facet(sD),this.view.viewport.from),i=[],n=this.gutters.map(o=>new $N(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(o.type)){let a=!0;for(let r of o.type)if(r.type==Xr.Text&&a){XN(A,i,r.from);for(let s of n)s.line(this.view,r,i);a=!1}else if(r.widget)for(let s of n)s.widget(this.view,r)}else if(o.type==Xr.Text){XN(A,i,o.from);for(let a of n)a.line(this.view,o,i)}else if(o.widget)for(let a of n)a.widget(this.view,o);for(let o of n)o.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet($3),A=t.state.facet($3),i=t.docChanged||t.heightChanged||t.viewportChanged||!to.eq(t.startState.facet(sD),t.state.facet(sD),t.view.viewport.from,t.view.viewport.to);if(e==A)for(let n of this.gutters)n.update(t)&&(i=!0);else{i=!0;let n=[];for(let o of A){let a=e.indexOf(o);a<0?n.push(new yD(this.view,o)):(this.gutters[a].update(t),n.push(this.gutters[a]))}for(let o of this.gutters)o.dom.remove(),n.indexOf(o)<0&&o.destroy();for(let o of n)o.config.side=="after"?this.getDOMAfter().appendChild(o.dom):this.dom.appendChild(o.dom);this.gutters=n}return i}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>ii.scrollMargins.of(e=>{let A=e.plugin(t);if(!A||A.gutters.length==0||!A.fixed)return null;let i=A.dom.offsetWidth*e.scaleX,n=A.domAfter?A.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==mo.LTR?{left:i,right:n}:{right:i,left:n}})});function r$(t){return Array.isArray(t)?t:[t]}function XN(t,e,A){for(;t.value&&t.from<=A;)t.from==A&&e.push(t.value),t.next()}var $N=class{constructor(e,A,i){this.gutter=e,this.height=i,this.i=0,this.cursor=to.iter(e.markers,A.from)}addElement(e,A,i){let{gutter:n}=this,o=(A.top-this.height)/e.scaleY,a=A.height/e.scaleY;if(this.i==n.elements.length){let r=new vD(e,a,o,i);n.elements.push(r),n.dom.appendChild(r.dom)}else n.elements[this.i].update(e,a,o,i);this.height=A.bottom,this.i++}line(e,A,i){let n=[];XN(this.cursor,n,A.from),i.length&&(n=n.concat(i));let o=this.gutter.config.lineMarker(e,A,n);o&&n.unshift(o);let a=this.gutter;n.length==0&&!a.config.renderEmptyElements||this.addElement(e,A,n)}widget(e,A){let i=this.gutter.config.widgetMarker(e,A.widget,A),n=i?[i]:null;for(let o of e.state.facet(z7A)){let a=o(e,A.widget,A);a&&(n||(n=[])).push(a)}n&&this.addElement(e,A,n)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let A=e.elements.pop();e.dom.removeChild(A.dom),A.destroy()}}},yD=class{constructor(e,A){this.view=e,this.config=A,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 A.domEventHandlers)this.dom.addEventListener(i,n=>{let o=n.target,a;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let s=o.getBoundingClientRect();a=(s.top+s.bottom)/2}else a=n.clientY;let r=e.lineBlockAtHeight(a-e.documentTop);A.domEventHandlers[i](e,r,n)&&n.preventDefault()});this.markers=r$(A.markers(e)),A.initialSpacer&&(this.spacer=new vD(e,0,0,[A.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let A=this.markers;if(this.markers=r$(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}let i=e.view.viewport;return!to.eq(this.markers,A,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},vD=class{constructor(e,A,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,A,i,n)}update(e,A,i,n){this.height!=A&&(this.height=A,this.dom.style.height=A+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),j7A(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,A){let i="cm-gutterElement",n=this.dom.firstChild;for(let o=0,a=0;;){let r=a,s=oo(r,s,g)||a(r,s,g):a}return i}})}}),Af=class extends mg{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function aN(t,e){return t.state.facet(mQ).formatNumber(e,t.state)}var W7A=$3.compute([mQ],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(q7A)},lineMarker(e,A,i){return i.some(n=>n.toDOM)?null:new Af(aN(e,e.state.doc.lineAt(A.from).number))},widgetMarker:(e,A,i)=>{for(let n of e.state.facet(V7A)){let o=n(e,A,i);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(mQ)!=e.state.facet(mQ),initialSpacer(e){return new Af(aN(e,s$(e.state.doc.lines)))},updateSpacer(e,A){let i=aN(A.view,s$(A.view.state.doc.lines));return i==e.number?e:new Af(i)},domEventHandlers:t.facet(mQ).domEventHandlers,side:"before"}));function EAA(t={}){return[mQ.of(t),BAA(),W7A]}function s$(t){let e=9;for(;e{let e=[],A=-1;for(let i of t.selection.ranges){let n=t.doc.lineAt(i.head).from;n>A&&(A=n,e.push(Z7A.range(n)))}return to.of(e)});function QAA(){return X7A}var $7A=0,gf=class{constructor(e,A){this.from=e,this.to=A}},yi=class{constructor(e={}){this.id=$7A++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ws.match(e)),A=>{let i=e(A);return i===void 0?null:[this,i]}}};yi.closedBy=new yi({deserialize:t=>t.split(" ")});yi.openedBy=new yi({deserialize:t=>t.split(" ")});yi.group=new yi({deserialize:t=>t.split(" ")});yi.isolate=new yi({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});yi.contextHash=new yi({perNode:!0});yi.lookAhead=new yi({perNode:!0});yi.mounted=new yi({perNode:!0});var yd=class{constructor(e,A,i,n=!1){this.tree=e,this.overlay=A,this.parser=i,this.bracketed=n}static get(e){return e&&e.props&&e.props[yi.mounted.id]}},AbA=Object.create(null),ws=class t{constructor(e,A,i,n=0){this.name=e,this.props=A,this.id=i,this.flags=n}static define(e){let A=e.props&&e.props.length?Object.create(null):AbA,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new t(e.name||"",A,e.id,i);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(n)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");A[o[0].id]=o[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let A=this.prop(yi.group);return A?A.indexOf(e)>-1:!1}return this.id==e}static match(e){let A=Object.create(null);for(let i in e)for(let n of i.split(" "))A[n]=e[i];return i=>{for(let n=i.prop(yi.group),o=-1;o<(n?n.length:0);o++){let a=A[o<0?i.name:n[o]];if(a)return a}}}};ws.none=new ws("",Object.create(null),0,8);var lf=class t{constructor(e){this.types=e;for(let A=0;A0;for(let s=this.cursor(a|xa.IncludeAnonymous);;){let g=!1;if(s.from<=o&&s.to>=n&&(!r&&s.type.isAnonymous||A(s)!==!1)){if(s.firstChild())continue;g=!0}for(;g&&i&&(r||!s.type.isAnonymous)&&i(s),!s.nextSibling();){if(!s.parent())return;g=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let A in this.props)e.push([+A,this.props[A]]);return e}balance(e={}){return this.children.length<=8?this:EF(ws.none,this.children,this.positions,0,this.children.length,0,this.length,(A,i,n)=>new t(this.type,A,i,n,this.propValues),e.makeTree||((A,i,n)=>new t(ws.none,A,i,n)))}static build(e){return tbA(e)}};za.empty=new za(ws.none,[],[],0);var lF=class t{constructor(e,A){this.buffer=e,this.index=A}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 t(this.buffer,this.index)}},SI=class t{constructor(e,A,i){this.buffer=e,this.length=A,this.set=i}get type(){return ws.none}toString(){let e=[];for(let A=0;A0));s=a[s+3]);return r}slice(e,A,i){let n=this.buffer,o=new Uint16Array(A-e),a=0;for(let r=e,s=0;r=e&&Ae;case 1:return A<=e&&i>e;case 2:return i>e;case 4:return!0}}function cf(t,e,A,i){for(var n;t.from==t.to||(A<1?t.from>=e:t.from>e)||(A>-1?t.to<=e:t.to0?s.length:-1;e!=l;e+=A){let C=s[e],I=g[e]+r.from;if(!(!(o&xa.EnterBracketed&&C instanceof za&&((a=yd.get(C))===null||a===void 0?void 0:a.overlay)===null&&(I>=i||I+C.length<=i))&&!mAA(n,i,I,I+C.length))){if(C instanceof SI){if(o&xa.ExcludeBuffers)continue;let d=C.findChild(0,C.buffer.length,A,i-I,n);if(d>-1)return new Cf(new CF(r,C,e,I),null,d)}else if(o&xa.IncludeAnonymous||!C.type.isAnonymous||BF(C)){let d;if(!(o&xa.IgnoreMounts)&&(d=yd.get(C))&&!d.overlay)return new t(d.tree,I,e,r);let B=new t(C,I,e,r);return o&xa.IncludeAnonymous||!B.type.isAnonymous?B:B.nextChild(A<0?C.children.length-1:0,A,i,n,o)}}}if(o&xa.IncludeAnonymous||!r.type.isAnonymous||(r.index>=0?e=r.index+A:e=A<0?-1:r._parent._tree.children.length,r=r._parent,!r))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,A,i=0){let n;if(!(i&xa.IgnoreOverlays)&&(n=yd.get(this._tree))&&n.overlay){let o=e-this.from,a=i&xa.EnterBracketed&&n.bracketed;for(let{from:r,to:s}of n.overlay)if((A>0||a?r<=o:r=o:s>o))return new t(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,A,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function uAA(t,e,A,i){let n=t.cursor(),o=[];if(!n.firstChild())return o;if(A!=null){for(let a=!1;!a;)if(a=n.type.is(A),!n.nextSibling())return o}for(;;){if(i!=null&&n.type.is(i))return o;if(n.type.is(e)&&o.push(n.node),!n.nextSibling())return i==null?o:[]}}function cF(t,e,A=e.length-1){for(let i=t;A>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[A]&&e[A]!=i.name)return!1;A--}}return!0}var CF=class{constructor(e,A,i,n){this.parent=e,this.buffer=A,this.index=i,this.start=n}},Cf=class t extends ND{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,A,i){super(),this.context=e,this._parent=A,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,A,i){let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],e,A-this.context.start,i);return o<0?null:new t(this.context,this,o)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,A,i=0){if(i&xa.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],A>0?1:-1,e-this.context.start,A);return o<0?null:new t(this.context,this,o)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,A=e.buffer[this.index+3];return A<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,A):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,A=this._parent?this._parent.index+4:0;return this.index==A?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(A,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],A=[],{buffer:i}=this.context,n=this.index+4,o=i.buffer[this.index+3];if(o>n){let a=i.buffer[this.index+1];e.push(i.slice(n,o,a)),A.push(0)}return new za(this.type,e,A,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function pAA(t){if(!t.length)return null;let e=0,A=t[0];for(let o=1;oA.from||a.to=e){let r=new _0(a.tree,a.overlay[0].from+o.from,-1,o);(n||(n=[i])).push(cf(r,e,A,!1))}}return n?pAA(n):i}var If=class{get name(){return this.type.name}constructor(e,A=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=A&~xa.EnterBracketed,e instanceof _0)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,A){this.index=e;let{start:i,buffer:n}=this.buffer;return this.type=A||n.set.types[n.buffer[e]],this.from=i+n.buffer[e+1],this.to=i+n.buffer[e+2],!0}yield(e){return e?e instanceof _0?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,A,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,A,i,this.mode));let{buffer:n}=this.buffer,o=n.findChild(this.index+4,n.buffer[this.index+3],e,A-this.buffer.start,i);return o<0?!1:(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,A,i=this.mode){return this.buffer?i&xa.ExcludeBuffers?!1:this.enterChild(1,e,A):this.yield(this._tree.enter(e,A,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&xa.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&xa.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:A}=this.buffer,i=this.stack.length-1;if(e<0){let n=i<0?0:this.stack[i]+4;if(this.index!=n)return this.yieldBuf(A.findChild(n,this.index,-1,0,4))}else{let n=A.buffer[this.index+3];if(n<(i<0?A.buffer.length:A.buffer[this.stack[i]+3]))return this.yieldBuf(n)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let A,i,{buffer:n}=this;if(n){if(e>0){if(this.index-1)for(let o=A+e,a=e<0?-1:i._tree.children.length;o!=a;o+=e){let r=i._tree.children[o];if(this.mode&xa.IncludeAnonymous||r instanceof SI||!r.type.isAnonymous||BF(r))return!1}return!0}move(e,A){if(A&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,A=0){for(;(this.from==this.to||(A<1?this.from>=e:this.from>e)||(A>-1?this.to<=e:this.to=0;){for(let a=e;a;a=a._parent)if(a.index==n){if(n==this.index)return a;A=a,i=o+1;break A}n=this.stack[--o]}for(let n=i;n=0;o--){if(o<0)return cF(this._tree,e,n);let a=i[A.buffer[this.stack[o]]];if(!a.isAnonymous){if(e[n]&&e[n]!=a.name)return!1;n--}}return!0}};function BF(t){return t.children.some(e=>e instanceof SI||!e.type.isAnonymous||BF(e))}function tbA(t){var e;let{buffer:A,nodeSet:i,maxBufferLength:n=1024,reused:o=[],minRepeatType:a=i.types.length}=t,r=Array.isArray(A)?new lF(A,A.length):A,s=i.types,g=0,l=0;function C(D,F,_,U,J,j){let{id:$,start:O,end:DA,size:P}=r,aA=l,iA=g;if(P<0)if(r.next(),P==-1){let YA=o[$];_.push(YA),U.push(O-D);return}else if(P==-3){g=$;return}else if(P==-4){l=$;return}else throw new RangeError(`Unrecognized record size: ${P}`);let BA=s[$],oA,sA,hA=O-D;if(DA-O<=n&&(sA=Q(r.pos-F,J))){let YA=new Uint16Array(sA.size-sA.skip),ee=r.pos-sA.size,UA=YA.length;for(;r.pos>ee;)UA=f(sA.start,YA,UA);oA=new SI(YA,DA-sA.start,i),hA=sA.start-D}else{let YA=r.pos-P;r.next();let ee=[],UA=[],mA=$>=a?$:-1,KA=0,Pe=DA;for(;r.pos>YA;)mA>=0&&r.id==mA&&r.size>=0?(r.end<=Pe-n&&(B(ee,UA,O,KA,r.end,Pe,mA,aA,iA),KA=ee.length,Pe=r.end),r.next()):j>2500?I(O,YA,ee,UA):C(O,YA,ee,UA,mA,j+1);if(mA>=0&&KA>0&&KA-1&&KA>0){let Ue=d(BA,iA);oA=EF(BA,ee,UA,0,ee.length,0,DA-O,Ue,Ue)}else oA=E(BA,ee,UA,DA-O,aA-DA,iA)}_.push(oA),U.push(hA)}function I(D,F,_,U){let J=[],j=0,$=-1;for(;r.pos>F;){let{id:O,start:DA,end:P,size:aA}=r;if(aA>4)r.next();else{if($>-1&&DA<$)break;$<0&&($=P-n),J.push(O,DA,P),j++,r.next()}}if(j){let O=new Uint16Array(j*4),DA=J[J.length-2];for(let P=J.length-3,aA=0;P>=0;P-=3)O[aA++]=J[P],O[aA++]=J[P+1]-DA,O[aA++]=J[P+2]-DA,O[aA++]=aA;_.push(new SI(O,J[2]-DA,i)),U.push(DA-D)}}function d(D,F){return(_,U,J)=>{let j=0,$=_.length-1,O,DA;if($>=0&&(O=_[$])instanceof za){if(!$&&O.type==D&&O.length==J)return O;(DA=O.prop(yi.lookAhead))&&(j=U[$]+O.length+DA)}return E(D,_,U,J,j,F)}}function B(D,F,_,U,J,j,$,O,DA){let P=[],aA=[];for(;D.length>U;)P.push(D.pop()),aA.push(F.pop()+_-J);D.push(E(i.types[$],P,aA,j-J,O-j,DA)),F.push(J-_)}function E(D,F,_,U,J,j,$){if(j){let O=[yi.contextHash,j];$=$?[O].concat($):[O]}if(J>25){let O=[yi.lookAhead,J];$=$?[O].concat($):[O]}return new za(D,F,_,U,$)}function Q(D,F){let _=r.fork(),U=0,J=0,j=0,$=_.end-n,O={size:0,start:0,skip:0};A:for(let DA=_.pos-D;_.pos>DA;){let P=_.size;if(_.id==F&&P>=0){O.size=U,O.start=J,O.skip=j,j+=4,U+=4,_.next();continue}let aA=_.pos-P;if(P<0||aA=a?4:0,BA=_.start;for(_.next();_.pos>aA;){if(_.size<0)if(_.size==-3||_.size==-4)iA+=4;else break A;else _.id>=a&&(iA+=4);_.next()}J=BA,U+=P,j+=iA}return(F<0||U==D)&&(O.size=U,O.start=J,O.skip=j),O.size>4?O:void 0}function f(D,F,_){let{id:U,start:J,end:j,size:$}=r;if(r.next(),$>=0&&U4){let DA=r.pos-($-4);for(;r.pos>DA;)_=f(D,F,_)}F[--_]=O,F[--_]=j-D,F[--_]=J-D,F[--_]=U}else $==-3?g=U:$==-4&&(l=U);return _}let b=[],S=[];for(;r.pos>0;)C(t.start||0,t.bufferStart||0,b,S,-1,0);let M=(e=t.length)!==null&&e!==void 0?e:b.length?S[0]+b[0].length:0;return new za(s[t.topID],b.reverse(),S.reverse(),M)}var fAA=new WeakMap;function RD(t,e){if(!t.isAnonymous||e instanceof SI||e.type!=t)return 1;let A=fAA.get(e);if(A==null){A=1;for(let i of e.children){if(i.type!=t||!(i instanceof za)){A=1;break}A+=RD(t,i)}fAA.set(e,A)}return A}function EF(t,e,A,i,n,o,a,r,s){let g=0;for(let B=i;B=l)break;F+=_}if(S==M+1){if(F>l){let _=B[M];d(_.children,_.positions,0,_.children.length,E[M]+b);continue}C.push(B[M])}else{let _=E[S-1]+B[S-1].length-D;C.push(EF(t,B,E,M,S,D,_,null,s))}I.push(D+b-o)}}return d(e,A,i,n,0),(r||s)(C,I,a)}var vd=class t{constructor(e,A,i,n,o=!1,a=!1){this.from=e,this.to=A,this.tree=i,this.offset=n,this.open=(o?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,A=[],i=!1){let n=[new t(0,e.length,e,0,!1,i)];for(let o of A)o.to>e.length&&n.push(o);return n}static applyChanges(e,A,i=128){if(!A.length)return e;let n=[],o=1,a=e.length?e[0]:null;for(let r=0,s=0,g=0;;r++){let l=r=i)for(;a&&a.from=I.from||C<=I.to||g){let d=Math.max(I.from,s)-g,B=Math.min(I.to,C)-g;I=d>=B?null:new t(d,B,I.tree,I.offset+g,r>0,!!l)}if(I&&n.push(I),a.to>C)break;a=onew gf(n.from,n.to)):[new gf(0,0)]:[new gf(0,e.length)],this.createParse(e,A||[],i)}parse(e,A,i){let n=this.startParse(e,A,i);for(;;){let o=n.advance();if(o)return o}}},dF=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,A){return this.string.slice(e,A)}};var twe=new yi({perNode:!0});var ibA=0,xc=class t{constructor(e,A,i,n){this.name=e,this.set=A,this.base=i,this.modified=n,this.id=ibA++}toString(){let{name:e}=this;for(let A of this.modified)A.name&&(e=`${A.name}(${e})`);return e}static define(e,A){let i=typeof e=="string"?e:"?";if(e instanceof t&&(A=e),A?.base)throw new Error("Can not derive from a modified tag");let n=new t(i,[],null,[]);if(n.set.push(n),A)for(let o of A.set)n.set.push(o);return n}static defineModifier(e){let A=new GD(e);return i=>i.modified.indexOf(A)>-1?i:GD.get(i.base||i,i.modified.concat(A).sort((n,o)=>n.id-o.id))}},nbA=0,GD=class t{constructor(e){this.name=e,this.instances=[],this.id=nbA++}static get(e,A){if(!A.length)return e;let i=A[0].instances.find(r=>r.base==e&&obA(A,r.modified));if(i)return i;let n=[],o=new xc(e.name,n,e,A);for(let r of A)r.instances.push(o);let a=abA(A);for(let r of e.set)if(!r.modified.length)for(let s of a)n.push(t.get(r,s));return o}};function obA(t,e){return t.length==e.length&&t.every((A,i)=>A==e[i])}function abA(t){let e=[[]];for(let A=0;Ai.length-A.length)}function KD(t){let e=Object.create(null);for(let A in t){let i=t[A];Array.isArray(i)||(i=[i]);for(let n of A.split(" "))if(n){let o=[],a=2,r=n;for(let C=0;;){if(r=="..."&&C>0&&C+3==n.length){a=1;break}let I=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!I)throw new RangeError("Invalid path: "+n);if(o.push(I[0]=="*"?"":I[0][0]=='"'?JSON.parse(I[0]):I[0]),C+=I[0].length,C==n.length)break;let d=n[C++];if(C==n.length&&d=="!"){a=0;break}if(d!="/")throw new RangeError("Invalid path: "+n);r=n.slice(C)}let s=o.length-1,g=o[s];if(!g)throw new RangeError("Invalid path: "+n);let l=new Md(i,a,s>0?o.slice(0,s):null);e[g]=l.sort(e[g])}}return yAA.add(e)}var yAA=new yi({combine(t,e){let A,i,n;for(;t||e;){if(!t||e&&t.depth>=e.depth?(n=e,e=e.next):(n=t,t=t.next),A&&A.mode==n.mode&&!n.context&&!A.context)continue;let o=new Md(n.tags,n.mode,n.context);A?A.next=o:i=o,A=o}return i}}),Md=class{constructor(e,A,i,n){this.tags=e,this.mode=A,this.context=i,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let a=n;for(let r of o)for(let s of r.set){let g=A[s.id];if(g){a=a?a+" "+g:g;break}}return a},scope:i}}function rbA(t,e){let A=null;for(let i of t){let n=i.style(e);n&&(A=A?A+" "+n:n)}return A}function vAA(t,e,A,i=0,n=t.length){let o=new hF(i,Array.isArray(e)?e:[e],A);o.highlightRange(t.cursor(),i,n,"",o.highlighters),o.flush(n)}var hF=class{constructor(e,A,i){this.at=e,this.highlighters=A,this.span=i,this.class=""}startSpan(e,A){A!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=A)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,A,i,n,o){let{type:a,from:r,to:s}=e;if(r>=i||s<=A)return;a.isTop&&(o=this.highlighters.filter(d=>!d.scope||d.scope(a)));let g=n,l=sbA(e)||Md.empty,C=rbA(o,l.tags);if(C&&(g&&(g+=" "),g+=C,l.mode==1&&(n+=(n?" ":"")+C)),this.startSpan(Math.max(A,r),g),l.opaque)return;let I=e.tree&&e.tree.prop(yi.mounted);if(I&&I.overlay){let d=e.node.enter(I.overlay[0].from+r,1),B=this.highlighters.filter(Q=>!Q.scope||Q.scope(I.tree.type)),E=e.firstChild();for(let Q=0,f=r;;Q++){let b=Q=S||!e.nextSibling())););if(!b||S>i)break;f=b.to+r,f>A&&(this.highlightRange(d.cursor(),Math.max(A,b.from+r),Math.min(i,f),"",B),this.startSpan(Math.min(i,f),g))}E&&e.parent()}else if(e.firstChild()){I&&(n="");do if(!(e.to<=A)){if(e.from>=i)break;this.highlightRange(e,A,i,n,o),this.startSpan(Math.min(i,e.to),g)}while(e.nextSibling());e.parent()}}};function sbA(t){let e=t.type.prop(yAA);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var Ve=xc.define,FD=Ve(),xI=Ve(),wAA=Ve(xI),DAA=Ve(xI),RI=Ve(),_D=Ve(RI),QF=Ve(RI),K0=Ve(),bd=Ve(K0),L0=Ve(),G0=Ve(),uF=Ve(),df=Ve(uF),LD=Ve(),Re={comment:FD,lineComment:Ve(FD),blockComment:Ve(FD),docComment:Ve(FD),name:xI,variableName:Ve(xI),typeName:wAA,tagName:Ve(wAA),propertyName:DAA,attributeName:Ve(DAA),className:Ve(xI),labelName:Ve(xI),namespace:Ve(xI),macroName:Ve(xI),literal:RI,string:_D,docString:Ve(_D),character:Ve(_D),attributeValue:Ve(_D),number:QF,integer:Ve(QF),float:Ve(QF),bool:Ve(RI),regexp:Ve(RI),escape:Ve(RI),color:Ve(RI),url:Ve(RI),keyword:L0,self:Ve(L0),null:Ve(L0),atom:Ve(L0),unit:Ve(L0),modifier:Ve(L0),operatorKeyword:Ve(L0),controlKeyword:Ve(L0),definitionKeyword:Ve(L0),moduleKeyword:Ve(L0),operator:G0,derefOperator:Ve(G0),arithmeticOperator:Ve(G0),logicOperator:Ve(G0),bitwiseOperator:Ve(G0),compareOperator:Ve(G0),updateOperator:Ve(G0),definitionOperator:Ve(G0),typeOperator:Ve(G0),controlOperator:Ve(G0),punctuation:uF,separator:Ve(uF),bracket:df,angleBracket:Ve(df),squareBracket:Ve(df),paren:Ve(df),brace:Ve(df),content:K0,heading:bd,heading1:Ve(bd),heading2:Ve(bd),heading3:Ve(bd),heading4:Ve(bd),heading5:Ve(bd),heading6:Ve(bd),contentSeparator:Ve(K0),list:Ve(K0),quote:Ve(K0),emphasis:Ve(K0),strong:Ve(K0),link:Ve(K0),monospace:Ve(K0),strikethrough:Ve(K0),inserted:Ve(),deleted:Ve(),changed:Ve(),invalid:Ve(),meta:LD,documentMeta:Ve(LD),annotation:Ve(LD),processingInstruction:Ve(LD),definition:xc.defineModifier("definition"),constant:xc.defineModifier("constant"),function:xc.defineModifier("function"),standard:xc.defineModifier("standard"),local:xc.defineModifier("local"),special:xc.defineModifier("special")};for(let t in Re){let e=Re[t];e instanceof xc&&(e.name=t)}var owe=fF([{tag:Re.link,class:"tok-link"},{tag:Re.heading,class:"tok-heading"},{tag:Re.emphasis,class:"tok-emphasis"},{tag:Re.strong,class:"tok-strong"},{tag:Re.keyword,class:"tok-keyword"},{tag:Re.atom,class:"tok-atom"},{tag:Re.bool,class:"tok-bool"},{tag:Re.url,class:"tok-url"},{tag:Re.labelName,class:"tok-labelName"},{tag:Re.inserted,class:"tok-inserted"},{tag:Re.deleted,class:"tok-deleted"},{tag:Re.literal,class:"tok-literal"},{tag:Re.string,class:"tok-string"},{tag:Re.number,class:"tok-number"},{tag:[Re.regexp,Re.escape,Re.special(Re.string)],class:"tok-string2"},{tag:Re.variableName,class:"tok-variableName"},{tag:Re.local(Re.variableName),class:"tok-variableName tok-local"},{tag:Re.definition(Re.variableName),class:"tok-variableName tok-definition"},{tag:Re.special(Re.variableName),class:"tok-variableName2"},{tag:Re.definition(Re.propertyName),class:"tok-propertyName tok-definition"},{tag:Re.typeName,class:"tok-typeName"},{tag:Re.namespace,class:"tok-namespace"},{tag:Re.className,class:"tok-className"},{tag:Re.macroName,class:"tok-macroName"},{tag:Re.propertyName,class:"tok-propertyName"},{tag:Re.operator,class:"tok-operator"},{tag:Re.comment,class:"tok-comment"},{tag:Re.meta,class:"tok-meta"},{tag:Re.invalid,class:"tok-invalid"},{tag:Re.punctuation,class:"tok-punctuation"}]);var mF,NQ=new yi;function gbA(t){return We.define({combine:t?e=>e.concat(t):void 0})}var lbA=new yi,Rc=(()=>{class t{constructor(A,i,n=[],o=""){this.data=A,this.name=o,$a.prototype.hasOwnProperty("tree")||Object.defineProperty($a.prototype,"tree",{get(){return xr(this)}}),this.parser=i,this.extension=[NI.of(this),$a.languageData.of((a,r,s)=>{let g=bAA(a,r,s),l=g.type.prop(NQ);if(!l)return[];let C=a.facet(l),I=g.type.prop(lbA);if(I){let d=g.resolve(r-g.from,s);for(let B of I)if(B.test(d,a)){let E=a.facet(B.facet);return B.type=="replace"?E:E.concat(C)}}return C})].concat(n)}isActiveAt(A,i,n=-1){return bAA(A,i,n).type.prop(NQ)==this.data}findRegions(A){let i=A.facet(NI);if(i?.data==this.data)return[{from:0,to:A.doc.length}];if(!i||!i.allowsNesting)return[];let n=[],o=(a,r)=>{if(a.prop(NQ)==this.data){n.push({from:r,to:r+a.length});return}let s=a.prop(yi.mounted);if(s){if(s.tree.prop(NQ)==this.data){if(s.overlay)for(let g of s.overlay)n.push({from:g.from+r,to:g.to+r});else n.push({from:r,to:r+a.length});return}else if(s.overlay){let g=n.length;if(o(s.tree,s.overlay[0].from+r),n.length>g)return}}for(let g=0;gi.isTop?A:void 0)]}),e.name)}configure(e,A){return new t(this.data,this.parser.configure(e),A||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function xr(t){let e=t.field(Rc.state,!1);return e?e.tree:za.empty}function NF(t,e,A=50){var i;let n=(i=t.field(Rc.state,!1))===null||i===void 0?void 0:i.context;if(!n)return null;let o=n.viewport;n.updateViewport({from:0,to:e});let a=n.isDone(e)||n.work(A,e)?n.tree:null;return n.updateViewport(o),a}var yF=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,A){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,A):this.string.slice(e-i,A-i)}},Bf=null,vF=class t{constructor(e,A,i=[],n,o,a,r,s){this.parser=e,this.state=A,this.fragments=i,this.tree=n,this.treeLen=o,this.viewport=a,this.skipped=r,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,A,i){return new t(e,A,[],za.empty,0,i,[],null)}startParse(){return this.parser.startParse(new yF(this.state.doc),this.fragments)}work(e,A){return A!=null&&A>=this.state.doc.length&&(A=void 0),this.tree!=za.empty&&this.isDone(A??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),A!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>A)&&A=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(A=this.parse.advance()););}),this.treeLen=e,this.tree=A,this.fragments=this.withoutTempSkipped(vd.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let A=Bf;Bf=this;try{return e()}finally{Bf=A}}withoutTempSkipped(e){for(let A;A=this.tempSkipped.pop();)e=MAA(e,A.from,A.to);return e}changes(e,A){let{fragments:i,tree:n,treeLen:o,viewport:a,skipped:r}=this;if(this.takeTree(),!e.empty){let s=[];if(e.iterChangedRanges((g,l,C,I)=>s.push({fromA:g,toA:l,fromB:C,toB:I})),i=vd.applyChanges(i,s),n=za.empty,o=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){r=[];for(let g of this.skipped){let l=e.mapPos(g.from,1),C=e.mapPos(g.to,-1);le.from&&(this.fragments=MAA(this.fragments,n,o),this.skipped.splice(i--,1))}return this.skipped.length>=A?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,A){this.skipped.push({from:e,to:A})}static getSkippingParser(e){return new class extends RQ{createParse(A,i,n){let o=n[0].from,a=n[n.length-1].to;return{parsedPos:o,advance(){let s=Bf;if(s){for(let g of n)s.tempSkipped.push(g);e&&(s.scheduleOn=s.scheduleOn?Promise.all([s.scheduleOn,e]):e)}return this.parsedPos=a,new za(ws.none,[],[],a-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let A=this.fragments;return this.treeLen>=e&&A.length&&A[0].from==0&&A[0].to>=e}static get(){return Bf}};function MAA(t,e,A){return vd.applyChanges(t,[{fromA:e,toA:A,fromB:e,toB:A}])}var Qf=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let A=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),A.viewport.to);return A.work(20,i)||A.takeTree(),new t(A)}static init(e){let A=Math.min(3e3,e.doc.length),i=vF.create(e.facet(NI).parser,e,{from:0,to:A});return i.work(20,A)||i.takeTree(),new t(i)}};Rc.state=wa.define({create:Qf.init,update(t,e){for(let A of e.effects)if(A.is(Rc.setState))return A.value;return e.startState.facet(NI)!=e.state.facet(NI)?Qf.init(e.state):t.apply(e)}});var FAA=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(FAA=t=>{let e=-1,A=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(A):cancelIdleCallback(e)});var pF=typeof navigator<"u"&&(!((mF=navigator.scheduling)===null||mF===void 0)&&mF.isInputPending)?()=>navigator.scheduling.isInputPending():null,cbA=_o.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let A=this.view.state.field(Rc.state).context;(A.updateViewport(e.view.viewport)||this.view.viewport.to>A.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(A)}scheduleWork(){if(this.working)return;let{state:e}=this.view,A=e.field(Rc.state);(A.tree!=A.context.tree||!A.context.isDone(e.doc.length))&&(this.working=FAA(this.work))}work(e){this.working=null;let A=Date.now();if(this.chunkEndn+1e3,s=o.context.work(()=>pF&&pF()||Date.now()>a,n+(r?0:1e5));this.chunkBudget-=Date.now()-A,(s||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Rc.setState.of(new Qf(o.context))})),this.chunkBudget>0&&!(s&&!r)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(A=>Sr(this.view.state,A)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),NI=We.define({combine(t){return t.length?t[0]:null},enables:t=>[Rc.state,cbA,ii.contentAttributes.compute([t],e=>{let A=e.facet(t);return A&&A.name?{"data-language":A.name}:{}})]}),JD=class{constructor(e,A=[]){this.language=e,this.support=A,this.extension=[e,A]}};var CbA=We.define(),xd=We.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(A=>A!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Fc(t){let e=t.facet(xd);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function LQ(t,e){let A="",i=t.tabSize,n=t.facet(xd)[0];if(n==" "){for(;e>=i;)A+=" ",e-=i;n=" "}for(let o=0;o=e?IbA(t,A,e):null}var kd=class{constructor(e,A={}){this.state=e,this.options=A,this.unit=Fc(e)}lineAt(e,A=1){let i=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return n!=null&&n>=i.from&&n<=i.to?o&&n==e?{text:"",from:e}:(A<0?n-1&&(o+=a-this.countColumn(i,i.search(/\S|$/))),o}countColumn(e,A=e.length){return LC(e,this.state.tabSize,A)}lineIndent(e,A=1){let{text:i,from:n}=this.lineAt(e,A),o=this.options.overrideIndentation;if(o){let a=o(n);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},FF=new yi;function IbA(t,e,A){let i=e.resolveStack(A),n=e.resolveInner(A,-1).resolve(A,0).enterUnfinishedNodesBefore(A);if(n!=i.node){let o=[];for(let a=n;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)o.push(a);for(let a=o.length-1;a>=0;a--)i={node:o[a],next:i}}return _AA(i,t,A)}function _AA(t,e,A){for(let i=t;i;i=i.next){let n=BbA(i.node);if(n)return n(bF.create(e,A,i))}return 0}function dbA(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function BbA(t){let e=t.type.prop(FF);if(e)return e;let A=t.firstChild,i;if(A&&(i=A.type.prop(yi.closedBy))){let n=t.lastChild,o=n&&i.indexOf(n.name)>-1;return a=>ubA(a,!0,1,void 0,o&&!dbA(a)?n.from:void 0)}return t.parent==null?EbA:null}function EbA(){return 0}var bF=class t extends kd{constructor(e,A,i){super(e.state,e.options),this.base=e,this.pos=A,this.context=i}get node(){return this.context.node}static create(e,A,i){return new t(e,A,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let A=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(A.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(QbA(i,e))break;A=this.state.doc.lineAt(i.from)}return this.lineIndent(A.from)}continue(){return _AA(this.context.next,this.base,this.pos)}};function QbA(t,e){for(let A=e;A;A=A.parent)if(t==A)return!0;return!1}function hbA(t){let e=t.node,A=e.childAfter(e.from),i=e.lastChild;if(!A)return null;let n=t.options.simulateBreak,o=t.state.doc.lineAt(A.from),a=n==null||n<=o.from?o.to:Math.min(o.to,n);for(let r=A.to;;){let s=e.childAfter(r);if(!s||s==i)return null;if(!s.type.isSkipped){if(s.from>=a)return null;let g=/^ */.exec(o.text.slice(A.to-o.from))[0].length;return{from:A.from,to:A.to+g}}r=s.to}}function ubA(t,e,A,i,n){let o=t.textAfter,a=o.match(/^\s*/)[0].length,r=i&&o.slice(a,a+i.length)==i||n==t.pos+a,s=e?hbA(t):null;return s?r?t.column(s.from):t.column(s.to):t.baseIndent+(r?0:t.unit*A)}function _F({except:t,units:e=1}={}){return A=>{let i=t&&t.test(A.textAfter);return A.baseIndent+(i?0:e*A.unit)}}var fbA=200;function LAA(){return $a.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let A=t.newDoc,{head:i}=t.newSelection.main,n=A.lineAt(i);if(i>n.from+fbA)return t;let o=A.sliceString(n.from,i);if(!e.some(g=>g.test(o)))return t;let{state:a}=t,r=-1,s=[];for(let{head:g}of a.selection.ranges){let l=a.doc.lineAt(g);if(l.from==r)continue;r=l.from;let C=TD(a,l.from);if(C==null)continue;let I=/^\s*/.exec(l.text)[0],d=LQ(a,C);I!=d&&s.push({from:l.from,to:l.from+I.length,insert:d})}return s.length?[t,{changes:s,sequential:!0}]:t})}var LF=We.define(),hf=new yi;function GAA(t){let e=t.firstChild,A=t.lastChild;return e&&e.toA)continue;if(o&&r.from=e&&g.to>A&&(o=g)}}return o}function pbA(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function FQ(t,e,A){for(let i of t.facet(LF)){let n=i(t,e,A);if(n)return n}return mbA(t,e,A)}function KAA(t,e){let A=e.mapPos(t.from,1),i=e.mapPos(t.to,-1);return A>=i?void 0:{from:A,to:i}}var GQ=Hi.define({map:KAA}),uf=Hi.define({map:KAA});function UAA(t){let e=[];for(let{head:A}of t.state.selection.ranges)e.some(i=>i.from<=A&&i.to>=A)||e.push(t.lineBlockAt(A));return e}var Sd=wa.define({create(){return Dt.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((A,i)=>t=kAA(t,A,i)),t=t.map(e.changes);for(let A of e.effects)if(A.is(GQ)&&!wbA(t,A.value.from,A.value.to)){let{preparePlaceholder:i}=e.state.facet(UF),n=i?Dt.replace({widget:new MF(i(e.state,A.value))}):SAA;t=t.update({add:[n.range(A.value.from,A.value.to)]})}else A.is(uf)&&(t=t.update({filter:(i,n)=>A.value.from!=i||A.value.to!=n,filterFrom:A.value.from,filterTo:A.value.to}));return e.selection&&(t=kAA(t,e.selection.main.head)),t},provide:t=>ii.decorations.from(t),toJSON(t,e){let A=[];return t.between(0,e.doc.length,(i,n)=>{A.push(i,n)}),A},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let A=0;A{ne&&(i=!0)}),i?t.update({filterFrom:e,filterTo:A,filter:(n,o)=>n>=A||o<=e}):t}function YD(t,e,A){var i;let n=null;return(i=t.field(Sd,!1))===null||i===void 0||i.between(e,A,(o,a)=>{(!n||n.from>o)&&(n={from:o,to:a})}),n}function wbA(t,e,A){let i=!1;return t.between(e,e,(n,o)=>{n==e&&o==A&&(i=!0)}),i}function JAA(t,e){return t.field(Sd,!1)?e:e.concat(Hi.appendConfig.of(HAA()))}var DbA=t=>{for(let e of UAA(t)){let A=FQ(t.state,e.from,e.to);if(A)return t.dispatch({effects:JAA(t.state,[GQ.of(A),YAA(t,A)])}),!0}return!1},GF=t=>{if(!t.state.field(Sd,!1))return!1;let e=[];for(let A of UAA(t)){let i=YD(t.state,A.from,A.to);i&&e.push(uf.of(i),YAA(t,i,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function YAA(t,e,A=!0){let i=t.state.doc.lineAt(e.from).number,n=t.state.doc.lineAt(e.to).number;return ii.announce.of(`${t.state.phrase(A?"Folded lines":"Unfolded lines")} ${i} ${t.state.phrase("to")} ${n}.`)}var ybA=t=>{let{state:e}=t,A=[];for(let i=0;i{let e=t.state.field(Sd,!1);if(!e||!e.size)return!1;let A=[];return e.between(0,t.state.doc.length,(i,n)=>{A.push(uf.of({from:i,to:n}))}),t.dispatch({effects:A}),!0};var TAA=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:DbA},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:GF},{key:"Ctrl-Alt-[",run:ybA},{key:"Ctrl-Alt-]",run:KF}],vbA={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},UF=We.define({combine(t){return kr(t,vbA)}});function HAA(t){let e=[Sd,MbA];return t&&e.push(UF.of(t)),e}function zAA(t,e){let{state:A}=t,i=A.facet(UF),n=a=>{let r=t.lineBlockAt(t.posAtDOM(a.target)),s=YD(t.state,r.from,r.to);s&&t.dispatch({effects:uf.of(s)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(t,n,e);let o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",A.phrase("folded code")),o.title=A.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=n,o}var SAA=Dt.replace({widget:new class extends fg{toDOM(t){return zAA(t,null)}}}),MF=class extends fg{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return zAA(e,this.value)}},bbA={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},Ef=class extends mg{constructor(e,A){super(),this.config=e,this.open=A}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let A=document.createElement("span");return A.textContent=this.open?this.config.openText:this.config.closedText,A.title=e.state.phrase(this.open?"Fold line":"Unfold line"),A}};function OAA(t={}){let e=gA(gA({},bbA),t),A=new Ef(e,!0),i=new Ef(e,!1),n=_o.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(NI)!=a.state.facet(NI)||a.startState.field(Sd,!1)!=a.state.field(Sd,!1)||xr(a.startState)!=xr(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let r=new Wr;for(let s of a.viewportLineBlocks){let g=YD(a.state,s.from,s.to)?i:FQ(a.state,s.from,s.to)?A:null;g&&r.add(s.from,s.from,g)}return r.finish()}}),{domEventHandlers:o}=e;return[n,SD({class:"cm-foldGutter",markers(a){var r;return((r=a.plugin(n))===null||r===void 0?void 0:r.markers)||to.empty},initialSpacer(){return new Ef(e,!1)},domEventHandlers:be(gA({},o),{click:(a,r,s)=>{if(o.click&&o.click(a,r,s))return!0;let g=YD(a.state,r.from,r.to);if(g)return a.dispatch({effects:uf.of(g)}),!0;let l=FQ(a.state,r.from,r.to);return l?(a.dispatch({effects:GQ.of(l)}),!0):!1}})}),HAA()]}var MbA=ii.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"}}),_Q=class t{constructor(e,A){this.specs=e;let i;function n(r){let s=Ml.newName();return(i||(i=Object.create(null)))["."+s]=r,s}let o=typeof A.all=="string"?A.all:A.all?n(A.all):void 0,a=A.scope;this.scope=a instanceof Rc?r=>r.prop(NQ)==a.data:a?r=>r==a:void 0,this.style=fF(e.map(r=>({tag:r.tag,class:r.class||n(Object.assign({},r,{tag:null}))})),{all:o}).style,this.module=i?new Ml(i):null,this.themeType=A.themeType}static define(e,A){return new t(e,A||{})}},kF=We.define(),PAA=We.define({combine(t){return t.length?[t[0]]:null}});function wF(t){let e=t.facet(kF);return e.length?e:t.facet(PAA)}function JF(t,e){let A=[kbA],i;return t instanceof _Q&&(t.module&&A.push(ii.styleModule.of(t.module)),i=t.themeType),e?.fallback?A.push(PAA.of(t)):i?A.push(kF.computeN([ii.darkTheme],n=>n.facet(ii.darkTheme)==(i=="dark")?[t]:[])):A.push(kF.of(t)),A}var SF=class{constructor(e){this.markCache=Object.create(null),this.tree=xr(e.state),this.decorations=this.buildDeco(e,wF(e.state)),this.decoratedTo=e.viewport.to}update(e){let A=xr(e.state),i=wF(e.state),n=i!=wF(e.startState),{viewport:o}=e.view,a=e.changes.mapPos(this.decoratedTo,1);A.length=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(A!=this.tree||e.viewportChanged||n)&&(this.tree=A,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=o.to)}buildDeco(e,A){if(!A||!this.tree.length)return Dt.none;let i=new Wr;for(let{from:n,to:o}of e.visibleRanges)vAA(this.tree,A,(a,r,s)=>{i.add(a,r,this.markCache[s]||(this.markCache[s]=Dt.mark({class:s})))},n,o);return i.finish()}},kbA=vc.high(_o.fromClass(SF,{decorations:t=>t.decorations})),jAA=_Q.define([{tag:Re.meta,color:"#404740"},{tag:Re.link,textDecoration:"underline"},{tag:Re.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Re.emphasis,fontStyle:"italic"},{tag:Re.strong,fontWeight:"bold"},{tag:Re.strikethrough,textDecoration:"line-through"},{tag:Re.keyword,color:"#708"},{tag:[Re.atom,Re.bool,Re.url,Re.contentSeparator,Re.labelName],color:"#219"},{tag:[Re.literal,Re.inserted],color:"#164"},{tag:[Re.string,Re.deleted],color:"#a11"},{tag:[Re.regexp,Re.escape,Re.special(Re.string)],color:"#e40"},{tag:Re.definition(Re.variableName),color:"#00f"},{tag:Re.local(Re.variableName),color:"#30a"},{tag:[Re.typeName,Re.namespace],color:"#085"},{tag:Re.className,color:"#167"},{tag:[Re.special(Re.variableName),Re.macroName],color:"#256"},{tag:Re.definition(Re.propertyName),color:"#00c"},{tag:Re.comment,color:"#940"},{tag:Re.invalid,color:"#f00"}]),SbA=ii.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),qAA=1e4,VAA="()[]{}",WAA=We.define({combine(t){return kr(t,{afterCursor:!0,brackets:VAA,maxScanDistance:qAA,renderMatch:NbA})}}),xbA=Dt.mark({class:"cm-matchingBracket"}),RbA=Dt.mark({class:"cm-nonmatchingBracket"});function NbA(t){let e=[],A=t.matched?xbA:RbA;return e.push(A.range(t.start.from,t.start.to)),t.end&&e.push(A.range(t.end.from,t.end.to)),e}var FbA=wa.define({create(){return Dt.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let A=[],i=e.state.facet(WAA);for(let n of e.state.selection.ranges){if(!n.empty)continue;let o=Nc(e.state,n.head,-1,i)||n.head>0&&Nc(e.state,n.head-1,1,i)||i.afterCursor&&(Nc(e.state,n.head,1,i)||n.headii.decorations.from(t)}),_bA=[FbA,SbA];function ZAA(t={}){return[WAA.of(t),_bA]}var LbA=new yi;function xF(t,e,A){let i=t.prop(e<0?yi.openedBy:yi.closedBy);if(i)return i;if(t.name.length==1){let n=A.indexOf(t.name);if(n>-1&&n%2==(e<0?1:0))return[A[n+e]]}return null}function RF(t){let e=t.type.prop(LbA);return e?e(t.node):t}function Nc(t,e,A,i={}){let n=i.maxScanDistance||qAA,o=i.brackets||VAA,a=xr(t),r=a.resolveInner(e,A);for(let s=r;s;s=s.parent){let g=xF(s.type,A,o);if(g&&s.from0?e>=l.from&&el.from&&e<=l.to))return GbA(t,e,A,s,l,g,o)}}return KbA(t,e,A,a,r.type,n,o)}function GbA(t,e,A,i,n,o,a){let r=i.parent,s={from:n.from,to:n.to},g=0,l=r?.cursor();if(l&&(A<0?l.childBefore(i.from):l.childAfter(i.to)))do if(A<0?l.to<=i.from:l.from>=i.to){if(g==0&&o.indexOf(l.type.name)>-1&&l.from0)return null;let g={from:A<0?e-1:e,to:A>0?e+1:e},l=t.doc.iterRange(e,A>0?t.doc.length:0),C=0;for(let I=0;!l.next().done&&I<=o;){let d=l.value;A<0&&(I+=d.length);let B=e+I*A;for(let E=A>0?0:d.length-1,Q=A>0?d.length:-1;E!=Q;E+=A){let f=a.indexOf(d[E]);if(!(f<0||i.resolveInner(B+E,1).type!=n))if(f%2==0==A>0)C++;else{if(C==1)return{start:g,end:{from:B+E,to:B+E+1},matched:f>>1==s>>1};C--}}A>0&&(I+=d.length)}return l.done?{start:g,matched:!1}:null}var UbA=Object.create(null),xAA=[ws.none];var RAA=[],NAA=Object.create(null),JbA=Object.create(null);for(let[t,e]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"]])JbA[t]=YbA(UbA,e);function DF(t,e){RAA.indexOf(t)>-1||(RAA.push(t),console.warn(e))}function YbA(t,e){let A=[];for(let r of e.split(" ")){let s=[];for(let g of r.split(".")){let l=t[g]||Re[g];l?typeof l=="function"?s.length?s=s.map(l):DF(g,`Modifier ${g} used at start of tag`):s.length?DF(g,`Tag ${g} used as modifier`):s=Array.isArray(l)?l:[l]:DF(g,`Unknown highlighting tag ${g}`)}for(let g of s)A.push(g)}if(!A.length)return 0;let i=e.replace(/ /g,"_"),n=i+" "+A.map(r=>r.id),o=NAA[n];if(o)return o.id;let a=NAA[n]=ws.define({id:xAA.length,name:i,props:[KD({[i]:A})]});return xAA.push(a),a.id}var Iwe={rtl:Dt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:mo.RTL}),ltr:Dt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:mo.LTR}),auto:Dt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var TbA=t=>{let{state:e}=t,A=e.doc.lineAt(e.selection.main.from),i=zF(t.state,A.from);return i.line?HbA(t):i.block?ObA(t):!1};function HF(t,e){return({state:A,dispatch:i})=>{if(A.readOnly)return!1;let n=t(e,A);return n?(i(A.update(n)),!0):!1}}var HbA=HF(qbA,0);var zbA=HF(aeA,0);var ObA=HF((t,e)=>aeA(t,e,jbA(e)),0);function zF(t,e){let A=t.languageDataAt("commentTokens",e,1);return A.length?A[0]:{}}var ff=50;function PbA(t,{open:e,close:A},i,n){let o=t.sliceDoc(i-ff,i),a=t.sliceDoc(n,n+ff),r=/\s*$/.exec(o)[0].length,s=/^\s*/.exec(a)[0].length,g=o.length-r;if(o.slice(g-e.length,g)==e&&a.slice(s,s+A.length)==A)return{open:{pos:i-r,margin:r&&1},close:{pos:n+s,margin:s&&1}};let l,C;n-i<=2*ff?l=C=t.sliceDoc(i,n):(l=t.sliceDoc(i,i+ff),C=t.sliceDoc(n-ff,n));let I=/^\s*/.exec(l)[0].length,d=/\s*$/.exec(C)[0].length,B=C.length-d-A.length;return l.slice(I,I+e.length)==e&&C.slice(B,B+A.length)==A?{open:{pos:i+I+e.length,margin:/\s/.test(l.charAt(I+e.length))?1:0},close:{pos:n-d-A.length,margin:/\s/.test(C.charAt(B-1))?1:0}}:null}function jbA(t){let e=[];for(let A of t.selection.ranges){let i=t.doc.lineAt(A.from),n=A.to<=i.to?i:t.doc.lineAt(A.to);n.from>i.from&&n.from==A.to&&(n=A.to==i.to+1?i:t.doc.lineAt(A.to-1));let o=e.length-1;o>=0&&e[o].to>i.from?e[o].to=n.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:n.to})}return e}function aeA(t,e,A=e.selection.ranges){let i=A.map(o=>zF(e,o.from).block);if(!i.every(o=>o))return null;let n=A.map((o,a)=>PbA(e,i[a],o.from,o.to));if(t!=2&&!n.every(o=>o))return{changes:e.changes(A.map((o,a)=>n[a]?[]:[{from:o.from,insert:i[a].open+" "},{from:o.to,insert:" "+i[a].close}]))};if(t!=1&&n.some(o=>o)){let o=[];for(let a=0,r;an&&(o==a||a>C.from)){n=C.from;let I=/^\s*/.exec(C.text)[0].length,d=I==C.length,B=C.text.slice(I,I+g.length)==g?I:-1;Io.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:r,token:s,indent:g,empty:l,single:C}of i)(C||!l)&&o.push({from:r.from+g,insert:s+" "});let a=e.changes(o);return{changes:a,selection:e.selection.map(a,1)}}else if(t!=1&&i.some(o=>o.comment>=0)){let o=[];for(let{line:a,comment:r,token:s}of i)if(r>=0){let g=a.from+r,l=g+s.length;a.text[l-a.from]==" "&&l++,o.push({from:g,to:l})}return{changes:o}}return null}function KQ(t,e){return de.create(t.ranges.map(e),t.mainIndex)}function _c(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Lc({state:t,dispatch:e},A){let i=KQ(t.selection,A);return i.eq(t.selection,!0)?!1:(e(_c(t,i)),!0)}function zD(t,e){return de.cursor(e?t.to:t.from)}function reA(t,e){return Lc(t,A=>A.empty?t.moveByChar(A,e):zD(A,e))}function Ds(t){return t.textDirectionAt(t.state.selection.main.head)==mo.LTR}var seA=t=>reA(t,!Ds(t)),geA=t=>reA(t,Ds(t));function leA(t,e){return Lc(t,A=>A.empty?t.moveByGroup(A,e):zD(A,e))}var VbA=t=>leA(t,!Ds(t)),WbA=t=>leA(t,Ds(t));var wwe=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function ZbA(t,e,A){if(e.type.prop(A))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function OD(t,e,A){let i=xr(t).resolveInner(e.head),n=A?yi.closedBy:yi.openedBy;for(let s=e.head;;){let g=A?i.childAfter(s):i.childBefore(s);if(!g)break;ZbA(t,g,n)?i=g:s=A?g.to:g.from}let o=i.type.prop(n),a,r;return o&&(a=A?Nc(t,i.from,1):Nc(t,i.to,-1))&&a.matched?r=A?a.end.to:a.end.from:r=A?i.to:i.from,de.cursor(r,A?-1:1)}var XbA=t=>Lc(t,e=>OD(t.state,e,!Ds(t))),$bA=t=>Lc(t,e=>OD(t.state,e,Ds(t)));function ceA(t,e){return Lc(t,A=>{if(!A.empty)return zD(A,e);let i=t.moveVertically(A,e);return i.head!=A.head?i:t.moveToLineBoundary(A,e)})}var CeA=t=>ceA(t,!1),IeA=t=>ceA(t,!0);function deA(t){let e=t.scrollDOM.clientHeighta.empty?t.moveVertically(a,e,A.height):zD(a,e));if(n.eq(i.selection))return!1;let o;if(A.selfScroll){let a=t.coordsAtPos(i.selection.main.head),r=t.scrollDOM.getBoundingClientRect(),s=r.top+A.marginTop,g=r.bottom-A.marginBottom;a&&a.top>s&&a.bottomBeA(t,!1),YF=t=>BeA(t,!0);function FI(t,e,A){let i=t.lineBlockAt(e.head),n=t.moveToLineBoundary(e,A);if(n.head==e.head&&n.head!=(A?i.to:i.from)&&(n=t.moveToLineBoundary(e,A,!1)),!A&&n.head==i.from&&i.length){let o=/^\s*/.exec(t.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;o&&e.head!=i.from+o&&(n=de.cursor(i.from+o))}return n}var A9A=t=>Lc(t,e=>FI(t,e,!0)),e9A=t=>Lc(t,e=>FI(t,e,!1)),t9A=t=>Lc(t,e=>FI(t,e,!Ds(t))),i9A=t=>Lc(t,e=>FI(t,e,Ds(t))),n9A=t=>Lc(t,e=>de.cursor(t.lineBlockAt(e.head).from,1)),o9A=t=>Lc(t,e=>de.cursor(t.lineBlockAt(e.head).to,-1));function a9A(t,e,A){let i=!1,n=KQ(t.selection,o=>{let a=Nc(t,o.head,-1)||Nc(t,o.head,1)||o.head>0&&Nc(t,o.head-1,1)||o.heada9A(t,e,!1);function Rl(t,e){let A=KQ(t.state.selection,i=>{let n=e(i);return de.range(i.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return A.eq(t.state.selection)?!1:(t.dispatch(_c(t.state,A)),!0)}function EeA(t,e){return Rl(t,A=>t.moveByChar(A,e))}var QeA=t=>EeA(t,!Ds(t)),heA=t=>EeA(t,Ds(t));function ueA(t,e){return Rl(t,A=>t.moveByGroup(A,e))}var s9A=t=>ueA(t,!Ds(t)),g9A=t=>ueA(t,Ds(t));var l9A=t=>Rl(t,e=>OD(t.state,e,!Ds(t))),c9A=t=>Rl(t,e=>OD(t.state,e,Ds(t)));function feA(t,e){return Rl(t,A=>t.moveVertically(A,e))}var meA=t=>feA(t,!1),peA=t=>feA(t,!0);function weA(t,e){return Rl(t,A=>t.moveVertically(A,e,deA(t).height))}var $AA=t=>weA(t,!1),AeA=t=>weA(t,!0),C9A=t=>Rl(t,e=>FI(t,e,!0)),I9A=t=>Rl(t,e=>FI(t,e,!1)),d9A=t=>Rl(t,e=>FI(t,e,!Ds(t))),B9A=t=>Rl(t,e=>FI(t,e,Ds(t))),E9A=t=>Rl(t,e=>de.cursor(t.lineBlockAt(e.head).from)),Q9A=t=>Rl(t,e=>de.cursor(t.lineBlockAt(e.head).to)),eeA=({state:t,dispatch:e})=>(e(_c(t,{anchor:0})),!0),teA=({state:t,dispatch:e})=>(e(_c(t,{anchor:t.doc.length})),!0),ieA=({state:t,dispatch:e})=>(e(_c(t,{anchor:t.selection.main.anchor,head:0})),!0),neA=({state:t,dispatch:e})=>(e(_c(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),h9A=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),u9A=({state:t,dispatch:e})=>{let A=PD(t).map(({from:i,to:n})=>de.range(i,Math.min(n+1,t.doc.length)));return e(t.update({selection:de.create(A),userEvent:"select"})),!0},f9A=({state:t,dispatch:e})=>{let A=KQ(t.selection,i=>{let n=xr(t),o=n.resolveStack(i.from,1);if(i.empty){let a=n.resolveStack(i.from,-1);a.node.from>=o.node.from&&a.node.to<=o.node.to&&(o=a)}for(let a=o;a;a=a.next){let{node:r}=a;if((r.from=i.to||r.to>i.to&&r.from<=i.from)&&a.next)return de.range(r.to,r.from)}return i});return A.eq(t.selection)?!1:(e(_c(t,A)),!0)};function DeA(t,e){let{state:A}=t,i=A.selection,n=A.selection.ranges.slice();for(let o of A.selection.ranges){let a=A.doc.lineAt(o.head);if(e?a.to0)for(let r=o;;){let s=t.moveVertically(r,e);if(s.heada.to){n.some(g=>g.head==s.head)||n.push(s);break}else{if(s.head==r.head)break;r=s}}}return n.length==i.ranges.length?!1:(t.dispatch(_c(A,de.create(n,n.length-1))),!0)}var m9A=t=>DeA(t,!1),p9A=t=>DeA(t,!0),w9A=({state:t,dispatch:e})=>{let A=t.selection,i=null;return A.ranges.length>1?i=de.create([A.main]):A.main.empty||(i=de.create([de.cursor(A.main.head)])),i?(e(_c(t,i)),!0):!1};function mf(t,e){if(t.state.readOnly)return!1;let A="delete.selection",{state:i}=t,n=i.changeByRange(o=>{let{from:a,to:r}=o;if(a==r){let s=e(o);sa&&(A="delete.forward",s=HD(t,s,!0)),a=Math.min(a,s),r=Math.max(r,s)}else a=HD(t,a,!1),r=HD(t,r,!0);return a==r?{range:o}:{changes:{from:a,to:r},range:de.cursor(a,an(t)))i.between(e,e,(n,o)=>{ne&&(e=A?o:n)});return e}var yeA=(t,e,A)=>mf(t,i=>{let n=i.from,{state:o}=t,a=o.doc.lineAt(n),r,s;if(A&&!e&&n>a.from&&nyeA(t,!1,!0);var veA=t=>yeA(t,!0,!1),beA=(t,e)=>mf(t,A=>{let i=A.head,{state:n}=t,o=n.doc.lineAt(i),a=n.charCategorizer(i);for(let r=null;;){if(i==(e?o.to:o.from)){i==A.head&&o.number!=(e?n.doc.lines:1)&&(i+=e?1:-1);break}let s=Ta(o.text,i-o.from,e)+o.from,g=o.text.slice(Math.min(i,s)-o.from,Math.max(i,s)-o.from),l=a(g);if(r!=null&&l!=r)break;(g!=" "||i!=A.head)&&(r=l),i=s}return i}),MeA=t=>beA(t,!1),D9A=t=>beA(t,!0);var y9A=t=>mf(t,e=>{let A=t.lineBlockAt(e.head).to;return e.headmf(t,e=>{let A=t.moveToLineBoundary(e,!1).head;return e.head>A?A:Math.max(0,e.head-1)}),b9A=t=>mf(t,e=>{let A=t.moveToLineBoundary(e,!0).head;return e.head{if(t.readOnly)return!1;let A=t.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:bn.of(["",""])},range:de.cursor(i.from)}));return e(t.update(A,{scrollIntoView:!0,userEvent:"input"})),!0},k9A=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let A=t.changeByRange(i=>{if(!i.empty||i.from==0||i.from==t.doc.length)return{range:i};let n=i.from,o=t.doc.lineAt(n),a=n==o.from?n-1:Ta(o.text,n-o.from,!1)+o.from,r=n==o.to?n+1:Ta(o.text,n-o.from,!0)+o.from;return{changes:{from:a,to:r,insert:t.doc.slice(n,r).append(t.doc.slice(a,n))},range:de.cursor(r)}});return A.changes.empty?!1:(e(t.update(A,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function PD(t){let e=[],A=-1;for(let i of t.selection.ranges){let n=t.doc.lineAt(i.from),o=t.doc.lineAt(i.to);if(!i.empty&&i.to==o.from&&(o=t.doc.lineAt(i.to-1)),A>=n.number){let a=e[e.length-1];a.to=o.to,a.ranges.push(i)}else e.push({from:n.from,to:o.to,ranges:[i]});A=o.number+1}return e}function keA(t,e,A){if(t.readOnly)return!1;let i=[],n=[];for(let o of PD(t)){if(A?o.to==t.doc.length:o.from==0)continue;let a=t.doc.lineAt(A?o.to+1:o.from-1),r=a.length+1;if(A){i.push({from:o.to,to:a.to},{from:o.from,insert:a.text+t.lineBreak});for(let s of o.ranges)n.push(de.range(Math.min(t.doc.length,s.anchor+r),Math.min(t.doc.length,s.head+r)))}else{i.push({from:a.from,to:o.from},{from:o.to,insert:t.lineBreak+a.text});for(let s of o.ranges)n.push(de.range(s.anchor-r,s.head-r))}}return i.length?(e(t.update({changes:i,scrollIntoView:!0,selection:de.create(n,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var S9A=({state:t,dispatch:e})=>keA(t,e,!1),x9A=({state:t,dispatch:e})=>keA(t,e,!0);function SeA(t,e,A){if(t.readOnly)return!1;let i=[];for(let o of PD(t))A?i.push({from:o.from,insert:t.doc.slice(o.from,o.to)+t.lineBreak}):i.push({from:o.to,insert:t.lineBreak+t.doc.slice(o.from,o.to)});let n=t.changes(i);return e(t.update({changes:n,selection:t.selection.map(n,A?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var R9A=({state:t,dispatch:e})=>SeA(t,e,!1),N9A=({state:t,dispatch:e})=>SeA(t,e,!0),F9A=t=>{if(t.state.readOnly)return!1;let{state:e}=t,A=e.changes(PD(e).map(({from:n,to:o})=>(n>0?n--:o{let o;if(t.lineWrapping){let a=t.lineBlockAt(n.head),r=t.coordsAtPos(n.head,n.assoc||1);r&&(o=a.bottom+t.documentTop-r.bottom+t.defaultLineHeight/2)}return t.moveVertically(n,!0,o)}).map(A);return t.dispatch({changes:A,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function _9A(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let A=xr(t).resolveInner(e),i=A.childBefore(e),n=A.childAfter(e),o;return i&&n&&i.to<=e&&n.from>=e&&(o=i.type.prop(yi.closedBy))&&o.indexOf(n.name)>-1&&t.doc.lineAt(i.to).from==t.doc.lineAt(n.from).from&&!/\S/.test(t.sliceDoc(i.to,n.from))?{from:i.to,to:n.from}:null}var oeA=xeA(!1),L9A=xeA(!0);function xeA(t){return({state:e,dispatch:A})=>{if(e.readOnly)return!1;let i=e.changeByRange(n=>{let{from:o,to:a}=n,r=e.doc.lineAt(o),s=!t&&o==a&&_9A(e,o);t&&(o=a=(a<=r.to?r:e.doc.lineAt(a)).to);let g=new kd(e,{simulateBreak:o,simulateDoubleBreak:!!s}),l=TD(g,o);for(l==null&&(l=LC(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));ar.from&&o{let n=[];for(let a=i.from;a<=i.to;){let r=t.doc.lineAt(a);r.number>A&&(i.empty||i.to>r.from)&&(e(r,n,i),A=r.number),a=r.to+1}let o=t.changes(n);return{changes:n,range:de.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}})}var G9A=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let A=Object.create(null),i=new kd(t,{overrideIndentation:o=>{let a=A[o];return a??-1}}),n=OF(t,(o,a,r)=>{let s=TD(i,o.from);if(s==null)return;/\S/.test(o.text)||(s=0);let g=/^\s*/.exec(o.text)[0],l=LQ(t,s);(g!=l||r.fromt.readOnly?!1:(e(t.update(OF(t,(A,i)=>{i.push({from:A.from,insert:t.facet(xd)})}),{userEvent:"input.indent"})),!0),NeA=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(OF(t,(A,i)=>{let n=/^\s*/.exec(A.text)[0];if(!n)return;let o=LC(n,t.tabSize),a=0,r=LQ(t,Math.max(0,o-Fc(t)));for(;a(t.setTabFocusMode(),!0);var U9A=[{key:"Ctrl-b",run:seA,shift:QeA,preventDefault:!0},{key:"Ctrl-f",run:geA,shift:heA},{key:"Ctrl-p",run:CeA,shift:meA},{key:"Ctrl-n",run:IeA,shift:peA},{key:"Ctrl-a",run:n9A,shift:E9A},{key:"Ctrl-e",run:o9A,shift:Q9A},{key:"Ctrl-d",run:veA},{key:"Ctrl-h",run:TF},{key:"Ctrl-k",run:y9A},{key:"Ctrl-Alt-h",run:MeA},{key:"Ctrl-o",run:M9A},{key:"Ctrl-t",run:k9A},{key:"Ctrl-v",run:YF}],J9A=[{key:"ArrowLeft",run:seA,shift:QeA,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:VbA,shift:s9A,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:t9A,shift:d9A,preventDefault:!0},{key:"ArrowRight",run:geA,shift:heA,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:WbA,shift:g9A,preventDefault:!0},{mac:"Cmd-ArrowRight",run:i9A,shift:B9A,preventDefault:!0},{key:"ArrowUp",run:CeA,shift:meA,preventDefault:!0},{mac:"Cmd-ArrowUp",run:eeA,shift:ieA},{mac:"Ctrl-ArrowUp",run:XAA,shift:$AA},{key:"ArrowDown",run:IeA,shift:peA,preventDefault:!0},{mac:"Cmd-ArrowDown",run:teA,shift:neA},{mac:"Ctrl-ArrowDown",run:YF,shift:AeA},{key:"PageUp",run:XAA,shift:$AA},{key:"PageDown",run:YF,shift:AeA},{key:"Home",run:e9A,shift:I9A,preventDefault:!0},{key:"Mod-Home",run:eeA,shift:ieA},{key:"End",run:A9A,shift:C9A,preventDefault:!0},{key:"Mod-End",run:teA,shift:neA},{key:"Enter",run:oeA,shift:oeA},{key:"Mod-a",run:h9A},{key:"Backspace",run:TF,shift:TF,preventDefault:!0},{key:"Delete",run:veA,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:MeA,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:D9A,preventDefault:!0},{mac:"Mod-Backspace",run:v9A,preventDefault:!0},{mac:"Mod-Delete",run:b9A,preventDefault:!0}].concat(U9A.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),FeA=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:XbA,shift:l9A},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:$bA,shift:c9A},{key:"Alt-ArrowUp",run:S9A},{key:"Shift-Alt-ArrowUp",run:R9A},{key:"Alt-ArrowDown",run:x9A},{key:"Shift-Alt-ArrowDown",run:N9A},{key:"Mod-Alt-ArrowUp",run:m9A},{key:"Mod-Alt-ArrowDown",run:p9A},{key:"Escape",run:w9A},{key:"Mod-Enter",run:L9A},{key:"Alt-l",mac:"Ctrl-l",run:u9A},{key:"Mod-i",run:f9A,preventDefault:!0},{key:"Mod-[",run:NeA},{key:"Mod-]",run:ReA},{key:"Mod-Alt-\\",run:G9A},{key:"Shift-Mod-k",run:F9A},{key:"Shift-Mod-\\",run:r9A},{key:"Mod-/",run:TbA},{key:"Alt-A",run:zbA},{key:"Ctrl-m",mac:"Shift-Alt-m",run:K9A}].concat(J9A),_eA={key:"Tab",run:ReA,shift:NeA};var VD=class{constructor(e,A,i){this.from=e,this.to=A,this.diagnostic=i}},Rd=class t{constructor(e,A,i){this.diagnostics=e,this.panel=A,this.selected=i}static init(e,A,i){let n=i.facet(U0).markerFilter;n&&(e=n(e,i));let o=e.slice().sort((d,B)=>d.from-B.from||d.to-B.to),a=new Wr,r=[],s=0,g=i.doc.iter(),l=0,C=i.doc.length;for(let d=0;;){let B=d==o.length?null:o[d];if(!B&&!r.length)break;let E,Q;if(r.length)E=s,Q=r.reduce((S,M)=>Math.min(S,M.to),B&&B.from>E?B.from:1e8);else{if(E=B.from,E>C)break;Q=B.to,r.push(B),d++}for(;dS.from||S.to==E))r.push(S),d++,Q=Math.min(S.to,Q);else{Q=Math.min(S.from,Q);break}}Q=Math.min(Q,C);let f=!1;if(r.some(S=>S.from==E&&(S.to==Q||Q==C))&&(f=E==Q,!f&&Q-E<10)){let S=E-(l+g.value.length);S>0&&(g.next(S),l=E);for(let M=E;;){if(M>=Q){f=!0;break}if(!g.lineBreak&&l+g.value.length>M)break;M=l+g.value.length,l+=g.value.length,g.next()}}let b=PeA(r);if(f)a.add(E,E,Dt.widget({widget:new PF(b),diagnostics:r.slice()}));else{let S=r.reduce((M,D)=>D.markClass?M+" "+D.markClass:M,"");a.add(E,Q,Dt.mark({class:"cm-lintRange cm-lintRange-"+b+S,diagnostics:r.slice(),inclusiveEnd:r.some(M=>M.to>Q)}))}if(s=Q,s==C)break;for(let S=0;S{if(!(e&&a.diagnostics.indexOf(e)<0))if(!i)i=new VD(n,o,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new VD(i.from,o,i.diagnostic)}}),i}function KeA(t,e){let A=e.pos,i=e.end||A,n=t.state.facet(U0).hideOn(t,A,i);if(n!=null)return n;let o=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(a=>a.is(XD))||t.changes.touchesRange(o.from,Math.max(o.to,i)))}function UeA(t,e){return t.field(Pg,!1)?e:e.concat(Hi.appendConfig.of(qeA))}function Y9A(t,e){return{effects:UeA(t,[XD.of(e)])}}var XD=Hi.define(),qF=Hi.define(),JeA=Hi.define(),Pg=wa.define({create(){return new Rd(Dt.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let A=t.diagnostics.map(e.changes),i=null,n=t.panel;if(t.selected){let o=e.changes.mapPos(t.selected.from,1);i=UQ(A,t.selected.diagnostic,o)||UQ(A,null,o)}!A.size&&n&&e.state.facet(U0).autoPanel&&(n=null),t=new Rd(A,n,i)}for(let A of e.effects)if(A.is(XD)){let i=e.state.facet(U0).autoPanel?A.value.length?pf.open:null:t.panel;t=Rd.init(A.value,i,e.state)}else A.is(qF)?t=new Rd(t.diagnostics,A.value?pf.open:null,t.selected):A.is(JeA)&&(t=new Rd(t.diagnostics,t.panel,A.value));return t},provide:t=>[Dd.from(t,e=>e.panel),ii.decorations.from(t,e=>e.diagnostics)]});var T9A=Dt.mark({class:"cm-lintRange cm-lintRange-active"});function H9A(t,e,A){let{diagnostics:i}=t.state.field(Pg),n,o=-1,a=-1;i.between(e-(A<0?1:0),e+(A>0?1:0),(s,g,{spec:l})=>{if(e>=s&&e<=g&&(s==g||(e>s||A>0)&&(eOeA(t,A,!1)))}var z9A=t=>{let e=t.state.field(Pg,!1);(!e||!e.panel)&&t.dispatch({effects:UeA(t.state,[qF.of(!0)])});let A=sf(t,pf.open);return A&&A.dom.querySelector(".cm-panel-lint ul").focus(),!0},LeA=t=>{let e=t.state.field(Pg,!1);return!e||!e.panel?!1:(t.dispatch({effects:qF.of(!1)}),!0)},O9A=t=>{let e=t.state.field(Pg,!1);if(!e)return!1;let A=t.state.selection.main,i=e.diagnostics.iter(A.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==A.from&&i.to==A.to)?!1:(t.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var TeA=[{key:"Mod-Shift-m",run:z9A,preventDefault:!0},{key:"F8",run:O9A}],P9A=_o.fromClass(class{constructor(t){this.view=t,this.timeout=-1,this.set=!0;let{delay:e}=t.state.facet(U0);this.lintTime=Date.now()+e,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,e)}run(){clearTimeout(this.timeout);let t=Date.now();if(tPromise.resolve(i(this.view))),i=>{this.view.state.doc==e.doc&&this.view.dispatch(Y9A(this.view.state,i.reduce((n,o)=>n.concat(o))))},i=>{Sr(this.view.state,i)})}}update(t){let e=t.state.facet(U0);(t.docChanged||e!=t.startState.facet(U0)||e.needsRefresh&&e.needsRefresh(t))&&(this.lintTime=Date.now()+e.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,e.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});function j9A(t,e,A){let i=[],n=-1;for(let o of t)o.then(a=>{i.push(a),clearTimeout(n),i.length==t.length?e(i):n=setTimeout(()=>e(i),200)},A)}var U0=We.define({combine(t){return gA({sources:t.map(e=>e.source).filter(e=>e!=null)},kr(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:GeA,tooltipFilter:GeA,needsRefresh:(e,A)=>e?A?i=>e(i)||A(i):e:A,hideOn:(e,A)=>e?A?(i,n,o)=>e(i,n,o)||A(i,n,o):e:A,autoPanel:(e,A)=>e||A}))}});function GeA(t,e){return t?e?(A,i)=>e(t(A,i),i):t:e}function HeA(t,e={}){return[U0.of({source:t,config:e}),P9A,qeA]}function zeA(t){let e=[];if(t)A:for(let{name:A}of t){for(let i=0;io.toLowerCase()==n.toLowerCase())){e.push(n);continue A}}e.push("")}return e}function OeA(t,e,A){var i;let n=A?zeA(e.actions):[];return io("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},io("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((o,a)=>{let r=!1,s=d=>{if(d.preventDefault(),r)return;r=!0;let B=UQ(t.state.field(Pg).diagnostics,e);B&&o.apply(t,B.from,B.to)},{name:g}=o,l=n[a]?g.indexOf(n[a]):-1,C=l<0?g:[g.slice(0,l),io("u",g.slice(l,l+1)),g.slice(l+1)],I=o.markClass?" "+o.markClass:"";return io("button",{type:"button",class:"cm-diagnosticAction"+I,onclick:s,onmousedown:s,"aria-label":` Action: ${g}${l<0?"":` (access key "${n[a]})"`}.`},C)}),e.source&&io("div",{class:"cm-diagnosticSource"},e.source))}var PF=class extends fg{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return io("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},WD=class{constructor(e,A){this.diagnostic=A,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=OeA(e,A,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},pf=class t{constructor(e){this.view=e,this.items=[];let A=n=>{if(n.keyCode==27)LeA(this.view),this.view.focus();else if(n.keyCode==38||n.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(n.keyCode==40||n.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(n.keyCode==36)this.moveSelection(0);else if(n.keyCode==35)this.moveSelection(this.items.length-1);else if(n.keyCode==13)this.view.focus();else if(n.keyCode>=65&&n.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:o}=this.items[this.selectedIndex],a=zeA(o.actions);for(let r=0;r{for(let o=0;oLeA(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(Pg).selected;if(!e)return-1;for(let A=0;A{for(let l of g.diagnostics){if(a.has(l))continue;a.add(l);let C=-1,I;for(let d=i;di&&(this.items.splice(i,C-i),n=!0)),A&&I.diagnostic==A.diagnostic?I.dom.hasAttribute("aria-selected")||(I.dom.setAttribute("aria-selected","true"),o=I):I.dom.hasAttribute("aria-selected")&&I.dom.removeAttribute("aria-selected"),i++}});i({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:r,panel:s})=>{let g=s.height/this.list.offsetHeight;r.tops.bottom&&(this.list.scrollTop+=(r.bottom-s.bottom)/g)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function A(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)A();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)A()}moveSelection(e){if(this.selectedIndex<0)return;let A=this.view.state.field(Pg),i=UQ(A.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:JeA.of(i)})}static open(e){return new t(e)}};function qD(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(t)}')`}function jD(t){return qD(``,'width="6" height="3"')}var q9A=ii.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:jD("#d11")},".cm-lintRange-warning":{backgroundImage:jD("orange")},".cm-lintRange-info":{backgroundImage:jD("#999")},".cm-lintRange-hint":{backgroundImage:jD("#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}}});function V9A(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function PeA(t){let e="hint",A=1;for(let i of t){let n=V9A(i.severity);n>A&&(A=n,e=i.severity)}return e}var ZD=class extends mg{constructor(e){super(),this.diagnostics=e,this.severity=PeA(e)}toDOM(e){let A=document.createElement("div");A.className="cm-lint-marker cm-lint-marker-"+this.severity;let i=this.diagnostics,n=e.state.facet($D).tooltipFilter;return n&&(i=n(i,e.state)),i.length&&(A.onmouseover=()=>Z9A(e,A,i)),A}};function W9A(t,e){let A=i=>{let n=e.getBoundingClientRect();if(!(i.clientX>n.left-10&&i.clientXn.top-10&&i.clientYe.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,W9A(t,e)}let{hoverTime:n}=t.state.facet($D),o=setTimeout(i,n);e.onmouseout=()=>{clearTimeout(o),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(o),o=setTimeout(i,n)}}function X9A(t,e){let A=Object.create(null);for(let n of e){let o=t.lineAt(n.from);(A[o.from]||(A[o.from]=[])).push(n)}let i=[];for(let n in A)i.push(new ZD(A[n]).range(+n));return to.of(i,!0)}var $9A=SD({class:"cm-gutter-lint",markers:t=>t.state.field(jF),widgetMarker:(t,e,A)=>{let i=[];return t.state.field(jF).between(A.from,A.to,(n,o,a)=>{n>A.from&&ni.is(VF)?i.value:A,t)},provide:t=>xQ.from(t)}),AMA=ii.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:qD('')},".cm-lint-marker-warning":{content:qD('')},".cm-lint-marker-error":{content:qD('')}}),qeA=[Pg,ii.decorations.compute([Pg],t=>{let{selected:e,panel:A}=t.field(Pg);return!e||!A||e.from==e.to?Dt.none:Dt.set([T9A.range(e.from,e.to)])}),lAA(H9A,{hideOn:KeA}),q9A],$D=We.define({combine(t){return kr(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function VeA(t={}){return[$D.of(t),jF,$9A,AMA,jeA]}var ZF=class t{constructor(e,A,i,n,o,a,r,s,g,l=0,C){this.p=e,this.stack=A,this.state=i,this.reducePos=n,this.pos=o,this.score=a,this.buffer=r,this.bufferBase=s,this.curContext=g,this.lookAhead=l,this.parent=C}toString(){return`[${this.stack.filter((e,A)=>A%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,A,i=0){let n=e.parser.context;return new t(e,[],A,i,i,0,[],0,n?new Ay(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,A){this.stack.push(this.state,A,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var A;let i=e>>19,n=e&65535,{parser:o}=this.p,a=this.reducePos=2e3&&!(!((A=this.p.parser.nodeSet.types[n])===null||A===void 0)&&A.isAnonymous)&&(g==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizes;)this.stack.pop();this.reduceContext(n,g)}storeNode(e,A,i,n=4,o=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&a.buffer[r-4]==0&&a.buffer[r-1]>-1){if(A==i)return;if(a.buffer[r-2]>=A){a.buffer[r-2]=i;return}}}if(!o||this.pos==i)this.buffer.push(e,A,i,n);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let r=!1;for(let s=a;s>0&&this.buffer[s-2]>i;s-=4)if(this.buffer[s-1]>=0){r=!0;break}if(r)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,n>4&&(n-=4)}this.buffer[a]=e,this.buffer[a+1]=A,this.buffer[a+2]=i,this.buffer[a+3]=n}}shift(e,A,i,n){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let o=e,{parser:a}=this.p;this.pos=n,!a.stateFlag(o,1)&&(n>i||A<=a.maxNode)&&(this.reducePos=n),this.pushState(o,Math.min(i,this.reducePos)),this.shiftContext(A,i),A<=a.maxNode&&this.buffer.push(A,i,n,4)}else this.pos=n,this.shiftContext(A,i),A<=this.p.parser.maxNode&&this.buffer.push(A,i,n,4)}apply(e,A,i,n){e&65536?this.reduce(e):this.shift(e,A,i,n)}useNode(e,A){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(A,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,A=e.buffer.length;for(;A>0&&e.buffer[A-2]>e.reducePos;)A-=4;let i=e.buffer.slice(A),n=e.bufferBase+A;for(;e&&n==e.bufferBase;)e=e.parent;return new t(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,A){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,A,4),this.storeNode(0,this.pos,A,i?8:4),this.pos=this.reducePos=A,this.score-=190}canShift(e){for(let A=new XF(this);;){let i=this.p.parser.stateSlot(A.state,4)||this.p.parser.hasAction(A.state,e);if(i==0)return!1;if((i&65536)==0)return!0;A.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let A=this.p.parser.nextStates(this.state);if(A.length>8||this.stack.length>=120){let n=[];for(let o=0,a;os&1&&r==a)||n.push(A[o],a)}A=n}let i=[];for(let n=0;n>19,n=A&65535,o=this.stack.length-i*3;if(o<0||e.getGoto(this.stack[o],n,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;A=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(A),!0}findForcedReduction(){let{parser:e}=this.p,A=[],i=(n,o)=>{if(!A.includes(n))return A.push(n),e.allActions(n,a=>{if(!(a&393216))if(a&65536){let r=(a>>19)-o;if(r>1){let s=a&65535,g=this.stack.length-r*3;if(g>=0&&e.getGoto(this.stack[g],s,!1)>=0)return r<<19|65536|s}}else{let r=i(a,o+1);if(r!=null)return r}})};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:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let A=0;A0&&this.emitLookAhead()}},Ay=class{constructor(e,A){this.tracker=e,this.context=A,this.hash=e.strict?e.hash(A):0}},XF=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let A=e&65535,i=e>>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 n=this.start.p.parser.getGoto(this.stack[this.base-3],A,!0);this.state=n}},$F=class t{constructor(e,A,i){this.stack=e,this.pos=A,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,A=e.bufferBase+e.buffer.length){return new t(e,A,A-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new t(this.stack,this.pos,this.index)}};function wf(t,e=Uint16Array){if(typeof t!="string")return t;let A=null;for(let i=0,n=0;i=92&&a--,a>=34&&a--;let s=a-32;if(s>=46&&(s-=46,r=!0),o+=s,r)break;o*=46}A?A[n++]=o:A=new e(o)}return A}var JQ=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},WeA=new JQ,A_=class{constructor(e,A){this.input=e,this.ranges=A,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=WeA,this.rangeIndex=0,this.pos=this.chunkPos=A[0].from,this.range=A[0],this.end=A[A.length-1].to,this.readNext()}resolveOffset(e,A){let i=this.range,n=this.rangeIndex,o=this.pos+e;for(;oi.to:o>=i.to;){if(n==this.ranges.length-1)return null;let a=this.ranges[++n];o+=a.from-i.to,i=a}return o}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,A.from);return this.end}peek(e){let A=this.chunkOff+e,i,n;if(A>=0&&A=this.chunk2Pos&&ir.to&&(this.chunk2=this.chunk2.slice(0,r.to-i)),n=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),n}acceptToken(e,A=0){let i=A?this.resolveOffset(A,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,A){if(A?(this.token=A,A.start=e,A.lookAhead=e+1,A.value=A.extended=-1):this.token=WeA,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&A<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,A-this.chunkPos);if(e>=this.chunk2Pos&&A<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,A-this.chunk2Pos);if(e>=this.range.from&&A<=this.range.to)return this.input.read(e,A);let i="";for(let n of this.ranges){if(n.from>=A)break;n.to>e&&(i+=this.input.read(Math.max(n.from,e),Math.min(n.to,A)))}return i}},_I=class{constructor(e,A){this.data=e,this.id=A}token(e,A){let{parser:i}=A.p;etA(this.data,e,A,this.id,i.data,i.tokenPrecTable)}};_I.prototype.contextual=_I.prototype.fallback=_I.prototype.extend=!1;var e_=class{constructor(e,A,i){this.precTable=A,this.elseToken=i,this.data=typeof e=="string"?wf(e):e}token(e,A){let i=e.pos,n=0;for(;;){let o=e.next<0,a=e.resolveOffset(1,1);if(etA(this.data,e,A,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(o||n++,a==null)break;e.reset(a,e.token)}n&&(e.reset(i,e.token),e.acceptToken(this.elseToken,n))}};e_.prototype.contextual=_I.prototype.fallback=_I.prototype.extend=!1;function etA(t,e,A,i,n,o){let a=0,r=1<0){let B=t[d];if(s.allows(B)&&(e.token.value==-1||e.token.value==B||tMA(B,e.token.value,n,o))){e.acceptToken(B);break}}let l=e.next,C=0,I=t[a+2];if(e.next<0&&I>C&&t[g+I*3-3]==65535){a=t[g+I*3-1];continue A}for(;C>1,B=g+d+(d<<1),E=t[B],Q=t[B+1]||65536;if(l=Q)C=d+1;else{a=t[B+2],e.advance();continue A}}break}}function ZeA(t,e,A){for(let i=e,n;(n=t[i])!=65535;i++)if(n==A)return i-e;return-1}function tMA(t,e,A,i){let n=ZeA(A,i,e);return n<0||ZeA(A,i,t)e)&&!i.type.isError)return A<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(A<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return A<0?0:t.length}}var t_=class{constructor(e,A){this.fragments=e,this.nodeSet=A,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?XeA(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?XeA(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=a,null;if(o instanceof za){if(a==e){if(a=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(a),this.index.push(0))}else this.index[A]++,this.nextStart=a+o.length}}},i_=class{constructor(e,A){this.stream=A,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new JQ)}getActions(e){let A=0,i=null,{parser:n}=e.p,{tokenizers:o}=n,a=n.stateSlot(e.state,3),r=e.curContext?e.curContext.hash:0,s=0;for(let g=0;gC.end+25&&(s=Math.max(C.lookAhead,s)),C.value!=0)){let I=A;if(C.extended>-1&&(A=this.addActions(e,C.extended,C.end,A)),A=this.addActions(e,C.value,C.end,A),!l.extend&&(i=C,A>I))break}}for(;this.actions.length>A;)this.actions.pop();return s&&e.setLookAhead(s),!i&&e.pos==this.stream.end&&(i=new JQ,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,A=this.addActions(e,i.value,i.end,A)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let A=new JQ,{pos:i,p:n}=e;return A.start=i,A.end=Math.min(i+1,n.stream.end),A.value=i==n.stream.end?n.parser.eofTerm:0,A}updateCachedToken(e,A,i){let n=this.stream.clipPos(i.pos);if(A.token(this.stream.reset(n,e),i),e.value>-1){let{parser:o}=i.p;for(let a=0;a=0&&i.p.parser.dialect.allows(r>>1)){(r&1)==0?e.value=r>>1:e.extended=r>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,A,i,n){for(let o=0;oe.bufferLength*4?new t_(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,A=this.minStackPos,i=this.stacks=[],n,o;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;aA)i.push(r);else{if(this.advanceStack(r,i,e))continue;{n||(n=[],o=[]),n.push(r);let s=this.tokens.getMainToken(r);o.push(s.value,s.end)}}break}}if(!i.length){let a=n&&iMA(n);if(a)return jg&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw jg&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+A);this.recovering||(this.recovering=5)}if(this.recovering&&n){let a=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,o,i);if(a)return jg&&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((r,s)=>s.score-r.score);i.length>a;)i.pop();i.some(r=>r.reducePos>A)&&this.recovering--}else if(i.length>1){A:for(let a=0;a500&&g.buffer.length>500)if((r.score-g.score||r.buffer.length-g.buffer.length)>0)i.splice(s--,1);else{i.splice(a--,1);continue A}}}i.length>12&&(i.sort((a,r)=>r.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let g=e.curContext&&e.curContext.tracker.strict,l=g?e.curContext.hash:0;for(let C=this.fragments.nodeAt(n);C;){let I=this.parser.nodeSet.types[C.type.id]==C.type?o.getGoto(e.state,C.type.id):-1;if(I>-1&&C.length&&(!g||(C.prop(yi.contextHash)||0)==l))return e.useNode(C,I),jg&&console.log(a+this.stackID(e)+` (via reuse of ${o.getName(C.type.id)})`),!0;if(!(C instanceof za)||C.children.length==0||C.positions[0]>0)break;let d=C.children[0];if(d instanceof za&&C.positions[0]==0)C=d;else break}}let r=o.stateSlot(e.state,4);if(r>0)return e.reduce(r),jg&&console.log(a+this.stackID(e)+` (via always-reduce ${o.getName(r&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let g=0;gn?A.push(B):i.push(B)}return!1}advanceFully(e,A){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return $eA(e,A),!0}}runRecovery(e,A,i){let n=null,o=!1;for(let a=0;a ":"";if(r.deadEnd&&(o||(o=!0,r.restart(),jg&&console.log(l+this.stackID(r)+" (restarted)"),this.advanceFully(r,i))))continue;let C=r.split(),I=l;for(let d=0;d<10&&C.forceReduce()&&(jg&&console.log(I+this.stackID(C)+" (via force-reduce)"),!this.advanceFully(C,i));d++)jg&&(I=this.stackID(C)+" -> ");for(let d of r.recoverByInsert(s))jg&&console.log(l+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>r.pos?(g==r.pos&&(g++,s=0),r.recoverByDelete(s,g),jg&&console.log(l+this.stackID(r)+` (via recover-delete ${this.parser.getName(s)})`),$eA(r,i)):(!n||n.scoree.topRules[r][1]),n=[];for(let r=0;r=0)o(l,s,r[g++]);else{let C=r[g+-l];for(let I=-l;I>0;I--)o(r[g++],s,C);g++}}}this.nodeSet=new lf(A.map((r,s)=>ws.define({name:s>=this.minRepeatTerm?void 0:r,id:s,props:n[s],top:i.indexOf(s)>-1,error:s==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(s)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let a=wf(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let r=0;rtypeof r=="number"?new _I(a,r):r),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,A,i){let n=new n_(this,e,A,i);for(let o of this.wrappers)n=o(n,e,A,i);return n}getGoto(e,A,i=!1){let n=this.goto;if(A>=n[0])return-1;for(let o=n[A+1];;){let a=n[o++],r=a&1,s=n[o++];if(r&&i)return s;for(let g=o+(a>>1);o0}validAction(e,A){return!!this.allActions(e,i=>i==A?!0:null)}allActions(e,A){let i=this.stateSlot(e,4),n=i?A(i):void 0;for(let o=this.stateSlot(e,1);n==null;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=JC(this.data,o+2);else break;n=A(JC(this.data,o+1))}return n}nextStates(e){let A=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=JC(this.data,i+2);else break;if((this.data[i+2]&1)==0){let n=this.data[i+1];A.some((o,a)=>a&1&&o==n)||A.push(this.data[i],n)}}return A}configure(e){let A=Object.assign(Object.create(t.prototype),this);if(e.props&&(A.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);A.top=i}return e.tokenizers&&(A.tokenizers=this.tokenizers.map(i=>{let n=e.tokenizers.find(o=>o.from==i);return n?n.to:i})),e.specializers&&(A.specializers=this.specializers.slice(),A.specializerSpecs=this.specializerSpecs.map((i,n)=>{let o=e.specializers.find(r=>r.from==i.external);if(!o)return i;let a=Object.assign(Object.assign({},i),{external:o.to});return A.specializers[n]=AtA(a),a})),e.contextTracker&&(A.context=e.contextTracker),e.dialect&&(A.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(A.strict=e.strict),e.wrap&&(A.wrappers=A.wrappers.concat(e.wrap)),e.bufferLength!=null&&(A.bufferLength=e.bufferLength),A}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let A=this.dynamicPrecedences;return A==null?0:A[e]||0}parseDialect(e){let A=Object.keys(this.dialects),i=A.map(()=>!1);if(e)for(let o of e.split(" ")){let a=A.indexOf(o);a>=0&&(i[a]=!0)}let n=null;for(let o=0;oi)&&A.p.parser.stateFlag(A.state,2)&&(!e||e.scoret.external(A,i)<<1|e}return t.get}var nMA=KD({String:Re.string,Number:Re.number,"True False":Re.bool,PropertyName:Re.propertyName,Null:Re.null,", :":Re.separator,"[ ]":Re.squareBracket,"{ }":Re.brace}),ttA=ey.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:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[nMA],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});var oMA=UD.define({name:"json",parser:ttA.configure({props:[FF.add({Object:_F({except:/^\s*\}/}),Array:_F({except:/^\s*\]/})}),hf.add({"Object Array":GAA})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function itA(){return new JD(oMA)}var ntA=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,GI=class{constructor(e,A,i=0,n=e.length,o,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,n),this.bufferStart=i,this.normalize=o?r=>o(ntA(r)):ntA,this.query=this.normalize(A)}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 Zr(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let A=Y3(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=zg(e);let n=this.normalize(A);if(n.length)for(let o=0,a=i;;o++){let r=n.charCodeAt(o),s=this.match(r,a,this.bufferPos+this.bufferStart);if(o==n.length-1){if(s)return this.value=s,this;break}a==i&&othis.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 e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let A=this.matchPos<=this.to&&this.re.exec(this.curLine);if(A){let i=this.curLineStart+A.index,n=i+A[0].length;if(this.matchPos=ry(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,n,A)))return this.value={from:i,to:n,match:A},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||n.to<=A){let r=new t(A,e.sliceString(A,i));return a_.set(e,r),r}if(n.from==A&&n.to==i)return n;let{text:o,from:a}=n;return a>A&&(o=e.sliceString(A,a)+o,a=A),n.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,A=this.re.exec(this.flat.text);if(A&&!A[0]&&A.index==e&&(this.re.lastIndex=e+1,A=this.re.exec(this.flat.text)),A){let i=this.flat.from+A.index,n=i+A[0].length;if((this.flat.to>=this.to||A.index+A[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,n,A)))return this.value={from:i,to:n,match:A},this.matchPos=ry(this.text,n+(i==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=oy.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(ny.prototype[Symbol.iterator]=ay.prototype[Symbol.iterator]=function(){return this});function aMA(t){try{return new RegExp(t,C_),!0}catch{return!1}}function ry(t,e){if(e>=t.length)return e;let A=t.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}var rMA=t=>{let{state:e}=t,A=String(e.doc.lineAt(t.state.selection.main.head).number),{close:i,result:n}=CAA(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:A},focus:!0,submitLabel:e.phrase("go")});return n.then(o=>{let a=o&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(o.elements.line.value);if(!a){t.dispatch({effects:i});return}let r=e.doc.lineAt(e.selection.main.head),[,s,g,l,C]=a,I=l?+l.slice(1):0,d=g?+g:r.number;if(g&&C){let Q=d/100;s&&(Q=Q*(s=="-"?-1:1)+r.number/e.doc.lines),d=Math.round(e.doc.lines*Q)}else g&&s&&(d=d*(s=="-"?-1:1)+r.number);let B=e.doc.line(Math.max(1,Math.min(e.doc.lines,d))),E=de.cursor(B.from+Math.max(0,Math.min(I,B.length)));t.dispatch({effects:[i,ii.scrollIntoView(E.from,{y:"center"})],selection:E})}),!0},sMA={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},stA=We.define({combine(t){return kr(t,sMA,{highlightWordAroundCursor:(e,A)=>e||A,minSelectionLength:Math.min,maxMatches:Math.min})}});function gtA(t){let e=[IMA,CMA];return t&&e.push(stA.of(t)),e}var gMA=Dt.mark({class:"cm-selectionMatch"}),lMA=Dt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function otA(t,e,A,i){return(A==0||t(e.sliceDoc(A-1,A))!=Fo.Word)&&(i==e.doc.length||t(e.sliceDoc(i,i+1))!=Fo.Word)}function cMA(t,e,A,i){return t(e.sliceDoc(A,A+1))==Fo.Word&&t(e.sliceDoc(i-1,i))==Fo.Word}var CMA=_o.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(stA),{state:A}=t,i=A.selection;if(i.ranges.length>1)return Dt.none;let n=i.main,o,a=null;if(n.empty){if(!e.highlightWordAroundCursor)return Dt.none;let s=A.wordAt(n.head);if(!s)return Dt.none;a=A.charCategorizer(n.head),o=A.sliceDoc(s.from,s.to)}else{let s=n.to-n.from;if(s200)return Dt.none;if(e.wholeWords){if(o=A.sliceDoc(n.from,n.to),a=A.charCategorizer(n.head),!(otA(a,A,n.from,n.to)&&cMA(a,A,n.from,n.to)))return Dt.none}else if(o=A.sliceDoc(n.from,n.to),!o)return Dt.none}let r=[];for(let s of t.visibleRanges){let g=new GI(A.doc,o,s.from,s.to);for(;!g.next().done;){let{from:l,to:C}=g.value;if((!a||otA(a,A,l,C))&&(n.empty&&l<=n.from&&C>=n.to?r.push(lMA.range(l,C)):(l>=n.to||C<=n.from)&&r.push(gMA.range(l,C)),r.length>e.maxMatches))return Dt.none}}return Dt.set(r)}},{decorations:t=>t.decorations}),IMA=ii.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),dMA=({state:t,dispatch:e})=>{let{selection:A}=t,i=de.create(A.ranges.map(n=>t.wordAt(n.head)||de.cursor(n.head)),A.mainIndex);return i.eq(A)?!1:(e(t.update({selection:i})),!0)};function BMA(t,e){let{main:A,ranges:i}=t.selection,n=t.wordAt(A.head),o=n&&n.from==A.from&&n.to==A.to;for(let a=!1,r=new GI(t.doc,e,i[i.length-1].to);;)if(r.next(),r.done){if(a)return null;r=new GI(t.doc,e,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(s=>s.from==r.value.from))continue;if(o){let s=t.wordAt(r.value.from);if(!s||s.from!=r.value.from||s.to!=r.value.to)continue}return r.value}}var EMA=({state:t,dispatch:e})=>{let{ranges:A}=t.selection;if(A.some(o=>o.from===o.to))return dMA({state:t,dispatch:e});let i=t.sliceDoc(A[0].from,A[0].to);if(t.selection.ranges.some(o=>t.sliceDoc(o.from,o.to)!=i))return!1;let n=BMA(t,i);return n?(e(t.update({selection:t.selection.addRange(de.range(n.from,n.to),!1),effects:ii.scrollIntoView(n.to)})),!0):!1},Nd=We.define({combine(t){return kr(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new l_(e),scrollToMatch:e=>ii.scrollIntoView(e)})}});function ltA(t){return t?[Nd.of(t),c_]:c_}var sy=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||aMA(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(A,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new s_(this):new r_(this)}getCursor(e,A=0,i){let n=e.doc?e:$a.create({doc:e});return i==null&&(i=n.doc.length),this.regexp?TQ(this,n,A,i):YQ(this,n,A,i)}},gy=class{constructor(e){this.spec=e}};function QMA(t,e,A){return(i,n,o,a)=>{if(A&&!A(i,n,o,a))return!1;let r=i>=a&&n<=a+o.length?o.slice(i-a,n-a):e.doc.sliceString(i,n);return t(r,e,i,n)}}function YQ(t,e,A,i){let n;return t.wholeWord&&(n=hMA(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(n=QMA(t.test,e,n)),new GI(e.doc,t.unquoted,A,i,t.caseSensitive?void 0:o=>o.toLowerCase(),n)}function hMA(t,e){return(A,i,n,o)=>((o>A||o+n.length=A)return null;n.push(i.value)}return n}highlight(e,A,i,n){let o=YQ(this.spec,e,Math.max(0,A-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}};function uMA(t,e,A){return(i,n,o)=>(!A||A(i,n,o))&&t(o[0],e,i,n)}function TQ(t,e,A,i){let n;return t.wholeWord&&(n=fMA(e.charCategorizer(e.selection.main.head))),t.test&&(n=uMA(t.test,e,n)),new ny(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:n},A,i)}function ly(t,e){return t.slice(Ta(t,e,!1),e)}function cy(t,e){return t.slice(e,Ta(t,e))}function fMA(t){return(e,A,i)=>!i[0].length||(t(ly(i.input,i.index))!=Fo.Word||t(cy(i.input,i.index))!=Fo.Word)&&(t(cy(i.input,i.index+i[0].length))!=Fo.Word||t(ly(i.input,i.index+i[0].length))!=Fo.Word)}var s_=class extends gy{nextMatch(e,A,i){let n=TQ(this.spec,e,i,e.doc.length).next();return n.done&&(n=TQ(this.spec,e,0,A).next()),n.done?null:n.value}prevMatchInRange(e,A,i){for(let n=1;;n++){let o=Math.max(A,i-n*1e4),a=TQ(this.spec,e,o,i),r=null;for(;!a.next().done;)r=a.value;if(r&&(o==A||r.from>o+10))return r;if(o==A)return null}}prevMatch(e,A,i){return this.prevMatchInRange(e,0,A)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(A,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let n=i.length;n>0;n--){let o=+i.slice(0,n);if(o>0&&o=A)return null;n.push(i.value)}return n}highlight(e,A,i,n){let o=TQ(this.spec,e,Math.max(0,A-250),Math.min(i+250,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}},yf=Hi.define(),I_=Hi.define(),LI=wa.define({create(t){return new Df(g_(t).create(),null)},update(t,e){for(let A of e.effects)A.is(yf)?t=new Df(A.value.create(),t.panel):A.is(I_)&&(t=new Df(t.query,A.value?d_:null));return t},provide:t=>Dd.from(t,e=>e.panel)});var Df=class{constructor(e,A){this.query=e,this.panel=A}},mMA=Dt.mark({class:"cm-searchMatch"}),pMA=Dt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),wMA=_o.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(LI))}update(t){let e=t.state.field(LI);(e!=t.startState.field(LI)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Dt.none;let{view:A}=this,i=new Wr;for(let n=0,o=A.visibleRanges,a=o.length;no[n+1].from-500;)s=o[++n].to;t.highlight(A.state,r,s,(g,l)=>{let C=A.state.selection.ranges.some(I=>I.from==g&&I.to==l);i.add(g,l,C?pMA:mMA)})}return i.finish()}},{decorations:t=>t.decorations});function vf(t){return e=>{let A=e.state.field(LI,!1);return A&&A.query.spec.valid?t(e,A):dy(e)}}var Cy=vf((t,{query:e})=>{let{to:A}=t.state.selection.main,i=e.nextMatch(t.state,A,A);if(!i)return!1;let n=de.single(i.from,i.to),o=t.state.facet(Nd);return t.dispatch({selection:n,effects:[B_(t,i),o.scrollToMatch(n.main,t)],userEvent:"select.search"}),CtA(t),!0}),Iy=vf((t,{query:e})=>{let{state:A}=t,{from:i}=A.selection.main,n=e.prevMatch(A,i,i);if(!n)return!1;let o=de.single(n.from,n.to),a=t.state.facet(Nd);return t.dispatch({selection:o,effects:[B_(t,n),a.scrollToMatch(o.main,t)],userEvent:"select.search"}),CtA(t),!0}),DMA=vf((t,{query:e})=>{let A=e.matchAll(t.state,1e3);return!A||!A.length?!1:(t.dispatch({selection:de.create(A.map(i=>de.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),yMA=({state:t,dispatch:e})=>{let A=t.selection;if(A.ranges.length>1||A.main.empty)return!1;let{from:i,to:n}=A.main,o=[],a=0;for(let r=new GI(t.doc,t.sliceDoc(i,n));!r.next().done;){if(o.length>1e3)return!1;r.value.from==i&&(a=o.length),o.push(de.range(r.value.from,r.value.to))}return e(t.update({selection:de.create(o,a),userEvent:"select.search.matches"})),!0},atA=vf((t,{query:e})=>{let{state:A}=t,{from:i,to:n}=A.selection.main;if(A.readOnly)return!1;let o=e.nextMatch(A,i,i);if(!o)return!1;let a=o,r=[],s,g,l=[];a.from==i&&a.to==n&&(g=A.toText(e.getReplacement(a)),r.push({from:a.from,to:a.to,insert:g}),a=e.nextMatch(A,a.from,a.to),l.push(ii.announce.of(A.phrase("replaced match on line $",A.doc.lineAt(i).number)+".")));let C=t.state.changes(r);return a&&(s=de.single(a.from,a.to).map(C),l.push(B_(t,a)),l.push(A.facet(Nd).scrollToMatch(s.main,t))),t.dispatch({changes:C,selection:s,effects:l,userEvent:"input.replace"}),!0}),vMA=vf((t,{query:e})=>{if(t.state.readOnly)return!1;let A=e.matchAll(t.state,1e9).map(n=>{let{from:o,to:a}=n;return{from:o,to:a,insert:e.getReplacement(n)}});if(!A.length)return!1;let i=t.state.phrase("replaced $ matches",A.length)+".";return t.dispatch({changes:A,effects:ii.announce.of(i),userEvent:"input.replace.all"}),!0});function d_(t){return t.state.facet(Nd).createPanel(t)}function g_(t,e){var A,i,n,o,a;let r=t.selection.main,s=r.empty||r.to>r.from+100?"":t.sliceDoc(r.from,r.to);if(e&&!s)return e;let g=t.facet(Nd);return new sy({search:((A=e?.literal)!==null&&A!==void 0?A:g.literal)?s:s.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:g.caseSensitive,literal:(n=e?.literal)!==null&&n!==void 0?n:g.literal,regexp:(o=e?.regexp)!==null&&o!==void 0?o:g.regexp,wholeWord:(a=e?.wholeWord)!==null&&a!==void 0?a:g.wholeWord})}function ctA(t){let e=sf(t,d_);return e&&e.dom.querySelector("[main-field]")}function CtA(t){let e=ctA(t);e&&e==t.root.activeElement&&e.select()}var dy=t=>{let e=t.state.field(LI,!1);if(e&&e.panel){let A=ctA(t);if(A&&A!=t.root.activeElement){let i=g_(t.state,e.query.spec);i.valid&&t.dispatch({effects:yf.of(i)}),A.focus(),A.select()}}else t.dispatch({effects:[I_.of(!0),e?yf.of(g_(t.state,e.query.spec)):Hi.appendConfig.of(c_)]});return!0},By=t=>{let e=t.state.field(LI,!1);if(!e||!e.panel)return!1;let A=sf(t,d_);return A&&A.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:I_.of(!1)}),!0},ItA=[{key:"Mod-f",run:dy,scope:"editor search-panel"},{key:"F3",run:Cy,shift:Iy,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Cy,shift:Iy,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:By,scope:"editor search-panel"},{key:"Mod-Shift-l",run:yMA},{key:"Mod-Alt-g",run:rMA},{key:"Mod-d",run:EMA,preventDefault:!0}],l_=class{constructor(e){this.view=e;let A=this.query=e.state.field(LI).query.spec;this.commit=this.commit.bind(this),this.searchField=io("input",{value:A.search,placeholder:qg(e,"Find"),"aria-label":qg(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=io("input",{value:A.replace,placeholder:qg(e,"Replace"),"aria-label":qg(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=io("input",{type:"checkbox",name:"case",form:"",checked:A.caseSensitive,onchange:this.commit}),this.reField=io("input",{type:"checkbox",name:"re",form:"",checked:A.regexp,onchange:this.commit}),this.wordField=io("input",{type:"checkbox",name:"word",form:"",checked:A.wholeWord,onchange:this.commit});function i(n,o,a){return io("button",{class:"cm-button",name:n,onclick:o,type:"button"},a)}this.dom=io("div",{onkeydown:n=>this.keydown(n),class:"cm-search"},[this.searchField,i("next",()=>Cy(e),[qg(e,"next")]),i("prev",()=>Iy(e),[qg(e,"previous")]),i("select",()=>DMA(e),[qg(e,"all")]),io("label",null,[this.caseField,qg(e,"match case")]),io("label",null,[this.reField,qg(e,"regexp")]),io("label",null,[this.wordField,qg(e,"by word")]),...e.state.readOnly?[]:[io("br"),this.replaceField,i("replace",()=>atA(e),[qg(e,"replace")]),i("replaceAll",()=>vMA(e),[qg(e,"replace all")])],io("button",{name:"close",onclick:()=>By(e),"aria-label":qg(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new sy({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:yf.of(e)}))}keydown(e){X$(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Iy:Cy)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),atA(this.view))}update(e){for(let A of e.transactions)for(let i of A.effects)i.is(yf)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Nd).top}};function qg(t,e){return t.state.phrase(e)}var ty=30,iy=/[\s\.,:;?!]/;function B_(t,{from:e,to:A}){let i=t.state.doc.lineAt(e),n=t.state.doc.lineAt(A).to,o=Math.max(i.from,e-ty),a=Math.min(n,A+ty),r=t.state.sliceDoc(o,a);if(o!=i.from){for(let s=0;sr.length-ty;s--)if(!iy.test(r[s-1])&&iy.test(r[s])){r=r.slice(0,s);break}}return ii.announce.of(`${t.state.phrase("current match")}. ${r} ${t.state.phrase("on line")} ${i.number}.`)}var bMA=ii.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"}}),c_=[LI,vc.low(wMA),bMA];var Qy=class{constructor(e,A,i,n){this.state=e,this.pos=A,this.explicit=i,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let A=xr(this.state).resolveInner(this.pos,-1);for(;A&&e.indexOf(A.name)<0;)A=A.parent;return A?{from:A.from,to:this.pos,text:this.state.sliceDoc(A.from,this.pos),type:A.type}:null}matchBefore(e){let A=this.state.doc.lineAt(this.pos),i=Math.max(A.from,this.pos-250),n=A.text.slice(i-A.from,this.pos-A.from),o=n.search(mtA(e,!1));return o<0?null:{from:i+o,to:this.pos,text:n.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(e,A,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(A),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function dtA(t){let e=Object.keys(t).join(""),A=/\w/.test(e);return A&&(e=e.replace(/\w/g,"")),`[${A?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function MMA(t){let e=Object.create(null),A=Object.create(null);for(let{label:n}of t){e[n[0]]=!0;for(let o=1;otypeof n=="string"?{label:n}:n),[A,i]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:MMA(e);return n=>{let o=n.matchBefore(i);return o||n.explicit?{from:o?o.from:n.pos,options:e,validFor:A}:null}}var hy=class{constructor(e,A,i,n){this.completion=e,this.source=A,this.match=i,this.score=n}};function _d(t){return t.selection.main.from}function mtA(t,e){var A;let{source:i}=t,n=e&&i[0]!="^",o=i[i.length-1]!="$";return!n&&!o?t:new RegExp(`${n?"^":""}(?:${i})${o?"$":""}`,(A=t.flags)!==null&&A!==void 0?A:t.ignoreCase?"i":"")}var ptA=hg.define();function SMA(t,e,A,i){let{main:n}=t.selection,o=A-n.from,a=i-n.from;return be(gA({},t.changeByRange(r=>{if(r!=n&&A!=i&&t.sliceDoc(r.from+o,r.from+a)!=t.sliceDoc(A,i))return{range:r};let s=t.toText(e);return{changes:{from:r.from+o,to:i==n.from?r.to:r.from+a,insert:s},range:de.cursor(r.from+o+s.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}var BtA=new WeakMap;function xMA(t){if(!Array.isArray(t))return t;let e=BtA.get(t);return e||BtA.set(t,e=kMA(t)),e}var uy=Hi.define(),bf=Hi.define(),u_=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let A=0;A=48&&D<=57||D>=97&&D<=122?2:D>=65&&D<=90?1:0:(F=Y3(D))!=F.toLowerCase()?1:F!=F.toUpperCase()?2:0;(!b||_==1&&Q||M==0&&_!=0)&&(A[C]==D||i[C]==D&&(I=!0)?a[C++]=b:a.length&&(f=!1)),M=_,b+=zg(D)}return C==s&&a[0]==0&&f?this.result(-100+(I?-200:0),a,e):d==s&&B==0?this.ret(-200-e.length+(E==e.length?0:-100),[0,E]):r>-1?this.ret(-700-e.length,[r,r+this.pattern.length]):d==s?this.ret(-900-e.length,[B,E]):C==s?this.result(-100+(I?-200:0)+-700+(f?0:-1100),a,e):A.length==2?null:this.result((n[0]?-700:0)+-200+-1100,n,e)}result(e,A,i){let n=[],o=0;for(let a of A){let r=a+(this.astral?zg(Zr(i,a)):1);o&&n[o-1]==a?n[o-1]=r:(n[o++]=a,n[o++]=r)}return this.ret(e-i.length,n)}},f_=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:RMA,filterStrict:!1,compareCompletions:(e,A)=>(e.sortText||e.label).localeCompare(A.sortText||A.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,A)=>e&&A,closeOnBlur:(e,A)=>e&&A,icons:(e,A)=>e&&A,tooltipClass:(e,A)=>i=>EtA(e(i),A(i)),optionClass:(e,A)=>i=>EtA(e(i),A(i)),addToOptions:(e,A)=>e.concat(A),filterStrict:(e,A)=>e||A})}});function EtA(t,e){return t?e?t+" "+e:t:e}function RMA(t,e,A,i,n,o){let a=t.textDirection==mo.RTL,r=a,s=!1,g="top",l,C,I=e.left-n.left,d=n.right-e.right,B=i.right-i.left,E=i.bottom-i.top;if(r&&I=E||b>e.top?l=A.bottom-e.top:(g="bottom",l=e.bottom-A.top)}let Q=(e.bottom-e.top)/o.offsetHeight,f=(e.right-e.left)/o.offsetWidth;return{style:`${g}: ${l/Q}px; max-width: ${C/f}px`,class:"cm-completionInfo-"+(s?a?"left-narrow":"right-narrow":r?"left":"right")}}function NMA(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(A){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),A.type&&i.classList.add(...A.type.split(/\s+/g).map(n=>"cm-completionIcon-"+n)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(A,i,n,o){let a=document.createElement("span");a.className="cm-completionLabel";let r=A.displayLabel||A.label,s=0;for(let g=0;gs&&a.appendChild(document.createTextNode(r.slice(s,l)));let I=a.appendChild(document.createElement("span"));I.appendChild(document.createTextNode(r.slice(l,C))),I.className="cm-completionMatchedText",s=C}return sA.position-i.position).map(A=>A.render)}function E_(t,e,A){if(t<=A)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let n=Math.floor(e/A);return{from:n*A,to:(n+1)*A}}let i=Math.floor((t-e)/A);return{from:t-(i+1)*A,to:t-i*A}}var m_=class{constructor(e,A,i){this.view=e,this.stateField=A,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:s=>this.placeInfo(s),key:this},this.space=null,this.currentClass="";let n=e.state.field(A),{options:o,selected:a}=n.open,r=e.state.facet(Rr);this.optionContent=NMA(r),this.optionClass=r.optionClass,this.tooltipClass=r.tooltipClass,this.range=E_(o.length,a,r.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",s=>{let{options:g}=e.state.field(A).open;for(let l=s.target,C;l&&l!=this.dom;l=l.parentNode)if(l.nodeName=="LI"&&(C=/-(\d+)$/.exec(l.id))&&+C[1]{let g=e.state.field(this.stateField,!1);g&&g.tooltip&&e.state.facet(Rr).closeOnBlur&&s.relatedTarget!=e.contentDOM&&e.dispatch({effects:bf.of(null)})}),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(e,A){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,A,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var A;let i=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=n){let{options:o,selected:a,disabled:r}=i.open;(!n.open||n.open.options!=o)&&(this.range=E_(o.length,a,e.state.facet(Rr).maxRenderedOptions),this.showOptions(o,i.id)),this.updateSel(),r!=((A=n.open)===null||A===void 0?void 0:A.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!r)}}updateTooltipClass(e){let A=this.tooltipClass(e);if(A!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of A.split(" "))i&&this.dom.classList.add(i);this.currentClass=A}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),A=e.open;(A.selected>-1&&A.selected=this.range.to)&&(this.range=E_(A.options.length,A.selected,this.view.state.facet(Rr).maxRenderedOptions),this.showOptions(A.options,e.id));let i=this.updateSelectedOption(A.selected);if(i){this.destroyInfo();let{completion:n}=A.options[A.selected],{info:o}=n;if(!o)return;let a=typeof o=="string"?document.createTextNode(o):o(n);if(!a)return;"then"in a?a.then(r=>{r&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(r,n)}).catch(r=>Sr(this.view.state,r,"completion info")):(this.addInfoPane(a,n),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,A){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),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:n,destroy:o}=e;i.appendChild(n),this.infoDestroy=o||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let A=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)i.nodeName!="LI"||!i.id?n--:n==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),A=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return A&&_MA(this.list,A),A}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let A=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),o=this.space;if(!o){let a=this.dom.ownerDocument.documentElement;o={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return n.top>Math.min(o.bottom,A.bottom)-10||n.bottom{a.target==n&&a.preventDefault()});let o=null;for(let a=i.from;ai.from||i.from==0))if(o=I,typeof g!="string"&&g.header)n.appendChild(g.header(g));else{let d=n.appendChild(document.createElement("completion-section"));d.textContent=I}}let l=n.appendChild(document.createElement("li"));l.id=A+"-"+a,l.setAttribute("role","option");let C=this.optionClass(r);C&&(l.className=C);for(let I of this.optionContent){let d=I(r,this.view.state,this.view,s);d&&l.appendChild(d)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.tonew m_(A,t,e)}function _MA(t,e){let A=t.getBoundingClientRect(),i=e.getBoundingClientRect(),n=A.height/t.offsetHeight;i.topA.bottom&&(t.scrollTop+=(i.bottom-A.bottom)/n)}function QtA(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function LMA(t,e){let A=[],i=null,n=null,o=l=>{A.push(l);let{section:C}=l.completion;if(C){i||(i=[]);let I=typeof C=="string"?C:C.name;i.some(d=>d.name==I)||i.push(typeof C=="string"?{name:I}:C)}},a=e.facet(Rr);for(let l of t)if(l.hasResult()){let C=l.result.getMatch;if(l.result.filter===!1)for(let I of l.result.options)o(new hy(I,l.source,C?C(I):[],1e9-A.length));else{let I=e.sliceDoc(l.from,l.to),d,B=a.filterStrict?new f_(I):new u_(I);for(let E of l.result.options)if(d=B.match(E.label)){let Q=E.displayLabel?C?C(E,d.matched):[]:d.matched,f=d.score+(E.boost||0);if(o(new hy(E,l.source,Q,f)),typeof E.section=="object"&&E.section.rank==="dynamic"){let{name:b}=E.section;n||(n=Object.create(null)),n[b]=Math.max(f,n[b]||-1e9)}}}}if(i){let l=Object.create(null),C=0,I=(d,B)=>(d.rank==="dynamic"&&B.rank==="dynamic"?n[B.name]-n[d.name]:0)||(typeof d.rank=="number"?d.rank:1e9)-(typeof B.rank=="number"?B.rank:1e9)||(d.nameI.score-C.score||g(C.completion,I.completion))){let C=l.completion;!s||s.label!=C.label||s.detail!=C.detail||s.type!=null&&C.type!=null&&s.type!=C.type||s.apply!=C.apply||s.boost!=C.boost?r.push(l):QtA(l.completion)>QtA(s)&&(r[r.length-1]=l),s=l.completion}return r}var p_=class t{constructor(e,A,i,n,o,a){this.options=e,this.attrs=A,this.tooltip=i,this.timestamp=n,this.selected=o,this.disabled=a}setSelected(e,A){return e==this.selected||e>=this.options.length?this:new t(this.options,htA(A,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,A,i,n,o,a){if(n&&!a&&e.some(g=>g.isPending))return n.setDisabled();let r=LMA(e,A);if(!r.length)return n&&e.some(g=>g.isPending)?n.setDisabled():null;let s=A.facet(Rr).selectOnOpen?0:-1;if(n&&n.selected!=s&&n.selected!=-1){let g=n.options[n.selected].completion;for(let l=0;ll.hasResult()?Math.min(g,l.from):g,1e8),create:TMA,above:o.aboveCursor},n?n.timestamp:Date.now(),s,!1)}map(e){return new t(this.options,this.attrs,be(gA({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},w_=class t{constructor(e,A,i){this.active=e,this.id=A,this.open=i}static start(){return new t(JMA,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:A}=e,i=A.facet(Rr),o=(i.override||A.languageDataAt("autocomplete",_d(A)).map(xMA)).map(s=>(this.active.find(l=>l.source==s)||new YC(s,this.active.some(l=>l.state!=0)?1:0)).update(e,i));o.length==this.active.length&&o.every((s,g)=>s==this.active[g])&&(o=this.active);let a=this.open,r=e.effects.some(s=>s.is(y_));a&&e.docChanged&&(a=a.map(e.changes)),e.selection||o.some(s=>s.hasResult()&&e.changes.touchesRange(s.from,s.to))||!GMA(o,this.active)||r?a=p_.build(o,A,this.id,a,i,r):a&&a.disabled&&!o.some(s=>s.isPending)&&(a=null),!a&&o.every(s=>!s.isPending)&&o.some(s=>s.hasResult())&&(o=o.map(s=>s.hasResult()?new YC(s.source,0):s));for(let s of e.effects)s.is(DtA)&&(a=a&&a.setSelected(s.value,this.id));return o==this.active&&a==this.open?this:new t(o,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?KMA:UMA}};function GMA(t,e){if(t==e)return!0;for(let A=0,i=0;;){for(;A-1&&(A["aria-activedescendant"]=t+"-"+e),A}var JMA=[];function wtA(t,e){if(t.isUserEvent("input.complete")){let i=t.annotation(ptA);if(i&&e.activateOnCompletion(i))return 12}let A=t.isUserEvent("input.type");return A&&e.activateOnTyping?5:A?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var YC=class t{constructor(e,A,i=!1){this.source=e,this.state=A,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,A){let i=wtA(e,A),n=this;(i&8||i&16&&this.touches(e))&&(n=new t(n.source,0)),i&4&&n.state==0&&(n=new t(this.source,1)),n=n.updateFor(e,i);for(let o of e.effects)if(o.is(uy))n=new t(n.source,1,o.value);else if(o.is(bf))n=new t(n.source,0);else if(o.is(y_))for(let a of o.value)a.source==n.source&&(n=a);return n}updateFor(e,A){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(_d(e.state))}},fy=class t extends YC{constructor(e,A,i,n,o,a){super(e,3,A),this.limit=i,this.result=n,this.from=o,this.to=a}hasResult(){return!0}updateFor(e,A){var i;if(!(A&3))return this.map(e.changes);let n=this.result;n.map&&!e.changes.empty&&(n=n.map(n,e.changes));let o=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),r=_d(e.state);if(r>a||!n||A&2&&(_d(e.startState)==this.from||rA.map(e))}}),DtA=Hi.define(),pg=wa.define({create(){return w_.start()},update(t,e){return t.update(e)},provide:t=>[xQ.from(t,e=>e.tooltip),ii.contentAttributes.from(t,e=>e.attrs)]});function v_(t,e){let A=e.completion.apply||e.completion.label,i=t.state.field(pg).active.find(n=>n.source==e.source);return i instanceof fy?(typeof A=="string"?t.dispatch(be(gA({},SMA(t.state,A,i.from,i.to)),{annotations:ptA.of(e.completion)})):A(t,e.completion,i.from,i.to),!0):!1}var TMA=FMA(pg,v_);function Ey(t,e="option"){return A=>{let i=A.state.field(pg,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+n*(t?1:-1):t?0:a-1;return r<0?r=e=="page"?0:a-1:r>=a&&(r=e=="page"?a-1:0),A.dispatch({effects:DtA.of(r)}),!0}}var HMA=t=>{let e=t.state.field(pg,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampt.state.field(pg,!1)?(t.dispatch({effects:uy.of(!0)}),!0):!1,zMA=t=>{let e=t.state.field(pg,!1);return!e||!e.active.some(A=>A.state!=0)?!1:(t.dispatch({effects:bf.of(null)}),!0)},D_=class{constructor(e,A){this.active=e,this.context=A,this.time=Date.now(),this.updates=[],this.done=void 0}},OMA=50,PMA=1e3,jMA=_o.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(pg).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(pg),A=t.state.facet(Rr);if(!t.selectionSet&&!t.docChanged&&t.startState.field(pg)==e)return;let i=t.transactions.some(o=>{let a=wtA(o,A);return a&8||(o.selection||o.docChanged)&&!(a&3)});for(let o=0;oOMA&&Date.now()-a.time>PMA){for(let r of a.context.abortListeners)try{r()}catch(s){Sr(this.view.state,s)}a.context.abortListeners=null,this.running.splice(o--,1)}else a.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(o=>o.effects.some(a=>a.is(uy)))&&(this.pendingStart=!0);let n=this.pendingStart?50:A.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(o=>o.isPending&&!this.running.some(a=>a.active.source==o.source))?setTimeout(()=>this.startUpdate(),n):-1,this.composing!=0)for(let o of t.transactions)o.isUserEvent("input.type")?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(pg);for(let A of e.active)A.isPending&&!this.running.some(i=>i.active.source==A.source)&&this.startQuery(A);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Rr).updateSyncTime))}startQuery(t){let{state:e}=this.view,A=_d(e),i=new Qy(e,A,t.explicit,this.view),n=new D_(t,i);this.running.push(n),Promise.resolve(t.source(i)).then(o=>{n.context.aborted||(n.done=o||null,this.scheduleAccept())},o=>{this.view.dispatch({effects:bf.of(null)}),Sr(this.view.state,o)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Rr).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],A=this.view.state.facet(Rr),i=this.view.state.field(pg);for(let n=0;nr.source==o.active.source);if(a&&a.isPending)if(o.done==null){let r=new YC(o.active.source,0);for(let s of o.updates)r=r.update(s,A);r.isPending||e.push(r)}else this.startQuery(a)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:y_.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(pg,!1);if(e&&e.tooltip&&this.view.state.facet(Rr).closeOnBlur){let A=e.open&&gF(this.view,e.open.tooltip);(!A||!A.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:bf.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:uy.of(!1)}),20),this.composing=0}}}),qMA=typeof navigator=="object"&&/Win/.test(navigator.platform),VMA=vc.highest(ii.domEventHandlers({keydown(t,e){let A=e.state.field(pg,!1);if(!A||!A.open||A.open.disabled||A.open.selected<0||t.key.length>1||t.ctrlKey&&!(qMA&&t.altKey)||t.metaKey)return!1;let i=A.open.options[A.open.selected],n=A.active.find(a=>a.source==i.source),o=i.completion.commitCharacters||n.result.commitCharacters;return o&&o.indexOf(t.key)>-1&&v_(e,i),!1}})),WMA=ii.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:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".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:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var Mf={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Fd=Hi.define({map(t,e){let A=e.mapPos(t,-1,qr.TrackAfter);return A??void 0}}),b_=new class extends bl{};b_.startSide=1;b_.endSide=-1;var ytA=wa.define({create(){return to.empty},update(t,e){if(t=t.map(e.changes),e.selection){let A=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:i=>i>=A.from&&i<=A.to})}for(let A of e.effects)A.is(Fd)&&(t=t.update({add:[b_.range(A.value,A.value+1)]}));return t}});function vtA(){return[XMA,ytA]}var h_="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function btA(t){for(let e=0;e{if((ZMA?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let n=t.state.selection.main;if(i.length>2||i.length==2&&zg(Zr(i,0))==1||e!=n.from||A!=n.to)return!1;let o=AkA(t.state,i);return o?(t.dispatch(o),!0):!1}),$MA=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=MtA(t,t.selection.main.head).brackets||Mf.brackets,n=null,o=t.changeByRange(a=>{if(a.empty){let r=ekA(t.doc,a.head);for(let s of i)if(s==r&&my(t.doc,a.head)==btA(Zr(s,0)))return{changes:{from:a.head-s.length,to:a.head+s.length},range:de.cursor(a.head-s.length)}}return{range:n=a}});return n||e(t.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!n},ktA=[{key:"Backspace",run:$MA}];function AkA(t,e){let A=MtA(t,t.selection.main.head),i=A.brackets||Mf.brackets;for(let n of i){let o=btA(Zr(n,0));if(e==n)return o==n?nkA(t,n,i.indexOf(n+n+n)>-1,A):tkA(t,n,o,A.before||Mf.before);if(e==o&&StA(t,t.selection.main.from))return ikA(t,n,o)}return null}function StA(t,e){let A=!1;return t.field(ytA).between(0,t.doc.length,i=>{i==e&&(A=!0)}),A}function my(t,e){let A=t.sliceString(e,e+2);return A.slice(0,zg(Zr(A,0)))}function ekA(t,e){let A=t.sliceString(e-2,e);return zg(Zr(A,0))==A.length?A:A.slice(1)}function tkA(t,e,A,i){let n=null,o=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:A,from:a.to}],effects:Fd.of(a.to+e.length),range:de.range(a.anchor+e.length,a.head+e.length)};let r=my(t.doc,a.head);return!r||/\s/.test(r)||i.indexOf(r)>-1?{changes:{insert:e+A,from:a.head},effects:Fd.of(a.head+e.length),range:de.cursor(a.head+e.length)}:{range:n=a}});return n?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function ikA(t,e,A){let i=null,n=t.changeByRange(o=>o.empty&&my(t.doc,o.head)==A?{changes:{from:o.head,to:o.head+A.length,insert:A},range:de.cursor(o.head+A.length)}:i={range:o});return i?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function nkA(t,e,A,i){let n=i.stringPrefixes||Mf.stringPrefixes,o=null,a=t.changeByRange(r=>{if(!r.empty)return{changes:[{insert:e,from:r.from},{insert:e,from:r.to}],effects:Fd.of(r.to+e.length),range:de.range(r.anchor+e.length,r.head+e.length)};let s=r.head,g=my(t.doc,s),l;if(g==e){if(utA(t,s))return{changes:{insert:e+e,from:s},effects:Fd.of(s+e.length),range:de.cursor(s+e.length)};if(StA(t,s)){let I=A&&t.sliceDoc(s,s+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:s,to:s+I.length,insert:I},range:de.cursor(s+I.length)}}}else{if(A&&t.sliceDoc(s-2*e.length,s)==e+e&&(l=ftA(t,s-2*e.length,n))>-1&&utA(t,l))return{changes:{insert:e+e+e+e,from:s},effects:Fd.of(s+e.length),range:de.cursor(s+e.length)};if(t.charCategorizer(s)(g)!=Fo.Word&&ftA(t,s,n)>-1&&!okA(t,s,e,n))return{changes:{insert:e+e,from:s},effects:Fd.of(s+e.length),range:de.cursor(s+e.length)}}return{range:o=r}});return o?null:t.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function utA(t,e){let A=xr(t).resolveInner(e+1);return A.parent&&A.from==e}function okA(t,e,A,i){let n=xr(t).resolveInner(e,-1),o=i.reduce((a,r)=>Math.max(a,r.length),0);for(let a=0;a<5;a++){let r=t.sliceDoc(n.from,Math.min(n.to,n.from+A.length+o)),s=r.indexOf(A);if(!s||s>-1&&i.indexOf(r.slice(0,s))>-1){let l=n.firstChild;for(;l&&l.from==n.from&&l.to-l.from>A.length+s;){if(t.sliceDoc(l.to-A.length,l.to)==A)return!1;l=l.firstChild}return!0}let g=n.to==e&&n.parent;if(!g)break;n=g}return!1}function ftA(t,e,A){let i=t.charCategorizer(e);if(i(t.sliceDoc(e-1,e))!=Fo.Word)return e;for(let n of A){let o=e-n.length;if(t.sliceDoc(o,e)==n&&i(t.sliceDoc(o-1,o))!=Fo.Word)return o}return-1}function xtA(t={}){return[VMA,pg,Rr.of(t),jMA,akA,WMA]}var M_=[{key:"Ctrl-Space",run:Q_},{mac:"Alt-`",run:Q_},{mac:"Alt-i",run:Q_},{key:"Escape",run:zMA},{key:"ArrowDown",run:Ey(!0)},{key:"ArrowUp",run:Ey(!1)},{key:"PageDown",run:Ey(!0,"page")},{key:"PageUp",run:Ey(!1,"page")},{key:"Enter",run:HMA}],akA=vc.highest(SQ.computeN([Rr],t=>t.facet(Rr).defaultKeymap?[M_]:[]));function rkA(t,e=t.state){let A=new Set;for(let{from:i,to:n}of t.visibleRanges){let o=i;for(;o<=n;){let a=e.doc.lineAt(o);A.has(a)||A.add(a),o=a.to+1}}return A}function k_(t){let e=t.selection.main.head;return t.doc.lineAt(e)}function RtA(t,e){let A=0;A:for(let i=0;i=o.level&&this.markerType!=="codeOnly"?this.set(e,0,n.level):n.empty&&n.level===0&&o.level!==0?this.set(e,0,0):o.level>n.level?this.set(e,0,n.level+1):this.set(e,0,o.level)}let A=RtA(e.text,this.state.tabSize),i=Math.floor(A/this.unitWidth);return this.set(e,A,i)}closestNonEmpty(e,A){let i=e.number+A;for(;A===-1?i>=1:i<=this.state.doc.lines;){if(this.has(i)){let a=this.get(i);if(!a.empty)return a}let o=this.state.doc.line(i);if(o.text.trim().length){let a=RtA(o.text,this.state.tabSize),r=Math.floor(a/this.unitWidth);return this.set(o,a,r)}i+=A}let n=this.state.doc.line(A===-1?1:this.state.doc.lines);return this.set(n,0,0)}findAndSetActiveLines(){let e=k_(this.state);if(!this.has(e))return;let A=this.get(e);if(this.has(A.line.number+1)){let o=this.get(A.line.number+1);o.level>A.level&&(A=o)}if(this.has(A.line.number-1)){let o=this.get(A.line.number-1);o.level>A.level&&(A=o)}if(A.level===0)return;A.active=A.level;let i,n;for(i=A.line.number;i>1;i--){if(!this.has(i-1))continue;let o=this.get(i-1);if(o.level0&&s.push(py("--indent-marker-bg-color",i,e,r,g)),s.push(py("--indent-marker-active-bg-color",n,e,a-1,1)),a!==o&&s.push(py("--indent-marker-bg-color",i,e,a,o-a))}else s.push(py("--indent-marker-bg-color",i,e,r,o-r));return s.join(",")}var x_=class{constructor(e){this.view=e,this.unitWidth=Fc(e.state),this.currentLineNumber=k_(e.state).number,this.generate(e.state)}update(e){let A=Fc(e.state),i=A!==this.unitWidth;i&&(this.unitWidth=A);let n=k_(e.state).number,o=n!==this.currentLineNumber;this.currentLineNumber=n;let a=e.state.facet(wy).highlightActiveBlock&&o;(e.docChanged||e.viewportChanged||i||a)&&this.generate(e.state)}generate(e){let A=new Wr,i=rkA(this.view,e),{hideFirstIndent:n,markerType:o,thickness:a,activeThickness:r}=e.facet(wy),s=new S_(i,e,this.unitWidth,o);for(let g of i){let l=s.get(g.number);if(!l?.level)continue;let C=gkA(l,this.unitWidth,n,a,r);A.add(g.from,g.from,Dt.line({class:"cm-indent-markers",attributes:{style:`--indent-markers: ${C}`}}))}this.decorations=A.finish()}};function NtA(t={}){return[wy.of(t),skA(t.colors),_o.fromClass(x_,{decorations:e=>e.decorations})]}var lkA=["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment"],ckA=["mainAxis","crossAxis","limiter"];function ZiA(t,e){if(t==null)return{};var A,i,n=(function(a,r){if(a==null)return{};var s={};for(var g in a)if({}.hasOwnProperty.call(a,g)){if(r.indexOf(g)!==-1)continue;s[g]=a[g]}return s})(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i{};function fkA(t){return t()}function aL(t){for(var e=0;e{t=A,e=i}),resolve:t,reject:e}}var mkA=1<<24,vh=16,hv=32,inA=64,YL=128,Hc=512,As=1024,zc=2048,o2=4096,O0=8192,bh=16384,TL=32768,Vd=65536,pkA=1<<17,nnA=1<<18,onA=1<<19,zC=1<<25,Zy=32768,rL=1<<21,XI=1<<23,P0=Symbol("$state"),anA=Symbol("legacy props"),wkA=Symbol(""),Ah=new class extends Error{constructor(){super(...arguments),Y0(this,"name","StaleReactionError"),Y0(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function im(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function rnA(t){return t===this.v}function snA(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function gnA(t){return!snA(t,this.v)}var co=null;function Ih(t){co=t}function r1(t){return lnA().get(t)}function St(t){co={p:co,i:!1,c:null,e:null,s:t,x:null,l:yh&&!(arguments.length>1&&arguments[1]!==void 0&&arguments[1])?{s:null,u:null,$:[]}:null}}function xt(t){var e=co,A=e.e;if(A!==null)for(var i of(e.e=null,A))bnA(i);return t!==void 0&&(e.x=t),e.i=!0,co=e.p,t??{}}function Mh(){return!yh||co!==null&&co.l===null}function lnA(t){var e,A;return co===null&&im(),(A=(e=co).c)!==null&&A!==void 0?A:e.c=new Map((function(i){for(var n=i.p;n!==null;){var o=n.c;if(o!==null)return o;n=n.p}return null})(co)||void 0)}var Hd=[];function cnA(){var t=Hd;Hd=[],aL(t)}function Wd(t){if(Hd.length===0&&!Jf){var e=Hd;queueMicrotask(()=>{e===Hd&&cnA()})}Hd.push(t)}function DkA(){for(;Hd.length>0;)cnA()}function CnA(t){var e=jn;if(e===null)return Pn.f|=XI,t;if((e.f&TL)===0){if((e.f&YL)===0)throw t;e.b.error(t)}else dh(t,e)}function dh(t,e){for(;e!==null;){if((e.f&YL)!==0)try{return void e.b.error(t)}catch(A){t=A}e=e.parent}throw t}var Hy=new Set,Go=null,Uf=null,Kl=null,Gl=[],uv=null,sL=!1,Jf=!1,Xy=new WeakMap,Dy=new WeakMap,Ud=new WeakMap,Jd=new WeakMap,yy=new WeakMap,zy=new WeakMap,Oy=new WeakMap,Wg=new WeakSet,Zd=class t{constructor(){XiA(this,Wg),Y0(this,"committed",!1),Y0(this,"current",new Map),Y0(this,"previous",new Map),po(this,Xy,new Set),po(this,Dy,new Set),po(this,Ud,0),po(this,Jd,0),po(this,yy,null),po(this,zy,[]),po(this,Oy,[]),Y0(this,"skipped_effects",new Set),Y0(this,"is_fork",!1)}is_deferred(){return this.is_fork||we(Jd,this)>0}process(e){Gl=[],Uf=null,this.apply();var A,i={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(var n of e)er(Wg,this,InA).call(this,n,i);this.is_fork||er(Wg,this,ykA).call(this),this.is_deferred()?(er(Wg,this,ah).call(this,i.effects),er(Wg,this,ah).call(this,i.render_effects),er(Wg,this,ah).call(this,i.block_effects)):(Uf=this,Go=null,UtA(i.render_effects),UtA(i.effects),Uf=null,(A=we(yy,this))===null||A===void 0||A.resolve()),Kl=null}capture(e,A){var i;this.previous.has(e)||this.previous.set(e,A),(e.f&XI)===0&&(this.current.set(e,e.v),(i=Kl)===null||i===void 0||i.set(e,e.v))}activate(){Go=this,this.apply()}deactivate(){Go===this&&(Go=null,Kl=null)}flush(){if(this.activate(),Gl.length>0){if(BnA(),Go!==null&&Go!==this)return}else we(Ud,this)===0&&this.process([]);this.deactivate()}discard(){for(var e of we(Dy,this))e(this);we(Dy,this).clear()}increment(e){Cn(Ud,this,we(Ud,this)+1),e&&Cn(Jd,this,we(Jd,this)+1)}decrement(e){Cn(Ud,this,we(Ud,this)-1),e&&Cn(Jd,this,we(Jd,this)-1),this.revive()}revive(){for(var e of we(zy,this))ts(e,zc),Xd(e);for(var A of we(Oy,this))ts(A,o2),Xd(A);Cn(zy,this,[]),Cn(Oy,this,[]),this.flush()}oncommit(e){we(Xy,this).add(e)}ondiscard(e){we(Dy,this).add(e)}settled(){var e;return((e=we(yy,this))!==null&&e!==void 0?e:Cn(yy,this,tnA())).promise}static ensure(){if(Go===null){var e=Go=new t;Hy.add(Go),Jf||t.enqueue(()=>{Go===e&&e.flush()})}return Go}static enqueue(e){Wd(e)}apply(){}};function InA(t,e){t.f^=As;for(var A=t.first;A!==null;){var i,n=A.f,o=!!(96&n),a=o&&(n&As)!==0||(n&O0)!==0||this.skipped_effects.has(A);if((A.f&YL)!==0&&(i=A.b)!==null&&i!==void 0&&i.is_pending()&&(e={parent:e,effect:A,effects:[],render_effects:[],block_effects:[]}),!a&&A.fn!==null){o?A.f^=As:4&n?e.effects.push(A):xh(A)&&((A.f&vh)!==0&&e.block_effects.push(A),Qh(A));var r=A.first;if(r!==null){A=r;continue}}var s=A.parent;for(A=A.next;A===null&&s!==null;)s===e.effect&&(er(Wg,this,ah).call(this,e.effects),er(Wg,this,ah).call(this,e.render_effects),er(Wg,this,ah).call(this,e.block_effects),e=e.parent),A=s.next,s=s.parent}}function ah(t){for(var e of t)((e.f&zc)!==0?we(zy,this):we(Oy,this)).push(e),er(Wg,this,dnA).call(this,e.deps),ts(e,As)}function dnA(t){if(t!==null)for(var e of t)2&e.f&&(e.f&Zy)!==0&&(e.f^=Zy,er(Wg,this,dnA).call(this,e.deps))}function ykA(){if(we(Jd,this)===0){for(var t of we(Xy,this))t();we(Xy,this).clear()}we(Ud,this)===0&&er(Wg,this,vkA).call(this)}function vkA(){if(Hy.size>1){this.previous.clear();var t=Kl,e=!0,A={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(var i of Hy)if(i!==this){var n=[];for(var[o,a]of this.current){if(i.current.has(o)){if(!e||a===i.current.get(o))continue;i.current.set(o,a)}n.push(o)}if(n.length!==0){var r=[...i.current.keys()].filter(d=>!this.current.has(d));if(r.length>0){var s=Gl;Gl=[];var g=new Set,l=new Map;for(var C of n)EnA(C,r,g,l);if(Gl.length>0){for(var I of(Go=i,i.apply(),Gl))er(Wg,i,InA).call(i,I,A);i.deactivate()}Gl=s}}}else e=!1;Go=null,Kl=t}this.committed=!0,Hy.delete(this)}function bo(t){var e=Jf;Jf=!0;try{for(;;){var A;if(DkA(),Gl.length===0&&((A=Go)===null||A===void 0||A.flush(),Gl.length===0))return void(uv=null);BnA()}}finally{Jf=e}}function BnA(){var t=Od;sL=!0;try{var e=0;for($y(!0);Gl.length>0;){var A=Zd.ensure();e++>1e3&&bkA(),A.process(Gl),$I.clear()}}finally{sL=!1,$y(t),uv=null}}function bkA(){try{(function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")})()}catch(t){dh(t,uv)}}var PC=null;function UtA(t){var e=t.length;if(e!==0){for(var A=0;A0)){for(var o of($I.clear(),PC))if(!(24576&o.f)){for(var a=[o],r=o.parent;r!==null;)PC.has(r)&&(PC.delete(r),a.push(r)),r=r.parent;for(var s=a.length-1;s>=0;s--){var g=a[s];24576&g.f||Qh(g)}}PC.clear()}}PC=null}}function EnA(t,e,A,i){if(!A.has(t)&&(A.add(t),t.reactions!==null))for(var n of t.reactions){var o=n.f;2&o?EnA(n,e,A,i):4194320&o&&(o&zc)===0&&QnA(n,e,i)&&(ts(n,zc),Xd(n))}}function QnA(t,e,A){var i=A.get(t);if(i!==void 0)return i;if(t.deps!==null)for(var n of t.deps){if(e.includes(n))return!0;if(2&n.f&&QnA(n,e,A))return A.set(n,!0),!0}return A.set(t,!1),!1}function Xd(t){for(var e=uv=t;e.parent!==null;){var A=(e=e.parent).f;if(sL&&e===jn&&(A&vh)!==0&&(A&nnA)===0)return;if(96&A){if((A&As)===0)return;e.f^=As}}Gl.push(e)}var HI=new WeakMap,qI=new WeakMap,MkA=new WeakMap,Yd=new WeakMap,F_=new WeakMap,jI=new WeakMap,zI=new WeakMap,VC=new WeakMap,KI=new WeakMap,zd=new WeakMap,rh=new WeakMap,HQ=new WeakMap,sh=new WeakMap,Sf=new WeakMap,zQ=new WeakMap,JtA=new WeakMap,JI=new WeakSet,gL=class{constructor(e,A,i){var n,o,a,r;XiA(this,JI),Y0(this,"parent",void 0),po(this,HI,!1),po(this,qI,void 0),po(this,MkA,null),po(this,Yd,void 0),po(this,F_,void 0),po(this,jI,void 0),po(this,zI,null),po(this,VC,null),po(this,KI,null),po(this,zd,null),po(this,rh,null),po(this,HQ,0),po(this,sh,0),po(this,Sf,!1),po(this,zQ,null),po(this,JtA,(n=()=>(Cn(zQ,this,a2(we(HQ,this))),()=>{Cn(zQ,this,null)}),a=0,r=a2(0),()=>{Tf()&&(c(r),kh(()=>(a===0&&(o=EA(()=>n(()=>Yf(r)))),a+=1,()=>{Wd(()=>{var s;(a-=1)==0&&((s=o)===null||s===void 0||s(),o=void 0,Yf(r))})})))})),Cn(qI,this,e),Cn(Yd,this,A),Cn(F_,this,i),this.parent=jn.b,Cn(HI,this,!!we(Yd,this).pending),Cn(jI,this,Sh(()=>{jn.b=this;var s=er(JI,this,kkA).call(this);try{Cn(zI,this,j0(()=>i(s)))}catch(g){this.error(g)}return we(sh,this)>0?er(JI,this,TtA).call(this):Cn(HI,this,!1),()=>{var g;(g=we(rh,this))===null||g===void 0||g.remove()}},589952))}is_pending(){return we(HI,this)||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!we(Yd,this).pending}update_pending_count(e){er(JI,this,hnA).call(this,e),Cn(HQ,this,we(HQ,this)+e),we(zQ,this)&&Bh(we(zQ,this),we(HQ,this))}get_effect_pending(){return we(JtA,this).call(this),c(we(zQ,this))}error(e){var A=we(Yd,this).onerror,i=we(Yd,this).failed;if(we(Sf,this)||!A&&!i)throw e;we(zI,this)&&(es(we(zI,this)),Cn(zI,this,null)),we(VC,this)&&(es(we(VC,this)),Cn(VC,this,null)),we(KI,this)&&(es(we(KI,this)),Cn(KI,this,null));var n=!1,o=!1,a=()=>{n?console.warn("https://svelte.dev/e/svelte_boundary_reset_noop"):(n=!0,o&&(function(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")})(),Zd.ensure(),Cn(HQ,this,0),we(KI,this)!==null&&Eh(we(KI,this),()=>{Cn(KI,this,null)}),Cn(HI,this,this.has_pending_snippet()),Cn(zI,this,er(JI,this,YtA).call(this,()=>(Cn(Sf,this,!1),j0(()=>we(F_,this).call(this,we(qI,this)))))),we(sh,this)>0?er(JI,this,TtA).call(this):Cn(HI,this,!1))},r=Pn;try{bg(null),o=!0,A?.(e,a),o=!1}catch(s){dh(s,we(jI,this)&&we(jI,this).parent)}finally{bg(r)}i&&Wd(()=>{Cn(KI,this,er(JI,this,YtA).call(this,()=>{Zd.ensure(),Cn(Sf,this,!0);try{return j0(()=>{i(we(qI,this),()=>e,()=>a)})}catch(s){return dh(s,we(jI,this).parent),null}finally{Cn(Sf,this,!1)}}))})}};function kkA(){var t=we(qI,this);return we(HI,this)&&(Cn(rh,this,A1()),we(qI,this).before(we(rh,this)),t=we(rh,this)),t}function YtA(t){var e=jn,A=Pn,i=co;Jl(we(jI,this)),bg(we(jI,this)),Ih(we(jI,this).ctx);try{return t()}catch(n){return CnA(n),null}finally{Jl(e),bg(A),Ih(i)}}function TtA(){var t=we(Yd,this).pending;we(zI,this)!==null&&(Cn(zd,this,document.createDocumentFragment()),we(zd,this).append(we(rh,this)),_nA(we(zI,this),we(zd,this))),we(VC,this)===null&&Cn(VC,this,j0(()=>t(we(qI,this))))}function hnA(t){var e;this.has_pending_snippet()?(Cn(sh,this,we(sh,this)+t),we(sh,this)===0&&(Cn(HI,this,!1),we(VC,this)&&Eh(we(VC,this),()=>{Cn(VC,this,null)}),we(zd,this)&&(we(qI,this).before(we(zd,this)),Cn(zd,this,null)))):this.parent&&er(JI,e=this.parent,hnA).call(e,t)}function unA(t,e,A,i){var n=Mh()?nm:tt;if(A.length!==0||t.length!==0){var o=Go,a=jn,r=(function(){var g=jn,l=Pn,C=co,I=Go;return function(){var d=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];Jl(g),bg(l),Ih(C),d&&I?.activate()}})();t.length>0?Promise.all(t).then(()=>{r();try{return s()}finally{o?.deactivate(),vy()}}):s()}else i(e.map(n));function s(){Promise.all(A.map(g=>(function(l){var C=jn;C===null&&(function(){throw new Error("https://svelte.dev/e/async_derived_orphan")})();var I=C.b,d=void 0,B=a2($r),E=!Pn,Q=new Map;return(function(f){Pc(4718592,f,!0)})(()=>{var f=tnA();d=f.promise;try{Promise.resolve(l()).then(f.resolve,f.reject).then(()=>{b===Go&&b.committed&&b.deactivate(),vy()})}catch(F){f.reject(F),vy()}var b=Go;if(E){var S,M=!I.is_pending();I.update_pending_count(1),b.increment(M),(S=Q.get(b))===null||S===void 0||S.reject(Ah),Q.delete(b),Q.set(b,f)}var D=function(F){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(b.activate(),_)_!==Ah&&(B.f|=XI,Bh(B,_));else for(var[U,J]of((B.f&XI)!==0&&(B.f^=XI),Bh(B,F),Q)){if(Q.delete(U),U===b)break;J.reject(Ah)}E&&(I.update_pending_count(-1),b.decrement(M))};f.promise.then(D,F=>D(null,F||"unknown"))}),mv(()=>{for(var f of Q.values())f.reject(Ah)}),new Promise(f=>{function b(S){function M(){S===d?f(B):b(d)}S.then(M,M)}b(d)})})(g))).then(g=>{r();try{i([...e.map(n),...g])}catch(l){(a.f&bh)===0&&dh(l,a)}o?.deactivate(),vy()}).catch(g=>{dh(g,a)})}}function vy(){Jl(null),bg(null),Ih(null)}function nm(t){var e=Pn!==null&&2&Pn.f?Pn:null;return jn!==null&&(jn.f|=onA),{ctx:co,deps:null,effects:null,equals:rnA,f:2050,fn:t,reactions:null,rv:0,v:$r,wv:0,parent:e??jn,ac:null}}function Dg(t){var e=nm(t);return LnA(e),e}function tt(t){var e=nm(t);return e.equals=gnA,e}function fnA(t){var e=t.effects;if(e!==null){t.effects=null;for(var A=0;A1&&arguments[1]!==void 0&&arguments[1],n=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],o=a2(t);return i||(o.equals=gnA),yh&&n&&co!==null&&co.l!==null&&((A=(e=co.l).s)!==null&&A!==void 0?A:e.s=[]).push(o),o}function Xg(t,e){return R(t,EA(()=>c(t))),e}function R(t,e){var A,i=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return Pn===null||H0&&(Pn.f&pkA)===0||!Mh()||!(4325394&Pn.f)||(A=t2)!==null&&A!==void 0&&A.includes(t)||(function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")})(),Bh(t,i?eh(e):e)}function Bh(t,e){if(!t.equals(e)){var A=t.v;oB?$I.set(t,e):$I.set(t,A),t.v=e;var i=Zd.ensure();i.capture(t,A),2&t.f&&((t.f&zc)!==0&&HL(t),ts(t,(t.f&Hc)!==0?As:o2)),t.wv=KnA(),ynA(t,zc),!Mh()||jn===null||(jn.f&As)===0||96&jn.f||(Nl===null?(function(n){Nl=n})([t]):Nl.push(t)),!i.is_fork&&__.size>0&&!HtA&&(function(){HtA=!1;var n=Od;$y(!0);var o=Array.from(__);try{for(var a of o)(a.f&As)!==0&&ts(a,o2),xh(a)&&Qh(a)}finally{$y(n)}__.clear()})()}return e}function ztA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,A=c(t),i=e===1?A++:A--;return R(t,A),i}function Yf(t){R(t,t.v+1)}function ynA(t,e){var A=t.reactions;if(A!==null)for(var i=Mh(),n=A.length,o=0;o{if(Pd===o)return r();var s=Pn,g=Pd;bg(null),qtA(o);var l=r();return bg(s),qtA(g),l};return i&&A.set("length",OC(t.length)),new Proxy(t,{defineProperty(r,s,g){"value"in g&&g.configurable!==!1&&g.enumerable!==!1&&g.writable!==!1||(function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")})();var l=A.get(s);return l===void 0?l=a(()=>{var C=OC(g.value);return A.set(s,C),C}):R(l,g.value,!0),!0},deleteProperty(r,s){var g=A.get(s);if(g===void 0){if(s in r){var l=a(()=>OC($r));A.set(s,l),Yf(n)}}else R(g,$r),Yf(n);return!0},get(r,s,g){var l;if(s===P0)return t;var C=A.get(s),I=s in r;if(C===void 0&&(!I||(l=A2(r,s))!==null&&l!==void 0&&l.writable)&&(C=a(()=>OC(eh(I?r[s]:$r))),A.set(s,C)),C!==void 0){var d=c(C);return d===$r?void 0:d}return Reflect.get(r,s,g)},getOwnPropertyDescriptor(r,s){var g=Reflect.getOwnPropertyDescriptor(r,s);if(g&&"value"in g){var l=A.get(s);l&&(g.value=c(l))}else if(g===void 0){var C=A.get(s),I=C?.v;if(C!==void 0&&I!==$r)return{enumerable:!0,configurable:!0,value:I,writable:!0}}return g},has(r,s){var g;if(s===P0)return!0;var l=A.get(s),C=l!==void 0&&l.v!==$r||Reflect.has(r,s);return(l!==void 0||jn!==null&&(!C||(g=A2(r,s))!==null&&g!==void 0&&g.writable))&&(l===void 0&&(l=a(()=>OC(C?eh(r[s]):$r)),A.set(s,l)),c(l)===$r)?!1:C},set(r,s,g,l){var C,I=A.get(s),d=s in r;if(i&&s==="length")for(var B=g;BOC($r)),A.set(B+"",E))}I===void 0?(!d||(C=A2(r,s))!==null&&C!==void 0&&C.writable)&&(R(I=a(()=>OC(void 0)),eh(g)),A.set(s,I)):(d=I.v!==$r,R(I,a(()=>eh(g))));var Q=Reflect.getOwnPropertyDescriptor(r,s);if(Q!=null&&Q.set&&Q.set.call(l,g),!d){if(i&&typeof s=="string"){var f=A.get("length"),b=Number(s);Number.isInteger(b)&&b>=f.v&&R(f,b+1)}Yf(n)}return!0},ownKeys(r){c(n);var s=Reflect.ownKeys(r).filter(C=>{var I=A.get(C);return I===void 0||I.v!==$r});for(var[g,l]of A)l.v===$r||g in r||s.push(g);return s},setPrototypeOf(){(function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")})()}})}function OtA(t){try{if(t!==null&&typeof t=="object"&&P0 in t)return t[P0]}catch{}return t}function SkA(t,e){return Object.is(OtA(t),OtA(e))}function A1(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return document.createTextNode(t)}function $g(t){return wnA.call(t)}function om(t){return DnA.call(t)}function CA(t,e){return $g(t)}function At(t){var e=$g(t);return e instanceof Comment&&e.data===""?om(e):e}function bA(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,A=t;e--;)A=om(A);return A}var PtA=!1;function fv(t){var e=Pn,A=jn;bg(null),Jl(null);try{return t()}finally{bg(e),Jl(A)}}function xkA(t,e,A){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:A;t.addEventListener(e,()=>fv(A));var n=t.__on_r;t.__on_r=n?()=>{n(),i(!0)}:()=>i(!0),PtA||(PtA=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{if(!o.defaultPrevented)for(var a of o.target.elements){var r;(r=a.__on_r)===null||r===void 0||r.call(a)}})},{capture:!0}))}function vnA(t){jn===null&&(Pn===null&&(function(){throw new Error("https://svelte.dev/e/effect_orphan")})(),(function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")})()),oB&&(function(){throw new Error("https://svelte.dev/e/effect_in_teardown")})()}function Pc(t,e,A){var i=jn;i!==null&&(i.f&O0)!==0&&(t|=O0);var n={ctx:co,deps:null,nodes:null,f:t|zc|Hc,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(A)try{Qh(n),n.f|=TL}catch(s){throw es(n),s}else e!==null&&Xd(n);var o=n;if(A&&o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&(o.f&onA)===0&&(o=o.first,(t&vh)!==0&&(t&Vd)!==0&&o!==null&&(o.f|=Vd)),o!==null&&(o.parent=i,i!==null&&(function(s,g){var l=g.last;l===null?g.last=g.first=s:(l.next=s,s.prev=l,g.last=s)})(o,i),Pn!==null&&2&Pn.f&&(t&inA)===0)){var a,r=Pn;((a=r.effects)!==null&&a!==void 0?a:r.effects=[]).push(o)}return n}function Tf(){return Pn!==null&&!H0}function mv(t){var e=Pc(8,null,!1);return ts(e,As),e.teardown=t,e}function lL(t){vnA();var e=jn.f;if(!(!Pn&&(e&hv)!==0&&(e&TL)===0))return bnA(t);var A,i=co;((A=i.e)!==null&&A!==void 0?A:i.e=[]).push(t)}function bnA(t){return Pc(1048580,t,!1)}function Nr(t){return Pc(4,t,!1)}function RA(t,e){var A={effect:null,ran:!1,deps:t};co.l.$.push(A),A.effect=kh(()=>{t(),A.ran||(A.ran=!0,EA(e))})}function kn(){var t=co;kh(()=>{for(var e of t.l.$){e.deps();var A=e.effect;(A.f&As)!==0&&ts(A,o2),xh(A)&&Qh(A),e.ran=!1}})}function kh(t){return Pc(8|(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0),t,!0)}function ve(t){unA(arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],e=>{Pc(8,()=>t(...e.map(c)),!0)})}function Sh(t){return Pc(vh|(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0),t,!0)}function MnA(t){return Pc(mkA|(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0),t,!0)}function j0(t){return Pc(524320,t,!0)}function knA(t){var e=t.teardown;if(e!==null){var A=oB,i=Pn;jtA(!0),bg(null);try{e.call(null)}finally{jtA(A),bg(i)}}}function SnA(t){var e=arguments.length>1&&arguments[1]!==void 0&&arguments[1],A=t.first;t.first=t.last=null;for(var i,n=function(){var o=A.ac;o!==null&&fv(()=>{o.abort(Ah)}),i=A.next,(A.f&inA)!==0?A.parent=null:es(A,e),A=i};A!==null;)n()}function es(t){var e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],A=!1;!e&&(t.f&nnA)===0||t.nodes===null||t.nodes.end===null||(xnA(t.nodes.start,t.nodes.end),A=!0),SnA(t,e&&!A),Av(t,0),ts(t,bh);var i=t.nodes&&t.nodes.t;if(i!==null)for(var n of i)n.stop();knA(t);var o=t.parent;o!==null&&o.first!==null&&RnA(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function xnA(t,e){for(;t!==null;){var A=t===e?null:om(t);t.remove(),t=A}}function RnA(t){var e=t.parent,A=t.prev,i=t.next;A!==null&&(A.next=i),i!==null&&(i.prev=A),e!==null&&(e.first===t&&(e.first=i),e.last===t&&(e.last=A))}function Eh(t,e){var A=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],i=[];NnA(t,i,!0);var n=()=>{A&&es(t),e&&e()},o=i.length;if(o>0){var a=()=>--o||n();for(var r of i)r.out(a)}else n()}function NnA(t,e,A){if((t.f&O0)===0){t.f^=O0;var i=t.nodes&&t.nodes.t;if(i!==null)for(var n of i)(n.is_global||A)&&e.push(n);for(var o=t.first;o!==null;){var a=o.next;NnA(o,e,((o.f&Vd)!==0||(o.f&hv)!==0&&(t.f&vh)!==0)&&A),o=a}}}function cL(t){FnA(t,!0)}function FnA(t,e){if((t.f&O0)!==0){t.f^=O0,(t.f&As)===0&&(ts(t,zc),Xd(t));for(var A=t.first;A!==null;){var i=A.next;FnA(A,((A.f&Vd)!==0||(A.f&hv)!==0)&&e),A=i}var n=t.nodes&&t.nodes.t;if(n!==null)for(var o of n)(o.is_global||e)&&o.in()}}function _nA(t,e){if(t.nodes)for(var A=t.nodes.start,i=t.nodes.end;A!==null;){var n=A===i?null:om(A);e.append(A),A=n}}var RkA=null;var Od=!1;function $y(t){Od=t}var oB=!1;function jtA(t){oB=t}var Pn=null,H0=!1;function bg(t){Pn=t}var jn=null;function Jl(t){jn=t}var t2=null;function LnA(t){Pn!==null&&(t2===null?t2=[t]:t2.push(t))}var zs=null,Vg=0,Nl=null,GnA=1,Hf=0,Pd=Hf;function qtA(t){Pd=t}function KnA(){return++GnA}function xh(t){var e=t.f;if((e&zc)!==0)return!0;if(2&e&&(t.f&=-32769),(e&o2)!==0){var A=t.deps;if(A!==null)for(var i=A.length,n=0;nt.wv)return!0}(e&Hc)!==0&&Kl===null&&ts(t,As)}return!1}function UnA(t,e){var A,i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],n=t.reactions;if(n!==null&&((A=t2)===null||A===void 0||!A.includes(t)))for(var o=0;o{t.ac.abort(Ah)}),t.ac=null);try{t.f|=rL;var l=(0,t.fn)(),C=t.deps;if(zs!==null){var I;if(Av(t,Vg),C!==null&&Vg>0)for(C.length=Vg+zs.length,I=0;I1&&arguments[1]!==void 0?arguments[1]:new Set;if(!(typeof t!="object"||t===null||t instanceof EventTarget||e.has(t))){for(var A in e.add(t),t instanceof Date&&t.getTime(),t)try{CL(t[A],e)}catch{}var i=JL(t);if(i!==Object.prototype&&i!==Array.prototype&&i!==Map.prototype&&i!==Set.prototype&&i!==Date.prototype){var n=enA(i);for(var o in n){var a=n[o].get;if(a)try{a.call(t)}catch{}}}}}var OnA=new Set,IL=new Set;function PnA(t,e,A){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};function n(o){if(i.capture||_f.call(e,o),!o.cancelBubble)return fv(()=>A?.call(this,o))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Wd(()=>{e.addEventListener(t,n,i)}):e.addEventListener(t,n,i),n}function ue(t,e,A,i,n){var o={capture:i,passive:n},a=PnA(t,e,A,o);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&mv(()=>{e.removeEventListener(t,a,o)})}function am(t){for(var e=0;ea||i});var C=Pn,I=jn;bg(null),Jl(null);try{for(var d,B=[];a!==null;){var E=a.assignedSlot||a.parentNode||a.host||null;try{var Q=a["__"+n];Q==null||a.disabled&&t.target!==a||Q.call(a,t)}catch(S){d?B.push(S):d=S}if(t.cancelBubble||E===A||E===null)break;a=E}if(d){var f=function(S){queueMicrotask(()=>{throw S})};for(var b of B)f(b);throw d}}finally{t.__root=A,delete t.currentTarget,bg(C),Jl(I)}}}function zL(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("",""),e.content}function $d(t,e){var A=jn;A.nodes===null&&(A.nodes={start:t,end:e,a:null,t:null})}function FA(t,e){var A,i=!!(1&e),n=!!(2&e),o=!t.startsWith("");return()=>{A===void 0&&(A=zL(o?t:""+t),i||(A=$g(A)));var a=n||pnA?document.importNode(A,!0):A.cloneNode(!0);return i?$d($g(a),a.lastChild):$d(a,a),a}}function s1(t,e){return(function(A,i){var n,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"svg",a=!A.startsWith(""),r=!!(1&i),s="<".concat(o,">").concat(a?A:""+A,"");return()=>{if(!n){var g=$g(zL(s));if(r)for(n=document.createDocumentFragment();$g(g);)n.appendChild($g(g));else n=$g(g)}var l=n.cloneNode(!0);return r?$d($g(l),l.lastChild):$d(l,l),l}})(t,e,"svg")}function hr(){var t=A1((arguments.length>0&&arguments[0]!==void 0?arguments[0]:"")+"");return $d(t,t),t}function vi(){var t=document.createDocumentFragment(),e=document.createComment(""),A=A1();return t.append(e,A),$d(e,A),t}function cA(t,e){t!==null&&t.before(e)}var _kA=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"],LkA={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"},GkA=["touchstart","touchmove"];function KkA(t){return GkA.includes(t)}function Rt(t,e){var A,i=e==null?"":typeof e=="object"?e+"":e;i!==((A=t.__t)!==null&&A!==void 0?A:t.__t=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}function UkA(t,e){return(function(A,i){var{target:n,anchor:o,props:a={},events:r,context:s,intro:g=!0}=i;(function(){if(e2===void 0){e2=window,pnA=/Firefox/.test(navigator.userAgent);var B=Element.prototype,E=Node.prototype,Q=Text.prototype;wnA=A2(E,"firstChild").get,DnA=A2(E,"nextSibling").get,KtA(B)&&(B.__click=void 0,B.__className=void 0,B.__attributes=null,B.__style=void 0,B.__e=void 0),KtA(Q)&&(Q.__t=void 0)}})();var l=new Set,C=B=>{for(var E=0;E0&&arguments[0]!==void 0?arguments[0]:{};return new Promise(f=>{Q.outro?Eh(E,()=>{es(E),f(void 0)}):(es(E),f(void 0))})}})(()=>{var B=o??n.appendChild(A1());return(function(E,Q,f){new gL(E,Q,f)})(B,{pending:()=>{}},E=>{s&&(St({}),co.c=s),r&&(a.$$events=r),I=A(E,a)||{},s&&xt()}),()=>{for(var E of l){n.removeEventListener(E,_f);var Q=OQ.get(E);--Q===0?(document.removeEventListener(E,_f),OQ.delete(E)):OQ.set(E,Q)}var f;IL.delete(C),B!==o&&((f=B.parentNode)===null||f===void 0||f.removeChild(B))}});return dL.set(I,d),I})(t,e)}var OQ=new Map,dL=new WeakMap,PQ,TC=new WeakMap,Ld=new WeakMap,HC=new WeakMap,xf=new WeakMap,L_=new WeakMap,VtA=new WeakMap,JkA=new WeakMap,hh=class{constructor(e){var A=this,i=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];Y0(this,"anchor",void 0),po(this,TC,new Map),po(this,Ld,new Map),po(this,HC,new Map),po(this,xf,new Set),po(this,L_,!0),po(this,VtA,()=>{var n=Go;if(we(TC,this).has(n)){var o=we(TC,this).get(n),a=we(Ld,this).get(o);if(a)cL(a),we(xf,this).delete(o);else{var r=we(HC,this).get(o);r&&(we(Ld,this).set(o,r.effect),we(HC,this).delete(o),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),a=r.effect)}for(var[s,g]of we(TC,this)){if(we(TC,this).delete(s),s===n)break;var l=we(HC,this).get(g);l&&(es(l.effect),we(HC,this).delete(g))}var C=function(B,E){if(B===o||we(xf,A).has(B))return 1;var Q=()=>{if(Array.from(we(TC,A).values()).includes(B)){var f=document.createDocumentFragment();_nA(E,f),f.append(A1()),we(HC,A).set(B,{effect:E,fragment:f})}else es(E);we(xf,A).delete(B),we(Ld,A).delete(B)};we(L_,A)||!a?(we(xf,A).add(B),Eh(E,Q,!1)):Q()};for(var[I,d]of we(Ld,this))C(I,d)}}),po(this,JkA,n=>{we(TC,this).delete(n);var o=Array.from(we(TC,this).values());for(var[a,r]of we(HC,this))o.includes(a)||(es(r.effect),we(HC,this).delete(a))}),this.anchor=e,Cn(L_,this,i)}ensure(e,A){var i=Go;!A||we(Ld,this).has(e)||we(HC,this).has(e)||we(Ld,this).set(e,j0(()=>A(this.anchor))),we(TC,this).set(i,e),we(VtA,this).call(this)}};function is(t){co===null&&im(),yh&&co.l!==null?jnA(co).m.push(t):lL(()=>{var e=EA(t);if(typeof e=="function")return e})}function Yl(t){co===null&&im(),is(()=>()=>EA(t))}function YkA(){var t=co;return t===null&&im(),(e,A,i)=>{var n,o=(n=t.s.$$events)===null||n===void 0?void 0:n[e];if(o){var a=tm(o)?o.slice():[o],r=(function(g,l){var{bubbles:C=!1,cancelable:I=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return new CustomEvent(g,{detail:l,bubbles:C,cancelable:I})})(e,A,i);for(var s of a)s.call(t.x,r);return!r.defaultPrevented}return!0}}function TkA(t){co===null&&im(),co.l===null&&(function(){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")})(),jnA(co).b.push(t)}function jnA(t){var e,A=t.l;return(e=A.u)!==null&&e!==void 0?e:A.u={a:[],b:[],m:[]}}function TA(t,e){var A=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=new hh(t);function n(o,a){i.ensure(o,a)}Sh(()=>{var o=!1;e(function(a){o=!0,n(!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],a)}),o||n(!1,null)},A?Vd:0)}function qnA(t,e,A){var i=new hh(t),n=!Mh();Sh(()=>{var o=e();n&&o!==null&&typeof o=="object"&&(o={}),i.ensure(o,A)})}function Ra(t,e){return e}function G_(t){for(var e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],A=0;A5&&arguments[5]!==void 0?arguments[5]:null,a=t,r=new Map;!(4&e)||(a=t.appendChild(A1()));var s,g=null,l=tt(()=>{var E=A();return tm(E)?E:E==null?[]:Ty(E)}),C=!0;function I(){B.fallback=g,(function(E,Q,f,b,S){var M,D,F,_,U,J=!!(8&b),j=Q.length,$=E.items,O=E.effect.first,DA=null,P=[],aA=[];if(J)for(U=0;U0){var HA=4&b&&j===0?f:null;if(J){for(U=0;U{if(Me){if(Me.pending.delete(ut),Me.done.add(ut),Me.pending.size===0){var ke=QA.outrogroups;G_(Ty(Me.done)),ke.delete(Me),ke.size===0&&(QA.outrogroups=null)}}else pA-=1},!1)},ht=0;ht{if(D!==void 0)for(_ of D){var QA;(QA=_.nodes)===null||QA===void 0||(QA=QA.a)===null||QA===void 0||QA.apply()}})})(B,s,a,e,i),g!==null&&(s.length===0?(g.f&zC)===0?cL(g):(g.f^=zC,Rf(g,null,a)):Eh(g,()=>{g=null}))}var d=Sh(()=>{for(var E=(s=c(l)).length,Q=new Set,f=0;fo(a)):(g=j0(()=>o(PQ??(PQ=A1())))).f|=zC),C||I(),c(l)}),B={effect:d,items:r,outrogroups:null,fallback:g};C=!1}function HkA(t,e,A,i,n,o,a,r){var s=1&a?16&a?a2(A):IA(A,!1,!1):null,g=2&a?a2(n):null;return{v:s,i:g,e:j0(()=>(o(e,s??A,g??n,r),()=>{t.delete(i)}))}}function Rf(t,e,A){if(t.nodes)for(var i=t.nodes.start,n=t.nodes.end,o=e&&(e.f&zC)===0?e.nodes.start:A;i!==null;){var a=om(i);if(o.before(i),i===n)return;i=a}}function UI(t,e,A){e===null?t.effect.first=A:e.next=A,A===null?t.effect.last=e:A.prev=e}function VnA(t,e){var A=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=arguments.length>3&&arguments[3]!==void 0&&arguments[3],n=t,o="";ve(()=>{var a,r=jn;if(o!==(o=(a=e())!==null&&a!==void 0?a:"")&&(r.nodes!==null&&(xnA(r.nodes.start,r.nodes.end),r.nodes=null),o!=="")){var s=o+"";A?s="".concat(s,""):i&&(s="".concat(s,""));var g=zL(s);if((A||i)&&(g=$g(g)),$d($g(g),g.lastChild),A||i)for(;$g(g);)n.before($g(g));else n.before(g)}})}function Ba(t,e,A,i,n){var o,a=(o=e.$$slots)===null||o===void 0?void 0:o[A],r=!1;a===!0&&(a=e[A==="default"?"children":A],r=!0),a===void 0?n!==null&&n(t):a(t,r?()=>i:i)}function WnA(t,e,A){var i=new hh(t);Sh(()=>{var n,o=(n=e())!==null&&n!==void 0?n:null;i.ensure(o,o&&(a=>A(a,o)))},Vd)}function bs(t,e,A){Nr(()=>{var i=EA(()=>e(t,A?.())||{});if(A&&i!=null&&i.update){var n=!1,o={};kh(()=>{var a=A();G(a),n&&snA(o,a)&&(o=a,i.update(a))}),n=!0}if(i!=null&&i.destroy)return()=>i.destroy()})}function zkA(t,e){var A,i=void 0;MnA(()=>{i!==(i=e())&&(A&&(es(A),A=null),i&&(A=j0(()=>{Nr(()=>i(t))})))})}function ZnA(t){var e,A,i="";if(typeof t=="string"||typeof t=="number")i+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(e=0;e1&&arguments[1]!==void 0&&arguments[1]?" !important;":";",A="";for(var i in t){var n=t[i];n!=null&&n!==""&&(A+=" "+i+": "+n+e)}return A}function K_(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function $t(t,e,A,i,n,o){var a=t.__className;if(a!==A||a===void 0){var r=(function(l,C,I){var d=l==null?"":""+l;if(C&&(d=d?d+" "+C:C),I){for(var B in I)if(I[B])d=d?d+" "+B:B;else if(d.length)for(var E=B.length,Q=0;(Q=d.indexOf(B,Q))>=0;){var f=Q+E;Q!==0&&!WtA.includes(d[Q-1])||f!==d.length&&!WtA.includes(d[f])?Q=f:d=(Q===0?"":d.substring(0,Q))+d.substring(f+1)}}return d===""?null:d})(A,i,o);r==null?t.removeAttribute("class"):e?t.className=r:t.setAttribute("class",r),t.__className=A}else if(o&&n!==o)for(var s in o){var g=!!o[s];n!=null&&g===!!n[s]||t.classList.toggle(s,g)}return o}function U_(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},A=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;for(var n in A){var o=A[n];e[n]!==o&&(A[n]==null?t.style.removeProperty(n):t.style.setProperty(n,o,i))}}function Ul(t,e,A,i){if(t.__style!==e){var n=(function(o,a){if(a){var r,s,g="";if(Array.isArray(a)?(r=a[0],s=a[1]):r=a,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var l=!1,C=0,I=!1,d=[];r&&d.push(...Object.keys(r).map(K_)),s&&d.push(...Object.keys(s).map(K_));for(var B=0,E=-1,Q=o.length,f=0;f2&&arguments[2]!==void 0&&arguments[2];if(t.multiple){if(e==null)return;if(!tm(e))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var i of t.options)i.selected=e.includes(XtA(i))}else{for(i of t.options)if(SkA(XtA(i),e))return void(i.selected=!0);A&&e===void 0||(t.selectedIndex=-1)}}function OkA(t){var e=new MutationObserver(()=>{BL(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),mv(()=>{e.disconnect()})}function XtA(t){return"__value"in t?t.__value:t.value}var XQ=Symbol("class"),Nf=Symbol("style"),XnA=Symbol("is custom element"),$nA=Symbol("is html");function AB(t,e){var A=OL(t);A.value!==(A.value=e??void 0)&&(t.value!==e||e===0&&t.nodeName==="PROGRESS")&&(t.value=e??"")}function Mn(t,e,A,i){var n=OL(t);n[e]!==(n[e]=A)&&(e==="loading"&&(t[wkA]=A),A==null?t.removeAttribute(e):typeof A!="string"&&AoA(t).includes(e)?t[e]=A:t.setAttribute(e,A))}function PkA(t,e,A,i){var n,o=OL(t),a=o[XnA],r=!o[$nA],s=e||{},g=t.tagName==="OPTION";for(var l in e)l in A||(A[l]=null);A.class?A.class=n1(A.class):(i||A[XQ])&&(A.class=null),A[Nf]&&((n=A.style)!==null&&n!==void 0||(A.style=null));var C,I,d,B,E,Q,f=AoA(t),b=function(M){var D=A[M];if(g&&M==="value"&&D==null)return t.value=t.__value="",s[M]=D,0;if(M==="class")return C=t.namespaceURI==="http://www.w3.org/1999/xhtml",$t(t,C,D,i,e?.[XQ],A[XQ]),s[M]=D,s[XQ]=A[XQ],0;if(M==="style")return Ul(t,D,e?.[Nf],A[Nf]),s[M]=D,s[Nf]=A[Nf],0;if(D===(I=s[M])&&(D!==void 0||!t.hasAttribute(M))||(s[M]=D,(d=M[0]+M[1])==="$$"))return 0;if(d==="on"){var F={},_="$$"+M,U=M.slice(2);if(B=(function(P){return _kA.includes(P)})(U),(function(P){return P.endsWith("capture")&&P!=="gotpointercapture"&&P!=="lostpointercapture"})(U)&&(U=U.slice(0,-7),F.capture=!0),!B&&I){if(D!=null)return 0;t.removeEventListener(U,s[_],F),s[_]=null}if(D!=null)if(B)t["__".concat(U)]=D,am([U]);else{let P=function(aA){s[M].call(this,aA)};var DA=P;s[_]=PnA(U,t,P,F)}else B&&(t["__".concat(U)]=void 0)}else if(M==="style")Mn(t,M,D);else if(M==="autofocus")(function(P,aA){if(aA){var iA=document.body;P.autofocus=!0,Wd(()=>{document.activeElement===iA&&P.focus()})}})(t,!!D);else if(a||M!=="__value"&&(M!=="value"||D==null))if(M==="selected"&&g)(function(P,aA){aA?P.hasAttribute("selected")||P.setAttribute("selected",""):P.removeAttribute("selected")})(t,D);else if(E=M,r||(E=(function(P){var aA;return P=P.toLowerCase(),(aA=LkA[P])!==null&&aA!==void 0?aA:P})(E)),Q=E==="defaultValue"||E==="defaultChecked",D!=null||a||Q)Q||f.includes(E)&&(a||typeof D!="string")?(t[E]=D,E in o&&(o[E]=$r)):typeof D!="function"&&Mn(t,E,D);else if(o[M]=null,E==="value"||E==="checked"){var J=t,j=e===void 0;if(E==="value"){var $=J.defaultValue;J.removeAttribute(E),J.defaultValue=$,J.value=J.__value=j?$:null}else{var O=J.defaultChecked;J.removeAttribute(E),J.defaultChecked=O,J.checked=!!j&&O}}else t.removeAttribute(M);else t.value=t.__value=D};for(var S in A)b(S);return s}function Py(t,e){var A=arguments.length>5?arguments[5]:void 0,i=arguments.length>6&&arguments[6]!==void 0&&arguments[6],n=arguments.length>7&&arguments[7]!==void 0&&arguments[7];unA(arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],o=>{var a=void 0,r={},s=t.nodeName==="SELECT",g=!1;if(MnA(()=>{var C=e(...o.map(c)),I=PkA(t,a,C,A,i,n);for(var d of(g&&s&&"value"in C&&BL(t,C.value),Object.getOwnPropertySymbols(r)))C[d]||es(r[d]);for(var B of Object.getOwnPropertySymbols(C)){var E=C[B];B.description!=="@attach"||a&&E===a[B]||(r[B]&&es(r[B]),r[B]=j0(()=>zkA(t,()=>E))),I[B]=E}a=I}),s){var l=t;Nr(()=>{BL(l,a.value,!0),OkA(l)})}g=!0})}function OL(t){var e;return(e=t.__attributes)!==null&&e!==void 0?e:t.__attributes={[XnA]:t.nodeName.includes("-"),[$nA]:t.namespaceURI==="http://www.w3.org/1999/xhtml"}}var $tA=new Map;function AoA(t){var e,A=t.getAttribute("is")||t.nodeName,i=$tA.get(A);if(i)return i;$tA.set(A,i=[]);for(var n=t,o=Element.prototype;o!==n;){for(var a in e=enA(n))e[a].set&&i.push(a);n=JL(n)}return i}function ev(t,e){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e,i=new WeakSet;xkA(t,"input",(function(){var n=Yt(function*(o){var a=o?t.defaultValue:t.value;if(a=J_(t)?Y_(a):a,A(a),Go!==null&&i.add(Go),yield YnA(),a!==(a=e())){var r=t.selectionStart,s=t.selectionEnd,g=t.value.length;if(t.value=a??"",s!==null){var l=t.value.length;r===s&&s===g&&l>g?(t.selectionStart=l,t.selectionEnd=l):(t.selectionStart=r,t.selectionEnd=Math.min(s,l))}}});return function(o){return n.apply(this,arguments)}})()),EA(e)==null&&t.value&&(A(J_(t)?Y_(t.value):t.value),Go!==null&&i.add(Go)),kh(()=>{var n=e();if(t===document.activeElement){var o=Uf??Go;if(i.has(o))return}J_(t)&&n===Y_(t.value)||(t.type!=="date"||n||t.value)&&n!==t.value&&(t.value=n??"")})}function J_(t){var e=t.type;return e==="number"||e==="range"}function Y_(t){return t===""?null:+t}function Ot(t,e,A){var i=A2(t,e);i&&i.set&&(t[e]=A,mv(()=>{t[e]=null}))}function AiA(t,e){return t===e||t?.[P0]===e}function Ko(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,A=arguments.length>2?arguments[2]:void 0;return Nr(()=>{var i,n;return kh(()=>{i=n,n=[],EA(()=>{t!==A(...n)&&(e(t,...n),i&&AiA(A(...i),t)&&e(null,...i))})}),()=>{Wd(()=>{n&&AiA(A(...n),t)&&e(null,...n)})}}),t}function jC(t){return function(){for(var e=arguments.length,A=new Array(e),i=0;i0&&arguments[0]!==void 0&&arguments[0],e=co,A=e.l.u;if(A){var i,n=()=>G(e.s);if(t){var o=0,a={},r=nm(()=>{var s=!1,g=e.s;for(var l in g)g[l]!==a[l]&&(a[l]=g[l],s=!0);return s&&o++,o});n=()=>c(r)}A.b.length&&(i=()=>{eiA(e,n),aL(A.b)},vnA(),Pc(1048584,i,!0)),lL(()=>{var s=EA(()=>A.m.map(fkA));return()=>{for(var g of s)typeof g=="function"&&g()}}),A.a.length&&lL(()=>{eiA(e,n),aL(A.a)})}}function eiA(t,e){if(t.l.s)for(var A of t.l.s)c(A);e()}function pv(t){var e=a2(0);return function(){return arguments.length===1?(R(e,c(e)+1),arguments[0]):(c(e),t())}}function Lf(t,e){var A,i=(A=t.$$events)===null||A===void 0?void 0:A[e.type],n=tm(i)?i.slice():i==null?[]:[i];for(var o of n)o.call(this,e)}var by=!1,jkA={get(t,e){if(!t.exclude.includes(e))return c(t.version),e in t.special?t.special[e]():t.props[e]},set(t,e,A){if(!(e in t.special)){var i=jn;try{Jl(t.parent_effect),t.special[e]=N({get[e](){return t.props[e]}},e,4)}finally{Jl(i)}}return t.special[e](A),ztA(t.version),!0},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e))return e in t.props?{enumerable:!0,configurable:!0,value:t.props[e]}:void 0},deleteProperty:(t,e)=>(t.exclude.includes(e)||(t.exclude.push(e),ztA(t.version)),!0),has:(t,e)=>!t.exclude.includes(e)&&e in t.props,ownKeys:t=>Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))};function My(t,e){return new Proxy({props:t,exclude:e,special:{},version:a2(0),parent_effect:jn},jkA)}var qkA={get(t,e){for(var A=t.props.length;A--;){var i=t.props[A];if(kf(i)&&(i=i()),typeof i=="object"&&i!==null&&e in i)return i[e]}},set(t,e,A){for(var i=t.props.length;i--;){var n=t.props[i];kf(n)&&(n=n());var o=A2(n,e);if(o&&o.set)return o.set(A),!0}return!1},getOwnPropertyDescriptor(t,e){for(var A=t.props.length;A--;){var i=t.props[A];if(kf(i)&&(i=i()),typeof i=="object"&&i!==null&&e in i){var n=A2(i,e);return n&&!n.configurable&&(n.configurable=!0),n}}},has(t,e){if(e===P0||e===anA)return!1;for(var A of t.props)if(kf(A)&&(A=A()),A!=null&&e in A)return!0;return!1},ownKeys(t){var e=[];for(var A of t.props)if(kf(A)&&(A=A()),A){for(var i in A)e.includes(i)||e.push(i);for(var n of Object.getOwnPropertySymbols(A))e.includes(n)||e.push(n)}return e}};function e1(){for(var t=arguments.length,e=new Array(t),A=0;A(l&&(l=!1,g=s?EA(i):i),g);if(r){var I,d,B=P0 in t||anA in t;n=(I=(d=A2(t,e))===null||d===void 0?void 0:d.set)!==null&&I!==void 0?I:B&&e in t?D=>t[e]=D:void 0}var E,Q=!1;if(r?[o,Q]=(function(D){var F=by;try{return by=!1,[D(),by]}finally{by=F}})(()=>t[e]):o=t[e],o===void 0&&i!==void 0&&(o=C(),n&&(a&&(function(){throw new Error("https://svelte.dev/e/props_invalid_value")})(),n(o))),E=a?()=>{var D=t[e];return D===void 0?C():(l=!0,D)}:()=>{var D=t[e];return D!==void 0&&(g=void 0),D===void 0?g:D},a&&!(4&A))return E;if(n){var f=t.$$legacy;return function(D,F){return arguments.length>0?(a&&F&&!f&&!Q||n(F?E():D),D):E()}}var b=!1,S=(1&A?nm:tt)(()=>(b=!1,E()));r&&c(S);var M=jn;return function(D,F){if(arguments.length>0){var _=F?c(S):a&&r?eh(D):D;return R(S,_),b=!0,g!==void 0&&(g=_),D}return oB&&b||(M.f&bh)!==0?S.v:c(S)}}function lr(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(function(i){var n=(function(o){try{if(typeof window<"u"&&window.localStorage!==void 0)return window.localStorage[o]}catch{}})("debug");return n!=null&&n.endsWith("*")?i.startsWith(n.slice(0,-1)):i===n})(t);if(!e)return VkA;var A=(function(i){for(var n=0,o=0;o9466848e5&&isFinite(t)&&Math.floor(t)===t&&!isNaN(new Date(t).valueOf());if(typeof t=="bigint")return EL(Number(t));try{var e=t&&t.valueOf();if(e!==t)return EL(e)}catch{return!1}return!1}function eoA(t){(ky=ky||window.document.createElement("div")).style.color="",ky.style.color=t;var e=ky.style.color;return e!==""?e.replace(/\s+/g,"").toLowerCase():void 0}var ky=void 0;function $kA(t){return typeof t=="string"&&t.length<99&&!!eoA(t)}function jL(t,e){if(typeof t=="number"||typeof t=="string"||typeof t=="boolean"||t===void 0)return typeof t;if(typeof t=="bigint")return"number";if(t===null)return"null";if(Array.isArray(t))return"array";if(pn(t))return"object";var A=e.stringify(t);return A&&PL(A)?"number":A==="true"||A==="false"?"boolean":A==="null"?"null":"unknown"}var ASA=/^https?:\/\/\S+$/;function wv(t){return typeof t=="string"&&ASA.test(t)}function Rh(t,e){if(t==="")return"";var A=t.trim();return A==="null"?null:A==="true"||A!=="false"&&(PL(A)?e.parse(A):t)}var eSA=[];function iiA(t,e){if(t.length!==e.length)return!1;for(var A=0;A1&&arguments[1]!==void 0&&arguments[1],A={};if(!Array.isArray(t))throw new TypeError("Array expected");function i(a,r){(!Array.isArray(a)&&!pn(a)||e&&r.length>0)&&(A[wt(r)]=!0),pn(a)&&Object.keys(a).forEach(s=>{i(a[s],r.concat(s))})}for(var n=Math.min(t.length,1e4),o=0;oe?t.slice(0,e):t}function niA(t){return ye({},t)}function oiA(t){return Object.values(t)}function aiA(t,e,A,i){var n=t.slice(0),o=n.splice(e,A);return n.splice.apply(n,[e+i,0,...o]),n}function tSA(t,e,A){return t.slice(0,e).concat(A).concat(t.slice(e))}function rm(t,e){try{return e.parse(t)}catch{return e.parse(ul(t))}}function ioA(t,e){try{return rm(t,e)}catch{return}}function sm(t,e){t=t.replace(ooA,"");try{return e(t)}catch{}try{return e("{"+t+"}")}catch{}try{return e("["+t+"]")}catch{}throw new Error("Failed to parse partial JSON")}function noA(t){t=t.replace(ooA,"");try{return ul(t)}catch{}try{var e=ul("["+t+"]");return e.substring(1,e.length-1)}catch{}try{var A=ul("{"+t+"}");return A.substring(1,A.length-1)}catch{}throw new Error("Failed to repair partial JSON")}var ooA=/,\s*$/;function uh(t,e){var A=siA.exec(e);if(A){var i=Fr(A[2]),n=(function(d,B){for(var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:d.length,f=0,b=E;b"line ".concat(n+1," column ").concat(o+1))}}var a=aSA.exec(e),r=a?Fr(a[1]):void 0,s=r!==void 0?r-1:void 0,g=rSA.exec(e),l=g?Fr(g[1]):void 0,C=l!==void 0?l-1:void 0,I=s!==void 0&&C!==void 0?(function(d,B,E){for(var Q=d.indexOf(` +`),f=1;f1&&arguments[1]!==void 0?arguments[1]:void 0,A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:JSON;return zf(t)?t:{text:A.stringify(t.json,null,e)}}function riA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:JSON;return Of(t)?t:{json:e.parse(t.text)}}function hL(t,e,A){return iSA(t,e,A).text}function nSA(t,e){return oSA(t,e)>e}function oSA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1/0;if(zf(t))return t.text.length;var A=t.json,i=0;return(function n(o){if(Array.isArray(o)){if((i+=o.length-1+2)>e)return;for(var a=0;ae)return}else if(pn(o)){var r=Object.keys(o);i+=2+r.length+(r.length-1);for(var s=0;sroA(loA(String(t))),unescapeValue:t=>coA(soA(t))},lSA={escapeValue:t=>loA(String(t)),unescapeValue:t=>coA(t)},cSA={escapeValue:t=>roA(String(t)),unescapeValue:t=>soA(t)},CSA={escapeValue:t=>String(t),unescapeValue:t=>t};function roA(t){return t.replace(/[^\x20-\x7F]/g,e=>{var A;return e==="\b"||e==="\f"||e===` +`||e==="\r"||e===" "?e:"\\u"+("000"+((A=e.codePointAt(0))===null||A===void 0?void 0:A.toString(16))).slice(-4)})}function soA(t){return t.replace(/\\u[a-fA-F0-9]{4}/g,e=>{try{var A=JSON.parse('"'+e+'"');return goA[A]||A}catch{return e}})}var goA={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},ISA={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":` +`,"\\r":"\r","\\t":" "};function loA(t){return t.replace(/["\b\f\n\r\t\\]/g,e=>goA[e]||e)}function coA(t){return t.replace(/\\["bfnrt\\]/g,e=>ISA[e]||e)}function fh(t){return typeof t!="string"?String(t):t.endsWith(` +`)?t+` +`:t}function CoA(t,e){return Nh(t,A=>A.nodeName.toUpperCase()===e.toUpperCase())}function VI(t,e,A){return Nh(t,i=>(function(n,o,a){return typeof n.getAttribute=="function"&&n.getAttribute(o)===a})(i,e,A))}function Nh(t,e){return!!VL(t,e)}function VL(t,e){for(var A=t;A&&!e(A);)A=A.parentNode;return A}function gm(t){var e,A;return(e=t==null||(A=t.ownerDocument)===null||A===void 0?void 0:A.defaultView)!==null&&e!==void 0?e:void 0}function WL(t){var e=gm(t),A=e?.document.activeElement;return!!A&&Nh(A,i=>i===t)}function IoA(t,e){return VL(t,A=>A.nodeName===e)}function z_(t){return VI(t,"data-type","selectable-key")?no.key:VI(t,"data-type","selectable-value")?no.value:VI(t,"data-type","insert-selection-area-inside")?no.inside:VI(t,"data-type","insert-selection-area-after")?no.after:no.multi}function jy(t){return encodeURIComponent(wt(t))}function doA(t){var e,A=VL(t,n=>!(n==null||!n.hasAttribute)&&n.hasAttribute("data-path")),i=(e=A?.getAttribute("data-path"))!==null&&e!==void 0?e:void 0;return i?hs(decodeURIComponent(i)):void 0}function dSA(t){var{allElements:e,currentElement:A,direction:i,hasPrio:n=()=>!0,margin:o=10}=t,a=QS(e.filter(function(f){var b=f.getBoundingClientRect();return b.width>0&&b.height>0}),s),r=s(A);function s(f){var b=f.getBoundingClientRect();return{x:b.left+b.width/2,y:b.top+b.height/2,rect:b,element:f}}function g(f,b){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,M=f.x-b.x,D=(f.y-b.y)*S;return Math.sqrt(M*M+D*D)}var l=f=>g(f,r);if(i==="Left"||i==="Right"){var C=i==="Left"?a.filter(f=>{return b=r,f.rect.left+o{return b=r,f.rect.right>b.rect.right+o;var b}),I=C.filter(f=>{return b=f,S=r,Math.abs(b.y-S.y)g(f,r,10));return d?.element}if(i==="Up"||i==="Down"){var B=i==="Up"?a.filter(f=>{return b=r,f.y+o{return b=r,f.y>b.y+o;var b}),E=B.filter(f=>n(f.element)),Q=VE(E,l)||VE(B,l);return Q?.element}}function ZL(){var t,e,A,i;return typeof navigator<"u"&&(t=(e=(A=navigator)===null||A===void 0||(A=A.platform)===null||A===void 0?void 0:A.toUpperCase().includes("MAC"))!==null&&e!==void 0?e:(i=navigator)===null||i===void 0||(i=i.userAgentData)===null||i===void 0||(i=i.platform)===null||i===void 0?void 0:i.toUpperCase().includes("MAC"))!==null&&t!==void 0&&t}function r2(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"+",A=[];XL(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:ZL)&&A.push("Ctrl"),t.altKey&&A.push("Alt"),t.shiftKey&&A.push("Shift");var i=t.key.length===1?t.key.toUpperCase():t.key;return i in BSA||A.push(i),A.join(e)}function XL(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ZL;return t.ctrlKey||t.metaKey&&e()}var BSA={Ctrl:!0,Command:!0,Control:!0,Alt:!0,Option:!0,Shift:!0};function qt(t,e){e===void 0&&(e={});var A=e.insertAt;if(t&&typeof document<"u"){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",A==="top"&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}}qt(`.jse-absolute-popup.svelte-enkkpn { + position: relative; + left: 0; + top: 0; + width: 0; + height: 0; + z-index: 1001; +} +.jse-absolute-popup.svelte-enkkpn .jse-hidden-input:where(.svelte-enkkpn) { + position: fixed; + left: 0; + top: 0; + width: 0; + height: 0; + padding: 0; + margin: 0; + border: none; + outline: none; + overflow: hidden; +} +.jse-absolute-popup.svelte-enkkpn .jse-absolute-popup-content:where(.svelte-enkkpn) { + position: absolute; +}`);var ESA=FA('
    '),QSA=FA('
    ');function hSA(t,e){St(e,!1);var A=N(e,"popup",8),i=N(e,"closeAbsolutePopup",8),n=IA(),o=IA();function a(C){A().options&&A().options.closeOnOuterClick&&!Nh(C.target,I=>I===c(n))&&i()(A().id)}function r(C){r2(C)==="Escape"&&(C.preventDefault(),C.stopPropagation(),i()(A().id))}is(function(){c(o)&&c(o).focus()}),Ai();var s=QSA();ue("mousedown",e2,function(C){a(C)},!0),ue("keydown",e2,r,!0),ue("wheel",e2,function(C){a(C)},!0);var g=CA(s),l=C=>{var I=ESA(),d=CA(I);Ko(d,B=>R(o,B),()=>c(o)),WnA(bA(d,2),()=>A().component,(B,E)=>{E(B,e1(()=>A().props))}),ve(B=>Ul(I,B),[()=>(c(n),G(A()),EA(()=>(function(B,E){var Q=B.getBoundingClientRect(),{left:f,top:b,positionAbove:S,positionLeft:M}=(function(){if(E.anchor){var{anchor:D,width:F=0,height:_=0,offsetTop:U=0,offsetLeft:J=0,position:j}=E,{left:$,top:O,bottom:DA,right:P}=D.getBoundingClientRect(),aA=j==="top"||O+_>window.innerHeight&&O>_,iA=j==="left"||$+F>window.innerWidth&&$>F;return{left:iA?P-J:$+J,top:aA?O-U:DA+U,positionAbove:aA,positionLeft:iA}}if(typeof E.left=="number"&&typeof E.top=="number"){var{left:BA,top:oA,width:sA=0,height:hA=0}=E;return{left:BA,top:oA,positionAbove:oA+hA>window.innerHeight&&oA>hA,positionLeft:BA+sA>window.innerWidth&&BA>sA}}throw new Error('Invalid config: pass either "left" and "top", or pass "anchor"')})();return(S?"bottom: ".concat(Q.top-b,"px;"):"top: ".concat(b-Q.top,"px;"))+(M?"right: ".concat(Q.left-f,"px;"):"left: ".concat(f-Q.left,"px;"))})(c(n),A().options)))]),cA(C,I)};TA(g,C=>{c(n)&&C(l)}),Ko(s,C=>R(n,C),()=>c(n)),ue("mousedown",s,function(C){C.stopPropagation()}),ue("keydown",s,r),cA(t,s),xt()}var uSA=FA(" ",1);function uL(t,e){St(e,!1);var A=lr("jsoneditor:AbsolutePopup"),i=IA([],!0);function n(r){var s=c(i).findIndex(l=>l.id===r);if(s!==-1){var g=c(i)[s];g.options.onClose&&g.options.onClose(),R(i,c(i).filter(l=>l.id!==r))}}(function(r,s){lnA().set(r,s)})("absolute-popup",{openAbsolutePopup:function(r,s,g){A("open...",s,g);var l={id:th(),component:r,props:s||{},options:g||{}};return R(i,[...c(i),l]),l.id},closeAbsolutePopup:n}),RA(()=>c(i),()=>{A("popups",c(i))}),kn(),Ai(!0);var o=uSA(),a=At(o);Ea(a,1,()=>c(i),Ra,(r,s)=>{hSA(r,{get popup(){return c(s)},closeAbsolutePopup:n})}),Ba(bA(a,2),e,"default",{},null),cA(t,o),xt()}function lm(t,e){for(var A=new Set(e),i=t.replace(/ \(copy( \d+)?\)$/,""),n=t,o=1;A.has(n);){var a="copy"+(o>1?" "+o:"");n="".concat(i," (").concat(a,")"),o++}return n}function WC(t,e){var A=e-3;return t.length>e?t.substring(0,A)+"...":t}function fSA(t){if(t==="")return"";var e=t.toLowerCase();if(e==="null")return null;if(e==="true")return!0;if(e==="false")return!1;if(e!=="undefined"){var A=Number(t),i=parseFloat(t);return isNaN(A)||isNaN(i)?t:A}}var mSA={id:"jsonquery",name:"JSONQuery",description:` +

    + Enter a JSON Query function to filter, sort, or transform the data. + You can use functions like get, filter, + sort, pick, groupBy, uniq, etcetera. + Example query: filter(.age >= 18) +

    +`,createQuery:function(t,e){var{filter:A,sort:i,projection:n}=e,o=[];A&&A.path&&A.relation&&A.value&&o.push(["filter",[(a=A.relation,vS("1 ".concat(a," 1"))[0]),Sy(A.path),fSA(A.value)]]);var a;return i&&i.path&&i.direction&&o.push(["sort",Sy(i.path),i.direction==="desc"?"desc":"asc"]),n&&n.paths&&(n.paths.length>1?o.push(["pick",...n.paths.map(Sy)]):o.push(["map",Sy(n.paths[0])])),zq(["pipe",...o])},executeQuery:function(t,e,A){var i=aoA(A,JSON)?t:(function(n){var o=A.stringify(n);return o!==void 0?JSON.parse(o):void 0})(t);return e.trim()!==""?Oq(i,e):i}};function Sy(t){return["get",...t]}var pSA=s1("");function wSA(t,e){St(e,!1);var A=870711,i=IA(""),n=N(e,"data",8);function o(r){if(!r||!r.raw)return"";var s=r.raw,g={};return s=s.replace(/\s(?:xml:)?id=["']?([^"')\s]+)/g,(l,C)=>{var I="fa-".concat((A+=1).toString(16));return g[C]=I,' id="'.concat(I,'"')}),s=s.replace(/#(?:([^'")\s]+)|xpointer\(id\((['"]?)([^')]+)\2\)\))/g,(l,C,I,d)=>{var B=C||d;return B&&g[B]?"#".concat(g[B]):l}),s}RA(()=>G(n()),()=>{R(i,o(n()))}),kn();var a=pSA();VnA(CA(a),()=>c(i),!0),cA(t,a),xt()}qt(` + .fa-icon.svelte-v67cny { + display: inline-block; + fill: currentColor; + } + .fa-flip-horizontal.svelte-v67cny { + transform: scale(-1, 1); + } + .fa-flip-vertical.svelte-v67cny { + transform: scale(1, -1); + } + .fa-spin.svelte-v67cny { + animation: svelte-v67cny-fa-spin 1s 0s infinite linear; + } + .fa-inverse.svelte-v67cny { + color: #fff; + } + .fa-pulse.svelte-v67cny { + animation: svelte-v67cny-fa-spin 1s infinite steps(8); + } + @keyframes svelte-v67cny-fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } +`);var DSA=s1(""),ySA=s1(""),vSA=s1(""),bSA=s1("",1);function Wi(t,e){var A=My(e,["children","$$slots","$$events","$$legacy"]),i=My(A,["class","data","scale","spin","inverse","pulse","flip","label","style"]);St(e,!1);var n=N(e,"class",8,""),o=N(e,"data",8),a=IA(),r=N(e,"scale",8,1),s=N(e,"spin",8,!1),g=N(e,"inverse",8,!1),l=N(e,"pulse",8,!1),C=N(e,"flip",8,void 0),I=N(e,"label",8,""),d=N(e,"style",8,""),B=IA(10),E=IA(10),Q=IA(),f=IA();function b(){var M=1;return r()!==void 0&&(M=Number(r())),isNaN(M)||M<=0?(console.warn('Invalid prop: prop "scale" should be a number over 0.'),1):1*M}function S(){return c(a)?Math.max(c(a).width,c(a).height)/16:1}RA(()=>(G(o()),G(d()),G(r())),()=>{R(a,(function(M){var D;if(M){if(!("definition"in M)){if("iconName"in M&&"icon"in M){M.iconName;var[F,_,,,U]=M.icon;D={width:F,height:_,paths:(Array.isArray(U)?U:[U]).map(J=>({d:J}))}}else D=M[Object.keys(M)[0]];return D}console.error("`import faIconName from '@fortawesome/package-name/faIconName` not supported - Please use `import { faIconName } from '@fortawesome/package-name/faIconName'` instead")}})(o())),d(),r(),R(B,c(a)?c(a).width/S()*b():0),R(E,c(a)?c(a).height/S()*b():0),R(Q,(function(){var M="";d()!==null&&(M+=d());var D=b();return D===1?M.length===0?"":M:(M===""||M.endsWith(";")||(M+="; "),"".concat(M,"font-size: ").concat(D,"em"))})()),R(f,c(a)?"0 0 ".concat(c(a).width," ").concat(c(a).height):"0 0 ".concat(c(B)," ").concat(c(E)))}),kn(),Ai(),(function(M,D){var F=My(D,["children","$$slots","$$events","$$legacy"]),_=My(F,["class","width","height","box","spin","inverse","pulse","flip","style","label"]),U=N(D,"class",8,""),J=N(D,"width",8),j=N(D,"height",8),$=N(D,"box",8,"0 0 0 0"),O=N(D,"spin",8,!1),DA=N(D,"inverse",8,!1),P=N(D,"pulse",8,!1),aA=N(D,"flip",8,"none"),iA=N(D,"style",8,""),BA=N(D,"label",8,""),oA=DSA();Py(oA,()=>{var sA;return ye(ye({version:"1.1",class:"fa-icon ".concat((sA=U())!==null&&sA!==void 0?sA:""),width:J(),height:j(),"aria-label":BA(),role:BA()?"img":"presentation",viewBox:$(),style:iA()},_),{},{[XQ]:{"fa-spin":O(),"fa-pulse":P(),"fa-inverse":DA(),"fa-flip-horizontal":aA()==="horizontal","fa-flip-vertical":aA()==="vertical"}})},void 0,void 0,void 0,"svelte-v67cny"),Ba(CA(oA),D,"default",{},null),cA(M,oA)})(t,e1({get label(){return I()},get width(){return c(B)},get height(){return c(E)},get box(){return c(f)},get style(){return c(Q)},get spin(){return s()},get flip(){return C()},get inverse(){return g()},get pulse(){return l()},get class(){return n()}},()=>i,{children:(M,D)=>{var F=vi();Ba(At(F),e,"default",{},_=>{var U=bSA(),J=At(U);Ea(J,1,()=>(c(a),EA(()=>{var DA;return((DA=c(a))===null||DA===void 0?void 0:DA.paths)||[]})),Ra,(DA,P)=>{var aA=ySA();Py(aA,()=>ye({},c(P))),cA(DA,aA)});var j=bA(J);Ea(j,1,()=>(c(a),EA(()=>{var DA;return((DA=c(a))===null||DA===void 0?void 0:DA.polygons)||[]})),Ra,(DA,P)=>{var aA=vSA();Py(aA,()=>ye({},c(P))),cA(DA,aA)});var $=bA(j),O=DA=>{wSA(DA,{get data(){return c(a)},set data(P){R(a,P)},$$legacy:!0})};TA($,DA=>{c(a),EA(()=>{var P;return(P=c(a))===null||P===void 0?void 0:P.raw})&&DA(O)}),cA(_,U)}),cA(M,F)},$$slots:{default:!0}})),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-boolean-toggle.svelte-eli4ob { + padding: 0; + margin: 1px 0 0; + vertical-align: top; + display: inline-flex; + color: var(--jse-value-color-boolean, #ff8c00); +} + +.jse-boolean-toggle.svelte-eli4ob:not(.jse-readonly) { + cursor: pointer; +}`);var MSA=FA('
    ');function kSA(t,e){St(e,!1);var A=N(e,"path",9),i=N(e,"value",9),n=N(e,"readOnly",9),o=N(e,"onPatch",9),a=N(e,"focus",9);Ai(!0);var r,s=MSA(),g=CA(s),l=tt(()=>i()===!0?bS:MS);Wi(g,{get data(){return c(l)}}),ve(()=>{Mn(s,"aria-checked",i()===!0),r=$t(s,1,"jse-boolean-toggle svelte-eli4ob",null,r,{"jse-readonly":n()}),Mn(s,"title",n()?"Boolean value ".concat(i()):"Click to toggle this boolean value")}),ue("mousedown",s,function(C){C.stopPropagation(),n()||(o()([{op:"replace",path:wt(A()),value:!i()}]),a()())}),cA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-color-picker-popup.svelte-v77py2 .picker_wrapper.popup, +.jse-color-picker-popup.svelte-v77py2 .picker_wrapper.popup .picker_arrow::before, +.jse-color-picker-popup.svelte-v77py2 .picker_wrapper.popup .picker_arrow::after { + background: var(--jse-color-picker-background, var(--jse-panel-background, #ebebeb)); + line-height: normal; +} +.jse-color-picker-popup.svelte-v77py2 .picker_slider, +.jse-color-picker-popup.svelte-v77py2 .picker_sl, +.jse-color-picker-popup.svelte-v77py2 .picker_editor input, +.jse-color-picker-popup.svelte-v77py2 .picker_sample, +.jse-color-picker-popup.svelte-v77py2 .picker_done button { + box-shadow: var(--jse-color-picker-border-box-shadow, #cbcbcb 0 0 0 1px); +} +.jse-color-picker-popup.svelte-v77py2 .picker_editor input { + background: var(--jse-background-color, #fff); + color: var(--jse-text-color, #4d4d4d); +} +.jse-color-picker-popup.svelte-v77py2 .picker_done button { + background: var(--jse-button-background, #e0e0e0); + color: var(--jse-button-color, var(--jse-text-color, #4d4d4d)); +} +.jse-color-picker-popup.svelte-v77py2 .picker_done button:hover { + background: var(--jse-button-background-highlight, #e7e7e7); +}`);var SSA=FA('
    ');function xSA(t,e){St(e,!1);var A=N(e,"color",8),i=N(e,"onChange",8),n=N(e,"showOnTop",8),o=IA(),a=()=>{};is(Yt(function*(){var s,g=new((s=yield import("./chunk-GLGRLUIJ.js"))===null||s===void 0?void 0:s.default)({parent:c(o),color:A(),popup:n()?"top":"bottom",onDone(l){var C=l.rgba[3]===1?l.hex.substring(0,7):l.hex;i()(C)}});g.show(),a=()=>{g.destroy()}})),Yl(()=>{a()}),Ai();var r=SSA();Ko(r,s=>R(o,s),()=>c(o)),cA(t,r),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-color-picker-button.svelte-13mgyo6 { + font-size: var(--jse-font-size-mono, 14px); + width: var(--jse-color-picker-button-size, 1em); + height: var(--jse-color-picker-button-size, 1em); + box-sizing: border-box; + padding: 0; + margin: 2px 0 0 calc(0.5 * var(--jse-padding, 10px)); + display: inline-flex; + vertical-align: top; + border: 1px solid var(--jse-text-color, #4d4d4d); + border-radius: 2px; + background: inherit; + outline: none; +} + +.jse-color-picker-button.svelte-13mgyo6:not(.jse-readonly) { + cursor: pointer; +}`);var RSA=FA('');function NSA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),{openAbsolutePopup:n}=r1("absolute-popup"),o=N(e,"path",9),a=N(e,"value",9),r=N(e,"readOnly",9),s=N(e,"onPatch",9),g=N(e,"focus",9);function l(B){s()([{op:"replace",path:wt(o()),value:B}]),C()}function C(){g()()}RA(()=>G(a()),()=>{R(A,eoA(a()))}),RA(()=>(G(r()),G(a())),()=>{R(i,r()?"Color ".concat(a()):"Click to open a color picker")}),kn(),Ai(!0);var I,d=RSA();ve(()=>{var B;I=$t(d,1,"jse-color-picker-button svelte-13mgyo6",null,I,{"jse-readonly":r()}),Ul(d,"background: ".concat((B=c(A))!==null&&B!==void 0?B:"")),Mn(d,"title",c(i)),Mn(d,"aria-label",c(i))}),ue("click",d,function(B){var E,Q;if(!r()){var f=B.target,b=f.getBoundingClientRect().top,S=((E=(Q=gm(f))===null||Q===void 0?void 0:Q.innerHeight)!==null&&E!==void 0?E:0)-b<300&&b>300,M={color:a(),onChange:l,showOnTop:S};n(xSA,M,{anchor:f,closeOnOuterClick:!0,onClose:C,offsetTop:18,offsetLeft:-8,height:300})}}),cA(t,d),xt()}var O_=1e3,Pf=100,xy=100,iv=2e4,gh=[{start:0,end:Pf}],FSA=1048576,_SA=1048576,P_=10485760,j_="Insert or paste contents, enter [ insert a new array, enter { to insert a new object, or start typing to insert a new value",$L="Open context menu (Click here, right click on the selection, or use the context menu button or Ctrl+Q)",Gd="hover-insert-inside",Ry="hover-insert-after",liA="hover-collection",q_="valid",ciA="repairable",ZC=336,XC=260,Gf=100,CiA={[Ll.asc]:"ascending",[Ll.desc]:"descending"};function BoA(t){for(var e=mS(t,r=>r.start),A=[e[0]],i=0;i0&&arguments[0]!==void 0?arguments[0]:{expanded:!1};return{type:"array",expanded:t,visibleSections:gh,items:[]}}function tG(){var{expanded:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{expanded:!1};return{type:"object",expanded:t,properties:{}}}var iG={createObjectDocumentState:tG,createArrayDocumentState:eG,createValueDocumentState:function(){return{type:"value"}}};function QoA(t,e,A,i){var{createObjectDocumentState:n,createArrayDocumentState:o,createValueDocumentState:a}=i;return(function r(s,g,l){if(Array.isArray(s)){var C=sr(g)?g:o();if(l.length===0)return C;var I=Fr(l[0]),d=r(s[I],C.items[I],l.slice(1));return Or(C,["items",l[0]],d)}if(pn(s)){var B=wg(g)?g:n();if(l.length===0)return B;var E=l[0],Q=r(s[E],B.properties[E],l.slice(1));return Or(B,["properties",E],Q)}return AG(g)?g:a()})(t,e,A)}function Zg(t,e){return jf(t,e,arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],(A,i)=>{if(A!==void 0&&i!==void 0)return Array.isArray(A)?sr(i)?i:eG({expanded:!!eB(i)&&i.expanded}):pn(A)?wg(i)?i:tG({expanded:!!eB(i)&&i.expanded}):AG(i)?i:void 0},()=>!0)}function jf(t,e,A,i,n){var o=i(t,e,A);if(Array.isArray(t)&&sr(o)&&n(o)){var a=[];return nG(t,o.visibleSections,s=>{var g=A.concat(String(s)),l=jf(t[s],o.items[s],g,i,n);l!==void 0&&(a[s]=l)}),iiA(a,o.items)?o:ye(ye({},o),{},{items:a})}if(pn(t)&&wg(o)&&n(o)){var r={};return Object.keys(t).forEach(s=>{var g=A.concat(s),l=jf(t[s],o.properties[s],g,i,n);l!==void 0&&(r[s]=l)}),iiA(Object.values(r),Object.values(o.properties))?o:ye(ye({},o),{},{properties:r})}return o}function nG(t,e,A){e.forEach(i=>{var{start:n,end:o}=i;toA(n,Math.min(t.length,o),A)})}function qf(t,e){for(var A=t,i=[],n=0;n{var C=eB(l)&&!l.expanded?ye(ye({},l),{},{expanded:!0}):l;return sr(C)?(function(I,d){if((function(Q,f){return Q.some(b=>f>=b.start&&f(function(g,l,C,I){return jf(g,l,C,(d,B,E)=>Array.isArray(d)&&I(E)?sr(B)?B.expanded?B:ye(ye({},B),{},{expanded:!0}):eG({expanded:!0}):pn(d)&&I(E)?wg(B)?B.expanded?B:ye(ye({},B),{},{expanded:!0}):tG({expanded:!0}):B,d=>eB(d)&&d.expanded)})(r,s,[],i))}function uiA(t,e,A,i){return mh(t,e,A,(n,o)=>i?(function(a,r,s){return jf(a,r,s,(g,l)=>fiA(l),()=>!0)})(n,o,A):fiA(o))}function fiA(t){return sr(t)&&t.expanded?ye(ye({},t),{},{expanded:!1,visibleSections:gh}):wg(t)&&t.expanded?ye(ye({},t),{},{expanded:!1}):t}function hoA(t,e,A){var i={json:t,documentState:e},n=A.reduce((o,a)=>({json:lg(o.json,[a]),documentState:JSA(o.json,o.documentState,a)}),i);return{json:n.json,documentState:Zg(n.json,n.documentState)}}function JSA(t,e,A){if(jk(A))return miA(t,e,A,void 0);if(qk(A))return piA(t,e,A);if(sw(A)){var i=cg(t,A.path),n=z0(t,e,i);return n?Dv(t,e,i,{type:"value",enforceString:n}):e}return gw(A)||Z2(A)?(function(o,a,r){if(Z2(r)&&r.from===r.path)return a;var s=a,g=cg(o,r.from),l=J0(o,s,g);return Z2(r)&&(s=piA(o,s,{path:r.from})),s=miA(o,s,{path:r.path},l),s})(t,e,A):e}function J0(t,e,A){try{return je(e,qf(t,A))}catch{return}}function oG(t,e,A,i,n){var o=QoA(t,e,A,n);return O4(o,qf(t,A),a=>{var r=je(t,A);return i(r,a)})}function Dv(t,e,A,i){return(function(n,o,a,r,s){var g=QoA(n,o,a,s);return Or(g,qf(n,a),r)})(t,e,A,i,iG)}function mh(t,e,A,i){return oG(t,e,A,i,iG)}function miA(t,e,A,i){var n=cg(t,A.path),o=e;return o=mh(t,o,Ki(n),(a,r)=>{if(!sr(r))return r;var s=Fr(mi(n)),{items:g,visibleSections:l}=r;return ye(ye({},r),{},{items:s{if(!sr(r))return r;var s=Fr(mi(i)),{items:g,visibleSections:l}=r;return ye(ye({},r),{},{items:g.slice(0,s).concat(g.slice(s+1)),visibleSections:uoA(l,s,-1)})}):(function(a,r,s){var g=qf(a,s);return br(r,g)?Ad(r,qf(a,s)):r})(t,e,i)}function uoA(t,e,A){return(function(i){for(var n=i.slice(0),o=1;o({start:i.start>e?i.start+A:i.start,end:i.end>e?i.end+A:i.end})))}function z0(t,e,A){var i,n=je(t,A),o=J0(t,e,A),a=AG(o)?o.enforceString:void 0;return typeof a=="boolean"?a:typeof(i=n)=="string"&&typeof Rh(i,JSON)!="string"}function cm(t,e){var A=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=t.indexOf(e);return i!==-1?A?t.slice(i):t.slice(i+1):[]}function aG(t,e){var A=[];return(function i(n,o,a){A.push(a),jo(n)&&sr(o)&&o.expanded&&nG(n,o.visibleSections,r=>{i(n[r],o.items[r],a.concat(String(r)))}),ia(n)&&wg(o)&&o.expanded&&Object.keys(n).forEach(r=>{i(n[r],o.properties[r],a.concat(r))})})(t,e,[]),A}function foA(t,e){var A=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],i=[];return(function n(o,a){i.push({path:a,type:Kc.value});var r=J0(t,e,a);if(o&&eB(r)&&r.expanded){if(A&&i.push({path:a,type:Kc.inside}),jo(o)){var s=sr(r)?r.visibleSections:gh;nG(o,s,g=>{var l=a.concat(String(g));n(o[g],l),A&&i.push({path:l,type:Kc.after})})}ia(o)&&Object.keys(o).forEach(g=>{var l=a.concat(g);i.push({path:l,type:Kc.key}),n(o[g],l),A&&i.push({path:l,type:Kc.after})})}})(t,[]),i}function V_(t,e,A){var i=aG(t,e),n=i.map(wt).indexOf(wt(A));if(n!==-1&&n3&&arguments[3]!==void 0?arguments[3]:10240;return Gc(t,e,A,nSA({json:je(t,A)},i)?Kf:rG)}function W_(t,e,A){var i=J0(t,e,A);return eB(i)&&i.expanded?e:tB(t,e,A)}function Kf(t){return t.length===0||t.length===1&&t[0]==="0"}function wL(t){return t.length===0}function rG(){return!0}function qy(){return!1}function yg(t){return t&&t.type===no.after||!1}function Ar(t){return t&&t.type===no.inside||!1}function gr(t){return t&&t.type===no.key||!1}function In(t){return t&&t.type===no.value||!1}function lo(t){return t&&t.type===no.multi||!1}function yv(t){return lo(t)&&Bi(t.focusPath,t.anchorPath)}function Vf(t){return lo(t)||yg(t)||Ar(t)||gr(t)||In(t)}function Z_(t){return t&&t.type===no.text||!1}function o1(t,e){var A=[];return(function(i,n,o){if(n){var a=jd(n),r=lt(n);if(Bi(a,r))return o(a);if(i!==void 0){var s=poA(a,r);if(a.length===s.length||r.length===s.length)return o(s);var g=ys(a,r),l=$C(i,g),C=i1(i,g),I=n2(i,g,l),d=n2(i,g,C);if(!(I===-1||d===-1)){var B=je(i,s);if(ia(B)){for(var E=Object.keys(B),Q=I;Q<=d;Q++){var f=o(s.concat(E[Q]));if(f!==void 0)return f}return}if(jo(B)){for(var b=I;b<=d;b++){var S=o(s.concat(String(b)));if(S!==void 0)return S}return}throw new Error("Failed to create selection")}}}})(t,e,i=>{A.push(i)}),A}function moA(t){return Ar(t)?t.path:Ki(lt(t))}function $C(t,e){if(!lo(e))return e.path;var A=n2(t,e,e.anchorPath);return n2(t,e,e.focusPath)A?e.focusPath:e.anchorPath}function wiA(t,e,A){var i=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(A){var n=i?lt(A):$C(t,A),o=(function(s,g,l){var C=aG(s,g),I=C.map(wt),d=wt(l),B=I.indexOf(d);if(B!==-1&&B>0)return C[B-1]})(t,e,n);if(i)return Ar(A)||yg(A)?o!==void 0?ys(n,n):void 0:o!==void 0?ys(jd(A),o):void 0;if(yg(A)||Ar(A))return Ui(n);if(gr(A)){if(o===void 0||o.length===0)return;var a=Ki(o),r=je(t,a);return Array.isArray(r)||Vi(o)?Ui(o):s2(o)}return In(A),o!==void 0?Ui(o):void 0}}function DiA(t,e,A,i){if(!A)return{caret:void 0,previous:void 0,next:void 0};var n=foA(t,e,i),o=n.findIndex(a=>Bi(a.path,lt(A))&&String(a.type)===String(A.type));return{caret:o!==-1?n[o]:void 0,previous:o!==-1&&o>0?n[o-1]:void 0,next:o!==-1&&oA[i].length;)i++;var n=A[i];return n===void 0||n.length===0||Array.isArray(je(t,Ki(n)))?Ui(n):s2(n)}function ph(t,e){if(e.length===1){var A=pl(e);if(A.op==="replace")return Ui(cg(t,A.path))}if(!Vi(e)&&e.every(a=>a.op==="move")){var i=pl(e),n=e.slice(1);if((gw(i)||Z2(i))&&i.from!==i.path&&n.every(a=>(gw(a)||Z2(a))&&a.from===a.path))return s2(cg(t,i.path))}var o=e.filter(a=>a.op!=="test"&&a.op!=="remove"&&(a.op!=="move"||a.from!==a.path)&&typeof a.path=="string").map(a=>cg(t,a.path));if(!Vi(o))return{type:no.multi,anchorPath:pl(o),focusPath:mi(o)}}function poA(t,e){for(var A=0;AA.length&&e.length>A.length;return{type:no.multi,anchorPath:i?A.concat(t[A.length]):A,focusPath:i?A.concat(e[A.length]):A}}function woA(t,e,A,i){if(gr(e))return String(mi(e.path));if(In(e)){var n=je(t,e.path);return typeof n=="string"?n:i.stringify(n,null,A)}if(lo(e)){if(Vi(e.focusPath))return i.stringify(t,null,A);var o=moA(e),a=je(t,o);if(Array.isArray(a)){if(yv(e)){var r=je(t,e.focusPath);return i.stringify(r,null,A)}return o1(t,e).map(s=>{var g=je(t,s);return"".concat(i.stringify(g,null,A),",")}).join(` +`)}return o1(t,e).map(s=>{var g=mi(s),l=je(t,s);return"".concat(i.stringify(g),": ").concat(i.stringify(l,null,A),",")}).join(` +`)}}function rr(t){return(gr(t)||In(t))&&t.edit===!0}function ih(t){return gr(t)||In(t)||lo(t)}function Ny(t){return gr(t)||In(t)||yv(t)}function DL(t){switch(t.type){case Kc.key:return s2(t.path);case Kc.value:return Ui(t.path);case Kc.after:return i2(t.path);case Kc.inside:return g2(t.path)}}function viA(t,e){switch(t){case no.key:return s2(e);case no.value:return Ui(e);case no.after:return i2(e);case no.inside:return g2(e);case no.multi:case no.text:return ys(e,e)}}function Fy(t,e,A){if(e)return Wf(t,e,A)||q0(lo(e)?Ki(e.focusPath):e.path,A)?e:void 0}function Wf(t,e,A){if(t===void 0||!e)return!1;if(gr(e)||Ar(e)||yg(e))return Bi(e.path,A);if(In(e))return q0(A,e.path);if(lo(e)){var i=$C(t,e),n=i1(t,e),o=Ki(e.focusPath);if(!q0(A,o)||A.length<=o.length)return!1;var a=n2(t,e,i),r=n2(t,e,n),s=n2(t,e,A);return s!==-1&&s>=a&&s<=r}return!1}function n2(t,e,A){var i=Ki(e.focusPath);if(!q0(A,i)||A.length<=i.length)return-1;var n=A[i.length],o=je(t,i);if(ia(o))return Object.keys(o).indexOf(n);if(jo(o)){var a=Fr(n);if(a');function yoA(t,e){St(e,!1);var A=lr("jsoneditor:EditableDiv"),i=N(e,"value",9),n=N(e,"initialValue",9),o=N(e,"shortText",9,!1),a=N(e,"label",9),r=N(e,"onChange",9),s=N(e,"onCancel",9),g=N(e,"onFind",9),l=N(e,"onPaste",9,pa),C=N(e,"onValueClass",9,()=>""),I=IA(void 0,!0),d=IA(void 0,!0),B=!1;function E(){return c(I)?(function(b){return b.replace(/\n$/,"")})(c(I).innerText):""}function Q(b){c(I)&&Xg(I,c(I).innerText=fh(b))}is(()=>{A("onMount",{value:i(),initialValue:n()}),Q(n()!==void 0?n():i()),c(I)&&(function(b){if(b.firstChild!=null){var S=document.createRange(),M=window.getSelection();S.setStart(b,1),S.collapse(!0),M?.removeAllRanges(),M?.addRange(S)}else b.focus()})(c(I))}),Yl(()=>{var b=E();A("onDestroy",{closed:B,value:i(),newValue:b}),B||b===i()||r()(b,t1.no)}),RA(()=>(G(C()),G(i())),()=>{R(d,C()(i()))}),kn(),Ai(!0);var f=YSA();Ko(f,b=>R(I,b),()=>c(I)),ve(b=>{Mn(f,"aria-label",a()),$t(f,1,b,"svelte-1r0oryi")},[()=>n1((G(Oc),c(d),G(o()),EA(()=>Oc("jse-editable-div",c(d),{"jse-short-text":o()}))))]),ue("input",f,function(){var b=E();b===""&&Q(""),R(d,C()(b))}),ue("keydown",f,function(b){b.stopPropagation();var S=r2(b);if(S==="Escape"&&(b.preventDefault(),B=!0,s()()),S==="Enter"||S==="Tab"){b.preventDefault(),B=!0;var M=E();r()(M,t1.nextInside)}S==="Ctrl+F"&&(b.preventDefault(),g()(!1)),S==="Ctrl+H"&&(b.preventDefault(),g()(!0))}),ue("paste",f,function(b){if(b.stopPropagation(),l()&&b.clipboardData){var S=b.clipboardData.getData("text/plain");l()(S)}}),ue("blur",f,function(){var b=document.hasFocus(),S=E();A("handleBlur",{hasFocus:b,closed:B,value:i(),newValue:S}),document.hasFocus()&&!B&&(B=!0,S!==i()&&r()(S,t1.self))}),cA(t,f),xt()}function TSA(t,e){St(e,!1);var A=N(e,"path",9),i=N(e,"value",9),n=N(e,"selection",9),o=N(e,"mode",9),a=N(e,"parser",9),r=N(e,"normalization",9),s=N(e,"enforceString",9),g=N(e,"onPatch",9),l=N(e,"onPasteJson",9),C=N(e,"onSelect",9),I=N(e,"onFind",9),d=N(e,"focus",9),B=N(e,"findNextInside",9);function E(S){return s()?S:Rh(S,a())}function Q(){C()(Ui(A())),d()()}Ai(!0);var f=tt(()=>(G(r()),G(i()),EA(()=>r().escapeValue(i())))),b=tt(()=>(G(rr),G(n()),EA(()=>rr(n())?n().initialValue:void 0)));yoA(t,{get value(){return c(f)},get initialValue(){return c(b)},label:"Edit value",onChange:function(S,M){g()([{op:"replace",path:wt(A()),value:E(r().unescapeValue(S))}],(D,F,_)=>{if(!_||Bi(A(),lt(_)))return{state:F,selection:M===t1.nextInside?B()(A()):Ui(A())}}),d()()},onCancel:Q,onPaste:function(S){try{var M=a().parse(S);aa(M)&&l()({path:A(),contents:M,onPasteAsJson:()=>{Q();var D=[{op:"replace",path:wt(A()),value:M}];g()(D,(F,_)=>({state:tB(F,_,A())}))}})}catch{}},get onFind(){return I()},onValueClass:function(S){return DoA(E(r().unescapeValue(S)),o(),a())}}),xt()}function nh(t,e,A){var i=Ki(e),n=je(t,i);if(jo(n)){var o=Fr(mi(e));return A.map((g,l)=>({op:"add",path:wt(i.concat(String(o+l))),value:g.value}))}if(ia(n)){var a=mi(e),r=Object.keys(n),s=a!==void 0?cm(r,a,!0):[];return[...A.map(g=>{var l=lm(g.key,r);return{op:"add",path:wt(i.concat(l)),value:g.value}}),...s.map(g=>a1(i,g))]}throw new Error("Cannot create insert operations: parent must be an Object or Array")}function yL(t,e,A){var i=je(t,e);if(Array.isArray(i)){var n=i.length;return A.map((o,a)=>({op:"add",path:wt(e.concat(String(n+a))),value:o.value}))}return A.map(o=>{var a=lm(o.key,Object.keys(i));return{op:"add",path:wt(e.concat(a)),value:o.value}})}function Cm(t,e,A,i){var n=e.filter(r=>r!==A),o=lm(i,n),a=cm(e,A,!1);return[{op:"move",from:wt(t.concat(A)),path:wt(t.concat(o))},...a.map(r=>a1(t,r))]}function voA(t,e){var A=mi(e);if(Vi(A))throw new Error("Cannot duplicate root object");var i=Ki(A),n=mi(A),o=je(t,i);if(jo(o)){var a=mi(e),r=a?Fr(mi(a))+1:0;return[...e.map((l,C)=>({op:"copy",from:wt(l),path:wt(i.concat(String(C+r)))}))]}if(ia(o)){var s=Object.keys(o),g=n!==void 0?cm(s,n,!1):[];return[...e.map(l=>{var C=lm(mi(l),s);return{op:"copy",from:wt(l),path:wt(i.concat(C))}}),...g.map(l=>a1(i,l))]}throw new Error("Cannot create duplicate operations: parent must be an Object or Array")}function boA(t,e){if(In(e))return[{op:"move",from:wt(e.path),path:""}];if(!lo(e))throw new Error("Cannot create extract operations: parent must be an Object or Array");var A=Ki(e.focusPath),i=je(t,A);if(jo(i)){var n=o1(t,e).map(a=>{var r=Fr(mi(a));return i[r]});return[{op:"replace",path:"",value:n}]}if(ia(i)){var o={};return o1(t,e).forEach(a=>{var r=String(mi(a));o[r]=i[r]}),[{op:"replace",path:"",value:o}]}throw new Error("Cannot extract: unsupported type of selection "+JSON.stringify(e))}function MoA(t,e,A,i){if(gr(e)){var n=ioA(A,i),o=Ki(e.path),a=je(t,o);return Cm(o,Object.keys(a),mi(e.path),typeof n=="string"?n:A)}if(In(e)||lo(e)&&Vi(e.focusPath))try{return[{op:"replace",path:wt(lt(e)),value:sm(A,F=>rm(F,i))}]}catch{return[{op:"replace",path:wt(lt(e)),value:A}]}if(lo(e)){var r=X_(A,i);return(function(F,_,U){var J=pl(_),j=Ki(J),$=je(F,j);if(jo($)){var O=pl(_),DA=O?Fr(mi(O)):0;return[...sv(_),...U.map((YA,ee)=>({op:"add",path:wt(j.concat(String(ee+DA))),value:YA.value}))]}if(ia($)){var P=mi(_),aA=Ki(P),iA=mi(P),BA=Object.keys($),oA=iA!==void 0?cm(BA,iA,!1):[],sA=new Set(_.map(YA=>mi(YA))),hA=BA.filter(YA=>!sA.has(YA));return[...sv(_),...U.map(YA=>{var ee=lm(YA.key,hA);return{op:"add",path:wt(aA.concat(ee)),value:YA.value}}),...oA.map(YA=>a1(aA,YA))]}throw new Error("Cannot create replace operations: parent must be an Object or Array")})(t,o1(t,e),r)}if(yg(e)){var s=X_(A,i),g=e.path,l=Ki(g),C=je(t,l);if(jo(C)){var I=Fr(mi(g));return nh(t,l.concat(String(I+1)),s)}if(ia(C)){var d=String(mi(g)),B=Object.keys(C);if(Vi(B)||mi(B)===d)return yL(t,l,s);var E=B.indexOf(d),Q=B[E+1];return nh(t,l.concat(Q),s)}throw new Error("Cannot create insert operations: parent must be an Object or Array")}if(Ar(e)){var f=X_(A,i),b=e.path,S=je(t,b);if(jo(S))return nh(t,b.concat("0"),f);if(ia(S)){var M=Object.keys(S);if(Vi(M))return yL(t,b,f);var D=pl(M);return nh(t,b.concat(D),f)}throw new Error("Cannot create insert operations: parent must be an Object or Array")}throw new Error("Cannot insert: unsupported type of selection "+JSON.stringify(e))}function sv(t){return t.map(e=>({op:"remove",path:wt(e)})).reverse()}function a1(t,e){return{op:"move",from:wt(t.concat(e)),path:wt(t.concat(e))}}function X_(t,e){var A=/^\s*{/.test(t),i=/^\s*\[/.test(t),n=ioA(t,e),o=n!==void 0?n:sm(t,a=>rm(a,e));return A&&pn(o)||i&&Array.isArray(o)?[{key:"New item",value:o}]:Array.isArray(o)?o.map((a,r)=>({key:"New item "+r,value:a})):pn(o)?Object.keys(o).map(a=>({key:a,value:o[a]})):[{key:"New item",value:o}]}function koA(t,e){if(gr(e)){var A=Ki(e.path),i=je(t,A),n=Cm(A,Object.keys(i),mi(e.path),"");return{operations:n,newSelection:ph(t,n)}}if(In(e))return{operations:[{op:"replace",path:wt(e.path),value:""}],newSelection:e};if(lo(e)){var o=o1(t,e),a=sv(o),r=mi(o);if(Vi(r))return{operations:[{op:"replace",path:"",value:""}],newSelection:Ui([])};var s=Ki(r),g=je(t,s);if(jo(g)){var l=pl(o),C=Fr(mi(l));return{operations:a,newSelection:C===0?g2(s):i2(s.concat(String(C-1)))}}if(ia(g)){var I=Object.keys(g),d=pl(o),B=mi(d),E=I.indexOf(B),Q=I[E-1];return{operations:a,newSelection:E===0?g2(s):i2(s.concat(Q))}}throw new Error("Cannot create remove operations: parent must be an Object or Array")}throw new Error("Cannot remove: unsupported type of selection "+JSON.stringify(e))}function SoA(t,e){var A=(function(i,n){if(Vi(n)||!n.every(Z2))return n;var o=[];for(var a of n){var r=biA(hs(a.from)),s=biA(hs(a.path));if(!r||!s)return n;o.push({from:r,path:s,operation:a})}var g=o[0].path.parent,l=je(i,g);if(!ia(l)||!o.every(B=>(function(E,Q){return Bi(E.from.parent,Q)&&Bi(E.path.parent,Q)})(B,g)))return n;var C=(function(B,E){var Q=Object.keys(E),f=Q.slice();for(var b of B){var S=f.indexOf(b.from.key);S!==-1&&(f.splice(S,1),f.push(b.path.key))}for(var M=0;MB.operation,d=o.filter(B=>B.operation.from!==B.operation.path);return d.some(B=>B.path.key===C)?d.map(I):[a1(g,C),...d.map(I)]})(t,e);return lw(t,A,{before:(i,n,o)=>{if(qk(n)){var a=hs(n.path);return{revertOperations:[...o,...$_(i,a)]}}if(Z2(n)){var r=hs(n.from);return{revertOperations:n.from===n.path?[n,...$_(i,r)]:[...o,...$_(i,r)]}}return{document:i}}})}function biA(t){return t.length>0?{parent:Ki(t),key:mi(t)}:void 0}function $_(t,e){var A=Ki(e),i=mi(e),n=je(t,A);return ia(n)?cm(Object.keys(n),i,!1).map(o=>a1(A,o)):[]}function MiA(t){var e=t.activeIndex0?0:-1,A=t.items[e],i=t.items.map((n,o)=>ye(ye({},n),{},{active:o===e}));return ye(ye({},t),{},{items:i,activeItem:A,activeIndex:e})}function kiA(t,e){var A,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=t.toLowerCase(),o=(A=i?.maxResults)!==null&&A!==void 0?A:1/0,a=i?.columns,r=[],s=[];function g(Q){r.length>=o||r.push(Q)}function l(Q,f){if(jo(f)){var b=s.length;s.push("0");for(var S=0;S=o)return;s.pop()}else if(ia(f)){var M=Object.keys(f),D=s.length;for(var F of(s.push(""),M))if(s[D]=F,SiA(F,Q,s,Jc.key,g),l(Q,f[F]),r.length>=o)return;s.pop()}else SiA(String(f),Q,s,Jc.value,g)}if(t==="")return[];if(a){if(!Array.isArray(e))throw new Error("json must be an Array when option columns is defined");for(var C=0;CB.length+1;)s.pop();l(n,je(I,B))}if(r.length>=o)break}return r}return l(n,e),r}function SiA(t,e,A,i,n){var o=t.toLowerCase(),a=0,r=-1,s=-1;do(s=o.indexOf(e,r))!==-1&&(r=s+e.length,n({path:A.slice(0),field:i,fieldIndex:a,start:s,end:r}),a++);while(s!==-1)}function vL(t,e,A,i){return t.substring(0,A)+e+t.substring(i)}function xiA(t,e,A){var i=t;return ES(A,n=>{i=vL(i,e,n.start,n.end)}),i}function HSA(t,e,A,i,n){var{field:o,path:a,start:r,end:s}=i;if(o===Jc.key){var g=Ki(a),l=je(t,g),C=mi(a),I=Cm(g,Object.keys(l),C,vL(C,A,r,s));return{newSelection:ph(t,I),operations:I}}if(o===Jc.value){var d=je(t,a);if(d===void 0)throw new Error("Cannot replace: path not found ".concat(wt(a)));var B=typeof d=="string"?d:String(d),E=z0(t,e,a),Q=vL(B,A,r,s),f=[{op:"replace",path:wt(a),value:E?Q:Rh(Q,n)}];return{newSelection:ph(t,f),operations:f}}throw new Error("Cannot replace: unknown type of search result field ".concat(o))}function RiA(t){return t.path.concat(t.field,String(t.fieldIndex))}function NiA(t){var e=EoA(t)?t.searchResults.filter(A=>A.field===Jc.key):void 0;return e&&e.length>0?e:void 0}function FiA(t){var e=EoA(t)?t.searchResults.filter(A=>A.field===Jc.value):void 0;return e&&e.length>0?e:void 0}var zSA={createObjectDocumentState:()=>({type:"object",properties:{}}),createArrayDocumentState:()=>({type:"array",items:[]}),createValueDocumentState:()=>({type:"value"})};function xoA(t,e){return e.reduce((A,i)=>(function(n,o,a,r){return oG(n,o,a,r,zSA)})(t,A,i.path,(n,o)=>ye(ye({},o),{},{searchResults:o.searchResults?o.searchResults.concat(i):[i]})),void 0)}function gv(t){var e,A=(e=t?.searchResults)!==null&&e!==void 0?e:[],i=wg(t)?Object.values(t.properties).flatMap(gv):sr(t)?t.items.flatMap(gv):[];return A.concat(i)}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-highlight.svelte-19qyvy6 { + background-color: var(--jse-search-match-color, #ffe665); + outline: var(--jse-search-match-outline, none); +} +.jse-highlight.jse-active.svelte-19qyvy6 { + background-color: var(--jse-search-match-active-color, var(--jse-search-match-color, #ffe665)); + outline: var(--jse-search-match-outline, 2px solid #e0be00); +}`);var OSA=FA(" ");function RoA(t,e){St(e,!1);var A=IA(),i=N(e,"text",8),n=N(e,"searchResultItems",8);RA(()=>(G(i()),G(n())),()=>{R(A,(function(a,r){var s=[],g=0;for(var l of r){var C=a.slice(g,l.start);C!==""&&s.push({resultIndex:void 0,type:"normal",text:C,active:!1});var I=a.slice(l.start,l.end);s.push({resultIndex:l.resultIndex,type:"highlight",text:I,active:l.active}),g=l.end}var d=mi(r);return d&&d.endc(A),Ra,(a,r)=>{var s=vi(),g=At(s),l=I=>{var d=hr();ve(()=>Rt(d,(c(r),EA(()=>c(r).text)))),cA(I,d)},C=I=>{var d,B=OSA(),E=CA(B);ve((Q,f)=>{d=$t(B,1,"jse-highlight svelte-19qyvy6",null,d,{"jse-active":c(r).active}),Mn(B,"data-search-result-index",Q),Rt(E,f)},[()=>(c(r),EA(()=>String(c(r).resultIndex))),()=>(G(fh),c(r),EA(()=>fh(c(r).text)))]),cA(I,B)};TA(g,I=>{c(r),EA(()=>c(r).type==="normal")?I(l):I(C,!1)}),cA(a,s)}),cA(t,o),xt()}function Vy(t){var e=1e3;if(t<900)return t.toFixed()+" B";var A=t/e;if(A<900)return A.toFixed(1)+" KB";var i=A/e;if(i<900)return i.toFixed(1)+" MB";var n=i/e;return n<900?n.toFixed(1)+" GB":(n/e).toFixed(1)+" TB"}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-tag.svelte-ubve9r { + border: none; + font-size: 80%; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + color: var(--jse-tag-color, var(--jse-text-color-inverse, #fff)); + background: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); + border-radius: 2px; + cursor: pointer; + display: inline-block; + padding: 0 4px; + line-height: normal; + margin: 1px 0; +} +.jse-tag.svelte-ubve9r:hover { + opacity: 0.8; +} +.jse-tag.disabled.svelte-ubve9r { + opacity: 0.7; + cursor: inherit; +}`);var PSA=FA('');function Wy(t,e){St(e,!0);var A,i=Dg(()=>e.onclick?o=>{o.preventDefault(),o.stopPropagation(),e.onclick()}:void 0),n=PSA();n.__click=function(){for(var o,a=arguments.length,r=new Array(a),s=0;s2?r-2:0),g=2;g{var C,I=(C=a())!==null&&C!==void 0?C:null;l.ensure(I,I&&(d=>I(d,...s)))},Vd)})(CA(n),()=>{var o;return(o=e.children)!==null&&o!==void 0?o:ukA}),ve(()=>A=$t(n,1,"jse-tag svelte-ubve9r",null,A,{disabled:!e.onclick})),cA(t,n),xt()}am(["click"]);qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-value.jse-string.svelte-1saqp8c { + color: var(--jse-value-color-string, #008000); +} +.jse-value.jse-object.svelte-1saqp8c, .jse-value.jse-array.svelte-1saqp8c { + min-width: 16px; + color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); +} +.jse-value.jse-number.svelte-1saqp8c { + color: var(--jse-value-color-number, #ee422e); +} +.jse-value.jse-boolean.svelte-1saqp8c { + color: var(--jse-value-color-boolean, #ff8c00); +} +.jse-value.jse-null.svelte-1saqp8c { + color: var(--jse-value-color-null, #004ed0); +} +.jse-value.jse-invalid.svelte-1saqp8c { + color: var(--jse-text-color, #4d4d4d); +} +.jse-value.jse-url.svelte-1saqp8c { + color: var(--jse-value-color-url, #008000); + text-decoration: underline; +} + +.jse-value.svelte-1saqp8c { + display: inline-block; + min-width: 2em; + padding: 0 5px; + box-sizing: border-box; + outline: none; + border-radius: 1px; + vertical-align: top; + word-break: normal; + overflow-wrap: anywhere; + white-space: pre-wrap; +} +.jse-value.jse-table-cell.svelte-1saqp8c { + overflow-wrap: normal; + white-space: nowrap; +} +.jse-value.jse-empty.svelte-1saqp8c { + min-width: 4em; + outline: 1px dotted var(--jse-tag-background, rgba(0, 0, 0, 0.2)); + -moz-outline-radius: 2px; +} +.jse-value.jse-empty.svelte-1saqp8c::after { + pointer-events: none; + color: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); + content: "value"; +}`);var jSA=FA('
    ');function qSA(t,e){St(e,!0);var A=OC(!0),i=Dg(()=>c(A)&&typeof e.value=="string"&&e.value.length>e.truncateTextSize&&(!e.searchResultItems||!e.searchResultItems.some(d=>d.active&&d.end>e.truncateTextSize))),n=Dg(()=>c(i)&&typeof e.value=="string"?e.value.substring(0,e.truncateTextSize).trim():e.value),o=Dg(()=>wv(e.value));function a(){R(A,!1)}var r=jSA();r.__click=function(d){typeof e.value=="string"&&c(o)&&XL(d)&&(d.preventDefault(),d.stopPropagation(),window.open(e.value,"_blank"))},r.__dblclick=function(d){e.readOnly||(d.preventDefault(),e.onSelect(rv(e.path)))};var s=CA(r),g=d=>{var B=Dg(()=>e.normalization.escapeValue(c(n)));RoA(d,{get text(){return c(B)},get searchResultItems(){return e.searchResultItems}})},l=d=>{var B=hr();ve(E=>Rt(B,E),[()=>fh(e.normalization.escapeValue(c(n)))]),cA(d,B)};TA(s,d=>{e.searchResultItems?d(g):d(l,!1)});var C=bA(s,2),I=d=>{Wy(d,{onclick:a,children:(B,E)=>{var Q=hr();ve(f=>Rt(Q,"Show more (".concat(f??"",")")),[()=>Vy(e.value.length)]),cA(B,Q)},$$slots:{default:!0}})};TA(C,d=>{c(i)&&typeof e.value=="string"&&d(I)}),ve(d=>{$t(r,1,d,"svelte-1saqp8c"),Mn(r,"title",c(o)?"Ctrl+Click or Ctrl+Enter to open url in new window":void 0)},[()=>n1(DoA(e.value,e.mode,e.parser))]),cA(t,r),xt()}am(["click","dblclick"]);qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-tooltip.svelte-brt1mq { + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + line-height: normal; + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); + border-radius: 3px; + background: var(--jse-context-menu-background, #656565); + color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); + white-space: nowrap; + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); +}`);var VSA=FA('
    ');function WSA(t,e){var A=N(e,"text",8),i=VSA(),n=CA(i);ve(()=>Rt(n,A())),cA(t,i)}function wh(t,e){var A,{text:i,openAbsolutePopup:n,closeAbsolutePopup:o}=e;function a(){A=n(WSA,{text:i},{position:"top",width:10*i.length,offsetTop:3,anchor:t,closeOnOuterClick:!0})}function r(){o(A)}return t.addEventListener("mouseenter",a),t.addEventListener("mouseleave",r),{destroy(){t.removeEventListener("mouseenter",a),t.removeEventListener("mouseleave",r)}}}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-timestamp.svelte-1jcpman { + padding: 0; + margin: 0; + vertical-align: middle; + display: inline-flex; + color: var(--jse-value-color-number, #ee422e); +}`);var ZSA=FA('
    ');function XSA(t,e){St(e,!1);var A=IA(void 0,!0),i=r1("absolute-popup"),n=N(e,"value",9);RA(()=>G(n()),()=>{R(A,"Time: ".concat(new Date(n()).toString()))}),kn(),Ai(!0);var o=ZSA();Wi(CA(o),{get data(){return Pq}}),bs(o,(a,r)=>wh?.(a,r),()=>ye({text:c(A)},i)),cA(t,o),xt()}function $SA(t){var e=[];return!t.isEditing&&XkA(t.value)&&e.push({component:kSA,props:t}),!t.isEditing&&$kA(t.value)&&e.push({component:NSA,props:t}),t.isEditing&&e.push({component:TSA,props:t}),t.isEditing||e.push({component:qSA,props:t}),!t.isEditing&&EL(t.value)&&e.push({component:XSA,props:t}),e}function vg(t){return t.map((e,A)=>exA.test(e)?"["+e+"]":/[.[\]]/.test(e)||e===""?'["'+(function(i){return i.replace(/"/g,'\\"')})(e)+'"]':(A>0?".":"")+e).join("")}function AxA(t){for(var e=[],A=0;Ao==='"',!0)),n('"')):e.push(i(o=>o==="]")),n("]")):e.push(i(o=>o==="."||o==="["));function i(o){for(var a=arguments.length>1&&arguments[1]!==void 0&&arguments[1],r="";A({x:t,y:t}),nxA={left:"right",right:"left",bottom:"top",top:"bottom"},oxA={start:"end",end:"start"};function _iA(t,e,A){return qd(t,lv(e,A))}function vv(t,e){return typeof t=="function"?t(e):t}function iB(t){return t.split("-")[0]}function bv(t){return t.split("-")[1]}function NoA(t){return t==="x"?"y":"x"}function FoA(t){return t==="y"?"height":"width"}var axA=new Set(["top","bottom"]);function WI(t){return axA.has(iB(t))?"y":"x"}function _oA(t){return NoA(WI(t))}function bL(t){return t.replace(/start|end/g,e=>oxA[e])}var LiA=["left","right"],GiA=["right","left"],rxA=["top","bottom"],sxA=["bottom","top"];function gxA(t,e,A,i){var n=bv(t),o=(function(a,r,s){switch(a){case"top":case"bottom":return s?r?GiA:LiA:r?LiA:GiA;case"left":case"right":return r?rxA:sxA;default:return[]}})(iB(t),A==="start",i);return n&&(o=o.map(a=>a+"-"+n),e&&(o=o.concat(o.map(bL)))),o}function Ly(t){return t.replace(/left|right|bottom|top/g,e=>nxA[e])}function lxA(t){return typeof t!="number"?(function(e){return ye({top:0,right:0,bottom:0,left:0},e)})(t):{top:t,right:t,bottom:t,left:t}}function Cv(t){var{x:e,y:A,width:i,height:n}=t;return{width:i,height:n,top:A,left:e,right:e+i,bottom:A+n,x:e,y:A}}function KiA(t,e,A){var i,{reference:n,floating:o}=t,a=WI(e),r=_oA(e),s=FoA(r),g=iB(e),l=a==="y",C=n.x+n.width/2-o.width/2,I=n.y+n.height/2-o.height/2,d=n[s]/2-o[s]/2;switch(g){case"top":i={x:C,y:n.y-o.height};break;case"bottom":i={x:C,y:n.y+n.height};break;case"right":i={x:n.x+n.width,y:I};break;case"left":i={x:n.x-o.width,y:I};break;default:i={x:n.x,y:n.y}}switch(bv(e)){case"start":i[r]-=d*(A&&l?-1:1);break;case"end":i[r]+=d*(A&&l?-1:1)}return i}var cxA=(function(){var t=Yt(function*(e,A,i){for(var{placement:n="bottom",strategy:o="absolute",middleware:a=[],platform:r}=i,s=a.filter(Boolean),g=yield r.isRTL==null?void 0:r.isRTL(A),l=yield r.getElementRects({reference:e,floating:A,strategy:o}),{x:C,y:I}=KiA(l,n,g),d=n,B={},E=0,Q=0;Q"u")&&(t instanceof ShadowRoot||t instanceof Al(t).ShadowRoot)}var IxA=new Set(["inline","contents"]);function Zf(t){var{overflow:e,overflowX:A,overflowY:i,display:n}=Tc(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+A)&&!IxA.has(n)}var dxA=new Set(["table","td","th"]);function BxA(t){return dxA.has(Dh(t))}var ExA=[":popover-open",":modal"];function Iv(t){return ExA.some(e=>{try{return t.matches(e)}catch{return!1}})}var QxA=["transform","translate","scale","rotate","perspective"],hxA=["transform","translate","scale","rotate","perspective","filter"],uxA=["paint","layout","strict","content"];function SL(t){var e=gG(),A=Yc(t)?Tc(t):t;return QxA.some(i=>!!A[i]&&A[i]!=="none")||!!A.containerType&&A.containerType!=="normal"||!e&&!!A.backdropFilter&&A.backdropFilter!=="none"||!e&&!!A.filter&&A.filter!=="none"||hxA.some(i=>(A.willChange||"").includes(i))||uxA.some(i=>(A.contain||"").includes(i))}function gG(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}var fxA=new Set(["html","body","#document"]);function lh(t){return fxA.has(Dh(t))}function Tc(t){return Al(t).getComputedStyle(t)}function kv(t){return Yc(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ZI(t){if(Dh(t)==="html")return t;var e=t.assignedSlot||t.parentNode||UiA(t)&&t.host||W0(t);return UiA(e)?e.host:e}function KoA(t){var e=ZI(t);return lh(e)?t.ownerDocument?t.ownerDocument.body:t.body:Z0(e)&&Zf(e)?e:KoA(e)}function Xf(t,e,A){var i;e===void 0&&(e=[]),A===void 0&&(A=!0);var n=KoA(t),o=n===((i=t.ownerDocument)==null?void 0:i.body),a=Al(n);if(o){var r=xL(a);return e.concat(a,a.visualViewport||[],Zf(n)?n:[],r&&A?Xf(r):[])}return e.concat(n,Xf(n,[],A))}function xL(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function UoA(t){var e=Tc(t),A=parseFloat(e.width)||0,i=parseFloat(e.height)||0,n=Z0(t),o=n?t.offsetWidth:A,a=n?t.offsetHeight:i,r=cv(A)!==o||cv(i)!==a;return r&&(A=o,i=a),{width:A,height:i,$:r}}function lG(t){return Yc(t)?t:t.contextElement}function ch(t){var e=lG(t);if(!Z0(e))return V0(1);var A=e.getBoundingClientRect(),{width:i,height:n,$:o}=UoA(e),a=(o?cv(A.width):A.width)/i,r=(o?cv(A.height):A.height)/n;return a&&Number.isFinite(a)||(a=1),r&&Number.isFinite(r)||(r=1),{x:a,y:r}}var mxA=V0(0);function JoA(t){var e=Al(t);return gG()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:mxA}function nB(t,e,A,i){e===void 0&&(e=!1),A===void 0&&(A=!1);var n=t.getBoundingClientRect(),o=lG(t),a=V0(1);e&&(i?Yc(i)&&(a=ch(i)):a=ch(t));var r=(function(D,F,_){return F===void 0&&(F=!1),!(!_||F&&_!==Al(D))&&F})(o,A,i)?JoA(o):V0(0),s=(n.left+r.x)/a.x,g=(n.top+r.y)/a.y,l=n.width/a.x,C=n.height/a.y;if(o)for(var I=Al(o),d=i&&Yc(i)?Al(i):i,B=I,E=xL(B);E&&i&&d!==B;){var Q=ch(E),f=E.getBoundingClientRect(),b=Tc(E),S=f.left+(E.clientLeft+parseFloat(b.paddingLeft))*Q.x,M=f.top+(E.clientTop+parseFloat(b.paddingTop))*Q.y;s*=Q.x,g*=Q.y,l*=Q.x,C*=Q.y,s+=S,g+=M,E=xL(B=Al(E))}return Cv({width:l,height:C,x:s,y:g})}function dv(t,e){var A=kv(t).scrollLeft;return e?e.left+A:nB(W0(t)).left+A}function YoA(t,e){var A=t.getBoundingClientRect();return{x:A.left+e.scrollLeft-dv(t,A),y:A.top+e.scrollTop}}var pxA=new Set(["absolute","fixed"]);function JiA(t,e,A){var i;if(e==="viewport")i=(function(o,a){var r=Al(o),s=W0(o),g=r.visualViewport,l=s.clientWidth,C=s.clientHeight,I=0,d=0;if(g){l=g.width,C=g.height;var B=gG();(!B||B&&a==="fixed")&&(I=g.offsetLeft,d=g.offsetTop)}var E=dv(s);if(E<=0){var Q=s.ownerDocument,f=Q.body,b=getComputedStyle(f),S=Q.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,M=Math.abs(s.clientWidth-f.clientWidth-S);M<=25&&(l-=M)}else E<=25&&(l+=E);return{width:l,height:C,x:I,y:d}})(t,A);else if(e==="document")i=(function(o){var a=W0(o),r=kv(o),s=o.ownerDocument.body,g=qd(a.scrollWidth,a.clientWidth,s.scrollWidth,s.clientWidth),l=qd(a.scrollHeight,a.clientHeight,s.scrollHeight,s.clientHeight),C=-r.scrollLeft+dv(o),I=-r.scrollTop;return Tc(s).direction==="rtl"&&(C+=qd(a.clientWidth,s.clientWidth)-g),{width:g,height:l,x:C,y:I}})(W0(t));else if(Yc(e))i=(function(o,a){var r=nB(o,!0,a==="fixed"),s=r.top+o.clientTop,g=r.left+o.clientLeft,l=Z0(o)?ch(o):V0(1);return{width:o.clientWidth*l.x,height:o.clientHeight*l.y,x:g*l.x,y:s*l.y}})(e,A);else{var n=JoA(t);i={x:e.x-n.x,y:e.y-n.y,width:e.width,height:e.height}}return Cv(i)}function ToA(t,e){var A=ZI(t);return!(A===e||!Yc(A)||lh(A))&&(Tc(A).position==="fixed"||ToA(A,e))}function wxA(t,e,A){var i=Z0(e),n=W0(e),o=A==="fixed",a=nB(t,!0,o,e),r={scrollLeft:0,scrollTop:0},s=V0(0);function g(){s.x=dv(n)}if(i||!i&&!o)if((Dh(e)!=="body"||Zf(n))&&(r=kv(e)),i){var l=nB(e,!0,o,e);s.x=l.x+e.clientLeft,s.y=l.y+e.clientTop}else n&&g();o&&!i&&n&&g();var C=!n||i||o?V0(0):YoA(n,r);return{x:a.left+r.scrollLeft-s.x-C.x,y:a.top+r.scrollTop-s.y-C.y,width:a.width,height:a.height}}function AL(t){return Tc(t).position==="static"}function YiA(t,e){if(!Z0(t)||Tc(t).position==="fixed")return null;if(e)return e(t);var A=t.offsetParent;return W0(t)===A&&(A=A.ownerDocument.body),A}function TiA(t,e){var A=Al(t);if(Iv(t))return A;if(!Z0(t)){for(var i=ZI(t);i&&!lh(i);){if(Yc(i)&&!AL(i))return i;i=ZI(i)}return A}for(var n=YiA(t,e);n&&BxA(n)&&AL(n);)n=YiA(n,e);return n&&lh(n)&&AL(n)&&!SL(n)?A:n||(function(o){for(var a=ZI(o);Z0(a)&&!lh(a);){if(SL(a))return a;if(Iv(a))return null;a=ZI(a)}return null})(t)||A}var DxA={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){var{elements:e,rect:A,offsetParent:i,strategy:n}=t,o=n==="fixed",a=W0(i),r=!!e&&Iv(e.floating);if(i===a||r&&o)return A;var s={scrollLeft:0,scrollTop:0},g=V0(1),l=V0(0),C=Z0(i);if((C||!C&&!o)&&((Dh(i)!=="body"||Zf(a))&&(s=kv(i)),Z0(i))){var I=nB(i);g=ch(i),l.x=I.x+i.clientLeft,l.y=I.y+i.clientTop}var d=!a||C||o?V0(0):YoA(a,s);return{width:A.width*g.x,height:A.height*g.y,x:A.x*g.x-s.scrollLeft*g.x+l.x+d.x,y:A.y*g.y-s.scrollTop*g.y+l.y+d.y}},getDocumentElement:W0,getClippingRect:function(t){var{element:e,boundary:A,rootBoundary:i,strategy:n}=t,o=A==="clippingAncestors"?Iv(e)?[]:(function(g,l){var C=l.get(g);if(C)return C;for(var I=Xf(g,[],!1).filter(b=>Yc(b)&&Dh(b)!=="body"),d=null,B=Tc(g).position==="fixed",E=B?ZI(g):g;Yc(E)&&!lh(E);){var Q=Tc(E),f=SL(E);f||Q.position!=="fixed"||(d=null),(B?!f&&!d:!f&&Q.position==="static"&&d&&pxA.has(d.position)||Zf(E)&&!f&&ToA(g,E))?I=I.filter(b=>b!==E):d=Q,E=ZI(E)}return l.set(g,I),I})(e,this._c):[].concat(A),a=[...o,i],r=a[0],s=a.reduce((g,l)=>{var C=JiA(e,l,n);return g.top=qd(C.top,g.top),g.right=lv(C.right,g.right),g.bottom=lv(C.bottom,g.bottom),g.left=qd(C.left,g.left),g},JiA(e,r,n));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:TiA,getElementRects:(function(){var t=Yt(function*(e){var A=this.getOffsetParent||TiA,i=this.getDimensions,n=yield i(e.floating);return{reference:wxA(e.reference,yield A(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}});return function(e){return t.apply(this,arguments)}})(),getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){var{width:e,height:A}=UoA(t);return{width:e,height:A}},getScale:ch,isElement:Yc,isRTL:function(t){return Tc(t).direction==="rtl"}};function HiA(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function yxA(t,e,A,i){i===void 0&&(i={});var{ancestorScroll:n=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:s=!1}=i,g=lG(t),l=n||o?[...g?Xf(g):[],...Xf(e)]:[];l.forEach(Q=>{n&&Q.addEventListener("scroll",A,{passive:!0}),o&&Q.addEventListener("resize",A)});var C,I=g&&r?(function(Q,f){var b,S=null,M=W0(Q);function D(){var F;clearTimeout(b),(F=S)==null||F.disconnect(),S=null}return(function F(_,U){_===void 0&&(_=!1),U===void 0&&(U=1),D();var J=Q.getBoundingClientRect(),{left:j,top:$,width:O,height:DA}=J;if(_||f(),O&&DA){var P={rootMargin:-_y($)+"px "+-_y(M.clientWidth-(j+O))+"px "+-_y(M.clientHeight-($+DA))+"px "+-_y(j)+"px",threshold:qd(0,lv(1,U))||1},aA=!0;try{S=new IntersectionObserver(iA,ye(ye({},P),{},{root:M.ownerDocument}))}catch{S=new IntersectionObserver(iA,P)}S.observe(Q)}function iA(BA){var oA=BA[0].intersectionRatio;if(oA!==U){if(!aA)return F();oA?F(!1,oA):b=setTimeout(()=>{F(!1,1e-7)},1e3)}oA!==1||HiA(J,Q.getBoundingClientRect())||F(),aA=!1}})(!0),D})(g,A):null,d=-1,B=null;a&&(B=new ResizeObserver(Q=>{var[f]=Q;f&&f.target===g&&B&&(B.unobserve(e),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var b;(b=B)==null||b.observe(e)})),A()}),g&&!s&&B.observe(g),B.observe(e));var E=s?nB(t):null;return s&&(function Q(){var f=nB(t);E&&!HiA(E,f)&&A(),E=f,C=requestAnimationFrame(Q)})(),A(),()=>{var Q;l.forEach(f=>{n&&f.removeEventListener("scroll",A),o&&f.removeEventListener("resize",A)}),I?.(),(Q=B)==null||Q.disconnect(),B=null,s&&cancelAnimationFrame(C)}}var vxA=function(t){return t===void 0&&(t=0),{name:"offset",options:t,fn:e=>Yt(function*(){var A,i,{x:n,y:o,placement:a,middlewareData:r}=e,s=yield(function(g,l){return kL.apply(this,arguments)})(e,t);return a===((A=r.offset)==null?void 0:A.placement)&&(i=r.arrow)!=null&&i.alignmentOffset?{}:{x:n+s.x,y:o+s.y,data:ye(ye({},s),{},{placement:a})}})()}},bxA=function(t){return t===void 0&&(t={}),{name:"shift",options:t,fn:e=>Yt(function*(){var{x:A,y:i,placement:n}=e,o=vv(t,e),{mainAxis:a=!0,crossAxis:r=!1,limiter:s={fn:S=>{var{x:M,y:D}=S;return{x:M,y:D}}}}=o,g=ZiA(o,ckA),l={x:A,y:i},C=yield LoA(e,g),I=WI(iB(n)),d=NoA(I),B=l[d],E=l[I];if(a){var Q=d==="y"?"bottom":"right";B=_iA(B+C[d==="y"?"top":"left"],B,B-C[Q])}if(r){var f=I==="y"?"bottom":"right";E=_iA(E+C[I==="y"?"top":"left"],E,E-C[f])}var b=s.fn(ye(ye({},e),{},{[d]:B,[I]:E}));return ye(ye({},b),{},{data:{x:b.x-A,y:b.y-i,enabled:{[d]:a,[I]:r}}})})()}},MxA=function(t){return t===void 0&&(t={}),{name:"flip",options:t,fn:e=>Yt(function*(){var A,i,{placement:n,middlewareData:o,rects:a,initialPlacement:r,platform:s,elements:g}=e,l=vv(t,e),{mainAxis:C=!0,crossAxis:I=!0,fallbackPlacements:d,fallbackStrategy:B="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:Q=!0}=l,f=ZiA(l,lkA);if((A=o.arrow)!=null&&A.alignmentOffset)return{};var b=iB(n),S=WI(r),M=iB(r)===r,D=yield s.isRTL==null?void 0:s.isRTL(g.floating),F=d||(M||!Q?[Ly(r)]:(function(hA){var YA=Ly(hA);return[bL(hA),YA,bL(YA)]})(r)),_=E!=="none";!d&&_&&F.push(...gxA(r,Q,E,D));var U=[r,...F],J=yield LoA(e,f),j=[],$=((i=o.flip)==null?void 0:i.overflows)||[];if(C&&j.push(J[b]),I){var O=(function(hA,YA,ee){ee===void 0&&(ee=!1);var UA=bv(hA),mA=_oA(hA),KA=FoA(mA),Pe=mA==="x"?UA===(ee?"end":"start")?"right":"left":UA==="start"?"bottom":"top";return YA.reference[KA]>YA.floating[KA]&&(Pe=Ly(Pe)),[Pe,Ly(Pe)]})(n,a,D);j.push(J[O[0]],J[O[1]])}if($=[...$,{placement:n,overflows:j}],!j.every(hA=>hA<=0)){var DA,P,aA=(((DA=o.flip)==null?void 0:DA.index)||0)+1,iA=U[aA];if(iA&&(!(I==="alignment"&&S!==WI(iA))||$.every(hA=>WI(hA.placement)!==S||hA.overflows[0]>0)))return{data:{index:aA,overflows:$},reset:{placement:iA}};var BA=(P=$.filter(hA=>hA.overflows[0]<=0).sort((hA,YA)=>hA.overflows[1]-YA.overflows[1])[0])==null?void 0:P.placement;if(!BA)switch(B){case"bestFit":var oA,sA=(oA=$.filter(hA=>{if(_){var YA=WI(hA.placement);return YA===S||YA==="y"}return!0}).map(hA=>[hA.placement,hA.overflows.filter(YA=>YA>0).reduce((YA,ee)=>YA+ee,0)]).sort((hA,YA)=>hA[1]-YA[1])[0])==null?void 0:oA[0];sA&&(BA=sA);break;case"initialPlacement":BA=r}if(n!==BA)return{reset:{placement:BA}}}return{}})()}};function kxA(t){var e,A,i={autoUpdate:!0},n=t,o=s=>ye(ye(ye({},i),t||{}),s||{}),a=s=>{e&&A&&(n=o(s),((g,l,C)=>{var I=new Map,d=ye({platform:DxA},C),B=ye(ye({},d.platform),{},{_c:I});return cxA(g,l,ye(ye({},d),{},{platform:B}))})(e,A,n).then(g=>{var l;Object.assign(A.style,{position:g.strategy,left:"".concat(g.x,"px"),top:"".concat(g.y,"px")}),!((l=n)===null||l===void 0)&&l.onComputed&&n.onComputed(g)}))},r=s=>{Yl(s.subscribe(g=>{e===void 0?(e=g,a()):(Object.assign(e,g),a())}))};return[s=>{if("subscribe"in s)return r(s),{};e=s,a()},(s,g)=>{var l;A=s,n=o(g),setTimeout(()=>a(g),0),a(g);var C=()=>{l&&(l(),l=void 0)},I=function(){var{autoUpdate:d}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:n||{};C(),d!==!1&&YnA().then(()=>yxA(e,A,()=>a(n),d===!0?{}:d))};return l=I(),{update(d){a(d),l=I(d)},destroy(){C()}}},a]}function SxA(t){var{loadOptions:e,filterText:A,items:i,multiple:n,value:o,itemId:a,groupBy:r,filterSelectedItems:s,itemFilter:g,convertStringItemsToObjects:l,filterGroupedItems:C,label:I}=t;if(i&&e)return i;if(!i)return[];i&&i.length>0&&typeof i[0]!="object"&&(i=l(i));var d=i.filter(B=>{var E=g(B[I],A,B);return E&&n&&o!=null&&o.length&&(E=!o.some(Q=>!!s&&Q[a]===B[a])),E});return r&&(d=C(d)),d}function xxA(t){return HoA.apply(this,arguments)}function HoA(){return(HoA=Yt(function*(t){var{dispatch:e,loadOptions:A,convertStringItemsToObjects:i,filterText:n}=t,o=yield A(n).catch(a=>{console.warn("svelte-select loadOptions error :>> ",a),e("error",{type:"loadOptions",details:a})});if(o&&!o.cancelled)return o?(o&&o.length>0&&typeof o[0]!="object"&&(o=i(o)),e("loaded",{items:o})):o=[],{filteredItems:o,loading:!1,focused:!0,listOpen:!0}})).apply(this,arguments)}qt(` + svg.svelte-1kxu7be { + width: var(--chevron-icon-width, 20px); + height: var(--chevron-icon-width, 20px); + color: var(--chevron-icon-colour, currentColor); + } +`);var RxA=s1(``);qt(` + svg.svelte-1hraxrc { + width: var(--clear-icon-width, 20px); + height: var(--clear-icon-width, 20px); + color: var(--clear-icon-color, currentColor); + } +`);var NxA=s1(``);function eL(t){cA(t,NxA())}qt(` + .loading.svelte-y9fi5p { + width: var(--spinner-width, 20px); + height: var(--spinner-height, 20px); + color: var(--spinner-color, var(--icons-color)); + animation: svelte-y9fi5p-rotate 0.75s linear infinite; + transform-origin: center center; + transform: none; + } + + .circle_path.svelte-y9fi5p { + stroke-dasharray: 90; + stroke-linecap: round; + } + + @keyframes svelte-y9fi5p-rotate { + 100% { + transform: rotate(360deg); + } + } +`);var FxA=s1('');qt(` + .svelte-select.svelte-1ul7oo4 { + /* deprecating camelCase custom props in favour of kebab-case for v5 */ + --borderRadius: var(--border-radius); + --clearSelectColor: var(--clear-select-color); + --clearSelectWidth: var(--clear-select-width); + --disabledBackground: var(--disabled-background); + --disabledBorderColor: var(--disabled-border-color); + --disabledColor: var(--disabled-color); + --disabledPlaceholderColor: var(--disabled-placeholder-color); + --disabledPlaceholderOpacity: var(--disabled-placeholder-opacity); + --errorBackground: var(--error-background); + --errorBorder: var(--error-border); + --groupItemPaddingLeft: var(--group-item-padding-left); + --groupTitleColor: var(--group-title-color); + --groupTitleFontSize: var(--group-title-font-size); + --groupTitleFontWeight: var(--group-title-font-weight); + --groupTitlePadding: var(--group-title-padding); + --groupTitleTextTransform: var(--group-title-text-transform); + --groupTitleBorderColor: var(--group-title-border-color); + --groupTitleBorderWidth: var(--group-title-border-width); + --groupTitleBorderStyle: var(--group-title-border-style); + --indicatorColor: var(--chevron-color); + --indicatorHeight: var(--chevron-height); + --indicatorWidth: var(--chevron-width); + --inputColor: var(--input-color); + --inputLeft: var(--input-left); + --inputLetterSpacing: var(--input-letter-spacing); + --inputMargin: var(--input-margin); + --inputPadding: var(--input-padding); + --itemActiveBackground: var(--item-active-background); + --itemColor: var(--item-color); + --itemFirstBorderRadius: var(--item-first-border-radius); + --itemHoverBG: var(--item-hover-bg); + --itemHoverColor: var(--item-hover-color); + --itemIsActiveBG: var(--item-is-active-bg); + --itemIsActiveColor: var(--item-is-active-color); + --itemIsNotSelectableColor: var(--item-is-not-selectable-color); + --itemPadding: var(--item-padding); + --listBackground: var(--list-background); + --listBorder: var(--list-border); + --listBorderRadius: var(--list-border-radius); + --listEmptyColor: var(--list-empty-color); + --listEmptyPadding: var(--list-empty-padding); + --listEmptyTextAlign: var(--list-empty-text-align); + --listMaxHeight: var(--list-max-height); + --listPosition: var(--list-position); + --listShadow: var(--list-shadow); + --listZIndex: var(--list-z-index); + --multiItemBG: var(--multi-item-bg); + --multiItemBorderRadius: var(--multi-item-border-radius); + --multiItemDisabledHoverBg: var(--multi-item-disabled-hover-bg); + --multiItemDisabledHoverColor: var(--multi-item-disabled-hover-color); + --multiItemHeight: var(--multi-item-height); + --multiItemMargin: var(--multi-item-margin); + --multiItemPadding: var(--multi-item-padding); + --multiSelectInputMargin: var(--multi-select-input-margin); + --multiSelectInputPadding: var(--multi-select-input-padding); + --multiSelectPadding: var(--multi-select-padding); + --placeholderColor: var(--placeholder-color); + --placeholderOpacity: var(--placeholder-opacity); + --selectedItemPadding: var(--selected-item-padding); + --spinnerColor: var(--spinner-color); + --spinnerHeight: var(--spinner-height); + --spinnerWidth: var(--spinner-width); + + --internal-padding: 0 0 0 16px; + + border: var(--border, 1px solid #d8dbdf); + border-radius: var(--border-radius, 6px); + min-height: var(--height, 42px); + position: relative; + display: flex; + align-items: stretch; + padding: var(--padding, var(--internal-padding)); + background: var(--background, #fff); + margin: var(--margin, 0); + width: var(--width, 100%); + font-size: var(--font-size, 16px); + max-height: var(--max-height); + } + + .svelte-1ul7oo4 { + box-sizing: var(--box-sizing, border-box); + } + + .svelte-select.svelte-1ul7oo4:hover { + border: var(--border-hover, 1px solid #b2b8bf); + } + + .value-container.svelte-1ul7oo4 { + display: flex; + flex: 1 1 0%; + flex-wrap: wrap; + align-items: center; + gap: 5px 10px; + padding: var(--value-container-padding, 5px 0); + position: relative; + overflow: var(--value-container-overflow, hidden); + align-self: stretch; + } + + .prepend.svelte-1ul7oo4, + .indicators.svelte-1ul7oo4 { + display: flex; + flex-shrink: 0; + align-items: center; + } + + .indicators.svelte-1ul7oo4 { + position: var(--indicators-position); + top: var(--indicators-top); + right: var(--indicators-right); + bottom: var(--indicators-bottom); + } + + input.svelte-1ul7oo4 { + position: absolute; + cursor: default; + border: none; + color: var(--input-color, var(--item-color)); + padding: var(--input-padding, 0); + letter-spacing: var(--input-letter-spacing, inherit); + margin: var(--input-margin, 0); + min-width: 10px; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: transparent; + font-size: var(--font-size, 16px); + } + + .svelte-1ul7oo4:not(.multi) > .value-container:where(.svelte-1ul7oo4) > input:where(.svelte-1ul7oo4) { + width: 100%; + height: 100%; + } + + input.svelte-1ul7oo4::placeholder { + color: var(--placeholder-color, #78848f); + opacity: var(--placeholder-opacity, 1); + } + + input.svelte-1ul7oo4:focus { + outline: none; + } + + .svelte-select.focused.svelte-1ul7oo4 { + border: var(--border-focused, 1px solid #006fe8); + border-radius: var(--border-radius-focused, var(--border-radius, 6px)); + } + + .disabled.svelte-1ul7oo4 { + background: var(--disabled-background, #ebedef); + border-color: var(--disabled-border-color, #ebedef); + color: var(--disabled-color, #c1c6cc); + } + + .disabled.svelte-1ul7oo4 input:where(.svelte-1ul7oo4)::placeholder { + color: var(--disabled-placeholder-color, #c1c6cc); + opacity: var(--disabled-placeholder-opacity, 1); + } + + .selected-item.svelte-1ul7oo4 { + position: relative; + overflow: var(--selected-item-overflow, hidden); + padding: var(--selected-item-padding, 0 20px 0 0); + text-overflow: ellipsis; + white-space: nowrap; + color: var(--selected-item-color, inherit); + font-size: var(--font-size, 16px); + } + + .multi.svelte-1ul7oo4 .selected-item:where(.svelte-1ul7oo4) { + position: absolute; + line-height: var(--height, 42px); + height: var(--height, 42px); + } + + .selected-item.svelte-1ul7oo4:focus { + outline: none; + } + + .hide-selected-item.svelte-1ul7oo4 { + opacity: 0; + } + + .icon.svelte-1ul7oo4 { + display: flex; + align-items: center; + justify-content: center; + } + + .clear-select.svelte-1ul7oo4 { + all: unset; + display: flex; + align-items: center; + justify-content: center; + width: var(--clear-select-width, 40px); + height: var(--clear-select-height, 100%); + color: var(--clear-select-color, var(--icons-color)); + margin: var(--clear-select-margin, 0); + pointer-events: all; + flex-shrink: 0; + } + + .clear-select.svelte-1ul7oo4:focus { + outline: var(--clear-select-focus-outline, 1px solid #006fe8); + } + + .loading.svelte-1ul7oo4 { + width: var(--loading-width, 40px); + height: var(--loading-height); + color: var(--loading-color, var(--icons-color)); + margin: var(--loading--margin, 0); + flex-shrink: 0; + } + + .chevron.svelte-1ul7oo4 { + width: var(--chevron-width, 40px); + height: var(--chevron-height, 40px); + background: var(--chevron-background, transparent); + pointer-events: var(--chevron-pointer-events, none); + color: var(--chevron-color, var(--icons-color)); + border: var(--chevron-border, 0 0 0 1px solid #d8dbdf); + flex-shrink: 0; + } + + .multi.svelte-1ul7oo4 { + padding: var(--multi-select-padding, var(--internal-padding)); + } + + .multi.svelte-1ul7oo4 input:where(.svelte-1ul7oo4) { + padding: var(--multi-select-input-padding, 0); + position: relative; + margin: var(--multi-select-input-margin, 5px 0); + flex: 1 1 40px; + } + + .svelte-select.error.svelte-1ul7oo4 { + border: var(--error-border, 1px solid #ff2d55); + background: var(--error-background, #fff); + } + + .a11y-text.svelte-1ul7oo4 { + z-index: 9999; + border: 0px; + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + width: 1px; + position: absolute; + overflow: hidden; + padding: 0px; + white-space: nowrap; + } + + .multi-item.svelte-1ul7oo4 { + background: var(--multi-item-bg, #ebedef); + margin: var(--multi-item-margin, 0); + outline: var(--multi-item-outline, 1px solid #ddd); + border-radius: var(--multi-item-border-radius, 4px); + height: var(--multi-item-height, 25px); + line-height: var(--multi-item-height, 25px); + display: flex; + cursor: default; + padding: var(--multi-item-padding, 0 5px); + overflow: hidden; + gap: var(--multi-item-gap, 4px); + outline-offset: -1px; + max-width: var(--multi-max-width, none); + color: var(--multi-item-color, var(--item-color)); + } + + .multi-item.disabled.svelte-1ul7oo4:hover { + background: var(--multi-item-disabled-hover-bg, #ebedef); + color: var(--multi-item-disabled-hover-color, #c1c6cc); + } + + .multi-item-text.svelte-1ul7oo4 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .multi-item-clear.svelte-1ul7oo4 { + display: flex; + align-items: center; + justify-content: center; + --clear-icon-color: var(--multi-item-clear-icon-color, #000); + } + + .multi-item.active.svelte-1ul7oo4 { + outline: var(--multi-item-active-outline, 1px solid #006fe8); + } + + .svelte-select-list.svelte-1ul7oo4 { + box-shadow: var(--list-shadow, 0 2px 3px 0 rgba(44, 62, 80, 0.24)); + border-radius: var(--list-border-radius, 4px); + max-height: var(--list-max-height, 252px); + overflow-y: auto; + background: var(--list-background, #fff); + position: var(--list-position, absolute); + z-index: var(--list-z-index, 2); + border: var(--list-border); + } + + .prefloat.svelte-1ul7oo4 { + opacity: 0; + pointer-events: none; + } + + .list-group-title.svelte-1ul7oo4 { + color: var(--group-title-color, #8f8f8f); + cursor: default; + font-size: var(--group-title-font-size, 16px); + font-weight: var(--group-title-font-weight, 600); + height: var(--height, 42px); + line-height: var(--height, 42px); + padding: var(--group-title-padding, 0 20px); + text-overflow: ellipsis; + overflow-x: hidden; + white-space: nowrap; + text-transform: var(--group-title-text-transform, uppercase); + border-width: var(--group-title-border-width, medium); + border-style: var(--group-title-border-style, none); + border-color: var(--group-title-border-color, color); + } + + .empty.svelte-1ul7oo4 { + text-align: var(--list-empty-text-align, center); + padding: var(--list-empty-padding, 20px 0); + color: var(--list-empty-color, #78848f); + } + + .item.svelte-1ul7oo4 { + cursor: default; + height: var(--item-height, var(--height, 42px)); + line-height: var(--item-line-height, var(--height, 42px)); + padding: var(--item-padding, 0 20px); + color: var(--item-color, inherit); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + transition: var(--item-transition, all 0.2s); + align-items: center; + width: 100%; + } + + .item.group-item.svelte-1ul7oo4 { + padding-left: var(--group-item-padding-left, 40px); + } + + .item.svelte-1ul7oo4:active { + background: var(--item-active-background, #b9daff); + } + + .item.active.svelte-1ul7oo4 { + background: var(--item-is-active-bg, #007aff); + color: var(--item-is-active-color, #fff); + } + + .item.first.svelte-1ul7oo4 { + border-radius: var(--item-first-border-radius, 4px 4px 0 0); + } + + .item.hover.svelte-1ul7oo4:not(.active) { + background: var(--item-hover-bg, #e7f2ff); + color: var(--item-hover-color, inherit); + } + + .item.not-selectable.svelte-1ul7oo4, + .item.hover.item.not-selectable.svelte-1ul7oo4, + .item.active.item.not-selectable.svelte-1ul7oo4, + .item.not-selectable.svelte-1ul7oo4:active { + color: var(--item-is-not-selectable-color, #999); + background: transparent; + } + + .required.svelte-1ul7oo4 { + opacity: 0; + z-index: -1; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + } +`);var _xA=FA('
    '),LxA=FA('
    No options
    '),GxA=FA('
    '),KxA=FA(' ',1),UxA=FA('
    '),JxA=FA('
    '),YxA=FA("
    "),TxA=FA(''),HxA=FA(''),zxA=FA(''),OxA=FA(''),PxA=FA(''),jxA=FA('
    ');function Td(t,e){var A=(function(dA){var SA={};for(var oe in dA.children&&(SA.default=!0),dA.$$slots)SA[oe]=!0;return SA})(e);St(e,!1);var i,n=IA(),o=IA(),a=IA(),r=IA(),s=IA(),g=IA(),l=IA(),C=IA(),I=IA(),d=YkA(),B=N(e,"justValue",12,null),E=N(e,"filter",8,SxA),Q=N(e,"getItems",8,xxA),f=N(e,"id",8,null),b=N(e,"name",8,null),S=N(e,"container",12,void 0),M=N(e,"input",12,void 0),D=N(e,"multiple",8,!1),F=N(e,"multiFullItemClearable",8,!1),_=N(e,"disabled",8,!1),U=N(e,"focused",12,!1),J=N(e,"value",12,null),j=N(e,"filterText",12,""),$=N(e,"placeholder",8,"Please select"),O=N(e,"placeholderAlwaysShow",8,!1),DA=N(e,"items",12,null),P=N(e,"label",8,"label"),aA=N(e,"itemFilter",8,(dA,SA,oe)=>"".concat(dA).toLowerCase().includes(SA.toLowerCase())),iA=N(e,"groupBy",8,void 0),BA=N(e,"groupFilter",8,dA=>dA),oA=N(e,"groupHeaderSelectable",8,!1),sA=N(e,"itemId",8,"value"),hA=N(e,"loadOptions",8,void 0),YA=N(e,"containerStyles",8,""),ee=N(e,"hasError",8,!1),UA=N(e,"filterSelectedItems",8,!0),mA=N(e,"required",8,!1),KA=N(e,"closeListOnChange",8,!0),Pe=N(e,"clearFilterTextOnBlur",8,!0),Ue=N(e,"createGroupHeaderItem",8,(dA,SA)=>({value:dA,[P()]:dA})),HA=()=>c(l),uA=N(e,"searchable",8,!0),XA=N(e,"inputStyles",8,""),QA=N(e,"clearable",8,!0),ZA=N(e,"loading",12,!1),MA=N(e,"listOpen",12,!1),Me=N(e,"debounce",8,function(dA){var SA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;clearTimeout(i),i=setTimeout(dA,SA)}),LA=N(e,"debounceWait",8,300),pA=N(e,"hideEmptyState",8,!1),Ft=N(e,"inputAttributes",24,()=>({})),ht=N(e,"listAutoWidth",8,!0),Ee=N(e,"showChevron",8,!1),Kt=N(e,"listOffset",8,5),Je=N(e,"hoverItemIndex",12,0),ze=N(e,"floatingConfig",24,()=>({})),ut=N(e,"class",8,""),ke=IA(),ei=IA(),Y=IA(),z=IA(),nA=IA();function rA(dA){return dA.map((SA,oe)=>({index:oe,value:SA,label:"".concat(SA)}))}function NA(dA){var SA=[],oe={};dA.forEach(it=>{var rt=iA()(it);SA.includes(rt)||(SA.push(rt),oe[rt]=[],rt&&oe[rt].push(Object.assign(Ue()(rt,it),{id:rt,groupHeader:!0,selectable:oA()}))),oe[rt].push(Object.assign({groupItem:!!rt},it))});var xe=[];return BA()(SA).forEach(it=>{oe[it]&&xe.push(...oe[it])}),xe}function Ie(){var dA=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,SA=arguments.length>1?arguments[1]:void 0;Je(dA<0?0:dA),!SA&&iA()&&c(l)[Je()]&&!c(l)[Je()].selectable&&li(1)}function Qe(){var dA=!0;if(J()){var SA=[],oe=[];J().forEach(xe=>{SA.includes(xe[sA()])?dA=!1:(SA.push(xe[sA()]),oe.push(xe))}),dA||J(oe)}return dA}function xA(dA){var SA=dA?dA[sA()]:J()[sA()];return DA().find(oe=>oe[sA()]===SA)}function _A(dA){return Et.apply(this,arguments)}function Et(){return(Et=Yt(function*(dA){var SA=J()[dA];J().length===1?J(void 0):J(J().filter(oe=>oe!==SA)),d("clear",SA)})).apply(this,arguments)}function et(dA){if(U())switch(dA.stopPropagation(),dA.key){case"Escape":dA.preventDefault(),Le();break;case"Enter":if(dA.preventDefault(),MA()){if(c(l).length===0)break;var SA=c(l)[Je()];if(J()&&!D()&&J()[sA()]===SA[sA()]){Le();break}L(c(l)[Je()])}break;case"ArrowDown":dA.preventDefault(),MA()?li(1):(MA(!0),R(ke,void 0));break;case"ArrowUp":dA.preventDefault(),MA()?li(-1):(MA(!0),R(ke,void 0));break;case"Tab":if(MA()&&U()){if(c(l).length===0||J()&&J()[sA()]===c(l)[Je()][sA()])return Le();dA.preventDefault(),L(c(l)[Je()]),Le()}break;case"Backspace":if(!D()||j().length>0)return;if(D()&&J()&&J().length>0){if(_A(c(ke)!==void 0?c(ke):J().length-1),c(ke)===0||c(ke)===void 0)break;R(ke,J().length>c(ke)?c(ke)-1:void 0)}break;case"ArrowLeft":if(!J()||!D()||j().length>0)return;c(ke)===void 0?R(ke,J().length-1):J().length>c(ke)&&c(ke)!==0&&R(ke,c(ke)-1);break;case"ArrowRight":if(!J()||!D()||j().length>0||c(ke)===void 0)return;c(ke)===J().length-1?R(ke,void 0):c(ke)0?MA(!0):void MA(!MA())}function dn(){d("clear",J()),J(void 0),Le(),Ye()}function Le(){Pe()&&j(""),MA(!1)}TkA(Yt(function*(){R(ei,J()),R(Y,j()),R(z,D())})),is(()=>{MA()&&U(!0),U()&&M()&&M().focus()});var Zi=N(e,"ariaValues",8,dA=>"Option ".concat(dA,", selected.")),Qi=N(e,"ariaListOpen",8,(dA,SA)=>"You are currently focused on option ".concat(dA,". There are ").concat(SA," results available.")),bi=N(e,"ariaFocused",8,()=>"Select is focused, type to refine list, press down to open the menu."),zi,yt=IA(null);function Xi(){clearTimeout(zi),zi=setTimeout(()=>{_t=!1},100)}Yl(()=>{var dA;(dA=c(yt))===null||dA===void 0||dA.remove()});var _t=!1;function L(dA){dA&&dA.selectable!==!1&&(function(SA){if(SA){j("");var oe=Object.assign({},SA);if(oe.groupHeader&&!oe.selectable)return;J(D()?J()?J().concat([oe]):[oe]:J(oe)),setTimeout(()=>{KA()&&Le(),R(ke,void 0),d("change",J()),d("select",SA)})}})(dA)}function ct(dA){_t||Je(dA)}function li(dA){if(c(l).filter(oe=>!Object.hasOwn(oe,"selectable")||oe.selectable===!0).length===0)return Je(0);dA>0&&Je()===c(l).length-1?Je(0):dA<0&&Je()===0?Je(c(l).length-1):Je(Je()+dA);var SA=c(l)[Je()];SA&&SA.selectable===!1&&(dA!==1&&dA!==-1||li(dA))}function Bn(dA,SA,oe){if(!D())return SA&&SA[oe]===dA[oe]}var En=Uo,qn=Uo;function Uo(dA){return{update(SA){SA.scroll&&(Xi(),dA.scrollIntoView({behavior:"auto",block:"nearest"}))}}}var Co=IA({strategy:"absolute",placement:"bottom-start",middleware:[vxA(Kt()),MxA(),bxA()],autoUpdate:!1}),[Mo,Wo,wo]=kxA(c(Co)),Qa=IA(!0);RA(()=>(G(DA()),G(J())),()=>{DA(),J()&&(function(){if(typeof J()=="string"){var dA=(DA()||[]).find(SA=>SA[sA()]===J());J(dA||{[sA()]:J(),label:J()})}else D()&&Array.isArray(J())&&J().length>0&&J(J().map(SA=>typeof SA=="string"?{value:SA,label:SA}:SA))})()}),RA(()=>(G(Ft()),G(uA())),()=>{!Ft()&&uA()||(R(nA,Object.assign({autocapitalize:"none",autocomplete:"off",autocorrect:"off",spellcheck:!1,tabindex:0,type:"text","aria-autocomplete":"list"},Ft())),f()&&Xg(nA,c(nA).id=f()),uA()||Xg(nA,c(nA).readonly=!0))}),RA(()=>G(D()),()=>{D()&&J()&&(Array.isArray(J())?J([...J()]):J([J()]))}),RA(()=>(c(z),G(D())),()=>{c(z)&&!D()&&J()&&J(null)}),RA(()=>(G(D()),G(J())),()=>{D()&&J()&&J().length>1&&Qe()}),RA(()=>G(J()),()=>{J()&&(D()?JSON.stringify(J())!==JSON.stringify(c(ei))&&Qe()&&d("input",J()):c(ei)&&JSON.stringify(J()[sA()])===JSON.stringify(c(ei)[sA()])||d("input",J()))}),RA(()=>(G(J()),G(D()),c(ei)),()=>{!J()&&D()&&c(ei)&&d("input",J())}),RA(()=>(G(U()),G(M())),()=>{!U()&&M()&&Le()}),RA(()=>(G(j()),c(Y)),()=>{j()!==c(Y)&&(hA()||j().length!==0)&&(hA()?Me()(Yt(function*(){ZA(!0);var dA=yield Q()({dispatch:d,loadOptions:hA(),convertStringItemsToObjects:rA,filterText:j()});dA?(ZA(dA.loading),MA(MA()?dA.listOpen:j().length>0),U(MA()&&dA.focused),DA(iA()?NA(dA.filteredItems):dA.filteredItems)):(ZA(!1),U(!0),MA(!0))}),LA()):(MA(!0),D()&&R(ke,void 0)))}),RA(()=>(G(E()),G(hA()),G(j()),G(DA()),G(D()),G(J()),G(sA()),G(iA()),G(P()),G(UA()),G(aA())),()=>{R(l,E()({loadOptions:hA(),filterText:j(),items:DA(),multiple:D(),value:J(),itemId:sA(),groupBy:iA(),label:P(),filterSelectedItems:UA(),itemFilter:aA(),convertStringItemsToObjects:rA,filterGroupedItems:NA}))}),RA(()=>(G(D()),G(MA()),G(J()),c(l)),()=>{!D()&&MA()&&J()&&c(l)&&Ie(c(l).findIndex(dA=>dA[sA()]===J()[sA()]),!0)}),RA(()=>(G(MA()),G(D())),()=>{MA()&&D()&&Je(0)}),RA(()=>G(j()),()=>{j()&&Je(0)}),RA(()=>G(Je()),()=>{var dA;dA=Je(),d("hoverItem",dA)}),RA(()=>(G(D()),G(J())),()=>{R(n,D()?J()&&J().length>0:J())}),RA(()=>(c(n),G(j())),()=>{R(o,c(n)&&j().length>0)}),RA(()=>(c(n),G(QA()),G(_()),G(ZA())),()=>{R(a,c(n)&&QA()&&!_()&&!ZA())}),RA(()=>(G(O()),G(D()),G($()),G(J())),()=>{var dA;R(r,O()&&D()||D()&&((dA=J())===null||dA===void 0?void 0:dA.length)===0?$():J()?"":$())}),RA(()=>(G(J()),G(D())),()=>{var dA,SA;R(s,J()?(dA=D(),SA=void 0,SA=dA&&J().length>0?J().map(oe=>oe[P()]).join(", "):J()[P()],Zi()(SA)):"")}),RA(()=>(c(l),G(Je()),G(U()),G(MA())),()=>{R(g,(function(){if(!c(l)||c(l).length===0)return"";var dA=c(l)[Je()];if(MA()&&dA){var SA=c(l)?c(l).length:0;return Qi()(dA[P()],SA)}return bi()()})((c(l),Je(),U(),MA())))}),RA(()=>G(DA()),()=>{(function(dA){dA&&dA.length!==0&&!dA.some(SA=>typeof SA!="object")&&J()&&(D()?!J().some(SA=>!SA||!SA[sA()]):J()[sA()])&&(Array.isArray(J())?J(J().map(SA=>xA(SA)||SA)):J(xA()||J()))})(DA())}),RA(()=>(G(D()),G(J()),G(sA())),()=>{B((D(),J(),sA(),D()?J()?J().map(dA=>dA[sA()]):null:J()?J()[sA()]:J()))}),RA(()=>(G(D()),c(ei),G(J())),()=>{D()||!c(ei)||J()||d("input",J())}),RA(()=>(G(MA()),c(l),G(D()),G(J())),()=>{MA()&&c(l)&&!D()&&!J()&&Ie()}),RA(()=>c(l),()=>{(function(dA){MA()&&d("filter",dA)})(c(l))}),RA(()=>(G(S()),G(ze()),c(Co)),()=>{S()&&ze()&&wo(Object.assign(c(Co),ze()))}),RA(()=>c(yt),()=>{R(C,!!c(yt))}),RA(()=>(c(yt),G(MA())),()=>{(function(dA,SA){if(!dA||!SA)return R(Qa,!0);setTimeout(()=>{R(Qa,!1)},0)})(c(yt),MA())}),RA(()=>(G(MA()),G(S()),c(yt)),()=>{MA()&&S()&&c(yt)&&(function(){var{width:dA}=S().getBoundingClientRect();Xg(yt,c(yt).style.width=ht()?dA+"px":"auto")})()}),RA(()=>G(Je()),()=>{R(I,Je())}),RA(()=>(G(M()),G(MA()),G(U())),()=>{M()&&MA()&&!U()&&Ye()}),RA(()=>(G(S()),G(ze())),()=>{var dA;S()&&((dA=ze())===null||dA===void 0?void 0:dA.autoUpdate)===void 0&&Xg(Co,c(Co).autoUpdate=!0)}),kn();var Zo={getFilteredItems:HA,handleClear:dn};Ai();var ra,Do=jxA();ue("click",e2,function(dA){var SA;MA()||U()||!S()||S().contains(dA.target)||(SA=c(yt))!==null&&SA!==void 0&&SA.contains(dA.target)||Ge()}),ue("keydown",e2,et);var re=CA(Do),di=dA=>{var SA,oe=GxA(),xe=CA(oe),it=Vt=>{var Ri=vi();Ba(At(Ri),e,"list-prepend",{},null),cA(Vt,Ri)};TA(xe,Vt=>{EA(()=>A["list-prepend"])&&Vt(it)});var rt=bA(xe,2),bt=Vt=>{var Ri=vi();Ba(At(Ri),e,"list",{get filteredItems(){return c(l)}},null),cA(Vt,Ri)},Kn=Vt=>{var Ri=vi(),va=At(Ri),Lt=Ni=>{var Oi=vi();Ea(At(Oi),1,()=>c(l),Ra,(Vn,hn,Mt)=>{var sa,Yo=_xA(),u=CA(Yo);Ba(CA(u),e,"item",{get item(){return c(hn)},index:Mt},y=>{var x=hr();ve(()=>Rt(x,(c(hn),G(P()),EA(()=>{var H;return(H=c(hn))===null||H===void 0?void 0:H[P()]})))),cA(y,x)}),bs(u,(y,x)=>En?.(y),()=>({scroll:Bn(c(hn),J(),sA()),listDom:c(C)})),bs(u,(y,x)=>qn?.(y),()=>({scroll:c(I)===Mt,listDom:c(C)})),ve(y=>sa=$t(u,1,"item svelte-1ul7oo4",null,sa,y),[()=>{var y,x;return{"list-group-title":c(hn).groupHeader,active:Bn(c(hn),J(),sA()),first:(x=Mt,x===0),hover:Je()===Mt,"group-item":c(hn).groupItem,"not-selectable":((y=c(hn))===null||y===void 0?void 0:y.selectable)===!1}}]),ue("mouseover",Yo,()=>ct(Mt)),ue("focus",Yo,()=>ct(Mt)),ue("click",Yo,jC(()=>(function(y){var{item:x,i:H}=y;if(x?.selectable!==!1)return J()&&!D()&&J()[sA()]===x[sA()]?Le():void((function(k){return k.groupHeader&&k.selectable||k.selectable||!k.hasOwnProperty("selectable")})(x)&&(Je(H),L(x)))})({item:c(hn),i:Mt}))),ue("keydown",Yo,YI(jC(function(y){Lf.call(this,e,y)}))),cA(Vn,Yo)}),cA(Ni,Oi)},st=Ni=>{var Oi=vi(),Vn=At(Oi),hn=Mt=>{var sa=vi();Ba(At(sa),e,"empty",{},Yo=>{cA(Yo,LxA())}),cA(Mt,sa)};TA(Vn,Mt=>{pA()||Mt(hn)},!0),cA(Ni,Oi)};TA(va,Ni=>{c(l),EA(()=>c(l).length>0)?Ni(Lt):Ni(st,!1)},!0),cA(Vt,Ri)};TA(rt,Vt=>{EA(()=>A.list)?Vt(bt):Vt(Kn,!1)});var xi=bA(rt,2),Ji=Vt=>{var Ri=vi();Ba(At(Ri),e,"list-append",{},null),cA(Vt,Ri)};TA(xi,Vt=>{EA(()=>A["list-append"])&&Vt(Ji)}),bs(oe,Vt=>Wo?.(Vt)),Ko(oe,Vt=>R(yt,Vt),()=>c(yt)),Nr(()=>ue("scroll",oe,Xi)),Nr(()=>ue("pointerup",oe,YI(jC(function(Vt){Lf.call(this,e,Vt)})))),Nr(()=>ue("mousedown",oe,YI(jC(function(Vt){Lf.call(this,e,Vt)})))),ve(()=>SA=$t(oe,1,"svelte-select-list svelte-1ul7oo4",null,SA,{prefloat:c(Qa)})),cA(dA,oe)};TA(re,dA=>{MA()&&dA(di)});var ln=bA(re,2),Qn=CA(ln),Jo=dA=>{var SA=KxA(),oe=At(SA),xe=CA(oe),it=CA(bA(oe,2));ve(()=>{Rt(xe,c(s)),Rt(it,c(g))}),cA(dA,SA)};TA(Qn,dA=>{U()&&dA(Jo)});var ya=bA(ln,2);Ba(CA(ya),e,"prepend",{},null);var wi=bA(ya,2),Io=CA(wi),tr=dA=>{var SA=vi(),oe=At(SA),xe=rt=>{var bt=vi();Ea(At(bt),1,J,Ra,(Kn,xi,Ji)=>{var Vt,Ri=JxA(),va=CA(Ri);Ba(CA(va),e,"selection",{get selection(){return c(xi)},index:Ji},Ni=>{var Oi=hr();ve(()=>Rt(Oi,(c(xi),G(P()),EA(()=>c(xi)[P()])))),cA(Ni,Oi)});var Lt=bA(va,2),st=Ni=>{var Oi=UxA();Ba(CA(Oi),e,"multi-clear-icon",{},Vn=>{eL(Vn)}),ue("pointerup",Oi,YI(jC(()=>_A(Ji)))),cA(Ni,Oi)};TA(Lt,Ni=>{_()||F()||!eL||Ni(st)}),ve(()=>Vt=$t(Ri,1,"multi-item svelte-1ul7oo4",null,Vt,{active:c(ke)===Ji,disabled:_()})),ue("click",Ri,YI(()=>F()?_A(Ji):{})),ue("keydown",Ri,YI(jC(function(Ni){Lf.call(this,e,Ni)}))),cA(Kn,Ri)}),cA(rt,bt)},it=rt=>{var bt,Kn=YxA();Ba(CA(Kn),e,"selection",{get selection(){return J()}},xi=>{var Ji=hr();ve(()=>Rt(Ji,(G(J()),G(P()),EA(()=>J()[P()])))),cA(xi,Ji)}),ve(()=>bt=$t(Kn,1,"selected-item svelte-1ul7oo4",null,bt,{"hide-selected-item":c(o)})),cA(rt,Kn)};TA(oe,rt=>{D()?rt(xe):rt(it,!1)}),cA(dA,SA)};TA(Io,dA=>{c(n)&&dA(tr)});var yo=bA(Io,2);Py(yo,()=>ye(ye({readOnly:!uA()},c(nA)),{},{placeholder:c(r),style:XA(),disabled:_()}),void 0,void 0,void 0,"svelte-1ul7oo4",!0),Ko(yo,dA=>M(dA),()=>M());var Pa=bA(wi,2),Gn=CA(Pa),Si=dA=>{var SA=TxA();Ba(CA(SA),e,"loading-icon",{},oe=>{(function(xe){cA(xe,FxA())})(oe)}),cA(dA,SA)};TA(Gn,dA=>{ZA()&&dA(Si)});var Pt=bA(Gn,2),Sn=dA=>{var SA=HxA();Ba(CA(SA),e,"clear-icon",{},oe=>{eL(oe)}),ue("click",SA,dn),cA(dA,SA)};TA(Pt,dA=>{c(a)&&dA(Sn)});var Bo=bA(Pt,2),ko=dA=>{var SA=zxA();Ba(CA(SA),e,"chevron-icon",{get listOpen(){return MA()}},oe=>{(function(xe){cA(xe,RxA())})(oe)}),cA(dA,SA)};TA(Bo,dA=>{Ee()&&dA(ko)});var vA=bA(Pa,2);Ba(vA,e,"input-hidden",{get value(){return J()}},dA=>{var SA=OxA();ve(oe=>{Mn(SA,"name",b()),AB(SA,oe)},[()=>(G(J()),EA(()=>J()?JSON.stringify(J()):null))]),cA(dA,SA)});var VA=bA(vA,2),me=dA=>{var SA=vi();Ba(At(SA),e,"required",{get value(){return J()}},oe=>{cA(oe,PxA())}),cA(dA,SA)};return TA(VA,dA=>{G(mA()),G(J()),EA(()=>mA()&&(!J()||J().length===0))&&dA(me)}),Nr(()=>ue("pointerup",Do,YI(gn))),Ko(Do,dA=>S(dA),()=>S()),bs(Do,dA=>Mo?.(dA)),ve(()=>{var dA;ra=$t(Do,1,"svelte-select ".concat((dA=ut())!==null&&dA!==void 0?dA:""),"svelte-1ul7oo4",ra,{multi:D(),disabled:_(),focused:U(),"list-open":MA(),"show-chevron":Ee(),error:ee()}),Ul(Do,YA())}),ue("keydown",yo,et),ue("blur",yo,Ge),ue("focus",yo,Ye),ev(yo,j),cA(t,Do),Ot(e,"getFilteredItems",HA),Ot(e,"handleClear",dn),xt(Zo)}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +table.jse-transform-wizard.svelte-9wqi8y { + border-collapse: collapse; + border-spacing: 0; + width: 100%; +} +table.jse-transform-wizard.svelte-9wqi8y input:where(.svelte-9wqi8y) { + font-family: inherit; + font-size: inherit; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) th:where(.svelte-9wqi8y) { + font-weight: normal; + text-align: left; + width: 60px; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) { + width: 100%; + display: flex; + flex-direction: row; + margin-bottom: calc(0.5 * var(--jse-padding, 10px)); +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select .multi-item { + align-items: center; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select .value-container { + gap: 0 !important; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-filter-path { + flex: 4; + margin-right: calc(0.5 * var(--jse-padding, 10px)); +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-filter-relation { + flex: 1.5; + margin-right: calc(0.5 * var(--jse-padding, 10px)); +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-sort-path { + flex: 3; + margin-right: calc(0.5 * var(--jse-padding, 10px)); +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-sort-direction { + flex: 1; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-projection-paths { + flex: 1; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select input { + box-sizing: border-box; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .jse-filter-value:where(.svelte-9wqi8y) { + flex: 4; + padding: 4px 8px; + border: var(--jse-input-border, 1px solid #d8dbdf); + border-radius: var(--jse-input-radius, 3px); + outline: none; + background: var(--jse-input-background, var(--jse-background-color, #fff)); + color: inherit; +} +table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .jse-filter-value:where(.svelte-9wqi8y):focus { + border: var(--jse-input-border-focus, 1px solid var(--jse-input-border-focus, var(--jse-theme-color, #3883fa))); +}`);var qxA=FA('
    Filter
    Sort
    Pick
    ');function VxA(t,e){var A,i,n,o,a;St(e,!1);var r=IA(void 0,!0),s=IA(void 0,!0),g=IA(void 0,!0),l=IA(void 0,!0),C=IA(void 0,!0),I=IA(void 0,!0),d=lr("jsoneditor:TransformWizard"),B=N(e,"json",9),E=N(e,"queryOptions",29,()=>({})),Q=N(e,"onChange",9),f=["==","!=","<","<=",">",">="].map(UA=>({value:UA,label:UA})),b=[{value:"asc",label:"ascending"},{value:"desc",label:"descending"}],S=IA((A=E())!==null&&A!==void 0&&(A=A.filter)!==null&&A!==void 0&&A.path?PI(E().filter.path):void 0,!0),M=IA((i=f.find(UA=>{var mA;return UA.value===((mA=E().filter)===null||mA===void 0?void 0:mA.relation)}))!==null&&i!==void 0?i:f[0],!0),D=IA(((n=E())===null||n===void 0||(n=n.filter)===null||n===void 0?void 0:n.value)||"",!0),F=IA((o=E())!==null&&o!==void 0&&(o=o.sort)!==null&&o!==void 0&&o.path?PI(E().sort.path):void 0,!0),_=IA((a=b.find(UA=>{var mA;return UA.value===((mA=E().sort)===null||mA===void 0?void 0:mA.direction)}))!==null&&a!==void 0?a:b[0],!0);RA(()=>G(B()),()=>{R(r,Array.isArray(B()))}),RA(()=>(c(r),G(B())),()=>{R(s,c(r)?QL(B()):[])}),RA(()=>(c(r),G(B())),()=>{R(g,c(r)?QL(B(),!0):[])}),RA(()=>(c(s),PI),()=>{R(l,c(s).map(PI))}),RA(()=>(c(g),PI),()=>{R(C,c(g)?c(g).map(PI):[])}),RA(()=>(G(E()),c(C),Bi),()=>{var UA;R(I,(UA=E())!==null&&UA!==void 0&&(UA=UA.projection)!==null&&UA!==void 0&&UA.paths&&c(C)?E().projection.paths.map(mA=>c(C).find(KA=>Bi(KA.value,mA))).filter(mA=>!!mA):void 0)}),RA(()=>c(S),()=>{var UA,mA,KA;mA=(UA=c(S))===null||UA===void 0?void 0:UA.value,Bi((KA=E())===null||KA===void 0||(KA=KA.filter)===null||KA===void 0?void 0:KA.path,mA)||(d("changeFilterPath",mA),E(Or(E(),["filter","path"],mA,!0)),Q()(E()))}),RA(()=>c(M),()=>{var UA,mA,KA;mA=(UA=c(M))===null||UA===void 0?void 0:UA.value,Bi((KA=E())===null||KA===void 0||(KA=KA.filter)===null||KA===void 0?void 0:KA.relation,mA)||(d("changeFilterRelation",mA),E(Or(E(),["filter","relation"],mA,!0)),Q()(E()))}),RA(()=>c(D),()=>{var UA,mA;UA=c(D),Bi((mA=E())===null||mA===void 0||(mA=mA.filter)===null||mA===void 0?void 0:mA.value,UA)||(d("changeFilterValue",UA),E(Or(E(),["filter","value"],UA,!0)),Q()(E()))}),RA(()=>c(F),()=>{var UA,mA,KA;mA=(UA=c(F))===null||UA===void 0?void 0:UA.value,Bi((KA=E())===null||KA===void 0||(KA=KA.sort)===null||KA===void 0?void 0:KA.path,mA)||(d("changeSortPath",mA),E(Or(E(),["sort","path"],mA,!0)),Q()(E()))}),RA(()=>c(_),()=>{var UA,mA,KA;mA=(UA=c(_))===null||UA===void 0?void 0:UA.value,Bi((KA=E())===null||KA===void 0||(KA=KA.sort)===null||KA===void 0?void 0:KA.direction,mA)||(d("changeSortDirection",mA),E(Or(E(),["sort","direction"],mA,!0)),Q()(E()))}),RA(()=>c(I),()=>{(function(UA){var mA;Bi((mA=E())===null||mA===void 0||(mA=mA.projection)===null||mA===void 0?void 0:mA.paths,UA)||(d("changeProjectionPaths",UA),E(Or(E(),["projection","paths"],UA,!0)),Q()(E()))})(c(I)?c(I).map(UA=>UA.value):void 0)}),kn(),Ai(!0);var U=qxA(),J=CA(U),j=CA(J),$=bA(CA(j)),O=CA($),DA=CA(O);Td(DA,{class:"jse-filter-path",showChevron:!0,get items(){return c(l)},get value(){return c(S)},set value(UA){R(S,UA)},$$legacy:!0});var P=bA(DA,2);Td(P,{class:"jse-filter-relation",showChevron:!0,clearable:!1,get items(){return f},get value(){return c(M)},set value(UA){R(M,UA)},$$legacy:!0});var aA=bA(P,2),iA=bA(j),BA=bA(CA(iA)),oA=CA(BA),sA=CA(oA);Td(sA,{class:"jse-sort-path",showChevron:!0,get items(){return c(l)},get value(){return c(F)},set value(UA){R(F,UA)},$$legacy:!0}),Td(bA(sA,2),{class:"jse-sort-direction",showChevron:!0,clearable:!1,get items(){return b},get value(){return c(_)},set value(UA){R(_,UA)},$$legacy:!0});var hA=bA(iA),YA=bA(CA(hA)),ee=CA(YA);Td(CA(ee),{class:"jse-projection-paths",multiple:!0,showChevron:!0,get items(){return c(C)},get value(){return c(I)},set value(UA){R(I,UA)},$$legacy:!0}),ev(aA,()=>c(D),UA=>R(D,UA)),cA(t,U),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-select-query-language.svelte-jrd4q2 { + position: relative; + width: 32px; +} +.jse-select-query-language.svelte-jrd4q2 .jse-select-query-language-container:where(.svelte-jrd4q2) { + position: absolute; + top: 0; + right: 0; + display: flex; + flex-direction: column; + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); +} +.jse-select-query-language.svelte-jrd4q2 .jse-select-query-language-container:where(.svelte-jrd4q2) .jse-query-language:where(.svelte-jrd4q2) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + text-align: left; + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + white-space: nowrap; + color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); + background: var(--jse-context-menu-background, #656565); +} +.jse-select-query-language.svelte-jrd4q2 .jse-select-query-language-container:where(.svelte-jrd4q2) .jse-query-language:where(.svelte-jrd4q2):hover { + background: var(--jse-context-menu-background-highlight, #7a7a7a); +}`);var WxA=FA(''),ZxA=FA('
    ');function XxA(t,e){St(e,!1);var A=N(e,"queryLanguages",8),i=N(e,"queryLanguageId",12),n=N(e,"onChangeQueryLanguage",8);Ai();var o=ZxA();Ea(CA(o),5,A,Ra,(a,r)=>{var s,g=WxA(),l=CA(g),C=B=>{Wi(B,{get data(){return bS}})},I=B=>{Wi(B,{get data(){return MS}})};TA(l,B=>{c(r),G(i()),EA(()=>c(r).id===i())?B(C):B(I,!1)});var d=bA(l);ve(()=>{var B;s=$t(g,1,"jse-query-language svelte-jrd4q2",null,s,{selected:c(r).id===i()}),Mn(g,"title",(c(r),EA(()=>"Select ".concat(c(r).name," as query language")))),Rt(d," ".concat((c(r),(B=EA(()=>c(r).name))!==null&&B!==void 0?B:"")))}),ue("click",g,()=>{return B=c(r).id,i(B),void n()(B);var B}),cA(a,g)}),cA(t,o),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-header.svelte-1k211ye { + display: flex; + background: var(--jse-theme-color, #3883fa); + color: var(--jse-menu-color, var(--jse-text-color-inverse, #fff)); +} +.jse-header.svelte-1k211ye .jse-title:where(.svelte-1k211ye) { + flex: 1; + padding: 5px; + vertical-align: middle; +} +.jse-header.svelte-1k211ye button:where(.svelte-1k211ye) { + border: none; + background: transparent; + min-width: 32px; + color: inherit; + cursor: pointer; +} +.jse-header.svelte-1k211ye button:where(.svelte-1k211ye):hover { + background: rgba(255, 255, 255, 0.1); +}`);var $xA=FA(''),ARA=FA('
    ');function Bv(t,e){St(e,!1);var A=N(e,"title",9,"Modal"),i=N(e,"fullScreenButton",9,!1),n=N(e,"fullscreen",13,!1),o=N(e,"onClose",9,void 0);Ai(!0);var a=ARA(),r=CA(a),s=CA(r),g=bA(r,2);Ba(g,e,"actions",{},null);var l=bA(g,2),C=d=>{var B=$xA(),E=CA(B),Q=tt(()=>n()?gV:nV);Wi(E,{get data(){return c(Q)}}),ue("click",B,()=>n(!n())),cA(d,B)};TA(l,d=>{i()&&d(C)});var I=bA(l,2);Wi(CA(I),{get data(){return g3}}),ve(()=>Rt(s,A())),ue("click",I,()=>{var d;return(d=o())===null||d===void 0?void 0:d()}),cA(t,a),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-config.svelte-5gkegr { + border: none; + background: transparent; + min-width: 32px; + color: inherit; + cursor: pointer; +} +.jse-config.svelte-5gkegr:hover { + background: rgba(255, 255, 255, 0.1); +} +.jse-config.hide.svelte-5gkegr { + display: none; +}`);var eRA=FA(''),tL=lr("jsoneditor:AutoScrollHandler");function ziA(t){var e,A;function i(r){return r<20?200:r<50?400:1200}function n(){if(t){var r=.05*(e||0);t.scrollTop+=r}}function o(r){A&&r===e||(a(),tL("startAutoScroll",r),e=r,A=setInterval(n,50))}function a(){A&&(tL("stopAutoScroll"),clearInterval(A),A=void 0,e=void 0)}return tL("createAutoScrollHandler",t),{onDrag:function(r){if(t){var s=r.clientY,{top:g,bottom:l}=t.getBoundingClientRect();sl?o(i(s-l)):a()}},onDragEnd:function(){a()}}}var tRA=(t,e,A,i)=>(t/=i/2)<1?A/2*t*t+e:-A/2*(--t*(t-2)-1)+e,zoA=()=>{var t,e,A,i,n,o,a,r,s,g,l,C,I;function d(Q){return Q.getBoundingClientRect().top-(t.getBoundingClientRect?t.getBoundingClientRect().top:0)+A}function B(Q){t.scrollTo?t.scrollTo(t.scrollLeft,Q):t.scrollTop=Q}function E(Q){g||(g=Q),B(o(l=Q-g,A,r,s)),I=!0,l1&&arguments[1]!==void 0?arguments[1]:{};switch(s=1e3,n=f.offset||0,C=f.callback,o=f.easing||tRA,a=f.a11y||!1,typeof f.container){case"object":t=f.container;break;case"string":t=document.querySelector(f.container);break;default:t=window.document.documentElement}switch(A=t.scrollTop,typeof Q){case"number":e=void 0,a=!1,i=A+Q;break;case"object":i=d(e=Q);break;case"string":e=document.querySelector(Q),i=d(e)}switch(r=i-A+n,typeof f.duration){case"number":s=f.duration;break;case"function":s=f.duration(r)}I?g=0:requestAnimationFrame(E)}};function oh(t,e){var A=Date.now(),i=t();return e(Date.now()-A),i}var $Q=lr("validation"),iRA={createObjectDocumentState:()=>({type:"object",properties:{}}),createArrayDocumentState:()=>({type:"array",items:[]}),createValueDocumentState:()=>({type:"value"})};function OiA(t,e,A,i){return oG(t,e,A,i,iRA)}function OoA(t,e,A,i){if($Q("validateJSON"),!e)return[];if(A!==i){var n=A.stringify(t);return e(n!==void 0?i.parse(n):void 0)}return e(t)}function nRA(t,e,A,i){if($Q("validateText"),t.length>104857600)return{validationErrors:[{path:[],message:"Validation turned off: the document is too large",severity:Uc.info}]};if(t.length!==0)try{var n=oh(()=>A.parse(t),s=>$Q("validate: parsed json in ".concat(s," ms")));if(!e)return;var o=A===i?n:oh(()=>i.parse(t),s=>$Q("validate: parsed json with the validationParser in ".concat(s," ms"))),a=oh(()=>e(o),s=>$Q("validate: validated json in ".concat(s," ms")));return Vi(a)?void 0:{validationErrors:a}}catch(s){var r=oh(()=>(function(g,l){if(g.length>FSA)return!1;try{return l.parse(ul(g)),!0}catch{return!1}})(t,A),g=>$Q("validate: checked whether repairable in ".concat(g," ms")));return{parseError:uh(t,s.message||s.toString()),isRepairable:r}}}var Gy=lr("jsoneditor:FocusTracker");function cG(t){var e,{onMount:A,onDestroy:i,getWindow:n,hasFocus:o,onFocus:a,onBlur:r}=t,s=!1;function g(){var C=o();C&&(clearTimeout(e),s||(Gy("focus"),a(),s=C))}function l(){s&&(clearTimeout(e),e=setTimeout(()=>{o()||(Gy("blur"),s=!1,r())}))}A(()=>{Gy("mount FocusTracker");var C=n();C&&(C.addEventListener("focusin",g,!0),C.addEventListener("focusout",l,!0))}),i(()=>{Gy("destroy FocusTracker");var C=n();C&&(C.removeEventListener("focusin",g,!0),C.removeEventListener("focusout",l,!0))})}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-message.svelte-cbvd26 { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + padding: var(--jse-padding, 10px); + display: flex; + gap: var(--jse-padding, 10px); + flex-wrap: wrap; + align-items: stretch; +} +.jse-message.jse-success.svelte-cbvd26 { + background: var(--message-success-background, #9ac45d); + color: var(--jse-message-success-color, #fff); +} +.jse-message.svelte-cbvd26 .jse-text:where(.svelte-cbvd26) { + display: flex; + flex: 1; + min-width: 60%; + align-items: center; +} +.jse-message.svelte-cbvd26 .jse-text.jse-clickable:where(.svelte-cbvd26) { + cursor: pointer; +} +.jse-message.svelte-cbvd26 .jse-text.jse-clickable:where(.svelte-cbvd26):hover { + background-color: rgba(255, 255, 255, 0.1); +} +.jse-message.jse-error.svelte-cbvd26 { + background: var(--jse-message-error-background, var(--jse-error-color, #ee5341)); + color: var(--jse-message-error-color, #fff); +} +.jse-message.jse-warning.svelte-cbvd26 { + background: var(--jse-message-warning-background, #ffde5c); + color: var(--jse-message-warning-color, #4d4d4d); +} +.jse-message.jse-info.svelte-cbvd26 { + background: var(--jse-message-info-background, #4f91ff); + color: var(--jse-message-info-color, #fff); +} +.jse-message.svelte-cbvd26 .jse-actions:where(.svelte-cbvd26) { + display: flex; + gap: var(--jse-padding, 10px); +} +.jse-message.svelte-cbvd26 .jse-actions:where(.svelte-cbvd26) button.jse-action:where(.svelte-cbvd26) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-message-action-background, rgba(255, 255, 255, 0.2)); + color: inherit; + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); +} +.jse-message.svelte-cbvd26 .jse-actions:where(.svelte-cbvd26) button.jse-action:where(.svelte-cbvd26):hover { + background: var(--jse-message-action-background-highlight, rgba(255, 255, 255, 0.3)); +}`);var oRA=FA(''),aRA=FA('
    ');function el(t,e){St(e,!1);var A=N(e,"type",9,"success"),i=N(e,"icon",9,void 0),n=N(e,"message",9,void 0),o=N(e,"actions",25,()=>[]),a=N(e,"onClick",9,void 0),r=N(e,"onClose",9,void 0);r()&&Yl(r()),Ai(!0);var s,g=aRA(),l=CA(g),C=CA(l),I=CA(C),d=E=>{Wi(E,{get data(){return i()}})};TA(I,E=>{i()&&E(d)});var B=bA(I);Ea(bA(l,2),5,o,Ra,(E,Q)=>{var f=oRA(),b=CA(f),S=D=>{Wi(D,{get data(){return c(Q),EA(()=>c(Q).icon)}})};TA(b,D=>{c(Q),EA(()=>c(Q).icon)&&D(S)});var M=bA(b);ve(()=>{var D;Mn(f,"title",(c(Q),EA(()=>c(Q).title))),f.disabled=(c(Q),EA(()=>c(Q).disabled)),Rt(M," ".concat((c(Q),(D=EA(()=>c(Q).text))!==null&&D!==void 0?D:"")))}),ue("click",f,()=>{c(Q).onClick&&c(Q).onClick()}),ue("mousedown",f,()=>{c(Q).onMouseDown&&c(Q).onMouseDown()}),cA(E,f)}),ve(()=>{var E,Q;$t(g,1,"jse-message jse-".concat((E=A())!==null&&E!==void 0?E:""),"svelte-cbvd26"),s=$t(l,1,"jse-text svelte-cbvd26",null,s,{"jse-clickable":!!a()}),Rt(B," ".concat((Q=n())!==null&&Q!==void 0?Q:""))}),ue("click",l,function(){a()&&a()()}),cA(t,g),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-validation-errors-overview.svelte-1342rh4 { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + overflow: auto; + max-height: 25%; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) { + border-collapse: collapse; + width: 100%; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) { + cursor: pointer; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-error:where(.svelte-1342rh4) { + background: var(--jse-message-error-background, var(--jse-error-color, #ee5341)); + color: var(--jse-message-error-color, #fff); +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-warning:where(.svelte-1342rh4) { + background: var(--jse-message-warning-background, #ffde5c); + color: var(--jse-message-warning-color, #4d4d4d); +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-warning:where(.svelte-1342rh4):hover { + filter: brightness(105%); +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-info:where(.svelte-1342rh4) { + background: var(--jse-message-info-background, #4f91ff); + color: var(--jse-message-info-color, #fff); +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4):hover { + filter: brightness(110%); +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td:where(.svelte-1342rh4) { + padding: 4px var(--jse-padding, 10px); + vertical-align: middle; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-icon:where(.svelte-1342rh4) { + width: 36px; + box-sizing: border-box; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-action:where(.svelte-1342rh4) { + width: 36px; + box-sizing: border-box; + padding: 0; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-action:where(.svelte-1342rh4) button.jse-validation-errors-collapse:where(.svelte-1342rh4) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + width: 36px; + height: 26px; + cursor: pointer; +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-action:where(.svelte-1342rh4) button.jse-validation-errors-collapse:where(.svelte-1342rh4):hover { + background-color: rgba(255, 255, 255, 0.2); +} +.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td:where(.svelte-1342rh4) div.jse-validation-errors-expand:where(.svelte-1342rh4) { + display: inline-block; + position: relative; + top: 3px; +}`);var rRA=FA(''),sRA=FA(' '),gRA=FA(' '),lRA=FA('
    '),cRA=FA('
    '),CRA=FA('
    ');function CG(t,e){St(e,!1);var A=IA(void 0,!0),i=N(e,"validationErrors",9),n=N(e,"selectError",9),o=IA(!0,!0);function a(){R(o,!1)}function r(){R(o,!0)}RA(()=>G(i()),()=>{R(A,i().length)}),kn(),Ai(!0);var s=vi(),g=At(s),l=C=>{var I=CRA(),d=CA(I),B=Q=>{var f=lRA(),b=CA(f),S=CA(b);Ea(S,1,()=>(G(tv),G(i()),G(xy),EA(()=>tv(i(),xy))),Ra,(F,_,U)=>{var J=sRA(),j=CA(J);Wi(CA(j),{get data(){return BI}});var $=bA(j),O=CA($),DA=bA($),P=CA(DA),aA=CA(bA(DA)),iA=BA=>{var oA=rRA();Wi(CA(oA),{get data(){return sV}}),ue("click",oA,jC(a)),cA(BA,oA)};TA(aA,BA=>{G(i()),EA(()=>U===0&&i().length>1)&&BA(iA)}),ve(BA=>{var oA;$t(J,1,"jse-validation-".concat((c(_),(oA=EA(()=>c(_).severity))!==null&&oA!==void 0?oA:"")),"svelte-1342rh4"),Rt(O,BA),Rt(P,(c(_),EA(()=>c(_).message)))},[()=>(G(vg),c(_),EA(()=>vg(c(_).path)))]),ue("click",J,()=>{setTimeout(()=>n()(c(_)))}),cA(F,J)});var M=bA(S),D=F=>{var _=gRA(),U=bA(CA(_),2),J=CA(U);ve(()=>Rt(J,"(and ".concat(c(A)-xy," more errors)"))),cA(F,_)};TA(M,F=>{c(A)>xy&&F(D)}),cA(Q,f)},E=Q=>{var f=cRA(),b=CA(f),S=CA(b),M=CA(S);Wi(CA(M),{get data(){return BI}});var D=CA(bA(M));Wi(CA(bA(D)),{get data(){return NS}}),ve(F=>{var _;$t(S,1,"jse-validation-".concat(F??""),"svelte-1342rh4"),Rt(D,"".concat((_=c(A))!==null&&_!==void 0?_:""," validation errors "))},[()=>(G(i()),EA(()=>{return F=i(),[Uc.error,Uc.warning,Uc.info].find(_=>F.some(U=>U.severity===_));var F}))]),ue("click",S,r),cA(Q,f)};TA(d,Q=>{c(o)||c(A)===1?Q(B):Q(E,!1)}),cA(C,I)};TA(g,C=>{G(Vi),G(i()),EA(()=>!Vi(i()))&&C(l)}),cA(t,s),xt()}function Ev(t,e){if(t)return t.addEventListener("keydown",A),{destroy(){t.removeEventListener("keydown",A)}};function A(i){i.key==="Escape"&&(i.preventDefault(),i.stopPropagation(),e())}}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +dialog.jse-modal.svelte-2aoco4 { + border-radius: 3px; + font-size: var(--jse-padding, 10px); + border: none; + padding: 0; + display: flex; + min-width: 0; + margin: auto; + overflow: visible; + transition: width 0.1s ease-in-out, height 0.1s ease-in-out; +} +dialog.jse-modal.jse-sort-modal.svelte-2aoco4 { + width: 400px; +} +dialog.jse-modal.jse-repair-modal.svelte-2aoco4 { + width: 600px; + height: 500px; +} +dialog.jse-modal.jse-jsoneditor-modal.svelte-2aoco4 { + width: 800px; + height: 600px; +} +dialog.jse-modal.jse-transform-modal.svelte-2aoco4 { + width: 1200px; + height: 800px; +} +dialog.jse-modal.jse-fullscreen.svelte-2aoco4 { + width: 100%; + height: 100%; +} +dialog.jse-modal.svelte-2aoco4::backdrop { + background: var(--jse-overlay-background, rgba(0, 0, 0, 0.3)); +} +dialog.jse-modal[open].svelte-2aoco4 { + animation: svelte-2aoco4-zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); +} +dialog.jse-modal[open].svelte-2aoco4::backdrop { + animation: svelte-2aoco4-fade 0.2s ease-out; +} +dialog.jse-modal.svelte-2aoco4 .jse-modal-inner:where(.svelte-2aoco4) { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; + min-height: 0; + padding: 0; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + line-height: normal; + background: var(--jse-modal-background, #f5f5f5); + color: var(--jse-text-color, #4d4d4d); +} +@keyframes svelte-2aoco4-zoom { + from { + transform: scale(0.95); + } + to { + transform: scale(1); + } +} +@keyframes svelte-2aoco4-fade { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +dialog.jse-modal.svelte-2aoco4 .svelte-select { + --border: var(--jse-svelte-select-border, 1px solid #d8dbdf); + --item-is-active-bg: var(--jse-item-is-active-bg, #3883fa); + --border-radius: var(--jse-svelte-select-border-radius, 3px); + --background: var(--jse-svelte-select-background, #fff); + --padding: var(--jse-svelte-select-padding, 0 10px); + --multi-select-padding: var(--jse-svelte-select-multi-select-padding, 0 10px); + --font-size: var(--jse-svelte-select-font-size, var(--jse-font-size, 16px)); + --height: 36px; + --multi-item-height: 28px; + --multi-item-margin: 2px; + --multi-item-padding: 2px 8px; + --multi-item-border-radius: 6px; + --indicator-top: 8px; +}`);var IRA=FA('
    ');function $f(t,e){St(e,!1);var A=N(e,"className",8,void 0),i=N(e,"fullscreen",8,!1),n=N(e,"onClose",8),o=IA();function a(){n()()}is(()=>c(o).showModal()),Yl(()=>c(o).close()),Ai();var r,s=IRA(),g=CA(s);Ba(CA(g),e,"default",{},null),Ko(s,l=>R(o,l),()=>c(o)),Nr(()=>ue("close",s,a)),Nr(()=>{return ue("pointerdown",s,(l=a,function(){for(var C=arguments.length,I=new Array(C),d=0;due("cancel",s,YI(function(l){Lf.call(this,e,l)}))),bs(s,(l,C)=>Ev?.(l,C),()=>a),ve(l=>r=$t(s,1,l,"svelte-2aoco4",r,{"jse-fullscreen":i()}),[()=>n1((G(Oc),G(A()),EA(()=>Oc("jse-modal",A()))))]),cA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-modal-contents.svelte-10a6ob6 { + flex: 1; + display: flex; + flex-direction: column; + padding: 20px; + overflow: auto; + min-width: 0; + min-height: 0; +} +.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) { + display: flex; + flex-direction: row; + justify-content: flex-end; + padding-top: var(--jse-padding, 10px); +} +.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) button.jse-primary:where(.svelte-10a6ob6) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); + color: var(--jse-button-primary-color, #fff); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) button.jse-primary:where(.svelte-10a6ob6):hover { + background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); +} +.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) button.jse-primary:where(.svelte-10a6ob6):disabled { + background: var(--jse-button-primary-background-disabled, #9d9d9d); +} + +.jse-shortcuts.svelte-10a6ob6 { + display: flex; + flex-wrap: wrap; + justify-content: space-around; + margin: calc(2 * var(--jse-padding, 10px)) 0; +} +.jse-shortcuts.svelte-10a6ob6 .jse-shortcut:where(.svelte-10a6ob6) .jse-key:where(.svelte-10a6ob6) { + font-size: 200%; + color: var(--jse-theme-color, #3883fa); +}`);var dRA=FA('
    Clipboard permission is disabled by your browser. You can use:
    for copy
    for cut
    for paste
    ',1);function PoA(t,e){St(e,!1);var A=N(e,"onClose",9),i=ZL()?"\u2318":"Ctrl";Ai(!0),$f(t,{get onClose(){return A()},className:"jse-copy-paste",children:(n,o)=>{var a=dRA(),r=At(a);Bv(r,{title:"Copying and pasting",get onClose(){return A()}});var s=bA(r,2),g=bA(CA(s),2),l=CA(g),C=CA(l),I=CA(C),d=bA(l,2),B=CA(d),E=CA(B),Q=CA(bA(d,2)),f=CA(Q),b=CA(bA(g,2));ve(()=>{Rt(I,"".concat(i,"+C")),Rt(E,"".concat(i,"+X")),Rt(f,"".concat(i,"+V"))}),ue("click",b,function(){for(var S,M=arguments.length,D=new Array(M),F=0;F'),ERA=FA('
    '),QRA=FA(''),hRA=FA('
    ');function Sv(t,e){St(e,!1);var A=N(e,"items",25,()=>[]);Ai(!0);var i=hRA(),n=CA(i);Ba(n,e,"left",{},null);var o=bA(n,2);Ea(o,1,A,Ra,(a,r)=>{var s=vi(),g=At(s),l=I=>{cA(I,BRA())},C=I=>{var d=vi(),B=At(d),E=f=>{cA(f,ERA())},Q=f=>{var b=vi(),S=At(b),M=F=>{var _=QRA(),U=CA(_),J=O=>{Wi(O,{get data(){return c(r),EA(()=>c(r).icon)}})};TA(U,O=>{c(r),EA(()=>c(r).icon)&&O(J)});var j=bA(U,2),$=O=>{var DA=hr();ve(()=>Rt(DA,(c(r),EA(()=>c(r).text)))),cA(O,DA)};TA(j,O=>{c(r),EA(()=>c(r).text)&&O($)}),ve(()=>{var O;$t(_,1,"jse-button ".concat((c(r),(O=EA(()=>c(r).className))!==null&&O!==void 0?O:"")),"svelte-3erbu0"),Mn(_,"title",(c(r),EA(()=>c(r).title))),_.disabled=(c(r),EA(()=>c(r).disabled||!1))}),ue("click",_,function(){for(var O,DA=arguments.length,P=new Array(DA),aA=0;aA{var _=hr();ve(U=>Rt(_,U),[()=>(c(r),EA(()=>(function(U){return console.error("Unknown type of menu item",U),"???"})(c(r))))]),cA(F,_)};TA(S,F=>{G(qC),c(r),EA(()=>qC(c(r)))?F(M):F(D,!1)},!0),cA(f,b)};TA(B,f=>{G(mL),c(r),EA(()=>mL(c(r)))?f(E):f(Q,!1)},!0),cA(I,d)};TA(g,I=>{G(OI),c(r),EA(()=>OI(c(r)))?I(l):I(C,!1)}),cA(a,s)}),Ba(bA(o,2),e,"right",{},null),cA(t,i),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-json-repair-component.svelte-16jv58j { + flex: 1; + display: flex; + flex-direction: column; + background: var(--jse-background-color, #fff); + color: var(--jse-text-color, #4d4d4d); +} +.jse-json-repair-component.svelte-16jv58j .jse-info:where(.svelte-16jv58j) { + padding: calc(0.5 * var(--jse-padding, 10px)); + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + vertical-align: center; +} +.jse-json-repair-component.svelte-16jv58j .jse-json-text:where(.svelte-16jv58j) { + flex: 1; + border: none; + padding: 2px; + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + background: var(--jse-input-background, var(--jse-background-color, #fff)); + color: var(--jse-text-color, #4d4d4d); + resize: none; + outline: none; +}`);var uRA=FA('
    Repair invalid JSON, then click apply
    '),fRA=FA('
    ');function mRA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=IA(void 0,!0),a=IA(void 0,!0),r=IA(void 0,!0),s=N(e,"text",13,""),g=N(e,"readOnly",9,!1),l=N(e,"onParse",9),C=N(e,"onRepair",9),I=N(e,"onChange",9,void 0),d=N(e,"onApply",9),B=N(e,"onCancel",9),E=lr("jsoneditor:JSONRepair"),Q=IA(void 0,!0);function f(){if(c(Q)&&c(A)){var $=c(A).position!==void 0?c(A).position:0;c(Q).setSelectionRange($,$),c(Q).focus()}}function b(){d()(s())}function S(){try{s(C()(s())),I()&&I()(s())}catch{}}var M=IA(void 0,!0);RA(()=>G(s()),()=>{R(A,(function($){try{return void l()($)}catch(O){return uh($,O.message)}})(s()))}),RA(()=>G(s()),()=>{R(i,(function($){try{return C()($),!0}catch{return!1}})(s()))}),RA(()=>c(A),()=>{E("error",c(A))}),RA(()=>G(B()),()=>{R(M,[{type:"space"},{type:"button",icon:g3,title:"Cancel repair",className:"jse-cancel",onClick:B()}])}),RA(()=>LS,()=>{R(n,{icon:LS,text:"Show me",title:"Scroll to the error location",onClick:f})}),RA(()=>MC,()=>{R(o,{icon:MC,text:"Auto repair",title:"Automatically repair JSON",onClick:S})}),RA(()=>(c(i),c(n),c(o)),()=>{R(a,c(i)?[c(n),c(o)]:[c(n)])}),RA(()=>G(g()),()=>{R(r,[{icon:Ww,text:"Apply",title:"Apply fixed JSON",disabled:g(),onClick:b}])}),kn(),Ai(!0);var D=fRA(),F=CA(D);Sv(F,{get items(){return c(M)},$$slots:{left:($,O)=>{cA($,uRA())}}});var _=bA(F,2),U=$=>{var O=tt(()=>(c(A),EA(()=>"Cannot parse JSON: ".concat(c(A).message))));el($,{type:"error",get icon(){return BI},get message(){return c(O)},get actions(){return c(a)}})},J=$=>{el($,{type:"success",message:"JSON is valid now and can be parsed.",get actions(){return c(r)}})};TA(_,$=>{c(A)?$(U):$(J,!1)});var j=bA(_,2);Ko(j,$=>R(Q,$),()=>c(Q)),ve(()=>{j.readOnly=g(),AB(j,s())}),ue("input",j,function($){E("handleChange");var O=$.target.value;s()!==O&&(s(O),I()&&I()(s()))}),cA(t,D),xt()}function joA(t,e){St(e,!1);var A=N(e,"text",13),i=N(e,"onParse",9),n=N(e,"onRepair",9),o=N(e,"onApply",9),a=N(e,"onClose",9);function r(g){o()(g),a()()}function s(){a()()}Ai(!0),$f(t,{get onClose(){return a()},className:"jse-repair-modal",children:(g,l)=>{mRA(g,{get onParse(){return i()},get onRepair(){return n()},onApply:r,onCancel:s,get text(){return A()},set text(C){A(C)},$$legacy:!0})},$$slots:{default:!0}}),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +div.jse-collapsed-items.svelte-1v6dhm4 { + margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + color: var(--jse-collapsed-items-link-color, rgba(0, 0, 0, 0.38)); + padding: calc(0.5 * var(--jse-padding, 10px)); + border: 8px solid transparent; + border-width: 8px 0; + background-color: var(--jse-contents-background-color, transparent); + background-image: linear-gradient(var(--jse-collapsed-items-background-color, #f5f5f5), var(--jse-collapsed-items-background-color, #f5f5f5)), linear-gradient(to bottom right, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%), linear-gradient(to bottom left, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%), linear-gradient(to top right, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%), linear-gradient(to top left, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%); + background-repeat: repeat, repeat-x, repeat-x, repeat-x, repeat-x; + background-position: 0 0, 8px 0, 8px 0, 8px 100%, 8px 100%; + background-size: auto auto, 16px 16px, 16px 16px, 16px 16px, 16px 16px; + background-clip: padding-box, border-box, border-box, border-box, border-box; + background-origin: padding-box, border-box, border-box, border-box, border-box; + display: flex; +} +div.jse-collapsed-items.jse-selected.svelte-1v6dhm4 { + background-color: var(--jse-selection-background-color, #d3d3d3); + --jse-collapsed-items-background-color: var(--jse-collapsed-items-selected-background-color, #c2c2c2); +} +div.jse-collapsed-items.svelte-1v6dhm4 div.jse-text:where(.svelte-1v6dhm4), +div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4) { + margin: 0 calc(0.5 * var(--jse-padding, 10px)); +} +div.jse-collapsed-items.svelte-1v6dhm4 div.jse-text:where(.svelte-1v6dhm4) { + display: inline; +} +div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4) { + font-family: inherit; + font-size: inherit; + color: var(--jse-collapsed-items-link-color, rgba(0, 0, 0, 0.38)); + background: none; + border: none; + padding: 0; + text-decoration: underline; + cursor: pointer; +} +div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4):hover, div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4):focus { + color: var(--jse-collapsed-items-link-color-highlight, #ee5341); +}`);var pRA=FA(''),wRA=FA('
    ');function DRA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=IA(void 0,!0),a=IA(void 0,!0),r=N(e,"visibleSections",9),s=N(e,"sectionIndex",9),g=N(e,"total",9),l=N(e,"path",9),C=N(e,"selection",9),I=N(e,"onExpandSection",9),d=N(e,"context",9);RA(()=>(G(r()),G(s())),()=>{R(A,r()[s()])}),RA(()=>c(A),()=>{R(i,c(A).end)}),RA(()=>(G(r()),G(s()),G(g())),()=>{R(n,r()[s()+1]?r()[s()+1].start:g())}),RA(()=>(G(d()),G(C()),G(l()),c(i)),()=>{R(o,Wf(d().getJson(),C(),l().concat(String(c(i)))))}),RA(()=>(c(i),c(n)),()=>{R(a,(function(M,D){var F={start:M,end:Math.min(fL(M),D)},_=Math.max(nv((M+D)/2),M),U={start:_,end:Math.min(fL(_),D)},J=nv(D),j=J===D?J-Pf:J,$={start:Math.max(j,M),end:D},O=[F],DA=U.start>=F.end&&U.end<=$.start;return DA&&O.push(U),$.start>=(DA?U.end:F.end)&&O.push($),O})(c(i),c(n)))}),kn(),Ai(!0);var B,E,Q=wRA(),f=CA(Q),b=CA(f),S=CA(b);Ea(bA(b,2),1,()=>c(a),Ra,(M,D)=>{var F=pRA(),_=CA(F);ve(()=>{var U,J;return Rt(_,"show ".concat((c(D),(U=EA(()=>c(D).start))!==null&&U!==void 0?U:""),"-").concat((c(D),(J=EA(()=>c(D).end))!==null&&J!==void 0?J:"")))}),ue("click",F,()=>I()(l(),c(D))),cA(M,F)}),ve(()=>{var M,D;B=$t(Q,1,"jse-collapsed-items svelte-1v6dhm4",null,B,{"jse-selected":c(o)}),E=Ul(Q,"",E,{"--level":(G(l()),EA(()=>l().length+2))}),Rt(S,"Items ".concat((M=c(i))!==null&&M!==void 0?M:"","-").concat((D=c(n))!==null&&D!==void 0?D:""))}),ue("mousemove",Q,function(M){M.stopPropagation()}),cA(t,Q),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-context-menu-pointer.svelte-10ijtzr { + position: absolute; + top: calc(-0.5 * var(--jse-context-menu-pointer-size, calc(1em + 4px))); + right: calc(-0.5 * var(--jse-context-menu-pointer-size, calc(1em + 4px))); + width: var(--jse-context-menu-pointer-size, calc(1em + 4px)); + height: var(--jse-context-menu-pointer-size, calc(1em + 4px)); + padding: 0; + margin: 0; + cursor: pointer; + background: transparent; + border-radius: 2px; + background: var(--jse-context-menu-pointer-hover-background, #b2b2b2); + color: var(--jse-context-menu-pointer-color, var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff))); + border: none; + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); +} +.jse-context-menu-pointer.jse-root.svelte-10ijtzr { + top: 0; + right: calc(-2px - var(--jse-context-menu-pointer-size, calc(1em + 4px))); +} +.jse-context-menu-pointer.jse-insert.svelte-10ijtzr { + right: -1px; +} +.jse-context-menu-pointer.svelte-10ijtzr:hover { + background: var(--jse-context-menu-pointer-background-highlight, var(--jse-context-menu-background-highlight, #7a7a7a)); +} +.jse-context-menu-pointer.jse-selected.svelte-10ijtzr { + background: var(--jse-context-menu-pointer-background, var(--jse-context-menu-background, #656565)); +} +.jse-context-menu-pointer.jse-selected.svelte-10ijtzr:hover { + background: var(--jse-context-menu-pointer-background-highlight, var(--jse-context-menu-background-highlight, #7a7a7a)); +}`);var yRA=FA('');function TI(t,e){St(e,!1);var A=N(e,"root",9,!1),i=N(e,"insert",9,!1),n=N(e,"selected",9),o=N(e,"onContextMenu",9);Ai(!0);var a,r=yRA();Wi(CA(r),{get data(){return v0}}),ve(()=>{a=$t(r,1,"jse-context-menu-pointer svelte-10ijtzr",null,a,{"jse-root":A(),"jse-insert":i(),"jse-selected":n()}),Mn(r,"title",$L)}),ue("click",r,function(s){for(var g=s.target;g&&g.nodeName!=="BUTTON";)g=g.parentNode;g&&o()({anchor:g,left:0,top:0,width:XC,height:ZC,offsetTop:2,offsetLeft:0,showTip:!0})}),cA(t,r),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-key.svelte-1n4cez4 { + display: inline-block; + min-width: 2em; + padding: 0 5px; + box-sizing: border-box; + outline: none; + border-radius: 1px; + vertical-align: top; + color: var(--jse-key-color, #1a1a1a); + word-break: normal; + overflow-wrap: normal; + white-space: pre-wrap; +} +.jse-key.jse-empty.svelte-1n4cez4 { + min-width: 3em; + outline: 1px dotted var(--jse-tag-background, rgba(0, 0, 0, 0.2)); + -moz-outline-radius: 2px; +} +.jse-key.jse-empty.svelte-1n4cez4::after { + pointer-events: none; + color: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); + content: "key"; +}`);var vRA=FA('
    '),bRA=FA(" ",1),MRA=FA('
    ');function qoA(t,e){St(e,!0);var A=Dg(()=>In(e.selection)&&rr(e.selection)),i=Dg(()=>e.context.onRenderValue({path:e.path,value:e.value,mode:e.context.mode,truncateTextSize:e.context.truncateTextSize,readOnly:e.context.readOnly,enforceString:e.enforceString,isEditing:c(A),parser:e.context.parser,normalization:e.context.normalization,selection:e.selection,searchResultItems:e.searchResultItems,onPatch:e.context.onPatch,onPasteJson:e.context.onPasteJson,onSelect:e.context.onSelect,onFind:e.context.onFind,findNextInside:e.context.findNextInside,focus:e.context.focus})),n=vi();Ea(At(n),17,()=>c(i),Ra,(o,a)=>{var r=vi(),s=At(r),g=C=>{var I=Dg(()=>c(a).action),d=MRA();bs(d,(B,E)=>{var Q;return(Q=c(I))===null||Q===void 0?void 0:Q(B,E)},()=>c(a).props),cA(C,d)},l=C=>{var I=Dg(()=>c(a).component),d=vi();WnA(At(d),()=>c(I),(B,E)=>{E(B,e1(()=>c(a).props))}),cA(C,d)};TA(s,C=>{USA(c(a))?C(g):C(l,!1)}),cA(o,r)}),cA(t,n),xt()}var kRA={selecting:!1,selectionAnchor:void 0,selectionAnchorType:void 0,selectionFocus:void 0,dragging:!1};function iL(t){var{json:e,selection:A,deltaY:i,items:n}=t;if(!A)return{operations:void 0,updatedSelection:void 0,offset:0};var o=i<0?(function(l){for(var{json:C,items:I,selection:d,deltaY:B}=l,E=$C(C,d),Q=I.findIndex(F=>Bi(F.path,E)),f=()=>{var F;return(F=I[b-1])===null||F===void 0?void 0:F.height},b=Q,S=0;f()!==void 0&&Math.abs(B)>S+f()/2;)S+=f(),b-=1;var M=I[b].path,D=b-Q;return b!==Q&&I[b]!==void 0?{beforePath:M,offset:D}:void 0})({json:e,selection:A,deltaY:i,items:n}):(function(l){for(var C,{json:I,items:d,selection:B,deltaY:E}=l,Q=i1(I,B),f=d.findIndex(j=>Bi(j.path,Q)),b=0,S=f,M=()=>{var j;return(j=d[S+1])===null||j===void 0?void 0:j.height};M()!==void 0&&Math.abs(E)>b+M()/2;)b+=M(),S+=1;var D=Ki(Q),F=je(I,D),_=Array.isArray(F)?S:S+1,U=(C=d[_])===null||C===void 0?void 0:C.path,J=S-f;return U?{beforePath:U,offset:J}:{append:!0,offset:J}})({json:e,selection:A,deltaY:i,items:n});if(!o||o.offset===0)return{operations:void 0,updatedSelection:void 0,offset:0};var a=(function(l,C,I){if(!C)return[];var d="beforePath"in I?I.beforePath:void 0,B="append"in I?I.append:void 0,E=Ki(lt(C)),Q=je(l,E);if(!(B||d&&q0(d,E)&&d.length>E.length))return[];var f=$C(l,C),b=i1(l,C),S=mi(f),M=mi(b),D=d?d[E.length]:void 0;if(!ia(Q)){if(jo(Q)){var F=Fr(S),_=Fr(M),U=D!==void 0?Fr(D):Q.length;return wS(_-F+1,U({op:"move",from:wt(E.concat(String(F+DA))),path:wt(E.concat(String(U+DA)))}):()=>({op:"move",from:wt(E.concat(String(F))),path:wt(E.concat(String(U)))}))}throw new Error("Cannot create move operations: parent must be an Object or Array")}var J=Object.keys(Q),j=J.indexOf(S),$=J.indexOf(M),O=B?J.length:D!==void 0?J.indexOf(D):-1;return j!==-1&&$!==-1&&O!==-1?O>j?[...J.slice(j,$+1),...J.slice(O,J.length)].map(DA=>a1(E,DA)):[...J.slice(O,j),...J.slice($+1,J.length)].map(DA=>a1(E,DA)):[]})(e,A,o),r=Ki($C(e,A)),s=je(e,r);if(Array.isArray(s)){var g=(function(l){var C,I,{items:d,json:B,selection:E,offset:Q}=l,f=$C(B,E),b=i1(B,E),S=d.findIndex(_=>Bi(_.path,f)),M=d.findIndex(_=>Bi(_.path,b)),D=(C=d[S+Q])===null||C===void 0?void 0:C.path,F=(I=d[M+Q])===null||I===void 0?void 0:I.path;return ys(D,F)})({items:n,json:e,selection:A,offset:o.offset});return{operations:a,updatedSelection:g,offset:o.offset}}return{operations:a,updatedSelection:void 0,offset:o.offset}}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +button.jse-validation-error.svelte-q6a061 { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + padding: 0; + margin: 0; + vertical-align: top; + display: inline-flex; + color: var(--jse-error-color, #ee5341); +} + +button.jse-validation-info.svelte-q6a061 { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + padding: 0; + margin: 0; + vertical-align: top; + display: inline-flex; + color: var(--jse-info-color, #4f91ff); +} + +button.jse-validation-warning.svelte-q6a061 { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + padding: 0; + margin: 0; + vertical-align: top; + display: inline-flex; + color: var(--jse-warning-color, #fdc539); +}`);var SRA=FA('');function Ch(t,e){St(e,!1);var A=IA(),i=r1("absolute-popup"),n=N(e,"validationError",8),o=N(e,"onExpand",8);RA(()=>G(n()),()=>{R(A,KSA(n())&&n().isChildError?"Contains invalid data":n().message)}),kn(),Ai();var a=SRA();Wi(CA(a),{get data(){return BI}}),Nr(()=>ue("click",a,function(){for(var r,s=arguments.length,g=new Array(s),l=0;lwh?.(r,s),()=>ye({text:c(A)},i)),ve(()=>{var r;return $t(a,1,"jse-validation-".concat((G(n()),(r=EA(()=>n().severity))!==null&&r!==void 0?r:"")),"svelte-q6a061")}),cA(t,a),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-expand.svelte-1qi6rc1 { + width: var(--jse-indent-size, calc(1em + 4px)); + padding: 0; + margin: 0; + border: none; + cursor: pointer; + background: transparent; + color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); + font-size: var(--jse-font-size-mono, 14px); + height: var(--jse-line-height, calc(1em + 4px)); +} +.jse-expand.svelte-1qi6rc1:hover { + opacity: 0.8; +} + +.jse-meta.svelte-1qi6rc1, +.jse-separator.svelte-1qi6rc1, +.jse-index.svelte-1qi6rc1, +.jse-bracket.svelte-1qi6rc1 { + vertical-align: top; + color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); +} + +.jse-index.svelte-1qi6rc1 { + padding: 0 calc(0.5 * var(--jse-padding, 10px)); +} + +.jse-bracket.svelte-1qi6rc1 { + padding: 0 2px; +} +.jse-bracket.jse-expanded.svelte-1qi6rc1 { + padding-right: var(--jse-padding, 10px); +} + +.jse-identifier.svelte-1qi6rc1 { + vertical-align: top; + position: relative; +} + +.jse-json-node.svelte-1qi6rc1 { + position: relative; + color: var(--jse-text-color, #4d4d4d); +} +.jse-json-node.jse-root.svelte-1qi6rc1 { + min-height: 100%; + padding-bottom: 2px; + box-sizing: border-box; +} +.jse-json-node.jse-root.svelte-1qi6rc1 > .jse-contents-outer:where(.svelte-1qi6rc1) > .jse-contents:where(.svelte-1qi6rc1) { + padding-left: 0; +} +.jse-json-node.svelte-1qi6rc1 .jse-props:where(.svelte-1qi6rc1), +.jse-json-node.svelte-1qi6rc1 .jse-items:where(.svelte-1qi6rc1) { + position: relative; +} +.jse-json-node.svelte-1qi6rc1 .jse-header-outer:where(.svelte-1qi6rc1), +.jse-json-node.svelte-1qi6rc1 .jse-footer-outer:where(.svelte-1qi6rc1) { + display: flex; + margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); +} +.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1) { + position: relative; +} +.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1) .jse-meta:where(.svelte-1qi6rc1) > .jse-meta-inner:where(.svelte-1qi6rc1) { + display: flex; + justify-content: center; +} +.jse-json-node.svelte-1qi6rc1 .jse-contents-outer:where(.svelte-1qi6rc1) { + display: flex; + margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); +} +.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1), +.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1) { + display: flex; + flex-direction: row; + align-items: flex-start; +} +.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1) { + padding-left: var(--jse-indent-size, calc(1em + 4px)); + cursor: var(--jse-contents-cursor, pointer); +} +.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1) .jse-value-outer:where(.svelte-1qi6rc1) { + display: inline-flex; +} +.jse-json-node.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1) { + display: inline-flex; + padding-left: calc(var(--jse-indent-size, calc(1em + 4px)) + 5px); +} +.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1), +.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1), +.jse-json-node.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1) { + background: var(--jse-contents-background-color, transparent); +} +.jse-json-node.svelte-1qi6rc1 .jse-insert-selection-area:where(.svelte-1qi6rc1) { + padding: 0 calc(0.5 * var(--jse-padding, 10px)); + flex: 1; +} +.jse-json-node.svelte-1qi6rc1 .jse-insert-selection-area.jse-inside:where(.svelte-1qi6rc1) { + display: inline-flex; + align-items: center; +} +.jse-json-node.svelte-1qi6rc1 .jse-insert-selection-area.jse-after:where(.svelte-1qi6rc1) { + display: flex; + align-items: flex-end; +} +.jse-json-node.svelte-1qi6rc1 .jse-context-menu-pointer-anchor:where(.svelte-1qi6rc1) { + position: relative; +} +.jse-json-node.svelte-1qi6rc1 .jse-insert-area:where(.svelte-1qi6rc1) { + display: flex; + position: relative; + z-index: 1; + margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); + max-width: 250px; + min-width: 100px; + height: 0; + margin-right: calc(0.5 * var(--jse-padding, 10px)); + outline: 1px solid; +} +.jse-json-node.svelte-1qi6rc1 .jse-insert-area.jse-hovered:where(.svelte-1qi6rc1) { + outline-color: var(--jse-context-menu-pointer-hover-background, #b2b2b2); +} +.jse-json-node.svelte-1qi6rc1 .jse-key-outer:where(.svelte-1qi6rc1) { + position: relative; +} +.jse-json-node.svelte-1qi6rc1 .jse-key-outer:where(.svelte-1qi6rc1):hover, +.jse-json-node.svelte-1qi6rc1 .jse-value-outer:where(.svelte-1qi6rc1):hover, +.jse-json-node.svelte-1qi6rc1 .jse-meta:where(.svelte-1qi6rc1):hover, +.jse-json-node.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1):hover { + background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); + cursor: var(--jse-contents-cursor, pointer); +} +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-header, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-contents, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-header, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-contents, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-footer { + background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); + cursor: var(--jse-contents-cursor, pointer); +} +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-value-outer .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-value-outer .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-meta .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-meta .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-header .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-header .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-contents .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-contents .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-header .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-header .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-contents .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-contents .jse-meta, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-footer .jse-value-outer, +.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-footer .jse-meta { + background: none; +} +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1), +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1), +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1) { + background: var(--jse-selection-background-color, #d3d3d3); + cursor: var(--jse-contents-selected-cursor, grab); +} +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-key-outer:where(.svelte-1qi6rc1):hover, +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-value-outer:where(.svelte-1qi6rc1):hover, +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-meta:where(.svelte-1qi6rc1):hover, +.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1):hover { + background: inherit; + cursor: inherit; +} +.jse-json-node.svelte-1qi6rc1 .jse-key-outer.jse-selected-key:where(.svelte-1qi6rc1) { + background: var(--jse-selection-background-color, #d3d3d3); + cursor: var(--jse-contents-selected-cursor, grab); +} +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-value-outer, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-meta, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-header, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-contents, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-header, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-contents, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-footer { + background: var(--jse-selection-background-color, #d3d3d3); + cursor: var(--jse-contents-selected-cursor, grab); +} +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-value-outer .jse-key-outer:hover, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-meta .jse-key-outer:hover, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-header .jse-key-outer:hover, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-contents .jse-key-outer:hover, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-header .jse-key-outer:hover, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-contents .jse-key-outer:hover, +.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-footer .jse-key-outer:hover { + background: inherit; + cursor: inherit; +} +.jse-json-node.jse-readonly.svelte-1qi6rc1 { + --jse-contents-selected-cursor: pointer; +} +.jse-json-node.svelte-1qi6rc1 .jse-insert-area.jse-selected:where(.svelte-1qi6rc1) { + outline-color: var(--jse-context-menu-pointer-background, var(--jse-context-menu-background, #656565)); +}`);var Lo=pv(()=>kRA),xRA=FA('
    :
    '),RRA=FA('
    [
     ',1),NRA=FA('
    [
    ]
    ',1),FRA=FA('
    '),_RA=FA('
    '),LRA=FA('
    '),GRA=FA('
    '),KRA=FA('
    '),URA=FA(" ",1),JRA=FA('
    '),YRA=FA('
    ',1),TRA=FA('
    ',1),HRA=FA('
    :
    '),zRA=FA('
    {
    '),ORA=FA('
    {
    }
    ',1),PRA=FA('
    '),jRA=FA('
    '),qRA=FA('
    '),VRA=FA('
    '),WRA=FA('
    '),ZRA=FA('
    '),XRA=FA('
    ',1),$RA=FA('
    ',1),ANA=FA('
    :
    '),eNA=FA('
    '),tNA=FA('
    '),iNA=FA('
    '),nNA=FA('
    '),oNA=FA('
    ');function RL(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=N(e,"pointer",9),o=N(e,"value",9),a=N(e,"state",9),r=N(e,"validationErrors",9),s=N(e,"searchResults",9),g=N(e,"selection",9),l=N(e,"context",9),C=N(e,"onDragSelectionStart",9),I=lr("jsoneditor:JSONNode"),d=IA(void 0,!0),B=void 0,E=IA(void 0,!0),Q=IA(void 0,!0),f=IA(void 0,!0),b=IA(void 0,!0),S=IA(void 0,!0),M=IA(void 0,!0),D=IA(void 0,!0);function F(HA){HA.stopPropagation();var uA=XL(HA);l().onExpand(c(Q),!c(f),uA)}function _(){l().onExpand(c(Q),!0)}function U(HA,uA){var XA=Cm(c(Q),Object.keys(o()),HA,uA);return l().onPatch(XA),mi(hs(XA[0].path))}function J(HA){l().onDrag(HA)}function j(HA){Lo().selecting&&(Lo(Lo().selecting=!1),HA.stopPropagation()),l().onDragEnd(),document.removeEventListener("mousemove",J,!0),document.removeEventListener("mouseup",j)}function $(){var HA;return((HA=l().findElement([]))===null||HA===void 0||(HA=HA.getBoundingClientRect())===null||HA===void 0?void 0:HA.top)||0}function O(HA,uA){var XA=$()-HA.initialContentTop;return uA.clientY-HA.initialClientY-XA}function DA(HA){if(!l().readOnly&&g()){var uA=Ki(lt(g()));if(Bi(c(Q),uA)){var XA=(function(LA,pA){var Ft=[];function ht(z){var nA=c(Q).concat(z),rA=l().findElement(nA);rA!==void 0&&Ft.push({path:nA,height:rA.clientHeight})}if(Array.isArray(o())){var Ee=l().getJson();if(Ee===void 0)return;var Kt=$C(Ee,LA),Je=i1(Ee,LA),ze=parseInt(mi(Kt),10),ut=parseInt(mi(Je),10),ke=pA.find(z=>ze>=z.start&&ut<=z.end);if(!ke)return;var{start:ei,end:Y}=ke;toA(ei,Math.min(o().length,Y),z=>ht(String(z)))}else Object.keys(o()).forEach(ht);return Ft})(g(),c(S)||gh);if(I("dragSelectionStart",{selection:g(),items:XA}),XA){var QA=l().getJson();if(QA!==void 0){var ZA=$C(QA,g()),MA=XA.findIndex(LA=>Bi(LA.path,ZA)),{offset:Me}=iL({json:QA,selection:l().getSelection(),deltaY:0,items:XA});R(E,{initialTarget:HA.target,initialClientY:HA.clientY,initialContentTop:$(),selectionStartIndex:MA,selectionItemsCount:o1(QA,g()).length,items:XA,offset:Me,didMoveItems:!1}),Lo(Lo().dragging=!0),document.addEventListener("mousemove",P,!0),document.addEventListener("mouseup",aA)}}else I("Cannot drag the current selection (probably spread over multiple sections)")}else C()(HA)}}function P(HA){if(c(E)){var uA=l().getJson();if(uA===void 0)return;var XA=O(c(E),HA),{offset:QA}=iL({json:uA,selection:l().getSelection(),deltaY:XA,items:c(E).items});QA!==c(E).offset&&(I("drag selection",QA,XA),R(E,ye(ye({},c(E)),{},{offset:QA,didMoveItems:!0})))}}function aA(HA){if(c(E)){var uA=l().getJson();if(uA===void 0)return;var XA=O(c(E),HA),{operations:QA,updatedSelection:ZA}=iL({json:uA,selection:l().getSelection(),deltaY:XA,items:c(E).items});if(QA)l().onPatch(QA,(LA,pA)=>({state:pA,selection:ZA??g()}));else if(HA.target===c(E).initialTarget&&!c(E).didMoveItems){var MA=z_(HA.target),Me=doA(HA.target);Me&&l().onSelect(viA(MA,Me))}R(E,void 0),Lo(Lo().dragging=!1),document.removeEventListener("mousemove",P,!0),document.removeEventListener("mouseup",aA)}}function iA(HA){HA.shiftKey||(HA.stopPropagation(),HA.preventDefault(),l().onSelect(g2(c(Q))))}function BA(HA){HA.shiftKey||(HA.stopPropagation(),HA.preventDefault(),l().onSelect(i2(c(Q))))}function oA(HA){l().onSelect(g2(c(Q))),bo(),l().onContextMenu(HA)}function sA(HA){l().onSelect(i2(c(Q))),bo(),l().onContextMenu(HA)}RA(()=>G(n()),()=>{R(Q,hs(n()))}),RA(()=>G(n()),()=>{R(A,encodeURIComponent(n()))}),RA(()=>G(a()),()=>{R(f,!!eB(a())&&a().expanded)}),RA(()=>(G(o()),G(a())),()=>{R(b,z0(o(),a(),[]))}),RA(()=>G(a()),()=>{R(S,sr(a())?a().visibleSections:void 0)}),RA(()=>G(r()),()=>{var HA;R(M,(HA=r())===null||HA===void 0?void 0:HA.validationError)}),RA(()=>(G(l()),G(g()),c(Q)),()=>{R(D,Wf(l().getJson(),g(),c(Q)))}),RA(()=>c(Q),()=>{R(i,c(Q).length===0)}),kn(),Ai(!0);var hA,YA,ee=oNA(),UA=CA(ee),mA=HA=>{var uA=TRA(),XA=At(uA),QA=CA(XA),ZA=CA(QA),MA=CA(ZA),Me=xA=>{Wi(xA,{get data(){return v0}})},LA=xA=>{Wi(xA,{get data(){return WE}})};TA(MA,xA=>{c(f)?xA(Me):xA(LA,!1)});var pA=bA(ZA,2);Ba(pA,e,"identifier",{},null);var Ft=bA(pA,2),ht=xA=>{cA(xA,xRA())};TA(Ft,xA=>{c(i)||xA(ht)});var Ee=bA(Ft,2),Kt=CA(Ee),Je=CA(Kt),ze=xA=>{var _A=RRA();Wy(bA(At(_A),2),{children:(Et,et)=>{var Ye=hr();ve(()=>{var Ge,si;return Rt(Ye,"".concat((G(o()),(Ge=EA(()=>o().length))!==null&&Ge!==void 0?Ge:""),` + `).concat((G(o()),(si=EA(()=>o().length===1?"item":"items"))!==null&&si!==void 0?si:"")))}),cA(Et,Ye)},$$slots:{default:!0}}),cA(xA,_A)},ut=xA=>{var _A=NRA();Wy(bA(At(_A),2),{onclick:_,children:(Et,et)=>{var Ye=hr();ve(()=>{var Ge,si;return Rt(Ye,"".concat((G(o()),(Ge=EA(()=>o().length))!==null&&Ge!==void 0?Ge:""),` + `).concat((G(o()),(si=EA(()=>o().length===1?"item":"items"))!==null&&si!==void 0?si:"")))}),cA(Et,Ye)},$$slots:{default:!0}}),cA(xA,_A)};TA(Je,xA=>{c(f)?xA(ze):xA(ut,!1)});var ke=bA(Ee,2),ei=xA=>{var _A=FRA();TI(CA(_A),{get root(){return c(i)},selected:!0,get onContextMenu(){return G(l()),EA(()=>l().onContextMenu)}}),cA(xA,_A)};TA(ke,xA=>{G(l()),c(D),G(g()),G(In),G(lo),G(rr),G(Bi),G(lt),c(Q),EA(()=>!l().readOnly&&c(D)&&g()&&(In(g())||lo(g()))&&!rr(g())&&Bi(lt(g()),c(Q)))&&xA(ei)});var Y=bA(QA,2),z=xA=>{Ch(xA,{get validationError(){return c(M)},onExpand:_})};TA(Y,xA=>{c(M),c(f),EA(()=>c(M)&&(!c(f)||!c(M).isChildError))&&xA(z)});var nA=bA(Y,2),rA=xA=>{var _A=_RA();ue("click",_A,iA),cA(xA,_A)},NA=xA=>{var _A=LRA();ue("click",_A,BA),cA(xA,_A)};TA(nA,xA=>{c(f)?xA(rA):xA(NA,!1)});var Ie=bA(XA,2),Qe=xA=>{var _A=YRA(),Et=At(_A),et=CA(Et),Ye=dn=>{var Le,Zi,Qi=GRA(),bi=CA(Qi),zi=tt(()=>(c(D),G(Ar),G(g()),EA(()=>c(D)&&Ar(g()))));TI(bi,{insert:!0,get selected(){return c(zi)},onContextMenu:oA}),ve(yt=>{Le=$t(Qi,1,"jse-insert-area jse-inside svelte-1qi6rc1",null,Le,yt),Mn(Qi,"title",j_),Zi=Ul(Qi,"",Zi,{"--level":(c(Q),EA(()=>c(Q).length+1))})},[()=>({"jse-hovered":c(d)===Gd,"jse-selected":c(D)&&Ar(g())})]),cA(dn,Qi)};TA(et,dn=>{G(l()),c(d),G(Gd),c(D),G(Ar),G(g()),EA(()=>!l().readOnly&&(c(d)===Gd||c(D)&&Ar(g())))&&dn(Ye)}),Ea(bA(et,2),1,()=>c(S)||gh,Ra,(dn,Le,Zi)=>{var Qi=URA(),bi=At(Qi);Ea(bi,1,()=>(G(o()),c(Le),c(E),EA(()=>(function(Xi,_t,L){var ct=_t.start,li=Math.min(_t.end,Xi.length),Bn=jw(ct,li);return L&&L.offset!==0?aiA(Bn,L.selectionStartIndex,L.selectionItemsCount,L.offset).map((En,qn)=>({index:En,gutterIndex:qn})):Bn.map(En=>({index:En,gutterIndex:En}))})(o(),c(Le),c(E)))),Xi=>Xi.index,(Xi,_t)=>{var L=tt(()=>(G(sr),G(r()),c(_t),EA(()=>sr(r())?r().items[c(_t).index]:void 0))),ct=tt(()=>(G(Fy),G(l()),G(g()),c(Q),c(_t),EA(()=>Fy(l().getJson(),g(),c(Q).concat(String(c(_t).index)))))),li=vi(),Bn=At(li),En=tt(()=>(G(j4),G(n()),c(_t),EA(()=>j4(n(),c(_t).index)))),qn=tt(()=>(G(sr),G(a()),c(_t),EA(()=>sr(a())?a().items[c(_t).index]:void 0))),Uo=tt(()=>(G(sr),G(s()),c(_t),EA(()=>sr(s())?s().items[c(_t).index]:void 0)));RL(Bn,{get value(){return G(o()),c(_t),EA(()=>o()[c(_t).index])},get pointer(){return c(En)},get state(){return c(qn)},get validationErrors(){return c(L)},get searchResults(){return c(Uo)},get selection(){return c(ct)},get context(){return l()},onDragSelectionStart:DA,$$slots:{identifier:(Co,Mo)=>{var Wo=KRA(),wo=CA(Wo),Qa=CA(wo);ve(()=>Rt(Qa,(c(_t),EA(()=>c(_t).gutterIndex)))),cA(Co,Wo)}}}),cA(Xi,li)});var zi=bA(bi,2),yt=Xi=>{var _t=tt(()=>c(S)||gh);DRA(Xi,{get visibleSections(){return c(_t)},sectionIndex:Zi,get total(){return G(o()),EA(()=>o().length)},get path(){return c(Q)},get onExpandSection(){return G(l()),EA(()=>l().onExpandSection)},get selection(){return g()},get context(){return l()}})};TA(zi,Xi=>{c(Le),G(o()),EA(()=>c(Le).end{var Le=JRA();ue("click",Le,BA),cA(dn,Le)};TA(si,dn=>{c(i)||dn(gn)}),cA(xA,_A)};TA(Ie,xA=>{c(f)&&xA(Qe)}),ue("click",ZA,F),cA(HA,uA)},KA=HA=>{var uA=vi(),XA=At(uA),QA=MA=>{var Me=$RA(),LA=At(Me),pA=CA(LA),Ft=CA(pA),ht=CA(Ft),Ee=Ge=>{Wi(Ge,{get data(){return v0}})},Kt=Ge=>{Wi(Ge,{get data(){return WE}})};TA(ht,Ge=>{c(f)?Ge(Ee):Ge(Kt,!1)});var Je=bA(Ft,2);Ba(Je,e,"identifier",{},null);var ze=bA(Je,2),ut=Ge=>{cA(Ge,HRA())};TA(ze,Ge=>{c(i)||Ge(ut)});var ke=bA(ze,2),ei=CA(ke),Y=CA(ei),z=Ge=>{cA(Ge,zRA())},nA=Ge=>{var si=ORA();Wy(bA(At(si),2),{onclick:_,children:(gn,dn)=>{var Le=hr();ve((Zi,Qi)=>Rt(Le,"".concat(Zi??"",` + `).concat(Qi??"")),[()=>(G(o()),EA(()=>Object.keys(o()).length)),()=>(G(o()),EA(()=>Object.keys(o()).length===1?"prop":"props"))]),cA(gn,Le)},$$slots:{default:!0}}),cA(Ge,si)};TA(Y,Ge=>{c(f)?Ge(z):Ge(nA,!1)});var rA=bA(ke,2),NA=Ge=>{var si=PRA();TI(CA(si),{get root(){return c(i)},selected:!0,get onContextMenu(){return G(l()),EA(()=>l().onContextMenu)}}),cA(Ge,si)};TA(rA,Ge=>{G(l()),c(D),G(g()),G(In),G(lo),G(rr),G(Bi),G(lt),c(Q),EA(()=>!l().readOnly&&c(D)&&g()&&(In(g())||lo(g()))&&!rr(g())&&Bi(lt(g()),c(Q)))&&Ge(NA)});var Ie=bA(pA,2),Qe=Ge=>{Ch(Ge,{get validationError(){return c(M)},onExpand:_})};TA(Ie,Ge=>{c(M),c(f),EA(()=>c(M)&&(!c(f)||!c(M).isChildError))&&Ge(Qe)});var xA=bA(Ie,2),_A=Ge=>{var si=jRA();ue("click",si,iA),cA(Ge,si)},Et=Ge=>{var si=vi(),gn=At(si),dn=Le=>{var Zi=qRA();ue("click",Zi,BA),cA(Le,Zi)};TA(gn,Le=>{c(i)||Le(dn)},!0),cA(Ge,si)};TA(xA,Ge=>{c(f)?Ge(_A):Ge(Et,!1)});var et=bA(LA,2),Ye=Ge=>{var si=XRA(),gn=At(si),dn=CA(gn),Le=zi=>{var yt,Xi,_t=VRA(),L=CA(_t),ct=tt(()=>(c(D),G(Ar),G(g()),EA(()=>c(D)&&Ar(g()))));TI(L,{insert:!0,get selected(){return c(ct)},onContextMenu:oA}),ve(li=>{yt=$t(_t,1,"jse-insert-area jse-inside svelte-1qi6rc1",null,yt,li),Mn(_t,"title",j_),Xi=Ul(_t,"",Xi,{"--level":(c(Q),EA(()=>c(Q).length+1))})},[()=>({"jse-hovered":c(d)===Gd,"jse-selected":c(D)&&Ar(g())})]),cA(zi,_t)};TA(dn,zi=>{G(l()),c(d),G(Gd),c(D),G(Ar),G(g()),EA(()=>!l().readOnly&&(c(d)===Gd||c(D)&&Ar(g())))&&zi(Le)}),Ea(bA(dn,2),1,()=>(G(o()),c(E),EA(()=>(function(zi,yt){var Xi=Object.keys(zi);return yt&&yt.offset!==0?aiA(Xi,yt.selectionStartIndex,yt.selectionItemsCount,yt.offset):Xi})(o(),c(E)))),Ra,(zi,yt)=>{var Xi=tt(()=>(G(j4),G(n()),c(yt),EA(()=>j4(n(),c(yt))))),_t=tt(()=>(G(wg),G(s()),c(yt),EA(()=>wg(s())?s().properties[c(yt)]:void 0))),L=tt(()=>(G(wg),G(r()),c(yt),EA(()=>wg(r())?r().properties[c(yt)]:void 0))),ct=tt(()=>(c(Q),c(yt),EA(()=>c(Q).concat(c(yt))))),li=tt(()=>(G(Fy),G(l()),G(g()),G(c(ct)),EA(()=>Fy(l().getJson(),g(),c(ct))))),Bn=vi(),En=At(Bn),qn=tt(()=>(G(wg),G(a()),c(yt),EA(()=>wg(a())?a().properties[c(yt)]:void 0)));RL(En,{get value(){return G(o()),c(yt),EA(()=>o()[c(yt)])},get pointer(){return c(Xi)},get state(){return c(qn)},get validationErrors(){return c(L)},get searchResults(){return c(_t)},get selection(){return c(li)},get context(){return l()},onDragSelectionStart:DA,$$slots:{identifier:(Uo,Co)=>{var Mo,Wo=WRA(),wo=CA(Wo),Qa=tt(()=>(G(NiA),G(c(_t)),EA(()=>NiA(c(_t)))));(function(Zo,ra){St(ra,!1);var Do=IA(void 0,!0),re=IA(void 0,!0),di=N(ra,"pointer",9),ln=N(ra,"key",9),Qn=N(ra,"selection",9),Jo=N(ra,"searchResultItems",9),ya=N(ra,"onUpdateKey",9),wi=N(ra,"context",9),Io=IA(void 0,!0);function tr(vA){c(re)||wi().readOnly||(vA.preventDefault(),wi().onSelect(sG(c(Io))))}function yo(vA,VA){var me=ya()(ln(),wi().normalization.unescapeValue(vA)),dA=Ki(c(Io)).concat(me);wi().onSelect(VA===t1.nextInside?Ui(dA):s2(dA)),VA!==t1.self&&wi().focus()}function Pa(){wi().onSelect(s2(c(Io))),wi().focus()}RA(()=>G(di()),()=>{R(Io,hs(di()))}),RA(()=>(G(Qn()),c(Io)),()=>{R(Do,gr(Qn())&&Bi(Qn().path,c(Io)))}),RA(()=>(c(Do),G(Qn())),()=>{R(re,c(Do)&&rr(Qn()))}),kn(),Ai(!0);var Gn=bRA(),Si=At(Gn),Pt=vA=>{var VA=tt(()=>(G(wi()),G(ln()),EA(()=>wi().normalization.escapeValue(ln())))),me=tt(()=>(G(rr),G(Qn()),EA(()=>rr(Qn())?Qn().initialValue:void 0)));yoA(vA,{get value(){return c(VA)},get initialValue(){return c(me)},label:"Edit key",shortText:!0,onChange:yo,onCancel:Pa,get onFind(){return G(wi()),EA(()=>wi().onFind)}})},Sn=vA=>{var VA,me=vRA(),dA=CA(me),SA=xe=>{var it=tt(()=>(G(wi()),G(ln()),EA(()=>wi().normalization.escapeValue(ln()))));RoA(xe,{get text(){return c(it)},get searchResultItems(){return Jo()}})},oe=xe=>{var it=hr();ve(rt=>Rt(it,rt),[()=>(G(fh),G(wi()),G(ln()),EA(()=>fh(wi().normalization.escapeValue(ln()))))]),cA(xe,it)};TA(dA,xe=>{Jo()?xe(SA):xe(oe,!1)}),ve(()=>VA=$t(me,1,"jse-key svelte-1n4cez4",null,VA,{"jse-empty":ln()===""})),ue("dblclick",me,tr),cA(vA,me)};TA(Si,vA=>{G(wi()),c(re),EA(()=>!wi().readOnly&&c(re))?vA(Pt):vA(Sn,!1)});var Bo=bA(Si,2),ko=vA=>{TI(vA,{selected:!0,get onContextMenu(){return G(wi()),EA(()=>wi().onContextMenu)}})};TA(Bo,vA=>{G(wi()),c(Do),c(re),EA(()=>!wi().readOnly&&c(Do)&&!c(re))&&vA(ko)}),cA(Zo,Gn),xt()})(wo,{get pointer(){return c(Xi)},get key(){return c(yt)},get selection(){return c(li)},get searchResultItems(){return c(Qa)},get context(){return l()},onUpdateKey:U}),ve(Zo=>Mo=$t(Wo,1,"jse-key-outer svelte-1qi6rc1",null,Mo,Zo),[()=>({"jse-selected-key":gr(c(li))&&Bi(c(li).path,c(ct))})]),cA(Uo,Wo)}}}),cA(zi,Bn)});var Zi=bA(gn,2),Qi=bA(CA(Zi),2),bi=zi=>{var yt=ZRA();ue("click",yt,BA),cA(zi,yt)};TA(Qi,zi=>{c(i)||zi(bi)}),cA(Ge,si)};TA(et,Ge=>{c(f)&&Ge(Ye)}),ue("click",Ft,F),cA(MA,Me)},ZA=MA=>{var Me=iNA(),LA=CA(Me),pA=CA(LA);Ba(pA,e,"identifier",{},null);var Ft=bA(pA,2),ht=rA=>{cA(rA,ANA())};TA(Ft,rA=>{c(i)||rA(ht)});var Ee=bA(Ft,2),Kt=CA(Ee),Je=tt(()=>c(D)?g():void 0),ze=tt(()=>(G(FiA),G(s()),EA(()=>FiA(s()))));qoA(Kt,{get path(){return c(Q)},get value(){return o()},get enforceString(){return c(b)},get selection(){return c(Je)},get searchResultItems(){return c(ze)},get context(){return l()}});var ut=bA(Ee,2),ke=rA=>{var NA=eNA();TI(CA(NA),{get root(){return c(i)},selected:!0,get onContextMenu(){return G(l()),EA(()=>l().onContextMenu)}}),cA(rA,NA)};TA(ut,rA=>{G(l()),c(D),G(g()),G(In),G(lo),G(rr),G(Bi),G(lt),c(Q),EA(()=>!l().readOnly&&c(D)&&g()&&(In(g())||lo(g()))&&!rr(g())&&Bi(lt(g()),c(Q)))&&rA(ke)});var ei=bA(LA,2),Y=rA=>{Ch(rA,{get validationError(){return c(M)},onExpand:_})};TA(ei,rA=>{c(M)&&rA(Y)});var z=bA(ei,2),nA=rA=>{var NA=tNA();ue("click",NA,BA),cA(rA,NA)};TA(z,rA=>{c(i)||rA(nA)}),cA(MA,Me)};TA(XA,MA=>{G(pn),G(o()),EA(()=>pn(o()))?MA(QA):MA(ZA,!1)},!0),cA(HA,uA)};TA(UA,HA=>{G(o()),EA(()=>Array.isArray(o()))?HA(mA):HA(KA,!1)});var Pe=bA(UA,2),Ue=HA=>{var uA,XA=nNA(),QA=CA(XA),ZA=tt(()=>(c(D),G(yg),G(g()),EA(()=>c(D)&&yg(g()))));TI(QA,{insert:!0,get selected(){return c(ZA)},onContextMenu:sA}),ve(MA=>{uA=$t(XA,1,"jse-insert-area jse-after svelte-1qi6rc1",null,uA,MA),Mn(XA,"title",j_)},[()=>({"jse-hovered":c(d)===Ry,"jse-selected":c(D)&&yg(g())})]),cA(HA,XA)};TA(Pe,HA=>{G(l()),c(d),G(Ry),c(D),G(yg),G(g()),EA(()=>!l().readOnly&&(c(d)===Ry||c(D)&&yg(g())))&&HA(Ue)}),ve((HA,uA)=>{hA=$t(ee,1,HA,"svelte-1qi6rc1",hA,uA),Mn(ee,"data-path",c(A)),Mn(ee,"aria-selected",c(D)),YA=Ul(ee,"",YA,{"--level":(c(Q),EA(()=>c(Q).length))})},[()=>n1((G(Oc),c(f),G(l()),c(Q),G(o()),EA(()=>Oc("jse-json-node",{"jse-expanded":c(f)},l().onClassName(c(Q),o()))))),()=>({"jse-root":c(i),"jse-selected":c(D)&&lo(g()),"jse-selected-value":c(D)&&In(g()),"jse-readonly":l().readOnly,"jse-hovered":c(d)===liA})]),ue("mousedown",ee,function(HA){if((HA.buttons===1||HA.buttons===2)&&!((uA=HA.target).nodeName==="DIV"&&uA.contentEditable==="true"||HA.buttons===1&&CoA(HA.target,"BUTTON"))){var uA;HA.stopPropagation(),HA.preventDefault(),l().focus(),document.addEventListener("mousemove",J,!0),document.addEventListener("mouseup",j);var XA=z_(HA.target),QA=l().getJson(),ZA=l().getDocumentState();if(!g()||XA===no.after||XA===no.inside||g().type!==XA&&g().type!==no.multi||!Wf(QA,g(),c(Q)))if(Lo(Lo().selecting=!0),Lo(Lo().selectionAnchor=c(Q)),Lo(Lo().selectionAnchorType=XA),Lo(Lo().selectionFocus=c(Q)),HA.shiftKey){var MA=l().getSelection();MA&&l().onSelect(ys(jd(MA),c(Q)))}else if(XA===no.multi)if(c(i)&&HA.target.hasAttribute("data-path")){var Me=mi(foA(o(),ZA));l().onSelect(DL(Me))}else l().onSelect(ys(c(Q),c(Q)));else QA!==void 0&&l().onSelect(viA(XA,c(Q)));else HA.button===0&&C()(HA)}}),ue("mousemove",ee,function(HA){if(Lo().selecting){HA.preventDefault(),HA.stopPropagation(),Lo().selectionFocus===void 0&&window.getSelection&&window.getSelection().empty();var uA=z_(HA.target);Bi(c(Q),Lo().selectionFocus)&&uA===Lo().selectionAnchorType||(Lo(Lo().selectionFocus=c(Q)),Lo(Lo().selectionAnchorType=uA),l().onSelect(ys(Lo().selectionAnchor||Lo().selectionFocus,Lo().selectionFocus)))}}),ue("mouseover",ee,function(HA){Lo().selecting||Lo().dragging||(HA.stopPropagation(),VI(HA.target,"data-type","selectable-value")?R(d,liA):VI(HA.target,"data-type","selectable-key")?R(d,void 0):VI(HA.target,"data-type","insert-selection-area-inside")?R(d,Gd):VI(HA.target,"data-type","insert-selection-area-after")&&R(d,Ry),clearTimeout(B))}),ue("mouseout",ee,function(HA){HA.stopPropagation(),B=window.setTimeout(()=>R(d,void 0))}),cA(t,ee),xt()}var VoA={prefix:"fas",iconName:"jsoneditor-expand",icon:[512,512,[],"","M 0,448 V 512 h 512 v -64 z M 0,0 V 64 H 512 V 0 Z M 256,96 128,224 h 256 z M 256,416 384,288 H 128 Z"]},WoA={prefix:"fas",iconName:"jsoneditor-collapse",icon:[512,512,[],"","m 0,224 v 64 h 512 v -64 z M 256,192 384,64 H 128 Z M 256,320 128,448 h 256 z"]},PiA={prefix:"fas",iconName:"jsoneditor-format",icon:[512,512,[],"","M 0,32 v 64 h 416 v -64 z M 160,160 v 64 h 352 v -64 z M 160,288 v 64 h 288 v -64 z M 0,416 v 64 h 320 v -64 z"]},aNA={prefix:"fas",iconName:"jsoneditor-compact",icon:[512,512,[],"","M 0,32 v 64 h 512 v -64 z M 0,160 v 64 h 512 v -64 z M 0,288 v 64 h 352 v -64 z"]};qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-welcome.svelte-1lhnan { + flex: 1; + overflow: auto; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + display: flex; + flex-direction: column; + align-items: center; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-welcome.svelte-1lhnan:last-child { + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-welcome.svelte-1lhnan .jse-space.jse-before:where(.svelte-1lhnan) { + flex: 1; +} +.jse-welcome.svelte-1lhnan .jse-space.jse-after:where(.svelte-1lhnan) { + flex: 2; +} +.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) { + display: flex; + flex-direction: column; + max-width: 300px; + margin: 2em var(--jse-padding, 10px); + gap: var(--jse-padding, 10px); +} +.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) .jse-welcome-info:where(.svelte-1lhnan) { + color: var(--jse-panel-color-readonly, #b2b2b2); +} +.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) button:where(.svelte-1lhnan) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); + color: var(--jse-button-primary-color, #fff); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) button:where(.svelte-1lhnan):hover { + background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); +} +.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) button:where(.svelte-1lhnan):disabled { + background: var(--jse-button-primary-background-disabled, #9d9d9d); +}`);var rNA=FA('
    You can paste clipboard data using Ctrl+V, or use the following options:
    ',1),sNA=FA('
    Empty document
    ');function NL(t,e){var A=typeof t=="string"?t.toLowerCase():t,i=typeof e=="string"?e.toLowerCase():e;return(0,AnA.default)(A,i)}function ZoA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,n=je(t,e);if(jo(n)){if(A===void 0)throw new Error("Cannot sort: no property selected by which to sort the array");return(function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,g=(function(C,I){var d={boolean:0,number:1,string:2,undefined:4},B=3;return function(E,Q){var f=je(E,C),b=je(Q,C);if(typeof f!=typeof b){var S,M,D=(S=d[typeof f])!==null&&S!==void 0?S:B,F=(M=d[typeof b])!==null&&M!==void 0?M:B;return D>F?I:Db?I:f1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=je(o,a),g=Object.keys(s).slice();g.sort((C,I)=>r*NL(C,I));var l={};return g.forEach(C=>l[C]=s[C]),[{op:"replace",path:wt(a),value:l}]})(t,e,i);throw new Error("Cannot sort: no array or object")}am(["click"]);qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-navigation-bar-dropdown.svelte-1k47orx { + position: absolute; + top: 100%; + left: 0; + z-index: 3; + background: var(--jse-navigation-bar-background, var(--jse-background-color, #fff)); + color: var(--jse-navigation-bar-dropdown-color, #656565); + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); + display: flex; + flex-direction: column; + max-height: 300px; + overflow: auto; + min-width: 80px; +} +.jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item:where(.svelte-1k47orx) { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + border: none; + background: transparent; + color: inherit; + cursor: pointer; + outline: none; + text-align: left; + white-space: nowrap; + box-sizing: border-box; + padding: calc(0.5 * var(--jse-padding, 10px)) 36px; +} +.jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item:where(.svelte-1k47orx):focus, .jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item:where(.svelte-1k47orx):hover { + background: var(--jse-navigation-bar-background-highlight, #e5e5e5); +} +.jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item.jse-selected:where(.svelte-1k47orx) { + background: var(--jse-navigation-bar-dropdown-color, #656565); + color: var(--jse-navigation-bar-background, var(--jse-background-color, #fff)); +}`);var gNA=FA(''),lNA=FA(''),cNA=FA('
    ');function CNA(t,e){St(e,!1);var A=N(e,"items",9),i=N(e,"selectedItem",9),n=N(e,"onSelect",9);Ai(!0);var o=cNA(),a=CA(o);Ea(a,1,()=>(G(tv),G(A()),EA(()=>tv(A(),100))),g=>g,(g,l)=>{var C,I=gNA(),d=CA(I);ve((B,E)=>{C=$t(I,1,"jse-navigation-bar-dropdown-item svelte-1k47orx",null,C,{"jse-selected":c(l)===i()}),Mn(I,"title",B),Rt(d,E)},[()=>(c(l),EA(()=>c(l).toString())),()=>(G(WC),c(l),EA(()=>WC(c(l).toString(),30)))]),ue("click",I,jC(()=>n()(c(l)))),cA(g,I)});var r=bA(a,2),s=g=>{var l=lNA();Mn(l,"title","Limited to 100 items"),cA(g,l)};TA(r,g=>{G(A()),EA(()=>A().length>100)&&g(s)}),cA(t,o),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-navigation-bar-item.svelte-13sijxb { + position: relative; + display: flex; +} +.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button:where(.svelte-13sijxb) { + font-family: inherit; + font-size: inherit; + padding: calc(0.5 * var(--jse-padding, 10px)) 2px; + border: none; + background: transparent; + color: inherit; + cursor: pointer; + outline: none; + min-width: 2em; + white-space: nowrap; +} +.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button:where(.svelte-13sijxb):focus, .jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button:where(.svelte-13sijxb):hover { + background: var(--jse-panel-button-background-highlight, #e0e0e0); + color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); +} +.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button.jse-navigation-bar-arrow:where(.svelte-13sijxb) { + padding: 2px var(--jse-padding, 10px) 0; +} +.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button.jse-navigation-bar-arrow.jse-open:where(.svelte-13sijxb) { + background: var(--jse-navigation-bar-background, var(--jse-background-color, #fff)); + color: var(--jse-navigation-bar-dropdown-color, #656565); +} +.jse-navigation-bar-item.svelte-13sijxb:last-child { + padding-right: var(--jse-padding, 10px); +}`);var INA=FA(''),dNA=FA('
    ');function jiA(t,e){St(e,!1);var A,i=IA(void 0,!0),n=IA(void 0,!0),{openAbsolutePopup:o,closeAbsolutePopup:a}=r1("absolute-popup"),r=N(e,"path",9),s=N(e,"index",9),g=N(e,"onSelect",9),l=N(e,"getItems",9),C=IA(void 0,!0),I=IA(!1,!0);function d(S){a(A),g()(c(i).concat(S))}RA(()=>(G(r()),G(s())),()=>{R(i,r().slice(0,s()))}),RA(()=>(G(r()),G(s())),()=>{R(n,r()[s()])}),kn(),Ai(!0);var B,E=dNA(),Q=CA(E);Wi(CA(Q),{get data(){return NS}});var f=bA(Q,2),b=S=>{var M=INA(),D=CA(M);ve(()=>Rt(D,c(n))),ue("click",M,()=>d(c(n))),cA(S,M)};TA(f,S=>{c(n)!==void 0&&S(b)}),Ko(E,S=>R(C,S),()=>c(C)),ve(()=>B=$t(Q,1,"jse-navigation-bar-button jse-navigation-bar-arrow svelte-13sijxb",null,B,{"jse-open":c(I)})),ue("click",Q,function(){if(c(C)){R(I,!0);var S={items:l()(c(i)),selectedItem:c(n),onSelect:d};A=o(CNA,S,{anchor:c(C),closeOnOuterClick:!0,onClose:()=>{R(I,!1)}})}}),cA(t,E),xt()}function IG(t){var e,A;if(navigator.clipboard)return navigator.clipboard.writeText(t);if((e=(A=document).queryCommandSupported)!==null&&e!==void 0&&e.call(A,"copy")){var i=document.createElement("textarea");i.value=t,i.style.position="fixed",i.style.opacity="0",document.body.appendChild(i),i.select();try{document.execCommand("copy")}catch(n){console.error(n)}finally{document.body.removeChild(i)}return Promise.resolve()}return console.error("Copy failed."),Promise.resolve()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-navigation-bar-path-editor.svelte-uyexy4 { + flex: 1; + display: flex; + border: var(--jse-edit-outline, 2px solid #656565); + background: var(--jse-background-color, #fff); +} +.jse-navigation-bar-path-editor.svelte-uyexy4 input.jse-navigation-bar-text:where(.svelte-uyexy4) { + flex: 1; + font-family: inherit; + font-size: inherit; + padding: 0 5px 1px; + background: var(--jse-background-color, #fff); + color: var(--jse-text-color, #4d4d4d); + border: none; + outline: none; +} +.jse-navigation-bar-path-editor.svelte-uyexy4 button:where(.svelte-uyexy4) { + border: none; + background: var(--jse-background-color, #fff); + cursor: pointer; + font-family: inherit; + font-size: 80%; + color: inherit; +} +.jse-navigation-bar-path-editor.svelte-uyexy4 button.jse-navigation-bar-copy.copied:where(.svelte-uyexy4) { + color: var(--message-success-background, #9ac45d); +} +.jse-navigation-bar-path-editor.svelte-uyexy4 button.jse-navigation-bar-validation-error:where(.svelte-uyexy4) { + color: var(--jse-error-color, #ee5341); +} +.jse-navigation-bar-path-editor.error.svelte-uyexy4 { + border-color: var(--jse-error-color, #ee5341); +} +.jse-navigation-bar-path-editor.error.svelte-uyexy4 input.jse-navigation-bar-text:where(.svelte-uyexy4) { + color: var(--jse-error-color, #ee5341); +} +.jse-navigation-bar-path-editor.svelte-uyexy4 .jse-copied-text:where(.svelte-uyexy4) { + background: var(--message-success-background, #9ac45d); + color: var(--jse-message-success-color, #fff); + position: relative; + margin: 2px; + padding: 0 5px; + border-radius: 3px; +}`);var BNA=FA(''),ENA=FA('
    Copied!
    '),QNA=FA('
    ');function hNA(t,e){St(e,!1);var A=IA(),i=r1("absolute-popup"),n=N(e,"path",8),o=N(e,"pathParser",8),a=N(e,"onChange",8),r=N(e,"onClose",8),s=N(e,"onError",8),g=N(e,"pathExists",8),l=IA(),C=IA(),I=IA(!1),d=void 0,B=IA(!1);function E(){c(l).focus()}function Q(j){try{var $=o().parse(j);return(function(O){if(!g()(O))throw new Error("Path does not exist in current document")})($),{path:$,error:void 0}}catch(O){return{path:void 0,error:O}}}is(()=>{E()}),Yl(()=>{clearTimeout(d)}),RA(()=>(G(o()),G(n())),()=>{R(C,o().stringify(n()))}),RA(()=>(c(I),c(C)),()=>{R(A,c(I)?Q(c(C)).error:void 0)}),kn(),Ai();var f,b=QNA(),S=CA(b);Ko(S,j=>R(l,j),()=>c(l));var M=bA(S,2),D=j=>{var $=BNA();Wi(CA($),{get data(){return BI}}),bs($,(O,DA)=>wh?.(O,DA),()=>ye({text:String(c(A)||"")},i)),cA(j,$)};TA(M,j=>{c(A)&&j(D)});var F=bA(M,2),_=j=>{cA(j,ENA())};TA(F,j=>{c(B)&&j(_)});var U,J=bA(F,2);Wi(CA(J),{get data(){return kC}}),ve(()=>{f=$t(b,1,"jse-navigation-bar-path-editor svelte-uyexy4",null,f,{error:c(A)}),AB(S,c(C)),U=$t(J,1,"jse-navigation-bar-copy svelte-uyexy4",null,U,{copied:c(B)})}),ue("keydown",S,jC(function(j){var $=r2(j);if($==="Escape"&&(j.preventDefault(),r()()),$==="Enter"){j.preventDefault(),R(I,!0);var O=Q(c(C));O.path!==void 0?a()(O.path):s()(O.error)}})),ue("input",S,function(j){R(C,j.currentTarget.value)}),ue("click",J,function(){IG(c(C)),R(B,!0),d=window.setTimeout(()=>R(B,!1),1e3),E()}),cA(t,b),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-navigation-bar.svelte-hjhal6 { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + background: var(--jse-panel-background, #ebebeb); + color: var(--jse-panel-button-color, inherit); + padding: 0; + margin: 0; + display: flex; + overflow: auto; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6) { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); + color: var(--jse-panel-color-readonly, #b2b2b2); + background: transparent; + border: none; + display: flex; + cursor: pointer; + outline: none; + align-items: center; +} +.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit.flex:where(.svelte-hjhal6) { + flex: 1; +} +.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6):focus, .jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6):hover, .jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit.editing:where(.svelte-hjhal6) { + background: var(--jse-panel-button-background-highlight, #e0e0e0); + color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); + transition: color 0.2s ease-in, background 0.2s ease-in; +} +.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6) .jse-navigation-bar-space:where(.svelte-hjhal6) { + flex: 1; + text-align: left; +}`);var uNA=FA(" ",1),fNA=FA('
    ');function mNA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=lr("jsoneditor:NavigationBar"),o=N(e,"json",9),a=N(e,"selection",9),r=N(e,"onSelect",9),s=N(e,"onError",9),g=N(e,"pathParser",9),l=IA(void 0,!0),C=IA(!1,!0);function I($){n("get items for path",$);var O=je(o(),$);if(Array.isArray(O))return jw(0,O.length).map(String);if(pn(O)){var DA=Object.keys(O).slice(0);return DA.sort(NL),DA}return[]}function d($){return br(o(),$)}function B($){n("select path",JSON.stringify($)),r()(ys($,$))}function E(){R(C,!1)}function Q($){E(),B($)}RA(()=>(G(a()),lt),()=>{R(A,a()?lt(a()):[])}),RA(()=>(G(o()),c(A)),()=>{R(i,aa(je(o(),c(A))))}),RA(()=>c(A),()=>{c(A),setTimeout(()=>{if(c(l)&&c(l).scrollTo){var $=c(l).scrollWidth-c(l).clientWidth;$>0&&(n("scrollTo ",$),c(l).scrollTo({left:$,behavior:"smooth"}))}})}),kn(),Ai(!0);var f=fNA(),b=CA(f),S=$=>{var O=uNA(),DA=At(O);Ea(DA,1,()=>c(A),Ra,(iA,BA,oA)=>{jiA(iA,{getItems:I,get path(){return c(A)},index:oA,onSelect:B})});var P=bA(DA,2),aA=iA=>{jiA(iA,{getItems:I,get path(){return c(A)},get index(){return c(A),EA(()=>c(A).length)},onSelect:B})};TA(P,iA=>{c(i)&&iA(aA)}),cA($,O)},M=$=>{hNA($,{get path(){return c(A)},onClose:E,onChange:Q,get onError(){return s()},pathExists:d,get pathParser(){return g()}})};TA(b,$=>{c(C)?$(M,!1):$(S)});var D,F=bA(b,2),_=CA(F),U=CA(_),J=bA(_,2),j=tt(()=>c(C)?aV:eV);Wi(J,{get data(){return c(j)}}),Ko(f,$=>R(l,$),()=>c(l)),ve($=>{D=$t(F,1,"jse-navigation-bar-edit svelte-hjhal6",null,D,{flex:!c(C),editing:c(C)}),Mn(F,"title",c(C)?"Cancel editing the selected path":"Edit the selected path"),Rt(U,$)},[()=>(G(aa),G(o()),c(C),EA(()=>aa(o())||c(C)?"\xA0":"Navigation bar"))]),ue("click",F,function(){R(C,!c(C))}),cA(t,f),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-search-box.svelte-1x1x8q0 { + border: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); + border-radius: 3px; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + background: var(--jse-panel-background, #ebebeb); + color: var(--jse-panel-color-readonly, #b2b2b2); + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); + display: inline-block; + width: 400px; + max-width: 100%; + overflow: auto; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) { + display: flex; + align-items: stretch; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0), +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) input:where(.svelte-1x1x8q0) { + font-family: inherit; + font-size: inherit; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0) { + display: block; + text-align: center; + border: none; + padding: 0 5px; + margin: 0; + cursor: pointer; + color: var(--jse-panel-button-color, inherit); + background: var(--jse-panel-button-background, transparent); +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0):hover { + color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); + background: var(--jse-panel-button-background-highlight, #e0e0e0); +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) input:where(.svelte-1x1x8q0) { + color: var(--jse-panel-color, var(--jse-text-color, #4d4d4d)); + border: var(--jse-input-border, 1px solid #d8dbdf); + border-radius: 3px; + background: var(--jse-input-background, var(--jse-background-color, #fff)); + height: 28px; + padding: 0 5px; + margin: 0; + flex: 1; + width: 0; + min-width: 50px; + outline: none; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-replace-toggle:where(.svelte-1x1x8q0) { + padding: var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)); + min-width: 20px; + background: var(--jse-panel-button-background-highlight, #e0e0e0); +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) { + flex: 1; + display: flex; + flex-direction: column; + padding: calc(0.5 * var(--jse-padding, 10px)); + gap: calc(0.5 * var(--jse-padding, 10px)); +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) { + flex: 1; + display: flex; + align-items: center; + position: relative; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) .jse-search-icon:where(.svelte-1x1x8q0) { + color: inherit; + cursor: inherit; + background: inherit; + width: 32px; + text-align: center; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) label.jse-search-input-label:where(.svelte-1x1x8q0) { + flex: 1; + display: flex; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) .jse-search-count:where(.svelte-1x1x8q0) { + color: inherit; + font-size: 80%; + visibility: hidden; + padding: 0 5px; + min-width: 36px; + text-align: center; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) .jse-search-count.jse-visible:where(.svelte-1x1x8q0) { + visibility: visible; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-replace-section:where(.svelte-1x1x8q0) { + flex: 1; + display: flex; + padding-left: 32px; +} +.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-replace-section:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0) { + width: auto; +}`);var pNA=FA(''),wNA=FA('
    '),DNA=FA('');function XoA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=lr("jsoneditor:SearchBox"),a=N(e,"json",9),r=N(e,"documentState",9),s=N(e,"parser",9),g=N(e,"showSearch",9),l=N(e,"showReplace",13),C=N(e,"readOnly",9),I=N(e,"columns",9),d=N(e,"onSearch",9),B=N(e,"onFocus",9),E=N(e,"onPatch",9),Q=N(e,"onClose",9),f=IA("",!0),b="",S=IA("",!0),M=IA(!1,!0),D=IA(void 0,!0),F=qE(function(MA){return KA.apply(this,arguments)},300),_=qE(function(MA){return Pe.apply(this,arguments)},300);function U(){l(!l()&&!C())}function J(MA){MA.stopPropagation();var Me=r2(MA);Me==="Enter"&&(MA.preventDefault(),c(f)!==b?F.flush():oA()),Me==="Shift+Enter"&&(MA.preventDefault(),hA()),Me==="Ctrl+Enter"&&(MA.preventDefault(),l()?DA():oA()),Me==="Ctrl+H"&&(MA.preventDefault(),U()),Me==="Escape"&&(MA.preventDefault(),uA())}function j(MA){r2(MA)==="Enter"&&(MA.preventDefault(),MA.stopPropagation(),DA())}function $(){return O.apply(this,arguments)}function O(){return(O=Yt(function*(){bo(),yield F.flush()})).apply(this,arguments)}function DA(){return P.apply(this,arguments)}function P(){return(P=Yt(function*(){var MA;if(!C()){var Me=(MA=c(D))===null||MA===void 0?void 0:MA.activeItem;if(o("handleReplace",{replaceText:c(S),activeItem:Me}),c(D)&&Me&&a()!==void 0){R(D,ye(ye({},MiA(c(D))),{},{activeIndex:c(i)}));var{operations:LA,newSelection:pA}=HSA(a(),r(),c(S),Me,s());E()(LA,(Ft,ht)=>({state:ht,selection:pA})),bo(),yield _.flush(),yield ee()}}})).apply(this,arguments)}function aA(){return iA.apply(this,arguments)}function iA(){return(iA=Yt(function*(){if(!C()){o("handleReplaceAll",{text:c(f),replaceText:c(S)});var{operations:MA,newSelection:Me}=(function(LA,pA,Ft,ht,Ee){for(var Kt=kiA(Ft,LA,{maxResults:1/0}),Je=[],ze=0;zez.field!==nA.field?z.field===Jc.key?1:-1:nA.path.length-z.path.length);var ei,Y=[];return Je.forEach(z=>{var{field:nA,path:rA,items:NA}=z;if(nA===Jc.key){var Ie=Ki(rA),Qe=je(LA,Ie),xA=mi(rA),_A=Cm(Ie,Object.keys(Qe),xA,xiA(xA,ht,NA));Y=Y.concat(_A),ei=ph(LA,_A)}else{if(nA!==Jc.value)throw new Error("Cannot replace: unknown type of search result field ".concat(nA));var Et=je(LA,rA);if(Et===void 0)throw new Error("Cannot replace: path not found ".concat(wt(rA)));var et=typeof Et=="string"?Et:String(Et),Ye=z0(LA,pA,rA),Ge=xiA(et,ht,NA),si=[{op:"replace",path:wt(rA),value:Ye?Ge:Rh(Ge,Ee)}];Y=Y.concat(si),ei=ph(LA,si)}}),{operations:Y,newSelection:ei}})(a(),r(),c(f),c(S),s());E()(MA,(LA,pA)=>({state:pA,selection:Me})),yield ee()}})).apply(this,arguments)}function BA(MA){MA.select()}function oA(){return sA.apply(this,arguments)}function sA(){return(sA=Yt(function*(){R(D,c(D)?MiA(c(D)):void 0),yield ee()})).apply(this,arguments)}function hA(){return YA.apply(this,arguments)}function YA(){return YA=Yt(function*(){R(D,c(D)?(function(MA){var Me=MA.activeIndex>0?MA.activeIndex-1:MA.items.length-1,LA=MA.items[Me],pA=MA.items.map((Ft,ht)=>ye(ye({},Ft),{},{active:ht===Me}));return ye(ye({},MA),{},{items:pA,activeItem:LA,activeIndex:Me})})(c(D)):void 0),yield ee()}),YA.apply(this,arguments)}function ee(){return UA.apply(this,arguments)}function UA(){return(UA=Yt(function*(){var MA;o("handleFocus",c(D));var Me=(MA=c(D))===null||MA===void 0?void 0:MA.activeItem;Me&&a()!==void 0&&(yield B()(Me.path,Me.resultIndex))})).apply(this,arguments)}function mA(){return mA=Yt(function*(MA){yield Ue(MA,c(f),a())}),mA.apply(this,arguments)}function KA(){return KA=Yt(function*(MA){yield Ue(g(),MA,a()),yield ee()}),KA.apply(this,arguments)}function Pe(){return Pe=Yt(function*(MA){yield Ue(g(),c(f),MA)}),Pe.apply(this,arguments)}function Ue(MA,Me,LA){return HA.apply(this,arguments)}function HA(){return HA=Yt(function*(MA,Me,LA){return MA?(o("applySearch",{showSearch:MA,text:Me}),Me===""?(o("clearing search result"),c(D)!==void 0&&R(D,void 0),Promise.resolve()):(b=Me,R(M,!0),new Promise(pA=>{setTimeout(()=>{var Ft=kiA(Me,LA,{maxResults:O_,columns:I()});R(D,(function(ht,Ee){var Kt=Ee!=null&&Ee.activeItem?RiA(Ee.activeItem):void 0,Je=ht.findIndex(ke=>Bi(Kt,RiA(ke))),ze=Je!==-1?Je:Ee?.activeIndex!==void 0&&Ee?.activeIndex0?0:-1,ut=ht.map((ke,ei)=>ye(ye({resultIndex:ei},ke),{},{active:ei===ze}));return{items:ut,activeItem:ut[ze],activeIndex:ze}})(Ft,c(D))),R(M,!1),pA()})}))):(c(D)&&R(D,void 0),Promise.resolve())}),HA.apply(this,arguments)}function uA(){o("handleClose"),F.cancel(),_.cancel(),Ue(!1,c(f),a()),Q()()}RA(()=>c(D),()=>{var MA;R(A,((MA=c(D))===null||MA===void 0||(MA=MA.items)===null||MA===void 0?void 0:MA.length)||0)}),RA(()=>c(D),()=>{var MA;R(i,((MA=c(D))===null||MA===void 0?void 0:MA.activeIndex)||0)}),RA(()=>(c(A),O_),()=>{R(n,c(A)>=O_?"".concat(999,"+"):String(c(A)))}),RA(()=>(G(d()),c(D)),()=>{d()(c(D))}),RA(()=>G(g()),()=>{(function(MA){mA.apply(this,arguments)})(g())}),RA(()=>c(f),()=>{F(c(f))}),RA(()=>G(a()),()=>{_(a())}),kn(),Ai(!0);var XA=vi(),QA=At(XA),ZA=MA=>{var Me=DNA(),LA=CA(Me),pA=CA(LA),Ft=xA=>{var _A=pNA(),Et=CA(_A),et=tt(()=>l()?v0:WE);Wi(Et,{get data(){return c(et)}}),ue("click",_A,U),cA(xA,_A)};TA(pA,xA=>{C()||xA(Ft)});var ht=CA(bA(pA,2)),Ee=CA(ht),Kt=CA(Ee),Je=xA=>{Wi(xA,{get data(){return AV},spin:!0})},ze=xA=>{Wi(xA,{get data(){return r3}})};TA(Kt,xA=>{c(M)?xA(Je):xA(ze,!1)});var ut=bA(Ee,2),ke=CA(ut);Nr(()=>ev(ke,()=>c(f),xA=>R(f,xA))),bs(ke,xA=>BA?.(xA)),Nr(()=>ue("paste",ke,$));var ei,Y=bA(ut,2),z=CA(Y),nA=bA(Y,2);Wi(CA(nA),{get data(){return rV}});var rA=bA(nA,2);Wi(CA(rA),{get data(){return $q}});var NA=bA(rA,2);Wi(CA(NA),{get data(){return g3}});var Ie=bA(ht,2),Qe=xA=>{var _A=wNA(),Et=CA(_A),et=bA(Et,2),Ye=bA(et,2);ev(Et,()=>c(S),Ge=>R(S,Ge)),ue("keydown",Et,j),ue("click",et,DA),ue("click",Ye,aA),cA(xA,_A)};TA(Ie,xA=>{l()&&!C()&&xA(Qe)}),ve(()=>{var xA;ei=$t(Y,1,"jse-search-count svelte-1x1x8q0",null,ei,{"jse-visible":c(f)!==""}),Rt(z,"".concat(c(i)!==-1&&c(i){g()&&MA(ZA)}),cA(t,XA),xt()}var Am=Symbol("path");function yNA(t,e){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,i={};Array.isArray(t)&&(function(o,a,r){if(o.length1?(o.length-1)/(a-1):o.length,g=0;g{pn(o)?$oA(o,i,e):i[Am]=!0});var n=[];return Am in i&&n.push([]),AaA(i,[],n,e),n}function $oA(t,e,A){for(var i in t){var n=t[i],o=e[i]||(e[i]={});pn(n)&&A?$oA(n,o,A):o[Am]===void 0&&(o[Am]=!0)}}function AaA(t,e,A,i){for(var n in t){var o=e.concat(n),a=t[n];a&&a[Am]===!0&&A.push(o),ia(a)&&i&&AaA(a,o,A,i)}}function vNA(t,e,A,i,n,o){for(var a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:80,r=jo(A)?A.length:0,s=(function(b,S){var M=Object.values(b);if(Vi(M))return S;var D=(F,_)=>F+_;return M.reduce(D)/M.length})(i,n),g=t-a,l=e+2*a,C=b=>i[b]||n,I=0,d=o;d0&&(d-=C(--I));for(var B=I,E=0;Eq0(i,o))}}function Kd(t,e){var{rowIndex:A,columnIndex:i}=t;return[String(A),...e[i]]}function bNA(t,e){var[A,i]=fS(t,a=>PL(a.path[0])),n=hS(A,MNA),o=uS(n,a=>{var r={row:[],columns:{}};return a.forEach(s=>{var g=(function(l,C){var I=Fl(l.path,C);return I.columnIndex!==-1?I.columnIndex:-1})(s,e);g!==-1?(r.columns[g]===void 0&&(r.columns[g]=[]),r.columns[g].push(s)):r.row.push(s)}),r});return{root:i,rows:o}}function VQ(t,e){if(e&&e.length!==0)return e.length===1?e[0]:{path:t,message:"Multiple validation issues: "+e.map(A=>vg(A.path)+" "+A.message).join(", "),severity:Uc.warning}}function MNA(t){return parseInt(t.path[0],10)}function kNA(t,e,A){var i=e.some(n=>(function(o,a,r){if(!o)return!1;if(a.op==="replace"){var s=hs(a.path),{rowIndex:g,columnIndex:l}=Fl(s,r),C=r.findIndex(I=>Bi(I,o.path));if(g!==-1&&l!==-1&&l!==C)return!1}return!0})(t,n,A));return i?void 0:t}var vs=lr("jsoneditor:actions");function eaA(t){return FL.apply(this,arguments)}function FL(){return FL=Yt(function*(t){var{json:e,selection:A,indentation:i,readOnly:n,parser:o,onPatch:a}=t;if(!n&&e!==void 0&&A&&ih(A)){var r=woA(e,A,i,o);if(r!==void 0){vs("cut",{selection:A,clipboard:r,indentation:i}),yield IG(r);var{operations:s,newSelection:g}=koA(e,A);a(s,(l,C)=>({state:C,selection:g}))}}}),FL.apply(this,arguments)}function taA(t){return _L.apply(this,arguments)}function _L(){return _L=Yt(function*(t){var{json:e,selection:A,indentation:i,parser:n}=t,o=woA(e,A,i,n);o!==void 0&&(vs("copy",{clipboard:o,indentation:i}),yield IG(o))}),_L.apply(this,arguments)}function iaA(t){var{clipboardText:e,json:A,selection:i,readOnly:n,parser:o,onPatch:a,onChangeText:r,onPasteMultilineText:s,openRepairModal:g}=t;if(!n)try{l(e)}catch{g(e,I=>{vs("repaired pasted text: ",I),l(I)})}function l(C){if(A!==void 0){var I=i||Ui([]),d=MoA(A,I,C,o),B=(function(E,Q,f){var b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:_SA;if(E.length>b)return!1;var S=/\n/.test(E);if(!S)return!1;var M=Q.some(F=>F.op==="replace"&&Array.isArray(F.value)),D=Q.filter(F=>F.op==="add").length>1;if(!M&&!D)return!1;try{return sm(E,f.parse),!1}catch{return!0}})(e,d,o);vs("paste",{pastedText:C,operations:d,ensureSelection:I,pasteMultilineText:B}),a(d,(E,Q)=>{var f=Q;return d.filter(b=>(jk(b)||sw(b))&&aa(b.value)).forEach(b=>{var S=cg(A,b.path);f=tB(E,f,S)}),{state:f}}),B&&s(C)}else vs("paste text",{pastedText:C}),r(e,(E,Q)=>{if(E)return{state:tB(E,Q,[])}})}}function naA(t){var{json:e,text:A,selection:i,keepSelection:n,readOnly:o,onChange:a,onPatch:r}=t;if(!o&&i){var s=e!==void 0&&(gr(i)||In(i))?ys(i.path,i.path):i;if(Vi(lt(i)))vs("remove root",{selection:i}),a&&a({text:"",json:void 0},e!==void 0?{text:void 0,json:e}:{text:A||"",json:e},{contentErrors:void 0,patchResult:void 0});else if(e!==void 0){var{operations:g,newSelection:l}=koA(e,s);vs("remove",{operations:g,selection:i,newSelection:l}),r(g,(C,I)=>({state:I,selection:n?i:l}))}}}function Qv(t){var{insertType:e,selectInside:A,initialValue:i,json:n,selection:o,readOnly:a,parser:r,onPatch:s,onReplaceJson:g}=t;if(!a){var l=(function(E,Q,f){if(f==="object")return{};if(f==="array")return[];if(f==="structure"&&E!==void 0){var b=Q?moA(Q):[],S=je(E,b);if(Array.isArray(S)&&!Vi(S)){var M=pl(S);return aa(M)?dS(M,D=>Array.isArray(D)?[]:pn(D)?void 0:""):""}}return""})(n,o,e);if(n!==void 0){var C=r.stringify(l),I=MoA(n,o,C,r);vs("onInsert",{insertType:e,operations:I,newValue:l,data:C});var d=mi(I.filter(E=>E.op==="add"||E.op==="replace"));s(I,(E,Q,f)=>{if(d){var b=cg(E,d.path);if(aa(l))return{state:Gc(E,Q,b,rG),selection:A?g2(b):f};if(l===""){var S=Vi(b)?void 0:je(E,Ki(b));return{state:Gc(E,Q,b,qy),selection:pn(S)?sG(b,i):rv(b,i)}}}}),vs("after patch")}else{vs("onInsert",{insertType:e,newValue:l});var B=[];g(l,(E,Q)=>({state:tB(E,Q,B),selection:aa(l)?g2(B):rv(B)}))}}}function oaA(t){return LL.apply(this,arguments)}function LL(){return LL=Yt(function*(t){var{char:e,selectInside:A,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s,onSelect:g}=t;o||(gr(n)?g(ye(ye({},n),{},{edit:!0,initialValue:e})):e==="{"?Qv({insertType:"object",selectInside:A,initialValue:void 0,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s}):e==="["?Qv({insertType:"array",selectInside:A,initialValue:void 0,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s}):In(n)&&i!==void 0?aa(je(i,n.path))||g(ye(ye({},n),{},{edit:!0,initialValue:e})):(vs("onInsertValueWithCharacter",{char:e}),yield(function(l){return GL.apply(this,arguments)})({char:e,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s})))}),LL.apply(this,arguments)}function GL(){return GL=Yt(function*(t){var{char:e,json:A,selection:i,readOnly:n,parser:o,onPatch:a,onReplaceJson:r}=t;n||Qv({insertType:"value",selectInside:!1,initialValue:e,json:A,selection:i,readOnly:n,parser:o,onPatch:a,onReplaceJson:r})}),GL.apply(this,arguments)}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-json-preview.svelte-25xmyd { + flex: 1; + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + color: var(--jse-panel-color-readonly, #b2b2b2); + overflow: auto; + white-space: pre-wrap; + padding: 2px; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +}`);var SNA=FA('
    ');function aaA(t,e){St(e,!1);var A=IA(),i=IA(),n=N(e,"text",8),o=N(e,"json",8),a=N(e,"indentation",8),r=N(e,"parser",8);RA(()=>(G(o()),G(n())),()=>{R(A,o()!==void 0?{json:o()}:{text:n()||""})}),RA(()=>(c(A),G(a()),G(r()),iv),()=>{R(i,WC(hL(c(A),a(),r()),iv))}),kn(),Ai();var s=SNA(),g=CA(s);ve(()=>Rt(g,c(i))),cA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +button.jse-context-menu-button.svelte-16jz6ui { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + flex: 1; + white-space: nowrap; + padding: var(--jse-padding, 10px); + color: inherit; +} +button.jse-context-menu-button.svelte-16jz6ui:hover { + background: var(--jse-context-menu-background-highlight, #7a7a7a); +} +button.jse-context-menu-button.svelte-16jz6ui:focus { + background: var(--jse-context-menu-background-highlight, #7a7a7a); + z-index: 1; +} +button.jse-context-menu-button.svelte-16jz6ui:disabled { + color: var(--jse-context-menu-color-disabled, #9d9d9d); + background: unset; +} +button.jse-context-menu-button.left.svelte-16jz6ui { + text-align: left; +} +button.jse-context-menu-button.svelte-16jz6ui svg { + width: 16px; +}`);var xNA=FA('');function nL(t,e){St(e,!1);var A=N(e,"item",8),i=N(e,"className",8,void 0),n=N(e,"onRequestClose",8);Ai();var o=xNA(),a=CA(o),r=l=>{Wi(l,{get data(){return G(A()),EA(()=>A().icon)}})};TA(a,l=>{G(A()),EA(()=>A().icon)&&l(r)});var s=bA(a,2),g=l=>{var C=hr();ve(()=>Rt(C,(G(A()),EA(()=>A().text)))),cA(l,C)};TA(s,l=>{G(A()),EA(()=>A().text)&&l(g)}),ve(l=>{$t(o,1,l,"svelte-16jz6ui"),Mn(o,"title",(G(A()),EA(()=>A().title))),o.disabled=(G(A()),EA(()=>A().disabled||!1))},[()=>n1((G(Oc),G(i()),G(A()),EA(()=>Oc("jse-context-menu-button",i(),A().className))))]),ue("click",o,l=>{n()(),A().onClick(l)}),cA(t,o),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-dropdown-button.svelte-bov1j6 { + flex: 1; + line-height: normal; + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + position: relative; + padding: 0; + display: flex; +} +.jse-dropdown-button.svelte-bov1j6 ul:where(.svelte-bov1j6) { + margin: 0; + padding: 0; +} +.jse-dropdown-button.svelte-bov1j6 ul:where(.svelte-bov1j6) li:where(.svelte-bov1j6) { + margin: 0; + padding: 0; + list-style-type: none; +} +.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + width: 2em; + background: var(--jse-context-menu-background, #656565); + color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); + border-radius: 0; +} +.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown.jse-visible:where(.svelte-bov1j6) { + background: var(--jse-context-menu-background, #656565); +} +.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6):hover { + background: var(--jse-context-menu-background-highlight, #7a7a7a); +} +.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6):focus { + z-index: 1; +} +.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6):disabled { + color: var(--jse-context-menu-color-disabled, #9d9d9d); + background: unset; +} +.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) { + display: none; + position: absolute; + top: 100%; + left: 0; + z-index: 1; + background: var(--jse-context-menu-background, #656565); + color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); +} +.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items.jse-visible:where(.svelte-bov1j6) { + display: block; +} +.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) button:where(.svelte-bov1j6) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + width: 100%; + text-align: left; + padding: var(--jse-padding, 10px); + margin: 0; +} +.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) button:where(.svelte-bov1j6):hover { + background: var(--jse-context-menu-background-highlight, #7a7a7a); +} +.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) button:where(.svelte-bov1j6):disabled { + color: var(--jse-context-menu-color-disabled, #9d9d9d); + background: unset; +}`);var RNA=FA('
  • '),NNA=FA('
      ');qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +button.jse-context-menu-button.svelte-1y5l9l1 { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + flex: 1; + white-space: nowrap; + padding: var(--jse-padding, 10px); + color: inherit; +} +button.jse-context-menu-button.svelte-1y5l9l1:hover { + background: var(--jse-context-menu-background-highlight, #7a7a7a); +} +button.jse-context-menu-button.svelte-1y5l9l1:focus { + background: var(--jse-context-menu-background-highlight, #7a7a7a); + z-index: 1; +} +button.jse-context-menu-button.svelte-1y5l9l1:disabled { + color: var(--jse-context-menu-color-disabled, #9d9d9d); + background: unset; +} +button.jse-context-menu-button.left.svelte-1y5l9l1 { + text-align: left; +} +button.jse-context-menu-button.svelte-1y5l9l1 svg { + width: 16px; +}`);var FNA=FA('');function oL(t,e){St(e,!1);var A=IA(),i=N(e,"item",8),n=N(e,"className",8,void 0),o=N(e,"onRequestClose",8);RA(()=>(G(i()),G(o())),()=>{R(A,i().items.map(a=>ye(ye({},a),{},{onClick:r=>{o()(),a.onClick(r)}})))}),kn(),Ai(),(function(a,r){St(r,!1);var s=IA(void 0,!0),g=N(r,"items",25,()=>[]),l=N(r,"title",9,void 0),C=N(r,"width",9,"120px"),I=IA(!1,!0);function d(){R(I,!1)}function B(D){r2(D)==="Escape"&&(D.preventDefault(),R(I,!1))}is(()=>{document.addEventListener("click",d),document.addEventListener("keydown",B)}),Yl(()=>{document.removeEventListener("click",d),document.removeEventListener("keydown",B)}),RA(()=>G(g()),()=>{R(s,g().every(D=>D.disabled===!0))}),kn(),Ai(!0);var E=NNA(),Q=CA(E);Ba(Q,r,"defaultItem",{},null);var f,b=bA(Q,2);Wi(CA(b),{get data(){return v0}});var S,M=bA(b,2);Ea(CA(M),5,g,Ra,(D,F)=>{var _=RNA(),U=CA(_),J=CA(U),j=O=>{Wi(O,{get data(){return c(F),EA(()=>c(F).icon)}})};TA(J,O=>{c(F),EA(()=>c(F).icon)&&O(j)});var $=bA(J);ve(()=>{var O;Mn(U,"title",(c(F),EA(()=>c(F).title))),U.disabled=(c(F),EA(()=>c(F).disabled)),$t(U,1,n1((c(F),EA(()=>c(F).className))),"svelte-bov1j6"),Rt($," ".concat((c(F),(O=EA(()=>c(F).text))!==null&&O!==void 0?O:"")))}),ue("click",U,O=>c(F).onClick(O)),cA(D,_)}),ve(()=>{var D;Mn(E,"title",l()),f=$t(b,1,"jse-open-dropdown svelte-bov1j6",null,f,{"jse-visible":c(I)}),b.disabled=c(s),S=$t(M,1,"jse-dropdown-items svelte-bov1j6",null,S,{"jse-visible":c(I)}),Ul(M,"width: ".concat((D=C())!==null&&D!==void 0?D:"",";"))}),ue("click",b,function(){var D=c(I);setTimeout(()=>R(I,!D))}),ue("click",E,d),cA(a,E),xt()})(t,{get width(){return G(i()),EA(()=>i().width)},get items(){return c(A)},$$slots:{defaultItem:(a,r)=>{var s=FNA(),g=CA(s),l=I=>{Wi(I,{get data(){return G(i()),EA(()=>i().main.icon)}})};TA(g,I=>{G(i()),EA(()=>i().main.icon)&&I(l)});var C=bA(g);ve(I=>{var d;$t(s,1,I,"svelte-1y5l9l1"),Mn(s,"title",(G(i()),EA(()=>i().main.title))),s.disabled=(G(i()),EA(()=>i().main.disabled||!1)),Rt(C," ".concat((G(i()),(d=EA(()=>i().main.text))!==null&&d!==void 0?d:"")))},[()=>n1((G(Oc),G(n()),G(i()),EA(()=>Oc("jse-context-menu-button",n(),i().main.className))))]),ue("click",s,I=>{o()(),i().main.onClick(I)}),cA(a,s)}}}),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-contextmenu.svelte-1shjn02 { + box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + background: var(--jse-context-menu-background, #656565); + color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); +} +.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: stretch; +} +.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) div.jse-label:where(.svelte-1shjn02) { + flex: 1; + white-space: nowrap; + padding: var(--jse-padding, 10px); + color: var(--jse-context-menu-color-disabled, #9d9d9d); + line-height: normal; +} +.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) div.jse-tip:where(.svelte-1shjn02) { + flex: 1; + background: var(--jse-context-menu-tip-background, rgba(255, 255, 255, 0.2)); + color: var(--context-menu-tip-color, inherit); + margin: calc(0.5 * var(--jse-padding, 10px)); + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); + font-size: 80%; + line-height: 1.3em; + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--jse-padding, 10px); + border-radius: 3px; +} +.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) div.jse-tip:where(.svelte-1shjn02) div.jse-tip-icon:where(.svelte-1shjn02) { + padding-top: calc(0.5 * var(--jse-padding, 10px)); +} +.jse-contextmenu.svelte-1shjn02 .jse-column:where(.svelte-1shjn02) { + flex: 1; + display: flex; + flex-direction: column; + align-items: stretch; +} +.jse-contextmenu.svelte-1shjn02 .jse-column:where(.svelte-1shjn02):not(:last-child) { + border-right: 1px solid var(--jse-context-menu-separator-color, #7a7a7a); +} +.jse-contextmenu.svelte-1shjn02 .jse-separator:where(.svelte-1shjn02) { + width: 100%; + height: 1px; + background: var(--jse-context-menu-separator-color, #7a7a7a); +}`);var _NA=FA('
      '),LNA=FA('
      '),GNA=FA('
      '),KNA=FA('
      '),UNA=FA('
      '),JNA=FA('
      '),YNA=FA('
      '),TNA=FA('');function raA(t,e){St(e,!1);var A=N(e,"items",9),i=N(e,"onRequestClose",9),n=N(e,"tip",9),o=IA(void 0,!0);is(()=>{var I=Array.from(c(o).querySelectorAll("button")).find(d=>!d.disabled);I&&I.focus()});var a={ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right"};function r(I){return console.error("Unknown type of context menu item",I),"???"}Ai(!0);var s=TNA(),g=CA(s);Ea(g,1,A,Ra,(I,d)=>{var B=vi(),E=At(B),Q=b=>{nL(b,{get item(){return c(d)},get onRequestClose(){return i()}})},f=b=>{var S=vi(),M=At(S),D=_=>{oL(_,{get item(){return c(d)},get onRequestClose(){return i()}})},F=_=>{var U=vi(),J=At(U),j=O=>{var DA=UNA();Ea(DA,5,()=>(c(d),EA(()=>c(d).items)),Ra,(P,aA)=>{var iA=vi(),BA=At(iA),oA=hA=>{nL(hA,{get item(){return c(aA)},get onRequestClose(){return i()}})},sA=hA=>{var YA=vi(),ee=At(YA),UA=KA=>{oL(KA,{get item(){return c(aA)},get onRequestClose(){return i()}})},mA=KA=>{var Pe=vi(),Ue=At(Pe),HA=XA=>{var QA=GNA();Ea(QA,5,()=>(c(aA),EA(()=>c(aA).items)),Ra,(ZA,MA)=>{var Me=vi(),LA=At(Me),pA=ht=>{nL(ht,{className:"left",get item(){return c(MA)},get onRequestClose(){return i()}})},Ft=ht=>{var Ee=vi(),Kt=At(Ee),Je=ut=>{oL(ut,{className:"left",get item(){return c(MA)},get onRequestClose(){return i()}})},ze=ut=>{var ke=vi(),ei=At(ke),Y=nA=>{cA(nA,_NA())},z=nA=>{var rA=vi(),NA=At(rA),Ie=xA=>{var _A=LNA(),Et=CA(_A);ve(()=>Rt(Et,(c(MA),EA(()=>c(MA).text)))),cA(xA,_A)},Qe=xA=>{var _A=hr();ve(Et=>Rt(_A,Et),[()=>(c(MA),EA(()=>r(c(MA))))]),cA(xA,_A)};TA(NA,xA=>{G(IiA),c(MA),EA(()=>IiA(c(MA)))?xA(Ie):xA(Qe,!1)},!0),cA(nA,rA)};TA(ei,nA=>{G(OI),c(MA),EA(()=>OI(c(MA)))?nA(Y):nA(z,!1)},!0),cA(ut,ke)};TA(Kt,ut=>{G(jQ),c(MA),EA(()=>jQ(c(MA)))?ut(Je):ut(ze,!1)},!0),cA(ht,Ee)};TA(LA,ht=>{G(qC),c(MA),EA(()=>qC(c(MA)))?ht(pA):ht(Ft,!1)}),cA(ZA,Me)}),cA(XA,QA)},uA=XA=>{var QA=vi(),ZA=At(QA),MA=LA=>{cA(LA,KNA())},Me=LA=>{var pA=hr();ve(Ft=>Rt(pA,Ft),[()=>(c(aA),EA(()=>r(c(aA))))]),cA(LA,pA)};TA(ZA,LA=>{G(OI),c(aA),EA(()=>OI(c(aA)))?LA(MA):LA(Me,!1)},!0),cA(XA,QA)};TA(Ue,XA=>{G(BiA),c(aA),EA(()=>BiA(c(aA)))?XA(HA):XA(uA,!1)},!0),cA(KA,Pe)};TA(ee,KA=>{G(jQ),c(aA),EA(()=>jQ(c(aA)))?KA(UA):KA(mA,!1)},!0),cA(hA,YA)};TA(BA,hA=>{G(qC),c(aA),EA(()=>qC(c(aA)))?hA(oA):hA(sA,!1)}),cA(P,iA)}),cA(O,DA)},$=O=>{var DA=vi(),P=At(DA),aA=BA=>{cA(BA,JNA())},iA=BA=>{var oA=hr();ve(sA=>Rt(oA,sA),[()=>(c(d),EA(()=>r(c(d))))]),cA(BA,oA)};TA(P,BA=>{G(OI),c(d),EA(()=>OI(c(d)))?BA(aA):BA(iA,!1)},!0),cA(O,DA)};TA(J,O=>{G(diA),c(d),EA(()=>diA(c(d)))?O(j):O($,!1)},!0),cA(_,U)};TA(M,_=>{G(jQ),c(d),EA(()=>jQ(c(d)))?_(D):_(F,!1)},!0),cA(b,S)};TA(E,b=>{G(qC),c(d),EA(()=>qC(c(d)))?b(Q):b(f,!1)}),cA(I,B)});var l=bA(g,2),C=I=>{var d=YNA(),B=CA(d),E=CA(B);Wi(CA(E),{get data(){return jq}});var Q=CA(bA(E,2));ve(()=>Rt(Q,n())),cA(I,d)};TA(l,I=>{n()&&I(C)}),Ko(s,I=>R(o,I),()=>c(o)),ue("keydown",s,function(I){var d=r2(I),B=a[d];if(B&&I.target){I.preventDefault();var E=dSA({allElements:Array.from(c(o).querySelectorAll("button:not([disabled])")),currentElement:I.target,direction:B,hasPrio:Q=>Q.getAttribute("data-type")!=="jse-open-dropdown"});E&&E.focus()}}),cA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-value.jse-string.svelte-1htmvf1 { + color: var(--jse-value-color-string, #008000); +} +.jse-value.jse-object.svelte-1htmvf1, .jse-value.jse-array.svelte-1htmvf1 { + min-width: 16px; + color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); +} +.jse-value.jse-number.svelte-1htmvf1 { + color: var(--jse-value-color-number, #ee422e); +} +.jse-value.jse-boolean.svelte-1htmvf1 { + color: var(--jse-value-color-boolean, #ff8c00); +} +.jse-value.jse-null.svelte-1htmvf1 { + color: var(--jse-value-color-null, #004ed0); +} +.jse-value.jse-invalid.svelte-1htmvf1 { + color: var(--jse-text-color, #4d4d4d); +} +.jse-value.jse-url.svelte-1htmvf1 { + color: var(--jse-value-color-url, #008000); + text-decoration: underline; +} + +.jse-enum-value.svelte-1htmvf1 { + background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); + border: none; + padding: 0; + font-family: inherit; + font-size: inherit; + cursor: pointer; + outline: none; +} +.jse-enum-value.jse-selected.svelte-1htmvf1 { + background: var(--jse-selection-background-color, #d3d3d3); + color: inherit; +} +.jse-enum-value.jse-value.svelte-1htmvf1:focus { + color: var(--jse-text-color, #4d4d4d); +}`);var f5e=FA(""),m5e=FA("");var Ky,Uy;function Jy(t,e){return Ky||(Uy=new WeakMap,Ky=new ResizeObserver(A=>{for(var i of A){var n=Uy.get(i.target);n&&n(i.target)}})),Uy.set(t,e),Ky.observe(t),{destroy:()=>{Uy.delete(t),Ky.unobserve(t)}}}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-tree-mode.svelte-10mlrw4 { + flex: 1; + display: flex; + flex-direction: column; + position: relative; + background: var(--jse-background-color, #fff); + min-width: 0; + min-height: 0; + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + color: var(--jse-text-color, #4d4d4d); + line-height: var(--jse-line-height, calc(1em + 4px)); +} +.jse-tree-mode.svelte-10mlrw4 .jse-hidden-input-label:where(.svelte-10mlrw4) .jse-hidden-input:where(.svelte-10mlrw4) { + position: fixed; + top: -10px; + left: -10px; + width: 1px; + height: 1px; + padding: 0; + border: 0; + outline: none; +} +.jse-tree-mode.no-main-menu.svelte-10mlrw4 { + border-top: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-tree-mode.svelte-10mlrw4 .jse-search-box-container:where(.svelte-10mlrw4) { + position: relative; + height: 0; + top: var(--jse-padding, 10px); + margin-right: calc(var(--jse-padding, 10px) + 20px); + margin-left: var(--jse-padding, 10px); + text-align: right; + z-index: 3; +} +.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) { + flex: 1; + overflow: auto; + position: relative; + padding: 2px; + display: flex; + flex-direction: column; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4):last-child { + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) .jse-loading-space:where(.svelte-10mlrw4) { + flex: 1; +} +.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) .jse-loading:where(.svelte-10mlrw4) { + flex: 2; + text-align: center; + color: var(--jse-panel-color-readonly, #b2b2b2); + box-sizing: border-box; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); +} +.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) .jse-search-box-background:where(.svelte-10mlrw4) { + border: 50px solid var(--jse-modal-background, #f5f5f5); + margin: -2px; + margin-bottom: 2px; + display: inline-block; +}`);var HNA=FA(" ",1),zNA=FA('
      '),ONA=FA('
      ',1),PNA=FA(' ',1),jNA=FA('
      loading...
      '),qNA=FA('
      ',1);function KL(t,e){St(e,!1);var A=IA(void 0,!0),i=lr("jsoneditor:TreeMode"),n=typeof window>"u";i("isSSR:",n);var o=II(),a=II(),{openAbsolutePopup:r,closeAbsolutePopup:s}=r1("absolute-popup"),g=IA(void 0,!0),l=IA(void 0,!0),C=IA(void 0,!0),I=!1,d=zoA(),B=N(e,"readOnly",9),E=N(e,"externalContent",9),Q=N(e,"externalSelection",9),f=N(e,"history",9),b=N(e,"truncateTextSize",9),S=N(e,"mainMenuBar",9),M=N(e,"navigationBar",9),D=N(e,"escapeControlCharacters",9),F=N(e,"escapeUnicodeCharacters",9),_=N(e,"parser",9),U=N(e,"parseMemoizeOne",9),J=N(e,"validator",9),j=N(e,"validationParser",9),$=N(e,"pathParser",9),O=N(e,"indentation",9),DA=N(e,"onError",9),P=N(e,"onChange",9),aA=N(e,"onChangeMode",9),iA=N(e,"onSelect",9),BA=N(e,"onUndo",9),oA=N(e,"onRedo",9),sA=N(e,"onRenderValue",9),hA=N(e,"onRenderMenu",9),YA=N(e,"onRenderContextMenu",9),ee=N(e,"onClassName",9),UA=N(e,"onFocus",9),mA=N(e,"onBlur",9),KA=N(e,"onSortModal",9),Pe=N(e,"onTransformModal",9),Ue=N(e,"onJSONEditorModal",9),HA=!1,uA=IA(!1,!0),XA=IA(void 0,!0);cG({onMount:is,onDestroy:Yl,getWindow:()=>gm(c(C)),hasFocus:()=>HA&&document.hasFocus()||WL(c(C)),onFocus:()=>{I=!0,UA()&&UA()()},onBlur:()=>{I=!1,mA()&&mA()()}});var QA=IA(void 0,!0),ZA=IA(void 0,!0),MA=void 0,Me=!1,LA=IA(pL({json:c(QA)}),!0),pA=IA(Vf(Q())?Q():void 0,!0);function Ft(q){R(pA,q)}is(()=>{if(c(pA)){var q=lt(c(pA));R(LA,Gc(c(QA),c(LA),q,qy)),setTimeout(()=>ko(q))}});var ht,Ee=IA(void 0,!0),Kt=IA(void 0,!0),Je=IA(void 0,!0),ze=IA(void 0,!0),ut=IA(!1,!0),ke=IA(!1,!0);function ei(q){R(ze,(ht=q)?xoA(c(QA),ht.items):void 0)}function Y(q,fA){return z.apply(this,arguments)}function z(){return(z=Yt(function*(q,fA){R(LA,Gc(c(QA),c(LA),q,qy));var PA=Bo(fA);yield Si(q,{element:PA})})).apply(this,arguments)}function nA(){R(ut,!1),R(ke,!1),Mt()}function rA(q){i("select validation error",q),R(pA,Ui(q.path)),Si(q.path)}function NA(q){var fA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:wL;i("expand"),R(LA,Gc(c(QA),c(LA),q,fA))}function Ie(q,fA){R(LA,uiA(c(QA),c(LA),q,fA)),c(pA)&&(function(PA,Fe){return q0(lt(PA),Fe)&&(lt(PA).length>Fe.length||Ar(PA))})(c(pA),q)&&R(pA,void 0)}var Qe=IA(!1,!0),xA=IA([],!0),_A=IA(void 0,!0),Et=ZE(OoA);function et(q,fA,PA,Fe){oh(()=>{var pe;try{pe=Et(q,fA,PA,Fe)}catch(De){pe=[{path:[],message:"Failed to validate: "+De.message,severity:Uc.warning}]}Bi(pe,c(xA))||(i("validationErrors changed:",pe),R(xA,pe),R(_A,(function(De,ot){var jt;return ot.forEach(Mi=>{jt=OiA(De,jt,Mi.path,(xn,Pi)=>ye(ye({},Pi),{},{validationError:Mi}))}),ot.forEach(Mi=>{for(var xn=Mi.path;xn.length>0;)xn=Ki(xn),jt=OiA(De,jt,xn,(Pi,Eo)=>Eo.validationError?Eo:ye(ye({},Eo),{},{validationError:{isChildError:!0,path:xn,message:"Contains invalid data",severity:Uc.warning}}))}),jt})(q,c(xA))))},pe=>i("validationErrors updated in ".concat(pe," ms")))}function Ye(){return i("validate"),MA?{parseError:MA,isRepairable:!1}:(et(c(QA),J(),_(),j()),Vi(c(xA))?void 0:{validationErrors:c(xA)})}function Ge(){return c(QA)}function si(){return c(LA)}function gn(){return c(pA)}function dn(q){i("applyExternalContent",{updatedContent:q}),Of(q)?(function(fA){if(fA!==void 0){var PA=!Bi(c(QA),fA);if(i("update external json",{isChanged:PA,currentlyText:c(QA)===void 0}),!!PA){var Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(ZA),textIsRepaired:c(Qe)};R(QA,fA),R(LA,Zg(fA,c(LA))),Le(c(QA)),R(ZA,void 0),R(Qe,!1),MA=void 0,Zi(c(QA)),Qi(Fe)}}})(q.json):zf(q)&&(function(fA){if(!(fA===void 0||Of(E()))){var PA=fA!==c(ZA);if(i("update external text",{isChanged:PA}),!!PA){var Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(ZA),textIsRepaired:c(Qe)};try{R(QA,U()(fA)),R(LA,Zg(c(QA),c(LA))),Le(c(QA)),R(ZA,fA),R(Qe,!1),MA=void 0}catch(pe){try{R(QA,U()(ul(fA))),R(LA,Zg(c(QA),c(LA))),Le(c(QA)),R(ZA,fA),R(Qe,!0),MA=void 0,Zi(c(QA))}catch{R(QA,void 0),R(LA,void 0),R(ZA,E().text),R(Qe,!1),MA=c(ZA)!==void 0&&c(ZA)!==""?uh(c(ZA),pe.message||String(pe)):void 0}}Zi(c(QA)),Qi(Fe)}}})(q.text)}function Le(q){Me||(Me=!0,R(LA,tB(q,c(LA),[])))}function Zi(q){c(pA)&&(br(q,jd(c(pA)))&&br(q,lt(c(pA)))||(i("clearing selection: path does not exist anymore",c(pA)),R(pA,qQ(q,c(LA)))))}function Qi(q){if(q.json!==void 0||q.text!==void 0){var fA=c(QA)!==void 0&&q.json!==void 0;f().add({type:"tree",undo:{patch:fA?[{op:"replace",path:"",value:q.json}]:void 0,json:q.json,text:q.text,documentState:q.documentState,textIsRepaired:q.textIsRepaired,selection:T0(q.selection),sortedColumn:void 0},redo:{patch:fA?[{op:"replace",path:"",value:c(QA)}]:void 0,json:c(QA),text:c(ZA),documentState:c(LA),textIsRepaired:c(Qe),selection:T0(c(pA)),sortedColumn:void 0}})}}function bi(q,fA){var PA;if(i("patch",q,fA),c(QA)===void 0)throw new Error("Cannot apply patch: no JSON");var Fe=c(QA),pe={json:void 0,text:c(ZA),documentState:c(LA),selection:T0(c(pA)),textIsRepaired:c(Qe),sortedColumn:void 0},De=SoA(c(QA),q),ot=hoA(c(QA),c(LA),q),jt=(PA=ph(c(QA),q))!==null&&PA!==void 0?PA:c(pA),Mi=typeof fA=="function"?fA(ot.json,ot.documentState,jt):void 0;return R(QA,Mi?.json!==void 0?Mi.json:ot.json),R(LA,Mi?.state!==void 0?Mi.state:ot.documentState),R(pA,Mi?.selection!==void 0?Mi.selection:jt),R(ZA,void 0),R(Qe,!1),R(Kt,void 0),R(Je,void 0),MA=void 0,Zi(c(QA)),f().add({type:"tree",undo:ye({patch:De},pe),redo:{patch:q,json:void 0,text:c(ZA),documentState:c(LA),selection:T0(c(pA)),sortedColumn:void 0,textIsRepaired:c(Qe)}}),{json:c(QA),previousJson:Fe,undo:De,redo:q}}function zi(){!B()&&c(pA)&&R(pA,sG(lt(c(pA))))}function yt(){if(!B()&&c(pA)){var q=lt(c(pA)),fA=je(c(QA),q);aa(fA)?(function(PA,Fe){i("openJSONEditorModal",{path:PA,value:Fe}),HA=!0,Ue()({content:{json:Fe},path:PA,onPatch:c(y).onPatch,onClose:()=>{HA=!1,setTimeout(Mt)}})})(q,fA):R(pA,rv(q))}}function Xi(){if(!B()&&In(c(pA))){var q=lt(c(pA)),fA=wt(q),PA=je(c(QA),q),Fe=!z0(c(QA),c(LA),q),pe=Fe?String(PA):Rh(String(PA),_());i("handleToggleEnforceString",{enforceString:Fe,value:PA,updatedValue:pe}),VA([{op:"replace",path:fA,value:pe}],(De,ot)=>({state:Dv(c(QA),ot,q,{type:"value",enforceString:Fe})}))}}function _t(){return c(Qe)&&c(QA)!==void 0&&me(c(QA)),c(QA)!==void 0?{json:c(QA)}:{text:c(ZA)||""}}function L(){return ct.apply(this,arguments)}function ct(){return ct=Yt(function*(){var q=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];yield eaA({json:c(QA),selection:c(pA),indentation:q?O():void 0,readOnly:B(),parser:_(),onPatch:VA})}),ct.apply(this,arguments)}function li(){return Bn.apply(this,arguments)}function Bn(){return Bn=Yt(function*(){var q=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];c(QA)!==void 0&&(yield taA({json:c(QA),selection:c(pA),indentation:q?O():void 0,parser:_()}))}),Bn.apply(this,arguments)}function En(q){var fA;q.preventDefault(),Co((fA=q.clipboardData)===null||fA===void 0?void 0:fA.getData("text/plain"))}function qn(){return Uo.apply(this,arguments)}function Uo(){return(Uo=Yt(function*(){try{Co(yield navigator.clipboard.readText())}catch(q){console.error(q),R(uA,!0)}})).apply(this,arguments)}function Co(q){q!==void 0&&iaA({clipboardText:q,json:c(QA),selection:c(pA),readOnly:B(),parser:_(),onPatch:VA,onChangeText:dA,onPasteMultilineText:Kn,openRepairModal:Mo})}function Mo(q,fA){R(XA,{text:q,onParse:PA=>sm(PA,Fe=>rm(Fe,_())),onRepair:noA,onApply:fA,onClose:Mt})}function Wo(){naA({json:c(QA),text:c(ZA),selection:c(pA),keepSelection:!1,readOnly:B(),onChange:P(),onPatch:VA})}function wo(){!B()&&c(QA)!==void 0&&c(pA)&&ih&&!Vi(lt(c(pA)))&&(i("duplicate",{selection:c(pA)}),VA(voA(c(QA),o1(c(QA),c(pA)))))}function Qa(){B()||!c(pA)||!lo(c(pA))&&!In(c(pA))||Vi(lt(c(pA)))||(i("extract",{selection:c(pA)}),VA(boA(c(QA),c(pA)),(q,fA)=>{if(aa(q))return{state:W_(q,fA,[])}}))}function Zo(q){Qv({insertType:q,selectInside:!0,initialValue:void 0,json:c(QA),selection:c(pA),readOnly:B(),parser:_(),onPatch:VA,onReplaceJson:me})}function ra(q){gr(c(pA))&&R(pA,Ui(c(pA).path)),c(pA)||R(pA,qQ(c(QA),c(LA))),Zo(q)}function Do(q){if(!B()&&c(pA))if(Ny(c(pA)))try{var fA=jd(c(pA)),PA=je(c(QA),fA),Fe=(function(De,ot,jt){if(ot==="array"){if(Array.isArray(De))return De;if(pn(De))return oiA(De);if(typeof De=="string")try{var Mi=jt.parse(De);if(Array.isArray(Mi))return Mi;if(pn(Mi))return oiA(Mi)}catch{return[De]}return[De]}if(ot==="object"){if(Array.isArray(De))return niA(De);if(pn(De))return De;if(typeof De=="string")try{var xn=jt.parse(De);if(pn(xn))return xn;if(Array.isArray(xn))return niA(xn)}catch{return{value:De}}return{value:De}}if(ot==="value")return aa(De)?jt.stringify(De):De;throw new Error("Cannot convert ".concat(jL(De,jt)," to ").concat(ot))})(PA,q,_());if(Fe===PA)return;var pe=[{op:"replace",path:wt(fA),value:Fe}];i("handleConvert",{selection:c(pA),path:fA,type:q,operations:pe}),VA(pe,(De,ot)=>({state:c(pA)?tB(De,ot,lt(c(pA))):c(LA)}))}catch(De){DA()(De)}else DA()(new Error("Cannot convert current selection to ".concat(q)))}function re(){if(c(pA)){var q=wiA(c(QA),c(LA),c(pA),!1),fA=Ki(lt(c(pA)));q&&!Vi(lt(q))&&Bi(fA,Ki(lt(q)))?R(pA,i2(lt(q))):R(pA,g2(fA)),i("insert before",{selection:c(pA),selectionBefore:q,parentPath:fA}),bo(),Ji()}}function di(){if(c(pA)){var q=i1(c(QA),c(pA));i("insert after",q),R(pA,i2(q)),bo(),Ji()}}function ln(q){return Qn.apply(this,arguments)}function Qn(){return(Qn=Yt(function*(q){yield oaA({char:q,selectInside:!0,json:c(QA),selection:c(pA),readOnly:B(),parser:_(),onPatch:VA,onReplaceJson:me,onSelect:Ft})})).apply(this,arguments)}function Jo(){if(!B()&&f().canUndo){var q=f().undo();if(ov(q)){var fA={json:c(QA),text:c(ZA)};R(QA,q.undo.patch?lg(c(QA),q.undo.patch):q.undo.json),R(LA,q.undo.documentState),R(pA,q.undo.selection),R(ZA,q.undo.text),R(Qe,q.undo.textIsRepaired),MA=void 0,i("undo",{item:q,json:c(QA),documentState:c(LA),selection:c(pA)}),vA(fA,q.undo.patch&&q.redo.patch?{json:c(QA),previousJson:fA.json,redo:q.undo.patch,undo:q.redo.patch}:void 0),Mt(),c(pA)&&Si(lt(c(pA)),{scrollToWhenVisible:!1})}else BA()(q)}}function ya(){if(!B()&&f().canRedo){var q=f().redo();if(ov(q)){var fA={json:c(QA),text:c(ZA)};R(QA,q.redo.patch?lg(c(QA),q.redo.patch):q.redo.json),R(LA,q.redo.documentState),R(pA,q.redo.selection),R(ZA,q.redo.text),R(Qe,q.redo.textIsRepaired),MA=void 0,i("redo",{item:q,json:c(QA),documentState:c(LA),selection:c(pA)}),vA(fA,q.undo.patch&&q.redo.patch?{json:c(QA),previousJson:fA.json,redo:q.redo.patch,undo:q.undo.patch}:void 0),Mt(),c(pA)&&Si(lt(c(pA)),{scrollToWhenVisible:!1})}else oA()(q)}}function wi(q){var fA;B()||c(QA)===void 0||(HA=!0,KA()({id:o,json:c(QA),rootPath:q,onSort:(fA=Yt(function*(PA){var{operations:Fe}=PA;i("onSort",q,Fe),VA(Fe,(pe,De)=>({state:W_(pe,De,q),selection:Ui(q)}))}),function(PA){return fA.apply(this,arguments)}),onClose:()=>{HA=!1,setTimeout(Mt)}}))}function Io(){c(pA)&&wi(yiA(c(QA),c(pA)))}function tr(){wi([])}function yo(q){if(c(QA)!==void 0){var{id:fA,onTransform:PA,onClose:Fe}=q,pe=q.rootPath||[];HA=!0,Pe()({id:fA||a,json:c(QA),rootPath:pe,onTransform:De=>{PA?PA({operations:De,json:c(QA),transformedJson:lg(c(QA),De)}):(i("onTransform",pe,De),VA(De,(ot,jt)=>({state:W_(ot,jt,pe),selection:Ui(pe)})))},onClose:()=>{HA=!1,setTimeout(Mt),Fe&&Fe()}})}}function Pa(){c(pA)&&yo({rootPath:yiA(c(QA),c(pA))})}function Gn(){yo({rootPath:[]})}function Si(q){return Pt.apply(this,arguments)}function Pt(){return Pt=Yt(function*(q){var{scrollToWhenVisible:fA=!0,element:PA}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};R(LA,Gc(c(QA),c(LA),q,qy));var Fe=PA??Sn(q);if(i("scrollTo",{path:q,elem:Fe,refContents:c(g)}),!Fe||!c(g))return Promise.resolve();var pe=c(g).getBoundingClientRect(),De=Fe.getBoundingClientRect();if(!fA&&De.bottom>pe.top&&De.top{d(Fe,{container:c(g),offset:ot,duration:300,callback:()=>jt()})})}),Pt.apply(this,arguments)}function Sn(q){var fA,PA;return bo(),(fA=(PA=c(g))===null||PA===void 0?void 0:PA.querySelector('div[data-path="'.concat(jy(q),'"]')))!==null&&fA!==void 0?fA:void 0}function Bo(q){var fA,PA;return bo(),(fA=(PA=c(g))===null||PA===void 0?void 0:PA.querySelector('span[data-search-result-index="'.concat(q,'"]')))!==null&&fA!==void 0?fA:void 0}function ko(q){var fA=Sn(q);if(fA&&c(g)){var PA=c(g).getBoundingClientRect(),Fe=fA.getBoundingClientRect(),pe=aa(je(c(QA),q))?20:Fe.height;Fe.topPA.bottom-20&&d(fA,{container:c(g),offset:-(PA.height-pe-20),duration:0})}}function vA(q,fA){if(q.json!==void 0||q?.text!==void 0){if(c(ZA)!==void 0){var PA,Fe={text:c(ZA),json:void 0};(PA=P())===null||PA===void 0||PA(Fe,q,{contentErrors:Ye(),patchResult:fA})}else if(c(QA)!==void 0){var pe,De={text:void 0,json:c(QA)};(pe=P())===null||pe===void 0||pe(De,q,{contentErrors:Ye(),patchResult:fA})}}}function VA(q,fA){i("handlePatch",q,fA);var PA={json:c(QA),text:c(ZA)},Fe=bi(q,fA);return vA(PA,Fe),Fe}function me(q,fA){var PA={json:c(QA),text:c(ZA)},Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(ZA),textIsRepaired:c(Qe)},pe=Gc(c(QA),Zg(q,c(LA)),[],Kf),De=typeof fA=="function"?fA(q,pe,c(pA)):void 0;R(QA,De?.json!==void 0?De.json:q),R(LA,De?.state!==void 0?De.state:pe),R(pA,De?.selection!==void 0?De.selection:c(pA)),R(ZA,void 0),R(Qe,!1),MA=void 0,Zi(c(QA)),Qi(Fe),vA(PA,void 0)}function dA(q,fA){i("handleChangeText");var PA={json:c(QA),text:c(ZA)},Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(ZA),textIsRepaired:c(Qe)};try{R(QA,U()(q)),R(LA,Gc(c(QA),Zg(c(QA),c(LA)),[],Kf)),R(ZA,void 0),R(Qe,!1),MA=void 0}catch(De){try{R(QA,U()(ul(q))),R(LA,Gc(c(QA),Zg(c(QA),c(LA)),[],Kf)),R(ZA,q),R(Qe,!0),MA=void 0}catch{R(QA,void 0),R(LA,pL({json:c(QA),expand:Kf})),R(ZA,q),R(Qe,!1),MA=c(ZA)!==""?uh(c(ZA),De.message||String(De)):void 0}}if(typeof fA=="function"){var pe=fA(c(QA),c(LA),c(pA));R(QA,pe?.json!==void 0?pe.json:c(QA)),R(LA,pe?.state!==void 0?pe.state:c(LA)),R(pA,pe?.selection!==void 0?pe.selection:c(pA))}Zi(c(QA)),Qi(Fe),vA(PA,void 0)}function SA(q,fA){var PA=arguments.length>2&&arguments[2]!==void 0&&arguments[2];i("handleExpand",{path:q,expanded:fA,recursive:PA}),fA?NA(q,PA?rG:wL):Ie(q,PA),Mt()}function oe(){SA([],!0,!0)}function xe(){SA([],!1,!0)}function it(q){i("openFind",{findAndReplace:q}),R(ut,!1),R(ke,!1),bo(),R(ut,!0),R(ke,q)}function rt(q,fA){i("handleExpandSection",q,fA),R(LA,(function(PA,Fe,pe,De){return mh(PA,Fe,pe,(ot,jt)=>{if(!sr(jt))return jt;var Mi=BoA(jt.visibleSections.concat(De));return ye(ye({},jt),{},{visibleSections:Mi})})})(c(QA),c(LA),q,fA))}function bt(q){i("pasted json as text",q),R(Kt,q)}function Kn(q){i("pasted multiline text",{pastedText:q}),R(Je,q)}function xi(q){var fA,{anchor:PA,left:Fe,top:pe,width:De,height:ot,offsetTop:jt,offsetLeft:Mi,showTip:xn}=q,Pi=(function(Wn){var{json:$o,documentState:un,selection:Gt,readOnly:$i,onEditKey:Zt,onEditValue:pt,onToggleEnforceString:gi,onCut:ga,onCopy:Zn,onPaste:Aa,onRemove:ha,onDuplicate:fr,onExtract:AC,onInsertBefore:xg,onInsert:zl,onConvert:$c,onInsertAfter:Ol,onSort:os,onTransform:mr}=Wn,Rg=$o!==void 0,eC=!!Gt,Ng=!!Gt&&Vi(lt(Gt)),Rn=Gt?je($o,lt(Gt)):void 0,Na=Array.isArray(Rn)?"Edit array":pn(Rn)?"Edit object":"Edit value",Fa=Rg&&(lo(Gt)||gr(Gt)||In(Gt)),Q1=Gt&&!Ng?je($o,Ki(lt(Gt))):void 0,QB=!$i&&Rg&&av(Gt)&&!Ng&&!Array.isArray(Q1),h1=!$i&&Rg&&Gt!==void 0&&av(Gt),tu=h1&&!aa(Rn),hB=!$i&&Fa,iu=Fa,Rb=!$i&&eC,Nb=!$i&&Rg&&Fa&&!Ng,Fb=!$i&&Rg&&Gt!==void 0&&(lo(Gt)||In(Gt))&&!Ng,A0=Fa,u1=A0?"Convert to:":"Insert:",_a=!$i&&(Ar(Gt)&&Array.isArray(Rn)||yg(Gt)&&Array.isArray(Q1)),tl=!$i&&(A0?Ny(Gt)&&!pn(Rn):eC),nu=!$i&&(A0?Ny(Gt)&&!Array.isArray(Rn):eC),ou=!$i&&(A0?Ny(Gt)&&aa(Rn):eC),f1=Gt!==void 0&&z0($o,un,lt(Gt));function Lr(au){Fa?au!=="structure"&&$c(au):zl(au)}return[{type:"row",items:[{type:"button",onClick:()=>Zt(),icon:nd,text:"Edit key",title:"Edit the key (Double-click on the key)",disabled:!QB},{type:"dropdown-button",main:{type:"button",onClick:()=>pt(),icon:nd,text:Na,title:"Edit the value (Double-click on the value)",disabled:!h1},width:"11em",items:[{type:"button",icon:nd,text:Na,title:"Edit the value (Double-click on the value)",onClick:()=>pt(),disabled:!h1},{type:"button",icon:f1?RS:_S,text:"Enforce string",title:"Enforce keeping the value as string when it contains a numeric value",onClick:()=>gi(),disabled:!tu}]}]},{type:"separator"},{type:"row",items:[{type:"dropdown-button",main:{type:"button",onClick:()=>ga(!0),icon:od,text:"Cut",title:"Cut selected contents, formatted with indentation (Ctrl+X)",disabled:!hB},width:"10em",items:[{type:"button",icon:od,text:"Cut formatted",title:"Cut selected contents, formatted with indentation (Ctrl+X)",onClick:()=>ga(!0),disabled:!hB},{type:"button",icon:od,text:"Cut compacted",title:"Cut selected contents, without indentation (Ctrl+Shift+X)",onClick:()=>ga(!1),disabled:!hB}]},{type:"dropdown-button",main:{type:"button",onClick:()=>Zn(!0),icon:kC,text:"Copy",title:"Copy selected contents, formatted with indentation (Ctrl+C)",disabled:!iu},width:"12em",items:[{type:"button",icon:kC,text:"Copy formatted",title:"Copy selected contents, formatted with indentation (Ctrl+C)",onClick:()=>Zn(!0),disabled:!iu},{type:"button",icon:kC,text:"Copy compacted",title:"Copy selected contents, without indentation (Ctrl+Shift+C)",onClick:()=>Zn(!1),disabled:!iu}]},{type:"button",onClick:()=>Aa(),icon:kS,text:"Paste",title:"Paste clipboard contents (Ctrl+V)",disabled:!Rb}]},{type:"separator"},{type:"row",items:[{type:"column",items:[{type:"button",onClick:()=>fr(),icon:xS,text:"Duplicate",title:"Duplicate selected contents (Ctrl+D)",disabled:!Nb},{type:"button",onClick:()=>AC(),icon:Vq,text:"Extract",title:"Extract selected contents",disabled:!Fb},{type:"button",onClick:()=>os(),icon:l3,text:"Sort",title:"Sort array or object contents",disabled:$i||!Fa},{type:"button",onClick:()=>mr(),icon:a3,text:"Transform",title:"Transform array or object contents (filter, sort, project)",disabled:$i||!Fa},{type:"button",onClick:()=>ha(),icon:Vw,text:"Remove",title:"Remove selected contents (Delete)",disabled:$i||!Fa}]},{type:"column",items:[{type:"label",text:u1},{type:"button",onClick:()=>Lr("structure"),icon:A0?c3:ad,text:"Structure",title:u1+" structure like the first item in the array",disabled:!_a},{type:"button",onClick:()=>Lr("object"),icon:A0?c3:ad,text:"Object",title:u1+" object",disabled:!tl},{type:"button",onClick:()=>Lr("array"),icon:A0?c3:ad,text:"Array",title:u1+" array",disabled:!nu},{type:"button",onClick:()=>Lr("value"),icon:A0?c3:ad,text:"Value",title:u1+" value",disabled:!ou}]}]},{type:"separator"},{type:"row",items:[{type:"button",onClick:()=>xg(),icon:tV,text:"Insert before",title:"Select area before current entry to insert or paste contents",disabled:$i||!Fa||Ng},{type:"button",onClick:()=>Ol(),icon:Wq,text:"Insert after",title:"Select area after current entry to insert or paste contents",disabled:$i||!Fa||Ng}]}]})({json:c(QA),documentState:c(LA),selection:c(pA),readOnly:B(),onEditKey:zi,onEditValue:yt,onToggleEnforceString:Xi,onCut:L,onCopy:li,onPaste:qn,onRemove:Wo,onDuplicate:wo,onExtract:Qa,onInsertBefore:re,onInsert:ra,onInsertAfter:di,onConvert:Do,onSort:Io,onTransform:Pa}),Eo=(fA=YA()(Pi))!==null&&fA!==void 0?fA:Pi;if(Eo!==!1){var Wt={left:Fe,top:pe,offsetTop:jt,offsetLeft:Mi,width:De,height:ot,anchor:PA,closeOnOuterClick:!0,onClose:()=>{HA=!1,Mt()}};HA=!0;var Xo=r(raA,{tip:xn?"Tip: you can open this context menu via right-click or with Ctrl+Q":void 0,items:Eo,onRequestClose:()=>s(Xo)},Wt)}}function Ji(q){if(!rr(c(pA)))if(q&&(q.stopPropagation(),q.preventDefault()),q&&q.type==="contextmenu"&&q.target!==c(l))xi({left:q.clientX,top:q.clientY,width:XC,height:ZC,showTip:!1});else{var fA,PA=(fA=c(g))===null||fA===void 0?void 0:fA.querySelector(".jse-context-menu-pointer.jse-selected");if(PA)xi({anchor:PA,offsetTop:2,width:XC,height:ZC,showTip:!1});else{var Fe,pe=(Fe=c(g))===null||Fe===void 0?void 0:Fe.getBoundingClientRect();pe&&xi({top:pe.top+2,left:pe.left+2,width:XC,height:ZC,showTip:!1})}}}function Vt(q){xi({anchor:IoA(q.target,"BUTTON"),offsetTop:0,width:XC,height:ZC,showTip:!0})}function Ri(){return va.apply(this,arguments)}function va(){return(va=Yt(function*(){if(i("apply pasted json",c(Kt)),c(Kt)){var{onPasteAsJson:q}=c(Kt);R(Kt,void 0),q(),setTimeout(Mt)}})).apply(this,arguments)}function Lt(){return st.apply(this,arguments)}function st(){return(st=Yt(function*(){i("apply pasted multiline text",c(Je)),c(Je)&&(Co(JSON.stringify(c(Je))),setTimeout(Mt))})).apply(this,arguments)}function Ni(){i("clear pasted json"),R(Kt,void 0),Mt()}function Oi(){i("clear pasted multiline text"),R(Je,void 0),Mt()}function Vn(){aA()(Da.text)}function hn(q){R(pA,q),Mt(),Si(lt(q))}function Mt(){i("focus"),c(l)&&(c(l).focus(),c(l).select())}function sa(q){return(function(fA,PA,Fe){var pe=Ki(Fe),De=[mi(Fe)],ot=je(fA,pe),jt=ot?V_(ot,PA,De):void 0;return jt?Ui(pe.concat(jt)):i2(Fe)})(c(QA),c(LA),q)}function Yo(q){c(A)&&c(A).onDrag(q)}function u(){c(A)&&c(A).onDragEnd()}var y=IA(void 0,!0);RA(()=>c(pA),()=>{var q;q=c(pA),Bi(q,Q())||(i("onSelect",q),iA()(q))}),RA(()=>(G(D()),G(F())),()=>{R(Ee,qL({escapeControlCharacters:D(),escapeUnicodeCharacters:F()}))}),RA(()=>c(ut),()=>{(function(q){c(g)&&q&&c(g).scrollTop===0&&(Xg(g,c(g).style.overflowAnchor="none"),Xg(g,c(g).scrollTop+=Gf),setTimeout(()=>{c(g)&&Xg(g,c(g).style.overflowAnchor="")}))})(c(ut))}),RA(()=>G(E()),()=>{dn(E())}),RA(()=>G(Q()),()=>{(function(q){Bi(c(pA),q)||(i("applyExternalSelection",{selection:c(pA),externalSelection:q}),Vf(q)&&R(pA,q))})(Q())}),RA(()=>(c(QA),G(J()),G(_()),G(j())),()=>{et(c(QA),J(),_(),j())}),RA(()=>(c(g),ziA),()=>{R(A,c(g)?ziA(c(g)):void 0)}),RA(()=>(G(B()),G(b()),G(_()),c(Ee),G(sA()),G(ee())),()=>{R(y,{mode:Da.tree,readOnly:B(),truncateTextSize:b(),parser:_(),normalization:c(Ee),getJson:Ge,getDocumentState:si,getSelection:gn,findElement:Sn,findNextInside:sa,focus:Mt,onPatch:VA,onInsert:Zo,onExpand:SA,onSelect:Ft,onFind:it,onExpandSection:rt,onPasteJson:bt,onRenderValue:sA(),onContextMenu:xi,onClassName:ee()||(()=>{}),onDrag:Yo,onDragEnd:u})}),RA(()=>c(y),()=>{i("context changed",c(y))}),kn();var x={expand:NA,collapse:Ie,validate:Ye,getJson:Ge,patch:bi,acceptAutoRepair:_t,openTransformModal:yo,scrollTo:Si,findElement:Sn,findSearchResult:Bo,focus:Mt};Ai(!0);var H=qNA();ue("mousedown",e2,function(q){!Nh(q.target,fA=>fA===c(C))&&rr(c(pA))&&(i("click outside the editor, exit edit mode"),R(pA,T0(c(pA))),I&&c(l)&&(c(l).focus(),c(l).blur()),i("blur (outside editor)"),c(l)&&c(l).blur())});var k,T=At(H),tA=CA(T),lA=q=>{(function(fA,PA){St(PA,!1);var Fe=IA(void 0,!0),pe=IA(void 0,!0),De=IA(void 0,!0),ot=N(PA,"json",9),jt=N(PA,"selection",9),Mi=N(PA,"readOnly",9),xn=N(PA,"showSearch",13,!1),Pi=N(PA,"history",9),Eo=N(PA,"onExpandAll",9),Wt=N(PA,"onCollapseAll",9),Xo=N(PA,"onUndo",9),Wn=N(PA,"onRedo",9),$o=N(PA,"onSort",9),un=N(PA,"onTransform",9),Gt=N(PA,"onContextMenu",9),$i=N(PA,"onCopy",9),Zt=N(PA,"onRenderMenu",9);function pt(){xn(!xn())}var gi=IA(void 0,!0),ga=IA(void 0,!0),Zn=IA(void 0,!0),Aa=IA(void 0,!0);RA(()=>G(ot()),()=>{R(Fe,ot()!==void 0)}),RA(()=>(c(Fe),G(jt()),In),()=>{R(pe,c(Fe)&&(lo(jt())||gr(jt())||In(jt())))}),RA(()=>(G(Eo()),G(ot())),()=>{R(gi,{type:"button",icon:VoA,title:"Expand all",className:"jse-expand-all",onClick:Eo(),disabled:!aa(ot())})}),RA(()=>(G(Wt()),G(ot())),()=>{R(ga,{type:"button",icon:WoA,title:"Collapse all",className:"jse-collapse-all",onClick:Wt(),disabled:!aa(ot())})}),RA(()=>G(ot()),()=>{R(Zn,{type:"button",icon:r3,title:"Search (Ctrl+F)",className:"jse-search",onClick:pt,disabled:ot()===void 0})}),RA(()=>(G(Mi()),c(gi),c(ga),G($o()),G(ot()),G(un()),c(Zn),G(Gt()),G(Xo()),G(Pi()),G(Wn()),G($i()),c(pe)),()=>{R(Aa,Mi()?[c(gi),c(ga),{type:"separator"},{type:"button",icon:kC,title:"Copy (Ctrl+C)",className:"jse-copy",onClick:$i(),disabled:!c(pe)},{type:"separator"},c(Zn),{type:"space"}]:[c(gi),c(ga),{type:"separator"},{type:"button",icon:l3,title:"Sort",className:"jse-sort",onClick:$o(),disabled:Mi()||ot()===void 0},{type:"button",icon:a3,title:"Transform contents (filter, sort, project)",className:"jse-transform",onClick:un(),disabled:Mi()||ot()===void 0},c(Zn),{type:"button",icon:SS,title:$L,className:"jse-contextmenu",onClick:Gt()},{type:"separator"},{type:"button",icon:Xw,title:"Undo (Ctrl+Z)",className:"jse-undo",onClick:Xo(),disabled:!Pi().canUndo},{type:"button",icon:Zw,title:"Redo (Ctrl+Shift+Z)",className:"jse-redo",onClick:Wn(),disabled:!Pi().canRedo},{type:"space"}])}),RA(()=>(G(Zt()),c(Aa)),()=>{R(De,Zt()(c(Aa))||c(Aa))}),kn(),Ai(!0),Sv(fA,{get items(){return c(De)}}),xt()})(q,{get json(){return c(QA)},get selection(){return c(pA)},get readOnly(){return B()},get history(){return f()},onExpandAll:oe,onCollapseAll:xe,onUndo:Jo,onRedo:ya,onSort:tr,onTransform:Gn,onContextMenu:Vt,onCopy:li,get onRenderMenu(){return hA()},get showSearch(){return c(ut)},set showSearch(fA){R(ut,fA)},$$legacy:!0})};TA(tA,q=>{S()&&q(lA)});var wA=bA(tA,2),Ae=q=>{mNA(q,{get json(){return c(QA)},get selection(){return c(pA)},onSelect:hn,get onError(){return DA()},get pathParser(){return $()}})};TA(wA,q=>{M()&&q(Ae)});var ne=bA(wA,2),Be=q=>{var fA=PNA(),PA=At(fA),Fe=CA(PA);Fe.readOnly=!0,Ko(Fe,jt=>R(l,jt),()=>c(l));var pe=bA(PA,2),De=jt=>{var Mi=vi(),xn=At(Mi),Pi=Wt=>{(function(Xo,Wn){function $o(gi){gi.stopPropagation(),Wn.onCreateObject()}function un(gi){gi.stopPropagation(),Wn.onCreateArray()}St(Wn,!0);var Gt=sNA();Gt.__click=()=>Wn.onClick();var $i=bA(CA(Gt),2),Zt=bA(CA($i),2),pt=gi=>{var ga=rNA(),Zn=bA(At(ga),2);Mn(Zn,"title","Create an empty JSON object (press '{')"),Zn.__click=$o;var Aa=bA(Zn,2);Mn(Aa,"title","Create an empty JSON array (press '[')"),Aa.__click=un,cA(gi,ga)};TA(Zt,gi=>{Wn.readOnly||gi(pt)}),cA(Xo,Gt),xt()})(Wt,{get readOnly(){return B()},onCreateObject:()=>{Mt(),ln("{")},onCreateArray:()=>{Mt(),ln("[")},onClick:()=>{Mt()}})},Eo=Wt=>{var Xo=HNA(),Wn=At(Xo),$o=tt(()=>B()?[]:[{icon:s3,text:"Repair manually",title:'Open the document in "code" mode and repair it manually',onClick:Vn}]);el(Wn,{type:"error",message:"The loaded JSON document is invalid and could not be repaired automatically.",get actions(){return c($o)}}),aaA(bA(Wn,2),{get text(){return c(ZA)},get json(){return c(QA)},get indentation(){return O()},get parser(){return _()}}),cA(Wt,Xo)};TA(xn,Wt=>{c(ZA)===""||c(ZA)===void 0?Wt(Pi):Wt(Eo,!1)}),cA(jt,Mi)},ot=jt=>{var Mi=ONA(),xn=At(Mi);XoA(CA(xn),{get json(){return c(QA)},get documentState(){return c(LA)},get parser(){return _()},get showSearch(){return c(ut)},get showReplace(){return c(ke)},get readOnly(){return B()},columns:void 0,onSearch:ei,onFocus:Y,onPatch:VA,onClose:nA});var Pi=bA(xn,2);Mn(Pi,"data-jsoneditor-scrollable-contents",!0);var Eo=CA(Pi),Wt=Zt=>{cA(Zt,zNA())};TA(Eo,Zt=>{c(ut)&&Zt(Wt)}),RL(bA(Eo,2),{get value(){return c(QA)},pointer:"",get state(){return c(LA)},get validationErrors(){return c(_A)},get searchResults(){return c(ze)},get selection(){return c(pA)},get context(){return c(y)},get onDragSelectionStart(){return pa}}),Ko(Pi,Zt=>R(g,Zt),()=>c(g));var Xo=bA(Pi,2),Wn=Zt=>{var pt=tt(()=>(c(Kt),EA(()=>"You pasted a JSON ".concat(Array.isArray(c(Kt).contents)?"array":"object"," as text")))),gi=tt(()=>[{icon:MC,text:"Paste as JSON instead",title:"Replace the value with the pasted JSON",onMouseDown:Ri},{text:"Leave as is",title:"Keep the JSON embedded in the value",onClick:Ni}]);el(Zt,{type:"info",get message(){return c(pt)},get actions(){return c(gi)}})};TA(Xo,Zt=>{c(Kt)&&Zt(Wn)});var $o=bA(Xo,2),un=Zt=>{var pt=tt(()=>[{icon:MC,text:"Paste as string instead",title:"Paste the clipboard data as a single string value instead of an array",onClick:Lt},{text:"Leave as is",title:"Keep the pasted array",onClick:Oi}]);el(Zt,{type:"info",message:"Multiline text was pasted as array",get actions(){return c(pt)}})};TA($o,Zt=>{c(Je)&&Zt(un)});var Gt=bA($o,2),$i=Zt=>{var pt=tt(()=>B()?[]:[{icon:Ww,text:"Ok",title:"Accept the repaired document",onClick:_t},{icon:s3,text:"Repair manually instead",title:"Leave the document unchanged and repair it manually instead",onClick:Vn}]);el(Zt,{type:"success",message:"The loaded JSON document was invalid but is successfully repaired.",get actions(){return c(pt)},onClose:Mt})};TA(Gt,Zt=>{c(Qe)&&Zt($i)}),CG(bA(Gt,2),{get validationErrors(){return c(xA)},selectError:rA}),cA(jt,Mi)};TA(pe,jt=>{c(QA)===void 0?jt(De):jt(ot,!1)}),ue("paste",Fe,En),cA(q,fA)},Te=q=>{cA(q,jNA())};TA(ne,q=>{n?q(Te,!1):q(Be)}),Ko(T,q=>R(C,q),()=>c(C));var Se=bA(T,2),Ne=q=>{PoA(q,{onClose:()=>R(uA,!1)})};TA(Se,q=>{c(uA)&&q(Ne)});var ni=bA(Se,2),Un=q=>{joA(q,e1(()=>c(XA),{onClose:()=>{var fA;(fA=c(XA))===null||fA===void 0||fA.onClose(),R(XA,void 0)}}))};return TA(ni,q=>{c(XA)&&q(Un)}),ve(()=>k=$t(T,1,"jse-tree-mode svelte-10mlrw4",null,k,{"no-main-menu":!S()})),ue("keydown",T,function(q){var fA=r2(q),PA=q.shiftKey;if(i("keydown",{combo:fA,key:q.key}),fA==="Ctrl+X"&&(q.preventDefault(),L(!0)),fA==="Ctrl+Shift+X"&&(q.preventDefault(),L(!1)),fA==="Ctrl+C"&&(q.preventDefault(),li(!0)),fA==="Ctrl+Shift+C"&&(q.preventDefault(),li(!1)),fA==="Ctrl+D"&&(q.preventDefault(),wo()),fA!=="Delete"&&fA!=="Backspace"||(q.preventDefault(),Wo()),fA==="Insert"&&(q.preventDefault(),Zo("structure")),fA==="Ctrl+A"&&(q.preventDefault(),R(pA,Ui([]))),fA==="Ctrl+Q"&&Ji(q),fA==="ArrowUp"||fA==="Shift+ArrowUp"){q.preventDefault();var Fe=c(pA)?wiA(c(QA),c(LA),c(pA),PA)||c(pA):qQ(c(QA),c(LA));R(pA,Fe),ko(lt(Fe))}if(fA==="ArrowDown"||fA==="Shift+ArrowDown"){q.preventDefault();var pe=c(pA)?(function(Pi,Eo,Wt){var Xo=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(Wt){var Wn=Xo?lt(Wt):i1(Pi,Wt),$o=aa(je(Pi,Wn))?uiA(Pi,Eo,Wn,!0):Eo,un=V_(Pi,Eo,Wn),Gt=V_(Pi,$o,Wn);if(Xo)return Ar(Wt)?un!==void 0?ys(un,un):void 0:yg(Wt)?Gt!==void 0?ys(Gt,Gt):void 0:Gt!==void 0?ys(jd(Wt),Gt):void 0;if(yg(Wt))return Gt!==void 0?Ui(Gt):void 0;if(Ar(Wt)||In(Wt))return un!==void 0?Ui(un):void 0;if(gr(Wt)){if(un===void 0||un.length===0)return;var $i=Ki(un),Zt=je(Pi,$i);return Array.isArray(Zt)?Ui(un):s2(un)}return lo(Wt)?Gt!==void 0?Ui(Gt):un!==void 0?Ui(un):void 0:void 0}})(c(QA),c(LA),c(pA),PA)||c(pA):qQ(c(QA),c(LA));R(pA,pe),ko(lt(pe))}if(fA==="ArrowLeft"||fA==="Shift+ArrowLeft"){q.preventDefault();var De=c(pA)?(function(Pi,Eo,Wt){var Xo=arguments.length>3&&arguments[3]!==void 0&&arguments[3],Wn=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4];if(Wt){var{caret:$o,previous:un}=DiA(Pi,Eo,Wt,Wn);if(Xo)return lo(Wt)?void 0:ys(Wt.path,Wt.path);if($o&&un)return DL(un);var Gt=Ki(lt(Wt)),$i=je(Pi,Gt);return In(Wt)&&Array.isArray($i)?ys(Wt.path,Wt.path):lo(Wt)&&!Array.isArray($i)?s2(Wt.focusPath):void 0}})(c(QA),c(LA),c(pA),PA,!B())||c(pA):qQ(c(QA),c(LA));R(pA,De),ko(lt(De))}if(fA==="ArrowRight"||fA==="Shift+ArrowRight"){q.preventDefault();var ot=c(pA)&&c(QA)!==void 0?(function(Pi,Eo,Wt){var Xo=arguments.length>3&&arguments[3]!==void 0&&arguments[3],Wn=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4];if(Wt){var{caret:$o,next:un}=DiA(Pi,Eo,Wt,Wn);return Xo?lo(Wt)?void 0:ys(Wt.path,Wt.path):$o&&un?DL(un):lo(Wt)?Ui(Wt.focusPath):void 0}})(c(QA),c(LA),c(pA),PA,!B())||c(pA):qQ(c(QA),c(LA));R(pA,ot),ko(lt(ot))}if(fA==="Enter"&&c(pA)){if(yv(c(pA))){var jt=c(pA).focusPath,Mi=je(c(QA),Ki(jt));Array.isArray(Mi)&&(q.preventDefault(),R(pA,Ui(jt)))}gr(c(pA))&&(q.preventDefault(),R(pA,ye(ye({},c(pA)),{},{edit:!0}))),In(c(pA))&&(q.preventDefault(),aa(je(c(QA),c(pA).path))?SA(c(pA).path,!0):R(pA,ye(ye({},c(pA)),{},{edit:!0})))}if(fA.replace(/^Shift\+/,"").length===1&&c(pA))return q.preventDefault(),void ln(q.key);if(fA==="Enter"&&(yg(c(pA))||Ar(c(pA))))return q.preventDefault(),void ln("");if(fA==="Ctrl+Enter"&&In(c(pA))){var xn=je(c(QA),c(pA).path);wv(xn)&&window.open(String(xn),"_blank")}fA==="Escape"&&c(pA)&&(q.preventDefault(),R(pA,void 0)),fA==="Ctrl+F"&&(q.preventDefault(),it(!1)),fA==="Ctrl+H"&&(q.preventDefault(),it(!0)),fA==="Ctrl+Z"&&(q.preventDefault(),Jo()),fA==="Ctrl+Shift+Z"&&(q.preventDefault(),ya())}),ue("mousedown",T,function(q){i("handleMouseDown",q);var fA=q.target;CoA(fA,"BUTTON")||fA.isContentEditable||(Mt(),c(pA)||c(QA)!==void 0||c(ZA)!==""&&c(ZA)!==void 0||(i("createDefaultSelection"),R(pA,Ui([]))))}),ue("contextmenu",T,Ji),cA(t,H),Ot(e,"expand",NA),Ot(e,"collapse",Ie),Ot(e,"validate",Ye),Ot(e,"getJson",Ge),Ot(e,"patch",bi),Ot(e,"acceptAutoRepair",_t),Ot(e,"openTransformModal",yo),Ot(e,"scrollTo",Si),Ot(e,"findElement",Sn),Ot(e,"findSearchResult",Bo),Ot(e,"focus",Mt),xt(x)}function saA(t){return typeof(e=t)!="object"||e===null?t:new Proxy(t,{get:(A,i,n)=>saA(Reflect.get(A,i,n)),set:()=>!1,deleteProperty:()=>!1});var e}var Yy=lr("jsoneditor:History");function gaA(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.maxItems||1e3,A=[],i=0;function n(){return i0}function a(){return{canUndo:n(),canRedo:o(),items:()=>A.slice().reverse(),add:s,undo:l,redo:C,clear:g}}function r(){t.onChange&&t.onChange(a())}function s(I){Yy("add",I),A=[I].concat(A.slice(i)).slice(0,e),i=0,r()}function g(){Yy("clear"),A=[],i=0,r()}function l(){if(n()){var I=A[i];return i+=1,Yy("undo",I),r(),I}}function C(){if(o())return Yy("redo",A[i-=1]),r(),A[i]}return{get:a}}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-transform-modal-inner.svelte-lta8xm { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; + min-height: 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) { + color: inherit; + flex: 1; + display: flex; + flex-direction: column; + padding: 0; + overflow: auto; + min-width: 0; + min-height: 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) { + display: flex; + flex-direction: row; + justify-content: flex-end; + padding-top: var(--jse-padding, 10px); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) button.jse-primary:where(.svelte-lta8xm) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); + color: var(--jse-button-primary-color, #fff); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) button.jse-primary:where(.svelte-lta8xm):hover { + background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) button.jse-primary:where(.svelte-lta8xm):disabled { + background: var(--jse-button-primary-background-disabled, #9d9d9d); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) { + flex: 1; + display: flex; + gap: calc(2 * var(--jse-padding, 10px)); + min-height: 0; + box-sizing: border-box; + padding: 0 calc(2 * var(--jse-padding, 10px)) var(--jse-padding, 10px); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) { + flex: 1; + display: flex; + flex-direction: column; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) p { + margin: var(--jse-padding, 10px) 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) p:first-child { + margin-top: 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) p:last-child { + margin-bottom: 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) code { + background: var(--jse-modal-code-background, rgba(0, 0, 0, 0.05)); + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .query-error:where(.svelte-lta8xm) { + color: var(--jse-error-color, #ee5341); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) textarea.jse-query:where(.svelte-lta8xm) { + flex: 1; + outline: none; + resize: vertical; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) { + flex: 1; + display: flex; + flex-direction: column; + gap: calc(2 * var(--jse-padding, 10px)); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-original-data:where(.svelte-lta8xm) { + flex: 1; + display: flex; + flex-direction: column; + min-height: 0; + box-sizing: border-box; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-original-data.jse-hide:where(.svelte-lta8xm) { + flex: none; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-preview-data:where(.svelte-lta8xm) { + flex: 1; + display: flex; + flex-direction: column; + min-height: 0; + box-sizing: border-box; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents.jse-hide-original-data:where(.svelte-lta8xm) { + flex-direction: column; + gap: 0; + margin-bottom: 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) { + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)) calc(2 * var(--jse-padding, 10px)); +} +@media screen and (max-width: 1200px) { + .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) { + flex-direction: column; + overflow: auto; + } + .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) textarea.jse-query:where(.svelte-lta8xm) { + min-height: 150px; + flex: none; + } + .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-tree-mode { + height: 300px; + flex: none; + } + .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-original-data:where(.svelte-lta8xm), + .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-preview-data:where(.svelte-lta8xm) { + flex: unset; + } +} +.jse-transform-modal-inner.svelte-lta8xm .jse-label:where(.svelte-lta8xm) { + font-weight: bold; + display: block; + box-sizing: border-box; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-label:where(.svelte-lta8xm) .jse-label-inner:where(.svelte-lta8xm) { + margin-top: calc(2 * var(--jse-padding, 10px)); + margin-bottom: calc(0.5 * var(--jse-padding, 10px)); + box-sizing: border-box; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-label:where(.svelte-lta8xm) .jse-label-inner:where(.svelte-lta8xm) button:where(.svelte-lta8xm) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + font-weight: bold; + padding: 0; +} +.jse-transform-modal-inner.svelte-lta8xm .jse-tree-mode { + flex: 1; + background: var(--jse-input-background-readonly, transparent); + box-shadow: none; + box-sizing: border-box; + --jse-main-border: var(--jse-input-border, 1px solid #d8dbdf); +} +.jse-transform-modal-inner.svelte-lta8xm input:where(.svelte-lta8xm), +.jse-transform-modal-inner.svelte-lta8xm textarea:where(.svelte-lta8xm) { + border: var(--jse-input-border, 1px solid #d8dbdf); + outline: none; + box-sizing: border-box; + padding: calc(0.5 * var(--jse-padding, 10px)); + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + color: inherit; + background: var(--jse-input-background, var(--jse-background-color, #fff)); +} +.jse-transform-modal-inner.svelte-lta8xm input:where(.svelte-lta8xm):focus, +.jse-transform-modal-inner.svelte-lta8xm textarea:where(.svelte-lta8xm):focus { + border: var(--jse-input-border-focus, 1px solid var(--jse-input-border-focus, var(--jse-theme-color, #3883fa))); +} +.jse-transform-modal-inner.svelte-lta8xm input:where(.svelte-lta8xm):read-only, +.jse-transform-modal-inner.svelte-lta8xm textarea:where(.svelte-lta8xm):read-only { + background: var(--jse-input-background-readonly, transparent); +} +.jse-transform-modal-inner.svelte-lta8xm .jse-preview.jse-error:where(.svelte-lta8xm) { + flex: 1; + background: var(--jse-input-background-readonly, transparent); + border: var(--jse-input-border, 1px solid #d8dbdf); + color: var(--jse-error-color, #ee5341); + padding: calc(0.5 * var(--jse-padding, 10px)); +} +.jse-transform-modal-inner.svelte-lta8xm a { + color: var(--jse-a-color, #156fc5); +} +.jse-transform-modal-inner.svelte-lta8xm a:hover { + color: var(--jse-a-color-highlight, #0f508d); +}`);var Ff=pv(()=>txA),WQ=pv(()=>ixA),VNA=FA('
      '),WNA=FA(" ",1),ZNA=FA('
      '),XNA=FA('
      Language
      Path
      Query
      Preview
      ',1),$NA=FA('
      ');function AFA(t,e){var A,i,n;St(e,!1);var o=lr("jsoneditor:TransformModal"),a=N(e,"id",25,()=>"transform-modal-"+th()),r=N(e,"json",9),s=N(e,"rootPath",25,()=>[]),g=N(e,"indentation",9),l=N(e,"truncateTextSize",9),C=N(e,"escapeControlCharacters",9),I=N(e,"escapeUnicodeCharacters",9),d=N(e,"parser",9),B=N(e,"parseMemoizeOne",9),E=N(e,"validationParser",9),Q=N(e,"pathParser",9),f=N(e,"queryLanguages",9),b=N(e,"queryLanguageId",13),S=N(e,"onChangeQueryLanguage",9),M=N(e,"onRenderValue",9),D=N(e,"onRenderMenu",9),F=N(e,"onRenderContextMenu",9),_=N(e,"onClassName",9),U=N(e,"onTransform",9),J=N(e,"onClose",9),j=IA(void 0,!0),$=IA(gaA({onChange:LA=>R($,LA)}).get(),!0),O=IA(void 0,!0),DA=IA(void 0,!0),P=IA(!1,!0),aA="".concat(a(),":").concat(wt(s())),iA=(A=Ff()[aA])!==null&&A!==void 0?A:{},BA=IA(WQ().showWizard!==!1,!0),oA=IA(WQ().showOriginal!==!1,!0),sA=IA((i=iA.queryOptions)!==null&&i!==void 0?i:{},!0),hA=IA(b()===iA.queryLanguageId&&iA.query?iA.query:"",!0),YA=IA((n=iA.isManual)!==null&&n!==void 0&&n,!0),ee=IA(void 0,!0),UA=IA(void 0,!0),mA=IA({text:""},!0);function KA(LA){var pA;return(pA=f().find(Ft=>Ft.id===LA))!==null&&pA!==void 0?pA:f()[0]}function Pe(LA){try{R(sA,LA),R(hA,KA(b()).createQuery(c(O),LA)),R(ee,void 0),R(YA,!1),o("updateQueryByWizard",{queryOptions:c(sA),query:c(hA),isManual:c(YA)})}catch(pA){R(ee,String(pA))}}function Ue(LA){R(hA,LA.target.value),R(YA,!0),o("handleChangeQuery",{query:c(hA),isManual:c(YA)})}c(YA)||Pe(c(sA)),is(()=>{var LA;(LA=c(j))===null||LA===void 0||LA.focus()});var HA=qE(function(LA,pA){if(LA===void 0)return R(mA,{text:""}),void R(UA,"Error: No JSON");if(pA.trim()!=="")try{o("previewTransform",{query:pA});var Ft=KA(b()).executeQuery(LA,pA,d());R(mA,{json:Ft}),R(UA,void 0)}catch(ht){R(mA,{text:""}),R(UA,String(ht))}else R(mA,{json:LA})},300);function uA(){if(c(O)===void 0)return R(mA,{text:""}),void R(UA,"Error: No JSON");try{o("handleTransform",{query:c(hA)});var LA=KA(b()).executeQuery(c(O),c(hA),d());U()([{op:"replace",path:wt(s()),value:LA}]),J()()}catch(pA){console.error(pA),R(mA,{text:""}),R(UA,String(pA))}}function XA(){R(BA,!c(BA)),WQ(WQ().showWizard=c(BA))}function QA(){R(oA,!c(oA)),WQ(WQ().showOriginal=c(oA))}function ZA(LA){LA.focus()}function MA(LA){o("handleChangeQueryLanguage",LA),b(LA),S()(LA),Pe(c(sA))}function Me(){c(P)?R(P,!c(P)):J()()}RA(()=>(G(r()),G(s())),()=>{R(O,saA(je(r(),s())))}),RA(()=>c(O),()=>{R(DA,c(O)?{json:c(O)}:{text:""})}),RA(()=>(c(O),c(hA)),()=>{HA(c(O),c(hA))}),RA(()=>(Ff(),c(sA),c(hA),G(b()),c(YA)),()=>{Ff(Ff()[aA]={queryOptions:c(sA),query:c(hA),queryLanguageId:b(),isManual:c(YA)}),o("store state in memory",aA,Ff()[aA])}),kn(),Ai(!0),$f(t,{get onClose(){return J()},className:"jse-transform-modal",get fullscreen(){return c(P)},children:(LA,pA)=>{var Ft=$NA();uL(CA(Ft),{children:(ht,Ee)=>{var Kt=XNA(),Je=At(Kt);(function(L,ct){St(ct,!1);var li,Bn=N(ct,"queryLanguages",9),En=N(ct,"queryLanguageId",9),qn=N(ct,"fullscreen",13),Uo=N(ct,"onChangeQueryLanguage",9),Co=N(ct,"onClose",9),Mo=IA(void 0,!0),{openAbsolutePopup:Wo,closeAbsolutePopup:wo}=r1("absolute-popup");function Qa(){var Zo={queryLanguages:Bn(),queryLanguageId:En(),onChangeQueryLanguage:ra=>{wo(li),Uo()(ra)}};li=Wo(XxA,Zo,{offsetTop:-2,offsetLeft:0,anchor:c(Mo),closeOnOuterClick:!0})}Ai(!0),Bv(L,{title:"Transform",fullScreenButton:!0,get onClose(){return Co()},get fullscreen(){return qn()},set fullscreen(Zo){qn(Zo)},$$slots:{actions:(Zo,ra)=>{var Do,re=eRA();Wi(CA(re),{get data(){return iV}}),Ko(re,di=>R(Mo,di),()=>c(Mo)),ve(()=>Do=$t(re,1,"jse-config svelte-5gkegr",null,Do,{hide:Bn().length<=1})),ue("click",re,Qa),cA(Zo,re)}},$$legacy:!0}),xt()})(Je,{get queryLanguages(){return f()},get queryLanguageId(){return b()},onChangeQueryLanguage:MA,get onClose(){return J()},get fullscreen(){return c(P)},set fullscreen(L){R(P,L)},$$legacy:!0});var ze=CA(bA(Je,2)),ut=CA(ze),ke=bA(CA(ut),2);VnA(CA(ke),()=>(G(b()),EA(()=>KA(b()).description)));var ei=bA(ke,4),Y=bA(ei,2),z=CA(Y),nA=CA(z),rA=CA(nA),NA=tt(()=>c(BA)?v0:WE);Wi(rA,{get data(){return c(NA)}});var Ie=bA(Y,2),Qe=L=>{var ct=vi(),li=At(ct),Bn=qn=>{var Uo=WNA(),Co=At(Uo);VxA(Co,{get queryOptions(){return c(sA)},get json(){return c(O)},onChange:Pe});var Mo=bA(Co,2),Wo=wo=>{var Qa=VNA(),Zo=CA(Qa);ve(()=>Rt(Zo,c(ee))),cA(wo,Qa)};TA(Mo,wo=>{c(ee)&&wo(Wo)}),cA(qn,Uo)},En=qn=>{cA(qn,hr("(Only available for arrays, not for objects)"))};TA(li,qn=>{c(O),EA(()=>Array.isArray(c(O)))?qn(Bn):qn(En,!1)}),cA(L,ct)};TA(Ie,L=>{c(BA)&&L(Qe)});var xA=bA(Ie,4);Ko(xA,L=>R(j,L),()=>c(j));var _A,Et,et=bA(ut,2),Ye=CA(et),Ge=CA(Ye),si=CA(Ge),gn=CA(si),dn=CA(gn),Le=tt(()=>c(oA)?v0:WE);Wi(dn,{get data(){return c(Le)}});var Zi=bA(Ge,2),Qi=L=>{KL(L,{get externalContent(){return c(DA)},externalSelection:void 0,get history(){return c($)},readOnly:!0,get truncateTextSize(){return l()},mainMenuBar:!1,navigationBar:!1,get indentation(){return g()},get escapeControlCharacters(){return C()},get escapeUnicodeCharacters(){return I()},get parser(){return d()},get parseMemoizeOne(){return B()},get onRenderValue(){return M()},get onRenderMenu(){return D()},get onRenderContextMenu(){return F()},onError:EA(()=>console.error),get onChange(){return pa},get onChangeMode(){return pa},get onSelect(){return pa},get onUndo(){return pa},get onRedo(){return pa},get onFocus(){return pa},get onBlur(){return pa},get onSortModal(){return pa},get onTransformModal(){return pa},get onJSONEditorModal(){return pa},get onClassName(){return _()},validator:void 0,get validationParser(){return E()},get pathParser(){return Q()}})};TA(Zi,L=>{c(oA)&&L(Qi)});var bi=bA(Ye,2),zi=bA(CA(bi),2),yt=L=>{KL(L,{get externalContent(){return c(mA)},externalSelection:void 0,get history(){return c($)},readOnly:!0,get truncateTextSize(){return l()},mainMenuBar:!1,navigationBar:!1,get indentation(){return g()},get escapeControlCharacters(){return C()},get escapeUnicodeCharacters(){return I()},get parser(){return d()},get parseMemoizeOne(){return B()},get onRenderValue(){return M()},get onRenderMenu(){return D()},get onRenderContextMenu(){return F()},onError:EA(()=>console.error),get onChange(){return pa},get onChangeMode(){return pa},get onSelect(){return pa},get onUndo(){return pa},get onRedo(){return pa},get onFocus(){return pa},get onBlur(){return pa},get onSortModal(){return pa},get onTransformModal(){return pa},get onJSONEditorModal(){return pa},get onClassName(){return _()},validator:void 0,get validationParser(){return E()},get pathParser(){return Q()}})},Xi=L=>{var ct=ZNA(),li=CA(ct);ve(()=>Rt(li,c(UA))),cA(L,ct)};TA(zi,L=>{c(UA)?L(Xi,!1):L(yt)});var _t=CA(bA(ze,2));Nr(()=>ue("click",_t,uA)),bs(_t,L=>ZA?.(L)),ve(L=>{AB(ei,L),AB(xA,c(hA)),_A=$t(et,1,"jse-data-contents svelte-lta8xm",null,_A,{"jse-hide-original-data":!c(oA)}),Et=$t(Ye,1,"jse-original-data svelte-lta8xm",null,Et,{"jse-hide":!c(oA)}),_t.disabled=!!c(UA)},[()=>(G(Vi),G(s()),G(vg),EA(()=>Vi(s())?"(document root)":vg(s())))]),ue("click",nA,XA),ue("input",xA,Ue),ue("click",gn,QA),cA(ht,Kt)},$$slots:{default:!0}}),bs(Ft,(ht,Ee)=>Ev?.(ht,Ee),()=>Me),cA(LA,Ft)},$$slots:{default:!0}}),xt()}function _l(){}var eFA=0,Qr=class{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.id=eFA++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=em.match(e)),A=>{var i=e(A);return i===void 0?null:[this,i]}}};Qr.closedBy=new Qr({deserialize:t=>t.split(" ")}),Qr.openedBy=new Qr({deserialize:t=>t.split(" ")}),Qr.group=new Qr({deserialize:t=>t.split(" ")}),Qr.isolate=new Qr({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}}),Qr.contextHash=new Qr({perNode:!0}),Qr.lookAhead=new Qr({perNode:!0}),Qr.mounted=new Qr({perNode:!0});var ViA,tFA=Object.create(null),em=class t{constructor(e,A,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;this.name=e,this.props=A,this.id=i,this.flags=n}static define(e){var A=e.props&&e.props.length?Object.create(null):tFA,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new t(e.name||"",A,e.id,i);if(e.props){for(var o of e.props)if(Array.isArray(o)||(o=o(n)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");A[o[0].id]=o[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;var A=this.prop(Qr.group);return!!A&&A.indexOf(e)>-1}return this.id==e}static match(e){var A=Object.create(null);for(var i in e)for(var n of i.split(" "))A[n]=e[i];return o=>{for(var a=o.prop(Qr.group),r=-1;r<(a?a.length:0);r++){var s=A[r<0?o.name:a[r]];if(s)return s}}}};em.none=new em("",Object.create(null),0,8),(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(ViA||(ViA={})),new Qr({perNode:!0});qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-status-bar.svelte-1pmgv9j { + background: var(--jse-panel-background, #ebebeb); + color: var(--jse-panel-color-readonly, #b2b2b2); + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + margin: 0; + border-top: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); + display: flex; + gap: var(--jse-padding, 10px); +} +.jse-status-bar.svelte-1pmgv9j:last-child { + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-status-bar.svelte-1pmgv9j .jse-status-bar-info:where(.svelte-1pmgv9j) { + padding: 2px; +}`);var iFA=FA('
      '),nFA=FA('
      '),oFA=FA('
      '),aFA=FA('
      '),dG=_Q.define([{tag:Re.propertyName,color:"var(--internal-key-color)"},{tag:Re.number,color:"var(--internal-value-color-number)"},{tag:Re.bool,color:"var(--internal-value-color-boolean)"},{tag:Re.string,color:"var(--internal-value-color-string)"},{tag:Re.keyword,color:"var(--internal-value-color-null)"}]),rFA=JF(dG),sFA=dG.style;dG.style=t=>sFA(t||[]);var gFA=[_o.fromClass(class{constructor(t){this.view=t,this.indentUnit=Fc(t.state),this.initialPaddingLeft=null,this.isChrome=window?.navigator.userAgent.includes("Chrome"),this.generate(t.state)}update(t){var e=Fc(t.state);(e!==this.indentUnit||t.docChanged||t.viewportChanged)&&(this.indentUnit=e,this.generate(t.state))}generate(t){var e=new Wr;this.initialPaddingLeft?this.addStyleToBuilder(e,t,this.initialPaddingLeft):this.view.requestMeasure({read:A=>{var i=A.contentDOM.querySelector(".cm-line");i&&(this.initialPaddingLeft=window.getComputedStyle(i).getPropertyValue("padding-left"),this.addStyleToBuilder(e,A.state,this.initialPaddingLeft)),this.decorations=e.finish()}}),this.decorations=e.finish()}addStyleToBuilder(t,e,A){var i=this.getVisibleLines(e);for(var n of i){var{numColumns:o,containsTab:a}=this.numColumns(n.text,e.tabSize),r="calc(".concat(o+this.indentUnit,"ch + ").concat(A,")"),s=this.isChrome?"calc(-".concat(o+this.indentUnit,"ch - ").concat(a?1:0,"px)"):"-".concat(o+this.indentUnit,"ch");t.add(n.from,n.from,Dt.line({attributes:{style:"padding-left: ".concat(r,"; text-indent: ").concat(s,";")}}))}}getVisibleLines(t){var e=new Set,A=null;for(var{from:i,to:n}of this.view.visibleRanges)for(var o=i;o<=n;){var a=t.doc.lineAt(o);A!==a&&(e.add(a),A=a),o=a.to+1}return e}numColumns(t,e){var A=0,i=!1;A:for(var n=0;nt.decorations})];qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-text-mode.svelte-k2b9e6 { + --internal-key-color: var(--jse-key-color, #1a1a1a); + --internal-value-color-number: var(--jse-value-color-number, #ee422e); + --internal-value-color-boolean: var(--jse-value-color-boolean, #ff8c00); + --internal-value-color-string: var(--jse-value-color-string, #008000); + --internal-value-color-null: var(--jse-value-color-null, #004ed0); + flex: 1; + box-sizing: border-box; + display: flex; + flex-direction: column; + background: var(--jse-background-color, #fff); +} +.jse-text-mode.no-main-menu.svelte-k2b9e6 { + border-top: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) { + flex: 1; + display: flex; + position: relative; + flex-direction: column; + overflow: hidden; + min-width: 0; + min-height: 0; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6):last-child { + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents.jse-hidden:where(.svelte-k2b9e6) { + visibility: hidden; + position: absolute; + top: 0; + left: 0; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor { + flex: 1; + overflow: hidden; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-scroller { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + line-height: var(--jse-line-height, calc(1em + 4px)); + color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-gutters { + background: var(--jse-panel-background, #ebebeb); + color: var(--jse-panel-color-readonly, #b2b2b2); + border-right: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-activeLine, +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-activeLineGutter { + background: var(--jse-active-line-background-color, rgba(0, 0, 0, 0.06)); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-selectionBackground { + background: var(--jse-selection-background-color, #d3d3d3); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-searchMatch { + background-color: var(--jse-search-match-color, #ffe665); + outline: var(--jse-search-match-outline, none); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-searchMatch.cm-searchMatch-selected { + background-color: var(--jse-search-match-active-color, var(--jse-search-match-color, #ffe665)); + outline: var(--jse-search-match-outline, 2px solid #e0be00); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-selectionMatch { + background-color: var(--jse-search-match-background-color, rgba(153, 255, 119, 0.5019607843)); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-foldPlaceholder { + background: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); + color: var(--jse-tag-color, var(--jse-text-color-inverse, #fff)); + border: none; + padding: 0 var(--jse-padding, 10px); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-tooltip { + font-size: var(--jse-font-size, 16px); + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + color: var(--jse-tooltip-color, var(--jse-text-color, #4d4d4d)); + background: var(--jse-tooltip-background, var(--jse-modal-background, #f5f5f5)); + border: var(--jse-tooltip-border, var(--jse-main-border, 1px solid #d7d7d7)); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-diagnosticAction { + background: var(--jse-tooltip-action-button-color, var(--jse-text-color-inverse, #fff)); + background: var(--jse-tooltip-action-button-background, #4d4d4d); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-panels { + border-bottom: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search { + background: var(--jse-panel-background, #ebebeb); + color: var(--jse-panel-color, var(--jse-text-color, #4d4d4d)); + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search input { + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size-text-mode-search, 80%); + color: var(--jse-input-color, var(--jse-text-color, #4d4d4d)); + border: var(--jse-input-border, 1px solid #d8dbdf); + background: var(--jse-input-background, var(--jse-background-color, #fff)); + margin-right: 2px; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search button { + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size-text-mode-search, 80%); + color: var(--jse-panel-button-color, inherit); + background: var(--jse-panel-button-background, transparent); + border: none; + cursor: pointer; + text-transform: capitalize; + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); + margin: 0; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search button:hover { + color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); + background: var(--jse-panel-button-background-highlight, #e0e0e0); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search label { + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size-text-mode-search, 80%); + padding-left: var(--jse-padding, 10px); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search label input { + margin-right: 2px; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search button[name='close'] { + width: 32px; + height: 32px; + font-size: 24px; + line-height: 24px; + padding: 0; + right: 0; + top: -4px; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-cursor-primary { + border-color: var(--jse-text-color, #4d4d4d); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .jse-loading-space:where(.svelte-k2b9e6) { + flex: 1; +} +.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .jse-loading:where(.svelte-k2b9e6) { + flex: 2; + text-align: center; + color: var(--jse-panel-color-readonly, #b2b2b2); + box-sizing: border-box; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); +} +.jse-text-mode.svelte-k2b9e6 .jse-contents.jse-preview:where(.svelte-k2b9e6) { + flex: 1; + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + color: var(--jse-panel-color-readonly, #b2b2b2); + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + padding: 2px; +} +.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + background: var(--jse-background-color, #fff); + border-top: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); + border-bottom: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); +} +.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-tip:where(.svelte-k2b9e6) { + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size-mono, 14px); + color: var(--jse-panel-color-readonly, #b2b2b2); +} +.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-progress-track:where(.svelte-k2b9e6) { + flex: 1; + height: 6px; + background: var(--jse-panel-background, #ebebeb); + border-radius: 3px; + overflow: hidden; + border: 1px solid var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); +} +.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-progress-fill:where(.svelte-k2b9e6) { + height: 100%; + background: linear-gradient(90deg, var(--jse-theme-color, #3883fa), var(--jse-theme-color-highlight, #5f9dff)); + border-radius: 2px; + transition: width 0.1s ease; + min-width: 2px; +} +.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-cancel-button:where(.svelte-k2b9e6) { + padding: 4px 12px; + font-size: 12px; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + background: var(--jse-theme-color, #3883fa); + color: #fff; + border-radius: 3px; + cursor: pointer; + transition: background-color 0.2s ease; + flex-shrink: 0; + border: 1px solid var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-cancel-button:where(.svelte-k2b9e6):hover { + background: var(--jse-theme-color-highlight, #5f9dff); + color: #fff; +}`);var lFA=FA('
      Collapsing
      '),cFA=FA('
      ',1),CFA=FA(" ",1),IFA=FA("
      ",1),dFA=FA('
      loading...
      '),BFA=FA("
      ");function EFA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=N(e,"readOnly",9),o=N(e,"mainMenuBar",9),a=N(e,"statusBar",9),r=N(e,"askToFormat",9),s=N(e,"externalContent",9),g=N(e,"externalSelection",9),l=N(e,"history",9),C=N(e,"indentation",9),I=N(e,"tabSize",9),d=N(e,"escapeUnicodeCharacters",9),B=N(e,"parser",9),E=N(e,"validator",9),Q=N(e,"validationParser",9),f=N(e,"onChange",9),b=N(e,"onChangeMode",9),S=N(e,"onSelect",9),M=N(e,"onUndo",9),D=N(e,"onRedo",9),F=N(e,"onError",9),_=N(e,"onFocus",9),U=N(e,"onBlur",9),J=N(e,"onRenderMenu",9),j=N(e,"onSortModal",9),$=N(e,"onTransformModal",9),O=lr("jsoneditor:TextMode"),DA={key:"Mod-i",run:Qe,shift:xA,preventDefault:!0},P=typeof window>"u";O("isSSR:",P);var aA,iA=IA(void 0,!0),BA=IA(void 0,!0),oA=IA(void 0,!0),sA=IA(!1,!0),hA=IA(r(),!0),YA=IA([],!0),ee=IA(!1,!0),UA=IA(0,!0),mA=IA(0,!0),KA=null,Pe=new R0,Ue=new R0,HA=new R0,uA=new R0,XA=new R0,QA=s(),ZA=IA(hL(QA,C(),B()),!0),MA=hg.define(),Me=null;function LA(){if(!Me||Me.length===0)return!1;var vA=Me[0].startState,VA=Me[Me.length-1].state,me=Me.map(SA=>SA.changes).reduce((SA,oe)=>SA.compose(oe)),dA={type:"text",undo:{changes:me.invert(vA.doc).toJSON(),selection:ra(vA.selection)},redo:{changes:me.toJSON(),selection:ra(VA.selection)}};return O("add history item",dA),l().add(dA),Me=null,!0}var pA=IA(d(),!0);is(Yt(function*(){if(!P)try{aA=(function(vA){var{target:VA,initialText:me,readOnly:dA,indentation:SA}=vA;O("Create CodeMirror editor",{readOnly:dA,indentation:SA});var oe=(function(it,rt){return Z_(it)?it.ranges.every(bt=>bt.anchor{R(oA,it.state),it.docChanged&&(it.transactions.some(rt=>!!rt.annotation(MA))||(Me=[...Me??[],it]),Wo()),it.selectionSet&&Zo()}),itA(),ltA({top:!0}),ii.lineWrapping,Ue.of($a.readOnly.of(dA)),uA.of($a.tabSize.of(I())),HA.of(Mo(SA)),XA.of(ii.theme({},{dark:Xi()}))]});return aA=new ii({state:xe,parent:VA}),oe&&aA.dispatch(aA.state.update({selection:oe.main,scrollIntoView:!0})),aA})({target:c(iA),initialText:Do(c(ZA),c(sA))?"":c(A).escapeValue(c(ZA)),readOnly:n(),indentation:C()})}catch(vA){console.error(vA)}})),Yl(()=>{wo(),aA&&(O("Destroy CodeMirror editor"),aA.destroy()),ei()});var Ft=II(),ht=II();function Ee(){aA&&(O("focus"),aA.focus())}function Kt(vA,VA){if(aA)try{(function(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],dA=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],SA=aA.state,oe=SA.doc.length,xe=NF(SA,oe,1/0);if(xe){var it=[];if(me.length===0)it=ut(xe,SA,void 0,dA);else{var{from:rt}=T_(c(A).escapeValue(c(ZA)),me);rt!==void 0&&rt!==0&&(it=ut(xe,SA,rt,dA))}it.length>0&&(function(bt){ke.apply(this,arguments)})(it)}})(vA,VA)}catch(me){F()(me)}}function Je(){return LF.of((vA,VA,me)=>{var dA=NF(vA,vA.doc.length,1/0);if(!dA||dA.lengthme)){if(SA&&xe.from=VA&&rt.to>me&&(SA=rt)}}}return SA})}function ze(vA){var VA=vA.lastChild;return VA&&VA.to==vA.to&&VA.type.isError}function ut(vA,VA,me){var dA=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],SA=[],oe=new Set;return vA.iterate({enter(xe){if(me===void 0||xe.from>=me){var it=FQ(VA,xe.from,xe.to);if(it){var rt="".concat(it.from,"-").concat(it.to);if(!oe.has(rt))if(dA)SA.push({from:it.from,to:it.to}),oe.add(rt);else{var bt=SA.some(Kn=>Kn.from<=it.from&&Kn.to>=it.to);bt||(SA.push({from:it.from,to:it.to}),oe.add(rt))}}}}}),SA}function ke(){return ke=Yt(function*(vA){if(vA.length!==0){var VA=vA.length>5e3;VA&&(R(ee,!0),R(UA,0),R(mA,vA.length),KA=new AbortController);var me=dA=>new Promise(SA=>{var oe;VA&&(oe=KA)!==null&&oe!==void 0&&oe.signal.aborted?SA():requestAnimationFrame(()=>{var xe=Math.min(dA+100,vA.length),it=vA.slice(dA,xe);aA.dispatch({effects:it.map(rt=>GQ.of({from:rt.from,to:rt.to}))}),VA&&R(UA,xe),xe1&&arguments[1]!==void 0?arguments[1]:wL;if(aA)try{if(vA&&vA.length>0){var{from:me}=T_(c(A).escapeValue(c(ZA)),vA);me!==void 0&&(aA.dispatch({selection:{anchor:me,head:me}}),GF(aA))}else KF(aA);VA?.(vA)}catch(dA){F()(dA)}}function z(){Y([],()=>!0)}function nA(){Kt([],!0)}var rA=!1;function NA(vA){return Ie(vA,!1)}function Ie(vA,VA){O("handlePatch",vA,VA);var me=B().parse(c(ZA)),dA=lg(me,vA),SA=lw(me,vA);return li({text:B().stringify(dA,null,C())},VA,!1),{json:dA,previousJson:me,undo:SA,redo:vA}}function Qe(){if(O("format"),n())return!1;try{var vA=B().parse(c(ZA));return li({text:B().stringify(vA,null,C())},!0,!1),R(hA,r()),!0}catch(VA){F()(VA)}return!1}function xA(){if(O("compact"),n())return!1;try{var vA=B().parse(c(ZA));return li({text:B().stringify(vA)},!0,!1),R(hA,!1),!0}catch(VA){F()(VA)}return!1}function _A(){if(O("repair"),!n())try{li({text:ul(c(ZA))},!0,!1),R(re,q_),R(di,void 0)}catch(vA){F()(vA)}}function Et(){var vA;if(!n())try{var VA=B().parse(c(ZA));rA=!0,j()({id:Ft,json:VA,rootPath:[],onSort:(vA=Yt(function*(me){var{operations:dA}=me;O("onSort",dA),Ie(dA,!0)}),function(me){return vA.apply(this,arguments)}),onClose:()=>{rA=!1,Ee()}})}catch(me){F()(me)}}function et(vA){var{id:VA,rootPath:me,onTransform:dA,onClose:SA}=vA;try{var oe=B().parse(c(ZA));rA=!0,$()({id:VA||ht,json:oe,rootPath:me||[],onTransform:xe=>{dA?dA({operations:xe,json:oe,transformedJson:lg(oe,xe)}):(O("onTransform",xe),Ie(xe,!0))},onClose:()=>{rA=!1,Ee(),SA&&SA()}})}catch(xe){F()(xe)}}function Ye(){n()||et({rootPath:[]})}function Ge(){aA&&(c(iA)&&c(iA).querySelector(".cm-search")?By(aA):dy(aA))}function si(){if(n())return!1;wo();var vA=l().undo();return O("undo",vA),QiA(vA)?(aA.dispatch({annotations:MA.of("undo"),changes:Vr.fromJSON(vA.undo.changes),selection:de.fromJSON(vA.undo.selection),scrollIntoView:!0}),!0):(M()(vA),!1)}function gn(){if(n())return!1;wo();var vA=l().redo();return O("redo",vA),QiA(vA)?(aA.dispatch({annotations:MA.of("redo"),changes:Vr.fromJSON(vA.redo.changes),selection:de.fromJSON(vA.redo.selection),scrollIntoView:!0}),!0):(D()(vA),!1)}function dn(){R(sA,!0),li(s(),!0,!0)}function Le(){b()(Da.tree)}function Zi(){Uo()}function Qi(vA){O("select validation error",vA);var{from:VA,to:me}=_t(vA);VA!==void 0&&me!==void 0&&(bi(VA,me),Ee())}function bi(vA,VA){O("setSelection",{anchor:vA,head:VA}),aA&&aA.dispatch(aA.state.update({selection:{anchor:vA,head:VA},scrollIntoView:!0}))}function zi(vA,VA){if(VA.state.selection.ranges.length===1){var me=VA.state.selection.ranges[0],dA=c(ZA).slice(me.from,me.to);if(dA==="{"||dA==="["){var SA=UL.default.parse(c(ZA)),oe=Object.keys(SA.pointers).find(it=>{var rt;return((rt=SA.pointers[it].value)===null||rt===void 0?void 0:rt.pos)===me.from}),xe=SA.pointers[oe];oe&&xe&&xe.value&&xe.valueEnd&&(O("pointer found, selecting inner contents of path:",oe,xe),bi(xe.value.pos+1,xe.valueEnd.pos-1))}}}function yt(){return HeA(ln,{delay:300})}function Xi(){return!!c(iA)&&getComputedStyle(c(iA)).getPropertyValue("--jse-theme").includes("dark")}function _t(vA){var{path:VA,message:me,severity:dA}=vA,{line:SA,column:oe,from:xe,to:it}=T_(c(A).escapeValue(c(ZA)),VA);return{path:VA,line:SA,column:oe,from:xe,to:it,message:me,severity:dA,actions:[]}}function L(vA,VA){var{line:me,column:dA,position:SA,message:oe}=vA;return{path:[],line:me,column:dA,from:SA,to:SA,severity:Uc.error,message:oe,actions:VA&&!n()?[{name:"Auto repair",apply:()=>_A()}]:void 0}}function ct(vA){return{from:vA.from||0,to:vA.to||0,message:vA.message||"",actions:vA.actions,severity:vA.severity}}function li(vA,VA,me){var dA=hL(vA,C(),B()),SA=!Bi(vA,QA),oe=QA;O("setCodeMirrorContent",{isChanged:SA,emitChange:VA,forceUpdate:me}),aA&&(SA||me)&&(QA=vA,R(ZA,dA),Do(c(ZA),c(sA))||aA.dispatch({changes:{from:0,to:aA.state.doc.length,insert:c(A).escapeValue(c(ZA))}}),LA(),SA&&VA&&Qa(QA,oe))}function Bn(vA){return Z_(vA)?de.fromJSON(vA):void 0}function En(){return qn.apply(this,arguments)}function qn(){return qn=Yt(function*(){O("refresh"),yield(function(){return Co.apply(this,arguments)})()}),qn.apply(this,arguments)}function Uo(){if(aA){var vA=aA?c(A).unescapeValue(aA.state.doc.toString()):"",VA=vA!==c(ZA);if(O("onChangeCodeMirrorValue",{isChanged:VA}),VA){var me=QA;R(ZA,vA),QA={text:c(ZA)},LA(),Qa(QA,me),bo(),Zo()}}}function Co(){return(Co=Yt(function*(){if(bo(),aA){var vA=Xi();return O("updateTheme",{dark:vA}),aA.dispatch({effects:[XA.reconfigure(ii.theme({},{dark:vA}))]}),new Promise(VA=>setTimeout(VA))}return Promise.resolve()})).apply(this,arguments)}function Mo(vA){var VA=xd.of(typeof vA=="number"?" ".repeat(vA):vA);return vA===" "?[VA]:[VA,gFA]}cG({onMount:is,onDestroy:Yl,getWindow:()=>gm(c(BA)),hasFocus:()=>rA&&document.hasFocus()||WL(c(BA)),onFocus:_(),onBlur:()=>{wo(),U()()}});var Wo=qE(Uo,300);function wo(){Wo.flush()}function Qa(vA,VA){f()&&f()(vA,VA,{contentErrors:Qn(),patchResult:void 0})}function Zo(){S()(ra(c(oA).selection))}function ra(vA){return ye({type:no.text},vA.toJSON())}function Do(vA,VA){return!!vA&&vA.length>P_&&!VA}var re=IA(q_,!0),di=IA(void 0,!0);function ln(){if(Do(c(ZA),c(sA)))return[];var vA=Qn();if(EiA(vA)){var{parseError:VA,isRepairable:me}=vA;return[ct(L(VA,me))]}return LSA(vA)?vA.validationErrors.map(_t).map(ct):[]}function Qn(){O("validate:start"),wo();var vA=Jo(c(A).escapeValue(c(ZA)),E(),B(),Q());return EiA(vA)?(R(re,vA.isRepairable?ciA:"invalid"),R(di,vA.parseError),R(YA,[])):(R(re,q_),R(di,void 0),R(YA,vA?.validationErrors||[])),O("validate:end"),vA}var Jo=ZE(nRA);function ya(){c(di)&&(function(vA){O("select parse error",vA);var VA=L(vA,!1);bi(VA.from!=null?VA.from:0,VA.to!=null?VA.to:0),Ee()})(c(di))}var wi={icon:Zq,text:"Show me",title:"Move to the parse error location",onClick:ya};RA(()=>G(d()),()=>{R(A,qL({escapeControlCharacters:!1,escapeUnicodeCharacters:d()}))}),RA(()=>G(s()),()=>{li(s(),!1,!1)}),RA(()=>G(g()),()=>{(function(vA){if(Z_(vA)){var VA=Bn(vA);!aA||!VA||c(oA)&&c(oA).selection.eq(VA)||(O("applyExternalSelection",VA),aA.dispatch({selection:VA}))}})(g())}),RA(()=>G(E()),()=>{(function(vA){O("updateLinter",vA),aA&&aA.dispatch({effects:Pe.reconfigure(yt())})})(E())}),RA(()=>G(C()),()=>{(function(vA){aA&&(O("updateIndentation",vA),aA.dispatch({effects:HA.reconfigure(Mo(vA))}))})(C())}),RA(()=>G(I()),()=>{(function(vA){aA&&(O("updateTabSize",vA),aA.dispatch({effects:uA.reconfigure($a.tabSize.of(vA))}))})(I())}),RA(()=>G(n()),()=>{(function(vA){aA&&(O("updateReadOnly",vA),aA.dispatch({effects:[Ue.reconfigure($a.readOnly.of(vA))]}))})(n())}),RA(()=>(c(pA),G(d())),()=>{c(pA)!==d()&&(R(pA,d()),O("forceUpdateText",{escapeUnicodeCharacters:d()}),aA&&aA.dispatch({changes:{from:0,to:aA.state.doc.length,insert:c(A).escapeValue(c(ZA))}}))}),RA(()=>(c(re),G(n()),MC),()=>{R(i,c(re)!==ciA||n()?[wi]:[{icon:MC,text:"Auto repair",title:"Automatically repair JSON",onClick:_A},wi])}),kn();var Io={focus:Ee,collapse:Kt,expand:Y,patch:NA,handlePatch:Ie,openTransformModal:et,refresh:En,flush:wo,validate:Qn};Ai(!0);var tr,yo=BFA(),Pa=CA(yo),Gn=vA=>{var VA=tt(()=>(c(ZA),EA(()=>c(ZA).length===0))),me=tt(()=>!c(VA)),dA=tt(()=>!c(VA)),SA=tt(()=>!c(VA)),oe=tt(()=>!c(VA)),xe=tt(()=>!c(VA)),it=tt(()=>!c(VA));(function(rt,bt){St(bt,!1);var Kn=IA(void 0,!0),xi=N(bt,"readOnly",9,!1),Ji=N(bt,"onExpandAll",9),Vt=N(bt,"onCollapseAll",9),Ri=N(bt,"onFormat",9),va=N(bt,"onCompact",9),Lt=N(bt,"onSort",9),st=N(bt,"onTransform",9),Ni=N(bt,"onToggleSearch",9),Oi=N(bt,"onUndo",9),Vn=N(bt,"onRedo",9),hn=N(bt,"canExpandAll",9),Mt=N(bt,"canCollapseAll",9),sa=N(bt,"canUndo",9),Yo=N(bt,"canRedo",9),u=N(bt,"canFormat",9),y=N(bt,"canCompact",9),x=N(bt,"canSort",9),H=N(bt,"canTransform",9),k=N(bt,"onRenderMenu",9),T=IA(void 0,!0),tA=IA(void 0,!0),lA={type:"button",icon:r3,title:"Search (Ctrl+F)",className:"jse-search",onClick:Ni()},wA=IA(void 0,!0);RA(()=>(G(Ji()),G(hn())),()=>{R(T,{type:"button",icon:VoA,title:"Expand all",className:"jse-expand-all",onClick:Ji(),disabled:!hn()})}),RA(()=>(G(Vt()),G(Mt())),()=>{R(tA,{type:"button",icon:WoA,title:"Collapse all",className:"jse-collapse-all",onClick:Vt(),disabled:!Mt()})}),RA(()=>(G(xi()),c(T),c(tA),G(Ri()),G(u()),G(va()),G(y()),G(Lt()),G(x()),G(st()),G(H()),G(Oi()),G(sa()),G(Vn()),G(Yo())),()=>{R(wA,xi()?[c(T),c(tA),{type:"separator"},lA,{type:"space"}]:[c(T),c(tA),{type:"separator"},{type:"button",icon:PiA,title:"Format JSON: add proper indentation and new lines (Ctrl+I)",className:"jse-format",onClick:Ri(),disabled:xi()||!u()},{type:"button",icon:aNA,title:"Compact JSON: remove all white spacing and new lines (Ctrl+Shift+I)",className:"jse-compact",onClick:va(),disabled:xi()||!y()},{type:"separator"},{type:"button",icon:l3,title:"Sort",className:"jse-sort",onClick:Lt(),disabled:xi()||!x()},{type:"button",icon:a3,title:"Transform contents (filter, sort, project)",className:"jse-transform",onClick:st(),disabled:xi()||!H()},lA,{type:"separator"},{type:"button",icon:Xw,title:"Undo (Ctrl+Z)",className:"jse-undo",onClick:Oi(),disabled:!sa()},{type:"button",icon:Zw,title:"Redo (Ctrl+Shift+Z)",className:"jse-redo",onClick:Vn(),disabled:!Yo()},{type:"space"}])}),RA(()=>(G(k()),c(wA)),()=>{R(Kn,k()(c(wA))||c(wA))}),kn(),Ai(!0),Sv(rt,{get items(){return c(Kn)}}),xt()})(vA,{get readOnly(){return n()},onExpandAll:z,onCollapseAll:nA,onFormat:Qe,onCompact:xA,onSort:Et,onTransform:Ye,onToggleSearch:Ge,onUndo:si,onRedo:gn,get canExpandAll(){return c(me)},get canCollapseAll(){return c(dA)},get canFormat(){return c(SA)},get canCompact(){return c(oe)},get canSort(){return c(xe)},get canTransform(){return c(it)},get canUndo(){return G(l()),EA(()=>l().canUndo)},get canRedo(){return G(l()),EA(()=>l().canRedo)},get onRenderMenu(){return J()}})};TA(Pa,vA=>{o()&&vA(Gn)});var Si=bA(Pa,2),Pt=vA=>{var VA=lFA(),me=bA(CA(VA),2),dA=CA(me),SA=bA(me,2);ve(()=>Ul(dA,"width: ".concat(c(mA)>0?c(UA)/c(mA)*100:0,"%"))),ue("click",SA,ei),cA(vA,VA)};TA(Si,vA=>{c(ee)&&vA(Pt)});var Sn=bA(Si,2),Bo=vA=>{var VA,me=tt(()=>(c(ZA),c(sA),EA(()=>Do(c(ZA),c(sA))))),dA=IFA(),SA=At(dA);Ko(SA,bt=>R(iA,bt),()=>c(iA));var oe=bA(SA,2),xe=bt=>{var Kn=cFA(),xi=At(Kn),Ji=tt(()=>(G(Vy),G(P_),c(ZA),EA(()=>"The JSON document is larger than ".concat(Vy(P_),", ")+"and may crash your browser when loading it in text mode. Actual size: ".concat(Vy(c(ZA).length),"."))));el(xi,{get icon(){return BI},type:"error",get message(){return c(Ji)},actions:[{text:"Open anyway",title:"Open the document in text mode. This may freeze or crash your browser.",onClick:dn},{text:"Open in tree mode",title:"Open the document in tree mode. Tree mode can handle large documents.",onClick:Le},{text:"Cancel",title:"Cancel opening this large document.",onClick:Zi}],onClose:Ee});var Vt=CA(bA(xi,2));ve(Ri=>Rt(Vt,Ri),[()=>(G(WC),c(ZA),G(iv),EA(()=>WC(c(ZA)||"",iv)))]),cA(bt,Kn)};TA(oe,bt=>{c(me)&&bt(xe)});var it=bA(oe,2),rt=bt=>{var Kn=CFA(),xi=At(Kn),Ji=st=>{(function(Ni,Oi){St(Oi,!1);var Vn=N(Oi,"editorState",8),hn=IA(),Mt=IA(),sa=IA(),Yo=IA(),u=IA();RA(()=>G(Vn()),()=>{var wA;R(hn,(wA=Vn())===null||wA===void 0||(wA=wA.selection)===null||wA===void 0||(wA=wA.main)===null||wA===void 0?void 0:wA.head)}),RA(()=>(c(hn),G(Vn())),()=>{var wA;R(Mt,c(hn)!==void 0?(wA=Vn())===null||wA===void 0||(wA=wA.doc)===null||wA===void 0?void 0:wA.lineAt(c(hn)):void 0)}),RA(()=>c(Mt),()=>{R(sa,c(Mt)!==void 0?c(Mt).number:void 0)}),RA(()=>(c(Mt),c(hn)),()=>{R(Yo,c(Mt)!==void 0&&c(hn)!==void 0?c(hn)-c(Mt).from+1:void 0)}),RA(()=>G(Vn()),()=>{var wA;R(u,(wA=Vn())===null||wA===void 0||(wA=wA.selection)===null||wA===void 0||(wA=wA.ranges)===null||wA===void 0?void 0:wA.reduce((Ae,ne)=>Ae+ne.to-ne.from,0))}),kn(),Ai();var y=aFA(),x=CA(y),H=wA=>{var Ae=iFA(),ne=CA(Ae);ve(()=>{var Be;return Rt(ne,"Line: ".concat((Be=c(sa))!==null&&Be!==void 0?Be:""))}),cA(wA,Ae)};TA(x,wA=>{c(sa)!==void 0&&wA(H)});var k=bA(x,2),T=wA=>{var Ae=nFA(),ne=CA(Ae);ve(()=>{var Be;return Rt(ne,"Column: ".concat((Be=c(Yo))!==null&&Be!==void 0?Be:""))}),cA(wA,Ae)};TA(k,wA=>{c(Yo)!==void 0&&wA(T)});var tA=bA(k,2),lA=wA=>{var Ae=oFA(),ne=CA(Ae);ve(()=>{var Be;return Rt(ne,"Selection: ".concat((Be=c(u))!==null&&Be!==void 0?Be:""," characters"))}),cA(wA,Ae)};TA(tA,wA=>{c(u)!==void 0&&c(u)>0&&wA(lA)}),cA(Ni,y),xt()})(st,{get editorState(){return c(oA)}})};TA(xi,st=>{a()&&st(Ji)});var Vt=bA(xi,2),Ri=st=>{el(st,{type:"error",get icon(){return BI},get message(){return c(di),EA(()=>c(di).message)},get actions(){return c(i)},onClick:ya,onClose:Ee})};TA(Vt,st=>{c(di)&&st(Ri)});var va=bA(Vt,2),Lt=st=>{var Ni=tt(()=>[{icon:PiA,text:"Format",title:"Format JSON: add proper indentation and new lines (Ctrl+I)",onClick:Qe},{icon:g3,text:"No thanks",title:"Close this message",onClick:()=>R(hA,!1)}]);el(st,{type:"success",message:"Do you want to format the JSON?",get actions(){return c(Ni)},onClose:Ee})};TA(va,st=>{c(di),c(hA),G(giA),c(ZA),EA(()=>!c(di)&&c(hA)&&giA(c(ZA)))&&st(Lt)}),CG(bA(va,2),{get validationErrors(){return c(YA)},selectError:Qi}),cA(bt,Kn)};TA(it,bt=>{c(me)||bt(rt)}),ve(()=>VA=$t(SA,1,"jse-contents svelte-k2b9e6",null,VA,{"jse-hidden":c(me)})),cA(vA,dA)},ko=vA=>{cA(vA,dFA())};return TA(Sn,vA=>{P?vA(ko,!1):vA(Bo)}),Ko(yo,vA=>R(BA,vA),()=>c(BA)),ve(()=>tr=$t(yo,1,"jse-text-mode svelte-k2b9e6",null,tr,{"no-main-menu":!o()})),cA(t,yo),Ot(e,"focus",Ee),Ot(e,"collapse",Kt),Ot(e,"expand",Y),Ot(e,"patch",NA),Ot(e,"handlePatch",Ie),Ot(e,"openTransformModal",et),Ot(e,"refresh",En),Ot(e,"flush",wo),Ot(e,"validate",Qn),xt(Io)}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-inline-value.svelte-1jv89ui { + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + line-height: var(--jse-line-height, calc(1em + 4px)); + border: none; + padding: 0 calc(0.5 * var(--jse-padding, 10px)); + background: transparent; + color: inherit; + cursor: inherit; +} +.jse-inline-value.jse-highlight.svelte-1jv89ui { + background-color: var(--jse-search-match-color, #ffe665); + outline: var(--jse-search-match-outline, none); +} +.jse-inline-value.jse-highlight.jse-active.svelte-1jv89ui { + background-color: var(--jse-search-match-active-color, var(--jse-search-match-color, #ffe665)); + outline: var(--jse-search-match-outline, 2px solid #e0be00); +}`);var QFA=FA('');qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-column-header.svelte-5pxwfq { + background: none; + border: none; + font-family: inherit; + font-size: inherit; + color: inherit; + display: flex; + gap: var(--jse-padding, 10px); + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)) calc(0.5 * var(--jse-padding, 10px)); + width: 100%; +} +.jse-column-header.svelte-5pxwfq:hover { + background: var(--jse-table-header-background-highlight, #e8e8e8); +} +.jse-column-header.svelte-5pxwfq:not(.jse-column-header.jse-readonly) { + cursor: pointer; +} +.jse-column-header.svelte-5pxwfq span.jse-column-sort-icon:where(.svelte-5pxwfq) { + height: 1em; +}`);var hFA=FA(''),uFA=FA('');qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-table-mode-welcome.svelte-1b9gnk8 { + flex: 1; + display: flex; + flex-direction: column; + overflow: auto; + align-items: center; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-table-mode-welcome.svelte-1b9gnk8:last-child { + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-space.jse-before:where(.svelte-1b9gnk8) { + flex: 1; +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) { + display: flex; + flex-direction: column; + gap: var(--jse-padding, 10px); + max-width: 400px; + margin: 2em var(--jse-padding, 10px); + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-arrays-info:where(.svelte-1b9gnk8) { + color: var(--jse-panel-color-readonly, #b2b2b2); +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-property:where(.svelte-1b9gnk8) { + display: flex; + align-items: center; + gap: var(--jse-padding, 10px); +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-property:where(.svelte-1b9gnk8) .jse-nested-property-path:where(.svelte-1b9gnk8) { + flex: 1; +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-property:where(.svelte-1b9gnk8) .jse-nested-property-path:where(.svelte-1b9gnk8) .jse-nested-property-count:where(.svelte-1b9gnk8) { + opacity: 0.5; + white-space: nowrap; +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) button.jse-nested-array-action:where(.svelte-1b9gnk8) { + text-align: left; + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); + color: var(--jse-button-primary-color, #fff); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) button.jse-nested-array-action:where(.svelte-1b9gnk8):hover { + background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) button.jse-nested-array-action:where(.svelte-1b9gnk8):disabled { + background: var(--jse-button-primary-background-disabled, #9d9d9d); +} +.jse-table-mode-welcome.svelte-1b9gnk8 .jse-space.jse-after:where(.svelte-1b9gnk8) { + flex: 2; +}`);var fFA=FA(`An empty document cannot be opened in table mode. You can go to tree mode instead, or paste + a JSON Array using Ctrl+V.`,1),mFA=FA(''),pFA=FA('
      '),wFA=FA('
      ');function DFA(t,e){St(e,!0);var A=Dg(()=>e.json?(function(E){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,f=[];return(function b(S,M){ia(S)&&M.length{b(S[D],M.concat(D))}),jo(S)&&f.push(M)})(E,[]),f})(e.json).slice(0,99).filter(E=>E.length>0):[]),i=Dg(()=>!Vi(c(A))),n=Dg(()=>e.json===void 0&&(e.text===""||e.text===void 0)),o=Dg(()=>c(i)?"Object with nested arrays":c(n)?"An empty document":ia(e.json)?"An object":jo(e.json)?"An empty array":"A ".concat(jL(e.json,e.parser))),a=wFA();a.__click=()=>e.onClick();var r=bA(CA(a),2),s=CA(r),g=CA(s),l=bA(s,2),C=CA(l),I=E=>{cA(E,hr(`An object cannot be opened in table mode. You can open a nested array instead, or open the + document in tree mode.`))},d=E=>{var Q=vi(),f=At(Q),b=M=>{cA(M,fFA())},S=M=>{var D=hr();ve(()=>{var F;return Rt(D,"".concat((F=c(o))!==null&&F!==void 0?F:""," cannot be opened in table mode. You can open the document in tree mode instead."))}),cA(M,D)};TA(f,M=>{c(n)&&!e.readOnly?M(b):M(S,!1)},!0),cA(E,Q)};TA(C,E=>{c(i)?E(I):E(d,!1)});var B=bA(l,2);Ea(B,17,()=>c(A),Ra,(E,Q)=>{var f=Dg(()=>(function(j){return je(e.json,j).length})(c(Q))),b=pFA(),S=CA(b),M=CA(S),D=CA(bA(M)),F=bA(S,2);F.__click=()=>e.openJSONEditorModal(c(Q));var _=CA(F),U=bA(F,2),J=j=>{var $=mFA();$.__click=()=>e.extractPath(c(Q)),cA(j,$)};TA(U,j=>{e.readOnly||j(J)}),ve(j=>{var $;Rt(M,'"'.concat(j??"",'" ')),Rt(D,"(".concat(($=c(f))!==null&&$!==void 0?$:""," ").concat(c(f)!==1?"items":"item",")")),Rt(_,e.readOnly?"View":"Edit")},[()=>vg(c(Q))]),cA(E,b)}),bA(B,2).__click=()=>e.onChangeMode(Da.tree),ve(()=>Rt(g,c(o))),cA(t,a),xt()}am(["click"]);qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-column-header.svelte-1wgrwv3 { + background: none; + border: none; + font-family: inherit; + font-size: inherit; + color: inherit; + display: flex; + gap: var(--jse-padding, 10px); + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)) calc(0.5 * var(--jse-padding, 10px)); + width: 100%; +} +.jse-column-header.svelte-1wgrwv3:hover { + background: var(--jse-table-header-background-highlight, #e8e8e8); +} +.jse-column-header.svelte-1wgrwv3:not(.jse-column-header.jse-readonly) { + cursor: pointer; +}`);var yFA=FA('');qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-table-mode.svelte-1p86y3c { + flex: 1; + display: flex; + flex-direction: column; + position: relative; + background: var(--jse-background-color, #fff); + min-width: 0; + min-height: 0; + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + color: var(--jse-text-color, #4d4d4d); + line-height: var(--jse-line-height, calc(1em + 4px)); +} +.jse-table-mode.no-main-menu.svelte-1p86y3c { + border-top: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-table-mode.svelte-1p86y3c .jse-search-box-container:where(.svelte-1p86y3c) { + position: relative; + height: 0; + top: calc(var(--jse-line-height, calc(1em + 4px)) + 2 * var(--jse-padding, 10px)); + margin-right: calc(var(--jse-padding, 10px) + 20px); + margin-left: var(--jse-padding, 10px); + text-align: right; + z-index: 3; +} +.jse-table-mode.svelte-1p86y3c .jse-hidden-input-label:where(.svelte-1p86y3c) { + position: fixed; + right: 0; + top: 0; + width: 0; + height: 0; +} +.jse-table-mode.svelte-1p86y3c .jse-hidden-input-label:where(.svelte-1p86y3c) .jse-hidden-input:where(.svelte-1p86y3c) { + width: 0; + height: 0; + padding: 0; + border: 0; + outline: none; +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) { + flex: 1; + align-items: flex-start; + flex-direction: column; + display: flex; + overflow: auto; + overflow-anchor: none; + scrollbar-gutter: stable; + border-left: var(--jse-main-border, 1px solid #d7d7d7); + border-right: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c):last-child { + border-bottom: var(--jse-main-border, 1px solid #d7d7d7); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) { + border-collapse: collapse; + border-spacing: 0; +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-invisible-start-section:where(.svelte-1p86y3c) td:where(.svelte-1p86y3c), +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-invisible-end-section:where(.svelte-1p86y3c) td:where(.svelte-1p86y3c) { + margin: 0; + padding: 0; +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-search-box-background:where(.svelte-1p86y3c) { + background: var(--jse-table-header-background, #f5f5f5); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-invisible-end-section:where(.svelte-1p86y3c) td:where(.svelte-1p86y3c) { + padding-bottom: var(--jse-padding, 10px); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c):hover { + background-color: var(--jse-table-row-odd-background, rgba(0, 0, 0, 0.05)); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) { + padding: 0 var(--jse-padding, 10px) 0 0; + vertical-align: top; + white-space: nowrap; + height: var(--jse-line-height, calc(1em + 4px)); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-header:where(.svelte-1p86y3c), .jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-gutter:where(.svelte-1p86y3c) { + font-weight: normal; + text-align: left; + color: var(--jse-text-readonly, #8d8d8d); + background: var(--jse-table-header-background, #f5f5f5); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-header:where(.svelte-1p86y3c) { + padding: 0; + position: sticky; + top: 0; +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-header:where(.svelte-1p86y3c) .jse-table-root-error:where(.svelte-1p86y3c) { + padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)) calc(0.5 * var(--jse-padding, 10px)); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-gutter:where(.svelte-1p86y3c) { + padding: 0 var(--jse-padding, 10px) 0 calc(0.5 * var(--jse-padding, 10px)); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-value-outer:where(.svelte-1p86y3c) { + display: inline-block; + cursor: var(--jse-contents-cursor, pointer); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-value-outer:where(.svelte-1p86y3c):hover { + background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-value-outer.jse-selected-value:where(.svelte-1p86y3c) { + background: var(--jse-selection-background-color, #d3d3d3); +} +.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-context-menu-anchor:where(.svelte-1p86y3c) { + display: inline-flex; + position: relative; + vertical-align: top; +} +.jse-table-mode.svelte-1p86y3c .jse-contents.jse-contents-loading:where(.svelte-1p86y3c) { + align-items: unset; +} +.jse-table-mode.svelte-1p86y3c .jse-contents.jse-contents-loading:where(.svelte-1p86y3c) .jse-loading-space:where(.svelte-1p86y3c) { + flex: 1; +} +.jse-table-mode.svelte-1p86y3c .jse-contents.jse-contents-loading:where(.svelte-1p86y3c) .jse-loading:where(.svelte-1p86y3c) { + flex: 2; + text-align: center; + color: var(--jse-panel-color-readonly, #b2b2b2); + box-sizing: border-box; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); +}`);var vFA=FA('
      '),bFA=FA(''),MFA=FA(''),kFA=FA(' '),SFA=FA('
      '),xFA=FA('
      '),RFA=FA(''),NFA=FA(''),FFA=FA('
      ',1),_FA=FA(" ",1),LFA=FA(' ',1),GFA=FA('
      loading...
      '),KFA=FA('
      ',1);function UFA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=lr("jsoneditor:TableMode"),{openAbsolutePopup:a,closeAbsolutePopup:r}=r1("absolute-popup"),s=zoA(),g=II(),l=II(),C=typeof window>"u";o("isSSR:",C);var I=N(e,"readOnly",9),d=N(e,"externalContent",9),B=N(e,"externalSelection",9),E=N(e,"history",9),Q=N(e,"truncateTextSize",9),f=N(e,"mainMenuBar",9),b=N(e,"escapeControlCharacters",9),S=N(e,"escapeUnicodeCharacters",9),M=N(e,"flattenColumns",9),D=N(e,"parser",9),F=N(e,"parseMemoizeOne",9),_=N(e,"validator",9),U=N(e,"validationParser",9),J=N(e,"indentation",9),j=N(e,"onChange",9),$=N(e,"onChangeMode",9),O=N(e,"onSelect",9),DA=N(e,"onUndo",9),P=N(e,"onRedo",9),aA=N(e,"onRenderValue",9),iA=N(e,"onRenderMenu",9),BA=N(e,"onRenderContextMenu",9),oA=N(e,"onFocus",9),sA=N(e,"onBlur",9),hA=N(e,"onSortModal",9),YA=N(e,"onTransformModal",9),ee=N(e,"onJSONEditorModal",9),UA=IA(void 0,!0),mA=IA(void 0,!0),KA=IA(void 0,!0),Pe=IA(void 0,!0),Ue=IA(void 0,!0);cG({onMount:is,onDestroy:Yl,getWindow:()=>gm(c(mA)),hasFocus:()=>ke&&document.hasFocus()||WL(c(mA)),onFocus:()=>{ei=!0,oA()&&oA()()},onBlur:()=>{ei=!1,sA()&&sA()()}});var HA,uA=IA(void 0,!0),XA=IA(void 0,!0),QA=IA(void 0,!0),ZA=IA(void 0,!0),MA=IA(void 0,!0),Me=IA(void 0,!0),LA=IA(!1,!0),pA=IA(!1,!0);function Ft(k){R(Me,(HA=k)?xoA(c(uA),HA.items):void 0)}function ht(k){return Ee.apply(this,arguments)}function Ee(){return(Ee=Yt(function*(k){R(_A,void 0),yield En(k)})).apply(this,arguments)}function Kt(){R(LA,!1),R(pA,!1),L()}var Je=IA(1e4,!0),ze=IA([],!0),ut=IA(void 0,!0),ke=!1,ei=!1,Y=IA(!1,!0),z=IA({},!0),nA=IA(600,!0),rA=IA(0,!0),NA=18;function Ie(k){R(_A,k)}function Qe(k){c(_A)&&k!==void 0&&(br(k,jd(c(_A)))&&br(k,lt(c(_A)))||(o("clearing selection: path does not exist anymore",c(_A)),R(_A,void 0)))}var xA=IA(c(uA)!==void 0?pL({json:c(uA)}):void 0,!0),_A=IA(Vf(B())?B():void 0,!0),Et=IA(void 0,!0),et=IA(!1,!0);function Ye(k){if(!I()){o("onSortByHeader",k);var T=k.sortDirection===Ll.desc?-1:1;bi(ZoA(c(uA),[],k.path,T),(tA,lA)=>({state:lA,sortedColumn:k}))}}is(()=>{c(_A)&&Uo(lt(c(_A)))});var Ge=IA(void 0,!0);function si(k){if(k.json!==void 0||k.text!==void 0){var T=c(uA)!==void 0&&k.json!==void 0;E().add({type:"tree",undo:{patch:T?[{op:"replace",path:"",value:k.json}]:void 0,json:k.json,text:k.text,documentState:k.documentState,textIsRepaired:k.textIsRepaired,selection:T0(k.selection),sortedColumn:k.sortedColumn},redo:{patch:T?[{op:"replace",path:"",value:c(uA)}]:void 0,json:c(uA),text:c(XA),documentState:c(xA),textIsRepaired:c(et),selection:T0(c(_A)),sortedColumn:c(Et)}})}}var gn=IA([],!0),dn=ZE(OoA);function Le(k,T,tA,lA){oh(()=>{var wA;try{wA=dn(k,T,tA,lA)}catch(Ae){wA=[{path:[],message:"Failed to validate: "+Ae.message,severity:Uc.warning}]}Bi(wA,c(gn))||(o("validationErrors changed:",wA),R(gn,wA))},wA=>o("validationErrors updated in ".concat(wA," ms")))}function Zi(){return o("validate"),c(QA)?{parseError:c(QA),isRepairable:!1}:(Le(c(uA),_(),D(),U()),Vi(c(gn))?void 0:{validationErrors:c(gn)})}function Qi(k,T){if(o("patch",k,T),c(uA)===void 0)throw new Error("Cannot apply patch: no JSON");var tA=c(uA),lA={json:void 0,text:c(XA),documentState:c(xA),selection:T0(c(_A)),sortedColumn:c(Et),textIsRepaired:c(et)},wA=SoA(c(uA),k),Ae=hoA(c(uA),c(xA),k),ne=kNA(c(Et),k,c(ze)),Be=typeof T=="function"?T(Ae.json,Ae.documentState,c(_A)):void 0;return R(uA,Be?.json!==void 0?Be.json:Ae.json),R(xA,Be?.state!==void 0?Be.state:Ae.documentState),R(_A,Be?.selection!==void 0?Be.selection:c(_A)),R(Et,Be?.sortedColumn!==void 0?Be.sortedColumn:ne),R(XA,void 0),R(et,!1),R(ZA,void 0),R(MA,void 0),R(QA,void 0),E().add({type:"tree",undo:ye({patch:wA},lA),redo:{patch:k,json:void 0,text:void 0,documentState:c(xA),selection:T0(c(_A)),sortedColumn:c(Et),textIsRepaired:c(et)}}),{json:c(uA),previousJson:tA,undo:wA,redo:k}}function bi(k,T){o("handlePatch",k,T);var tA={json:c(uA),text:c(XA)},lA=Qi(k,T);return zi(tA,lA),lA}function zi(k,T){if((k.json!==void 0||k?.text!==void 0)&&j()){if(c(XA)!==void 0){var tA={text:c(XA),json:void 0};j()(tA,k,{contentErrors:Zi(),patchResult:T})}else if(c(uA)!==void 0){var lA={text:void 0,json:c(uA)};j()(lA,k,{contentErrors:Zi(),patchResult:T})}}}function yt(k){o("pasted json as text",k),R(ZA,k)}function Xi(k){o("pasted multiline text",{pastedText:k}),R(MA,k)}function _t(k){var T=parseInt(k[0],10),tA=[String(T+1),...k.slice(1)];return br(c(uA),tA)?Ui(tA):Ui(k)}function L(){o("focus"),c(Pe)&&(c(Pe).focus(),c(Pe).select())}function ct(k){R(rA,k.target.scrollTop)}function li(){c(_A)||R(_A,(function(){if(jo(c(uA))&&!Vi(c(uA))&&!Vi(c(ze)))return Ui(["0",...c(ze)[0]])})())}function Bn(){if(c(et)&&c(uA)!==void 0){var k={json:c(uA),text:c(XA)},T={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(XA),textIsRepaired:c(et)};R(XA,void 0),R(et,!1),Qe(c(uA)),si(T),zi(k,void 0)}return{json:c(uA),text:c(XA)}}function En(k){var{scrollToWhenVisible:T=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=c(LA)?Gf:0,lA=qiA(k,c(ze),z,NA),wA=lA-c(rA)+tA+NA,Ae=Co(k);if(o("scrollTo",{path:k,top:lA,scrollTop:c(rA),elem:Ae}),!c(KA))return Promise.resolve();var ne=c(KA).getBoundingClientRect();if(Ae&&!T){var Be=Ae.getBoundingClientRect();if(Be.bottom>ne.top&&Be.top{s(Ae,{container:c(KA),offset:Te,duration:300,callback:()=>{qn(k),Se()}})}:Se=>{s(wA,{container:c(KA),offset:Te,duration:300,callback:()=>{bo(),qn(k),Se()}})})}function qn(k){var T=Co(k);if(T&&c(KA)){var tA=c(KA).getBoundingClientRect(),lA=T.getBoundingClientRect();if(lA.right>tA.right){var wA=lA.right-tA.right;Xg(KA,c(KA).scrollLeft+=wA)}if(lA.leftTe){var Se=wA-Te;Xg(KA,c(KA).scrollTop+=Se)}if(lAq0(k.slice(1),Ae)),wA=lA?k.slice(0,1).concat(lA):k;return(T=(tA=c(KA))===null||tA===void 0?void 0:tA.querySelector('td[data-path="'.concat(jy(wA),'"]')))!==null&&T!==void 0?T:void 0}function Mo(k){var T,{anchor:tA,left:lA,top:wA,width:Ae,height:ne,offsetTop:Be,offsetLeft:Te,showTip:Se}=k,Ne=(function(fA){var{json:PA,documentState:Fe,selection:pe,readOnly:De,onEditValue:ot,onEditRow:jt,onToggleEnforceString:Mi,onCut:xn,onCopy:Pi,onPaste:Eo,onRemove:Wt,onDuplicateRow:Xo,onInsertBeforeRow:Wn,onInsertAfterRow:$o,onRemoveRow:un}=fA,Gt=PA!==void 0,$i=!!pe,Zt=PA!==void 0&&pe?je(PA,lt(pe)):void 0,pt=Gt&&(lo(pe)||gr(pe)||In(pe)),gi=!De&&Gt&&pe!==void 0&&av(pe),ga=gi&&!aa(Zt),Zn=!De&&pt,Aa=pe!==void 0&&z0(PA,Fe,lt(pe));return[{type:"separator"},{type:"row",items:[{type:"column",items:[{type:"label",text:"Table cell:"},{type:"dropdown-button",main:{type:"button",onClick:()=>ot(),icon:nd,text:"Edit",title:"Edit the value (Double-click on the value)",disabled:!gi},width:"11em",items:[{type:"button",icon:nd,text:"Edit",title:"Edit the value (Double-click on the value)",onClick:()=>ot(),disabled:!gi},{type:"button",icon:Aa?RS:_S,text:"Enforce string",title:"Enforce keeping the value as string when it contains a numeric value",onClick:()=>Mi(),disabled:!ga}]},{type:"dropdown-button",main:{type:"button",onClick:()=>xn(!0),icon:od,text:"Cut",title:"Cut selected contents, formatted with indentation (Ctrl+X)",disabled:!Zn},width:"10em",items:[{type:"button",icon:od,text:"Cut formatted",title:"Cut selected contents, formatted with indentation (Ctrl+X)",onClick:()=>xn(!0),disabled:De||!pt},{type:"button",icon:od,text:"Cut compacted",title:"Cut selected contents, without indentation (Ctrl+Shift+X)",onClick:()=>xn(!1),disabled:De||!pt}]},{type:"dropdown-button",main:{type:"button",onClick:()=>Pi(!0),icon:kC,text:"Copy",title:"Copy selected contents, formatted with indentation (Ctrl+C)",disabled:!pt},width:"12em",items:[{type:"button",icon:kC,text:"Copy formatted",title:"Copy selected contents, formatted with indentation (Ctrl+C)",onClick:()=>Pi(!1),disabled:!pt},{type:"button",icon:kC,text:"Copy compacted",title:"Copy selected contents, without indentation (Ctrl+Shift+C)",onClick:()=>Pi(!1),disabled:!pt}]},{type:"button",onClick:()=>Eo(),icon:kS,text:"Paste",title:"Paste clipboard contents (Ctrl+V)",disabled:De||!$i},{type:"button",onClick:()=>Wt(),icon:Vw,text:"Remove",title:"Remove selected contents (Delete)",disabled:De||!pt}]},{type:"column",items:[{type:"label",text:"Table row:"},{type:"button",onClick:()=>jt(),icon:nd,text:"Edit row",title:"Edit the current row",disabled:De||!$i||!Gt},{type:"button",onClick:()=>Xo(),icon:xS,text:"Duplicate row",title:"Duplicate the current row (Ctrl+D)",disabled:De||!$i||!Gt},{type:"button",onClick:()=>Wn(),icon:ad,text:"Insert before",title:"Insert a row before the current row",disabled:De||!$i||!Gt},{type:"button",onClick:()=>$o(),icon:ad,text:"Insert after",title:"Insert a row after the current row",disabled:De||!$i||!Gt},{type:"button",onClick:()=>un(),icon:Vw,text:"Remove row",title:"Remove current row",disabled:De||!$i||!Gt}]}]}]})({json:c(uA),documentState:c(xA),selection:c(_A),readOnly:I(),onEditValue:Qa,onEditRow:Zo,onToggleEnforceString:ra,onCut:tr,onCopy:Pa,onPaste:di,onRemove:Si,onDuplicateRow:Sn,onInsertBeforeRow:Bo,onInsertAfterRow:ko,onRemoveRow:vA}),ni=(T=BA()(Ne))!==null&&T!==void 0?T:Ne;if(ni!==!1){var Un={left:lA,top:wA,offsetTop:Be,offsetLeft:Te,width:Ae,height:ne,anchor:tA,closeOnOuterClick:!0,onClose:()=>{ke=!1,L()}};ke=!0;var q=a(raA,{tip:Se?"Tip: you can open this context menu via right-click or with Ctrl+Q":void 0,items:ni,onRequestClose(){r(q),L()}},Un)}}function Wo(k){if(!rr(c(_A)))if(k&&(k.stopPropagation(),k.preventDefault()),k&&k.type==="contextmenu"&&k.target!==c(Pe))Mo({left:k.clientX,top:k.clientY,width:XC,height:ZC,showTip:!1});else{var T,tA=(T=c(KA))===null||T===void 0?void 0:T.querySelector(".jse-table-cell.jse-selected-value");if(tA)Mo({anchor:tA,offsetTop:2,width:XC,height:ZC,showTip:!1});else{var lA,wA=(lA=c(KA))===null||lA===void 0?void 0:lA.getBoundingClientRect();wA&&Mo({top:wA.top+2,left:wA.left+2,width:XC,height:ZC,showTip:!1})}}}function wo(k){Mo({anchor:IoA(k.target,"BUTTON"),offsetTop:0,width:XC,height:ZC,showTip:!0})}function Qa(){if(!I()&&c(_A)){var k=lt(c(_A));aa(je(c(uA),k))?rt(k):R(_A,Ui(k))}}function Zo(){!I()&&c(_A)&&rt(lt(c(_A)).slice(0,1))}function ra(){if(!I()&&In(c(_A))){var k=c(_A).path,T=wt(k),tA=je(c(uA),k),lA=!z0(c(uA),c(xA),k),wA=lA?String(tA):Rh(String(tA),D());o("handleToggleEnforceString",{enforceString:lA,value:tA,updatedValue:wA}),bi([{op:"replace",path:T,value:wA}],(Ae,ne)=>({state:Dv(c(uA),ne,k,{type:"value",enforceString:lA})}))}}function Do(){return re.apply(this,arguments)}function re(){return(re=Yt(function*(){if(o("apply pasted json",c(ZA)),c(ZA)){var{onPasteAsJson:k}=c(ZA);k(),setTimeout(L)}})).apply(this,arguments)}function di(){return ln.apply(this,arguments)}function ln(){return(ln=Yt(function*(){try{dA(yield navigator.clipboard.readText())}catch(k){console.error(k),R(Y,!0)}})).apply(this,arguments)}function Qn(){return Jo.apply(this,arguments)}function Jo(){return(Jo=Yt(function*(){o("apply pasted multiline text",c(MA)),c(MA)&&(dA(JSON.stringify(c(MA))),setTimeout(L))})).apply(this,arguments)}function ya(){o("clear pasted json"),R(ZA,void 0),L()}function wi(){o("clear pasted multiline text"),R(MA,void 0),L()}function Io(){$()(Da.text)}function tr(k){return yo.apply(this,arguments)}function yo(){return(yo=Yt(function*(k){yield eaA({json:c(uA),selection:c(_A),indentation:k?J():void 0,readOnly:I(),parser:D(),onPatch:bi})})).apply(this,arguments)}function Pa(){return Gn.apply(this,arguments)}function Gn(){return Gn=Yt(function*(){var k=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];c(uA)!==void 0&&(yield taA({json:c(uA),selection:c(_A),indentation:k?J():void 0,parser:D()}))}),Gn.apply(this,arguments)}function Si(){naA({json:c(uA),text:c(XA),selection:c(_A),keepSelection:!0,readOnly:I(),onChange:j(),onPatch:bi})}function Pt(k){I()||(o("extract",{path:k}),bi(boA(c(uA),Ui(k))))}function Sn(){(function(k){var{json:T,selection:tA,columns:lA,readOnly:wA,onPatch:Ae}=k;if(!wA&&T!==void 0&&tA&&ih(tA)){var{rowIndex:ne,columnIndex:Be}=Fl(lt(tA),lA);vs("duplicate row",{rowIndex:ne});var Te=[String(ne)];Ae(voA(T,[Te]),(Se,Ne)=>({state:Ne,selection:Ui(Kd({rowIndex:ne({state:Un,selection:Ui(Kd({rowIndex:Te,columnIndex:Be},lA))}))}})({json:c(uA),selection:c(_A),columns:c(ze),readOnly:I(),onPatch:bi})}function vA(){(function(k){var{json:T,selection:tA,columns:lA,readOnly:wA,onPatch:Ae}=k;if(!wA&&T!==void 0&&tA&&ih(tA)){var{rowIndex:ne,columnIndex:Be}=Fl(lt(tA),lA);vs("remove row",{rowIndex:ne}),Ae(sv([[String(ne)]]),(Te,Se)=>{var Ne=ne0?ne-1:void 0,ni=Ne!==void 0?Ui(Kd({rowIndex:Ne,columnIndex:Be},lA)):void 0;return vs("remove row new selection",{rowIndex:ne,newRowIndex:Ne,newSelection:ni}),{state:Se,selection:ni}})}})({json:c(uA),selection:c(_A),columns:c(ze),readOnly:I(),onPatch:bi})}function VA(){return(VA=Yt(function*(k){yield oaA({char:k,selectInside:!1,json:c(uA),selection:c(_A),readOnly:I(),parser:D(),onPatch:bi,onReplaceJson:SA,onSelect:Ie})})).apply(this,arguments)}function me(k){var T;k.preventDefault(),dA((T=k.clipboardData)===null||T===void 0?void 0:T.getData("text/plain"))}function dA(k){k!==void 0&&iaA({clipboardText:k,json:c(uA),selection:c(_A),readOnly:I(),parser:D(),onPatch:bi,onChangeText:oe,onPasteMultilineText:Xi,openRepairModal:bt})}function SA(k,T){var tA={json:c(uA),text:c(XA)},lA={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(XA),textIsRepaired:c(et)},wA=Zg(k,c(xA)),Ae=typeof T=="function"?T(k,wA,c(_A)):void 0;R(uA,Ae?.json!==void 0?Ae.json:k),R(xA,Ae?.state!==void 0?Ae.state:wA),R(_A,Ae?.selection!==void 0?Ae.selection:c(_A)),R(Et,void 0),R(XA,void 0),R(et,!1),R(QA,void 0),Qe(c(uA)),si(lA),zi(tA,void 0)}function oe(k,T){o("handleChangeText");var tA={json:c(uA),text:c(XA)},lA={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(XA),textIsRepaired:c(et)};try{R(uA,F()(k)),R(xA,Zg(c(uA),c(xA))),R(XA,void 0),R(et,!1),R(QA,void 0)}catch(Ae){try{R(uA,F()(ul(k))),R(xA,Zg(c(uA),c(xA))),R(XA,k),R(et,!0),R(QA,void 0)}catch{R(uA,void 0),R(xA,void 0),R(XA,k),R(et,!1),R(QA,c(XA)!==""?uh(c(XA),Ae.message||String(Ae)):void 0)}}if(typeof T=="function"){var wA=T(c(uA),c(xA),c(_A));R(uA,wA?.json!==void 0?wA.json:c(uA)),R(xA,wA?.state!==void 0?wA.state:c(xA)),R(_A,wA?.selection!==void 0?wA.selection:c(_A))}Qe(c(uA)),si(lA),zi(tA,void 0)}function xe(k){o("select validation error",k),R(_A,Ui(k.path)),En(k.path)}function it(k){if(c(uA)!==void 0){var{id:T,onTransform:tA,onClose:lA}=k,wA=k.rootPath||[];ke=!0,YA()({id:T||l,json:c(uA),rootPath:wA||[],onTransform:Ae=>{tA?tA({operations:Ae,json:c(uA),transformedJson:lg(c(uA),Ae)}):(o("onTransform",wA,Ae),bi(Ae))},onClose:()=>{ke=!1,setTimeout(L),lA&&lA()}})}}function rt(k){o("openJSONEditorModal",{path:k}),ke=!0,ee()({content:{json:je(c(uA),k)},path:k,onPatch:bi,onClose:()=>{ke=!1,setTimeout(L)}})}function bt(k,T){R(Ue,{text:k,onParse:tA=>sm(tA,lA=>rm(lA,D())),onRepair:noA,onApply:T,onClose:L})}function Kn(){(function(k){I()||c(uA)===void 0||(ke=!0,hA()({id:g,json:c(uA),rootPath:k,onSort:T=>{var{operations:tA,itemPath:lA,direction:wA}=T;o("onSort",tA,k,lA,wA),bi(tA,(Ae,ne)=>({state:ne,sortedColumn:{path:lA,sortDirection:wA===-1?Ll.desc:Ll.asc}}))},onClose:()=>{ke=!1,setTimeout(L)}}))})([])}function xi(){it({rootPath:[]})}function Ji(k){o("openFind",{findAndReplace:k}),R(LA,!1),R(pA,!1),bo(),R(LA,!0),R(pA,k)}function Vt(){if(!I()&&E().canUndo){var k=E().undo();if(ov(k)){var T={json:c(uA),text:c(XA)};R(uA,k.undo.patch?lg(c(uA),k.undo.patch):k.undo.json),R(xA,k.undo.documentState),R(_A,k.undo.selection),R(Et,k.undo.sortedColumn),R(XA,k.undo.text),R(et,k.undo.textIsRepaired),R(QA,void 0),o("undo",{item:k,json:c(uA)}),zi(T,k.undo.patch&&k.redo.patch?{json:c(uA),previousJson:T.json,redo:k.undo.patch,undo:k.redo.patch}:void 0),L(),c(_A)&&En(lt(c(_A)),{scrollToWhenVisible:!1})}else DA()(k)}}function Ri(){if(!I()&&E().canRedo){var k=E().redo();if(ov(k)){var T={json:c(uA),text:c(XA)};R(uA,k.redo.patch?lg(c(uA),k.redo.patch):k.redo.json),R(xA,k.redo.documentState),R(_A,k.redo.selection),R(Et,k.redo.sortedColumn),R(XA,k.redo.text),R(et,k.redo.textIsRepaired),R(QA,void 0),o("redo",{item:k,json:c(uA)}),zi(T,k.undo.patch&&k.redo.patch?{json:c(uA),previousJson:T.json,redo:k.redo.patch,undo:k.undo.patch}:void 0),L(),c(_A)&&En(lt(c(_A)),{scrollToWhenVisible:!1})}else P()(k)}}function va(k){R(nA,k.getBoundingClientRect().height)}RA(()=>(G(b()),G(S())),()=>{R(UA,qL({escapeControlCharacters:b(),escapeUnicodeCharacters:S()}))}),RA(()=>c(LA),()=>{(function(k){if(c(KA)){var T=k?Gf:-100;c(KA).scrollTo({top:Xg(KA,c(KA).scrollTop+=T),left:c(KA).scrollLeft})}})(c(LA))}),RA(()=>G(d()),()=>{(function(k){var T={json:c(uA)},tA=zf(k)?k.text!==c(XA):!Bi(T.json,k.json);if(o("update external content",{isChanged:tA}),tA){var lA={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(XA),textIsRepaired:c(et)};if(zf(k))try{R(uA,F()(k.text)),R(xA,Zg(c(uA),c(xA))),R(XA,k.text),R(et,!1),R(QA,void 0)}catch(wA){try{R(uA,F()(ul(k.text))),R(xA,Zg(c(uA),c(xA))),R(XA,k.text),R(et,!0),R(QA,void 0)}catch{R(uA,void 0),R(xA,void 0),R(XA,k.text),R(et,!1),R(QA,c(XA)!==""?uh(c(XA),wA.message||String(wA)):void 0)}}else R(uA,k.json),R(xA,Zg(c(uA),c(xA))),R(XA,void 0),R(et,!1),R(QA,void 0);Qe(c(uA)),R(Et,void 0),si(lA)}})(d())}),RA(()=>G(B()),()=>{(function(k){Bi(c(_A),k)||(o("applyExternalSelection",{selection:c(_A),externalSelection:k}),Vf(k)&&R(_A,k))})(B())}),RA(()=>(c(ze),c(uA),G(M()),c(Je)),()=>{R(ze,jo(c(uA))?(function(k,T){var tA=new Set(T.map(wt)),lA=new Set(k.map(wt));for(var wA of tA)lA.has(wA)||tA.delete(wA);for(var Ae of lA)tA.has(Ae)||tA.add(Ae);return[...tA].map(hs)})(yNA(c(uA),M(),c(Je)),c(ze)):[])}),RA(()=>(c(uA),c(ze)),()=>{R(ut,!(!c(uA)||Vi(c(ze))))}),RA(()=>(c(uA),c(Je)),()=>{R(A,Array.isArray(c(uA))&&c(uA).length>c(Je))}),RA(()=>(c(rA),c(nA),c(uA),c(LA),Gf),()=>{R(i,vNA(c(rA),c(nA),c(uA),z,NA,c(LA)?Gf:0))}),RA(()=>c(uA),()=>{c(uA),c(KA)&&c(KA).scrollTo({top:c(KA).scrollTop,left:c(KA).scrollLeft})}),RA(()=>c(_A),()=>{var k;k=c(_A),Bi(k,B())||(o("onSelect",k),O()(k))}),RA(()=>(G(I()),G(Q()),G(D()),c(UA),c(uA),c(xA),G(aA())),()=>{R(Ge,{mode:Da.table,readOnly:I(),truncateTextSize:Q(),parser:D(),normalization:c(UA),getJson:()=>c(uA),getDocumentState:()=>c(xA),findElement:Co,findNextInside:_t,focus:L,onPatch:(k,T)=>bi((function(tA,lA){return tA.flatMap(wA=>{if(sw(wA)){var Ae=hs(wA.path);if(Ae.length>0){for(var ne=[wA],Be=Ki(Ae);Be.length>0&&!br(lA,Be);)ne.unshift({op:"add",path:wt(Be),value:{}}),Be=Ki(Be);return ne}}return wA})})(k,c(uA)),T),onSelect:Ie,onFind:Ji,onPasteJson:yt,onRenderValue:aA()})}),RA(()=>(c(uA),G(_()),G(D()),G(U())),()=>{Le(c(uA),_(),D(),U())}),RA(()=>(c(gn),c(ze)),()=>{R(n,bNA(c(gn),c(ze)))}),kn();var Lt={validate:Zi,patch:Qi,focus:L,acceptAutoRepair:Bn,scrollTo:En,findElement:Co,openTransformModal:it};Ai(!0);var st=KFA();ue("mousedown",e2,function(k){!Nh(k.target,T=>T===c(mA))&&rr(c(_A))&&(o("click outside the editor, exit edit mode"),R(_A,T0(c(_A))),ei&&c(Pe)&&(c(Pe).focus(),c(Pe).blur()),o("blur (outside editor)"),c(Pe)&&c(Pe).blur())});var Ni,Oi=At(st),Vn=CA(Oi),hn=k=>{(function(T,tA){St(tA,!1);var lA=N(tA,"containsValidArray",9),wA=N(tA,"readOnly",9),Ae=N(tA,"showSearch",13,!1),ne=N(tA,"history",9),Be=N(tA,"onSort",9),Te=N(tA,"onTransform",9),Se=N(tA,"onContextMenu",9),Ne=N(tA,"onUndo",9),ni=N(tA,"onRedo",9),Un=N(tA,"onRenderMenu",9);function q(){Ae(!Ae())}var fA=IA(void 0,!0),PA=IA(void 0,!0);RA(()=>(G(wA()),G(Be()),G(lA()),G(Te()),G(Se()),G(Ne()),G(ne()),G(ni())),()=>{R(fA,wA()?[{type:"space"}]:[{type:"button",icon:l3,title:"Sort",className:"jse-sort",onClick:Be(),disabled:wA()||!lA()},{type:"button",icon:a3,title:"Transform contents (filter, sort, project)",className:"jse-transform",onClick:Te(),disabled:wA()||!lA()},{type:"button",icon:r3,title:"Search (Ctrl+F)",className:"jse-search",onClick:q,disabled:!lA()},{type:"button",icon:SS,title:$L,className:"jse-contextmenu",onClick:Se()},{type:"separator"},{type:"button",icon:Xw,title:"Undo (Ctrl+Z)",className:"jse-undo",onClick:Ne(),disabled:!ne().canUndo},{type:"button",icon:Zw,title:"Redo (Ctrl+Shift+Z)",className:"jse-redo",onClick:ni(),disabled:!ne().canRedo},{type:"space"}])}),RA(()=>(G(Un()),c(fA)),()=>{R(PA,Un()(c(fA))||c(fA))}),kn(),Ai(!0),Sv(T,{get items(){return c(PA)}}),xt()})(k,{get containsValidArray(){return c(ut)},get readOnly(){return I()},get history(){return E()},onSort:Kn,onTransform:xi,onUndo:Vt,onRedo:Ri,onContextMenu:wo,get onRenderMenu(){return iA()},get showSearch(){return c(LA)},set showSearch(T){R(LA,T)},$$legacy:!0})};TA(Vn,k=>{f()&&k(hn)});var Mt=bA(Vn,2),sa=k=>{var T=LFA(),tA=At(T),lA=CA(tA);lA.readOnly=!0,Ko(lA,Be=>R(Pe,Be),()=>c(Pe));var wA=bA(tA,2),Ae=Be=>{var Te=FFA(),Se=At(Te);XoA(CA(Se),{get json(){return c(uA)},get documentState(){return c(xA)},get parser(){return D()},get showSearch(){return c(LA)},get showReplace(){return c(pA)},get readOnly(){return I()},get columns(){return c(ze)},onSearch:Ft,onFocus:ht,onPatch:bi,onClose:Kt});var Ne=bA(Se,2),ni=CA(Ne),Un=CA(ni),q=CA(Un),fA=CA(q),PA=CA(fA),Fe=pt=>{var gi=tt(()=>(G(VQ),c(n),EA(()=>{var ha;return VQ([],(ha=c(n))===null||ha===void 0?void 0:ha.root)}))),ga=vi(),Zn=At(ga),Aa=ha=>{var fr=vFA();Ch(CA(fr),{get validationError(){return c(gi)},get onExpand(){return _l}}),cA(ha,fr)};TA(Zn,ha=>{c(gi)&&ha(Aa)}),cA(pt,ga)};TA(PA,pt=>{G(Vi),c(n),EA(()=>{var gi;return!Vi((gi=c(n))===null||gi===void 0?void 0:gi.root)})&&pt(Fe)});var pe=bA(fA);Ea(pe,1,()=>c(ze),Ra,(pt,gi)=>{var ga=bFA();(function(Zn,Aa){St(Aa,!1);var ha=IA(void 0,!0),fr=IA(void 0,!0),AC=IA(void 0,!0),xg=N(Aa,"path",9),zl=N(Aa,"sortedColumn",9),$c=N(Aa,"readOnly",9),Ol=N(Aa,"onSort",9);RA(()=>(G(xg()),vg),()=>{R(ha,Vi(xg())?"values":vg(xg()))}),RA(()=>(G(zl()),G(xg())),()=>{var Na;R(fr,zl()&&Bi(xg(),(Na=zl())===null||Na===void 0?void 0:Na.path)?zl().sortDirection:void 0)}),RA(()=>(c(fr),CiA),()=>{R(AC,c(fr)?CiA[c(fr)]:void 0)}),kn(),Ai(!0);var os,mr=uFA(),Rg=CA(mr),eC=CA(Rg),Ng=bA(Rg,2),Rn=Na=>{var Fa=hFA(),Q1=CA(Fa),QB=tt(()=>(c(fr),G(Ll),G(v0),G(FS),EA(()=>c(fr)===Ll.asc?v0:FS)));Wi(Q1,{get data(){return c(QB)}}),ve(()=>Mn(Fa,"title","Currently sorted in ".concat(c(AC)," order"))),cA(Na,Fa)};TA(Ng,Na=>{c(fr)!==void 0&&Na(Rn)}),ve(Na=>{os=$t(mr,1,"jse-column-header svelte-5pxwfq",null,os,{"jse-readonly":$c()}),Mn(mr,"title",$c()?c(ha):c(ha)+" (Click to sort the data by this column)"),Rt(eC,Na)},[()=>(G(WC),c(ha),G(50),EA(()=>WC(c(ha),50)))]),ue("click",mr,function(){$c()||Ol()({path:xg(),sortDirection:c(fr)===Ll.asc?Ll.desc:Ll.asc})}),cA(Zn,mr),xt()})(CA(ga),{get path(){return c(gi)},get sortedColumn(){return c(Et)},get readOnly(){return I()},onSort:Ye}),cA(pt,ga)});var De=bA(pe),ot=pt=>{var gi=MFA(),ga=CA(gi),Zn=tt(()=>(c(uA),EA(()=>Array.isArray(c(uA))?c(uA).length:0)));(function(Aa,ha){St(ha,!1);var fr=N(ha,"count",9),AC=N(ha,"maxSampleCount",9),xg=N(ha,"readOnly",9),zl=N(ha,"onRefresh",9);Ai(!0);var $c,Ol=yFA();Wi(CA(Ol),{get data(){return qq}}),ve(()=>{$c=$t(Ol,1,"jse-column-header svelte-1wgrwv3",null,$c,{"jse-readonly":xg()}),Mn(Ol,"title","The Columns are created by sampling ".concat(AC()," items out of ").concat(fr(),". ")+"If you're missing a column, click here to sample all of the items instead of a subset. This is slower.")}),ue("click",Ol,()=>zl()()),cA(Aa,Ol),xt()})(ga,{get count(){return c(Zn)},get maxSampleCount(){return c(Je)},get readOnly(){return I()},onRefresh:()=>R(Je,1/0)}),cA(pt,gi)};TA(De,pt=>{c(A)&&pt(ot)});var jt,Mi,xn=bA(q),Pi=CA(xn),Eo=bA(xn);Ea(Eo,1,()=>(c(i),EA(()=>c(i).visibleItems)),Ra,(pt,gi,ga)=>{var Zn=tt(()=>(c(i),EA(()=>c(i).startIndex+ga))),Aa=tt(()=>(c(n),G(c(Zn)),EA(()=>c(n).rows[c(Zn)]))),ha=tt(()=>(G(VQ),G(c(Zn)),G(c(Aa)),EA(()=>{var os;return VQ([String(c(Zn))],(os=c(Aa))===null||os===void 0?void 0:os.row)}))),fr=tt(()=>(G(J0),c(uA),c(Me),G(c(Zn)),EA(()=>J0(c(uA),c(Me),[String(c(Zn))])))),AC=NFA(),xg=CA(AC);qnA(xg,()=>c(Zn),os=>{var mr=kFA(),Rg=CA(mr),eC=bA(Rg),Ng=Rn=>{Ch(Rn,{get validationError(){return c(ha)},get onExpand(){return _l}})};TA(eC,Rn=>{c(ha)&&Rn(Ng)}),bs(mr,(Rn,Na)=>Jy?.(Rn,Na),()=>Rn=>(function(Na,Fa){z[Fa]=Na.getBoundingClientRect().height})(Rn,c(Zn))),ve(()=>{var Rn;return Rt(Rg,"".concat((Rn=c(Zn))!==null&&Rn!==void 0?Rn:""," "))}),cA(os,mr)});var zl=bA(xg);Ea(zl,1,()=>c(ze),Ra,(os,mr,Rg,eC)=>{var Ng,Rn=tt(()=>(G(c(Zn)),c(mr),EA(()=>[String(c(Zn))].concat(c(mr))))),Na=tt(()=>(G(je),c(gi),c(mr),EA(()=>je(c(gi),c(mr))))),Fa=tt(()=>(G(In),c(_A),G(q0),G(c(Rn)),EA(()=>In(c(_A))&&q0(c(_A).path,c(Rn))))),Q1=tt(()=>(G(c(Aa)),EA(()=>{var _a;return(_a=c(Aa))===null||_a===void 0?void 0:_a.columns[Rg]}))),QB=tt(()=>(G(VQ),G(c(Rn)),G(c(Q1)),EA(()=>VQ(c(Rn),c(Q1))))),h1=xFA(),tu=CA(h1),hB=CA(tu),iu=_a=>{var tl=tt(()=>(G(gv),G(J0),c(gi),G(c(fr)),c(mr),EA(()=>gv(J0(c(gi),c(fr),c(mr)))))),nu=tt(()=>(G(c(tl)),EA(()=>!!c(tl)&&c(tl).some(f1=>f1.active)))),ou=tt(()=>(G(Vi),G(c(tl)),EA(()=>!Vi(c(tl)))));(function(f1,Lr){St(Lr,!1);var au=N(Lr,"path",9),WK=N(Lr,"value",9),ZK=N(Lr,"parser",9),lcA=N(Lr,"isSelected",9),ccA=N(Lr,"containsSearchResult",9),CcA=N(Lr,"containsActiveSearchResult",9),IcA=N(Lr,"onEdit",9);Ai(!0);var XK,jm=QFA(),dcA=CA(jm);ve(ru=>{XK=$t(jm,1,"jse-inline-value svelte-1jv89ui",null,XK,{"jse-selected":lcA(),"jse-highlight":ccA(),"jse-active":CcA()}),Rt(dcA,ru)},[()=>(G(WC),G(ZK()),G(WK()),G(50),EA(()=>{var ru;return WC((ru=ZK().stringify(WK()))!==null&&ru!==void 0?ru:"",50)}))]),ue("dblclick",jm,()=>IcA()(au())),cA(f1,jm),xt()})(_a,{get path(){return c(Rn)},get value(){return c(Na)},get parser(){return D()},get isSelected(){return c(Fa)},get containsSearchResult(){return c(ou)},get containsActiveSearchResult(){return c(nu)},onEdit:rt})},Rb=_a=>{var tl=tt(()=>(G(J0),c(uA),c(Me),G(c(Rn)),EA(()=>{var Lr;return(Lr=J0(c(uA),c(Me),c(Rn)))===null||Lr===void 0?void 0:Lr.searchResults}))),nu=tt(()=>c(Na)!==void 0?c(Na):""),ou=tt(()=>(G(z0),c(uA),c(xA),G(c(Rn)),EA(()=>z0(c(uA),c(xA),c(Rn))))),f1=tt(()=>c(Fa)?c(_A):void 0);qoA(_a,{get path(){return c(Rn)},get value(){return c(nu)},get enforceString(){return c(ou)},get selection(){return c(f1)},get searchResultItems(){return c(tl)},get context(){return c(Ge)}})};TA(hB,_a=>{G(aa),G(c(Na)),EA(()=>aa(c(Na)))?_a(iu):_a(Rb,!1)});var Nb=bA(hB),Fb=_a=>{var tl=SFA();TI(CA(tl),{selected:!0,onContextMenu:Mo}),cA(_a,tl)};TA(Nb,_a=>{G(I()),G(c(Fa)),G(rr),c(_A),EA(()=>!I()&&c(Fa)&&!rr(c(_A)))&&_a(Fb)});var A0=bA(tu,2),u1=_a=>{Ch(_a,{get validationError(){return c(QB)},get onExpand(){return _l}})};TA(A0,_a=>{c(QB)&&_a(u1)}),ve(_a=>{Mn(h1,"data-path",_a),Ng=$t(tu,1,"jse-value-outer svelte-1p86y3c",null,Ng,{"jse-selected-value":c(Fa)})},[()=>(G(jy),G(c(Rn)),EA(()=>jy(c(Rn))))]),cA(os,h1)});var $c=bA(zl),Ol=os=>{cA(os,RFA())};TA($c,os=>{c(A)&&os(Ol)}),cA(pt,AC)});var Wt,Xo=CA(bA(Eo));Ko(Ne,pt=>R(KA,pt),()=>c(KA)),bs(Ne,(pt,gi)=>Jy?.(pt,gi),()=>va),Nr(()=>ue("scroll",Ne,ct));var Wn=bA(Ne,2),$o=pt=>{var gi=tt(()=>(c(ZA),EA(()=>"You pasted a JSON ".concat(Array.isArray(c(ZA).contents)?"array":"object"," as text")))),ga=tt(()=>[{icon:MC,text:"Paste as JSON instead",title:"Paste the text as JSON instead of a single value",onMouseDown:Do},{text:"Leave as is",title:"Keep the pasted content as a single value",onClick:ya}]);el(pt,{type:"info",get message(){return c(gi)},get actions(){return c(ga)}})};TA(Wn,pt=>{c(ZA)&&pt($o)});var un=bA(Wn,2),Gt=pt=>{var gi=tt(()=>[{icon:MC,text:"Paste as string instead",title:"Paste the clipboard data as a single string value instead of an array",onClick:Qn},{text:"Leave as is",title:"Keep the pasted array",onClick:wi}]);el(pt,{type:"info",message:"Multiline text was pasted as array",get actions(){return c(gi)}})};TA(un,pt=>{c(MA)&&pt(Gt)});var $i=bA(un,2),Zt=pt=>{var gi=tt(()=>I()?[]:[{icon:Ww,text:"Ok",title:"Accept the repaired document",onClick:Bn},{icon:s3,text:"Repair manually instead",title:"Leave the document unchanged and repair it manually instead",onClick:Io}]);el(pt,{type:"success",message:"The loaded JSON document was invalid but is successfully repaired.",get actions(){return c(gi)},onClose:L})};TA($i,pt=>{c(et)&&pt(Zt)}),CG(bA($i,2),{get validationErrors(){return c(gn)},selectError:xe}),ve(()=>{jt=$t(xn,1,"jse-table-invisible-start-section svelte-1p86y3c",null,jt,{"jse-search-box-background":c(LA)}),Mn(Pi,"colspan",(c(ze),EA(()=>c(ze).length))),Mi=Ul(Pi,"",Mi,{height:(c(i),EA(()=>c(i).startHeight+"px"))}),Mn(Xo,"colspan",(c(ze),EA(()=>c(ze).length))),Wt=Ul(Xo,"",Wt,{height:(c(i),EA(()=>c(i).endHeight+"px"))})}),cA(Be,Te)},ne=Be=>{var Te=vi(),Se=At(Te),Ne=Un=>{var q=_FA(),fA=At(q),PA=tt(()=>I()?[]:[{icon:s3,text:"Repair manually",title:'Open the document in "code" mode and repair it manually',onClick:Io}]);el(fA,{type:"error",message:"The loaded JSON document is invalid and could not be repaired automatically.",get actions(){return c(PA)}}),aaA(bA(fA,2),{get text(){return c(XA)},get json(){return c(uA)},get indentation(){return J()},get parser(){return D()}}),cA(Un,q)},ni=Un=>{DFA(Un,{get text(){return c(XA)},get json(){return c(uA)},get readOnly(){return I()},get parser(){return D()},openJSONEditorModal:rt,extractPath:Pt,get onChangeMode(){return $()},onClick:()=>{L()}})};TA(Se,Un=>{c(QA)&&c(XA)!==void 0&&c(XA)!==""?Un(Ne):Un(ni,!1)},!0),cA(Be,Te)};TA(wA,Be=>{c(ut)?Be(Ae):Be(ne,!1)}),ue("paste",lA,me),cA(k,T)},Yo=k=>{cA(k,GFA())};TA(Mt,k=>{C?k(Yo,!1):k(sa)}),Ko(Oi,k=>R(mA,k),()=>c(mA));var u=bA(Oi,2),y=k=>{PoA(k,{onClose:()=>R(Y,!1)})};TA(u,k=>{c(Y)&&k(y)});var x=bA(u,2),H=k=>{joA(k,e1(()=>c(Ue),{onClose:()=>{var T;(T=c(Ue))===null||T===void 0||T.onClose(),R(Ue,void 0)}}))};return TA(x,k=>{c(Ue)&&k(H)}),ve(()=>Ni=$t(Oi,1,"jse-table-mode svelte-1p86y3c",null,Ni,{"no-main-menu":!f()})),ue("mousedown",Oi,function(k){if(k.buttons===1||k.buttons===2){var T=k.target;T.isContentEditable||L();var tA=doA(T);if(tA){if(rr(c(_A))&&Wf(c(uA),c(_A),tA))return;R(_A,Ui(tA)),k.preventDefault()}}}),ue("keydown",Oi,function(k){var T=r2(k);if(o("keydown",{combo:T,key:k.key}),T==="Ctrl+X"&&(k.preventDefault(),tr(!0)),T==="Ctrl+Shift+X"&&(k.preventDefault(),tr(!1)),T==="Ctrl+C"&&(k.preventDefault(),Pa(!0)),T==="Ctrl+Shift+C"&&(k.preventDefault(),Pa(!1)),T==="Ctrl+D"&&(k.preventDefault(),Sn()),T!=="Delete"&&T!=="Backspace"||(k.preventDefault(),Si()),T==="Insert"&&k.preventDefault(),T==="Ctrl+A"&&k.preventDefault(),T==="Ctrl+Q"&&Wo(k),T==="ArrowLeft"&&(k.preventDefault(),li(),c(_A))){var tA=(function(Te,Se){var{rowIndex:Ne,columnIndex:ni}=Fl(lt(Se),Te);return ni>0?Ui(Kd({rowIndex:Ne,columnIndex:ni-1},Te)):Se})(c(ze),c(_A));R(_A,tA),Uo(lt(tA))}if(T==="ArrowRight"&&(k.preventDefault(),li(),c(_A))){var lA=(function(Te,Se){var{rowIndex:Ne,columnIndex:ni}=Fl(lt(Se),Te);return ni0?Ui(Kd({rowIndex:Ne-1,columnIndex:ni},Te)):Se})(c(ze),c(_A));R(_A,wA),Uo(lt(wA))}if(T==="ArrowDown"&&(k.preventDefault(),li(),c(_A))){var Ae=(function(Te,Se,Ne){var{rowIndex:ni,columnIndex:Un}=Fl(lt(Ne),Se);return niR(UA,z)}).get()),mA=IA(s());function KA(z){if(hiA(z)){R(mA,z.undo.mode);var nA=c(UA).items(),rA=nA.findIndex(Ie=>Ie===z),NA=rA!==-1?nA[rA-1]:void 0;ee("handleUndo",{index:rA,item:z,items:nA,prevItem:NA}),NA&&i(NA.redo.selection),_()(c(mA))}}function Pe(z){if(hiA(z)){R(mA,z.redo.mode);var nA=c(UA).items(),rA=nA.findIndex(Ie=>Ie===z),NA=rA!==-1?nA[rA+1]:void 0;ee("handleRedo",{index:rA,item:z,items:nA,nextItem:NA}),NA&&i(NA.undo.selection),_()(c(mA))}}var Ue=IA(),HA={type:"separator"},uA=IA(),XA=IA();function QA(z){if(c(sA))return c(sA).patch(z);if(c(hA))return c(hA).patch(z);if(c(YA))return c(YA).patch(z);throw new Error('Method patch is not available in mode "'.concat(c(mA),'"'))}function ZA(z,nA){if(c(sA))return c(sA).expand(z,nA);if(c(YA))return c(YA).expand(z,nA);throw new Error('Method expand is not available in mode "'.concat(c(mA),'"'))}function MA(z,nA){if(c(sA))return c(sA).collapse(z,nA);if(c(YA))return c(YA).collapse(z,nA);throw new Error('Method collapse is not available in mode "'.concat(c(mA),'"'))}function Me(z){if(c(YA))c(YA).openTransformModal(z);else if(c(sA))c(sA).openTransformModal(z);else{if(!c(hA))throw new Error('Method transform is not available in mode "'.concat(c(mA),'"'));c(hA).openTransformModal(z)}}function LA(){if(c(YA))return c(YA).validate();if(c(sA))return c(sA).validate();if(c(hA))return c(hA).validate();throw new Error('Method validate is not available in mode "'.concat(c(mA),'"'))}function pA(){return c(sA)?c(sA).acceptAutoRepair():A()}function Ft(z){if(c(sA))return c(sA).scrollTo(z);if(c(hA))return c(hA).scrollTo(z);throw new Error('Method scrollTo is not available in mode "'.concat(c(mA),'"'))}function ht(z){if(c(sA))return c(sA).findElement(z);if(c(hA))return c(hA).findElement(z);throw new Error('Method findElement is not available in mode "'.concat(c(mA),'"'))}function Ee(){c(YA)?c(YA).focus():c(sA)?c(sA).focus():c(hA)&&c(hA).focus()}function Kt(){return Je.apply(this,arguments)}function Je(){return(Je=Yt(function*(){c(YA)&&(yield c(YA).refresh())})).apply(this,arguments)}RA(()=>G(s()),()=>{(function(z){if(z!==c(mA)){var nA={type:"mode",undo:{mode:c(mA),selection:void 0},redo:{mode:z,selection:void 0}};c(mA)==="text"&&c(YA)&&c(YA).flush(),ee("add history item",nA),c(UA).add(nA),R(mA,z)}})(s())}),RA(()=>(c(mA),G(_())),()=>{R(Ue,[{type:"button",text:"text",title:"Switch to text mode (current mode: ".concat(c(mA),")"),className:"jse-group-button jse-first"+(c(mA)===Da.text?" jse-selected":""),onClick:()=>_()(Da.text)},{type:"button",text:"tree",title:"Switch to tree mode (current mode: ".concat(c(mA),")"),className:"jse-group-button "+(c(mA)===Da.tree?" jse-selected":""),onClick:()=>_()(Da.tree)},{type:"button",text:"table",title:"Switch to table mode (current mode: ".concat(c(mA),")"),className:"jse-group-button jse-last"+(c(mA)===Da.table?" jse-selected":""),onClick:()=>_()(Da.table)}])}),RA(()=>(c(Ue),G($()),c(mA),G(D()),G(n())),()=>{R(uA,z=>{var nA=mL(z[0])?c(Ue).concat(z):c(Ue).concat(HA,z),rA=t3(nA);return $()(nA,{mode:c(mA),modal:D(),readOnly:n()})||rA})}),RA(()=>(G(O()),c(mA),G(D()),G(n()),G(i())),()=>{R(XA,z=>{var nA,rA=t3(z);return(nA=O()(z,{mode:c(mA),modal:D(),readOnly:n(),selection:i()}))!==null&&nA!==void 0?nA:!n()&&rA})}),kn();var ze={patch:QA,expand:ZA,collapse:MA,transform:Me,validate:LA,acceptAutoRepair:pA,scrollTo:Ft,findElement:ht,focus:Ee,refresh:Kt};Ai();var ut=vi(),ke=At(ut),ei=z=>{Ko(EFA(z,{get externalContent(){return A()},get externalSelection(){return i()},get history(){return c(UA)},get readOnly(){return n()},get indentation(){return o()},get tabSize(){return a()},get mainMenuBar(){return g()},get statusBar(){return C()},get askToFormat(){return I()},get escapeUnicodeCharacters(){return B()},get parser(){return Q()},get validator(){return b()},get validationParser(){return S()},get onChange(){return F()},get onChangeMode(){return _()},get onSelect(){return U()},onUndo:KA,onRedo:Pe,get onError(){return DA()},get onFocus(){return P()},get onBlur(){return aA()},get onRenderMenu(){return c(uA)},get onSortModal(){return iA()},get onTransformModal(){return BA()},$$legacy:!0}),nA=>R(YA,nA),()=>c(YA))},Y=z=>{var nA=vi(),rA=At(nA),NA=Qe=>{Ko(UFA(Qe,{get externalContent(){return A()},get externalSelection(){return i()},get history(){return c(UA)},get readOnly(){return n()},get truncateTextSize(){return r()},get mainMenuBar(){return g()},get escapeControlCharacters(){return d()},get escapeUnicodeCharacters(){return B()},get flattenColumns(){return E()},get parser(){return Q()},get parseMemoizeOne(){return f()},get validator(){return b()},get validationParser(){return S()},get indentation(){return o()},get onChange(){return F()},get onChangeMode(){return _()},get onSelect(){return U()},onUndo:KA,onRedo:Pe,get onRenderValue(){return J()},get onFocus(){return P()},get onBlur(){return aA()},get onRenderMenu(){return c(uA)},get onRenderContextMenu(){return c(XA)},get onSortModal(){return iA()},get onTransformModal(){return BA()},get onJSONEditorModal(){return oA()},$$legacy:!0}),xA=>R(hA,xA),()=>c(hA))},Ie=Qe=>{Ko(KL(Qe,{get externalContent(){return A()},get externalSelection(){return i()},get history(){return c(UA)},get readOnly(){return n()},get indentation(){return o()},get truncateTextSize(){return r()},get mainMenuBar(){return g()},get navigationBar(){return l()},get escapeControlCharacters(){return d()},get escapeUnicodeCharacters(){return B()},get parser(){return Q()},get parseMemoizeOne(){return f()},get validator(){return b()},get validationParser(){return S()},get pathParser(){return M()},get onError(){return DA()},get onChange(){return F()},get onChangeMode(){return _()},get onSelect(){return U()},onUndo:KA,onRedo:Pe,get onRenderValue(){return J()},get onClassName(){return j()},get onFocus(){return P()},get onBlur(){return aA()},get onRenderMenu(){return c(uA)},get onRenderContextMenu(){return c(XA)},get onSortModal(){return iA()},get onTransformModal(){return BA()},get onJSONEditorModal(){return oA()},$$legacy:!0}),xA=>R(sA,xA),()=>c(sA))};TA(rA,Qe=>{c(mA),G(Da),EA(()=>c(mA)===Da.table)?Qe(NA):Qe(Ie,!1)},!0),cA(z,nA)};return TA(ke,z=>{c(mA),G(Da),EA(()=>c(mA)===Da.text||String(c(mA))==="code")?z(ei):z(Y,!1)}),cA(t,ut),Ot(e,"patch",QA),Ot(e,"expand",ZA),Ot(e,"collapse",MA),Ot(e,"transform",Me),Ot(e,"validate",LA),Ot(e,"acceptAutoRepair",pA),Ot(e,"scrollTo",Ft),Ot(e,"findElement",ht),Ot(e,"focus",Ee),Ot(e,"refresh",Kt),xt(ze)}qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-modal-wrapper.svelte-t4zsk3 { + flex: 1; + display: flex; + min-width: 0; + min-height: 0; + flex-direction: column; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) { + flex: 1; + display: flex; + flex-direction: column; + padding: 20px; + overflow: auto; + min-width: 0; + min-height: 0; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) { + display: flex; + flex-direction: row; + justify-content: flex-end; + padding-top: var(--jse-padding, 10px); +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) button.jse-primary:where(.svelte-t4zsk3) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); + color: var(--jse-button-primary-color, #fff); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) button.jse-primary:where(.svelte-t4zsk3):hover { + background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) button.jse-primary:where(.svelte-t4zsk3):disabled { + background: var(--jse-button-primary-background-disabled, #9d9d9d); +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-label:where(.svelte-t4zsk3) { + font-weight: bold; + display: block; + box-sizing: border-box; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-label:where(.svelte-t4zsk3) .jse-label-inner:where(.svelte-t4zsk3) { + margin-top: calc(2 * var(--jse-padding, 10px)); + margin-bottom: calc(0.5 * var(--jse-padding, 10px)); + box-sizing: border-box; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-modal-inline-editor:where(.svelte-t4zsk3) { + flex: 1; + min-height: 150px; + min-width: 0; + max-width: 100%; + display: flex; + --jse-theme-color: var(--jse-modal-editor-theme-color, #707070); + --jse-theme-color-highlight: var(--jse-modal-editor-theme-color-highlight, #646464); +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) { + gap: var(--jse-padding, 10px); + align-items: center; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) .jse-error:where(.svelte-t4zsk3) { + flex: 1; + color: var(--jse-error-color, #ee5341); +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) button.jse-secondary:where(.svelte-t4zsk3) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-secondary-background, #d3d3d3); + color: var(--jse-button-secondary-color, var(--jse-text-color, #4d4d4d)); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) button.jse-secondary:where(.svelte-t4zsk3):hover { + background: var(--jse-button-secondary-background-highlight, #e1e1e1); +} +.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) button.jse-secondary:where(.svelte-t4zsk3):disabled { + background: var(--jse-button-secondary-background-disabled, #9d9d9d); +} +.jse-modal-wrapper.svelte-t4zsk3 input:where(.svelte-t4zsk3) { + border: var(--jse-input-border, 1px solid #d8dbdf); + outline: none; + box-sizing: border-box; + padding: calc(0.5 * var(--jse-padding, 10px)); + font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); + font-size: var(--jse-font-size-mono, 14px); + color: inherit; + background: var(--jse-input-background, var(--jse-background-color, #fff)); +} +.jse-modal-wrapper.svelte-t4zsk3 input:where(.svelte-t4zsk3):focus { + border: var(--jse-input-border-focus, 1px solid var(--jse-input-border-focus, var(--jse-theme-color, #3883fa))); +} +.jse-modal-wrapper.svelte-t4zsk3 input:where(.svelte-t4zsk3):read-only { + background: var(--jse-input-background-readonly, transparent); +}`);var JFA=FA('
      '),YFA=FA(''),TFA=FA(''),HFA=FA(''),zFA=FA('
      Path
      Contents
      ',1),OFA=FA('
      '),PFA={};qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-modal-contents.svelte-lwzlls { + flex: 1; + display: flex; + flex-direction: column; + padding: 20px; + overflow: auto; + min-width: 0; + min-height: 0; +} +.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) { + display: flex; + flex-direction: row; + justify-content: flex-end; + padding-top: var(--jse-padding, 10px); +} +.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) button.jse-primary:where(.svelte-lwzlls) { + border: none; + background: transparent; + color: inherit; + cursor: pointer; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + padding: 5px; + margin: 0; + background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); + color: var(--jse-button-primary-color, #fff); + padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); + border-radius: 3px; +} +.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) button.jse-primary:where(.svelte-lwzlls):hover { + background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); +} +.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) button.jse-primary:where(.svelte-lwzlls):disabled { + background: var(--jse-button-primary-background-disabled, #9d9d9d); +} +.jse-modal-contents.svelte-lwzlls table:where(.svelte-lwzlls) { + width: 100%; + border-collapse: collapse; + border-spacing: 0; +} +.jse-modal-contents.svelte-lwzlls table:where(.svelte-lwzlls) th:where(.svelte-lwzlls), +.jse-modal-contents.svelte-lwzlls table:where(.svelte-lwzlls) td:where(.svelte-lwzlls) { + text-align: left; + vertical-align: middle; + font-weight: normal; + padding-bottom: var(--jse-padding, 10px); +} +.jse-modal-contents.svelte-lwzlls input.jse-path:where(.svelte-lwzlls) { + width: 100%; + box-sizing: border-box; + padding: 5px 10px; + border: var(--jse-input-border, 1px solid #d8dbdf); + border-radius: var(--jse-input-radius, 3px); + font-family: inherit; + font-size: inherit; + background: inherit; + background: var(--jse-input-background-readonly, transparent); + color: inherit; + outline: none; +} +.jse-modal-contents.svelte-lwzlls .svelte-select input { + box-sizing: border-box; +} +.jse-modal-contents.svelte-lwzlls .jse-space:where(.svelte-lwzlls) { + height: 200px; +} +.jse-modal-contents.svelte-lwzlls .jse-space:where(.svelte-lwzlls) .jse-error:where(.svelte-lwzlls) { + color: var(--jse-error-color, #ee5341); +}`);var ZQ=pv(()=>PFA),jFA=FA('Property'),qFA=FA('
      '),VFA=FA('
      Path
      Direction
      ',1);qt(`/* over all fonts, sizes, and colors */ +/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ +/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ +/* main, menu, modal */ +/* jsoneditor modal */ +/* tooltip in text mode */ +/* panels: navigation bar, gutter, search box */ +/* navigation-bar */ +/* context menu */ +/* contents: json key and values */ +/* contents: selected or hovered */ +/* contents: section of collapsed items in an array */ +/* contents: highlighting of search matches */ +/* contents: inline tags inside the JSON document */ +/* contents: table */ +/* controls in modals: inputs, buttons, and \`a\` */ +/* messages */ +/* svelte-select */ +/* color picker */ +.jse-main.svelte-1l55585 { + width: 100%; + height: 100%; + min-width: 0; + min-height: 150px; + font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); + font-size: var(--jse-font-size, 16px); + line-height: normal; + position: relative; + display: flex; + flex-direction: row; +} +.jse-main.svelte-1l55585:not(.jse-focus) { + --jse-selection-background-color: var(--jse-selection-background-inactive-color, #e8e8e8); + --jse-context-menu-pointer-background: var(--jse-context-menu-pointer-hover-background, #b2b2b2); +}`);var WFA=FA('
      ',1);function ZFA(t,e){St(e,!1);var A=IA(void 0,!0),i=lr("jsoneditor:JSONEditor"),n={text:""},o=void 0,a=!1,r=Da.tree,s=!0,g=!0,l=!0,C=!0,I=!1,d=!1,B=!0,E=JSON,Q=void 0,f=JSON,b={parse:AxA,stringify:vg},S=[mSA],M=S[0].id,D=_l,F=void 0,_=void 0,U=$SA,J=_l,j=_l,$=_l,O=_l,DA=re=>{console.error(re),alert(re.toString())},P=_l,aA=_l,iA=N(e,"content",13,n),BA=N(e,"selection",13,o),oA=N(e,"readOnly",13,a),sA=N(e,"indentation",13,2),hA=N(e,"tabSize",13,4),YA=N(e,"truncateTextSize",13,1e3),ee=N(e,"mode",13,r),UA=N(e,"mainMenuBar",13,s),mA=N(e,"navigationBar",13,g),KA=N(e,"statusBar",13,l),Pe=N(e,"askToFormat",13,C),Ue=N(e,"escapeControlCharacters",13,I),HA=N(e,"escapeUnicodeCharacters",13,d),uA=N(e,"flattenColumns",13,B),XA=N(e,"parser",13,E),QA=N(e,"validator",13,Q),ZA=N(e,"validationParser",13,f),MA=N(e,"pathParser",13,b),Me=N(e,"queryLanguages",13,S),LA=N(e,"queryLanguageId",13,M),pA=N(e,"onChangeQueryLanguage",13,D),Ft=N(e,"onChange",13,F),ht=N(e,"onSelect",13,_),Ee=N(e,"onRenderValue",13,U),Kt=N(e,"onClassName",13,J),Je=N(e,"onRenderMenu",13,j),ze=N(e,"onRenderContextMenu",13,$),ut=N(e,"onChangeMode",13,O),ke=N(e,"onError",13,DA),ei=N(e,"onFocus",13,P),Y=N(e,"onBlur",13,aA),z=IA(th(),!0),nA=IA(!1,!0),rA=IA(void 0,!0),NA=IA(void 0,!0),Ie=IA(void 0,!0),Qe=IA(void 0,!0),xA=IA(XA(),!0);function _A(){return iA()}function Et(re){i("set");var di=H_(re);if(di)throw new Error(di);R(z,th()),iA(re),bo()}function et(re){i("update");var di=H_(re);if(di)throw new Error(di);iA(re),bo()}function Ye(re){var di=c(rA).patch(re);return bo(),di}function Ge(re){BA(re),bo()}function si(re,di){c(rA).expand(re,di),bo()}function gn(re){var di=arguments.length>1&&arguments[1]!==void 0&&arguments[1];c(rA).collapse(re,di),bo()}function dn(){var re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};c(rA).transform(re),bo()}function Le(){return c(rA).validate()}function Zi(){var re=c(rA).acceptAutoRepair();return bo(),re}function Qi(re){return bi.apply(this,arguments)}function bi(){return(bi=Yt(function*(re){yield c(rA).scrollTo(re)})).apply(this,arguments)}function zi(re){return c(rA).findElement(re)}function yt(){c(rA).focus(),bo()}function Xi(){return _t.apply(this,arguments)}function _t(){return(_t=Yt(function*(){yield c(rA).refresh()})).apply(this,arguments)}function L(re){var di,ln,Qn,Jo,ya,wi,Io,tr,yo,Pa,Gn,Si,Pt,Sn,Bo,ko,vA,VA,me,dA,SA,oe,xe,it,rt,bt,Kn,xi,Ji,Vt,Ri,va=Object.keys(re);for(var Lt of va)switch(Lt){case"content":iA((di=re[Lt])!==null&&di!==void 0?di:n);break;case"selection":BA((ln=re[Lt])!==null&&ln!==void 0?ln:o);break;case"readOnly":oA((Qn=re[Lt])!==null&&Qn!==void 0?Qn:a);break;case"indentation":sA((Jo=re[Lt])!==null&&Jo!==void 0?Jo:2);break;case"tabSize":hA((ya=re[Lt])!==null&&ya!==void 0?ya:4);break;case"truncateTextSize":YA((wi=re[Lt])!==null&&wi!==void 0?wi:1e3);break;case"mode":ee((Io=re[Lt])!==null&&Io!==void 0?Io:r);break;case"mainMenuBar":UA((tr=re[Lt])!==null&&tr!==void 0?tr:s);break;case"navigationBar":mA((yo=re[Lt])!==null&&yo!==void 0?yo:g);break;case"statusBar":KA((Pa=re[Lt])!==null&&Pa!==void 0?Pa:l);break;case"askToFormat":Pe((Gn=re[Lt])!==null&&Gn!==void 0?Gn:C);break;case"escapeControlCharacters":Ue((Si=re[Lt])!==null&&Si!==void 0?Si:I);break;case"escapeUnicodeCharacters":HA((Pt=re[Lt])!==null&&Pt!==void 0?Pt:d);break;case"flattenColumns":uA((Sn=re[Lt])!==null&&Sn!==void 0?Sn:B);break;case"parser":XA((Bo=re[Lt])!==null&&Bo!==void 0?Bo:E);break;case"validator":QA((ko=re[Lt])!==null&&ko!==void 0?ko:Q);break;case"validationParser":ZA((vA=re[Lt])!==null&&vA!==void 0?vA:f);break;case"pathParser":MA((VA=re[Lt])!==null&&VA!==void 0?VA:b);break;case"queryLanguages":Me((me=re[Lt])!==null&&me!==void 0?me:S);break;case"queryLanguageId":LA((dA=re[Lt])!==null&&dA!==void 0?dA:M);break;case"onChangeQueryLanguage":pA((SA=re[Lt])!==null&&SA!==void 0?SA:D);break;case"onChange":Ft((oe=re[Lt])!==null&&oe!==void 0?oe:F);break;case"onRenderValue":Ee((xe=re[Lt])!==null&&xe!==void 0?xe:U);break;case"onClassName":Kt((it=re[Lt])!==null&&it!==void 0?it:J);break;case"onRenderMenu":Je((rt=re[Lt])!==null&&rt!==void 0?rt:j);break;case"onRenderContextMenu":ze((bt=re[Lt])!==null&&bt!==void 0?bt:$);break;case"onChangeMode":ut((Kn=re[Lt])!==null&&Kn!==void 0?Kn:O);break;case"onSelect":ht((xi=re[Lt])!==null&&xi!==void 0?xi:_);break;case"onError":ke((Ji=re[Lt])!==null&&Ji!==void 0?Ji:DA);break;case"onFocus":ei((Vt=re[Lt])!==null&&Vt!==void 0?Vt:P);break;case"onBlur":Y((Ri=re[Lt])!==null&&Ri!==void 0?Ri:aA);break;default:st(Lt)}function st(Ni){i('Unknown property "'.concat(Ni,'"'))}Me().some(Ni=>Ni.id===LA())||LA(Me()[0].id),bo()}function ct(){return li.apply(this,arguments)}function li(){return(li=Yt(function*(){throw new Error("class method destroy() is deprecated. It is replaced with a method destroy() in the vanilla library.")})).apply(this,arguments)}function Bn(re,di,ln){iA(re),Ft()&&Ft()(re,di,ln)}function En(re){BA(re),ht()&&ht()(t3(re))}function qn(){R(nA,!0),ei()&&ei()()}function Uo(){R(nA,!1),Y()&&Y()()}function Co(re){return Mo.apply(this,arguments)}function Mo(){return(Mo=Yt(function*(re){ee()!==re&&(ee(re),bo(),yt(),ut()(re))})).apply(this,arguments)}function Wo(re){i("handleChangeQueryLanguage",re),LA(re),pA()(re)}function wo(re){var{id:di,json:ln,rootPath:Qn,onTransform:Jo,onClose:ya}=re;oA()||R(Qe,{id:di,json:ln,rootPath:Qn,indentation:sA(),truncateTextSize:YA(),escapeControlCharacters:Ue(),escapeUnicodeCharacters:HA(),parser:XA(),parseMemoizeOne:c(A),validationParser:ZA(),pathParser:MA(),queryLanguages:Me(),queryLanguageId:LA(),onChangeQueryLanguage:Wo,onRenderValue:Ee(),onRenderMenu:wi=>Je()(wi,{mode:ee(),modal:!0,readOnly:oA()}),onRenderContextMenu:wi=>ze()(wi,{mode:ee(),modal:!0,readOnly:oA(),selection:BA()}),onClassName:Kt(),onTransform:Jo,onClose:ya})}function Qa(re){oA()||R(Ie,re)}function Zo(re){var{content:di,path:ln,onPatch:Qn,onClose:Jo}=re;i("onJSONEditorModal",{content:di,path:ln}),R(NA,{content:di,path:ln,onPatch:Qn,readOnly:oA(),indentation:sA(),tabSize:hA(),truncateTextSize:YA(),mainMenuBar:UA(),navigationBar:mA(),statusBar:KA(),askToFormat:Pe(),escapeControlCharacters:Ue(),escapeUnicodeCharacters:HA(),flattenColumns:uA(),parser:XA(),validator:void 0,validationParser:ZA(),pathParser:MA(),onRenderValue:Ee(),onClassName:Kt(),onRenderMenu:Je(),onRenderContextMenu:ze(),onSortModal:Qa,onTransformModal:wo,onClose:Jo})}function ra(re){re.stopPropagation()}RA(()=>(G(XA()),c(xA),G(iA()),th),()=>{if(!aoA(XA(),c(xA))){if(i("parser changed, recreate editor"),Of(iA())){var re=c(xA).stringify(iA().json);iA({json:re!==void 0?XA().parse(re):void 0})}R(xA,XA()),R(z,th())}}),RA(()=>G(iA()),()=>{var re=H_(iA());re&&console.error("Error: "+re)}),RA(()=>G(BA()),()=>{BA()===null&&console.warn("selection is invalid: it is null but should be undefined")}),RA(()=>G(XA()),()=>{R(A,ZE(XA().parse))}),RA(()=>G(ee()),()=>{i("mode changed to",ee())}),kn();var Do={get:_A,set:Et,update:et,patch:Ye,select:Ge,expand:si,collapse:gn,transform:dn,validate:Le,acceptAutoRepair:Zi,scrollTo:Qi,findElement:zi,focus:yt,refresh:Xi,updateProps:L,destroy:ct};return Ai(!0),uL(t,{children:(re,di)=>{var ln,Qn=WFA(),Jo=At(Qn);qnA(CA(Jo),()=>c(z),Gn=>{Ko(WiA(Gn,{get externalMode(){return ee()},get content(){return iA()},get selection(){return BA()},get readOnly(){return oA()},get indentation(){return sA()},get tabSize(){return hA()},get truncateTextSize(){return YA()},get statusBar(){return KA()},get askToFormat(){return Pe()},get mainMenuBar(){return UA()},get navigationBar(){return mA()},get escapeControlCharacters(){return Ue()},get escapeUnicodeCharacters(){return HA()},get flattenColumns(){return uA()},get parser(){return XA()},get parseMemoizeOne(){return c(A)},get validator(){return QA()},get validationParser(){return ZA()},get pathParser(){return MA()},insideModal:!1,get onError(){return ke()},onChange:Bn,onChangeMode:Co,onSelect:En,get onRenderValue(){return Ee()},get onClassName(){return Kt()},onFocus:qn,onBlur:Uo,get onRenderMenu(){return Je()},get onRenderContextMenu(){return ze()},onSortModal:Qa,onTransformModal:wo,onJSONEditorModal:Zo,$$legacy:!0}),Si=>R(rA,Si),()=>c(rA))});var ya=bA(Jo,2),wi=Gn=>{(function(Si,Pt){var Sn,Bo;St(Pt,!1);var ko=IA(void 0,!0),vA=IA(void 0,!0),VA=IA(void 0,!0),me=IA(void 0,!0),dA=lr("jsoneditor:SortModal"),SA=N(Pt,"id",9),oe=N(Pt,"json",9),xe=N(Pt,"rootPath",9),it=N(Pt,"onSort",9),rt=N(Pt,"onClose",9),bt={value:1,label:"ascending"},Kn=[bt,{value:-1,label:"descending"}],xi="".concat(SA(),":").concat(wt(xe())),Ji=IA((Sn=ZQ()[xi])===null||Sn===void 0?void 0:Sn.selectedProperty,!0),Vt=IA(((Bo=ZQ()[xi])===null||Bo===void 0?void 0:Bo.selectedDirection)||bt,!0),Ri=IA(void 0,!0);function va(){try{var st,Ni,Oi;R(Ri,void 0);var Vn=((st=c(Ji))===null||st===void 0?void 0:st.value)||((Ni=c(me))===null||Ni===void 0||(Ni=Ni[0])===null||Ni===void 0?void 0:Ni.value)||[],hn=(Oi=c(Vt))===null||Oi===void 0?void 0:Oi.value,Mt=ZoA(oe(),xe(),Vn,hn);it()!==void 0&&xe()!==void 0&&it()({operations:Mt,rootPath:xe(),itemPath:Vn,direction:hn}),rt()()}catch(sa){R(Ri,String(sa))}}function Lt(st){st.focus()}RA(()=>(G(oe()),G(xe())),()=>{R(ko,je(oe(),xe()))}),RA(()=>c(ko),()=>{R(vA,Array.isArray(c(ko)))}),RA(()=>(c(vA),c(ko)),()=>{R(VA,c(vA)?QL(c(ko)):void 0)}),RA(()=>(c(VA),PI),()=>{R(me,c(VA)?c(VA).map(PI):void 0)}),RA(()=>(ZQ(),c(Ji),c(Vt)),()=>{ZQ(ZQ()[xi]={selectedProperty:c(Ji),selectedDirection:c(Vt)}),dA("store state in memory",xi,ZQ()[xi])}),kn(),Ai(!0),$f(Si,{get onClose(){return rt()},className:"jse-sort-modal",children:(st,Ni)=>{var Oi=VFA(),Vn=At(Oi),hn=tt(()=>c(vA)?"Sort array items":"Sort object keys");Bv(Vn,{get title(){return c(hn)},get onClose(){return rt()}});var Mt=CA(bA(Vn,2)),sa=bA(CA(Mt)),Yo=CA(sa),u=bA(CA(Yo)),y=CA(u),x=bA(Yo),H=ne=>{var Be=jFA(),Te=bA(CA(Be));Td(CA(Te),{showChevron:!0,get items(){return c(me)},get value(){return c(Ji)},set value(Se){R(Ji,Se)},$$legacy:!0}),cA(ne,Be)};TA(x,ne=>{c(vA),c(me),EA(()=>{var Be;return c(vA)&&c(me)&&((Be=c(me))===null||Be===void 0?void 0:Be.length)>1})&&ne(H)});var k=bA(x),T=bA(CA(k));Td(CA(T),{showChevron:!0,clearable:!1,get items(){return Kn},get value(){return c(Vt)},set value(ne){R(Vt,ne)},$$legacy:!0});var tA=bA(Mt,2),lA=CA(tA),wA=ne=>{var Be=qFA(),Te=CA(Be);ve(()=>Rt(Te,c(Ri))),cA(ne,Be)};TA(lA,ne=>{c(Ri)&&ne(wA)});var Ae=CA(bA(tA,2));Nr(()=>ue("click",Ae,va)),bs(Ae,ne=>Lt?.(ne)),ve(ne=>{AB(y,ne),Ae.disabled=(c(vA),c(me),c(Ji),EA(()=>{var Be;return!!(c(vA)&&c(me)&&((Be=c(me))===null||Be===void 0?void 0:Be.length)>1)&&!c(Ji)}))},[()=>(G(xe()),G(Vi),G(vg),EA(()=>xe()&&!Vi(xe())?vg(xe()):"(document root)"))]),cA(st,Oi)},$$slots:{default:!0}}),xt()})(Gn,e1(()=>c(Ie),{onClose:()=>{var Si;(Si=c(Ie))===null||Si===void 0||Si.onClose(),R(Ie,void 0)}}))};TA(ya,Gn=>{c(Ie)&&Gn(wi)});var Io=bA(ya,2),tr=Gn=>{AFA(Gn,e1(()=>c(Qe),{onClose:()=>{var Si;(Si=c(Qe))===null||Si===void 0||Si.onClose(),R(Qe,void 0)}}))};TA(Io,Gn=>{c(Qe)&&Gn(tr)});var yo=bA(Io,2),Pa=Gn=>{(function(Si,Pt){St(Pt,!1);var Sn=IA(void 0,!0),Bo=IA(void 0,!0),ko=IA(void 0,!0),vA=IA(void 0,!0),VA=lr("jsoneditor:JSONEditorModal"),me=N(Pt,"content",9),dA=N(Pt,"path",9),SA=N(Pt,"onPatch",9),oe=N(Pt,"readOnly",9),xe=N(Pt,"indentation",9),it=N(Pt,"tabSize",9),rt=N(Pt,"truncateTextSize",9),bt=N(Pt,"mainMenuBar",9),Kn=N(Pt,"navigationBar",9),xi=N(Pt,"statusBar",9),Ji=N(Pt,"askToFormat",9),Vt=N(Pt,"escapeControlCharacters",9),Ri=N(Pt,"escapeUnicodeCharacters",9),va=N(Pt,"flattenColumns",9),Lt=N(Pt,"parser",9),st=N(Pt,"validator",9),Ni=N(Pt,"validationParser",9),Oi=N(Pt,"pathParser",9),Vn=N(Pt,"onRenderValue",9),hn=N(Pt,"onClassName",9),Mt=N(Pt,"onRenderMenu",9),sa=N(Pt,"onRenderContextMenu",9),Yo=N(Pt,"onSortModal",9),u=N(Pt,"onTransformModal",9),y=N(Pt,"onClose",9),x=IA(void 0,!0),H=IA(void 0,!0),k={mode:lA(me()),content:me(),selection:void 0,relativePath:dA()},T=IA([k],!0),tA=IA(void 0,!0);function lA(fA){return Of(fA)&&jo(fA.json)?Da.table:Da.tree}function wA(){var fA,PA=(fA=mi(c(T)))===null||fA===void 0?void 0:fA.selection;Vf(PA)&&c(x).scrollTo(lt(PA))}function Ae(){if(VA("handleApply"),!oe())try{R(tA,void 0);var fA=c(Sn).relativePath,PA=c(Sn).content,Fe=[{op:"replace",path:wt(fA),value:riA(PA,Lt()).json}];if(c(T).length>1){var pe=riA(c(T)[c(T).length-2].content,Lt()).json,De={json:lg(pe,Fe)},ot=ye(ye({},c(T)[c(T).length-2]||k),{},{content:De});R(T,[...c(T).slice(0,c(T).length-2),ot]),bo(),wA()}else SA()(Fe),y()()}catch(jt){R(tA,String(jt))}}function ne(){if(VA("handleClose"),c(H))R(H,!1);else if(c(T).length>1){var fA;R(T,Ki(c(T))),bo(),(fA=c(x))===null||fA===void 0||fA.focus(),wA(),R(tA,void 0)}else y()()}function Be(fA){VA("handleChange",fA),Ne(PA=>ye(ye({},PA),{},{content:fA}))}function Te(fA){VA("handleChangeSelection",fA),Ne(PA=>ye(ye({},PA),{},{selection:fA}))}function Se(fA){VA("handleChangeMode",fA),Ne(PA=>ye(ye({},PA),{},{mode:fA}))}function Ne(fA){var PA=fA(mi(c(T)));R(T,[...Ki(c(T)),PA])}function ni(fA){R(tA,fA.toString()),console.error(fA)}function Un(fA){var PA,{content:Fe,path:pe}=fA;VA("handleJSONEditorModal",{content:Fe,path:pe});var De={mode:lA(Fe),content:Fe,selection:void 0,relativePath:pe};R(T,[...c(T),De]),bo(),(PA=c(x))===null||PA===void 0||PA.focus()}function q(fA){fA.focus()}is(()=>{var fA;(fA=c(x))===null||fA===void 0||fA.focus()}),RA(()=>c(T),()=>{R(Sn,mi(c(T))||k)}),RA(()=>c(T),()=>{R(Bo,c(T).flatMap(fA=>fA.relativePath))}),RA(()=>(c(Bo),vg),()=>{R(ko,Vi(c(Bo))?"(document root)":vg(c(Bo)))}),RA(()=>G(Lt()),()=>{R(vA,ZE(Lt().parse))}),kn(),Ai(!0),$f(Si,{onClose:ne,className:"jse-jsoneditor-modal",get fullscreen(){return c(H)},children:(fA,PA)=>{var Fe=OFA();uL(CA(Fe),{children:(pe,De)=>{var ot=zFA(),jt=At(ot),Mi=tt(()=>(c(T),EA(()=>c(T).length>1?" (".concat(c(T).length,")"):"")));Bv(jt,{get title(){var Zt;return"Edit nested content ".concat((Zt=c(Mi))!==null&&Zt!==void 0?Zt:"")},fullScreenButton:!0,onClose:ne,get fullscreen(){return c(H)},set fullscreen(Zt){R(H,Zt)},$$legacy:!0});var xn=bA(jt,2),Pi=bA(CA(xn),2),Eo=bA(Pi,4);Ko(WiA(CA(Eo),{get externalMode(){return c(Sn),EA(()=>c(Sn).mode)},get content(){return c(Sn),EA(()=>c(Sn).content)},get selection(){return c(Sn),EA(()=>c(Sn).selection)},get readOnly(){return oe()},get indentation(){return xe()},get tabSize(){return it()},get truncateTextSize(){return rt()},get statusBar(){return xi()},get askToFormat(){return Ji()},get mainMenuBar(){return bt()},get navigationBar(){return Kn()},get escapeControlCharacters(){return Vt()},get escapeUnicodeCharacters(){return Ri()},get flattenColumns(){return va()},get parser(){return Lt()},get parseMemoizeOne(){return c(vA)},get validator(){return st()},get validationParser(){return Ni()},get pathParser(){return Oi()},insideModal:!0,onError:ni,onChange:Be,onChangeMode:Se,onSelect:Te,get onRenderValue(){return Vn()},get onClassName(){return hn()},get onFocus(){return _l},get onBlur(){return _l},get onRenderMenu(){return Mt()},get onRenderContextMenu(){return sa()},get onSortModal(){return Yo()},get onTransformModal(){return u()},onJSONEditorModal:Un,$$legacy:!0}),Zt=>R(x,Zt),()=>c(x));var Wt=CA(bA(Eo,2)),Xo=Zt=>{var pt=JFA(),gi=CA(pt);ve(()=>Rt(gi,c(tA))),cA(Zt,pt)};TA(Wt,Zt=>{c(tA)&&Zt(Xo)});var Wn=bA(Wt,2),$o=Zt=>{var pt=YFA();Wi(CA(pt),{get data(){return Xq}}),ue("click",pt,ne),cA(Zt,pt)};TA(Wn,Zt=>{c(T),EA(()=>c(T).length>1)&&Zt($o)});var un=bA(Wn,2),Gt=Zt=>{var pt=TFA();Nr(()=>ue("click",pt,Ae)),bs(pt,gi=>q?.(gi)),cA(Zt,pt)},$i=Zt=>{var pt=HFA();ue("click",pt,ne),cA(Zt,pt)};TA(un,Zt=>{oe()?Zt($i,!1):Zt(Gt)}),ve(()=>AB(Pi,c(ko))),cA(pe,ot)},$$slots:{default:!0}}),cA(fA,Fe)},$$slots:{default:!0}}),xt()})(Gn,e1(()=>c(NA),{onClose:()=>{var Si;(Si=c(NA))===null||Si===void 0||Si.onClose(),R(NA,void 0)}}))};TA(yo,Gn=>{c(NA)&&Gn(Pa)}),ve(()=>ln=$t(Jo,1,"jse-main svelte-1l55585",null,ln,{"jse-focus":c(nA)})),ue("keydown",Jo,ra),cA(re,Qn)},$$slots:{default:!0}}),Ot(e,"get",_A),Ot(e,"set",Et),Ot(e,"update",et),Ot(e,"patch",Ye),Ot(e,"select",Ge),Ot(e,"expand",si),Ot(e,"collapse",gn),Ot(e,"transform",dn),Ot(e,"validate",Le),Ot(e,"acceptAutoRepair",Zi),Ot(e,"scrollTo",Qi),Ot(e,"findElement",zi),Ot(e,"focus",yt),Ot(e,"refresh",Xi),Ot(e,"updateProps",L),Ot(e,"destroy",ct),xt(Do)}function laA(t){var{target:e,props:A}=t,i=UkA(ZFA,{target:e,props:A});return i.destroy=Yt(function*(){return(function(n,o){var a=dL.get(n);return a?(dL.delete(n),a(o)):Promise.resolve()})(i)}),bo(),i}var jc=class t{constructor(e){this.el=e}jsonString;editor=null;ngAfterViewInit(){let e={text:this.jsonString};setTimeout(()=>{this.editor=laA({target:document.getElementById("json-editor"),props:{content:e,mode:Da.text,mainMenuBar:!1,statusBar:!1}})})}getJsonString(){return this.editor?.get().text}static \u0275fac=function(A){return new(A||t)(Ct(ge))};static \u0275cmp=kA({type:t,selectors:[["app-json-editor"]],inputs:{jsonString:"jsonString"},decls:1,vars:0,consts:[["id","json-editor",1,"json-editor-container","jse-theme-dark"]],template:function(A,i){A&1&&Li(0,"div",0)},styles:[".jse-theme-dark[_ngcontent-%COMP%]{--jse-theme: dark;--jse-theme-color: #2f6dd0;--jse-theme-color-highlight: #467cd2;--jse-background-color: #1e1e1e;--jse-text-color: #d4d4d4;--jse-text-color-inverse: #4d4d4d;--jse-main-border: 1px solid #4f4f4f;--jse-menu-color: #fff;--jse-modal-background: #2f2f2f;--jse-modal-overlay-background: rgba(0, 0, 0, .5);--jse-modal-code-background: #2f2f2f;--jse-tooltip-color: var(--jse-text-color);--jse-tooltip-background: #4b4b4b;--jse-tooltip-border: 1px solid #737373;--jse-tooltip-action-button-color: inherit;--jse-tooltip-action-button-background: #737373;--jse-panel-background: #333333;--jse-panel-background-border: 1px solid #464646;--jse-panel-color: var(--jse-text-color);--jse-panel-color-readonly: #737373;--jse-panel-border: 1px solid #3c3c3c;--jse-panel-button-color-highlight: #e5e5e5;--jse-panel-button-background-highlight: #464646;--jse-navigation-bar-background: #656565;--jse-navigation-bar-background-highlight: #7e7e7e;--jse-navigation-bar-dropdown-color: var(--jse-text-color);--jse-context-menu-background: #4b4b4b;--jse-context-menu-background-highlight: #595959;--jse-context-menu-separator-color: #595959;--jse-context-menu-color: var(--jse-text-color);--jse-context-menu-pointer-background: #737373;--jse-context-menu-pointer-background-highlight: #818181;--jse-context-menu-pointer-color: var(--jse-context-menu-color);--jse-key-color: #9cdcfe;--jse-value-color: var(--jse-text-color);--jse-value-color-number: #b5cea8;--jse-value-color-boolean: #569cd6;--jse-value-color-null: #569cd6;--jse-value-color-string: #ce9178;--jse-value-color-url: #ce9178;--jse-delimiter-color: #949494;--jse-edit-outline: 2px solid var(--jse-text-color);--jse-selection-background-color: #464646;--jse-selection-background-inactive-color: #333333;--jse-hover-background-color: #343434;--jse-active-line-background-color: rgba(255, 255, 255, .06);--jse-search-match-background-color: #343434;--jse-collapsed-items-background-color: #333333;--jse-collapsed-items-selected-background-color: #565656;--jse-collapsed-items-link-color: #b2b2b2;--jse-collapsed-items-link-color-highlight: #ec8477;--jse-search-match-color: #724c27;--jse-search-match-outline: 1px solid #966535;--jse-search-match-active-color: #9f6c39;--jse-search-match-active-outline: 1px solid #bb7f43;--jse-tag-background: #444444;--jse-tag-color: #bdbdbd;--jse-table-header-background: #333333;--jse-table-header-background-highlight: #424242;--jse-table-row-odd-background: rgba(255, 255, 255, .1);--jse-input-background: #3d3d3d;--jse-input-border: var(--jse-main-border);--jse-button-background: #808080;--jse-button-background-highlight: #7a7a7a;--jse-button-color: #e0e0e0;--jse-button-secondary-background: #494949;--jse-button-secondary-background-highlight: #5d5d5d;--jse-button-secondary-background-disabled: #9d9d9d;--jse-button-secondary-color: var(--jse-text-color);--jse-a-color: #55abff;--jse-a-color-highlight: #4387c9;--jse-svelte-select-background: #3d3d3d;--jse-svelte-select-border: 1px solid #4f4f4f;--list-background: #3d3d3d;--item-hover-bg: #505050;--multi-item-bg: #5b5b5b;--input-color: #d4d4d4;--multi-clear-bg: #8a8a8a;--multi-item-clear-icon-color: #d4d4d4;--multi-item-outline: 1px solid #696969;--list-shadow: 0 2px 8px 0 rgba(0, 0, 0, .4);--jse-color-picker-background: #656565;--jse-color-picker-border-box-shadow: #8c8c8c 0 0 0 1px}.json-editor-container[_ngcontent-%COMP%]{height:100%} .jse-message.jse-error{display:none} .cm-gutters.cm-gutters-before{display:none} .jse-text-mode{border-radius:10px} .jse-contents{border-radius:10px;border-bottom:1px solid #4f4f4f}"]})};var XFA=(t,e)=>e.name;function $FA(t,e){if(t&1&&K(0),t&2){let A=v();_e(" Configure ",A.selectedBuiltInTool," ")}}function A_A(t,e){if(t&1&&K(0),t&2){let A=v();_e(" ",A.isEditMode?"Edit Built-in Tool":"Add Built-in Tool"," ")}}function e_A(t,e){if(t&1){let A=JA();m(0,"div",8),eA("click",function(){let n=Z(A).$implicit,o=v(3);return X(o.onToolSelected(n))}),m(1,"mat-icon",9),K(2),w(),m(3,"span",10),K(4),w()()}if(t&2){let A=e.$implicit,i=v(3);ae("selected",i.selectedBuiltInTool===A),p(2),qA(i.getToolIcon(A)),p(2),qA(A)}}function t_A(t,e){if(t&1&&(m(0,"div",4)(1,"h3",5),K(2),w(),m(3,"div",6),Ut(4,e_A,5,4,"div",7,_i),w()()),t&2){let A=e.$implicit;p(2),qA(A.name),p(2),Jt(A.tools)}}function i_A(t,e){if(t&1&&(m(0,"div",1),Ut(1,t_A,6,1,"div",4,XFA),w()),t&2){let A=v();p(),Jt(A.toolCategories)}}function n_A(t,e){if(t&1&&(m(0,"div",2)(1,"h3",11),K(2,"Configure Tool Arguments"),w(),GA(3,"app-json-editor",12),w()),t&2){let A=v();p(3),AA("jsonString",A.toolArgsString)}}function o_A(t,e){if(t&1){let A=JA();m(0,"button",14),eA("click",function(){Z(A);let n=v(2);return X(n.backToToolSelection())}),K(1,"Back"),w()}}function a_A(t,e){if(t&1){let A=JA();V(0,o_A,2,0,"button",13),m(1,"button",14),eA("click",function(){Z(A);let n=v();return X(n.saveArgs())}),K(2),w()}if(t&2){let A=v();W(A.isEditMode?-1:0),p(2),qA(A.isEditMode?"Save":"Create")}}function r_A(t,e){if(t&1){let A=JA();m(0,"button",14),eA("click",function(){Z(A);let n=v();return X(n.cancel())}),K(1,"Cancel"),w(),m(2,"button",15),eA("click",function(){Z(A);let n=v();return X(n.addTool())}),K(3),w()}if(t&2){let A=v();p(3),_e(" ",A.isEditMode?"Save":"Create"," ")}}var aB=class t{constructor(e,A){this.data=e;this.dialogRef=A}jsonEditorComponent;selectedBuiltInTool="google_search";toolCategories=[{name:"Search Tools",tools:["google_search","EnterpriseWebSearchTool","VertexAiSearchTool"]},{name:"Context Tools",tools:["FilesRetrieval","load_memory","preload_memory","url_context","VertexAiRagRetrieval"]},{name:"Agent Function Tools",tools:["exit_loop","get_user_choice","load_artifacts","LongRunningFunctionTool"]}];builtInToolArgs=new Map([["EnterpriseWebSearchTool",[]],["exit_loop",[]],["FilesRetrieval",["name","description","input_dir"]],["get_user_choice",[]],["google_search",[]],["load_artifacts",[]],["load_memory",[]],["LongRunningFunctionTool",["func"]],["preload_memory",[]],["url_context",[]],["VertexAiRagRetrieval",["name","description","rag_corpora","rag_resources","similarity_top_k","vector_distance_threshold"]],["VertexAiSearchTool",["data_store_id","data_store_specs","search_engine_id","filter","max_results"]]]);isEditMode=!1;showArgsEditor=!1;toolArgs={};toolArgsString="";ngOnInit(){if(this.isEditMode=this.data.isEditMode||!1,this.isEditMode&&this.data.toolName){this.selectedBuiltInTool=this.data.toolName;let e=this.builtInToolArgs.get(this.data.toolName);if(e&&e.length>0){if(this.data.toolArgs)this.toolArgs=gA({},this.data.toolArgs),delete this.toolArgs.skip_summarization;else{this.toolArgs={};for(let A of e)this.toolArgs[A]=""}this.toolArgsString=JSON.stringify(this.toolArgs,null,2),this.showArgsEditor=!0}}}onToolSelected(e){this.selectedBuiltInTool=e;let A=this.builtInToolArgs.get(e);A&&A.length>0&&(this.initializeToolArgs(e,A),this.showArgsEditor=!0)}initializeToolArgs(e,A){this.toolArgs={};for(let i of A)this.toolArgs[i]="";this.toolArgsString=JSON.stringify(this.toolArgs,null,2)}backToToolSelection(){this.showArgsEditor=!1,this.toolArgs={},this.toolArgsString=""}saveArgs(){if(this.jsonEditorComponent)try{this.toolArgsString=this.jsonEditorComponent.getJsonString(),this.toolArgs=JSON.parse(this.toolArgsString)}catch(e){alert("Invalid JSON: "+e);return}this.addTool()}addTool(){let e={toolType:"Built-in tool",name:this.selectedBuiltInTool,isEditMode:this.isEditMode};Object.keys(this.toolArgs).length>0&&(e.args=this.toolArgs),this.dialogRef.close(e)}cancel(){this.dialogRef.close()}getToolIcon(e){return ME(e,"Built-in tool")}static \u0275fac=function(A){return new(A||t)(Ct(ka),Ct(Po))};static \u0275cmp=kA({type:t,selectors:[["app-built-in-tool-dialog"]],viewQuery:function(A,i){if(A&1&&ai(jc,5),A&2){let n;ce(n=Ce())&&(i.jsonEditorComponent=n.first)}},decls:9,vars:3,consts:[["mat-dialog-title","",1,"dialog-title"],[1,"tool-categories-container"],[1,"args-editor-container"],["align","end"],[1,"tool-category"],[1,"category-title"],[1,"tool-list"],[1,"tool-item",3,"selected"],[1,"tool-item",3,"click"],[1,"tool-icon"],[1,"tool-name"],[1,"args-editor-title"],[3,"jsonString"],["mat-button",""],["mat-button","",3,"click"],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"h2",0),V(1,$FA,1,1)(2,A_A,1,1),w(),m(3,"mat-dialog-content"),V(4,i_A,3,0,"div",1)(5,n_A,4,1,"div",2),w(),m(6,"mat-dialog-actions",3),V(7,a_A,3,2)(8,r_A,4,1),w()),A&2&&(p(),W(i.showArgsEditor?1:2),p(3),W(i.showArgsEditor?5:4),p(3),W(i.showArgsEditor?7:8))},dependencies:[fa,Nn,Ua,yr,fn,or,Fn,jc],styles:[".dialog-title[_ngcontent-%COMP%]{color:var(--mdc-dialog-subhead-color)!important;font-family:Google Sans;font-size:24px}.tool-categories-container[_ngcontent-%COMP%]{padding:16px 0}.tool-category[_ngcontent-%COMP%]{margin-bottom:24px}.tool-category[_ngcontent-%COMP%]:last-child{margin-bottom:0}.category-title[_ngcontent-%COMP%]{font-family:Google Sans;font-size:16px;font-weight:500;color:var(--mdc-dialog-supporting-text-color);margin:0 0 12px;padding-left:8px}.tool-list[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tool-item[_ngcontent-%COMP%]{display:flex;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:var(--builder-tool-item-background-color);border:1px solid var(--builder-tool-item-border-color);min-width:0}.tool-item[_ngcontent-%COMP%]:hover{background-color:var(--builder-tool-item-hover-background-color)}.tool-item.selected[_ngcontent-%COMP%]{background-color:#8ab4f833;border:1px solid #8ab4f8}.tool-item[_ngcontent-%COMP%] .tool-icon[_ngcontent-%COMP%]{color:#8ab4f8;margin-right:12px;font-size:20px;width:20px;height:20px;flex-shrink:0}.tool-item[_ngcontent-%COMP%] .tool-name[_ngcontent-%COMP%]{font-family:Google Sans;font-size:14px;color:var(--mdc-dialog-supporting-text-color)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.args-editor-container[_ngcontent-%COMP%]{padding:16px 0}.args-editor-title[_ngcontent-%COMP%]{font-family:Google Sans;font-size:16px;font-weight:500;color:var(--mdc-dialog-supporting-text-color);margin:0 0 16px}"]})};function s_A(t,e){if(t&1){let A=JA();qs(0),m(1,"div",6)(2,"div",7),eA("click",function(){Z(A);let n=v();return X(n.toggleToolInfo())}),m(3,"mat-icon",8),K(4,"info"),w(),m(5,"div",9)(6,"span"),K(7,"Tool Information"),w()(),m(8,"button",10)(9,"mat-icon"),K(10),w()()(),m(11,"div",11)(12,"div",12)(13,"div",13),K(14),w(),m(15,"div",14),K(16),w()(),m(17,"div",15)(18,"a",16)(19,"mat-icon"),K(20,"open_in_new"),w(),m(21,"span"),K(22,"View Official Documentation"),w()()()()(),Vs()}if(t&2){let A,i,n,o=v();p(10),qA(o.isToolInfoExpanded?"expand_less":"expand_more"),p(),ae("expanded",o.isToolInfoExpanded),p(3),qA((A=o.getToolInfo())==null?null:A.shortDescription),p(2),qA((i=o.getToolInfo())==null?null:i.detailedDescription),p(2),AA("href",(n=o.getToolInfo())==null?null:n.docLink,Ga)}}function g_A(t,e){t&1&&(m(0,"mat-hint",19),K(1," Start with a letter or underscore, and contain only letters, digits, and underscores. "),w())}function l_A(t,e){if(t&1){let A=JA();m(0,"mat-form-field",2)(1,"mat-label"),K(2),w(),m(3,"input",17),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.inputValue,n)||(o.inputValue=n),X(n)}),eA("keydown",function(n){Z(A);let o=v();return X(o.onKeyDown(n))}),w(),vt(4,g_A,2,0,"mat-hint",18),w()}if(t&2){let A=v();p(2),qA(A.data.inputLabel||"Input"),p(),Qo("ngModel",A.inputValue),AA("placeholder",A.data.inputPlaceholder||"Enter value"),p(),AA("ngIf",!A.isInputValid())}}var qc=class t{constructor(e,A){this.dialogRef=e;this.data=A;this.inputValue=A.inputValue||""}inputValue="";isToolInfoExpanded=!1;isInputValid(){let e=this.inputValue.trim();return!(!e||!/^[a-zA-Z_]/.test(e)||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e))}onCancel(){this.dialogRef.close()}onConfirm(){if(this.data.showInput){let e=this.inputValue.trim();if(!this.isInputValid())return;this.dialogRef.close(e)}else this.dialogRef.close("confirm")}onKeyDown(e){e.key==="Enter"&&this.data.showInput&&this.onConfirm()}getToolInfo(){if(this.data.toolType)return uc.getToolDetailedInfo(this.data.toolType)}toggleToolInfo(){this.isToolInfoExpanded=!this.isToolInfoExpanded}static \u0275fac=function(A){return new(A||t)(Ct(Po),Ct(ka))};static \u0275cmp=kA({type:t,selectors:[["app-confirmation-dialog"]],decls:12,vars:6,consts:[["mat-dialog-title",""],[4,"ngIf"],[2,"width","100%","margin-top","16px"],["align","end"],["mat-button","",3,"click"],["mat-button","","color","primary","cdkFocusInitial","",3,"click","disabled"],[1,"tool-info-container"],[1,"tool-info-header",3,"click"],[1,"tool-info-icon"],[1,"tool-info-title"],["mat-icon-button","","type","button","aria-label","Toggle tool information",1,"tool-info-toggle"],[1,"tool-info-body"],[1,"tool-info-content"],[1,"tool-info-short"],[1,"tool-info-detailed"],[1,"tool-info-link-container"],["target","_blank","rel","noopener noreferrer",1,"tool-info-link",3,"href"],["matInput","","cdkFocusInitial","",3,"ngModelChange","keydown","ngModel","placeholder"],["style","font-size: 11px; color: #666;",4,"ngIf"],[2,"font-size","11px","color","#666"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1),w(),m(2,"mat-dialog-content"),vt(3,s_A,23,6,"ng-container",1),m(4,"p"),K(5),w(),V(6,l_A,5,4,"mat-form-field",2),w(),m(7,"mat-dialog-actions",3)(8,"button",4),eA("click",function(){return i.onCancel()}),K(9,"Cancel"),w(),m(10,"button",5),eA("click",function(){return i.onConfirm()}),K(11),w()()),A&2&&(p(),qA(i.data.title),p(2),AA("ngIf",i.data.showToolInfo&&i.getToolInfo()),p(2),qA(i.data.message),p(),W(i.data.showInput?6:-1),p(4),AA("disabled",i.data.showInput&&!i.isInputValid()),p(),_e(" ",i.data.confirmButtonText||"Confirm"," "))},dependencies:[fa,o0,Fs,Fn,Ma,fn,Ua,yr,or,Yr,ta,Zl,R1,rl,Ka,Nn,uo,fo,ba],styles:["mat-dialog-content[_ngcontent-%COMP%]{padding:20px 24px;display:flex;flex-direction:column;gap:16px;color:var(--mdc-dialog-supporting-text-color)}mat-dialog-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)}[_nghost-%COMP%] .mat-mdc-form-field{--mat-form-field-filled-container-color: var(--builder-form-field-background-color);--mat-form-field-filled-label-text-color: var(--mdc-dialog-supporting-text-color);--mat-form-field-filled-focus-label-text-color: var(--builder-text-link-color);--mat-form-field-filled-hover-label-text-color: var(--mdc-dialog-supporting-text-color)}[_nghost-%COMP%] .mat-mdc-input-element{color:var(--mdc-dialog-supporting-text-color)!important;caret-color:var(--mdc-dialog-supporting-text-color)!important}[_nghost-%COMP%] .mat-mdc-input-element::placeholder{color:var(--builder-text-muted-color)!important;opacity:0!important}[_nghost-%COMP%] .mat-mdc-input-element:focus::placeholder{opacity:.6!important}[_nghost-%COMP%] .mat-mdc-form-field-hint{color:var(--builder-text-muted-color)!important}.tool-info-container[_ngcontent-%COMP%]{background-color:#8ab4f814;border:1px solid rgba(138,180,248,.2);border-radius:8px;padding:16px;margin-bottom:16px}.tool-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.tool-info-header[_ngcontent-%COMP%]:hover .tool-info-title[_ngcontent-%COMP%]{color:#a7c8ff}.tool-info-icon[_ngcontent-%COMP%]{color:#8ab4f8;font-size:20px;width:20px;height:20px;flex-shrink:0}.tool-info-title[_ngcontent-%COMP%]{flex:1;font-weight:500;color:#8ab4f8;font-size:14px;transition:color .2s ease}.tool-info-toggle[_ngcontent-%COMP%]{color:#8ab4f8;margin:-8px}.tool-info-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease}.tool-info-body[_ngcontent-%COMP%]{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.tool-info-body.expanded[_ngcontent-%COMP%]{max-height:500px;opacity:1;margin-top:12px}.tool-info-content[_ngcontent-%COMP%]{flex:1}.tool-info-short[_ngcontent-%COMP%]{font-weight:500;color:var(--mdc-dialog-supporting-text-color)!important;margin-bottom:8px;line-height:1.4}.tool-info-detailed[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;font-size:14px;line-height:1.5}.tool-info-link-container[_ngcontent-%COMP%]{margin-top:12px}.tool-info-link[_ngcontent-%COMP%]{color:#8ab4f8;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.tool-info-link[_ngcontent-%COMP%]:hover{color:#a7c8ff}.tool-info-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}"]})};var c_A=["mat-menu-item",""],C_A=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],I_A=["mat-icon, [matMenuItemIcon]","*"];function d_A(t,e){t&1&&(Qt(),m(0,"svg",2),GA(1,"polygon",3),w())}var B_A=["*"];function E_A(t,e){if(t&1){let A=JA();ci(0,"div",0),f2("click",function(){Z(A);let n=v();return X(n.closed.emit("click"))})("animationstart",function(n){Z(A);let o=v();return X(o._onAnimationStart(n.animationName))})("animationend",function(n){Z(A);let o=v();return X(o._onAnimationDone(n.animationName))})("animationcancel",function(n){Z(A);let o=v();return X(o._onAnimationDone(n.animationName))}),ci(1,"div",1),He(2),fi()()}if(t&2){let A=v();zo(A._classList),ae("mat-menu-panel-animations-disabled",A._animationsDisabled)("mat-menu-panel-exit-animation",A._panelAnimationState==="void")("mat-menu-panel-animating",A._isAnimating()),vo("id",A.panelId),ie("aria-label",A.ariaLabel||null)("aria-labelledby",A.ariaLabelledby||null)("aria-describedby",A.ariaDescribedby||null)}}var EG=new yA("MAT_MENU_PANEL"),l2=(()=>{class t{_elementRef=h(ge);_document=h(Xt);_focusMonitor=h(nr);_parentMenu=h(EG,{optional:!0});_changeDetectorRef=h(mt);role="menuitem";disabled=!1;disableRipple=!1;_hovered=new $A;_focused=new $A;_highlighted=!1;_triggersSubmenu=!1;constructor(){h(Xn).load(Ir),this._parentMenu?.addItem?.(this)}focus(A,i){this._focusMonitor&&A?this._focusMonitor.focusVia(this._getHostElement(),A,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(A){this.disabled&&(A.preventDefault(),A.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let A=this._elementRef.nativeElement.cloneNode(!0),i=A.querySelectorAll("mat-icon, .material-icons");for(let n=0;n({overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"})}),BG="_mat-menu-enter",xv="_mat-menu-exit",X0=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(mt);_injector=h(ft);_keyManager;_xPosition;_yPosition;_firstItemFocusRef;_exitFallbackTimeout;_animationsDisabled=qi();_allItems;_directDescendantItems=new nl;_classList={};_panelAnimationState="void";_animationDone=new $A;_isAnimating=jA(!1);parentMenu;direction;overlayPanelClass;backdropClass;ariaLabel;ariaLabelledby;ariaDescribedby;get xPosition(){return this._xPosition}set xPosition(A){this._xPosition=A,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(A){this._yPosition=A,this.setPositionClasses()}templateRef;items;lazyContent;overlapTrigger=!1;hasBackdrop;set panelClass(A){let i=this._previousPanelClass,n=gA({},this._classList);i&&i.length&&i.split(" ").forEach(o=>{n[o]=!1}),this._previousPanelClass=A,A&&A.length&&(A.split(" ").forEach(o=>{n[o]=!0}),this._elementRef.nativeElement.className=""),this._classList=n}_previousPanelClass;get classList(){return this.panelClass}set classList(A){this.panelClass=A}closed=new WA;close=this.closed;panelId=h(an).getId("mat-menu-panel-");constructor(){let A=h(h_A);this.overlayPanelClass=A.overlayPanelClass||"",this._xPosition=A.xPosition,this._yPosition=A.yPosition,this.backdropClass=A.backdropClass,this.overlapTrigger=A.overlapTrigger,this.hasBackdrop=A.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new s0(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(cn(this._directDescendantItems),ki(A=>hi(...A.map(i=>i._focused)))).subscribe(A=>this._keyManager.updateActiveItem(A)),this._directDescendantItems.changes.subscribe(A=>{let i=this._keyManager;if(this._panelAnimationState==="enter"&&i.activeItem?._hasFocus()){let n=A.toArray(),o=Math.max(0,Math.min(n.length-1,i.activeItemIndex||0));n[o]&&!n[o].disabled?i.setActiveItem(o):i.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy(),clearTimeout(this._exitFallbackTimeout)}_hovered(){return this._directDescendantItems.changes.pipe(cn(this._directDescendantItems),ki(i=>hi(...i.map(n=>n._hovered))))}addItem(A){}removeItem(A){}_handleKeydown(A){let i=A.keyCode,n=this._keyManager;switch(i){case 27:ma(A)||(A.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(i===38||i===40)&&n.setFocusOrigin("keyboard"),n.onKeydown(A);return}}focusFirstItem(A="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=Yn(()=>{let i=this._resolvePanel();if(!i||!i.contains(document.activeElement)){let n=this._keyManager;n.setFocusOrigin(A).setFirstItemActive(),!n.activeItem&&i&&i.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(A){}setPositionClasses(A=this.xPosition,i=this.yPosition){this._classList=be(gA({},this._classList),{"mat-menu-before":A==="before","mat-menu-after":A==="after","mat-menu-above":i==="above","mat-menu-below":i==="below"}),this._changeDetectorRef.markForCheck()}_onAnimationDone(A){let i=A===xv;(i||A===BG)&&(i&&(clearTimeout(this._exitFallbackTimeout),this._exitFallbackTimeout=void 0),this._animationDone.next(i?"void":"enter"),this._isAnimating.set(!1))}_onAnimationStart(A){(A===BG||A===xv)&&this._isAnimating.set(!0)}_setIsOpen(A){if(this._panelAnimationState=A?"enter":"void",A){if(this._keyManager.activeItemIndex===0){let i=this._resolvePanel();i&&(i.scrollTop=0)}}else this._animationsDisabled||(this._exitFallbackTimeout=setTimeout(()=>this._onAnimationDone(xv),200));this._animationsDisabled&&setTimeout(()=>{this._onAnimationDone(A?BG:xv)}),this._changeDetectorRef.markForCheck()}_updateDirectDescendants(){this._allItems.changes.pipe(cn(this._allItems)).subscribe(A=>{this._directDescendantItems.reset(A.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}_resolvePanel(){let A=null;return this._directDescendantItems.length&&(A=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),A}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-menu"]],contentQueries:function(i,n,o){if(i&1&&ua(o,Q_A,5)(o,l2,5)(o,l2,4),i&2){let a;ce(a=Ce())&&(n.lazyContent=a.first),ce(a=Ce())&&(n._allItems=a),ce(a=Ce())&&(n.items=a)}},viewQuery:function(i,n){if(i&1&&ai(Tn,5),i&2){let o;ce(o=Ce())&&(n.templateRef=o.first)}},hostVars:3,hostBindings:function(i,n){i&2&&ie("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",he],hasBackdrop:[2,"hasBackdrop","hasBackdrop",A=>A==null?null:he(A)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],features:[It([{provide:EG,useExisting:t}])],ngContentSelectors:B_A,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel",3,"click","animationstart","animationend","animationcancel","id"],[1,"mat-mdc-menu-content"]],template:function(i,n){i&1&&(Ht(),rp(0,E_A,3,12,"ng-template"))},styles:[`mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none} +`],encapsulation:2,changeDetection:0})}return t})(),u_A=new yA("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>dC(t)}});var Fh=new WeakMap,f_A=(()=>{class t{_canHaveBackdrop;_element=h(ge);_viewContainerRef=h(Ho);_menuItemInstance=h(l2,{optional:!0,self:!0});_dir=h(xo,{optional:!0});_focusMonitor=h(nr);_ngZone=h(Oe);_injector=h(ft);_scrollStrategy=h(u_A);_changeDetectorRef=h(mt);_animationsDisabled=qi();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=Jn.EMPTY;_menuCloseSubscription=Jn.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(A){A!==this._menuInternal&&(this._menuInternal=A,this._menuCloseSubscription.unsubscribe(),A&&(this._parentMaterialMenu,this._menuCloseSubscription=A.close.subscribe(i=>{this._destroyMenu(i),(i==="click"||i==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(A){this._canHaveBackdrop=A;let i=h(EG,{optional:!0});this._parentMaterialMenu=i instanceof X0?i:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&Fh.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(A){if(this._triggerIsAriaDisabled())return;let i=this._menu;if(this._menuOpen||!i)return;this._pendingRemoval?.unsubscribe();let n=Fh.get(i);Fh.set(i,this),n&&n!==this&&n._closeMenu();let o=this._createOverlay(i),a=o.getConfig(),r=a.positionStrategy;this._setPosition(i,r),this._canHaveBackdrop?a.hasBackdrop=i.hasBackdrop==null?!this._triggersSubmenu():i.hasBackdrop:a.hasBackdrop=!1,o.hasAttached()||(o.attach(this._getPortal(i)),i.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),i.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,i.direction=this.dir,A&&i.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),i instanceof X0&&(i._setIsOpen(!0),i._directDescendantItems.changes.pipe(Bt(i.close)).subscribe(()=>{r.withLockedPosition(!1).reapplyLastPosition(),r.withLockedPosition(!0)}))}focus(A,i){this._focusMonitor&&A?this._focusMonitor.focusVia(this._element,A,i):this._element.nativeElement.focus(i)}_destroyMenu(A){let i=this._overlayRef,n=this._menu;!i||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),n instanceof X0&&this._ownsMenu(n)?(this._pendingRemoval=n._animationDone.pipe(oo(1)).subscribe(()=>{i.detach(),Fh.has(n)||n.lazyContent?.detach()}),n._setIsOpen(!1)):(i.detach(),n?.lazyContent?.detach()),n&&this._ownsMenu(n)&&Fh.delete(n),this.restoreFocus&&(A==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(A){A!==this._menuOpen&&(this._menuOpen=A,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(A),this._changeDetectorRef.markForCheck())}_createOverlay(A){if(!this._overlayRef){let i=this._getOverlayConfig(A);this._subscribeToPositions(A,i.positionStrategy),this._overlayRef=gc(this._injector,i),this._overlayRef.keydownEvents().subscribe(n=>{this._menu instanceof X0&&this._menu._handleKeydown(n)})}return this._overlayRef}_getOverlayConfig(A){return new rc({positionStrategy:q1(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:A.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:A.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(A,i){A.setPositionClasses&&i.positionChanges.subscribe(n=>{this._ngZone.run(()=>{let o=n.connectionPair.overlayX==="start"?"after":"before",a=n.connectionPair.overlayY==="top"?"below":"above";A.setPositionClasses(o,a)})})}_setPosition(A,i){let[n,o]=A.xPosition==="before"?["end","start"]:["start","end"],[a,r]=A.yPosition==="above"?["bottom","top"]:["top","bottom"],[s,g]=[a,r],[l,C]=[n,o],I=0;if(this._triggersSubmenu()){if(C=n=A.xPosition==="before"?"start":"end",o=l=n==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let d=this._parentMaterialMenu.items.first;this._parentInnerPadding=d?d._getHostElement().offsetTop:0}I=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else A.overlapTrigger||(s=a==="top"?"bottom":"top",g=r==="top"?"bottom":"top");i.withPositions([{originX:n,originY:s,overlayX:l,overlayY:a,offsetY:I},{originX:o,originY:s,overlayX:C,overlayY:a,offsetY:I},{originX:n,originY:g,overlayX:l,overlayY:r,offsetY:-I},{originX:o,originY:g,overlayX:C,overlayY:r,offsetY:-I}])}_menuClosingActions(){let A=this._getOutsideClickStream(this._overlayRef),i=this._overlayRef.detachments(),n=this._parentMaterialMenu?this._parentMaterialMenu.closed:se(),o=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(Ze(a=>this._menuOpen&&a!==this._menuItemInstance)):se();return hi(A,n,o,i)}_getPortal(A){return(!this._portal||this._portal.templateRef!==A.templateRef)&&(this._portal=new Is(A.templateRef,this._viewContainerRef)),this._portal}_ownsMenu(A){return Fh.get(A)===this}_triggerIsAriaDisabled(){return he(this._element.nativeElement.getAttribute("aria-disabled"))}static \u0275fac=function(i){np()};static \u0275dir=OA({type:t})}return t})(),_h=(()=>{class t extends f_A{_cleanupTouchstart;_hoverSubscription=Jn.EMPTY;get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(A){this.menu=A}get menu(){return this._menu}set menu(A){this._menu=A}menuData;restoreFocus=!0;menuOpened=new WA;onMenuOpen=this.menuOpened;menuClosed=new WA;onMenuClose=this.menuClosed;constructor(){super(!0);let A=h(Fi);this._cleanupTouchstart=A.listen(this._element.nativeElement,"touchstart",i=>{M1(i)||(this._openedBy="touch")},{passive:!0})}triggersSubmenu(){return super._triggersSubmenu()}toggleMenu(){return this.menuOpen?this.closeMenu():this.openMenu()}openMenu(){this._openMenu(!0)}closeMenu(){this._closeMenu()}updatePosition(){this._overlayRef?.updatePosition()}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTouchstart(),this._hoverSubscription.unsubscribe()}_getOverlayOrigin(){return this._element}_getOutsideClickStream(A){return A.backdropClick()}_handleMousedown(A){b1(A)||(this._openedBy=A.button===0?"mouse":void 0,this.triggersSubmenu()&&A.preventDefault())}_handleKeydown(A){let i=A.keyCode;(i===13||i===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(i===39&&this.dir==="ltr"||i===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(A){this.triggersSubmenu()?(A.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&this._parentMaterialMenu&&(this._hoverSubscription=this._parentMaterialMenu._hovered().subscribe(A=>{A===this._menuItemInstance&&!A.disabled&&this._parentMaterialMenu?._panelAnimationState!=="void"&&(this._openedBy="mouse",this._openMenu(!1))}))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(i,n){i&1&&eA("click",function(a){return n._handleClick(a)})("mousedown",function(a){return n._handleMousedown(a)})("keydown",function(a){return n._handleKeydown(a)}),i&2&&ie("aria-haspopup",n.menu?"menu":null)("aria-expanded",n.menuOpen)("aria-controls",n.menuOpen?n.menu==null?null:n.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],features:[dt]})}return t})();var caA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[S2,ll,Gi,C0]})}return t})();var daA=["*",[["mat-chip-avatar"],["","matChipAvatar",""]],[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],BaA=["*","mat-chip-avatar, [matChipAvatar]","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function p_A(t,e){t&1&&(m(0,"span",3),He(1,1),w())}function w_A(t,e){t&1&&(m(0,"span",6),He(1,2),w())}function D_A(t,e){t&1&&(m(0,"span",3),He(1,1),m(2,"span",7),Qt(),m(3,"svg",8),GA(4,"path",9),w()()())}function y_A(t,e){t&1&&(m(0,"span",6),He(1,2),w())}var v_A=`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:focus::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:hover::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus-visible .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}img.mdc-evolution-chip__icon{min-height:0} +`;var EaA=["*"],b_A=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0} +`,fG=new yA("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),QG=new yA("MatChipAvatar"),CaA=new yA("MatChipTrailingIcon"),IaA=new yA("MatChipEdit"),hG=new yA("MatChipRemove"),mG=new yA("MatChip"),QaA=(()=>{class t{_elementRef=h(ge);_parentChip=h(mG);_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(A){this._disabled=A}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}constructor(){h(Xn).load(Ir),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matChipContent",""]],hostAttrs:[1,"mat-mdc-chip-action","mdc-evolution-chip__action","mdc-evolution-chip__action--presentational"],hostVars:8,hostBindings:function(i,n){i&2&&(ie("disabled",n._getDisabledAttribute())("aria-disabled",n.disabled),ae("mdc-evolution-chip__action--primary",n._isPrimary)("mdc-evolution-chip__action--secondary",!n._isPrimary)("mdc-evolution-chip__action--trailing",!n._isPrimary&&!n._isLeading))},inputs:{disabled:[2,"disabled","disabled",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?-1:en(A)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return t})(),pG=(()=>{class t extends QaA{_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled?null:this.tabIndex.toString()}_handleClick(A){!this.disabled&&this._isPrimary&&(A.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(A){(A.keyCode===13||A.keyCode===32)&&!this.disabled&&this._isPrimary&&!this._parentChip._isEditing&&(A.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matChipAction",""]],hostVars:3,hostBindings:function(i,n){i&1&&eA("click",function(a){return n._handleClick(a)})("keydown",function(a){return n._handleKeydown(a)}),i&2&&(ie("tabindex",n._getTabindex()),ae("mdc-evolution-chip__action--presentational",!1))},features:[dt]})}return t})(),haA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-chip-avatar"],["","matChipAvatar",""]],hostAttrs:["role","img",1,"mat-mdc-chip-avatar","mdc-evolution-chip__icon","mdc-evolution-chip__icon--primary"],features:[It([{provide:QG,useExisting:t}])]})}return t})();var uaA=(()=>{class t extends pG{_isPrimary=!1;_handleClick(A){this.disabled||(A.stopPropagation(),A.preventDefault(),this._parentChip.remove())}_handleKeydown(A){(A.keyCode===13||A.keyCode===32)&&!this.disabled&&(A.stopPropagation(),A.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(i,n){i&2&&ie("aria-hidden",null)},features:[It([{provide:hG,useExisting:t}]),dt]})}return t})(),Im=(()=>{class t{_changeDetectorRef=h(mt);_elementRef=h(ge);_tagName=h(bU);_ngZone=h(Oe);_focusMonitor=h(nr);_globalRippleOptions=h(k2,{optional:!0});_document=h(Xt);_onFocus=new $A;_onBlur=new $A;_isBasicChip=!1;role=null;_hasFocusInternal=!1;_pendingFocus=!1;_actionChanges;_animationsDisabled=qi();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=h(an).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(A){this._value=A}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(A){this._disabled=A}_disabled=!1;removed=new WA;destroyed=new WA;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=h(Up);_injector=h(ft);constructor(){let A=h(Xn);A.load(Ir),A.load(b2),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=hi(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),this.destroyed.complete()}remove(){this.removable&&(this._hadFocusOnRemove=this._hasFocus(),this.removed.emit({chip:this}))}_isRippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||this._isBasicChip||!this._hasInteractiveActions()||!!this._globalRippleOptions?.disabled}_hasTrailingIcon(){return!!(this.trailingIcon||this.removeIcon)}_handleKeydown(A){(A.keyCode===8&&!A.repeat||A.keyCode===46)&&(A.preventDefault(),this.remove())}focus(){this.disabled||(this.primaryAction?this.primaryAction.focus():this._pendingFocus=!0)}_getSourceAction(A){return this._getActions().find(i=>{let n=i._elementRef.nativeElement;return n===A||n.contains(A)})}_getActions(){let A=[];return this.editIcon&&A.push(this.editIcon),this.primaryAction&&A.push(this.primaryAction),this.removeIcon&&A.push(this.removeIcon),A}_handlePrimaryActionInteraction(){}_hasInteractiveActions(){return this._getActions().length>0}_edit(A){}_monitorFocus(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(A=>{let i=A!==null;i!==this._hasFocusInternal&&(this._hasFocusInternal=i,i?this._onFocus.next({chip:this}):(this._changeDetectorRef.markForCheck(),setTimeout(()=>this._ngZone.run(()=>this._onBlur.next({chip:this})))))})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(i,n,o){if(i&1&&ua(o,QG,5)(o,IaA,5)(o,CaA,5)(o,hG,5)(o,QG,5)(o,CaA,5)(o,IaA,5)(o,hG,5),i&2){let a;ce(a=Ce())&&(n.leadingIcon=a.first),ce(a=Ce())&&(n.editIcon=a.first),ce(a=Ce())&&(n.trailingIcon=a.first),ce(a=Ce())&&(n.removeIcon=a.first),ce(a=Ce())&&(n._allLeadingIcons=a),ce(a=Ce())&&(n._allTrailingIcons=a),ce(a=Ce())&&(n._allEditIcons=a),ce(a=Ce())&&(n._allRemoveIcons=a)}},viewQuery:function(i,n){if(i&1&&ai(pG,5),i&2){let o;ce(o=Ce())&&(n.primaryAction=o.first)}},hostAttrs:[1,"mat-mdc-chip"],hostVars:31,hostBindings:function(i,n){i&1&&eA("keydown",function(a){return n._handleKeydown(a)}),i&2&&(vo("id",n.id),ie("role",n.role)("aria-label",n.ariaLabel),zo("mat-"+(n.color||"primary")),ae("mdc-evolution-chip",!n._isBasicChip)("mdc-evolution-chip--disabled",n.disabled)("mdc-evolution-chip--with-trailing-action",n._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",n.leadingIcon)("mdc-evolution-chip--with-primary-icon",n.leadingIcon)("mdc-evolution-chip--with-avatar",n.leadingIcon)("mat-mdc-chip-with-avatar",n.leadingIcon)("mat-mdc-chip-highlighted",n.highlighted)("mat-mdc-chip-disabled",n.disabled)("mat-mdc-basic-chip",n._isBasicChip)("mat-mdc-standard-chip",!n._isBasicChip)("mat-mdc-chip-with-trailing-icon",n._hasTrailingIcon())("_mat-animation-noopable",n._animationsDisabled))},inputs:{role:"role",id:"id",ariaLabel:[0,"aria-label","ariaLabel"],ariaDescription:[0,"aria-description","ariaDescription"],value:"value",color:"color",removable:[2,"removable","removable",he],highlighted:[2,"highlighted","highlighted",he],disableRipple:[2,"disableRipple","disableRipple",he],disabled:[2,"disabled","disabled",he]},outputs:{removed:"removed",destroyed:"destroyed"},exportAs:["matChip"],features:[It([{provide:mG,useExisting:t}])],ngContentSelectors:BaA,decls:8,vars:2,consts:[[1,"mat-mdc-chip-focus-overlay"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary"],["matChipContent",""],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],[1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"]],template:function(i,n){i&1&&(Ht(daA),GA(0,"span",0),m(1,"span",1)(2,"span",2),V(3,p_A,2,0,"span",3),m(4,"span",4),He(5),GA(6,"span",5),w()()(),V(7,w_A,2,0,"span",6)),i&2&&(p(3),W(n.leadingIcon?3:-1),p(4),W(n._hasTrailingIcon()?7:-1))},dependencies:[QaA],styles:[`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:focus::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:hover::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus-visible .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}img.mdc-evolution-chip__icon{min-height:0} +`],encapsulation:2,changeDetection:0})}return t})();var wG=(()=>{class t extends Im{_defaultOptions=h(fG,{optional:!0});chipListSelectable=!0;_chipListMultiple=!1;_chipListHideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get selectable(){return this._selectable&&this.chipListSelectable}set selectable(A){this._selectable=A,this._changeDetectorRef.markForCheck()}_selectable=!0;get selected(){return this._selected}set selected(A){this._setSelectedState(A,!1,!0)}_selected=!1;get ariaSelected(){return this.selectable?this.selected.toString():null}basicChipAttrName="mat-basic-chip-option";selectionChange=new WA;ngOnInit(){super.ngOnInit(),this.role="presentation"}select(){this._setSelectedState(!0,!1,!0)}deselect(){this._setSelectedState(!1,!1,!0)}selectViaInteraction(){this._setSelectedState(!0,!0,!0)}toggleSelected(A=!1){return this._setSelectedState(!this.selected,A,!0),this.selected}_handlePrimaryActionInteraction(){this.disabled||(this.focus(),this.selectable&&this.toggleSelected(!0))}_hasLeadingGraphic(){return this.leadingIcon?!0:!this._chipListHideSingleSelectionIndicator||this._chipListMultiple}_setSelectedState(A,i,n){A!==this.selected&&(this._selected=A,n&&this.selectionChange.emit({source:this,isUserInput:i,selected:this.selected}),this._changeDetectorRef.markForCheck())}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-basic-chip-option"],["","mat-basic-chip-option",""],["mat-chip-option"],["","mat-chip-option",""]],hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-option"],hostVars:37,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("tabindex",null)("aria-label",null)("aria-description",null)("role",n.role),ae("mdc-evolution-chip",!n._isBasicChip)("mdc-evolution-chip--filter",!n._isBasicChip)("mdc-evolution-chip--selectable",!n._isBasicChip)("mat-mdc-chip-selected",n.selected)("mat-mdc-chip-multiple",n._chipListMultiple)("mat-mdc-chip-disabled",n.disabled)("mat-mdc-chip-with-avatar",n.leadingIcon)("mdc-evolution-chip--disabled",n.disabled)("mdc-evolution-chip--selected",n.selected)("mdc-evolution-chip--selecting",!n._animationsDisabled)("mdc-evolution-chip--with-trailing-action",n._hasTrailingIcon())("mdc-evolution-chip--with-primary-icon",n.leadingIcon)("mdc-evolution-chip--with-primary-graphic",n._hasLeadingGraphic())("mdc-evolution-chip--with-avatar",n.leadingIcon)("mat-mdc-chip-highlighted",n.highlighted)("mat-mdc-chip-with-trailing-icon",n._hasTrailingIcon()))},inputs:{selectable:[2,"selectable","selectable",he],selected:[2,"selected","selected",he]},outputs:{selectionChange:"selectionChange"},features:[It([{provide:Im,useExisting:t},{provide:mG,useExisting:t}]),dt],ngContentSelectors:BaA,decls:8,vars:6,consts:[[1,"mat-mdc-chip-focus-overlay"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary"],["matChipAction","","role","option",3,"_allowFocusWhenDisabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],[1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],[1,"mdc-evolution-chip__checkmark"],["viewBox","-2 -3 30 30","focusable","false","aria-hidden","true",1,"mdc-evolution-chip__checkmark-svg"],["fill","none","stroke","currentColor","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-evolution-chip__checkmark-path"]],template:function(i,n){i&1&&(Ht(daA),GA(0,"span",0),m(1,"span",1)(2,"button",2),V(3,D_A,5,0,"span",3),m(4,"span",4),He(5),GA(6,"span",5),w()()(),V(7,y_A,2,0,"span",6)),i&2&&(p(2),AA("_allowFocusWhenDisabled",!0),ie("aria-description",n.ariaDescription)("aria-label",n.ariaLabel)("aria-selected",n.ariaSelected),p(),W(n._hasLeadingGraphic()?3:-1),p(4),W(n._hasTrailingIcon()?7:-1))},dependencies:[pG],styles:[v_A],encapsulation:2,changeDetection:0})}return t})();var DG=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(mt);_dir=h(xo,{optional:!0});_lastDestroyedFocusedChipIndex=null;_keyManager;_destroyed=new $A;_defaultRole="presentation";get chipFocusChanges(){return this._getChipStream(A=>A._onFocus)}get chipDestroyedChanges(){return this._getChipStream(A=>A.destroyed)}get chipRemovedChanges(){return this._getChipStream(A=>A.removed)}get disabled(){return this._disabled}set disabled(A){this._disabled=A,this._syncChipsState()}_disabled=!1;get empty(){return!this._chips||this._chips.length===0}get role(){return this._explicitRole?this._explicitRole:this.empty?null:this._defaultRole}tabIndex=0;set role(A){this._explicitRole=A}_explicitRole=null;get focused(){return this._hasFocusedChip()}_chips;_chipActions=new nl;constructor(){}ngAfterViewInit(){this._setUpFocusManagement(),this._trackChipSetChanges(),this._trackDestroyedFocusedChip()}ngOnDestroy(){this._keyManager?.destroy(),this._chipActions.destroy(),this._destroyed.next(),this._destroyed.complete()}_hasFocusedChip(){return this._chips&&this._chips.some(A=>A._hasFocus())}_syncChipsState(){this._chips?.forEach(A=>{A._chipListDisabled=this._disabled,A._changeDetectorRef.markForCheck()})}focus(){}_handleKeydown(A){this._originatesFromChip(A)&&this._keyManager.onKeydown(A)}_isValidIndex(A){return A>=0&&Athis._elementRef.nativeElement.tabIndex=A))}_getChipStream(A){return this._chips.changes.pipe(cn(null),ki(()=>hi(...this._chips.map(A))))}_originatesFromChip(A){let i=A.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-mdc-chip"))return!0;i=i.parentElement}return!1}_setUpFocusManagement(){this._chips.changes.pipe(cn(this._chips)).subscribe(A=>{let i=[];A.forEach(n=>n._getActions().forEach(o=>i.push(o))),this._chipActions.reset(i),this._chipActions.notifyOnChanges()}),this._keyManager=new s0(this._chipActions).withVerticalOrientation().withHorizontalOrientation(this._dir?this._dir.value:"ltr").withHomeAndEnd().skipPredicate(A=>this._skipPredicate(A)),this.chipFocusChanges.pipe(Bt(this._destroyed)).subscribe(({chip:A})=>{let i=A._getSourceAction(document.activeElement);i&&this._keyManager.updateActiveItem(i)}),this._dir?.change.pipe(Bt(this._destroyed)).subscribe(A=>this._keyManager.withHorizontalOrientation(A))}_skipPredicate(A){return A.disabled}_trackChipSetChanges(){this._chips.changes.pipe(cn(null),Bt(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>this._syncChipsState()),this._redirectDestroyedChipFocus()})}_trackDestroyedFocusedChip(){this.chipDestroyedChanges.pipe(Bt(this._destroyed)).subscribe(A=>{let n=this._chips.toArray().indexOf(A.chip),o=A.chip._hasFocus(),a=A.chip._hadFocusOnRemove&&this._keyManager.activeItem&&A.chip._getActions().includes(this._keyManager.activeItem),r=o||a;this._isValidIndex(n)&&r&&(this._lastDestroyedFocusedChipIndex=n)})}_redirectDestroyedChipFocus(){if(this._lastDestroyedFocusedChipIndex!=null){if(this._chips.length){let A=Math.min(this._lastDestroyedFocusedChipIndex,this._chips.length-1),i=this._chips.toArray()[A];i.disabled?this._chips.length===1?this.focus():this._keyManager.setPreviousItemActive():i.focus()}else this.focus();this._lastDestroyedFocusedChipIndex=null}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-chip-set"]],contentQueries:function(i,n,o){if(i&1&&ua(o,Im,5),i&2){let a;ce(a=Ce())&&(n._chips=a)}},hostAttrs:[1,"mat-mdc-chip-set","mdc-evolution-chip-set"],hostVars:1,hostBindings:function(i,n){i&1&&eA("keydown",function(a){return n._handleKeydown(a)}),i&2&&ie("role",n.role)},inputs:{disabled:[2,"disabled","disabled",he],role:"role",tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)]},ngContentSelectors:EaA,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(i,n){i&1&&(Ht(),ci(0,"div",0),He(1),fi())},styles:[`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0} +`],encapsulation:2,changeDetection:0})}return t})(),uG=class{source;value;constructor(e,A){this.source=e,this.value=A}},M_A={provide:Lg,useExisting:pr(()=>yG),multi:!0},yG=(()=>{class t extends DG{_onTouched=()=>{};_onChange=()=>{};_defaultRole="listbox";_defaultOptions=h(fG,{optional:!0});get multiple(){return this._multiple}set multiple(A){this._multiple=A,this._syncListboxProperties()}_multiple=!1;get selected(){let A=this._chips.toArray().filter(i=>i.selected);return this.multiple?A:A[0]}ariaOrientation="horizontal";get selectable(){return this._selectable}set selectable(A){this._selectable=A,this._syncListboxProperties()}_selectable=!0;compareWith=(A,i)=>A===i;required=!1;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(A){this._hideSingleSelectionIndicator=A,this._syncListboxProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get chipSelectionChanges(){return this._getChipStream(A=>A.selectionChange)}get chipBlurChanges(){return this._getChipStream(A=>A._onBlur)}get value(){return this._value}set value(A){this._chips&&this._chips.length&&this._setSelectionByValue(A,!1),this._value=A}_value;change=new WA;_chips=void 0;ngAfterContentInit(){this._chips.changes.pipe(cn(null),Bt(this._destroyed)).subscribe(()=>{this.value!==void 0&&Promise.resolve().then(()=>{this._setSelectionByValue(this.value,!1)}),this._syncListboxProperties()}),this.chipBlurChanges.pipe(Bt(this._destroyed)).subscribe(()=>this._blur()),this.chipSelectionChanges.pipe(Bt(this._destroyed)).subscribe(A=>{this.multiple||this._chips.forEach(i=>{i!==A.source&&i._setSelectedState(!1,!1,!1)}),A.isUserInput&&this._propagateChanges()})}focus(){if(this.disabled)return;let A=this._getFirstSelectedChip();A&&!A.disabled?A.focus():this._chips.length>0?this._keyManager.setFirstItemActive():this._elementRef.nativeElement.focus()}writeValue(A){A!=null?this.value=A:this.value=void 0}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}setDisabledState(A){this.disabled=A}_setSelectionByValue(A,i=!0){this._clearSelection(),Array.isArray(A)?A.forEach(n=>this._selectValue(n,i)):this._selectValue(A,i)}_blur(){this.disabled||setTimeout(()=>{this.focused||this._markAsTouched()})}_keydown(A){A.keyCode===9&&super._allowFocusEscape()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck()}_propagateChanges(){let A=null;Array.isArray(this.selected)?A=this.selected.map(i=>i.value):A=this.selected?this.selected.value:void 0,this._value=A,this.change.emit(new uG(this,A)),this._onChange(A),this._changeDetectorRef.markForCheck()}_clearSelection(A){this._chips.forEach(i=>{i!==A&&i.deselect()})}_selectValue(A,i){let n=this._chips.find(o=>o.value!=null&&this.compareWith(o.value,A));return n&&(i?n.selectViaInteraction():n.select()),n}_syncListboxProperties(){this._chips&&Promise.resolve().then(()=>{this._chips.forEach(A=>{A._chipListMultiple=this.multiple,A.chipListSelectable=this._selectable,A._chipListHideSingleSelectionIndicator=this.hideSingleSelectionIndicator,A._changeDetectorRef.markForCheck()})})}_getFirstSelectedChip(){return Array.isArray(this.selected)?this.selected.length?this.selected[0]:void 0:this.selected}_skipPredicate(A){return!1}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-chip-listbox"]],contentQueries:function(i,n,o){if(i&1&&ua(o,wG,5),i&2){let a;ce(a=Ce())&&(n._chips=a)}},hostAttrs:[1,"mdc-evolution-chip-set","mat-mdc-chip-listbox"],hostVars:10,hostBindings:function(i,n){i&1&&eA("focus",function(){return n.focus()})("blur",function(){return n._blur()})("keydown",function(a){return n._keydown(a)}),i&2&&(vo("tabIndex",n.disabled||n.empty?-1:n.tabIndex),ie("role",n.role)("aria-required",n.role?n.required:null)("aria-disabled",n.disabled.toString())("aria-multiselectable",n.multiple)("aria-orientation",n.ariaOrientation),ae("mat-mdc-chip-list-disabled",n.disabled)("mat-mdc-chip-list-required",n.required))},inputs:{multiple:[2,"multiple","multiple",he],ariaOrientation:[0,"aria-orientation","ariaOrientation"],selectable:[2,"selectable","selectable",he],compareWith:"compareWith",required:[2,"required","required",he],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",he],value:"value"},outputs:{change:"change"},features:[It([M_A]),dt],ngContentSelectors:EaA,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(i,n){i&1&&(Ht(),ci(0,"div",0),He(1),fi())},styles:[b_A],encapsulation:2,changeDetection:0})}return t})();var Rv=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[UB,{provide:fG,useValue:{separatorKeyCodes:[13]}}],imports:[S2,Gi]})}return t})();var Nv=new yA("ThemeService");var Lh=class t{themeService=h(Nv);get currentTheme(){return this.themeService.currentTheme()}get themeIcon(){return this.currentTheme==="light"?"dark_mode":"light_mode"}get themeTooltip(){return this.currentTheme==="light"?"Switch to dark mode":"Switch to light mode"}toggleTheme(){this.themeService.toggleTheme()}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-theme-toggle"]],decls:3,vars:2,consts:[["mat-icon-button","","aria-label","Toggle theme",1,"theme-toggle-button",3,"click","matTooltip"]],template:function(A,i){A&1&&(m(0,"button",0),eA("click",function(){return i.toggleTheme()}),m(1,"mat-icon"),K(2),w()()),A&2&&(AA("matTooltip",i.themeTooltip),p(2),qA(i.themeIcon))},dependencies:[cl,fn,Fs,Ma,U2,Sa],styles:[".theme-toggle-button[_ngcontent-%COMP%]{color:var(--side-panel-mat-icon-color)}.theme-toggle-button[_ngcontent-%COMP%]:hover{opacity:.8}.builder-mode-action-button[_nghost-%COMP%] .theme-toggle-button[_ngcontent-%COMP%]{background-color:var(--builder-secondary-background-color);color:var(--builder-text-tertiary-color);border-radius:50%;transition:all .2s ease;margin-right:0!important}.builder-mode-action-button[_nghost-%COMP%] .theme-toggle-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-hover-background-color);color:var(--builder-text-primary-color);opacity:1}.builder-mode-action-button[_nghost-%COMP%] .theme-toggle-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px}"]})};var maA=(t,e)=>e.name;function k_A(t,e){if(t&1&&K(0),t&2){let A=v().$implicit;_e(" AgentTool: ",A.name," ")}}function S_A(t,e){if(t&1&&K(0),t&2){let A=v().$implicit;_e(" ",A.name," ")}}function x_A(t,e){t&1&&(m(0,"mat-icon",28),K(1,"chevron_right"),w())}function R_A(t,e){if(t&1){let A=JA();m(0,"div",27),eA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.selectAgentFromBreadcrumb(n))}),V(1,k_A,1,1)(2,S_A,1,1),w(),V(3,x_A,2,0,"mat-icon",28)}if(t&2){let A=e.$implicit,i=e.$index,n=v(2);ae("current-agent",(n.currentSelectedAgent==null?null:n.currentSelectedAgent.name)===A.name),p(),W(i===0&&n.isInAgentToolContext()?1:2),p(2),W(i0?0:-1)}}function z_A(t,e){if(t&1){let A=JA();m(0,"div",15)(1,"div",16)(2,"div"),K(3," Tools "),w(),m(4,"div")(5,"button",40,2)(7,"mat-icon"),K(8,"add"),w()(),m(9,"mat-menu",null,3)(11,"button",23),eA("click",function(){Z(A);let n=v();return X(n.addTool("Function tool"))}),m(12,"span"),K(13,"Function tool"),w()(),m(14,"button",23),eA("click",function(){Z(A);let n=v();return X(n.addTool("Built-in tool"))}),m(15,"span"),K(16,"Built-in tool"),w()(),m(17,"button",23),eA("click",function(){Z(A);let n=v();return X(n.createAgentTool())}),m(18,"span"),K(19,"Agent tool"),w()()()()(),V(20,H_A,1,1),ri(21,"async"),w()}if(t&2){let A,i=An(10),n=v();p(5),AA("matMenuTriggerFor",i),p(6),AA("matTooltip",n.toolMenuTooltips("Function tool")),p(3),AA("matTooltip",n.toolMenuTooltips("Built-in tool")),p(3),AA("matTooltip",n.toolMenuTooltips("Agent tool")),p(3),W((A=Ci(21,5,n.toolsMap$))?20:-1,A)}}function O_A(t,e){if(t&1){let A=JA();m(0,"mat-chip",43),eA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.selectAgent(n))}),m(1,"mat-icon",44),K(2),w(),m(3,"span",45),K(4),w(),m(5,"button",48),eA("click",function(n){let o=Z(A).$implicit;return v(2).deleteSubAgent(o.name),X(n.stopPropagation())}),m(6,"mat-icon"),K(7,"cancel"),w()()()}if(t&2){let A=e.$implicit,i=v(2);p(2),qA(i.getAgentIcon(A.agent_class)),p(2),qA(A.name)}}function P_A(t,e){if(t&1&&(m(0,"div",20)(1,"mat-chip-set",47),Ut(2,O_A,8,2,"mat-chip",42,maA),w()()),t&2){let A=v();p(2),Jt(A.agentConfig.sub_agents)}}function j_A(t,e){if(t&1){let A=JA();GA(0,"mat-divider"),m(1,"div",22),K(2,"Model (LLM) Interaction"),w(),m(3,"button",23),eA("click",function(){Z(A);let n=v();return X(n.addCallback("before_model"))}),m(4,"span"),K(5,"Before Model"),w()(),m(6,"button",23),eA("click",function(){Z(A);let n=v();return X(n.addCallback("after_model"))}),m(7,"span"),K(8,"After Model"),w()(),GA(9,"mat-divider"),m(10,"div",22),K(11,"Tool Execution"),w(),m(12,"button",23),eA("click",function(){Z(A);let n=v();return X(n.addCallback("before_tool"))}),m(13,"span"),K(14,"Before Tool"),w()(),m(15,"button",23),eA("click",function(){Z(A);let n=v();return X(n.addCallback("after_tool"))}),m(16,"span"),K(17,"After Tool"),w()()}if(t&2){let A=v();p(3),AA("matTooltip",A.callbackMenuTooltips("before_model")),p(3),AA("matTooltip",A.callbackMenuTooltips("after_model")),p(6),AA("matTooltip",A.callbackMenuTooltips("before_tool")),p(3),AA("matTooltip",A.callbackMenuTooltips("after_tool"))}}function q_A(t,e){if(t&1){let A=JA();m(0,"div",52),eA("click",function(){let n=Z(A).$implicit,o=v(3);return X(o.editCallback(n))}),m(1,"mat-chip",53)(2,"span",54)(3,"span",55),K(4),w(),m(5,"span",56),K(6),w()()(),m(7,"button",57),eA("click",function(n){let o=Z(A).$implicit,a=v(3);return a.deleteCallback(a.agentConfig.name,o),X(n.stopPropagation())}),m(8,"mat-icon"),K(9,"remove"),w()()()}if(t&2){let A=e.$implicit;p(4),qA(A.type),p(2),qA(A.name)}}function V_A(t,e){if(t&1&&(m(0,"div",49)(1,"mat-chip-set",50),Ut(2,q_A,10,2,"div",51,_i),w()()),t&2){let A=v(),i=v();p(2),Jt(A.get(i.agentConfig.name))}}function W_A(t,e){if(t&1&&V(0,V_A,4,0,"div",49),t&2){let A=e,i=v();W(i.agentConfig&&A.get(i.agentConfig.name)&&A.get(i.agentConfig.name).length>0?0:-1)}}var Fv=class t{CALLBACKS_TAB_INDEX=3;jsonEditorComponent;appNameInput="";exitBuilderMode=new WA;closePanel=new WA;featureFlagService=h(vr);isAlwaysOnSidePanelEnabledObs=this.featureFlagService.isAlwaysOnSidePanelEnabled();toolArgsString=jA("");editingToolArgs=jA(!1);editingTool=null;selectedTabIndex=0;agentConfig={isRoot:!1,name:"",agent_class:"",model:"",instruction:"",sub_agents:[],tools:[],callbacks:[]};hierarchyPath=[];currentSelectedAgent=void 0;isRootAgentEditable=!0;models=["gemini-2.5-flash","gemini-2.5-pro"];agentTypes=["LlmAgent","LoopAgent","ParallelAgent","SequentialAgent"];agentBuilderService=h(E0);dialog=h(Ks);agentService=h(sg);snackBar=h(J2);router=h(Cs);cdr=h(mt);selectedTool=void 0;toolAgentName="";toolTypes=["Custom tool","Function tool","Built-in tool","Agent Tool"];editingCallback=null;selectedCallback=void 0;callbackTypes=["before_agent","before_model","before_tool","after_tool","after_model","after_agent"];builtInTools=["EnterpriseWebSearchTool","exit_loop","FilesRetrieval","get_user_choice","google_search","load_artifacts","load_memory","LongRunningFunctionTool","preload_memory","url_context","VertexAiRagRetrieval","VertexAiSearchTool"];builtInToolArgs=new Map([["EnterpriseWebSearchTool",[]],["exit_loop",[]],["FilesRetrieval",["name","description","input_dir"]],["get_user_choice",[]],["google_search",[]],["load_artifacts",[]],["load_memory",[]],["LongRunningFunctionTool",["func"]],["preload_memory",[]],["url_context",[]],["VertexAiRagRetrieval",["name","description","rag_corpora","rag_resources","similarity_top_k","vector_distance_threshold"]],["VertexAiSearchTool",["data_store_id","data_store_specs","search_engine_id","filter","max_results"]]]);header="Select an agent or tool to edit";toolsMap$;callbacksMap$;getJsonStringForEditor(e){if(!e)return"{}";let A=gA({},e);return delete A.skip_summarization,JSON.stringify(A,null,2)}constructor(){this.toolsMap$=this.agentBuilderService.getAgentToolsMap(),this.callbacksMap$=this.agentBuilderService.getAgentCallbacksMap(),this.agentBuilderService.getSelectedNode().subscribe(e=>{this.agentConfig=e,this.currentSelectedAgent=e,e&&(this.editingTool=null,this.editingCallback=null,this.header="Agent configuration",this.updateBreadcrumb(e)),this.cdr.markForCheck()}),this.agentBuilderService.getSelectedTool().subscribe(e=>{this.selectedTool=e,!(e&&e.toolType==="Agent Tool")&&(e?(this.editingTool=e,this.editingToolArgs.set(!1),setTimeout(()=>{let A=e.toolType=="Function tool"?"Function tool":e.name;if(e.toolType=="Function tool"&&!e.name&&(e.name="Function tool"),e.toolType==="Custom tool")e.args||(e.args={}),this.toolArgsString.set(this.getJsonStringForEditor(e.args)),this.editingToolArgs.set(!0);else{let i=this.builtInToolArgs.get(A);if(i){e.args||(e.args={});for(let n of i)e.args&&(e.args[n]="")}this.toolArgsString.set(this.getJsonStringForEditor(e.args)),e.args&&this.getObjectKeys(e.args).length>0&&this.editingToolArgs.set(!0)}this.cdr.markForCheck()}),this.selectedTabIndex=2):this.editingTool=null,this.cdr.markForCheck())}),this.agentBuilderService.getSelectedCallback().subscribe(e=>{this.selectedCallback=e,e?(this.selectCallback(e),this.selectedTabIndex=this.CALLBACKS_TAB_INDEX):this.editingCallback=null,this.cdr.markForCheck()}),this.agentBuilderService.getAgentCallbacks().subscribe(e=>{this.agentConfig&&e&&this.agentConfig.name===e.agentName&&(this.agentConfig=be(gA({},this.agentConfig),{callbacks:e.callbacks}),this.cdr.markForCheck())}),this.agentBuilderService.getSideTabChangeRequest().subscribe(e=>{e==="tools"?this.selectedTabIndex=2:e==="config"&&(this.selectedTabIndex=0)})}getObjectKeys(e){return e?Object.keys(e).filter(A=>A!=="skip_summarization"):[]}getCallbacksByType(){let e=new Map;return this.callbackTypes.forEach(A=>{e.set(A,[])}),this.agentConfig?.callbacks&&this.agentConfig.callbacks.forEach(A=>{let i=e.get(A.type);i&&i.push(A)}),e}updateBreadcrumb(e){this.hierarchyPath=this.buildHierarchyPath(e)}buildHierarchyPath(e){let A=[],i=this.findContextualRoot(e);return i?e.name===i.name?[i]:this.findPathToAgent(i,e,[i])||[e]:[e]}isInAgentToolContext(){return!this.hierarchyPath||this.hierarchyPath.length===0?!1:this.hierarchyPath[0]?.isAgentTool===!0}findContextualRoot(e){if(e.isAgentTool)return e;let A=this.agentBuilderService.getNodes();for(let n of A)if(n.isAgentTool&&this.findPathToAgent(n,e,[n]))return n;let i=this.agentBuilderService.getRootNode();if(i&&this.findPathToAgent(i,e,[i]))return i;if(e.isRoot)return e;for(let n of A)if(n.isRoot&&this.findPathToAgent(n,e,[n]))return n;return i}findPathToAgent(e,A,i){if(e.name===A.name)return i;for(let n of e.sub_agents){let o=[...i,n],a=this.findPathToAgent(n,A,o);if(a)return a}return null}selectAgentFromBreadcrumb(e){this.agentBuilderService.setSelectedNode(e),this.selectedTabIndex=0}selectAgent(e){this.agentBuilderService.setSelectedNode(e),this.selectedTabIndex=0}selectTool(e){if(e.toolType==="Agent Tool"){let A=e.name;this.agentBuilderService.requestNewTab(A);return}if(e.toolType==="Function tool"||e.toolType==="Built-in tool"){this.editTool(e);return}this.agentBuilderService.setSelectedTool(e)}editTool(e){if(!this.agentConfig)return;let A;e.toolType==="Built-in tool"?A=this.dialog.open(aB,{width:"700px",maxWidth:"90vw",data:{toolName:e.name,isEditMode:!0,toolArgs:e.args}}):A=this.dialog.open(W2,{width:"500px",data:{toolType:e.toolType,toolName:e.name,isEditMode:!0}}),A.afterClosed().subscribe(i=>{if(i&&i.isEditMode){let n=this.agentConfig.tools?.findIndex(o=>o.name===e.name);n!==void 0&&n!==-1&&this.agentConfig.tools&&(this.agentConfig.tools[n].name=i.name,i.args&&(this.agentConfig.tools[n].args=i.args),this.agentBuilderService.setAgentTools(this.agentConfig.name,this.agentConfig.tools))}})}addTool(e){if(this.agentConfig){let A;e==="Built-in tool"?A=this.dialog.open(aB,{width:"700px",maxWidth:"90vw",data:{}}):A=this.dialog.open(W2,{width:"500px",data:{toolType:e}}),A.afterClosed().subscribe(i=>{if(i){let n={toolType:i.toolType,name:i.name};this.agentBuilderService.addTool(this.agentConfig.name,n),this.agentBuilderService.setSelectedTool(n)}})}}addCallback(e){if(this.agentConfig){let A=this.agentConfig?.callbacks?.map(n=>n.name)??[];this.dialog.open(z4,{width:"500px",data:{callbackType:e,existingCallbackNames:A}}).afterClosed().subscribe(n=>{if(n){let o={name:n.name,type:n.type};this.agentBuilderService.addCallback(this.agentConfig.name,o)}})}}editCallback(e){if(!this.agentConfig)return;let A=this.agentConfig.callbacks?.map(n=>n.name)??[];this.dialog.open(z4,{width:"500px",data:{callbackType:e.type,existingCallbackNames:A,isEditMode:!0,callback:e,availableCallbackTypes:this.callbackTypes}}).afterClosed().subscribe(n=>{if(n&&n.isEditMode){let o=this.agentBuilderService.updateCallback(this.agentConfig.name,e.name,be(gA({},e),{name:n.name,type:n.type}));o.success?this.cdr.markForCheck():console.error("Failed to update callback:",o.error)}})}deleteCallback(e,A){this.dialog.open(qc,{data:{title:"Delete Callback",message:`Are you sure you want to delete ${A.name}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(n=>{if(n==="confirm"){let o=this.agentBuilderService.deleteCallback(e,A);o.success?this.cdr.markForCheck():console.error("Failed to delete callback:",o.error)}})}addSubAgent(e){e&&this.agentBuilderService.setAddSubAgentSubject(e)}deleteSubAgent(e){this.agentBuilderService.setDeleteSubAgentSubject(e)}deleteTool(e,A){let i=A.toolType==="Agent Tool",n=i&&A.toolAgentName||A.name;this.dialog.open(qc,{data:{title:i?"Delete Agent Tool":"Delete Tool",message:i?`Are you sure you want to delete the agent tool "${n}"? This will also delete the corresponding board.`:`Are you sure you want to delete ${n}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(a=>{if(a==="confirm")if(A.toolType==="Agent Tool"){let r=A.toolAgentName||A.name;this.deleteAgentToolAndBoard(e,A,r)}else this.agentBuilderService.deleteTool(e,A)})}deleteAgentToolAndBoard(e,A,i){this.agentBuilderService.deleteTool(e,A),this.agentBuilderService.requestTabDeletion(i)}backToToolList(){this.editingTool=null,this.agentBuilderService.setSelectedTool(void 0)}editToolArgs(){this.editingToolArgs.set(!0)}cancelEditToolArgs(e){this.editingToolArgs.set(!1),this.toolArgsString.set(this.getJsonStringForEditor(e?.args))}saveToolArgs(e){if(this.jsonEditorComponent&&e)try{let A=JSON.parse(this.jsonEditorComponent.getJsonString()),i=e.args?e.args.skip_summarization:!1;e.args=A,e.args.skip_summarization=i,this.toolArgsString.set(JSON.stringify(e.args,null,2)),this.editingToolArgs.set(!1)}catch(A){console.error("Error parsing tool arguments JSON",A)}}onToolTypeSelectionChange(e){e?.toolType==="Built-in tool"?(e.name="google_search",this.onBuiltInToolSelectionChange(e)):e?.toolType==="Custom tool"?(e.args={},this.toolArgsString.set(this.getJsonStringForEditor(e.args)),this.editingToolArgs.set(!0)):e&&(e.name="",e.args={skip_summarization:!1},this.toolArgsString.set("{}"),this.editingToolArgs.set(!1))}onBuiltInToolSelectionChange(e){e&&(this.editingToolArgs.set(!1),setTimeout(()=>{e.args={skip_summarization:!1};let A=this.builtInToolArgs.get(e.name);if(A)for(let i of A)e.args&&(e.args[i]="");this.toolArgsString.set(this.getJsonStringForEditor(e.args)),e.args&&this.getObjectKeys(e.args).length>0&&this.editingToolArgs.set(!0),this.cdr.markForCheck()}))}selectCallback(e){this.editingCallback=e}backToCallbackList(){this.editingCallback=null}onCallbackTypeChange(e){}createAgentTool(){this.dialog.open(qc,{width:"750px",height:"450px",data:{title:"Create Agent Tool",message:"Please enter a name for the agent tool:",confirmButtonText:"Create",showInput:!0,inputLabel:"Agent Tool Name",inputPlaceholder:"Enter agent tool name",showToolInfo:!0,toolType:"Agent tool"}}).afterClosed().subscribe(A=>{if(A&&typeof A=="string"){let i=this.agentConfig?.name||"root_agent";this.agentBuilderService.requestNewTab(A,i)}})}saveChanges(){if(!this.agentBuilderService.getRootNode()){this.snackBar.open("Please create an agent first.","OK");return}this.appNameInput?this.saveAgent(this.appNameInput):this.agentService.getApp().subscribe(A=>{A?this.saveAgent(A):this.snackBar.open("No agent selected. Please select an agent first.","OK")})}cancelChanges(){this.agentService.agentChangeCancel(this.appNameInput).subscribe(e=>{}),this.exitBuilderMode.emit()}saveAgent(e){let A=this.agentBuilderService.getRootNode();if(!A){this.snackBar.open("Please create an agent first.","OK");return}let i=new FormData,n=this.agentBuilderService.getCurrentAgentToolBoards();w0.generateYamlFile(A,i,e,n),this.agentService.agentBuildTmp(i).subscribe(o=>{o&&this.agentService.agentBuild(i).subscribe(a=>{a?this.router.navigate(["/"],{queryParams:{app:e}}).then(()=>{window.location.reload()}):this.snackBar.open("Something went wrong, please try again","OK")})})}getToolIcon(e){return ME(e.name,e.toolType)}getAgentIcon(e){switch(e){case"SequentialAgent":return"more_horiz";case"LoopAgent":return"sync";case"ParallelAgent":return"density_medium";default:return"psychology"}}addSubAgentWithType(e){if(!this.agentConfig?.name)return;let A=this.agentConfig.agent_class!=="LlmAgent";this.agentBuilderService.setAddSubAgentSubject(this.agentConfig.name,e,A)}callbackMenuTooltips(e){return uc.getCallbackMenuTooltips(e)}toolMenuTooltips(e){return uc.getToolMenuTooltips(e)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-builder-tabs"]],viewQuery:function(A,i){if(A&1&&ai(jc,5),A&2){let n;ce(n=Ce())&&(i.jsonEditorComponent=n.first)}},inputs:{appNameInput:"appNameInput"},outputs:{exitBuilderMode:"exitBuilderMode",closePanel:"closePanel"},decls:77,vars:12,consts:[["subAgentMenu","matMenu"],["callbacksMenu","matMenu"],["agentMenuTrigger","matMenuTrigger"],["toolsMenu","matMenu"],[2,"margin-top","20px","margin-left","20px","display","flex"],[2,"width","100%"],[1,"drawer-header"],[1,"drawer-logo"],["src","assets/ADK-512-color.svg","width","32px","height","32px"],[2,"display","flex","align-items","center","gap","8px","margin-right","15px"],["matTooltip","Collapse panel",1,"material-symbols-outlined",2,"color","#c4c7c5","cursor","pointer",3,"click"],[1,"builder-tabs-container"],[1,"builder-tab-content"],[1,"agent-breadcrumb-container"],[1,"content-wrapper"],[1,"builder-panel-wrapper"],[1,"panel-title"],[1,"config-form"],["mat-icon-button","","type","button","aria-label","Add sub agent",1,"panel-action-button",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],[1,"tools-chips-container"],["mat-icon-button","","type","button","aria-label","Add callback",1,"panel-action-button",3,"matMenuTriggerFor"],[1,"menu-header"],["mat-menu-item","","matTooltipPosition","right",3,"click","matTooltip"],[1,"action-buttons"],["mat-raised-button","","color","secondary",1,"save-button",3,"click"],["mat-button","",1,"cancel-button",3,"click"],[1,"breadcrumb-chip",3,"click"],[1,"breadcrumb-arrow"],[1,"form-row"],[1,"agent-name-field"],["matInput","",3,"ngModelChange","ngModel","disabled"],[1,"agent-type-field"],["disabled","",3,"ngModelChange","ngModel"],[3,"value"],[3,"ngModel"],[3,"ngModelChange","ngModel"],["matInput","","rows","5",3,"ngModelChange","ngModel"],["matInput","","rows","3",3,"ngModelChange","ngModel"],["matInput","","type","number","min","1",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","aria-label","Add tool",1,"panel-action-button",3,"matMenuTriggerFor"],["aria-label","Tools"],[1,"tool-chip"],[1,"tool-chip",3,"click"],["matChipAvatar","",1,"tool-icon"],[1,"tool-chip-name"],["matChipRemove","","aria-label","Remove tool",3,"click"],["aria-label","Sub Agents"],["matChipRemove","","aria-label","Remove sub agent",3,"click"],[1,"tools-chips-container","callbacks-list"],["aria-label","Callbacks"],[1,"callback-row"],[1,"callback-row",3,"click"],[1,"callback-chip"],[1,"chip-content"],[1,"chip-type"],[1,"chip-name"],["mat-icon-button","","aria-label","Remove callback",1,"callback-remove",3,"click"]],template:function(A,i){if(A&1){let n=JA();m(0,"div",4)(1,"div",5)(2,"div",6)(3,"div",7),GA(4,"img",8),K(5," Agent Development Kit "),w(),m(6,"div",9),GA(7,"app-theme-toggle"),m(8,"span",10),eA("click",function(){return Z(n),X(i.closePanel.emit())}),K(9,"left_panel_close"),w()()()()(),m(10,"div",11)(11,"div",12),V(12,N_A,3,0,"div",13),m(13,"div",14)(14,"div",15)(15,"div",16),K(16," Configuration "),w(),m(17,"div"),V(18,J_A,16,7,"div",17),w()(),V(19,z_A,22,7,"div",15),m(20,"div",15)(21,"div",16)(22,"div"),K(23," Sub Agents "),w(),m(24,"div")(25,"button",18)(26,"mat-icon"),K(27,"add"),w()(),m(28,"mat-menu",null,0)(30,"button",19),eA("click",function(){return Z(n),X(i.addSubAgentWithType("LlmAgent"))}),m(31,"mat-icon"),K(32,"psychology"),w(),m(33,"span"),K(34,"LLM Agent"),w()(),m(35,"button",19),eA("click",function(){return Z(n),X(i.addSubAgentWithType("SequentialAgent"))}),m(36,"mat-icon"),K(37,"more_horiz"),w(),m(38,"span"),K(39,"Sequential Agent"),w()(),m(40,"button",19),eA("click",function(){return Z(n),X(i.addSubAgentWithType("LoopAgent"))}),m(41,"mat-icon"),K(42,"sync"),w(),m(43,"span"),K(44,"Loop Agent"),w()(),m(45,"button",19),eA("click",function(){return Z(n),X(i.addSubAgentWithType("ParallelAgent"))}),m(46,"mat-icon"),K(47,"density_medium"),w(),m(48,"span"),K(49,"Parallel Agent"),w()()()()(),V(50,P_A,4,0,"div",20),w(),m(51,"div",15)(52,"div",16)(53,"div"),K(54," Callbacks "),w(),m(55,"div")(56,"button",21)(57,"mat-icon"),K(58,"add"),w()(),m(59,"mat-menu",null,1)(61,"div",22),K(62,"Agent Lifecycle"),w(),m(63,"button",23),eA("click",function(){return Z(n),X(i.addCallback("before_agent"))}),m(64,"span"),K(65,"Before Agent"),w()(),m(66,"button",23),eA("click",function(){return Z(n),X(i.addCallback("after_agent"))}),m(67,"span"),K(68,"After Agent"),w()(),V(69,j_A,18,4),w()()(),V(70,W_A,1,1),ri(71,"async"),w()(),m(72,"div",24)(73,"button",25),eA("click",function(){return Z(n),X(i.saveChanges())}),K(74," Save "),w(),m(75,"button",26),eA("click",function(){return Z(n),X(i.cancelChanges())}),K(76," Cancel "),w()()()()}if(A&2){let n,o=An(29),a=An(60);p(12),W(i.hierarchyPath.length>0?12:-1),p(6),W(i.agentConfig?18:-1),p(),W((i.agentConfig==null?null:i.agentConfig.agent_class)==="LlmAgent"?19:-1),p(6),AA("matMenuTriggerFor",o),p(25),W(i.agentConfig&&i.agentConfig.sub_agents&&i.agentConfig.sub_agents.length>0?50:-1),p(6),AA("matMenuTriggerFor",a),p(7),AA("matTooltip",i.callbackMenuTooltips("before_agent")),p(3),AA("matTooltip",i.callbackMenuTooltips("after_agent")),p(3),W((i.agentConfig==null?null:i.agentConfig.agent_class)==="LlmAgent"?69:-1),p(),W((n=Ci(71,10,i.callbacksMap$))?70:-1,n)}},dependencies:[fa,Nn,uo,t9,fo,o9,ba,Fn,bE,_O,ta,fn,Ka,Ma,Zl,Hr,Il,Sa,X0,_h,l2,Rv,Im,haA,uaA,DG,Qz,a8,Lh,ls],styles:[".builder-tabs-container[_ngcontent-%COMP%]{width:100%;margin-top:40px;height:calc(95vh - 20px);display:flex;flex-direction:column}.agent-breadcrumb-container[_ngcontent-%COMP%]{padding:2px 20px 8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--builder-border-color)}.breadcrumb-chip[_ngcontent-%COMP%]{background-color:transparent;color:var(--builder-text-muted-color);font-family:Google Sans;font-size:16px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;padding:4px 8px;border-radius:4px;display:inline-block;-webkit-user-select:none;user-select:none}.breadcrumb-chip[_ngcontent-%COMP%]:hover{color:var(--builder-text-link-color)}.breadcrumb-chip.current-agent[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-weight:500}.breadcrumb-arrow[_ngcontent-%COMP%]{color:var(--builder-breadcrumb-separator-color);font-size:16px;width:16px;height:16px}.builder-tab-content[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);display:flex;flex-direction:column;flex:1;overflow:hidden}.builder-tab-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:8px 0;font-size:14px;line-height:1.5}.builder-tab-content[_ngcontent-%COMP%]{--mat-form-field-filled-container-color: var(--builder-form-field-background-color);--mat-form-field-filled-focus-active-indicator-color: var(--builder-form-field-background-color);--mat-form-field-filled-active-indicator-color: var(--builder-form-field-background-color);--mat-form-field-filled-hover-active-indicator-color: var(--builder-form-field-background-color);--mat-form-field-filled-label-text-color: var(--builder-text-secondary-color);--mat-form-field-filled-focus-label-text-color: var(--builder-text-link-color);--mat-form-field-filled-hover-label-text-color: var(--builder-text-secondary-color)}[_nghost-%COMP%] .mat-mdc-text-field-wrapper{border:none!important}.components-section[_ngcontent-%COMP%]{margin-bottom:32px}.components-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:14px;font-weight:500;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.config-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;margin-top:20px}.config-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;gap:16px;align-items:flex-start}.config-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] .agent-name-field[_ngcontent-%COMP%]{flex:1}.config-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] .agent-type-field[_ngcontent-%COMP%]{width:32%}.config-form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.config-form[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-bottom:8px}.config-form[_ngcontent-%COMP%] .tool-code-section[_ngcontent-%COMP%]{margin-top:16px}.config-form[_ngcontent-%COMP%] .tool-code-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px;color:var(--builder-text-secondary-color);font-size:14px;font-weight:500}.config-form[_ngcontent-%COMP%] .tool-args-header[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.json-editor-wrapper[_ngcontent-%COMP%]{height:300px;max-height:300px}.tab-content-container[_ngcontent-%COMP%]{margin-top:20px;overflow-y:auto}.agent-list-row[_ngcontent-%COMP%]{display:flex;margin-top:10px}.sub-agent-list-row[_ngcontent-%COMP%]{display:flex;margin-top:10px;margin-left:16px}.tree-view[_ngcontent-%COMP%] mat-tree[_ngcontent-%COMP%]{background-color:inherit!important}.tree-view[_ngcontent-%COMP%] expand-button[_ngcontent-%COMP%]{background-color:transparent;border:0}.node-item[_ngcontent-%COMP%]{display:flex;align-items:center}.node-icon[_ngcontent-%COMP%]{margin-right:14px}.node-name[_ngcontent-%COMP%]{margin-top:2px;display:flex;align-items:center}.no-tools-message[_ngcontent-%COMP%]{display:block;color:var(--builder-text-secondary-color);font-size:16px;margin-top:16px;margin-bottom:16px;text-align:center}.tools-list[_ngcontent-%COMP%]{list-style:none;padding:0}.tool-name[_ngcontent-%COMP%]{cursor:pointer;padding:11px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;background-color:var(--builder-card-background-color);color:var(--builder-text-primary-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.tool-name[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{visibility:hidden}.tool-name[_ngcontent-%COMP%]:hover{background-color:var(--builder-hover-background-color)}.tool-name[_ngcontent-%COMP%]:hover button[_ngcontent-%COMP%]{visibility:visible}.tool-list-item-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:8px} .tools-chips-container .mat-mdc-chip-set{width:100%} .tools-chips-container.callbacks-list .mat-mdc-chip-set{display:flex;flex-direction:column;gap:8px;width:100%} .tools-chips-container .mat-mdc-chip.tool-chip{background-color:var(--builder-tool-chip-background-color);color:var(--builder-text-primary-color);font-family:Google Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;margin:4px} .tools-chips-container .mat-mdc-chip.tool-chip:hover{background-color:var(--builder-tool-chip-hover-color)} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-action-label{display:flex;align-items:center;gap:6px} .tools-chips-container .mat-mdc-chip.tool-chip .tool-chip-name{display:inline-flex;align-items:center} .tools-chips-container .mat-mdc-chip.tool-chip .tool-icon{font-size:18px;width:18px;height:18px} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-remove{opacity:1;color:var(--builder-text-secondary-color)} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-remove mat-icon{font-size:18px;width:18px;height:18px} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-remove:hover{color:var(--builder-text-primary-color)} .tools-chips-container .mat-mdc-chip.callback-chip{background:var(--builder-callback-chip-background-color);background-color:var(--builder-callback-chip-background-color);color:var(--builder-callback-chip-text-color);font-family:Google Sans,sans-serif;font-size:14px;display:flex;flex-direction:row;align-items:center;gap:12px;width:auto;height:40px;border-radius:8px;border:none;box-shadow:none;outline:none;--mdc-chip-outline-width: 0;--mdc-chip-outline-color: transparent;--mdc-chip-elevated-container-color: var(--builder-callback-chip-background-color);--mdc-chip-flat-container-color: var(--builder-callback-chip-background-color);flex:1 1 auto;min-width:0} .tools-chips-container .mat-mdc-chip.callback-chip:before, .tools-chips-container .mat-mdc-chip.callback-chip:after, .tools-chips-container .mat-mdc-chip.callback-chip .mat-mdc-chip-focus-overlay{border:none;box-shadow:none} .tools-chips-container .mat-mdc-chip.callback-chip .mat-mdc-chip-action-label{display:flex;flex:1;align-items:center;width:100%;gap:12px} .tools-chips-container .mat-mdc-chip.callback-chip .chip-content{display:flex;flex-direction:row;align-items:center;gap:12px;flex:1;min-width:0} .tools-chips-container .mat-mdc-chip.callback-chip .chip-type{color:var(--builder-callback-chip-type-color);font-size:13px;font-weight:500;white-space:nowrap} .tools-chips-container .mat-mdc-chip.callback-chip .chip-name{color:var(--builder-callback-chip-name-color);font-size:15px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tools-chips-container[_ngcontent-%COMP%]{margin-top:12px;padding:0 4px}.tools-chips-container.callbacks-list[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.callback-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;width:100%;cursor:pointer}.callback-remove[_ngcontent-%COMP%]{color:var(--builder-icon-color);cursor:pointer;width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0}.callback-remove[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;line-height:1;display:flex;align-items:center;justify-content:center;transform:translateY(.5px)}.back-button[_ngcontent-%COMP%]{margin-bottom:16px}.add-tool-button[_ngcontent-%COMP%]{width:100%;background:linear-gradient(0deg,var(--builder-add-button-background-color) 0%,var(--builder-add-button-background-color) 100%),var(--builder-panel-background-color);border:none;border-radius:4px;margin-top:12px;cursor:pointer}.add-tool-button-detail[_ngcontent-%COMP%]{display:flex;padding:8px 16px 8px 12px;justify-content:center}.add-tool-button-text[_ngcontent-%COMP%]{padding-top:2px;color:var(--builder-add-button-text-color);font-family:Google Sans;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.agent-tool-section[_ngcontent-%COMP%]{margin-top:16px;padding:16px;border:1px solid var(--builder-border-color);border-radius:8px;background-color:var(--builder-secondary-background-color)}.agent-tool-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:16px;font-weight:500;margin:0 0 8px}.agent-tool-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:14px;margin:0 0 16px;line-height:1.5}.agent-tool-section[_ngcontent-%COMP%] .create-agent-tool-btn[_ngcontent-%COMP%]{background-color:var(--builder-button-primary-background-color);color:var(--builder-button-primary-text-color);font-weight:500}.agent-tool-section[_ngcontent-%COMP%] .create-agent-tool-btn[_ngcontent-%COMP%]:hover{background-color:var(--builder-button-primary-hover-color)}.no-callbacks-message[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:16px;margin-top:16px;text-align:center}.callback-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:8px}.callback-section[_ngcontent-%COMP%]{margin-top:16px}.callback-section[_ngcontent-%COMP%] .callback-section-label[_ngcontent-%COMP%]{margin:0 0 8px;color:var(--builder-text-secondary-color);font-size:14px;font-weight:500;text-transform:none}.callback-groups-wrapper[_ngcontent-%COMP%]{margin-top:16px}.callback-group[_ngcontent-%COMP%]{margin-top:5px;--mat-expansion-container-background-color: var(--builder-expansion-background-color);--mat-expansion-header-focus-state-layer-color: red;--mat-expansion-header-description-color: var(--builder-expansion-header-description-color);--mat-expansion-header-text-size: 15}.callback-list[_ngcontent-%COMP%]{padding:8px 0}.no-callbacks-in-type[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:14px;font-style:italic;padding:12px;text-align:center}.callback-item[_ngcontent-%COMP%]{cursor:pointer;padding:8px 12px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;background-color:var(--builder-card-background-color);color:var(--builder-text-primary-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.callback-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{visibility:hidden}.callback-item[_ngcontent-%COMP%]:hover{background-color:var(--builder-expansion-hover-color)}.callback-item[_ngcontent-%COMP%]:hover button[_ngcontent-%COMP%]{visibility:visible}.add-callback-icon[_ngcontent-%COMP%]{color:var(--builder-button-primary-background-color)}.add-callback-icon[_ngcontent-%COMP%]:hover{background-color:var(--builder-add-button-background-color)} .callback-group .mat-expansion-panel-header.mat-expanded:focus{background-color:var(--builder-expansion-hover-color)!important} .callback-group .mat-expansion-panel-header.mat-expanded{background-color:var(--builder-expansion-hover-color)!important} .callback-group .mat-expansion-panel-header.mat-expanded:hover{background-color:var(--builder-expansion-hover-color)!important} .callback-group .mat-expansion-panel-header-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}mat-tab-group[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px 20px 0;min-height:0} .mat-mdc-tab-body-wrapper{flex:1;overflow:hidden;min-height:0} .mat-mdc-tab-body-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}mat-tab-group[_ngcontent-%COMP%]{flex:1;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden} .mat-mdc-tab-body-wrapper{flex:1;overflow:hidden} .mat-mdc-tab-body-content{height:100%;overflow:hidden} .mat-drawer-inner-container{overflow:hidden}.action-buttons[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-top:1px solid var(--builder-border-color);flex-shrink:0;margin-top:auto;background-color:var(--builder-panel-background-color)}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{background-color:var(--builder-button-primary-background-color);color:var(--builder-button-primary-text-color);font-weight:500}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-button-primary-hover-color)}.action-buttons[_ngcontent-%COMP%] .cancel-button[_ngcontent-%COMP%]{color:var(--builder-button-secondary-text-color);border:1px solid var(--builder-button-secondary-border-color)}.action-buttons[_ngcontent-%COMP%] .cancel-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-button-secondary-hover-background-color);color:var(--builder-button-secondary-hover-text-color)}.builder-panel-wrapper[_ngcontent-%COMP%]{border-bottom:1px solid var(--builder-border-color);padding:12px 24px}.panel-title[_ngcontent-%COMP%]{color:var(--builder-text-tertiary-color);font-family:Google Sans;font-size:16px;font-style:normal;font-weight:500;line-height:24px;display:flex;justify-content:space-between}.panel-title[_ngcontent-%COMP%] .panel-action-button[_ngcontent-%COMP%]{color:var(--builder-icon-color);width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0}.panel-title[_ngcontent-%COMP%] .panel-action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;line-height:1;display:flex;align-items:center;justify-content:center}.content-wrapper[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:9px}.drawer-logo[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:500;line-height:24px;letter-spacing:.1px}.drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center;--mat-button-filled-container-color: var(--side-panel-button-filled-container-color);--mat-button-filled-label-text-color: var(--side-panel-button-filled-label-text-color)}.drawer-header[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;color:var(--side-panel-mat-icon-color);cursor:pointer;display:flex;align-items:center;justify-content:center} .mat-mdc-menu-panel{background-color:var(--builder-menu-background-color)!important} .mat-mdc-menu-panel .menu-header{color:var(--builder-text-secondary-color);font-size:12px;padding:8px 16px;font-weight:500;text-transform:uppercase;pointer-events:none} .mat-mdc-menu-panel .mat-mdc-menu-item{color:var(--builder-text-primary-color)} .mat-mdc-menu-panel .mat-mdc-menu-item:hover{background-color:var(--builder-menu-item-hover-color)} .mat-mdc-menu-panel mat-divider{border-top-color:var(--builder-menu-divider-color);margin:4px 0}"],changeDetection:0})};var Gh=new yA("MARKDOWN_COMPONENT");var Z_A=["chatMessages"],X_A=(t,e)=>({"user-message":t,"bot-message":e}),$_A=t=>({text:t,thought:!1});function ALA(t,e){t&1&&(m(0,"div",7)(1,"mat-icon",12),K(2,"smart_toy"),w(),m(3,"h3"),K(4,"Assistant Ready"),w(),m(5,"p"),K(6,"Your builder assistant is ready to help you build agents."),w()())}function eLA(t,e){t&1&&(m(0,"div",15)(1,"span",16),K(2,"\u30FB\u30FB\u30FB"),w()())}function tLA(t,e){if(t&1&&(m(0,"div",18),K(1,"Assistant"),w(),on(2,19)),t&2){let A=v(2).$implicit,i=v(2);p(2),AA("ngComponentOutlet",i.markdownComponent)("ngComponentOutletInputs",ss(2,$_A,A.text))}}function iLA(t,e){if(t&1&&(m(0,"div",17),K(1),w()),t&2){let A=v(2).$implicit;p(),qA(A.text)}}function nLA(t,e){if(t&1&&V(0,tLA,3,4)(1,iLA,2,1,"div",17),t&2){let A=v().$implicit;W(A.role==="bot"?0:1)}}function oLA(t,e){if(t&1&&(m(0,"div",13)(1,"mat-card",14),V(2,eLA,3,0,"div",15)(3,nLA,2,1),w()()),t&2){let A=e.$implicit;AA("ngClass",Vl(2,X_A,A.role==="user",A.role==="bot")),p(2),W(A.isLoading?2:3)}}function aLA(t,e){if(t&1&&Ut(0,oLA,4,5,"div",13,_i),t&2){let A=v();Jt(A.messages)}}var _v=class t{isVisible=!0;appName="";closePanel=new WA;reloadCanvas=new WA;assistantAppName="__adk_agent_builder_assistant";userId="user";currentSession="";userMessage="";messages=[];shouldAutoScroll=!1;isGenerating=!1;chatMessages;markdownComponent=h(Gh);agentService=h(sg);sessionService=h(dl);agentBuilderService=h(E0);constructor(){}ngOnInit(){this.sessionService.createSession(this.userId,this.assistantAppName).subscribe(e=>{this.currentSession=e.id;let A={appName:this.assistantAppName,userId:this.userId,sessionId:e.id,newMessage:{role:"user",parts:[{text:"hello"}]},streaming:!1,stateDelta:{root_directory:`${this.appName}/tmp/${this.appName}`}};this.messages.push({role:"bot",text:"",isLoading:!0}),this.shouldAutoScroll=!0,this.isGenerating=!0,this.agentService.runSse(A).subscribe({next:i=>nt(this,null,function*(){if(i.content){let n="";for(let o of i.content.parts)o.text&&(n+=o.text);if(n){let o=this.messages[this.messages.length-1];o.role==="bot"&&o.isLoading&&(o.text=n,o.isLoading=!1,this.shouldAutoScroll=!0)}}}),error:i=>{console.error("SSE error:",i);let n=this.messages[this.messages.length-1];n.role==="bot"&&n.isLoading&&(n.text="Sorry, I encountered an error. Please try again.",n.isLoading=!1,this.shouldAutoScroll=!0),this.isGenerating=!1},complete:()=>{this.isGenerating=!1}})})}onClosePanel(){this.closePanel.emit()}sendMessage(e){if(e.trim()){this.saveAgent(this.appName),e!="____Something went wrong, please try again"&&this.messages.push({role:"user",text:e});let A=e;this.userMessage="",this.messages.push({role:"bot",text:"",isLoading:!0}),this.shouldAutoScroll=!0,this.isGenerating=!0;let i={appName:this.assistantAppName,userId:this.userId,sessionId:this.currentSession,newMessage:{role:"user",parts:[{text:A}]},streaming:!1};this.agentService.runSse(i).subscribe({next:n=>nt(this,null,function*(){if(n.errorCode&&(n.errorCode=="MALFORMED_FUNCTION_CALL"||n.errorCode=="STOP")){this.sendMessage("____Something went wrong, please try again");return}if(n.content){let o="";for(let a of n.content.parts)a.text&&(o+=a.text);if(o){let a=this.messages[this.messages.length-1];a.role==="bot"&&a.isLoading&&(a.text=o,a.isLoading=!1,this.shouldAutoScroll=!0,this.reloadCanvas.emit())}}}),error:n=>{console.error("SSE error:",n);let o=this.messages[this.messages.length-1];o.role==="bot"&&o.isLoading&&(o.text="Sorry, I encountered an error. Please try again.",o.isLoading=!1,this.shouldAutoScroll=!0),this.isGenerating=!1},complete:()=>{this.isGenerating=!1}})}}ngAfterViewChecked(){this.shouldAutoScroll&&(this.scrollToBottom(),this.shouldAutoScroll=!1)}scrollToBottom(){try{this.chatMessages&&setTimeout(()=>{this.chatMessages.nativeElement.scrollTop=this.chatMessages.nativeElement.scrollHeight},50)}catch(e){console.error("Error scrolling to bottom:",e)}}onKeyDown(e){if(e.key==="Enter"){if(e.shiftKey)return;this.userMessage?.trim()&&this.currentSession&&(e.preventDefault(),this.sendMessage(this.userMessage))}}saveAgent(e){let A=this.agentBuilderService.getRootNode();if(!A)return;let i=new FormData,n=this.agentBuilderService.getCurrentAgentToolBoards();w0.generateYamlFile(A,i,e,n),this.agentService.agentBuildTmp(i).subscribe(o=>{console.log(o?"save to tmp":"something went wrong")})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-builder-assistant"]],viewQuery:function(A,i){if(A&1&&ai(Z_A,5),A&2){let n;ce(n=Ce())&&(i.chatMessages=n.first)}},inputs:{isVisible:"isVisible",appName:"appName"},outputs:{closePanel:"closePanel",reloadCanvas:"reloadCanvas"},decls:21,vars:6,consts:[["chatMessages",""],[1,"builder-assistant-panel"],[1,"panel-header"],[1,"panel-title"],["mat-icon-button","","matTooltip","Close assistant panel",1,"close-btn",3,"click"],[1,"panel-content"],[1,"chat-messages"],[1,"assistant-placeholder"],[1,"chat-input-container"],[1,"input-wrapper"],["cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","5","placeholder","Ask Gemini to build your agent",1,"assistant-input-box",3,"ngModelChange","keydown","ngModel","disabled"],["mat-icon-button","","matTooltip","Send message",1,"send-button",3,"click","disabled"],[1,"large-icon"],[3,"ngClass"],[1,"message-card"],[1,"loading-message"],[1,"dots"],[1,"message-text"],[1,"bot-label"],[3,"ngComponentOutlet","ngComponentOutletInputs"]],template:function(A,i){if(A&1){let n=JA();m(0,"div",1)(1,"div",2)(2,"div",3)(3,"mat-icon"),K(4,"auto_awesome"),w(),m(5,"span"),K(6,"Assistant"),w()(),m(7,"button",4),eA("click",function(){return Z(n),X(i.onClosePanel())}),m(8,"mat-icon"),K(9,"close"),w()()(),m(10,"div",5)(11,"div",6,0),V(13,ALA,7,0,"div",7)(14,aLA,2,0),w(),m(15,"div",8)(16,"div",9)(17,"textarea",10),ho("ngModelChange",function(a){return Z(n),ao(i.userMessage,a)||(i.userMessage=a),X(a)}),eA("keydown",function(a){return Z(n),X(i.onKeyDown(a))}),w(),m(18,"button",11),eA("click",function(){return Z(n),X(i.sendMessage(i.userMessage.trim()))}),m(19,"mat-icon"),K(20,"send"),w()()()()()()}A&2&&(ae("hidden",!i.isVisible),p(13),W(i.messages.length===0?13:14),p(4),Qo("ngModel",i.userMessage),AA("disabled",i.isGenerating),p(),AA("disabled",!i.userMessage.trim()||i.isGenerating))},dependencies:[fa,gs,p2,Nn,uo,fo,ba,fn,Ma,Sa,aE,KB,zp],styles:[".builder-assistant-panel[_ngcontent-%COMP%]{position:fixed;right:0;top:72px;width:400px;height:calc(100vh - 72px);background:var(--builder-assistant-panel-background-color);border-left:1px solid var(--builder-assistant-panel-border-color);box-shadow:-2px 0 10px #0006;z-index:999;display:flex;flex-direction:column;transition:transform .3s ease}.builder-assistant-panel.hidden[_ngcontent-%COMP%]{transform:translate(100%)}.panel-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--builder-assistant-panel-border-color);background:var(--builder-assistant-panel-header-background-color)}.panel-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-weight:400;font-size:16px;color:var(--builder-text-primary-color);font-family:Google Sans,Helvetica Neue,sans-serif}.panel-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:20px;width:20px;height:20px}.close-btn[_ngcontent-%COMP%]{color:var(--builder-text-tertiary-color)}.close-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-add-button-background-color)}.panel-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;background:var(--builder-assistant-panel-background-color);overflow:hidden}.assistant-placeholder[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:300px;color:var(--builder-text-secondary-color)}.assistant-placeholder[_ngcontent-%COMP%] .large-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;margin-bottom:16px;color:var(--builder-button-primary-background-color)}.assistant-placeholder[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;font-size:20px;font-weight:500;color:var(--builder-text-primary-color);font-family:Google Sans,Helvetica Neue,sans-serif}.assistant-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;line-height:1.5;color:var(--builder-text-secondary-color)}.chat-messages[_ngcontent-%COMP%]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.chat-input-container[_ngcontent-%COMP%]{padding:16px 20px 20px;border-top:none;background:var(--builder-assistant-panel-background-color)}.input-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:var(--builder-assistant-input-background-color);border-radius:50px;padding:10px 6px 10px 18px;gap:8px}.assistant-input-box[_ngcontent-%COMP%]{flex:1;color:var(--builder-assistant-input-text-color);border:none;padding:0;background:transparent;resize:none;overflow:hidden;font-family:Google Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:20px;min-height:20px;max-height:120px}.assistant-input-box[_ngcontent-%COMP%]::placeholder{color:var(--builder-assistant-input-placeholder-color);font-size:14px}.assistant-input-box[_ngcontent-%COMP%]:focus{outline:none}.assistant-input-box[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.assistant-input-box[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--builder-border-color);border-radius:4px}.send-button[_ngcontent-%COMP%]{background-color:transparent;color:var(--builder-assistant-send-button-color);width:36px;height:36px;min-width:36px;flex-shrink:0;margin:0;padding:0}.send-button[_ngcontent-%COMP%] .mat-mdc-button-touch-target{display:none}.send-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple{display:none}.send-button[_ngcontent-%COMP%]:disabled{background-color:transparent;color:var(--builder-assistant-send-button-disabled-color)}.send-button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:var(--builder-add-button-background-color);color:var(--builder-assistant-send-button-hover-color);border-radius:50%}.send-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.message-card[_ngcontent-%COMP%]{padding:10px 16px;margin:6px 0;font-size:14px;font-weight:400;position:relative;display:block;box-shadow:none;line-height:1.5;width:100%}.user-message[_ngcontent-%COMP%]{display:block;width:100%;margin-bottom:12px}.user-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--builder-assistant-user-message-background-color);border:1px solid var(--builder-assistant-user-message-border-color);border-radius:4px;color:var(--builder-assistant-user-message-text-color);padding:8px 12px}.bot-message[_ngcontent-%COMP%]{display:block;width:100%;margin-bottom:0}.bot-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:transparent;border:none;border-radius:0;color:var(--builder-assistant-bot-message-text-color);padding:0;margin:0}.bot-label[_ngcontent-%COMP%]{font-size:12px;font-weight:500;color:var(--builder-text-secondary-color);margin-bottom:8px;font-family:Google Sans,Helvetica Neue,sans-serif}.message-text[_ngcontent-%COMP%]{white-space:pre-line;word-break:break-word;overflow-wrap:break-word;font-family:Google Sans,Helvetica Neue,sans-serif}.message-text[_ngcontent-%COMP%] p{margin:0;line-height:1.4}.message-text[_ngcontent-%COMP%] p:first-child{margin-top:0}.message-text[_ngcontent-%COMP%] p:last-child{margin-bottom:0}.message-text[_ngcontent-%COMP%] ul, .message-text[_ngcontent-%COMP%] ol{margin:0;padding-left:1.5em}.message-text[_ngcontent-%COMP%] li{margin:0}.message-text[_ngcontent-%COMP%] code{background-color:#ffffff1a;padding:2px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.message-text[_ngcontent-%COMP%] pre{background-color:#ffffff0d;padding:8px 12px;border-radius:6px;overflow-x:auto;margin:.5em 0}.message-text[_ngcontent-%COMP%] pre code{background:none;padding:0}.message-text[_ngcontent-%COMP%] blockquote{border-left:3px solid var(--builder-button-primary-background-color);padding-left:12px;margin:.5em 0;font-style:italic;color:var(--builder-text-tertiary-color)}.message-text[_ngcontent-%COMP%] strong{font-weight:600}.message-text[_ngcontent-%COMP%] em{font-style:italic}.loading-message[_ngcontent-%COMP%]{display:flex;align-items:center;color:var(--builder-text-secondary-color);font-family:Google Sans,Helvetica Neue,sans-serif;padding:0;margin:0}.loading-message[_ngcontent-%COMP%] .dots[_ngcontent-%COMP%]{font-size:24px;letter-spacing:-12px;animation:_ngcontent-%COMP%_pulse 1.4s ease-in-out infinite;display:inline-block;line-height:1}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:.3}50%{opacity:1}}"]})};var Kh=class t{constructor(e,A){this.http=e;this.zone=A}apiServerDomain=zr.getApiServerBaseUrl();_currentApp=new Tt("");currentApp=this._currentApp.asObservable();isLoading=new Tt(!1);getApp(){return this.currentApp}setApp(e){this._currentApp.next(e)}getLoadingState(){return this.isLoading}runSse(e){let A=this.apiServerDomain+"/run_sse";return this.isLoading.next(!0),new ji(i=>{let n=this;fetch(A,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e)}).then(o=>{let a=o.body?.getReader(),r=new TextDecoder("utf-8"),s="",g=()=>{a?.read().then(({done:l,value:C})=>{if(this.isLoading.next(!0),l)return this.isLoading.next(!1),i.complete();let I=r.decode(C,{stream:!0});s+=I;try{s.split(/\r?\n/).filter(B=>B.startsWith("data:")).forEach(B=>{let E=B.replace(/^data:\s*/,""),Q=JSON.parse(E);n.zone.run(()=>i.next(Q))}),s=""}catch(d){d instanceof SyntaxError&&g()}g()}).catch(l=>{n.zone.run(()=>i.error(l))})};g()}).catch(o=>{n.zone.run(()=>i.error(o))})})}listApps(){if(this.apiServerDomain!=null){let e=this.apiServerDomain+"/list-apps?relative_path=./";return this.http.get(e)}return new ji}agentBuild(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+"/builder/save";return this.http.post(A,e)}return new ji}agentBuildTmp(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+"/builder/save?tmp=true";return this.http.post(A,e)}return new ji}getAgentBuilder(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/builder/app/${e}?ts=${Date.now()}`;return this.http.get(A,{responseType:"text"})}return new ji}getAgentBuilderTmp(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/builder/app/${e}?ts=${Date.now()}&tmp=true`;return this.http.get(A,{responseType:"text"})}return new ji}getSubAgentBuilder(e,A){if(this.apiServerDomain!=null){let i=this.apiServerDomain+`/builder/app/${e}?ts=${Date.now()}&file_path=${A}&tmp=true`;return this.http.get(i,{responseType:"text"})}return new ji}agentChangeCancel(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/builder/app/${e}/cancel`;return this.http.post(A,{})}return new ji}getAppInfo(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/dev/build_graph/${e}`;return this.http.get(A)}return new ji}static \u0275fac=function(A){return new(A||t)(So($s),So(Oe))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Lv="http://www.w3.org/1999/xhtml",vG={svg:"http://www.w3.org/2000/svg",xhtml:Lv,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function c2(t){var e=t+="",A=e.indexOf(":");return A>=0&&(e=t.slice(0,A))!=="xmlns"&&(t=t.slice(A+1)),vG.hasOwnProperty(e)?{space:vG[e],local:t}:t}function sLA(t){return function(){var e=this.ownerDocument,A=this.namespaceURI;return A===Lv&&e.documentElement.namespaceURI===Lv?e.createElement(t):e.createElementNS(A,t)}}function gLA(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Gv(t){var e=c2(t);return(e.local?gLA:sLA)(e)}function lLA(){}function rB(t){return t==null?lLA:function(){return this.querySelector(t)}}function paA(t){typeof t!="function"&&(t=rB(t));for(var e=this._groups,A=e.length,i=new Array(A),n=0;n=S&&(S=b+1);!(D=Q[S])&&++S=0;)(a=i[n])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function FaA(t){t||(t=wLA);function e(C,I){return C&&I?t(C.__data__,I.__data__):!C-!I}for(var A=this._groups,i=A.length,n=new Array(i),o=0;oe?1:t>=e?0:NaN}function _aA(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function LaA(){return Array.from(this)}function GaA(){for(var t=this._groups,e=0,A=t.length;e1?this.each((e==null?SLA:typeof e=="function"?RLA:xLA)(t,e,A??"")):g1(this.node(),t)}function g1(t,e){return t.style.getPropertyValue(e)||Jv(t).getComputedStyle(t,null).getPropertyValue(e)}function NLA(t){return function(){delete this[t]}}function FLA(t,e){return function(){this[t]=e}}function _LA(t,e){return function(){var A=e.apply(this,arguments);A==null?delete this[t]:this[t]=A}}function HaA(t,e){return arguments.length>1?this.each((e==null?NLA:typeof e=="function"?_LA:FLA)(t,e)):this.node()[t]}function zaA(t){return t.trim().split(/^|\s+/)}function MG(t){return t.classList||new OaA(t)}function OaA(t){this._node=t,this._names=zaA(t.getAttribute("class")||"")}OaA.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function PaA(t,e){for(var A=MG(t),i=-1,n=e.length;++i=0&&(A=e.slice(i+1),e=e.slice(0,i)),{type:e,name:A}})}function $LA(t){return function(){var e=this.__on;if(e){for(var A=0,i=-1,n=e.length,o;A{}};function crA(){for(var t=0,e=arguments.length,A={},i;t=0&&(i=A.slice(n+1),A=A.slice(0,n)),A&&!e.hasOwnProperty(A))throw new Error("unknown type: "+A);return{type:A,name:i}})}Yv.prototype=crA.prototype={constructor:Yv,on:function(t,e){var A=this._,i=oGA(t+"",A),n,o=-1,a=i.length;if(arguments.length<2){for(;++o0)for(var A=new Array(n),i=0,n,o;i()=>t;function fm(t,{sourceEvent:e,subject:A,target:i,identifier:n,active:o,x:a,y:r,dx:s,dy:g,dispatch:l}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:A,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:n,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:g,enumerable:!0,configurable:!0},_:{value:l}})}fm.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function rGA(t){return!t.ctrlKey&&!t.button}function sGA(){return this.parentNode}function gGA(t,e){return e??{x:t.x,y:t.y}}function lGA(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hv(){var t=rGA,e=sGA,A=gGA,i=lGA,n={},o=sB("start","drag","end"),a=0,r,s,g,l,C=0;function I(M){M.on("mousedown.drag",d).filter(i).on("touchstart.drag",Q).on("touchmove.drag",f,CrA).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(M,D){if(!(l||!t.call(this,M,D))){var F=S(this,e.call(this,M,D),M,D,"mouse");F&&(_r(M.view).on("mousemove.drag",B,gB).on("mouseup.drag",E,gB),Qm(M.view),Tv(M),g=!1,r=M.clientX,s=M.clientY,F("start",M))}}function B(M){if(l1(M),!g){var D=M.clientX-r,F=M.clientY-s;g=D*D+F*F>C}n.mouse("drag",M)}function E(M){_r(M.view).on("mousemove.drag mouseup.drag",null),hm(M.view,g),l1(M),n.mouse("end",M)}function Q(M,D){if(t.call(this,M,D)){var F=M.changedTouches,_=e.call(this,M,D),U=F.length,J,j;for(J=0;J>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):A===8?Ov(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):A===4?Ov(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=CGA.exec(t))?new Mg(e[1],e[2],e[3],1):(e=IGA.exec(t))?new Mg(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=dGA.exec(t))?Ov(e[1],e[2],e[3],e[4]):(e=BGA.exec(t))?Ov(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=EGA.exec(t))?urA(e[1],e[2]/100,e[3]/100,1):(e=QGA.exec(t))?urA(e[1],e[2]/100,e[3]/100,e[4]):IrA.hasOwnProperty(t)?ErA(IrA[t]):t==="transparent"?new Mg(NaN,NaN,NaN,0):null}function ErA(t){return new Mg(t>>16&255,t>>8&255,t&255,1)}function Ov(t,e,A,i){return i<=0&&(t=e=A=NaN),new Mg(t,e,A,i)}function fGA(t){return t instanceof wm||(t=c1(t)),t?(t=t.rgb(),new Mg(t.r,t.g,t.b,t.opacity)):new Mg}function Jh(t,e,A,i){return arguments.length===1?fGA(t):new Mg(t,e,A,i??1)}function Mg(t,e,A,i){this.r=+t,this.g=+e,this.b=+A,this.opacity=+i}zv(Mg,Jh,SG(wm,{brighter(t){return t=t==null?jv:Math.pow(jv,t),new Mg(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?mm:Math.pow(mm,t),new Mg(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Mg(cB(this.r),cB(this.g),cB(this.b),qv(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:QrA,formatHex:QrA,formatHex8:mGA,formatRgb:hrA,toString:hrA}));function QrA(){return`#${lB(this.r)}${lB(this.g)}${lB(this.b)}`}function mGA(){return`#${lB(this.r)}${lB(this.g)}${lB(this.b)}${lB((isNaN(this.opacity)?1:this.opacity)*255)}`}function hrA(){let t=qv(this.opacity);return`${t===1?"rgb(":"rgba("}${cB(this.r)}, ${cB(this.g)}, ${cB(this.b)}${t===1?")":`, ${t})`}`}function qv(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function cB(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function lB(t){return t=cB(t),(t<16?"0":"")+t.toString(16)}function urA(t,e,A,i){return i<=0?t=e=A=NaN:A<=0||A>=1?t=e=NaN:e<=0&&(t=NaN),new Vc(t,e,A,i)}function mrA(t){if(t instanceof Vc)return new Vc(t.h,t.s,t.l,t.opacity);if(t instanceof wm||(t=c1(t)),!t)return new Vc;if(t instanceof Vc)return t;t=t.rgb();var e=t.r/255,A=t.g/255,i=t.b/255,n=Math.min(e,A,i),o=Math.max(e,A,i),a=NaN,r=o-n,s=(o+n)/2;return r?(e===o?a=(A-i)/r+(A0&&s<1?0:a,new Vc(a,r,s,t.opacity)}function prA(t,e,A,i){return arguments.length===1?mrA(t):new Vc(t,e,A,i??1)}function Vc(t,e,A,i){this.h=+t,this.s=+e,this.l=+A,this.opacity=+i}zv(Vc,prA,SG(wm,{brighter(t){return t=t==null?jv:Math.pow(jv,t),new Vc(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?mm:Math.pow(mm,t),new Vc(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,A=this.l,i=A+(A<.5?A:1-A)*e,n=2*A-i;return new Mg(xG(t>=240?t-240:t+120,n,i),xG(t,n,i),xG(t<120?t+240:t-120,n,i),this.opacity)},clamp(){return new Vc(frA(this.h),Pv(this.s),Pv(this.l),qv(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(){let t=qv(this.opacity);return`${t===1?"hsl(":"hsla("}${frA(this.h)}, ${Pv(this.s)*100}%, ${Pv(this.l)*100}%${t===1?")":`, ${t})`}`}}));function frA(t){return t=(t||0)%360,t<0?t+360:t}function Pv(t){return Math.max(0,Math.min(1,t||0))}function xG(t,e,A){return(t<60?e+(A-e)*t/60:t<180?A:t<240?e+(A-e)*(240-t)/60:e)*255}function RG(t,e,A,i,n){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*A+(1+3*t+3*o-3*a)*i+a*n)/6}function wrA(t){var e=t.length-1;return function(A){var i=A<=0?A=0:A>=1?(A=1,e-1):Math.floor(A*e),n=t[i],o=t[i+1],a=i>0?t[i-1]:2*n-o,r=i()=>t;function pGA(t,e){return function(A){return t+A*e}}function wGA(t,e,A){return t=Math.pow(t,A),e=Math.pow(e,A)-t,A=1/A,function(i){return Math.pow(t+i*e,A)}}function yrA(t){return(t=+t)==1?Vv:function(e,A){return A-e?wGA(e,A,t):NG(isNaN(e)?A:e)}}function Vv(t,e){var A=e-t;return A?pGA(t,A):NG(isNaN(t)?e:t)}var Wv=(function t(e){var A=yrA(e);function i(n,o){var a=A((n=Jh(n)).r,(o=Jh(o)).r),r=A(n.g,o.g),s=A(n.b,o.b),g=Vv(n.opacity,o.opacity);return function(l){return n.r=a(l),n.g=r(l),n.b=s(l),n.opacity=g(l),n+""}}return i.gamma=t,i})(1);function vrA(t){return function(e){var A=e.length,i=new Array(A),n=new Array(A),o=new Array(A),a,r;for(a=0;aA&&(o=e.slice(A,o),r[a]?r[a]+=o:r[++a]=o),(i=i[0])===(n=n[0])?r[a]?r[a]+=n:r[++a]=n:(r[++a]=null,s.push({i:a,x:Hl(i,n)})),A=FG.lastIndex;return A180?l+=360:l-g>180&&(g+=360),I.push({i:C.push(n(C)+"rotate(",null,i)-2,x:Hl(g,l)})):l&&C.push(n(C)+"rotate("+l+i)}function r(g,l,C,I){g!==l?I.push({i:C.push(n(C)+"skewX(",null,i)-2,x:Hl(g,l)}):l&&C.push(n(C)+"skewX("+l+i)}function s(g,l,C,I,d,B){if(g!==C||l!==I){var E=d.push(n(d)+"scale(",null,",",null,")");B.push({i:E-4,x:Hl(g,C)},{i:E-2,x:Hl(l,I)})}else(C!==1||I!==1)&&d.push(n(d)+"scale("+C+","+I+")")}return function(g,l){var C=[],I=[];return g=t(g),l=t(l),o(g.translateX,g.translateY,l.translateX,l.translateY,C,I),a(g.rotate,l.rotate,C,I),r(g.skewX,l.skewX,C,I),s(g.scaleX,g.scaleY,l.scaleX,l.scaleY,C,I),g=l=null,function(d){for(var B=-1,E=I.length,Q;++B=0&&t._call.call(void 0,e),t=t._next;--Yh}function RrA(){CB=(A7=bm.now())+e7,Yh=ym=0;try{_rA()}finally{Yh=0,NGA(),CB=0}}function RGA(){var t=bm.now(),e=t-A7;e>NrA&&(e7-=e,A7=t)}function NGA(){for(var t,e=$v,A,i=1/0;e;)e._call?(i>e._time&&(i=e._time),t=e,e=e._next):(A=e._next,e._next=null,e=t?t._next=A:$v=A);vm=t,YG(i)}function YG(t){if(!Yh){ym&&(ym=clearTimeout(ym));var e=t-CB;e>24?(t<1/0&&(ym=setTimeout(RrA,t-bm.now()-e7)),Dm&&(Dm=clearInterval(Dm))):(Dm||(A7=bm.now(),Dm=setInterval(RGA,NrA)),Yh=1,FrA(RrA))}}function i7(t,e,A){var i=new Mm;return e=e==null?0:+e,i.restart(n=>{i.stop(),t(n+e)},e,A),i}var FGA=sB("start","end","cancel","interrupt"),_GA=[],KrA=0,LrA=1,o7=2,n7=3,GrA=4,a7=5,Sm=6;function C1(t,e,A,i,n,o){var a=t.__transition;if(!a)t.__transition={};else if(A in a)return;LGA(t,A,{name:e,index:i,group:n,on:FGA,tween:_GA,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:KrA})}function xm(t,e){var A=ur(t,e);if(A.state>KrA)throw new Error("too late; already scheduled");return A}function ns(t,e){var A=ur(t,e);if(A.state>n7)throw new Error("too late; already running");return A}function ur(t,e){var A=t.__transition;if(!A||!(A=A[e]))throw new Error("transition not found");return A}function LGA(t,e,A){var i=t.__transition,n;i[e]=A,A.timer=t7(o,0,A.time);function o(g){A.state=LrA,A.timer.restart(a,A.delay,A.time),A.delay<=g&&a(g-A.delay)}function a(g){var l,C,I,d;if(A.state!==LrA)return s();for(l in i)if(d=i[l],d.name===A.name){if(d.state===n7)return i7(a);d.state===GrA?(d.state=Sm,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[l]):+lo7&&i.state=0&&(e=e.slice(0,A)),!e||e==="start"})}function tKA(t,e,A){var i,n,o=eKA(e)?xm:ns;return function(){var a=o(this,t),r=a.on;r!==i&&(n=(i=r).copy()).on(e,A),a.on=n}}function VrA(t,e){var A=this._id;return arguments.length<2?ur(this.node(),A).on.on(t):this.each(tKA(A,t,e))}function iKA(t){return function(){var e=this.parentNode;for(var A in this.__transition)if(+A!==t)return;e&&e.removeChild(this)}}function WrA(){return this.on("end.remove",iKA(this._id))}function ZrA(t){var e=this._name,A=this._id;typeof t!="function"&&(t=rB(t));for(var i=this._groups,n=i.length,o=new Array(n),a=0;a()=>t;function TG(t,{sourceEvent:e,target:A,transform:i,dispatch:n}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:A,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:n}})}function Wc(t,e,A){this.k=t,this.x=e,this.y=A}Wc.prototype={constructor:Wc,scale:function(t){return t===1?this:new Wc(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Wc(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var I1=new Wc(1,0,0);HG.prototype=Wc.prototype;function HG(t){for(;!t.__zoom;)if(!(t=t.parentNode))return I1;return t.__zoom}function l7(t){t.stopImmediatePropagation()}function Hh(t){t.preventDefault(),t.stopImmediatePropagation()}function hKA(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function uKA(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function gsA(){return this.__zoom||I1}function fKA(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function mKA(){return navigator.maxTouchPoints||"ontouchstart"in this}function pKA(t,e,A){var i=t.invertX(e[0][0])-A[0][0],n=t.invertX(e[1][0])-A[1][0],o=t.invertY(e[0][1])-A[0][1],a=t.invertY(e[1][1])-A[1][1];return t.translate(n>i?(i+n)/2:Math.min(0,i)||Math.max(0,n),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function zG(){var t=hKA,e=uKA,A=pKA,i=fKA,n=mKA,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],r=250,s=JG,g=sB("start","zoom","end"),l,C,I,d=500,B=150,E=0,Q=10;function f(P){P.property("__zoom",gsA).on("wheel.zoom",U,{passive:!1}).on("mousedown.zoom",J).on("dblclick.zoom",j).filter(n).on("touchstart.zoom",$).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",DA).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}f.transform=function(P,aA,iA,BA){var oA=P.selection?P.selection():P;oA.property("__zoom",gsA),P!==oA?D(P,aA,iA,BA):oA.interrupt().each(function(){F(this,arguments).event(BA).start().zoom(null,typeof aA=="function"?aA.apply(this,arguments):aA).end()})},f.scaleBy=function(P,aA,iA,BA){f.scaleTo(P,function(){var oA=this.__zoom.k,sA=typeof aA=="function"?aA.apply(this,arguments):aA;return oA*sA},iA,BA)},f.scaleTo=function(P,aA,iA,BA){f.transform(P,function(){var oA=e.apply(this,arguments),sA=this.__zoom,hA=iA==null?M(oA):typeof iA=="function"?iA.apply(this,arguments):iA,YA=sA.invert(hA),ee=typeof aA=="function"?aA.apply(this,arguments):aA;return A(S(b(sA,ee),hA,YA),oA,a)},iA,BA)},f.translateBy=function(P,aA,iA,BA){f.transform(P,function(){return A(this.__zoom.translate(typeof aA=="function"?aA.apply(this,arguments):aA,typeof iA=="function"?iA.apply(this,arguments):iA),e.apply(this,arguments),a)},null,BA)},f.translateTo=function(P,aA,iA,BA,oA){f.transform(P,function(){var sA=e.apply(this,arguments),hA=this.__zoom,YA=BA==null?M(sA):typeof BA=="function"?BA.apply(this,arguments):BA;return A(I1.translate(YA[0],YA[1]).scale(hA.k).translate(typeof aA=="function"?-aA.apply(this,arguments):-aA,typeof iA=="function"?-iA.apply(this,arguments):-iA),sA,a)},BA,oA)};function b(P,aA){return aA=Math.max(o[0],Math.min(o[1],aA)),aA===P.k?P:new Wc(aA,P.x,P.y)}function S(P,aA,iA){var BA=aA[0]-iA[0]*P.k,oA=aA[1]-iA[1]*P.k;return BA===P.x&&oA===P.y?P:new Wc(P.k,BA,oA)}function M(P){return[(+P[0][0]+ +P[1][0])/2,(+P[0][1]+ +P[1][1])/2]}function D(P,aA,iA,BA){P.on("start.zoom",function(){F(this,arguments).event(BA).start()}).on("interrupt.zoom end.zoom",function(){F(this,arguments).event(BA).end()}).tween("zoom",function(){var oA=this,sA=arguments,hA=F(oA,sA).event(BA),YA=e.apply(oA,sA),ee=iA==null?M(YA):typeof iA=="function"?iA.apply(oA,sA):iA,UA=Math.max(YA[1][0]-YA[0][0],YA[1][1]-YA[0][1]),mA=oA.__zoom,KA=typeof aA=="function"?aA.apply(oA,sA):aA,Pe=s(mA.invert(ee).concat(UA/mA.k),KA.invert(ee).concat(UA/KA.k));return function(Ue){if(Ue===1)Ue=KA;else{var HA=Pe(Ue),uA=UA/HA[2];Ue=new Wc(uA,ee[0]-HA[0]*uA,ee[1]-HA[1]*uA)}hA.zoom(null,Ue)}})}function F(P,aA,iA){return!iA&&P.__zooming||new _(P,aA)}function _(P,aA){this.that=P,this.args=aA,this.active=0,this.sourceEvent=null,this.extent=e.apply(P,aA),this.taps=0}_.prototype={event:function(P){return P&&(this.sourceEvent=P),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(P,aA){return this.mouse&&P!=="mouse"&&(this.mouse[1]=aA.invert(this.mouse[0])),this.touch0&&P!=="touch"&&(this.touch0[1]=aA.invert(this.touch0[0])),this.touch1&&P!=="touch"&&(this.touch1[1]=aA.invert(this.touch1[0])),this.that.__zoom=aA,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(P){var aA=_r(this.that).datum();g.call(P,this.that,new TG(P,{sourceEvent:this.sourceEvent,target:f,type:P,transform:this.that.__zoom,dispatch:g}),aA)}};function U(P,...aA){if(!t.apply(this,arguments))return;var iA=F(this,aA).event(P),BA=this.__zoom,oA=Math.max(o[0],Math.min(o[1],BA.k*Math.pow(2,i.apply(this,arguments)))),sA=Tl(P);if(iA.wheel)(iA.mouse[0][0]!==sA[0]||iA.mouse[0][1]!==sA[1])&&(iA.mouse[1]=BA.invert(iA.mouse[0]=sA)),clearTimeout(iA.wheel);else{if(BA.k===oA)return;iA.mouse=[sA,BA.invert(sA)],IB(this),iA.start()}Hh(P),iA.wheel=setTimeout(hA,B),iA.zoom("mouse",A(S(b(BA,oA),iA.mouse[0],iA.mouse[1]),iA.extent,a));function hA(){iA.wheel=null,iA.end()}}function J(P,...aA){if(I||!t.apply(this,arguments))return;var iA=P.currentTarget,BA=F(this,aA,!0).event(P),oA=_r(P.view).on("mousemove.zoom",ee,!0).on("mouseup.zoom",UA,!0),sA=Tl(P,iA),hA=P.clientX,YA=P.clientY;Qm(P.view),l7(P),BA.mouse=[sA,this.__zoom.invert(sA)],IB(this),BA.start();function ee(mA){if(Hh(mA),!BA.moved){var KA=mA.clientX-hA,Pe=mA.clientY-YA;BA.moved=KA*KA+Pe*Pe>E}BA.event(mA).zoom("mouse",A(S(BA.that.__zoom,BA.mouse[0]=Tl(mA,iA),BA.mouse[1]),BA.extent,a))}function UA(mA){oA.on("mousemove.zoom mouseup.zoom",null),hm(mA.view,BA.moved),Hh(mA),BA.event(mA).end()}}function j(P,...aA){if(t.apply(this,arguments)){var iA=this.__zoom,BA=Tl(P.changedTouches?P.changedTouches[0]:P,this),oA=iA.invert(BA),sA=iA.k*(P.shiftKey?.5:2),hA=A(S(b(iA,sA),BA,oA),e.apply(this,aA),a);Hh(P),r>0?_r(this).transition().duration(r).call(D,hA,BA,P):_r(this).call(f.transform,hA,BA,P)}}function $(P,...aA){if(t.apply(this,arguments)){var iA=P.touches,BA=iA.length,oA=F(this,aA,P.changedTouches.length===BA).event(P),sA,hA,YA,ee;for(l7(P),hA=0;hA{let A=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),i=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(A*i)};function vsA(t){if(t.length===0)return{x:0,y:0,width:0,height:0};let e={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return t.forEach(A=>{let i=zUA(A);e=PUA(e,i)}),OUA(e)}function HUA(t,e,A){let i=e.find(o=>o.rawNode.id===t);if(!i)return[];let n=C7(i);return e.filter(o=>{if(o.rawNode.id===t)return!1;let a=TUA(C7(o),n);return A?.partially?a>0:a>=n.width*n.height})}function zUA(t){return{x:t.point().x,y:t.point().y,x2:t.point().x+t.size().width,y2:t.point().y+t.size().height}}function C7(t){return{x:t.globalPoint().x,y:t.globalPoint().y,width:t.width(),height:t.height()}}function OUA({x:t,y:e,x2:A,y2:i}){return{x:t,y:e,width:A-t,height:i-e}}function PUA(t,e){return{x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}}var I7=class{constructor(e){this.settings=e,this.curve=e.curve??"bezier",this.type=e.type??"default",this.mode=e.mode??"strict";let A=this.getValidators(e);this.validator=i=>A.every(n=>n(i))}getValidators(e){let A=[];return A.push(jUA),this.mode==="loose"&&A.push(qUA),e.validator&&A.push(e.validator),A}},jUA=t=>t.source!==t.target,qUA=t=>t.sourceHandle!==void 0&&t.targetHandle!==void 0;function Oh(t){return t.split("").reduce((e,A)=>(e=(e<<5)-e+A.charCodeAt(0),e&e),0)}var Sg=(()=>{class t{constructor(){this.nodes=jA([],{equal:(A,i)=>!A.length&&!i.length?!0:A===i}),this.rawNodes=Ke(()=>this.nodes().map(A=>A.rawNode)),this.edges=jA([],{equal:(A,i)=>!A.length&&!i.length?!0:A===i}),this.rawEdges=Ke(()=>this.edges().map(A=>A.edge)),this.validEdges=Ke(()=>{let A=this.nodes();return this.edges().filter(i=>A.includes(i.source())&&A.includes(i.target()))}),this.connection=jA(new I7({})),this.markers=Ke(()=>{let A=new Map;this.validEdges().forEach(n=>{if(n.edge.markers?.start){let o=Oh(JSON.stringify(n.edge.markers.start));A.set(o,n.edge.markers.start)}if(n.edge.markers?.end){let o=Oh(JSON.stringify(n.edge.markers.end));A.set(o,n.edge.markers.end)}});let i=this.connection().settings.marker;if(i){let n=Oh(JSON.stringify(i));A.set(n,i)}return A}),this.entities=Ke(()=>[...this.nodes(),...this.edges()]),this.minimap=jA(null)}getNode(A){return this.nodes().find(({rawNode:i})=>i.id===A)}getDetachedEdges(){return this.edges().filter(A=>A.detached())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function VUA(t,e,A,i,n,o){let a=e/(t.width*(1+o)),r=A/(t.height*(1+o)),s=Math.min(a,r),g=WUA(s,i,n),l=t.x+t.width/2,C=t.y+t.height/2,I=e/2-l*g,d=A/2-C*g;return{x:I,y:d,zoom:g}}function WUA(t,e=0,A=1){return Math.min(Math.max(t,e),A)}function ZUA(t,e,A){let i=t.zoom;return{x:-t.x/i,y:-t.y/i,width:e/i,height:A/i}}function XUA(t,e,A,i){let n=ZUA(e,A,i);return!(t.x+t.widthn.x+n.width||t.y+t.heightn.y+n.height)}var $UA={detachedGroupsLayer:!1,virtualization:!1,virtualizationZoomThreshold:.5,lazyLoadTrigger:"immediate"},Ms=(()=>{class t{constructor(){this.entitiesSelectable=jA(!0),this.elevateNodesOnSelect=jA(!0),this.elevateEdgesOnSelect=jA(!0),this.view=jA([400,400]),this.computedFlowWidth=jA(0),this.computedFlowHeight=jA(0),this.minZoom=jA(.5),this.maxZoom=jA(3),this.background=jA({type:"solid",color:"#fff"}),this.snapGrid=jA([1,1]),this.optimization=jA($UA)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),dB=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.flowSettingsService=h(Ms),this.writableViewport=jA({changeType:"initial",state:t.getDefaultViewport(),duration:0}),this.readableViewport=jA(t.getDefaultViewport()),this.viewportChangeEnd$=new $A}static getDefaultViewport(){return{zoom:1,x:0,y:0}}fitView(A={padding:.1,duration:0,nodes:[]}){let i=this.getBoundsNodes(A.nodes??[]),n=VUA(vsA(i),this.flowSettingsService.computedFlowWidth(),this.flowSettingsService.computedFlowHeight(),this.flowSettingsService.minZoom(),this.flowSettingsService.maxZoom(),A.padding??.1),o=A.duration??0;this.writableViewport.set({changeType:"absolute",state:n,duration:o})}triggerViewportChangeEvent(A){A==="end"&&this.viewportChangeEnd$.next()}getBoundsNodes(A){return A?.length?A.map(i=>this.entitiesService.nodes().find(({rawNode:n})=>n.id===i)).filter(i=>!!i):this.entitiesService.nodes()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function d2(t){return t!==void 0}var p7=(()=>{class t{constructor(){this.element=h(ge).nativeElement}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","rootSvgRef",""]]})}}return t})();function lsA(){let t=window.navigator.userAgent.toLowerCase(),e=/(macintosh|macintel|macppc|mac68k|macos)/i,A=/(win32|win64|windows|wince)/i,i=/(iphone|ipad|ipod)/i,n=null;return e.test(t)?n="macos":i.test(t)?n="ios":A.test(t)?n="windows":/android/.test(t)?n="android":!n&&/linux/.test(t)&&(n="linux"),n}var qG=(()=>{class t{constructor(){this.actions=jA({multiSelection:[lsA()==="macos"?"MetaLeft":"ControlLeft",lsA()==="macos"?"MetaRight":"ControlRight"]}),this.actionsActive={multiSelection:!1},$n(this.actions).pipe(ki(()=>hi(il(document,"keydown").pipe(oi(A=>{for(let i in this.actions())(this.actions()[i]??[]).includes(A.code)&&(this.actionsActive[i]=!0)})),il(document,"keyup").pipe(oi(A=>{for(let i in this.actions())(this.actions()[i]??[]).includes(A.code)&&(this.actionsActive[i]=!1)})))),Tr()).subscribe()}setShortcuts(A){this.actions.update(i=>gA(gA({},i),A))}isActiveAction(A){return this.actionsActive[A]}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),Gm=(()=>{class t{constructor(){this.flowEntitiesService=h(Sg),this.keyboardService=h(qG),this.viewport$=new $A,this.resetSelection=this.viewport$.pipe(oi(({start:A,end:i,target:n})=>{if(A&&i&&n){let o=t.delta,a=Math.abs(i.x-A.x),r=Math.abs(i.y-A.y),s=ai.selected.set(!1)),A&&A.selected.set(!0))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),OG=(()=>{class t{constructor(){this.rootSvg=h(p7).element,this.host=h(ge).nativeElement,this.selectionService=h(Gm),this.viewportService=h(dB),this.flowSettingsService=h(Ms),this.zone=h(Oe),this.rootSvgSelection=_r(this.rootSvg),this.transform=jA(""),this.viewportForSelection={},this.manualViewportChangeEffect=La(()=>{let A=this.viewportService.writableViewport(),i=A.state;if(A.changeType!=="initial"){if(d2(i.zoom)&&!d2(i.x)&&!d2(i.y)){this.rootSvgSelection.transition().duration(A.duration).call(this.zoomBehavior.scaleTo,i.zoom);return}if(d2(i.x)&&d2(i.y)&&!d2(i.zoom)){let n=la(this.viewportService.readableViewport).zoom;this.rootSvgSelection.transition().duration(A.duration).call(this.zoomBehavior.transform,I1.translate(i.x,i.y).scale(n));return}if(d2(i.x)&&d2(i.y)&&d2(i.zoom)){this.rootSvgSelection.transition().duration(A.duration).call(this.zoomBehavior.transform,I1.translate(i.x,i.y).scale(i.zoom));return}}},{allowSignalWrites:!0}),this.handleZoom=({transform:A})=>{this.viewportService.readableViewport.set(PG(A)),this.transform.set(A.toString())},this.handleZoomStart=({transform:A})=>{this.viewportForSelection={start:PG(A)}},this.handleZoomEnd=({transform:A,sourceEvent:i})=>{this.zone.run(()=>{this.viewportForSelection=be(gA({},this.viewportForSelection),{end:PG(A),target:AJA(i)}),this.viewportService.triggerViewportChangeEvent("end"),this.selectionService.setViewport(this.viewportForSelection)})},this.filterCondition=A=>A.type==="mousedown"||A.type==="touchstart"?A.target.closest(".vflow-node")===null:!0}ngOnInit(){this.zone.runOutsideAngular(()=>{this.zoomBehavior=zG().scaleExtent([this.flowSettingsService.minZoom(),this.flowSettingsService.maxZoom()]).filter(this.filterCondition).on("start",this.handleZoomStart).on("zoom",this.handleZoom).on("end",this.handleZoomEnd),this.rootSvgSelection.call(this.zoomBehavior).on("dblclick.zoom",null)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["g","mapContext",""]],hostVars:1,hostBindings:function(i,n){i&2&&ie("transform",n.transform())}})}}return t})(),PG=t=>({zoom:t.k,x:t.x,y:t.y}),AJA=t=>{if(t instanceof Event&&t.target instanceof Element)return t.target},d7=t=>Math.round(t*100)/100;function kg(t,e){return Math.ceil(t/e)*e}var d1=(()=>{class t{constructor(){this.status=jA({state:"idle",payload:null})}setIdleStatus(){this.status.set({state:"idle",payload:null})}setConnectionStartStatus(A,i){this.status.set({state:"connection-start",payload:{source:A,sourceHandle:i}})}setReconnectionStartStatus(A,i,n){this.status.set({state:"reconnection-start",payload:{source:A,sourceHandle:i,oldEdge:n}})}setConnectionValidationStatus(A,i,n,o,a){this.status.set({state:"connection-validation",payload:{source:i,target:n,sourceHandle:o,targetHandle:a,valid:A}})}setReconnectionValidationStatus(A,i,n,o,a,r){this.status.set({state:"reconnection-validation",payload:{source:i,target:n,sourceHandle:o,targetHandle:a,valid:A,oldEdge:r}})}setConnectionEndStatus(A,i,n,o){this.status.set({state:"connection-end",payload:{source:A,target:i,sourceHandle:n,targetHandle:o}})}setReconnectionEndStatus(A,i,n,o,a){this.status.set({state:"reconnection-end",payload:{source:A,target:i,sourceHandle:n,targetHandle:o,oldEdge:a}})}setNodeDragStartStatus(A){this.status.set({state:"node-drag-start",payload:{node:A}})}setNodeDragEndStatus(A){this.status.set({state:"node-drag-end",payload:{node:A}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function csA(t){return t.state==="node-drag-start"}function eJA(t){return t.state==="node-drag-end"}var bsA=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.settingsService=h(Ms),this.flowStatusService=h(d1)}enable(A,i){_r(A).call(this.getDragBehavior(i))}disable(A){_r(A).call(Hv().on("drag",null))}destroy(A){_r(A).on(".drag",null)}getDragBehavior(A){let i=[],n=[],o=a=>A.dragHandlesCount()?!!a.target.closest(".vflow-drag-handle"):!0;return Hv().filter(o).on("start",a=>{i=this.getDragNodes(A),this.flowStatusService.setNodeDragStartStatus(A),n=i.map(r=>({x:r.point().x-a.x,y:r.point().y-a.y}))}).on("drag",a=>{i.forEach((r,s)=>{let g={x:d7(a.x+n[s].x),y:d7(a.y+n[s].y)};this.moveNode(r,g)})}).on("end",()=>{this.flowStatusService.setNodeDragEndStatus(A)})}getDragNodes(A){return A.selected()?this.entitiesService.nodes().filter(i=>i.selected()&&i.draggable()):[A]}moveNode(A,i){i=this.alignToGrid(i);let n=A.parent();n&&(i.x=Math.min(n.width()-A.width(),i.x),i.x=Math.max(0,i.x),i.y=Math.min(n.height()-A.height(),i.y),i.y=Math.max(0,i.y)),A.setPoint(i)}alignToGrid(A){let[i,n]=this.settingsService.snapGrid();return i>1&&(A.x=kg(A.x,i)),n>1&&(A.y=kg(A.y,n)),A}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),CsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","edge",""]]})}}return t})(),IsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","connection",""]]})}}return t})(),dsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","edgeLabelHtml",""]]})}}return t})(),B7=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","nodeHtml",""]]})}}return t})(),BsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","nodeSvg",""]]})}}return t})(),E7=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","groupNode",""]]})}}return t})();function EsA(t,e){let A=t.reduce((i,n)=>(i[n.rawNode.id]=n,i),{});e.forEach(i=>{i.source.set(A[i.edge.source]),i.target.set(A[i.edge.target])})}function _m(t){try{return new Proxy(t,{apply:()=>{}})(),!0}catch{return!1}}var VG=(()=>{class t{constructor(){this._event$=new $A,this.event$=this._event$.asObservable()}pushEvent(A){this._event$.next(A)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),Ph=(()=>{class t{constructor(){this.model=jA(null)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),MsA=(()=>{class t{constructor(){this.eventBus=h(VG),this.nodeService=h(Ph),this.destroyRef=h(Cr),this.selected=this.nodeService.model().selected,this.data=jA(void 0)}ngOnInit(){this.trackEvents().pipe(Tr(this.destroyRef)).subscribe()}trackEvents(){let A=Object.getOwnPropertyNames(this),i=new Map;for(let n of A){let o=this[n];o instanceof WA&&i.set(o,n),o instanceof DU&&i.set(tJA(o),n)}return hi(...Array.from(i.keys()).map(n=>n.pipe(oi(o=>{this.eventBus.pushEvent({nodeId:this.nodeService.model()?.rawNode.id??"",eventName:i.get(n),eventPayload:o})}))))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,standalone:!1})}}return t})();function tJA(t){return new ji(e=>{let A=t.subscribe(i=>{e.next(i)});return()=>{A.unsubscribe()}})}var iJA=(()=>{class t extends MsA{constructor(){super(...arguments),this.node=at.required()}ngOnInit(){let A=this.node().data;A&&(this.data=A),super.ngOnInit()}static{this.\u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})()}static{this.\u0275dir=OA({type:t,inputs:{node:[1,"node"]},standalone:!1,features:[dt]})}}return t})(),nJA=(()=>{class t extends MsA{constructor(){super(...arguments),this.node=at.required()}ngOnInit(){this.node().data&&this.data.set(this.node().data),super.ngOnInit()}static{this.\u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})()}static{this.\u0275dir=OA({type:t,inputs:{node:[1,"node"]},standalone:!1,features:[dt]})}}return t})();function ksA(t){return Object.prototype.isPrototypeOf.call(nJA,t)}function SsA(t){return Object.prototype.isPrototypeOf.call(iJA,t)}function oJA(t){return typeof t.point=="function"}function aJA(t){return ksA(t.type)?!0:_m(t.type)&&!_m(t.point)}function rJA(t){return SsA(t.type)?!0:_m(t.type)&&_m(t.point)}var Q7=2;function sJA(t){return oJA(t)?t:be(gA({},gJA(t)),{id:t.id,type:t.type})}function gJA(t){let e={};for(let A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=jA(t[A]));return e}function lJA(t,e,A){!e&&CU(t);let i=e??h(ft);return A?ir(i,A):i}function Lm(t,e){let A=lJA(Lm,e?.injector),i;return Ke(()=>(i||(i=la(()=>_s(t,be(gA({},e),{injector:A})))),i()))}function cJA(t){return t.rawNode.type==="default-group"||t.rawNode.type==="template-group"}var BB=(()=>{class t{constructor(){this.flowEntitiesService=h(Sg),this.flowSettingsService=h(Ms),this.viewportService=h(dB),this.nodes=Ke(()=>this.flowSettingsService.optimization().virtualization?this.viewportNodesAfterInteraction().sort((A,i)=>A.renderOrder()-i.renderOrder()):[...this.flowEntitiesService.nodes()].sort((A,i)=>A.renderOrder()-i.renderOrder())),this.groups=Ke(()=>this.nodes().filter(A=>!!A.children().length||cJA(A))),this.nonGroups=Ke(()=>this.nodes().filter(A=>!this.groups().includes(A))),this.viewportNodes=Ke(()=>{let A=this.flowEntitiesService.nodes(),i=this.viewportService.readableViewport(),n=this.flowSettingsService.computedFlowWidth(),o=this.flowSettingsService.computedFlowHeight();return A.filter(a=>{let{x:r,y:s}=a.globalPoint(),g=a.width(),l=a.height();return XUA({x:r,y:s,width:g,height:l},i,n,o)})}),this.viewportNodesAfterInteraction=Lm(hi($n(this.flowEntitiesService.nodes).pipe(fB(qm),Ze(A=>!!A.length)),this.viewportService.viewportChangeEnd$.pipe(Ps(300))).pipe(fe(()=>{let A=this.viewportService.readableViewport(),i=this.flowSettingsService.optimization().virtualizationZoomThreshold;return A.zoomMath.max(...this.flowEntitiesService.nodes().map(A=>A.renderOrder())))}pullNode(A){A.renderOrder.set(this.maxOrder()+1),A.children().forEach(i=>this.pullNode(i))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function h7(t,e){e||(e={equal:Object.is});let A;return Ke(()=>A=t(A),e)}var CJA=(()=>{class t{static{this.defaultWidth=100}static{this.defaultHeight=50}static{this.defaultColor="#1b262c"}constructor(A){this.rawNode=A,this.entitiesService=h(Sg),this.settingsService=h(Ms),this.nodeRenderingService=h(BB),this.isVisible=jA(!1),this.point=jA({x:0,y:0}),this.width=jA(t.defaultWidth),this.height=jA(t.defaultHeight),this.size=Ke(()=>({width:this.width(),height:this.height()})),this.styleWidth=Ke(()=>this.controlledByResizer()?`${this.width()}px`:"100%"),this.styleHeight=Ke(()=>this.controlledByResizer()?`${this.height()}px`:"100%"),this.foWidth=Ke(()=>this.width()+Q7),this.foHeight=Ke(()=>this.height()+Q7),this.renderOrder=jA(0),this.selected=jA(!1),this.preview=jA({style:{}}),this.globalPoint=Ke(()=>{let n=this.parent(),o=this.point().x,a=this.point().y;for(;n!==null;)o+=n.point().x,a+=n.point().y,n=n.parent();return{x:o,y:a}}),this.pointTransform=Ke(()=>`translate(${this.globalPoint().x}, ${this.globalPoint().y})`),this.handles=jA([]),this.draggable=jA(!0),this.dragHandlesCount=jA(0),this.magnetRadius=20,this.isComponentType=aJA(this.rawNode)||rJA(this.rawNode),this.shouldLoad=h7(n=>{if(n||this.settingsService.optimization().lazyLoadTrigger==="immediate")return!0;if(this.settingsService.optimization().lazyLoadTrigger==="viewport"){if(ksA(this.rawNode.type)||SsA(this.rawNode.type))return!0;if(_m(this.rawNode.type)||this.rawNode.type==="html-template"||this.rawNode.type==="svg-template"||this.rawNode.type==="template-group")return this.nodeRenderingService.viewportNodes().includes(this)}return!0}),this.componentInstance$=$n(this.shouldLoad).pipe(Ze(Boolean),ki(()=>this.rawNode.type()),ea(()=>se(this.rawNode.type)),js(1)),this.text=jA(""),this.componentTypeInputs={node:this.rawNode},this.parent=Ke(()=>this.entitiesService.nodes().find(n=>n.rawNode.id===this.parentId())??null),this.children=Ke(()=>this.entitiesService.nodes().filter(n=>n.parentId()===this.rawNode.id)),this.color=jA(t.defaultColor),this.controlledByResizer=jA(!1),this.resizable=jA(!1),this.resizing=jA(!1),this.resizerTemplate=jA(null),this.context={$implicit:{}},this.parentId=jA(null);let i=sJA(A);i.point&&(this.point=i.point),i.width&&(this.width=i.width),i.height&&(this.height=i.height),i.draggable&&(this.draggable=i.draggable),i.parentId&&(this.parentId=i.parentId),i.preview&&(this.preview=i.preview),i.type==="default-group"&&i.color&&(this.color=i.color),i.type==="default-group"&&i.resizable&&(this.resizable=i.resizable),i.type==="default"&&i.text&&(this.text=i.text),i.type==="html-template"&&(this.context={$implicit:{node:A,selected:this.selected.asReadonly(),shouldLoad:this.shouldLoad}}),i.type==="svg-template"&&(this.context={$implicit:{node:A,selected:this.selected.asReadonly(),width:this.width.asReadonly(),height:this.height.asReadonly(),shouldLoad:this.shouldLoad}}),i.type==="template-group"&&(this.context={$implicit:{node:A,selected:this.selected.asReadonly(),width:this.width.asReadonly(),height:this.height.asReadonly(),shouldLoad:this.shouldLoad}}),this.point$=$n(this.point),this.width$=$n(this.width),this.height$=$n(this.height),this.size$=$n(this.size),this.selected$=$n(this.selected),this.handles$=$n(this.handles)}setPoint(A){this.point.set(A)}}return t})(),Nm=class{constructor(e){this.edgeLabel=e,this.size=jA({width:0,height:0})}};function B2(t,e,A){return{x:(1-A)*t.x+A*e.x,y:(1-A)*t.y+A*e.y}}function WG({sourcePoint:t,targetPoint:e}){return{path:`M ${t.x},${t.y}L ${e.x},${e.y}`,labelPoints:{start:B2(t,e,.15),center:B2(t,e,.5),end:B2(t,e,.85)}}}function ZG({sourcePoint:t,targetPoint:e,sourcePosition:A,targetPosition:i}){let n={x:t.x-e.x,y:t.y-e.y},o=QsA(t,A,n),a=QsA(e,i,n),r=`M${t.x},${t.y} C${o.x},${o.y} ${a.x},${a.y} ${e.x},${e.y}`;return IJA(r,t,e,o,a)}function QsA(t,e,A){let i={x:0,y:0};switch(e){case"top":i.y=1;break;case"bottom":i.y=-1;break;case"right":i.x=1;break;case"left":i.x=-1;break}let n={x:A.x*Math.abs(i.x),y:A.y*Math.abs(i.y)},a=.25*25*Math.sqrt(Math.abs(n.x+n.y));return{x:t.x+i.x*a,y:t.y-i.y*a}}function IJA(t,e,A,i,n){return{path:t,labelPoints:{start:jG(e,A,i,n,.1),center:jG(e,A,i,n,.5),end:jG(e,A,i,n,.9)}}}function jG(t,e,A,i,n){let o=B2(t,A,n),a=B2(A,i,n),r=B2(i,e,n);return B2(B2(o,a,n),B2(a,r,n),n)}var hsA={left:{x:-1,y:0},right:{x:1,y:0},top:{x:0,y:-1},bottom:{x:0,y:1}};function dJA(t,e){let A=Math.abs(e.x-t.x)/2,i=e.xe==="left"||e==="right"?t.xMath.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function EJA({source:t,sourcePosition:e="bottom",target:A,targetPosition:i="top",offset:n}){let o=hsA[e],a=hsA[i],r={x:t.x+o.x*n,y:t.y+o.y*n},s={x:A.x+a.x*n,y:A.y+a.y*n},g=BJA({source:r,sourcePosition:e,target:s}),l=g.x!==0?"x":"y",C=g[l],I=[],d,B,E={x:0,y:0},Q={x:0,y:0},[f,b]=dJA(t,A);if(o[l]*a[l]===-1){d=f,B=b;let M=[{x:d,y:r.y},{x:d,y:s.y}],D=[{x:r.x,y:B},{x:s.x,y:B}];o[l]===C?I=l==="x"?M:D:I=l==="x"?D:M}else{let M=[{x:r.x,y:s.y}],D=[{x:s.x,y:r.y}];if(l==="x"?I=o.x===C?D:M:I=o.y===C?M:D,e===i){let j=Math.abs(t[l]-A[l]);if(j<=n){let $=Math.min(n-1,n-j);o[l]===C?E[l]=(r[l]>t[l]?-1:1)*$:Q[l]=(s[l]>A[l]?-1:1)*$}}if(e!==i){let j=l==="x"?"y":"x",$=o[l]===a[j],O=r[j]>s[j],DA=r[j]=J?(d=(F.x+_.x)/2,B=I[0].y):(d=I[0].x,B=(F.y+_.y)/2)}return[[t,{x:r.x+E.x,y:r.y+E.y},...I,{x:s.x+Q.x,y:s.y+Q.y},A],d,B]}function QJA(t,e,A,i){let n=Math.min(usA(t,e)/2,usA(e,A)/2,i),{x:o,y:a}=e;if(t.x===o&&o===A.x||t.y===a&&a===A.y)return`L${o} ${a}`;if(t.y===a){let g=t.x{let f="";return Q>0&&Q{let E=I*B;if(E<=0)return o[0];if(E>=I)return o[g-1];let Q=0,f=g-1;for(;Q>>1;C[_](this.source()?.shouldLoad()??!1)&&(this.target()?.shouldLoad()??!1)),this.renderOrder=jA(0),this.detached=Ke(()=>{let A=this.source(),i=this.target();if(!A||!i)return!0;let n=!1,o=!1;return this.edge.sourceHandle?n=!!A.handles().find(a=>a.rawHandle.id===this.edge.sourceHandle):n=!!A.handles().find(a=>a.rawHandle.type==="source"),this.edge.targetHandle?o=!!i.handles().find(a=>a.rawHandle.id===this.edge.targetHandle):o=!!i.handles().find(a=>a.rawHandle.type==="target"),!n||!o}),this.detached$=$n(this.detached),this.path=Ke(()=>{let A=this.sourceHandle(),i=this.targetHandle();if(!A||!i)return{path:""};let n=this.getPathFactoryParams(A,i);switch(this.curve){case"straight":return WG(n);case"bezier":return ZG(n);case"smooth-step":return zh(n);case"step":return zh(n,0);default:return this.curve(n)}}),this.sourceHandle=h7(A=>{let i=null;return this.floating?i=this.closestHandles().sourceHandle:this.edge.sourceHandle?i=this.source()?.handles().find(n=>n.rawHandle.id===this.edge.sourceHandle)??null:i=this.source()?.handles().find(n=>n.rawHandle.type==="source")??null,i===null?A:i}),this.targetHandle=h7(A=>{let i=null;return this.floating?i=this.closestHandles().targetHandle:this.edge.targetHandle?i=this.target()?.handles().find(n=>n.rawHandle.id===this.edge.targetHandle)??null:i=this.target()?.handles().find(n=>n.rawHandle.type==="target")??null,i===null?A:i}),this.closestHandles=Ke(()=>{let A=this.source(),i=this.target();if(!A||!i)return{sourceHandle:null,targetHandle:null};let n=this.flowEntitiesService.connection().mode==="strict"?A.handles().filter(g=>g.rawHandle.type==="source"):A.handles(),o=this.flowEntitiesService.connection().mode==="strict"?i.handles().filter(g=>g.rawHandle.type==="target"):i.handles();if(n.length===0||o.length===0)return{sourceHandle:null,targetHandle:null};let a=1/0,r=null,s=null;for(let g of n)for(let l of o){let C=g.pointAbsolute(),I=l.pointAbsolute(),d=Math.sqrt(Math.pow(C.x-I.x,2)+Math.pow(C.y-I.y,2));d{let A=this.edge.markers?.start;return A?`url(#${Oh(JSON.stringify(A))})`:""}),this.markerEndUrl=Ke(()=>{let A=this.edge.markers?.end;return A?`url(#${Oh(JSON.stringify(A))})`:""}),this.context={$implicit:{edge:this.edge,path:Ke(()=>this.path().path),markerStart:this.markerStartUrl,markerEnd:this.markerEndUrl,selected:this.selected.asReadonly(),shouldLoad:this.shouldLoad}},this.edgeLabels={},this.type=e.type??"default",this.curve=e.curve??"bezier",this.reconnectable=e.reconnectable??!1,this.floating=e.floating??!1,e.edgeLabels?.start&&(this.edgeLabels.start=new Nm(e.edgeLabels.start)),e.edgeLabels?.center&&(this.edgeLabels.center=new Nm(e.edgeLabels.center)),e.edgeLabels?.end&&(this.edgeLabels.end=new Nm(e.edgeLabels.end))}getPathFactoryParams(e,A){return{mode:"edge",edge:this.edge,sourcePoint:e.pointAbsolute(),targetPoint:A.pointAbsolute(),sourcePosition:e.rawHandle.position,targetPosition:A.rawHandle.position,allEdges:this.flowEntitiesService.rawEdges(),allNodes:this.flowEntitiesService.rawNodes()}}},u7=class{static nodes(e,A){let i=new Map;return A.forEach(n=>i.set(n.rawNode,n)),e.map(n=>i.get(n)??new CJA(n))}static edges(e,A){let i=new Map;return A.forEach(n=>i.set(n.edge,n)),e.map(n=>i.has(n)?i.get(n):new XG(n))}},hJA=25,$G=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.nodesPositionChange$=$n(this.entitiesService.nodes).pipe(ki(A=>hi(...A.map(i=>i.point$.pipe(Fg(1),fe(()=>i))))),fe(A=>[{type:"position",id:A.rawNode.id,point:A.point()},...this.entitiesService.nodes().filter(i=>i!==A&&i.selected()).map(i=>({type:"position",id:i.rawNode.id,point:i.point()}))])),this.nodeSizeChange$=$n(this.entitiesService.nodes).pipe(ki(A=>hi(...A.map(i=>i.size$.pipe(Fg(1),fe(()=>i))))),fe(A=>[{type:"size",id:A.rawNode.id,size:A.size()}])),this.nodeAddChange$=$n(this.entitiesService.nodes).pipe(E2(),fe(([A,i])=>i.filter(n=>!A.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(i=>({type:"add",id:i.rawNode.id})))),this.nodeRemoveChange$=$n(this.entitiesService.nodes).pipe(E2(),fe(([A,i])=>A.filter(n=>!i.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(i=>({type:"remove",id:i.rawNode.id})))),this.nodeSelectedChange$=$n(this.entitiesService.nodes).pipe(ki(A=>hi(...A.map(i=>i.selected$.pipe(jl(),Fg(1),fe(()=>i))))),fe(A=>[{type:"select",id:A.rawNode.id,selected:A.selected()}])),this.changes$=hi(this.nodesPositionChange$,this.nodeSizeChange$,this.nodeAddChange$,this.nodeRemoveChange$,this.nodeSelectedChange$).pipe(fB(qm,hJA))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),uJA=(t,e)=>t.length===e.length&&[...new Set([...t,...e])].every(A=>t.filter(i=>i===A).length===e.filter(i=>i===A).length),AK=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.edgeDetachedChange$=hi($n(Ke(()=>{let A=this.entitiesService.nodes();return la(this.entitiesService.edges).filter(({source:n,target:o})=>!A.includes(n())||!A.includes(o()))})),$n(this.entitiesService.edges).pipe(ki(A=>rU(...A.map(i=>i.detached$.pipe(fe(()=>i))))),fe(A=>A.filter(i=>i.detached())),Fg(2))).pipe(jl(uJA),Ze(A=>!!A.length),fe(A=>A.map(({edge:i})=>({type:"detached",id:i.id})))),this.edgeAddChange$=$n(this.entitiesService.edges).pipe(E2(),fe(([A,i])=>i.filter(n=>!A.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(({edge:i})=>({type:"add",id:i.id})))),this.edgeRemoveChange$=$n(this.entitiesService.edges).pipe(E2(),fe(([A,i])=>A.filter(n=>!i.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(({edge:i})=>({type:"remove",id:i.id})))),this.edgeSelectChange$=$n(this.entitiesService.edges).pipe(ki(A=>hi(...A.map(i=>i.selected$.pipe(jl(),Fg(1),fe(()=>i))))),fe(A=>[{type:"select",id:A.edge.id,selected:A.selected()}])),this.changes$=hi(this.edgeDetachedChange$,this.edgeAddChange$,this.edgeRemoveChange$,this.edgeSelectChange$).pipe(fB(qm))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),fJA=(()=>{class t{constructor(){this.nodesChangeService=h($G),this.edgesChangeService=h(AK),this.onNodesChange=Dn(this.nodesChangeService.changes$),this.onNodesChangePosition=Dn(this.nodeChangesOfType("position"),{alias:"onNodesChange.position"}),this.onNodesChangePositionSignle=Dn(this.singleChange(this.nodeChangesOfType("position")),{alias:"onNodesChange.position.single"}),this.onNodesChangePositionMany=Dn(this.manyChanges(this.nodeChangesOfType("position")),{alias:"onNodesChange.position.many"}),this.onNodesChangeSize=Dn(this.nodeChangesOfType("size"),{alias:"onNodesChange.size"}),this.onNodesChangeSizeSingle=Dn(this.singleChange(this.nodeChangesOfType("size")),{alias:"onNodesChange.size.single"}),this.onNodesChangeSizeMany=Dn(this.manyChanges(this.nodeChangesOfType("size")),{alias:"onNodesChange.size.many"}),this.onNodesChangeAdd=Dn(this.nodeChangesOfType("add"),{alias:"onNodesChange.add"}),this.onNodesChangeAddSingle=Dn(this.singleChange(this.nodeChangesOfType("add")),{alias:"onNodesChange.add.single"}),this.onNodesChangeAddMany=Dn(this.manyChanges(this.nodeChangesOfType("add")),{alias:"onNodesChange.add.many"}),this.onNodesChangeRemove=Dn(this.nodeChangesOfType("remove"),{alias:"onNodesChange.remove"}),this.onNodesChangeRemoveSingle=Dn(this.singleChange(this.nodeChangesOfType("remove")),{alias:"onNodesChange.remove.single"}),this.onNodesChangeRemoveMany=Dn(this.manyChanges(this.nodeChangesOfType("remove")),{alias:"onNodesChange.remove.many"}),this.onNodesChangeSelect=Dn(this.nodeChangesOfType("select"),{alias:"onNodesChange.select"}),this.onNodesChangeSelectSingle=Dn(this.singleChange(this.nodeChangesOfType("select")),{alias:"onNodesChange.select.single"}),this.onNodesChangeSelectMany=Dn(this.manyChanges(this.nodeChangesOfType("select")),{alias:"onNodesChange.select.many"}),this.onEdgesChange=Dn(this.edgesChangeService.changes$),this.onNodesChangeDetached=Dn(this.edgeChangesOfType("detached"),{alias:"onEdgesChange.detached"}),this.onNodesChangeDetachedSingle=Dn(this.singleChange(this.edgeChangesOfType("detached")),{alias:"onEdgesChange.detached.single"}),this.onNodesChangeDetachedMany=Dn(this.manyChanges(this.edgeChangesOfType("detached")),{alias:"onEdgesChange.detached.many"}),this.onEdgesChangeAdd=Dn(this.edgeChangesOfType("add"),{alias:"onEdgesChange.add"}),this.onEdgeChangeAddSingle=Dn(this.singleChange(this.edgeChangesOfType("add")),{alias:"onEdgesChange.add.single"}),this.onEdgeChangeAddMany=Dn(this.manyChanges(this.edgeChangesOfType("add")),{alias:"onEdgesChange.add.many"}),this.onEdgeChangeRemove=Dn(this.edgeChangesOfType("remove"),{alias:"onEdgesChange.remove"}),this.onEdgeChangeRemoveSingle=Dn(this.singleChange(this.edgeChangesOfType("remove")),{alias:"onEdgesChange.remove.single"}),this.onEdgeChangeRemoveMany=Dn(this.manyChanges(this.edgeChangesOfType("remove")),{alias:"onEdgesChange.remove.many"}),this.onEdgeChangeSelect=Dn(this.edgeChangesOfType("select"),{alias:"onEdgesChange.select"}),this.onEdgeChangeSelectSingle=Dn(this.singleChange(this.edgeChangesOfType("select")),{alias:"onEdgesChange.select.single"}),this.onEdgeChangeSelectMany=Dn(this.manyChanges(this.edgeChangesOfType("select")),{alias:"onEdgesChange.select.many"})}nodeChangesOfType(A){return this.nodesChangeService.changes$.pipe(fe(i=>i.filter(n=>n.type===A)),Ze(i=>!!i.length))}edgeChangesOfType(A){return this.edgesChangeService.changes$.pipe(fe(i=>i.filter(n=>n.type===A)),Ze(i=>!!i.length))}singleChange(A){return A.pipe(Ze(i=>i.length===1),fe(([i])=>i))}manyChanges(A){return A.pipe(Ze(i=>i.length>1))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","changesController",""]],outputs:{onNodesChange:"onNodesChange",onNodesChangePosition:"onNodesChange.position",onNodesChangePositionSignle:"onNodesChange.position.single",onNodesChangePositionMany:"onNodesChange.position.many",onNodesChangeSize:"onNodesChange.size",onNodesChangeSizeSingle:"onNodesChange.size.single",onNodesChangeSizeMany:"onNodesChange.size.many",onNodesChangeAdd:"onNodesChange.add",onNodesChangeAddSingle:"onNodesChange.add.single",onNodesChangeAddMany:"onNodesChange.add.many",onNodesChangeRemove:"onNodesChange.remove",onNodesChangeRemoveSingle:"onNodesChange.remove.single",onNodesChangeRemoveMany:"onNodesChange.remove.many",onNodesChangeSelect:"onNodesChange.select",onNodesChangeSelectSingle:"onNodesChange.select.single",onNodesChangeSelectMany:"onNodesChange.select.many",onEdgesChange:"onEdgesChange",onNodesChangeDetached:"onEdgesChange.detached",onNodesChangeDetachedSingle:"onEdgesChange.detached.single",onNodesChangeDetachedMany:"onEdgesChange.detached.many",onEdgesChangeAdd:"onEdgesChange.add",onEdgeChangeAddSingle:"onEdgesChange.add.single",onEdgeChangeAddMany:"onEdgesChange.add.many",onEdgeChangeRemove:"onEdgesChange.remove",onEdgeChangeRemoveSingle:"onEdgesChange.remove.single",onEdgeChangeRemoveMany:"onEdgesChange.remove.many",onEdgeChangeSelect:"onEdgesChange.select",onEdgeChangeSelectSingle:"onEdgesChange.select.single",onEdgeChangeSelectMany:"onEdgesChange.select.many"}})}}return t})(),w7=(()=>{class t{constructor(){this.host=h(ge).nativeElement,this.initialTouch$=new $A,this.prevTouchEvent=null,this.mouseMovement$=il(this.host,"mousemove").pipe(fe(A=>({x:A.clientX,y:A.clientY,movementX:A.movementX,movementY:A.movementY,target:A.target,originalEvent:A})),fB(uB),Q2()),this.touchMovement$=hi(this.initialTouch$,il(this.host,"touchmove")).pipe(oi(A=>A.preventDefault()),fe(A=>{let i=A.touches[0]?.clientX??0,n=A.touches[0]?.clientY??0,o=this.prevTouchEvent?A.touches[0].pageX-this.prevTouchEvent.touches[0].pageX:0,a=this.prevTouchEvent?A.touches[0].pageY-this.prevTouchEvent.touches[0].pageY:0,r=document.elementFromPoint(i,n);return{x:i,y:n,movementX:o,movementY:a,target:r,originalEvent:A}}),oi(A=>this.prevTouchEvent=A.originalEvent),fB(uB),Q2()),this.pointerMovement$=hi(this.mouseMovement$,this.touchMovement$),this.touchEnd$=il(this.host,"touchend").pipe(fe(A=>{let i=A.changedTouches[0]?.clientX??0,n=A.changedTouches[0]?.clientY??0,o=document.elementFromPoint(i,n);return{x:i,y:n,target:o,originalEvent:A}}),oi(()=>this.prevTouchEvent=null),Q2()),this.mouseUp$=il(this.host,"mouseup").pipe(fe(A=>{let i=A.clientX,n=A.clientY,o=A.target;return{x:i,y:n,target:o,originalEvent:A}}),Q2()),this.documentPointerEnd$=hi(il(document,"mouseup"),il(document,"touchend")).pipe(Q2())}setInitialTouch(A){this.initialTouch$.next(A)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","rootPointer",""]]})}}return t})(),Fm=(()=>{class t{constructor(){this.pointerMovementDirective=h(w7),this.rootSvg=h(p7).element,this.host=h(ge).nativeElement,this.svgCurrentSpacePoint=Ke(()=>{let A=this.pointerMovement();return A?this.documentPointToFlowPoint({x:A.x,y:A.y}):{x:0,y:0}}),this.pointerMovement=_s(this.pointerMovementDirective.pointerMovement$)}documentPointToFlowPoint(A){let i=this.rootSvg.createSVGPoint();return i.x=A.x,i.y=A.y,i.matrixTransform(this.host.getScreenCTM().inverse())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["g","spacePointContext",""]]})}}return t})();function mJA(t){return typeof t=="string"?{type:"solid",color:t}:t}function f7(t,e,A){let i=A.value;return A.value=function(...n){queueMicrotask(()=>{i?.apply(this,n)})},A}var xsA=(()=>{class t{constructor(){this.toolbars=jA([]),this.nodeToolbarsMap=Ke(()=>{let A=new Map;return this.toolbars().forEach(i=>{let n=A.get(i.node)??[];A.set(i.node,[...n,i])}),A})}addToolbar(A){this.toolbars.update(i=>[...i,A])}removeToolbar(A){this.toolbars.update(i=>i.filter(n=>n!==A))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return gu([f7],t.prototype,"addToolbar",null),gu([f7],t.prototype,"removeToolbar",null),t})();function D7(t,e){return new ji(A=>{let i=new ResizeObserver(n=>{e.run(()=>A.next(n))});return t.forEach(n=>i.observe(n)),()=>i.disconnect()})}var pJA=(()=>{class t{constructor(){this.zone=h(Oe),this.destroyRef=h(Cr),this.settingsService=h(Ms),this.model=at.required(),this.edgeModel=at.required(),this.point=at({x:0,y:0}),this.htmlTemplate=at(),this.edgeLabelWrapperRef=ca.required("edgeLabelWrapper"),this.edgeLabelPoint=Ke(()=>{let A=this.point(),{width:i,height:n}=this.model().size();return{x:A.x-i/2,y:A.y-n/2}}),this.edgeLabelStyle=Ke(()=>{let A=this.model().edgeLabel;if(A.type==="default"&&A.style){let i=this.settingsService.background(),n="transparent";return i.type==="dots"&&(n=i.backgroundColor??"#fff"),i.type==="solid"&&(n=i.color),A.style.backgroundColor=A.style.backgroundColor??n,A.style}return null})}ngAfterViewInit(){let A=this.edgeLabelWrapperRef().nativeElement;D7([A],this.zone).pipe(cn(null),oi(()=>{let i=A.clientWidth+Q7,n=A.clientHeight+Q7;this.model().size.set({width:i,height:n})}),Tr(this.destroyRef)).subscribe()}getLabelContext(){return{$implicit:{edge:this.edgeModel().edge,label:this.model().edgeLabel}}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","edgeLabel",""]],viewQuery:function(i,n){i&1&&rs(n.edgeLabelWrapperRef,wKA,5),i&2&&wr()},inputs:{model:[1,"model"],edgeModel:[1,"edgeModel"],point:[1,"point"],htmlTemplate:[1,"htmlTemplate"]},attrs:DKA,decls:1,vars:1,consts:[["edgeLabelWrapper",""],[1,"edge-label-wrapper"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,n){if(i&1&&V(0,kKA,2,2),i&2){let o;W((o=n.model())?0:-1,o)}},dependencies:[al],styles:[".edge-label-wrapper[_ngcontent-%COMP%]{width:max-content;margin-top:1px;margin-left:1px}"],changeDetection:0})}}return t})();function RsA(t){let e={};return t.sourceHandle.rawHandle.type==="source"?(e.source=t.source,e.sourceHandle=t.sourceHandle):(e.source=t.target,e.sourceHandle=t.targetHandle),t.targetHandle.rawHandle.type==="target"?(e.target=t.target,e.targetHandle=t.targetHandle):(e.target=t.source,e.targetHandle=t.sourceHandle),e}var NsA=(()=>{class t{constructor(){this.statusService=h(d1),this.flowEntitiesService=h(Sg),this.onConnect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="connection-end"),fe(A=>c7(A,this.isStrictMode())),oi(()=>this.statusService.setIdleStatus()),Ze(A=>this.flowEntitiesService.connection().validator(A)))),this.connect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="connection-end"),fe(A=>c7(A,this.isStrictMode())),oi(()=>this.statusService.setIdleStatus()),Ze(A=>this.flowEntitiesService.connection().validator(A)))),this.onReconnect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="reconnection-end"),fe(A=>{let i=c7(A,this.isStrictMode()),n=A.payload.oldEdge.edge;return{connection:i,oldEdge:n}}),oi(()=>this.statusService.setIdleStatus()),Ze(({connection:A})=>this.flowEntitiesService.connection().validator(A)))),this.reconnect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="reconnection-end"),fe(A=>{let i=c7(A,this.isStrictMode()),n=A.payload.oldEdge.edge;return{connection:i,oldEdge:n}}),oi(()=>this.statusService.setIdleStatus()),Ze(({connection:A})=>this.flowEntitiesService.connection().validator(A)))),this.isStrictMode=Ke(()=>this.flowEntitiesService.connection().mode==="strict")}startConnection(A){this.statusService.setConnectionStartStatus(A.parentNode,A)}startReconnection(A,i){this.statusService.setReconnectionStartStatus(A.parentNode,A,i)}validateConnection(A){let i=this.statusService.status();if(i.state==="connection-start"||i.state==="reconnection-start"){let n=i.state==="reconnection-start",o=i.payload.source,a=A.parentNode,r=i.payload.sourceHandle,s=A;if(this.isStrictMode()){let l=RsA({source:i.payload.source,sourceHandle:i.payload.sourceHandle,target:A.parentNode,targetHandle:A});o=l.source,a=l.target,r=l.sourceHandle,s=l.targetHandle}let g=this.flowEntitiesService.connection().validator({source:o.rawNode.id,target:a.rawNode.id,sourceHandle:r.rawHandle.id,targetHandle:s.rawHandle.id});A.state.set(g?"valid":"invalid"),n?this.statusService.setReconnectionValidationStatus(g,i.payload.source,A.parentNode,i.payload.sourceHandle,A,i.payload.oldEdge):this.statusService.setConnectionValidationStatus(g,i.payload.source,A.parentNode,i.payload.sourceHandle,A)}}resetValidateConnection(A){A.state.set("idle");let i=this.statusService.status();(i.state==="connection-validation"||i.state==="reconnection-validation")&&(i.state==="reconnection-validation"?this.statusService.setReconnectionStartStatus(i.payload.source,i.payload.sourceHandle,i.payload.oldEdge):this.statusService.setConnectionStartStatus(i.payload.source,i.payload.sourceHandle))}endConnection(){let A=this.statusService.status();if(A.state==="connection-validation"||A.state==="reconnection-validation"){let i=A.state==="reconnection-validation",n=A.payload.source,o=A.payload.sourceHandle,a=A.payload.target,r=A.payload.targetHandle;i?this.statusService.setReconnectionEndStatus(n,a,o,r,A.payload.oldEdge):this.statusService.setConnectionEndStatus(n,a,o,r)}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","onConnect",""],["","onReconnect",""],["","connect",""],["","reconnect",""]],outputs:{onConnect:"onConnect",connect:"connect",onReconnect:"onReconnect",reconnect:"reconnect"}})}}return t})();function c7(t,e){let A=t.payload.source,i=t.payload.target,n=t.payload.sourceHandle,o=t.payload.targetHandle;if(e){let l=RsA({source:t.payload.source,sourceHandle:t.payload.sourceHandle,target:t.payload.target,targetHandle:t.payload.targetHandle});A=l.source,i=l.target,n=l.sourceHandle,o=l.targetHandle}let a=A.rawNode.id,r=i.rawNode.id,s=n.rawHandle.id,g=o.rawHandle.id;return{source:a,target:r,sourceHandle:s,targetHandle:g}}var m7=(()=>{class t{constructor(){this.flowEntitiesService=h(Sg),this.flowSettingsService=h(Ms),this.edges=Ke(()=>this.flowSettingsService.optimization().virtualization?this.viewportEdges().sort((A,i)=>A.renderOrder()-i.renderOrder()):[...this.flowEntitiesService.validEdges()].sort((A,i)=>A.renderOrder()-i.renderOrder())),this.viewportEdges=Ke(()=>this.flowEntitiesService.validEdges().filter(A=>{let i=A.sourceHandle(),n=A.targetHandle();return i&&n})),this.maxOrder=Ke(()=>Math.max(...this.flowEntitiesService.validEdges().map(A=>A.renderOrder())))}pull(A){A.renderOrder()!==0&&this.maxOrder()===A.renderOrder()||A.renderOrder.set(this.maxOrder()+1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function wJA(t){return window.TouchEvent&&t instanceof TouchEvent}var nK=(()=>{class t{constructor(){this.hostElement=h(ge).nativeElement,this.pointerMovementDirective=h(w7),this.pointerOver=Oo(),this.pointerOut=Oo(),this.pointerStart=Oo(),this.pointerEnd=Oo(),this.wasPointerOver=!1,this.touchEnd=this.pointerMovementDirective.touchEnd$.pipe(Ze(({target:A})=>A===this.hostElement),oi(({originalEvent:A})=>this.pointerEnd.emit(A)),Tr()).subscribe(),this.touchOverOut=this.pointerMovementDirective.touchMovement$.pipe(oi(({target:A,originalEvent:i})=>{this.handleTouchOverAndOut(A,i)}),Tr()).subscribe()}onPointerStart(A){this.pointerStart.emit(A),wJA(A)&&this.pointerMovementDirective.setInitialTouch(A)}onPointerEnd(A){this.pointerEnd.emit(A)}onMouseOver(A){this.pointerOver.emit(A)}onMouseOut(A){this.pointerOut.emit(A)}handleTouchOverAndOut(A,i){A===this.hostElement?(this.pointerOver.emit(i),this.wasPointerOver=!0):(this.wasPointerOver&&this.pointerOut.emit(i),this.wasPointerOver=!1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","pointerStart",""],["","pointerEnd",""],["","pointerOver",""],["","pointerOut",""]],hostBindings:function(i,n){i&1&&eA("mousedown",function(a){return n.onPointerStart(a)})("touchstart",function(a){return n.onPointerStart(a)})("mouseup",function(a){return n.onPointerEnd(a)})("mouseover",function(a){return n.onMouseOver(a)})("mouseout",function(a){return n.onMouseOut(a)})},outputs:{pointerOver:"pointerOver",pointerOut:"pointerOut",pointerStart:"pointerStart",pointerEnd:"pointerEnd"}})}}return t})(),FsA=(()=>{class t{constructor(){this.injector=h(ft),this.selectionService=h(Gm),this.flowSettingsService=h(Ms),this.flowStatusService=h(d1),this.edgeRenderingService=h(m7),this.connectionController=h(NsA,{optional:!0}),this.model=at.required(),this.edgeTemplate=at(),this.edgeLabelHtmlTemplate=at(),this.isReconnecting=Ke(()=>{let A=this.flowStatusService.status();return(A.state==="reconnection-start"||A.state==="reconnection-validation")&&A.payload.oldEdge===this.model()})}select(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.model())}pull(){this.flowSettingsService.elevateEdgesOnSelect()&&this.edgeRenderingService.pull(this.model())}startReconnection(A,i){A.stopPropagation(),this.connectionController?.startReconnection(i,this.model())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","edge",""]],hostAttrs:[1,"selectable"],hostVars:2,hostBindings:function(i,n){i&2&&wn("visibility",n.isReconnecting()?"hidden":"visible")},inputs:{model:[1,"model"],edgeTemplate:[1,"edgeTemplate"],edgeLabelHtmlTemplate:[1,"edgeLabelHtmlTemplate"]},attrs:SKA,decls:6,vars:6,consts:[[1,"edge"],[1,"interactive-edge",3,"click"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],["edgeLabel","",3,"model","point","edgeModel","htmlTemplate"],["r","10",1,"reconnect-handle"],["r","10",1,"reconnect-handle",3,"pointerStart"]],template:function(i,n){if(i&1&&(V(0,xKA,2,6),V(1,NKA,1,1),V(2,_KA,1,1),V(3,GKA,1,1),V(4,UKA,1,1),V(5,TKA,2,2)),i&2){let o,a,r;W(n.model().type==="default"?0:-1),p(),W(n.model().type==="template"&&n.edgeTemplate()?1:-1),p(),W((o=n.model().edgeLabels.start)?2:-1,o),p(),W((a=n.model().edgeLabels.center)?3:-1,a),p(),W((r=n.model().edgeLabels.end)?4:-1,r),p(),W(n.model().sourceHandle()&&n.model().targetHandle()?5:-1)}},dependencies:[al,pJA,nK],styles:[".edge[_ngcontent-%COMP%]{fill:none;stroke-width:2;stroke:#b1b1b7}.edge_selected[_ngcontent-%COMP%]{stroke-width:2.5;stroke:#0f4c75}.interactive-edge[_ngcontent-%COMP%]{fill:none;stroke-width:20;stroke:transparent}.reconnect-handle[_ngcontent-%COMP%]{fill:transparent;cursor:move}"],changeDetection:0})}}return t})(),eK=(()=>{class t{constructor(){this.node=jA(null)}createHandle(A){let i=this.node();i&&i.handles.update(n=>[...n,A])}destroyHandle(A){let i=this.node();i&&i.handles.update(n=>n.filter(o=>o!==A))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return gu([f7],t.prototype,"createHandle",null),t})(),DJA=(()=>{class t{constructor(){this.handleModel=at.required({alias:"handleSizeController"}),this.handleWrapper=h(ge)}ngAfterViewInit(){let A=this.handleWrapper.nativeElement,i=A.getBBox(),n=yJA(A);this.handleModel().size.set({width:i.width+n,height:i.height+n})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","handleSizeController",""]],inputs:{handleModel:[1,"handleSizeController","handleModel"]}})}}return t})();function yJA(t){let e=t.firstElementChild;if(e){let A=getComputedStyle(e).strokeWidth,i=Number(A.replace("px",""));return isNaN(i)?0:i}return 0}var vJA=(()=>{class t{constructor(){this.selected=at(!1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["default-node"]],hostVars:2,hostBindings:function(i,n){i&2&&ae("selected",n.selected())},inputs:{selected:[1,"selected"]},ngContentSelectors:ysA,decls:1,vars:0,template:function(i,n){i&1&&(Ht(),He(0))},styles:["[_nghost-%COMP%]{border:1.5px solid #1b262c;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000;background-color:#fff}.selected[_nghost-%COMP%]{border-width:2px}"],changeDetection:0})}}return t})(),bJA=(()=>{class t{get model(){return this.nodeAccessor.model()}constructor(){this.nodeAccessor=h(Ph),this.rootPointer=h(w7),this.viewportService=h(dB),this.spacePointContext=h(Fm),this.settingsService=h(Ms),this.hostRef=h(ge),this.resizable=at(),this.resizerColor=at("#2e414c"),this.gap=at(1.5),this.resizer=ca.required("resizer"),this.lineGap=3,this.handleSize=6,this.resizeSide=null,this.zoom=Ke(()=>this.viewportService.readableViewport().zoom??0),this.minWidth=0,this.minHeight=0,this.maxWidth=1/0,this.maxHeight=1/0,this.resizeOnGlobalMouseMove=this.rootPointer.pointerMovement$.pipe(Ze(()=>this.resizeSide!==null),Ze(A=>A.movementX!==0||A.movementY!==0),oi(A=>this.resize(A)),Tr()).subscribe(),this.endResizeOnGlobalMouseUp=this.rootPointer.documentPointerEnd$.pipe(oi(()=>this.endResize()),Tr()).subscribe(),La(()=>{let A=this.resizable();typeof A=="boolean"?this.model.resizable.set(A):this.model.resizable.set(!0)},{allowSignalWrites:!0})}ngOnInit(){this.model.controlledByResizer.set(!0),this.model.resizerTemplate.set(this.resizer())}ngOnDestroy(){this.model.controlledByResizer.set(!1)}ngAfterViewInit(){this.minWidth=+getComputedStyle(this.hostRef.nativeElement).minWidth.replace("px","")||0,this.minHeight=+getComputedStyle(this.hostRef.nativeElement).minHeight.replace("px","")||0,this.maxWidth=+getComputedStyle(this.hostRef.nativeElement).maxWidth.replace("px","")||1/0,this.maxHeight=+getComputedStyle(this.hostRef.nativeElement).maxHeight.replace("px","")||1/0}startResize(A,i){i.stopPropagation(),this.resizeSide=A,this.model.resizing.set(!0)}resize(A){if(!this.resizeSide)return;let i=MJA(A.movementX,A.movementY,this.zoom()),n=this.applyResize(this.resizeSide,this.model,i,this.getDistanceToEdge(A)),{x:o,y:a,width:r,height:s}=kJA(n,this.model,this.resizeSide,this.minWidth,this.minHeight,this.maxWidth,this.maxHeight);this.model.setPoint({x:o,y:a}),this.model.width.set(r),this.model.height.set(s)}endResize(){this.resizeSide=null,this.model.resizing.set(!1)}getDistanceToEdge(A){let i=this.spacePointContext.documentPointToFlowPoint({x:A.x,y:A.y}),{x:n,y:o}=this.model.globalPoint();return{left:i.x-n,right:i.x-(n+this.model.width()),top:i.y-o,bottom:i.y-(o+this.model.height())}}applyResize(A,i,n,o){let{x:a,y:r}=i.point(),s=i.width(),g=i.height(),[l,C]=this.settingsService.snapGrid();switch(A){case"left":{let I=n.x+o.left,d=kg(a+I,l),B=d-a;return{x:d,y:r,width:s-B,height:g}}case"right":{let I=n.x+o.right,d=kg(s+I,l);return{x:a,y:r,width:d,height:g}}case"top":{let I=n.y+o.top,d=kg(r+I,C),B=d-r;return{x:a,y:d,width:s,height:g-B}}case"bottom":{let I=n.y+o.bottom,d=kg(g+I,C);return{x:a,y:r,width:s,height:d}}case"top-left":{let I=n.x+o.left,d=n.y+o.top,B=kg(a+I,l),E=kg(r+d,C),Q=B-a,f=E-r;return{x:B,y:E,width:s-Q,height:g-f}}case"top-right":{let I=n.x+o.right,d=n.y+o.top,B=kg(r+d,C),E=B-r;return{x:a,y:B,width:kg(s+I,l),height:g-E}}case"bottom-left":{let I=n.x+o.left,d=n.y+o.bottom,B=kg(a+I,l),E=B-a;return{x:B,y:r,width:s-E,height:kg(g+d,C)}}case"bottom-right":{let I=n.x+o.right,d=n.y+o.bottom;return{x:a,y:r,width:kg(s+I,l),height:kg(g+d,C)}}}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["","resizable",""]],viewQuery:function(i,n){i&1&&rs(n.resizer,HKA,5),i&2&&wr()},inputs:{resizable:[1,"resizable"],resizerColor:[1,"resizerColor"],gap:[1,"gap"]},attrs:zKA,ngContentSelectors:ysA,decls:3,vars:0,consts:[["resizer",""],["stroke-width","2",1,"top",3,"pointerStart"],["stroke-width","2",1,"left",3,"pointerStart"],["stroke-width","2",1,"bottom",3,"pointerStart"],["stroke-width","2",1,"right",3,"pointerStart"],[1,"top-left",3,"pointerStart"],[1,"top-right",3,"pointerStart"],[1,"bottom-left",3,"pointerStart"],[1,"bottom-right",3,"pointerStart"]],template:function(i,n){i&1&&(Ht(),vt(0,OKA,9,40,"ng-template",null,0,m2),He(2))},dependencies:[nK],styles:[".top[_ngcontent-%COMP%]{cursor:n-resize}.left[_ngcontent-%COMP%]{cursor:w-resize}.right[_ngcontent-%COMP%]{cursor:e-resize}.bottom[_ngcontent-%COMP%]{cursor:s-resize}.top-left[_ngcontent-%COMP%]{cursor:nw-resize}.top-right[_ngcontent-%COMP%]{cursor:ne-resize}.bottom-left[_ngcontent-%COMP%]{cursor:sw-resize}.bottom-right[_ngcontent-%COMP%]{cursor:se-resize}"],changeDetection:0})}}return gu([f7],t.prototype,"ngAfterViewInit",null),t})();function MJA(t,e,A){return{x:d7(t/A),y:d7(e/A)}}function kJA(t,e,A,i,n,o,a){let{x:r,y:s,width:g,height:l}=t;g=Math.max(g,0),l=Math.max(l,0),g=Math.max(i,g),l=Math.max(n,l),g=Math.min(o,g),l=Math.min(a,l),r=Math.min(r,e.point().x+e.width()-i),s=Math.min(s,e.point().y+e.height()-n),r=Math.max(r,e.point().x+e.width()-o),s=Math.max(s,e.point().y+e.height()-a);let C=e.parent();if(C){let d=C.width(),B=C.height(),E=e.point().x,Q=e.point().y;r=Math.max(r,0),s=Math.max(s,0),A.includes("left")&&r===0&&(g=Math.min(g,E+e.width())),A.includes("top")&&s===0&&(l=Math.min(l,Q+e.height())),g=Math.min(g,d-r),l=Math.min(l,B-s)}let I=vsA(e.children());return I&&(A.includes("left")&&(r=Math.min(r,e.point().x+e.width()-(I.x+I.width)),g=Math.max(g,I.x+I.width)),A.includes("right")&&(g=Math.max(g,I.x+I.width)),A.includes("bottom")&&(l=Math.max(l,I.y+I.height)),A.includes("top")&&(s=Math.min(s,e.point().y+e.height()-(I.y+I.height)),l=Math.max(l,I.y+I.height))),{x:r,y:s,width:g,height:l}}var tK=class{constructor(e,A){this.rawHandle=e,this.parentNode=A,this.strokeWidth=2,this.size=jA({width:10+2*this.strokeWidth,height:10+2*this.strokeWidth}),this.pointAbsolute=Ke(()=>({x:this.parentNode.globalPoint().x+this.hostOffset().x+this.sizeOffset().x,y:this.parentNode.globalPoint().y+this.hostOffset().y+this.sizeOffset().y})),this.state=jA("idle"),this.updateHostSizeAndPosition$=new $A,this.hostSize=_s(this.updateHostSizeAndPosition$.pipe(fe(()=>this.getHostSize())),{initialValue:{width:0,height:0}}),this.hostPosition=_s(this.updateHostSizeAndPosition$.pipe(fe(()=>({x:this.hostReference instanceof HTMLElement?this.hostReference.offsetLeft:0,y:this.hostReference instanceof HTMLElement?this.hostReference.offsetTop:0}))),{initialValue:{x:0,y:0}}),this.hostOffset=Ke(()=>{switch(this.rawHandle.position){case"left":return{x:-this.rawHandle.userOffsetX,y:-this.rawHandle.userOffsetY+this.hostPosition().y+this.hostSize().height/2};case"right":return{x:-this.rawHandle.userOffsetX+this.parentNode.size().width,y:-this.rawHandle.userOffsetY+this.hostPosition().y+this.hostSize().height/2};case"top":return{x:-this.rawHandle.userOffsetX+this.hostPosition().x+this.hostSize().width/2,y:-this.rawHandle.userOffsetY};case"bottom":return{x:-this.rawHandle.userOffsetX+this.hostPosition().x+this.hostSize().width/2,y:-this.rawHandle.userOffsetY+this.parentNode.size().height}}}),this.sizeOffset=Ke(()=>{switch(this.rawHandle.position){case"left":return{x:-(this.size().width/2),y:0};case"right":return{x:this.size().width/2,y:0};case"top":return{x:0,y:-(this.size().height/2)};case"bottom":return{x:0,y:this.size().height/2}}}),this.hostReference=this.rawHandle.hostReference,this.template=this.rawHandle.template,this.templateContext={$implicit:{point:this.hostOffset,state:this.state,node:this.parentNode.rawNode}}}updateHost(){this.updateHostSizeAndPosition$.next()}getHostSize(){return this.hostReference instanceof HTMLElement?{width:this.hostReference.offsetWidth,height:this.hostReference.offsetHeight}:this.hostReference instanceof SVGGraphicsElement?this.hostReference.getBBox():{width:0,height:0}}},oK=(()=>{class t{constructor(){this.injector=h(ft),this.handleService=h(eK),this.element=h(ge).nativeElement,this.destroyRef=h(Cr),this.position=at.required(),this.type=at.required(),this.id=at(),this.template=at(),this.offsetX=at(0),this.offsetY=at(0)}ngOnInit(){ir(this.injector,()=>{let A=this.handleService.node();if(A){let i=new tK({position:this.position(),type:this.type(),id:this.id(),hostReference:this.element.parentElement,template:this.template(),userOffsetX:this.offsetX(),userOffsetY:this.offsetY()},A);this.handleService.createHandle(i),requestAnimationFrame(()=>i.updateHost()),this.destroyRef.onDestroy(()=>this.handleService.destroyHandle(i))}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["handle"]],inputs:{position:[1,"position"],type:[1,"type"],id:[1,"id"],template:[1,"template"],offsetX:[1,"offsetX"],offsetY:[1,"offsetY"]},decls:0,vars:0,template:function(i,n){},encapsulation:2,changeDetection:0})}}return t})(),SJA=(()=>{class t{constructor(){this.nodeAccessor=h(Ph),this.zone=h(Oe),this.destroyRef=h(Cr),this.hostElementRef=h(ge)}ngOnInit(){this.nodeAccessor.model().handles$.pipe(ki(i=>D7([...i.map(n=>n.hostReference),this.hostElementRef.nativeElement],this.zone).pipe(fe(()=>i))),oi(i=>{i.forEach(n=>n.updateHost())}),Tr(this.destroyRef)).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","nodeHandlesController",""]]})}}return t})(),xJA=(()=>{class t{constructor(){this.nodeAccessor=h(Ph),this.zone=h(Oe),this.destroyRef=h(Cr),this.hostElementRef=h(ge)}ngOnInit(){let A=this.nodeAccessor.model(),i=this.hostElementRef.nativeElement;hi(D7([i],this.zone)).pipe(cn(null),Ze(()=>!A.resizing()),oi(()=>{A.width.set(i.clientWidth),A.height.set(i.clientHeight)}),Tr(this.destroyRef)).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","nodeResizeController",""]]})}}return t})(),_sA=(()=>{class t{constructor(){this.injector=h(ft),this.handleService=h(eK),this.draggableService=h(bsA),this.flowStatusService=h(d1),this.nodeRenderingService=h(BB),this.flowSettingsService=h(Ms),this.selectionService=h(Gm),this.hostRef=h(ge),this.nodeAccessor=h(Ph),this.overlaysService=h(xsA),this.connectionController=h(NsA,{optional:!0}),this.model=at.required(),this.nodeTemplate=at(),this.nodeSvgTemplate=at(),this.groupNodeTemplate=at(),this.showMagnet=Ke(()=>this.flowStatusService.status().state==="connection-start"||this.flowStatusService.status().state==="connection-validation"||this.flowStatusService.status().state==="reconnection-start"||this.flowStatusService.status().state==="reconnection-validation"),this.toolbars=Ke(()=>this.overlaysService.nodeToolbarsMap().get(this.model()))}ngOnInit(){this.model().isVisible.set(!0),this.nodeAccessor.model.set(this.model()),this.handleService.node.set(this.model()),La(()=>{this.model().draggable()?this.draggableService.enable(this.hostRef.nativeElement,this.model()):this.draggableService.disable(this.hostRef.nativeElement)},{injector:this.injector})}ngOnDestroy(){this.model().isVisible.set(!1),this.draggableService.destroy(this.hostRef.nativeElement)}startConnection(A,i){A.stopPropagation(),this.connectionController?.startConnection(i)}validateConnection(A){this.connectionController?.validateConnection(A)}resetValidateConnection(A){this.connectionController?.resetValidateConnection(A)}endConnection(){this.connectionController?.endConnection()}pullNode(){this.flowSettingsService.elevateNodesOnSelect()&&this.nodeRenderingService.pullNode(this.model())}selectNode(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.model())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","node",""]],hostAttrs:[1,"vflow-node"],inputs:{model:[1,"model"],nodeTemplate:[1,"nodeTemplate"],nodeSvgTemplate:[1,"nodeSvgTemplate"],groupNodeTemplate:[1,"groupNodeTemplate"]},features:[It([eK,Ph])],attrs:PKA,decls:11,vars:7,consts:[[1,"selectable"],["nodeHandlesController","",1,"selectable"],["rx","5","ry","5",1,"default-group-node",3,"resizable","gap","resizerColor","default-group-node_selected","stroke","fill"],[1,"selectable",3,"click"],["nodeHandlesController","",3,"selected"],[3,"outerHTML"],["type","source","position","right"],["type","target","position","left"],["nodeHandlesController","","nodeResizeController","",1,"wrapper"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],["nodeHandlesController","",1,"selectable",3,"click"],[3,"ngComponentOutlet","ngComponentOutletInputs","ngComponentOutletInjector"],["rx","5","ry","5",1,"default-group-node",3,"click","resizable","gap","resizerColor"],[3,"ngTemplateOutlet"],["r","5",1,"default-handle"],[3,"handleSizeController"],[1,"magnet"],["r","5",1,"default-handle",3,"pointerStart","pointerEnd"],[3,"pointerStart","pointerEnd","handleSizeController"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"magnet",3,"pointerEnd","pointerOver","pointerOut"]],template:function(i,n){if(i&1&&(V(0,jKA,5,12,":svg:foreignObject",0),V(1,qKA,3,9,":svg:foreignObject",0),V(2,VKA,2,3,":svg:g",1),V(3,ZKA,2,3),V(4,XKA,1,11,":svg:rect",2),V(5,$KA,2,3,":svg:g",1),V(6,tUA,1,1),Ut(7,sUA,4,4,null,null,_i),Ut(9,gUA,2,4,":svg:foreignObject",null,_i)),i&2){let o;W(n.model().rawNode.type==="default"?0:-1),p(),W(n.model().rawNode.type==="html-template"&&n.nodeTemplate()?1:-1),p(),W(n.model().rawNode.type==="svg-template"&&n.nodeSvgTemplate()?2:-1),p(),W(n.model().isComponentType?3:-1),p(),W(n.model().rawNode.type==="default-group"?4:-1),p(),W(n.model().rawNode.type==="template-group"&&n.groupNodeTemplate()?5:-1),p(),W((o=n.model().resizerTemplate())?6:-1,o),p(),Jt(n.model().handles()),p(2),Jt(n.toolbars())}},dependencies:[nK,vJA,oK,al,p2,bJA,DJA,SJA,xJA,ls],styles:[".magnet[_ngcontent-%COMP%]{opacity:0}.wrapper[_ngcontent-%COMP%]{display:table-cell}.default-group-node[_ngcontent-%COMP%]{stroke-width:1.5px;fill-opacity:.05}.default-group-node_selected[_ngcontent-%COMP%]{stroke-width:2px}.default-handle[_ngcontent-%COMP%]{stroke:#fff;fill:#1b262c}"],changeDetection:0})}}return t})(),RJA=(()=>{class t{constructor(){this.flowStatusService=h(d1),this.spacePointContext=h(Fm),this.flowEntitiesService=h(Sg),this.model=at.required(),this.template=at(),this.path=Ke(()=>{let A=this.flowStatusService.status(),i=this.model().curve;if(A.state==="connection-start"||A.state==="reconnection-start"){let n=A.payload.sourceHandle,o=n.pointAbsolute(),a=n.rawHandle.position,r=this.spacePointContext.svgCurrentSpacePoint(),s=fsA(n.rawHandle.position),g=this.getPathFactoryParams(o,r,a,s);switch(i){case"straight":return WG(g).path;case"bezier":return ZG(g).path;case"smooth-step":return zh(g).path;case"step":return zh(g,0).path;default:return i(g).path}}if(A.state==="connection-validation"||A.state==="reconnection-validation"){let n=A.payload.sourceHandle,o=n.pointAbsolute(),a=n.rawHandle.position,r=A.payload.targetHandle,s=A.payload.valid?r.pointAbsolute():this.spacePointContext.svgCurrentSpacePoint(),g=A.payload.valid?r.rawHandle.position:fsA(n.rawHandle.position),l=this.getPathFactoryParams(o,s,a,g);switch(i){case"straight":return WG(l).path;case"bezier":return ZG(l).path;case"smooth-step":return zh(l).path;case"step":return zh(l,0).path;default:return i(l).path}}return null}),this.markerUrl=Ke(()=>{let A=this.model().settings.marker;return A?`url(#${Oh(JSON.stringify(A))})`:""}),this.defaultColor="rgb(177, 177, 183)"}getContext(){return{$implicit:{path:this.path,marker:this.markerUrl}}}getPathFactoryParams(A,i,n,o){return{mode:"connection",sourcePoint:A,targetPoint:i,sourcePosition:n,targetPosition:o,allEdges:this.flowEntitiesService.rawEdges(),allNodes:this.flowEntitiesService.rawNodes()}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","connection",""]],inputs:{model:[1,"model"],template:[1,"template"]},attrs:lUA,decls:2,vars:2,consts:[["fill","none","stroke-width","2"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,n){i&1&&(V(0,CUA,1,1),V(1,BUA,1,1)),i&2&&(W(n.model().type==="default"?0:-1),p(),W(n.model().type==="template"?1:-1))},dependencies:[al],encapsulation:2,changeDetection:0})}}return t})();function fsA(t){switch(t){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}function NJA(){return String.fromCharCode(65+Math.floor(Math.random()*26))+Date.now()}var FJA="#fff",_JA=20,LJA=2,msA="rgb(177, 177, 183)",psA=.1,GJA=!0,KJA=(()=>{class t{constructor(){this.viewportService=h(dB),this.rootSvg=h(p7).element,this.settingsService=h(Ms),this.backgroundSignal=this.settingsService.background,this.scaledGap=Ke(()=>{let A=this.backgroundSignal();return A.type==="dots"?this.viewportService.readableViewport().zoom*(A.gap??_JA):0}),this.x=Ke(()=>this.viewportService.readableViewport().x%this.scaledGap()),this.y=Ke(()=>this.viewportService.readableViewport().y%this.scaledGap()),this.patternColor=Ke(()=>{let A=this.backgroundSignal();return A.type==="dots"?A.color??msA:msA}),this.patternSize=Ke(()=>{let A=this.backgroundSignal();return A.type==="dots"?this.viewportService.readableViewport().zoom*(A.size??LJA)/2:0}),this.bgImageSrc=Ke(()=>{let A=this.backgroundSignal();return A.type==="image"?A.src:""}),this.imageSize=Lm($n(this.backgroundSignal).pipe(ki(()=>UJA(this.bgImageSrc())),fe(A=>({width:A.naturalWidth,height:A.naturalHeight}))),{initialValue:{width:0,height:0}}),this.scaledImageWidth=Ke(()=>{let A=this.backgroundSignal();if(A.type==="image"){let i=A.fixed?1:this.viewportService.readableViewport().zoom;return this.imageSize().width*i*(A.scale??psA)}return 0}),this.scaledImageHeight=Ke(()=>{let A=this.backgroundSignal();if(A.type==="image"){let i=A.fixed?1:this.viewportService.readableViewport().zoom;return this.imageSize().height*i*(A.scale??psA)}return 0}),this.imageX=Ke(()=>{let A=this.backgroundSignal();return A.type==="image"?A.repeat?A.fixed?0:this.viewportService.readableViewport().x%this.scaledImageWidth():A.fixed?0:this.viewportService.readableViewport().x:0}),this.imageY=Ke(()=>{let A=this.backgroundSignal();return A.type==="image"?A.repeat?A.fixed?0:this.viewportService.readableViewport().y%this.scaledImageHeight():A.fixed?0:this.viewportService.readableViewport().y:0}),this.repeated=Ke(()=>{let A=this.backgroundSignal();return A.type==="image"&&(A.repeat??GJA)}),this.patternId=NJA(),this.patternUrl=`url(#${this.patternId})`,La(()=>{let A=this.backgroundSignal();A.type==="dots"&&(this.rootSvg.style.backgroundColor=A.backgroundColor??FJA),A.type==="solid"&&(this.rootSvg.style.backgroundColor=A.color)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","background",""]],attrs:EUA,decls:2,vars:2,consts:[["patternUnits","userSpaceOnUse"],["x","0","y","0","width","100%","height","100%"]],template:function(i,n){i&1&&(V(0,QUA,3,10),V(1,fUA,2,2)),i&2&&(W(n.backgroundSignal().type==="dots"?0:-1),p(),W(n.backgroundSignal().type==="image"?1:-1))},encapsulation:2,changeDetection:0})}}return t})();function UJA(t){let e=new Image;return e.src=t,new Promise(A=>{e.onload=()=>A(e)})}var JJA=(()=>{class t{constructor(){this.markers=at.required(),this.defaultColor="rgb(177, 177, 183)"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["defs","flowDefs",""]],inputs:{markers:[1,"markers"]},attrs:mUA,decls:3,vars:2,consts:[["viewBox","-10 -10 20 20","refX","0","refY","0"],["points","-5,-4 1,0 -5,4 -5,-4",1,"marker__arrow_closed",3,"stroke","stroke-width","fill"],["points","-5,-4 0,0 -5,4",1,"marker__arrow_default",3,"stroke","stroke-width"],["points","-5,-4 1,0 -5,4 -5,-4",1,"marker__arrow_closed"],["points","-5,-4 0,0 -5,4",1,"marker__arrow_default"]],template:function(i,n){i&1&&(Ut(0,DUA,3,7,":svg:marker",0,_i),ri(2,"keyvalue")),i&2&&Jt(Ci(2,0,n.markers()))},dependencies:[Ip],styles:[".marker__arrow_default[_ngcontent-%COMP%]{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;fill:none}.marker__arrow_closed[_ngcontent-%COMP%]{stroke-linecap:round;stroke-linejoin:round}"],changeDetection:0})}}return t})(),YJA=(()=>{class t{constructor(){this.host=h(ge),this.flowSettingsService=h(Ms),this.flowWidth=Ke(()=>{let A=this.flowSettingsService.view();return A==="auto"?"100%":A[0]}),this.flowHeight=Ke(()=>{let A=this.flowSettingsService.view();return A==="auto"?"100%":A[1]}),D7([this.host.nativeElement],h(Oe)).pipe(oi(([A])=>{this.flowSettingsService.computedFlowWidth.set(A.contentRect.width),this.flowSettingsService.computedFlowHeight.set(A.contentRect.height)}),Tr()).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","flowSizeController",""]],hostVars:2,hostBindings:function(i,n){i&2&&ie("width",n.flowWidth())("height",n.flowHeight())}})}}return t})(),TJA=(()=>{class t{constructor(){this.flowStatusService=h(d1)}resetConnection(){let A=this.flowStatusService.status();(A.state==="connection-start"||A.state==="reconnection-start")&&this.flowStatusService.setIdleStatus()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","rootSvgContext",""]],hostBindings:function(i,n){i&1&&eA("mouseup",function(){return n.resetConnection()},tC)("touchend",function(){return n.resetConnection()},tC)("contextmenu",function(){return n.resetConnection()})}})}}return t})();function iK(t,e){let A=[];for(let i of e){let{x:n,y:o}=i.globalPoint();t.x>=n&&t.x<=n+i.width()&&t.y>=o&&t.y<=o+i.height()&&A.push({x:t.x-n,y:t.y-o,spaceNodeId:i.rawNode.id})}return A.reverse(),A.push({spaceNodeId:null,x:t.x,y:t.y}),A}var aK=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),HJA=(()=>{class t extends aK{shouldRenderNode(A){return!A.isVisible()}static{this.\u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})()}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function zJA(t,e){if(Object.keys(e.preview().style).length){jJA(t,e);return}if(e.rawNode.type==="default"){OJA(t,e);return}if(e.rawNode.type==="default-group"){PJA(t,e);return}qJA(t,e)}function OJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height();LsA(t,e,5),t.fillStyle="white",t.fill(),t.strokeStyle="#1b262c",t.lineWidth=1.5,t.stroke(),t.fillStyle="black",t.font="14px Arial",t.textAlign="center",t.textBaseline="middle";let o=A.x+i/2,a=A.y+n/2;t.fillText(e.text(),o,a)}function PJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height();t.globalAlpha=.05,t.fillStyle=e.color(),t.fillRect(A.x,A.y,i,n),t.globalAlpha=1,t.strokeStyle=e.color(),t.lineWidth=1.5,t.strokeRect(A.x,A.y,i,n)}function jJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height(),o=e.preview().style;if(o.borderRadius){let a=parseFloat(o.borderRadius);LsA(t,e,a)}else t.beginPath(),t.rect(A.x,A.y,i,n),t.closePath();o.backgroundColor&&(t.fillStyle=o.backgroundColor),o.borderColor&&(t.strokeStyle=o.borderColor),o.borderWidth&&(t.lineWidth=parseFloat(o.borderWidth)),t.fill(),t.stroke()}function qJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height();t.fillStyle="rgb(0 0 0 / 10%)",t.fillRect(A.x,A.y,i,n)}function LsA(t,e,A){let i=e.globalPoint(),n=e.width(),o=e.height();t.beginPath(),t.moveTo(i.x+A,i.y),t.lineTo(i.x+n-A,i.y),t.quadraticCurveTo(i.x+n,i.y,i.x+n,i.y+A),t.lineTo(i.x+n,i.y+o-A),t.quadraticCurveTo(i.x+n,i.y+o,i.x+n-A,i.y+o),t.lineTo(i.x+A,i.y+o),t.quadraticCurveTo(i.x,i.y+o,i.x,i.y+o-A),t.lineTo(i.x,i.y+A),t.quadraticCurveTo(i.x,i.y,i.x+A,i.y),t.closePath()}var VJA=(()=>{class t{constructor(){this.viewportService=h(dB),this.renderStrategy=h(aK),this.nodeRenderingService=h(BB),this.renderer2=h(Fi),this.element=h(ge).nativeElement,this.ctx=this.element.getContext("2d"),this.width=at(0),this.height=at(0),this.dpr=window.devicePixelRatio,La(()=>{this.renderer2.setProperty(this.element,"width",this.width()*this.dpr),this.renderer2.setProperty(this.element,"height",this.height()*this.dpr),this.renderer2.setStyle(this.element,"width",`${this.width()}px`),this.renderer2.setStyle(this.element,"height",`${this.height()}px`),this.ctx.scale(this.dpr,this.dpr)}),La(()=>{let A=this.viewportService.readableViewport();this.ctx.clearRect(0,0,this.width(),this.height()),this.ctx.save(),this.ctx.setTransform(A.zoom*this.dpr,0,0,A.zoom*this.dpr,A.x*this.dpr,A.y*this.dpr);for(let i=0;i{class t{constructor(){this.nodeRenderingService=h(BB),this.edgeRenderingService=h(m7),this.flowEntitiesService=h(Sg),this.settingsService=h(Ms),this.flowInitialized=jA(!1),h(Oe).runOutsideAngular(()=>nt(this,null,function*(){yield WJA(2),this.flowInitialized.set(!0)}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function WJA(t){return new Promise(e=>{let A=0;function i(){A++,A{class t{constructor(){this.nodeRenderingService=h(BB),this.flowStatus=h(d1),this.tolerance=at(10),this.lineColor=at("#1b262c"),this.isNodeDragging=Ke(()=>csA(this.flowStatus.status())),this.intersections=h7(A=>{let i=this.flowStatus.status();if(csA(i)){let n=i.payload.node,o=DsA(C7(n)),a=this.nodeRenderingService.viewportNodes().filter(I=>I!==n).filter(I=>!n.children().includes(I)).map(I=>DsA(C7(I))),r=[],s=o.x,g=o.y,l=1/0,C=1/0;return a.forEach(I=>{let d=o.left+o.width/2,B=I.left+I.width/2;for(let[f,b,S,M]of[[d,B,B-o.width/2,!0],[o.left,I.left,I.left,!1],[o.left,I.right,I.right,!1],[o.right,I.left,I.left-o.width,!1],[o.right,I.right,I.right-o.width,!1]]){let D=Math.abs(f-b);if(D<=this.tolerance()){let F=Math.min(o.top,I.top),_=Math.max(o.bottom,I.bottom);if(r.push({x:b,y:F,x2:b,y2:_,isCenter:M}),DA.payload.node),fe(A=>[A,this.intersections()]),oi(([A,i])=>{if(i){let n={x:i.snappedX,y:i.snappedY},o=A.parent()?[A.parent()]:[];A.setPoint(iK(n,o)[0])}}),Tr()).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","alignmentHelper",""]],inputs:{tolerance:[1,"tolerance"],lineColor:[1,"lineColor"]},attrs:vUA,decls:1,vars:1,template:function(i,n){i&1&&V(0,kUA,1,1),i&2&&W(n.isNodeDragging()?0:-1)},encapsulation:2,changeDetection:0})}}return t})();var GsA=(()=>{class t{constructor(){this.viewportService=h(dB),this.flowEntitiesService=h(Sg),this.nodesChangeService=h($G),this.edgesChangeService=h(AK),this.nodeRenderingService=h(BB),this.edgeRenderingService=h(m7),this.flowSettingsService=h(Ms),this.componentEventBusService=h(VG),this.keyboardService=h(qG),this.injector=h(ft),this.flowRenderingService=h(wsA),this.alignmentHelper=at(!1),this.nodeModels=this.nodeRenderingService.nodes,this.groups=this.nodeRenderingService.groups,this.nonGroups=this.nodeRenderingService.nonGroups,this.edgeModels=this.edgeRenderingService.edges,this.onComponentNodeEvent=Dn(this.componentEventBusService.event$),this.nodeTemplateDirective=oC(B7),this.nodeSvgTemplateDirective=oC(BsA),this.groupNodeTemplateDirective=oC(E7),this.edgeTemplateDirective=oC(CsA),this.edgeLabelHtmlDirective=oC(dsA),this.connectionTemplateDirective=oC(IsA),this.mapContext=ca(OG),this.spacePointContext=ca.required(Fm),this.viewport=this.viewportService.readableViewport.asReadonly(),this.nodesChange=Lm(this.nodesChangeService.changes$,{initialValue:[]}),this.edgesChange=Lm(this.edgesChangeService.changes$,{initialValue:[]}),this.initialized=this.flowRenderingService.flowInitialized.asReadonly(),this.viewportChange$=$n(this.viewportService.readableViewport).pipe(Fg(1)),this.nodesChange$=this.nodesChangeService.changes$,this.edgesChange$=this.edgesChangeService.changes$,this.initialized$=$n(this.flowRenderingService.flowInitialized),this.markers=this.flowEntitiesService.markers,this.minimap=this.flowEntitiesService.minimap,this.flowOptimization=this.flowSettingsService.optimization,this.flowWidth=this.flowSettingsService.computedFlowWidth,this.flowHeight=this.flowSettingsService.computedFlowHeight}set view(A){this.flowSettingsService.view.set(A)}set minZoom(A){this.flowSettingsService.minZoom.set(A)}set maxZoom(A){this.flowSettingsService.maxZoom.set(A)}set background(A){this.flowSettingsService.background.set(mJA(A))}set optimization(A){this.flowSettingsService.optimization.update(i=>gA(gA({},i),A))}set entitiesSelectable(A){this.flowSettingsService.entitiesSelectable.set(A)}set keyboardShortcuts(A){this.keyboardService.setShortcuts(A)}set connection(A){this.flowEntitiesService.connection.set(A)}get connection(){return this.flowEntitiesService.connection()}set snapGrid(A){this.flowSettingsService.snapGrid.set(A)}set elevateNodesOnSelect(A){this.flowSettingsService.elevateNodesOnSelect.set(A)}set elevateEdgesOnSelect(A){this.flowSettingsService.elevateEdgesOnSelect.set(A)}set nodes(A){let i=ir(this.injector,()=>u7.nodes(A,this.flowEntitiesService.nodes()));EsA(i,this.flowEntitiesService.edges()),this.flowEntitiesService.nodes.set(i),i.forEach(n=>this.nodeRenderingService.pullNode(n))}set edges(A){let i=ir(this.injector,()=>u7.edges(A,this.flowEntitiesService.edges()));EsA(this.flowEntitiesService.nodes(),i),this.flowEntitiesService.edges.set(i)}viewportTo(A){this.viewportService.writableViewport.set({changeType:"absolute",state:A,duration:0})}zoomTo(A){this.viewportService.writableViewport.set({changeType:"absolute",state:{zoom:A},duration:0})}panTo(A){this.viewportService.writableViewport.set({changeType:"absolute",state:A,duration:0})}fitView(A){this.viewportService.fitView(A)}getNode(A){return this.flowEntitiesService.getNode(A)?.rawNode}getDetachedEdges(){return this.flowEntitiesService.getDetachedEdges().map(A=>A.edge)}documentPointToFlowPoint(A,i){let n=this.spacePointContext().documentPointToFlowPoint(A);return i?.spaces?iK(n,this.nodeRenderingService.groups()):n}getIntesectingNodes(A,i={partially:!0}){return HUA(A,this.nodeModels(),i).map(n=>n.rawNode)}toNodeSpace(A,i){let n=this.nodeModels().find(a=>a.rawNode.id===A);if(!n)return{x:1/0,y:1/0};if(i===null)return n.globalPoint();let o=this.nodeModels().find(a=>a.rawNode.id===i);return o?iK(n.globalPoint(),[o])[0]:{x:1/0,y:1/0}}trackNodes(A,{rawNode:i}){return i}trackEdges(A,{edge:i}){return i}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["vflow"]],contentQueries:function(i,n,o){i&1&&lp(o,n.nodeTemplateDirective,B7,5)(o,n.nodeSvgTemplateDirective,BsA,5)(o,n.groupNodeTemplateDirective,E7,5)(o,n.edgeTemplateDirective,CsA,5)(o,n.edgeLabelHtmlDirective,dsA,5)(o,n.connectionTemplateDirective,IsA,5),i&2&&wr(6)},viewQuery:function(i,n){i&1&&rs(n.mapContext,OG,5)(n.spacePointContext,Fm,5),i&2&&wr(2)},inputs:{view:"view",minZoom:"minZoom",maxZoom:"maxZoom",background:"background",optimization:"optimization",entitiesSelectable:"entitiesSelectable",keyboardShortcuts:"keyboardShortcuts",connection:[2,"connection","connection",A=>new I7(A)],snapGrid:"snapGrid",elevateNodesOnSelect:"elevateNodesOnSelect",elevateEdgesOnSelect:"elevateEdgesOnSelect",nodes:"nodes",alignmentHelper:[1,"alignmentHelper"],edges:"edges"},outputs:{onComponentNodeEvent:"onComponentNodeEvent"},features:[It([bsA,dB,d1,Sg,$G,AK,BB,m7,Gm,Ms,VG,qG,xsA,{provide:aK,useClass:HJA},wsA]),ap([{directive:fJA,outputs:["onNodesChange","onNodesChange","onNodesChange.position","onNodesChange.position","onNodesChange.position.single","onNodesChange.position.single","onNodesChange.position.many","onNodesChange.position.many","onNodesChange.size","onNodesChange.size","onNodesChange.size.single","onNodesChange.size.single","onNodesChange.size.many","onNodesChange.size.many","onNodesChange.add","onNodesChange.add","onNodesChange.add.single","onNodesChange.add.single","onNodesChange.add.many","onNodesChange.add.many","onNodesChange.remove","onNodesChange.remove","onNodesChange.remove.single","onNodesChange.remove.single","onNodesChange.remove.many","onNodesChange.remove.many","onNodesChange.select","onNodesChange.select","onNodesChange.select.single","onNodesChange.select.single","onNodesChange.select.many","onNodesChange.select.many","onEdgesChange","onEdgesChange","onEdgesChange.detached","onEdgesChange.detached","onEdgesChange.detached.single","onEdgesChange.detached.single","onEdgesChange.detached.many","onEdgesChange.detached.many","onEdgesChange.add","onEdgesChange.add","onEdgesChange.add.single","onEdgesChange.add.single","onEdgesChange.add.many","onEdgesChange.add.many","onEdgesChange.remove","onEdgesChange.remove","onEdgesChange.remove.single","onEdgesChange.remove.single","onEdgesChange.remove.many","onEdgesChange.remove.many","onEdgesChange.select","onEdgesChange.select","onEdgesChange.select.single","onEdgesChange.select.single","onEdgesChange.select.many","onEdgesChange.select.many"]}])],decls:11,vars:8,consts:[["flow",""],["rootSvgRef","","rootSvgContext","","rootPointer","","flowSizeController","",1,"root-svg"],["flowDefs","",3,"markers"],["background",""],["mapContext","","spacePointContext",""],["connection","",3,"model","template"],[3,"ngTemplateOutlet"],["previewFlow","",1,"preview-flow",3,"width","height"],["alignmentHelper",""],["alignmentHelper","",3,"tolerance","lineColor"],["node","",3,"model","groupNodeTemplate"],["edge","",3,"model","edgeTemplate","edgeLabelHtmlTemplate"],["node","",3,"model","nodeTemplate","nodeSvgTemplate"],["node","",3,"model","nodeTemplate","nodeSvgTemplate","groupNodeTemplate"]],template:function(i,n){if(i&1&&(Qt(),m(0,"svg",1,0),GA(2,"defs",2)(3,"g",3),m(4,"g",4),V(5,RUA,2,1),GA(6,"g",5),V(7,LUA,6,0),V(8,UUA,4,0),w(),V(9,JUA,1,1,":svg:ng-container",6),w(),V(10,YUA,1,2,"canvas",7)),i&2){let o,a,r;p(2),AA("markers",n.markers()),p(3),W((o=n.alignmentHelper())?5:-1,o),p(),AA("model",n.connection)("template",(a=n.connectionTemplateDirective())==null?null:a.templateRef),p(),W(n.flowOptimization().detachedGroupsLayer?7:-1),p(),W(n.flowOptimization().detachedGroupsLayer?-1:8),p(),W((r=n.minimap())?9:-1,r),p(),W(n.flowOptimization().virtualization?10:-1)}},dependencies:[p7,TJA,w7,YJA,JJA,KJA,OG,Fm,RJA,_sA,FsA,al,VJA,ZJA],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:1fr;width:100%;height:100%;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] *{box-sizing:border-box}.root-svg[_ngcontent-%COMP%]{grid-row-start:1;grid-column-start:1}.preview-flow[_ngcontent-%COMP%]{pointer-events:none;grid-row-start:1;grid-column-start:1}"],changeDetection:0})}}return t})();var KsA=(()=>{class t{constructor(){this.flowSettingsService=h(Ms),this.selectionService=h(Gm),this.parentEdge=h(FsA,{optional:!0}),this.parentNode=h(_sA,{optional:!0}),this.host=h(ge),this.selectOnEvent=this.getEvent$().pipe(oi(()=>this.select()),Tr()).subscribe()}select(){let A=this.entity();A&&this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(A)}entity(){return this.parentNode?this.parentNode.model():this.parentEdge?this.parentEdge.model():null}getEvent$(){return il(this.host.nativeElement,"click")}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","selectable",""]]})}}return t})();var $JA=["canvas"],AYA=["svgCanvas"],eYA=()=>({type:"dots",color:"#424242",size:1,gap:12}),tYA=()=>[12,12],iYA=(t,e)=>e.name;function nYA(t,e){if(t&1){let A=JA();m(0,"div",6)(1,"div",11)(2,"button",12),eA("click",function(){Z(A);let n=v();return X(n.backToMainCanvas())}),m(3,"mat-icon"),K(4,"arrow_back"),w()(),m(5,"div",13)(6,"span",14),K(7,"smart_toy"),w(),m(8,"div",15)(9,"h3",16),K(10),w(),m(11,"p",17),K(12,"Agent Tool"),w()()()()()}if(t&2){let A=v();p(2),AA("matTooltip",A.getBackButtonTooltip()),p(8),qA(A.currentAgentTool())}}function oYA(t,e){if(t&1){let A=JA();m(0,"span",18),eA("click",function(){Z(A);let n=v();return X(n.toggleSidePanelRequest.emit())}),K(1,"left_panel_open"),w()}}function aYA(t,e){if(t&1){let A=JA();Qt(),m(0,"foreignObject"),as(),m(1,"div",27),eA("click",function(n){return Z(A),X(n.stopPropagation())}),m(2,"button",28,0),eA("click",function(n){return Z(A),X(n.stopPropagation())}),m(4,"mat-icon"),K(5,"add"),w()(),m(6,"span",29),K(7,"Add sub-agent"),w(),m(8,"mat-menu",null,1)(10,"button",30),eA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LlmAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(11,"mat-icon"),K(12,"psychology"),w(),m(13,"span"),K(14,"LLM Agent"),w()(),m(15,"button",30),eA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("SequentialAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(16,"mat-icon"),K(17,"more_horiz"),w(),m(18,"span"),K(19,"Sequential Agent"),w()(),m(20,"button",30),eA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LoopAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(21,"mat-icon"),K(22,"sync"),w(),m(23,"span"),K(24,"Loop Agent"),w()(),m(25,"button",30),eA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("ParallelAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(26,"mat-icon"),K(27,"density_medium"),w(),m(28,"span"),K(29,"Parallel Agent"),w()()()()()}if(t&2){let A=An(9),i=v().$implicit;ie("width",200)("height",100)("x",i.width()/2-100)("y",i.height()/2-40),p(2),AA("matMenuTriggerFor",A)}}function rYA(t,e){t&1&&(Qt(),GA(0,"handle",26))}function sYA(t,e){if(t&1){let A=JA();Qt(),m(0,"g")(1,"rect",21),eA("click",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onGroupClick(o.node,n))})("pointerdown",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onGroupPointerDown(o.node,n))}),w(),m(2,"foreignObject",22),as(),m(3,"div",23)(4,"mat-icon",24),K(5),w(),m(6,"span",25),K(7),w()()(),V(8,aYA,30,5,":svg:foreignObject"),V(9,rYA,1,0,":svg:handle",26),w()}if(t&2){let A,i,n=e.$implicit,o=v(2);p(),wn("stroke",o.isGroupSelected(n.node)?"rgba(0, 187, 234, 0.8)":"rgba(0, 187, 234, 0.3)")("fill",o.isGroupSelected(n.node)?"rgba(0, 187, 234, 0.1)":"rgba(0, 187, 234, 0.03)")("stroke-width",o.isGroupSelected(n.node)?3:2),ie("width",n.width())("height",n.height()),p(),ie("width",200)("height",32),p(3),qA(o.getAgentIcon(n.node.data==null||(A=n.node.data())==null?null:A.agent_class)),p(2),qA(n.node.data==null||(i=n.node.data())==null?null:i.agent_class),p(),W(o.isGroupEmpty(n.node.id)?8:-1),p(),W(o.shouldShowTopHandle(n.node)?9:-1)}}function gYA(t,e){t&1&&(m(0,"span",35),K(1,"Root"),w())}function lYA(t,e){if(t&1){let A=JA();m(0,"button",43),eA("click",function(n){Z(A),v();let o=Ws(0);return v(2).openDeleteSubAgentDialog(o),X(n.stopPropagation())}),m(1,"mat-icon"),K(2,"delete"),w()()}}function cYA(t,e){if(t&1){let A=JA();m(0,"div",46),eA("click",function(n){let o=Z(A).$implicit,a=v(2).$implicit;return v(2).selectTool(o,a.node),X(n.stopPropagation())}),m(1,"mat-icon",47),K(2),w(),m(3,"span",48),K(4),w()()}if(t&2){let A=e.$implicit,i=v(4);p(2),qA(i.getToolIcon(A)),p(2),qA(A.name)}}function CYA(t,e){if(t&1&&(m(0,"div",38)(1,"div",44),Ut(2,cYA,5,2,"div",45,iYA),w()()),t&2){v();let A=Ws(3);p(2),Jt(A)}}function IYA(t,e){if(t&1){let A=JA();m(0,"div",39)(1,"button",49,2),eA("click",function(n){return Z(A),X(n.stopPropagation())}),m(3,"span",50),K(4,"+"),w()(),m(5,"mat-menu",null,3)(7,"button",30),eA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LlmAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(8,"mat-icon"),K(9,"psychology"),w(),m(10,"span"),K(11,"LLM Agent"),w()(),m(12,"button",30),eA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("SequentialAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(13,"mat-icon"),K(14,"more_horiz"),w(),m(15,"span"),K(16,"Sequential Agent"),w()(),m(17,"button",30),eA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LoopAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(18,"mat-icon"),K(19,"sync"),w(),m(20,"span"),K(21,"Loop Agent"),w()(),m(22,"button",30),eA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("ParallelAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(23,"mat-icon"),K(24,"density_medium"),w(),m(25,"span"),K(26,"Parallel Agent"),w()()()()}if(t&2){let A=An(6);p(),AA("matMenuTriggerFor",A)}}function dYA(t,e){t&1&&GA(0,"handle",40)}function BYA(t,e){t&1&&GA(0,"handle",26)}function EYA(t,e){t&1&&GA(0,"handle",41)}function QYA(t,e){t&1&&GA(0,"handle",42)}function hYA(t,e){if(t&1){let A=JA();Ur(0)(1),ri(2,"async"),Ur(3),m(4,"div",31),eA("click",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onCustomTemplateNodeClick(o.node,n))})("pointerdown",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onNodePointerDown(o.node,n))}),m(5,"div",32)(6,"div",33)(7,"mat-icon",34),K(8),w(),K(9),V(10,gYA,2,0,"span",35),w(),m(11,"div",36),V(12,lYA,3,0,"button",37),w()(),V(13,CYA,4,0,"div",38),V(14,IYA,27,1,"div",39),V(15,dYA,1,0,"handle",40),V(16,BYA,1,0,"handle",26),V(17,EYA,1,0,"handle",41),V(18,QYA,1,0,"handle",42),w()}if(t&2){let A=e.$implicit,i=v(2),n=A.node.data==null?null:A.node.data(),o=_g((n==null?null:n.name)||"root_agent"),a=Ci(2,17,i.toolsMap$);p(3);let s=_g(i.getToolsForNode(o,a)).length>0;p(),ae("custom-node_selected",i.isNodeSelected(A.node))("custom-node_has-tools",s)("in-group",A.node.parentId&&A.node.parentId()),p(4),qA(i.getAgentIcon(n==null?null:n.agent_class)),p(),_e(" ",o," "),p(),W(i.isRootAgent(o)?10:-1),p(2),W(i.isRootAgentForCurrentTab(o)?-1:12),p(),W(s?13:-1),p(),W(i.shouldShowAddButton(A.node)?14:-1),p(),W(i.shouldShowLeftHandle(A.node)?15:-1),p(),W(i.shouldShowTopHandle(A.node)?16:-1),p(),W(i.shouldShowRightHandle(A.node)?17:-1),p(),W(i.shouldShowBottomHandle(A.node)?18:-1)}}function uYA(t,e){if(t&1&&(m(0,"vflow",8),vt(1,sYA,10,14,"ng-template",19)(2,hYA,19,20,"ng-template",20),w()),t&2){let A=v();AA("nodes",A.vflowNodes())("edges",A.edges())("background",Cu(4,eYA))("snapGrid",Cu(5,tYA))}}function fYA(t,e){t&1&&(m(0,"div",9)(1,"div",51)(2,"mat-icon",52),K(3,"touch_app"),w(),m(4,"h4"),K(5,"Start Building Your ADK"),w(),m(6,"p"),K(7,"Drag components from the left panel to create your workflow"),w(),m(8,"div",53)(9,"div",54)(10,"mat-icon"),K(11,"drag_indicator"),w(),m(12,"span"),K(13,"Drag to move nodes"),w()(),m(14,"div",54)(15,"mat-icon"),K(16,"link"),w(),m(17,"span"),K(18,"Shift + Click to connect nodes"),w()()()()())}var jh=class t{constructor(e,A,i){this.dialog=e;this.agentService=A;this.router=i;this.toolsMap$=this.agentBuilderService.getAgentToolsMap(),this.agentBuilderService.getSelectedTool().subscribe(n=>{this.selectedTool=n})}_snackBar=h(J2);canvasRef;svgCanvasRef;agentBuilderService=h(E0);cdr=h(mt);showSidePanel=!0;showBuilderAssistant=!1;appNameInput="";toggleSidePanelRequest=new WA;builderAssistantCloseRequest=new WA;ctx;connections=jA([]);nodeId=1;edgeId=1;callbackId=1;toolId=1;appName="";nodes=jA([]);edges=jA([]);workflowShellWidth=340;workflowGroupWidth=420;workflowGroupHeight=220;workflowGroupYOffset=180;workflowGroupXOffset=-40;workflowInnerNodePoint={x:40,y:80};groupNodes=jA([]);vflowNodes=Ke(()=>[...this.groupNodes(),...this.nodes()]);selectedAgents=[];selectedTool;selectedCallback;currentAgentTool=jA(null);agentToolBoards=jA(new Map);isAgentToolMode=!1;navigationStack=[];existingAgent=void 0;toolsMap$;nodePositions=new Map;ngOnInit(){this.agentService.getApp().subscribe(e=>{e&&(this.appName=e)}),this.appNameInput&&(this.appName=this.appNameInput),this.agentBuilderService.getNewTabRequest().subscribe(e=>{if(e){let{tabName:A,currentAgentName:i}=e;this.switchToAgentToolBoard(A,i)}}),this.agentBuilderService.getTabDeletionRequest().subscribe(e=>{e&&this.deleteAgentToolBoard(e)}),this.agentBuilderService.getSelectedCallback().subscribe(e=>{this.selectedCallback=e}),this.agentBuilderService.getAgentCallbacks().subscribe(e=>{if(e){let A=this.nodes().find(i=>i.data?i.data().name===e.agentName:void 0);if(A&&A.data){let i=A.data();i.callbacks=e.callbacks,A.data.set(i)}}}),this.agentBuilderService.getDeleteSubAgentSubject().subscribe(e=>{e&&this.openDeleteSubAgentDialog(e)}),this.agentBuilderService.getAddSubAgentSubject().subscribe(e=>{e.parentAgentName&&this.addSubAgent(e.parentAgentName,e.agentClass,e.isFromEmptyGroup)}),this.agentBuilderService.getSelectedNode().subscribe(e=>{this.selectedAgents=this.nodes().filter(A=>A.data&&A.data().name===e?.name)}),this.toolsMap$.subscribe(e=>{this.nodes().some(i=>i.parentId&&i.parentId())&&this.groupNodes().length>0&&this.updateGroupDimensions()})}ngOnChanges(e){e.appNameInput&&e.appNameInput.currentValue&&(this.appName=e.appNameInput.currentValue)}ngAfterViewInit(){}onCustomTemplateNodeClick(e,A){this.shouldIgnoreNodeInteraction(A.target)||this.selectAgentNode(e,{openConfig:!0})}onNodePointerDown(e,A){this.shouldIgnoreNodeInteraction(A.target)||this.selectAgentNode(e,{openConfig:!1})}onGroupClick(e,A){if(A.stopPropagation(),!e?.data)return;let i=e.data().name,n=this.nodes().find(o=>o.data&&o.data().name===i);n&&this.selectAgentNode(n,{openConfig:!0})}onGroupPointerDown(e,A){if(A.stopPropagation(),!e?.data)return;let i=e.data().name,n=this.nodes().find(o=>o.data&&o.data().name===i);n&&this.selectAgentNode(n,{openConfig:!1})}onCanvasClick(e){let A=e.target;if(!A)return;let i=[".custom-node",".action-button-bar",".add-subagent-btn",".open-panel-btn",".agent-tool-banner",".mat-mdc-menu-panel"];A.closest(i.join(","))||this.clearCanvasSelection()}shouldIgnoreNodeInteraction(e){return e?!!e.closest("mat-chip, .add-subagent-btn, .mat-mdc-menu-panel"):!1}selectAgentNode(e,A={}){if(!e?.data)return;let i=this.agentBuilderService.getNode(e.data().name);i&&(this.agentBuilderService.setSelectedTool(void 0),this.agentBuilderService.setSelectedNode(i),this.nodePositions.set(i.name,gA({},e.point())),A.openConfig&&this.agentBuilderService.requestSideTabChange("config"))}handleAgentTypeSelection(e,A,i,n,o=!1){n.stopPropagation(),i?.closeMenu(),this.onAgentTypeSelected(e,A,o)}clearCanvasSelection(){!this.selectedAgents.length&&!this.selectedTool&&!this.selectedCallback||(this.selectedAgents=[],this.selectedTool=void 0,this.selectedCallback=void 0,this.agentBuilderService.setSelectedNode(void 0),this.agentBuilderService.setSelectedTool(void 0),this.agentBuilderService.setSelectedCallback(void 0),this.cdr.markForCheck())}onAddResource(e){}onAgentTypeSelected(e,A,i=!1){A&&this.addSubAgent(A,e,i)}generateNodeId(){return this.nodeId+=1,this.nodeId.toString()}generateEdgeId(){return this.edgeId+=1,this.edgeId.toString()}createNode(e,A,i){let n=jA(e),a={id:this.generateNodeId(),point:jA(gA({},A)),type:"html-template",data:n};return i&&(a.parentId=jA(i)),this.nodePositions.set(e.name,gA({},a.point())),a}createWorkflowGroup(e,A,i,n,o,a){let r,s=null;if(n){let d=(o||this.groupNodes()).find(B=>B.id===n);if(d){let B=d.point(),E=d.height?d.height():this.workflowGroupHeight;if(a&&o){let Q=a.filter(f=>f.parentId&&f.parentId()===d.id);if(Q.length>0){let U=0;for(let J of Q){let j=J.data?J.data():void 0,$=120;j&&j.tools&&j.tools.length>0&&($+=20+j.tools.length*36),U=Math.max(U,$)}E=Math.max(220,80+U+40)}}r={x:B.x,y:B.y+E+60},s=null}else r={x:i.x+this.workflowGroupXOffset,y:i.y+this.workflowGroupYOffset}}else r={x:i.x+this.workflowGroupXOffset,y:i.y+this.workflowGroupYOffset};let g=this.generateNodeId(),l={id:g,point:jA(r),type:"template-group",data:jA(e),parentId:jA(s),width:jA(this.workflowGroupWidth),height:jA(this.workflowGroupHeight)},C=e.agent_class==="SequentialAgent"?{id:this.generateEdgeId(),source:A.id,sourceHandle:"source-bottom",target:g,targetHandle:"target-top"}:null;return{groupNode:l,edge:C}}calculateWorkflowChildPosition(e,A){let r=(A-20)/2;return{x:45+e*428,y:r}}createAgentNodeWithGroup(e,A,i,n,o){let a=this.createNode(e,A,i),r=null,s=null;if(this.isWorkflowAgent(e.agent_class)){let g=this.createWorkflowGroup(e,a,A,i,n,o);r=g.groupNode,s=g.edge}return{shellNode:a,groupNode:r,groupEdge:s}}createWorkflowChildEdge(e,A){return this.createWorkflowChildEdgeFromArrays(e,A,this.nodes(),this.groupNodes())}createWorkflowChildEdgeFromArrays(e,A,i,n){if(!A)return null;let o=n.find(r=>r.id===A);if(!o||!o.data)return null;let a=o.data().agent_class;if(a==="LoopAgent"||a==="ParallelAgent"){let r=i.find(s=>s.data&&s.data().name===o.data().name);if(r)return{id:this.generateEdgeId(),source:r.id,sourceHandle:"source-bottom",target:e.id,targetHandle:"target-top"}}if(a==="SequentialAgent"){let r=i.filter(l=>l.parentId&&l.parentId()===A);if(r.length===0)return null;r.sort((l,C)=>l.point().x-C.point().x);let s=r.findIndex(l=>l.id===e.id);if(s<=0)return null;let g=r[s-1];return{id:this.generateEdgeId(),source:g.id,sourceHandle:"source-right",target:e.id,targetHandle:"target-left"}}return null}isWorkflowAgent(e){return e?e==="SequentialAgent"||e==="ParallelAgent"||e==="LoopAgent":!1}addSubAgent(e,A="LlmAgent",i=!1){let n=this.nodes().find(C=>C.data&&C.data().name===e);if(!n||!n.data)return;let a={name:this.agentBuilderService.getNextSubAgentName(),agent_class:A,model:"gemini-2.5-flash",instruction:"You are a sub-agent that performs specialized tasks.",isRoot:!1,sub_agents:[],tools:[]},r=this.isWorkflowAgent(n.data().agent_class),s=n.parentId&&n.parentId()&&this.groupNodes().some(C=>C.id===n.parentId()),g,l=null;if(i&&r){let C=n.data();if(!C)return;let I=this.groupNodes().find(b=>b.data&&b.data()?.name===C.name);if(!I){console.error("Could not find group for workflow node");return}let d=this.agentBuilderService.getNode(n.data().name);if(!d){console.error("Could not find clicked agent data");return}let B=d.sub_agents.length,E=I.height?I.height():this.workflowGroupHeight,Q=this.calculateWorkflowChildPosition(B,E),f=this.createAgentNodeWithGroup(a,Q,I.id);g=f.shellNode,l=f.groupNode,d.sub_agents.push(a),l&&this.groupNodes.set([...this.groupNodes(),l]),f.groupEdge&&this.edges.set([...this.edges(),f.groupEdge])}else if(s){let C=n.parentId()??void 0,I=this.groupNodes().find(S=>S.id===C);if(!I||!I.data){console.error("Could not find parent group node");return}let d=I.data().name,B=this.agentBuilderService.getNode(d);if(!B){console.error("Could not find workflow parent agent");return}let E=B.sub_agents.length,Q=I.height?I.height():this.workflowGroupHeight,f=this.calculateWorkflowChildPosition(E,Q),b=this.createAgentNodeWithGroup(a,f,C);g=b.shellNode,l=b.groupNode,B.sub_agents.push(a),l&&this.groupNodes.set([...this.groupNodes(),l]),b.groupEdge&&this.edges.set([...this.edges(),b.groupEdge])}else{let C=n.data().sub_agents.length,I={x:n.point().x+C*400,y:n.point().y+300},d=this.createAgentNodeWithGroup(a,I);g=d.shellNode,l=d.groupNode;let B=this.agentBuilderService.getNode(n.data().name);B&&B.sub_agents.push(a),l&&this.groupNodes.set([...this.groupNodes(),l]),d.groupEdge&&this.edges.set([...this.edges(),d.groupEdge])}if(this.agentBuilderService.addNode(a),this.nodes.set([...this.nodes(),g]),this.selectedAgents=[g],(s||r)&&this.updateGroupDimensions(),r||s){let C=g.parentId?g.parentId()??void 0:void 0,I=this.createWorkflowChildEdge(g,C);I&&this.edges.set([...this.edges(),I])}else{let C={id:this.generateEdgeId(),source:n.id,sourceHandle:"source-bottom",target:g.id,targetHandle:"target-top"};this.edges.set([...this.edges(),C])}this.agentBuilderService.setSelectedNode(a),this.agentBuilderService.requestSideTabChange("config")}addTool(e){let A=this.nodes().find(o=>o.id===e);if(!A||!A.data)return;let i=A.data();if(!i)return;this.dialog.open(W2,{width:"500px"}).afterClosed().subscribe(o=>{if(o)if(o.toolType==="Agent Tool")this.createAgentTool(i.name);else{let a={toolType:o.toolType,name:o.name};this.agentBuilderService.addTool(i.name,a),this.agentBuilderService.setSelectedTool(a)}})}addCallback(e){let A=this.nodes().find(o=>o.id===e);if(!A||!A.data)return;let i={name:`callback_${this.callbackId}`,type:"before_agent",code:`def callback_function(callback_context): + # Add your callback logic here + return None`,description:"Auto-generated callback"};this.callbackId++;let n=this.agentBuilderService.addCallback(A.data().name,i);n.success||this._snackBar.open(n.error||"Failed to add callback","Close",{duration:3e3,panelClass:["error-snackbar"]})}createAgentTool(e){this.dialog.open(qc,{width:"750px",height:"310px",data:{title:"Create Agent Tool",message:"Please enter a name for the agent tool:",confirmButtonText:"Create",showInput:!0,inputLabel:"Agent Tool Name",inputPlaceholder:"Enter agent tool name"}}).afterClosed().subscribe(i=>{i&&typeof i=="string"&&this.agentBuilderService.requestNewTab(i,e)})}deleteTool(e,A){let i=A.toolType==="Agent Tool",n=i&&A.toolAgentName||A.name;this.dialog.open(qc,{data:{title:i?"Delete Agent Tool":"Delete Tool",message:i?`Are you sure you want to delete the agent tool "${n}"? This will also delete the corresponding board.`:`Are you sure you want to delete ${n}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(a=>{a==="confirm"&&this.deleteToolWithoutDialog(e,A)})}deleteToolWithoutDialog(e,A){if(A.toolType==="Agent Tool"){let i=A.toolAgentName||A.name;this.deleteAgentToolAndBoard(e,A,i)}else this.agentBuilderService.deleteTool(e,A)}deleteAgentToolAndBoard(e,A,i){this.agentBuilderService.deleteTool(e,A),this.agentBuilderService.requestTabDeletion(i)}deleteCallback(e,A){this.dialog.open(qc,{data:{title:"Delete Callback",message:`Are you sure you want to delete ${A.name}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(n=>{if(n==="confirm"){let o=this.agentBuilderService.deleteCallback(e,A);o.success||this._snackBar.open(o.error||"Failed to delete callback","Close",{duration:3e3,panelClass:["error-snackbar"]}),this.cdr.detectChanges()}})}openDeleteSubAgentDialog(e){this.dialog.open(qc,{data:{title:"Delete sub agent",message:`Are you sure you want to delete ${e}? This will also delete all the underlying sub agents and tools.`,confirmButtonText:"Delete"}}).afterClosed().subscribe(i=>{i==="confirm"&&this.deleteSubAgent(e)})}deleteSubAgent(e){let A=this.agentBuilderService.getNode(e);if(!A)return;let i=this.agentBuilderService.getParentNode(this.agentBuilderService.getRootNode(),A,void 0,this.agentToolBoards());i&&(this.deleteSubAgentHelper(A,i),this.agentBuilderService.getSelectedNode().pipe(oo(1),Ze(n=>!!n)).subscribe(n=>{this.agentBuilderService.getNodes().includes(n)||this.agentBuilderService.setSelectedNode(i)}))}isNodeInSequentialWorkflow(e){if(!e.parentId||!e.parentId())return!1;let A=e.parentId(),i=this.groupNodes().find(n=>n.id===A);return!i||!i.data?!1:i.data().agent_class==="SequentialAgent"}getSequentialSiblings(e){if(!e.parentId||!e.parentId())return{previous:void 0,next:void 0};let A=e.parentId(),i=this.nodes().filter(o=>o.parentId&&o.parentId()===A);i.sort((o,a)=>o.point().x-a.point().x);let n=i.findIndex(o=>o.id===e.id);return n===-1?{previous:void 0,next:void 0}:{previous:n>0?i[n-1]:void 0,next:nn.data&&n.data().name===e.name);if(i){let n=this.isNodeInSequentialWorkflow(i),o,a;if(n){let s=this.getSequentialSiblings(i);o=s.previous,a=s.next}this.nodes.set(this.nodes().filter(s=>s.id!==i.id));let r=this.groupNodes().find(s=>s.data&&s.data().name===e.name);if(r){this.groupNodes.set(this.groupNodes().filter(g=>g.id!==r.id));let s=this.edges().filter(g=>g.target!==i.id&&g.source!==i.id&&g.target!==r.id&&g.source!==r.id);this.edges.set(s)}else{let s=this.edges().filter(g=>g.target!==i.id&&g.source!==i.id);this.edges.set(s)}if(n&&o&&a){let s={id:this.generateEdgeId(),source:o.id,sourceHandle:"source-right",target:a.id,targetHandle:"target-left"};this.edges.set([...this.edges(),s])}}this.nodePositions.delete(e.name),A.sub_agents=A.sub_agents.filter(n=>n.name!==e.name),this.agentBuilderService.deleteNode(e),i&&i.parentId&&i.parentId()&&this.updateGroupDimensions()}selectTool(e,A){if(e.toolType==="Agent Tool"){let i=e.name;this.switchToAgentToolBoard(i);return}if(e.toolType==="Function tool"||e.toolType==="Built-in tool"){if(A.data){let i=this.agentBuilderService.getNode(A.data().name);i&&this.editTool(e,i)}return}if(A.data){let i=this.agentBuilderService.getNode(A.data().name);i&&this.agentBuilderService.setSelectedNode(i)}this.agentBuilderService.setSelectedTool(e)}editTool(e,A){let i;e.toolType==="Built-in tool"?i=this.dialog.open(aB,{width:"700px",maxWidth:"90vw",data:{toolName:e.name,isEditMode:!0,toolArgs:e.args}}):i=this.dialog.open(W2,{width:"500px",data:{toolType:e.toolType,toolName:e.name,isEditMode:!0}}),i.afterClosed().subscribe(n=>{if(n&&n.isEditMode){let o=A.tools?.findIndex(a=>a.name===e.name);o!==void 0&&o!==-1&&A.tools&&(A.tools[o].name=n.name,n.args&&(A.tools[o].args=n.args),this.agentBuilderService.setAgentTools(A.name,A.tools))}})}selectCallback(e,A){if(A.data){let i=this.agentBuilderService.getNode(A.data().name);i&&this.agentBuilderService.setSelectedNode(i)}this.agentBuilderService.setSelectedCallback(e)}openToolsTab(e){if(e.data){let A=this.agentBuilderService.getNode(e.data().name);A&&this.agentBuilderService.setSelectedNode(A)}this.agentBuilderService.requestSideTabChange("tools")}saveAgent(e){let A=this.agentBuilderService.getRootNode();if(!A){this._snackBar.open("Please create an agent first.","OK");return}let i=new FormData,n=this.agentToolBoards();w0.generateYamlFile(A,i,e,n),this.agentService.agentBuild(i).subscribe(o=>{o?this.router.navigate(["/"],{queryParams:{app:e}}).then(()=>{window.location.reload()}):this._snackBar.open("Something went wrong, please try again","OK")})}isRootAgent(e){let A=this.agentBuilderService.getRootNode();return A?A.name===e:!1}isRootAgentForCurrentTab(e){return this.isAgentToolMode&&this.currentAgentTool()?e===this.currentAgentTool():this.isRootAgent(e)}shouldShowHorizontalHandle(e,A){if(!e.parentId||!e.parentId())return!1;let i=e.parentId(),n=this.groupNodes().find(s=>s.id===i);if(!n||!n.data||n.data().agent_class!=="SequentialAgent")return!1;let a=this.nodes().filter(s=>s.parentId&&s.parentId()===i);if(a.length<=1)return!1;a.sort((s,g)=>s.point().x-g.point().x);let r=a.findIndex(s=>s.id===e.id);return A==="left"?r>0:r0):!1}shouldShowTopHandle(e){let A=e.data?e.data():void 0,i=A?.name,n=i?this.isRootAgent(i):!1;if(e.type==="template-group")return A?.agent_class==="SequentialAgent";if(n)return!1;if(e.parentId&&e.parentId()){let a=e.parentId(),r=this.groupNodes().find(s=>s.id===a);if(r&&r.data){let s=r.data().agent_class;if(s==="LoopAgent"||s==="ParallelAgent")return!0}return!1}return!0}getToolsForNode(e,A){return!e||!A?[]:A.get(e)??[]}loadFromYaml(e,A){try{let i=yE(e);this.agentBuilderService.clear(),this.nodePositions.clear(),this.agentToolBoards.set(new Map),this.agentBuilderService.setAgentToolBoards(new Map),this.currentAgentTool.set(null),this.isAgentToolMode=!1,this.navigationStack=[];let n=be(gA({name:i.name||"root_agent",agent_class:i.agent_class||"LlmAgent",model:i.model||"gemini-2.5-flash",instruction:i.instruction||"",description:i.description||""},i.max_iterations&&{max_iterations:i.max_iterations}),{isRoot:!0,sub_agents:i.sub_agents||[],tools:this.parseToolsFromYaml(i.tools||[]),callbacks:this.parseCallbacksFromYaml(i)});this.agentBuilderService.addNode(n),this.agentBuilderService.setSelectedNode(n),this.processAgentToolsFromYaml(n.tools||[],A),this.loadAgentBoard(n)}catch(i){console.error("Error parsing YAML:",i)}}parseToolsFromYaml(e){return e.map(A=>{let i={name:A.name,toolType:this.determineToolType(A),toolAgentName:A.name};if(A.name==="AgentTool"&&A.args&&A.args.agent&&A.args.agent.config_path){i.toolType="Agent Tool";let o=A.args.agent.config_path.replace("./","").replace(".yaml","");i.name=o,i.toolAgentName=o,i.args=A.args}else A.args&&(i.args=A.args);return i})}parseCallbacksFromYaml(e){let A=[];return Object.keys(e).forEach(i=>{if(i.endsWith("_callback")&&Array.isArray(e[i])){let n=i.replace("_callback","");e[i].forEach(o=>{o.name&&A.push({name:o.name,type:n})})}}),A}determineToolType(e){return e.name==="AgentTool"&&e.args&&e.args.agent?"Agent Tool":e.name&&e.name.includes(".")&&e.args?"Custom tool":e.name&&e.name.includes(".")&&!e.args?"Function tool":"Built-in tool"}processAgentToolsFromYaml(e,A){let i=e.filter(n=>n.toolType==="Agent Tool");for(let n of i)this.agentToolBoards().has(n.name)||this.loadAgentToolConfiguration(n,A)}loadAgentToolConfiguration(e,A){let i=e.name;this.agentService.getSubAgentBuilder(A,`${i}.yaml`).subscribe({next:n=>{if(n)try{let o=yE(n),a=be(gA({name:o.name||i,agent_class:o.agent_class||"LlmAgent",model:o.model||"gemini-2.5-flash",instruction:o.instruction||`You are the ${i} agent that can be used as a tool by other agents.`,description:o.description||""},o.max_iterations&&{max_iterations:o.max_iterations}),{isRoot:!1,sub_agents:o.sub_agents||[],tools:this.parseToolsFromYaml(o.tools||[]),callbacks:this.parseCallbacksFromYaml(o),isAgentTool:!0,skip_summarization:!!e.args?.skip_summarization}),r=this.agentToolBoards();if(r.set(i,a),this.agentToolBoards.set(r),this.agentBuilderService.setAgentToolBoards(r),this.agentBuilderService.addNode(a),this.processAgentToolsFromYaml(a.tools||[],A),a.sub_agents&&a.sub_agents.length>0)for(let s of a.sub_agents)s.config_path&&this.agentService.getSubAgentBuilder(A,s.config_path).subscribe(g=>{if(g){let l=yE(g);this.processAgentToolsFromYaml(this.parseToolsFromYaml(l.tools||[]),A)}})}catch(o){console.error(`Error parsing YAML for agent tool ${i}:`,o),this.createDefaultAgentToolConfiguration(e)}else this.createDefaultAgentToolConfiguration(e)},error:n=>{console.error(`Error loading agent tool configuration for ${i}:`,n),this.createDefaultAgentToolConfiguration(e)}})}createDefaultAgentToolConfiguration(e){let A=e.name,i={name:A,agent_class:"LlmAgent",model:"gemini-2.5-flash",instruction:`You are the ${A} agent that can be used as a tool by other agents.`,isRoot:!1,sub_agents:[],tools:[],isAgentTool:!0,skip_summarization:!!e.args?.skip_summarization},n=this.agentToolBoards();n.set(A,i),this.agentToolBoards.set(n),this.agentBuilderService.setAgentToolBoards(n),this.agentBuilderService.addNode(i)}loadAgentTools(e){e.tools?(e.tools=e.tools.filter(A=>A.name&&A.name.trim()!==""),e.tools.forEach(A=>{A.toolType!=="Agent Tool"&&(A.name.includes(".")&&A.args?A.toolType="Custom tool":A.name.includes(".")&&!A.args?A.toolType="Function tool":A.toolType="Built-in tool")})):e.tools=[]}isNodeSelected(e){return this.selectedAgents.includes(e)}isGroupSelected(e){if(!e.data)return!1;let A=e.data().name,i=this.nodes().find(n=>n.data&&n.data().name===A);return i?this.isNodeSelected(i):!1}loadSubAgents(e,A){return nt(this,null,function*(){let i=[{node:A,depth:1,index:1,parentShellId:void 0,parentAgent:void 0,parentGroupId:void 0}],n=[],o=[],a=[];for(;i.length>0;){let{node:r,depth:s,index:g,parentShellId:l,parentAgent:C,parentGroupId:I}=i.shift(),d=r;if(r.config_path)try{let M=yield oU(this.agentService.getSubAgentBuilder(e,r.config_path));d=yE(M),d.tools&&(d.tools=this.parseToolsFromYaml(d.tools||[])),this.processAgentToolsFromYaml(d.tools||[],e)}catch(M){console.error(`Failed to load agent from ${r.config_path}`,M);continue}if(C&&C.sub_agents){let M=C.sub_agents.indexOf(r);M!==-1&&(C.sub_agents[M]=d,this.agentBuilderService.addNode(C))}this.agentBuilderService.addNode(d);let B=this.nodePositions.get(d.name),E=this.isWorkflowAgent(d.agent_class),Q=C?this.isWorkflowAgent(C.agent_class):!1,f,b,S=null;if(Q&&!d.isRoot){let M=C?.sub_agents.indexOf(d)??g,D=o.find(U=>U.id===I),F=D?.height?D.height():this.workflowGroupHeight;f=B??this.calculateWorkflowChildPosition(M,F);let _=this.createAgentNodeWithGroup(d,f,I??void 0,o,n);b=_.shellNode,S=_.groupNode,n.push(b),S&&o.push(S),_.groupEdge&&a.push(_.groupEdge)}else{if(B)f=B;else if(!l)f={x:100,y:150};else{let D=n.find(F=>F.id===l);D?f={x:D.point().x+(g-1)*400,y:D.point().y+300}:f={x:100,y:s*150+50}}let M=this.createAgentNodeWithGroup(d,f,void 0,o,n);b=M.shellNode,S=M.groupNode,n.push(b),E&&!d.isRoot&&(S&&o.push(S),M.groupEdge&&a.push(M.groupEdge))}if(l)if(I){let M=this.createWorkflowChildEdgeFromArrays(b,I,n,o);M&&a.push(M)}else{let M={id:this.generateEdgeId(),source:l,sourceHandle:"source-bottom",target:b.id,targetHandle:"target-top"};a.push(M)}if(d.sub_agents&&d.sub_agents.length>0){let M=1,D=E&&S?S.id:I;for(let F of d.sub_agents)i.push({node:F,parentShellId:b.id,depth:s+1,index:M,parentAgent:d,parentGroupId:D}),M++}}this.nodes.set(n),this.groupNodes.set(o),this.edges.set(a),this.updateGroupDimensions()})}switchToAgentToolBoard(e,A){let i=this.currentAgentTool()||"main";i!==e&&this.navigationStack.push(i);let n=this.agentToolBoards(),o=n.get(e);if(!o){o={isRoot:!1,name:e,agent_class:"LlmAgent",model:"gemini-2.5-flash",instruction:`You are the ${e} agent that can be used as a tool by other agents.`,sub_agents:[],tools:[],isAgentTool:!0,skip_summarization:!1};let a=new Map(n);a.set(e,o),this.agentToolBoards.set(a),this.agentBuilderService.setAgentToolBoards(a),A?this.addAgentToolToAgent(e,A):this.addAgentToolToRoot(e)}this.currentAgentTool.set(e),this.isAgentToolMode=!0,this.loadAgentBoard(o),this.agentBuilderService.setSelectedNode(o),this.agentBuilderService.requestSideTabChange("config")}backToMainCanvas(){if(this.navigationStack.length>0){let e=this.navigationStack.pop();if(e==="main"){this.currentAgentTool.set(null),this.isAgentToolMode=!1;let A=this.agentBuilderService.getRootNode();A&&(this.loadAgentBoard(A),this.agentBuilderService.setSelectedNode(A),this.agentBuilderService.requestSideTabChange("config"))}else{let i=this.agentToolBoards().get(e);i&&(this.currentAgentTool.set(e),this.isAgentToolMode=!0,this.loadAgentBoard(i),this.agentBuilderService.setSelectedNode(i),this.agentBuilderService.requestSideTabChange("config"))}}else{this.currentAgentTool.set(null),this.isAgentToolMode=!1;let e=this.agentBuilderService.getRootNode();e&&(this.loadAgentBoard(e),this.agentBuilderService.setSelectedNode(e),this.agentBuilderService.requestSideTabChange("config"))}}loadAgentBoard(e){return nt(this,null,function*(){if(this.captureCurrentNodePositions(),this.nodes.set([]),this.groupNodes.set([]),this.edges.set([]),this.nodeId=0,this.edgeId=0,this.loadAgentTools(e),this.agentBuilderService.addNode(e),e.tools&&e.tools.length>0?this.agentBuilderService.setAgentTools(e.name,e.tools):this.agentBuilderService.setAgentTools(e.name,[]),e.sub_agents&&e.sub_agents.length>0)yield this.loadSubAgents(this.appName,e);else{let A=this.nodePositions.get(e.name)??{x:100,y:150},i=this.createNode(e,A);if(this.nodes.set([i]),this.isWorkflowAgent(e.agent_class)){let{groupNode:n,edge:o}=this.createWorkflowGroup(e,i,A);this.groupNodes.set([n]),o&&this.edges.set([o])}}this.agentBuilderService.setSelectedNode(e)})}addAgentToolToAgent(e,A){let i=this.agentBuilderService.getNode(A);if(i){if(i.tools&&i.tools.some(o=>o.name===e))return;let n={name:e,toolType:"Agent Tool",toolAgentName:e};i.tools||(i.tools=[]),i.tools.push(n),i.tools=i.tools.filter(o=>o.name&&o.name.trim()!==""),this.agentBuilderService.setAgentTools(A,i.tools)}}addAgentToolToRoot(e){let A=this.agentBuilderService.getRootNode();if(A){if(A.tools&&A.tools.some(n=>n.name===e))return;let i={name:e,toolType:"Agent Tool",toolAgentName:e};A.tools||(A.tools=[]),A.tools.push(i),this.agentBuilderService.setAgentTools("root_agent",A.tools)}}deleteAgentToolBoard(e){let A=this.agentToolBoards(),i=new Map(A);i.delete(e),this.agentToolBoards.set(i),this.agentBuilderService.setAgentToolBoards(i);let n=this.agentBuilderService.getNodes();for(let o of n)o.tools&&(o.tools=o.tools.filter(a=>!(a.toolType==="Agent Tool"&&(a.toolAgentName===e||a.name===e))),this.agentBuilderService.setAgentTools(o.name,o.tools));this.navigationStack=this.navigationStack.filter(o=>o!==e),this.currentAgentTool()===e&&this.backToMainCanvas()}getBackButtonTooltip(){if(this.navigationStack.length>0){let e=this.navigationStack[this.navigationStack.length-1];return e==="main"?"Back to Main Canvas":`Back to ${e}`}return"Back to Main Canvas"}onBuilderAssistantClose(){this.builderAssistantCloseRequest.emit()}reloadCanvasFromYaml(){this.appNameInput&&this.agentService.getAgentBuilderTmp(this.appNameInput).subscribe({next:e=>{e&&this.loadFromYaml(e,this.appNameInput)},error:e=>{console.error("Error reloading canvas:",e)}})}captureCurrentNodePositions(){for(let e of this.nodes()){if(!e?.data)continue;let A=e.data();A&&this.nodePositions.set(A.name,gA({},e.point()))}}updateGroupDimensions(){for(let s of this.groupNodes()){if(!s.data)continue;let g=s.data().name,l=this.nodes().filter(f=>f.parentId&&f.parentId()===s.id);if(l.length===0){s.width&&s.width.set(480),s.height&&s.height.set(220);continue}l.sort((f,b)=>f.point().x-b.point().x),l.forEach((f,b)=>{let _={x:45+b*428,y:80};if(f.point.set(_),f.data){let U=f.data();U&&this.nodePositions.set(U.name,_)}});let C=1/0,I=1/0,d=-1/0,B=-1/0;for(let f of l){let b=f.point(),S=f.data?f.data():void 0,M=120;S&&S.tools&&S.tools.length>0&&(M+=20+S.tools.length*36),C=Math.min(C,b.x),I=Math.min(I,b.y),d=Math.max(d,b.x+340+68),B=Math.max(B,b.y+M)}let E=d-C+80,Q=B-I+80;s.width&&s.width.set(Math.max(480,E)),s.height&&s.height.set(Math.max(220,Q))}}getToolIcon(e){return ME(e.name,e.toolType)}getAgentIcon(e){switch(e){case"SequentialAgent":return"more_horiz";case"LoopAgent":return"sync";case"ParallelAgent":return"density_medium";default:return"psychology"}}isGroupEmpty(e){return!this.nodes().some(i=>i.parentId&&i.parentId()===e)}shouldShowAddButton(e){let A=e.data?e.data():void 0;if(!A)return!1;let i=this.isWorkflowAgent(A.agent_class),n=e.parentId&&e.parentId();if(i&&!n||!this.isNodeSelected(e))return!1;if(n&&e.parentId){let o=e.parentId(),a=this.nodes().filter(s=>s.parentId&&s.parentId()===o);if(a.length===0)return!0;let r=a.reduce((s,g)=>g.point().x>s.point().x?g:s,a[0]);return e.id===r.id}return!0}static \u0275fac=function(A){return new(A||t)(Ct(Ks),Ct(Kh),Ct(Cs))};static \u0275cmp=kA({type:t,selectors:[["app-canvas"]],viewQuery:function(A,i){if(A&1&&ai($JA,5)(AYA,5),A&2){let n;ce(n=Ce())&&(i.canvasRef=n.first),ce(n=Ce())&&(i.svgCanvasRef=n.first)}},inputs:{showSidePanel:"showSidePanel",showBuilderAssistant:"showBuilderAssistant",appNameInput:"appNameInput"},outputs:{toggleSidePanelRequest:"toggleSidePanelRequest",builderAssistantCloseRequest:"builderAssistantCloseRequest"},features:[ti],decls:7,vars:8,consts:[["emptyGroupMenuTrigger","matMenuTrigger"],["emptyGroupMenu","matMenu"],["agentMenuTrigger","matMenuTrigger"],["agentMenu","matMenu"],[1,"canvas-container"],[1,"canvas-workspace",3,"click"],[1,"agent-tool-banner"],["matTooltip","Open panel",1,"material-symbols-outlined","open-panel-btn"],["view","auto",3,"nodes","edges","background","snapGrid"],[1,"canvas-instructions"],[3,"closePanel","reloadCanvas","isVisible","appName"],[1,"banner-content"],["mat-icon-button","",1,"back-to-main-btn",3,"click","matTooltip"],[1,"banner-info"],[1,"material-symbols-outlined","banner-icon"],[1,"banner-text"],[1,"agent-tool-name"],[1,"banner-subtitle"],["matTooltip","Open panel",1,"material-symbols-outlined","open-panel-btn",3,"click"],["groupNode",""],["nodeHtml",""],["selectable","","rx","12","ry","12",3,"click","pointerdown"],["x","12","y","12"],[1,"workflow-group-chip"],[1,"workflow-chip-icon"],[1,"workflow-chip-label"],["type","target","position","top","id","target-top"],[1,"empty-group-placeholder",3,"click"],["mat-icon-button","","matTooltip","Add sub-agent","aria-label","Add sub-agent",3,"click","matMenuTriggerFor"],[1,"empty-group-label"],["mat-menu-item","",3,"click"],["selectable","",1,"custom-node",3,"click","pointerdown"],[1,"node-title-wrapper"],[1,"node-title"],[2,"margin-right","5px"],[1,"node-badge"],[1,"action-button-bar"],["matIconButton","","matTooltip","Delete sub-agent","aria-label","Delete sub-agent",1,"action-btn","delete-subagent-btn"],[1,"tools-container"],[1,"add-subagent-container"],["type","target","position","left","id","target-left"],["type","source","position","right","id","source-right"],["type","source","position","bottom","id","source-bottom"],["matIconButton","","matTooltip","Delete sub-agent","aria-label","Delete sub-agent",1,"action-btn","delete-subagent-btn",3,"click"],[1,"tools-list"],[1,"tool-item"],[1,"tool-item",3,"click"],[1,"tool-item-icon"],[1,"tool-item-name"],["matIconButton","","matTooltip","Add sub-agent","aria-label","Add sub-agent",1,"add-subagent-btn",3,"click","matMenuTriggerFor"],[1,"add-subagent-symbol"],[1,"instruction-content"],[1,"instruction-icon"],[1,"instruction-tips"],[1,"tip"]],template:function(A,i){A&1&&(m(0,"div",4)(1,"div",5),eA("click",function(o){return i.onCanvasClick(o)}),V(2,nYA,13,2,"div",6),V(3,oYA,2,0,"span",7),V(4,uYA,3,6,"vflow",8),V(5,fYA,19,0,"div",9),w(),m(6,"app-builder-assistant",10),eA("closePanel",function(){return i.onBuilderAssistantClose()})("reloadCanvas",function(){return i.reloadCanvasFromYaml()}),w()()),A&2&&(p(),ae("has-banner",i.currentAgentTool()),p(),W(i.currentAgentTool()?2:-1),p(),W(i.showSidePanel?-1:3),p(),W(i.vflowNodes().length>0?4:-1),p(),W(i.vflowNodes().length===0?5:-1),p(),AA("isVisible",i.showBuilderAssistant)("appName",i.appName))},dependencies:[GsA,oK,KsA,B7,E7,fn,Sa,X0,l2,_h,_v,ls],styles:['[_nghost-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;flex:1;min-height:0}.canvas-container[_ngcontent-%COMP%]{width:100%;height:100%;background:var(--builder-canvas-container-background);display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:var(--builder-canvas-shadow);flex:1;min-height:0;position:relative}.canvas-header[_ngcontent-%COMP%]{background:var(--builder-canvas-header-background);padding:16px 24px;border-bottom:2px solid var(--builder-border-color);display:flex;justify-content:space-between;align-items:center}.canvas-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:var(--builder-text-primary-color);font-size:18px;font-weight:600;font-family:Google Sans,Helvetica Neue,sans-serif;background:var(--builder-canvas-header-title-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.canvas-controls[_ngcontent-%COMP%]{display:flex;gap:8px}.canvas-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:var(--builder-button-background-color);border:1px solid var(--builder-button-border-color);color:var(--builder-button-text-color);transition:all .3s ease}.canvas-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--builder-button-hover-background-color);border-color:var(--builder-button-hover-border-color);transform:translateY(-1px)}.canvas-workspace[_ngcontent-%COMP%]{flex:1;position:relative;overflow:hidden;background-color:var(--builder-canvas-workspace-background);min-height:0;width:100%;height:100%}.agent-tool-banner[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-bottom:2px solid rgba(59,130,246,.3);box-shadow:0 4px 16px #0000004d}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%]{padding:12px 20px;display:flex;align-items:center;gap:16px}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .back-to-main-btn[_ngcontent-%COMP%]{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .back-to-main-btn[_ngcontent-%COMP%]:hover{background:#fff3;transform:scale(1.05)}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .back-to-main-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex:1}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%] .banner-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px;color:#ffffffe6}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%] .banner-text[_ngcontent-%COMP%] .agent-tool-name[_ngcontent-%COMP%]{margin:0;color:#fff;font-size:18px;font-weight:600;font-family:Google Sans,Helvetica Neue,sans-serif;line-height:1.2}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%] .banner-text[_ngcontent-%COMP%] .banner-subtitle[_ngcontent-%COMP%]{margin:0;color:#fffc;font-size:12px;font-weight:400;line-height:1}.canvas-workspace[_ngcontent-%COMP%]:has(.agent-tool-banner) vflow[_ngcontent-%COMP%]{padding-top:68px}.canvas-workspace.has-banner[_ngcontent-%COMP%] vflow{padding-top:68px!important} vflow{width:100%!important;height:100%!important;display:block!important} vflow .root-svg{background-color:var(--builder-canvas-workspace-background)!important;color:var(--builder-text-primary-color)!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important}.diagram-canvas[_ngcontent-%COMP%]{display:block;width:100%;height:100%;cursor:crosshair;transition:cursor .2s ease;object-fit:contain;image-rendering:pixelated}.diagram-canvas[_ngcontent-%COMP%]:active{cursor:grabbing}.canvas-instructions[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:1}.instruction-content[_ngcontent-%COMP%]{background:var(--builder-canvas-instruction-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--builder-canvas-instruction-border);border-radius:16px;padding:32px;box-shadow:var(--builder-canvas-shadow)}.instruction-content[_ngcontent-%COMP%] .instruction-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:var(--builder-button-text-color);margin-bottom:16px;animation:_ngcontent-%COMP%_pulse 2s infinite}.instruction-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:20px;font-weight:600;margin:0 0 12px;font-family:Google Sans,Helvetica Neue,sans-serif}.instruction-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:14px;margin:0 0 24px;line-height:1.5}.instruction-tips[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.tip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;color:var(--builder-accent-color);font-size:13px}.tip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.connection-mode-indicator[_ngcontent-%COMP%]{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10;animation:_ngcontent-%COMP%_slideDown .3s ease-out}.connection-indicator-content[_ngcontent-%COMP%]{background:linear-gradient(135deg,#1b73e8,#4285f4);color:#fff;padding:12px 20px;border-radius:24px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px #1b73e866;border:1px solid rgba(255,255,255,.2)}.connection-indicator-content[_ngcontent-%COMP%] .connection-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;animation:_ngcontent-%COMP%_pulse 1.5s infinite}.connection-indicator-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-weight:500;white-space:nowrap}.connection-indicator-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);width:32px;height:32px;min-width:32px}.connection-indicator-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#ffffff4d;transform:scale(1.1)}.connection-indicator-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.canvas-footer[_ngcontent-%COMP%]{background:var(--builder-canvas-header-background);padding:12px 24px;border-top:1px solid var(--builder-border-color);display:flex;justify-content:space-between;align-items:center}.node-count[_ngcontent-%COMP%], .connection-count[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;color:var(--builder-text-secondary-color);font-size:13px;font-weight:500}.node-count[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .connection-count[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:var(--builder-accent-color)}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.canvas-workspace.drag-over[_ngcontent-%COMP%]{background:radial-gradient(circle at 20% 50%,rgba(66,133,244,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(52,168,83,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(251,188,4,.1) 0%,transparent 50%),#131314}.canvas-workspace.drag-over[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;border:2px dashed #00bbea;border-radius:8px;margin:16px;animation:_ngcontent-%COMP%_dashMove 1s linear infinite}@keyframes _ngcontent-%COMP%_dashMove{0%{border-color:#8ab4f84d}50%{border-color:#8ab4f8cc}to{border-color:#8ab4f84d}}@media(max-width:768px){.canvas-header[_ngcontent-%COMP%]{padding:12px 16px}.canvas-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:16px}.instruction-content[_ngcontent-%COMP%]{padding:24px;margin:16px}.instruction-content[_ngcontent-%COMP%] .instruction-icon[_ngcontent-%COMP%]{font-size:36px;width:36px;height:36px}.instruction-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:18px}.canvas-footer[_ngcontent-%COMP%]{padding:8px 16px;flex-direction:column;gap:8px}}.custom-node[_ngcontent-%COMP%]{width:340px;background:var(--builder-canvas-node-background);border:1px solid var(--builder-canvas-node-border);border-radius:8px;align-items:center;position:relative;max-height:none;padding-bottom:0;overflow:visible}.custom-node[_ngcontent-%COMP%]:hover{border-color:var(--builder-canvas-node-hover-border)}.custom-node_selected[_ngcontent-%COMP%]{border:2px solid;border-color:var(--builder-accent-color)}.custom-node_selected[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{--mdc-chip-outline-color: var(--builder-canvas-node-chip-outline)}.custom-node_selected[_ngcontent-%COMP%]:hover{border-color:var(--builder-accent-color)}[_nghost-%COMP%] .default-group-node{background-color:var(--builder-canvas-group-background)!important;border:2px solid var(--builder-canvas-group-border)!important}.node-title-wrapper[_ngcontent-%COMP%]{padding-top:12px;padding-bottom:12px;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}.node-title[_ngcontent-%COMP%]{padding-left:12px;padding-right:12px;display:flex;align-items:center;color:var(--builder-text-primary-color);font-weight:500}.node-badge[_ngcontent-%COMP%]{margin-left:8px;padding:2px 6px;border-radius:999px;background:var(--builder-canvas-node-badge-background);color:var(--builder-accent-color);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tools-container[_ngcontent-%COMP%]{padding:8px 12px;border-top:1px solid var(--builder-border-color)}.tools-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.tool-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:var(--builder-text-primary-color)}.tool-item[_ngcontent-%COMP%]:hover{background-color:var(--builder-item-hover-color)}.tool-item[_ngcontent-%COMP%] .tool-item-icon[_ngcontent-%COMP%]{font-size:22px;width:22px;height:22px;color:var(--builder-text-primary-color);flex-shrink:0}.tool-item[_ngcontent-%COMP%] .tool-item-name[_ngcontent-%COMP%]{font-family:Google Sans,sans-serif;font-size:15px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-item.more-tools[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-style:italic}.tool-item.more-tools[_ngcontent-%COMP%] .tool-item-icon[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color)}.custom-node_selected[_ngcontent-%COMP%] .node-title-wrapper[_ngcontent-%COMP%]{border-bottom-color:var(--builder-canvas-node-chip-outline)}.custom-node_selected[_ngcontent-%COMP%] .node-title-wrapper[_ngcontent-%COMP%] .node-title[_ngcontent-%COMP%]{color:var(--builder-accent-color)}.tools-header[_ngcontent-%COMP%]{font-family:Google Sans;color:var(--builder-text-muted-color);margin-bottom:10px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:space-between}.callbacks-container[_ngcontent-%COMP%]{padding:12px 6px 12px 12px}.callbacks-header[_ngcontent-%COMP%]{font-family:Google Sans;color:var(--builder-text-muted-color);margin-bottom:10px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:space-between}.callback-type[_ngcontent-%COMP%]{font-size:11px;background:var(--builder-chip-background-color);color:var(--builder-accent-color);padding:2px 6px;border-radius:4px;margin-left:4px;font-weight:500}.add-callback-btn[_ngcontent-%COMP%]{background:none;border:none;cursor:pointer;border-radius:4px;width:28px;height:28px;padding:0}.add-callback-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0;font-size:18px;width:18px;height:18px}.add-callback-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-item-hover-color);transform:scale(1.1)}.instruction-title[_ngcontent-%COMP%]{font-family:Google Sans;color:var(--builder-text-muted-color);margin-bottom:10px}.instructions[_ngcontent-%COMP%]{font-family:Google Sans;margin-bottom:10px}.agent-resources[_ngcontent-%COMP%]{padding:8px 12px}.empty-resource[_ngcontent-%COMP%]{margin-top:8px;color:var(--builder-text-secondary-color);margin-bottom:8px;display:flex;font-size:13px}.empty-resource[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:none}.action-button-bar[_ngcontent-%COMP%]{display:flex;gap:8px;margin-right:4px}.action-button-bar[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{background:none;color:var(--builder-text-secondary-color);border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;pointer-events:auto;border-radius:4px}.action-button-bar[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-item-hover-color);transform:scale(1.1)}.action-button-bar[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.action-button-bar[_ngcontent-%COMP%] .delete-subagent-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color)}.add-tool-btn[_ngcontent-%COMP%]{background:none;border:none;cursor:pointer;border-radius:4px;width:28px;height:28px;padding:0}.add-tool-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0;font-size:18px;width:18px;height:18px}.add-tool-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-item-hover-color);transform:scale(1.1)}.add-subagent-container[_ngcontent-%COMP%]{position:absolute;left:50%;bottom:-68px;transform:translate(-50%);display:flex;justify-content:center;pointer-events:none}.custom-node.in-group[_ngcontent-%COMP%] .add-subagent-container[_ngcontent-%COMP%]{left:auto;right:-68px;bottom:50%;transform:translateY(50%)}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:50%;border:2px solid var(--builder-accent-color);background:var(--builder-canvas-add-btn-background);color:var(--builder-accent-color);display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;pointer-events:auto}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%] .add-subagent-symbol[_ngcontent-%COMP%]{font-size:28px;line-height:1;font-weight:400}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%]:hover{transform:scale(1.05);box-shadow:var(--builder-canvas-add-btn-shadow);background:var(--builder-canvas-add-btn-hover-background)}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%]:focus-visible{outline:none;box-shadow:var(--builder-canvas-add-btn-shadow)}.open-panel-btn[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;color:var(--builder-text-tertiary-color);cursor:pointer;margin-left:20px;margin-top:20px;z-index:9999}.custom-node[_ngcontent-%COMP%]:hover .action-button-bar[_ngcontent-%COMP%], .custom-node.custom-node_selected[_ngcontent-%COMP%] .action-button-bar[_ngcontent-%COMP%]{opacity:1;pointer-events:auto}[_nghost-%COMP%] div[nodehandlescontroller][noderesizecontroller].wrapper{height:0px!important;overflow:visible!important}[_nghost-%COMP%] foreignObject.selectable, [_nghost-%COMP%] foreignObject.selectable>div{overflow:visible!important}[_nghost-%COMP%] .interactive-edge{stroke:var(--builder-accent-color)!important;stroke-width:2!important}[_nghost-%COMP%] .default-handle{stroke:var(--builder-accent-color)!important;stroke-width:1!important;fill:var(--builder-canvas-handle-fill)!important}[_nghost-%COMP%] .reconnect-handle{stroke:var(--builder-accent-color)!important;stroke-width:2!important;fill:var(--builder-canvas-reconnect-handle-fill)!important}[_nghost-%COMP%] .workflow-group-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--builder-canvas-workflow-chip-background);border:1px solid var(--builder-canvas-workflow-chip-border);border-radius:16px;color:var(--builder-accent-color);font-family:Google Sans,sans-serif;font-size:12px;font-weight:500;height:32px;box-sizing:border-box;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[_nghost-%COMP%] .workflow-group-chip .workflow-chip-icon{font-size:16px;width:16px;height:16px;line-height:16px}[_nghost-%COMP%] .workflow-group-chip .workflow-chip-label{color:var(--builder-text-primary-color);font-weight:500;font-size:12px;line-height:1}[_nghost-%COMP%] .empty-group-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:8px;text-align:center;background:var(--builder-canvas-empty-group-background);border:2px dashed var(--builder-canvas-empty-group-border);transition:all .3s ease}[_nghost-%COMP%] .empty-group-placeholder:hover{background:var(--builder-canvas-empty-group-hover-background);border-color:var(--builder-canvas-empty-group-hover-border)}[_nghost-%COMP%] .empty-group-placeholder button{border:2px solid var(--builder-accent-color);background-color:var(--builder-canvas-empty-group-btn-background);color:var(--builder-accent-color);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}[_nghost-%COMP%] .empty-group-placeholder button:hover{background-color:var(--builder-canvas-empty-group-btn-hover-background);transform:scale(1.1);box-shadow:var(--builder-canvas-add-btn-shadow)}[_nghost-%COMP%] .empty-group-placeholder button mat-icon{font-size:24px;width:24px;height:24px}[_nghost-%COMP%] .empty-group-placeholder .empty-group-label{font-size:13px;font-weight:500;color:var(--builder-text-secondary-color);font-family:Google Sans,sans-serif}']})};function mYA(t,e){t&1&&Li(0,"div",2)}var pYA=new yA("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");var y7=(()=>{class t{_elementRef=h(ge);_ngZone=h(Oe);_changeDetectorRef=h(mt);_renderer=h(Fi);_cleanupTransitionEnd;constructor(){let A=Nu(),i=h(pYA,{optional:!0});this._isNoopAnimation=A==="di-disabled",A==="reduced-motion"&&this._elementRef.nativeElement.classList.add("mat-progress-bar-reduced-motion"),i&&(i.color&&(this.color=this._defaultColor=i.color),this.mode=i.mode||this.mode)}_isNoopAnimation;get color(){return this._color||this._defaultColor}set color(A){this._color=A}_color;_defaultColor="primary";get value(){return this._value}set value(A){this._value=UsA(A||0),this._changeDetectorRef.markForCheck()}_value=0;get bufferValue(){return this._bufferValue||0}set bufferValue(A){this._bufferValue=UsA(A||0),this._changeDetectorRef.markForCheck()}_bufferValue=0;animationEnd=new WA;get mode(){return this._mode}set mode(A){this._mode=A,this._changeDetectorRef.markForCheck()}_mode="determinate";ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{this._cleanupTransitionEnd=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._transitionendHandler)})}ngOnDestroy(){this._cleanupTransitionEnd?.()}_getPrimaryBarTransform(){return`scaleX(${this._isIndeterminate()?1:this.value/100})`}_getBufferBarFlexBasis(){return`${this.mode==="buffer"?this.bufferValue:100}%`}_isIndeterminate(){return this.mode==="indeterminate"||this.mode==="query"}_transitionendHandler=A=>{this.animationEnd.observers.length===0||!A.target||!A.target.classList.contains("mdc-linear-progress__primary-bar")||(this.mode==="determinate"||this.mode==="buffer")&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))};static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-progress-bar"]],hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-mdc-progress-bar","mdc-linear-progress"],hostVars:10,hostBindings:function(i,n){i&2&&(ie("aria-valuenow",n._isIndeterminate()?null:n.value)("mode",n.mode),zo("mat-"+n.color),ae("_mat-animation-noopable",n._isNoopAnimation)("mdc-linear-progress--animation-ready",!n._isNoopAnimation)("mdc-linear-progress--indeterminate",n._isIndeterminate()))},inputs:{color:"color",value:[2,"value","value",en],bufferValue:[2,"bufferValue","bufferValue",en],mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],decls:7,vars:5,consts:[["aria-hidden","true",1,"mdc-linear-progress__buffer"],[1,"mdc-linear-progress__buffer-bar"],[1,"mdc-linear-progress__buffer-dots"],["aria-hidden","true",1,"mdc-linear-progress__bar","mdc-linear-progress__primary-bar"],[1,"mdc-linear-progress__bar-inner"],["aria-hidden","true",1,"mdc-linear-progress__bar","mdc-linear-progress__secondary-bar"]],template:function(i,n){i&1&&(ci(0,"div",0),Li(1,"div",1),V(2,mYA,1,0,"div",2),fi(),ci(3,"div",3),Li(4,"span",4),fi(),ci(5,"div",5),Li(6,"span",4),fi()),i&2&&(p(),wn("flex-basis",n._getBufferBarFlexBasis()),p(),W(n.mode==="buffer"?2:-1),p(),wn("transform",n._getPrimaryBarTransform()))},styles:[`.mat-mdc-progress-bar{--mat-progress-bar-animation-multiplier: 1;display:block;text-align:start}.mat-mdc-progress-bar[mode=query]{transform:scaleX(-1)}.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__buffer-dots,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__primary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__secondary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__bar-inner.mdc-linear-progress__bar-inner{animation:none}.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__primary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__buffer-bar{transition:transform 1ms}.mat-progress-bar-reduced-motion{--mat-progress-bar-animation-multiplier: 2}.mdc-linear-progress{position:relative;width:100%;transform:translateZ(0);outline:1px solid rgba(0,0,0,0);overflow-x:hidden;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);height:max(var(--mat-progress-bar-track-height, 4px),var(--mat-progress-bar-active-indicator-height, 4px))}@media(forced-colors: active){.mdc-linear-progress{outline-color:CanvasText}}.mdc-linear-progress__bar{position:absolute;top:0;bottom:0;margin:auto 0;width:100%;animation:none;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);height:var(--mat-progress-bar-active-indicator-height, 4px)}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}[dir=rtl] .mdc-linear-progress__bar{right:0;transform-origin:center right}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid;border-color:var(--mat-progress-bar-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-progress-bar-active-indicator-height, 4px)}.mdc-linear-progress__buffer{display:flex;position:absolute;top:0;bottom:0;margin:auto 0;width:100%;overflow:hidden;height:var(--mat-progress-bar-track-height, 4px);border-radius:var(--mat-progress-bar-track-shape, var(--mat-sys-corner-none))}.mdc-linear-progress__buffer-dots{background-image:radial-gradient(circle, var(--mat-progress-bar-track-color, var(--mat-sys-surface-variant)) calc(var(--mat-progress-bar-track-height, 4px) / 2), transparent 0);background-repeat:repeat-x;background-size:calc(calc(var(--mat-progress-bar-track-height, 4px) / 2)*5);background-position:left;flex:auto;transform:rotate(180deg);animation:mdc-linear-progress-buffering calc(250ms*var(--mat-progress-bar-animation-multiplier)) infinite linear}@media(forced-colors: active){.mdc-linear-progress__buffer-dots{background-color:ButtonBorder}}[dir=rtl] .mdc-linear-progress__buffer-dots{animation:mdc-linear-progress-buffering-reverse calc(250ms*var(--mat-progress-bar-animation-multiplier)) infinite linear;transform:rotate(0)}.mdc-linear-progress__buffer-bar{flex:0 1 100%;transition:flex-basis 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);background-color:var(--mat-progress-bar-track-color, var(--mat-sys-surface-variant))}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation:mdc-linear-progress-primary-indeterminate-translate calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-primary-indeterminate-scale calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation-name:mdc-linear-progress-primary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}.mdc-linear-progress__secondary-bar{display:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;display:block}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation:mdc-linear-progress-secondary-indeterminate-translate calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-secondary-indeterminate-scale calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation-name:mdc-linear-progress-secondary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}@keyframes mdc-linear-progress-buffering{from{transform:rotate(180deg) translateX(calc(var(--mat-progress-bar-track-height, 4px) * -2.5))}}@keyframes mdc-linear-progress-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mdc-linear-progress-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mdc-linear-progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(-83.67142%)}100%{transform:translateX(-200.611057%)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(-37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(-84.386165%)}100%{transform:translateX(-160.277782%)}}@keyframes mdc-linear-progress-buffering-reverse{from{transform:translateX(-10px)}} +`],encapsulation:2,changeDetection:0})}return t})();function UsA(t,e=0,A=100){return Math.max(e,Math.min(A,t))}var JsA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var DYA=["determinateSpinner"];function yYA(t,e){if(t&1&&(Qt(),m(0,"svg",11),GA(1,"circle",12),w()),t&2){let A=v();ie("viewBox",A._viewBox()),p(),wn("stroke-dasharray",A._strokeCircumference(),"px")("stroke-dashoffset",A._strokeCircumference()/2,"px")("stroke-width",A._circleStrokeWidth(),"%"),ie("r",A._circleRadius())}}var vYA=new yA("mat-progress-spinner-default-options",{providedIn:"root",factory:()=>({diameter:YsA})}),YsA=100,bYA=10,B1=(()=>{class t{_elementRef=h(ge);_noopAnimations;get color(){return this._color||this._defaultColor}set color(A){this._color=A}_color;_defaultColor="primary";_determinateCircle;constructor(){let A=h(vYA),i=Nu(),n=this._elementRef.nativeElement;this._noopAnimations=i==="di-disabled"&&!!A&&!A._forceAnimations,this.mode=n.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",!this._noopAnimations&&i==="reduced-motion"&&n.classList.add("mat-progress-spinner-reduced-motion"),A&&(A.color&&(this.color=this._defaultColor=A.color),A.diameter&&(this.diameter=A.diameter),A.strokeWidth&&(this.strokeWidth=A.strokeWidth))}mode;get value(){return this.mode==="determinate"?this._value:0}set value(A){this._value=Math.max(0,Math.min(100,A||0))}_value=0;get diameter(){return this._diameter}set diameter(A){this._diameter=A||0}_diameter=YsA;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(A){this._strokeWidth=A||0}_strokeWidth;_circleRadius(){return(this.diameter-bYA)/2}_viewBox(){let A=this._circleRadius()*2+this.strokeWidth;return`0 0 ${A} ${A}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(i,n){if(i&1&&ai(DYA,5),i&2){let o;ce(o=Ce())&&(n._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(i,n){i&2&&(ie("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",n.mode==="determinate"?n.value:null)("mode",n.mode),zo("mat-"+n.color),wn("width",n.diameter,"px")("height",n.diameter,"px")("--mat-progress-spinner-size",n.diameter+"px")("--mat-progress-spinner-active-indicator-width",n.diameter+"px"),ae("_mat-animation-noopable",n._noopAnimations)("mdc-circular-progress--indeterminate",n.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",en],diameter:[2,"diameter","diameter",en],strokeWidth:[2,"strokeWidth","strokeWidth",en]},exportAs:["matProgressSpinner"],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(i,n){if(i&1&&(vt(0,yYA,2,8,"ng-template",null,0,m2),m(2,"div",2,1),Qt(),m(4,"svg",3),GA(5,"circle",4),w()(),as(),m(6,"div",5)(7,"div",6)(8,"div",7),on(9,8),w(),m(10,"div",9),on(11,8),w(),m(12,"div",10),on(13,8),w()()()),i&2){let o=An(1);p(4),ie("viewBox",n._viewBox()),p(),wn("stroke-dasharray",n._strokeCircumference(),"px")("stroke-dashoffset",n._strokeDashOffset(),"px")("stroke-width",n._circleStrokeWidth(),"%"),ie("r",n._circleRadius()),p(4),AA("ngTemplateOutlet",o),p(2),AA("ngTemplateOutlet",o),p(2),AA("ngTemplateOutlet",o)}},dependencies:[al],styles:[`.mat-mdc-progress-spinner{--mat-progress-spinner-animation-multiplier: 1;display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity 250ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-progress-spinner circle{stroke-width:var(--mat-progress-spinner-active-indicator-width, 4px)}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}@media(forced-colors: active){.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}}.mat-progress-spinner-reduced-motion{--mat-progress-spinner-animation-multiplier: 1.25}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1;animation:mdc-circular-progress-container-rotate calc(1568.2352941176ms*var(--mat-progress-spinner-animation-multiplier)) linear infinite}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mat-progress-spinner-active-indicator-color, var(--mat-sys-primary))}@media(forced-colors: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin calc(1333ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin calc(1333ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate calc(5332ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}} +`],encapsulation:2,changeDetection:0})}return t})();var TsA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();function v7(t){if(!t)return!1;if(t.name==="computer"){let i=t.args?.action,n=t.args?.coordinate;return["left_click","right_click","middle_click","double_click"].includes(i)&&Array.isArray(n)&&n.length===2}let e=["click_at","hover_at","type_text_at","scroll_at","drag_and_drop","mouse_move","scroll_document"].includes(t.name),A=t.args?.x!=null&&t.args?.y!=null||Array.isArray(t.args?.coordinate)&&t.args?.coordinate.length===2;return e&&A}function qh(t){return t?!!t.response?.image?.data:!1}var b7=class t{set json(e){this.formattedJson=this.syntaxHighlight(e)}formattedJson="";sanitizer=h(ds);syntaxHighlight(e){if(!e)return"";try{let A=JSON.parse(e);e=JSON.stringify(A,null,0)}catch{return this.sanitizer.bypassSecurityTrustHtml(this.escapeHtml(e))}return e=e.replace(/&/g,"&").replace(//g,">"),e=e.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,A=>{let i="json-number";return/^"/.test(A)?/:$/.test(A)?i="json-key":i="json-string":/true|false/.test(A)?i="json-boolean":/null/.test(A)&&(i="json-null"),''+A+""}),this.sanitizer.bypassSecurityTrustHtml(e)}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-json-tooltip"]],inputs:{json:"json"},decls:1,vars:1,consts:[[3,"innerHTML"]],template:function(A,i){A&1&&Li(0,"div",0),A&2&&vo("innerHTML",i.formattedJson,ol)},styles:["[_nghost-%COMP%]{display:block;font-family:Courier New,monospace;font-size:12px;line-height:1.4;white-space:pre-wrap;max-width:800px}"]})};var M7=class t{json="";overlayRef=null;overlay=h(t8);elementRef=h(ge);show(){if(!this.json)return;let e=this.overlay.position().flexibleConnectedTo(this.elementRef).withPositions([{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-8}]);this.overlayRef=this.overlay.create({positionStrategy:e,scrollStrategy:this.overlay.scrollStrategies.close(),panelClass:"json-tooltip-panel"});let A=new Ug(b7),i=this.overlayRef.attach(A);i.instance.json=this.json}hide(){this.overlayRef&&(this.overlayRef.dispose(),this.overlayRef=null)}ngOnDestroy(){this.hide()}static \u0275fac=function(A){return new(A||t)};static \u0275dir=OA({type:t,selectors:[["","appJsonTooltip",""]],hostBindings:function(A,i){A&1&&eA("mouseenter",function(){return i.show()})("mouseleave",function(){return i.hide()})},inputs:{json:[0,"appJsonTooltip","json"]}})};function kYA(t,e){if(t&1&&GA(0,"a2ui-surface",0),t&2){let A=v();AA("surfaceId",A.surfaceId())("surface",A.surface())}}var k7=class t{processor=h(JU);beginRendering=null;surfaceUpdate=null;dataModelUpdate=null;surfaceId=jA(null);activeSurface=jA(null);surface=Ke(()=>this.activeSurface());constructor(){}ngOnChanges(e){let A=[],i=null;e.beginRendering&&this.beginRendering&&Object.keys(this.beginRendering).length>0&&(A.push(this.beginRendering),i=this.beginRendering?.beginRendering?.surfaceId??i),e.surfaceUpdate&&this.surfaceUpdate&&Object.keys(this.surfaceUpdate).length>0&&(A.push(this.surfaceUpdate),i=this.surfaceUpdate?.surfaceUpdate?.surfaceId??i),e.dataModelUpdate&&this.dataModelUpdate&&Object.keys(this.dataModelUpdate).length>0&&(A.push(this.dataModelUpdate),i=this.dataModelUpdate?.dataModelUpdate?.surfaceId??i),A.length>0&&this.processor.processMessages(A),i&&this.surfaceId.set(i);let n=this.surfaceId();if(n){let o=this.processor.getSurfaces();o.has(n)&&this.activeSurface.set(o.get(n))}}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-a2ui-canvas"]],inputs:{beginRendering:"beginRendering",surfaceUpdate:"surfaceUpdate",dataModelUpdate:"dataModelUpdate"},features:[ti],decls:1,vars:1,consts:[[3,"surfaceId","surface"]],template:function(A,i){A&1&&V(0,kYA,1,2,"a2ui-surface",0),A&2&&W(i.surface()?0:-1)},dependencies:[fa,HU],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%;overflow:auto}[_nghost-%COMP%] *{box-sizing:border-box}.canvas[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;padding:16px;box-sizing:border-box;min-height:100%}"],changeDetection:0})};function SYA(t,e){if(t&1&&K(0),t&2){let A=v(3);_e(" (",A.functionCall.args.action,") ")}}function xYA(t,e){if(t&1&&(m(0,"span",5),K(1),w()),t&2){v();let A=Ws(5);AA("matTooltip",A.isVirtual?"Virtual (1000x1000)":"Hardware Mapping"),p(),fU(" [@ ",A.x,"",A.isVirtual?"v":"px",", ",A.y,"",A.isVirtual?"v":"px","] ")}}function RYA(t,e){if(t&1){let A=JA();m(0,"div",2),eA("click",function(){Z(A);let n=v(2);return X(n.clickEvent.emit(n.index))}),m(1,"div",3)(2,"span",4),K(3),V(4,SYA,1,1),Ur(5),V(6,xYA,2,5,"span",5),w()(),m(7,"div",6)(8,"img",7),eA("load",function(n){Z(A);let o=v(2);return X(o.onImageLoad(n))}),w(),GA(9,"div",8),w()()}if(t&2){v();let A=Ws(0),i=v();p(3),_e(" ",i.functionCall.name," "),p(),W(i.functionCall.args&&i.functionCall.args.action?4:-1),p();let n=_g(i.getActualPixelCoordinates());p(),W(n?6:-1),p(2),AA("src",A,Ga),p(),AA("ngStyle",i.getClickBoxStyle())}}function NYA(t,e){if(t&1&&(Ur(0),V(1,RYA,10,6,"div",1)),t&2){let A=_g(v().getPreviousComputerUseScreenshot());p(),W(A?1:-1)}}function FYA(t,e){if(t&1){let A=JA();m(0,"div",9),eA("click",function(){Z(A);let n=v();return X(n.clickEvent.emit(n.index))}),m(1,"div",3)(2,"span",4),K(3),w()(),GA(4,"img",10),m(5,"div",11)(6,"mat-icon",12),K(7,"computer"),w(),m(8,"span",13),K(9),w()()()}if(t&2){let A=v();p(3),qA(A.functionResponse.name),p(),AA("src",A.getComputerUseScreenshot(),Ga),p(5),qA(A.getComputerUseUrl())}}var S7=class t{functionCall;functionResponse;allMessages=[];index=0;clickEvent=new WA;imageDimensions=new Map;VIRTUAL_WIDTH=1e3;VIRTUAL_HEIGHT=1e3;isComputerUseResponse(){return!!this.functionResponse&&qh(this.functionResponse)}isComputerUseClick(){return!!this.functionCall&&v7(this.functionCall)}getComputerUseScreenshot(){return this.getScreenshotFromPayload(this.functionResponse?.response)}getComputerUseUrl(){return this.isComputerUseResponse()&&(this.functionResponse?.response).url||""}getPreviousComputerUseScreenshot(){for(let e=this.index-1;e>=0;e--){let A=this.allMessages[e];if(this.isMsgComputerUseResponse(A)&&A.functionResponses&&A.functionResponses.length>0)for(let i=A.functionResponses.length-1;i>=0;i--){let n=A.functionResponses[i];if(qh(n)){let o=n.response;return this.getScreenshotFromPayload(o)}}}return""}getClickCoordinates(){if(!this.isComputerUseClick())return null;let e=this.functionCall.args;return e?e.coordinate?{x:Number(e.coordinate[0]),y:Number(e.coordinate[1])}:e.x!=null&&e.y!=null?{x:Number(e.x),y:Number(e.y)}:null:null}getActualPixelCoordinates(){let e=this.getClickCoordinates();if(!e)return null;let A=this.imageDimensions.get(this.index);return A?{x:Math.round(e.x/this.VIRTUAL_WIDTH*A.width),y:Math.round(e.y/this.VIRTUAL_HEIGHT*A.height),isVirtual:!1}:be(gA({},e),{isVirtual:!0})}getClickBoxStyle(){let e=this.getClickCoordinates();if(!e)return{display:"none"};let A=e.x/this.VIRTUAL_WIDTH*100,i=e.y/this.VIRTUAL_HEIGHT*100;return{left:`${A}%`,top:`${i}%`}}onImageLoad(e){let A=e.target;A.naturalWidth&&A.naturalHeight&&this.imageDimensions.set(this.index,{width:A.naturalWidth,height:A.naturalHeight})}isMsgComputerUseResponse(e){return e.functionResponses&&e.functionResponses.length>0?e.functionResponses.some(A=>qh(A)):!1}getScreenshotFromPayload(e){let A=e?.image;if(!A?.data)return"";let i=A.data;return i.startsWith("data:")?i:`data:${A.mimetype||"image/png"};base64,${i}`}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-computer-action"]],inputs:{functionCall:"functionCall",functionResponse:"functionResponse",allMessages:"allMessages",index:"index"},outputs:{clickEvent:"clickEvent"},decls:2,vars:1,consts:[[1,"computer-use-container"],[1,"computer-use-container","click-visualization-container"],[1,"computer-use-container","click-visualization-container",3,"click"],[1,"computer-use-header"],[1,"computer-use-tool-name"],[1,"actual-pixels",3,"matTooltip"],[1,"image-wrapper"],["alt","Computer Use Screenshot",1,"computer-use-screenshot",3,"load","src"],[1,"click-overlay-box",3,"ngStyle"],[1,"computer-use-container",3,"click"],["alt","Computer Use Screenshot",1,"computer-use-screenshot",3,"src"],[1,"computer-use-footprint"],[1,"computer-icon"],[1,"url-text"]],template:function(A,i){A&1&&V(0,NYA,2,2)(1,FYA,10,3,"div",0),A&2&&W(i.isComputerUseClick()?0:i.isComputerUseResponse()?1:-1)},dependencies:[fa,Cp,cl,fn,U2,Sa],styles:['[_nghost-%COMP%]{display:block}.computer-use-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-width:600px;border-radius:12px;border:1px solid var(--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color);overflow:hidden;cursor:pointer;margin:5px 5px 10px;background-color:var(--chat-panel-bot-message-message-card-background-color);transition:opacity .2s}.computer-use-container[_ngcontent-%COMP%]:hover{opacity:.9}.computer-use-tool-name[_ngcontent-%COMP%]{font-size:12px;font-family:monospace;font-weight:600;color:var(--chat-panel-input-field-textarea-color);opacity:.9;padding:12px}.computer-use-tool-name[_ngcontent-%COMP%] .actual-pixels[_ngcontent-%COMP%]{opacity:.6;margin-left:8px;font-weight:400}.computer-use-screenshot[_ngcontent-%COMP%]{width:100%;height:auto;display:block;border-bottom:1px solid var(--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color)}.computer-use-footprint[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 12px;gap:8px;background-color:var(--chat-panel-thought-chip-background-color)}.computer-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;flex-shrink:0}.url-text[_ngcontent-%COMP%]{font-size:11px;font-family:monospace;white-space:normal;word-break:break-all;color:var(--chat-panel-input-field-textarea-color);opacity:.8;min-width:0}.image-wrapper[_ngcontent-%COMP%]{position:relative;width:100%}.click-overlay-box[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;border:1px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%);background-color:#ff00004d;box-shadow:0 0 4px #00000080;pointer-events:none;z-index:10;display:flex;align-items:center;justify-content:center}.click-overlay-box[_ngcontent-%COMP%]:before{content:"";width:2px;height:2px;background-color:red;border-radius:50%;box-shadow:0 0 2px #fff;z-index:11}.click-overlay-box[_ngcontent-%COMP%]:after{content:"";position:absolute;width:100%;height:100%;background:linear-gradient(to right,transparent 48%,rgba(255,255,255,.6) 48%,rgba(255,255,255,.6) 52%,transparent 52%),linear-gradient(to bottom,transparent 48%,rgba(255,255,255,.6) 48%,rgba(255,255,255,.6) 52%,transparent 52%);border-radius:50%}']})};function _YA(t,e){t&1&&(m(0,"div",1)(1,"mat-icon"),K(2,"check_circle"),w(),m(3,"span"),K(4,"Response sent"),w()())}function LYA(t,e){t&1&&(m(0,"div",2)(1,"mat-icon"),K(2,"hourglass_empty"),w(),m(3,"span"),K(4,"Sending..."),w()())}function GYA(t,e){if(t&1){let A=JA();m(0,"div",3)(1,"mat-icon",4),K(2,"rate_review"),w(),m(3,"input",5),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.functionCall.userResponse,n)||(o.functionCall.userResponse=n),X(n)}),eA("keydown.enter",function(){Z(A);let n=v();return X(n.onSend())}),w(),m(4,"button",6),eA("click",function(){Z(A);let n=v();return X(n.onSend())}),m(5,"mat-icon"),K(6,"send"),w()()()}if(t&2){let A=v();p(3),Qo("ngModel",A.functionCall.userResponse),p(),AA("disabled",!A.functionCall.userResponse)}}var x7=class t{functionCall;appName;userId;sessionId;responseComplete=new WA;agentService=h(sg);cdr=h(mt);responseChunks=[];onSend(){if(!this.functionCall.userResponse||!this.functionCall.userResponse.trim())return;this.functionCall.responseStatus="sending",this.cdr.detectChanges();let e={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:{role:"user",parts:[{functionResponse:{id:this.functionCall.id,name:this.functionCall.name,response:{response:this.functionCall.userResponse}}}]},functionCallEventId:this.functionCall.functionCallEventId};this.responseChunks=[],this.agentService.runSse(e).subscribe({next:A=>nt(this,null,function*(){this.responseChunks.push(A)}),error:A=>{console.error("SSE error:",A),this.functionCall.responseStatus="pending",this.responseChunks=[],this.cdr.detectChanges()},complete:()=>{console.log("Long-running response complete for:",this.functionCall.name),this.functionCall.responseStatus="sent",this.responseComplete.emit(this.responseChunks),this.cdr.detectChanges()}})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-long-running-response"]],inputs:{functionCall:"functionCall",appName:"appName",userId:"userId",sessionId:"sessionId"},outputs:{responseComplete:"responseComplete"},decls:4,vars:1,consts:[[1,"response-chip-container",3,"click"],[1,"status-chip","sent"],[1,"status-chip","sending"],[1,"input-chip"],[1,"input-icon"],["placeholder","Enter response...",1,"response-input",3,"ngModelChange","keydown.enter","ngModel"],["mat-icon-button","",1,"send-icon-btn",3,"click","disabled"]],template:function(A,i){A&1&&(m(0,"div",0),eA("click",function(o){return o.stopPropagation()}),V(1,_YA,5,0,"div",1)(2,LYA,5,0,"div",2)(3,GYA,7,2,"div",3),w()),A&2&&(p(),W(i.functionCall.responseStatus==="sent"?1:i.functionCall.responseStatus==="sending"?2:3))},dependencies:[Nn,uo,fo,ba,Ma,fn],styles:[".response-chip-container[_ngcontent-%COMP%]{display:inline-block;margin:5px}.input-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--mat-standard-button-toggle-divider-color);border-radius:16px;padding:0 4px 0 12px;background-color:var(--chat-panel-function-event-button-background-color);height:30px;box-sizing:border-box;max-width:300px}.input-chip[_ngcontent-%COMP%] .input-icon[_ngcontent-%COMP%]{color:var(--long-running-response-icon-color);font-size:18px;width:18px;height:18px}.input-chip[_ngcontent-%COMP%] .response-input[_ngcontent-%COMP%]{border:none;outline:none;background:transparent;font-size:13px;flex:1;min-width:120px;padding:0;color:var(--long-running-response-input-text-color);caret-color:var(--long-running-response-input-caret-color)}.input-chip[_ngcontent-%COMP%] .response-input[_ngcontent-%COMP%]::placeholder{color:var(--long-running-response-input-placeholder-color)}.input-chip[_ngcontent-%COMP%] .send-icon-btn[_ngcontent-%COMP%]{width:24px;height:24px;padding:0;min-width:unset;color:var(--long-running-response-send-button-color)}.input-chip[_ngcontent-%COMP%] .send-icon-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.status-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;border-radius:16px;padding:0 12px;font-size:13px;font-weight:500;height:32px;box-sizing:border-box;border:1px solid;line-height:32px}.status-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.status-chip.sending[_ngcontent-%COMP%]{background-color:#2196f31a;border-color:#2196f34d;color:#2196f3}.status-chip.sent[_ngcontent-%COMP%]{background-color:#4caf501a;border-color:#4caf504d;color:#4caf50}"]})};var R7=new yA("FeedbackService");var KYA={goodResponseTooltip:"Good response",badResponseTooltip:"Bad response",feedbackAdditionalLabel:"Additional feedback (Optional)",feedbackCommentPlaceholderDown:"Share what could be improved in the response",feedbackCommentPlaceholderUp:"Share what you liked about the response",feedbackCancelButton:"Cancel",feedbackSubmitButton:"Submit",feedbackDialogTitle:"Reasons for feedback (Select all that apply)",feedbackReasonHallucination:"Hallucinated libraries / APIs etc",feedbackReasonIncomplete:"Incomplete answer",feedbackReasonFollowup:"Didn't understand followup",feedbackReasonFactual:"Factual errors",feedbackReasonLinks:"Broken/incorrect links",feedbackReasonIrrelevant:"Irrelevant information",feedbackReasonRepetitive:"Repetitive",feedbackReasonAccurate:"Accurate info",feedbackReasonHelpful:"Helpful",feedbackReasonConcise:"Concise",feedbackReasonUnderstanding:"Good understanding",feedbackReasonClear:"Clear and easy to follow"},HsA=new yA("Message Feedback Messages",{factory:()=>KYA});function UYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_up_filled"),w())}function JYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_up"),w())}function YYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_down_filled"),w())}function TYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_down"),w())}function HYA(t,e){if(t&1&&(m(0,"mat-chip-option",7),K(1),w()),t&2){let A=e.$implicit;AA("value",A),p(),_e(" ",A," ")}}function zYA(t,e){if(t&1){let A=JA();m(0,"div",4)(1,"div",5)(2,"h3"),K(3),w(),m(4,"mat-chip-listbox",6),Ut(5,HYA,2,2,"mat-chip-option",7,_i),w()(),m(7,"div",8)(8,"h3"),K(9),w(),m(10,"mat-form-field",9)(11,"textarea",10),K(12," "),w()()(),m(13,"div",11)(14,"button",12),eA("click",function(){Z(A);let n=v();return X(n.onDetailedFeedbackCancelled())}),K(15),w(),m(16,"button",13),eA("click",function(){Z(A);let n=v();return X(n.onDetailedFeedbackSubmitted())}),K(17),w()()()}if(t&2){let A=v();p(3),qA(A.i18n.feedbackDialogTitle),p(),AA("formControl",A.selectedReasons),p(),Jt(A.reasons()),p(4),qA(A.i18n.feedbackAdditionalLabel),p(2),AA("formControl",A.comment)("placeholder",A.feedbackPlaceholder()),p(4),_e(" ",A.i18n.feedbackCancelButton," "),p(2),_e(" ",A.i18n.feedbackSubmitButton," ")}}var N7=class t{sessionName=at.required();eventId=at.required();i18n=h(HsA);feedbackService=h(R7);existingFeedback=c6({params:()=>({sessionName:this.sessionName(),eventId:this.eventId()}),stream:({params:e})=>this.feedbackService.getFeedback(e.sessionName,e.eventId)});selectedFeedbackDirection=jA(void 0);feedbackDirection=Ke(()=>this.selectedFeedbackDirection()??this.existingFeedback.value()?.direction);isDetailedFeedbackVisible=jA(!1);feedbackPlaceholder=Ke(()=>this.feedbackDirection()==="up"?this.i18n.feedbackCommentPlaceholderUp:this.i18n.feedbackCommentPlaceholderDown);positiveReasonsResource=c6({stream:()=>this.feedbackService.getPositiveFeedbackReasons()});negativeReasonsResource=c6({stream:()=>this.feedbackService.getNegativeFeedbackReasons()});reasons=Ke(()=>this.feedbackDirection()==="up"?this.positiveReasonsResource.value():this.negativeReasonsResource.value());selectedReasons=new Ss([]);comment=new Ss("");isLoading=jA(!1);sendFeedback(e){this.feedbackDirection()===e?(this.isLoading.set(!0),this.feedbackService.deleteFeedback(this.sessionName(),this.eventId()).subscribe(()=>{this.isLoading.set(!1),this.selectedFeedbackDirection.set(void 0),this.resetDetailedFeedback()})):(this.selectedReasons.reset(),this.isLoading.set(!0),this.feedbackService.sendFeedback(this.sessionName(),this.eventId(),{direction:e}).subscribe(()=>{this.isLoading.set(!1),this.isDetailedFeedbackVisible.set(!0),this.selectedFeedbackDirection.set(e)}))}onDetailedFeedbackSubmitted(){let e=this.feedbackDirection();e&&(this.isLoading.set(!0),this.feedbackService.sendFeedback(this.sessionName(),this.eventId(),{direction:e,reasons:this.selectedReasons.value??[],comment:this.comment.value??void 0}).subscribe(()=>{this.isLoading.set(!1),this.resetDetailedFeedback()}))}onDetailedFeedbackCancelled(){this.selectedFeedbackDirection.set(void 0),this.resetDetailedFeedback()}resetDetailedFeedback(){this.isDetailedFeedbackVisible.set(!1),this.comment.reset(),this.selectedReasons.reset([])}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-message-feedback"]],inputs:{sessionName:[1,"sessionName"],eventId:[1,"eventId"]},decls:9,vars:7,consts:[[1,"message-feedback-container"],[1,"feedback-buttons"],["mat-icon-button","",3,"click","matTooltip","disabled"],["class","feedback-details-container",4,"ngIf"],[1,"feedback-details-container"],[1,"reasons-chips"],["multiple","",3,"formControl"],[3,"value"],[1,"additional-feedback"],["appearance","outline"],["matInput","",3,"formControl","placeholder"],[1,"actions"],["mat-stroked-button","",3,"click"],["mat-flat-button","","color","primary",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"div",1)(2,"button",2),eA("click",function(){return i.sendFeedback("up")}),V(3,UYA,2,0,"mat-icon")(4,JYA,2,0,"mat-icon"),w(),m(5,"button",2),eA("click",function(){return i.sendFeedback("down")}),V(6,YYA,2,0,"mat-icon")(7,TYA,2,0,"mat-icon"),w()(),vt(8,zYA,18,7,"div",3),w()),A&2&&(p(2),AA("matTooltip",i.i18n.goodResponseTooltip)("disabled",i.isLoading()),p(),W(i.feedbackDirection()==="up"?3:4),p(2),AA("matTooltip",i.i18n.badResponseTooltip)("disabled",i.isLoading()),p(),W(i.feedbackDirection()==="down"?6:7),p(2),AA("ngIf",i.isDetailedFeedbackVisible()))},dependencies:[fa,o0,r0,uo,fo,v1,Fs,Fn,Ma,Rv,yG,wG,Yr,ta,cl,fn,rl,Ka,U2,Sa],styles:[".message-feedback-container[_ngcontent-%COMP%]{display:block}.feedback-buttons[_ngcontent-%COMP%]{--mat-icon-button-touch-target-size: 32px;--button-size: 32px;--icon-size: 12px;margin-left:96px;display:flex}.feedback-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:var(--button-size);height:var(--button-size);transition:all .2s ease}.feedback-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:var(--icon-size);height:var(--icon-size);width:var(--icon-size);transition:all .2s ease}.feedback-buttons[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%]{background-color:var(--side-panel-button-filled-container-color, var(--mat-sys-primary));color:var(--side-panel-button-filled-label-text-color, white)}.feedback-buttons[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit}.reasons-chips[_ngcontent-%COMP%]{margin-bottom:20px}.feedback-details-container[_ngcontent-%COMP%]{margin-left:54px;max-width:500px;padding:16px;background-color:var(--builder-card-background-color);border-radius:8px;margin-top:8px;border:1px solid var(--builder-border-color)}.feedback-details-container[_ngcontent-%COMP%] .additional-feedback[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:500;margin-bottom:8px;margin-top:0;color:var(--builder-text-secondary-color)}.feedback-details-container[_ngcontent-%COMP%] .additional-feedback[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.feedback-details-container[_ngcontent-%COMP%] .additional-feedback[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:60px;resize:vertical}.feedback-details-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.feedback-details-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:18px;padding:0 16px;height:32px;line-height:32px;font-weight:500}"]})};var OYA={cancelEditingTooltip:"Cancel editing",saveEvalMessageTooltip:"Save eval case message",thoughtChipLabel:"Thought",outcomeLabel:"Outcome",outputLabel:"Output",actualToolUsesLabel:"Actual tool uses:",expectedToolUsesLabel:"Expected tool uses:",actualResponseLabel:"Actual response:",expectedResponseLabel:"Expected response:",matchScoreLabel:"Match score",thresholdLabel:"Threshold",evalPassLabel:"Pass",evalFailLabel:"Fail",editEvalMessageTooltip:"Edit eval case message",deleteEvalMessageTooltip:"Delete eval case message",editFunctionArgsTooltip:"Edit function arguments",typeMessagePlaceholder:"Type a Message...",uploadFileTooltip:"Upload local file",moreOptionsTooltip:"More options",updateStateMenuLabel:"Update state",updateStateMenuTooltip:"Update the session state",turnOffMicTooltip:"Turn off microphone",useMicTooltip:"Use microphone",turnOffCamTooltip:"Turn off camera",useCamTooltip:"Use camera",updatedSessionStateChipLabel:"Updated session state"},zsA=new yA("Chat Panel Messages",{factory:()=>OYA});var PYA=["videoContainer"],jYA=["autoScroll"],qYA=["messageTextarea"],VYA=t=>({selected:t}),WYA=(t,e)=>({"user-message":t,"bot-message":e}),ZYA=(t,e)=>({"eval-pass":t,"eval-fail":e}),XYA=t=>({hidden:t}),$YA=(t,e)=>({"eval-fail":t,"message-card--highlighted":e}),ATA=(t,e)=>({text:t,thought:e}),F7=t=>({"function-event-button-highlight":t}),rK=t=>({hidden:t});function eTA(t,e){t&1&&(m(0,"div",8),GA(1,"mat-progress-bar",10),w())}function tTA(t,e){if(t&1&&(m(0,"div",22),K(1),w()),t&2){let A=v(2).$index,i=v(2);p(),_e(" #",i.getOverallEventNumber(A)," ")}}function iTA(t,e){t&1&&GA(0,"div",23)}function nTA(t,e){if(t&1&&(m(0,"div",12),V(1,tTA,2,1,"div",22)(2,iTA,1,0,"div",23),w()),t&2){let A=v().$index,i=v(2);p(),W(i.isFirstUserMessageInGroup(A)?1:2)}}function oTA(t,e){if(t&1&&(m(0,"div",22),K(1),w()),t&2){let A=v(2).$index,i=v(2);p(),_e(" #",i.getOverallEventNumber(A)," ")}}function aTA(t,e){t&1&&GA(0,"div",23)}function rTA(t,e){if(t&1&&(m(0,"div",14),V(1,oTA,2,1,"div",22)(2,aTA,1,0,"div",23),w()),t&2){let A=v().$index,i=v(2);p(),W(i.isFirstMessageInEventGroup(A)?1:2)}}function sTA(t,e){if(t&1&&(m(0,"button",24)(1,"mat-icon",25),K(2,"robot_2"),w()()),t&2){let A=v(),i=A.$implicit,n=A.$index,o=v(2);zo(o.customIconColorClass(n)),AA("disabled",!i.eventId)("matTooltip",o.getAgentNameFromEvent(n))("ngClass",ss(5,XYA,!o.getAgentNameFromEvent(n)))}}function gTA(t,e){t&1&&GA(0,"mat-progress-bar",26)}function lTA(t,e){if(t&1&&GA(0,"img",32),t&2){let A=v().$implicit;AA("src",A.url,Ga)}}function cTA(t,e){if(t&1&&(m(0,"a",33),K(1),w()),t&2){let A=v(2).$implicit;AA("href",A.url,Ga),p(),qA(A.file.name)}}function CTA(t,e){if(t&1&&K(0),t&2){let A=v(2).$implicit;_e(" ",A.file.name," ")}}function ITA(t,e){if(t&1&&(m(0,"mat-icon"),K(1,"insert_drive_file"),w(),V(2,cTA,2,2,"a",33)(3,CTA,1,1)),t&2){let A=v().$implicit;p(2),W(A.url?2:3)}}function dTA(t,e){if(t&1&&(m(0,"div",31),V(1,lTA,1,1,"img",32),V(2,ITA,4,1),w()),t&2){let A=e.$implicit;p(),W(A.file.type.startsWith("image/")?1:-1),p(),W(A.file.type.startsWith("image/")?-1:2)}}function BTA(t,e){if(t&1&&(m(0,"div",27),Ut(1,dTA,3,2,"div",31,_i),w()),t&2){let A=v(2).$implicit;p(),Jt(A.attachments)}}function ETA(t,e){if(t&1&&(m(0,"div",28),K(1),w()),t&2){let A=v(4);p(),qA(A.i18n.thoughtChipLabel)}}function QTA(t,e){if(t&1){let A=JA();m(0,"div",34)(1,"textarea",36,2),eA("ngModelChange",function(n){Z(A);let o=v(5);return X(o.userEditEvalCaseMessageChange.emit(n))})("keydown",function(n){Z(A);let o=v(3).$implicit,a=v(2);return X(a.handleKeydown.emit({event:n,message:o}))}),w(),m(3,"div",37)(4,"span",38),eA("click",function(){Z(A);let n=v(3).$implicit,o=v(2);return X(o.cancelEditMessage.emit(n))}),K(5," close "),w(),m(6,"span",39),eA("click",function(){Z(A);let n=v(3).$implicit,o=v(2);return X(o.saveEditMessage.emit(n))}),K(7," check "),w()()()}if(t&2){let A=v(5);p(),AA("ngModel",A.userEditEvalCaseMessage),p(3),AA("matTooltip",A.i18n.cancelEditingTooltip),p(2),AA("matTooltip",A.i18n.saveEvalMessageTooltip)}}function hTA(t,e){if(t&1&&on(0,35),t&2){let A=v(3).$implicit,i=v(2);AA("ngComponentOutlet",i.markdownComponent)("ngComponentOutletInputs",Vl(2,ATA,A.text,A.thought))}}function uTA(t,e){if(t&1&&V(0,QTA,8,3,"div",34)(1,hTA,1,5,"ng-container",35),t&2){let A=v(2).$implicit;W(A.isEditing?0:1)}}function fTA(t,e){if(t&1&&(m(0,"div"),GA(1,"div",40),w()),t&2){let A=v(2).$implicit,i=v(2);p(),AA("innerHTML",i.renderGooglerSearch(A.renderedContent),ol)}}function mTA(t,e){if(t&1&&GA(0,"app-a2ui-canvas",29),t&2){let A=v(2).$implicit;AA("beginRendering",A.a2uiData.beginRendering)("surfaceUpdate",A.a2uiData.surfaceUpdate)("dataModelUpdate",A.a2uiData.dataModelUpdate)}}function pTA(t,e){if(t&1&&(m(0,"code"),K(1),w()),t&2){let A=v(2).$implicit;p(),_e(" ",A.executableCode.code," ")}}function wTA(t,e){if(t&1&&(m(0,"div")(1,"div"),K(2),w(),m(3,"div"),K(4),w()()),t&2){let A=v(2).$implicit,i=v(2);p(2),i0("",i.i18n.outcomeLabel,": ",A.codeExecutionResult.outcome),p(2),i0("",i.i18n.outputLabel,": ",A.codeExecutionResult.output)}}function DTA(t,e){if(t&1){let A=JA();m(0,"div",41)(1,"img",42),eA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openViewImageDialog.emit(n.inlineData.data))}),w()()}if(t&2){let A=v(4).$implicit;p(),AA("src",A.inlineData.data,Ga)}}function yTA(t,e){if(t&1&&(m(0,"div"),GA(1,"app-audio-player",43),w()),t&2){let A=v(4).$implicit;p(),AA("base64data",A.inlineData.data)}}function vTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",44)(2,"mat-icon"),K(3,"description"),w(),m(4,"button",45),eA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openBase64InNewTab.emit({data:n.inlineData.data,mimeType:n.inlineData.mimeType}))}),K(5),w()()()}if(t&2){let A=v(4).$implicit;p(5),_e(" ",A.inlineData.name," ")}}function bTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"button",45),eA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openBase64InNewTab.emit({data:n.inlineData.data,mimeType:n.inlineData.mimeType}))}),K(2),w()()}if(t&2){let A=v(4).$implicit;p(2),_e(" ",A.inlineData.name," ")}}function MTA(t,e){if(t&1&&(m(0,"div")(1,"div"),V(2,DTA,2,1,"div",41)(3,yTA,2,1,"div")(4,vTA,6,1,"div")(5,bTA,3,1,"div"),w()()),t&2){let A,i=v(3).$implicit,n=v(2);p(2),W((A=i.inlineData.mediaType)===n.MediaType.IMAGE?2:A===n.MediaType.AUDIO?3:A===n.MediaType.TEXT?4:5)}}function kTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"img",46),eA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openViewImageDialog.emit(n.inlineData.data))}),w()()}if(t&2){let A=v(4).$implicit;p(),AA("src",A.inlineData.data,Ga)}}function STA(t,e){if(t&1&&(m(0,"div",31)(1,"mat-icon"),K(2,"insert_drive_file"),w(),m(3,"a",33),K(4),w()()),t&2){let A=v(4).$implicit;p(3),AA("href",A.inlineData.data,Ga),p(),qA(A.inlineData.displayName)}}function xTA(t,e){if(t&1&&(m(0,"div"),V(1,kTA,2,1,"div")(2,STA,5,2,"div",31),w()),t&2){let A=v(3).$implicit;p(),W(A.inlineData.mimeType.startsWith("image/")?1:2)}}function RTA(t,e){if(t&1&&V(0,MTA,6,1,"div")(1,xTA,3,1,"div"),t&2){let A=v(2).$implicit;W(A.role==="bot"?0:1)}}function NTA(t,e){if(t&1&&(m(0,"div",49)(1,"div",50),K(2),w(),GA(3,"ngx-json-viewer",51),w(),m(4,"div",52)(5,"div",53),K(6),w(),GA(7,"ngx-json-viewer",51),w()),t&2){let A=v(3).$implicit,i=v(2);p(2),qA(i.i18n.actualToolUsesLabel),p(),AA("json",A.actualInvocationToolUses),p(3),qA(i.i18n.expectedToolUsesLabel),p(),AA("json",A.expectedInvocationToolUses)}}function FTA(t,e){if(t&1&&(m(0,"div",49)(1,"div",50),K(2),w(),m(3,"div"),K(4),w()(),m(5,"div",52)(6,"div",53),K(7),w(),m(8,"div"),K(9),w()()),t&2){let A=v(3).$implicit,i=v(2);p(2),qA(i.i18n.actualResponseLabel),p(2),qA(A.actualFinalResponse),p(3),qA(i.i18n.expectedResponseLabel),p(2),qA(A.expectedFinalResponse)}}function _TA(t,e){if(t&1&&(m(0,"div",48)(1,"span",54),K(2),w(),m(3,"span",55),K(4),w()()),t&2){let A=v(3).$implicit,i=v(2);p(2),i0("",i.i18n.matchScoreLabel,": ",A.evalScore),p(2),i0("",i.i18n.thresholdLabel,": ",A.evalThreshold)}}function LTA(t,e){if(t&1&&(m(0,"div",30)(1,"div",47),V(2,NTA,8,4)(3,FTA,10,4),w(),V(4,_TA,5,4,"div",48),w()),t&2){let A=v(2).$implicit;p(2),W(A.actualInvocationToolUses?2:A.actualFinalResponse?3:-1),p(2),W(A.evalScore!==void 0&&A.evalThreshold!==void 0?4:-1)}}function GTA(t,e){if(t&1&&(m(0,"mat-card",16),V(1,gTA,1,0,"mat-progress-bar",26),V(2,BTA,3,0,"div",27),m(3,"div"),V(4,ETA,2,1,"div",28),m(5,"div"),V(6,uTA,2,1),w(),V(7,fTA,2,1,"div"),V(8,mTA,1,3,"app-a2ui-canvas",29),w(),V(9,pTA,2,1,"code"),V(10,wTA,5,4,"div"),V(11,RTA,2,1),V(12,LTA,5,2,"div",30),w()),t&2){let A=v(),i=A.$implicit,n=A.$index,o=v(2);AA("ngClass",Vl(11,$YA,i.evalStatus===2,o.shouldMessageHighlighted(n))),p(),W(i.isLoading?1:-1),p(),W(i.attachments?2:-1),p(2),W(i.thought?4:-1),p(2),W(i.text?6:-1),p(),W(i.renderedContent?7:-1),p(),W(i.a2uiData?8:-1),p(),W(i.executableCode?9:-1),p(),W(i.codeExecutionResult?10:-1),p(),W(i.inlineData?11:-1),p(),W(i.failedMetric&&i.evalStatus===2?12:-1)}}function KTA(t,e){if(t&1){let A=JA();m(0,"app-computer-action",59),eA("clickEvent",function(n){Z(A);let o=v(5);return X(o.clickEvent.emit(n))}),w()}if(t&2){let A=v().$implicit,i=v(2).$index,n=v(2);AA("functionCall",A)("allMessages",n.messages)("index",i)}}function UTA(t,e){if(t&1&&(m(0,"button",57)(1,"mat-icon"),K(2,"bolt"),w(),K(3),w()),t&2){let A=v().$implicit,i=v(2).$index,n=v(2);AA("ngClass",ss(3,F7,n.shouldMessageHighlighted(i)))("appJsonTooltip",A.args?n.JSON.stringify(A.args):""),p(3),_e(" ",A.name," ")}}function JTA(t,e){if(t&1){let A=JA();m(0,"app-long-running-response",60),eA("responseComplete",function(n){Z(A);let o=v(5);return X(o.longRunningResponseComplete.emit(n))}),w()}if(t&2){let A=v().$implicit,i=v(4);AA("functionCall",A)("appName",i.appName)("userId",i.userId)("sessionId",i.sessionId)}}function YTA(t,e){if(t&1&&(V(0,KTA,1,3,"app-computer-action",56)(1,UTA,4,5,"button",57),V(2,JTA,1,4,"app-long-running-response",58)),t&2){let A=e.$implicit,i=v(4);W(i.isComputerUseClick(A)?0:1),p(2),W(A.needsResponse?2:-1)}}function TTA(t,e){if(t&1&&Ut(0,YTA,3,2,null,null,_i),t&2){let A=v().$implicit;Jt(A.functionCalls)}}function HTA(t,e){if(t&1){let A=JA();m(0,"app-computer-action",62),eA("clickEvent",function(n){Z(A);let o=v(5);return X(o.clickEvent.emit(n))}),w()}if(t&2){let A=v().$implicit,i=v(2).$index,n=v(2);AA("functionResponse",A)("allMessages",n.messages)("index",i)}}function zTA(t,e){if(t&1&&(m(0,"button",57)(1,"mat-icon"),K(2,"check"),w(),K(3),w()),t&2){let A=v().$implicit,i=v(2).$index,n=v(2);AA("ngClass",ss(3,F7,n.shouldMessageHighlighted(i)))("appJsonTooltip",A.response?n.JSON.stringify(A.response):""),p(3),_e(" ",A.name," ")}}function OTA(t,e){if(t&1&&V(0,HTA,1,3,"app-computer-action",61)(1,zTA,4,5,"button",57),t&2){let A=e.$implicit,i=v(4);W(i.isComputerUseResponse(A)?0:1)}}function PTA(t,e){if(t&1&&Ut(0,OTA,2,1,null,null,_i),t&2){let A=v().$implicit;Jt(A.functionResponses)}}function jTA(t,e){if(t&1&&(m(0,"button",17)(1,"mat-icon"),K(2,"data_object"),w(),K(3," State "),w()),t&2){let A=v().$index,i=v(2);AA("ngClass",ss(2,F7,i.shouldMessageHighlighted(A)))("appJsonTooltip",i.getStateDeltaTooltip(A))}}function qTA(t,e){if(t&1&&(m(0,"button",18)(1,"mat-icon"),K(2,"attachment"),w(),K(3," Artifact "),w()),t&2){let A=v().$index,i=v(2);AA("ngClass",ss(2,F7,i.shouldMessageHighlighted(A)))("appJsonTooltip",i.getArtifactDeltaTooltip(A))}}function VTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"span",63),eA("click",function(){Z(A);let n=v(2).$implicit,o=v(2);return X(o.editEvalCaseMessage.emit(n))}),K(2," edit "),w(),m(3,"span",63),eA("click",function(){Z(A);let n=v(2),o=n.$implicit,a=n.$index,r=v(2);return X(r.deleteEvalCaseMessage.emit({message:o,index:a}))}),K(4," delete "),w()()}if(t&2){let A=v(4);p(),AA("ngClass",ss(4,rK,A.isEvalCaseEditing))("matTooltip",A.i18n.editEvalMessageTooltip),p(2),AA("ngClass",ss(6,rK,A.isEvalCaseEditing))("matTooltip",A.i18n.deleteEvalMessageTooltip)}}function WTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"span",63),eA("click",function(){Z(A);let n=v(2).$implicit,o=v(2);return X(o.editFunctionArgs.emit(n))}),K(2," edit "),w()()}if(t&2){let A=v(4);p(),AA("ngClass",ss(2,rK,A.isEvalCaseEditing))("matTooltip",A.i18n.editFunctionArgsTooltip)}}function ZTA(t,e){if(t&1&&V(0,VTA,5,8,"div")(1,WTA,3,4,"div"),t&2){let A=v().$implicit,i=v(2);W(A.text?0:i.isEditFunctionArgsEnabled&&A.functionCalls&&A.functionCalls.length>0?1:-1)}}function XTA(t,e){t&1&&(m(0,"button",20)(1,"mat-icon"),K(2,"person"),w()())}function $TA(t,e){if(t&1&&GA(0,"app-message-feedback",21),t&2){let A=v().$implicit,i=v(2);AA("sessionName",i.sessionName())("eventId",A.eventId)}}function AHA(t,e){if(t&1){let A=JA();m(0,"div",9)(1,"div",11),eA("click",function(n){let o=Z(A),a=o.$implicit,r=o.$index,s=v(2);return X(s.handleRowClick(n,a,r))}),V(2,nTA,3,1,"div",12),m(3,"div",13),V(4,rTA,3,1,"div",14),V(5,sTA,3,7,"button",15),V(6,GTA,13,14,"mat-card",16),V(7,TTA,2,0),V(8,PTA,2,0),V(9,jTA,4,4,"button",17),V(10,qTA,4,4,"button",18),m(11,"div",13)(12,"span",19),K(13),w(),m(14,"span"),K(15),w()(),V(16,ZTA,2,1),V(17,XTA,3,0,"button",20),w()(),V(18,$TA,1,2,"app-message-feedback",21),w()}if(t&2){let A=e.$implicit,i=e.$index,n=v(2);p(),AA("ngClass",ss(16,VYA,n.isMessageEventSelected(i))),p(),W(A.role==="user"?2:-1),p(),AA("ngClass",Vl(18,WYA,A.role==="user",A.role==="bot")),p(),W(A.role==="bot"&&!A.isLoading?4:-1),p(),W(A.role==="bot"?5:-1),p(),W(n.shouldShowMessageCard(A)?6:-1),p(),W(A.functionCalls&&A.functionCalls.length>0?7:-1),p(),W(A.functionResponses&&A.functionResponses.length>0?8:-1),p(),W(A.role==="bot"&&n.hasStateDelta(i)?9:-1),p(),W(A.role==="bot"&&n.hasArtifactDelta(i)?10:-1),p(),AA("ngClass",Vl(21,ZYA,A.evalStatus===1,A.evalStatus===2)),p(2),qA(A.evalStatus===1?"check":A.evalStatus===2?"close":""),p(2),qA(A.evalStatus===1?n.i18n.evalPassLabel:A.evalStatus===2?n.i18n.evalFailLabel:""),p(),W(n.evalCase&&A.role==="bot"&&n.isEvalEditMode?16:-1),p(),W(A.role==="user"?17:-1),p(),W(n.isUserFeedbackEnabled()&&!n.isLoadingAgentResponse()&&A.role==="bot"?18:-1)}}function eHA(t,e){if(t&1){let A=JA();m(0,"div",7,0),eA("scroll",function(n){Z(A);let o=v();return X(o.onScroll.next(n))}),V(2,eTA,2,0,"div",8),ri(3,"async"),ri(4,"async"),GA(5,"div",null,1),Ut(7,AHA,19,24,"div",9,_i),w()}if(t&2){let A=v();p(2),W(Ci(3,1,A.uiStateService.isMessagesLoading())&&Ci(4,3,A.featureFlagService.isInfinityMessageScrollingEnabled())?2:-1),p(5),Jt(A.messages)}}function tHA(t,e){if(t&1){let A=JA();m(0,"div",76),GA(1,"img",77),m(2,"button",78),eA("click",function(){Z(A);let n=v().$index,o=v(4);return X(o.removeFile.emit(n))}),m(3,"mat-icon",79),K(4,"close"),w()()()}if(t&2){let A=v().$implicit;p(),AA("src",A.url,Ga)}}function iHA(t,e){if(t&1){let A=JA();m(0,"div",75)(1,"button",78),eA("click",function(){Z(A);let n=v().$index,o=v(4);return X(o.removeFile.emit(n))}),m(2,"mat-icon",79),K(3,"close"),w()(),m(4,"div",80)(5,"mat-icon"),K(6,"insert_drive_file"),w(),m(7,"span"),K(8),w()()()}if(t&2){let A=v().$implicit;p(8),qA(A.file.name)}}function nHA(t,e){if(t&1&&(m(0,"div"),V(1,tHA,5,1,"div",76)(2,iHA,9,1,"div",75),w()),t&2){let A=e.$implicit;p(),W(A.file.type.startsWith("image/")?1:A.file.type.startsWith("image/")?-1:2)}}function oHA(t,e){if(t&1){let A=JA();m(0,"div",75)(1,"button",78),eA("click",function(){Z(A);let n=v(4);return X(n.removeStateUpdate.emit())}),m(2,"mat-icon",79),K(3,"close"),w()(),m(4,"div",80)(5,"span"),K(6),w()()()}if(t&2){let A=v(4);p(6),qA(A.i18n.updatedSessionStateChipLabel)}}function aHA(t,e){if(t&1&&(m(0,"div",67),Ut(1,nHA,3,1,"div",null,_i),V(3,oHA,7,1,"div",75),w()),t&2){let A=v(3);p(),Jt(A.selectedFiles),p(2),W(A.updatedSessionState?3:-1)}}function rHA(t,e){if(t&1){let A=JA();m(0,"div",64)(1,"input",65,3),eA("change",function(n){Z(A);let o=v(2);return X(o.fileSelect.emit(n))}),w(),m(3,"mat-form-field",66),V(4,aHA,4,1,"div",67),m(5,"textarea",68),eA("ngModelChange",function(n){Z(A);let o=v(2);return X(o.userInputChange.emit(n))})("keydown.enter",function(n){Z(A);let o=v(2);return X(o.sendMessage.emit(n))}),w(),m(6,"div",69)(7,"div")(8,"button",70),ri(9,"async"),eA("click",function(){Z(A);let n=An(2);return X(n.click())}),m(10,"mat-icon"),K(11,"attach_file"),w()(),m(12,"button",71),ri(13,"async"),m(14,"mat-icon"),K(15,"more_vert"),w()(),m(16,"mat-menu",null,4)(18,"span",72),eA("click",function(){Z(A);let n=v(2);return X(n.updateState.emit())}),K(19),w()()(),m(20,"div")(21,"button",73),ri(22,"async"),eA("click",function(){Z(A);let n=v(2);return X(n.toggleAudioRecording.emit())}),m(23,"mat-icon"),K(24,"mic"),w()(),m(25,"button",74),ri(26,"async"),eA("click",function(){Z(A);let n=v(2);return X(n.toggleVideoRecording.emit())}),m(27,"mat-icon"),K(28,"videocam"),w()()()()()()}if(t&2){let A=An(17),i=v(2);p(4),W(i.selectedFiles.length&&i.appName!=""||i.updatedSessionState?4:-1),p(),AA("ngModel",i.userInput)("placeholder",i.i18n.typeMessagePlaceholder),p(3),AA("matTooltip",i.i18n.uploadFileTooltip)("disabled",!Ci(9,18,i.isMessageFileUploadEnabledObs)),p(4),AA("matMenuTriggerFor",A)("matTooltip",i.i18n.moreOptionsTooltip)("disabled",!Ci(13,20,i.isManualStateUpdateEnabledObs)),p(6),AA("matTooltip",i.i18n.updateStateMenuTooltip),p(),_e(" ",i.i18n.updateStateMenuLabel," "),p(2),ae("recording",i.isAudioRecording),AA("matTooltip",i.isAudioRecording?i.i18n.turnOffMicTooltip:i.i18n.useMicTooltip)("disabled",!Ci(22,22,i.isBidiStreamingEnabledObs)),p(4),ae("recording",i.isVideoRecording),AA("matTooltip",i.isVideoRecording?i.i18n.turnOffCamTooltip:i.i18n.useCamTooltip)("disabled",!Ci(26,24,i.isBidiStreamingEnabledObs))}}function sHA(t,e){if(t&1&&V(0,rHA,29,26,"div",64),t&2){let A=v();W(A.canEditSession()?0:-1)}}function gHA(t,e){t&1&&(m(0,"div",6),GA(1,"mat-progress-spinner",81),w())}var OsA="root_agent",Vh=class t{appName="";sessionName=at("");messages=[];isChatMode=!0;evalCase=null;isEvalEditMode=!1;isEvalCaseEditing=!1;isEditFunctionArgsEnabled=!1;userInput="";userEditEvalCaseMessage="";selectedFiles=[];updatedSessionState=null;eventData=new Map;selectedEvent=void 0;isAudioRecording=!1;isVideoRecording=!1;hoveredEventMessageIndices=[];userId="";sessionId="";userInputChange=new WA;userEditEvalCaseMessageChange=new WA;clickEvent=new WA;handleKeydown=new WA;cancelEditMessage=new WA;saveEditMessage=new WA;openViewImageDialog=new WA;openBase64InNewTab=new WA;editEvalCaseMessage=new WA;deleteEvalCaseMessage=new WA;editFunctionArgs=new WA;fileSelect=new WA;removeFile=new WA;removeStateUpdate=new WA;sendMessage=new WA;updateState=new WA;toggleAudioRecording=new WA;toggleVideoRecording=new WA;longRunningResponseComplete=new WA;videoContainer;scrollContainer;textarea;scrollInterrupted=!1;scrollHeight=0;lastMessageRef=null;nextPageToken="";i18n=h(zsA);uiStateService=h(Bl);stringToColorService=h(dE);markdownComponent=h(Gh);featureFlagService=h(vr);agentService=h(sg);sessionService=h(dl);destroyRef=h(Cr);MediaType=$1;JSON=JSON;isMessageFileUploadEnabledObs=this.featureFlagService.isMessageFileUploadEnabled();isManualStateUpdateEnabledObs=this.featureFlagService.isManualStateUpdateEnabled();isBidiStreamingEnabledObs=this.featureFlagService.isBidiStreamingEnabled();canEditSession=jA(!0);isUserFeedbackEnabled=_s(this.featureFlagService.isFeedbackServiceEnabled());isLoadingAgentResponse=_s(this.agentService.getLoadingState());onScroll=new $A;sanitizer=h(ds);constructor(){La(()=>{let e=this.sessionName();e&&(this.nextPageToken="",this.uiStateService.lazyLoadMessages(e,{pageSize:100,pageToken:this.nextPageToken}).pipe(To()).subscribe())})}ngOnInit(){this.featureFlagService.isInfinityMessageScrollingEnabled().pipe(To(),Ze(e=>e),ki(()=>hi(this.uiStateService.onNewMessagesLoaded().pipe(oi(e=>{this.nextPageToken=e.nextPageToken??"",e.isBackground||this.restoreScrollPosition()})),this.onScroll.pipe(ki(e=>{let A=e.target;return A.scrollTop!==0?ja:this.nextPageToken?(this.scrollHeight=A.scrollHeight,this.uiStateService.lazyLoadMessages(this.sessionName(),{pageSize:100,pageToken:this.nextPageToken}).pipe(To(),ea(()=>aU))):ja})))),Tr(this.destroyRef)).subscribe()}ngAfterViewInit(){this.scrollContainer?.nativeElement&&(this.scrollContainer.nativeElement.addEventListener("wheel",()=>{this.scrollInterrupted=!0}),this.scrollContainer.nativeElement.addEventListener("touchmove",()=>{this.scrollInterrupted=!0}))}ngOnChanges(e){if(e.messages){let A=this.messages[this.messages.length-1];A!==this.lastMessageRef&&((A?.role==="user"||A?.isLoading===!0)&&(this.scrollInterrupted=!1),this.scrollToBottom()),this.lastMessageRef=A}}scrollToBottom(){this.scrollInterrupted||setTimeout(()=>{this.scrollContainer?.nativeElement.scrollTo({top:this.scrollContainer.nativeElement.scrollHeight,behavior:"auto"})},50)}getAgentNameFromEvent(e){let A=this.messages[e].eventId;return this.eventData.get(A)?.author??OsA}customIconColorClass(e){let A=this.getAgentNameFromEvent(e);return A!==OsA?`custom-icon-color-${this.stringToColorService.stc(A).replace("#","")}`:""}shouldMessageHighlighted(e){return this.hoveredEventMessageIndices.includes(e)}isMessageEventSelected(e){let A=this.messages[e];return A.eventId&&this.selectedEvent&&A.eventId===this.selectedEvent.id}shouldShowMessageCard(e){return!!(e.text||e.attachments||e.inlineData||e.executableCode||e.codeExecutionResult||e.a2uiData||e.renderedContent||e.isLoading||e.failedMetric&&e.evalStatus===2)}getBotEventNumber(e){let A=this.messages[e];if(A.role!=="bot"||!A.eventId)return-1;let i=[];for(let n=0;n<=e;n++){let o=this.messages[n];o.role==="bot"&&o.eventId&&!i.includes(o.eventId)&&i.push(o.eventId)}return i.indexOf(A.eventId)+1}getOverallEventNumber(e){let A=0,i=null,n=null;for(let o=0;o<=e;o++){let a=this.messages[o];if(a.role==="user"){if(i!=="user"&&(A++,i="user"),o===e)return A}else if(a.role==="bot"&&a.eventId&&(a.eventId!==n&&(A++,n=a.eventId,i="bot"),o===e))return A}return-1}isFirstUserMessageInGroup(e){return this.messages[e].role!=="user"?!1:e===0?!0:this.messages[e-1].role!=="user"}isFirstMessageInEventGroup(e){let A=this.messages[e];return A.role!=="bot"||!A.eventId?!1:e===0?!0:this.messages[e-1].eventId!==A.eventId}hasStateDelta(e){let A=this.messages[e];if(!A.eventId)return!1;let n=this.eventData.get(A.eventId)?.actions?.stateDelta;return n&&Object.keys(n).length>0}hasArtifactDelta(e){let A=this.messages[e];if(!A.eventId)return!1;let n=this.eventData.get(A.eventId)?.actions?.artifactDelta;return n&&Object.keys(n).length>0}renderGooglerSearch(e){return this.sanitizer.bypassSecurityTrustHtml(e)}restoreScrollPosition(){if(!this.scrollHeight){this.scrollInterrupted=!1,this.scrollToBottom();return}let e=this.scrollContainer?.nativeElement;e&&(e.scrollTop=e.scrollHeight-this.scrollHeight,this.scrollHeight=0)}isComputerUseClick(e){return v7(e)}isComputerUseResponse(e){return qh(e)}getFunctionCallArgsTooltip(e){if(!e.functionCall||!e.functionCall.args)return"";try{return JSON.stringify(e.functionCall.args)}catch{return String(e.functionCall.args)}}getFunctionResponseTooltip(e){if(!e.functionResponse||!e.functionResponse.response)return"";try{return JSON.stringify(e.functionResponse.response)}catch{return String(e.functionResponse.response)}}getStateDeltaTooltip(e){let A=this.messages[e];if(!A.eventId)return"";let n=this.eventData.get(A.eventId)?.actions?.stateDelta;if(!n)return"";try{return JSON.stringify(n)}catch{return String(n)}}getArtifactDeltaTooltip(e){let A=this.messages[e];if(!A.eventId)return"";let n=this.eventData.get(A.eventId)?.actions?.artifactDelta;if(!n)return"";try{return JSON.stringify(n)}catch{return String(n)}}handleRowClick(e,A,i){let n=window.getSelection();n&&n.toString().length>0||this.clickEvent.emit(i)}handleKeyboardNavigation(e){if(!this.selectedEvent||e.key!=="ArrowUp"&&e.key!=="ArrowDown")return;e.preventDefault();let A=new Map;for(let a=0;athis.messages[a].eventId===this.selectedEvent.id);if(n===-1)return;let o;e.key==="ArrowDown"?o=n+1>=i.length?0:n+1:o=n-1<0?i.length-1:n-1,this.clickEvent.emit(i[o]),setTimeout(()=>{if(!this.scrollContainer?.nativeElement)return;let a=this.scrollContainer.nativeElement.querySelectorAll(".message-column-container");a&&a[i[o]]&&a[i[o]].scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},0)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-chat-panel"]],viewQuery:function(A,i){if(A&1&&ai(PYA,5,ge)(jYA,5)(qYA,5),A&2){let n;ce(n=Ce())&&(i.videoContainer=n.first),ce(n=Ce())&&(i.scrollContainer=n.first),ce(n=Ce())&&(i.textarea=n.first)}},hostBindings:function(A,i){A&1&&eA("keydown",function(o){return i.handleKeyboardNavigation(o)},u2)},inputs:{appName:"appName",sessionName:[1,"sessionName"],messages:"messages",isChatMode:"isChatMode",evalCase:"evalCase",isEvalEditMode:"isEvalEditMode",isEvalCaseEditing:"isEvalCaseEditing",isEditFunctionArgsEnabled:"isEditFunctionArgsEnabled",userInput:"userInput",userEditEvalCaseMessage:"userEditEvalCaseMessage",selectedFiles:"selectedFiles",updatedSessionState:"updatedSessionState",eventData:"eventData",selectedEvent:"selectedEvent",isAudioRecording:"isAudioRecording",isVideoRecording:"isVideoRecording",hoveredEventMessageIndices:"hoveredEventMessageIndices",userId:"userId",sessionId:"sessionId"},outputs:{userInputChange:"userInputChange",userEditEvalCaseMessageChange:"userEditEvalCaseMessageChange",clickEvent:"clickEvent",handleKeydown:"handleKeydown",cancelEditMessage:"cancelEditMessage",saveEditMessage:"saveEditMessage",openViewImageDialog:"openViewImageDialog",openBase64InNewTab:"openBase64InNewTab",editEvalCaseMessage:"editEvalCaseMessage",deleteEvalCaseMessage:"deleteEvalCaseMessage",editFunctionArgs:"editFunctionArgs",fileSelect:"fileSelect",removeFile:"removeFile",removeStateUpdate:"removeStateUpdate",sendMessage:"sendMessage",updateState:"updateState",toggleAudioRecording:"toggleAudioRecording",toggleVideoRecording:"toggleVideoRecording",longRunningResponseComplete:"longRunningResponseComplete"},features:[ti],decls:5,vars:5,consts:[["autoScroll",""],["videoContainer",""],["messageTextarea",""],["fileInput",""],["moreMenu","matMenu"],[1,"chat-messages"],[1,"loading-spinner-container"],[1,"chat-messages",3,"scroll"],[1,"messages-loading-container"],[1,"message-row-container"],["mode","indeterminate"],[1,"message-column-container",3,"click","ngClass"],[1,"event-number-container","user-event-number"],[3,"ngClass"],[1,"event-number-container"],["mat-mini-fab","",3,"disabled","matTooltip","class","ngClass"],[1,"message-card",3,"ngClass"],["mat-stroked-button","",1,"function-event-button","state-delta-button",3,"ngClass","appJsonTooltip"],["mat-stroked-button","",1,"function-event-button","artifact-delta-button",3,"ngClass","appJsonTooltip"],[1,"material-symbols-outlined"],["mat-mini-fab",""],[3,"sessionName","eventId"],[1,"event-number-label"],[1,"event-number-placeholder"],["mat-mini-fab","",3,"disabled","matTooltip","ngClass"],["fontSet","material-symbols-outlined"],["mode","buffer",1,"loading-bar"],[1,"attachments"],[1,"thought-chip"],[3,"beginRendering","surfaceUpdate","dataModelUpdate"],[1,"eval-compare-container"],[1,"attachment"],["alt","attachment",1,"image-preview-chat",3,"src"],["download","",3,"href"],[1,"edit-message-container"],[3,"ngComponentOutlet","ngComponentOutletInputs"],["rows","4","cols","80",1,"message-textarea",3,"ngModelChange","keydown","ngModel"],[1,"edit-message-buttons-container"],[1,"material-symbols-outlined","cancel-edit-button",3,"click","matTooltip"],[1,"material-symbols-outlined","save-edit-button",3,"click","matTooltip"],[3,"innerHTML"],[1,"generated-image-container"],["alt","image",1,"generated-image",3,"click","src"],[3,"base64data"],[1,"html-artifact-container"],[1,"link-style-button",3,"click"],["alt","image",1,"image-preview-chat",3,"click","src"],[1,"actual-expected-compare-container"],[1,"score-threshold-container"],[1,"actual-result"],[1,"eval-response-header","header-actual"],[3,"json"],[1,"expected-result"],[1,"eval-response-header","header-expected"],[1,"header-actual"],[1,"header-expected"],[3,"functionCall","allMessages","index"],["mat-stroked-button","",1,"function-event-button",3,"ngClass","appJsonTooltip"],[3,"functionCall","appName","userId","sessionId"],[3,"clickEvent","functionCall","allMessages","index"],[3,"responseComplete","functionCall","appName","userId","sessionId"],[3,"functionResponse","allMessages","index"],[3,"clickEvent","functionResponse","allMessages","index"],[1,"material-symbols-outlined","eval-case-edit-button",3,"click","ngClass","matTooltip"],[1,"chat-input"],["type","file","multiple","","hidden","",3,"change"],["appearance","outline",1,"input-field"],[1,"file-preview"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","10",1,"chat-input-box",3,"ngModelChange","keydown.enter","ngModel","placeholder"],[1,"chat-input-actions"],["mat-icon-button","",1,"function-event-button",3,"click","matTooltip","disabled"],["mat-icon-button","",1,"function-event-button",3,"matMenuTriggerFor","matTooltip","disabled"],["mat-menu-item","",3,"click","matTooltip"],["mat-icon-button","","matSuffix","",1,"audio-rec-btn",3,"click","matTooltip","disabled"],["mat-icon-button","","matSuffix","",1,"video-rec-btn",3,"click","matTooltip","disabled"],[1,"file-container"],[1,"image-container"],["alt","preview",1,"image-preview",3,"src"],["mat-icon-button","",1,"delete-button",3,"click"],["color","warn"],[1,"file-info"],["mode","indeterminate","diameter","50"]],template:function(A,i){if(A&1&&(Ur(0),ri(1,"async"),V(2,eHA,9,5,"div",5),V(3,sHA,1,1),V(4,gHA,2,0,"div",6)),A&2){let n=Ci(1,3,i.uiStateService.isSessionLoading());p(2),W(i.appName!=""&&!n?2:-1),p(),W(i.appName!=""&&i.isChatMode&&!n?3:-1),p(),W(n?4:-1)}},dependencies:[fa,gs,p2,Nn,uo,fo,ba,cl,fn,zH,aE,JsA,y7,Fs,Fn,Yp,Ma,rl,Ka,ta,v9,zp,KB,Yr,caA,X0,l2,_h,TsA,B1,B0,Y2,k7,vE,N7,U2,Sa,M7,S7,x7,ls],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.generated-image-container[_ngcontent-%COMP%]{max-width:400px}.generated-image[_ngcontent-%COMP%]{max-width:100%;min-width:40px;border-radius:8px}.html-artifact-container[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:flex-start;align-items:center}.loading-bar[_ngcontent-%COMP%]{width:100px;margin:15px}.chat-messages[_ngcontent-%COMP%]{flex-grow:1;overflow-y:auto;padding:20px;margin-top:16px}.message-card[_ngcontent-%COMP%]{padding:5px 20px;margin:5px;border-radius:20px;max-width:80%;font-size:14px;font-weight:400;position:relative;display:inline-block}.message-card.message-card--highlighted[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-highlight-background-color)}.function-event-button[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-background-color);margin:5px;font-size:13px!important;padding:6px 12px!important;min-height:32px!important;height:32px!important}.function-event-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px!important;width:18px!important;height:18px!important}.state-delta-button[_ngcontent-%COMP%], .artifact-delta-button[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-background-color)!important}.function-event-button-highlight[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-highlight-background-color);border-color:var(--chat-panel-function-event-button-highlight-border-color)!important;color:var(--chat-panel-function-event-button-highlight-color)!important}.message-column-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin-left:-20px;margin-right:-20px;padding:8px 20px;border:2px solid transparent;border-radius:4px;background-color:transparent;transition:background-color .2s ease;cursor:pointer}.message-column-container[_ngcontent-%COMP%]:hover{background-color:#4285f414}.message-column-container.selected[_ngcontent-%COMP%]{background-color:#4285f433!important;border:2px solid rgba(66,133,244,.6);border-radius:4px}.user-message[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;flex-grow:1}.user-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-panel-user-message-message-card-background-color);align-self:flex-end;color:var(--chat-panel-user-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;flex-grow:1}.bot-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-panel-bot-message-message-card-background-color);align-self:flex-start;color:var(--chat-panel-bot-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]:focus-within .message-card[_ngcontent-%COMP%]{background-color:var(--chat-panel-bot-message-focus-within-message-card-background-color);border:1px solid var(--chat-panel-bot-message-focus-within-message-card-border-color)}.message-textarea[_ngcontent-%COMP%]{background-color:var(--chat-panel-message-textarea-background-color);max-width:100%;border:none;font-family:Google Sans,Helvetica Neue,sans-serif}.message-textarea[_ngcontent-%COMP%]:focus{background-color:var(--chat-panel-message-textarea-focus-background-color);outline:none}.edit-message-buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%]{visibility:hidden;position:absolute;left:10px;z-index:10;background-color:var(--chat-panel-eval-compare-container-background-color);overflow:hidden;border-radius:20px;padding:5px 20px;margin-bottom:10px;font-size:16px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .actual-result[_ngcontent-%COMP%]{border-right:2px solid var(--chat-panel-actual-result-border-right-color);padding-right:8px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .expected-result[_ngcontent-%COMP%]{padding-left:12px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%]:hover .eval-compare-container[_ngcontent-%COMP%]{visibility:visible}.actual-expected-compare-container[_ngcontent-%COMP%]{display:flex}.score-threshold-container[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:10px;align-items:center;margin-top:15px;font-size:14px;font-weight:600}.eval-response-header[_ngcontent-%COMP%]{padding-bottom:5px;border-bottom:2px solid var(--chat-panel-eval-response-header-border-bottom-color);font-style:italic;font-weight:700}.header-expected[_ngcontent-%COMP%]{color:var(--chat-panel-header-expected-color)}.header-actual[_ngcontent-%COMP%]{color:var(--chat-panel-header-actual-color)}.eval-case-edit-button[_ngcontent-%COMP%]{cursor:pointer;margin-left:4px;margin-right:4px}.eval-pass[_ngcontent-%COMP%]{display:flex;color:var(--chat-panel-eval-pass-color)}.eval-fail[_ngcontent-%COMP%]{display:flex;color:var(--chat-panel-eval-fail-color)}.hidden[_ngcontent-%COMP%]{visibility:hidden}.chat-input[_ngcontent-%COMP%]{display:flex;padding:10px;width:60%;margin:0 auto;position:relative;z-index:1}.input-field[_ngcontent-%COMP%]{flex-grow:1;position:relative;z-index:1}.input-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{color:var(--chat-panel-input-field-textarea-color);border:none;padding:10px;box-sizing:content-box;caret-color:var(--chat-panel-input-field-textarea-caret-color)}.input-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:var(--chat-panel-input-field-textarea-placeholder-color)}.input-field[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:var(--chat-panel-input-field-button-color);background-color:var(--chat-panel-input-field-button-background-color)}.chat-input-actions[_ngcontent-%COMP%]{width:106%;margin-top:10px;display:flex;justify-content:space-between;align-items:center;max-width:100%}.chat-input-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:10px;margin-right:10px}.file-preview[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;margin-bottom:8px}.image-preview-chat[_ngcontent-%COMP%]{max-width:90%;max-height:70vh;width:auto;height:auto;border-radius:8px;cursor:pointer;transition:transform .2s ease-in-out}.attachment[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .mat-mdc-mini-fab{background-color:var(--chat-panel-mat-mdc-mini-fab-background-color, #4285f4)}[_nghost-%COMP%] .mat-mdc-mini-fab mat-icon{color:var(--chat-panel-mat-mdc-mini-fab-mat-icon-color, white)}[_nghost-%COMP%] .mat-mdc-mini-fab.mat-mdc-button-disabled{background-color:#fff3!important}[_nghost-%COMP%] .mat-mdc-mini-fab.mat-mdc-button-disabled mat-icon{color:#fff9!important}[_nghost-%COMP%] .message-text p{white-space:pre-line;word-break:break-word;overflow-wrap:break-word}[_nghost-%COMP%] .input-field .mat-mdc-text-field-wrapper{border:1px solid var(--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color);border-radius:16px}.image-container[_ngcontent-%COMP%]{position:relative;display:inline-block;border-radius:12px;overflow:hidden}.image-preview[_ngcontent-%COMP%]{display:block;width:100%;height:auto;border-radius:12px;width:80px;height:80px}.delete-button[_ngcontent-%COMP%]{position:absolute;top:1px;right:1px;background-color:var(--chat-panel-delete-button-background-color);border:none;border-radius:50%;padding:8px;cursor:pointer;color:var(--chat-panel-delete-button-color);display:flex;align-items:center;justify-content:center;margin-right:0;scale:.7}.delete-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px}.file-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:8px;height:80px;background-color:var(--chat-panel-file-container-background-color);border-radius:12px}.file-info[_ngcontent-%COMP%]{margin-right:60px;padding-top:20px;padding-left:16px}.thought-chip[_ngcontent-%COMP%]{border-radius:5px;background-color:var(--chat-panel-thought-chip-background-color);width:80px;text-align:center;margin-top:5px}.event-number-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-self:center;min-width:30px}.bot-message[_ngcontent-%COMP%] .event-number-container[_ngcontent-%COMP%]{margin-right:8px}.user-event-number[_ngcontent-%COMP%]{margin-right:8px;align-self:center}.event-number-label[_ngcontent-%COMP%], .event-number-placeholder[_ngcontent-%COMP%]{font-size:14px;font-weight:600;text-align:center;display:inline-block}.event-number-label[_ngcontent-%COMP%]{color:var(--chat-panel-event-number-label-color, #5f6368)}.event-number-placeholder[_ngcontent-%COMP%]{visibility:hidden}[_nghost-%COMP%] pre{white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-width:100%}.link-style-button[_ngcontent-%COMP%]{background:none;border:none;padding:0;font:inherit;color:var(--chat-panel-link-style-button-color)!important;text-decoration:underline;cursor:pointer;outline:none;font-size:14px}.cancel-edit-button[_ngcontent-%COMP%]{width:24px;height:24px;color:var(--chat-mat-mdc-text-field-wrapper-border-color);cursor:pointer;margin-right:16px}.save-edit-button[_ngcontent-%COMP%]{width:24px;height:24px;color:var(--mat-sys-primary);cursor:pointer;margin-right:16px}.chat-input-box[_ngcontent-%COMP%]{caret-color:#fff}button.audio-rec-btn[_ngcontent-%COMP%], button.video-rec-btn[_ngcontent-%COMP%]{background-color:var(--chat-card-background-color)}button.audio-rec-btn.recording[_ngcontent-%COMP%], button.video-rec-btn.recording[_ngcontent-%COMP%]{background-color:var(--chat-panel-eval-fail-color)}.loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}.messages-loading-container[_ngcontent-%COMP%]{margin-top:1em;margin-bottom:1em}"]})};var lHA={cancelButton:"Cancel",saveButton:"Save",invalidJsonAlert:"Invalid JSON: "},PsA=new yA("Edit Json Dialog Messages",{factory:()=>lHA});var Km=class t{constructor(e,A){this.dialogRef=e;this.data=A;this.jsonString=JSON.stringify(A.jsonContent,null,2),this.functionName=A.functionName||""}jsonEditorComponent=ca(jc);jsonString="";functionName="";i18n=h(PsA);ngOnInit(){}onSave(){try{this.jsonString=this.jsonEditorComponent().getJsonString();let e=JSON.parse(this.jsonString);this.dialogRef.close(e)}catch(e){alert(this.i18n.invalidJsonAlert+e)}}onCancel(){this.dialogRef.close(null)}static \u0275fac=function(A){return new(A||t)(Ct(Po),Ct(ka))};static \u0275cmp=kA({type:t,selectors:[["app-edit-json-dialog"]],viewQuery:function(A,i){A&1&&rs(i.jsonEditorComponent,jc,5),A&2&&wr()},decls:11,vars:5,consts:[[1,"dialog-container"],["mat-dialog-title",""],[1,"editor"],[3,"jsonString"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"h2",1),K(2),w(),m(3,"mat-dialog-content",2),K(4),GA(5,"app-json-editor",3),w(),m(6,"mat-dialog-actions",4)(7,"button",5),K(8),w(),m(9,"button",6),eA("click",function(){return i.onSave()}),K(10),w()()()),A&2&&(p(2),qA(i.data.dialogHeader),p(2),_e(" ",i.functionName," "),p(),AA("jsonString",i.jsonString),p(3),qA(i.i18n.cancelButton),p(2),qA(i.i18n.saveButton))},dependencies:[Ua,yr,jc,or,Fn,K2],styles:[".dialog-container[_ngcontent-%COMP%]{border-radius:12px;padding:18px;width:500px;box-shadow:0 8px 16px var(--edit-json-dialog-container-box-shadow-color)}.editor[_ngcontent-%COMP%]{padding-top:12px;height:300px}"]})};var cHA=[[["caption"]],[["colgroup"],["col"]],"*"],CHA=["caption","colgroup, col","*"];function IHA(t,e){t&1&&He(0,2)}function dHA(t,e){t&1&&(m(0,"thead",0),on(1,1),w(),m(2,"tbody",0),on(3,2)(4,3),w(),m(5,"tfoot",0),on(6,4),w())}function BHA(t,e){t&1&&on(0,1)(1,2)(2,3)(3,4)}var Zc=new yA("CDK_TABLE");var G7=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkCellDef",""]]})}return t})(),K7=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkHeaderCellDef",""]]})}return t})(),VsA=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkFooterCellDef",""]]})}return t})(),Wh=(()=>{class t{_table=h(Zc,{optional:!0});_hasStickyChanged=!1;get name(){return this._name}set name(A){this._setNameInput(A)}_name;get sticky(){return this._sticky}set sticky(A){A!==this._sticky&&(this._sticky=A,this._hasStickyChanged=!0)}_sticky=!1;get stickyEnd(){return this._stickyEnd}set stickyEnd(A){A!==this._stickyEnd&&(this._stickyEnd=A,this._hasStickyChanged=!0)}_stickyEnd=!1;cell;headerCell;footerCell;cssClassFriendlyName;_columnCssClassName;constructor(){}hasStickyChanged(){let A=this._hasStickyChanged;return this.resetStickyChanged(),A}resetStickyChanged(){this._hasStickyChanged=!1}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(A){A&&(this._name=A,this.cssClassFriendlyName=A.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkColumnDef",""]],contentQueries:function(i,n,o){if(i&1&&ua(o,G7,5)(o,K7,5)(o,VsA,5),i&2){let a;ce(a=Ce())&&(n.cell=a.first),ce(a=Ce())&&(n.headerCell=a.first),ce(a=Ce())&&(n.footerCell=a.first)}},inputs:{name:[0,"cdkColumnDef","name"],sticky:[2,"sticky","sticky",he],stickyEnd:[2,"stickyEnd","stickyEnd",he]},features:[It([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}])]})}return t})(),L7=class{constructor(e,A){A.nativeElement.classList.add(...e._columnCssClassName)}},WsA=(()=>{class t extends L7{constructor(){super(h(Wh),h(ge))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[dt]})}return t})();var ZsA=(()=>{class t extends L7{constructor(){let A=h(Wh),i=h(ge);super(A,i);let n=A._table?._getCellRole();n&&i.nativeElement.setAttribute("role",n)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[dt]})}return t})();var gK=(()=>{class t{template=h(Tn);_differs=h(y1);columns;_columnsDiffer;constructor(){}ngOnChanges(A){if(!this._columnsDiffer){let i=A.columns&&A.columns.currentValue||[];this._columnsDiffer=this._differs.find(i).create(),this._columnsDiffer.diff(i)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(A){return this instanceof Jm?A.headerCell.template:this instanceof lK?A.footerCell.template:A.cell.template}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,features:[ti]})}return t})(),Jm=(()=>{class t extends gK{_table=h(Zc,{optional:!0});_hasStickyChanged=!1;get sticky(){return this._sticky}set sticky(A){A!==this._sticky&&(this._sticky=A,this._hasStickyChanged=!0)}_sticky=!1;constructor(){super(h(Tn),h(y1))}ngOnChanges(A){super.ngOnChanges(A)}hasStickyChanged(){let A=this._hasStickyChanged;return this.resetStickyChanged(),A}resetStickyChanged(){this._hasStickyChanged=!1}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:[0,"cdkHeaderRowDef","columns"],sticky:[2,"cdkHeaderRowDefSticky","sticky",he]},features:[dt,ti]})}return t})(),lK=(()=>{class t extends gK{_table=h(Zc,{optional:!0});_hasStickyChanged=!1;get sticky(){return this._sticky}set sticky(A){A!==this._sticky&&(this._sticky=A,this._hasStickyChanged=!0)}_sticky=!1;constructor(){super(h(Tn),h(y1))}ngOnChanges(A){super.ngOnChanges(A)}hasStickyChanged(){let A=this._hasStickyChanged;return this.resetStickyChanged(),A}resetStickyChanged(){this._hasStickyChanged=!1}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:[0,"cdkFooterRowDef","columns"],sticky:[2,"cdkFooterRowDefSticky","sticky",he]},features:[dt,ti]})}return t})(),U7=(()=>{class t extends gK{_table=h(Zc,{optional:!0});when;constructor(){super(h(Tn),h(y1))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkRowDef",""]],inputs:{columns:[0,"cdkRowDefColumns","columns"],when:[0,"cdkRowDefWhen","when"]},features:[dt]})}return t})(),EB=(()=>{class t{_viewContainer=h(Ho);cells;context;static mostRecentCellOutlet=null;constructor(){t.mostRecentCellOutlet=this}ngOnDestroy(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkCellOutlet",""]]})}return t})(),cK=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})();var CK=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})(),XsA=(()=>{class t{templateRef=h(Tn);_contentClassNames=["cdk-no-data-row","cdk-row"];_cellClassNames=["cdk-cell","cdk-no-data-cell"];_cellSelector="td, cdk-cell, [cdk-cell], .cdk-cell";constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["ng-template","cdkNoDataRow",""]]})}return t})(),jsA=["top","bottom","left","right"],sK=class{_isNativeHtmlTable;_stickCellCss;_isBrowser;_needsPositionStickyOnElement;direction;_positionListener;_tableInjector;_elemSizeCache=new WeakMap;_resizeObserver=globalThis?.ResizeObserver?new globalThis.ResizeObserver(e=>this._updateCachedSizes(e)):null;_updatedStickyColumnsParamsToReplay=[];_stickyColumnsReplayTimeout=null;_cachedCellWidths=[];_borderCellCss;_destroyed=!1;constructor(e,A,i=!0,n=!0,o,a,r){this._isNativeHtmlTable=e,this._stickCellCss=A,this._isBrowser=i,this._needsPositionStickyOnElement=n,this.direction=o,this._positionListener=a,this._tableInjector=r,this._borderCellCss={top:`${A}-border-elem-top`,bottom:`${A}-border-elem-bottom`,left:`${A}-border-elem-left`,right:`${A}-border-elem-right`}}clearStickyPositioning(e,A){(A.includes("left")||A.includes("right"))&&this._removeFromStickyColumnReplayQueue(e);let i=[];for(let n of e)n.nodeType===n.ELEMENT_NODE&&i.push(n,...Array.from(n.children));Yn({write:()=>{for(let n of i)this._removeStickyStyle(n,A)}},{injector:this._tableInjector})}updateStickyColumns(e,A,i,n=!0,o=!0){if(!e.length||!this._isBrowser||!(A.some(Q=>Q)||i.some(Q=>Q))){this._positionListener?.stickyColumnsUpdated({sizes:[]}),this._positionListener?.stickyEndColumnsUpdated({sizes:[]});return}let a=e[0],r=a.children.length,s=this.direction==="rtl",g=s?"right":"left",l=s?"left":"right",C=A.lastIndexOf(!0),I=i.indexOf(!0),d,B,E;o&&this._updateStickyColumnReplayQueue({rows:[...e],stickyStartStates:[...A],stickyEndStates:[...i]}),Yn({earlyRead:()=>{d=this._getCellWidths(a,n),B=this._getStickyStartColumnPositions(d,A),E=this._getStickyEndColumnPositions(d,i)},write:()=>{for(let Q of e)for(let f=0;f!!Q)&&(this._positionListener.stickyColumnsUpdated({sizes:C===-1?[]:d.slice(0,C+1).map((Q,f)=>A[f]?Q:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:I===-1?[]:d.slice(I).map((Q,f)=>i[f+I]?Q:null).reverse()}))}},{injector:this._tableInjector})}stickRows(e,A,i){if(!this._isBrowser)return;let n=i==="bottom"?e.slice().reverse():e,o=i==="bottom"?A.slice().reverse():A,a=[],r=[],s=[];Yn({earlyRead:()=>{for(let g=0,l=0;g{let g=o.lastIndexOf(!0);for(let l=0;l{let i=e.querySelector("tfoot");i&&(A.some(n=>!n)?this._removeStickyStyle(i,["bottom"]):this._addStickyStyle(i,"bottom",0,!1))}},{injector:this._tableInjector})}destroy(){this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._resizeObserver?.disconnect(),this._destroyed=!0}_removeStickyStyle(e,A){if(!e.classList.contains(this._stickCellCss))return;for(let n of A)e.style[n]="",e.classList.remove(this._borderCellCss[n]);jsA.some(n=>A.indexOf(n)===-1&&e.style[n])?e.style.zIndex=this._getCalculatedZIndex(e):(e.style.zIndex="",this._needsPositionStickyOnElement&&(e.style.position=""),e.classList.remove(this._stickCellCss))}_addStickyStyle(e,A,i,n){e.classList.add(this._stickCellCss),n&&e.classList.add(this._borderCellCss[A]),e.style[A]=`${i}px`,e.style.zIndex=this._getCalculatedZIndex(e),this._needsPositionStickyOnElement&&(e.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(e){let A={top:100,bottom:10,left:1,right:1},i=0;for(let n of jsA)e.style[n]&&(i+=A[n]);return i?`${i}`:""}_getCellWidths(e,A=!0){if(!A&&this._cachedCellWidths.length)return this._cachedCellWidths;let i=[],n=e.children;for(let o=0;o0;o--)A[o]&&(i[o]=n,n+=e[o]);return i}_retrieveElementSize(e){let A=this._elemSizeCache.get(e);if(A)return A;let i=e.getBoundingClientRect(),n={width:i.width,height:i.height};return this._resizeObserver&&(this._elemSizeCache.set(e,n),this._resizeObserver.observe(e,{box:"border-box"})),n}_updateStickyColumnReplayQueue(e){this._removeFromStickyColumnReplayQueue(e.rows),this._stickyColumnsReplayTimeout||this._updatedStickyColumnsParamsToReplay.push(e)}_removeFromStickyColumnReplayQueue(e){let A=new Set(e);for(let i of this._updatedStickyColumnsParamsToReplay)i.rows=i.rows.filter(n=>!A.has(n));this._updatedStickyColumnsParamsToReplay=this._updatedStickyColumnsParamsToReplay.filter(i=>!!i.rows.length)}_updateCachedSizes(e){let A=!1;for(let i of e){let n=i.borderBoxSize?.length?{width:i.borderBoxSize[0].inlineSize,height:i.borderBoxSize[0].blockSize}:{width:i.contentRect.width,height:i.contentRect.height};n.width!==this._elemSizeCache.get(i.target)?.width&&EHA(i.target)&&(A=!0),this._elemSizeCache.set(i.target,n)}A&&this._updatedStickyColumnsParamsToReplay.length&&(this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._stickyColumnsReplayTimeout=setTimeout(()=>{if(!this._destroyed){for(let i of this._updatedStickyColumnsParamsToReplay)this.updateStickyColumns(i.rows,i.stickyStartStates,i.stickyEndStates,!0,!1);this._updatedStickyColumnsParamsToReplay=[],this._stickyColumnsReplayTimeout=null}},0))}};function EHA(t){return["cdk-cell","cdk-header-cell","cdk-footer-cell"].some(e=>t.classList.contains(e))}var Um=new yA("STICKY_POSITIONING_LISTENER");var IK=(()=>{class t{viewContainer=h(Ho);elementRef=h(ge);constructor(){let A=h(Zc);A._rowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","rowOutlet",""]]})}return t})(),dK=(()=>{class t{viewContainer=h(Ho);elementRef=h(ge);constructor(){let A=h(Zc);A._headerRowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","headerRowOutlet",""]]})}return t})(),BK=(()=>{class t{viewContainer=h(Ho);elementRef=h(ge);constructor(){let A=h(Zc);A._footerRowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","footerRowOutlet",""]]})}return t})(),EK=(()=>{class t{viewContainer=h(Ho);elementRef=h(ge);constructor(){let A=h(Zc);A._noDataRowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","noDataRowOutlet",""]]})}return t})(),QK=(()=>{class t{_differs=h(y1);_changeDetectorRef=h(mt);_elementRef=h(ge);_dir=h(xo,{optional:!0});_platform=h(Ii);_viewRepeater;_viewportRuler=h(Gs);_injector=h(ft);_virtualScrollViewport=h(OH,{optional:!0,host:!0});_positionListener=h(Um,{optional:!0})||h(Um,{optional:!0,skipSelf:!0});_document=h(Xt);_data;_renderedRange;_onDestroy=new $A;_renderRows;_renderChangeSubscription=null;_columnDefsByName=new Map;_rowDefs;_headerRowDefs;_footerRowDefs;_dataDiffer;_defaultRowDef=null;_customColumnDefs=new Set;_customRowDefs=new Set;_customHeaderRowDefs=new Set;_customFooterRowDefs=new Set;_customNoDataRow=null;_headerRowDefChanged=!0;_footerRowDefChanged=!0;_stickyColumnStylesNeedReset=!0;_forceRecalculateCellWidths=!0;_cachedRenderRowsMap=new Map;_isNativeHtmlTable;_stickyStyler;stickyCssClass="cdk-table-sticky";needsPositionStickyOnElement=!0;_isServer;_isShowingNoDataRow=!1;_hasAllOutlets=!1;_hasInitialized=!1;_headerRowStickyUpdates=new $A;_footerRowStickyUpdates=new $A;_disableVirtualScrolling=!1;_getCellRole(){if(this._cellRoleInternal===void 0){let A=this._elementRef.nativeElement.getAttribute("role");return A==="grid"||A==="treegrid"?"gridcell":"cell"}return this._cellRoleInternal}_cellRoleInternal=void 0;get trackBy(){return this._trackByFn}set trackBy(A){this._trackByFn=A}_trackByFn;get dataSource(){return this._dataSource}set dataSource(A){this._dataSource!==A&&(this._switchDataSource(A),this._changeDetectorRef.markForCheck())}_dataSource;_dataSourceChanges=new $A;_dataStream=new $A;get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(A){this._multiTemplateDataRows=A,this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}_multiTemplateDataRows=!1;get fixedLayout(){return this._virtualScrollEnabled()?!0:this._fixedLayout}set fixedLayout(A){this._fixedLayout=A,this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}_fixedLayout=!1;recycleRows=!1;contentChanged=new WA;viewChange=new Tt({start:0,end:Number.MAX_VALUE});_rowOutlet;_headerRowOutlet;_footerRowOutlet;_noDataRowOutlet;_contentColumnDefs;_contentRowDefs;_contentHeaderRowDefs;_contentFooterRowDefs;_noDataRow;constructor(){h(new Zs("role"),{optional:!0})||this._elementRef.nativeElement.setAttribute("role","table"),this._isServer=!this._platform.isBrowser,this._isNativeHtmlTable=this._elementRef.nativeElement.nodeName==="TABLE",this._dataDiffer=this._differs.find([]).create((i,n)=>this.trackBy?this.trackBy(n.dataIndex,n.data):n)}ngOnInit(){this._setupStickyStyler(),this._viewportRuler.change().pipe(Bt(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentInit(){this._viewRepeater=this.recycleRows||this._virtualScrollEnabled()?new j6:new C8,this._virtualScrollEnabled()&&this._setupVirtualScrolling(this._virtualScrollViewport),this._hasInitialized=!0}ngAfterContentChecked(){this._canRender()&&this._render()}ngOnDestroy(){this._stickyStyler?.destroy(),[this._rowOutlet?.viewContainer,this._headerRowOutlet?.viewContainer,this._footerRowOutlet?.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(A=>{A?.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._headerRowStickyUpdates.complete(),this._footerRowStickyUpdates.complete(),this._onDestroy.next(),this._onDestroy.complete(),B4(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();let A=this._dataDiffer.diff(this._renderRows);if(!A){this._updateNoDataRow(),this.contentChanged.next();return}let i=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(A,i,(n,o,a)=>this._getEmbeddedViewArgs(n.item,a),n=>n.item.data,n=>{n.operation===ac.INSERTED&&n.context&&this._renderCellTemplateForItem(n.record.item.rowDef,n.context)}),this._updateRowIndexContext(),A.forEachIdentityChange(n=>{let o=i.get(n.currentIndex);o.context.$implicit=n.item.data}),this._updateNoDataRow(),this.contentChanged.next(),this.updateStickyColumnStyles()}addColumnDef(A){this._customColumnDefs.add(A)}removeColumnDef(A){this._customColumnDefs.delete(A)}addRowDef(A){this._customRowDefs.add(A)}removeRowDef(A){this._customRowDefs.delete(A)}addHeaderRowDef(A){this._customHeaderRowDefs.add(A),this._headerRowDefChanged=!0}removeHeaderRowDef(A){this._customHeaderRowDefs.delete(A),this._headerRowDefChanged=!0}addFooterRowDef(A){this._customFooterRowDefs.add(A),this._footerRowDefChanged=!0}removeFooterRowDef(A){this._customFooterRowDefs.delete(A),this._footerRowDefChanged=!0}setNoDataRow(A){this._customNoDataRow=A}updateStickyHeaderRowStyles(){let A=this._getRenderedRows(this._headerRowOutlet);if(this._isNativeHtmlTable){let n=qsA(this._headerRowOutlet,"thead");n&&(n.style.display=A.length?"":"none")}let i=this._headerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(A,["top"]),this._stickyStyler.stickRows(A,i,"top"),this._headerRowDefs.forEach(n=>n.resetStickyChanged())}updateStickyFooterRowStyles(){let A=this._getRenderedRows(this._footerRowOutlet);if(this._isNativeHtmlTable){let n=qsA(this._footerRowOutlet,"tfoot");n&&(n.style.display=A.length?"":"none")}let i=this._footerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(A,["bottom"]),this._stickyStyler.stickRows(A,i,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,i),this._footerRowDefs.forEach(n=>n.resetStickyChanged())}updateStickyColumnStyles(){let A=this._getRenderedRows(this._headerRowOutlet),i=this._getRenderedRows(this._rowOutlet),n=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this.fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...A,...i,...n],["left","right"]),this._stickyColumnStylesNeedReset=!1),A.forEach((o,a)=>{this._addStickyColumnStyles([o],this._headerRowDefs[a])}),this._rowDefs.forEach(o=>{let a=[];for(let r=0;r{this._addStickyColumnStyles([o],this._footerRowDefs[a])}),Array.from(this._columnDefsByName.values()).forEach(o=>o.resetStickyChanged())}stickyColumnsUpdated(A){this._positionListener?.stickyColumnsUpdated(A)}stickyEndColumnsUpdated(A){this._positionListener?.stickyEndColumnsUpdated(A)}stickyHeaderRowsUpdated(A){this._headerRowStickyUpdates.next(A),this._positionListener?.stickyHeaderRowsUpdated(A)}stickyFooterRowsUpdated(A){this._footerRowStickyUpdates.next(A),this._positionListener?.stickyFooterRowsUpdated(A)}_outletAssigned(){!this._hasAllOutlets&&this._rowOutlet&&this._headerRowOutlet&&this._footerRowOutlet&&this._noDataRowOutlet&&(this._hasAllOutlets=!0,this._canRender()&&this._render())}_canRender(){return this._hasAllOutlets&&this._hasInitialized}_render(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;let i=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||i,this._forceRecalculateCellWidths=i,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}_getAllRenderRows(){if(!Array.isArray(this._data)||!this._renderedRange)return[];let A=[],i=Math.min(this._data.length,this._renderedRange.end),n=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let o=this._renderedRange.start;o{let r=n&&n.has(a)?n.get(a):[];if(r.length){let s=r.shift();return s.dataIndex=i,s}else return{data:A,rowDef:a,dataIndex:i}})}_cacheColumnDefs(){this._columnDefsByName.clear(),_7(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(i=>{this._columnDefsByName.has(i.name),this._columnDefsByName.set(i.name,i)})}_cacheRowDefs(){this._headerRowDefs=_7(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=_7(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=_7(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);let A=this._rowDefs.filter(i=>!i.when);!this.multiTemplateDataRows&&A.length>1,this._defaultRowDef=A[0]}_renderUpdatedColumns(){let A=(a,r)=>{let s=!!r.getColumnsDiff();return a||s},i=this._rowDefs.reduce(A,!1);i&&this._forceRenderDataRows();let n=this._headerRowDefs.reduce(A,!1);n&&this._forceRenderHeaderRows();let o=this._footerRowDefs.reduce(A,!1);return o&&this._forceRenderFooterRows(),i||n||o}_switchDataSource(A){this._data=[],B4(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),A||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet&&this._rowOutlet.viewContainer.clear()),this._dataSource=A}_observeRenderChanges(){if(!this.dataSource)return;let A;B4(this.dataSource)?A=this.dataSource.connect(this):mB(this.dataSource)?A=this.dataSource:Array.isArray(this.dataSource)&&(A=se(this.dataSource)),this._renderChangeSubscription=cr([A,this.viewChange]).pipe(Bt(this._onDestroy)).subscribe(([i,n])=>{this._data=i||[],this._renderedRange=n,this._dataStream.next(i),this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((A,i)=>this._renderRow(this._headerRowOutlet,A,i)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((A,i)=>this._renderRow(this._footerRowOutlet,A,i)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(A,i){let n=Array.from(i?.columns||[]).map(r=>{let s=this._columnDefsByName.get(r);return s}),o=n.map(r=>r.sticky),a=n.map(r=>r.stickyEnd);this._stickyStyler.updateStickyColumns(A,o,a,!this.fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(A){let i=[];for(let n=0;n!o.when||o.when(i,A));else{let o=this._rowDefs.find(a=>a.when&&a.when(i,A))||this._defaultRowDef;o&&n.push(o)}return n.length,n}_getEmbeddedViewArgs(A,i){let n=A.rowDef,o={$implicit:A.data};return{templateRef:n.template,context:o,index:i}}_renderRow(A,i,n,o={}){let a=A.viewContainer.createEmbeddedView(i.template,o,n);return this._renderCellTemplateForItem(i,o),a}_renderCellTemplateForItem(A,i){for(let n of this._getCellTemplates(A))EB.mostRecentCellOutlet&&EB.mostRecentCellOutlet._viewContainer.createEmbeddedView(n,i);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){let A=this._rowOutlet.viewContainer;for(let i=0,n=A.length;i{let n=this._columnDefsByName.get(i);return A.extractCellTemplate(n)})}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){let A=(i,n)=>i||n.hasStickyChanged();this._headerRowDefs.reduce(A,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(A,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(A,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){let A=this._dir?this._dir.value:"ltr",i=this._injector;this._stickyStyler=new sK(this._isNativeHtmlTable,this.stickyCssClass,this._platform.isBrowser,this.needsPositionStickyOnElement,A,this,i),(this._dir?this._dir.change:se()).pipe(Bt(this._onDestroy)).subscribe(n=>{this._stickyStyler.direction=n,this.updateStickyColumnStyles()})}_setupVirtualScrolling(A){let i=typeof requestAnimationFrame<"u"?uB:_b;this.viewChange.next({start:0,end:0}),A.renderedRangeStream.pipe(m1(0,i),Bt(this._onDestroy)).subscribe(this.viewChange),A.attach({dataStream:this._dataStream,measureRangeSize:(n,o)=>this._measureRangeSize(n,o)}),cr([A.renderedContentOffset,this._headerRowStickyUpdates]).pipe(Bt(this._onDestroy)).subscribe(([n,o])=>{if(!(!o.sizes||!o.offsets||!o.elements))for(let a=0;a{if(!(!o.sizes||!o.offsets||!o.elements))for(let a=0;a!i._table||i._table===this)}_updateNoDataRow(){let A=this._customNoDataRow||this._noDataRow;if(!A)return;let i=this._rowOutlet.viewContainer.length===0;if(i===this._isShowingNoDataRow)return;let n=this._noDataRowOutlet.viewContainer;if(i){let o=n.createEmbeddedView(A.templateRef),a=o.rootNodes[0];if(o.rootNodes.length===1&&a?.nodeType===this._document.ELEMENT_NODE){a.setAttribute("role","row"),a.classList.add(...A._contentClassNames);let r=a.querySelectorAll(A._cellSelector);for(let s=0;s=A.end||i!=="vertical")return 0;let n=this.viewChange.value,o=this._rowOutlet.viewContainer;A.startn.end;let a=A.start-n.start,r=A.end-A.start,s,g;for(let I=0;I-1;I--){let d=o.get(I+a);if(d&&d.rootNodes.length){g=d.rootNodes[d.rootNodes.length-1];break}}let l=s?.getBoundingClientRect?.(),C=g?.getBoundingClientRect?.();return l&&C?C.bottom-l.top:0}_virtualScrollEnabled(){return!this._disableVirtualScrolling&&this._virtualScrollViewport!=null}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(i,n,o){if(i&1&&ua(o,XsA,5)(o,Wh,5)(o,U7,5)(o,Jm,5)(o,lK,5),i&2){let a;ce(a=Ce())&&(n._noDataRow=a.first),ce(a=Ce())&&(n._contentColumnDefs=a),ce(a=Ce())&&(n._contentRowDefs=a),ce(a=Ce())&&(n._contentHeaderRowDefs=a),ce(a=Ce())&&(n._contentFooterRowDefs=a)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(i,n){i&2&&ae("cdk-table-fixed-layout",n.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:[2,"multiTemplateDataRows","multiTemplateDataRows",he],fixedLayout:[2,"fixedLayout","fixedLayout",he],recycleRows:[2,"recycleRows","recycleRows",he]},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[It([{provide:Zc,useExisting:t},{provide:Um,useValue:null}])],ngContentSelectors:CHA,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(i,n){i&1&&(Ht(cHA),He(0),He(1,1),V(2,IHA,1,0),V(3,dHA,7,0)(4,BHA,4,0)),i&2&&(p(2),W(n._isServer?2:-1),p(),W(n._isNativeHtmlTable?3:4))},dependencies:[dK,IK,EK,BK],styles:[`.cdk-table-fixed-layout{table-layout:fixed} +`],encapsulation:2})}return t})();function _7(t,e){return t.concat(Array.from(e))}function qsA(t,e){let A=e.toUpperCase(),i=t.viewContainer.element.nativeElement;for(;i;){let n=i.nodeType===1?i.nodeName:null;if(n===A)return i;if(n==="TABLE")break;i=i.parentNode}return null}var QHA=[[["caption"]],[["colgroup"],["col"]],"*"],hHA=["caption","colgroup, col","*"];function uHA(t,e){t&1&&He(0,2)}function fHA(t,e){t&1&&(m(0,"thead",0),on(1,1),w(),m(2,"tbody",2),on(3,3)(4,4),w(),m(5,"tfoot",0),on(6,5),w())}function mHA(t,e){t&1&&on(0,1)(1,3)(2,4)(3,5)}var $sA=(()=>{class t extends QK{stickyCssClass="mat-mdc-table-sticky";needsPositionStickyOnElement=!1;static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-mdc-table","mdc-data-table__table"],hostVars:2,hostBindings:function(i,n){i&2&&ae("mat-table-fixed-layout",n.fixedLayout)},exportAs:["matTable"],features:[It([{provide:QK,useExisting:t},{provide:Zc,useExisting:t},{provide:Um,useValue:null}]),dt],ngContentSelectors:hHA,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["role","rowgroup",1,"mdc-data-table__content"],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(i,n){i&1&&(Ht(QHA),He(0),He(1,1),V(2,uHA,1,0),V(3,fHA,7,0)(4,mHA,4,0)),i&2&&(p(2),W(n._isServer?2:-1),p(),W(n._isNativeHtmlTable?3:4))},dependencies:[dK,IK,EK,BK],styles:[`.mat-mdc-table-sticky{position:sticky !important}mat-table{display:block}mat-header-row{min-height:var(--mat-table-header-container-height, 56px)}mat-row{min-height:var(--mat-table-row-item-container-height, 52px)}mat-footer-row{min-height:var(--mat-table-footer-container-height, 52px)}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}.mat-mdc-table{min-width:100%;border:0;border-spacing:0;table-layout:auto;white-space:normal;background-color:var(--mat-table-background-color, var(--mat-sys-surface))}.mat-table-fixed-layout{table-layout:fixed}.mdc-data-table__cell{box-sizing:border-box;overflow:hidden;text-align:start;text-overflow:ellipsis}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 16px}.mat-mdc-header-row{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:var(--mat-table-header-container-height, 56px);color:var(--mat-table-header-headline-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-table-header-headline-font, var(--mat-sys-title-small-font, Roboto, sans-serif));line-height:var(--mat-table-header-headline-line-height, var(--mat-sys-title-small-line-height));font-size:var(--mat-table-header-headline-size, var(--mat-sys-title-small-size, 14px));font-weight:var(--mat-table-header-headline-weight, var(--mat-sys-title-small-weight, 500))}.mat-mdc-row{height:var(--mat-table-row-item-container-height, 52px);color:var(--mat-table-row-item-label-text-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)))}.mat-mdc-row,.mdc-data-table__content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-table-row-item-label-text-font, var(--mat-sys-body-medium-font, Roboto, sans-serif));line-height:var(--mat-table-row-item-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-table-row-item-label-text-size, var(--mat-sys-body-medium-size, 14px));font-weight:var(--mat-table-row-item-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-footer-row{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:var(--mat-table-footer-container-height, 52px);color:var(--mat-table-row-item-label-text-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-table-footer-supporting-text-font, var(--mat-sys-body-medium-font, Roboto, sans-serif));line-height:var(--mat-table-footer-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-table-footer-supporting-text-size, var(--mat-sys-body-medium-size, 14px));font-weight:var(--mat-table-footer-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mat-table-footer-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mat-mdc-header-cell{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, 0.12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid;letter-spacing:var(--mat-table-header-headline-tracking, var(--mat-sys-title-small-tracking));font-weight:inherit;line-height:inherit;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;outline:none;text-align:start}.mdc-data-table__row:last-child>.mat-mdc-header-cell{border-bottom:none}.mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, 0.12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid;letter-spacing:var(--mat-table-row-item-label-text-tracking, var(--mat-sys-body-medium-tracking));line-height:inherit}.mdc-data-table__row:last-child>.mat-mdc-cell{border-bottom:none}.mat-mdc-footer-cell{letter-spacing:var(--mat-table-row-item-label-text-tracking, var(--mat-sys-body-medium-tracking))}mat-row.mat-mdc-row,mat-header-row.mat-mdc-header-row,mat-footer-row.mat-mdc-footer-row{border-bottom:none}.mat-mdc-table tbody,.mat-mdc-table tfoot,.mat-mdc-table thead,.mat-mdc-cell,.mat-mdc-footer-cell,.mat-mdc-header-row,.mat-mdc-row,.mat-mdc-footer-row,.mat-mdc-table .mat-mdc-header-cell{background:inherit}.mat-mdc-table mat-header-row.mat-mdc-header-row,.mat-mdc-table mat-row.mat-mdc-row,.mat-mdc-table mat-footer-row.mat-mdc-footer-cell{height:unset}mat-header-cell.mat-mdc-header-cell,mat-cell.mat-mdc-cell,mat-footer-cell.mat-mdc-footer-cell{align-self:stretch} +`],encapsulation:2})}return t})(),AgA=(()=>{class t extends G7{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matCellDef",""]],features:[It([{provide:G7,useExisting:t}]),dt]})}return t})(),egA=(()=>{class t extends K7{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matHeaderCellDef",""]],features:[It([{provide:K7,useExisting:t}]),dt]})}return t})();var tgA=(()=>{class t extends Wh{get name(){return this._name}set name(A){this._setNameInput(A)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[It([{provide:Wh,useExisting:t},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),dt]})}return t})(),igA=(()=>{class t extends WsA{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[dt]})}return t})();var ngA=(()=>{class t extends ZsA{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[dt]})}return t})();var ogA=(()=>{class t extends Jm{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",he]},features:[It([{provide:Jm,useExisting:t}]),dt]})}return t})();var agA=(()=>{class t extends U7{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[It([{provide:U7,useExisting:t}]),dt]})}return t})(),rgA=(()=>{class t extends cK{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[It([{provide:cK,useExisting:t}]),dt],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})();var sgA=(()=>{class t extends CK{static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[It([{provide:CK,useExisting:t}]),dt],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})();var pHA=9007199254740991,Ym=class extends d4{_data;_renderData=new Tt([]);_filter=new Tt("");_internalPageChanges=new $A;_renderChangesSubscription=null;filteredData;get data(){return this._data.value}set data(e){e=Array.isArray(e)?e:[],this._data.next(e),this._renderChangesSubscription||this._filterData(e)}get filter(){return this._filter.value}set filter(e){this._filter.next(e),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(e){this._sort=e,this._updateChangeSubscription()}_sort;get paginator(){return this._paginator}set paginator(e){this._paginator=e,this._updateChangeSubscription()}_paginator;sortingDataAccessor=(e,A)=>{let i=e[A];if(vp(i)){let n=Number(i);return n{let i=A.active,n=A.direction;return!i||n==""?e:e.sort((o,a)=>{let r=this.sortingDataAccessor(o,i),s=this.sortingDataAccessor(a,i),g=typeof r,l=typeof s;g!==l&&(g==="number"&&(r+=""),l==="number"&&(s+=""));let C=0;return r!=null&&s!=null?r>s?C=1:r{let i=A.trim().toLowerCase();return Object.values(e).some(n=>`${n}`.toLowerCase().includes(i))};constructor(e=[]){super(),this._data=new Tt(e),this._updateChangeSubscription()}_updateChangeSubscription(){let e=this._sort?hi(this._sort.sortChange,this._sort.initialized):se(null),A=this._paginator?hi(this._paginator.page,this._internalPageChanges,this._paginator.initialized):se(null),i=this._data,n=cr([i,this._filter]).pipe(fe(([r])=>this._filterData(r))),o=cr([n,e]).pipe(fe(([r])=>this._orderData(r))),a=cr([o,A]).pipe(fe(([r])=>this._pageData(r)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=a.subscribe(r=>this._renderData.next(r))}_filterData(e){return this.filteredData=this.filter==null||this.filter===""?e:e.filter(A=>this.filterPredicate(A,this.filter)),this.paginator&&this._updatePaginator(this.filteredData.length),this.filteredData}_orderData(e){return this.sort?this.sortData(e.slice(),this.sort):e}_pageData(e){if(!this.paginator)return e;let A=this.paginator.pageIndex*this.paginator.pageSize;return e.slice(A,A+this.paginator.pageSize)}_updatePaginator(e){Promise.resolve().then(()=>{let A=this.paginator;if(A&&(A.length=e,A.pageIndex>0)){let i=Math.ceil(A.length/A.pageSize)-1||0,n=Math.min(A.pageIndex,i);n!==A.pageIndex&&(A.pageIndex=n,this._internalPageChanges.next())}})}connect(){return this._renderChangesSubscription||this._updateChangeSubscription(),this._renderData}disconnect(){this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=null}};var ggA=[{metricName:"tool_trajectory_avg_score",threshold:1},{metricName:"response_match_score",threshold:.7}];var J7="0123456789abcdef",Y7=class t{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new t(e)}static fromFieldsV7(e,A,i,n){if(!Number.isInteger(e)||!Number.isInteger(A)||!Number.isInteger(i)||!Number.isInteger(n)||e<0||A<0||i<0||n<0||e>0xffffffffffff||A>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=e/2**40,o[1]=e/2**32,o[2]=e/2**24,o[3]=e/2**16,o[4]=e/2**8,o[5]=e,o[6]=112|A>>>8,o[7]=A,o[8]=128|i>>>24,o[9]=i>>>16,o[10]=i>>>8,o[11]=i,o[12]=n>>>24,o[13]=n>>>16,o[14]=n>>>8,o[15]=n,new t(o)}static parse(e){var A,i,n,o;let a;switch(e.length){case 32:a=(A=/^[0-9a-f]{32}$/i.exec(e))===null||A===void 0?void 0:A[0];break;case 36:a=(i=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||i===void 0?void 0:i.slice(1,6).join("");break;case 38:a=(n=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||n===void 0?void 0:n.slice(1,6).join("");break;case 45:a=(o=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||o===void 0?void 0:o.slice(1,6).join("");break;default:break}if(a){let r=new Uint8Array(16);for(let s=0;s<16;s+=4){let g=parseInt(a.substring(2*s,2*s+8),16);r[s+0]=g>>>24,r[s+1]=g>>>16,r[s+2]=g>>>8,r[s+3]=g}return new t(r)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let A=0;A>>4),e+=J7.charAt(this.bytes[A]&15),(A===3||A===5||A===7||A===9)&&(e+="-");return e}toHex(){let e="";for(let A=0;A>>4),e+=J7.charAt(this.bytes[A]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(A=>A===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(A=>A===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new t(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let A=0;A<16;A++){let i=this.bytes[A]-e.bytes[A];if(i!==0)return Math.sign(i)}return 0}},hK=class{constructor(e){this.timestamp_biased=0,this.counter=0,this.random=e??wHA()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,A){let i=this.generateOrAbortCore(e,A);return i===void 0&&(this.timestamp_biased=0,i=this.generateOrAbortCore(e,A)),i}generateOrAbortCore(e,A){if(!Number.isInteger(e)||e<0||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit unsigned integer");if(A<0||A>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e++,e>this.timestamp_biased)this.timestamp_biased=e,this.resetCounter();else if(e+A>=this.timestamp_biased)this.counter++,this.counter>4398046511103&&(this.timestamp_biased++,this.resetCounter());else return;return Y7.fromFieldsV7(this.timestamp_biased-1,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,Y7.ofInner(e)}},wHA=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new uK;if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},uK=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},lgA;var T7=()=>DHA().toString(),DHA=()=>(lgA||(lgA=new hK)).generateV4();var H7=class t{evalService=h(Q0);data=h(ka);dialogRef=h(Po);newCaseId="case"+T7().slice(0,6);constructor(){}createNewEvalCase(){!this.newCaseId||this.newCaseId==""?alert("Cannot create eval set with empty id!"):this.evalService.addCurrentSession(this.data.appName,this.data.evalSetId,this.newCaseId,this.data.sessionId,this.data.userId).subscribe(e=>{this.dialogRef.close(!0)})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-add-eval-session-dialog"]],decls:11,vars:1,consts:[["mat-dialog-title",""],[2,"padding-left","20px","padding-right","24px"],["matInput","",3,"ngModelChange","keydown.enter","ngModel"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1,"Add Current Session To Eval Set"),w(),m(2,"mat-dialog-content"),K(3,` Please enter the eval case name +`),w(),m(4,"mat-form-field",1)(5,"input",2),ho("ngModelChange",function(o){return ao(i.newCaseId,o)||(i.newCaseId=o),o}),eA("keydown.enter",function(){return i.createNewEvalCase()}),w()(),m(6,"mat-dialog-actions",3)(7,"button",4),K(8,"Cancel"),w(),m(9,"button",5),eA("click",function(){return i.createNewEvalCase()}),K(10,"Create"),w()()),A&2&&(p(5),Qo("ngModel",i.newCaseId))},dependencies:[Ua,yr,ta,Ka,Nn,uo,fo,ba,or,Fn,K2],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-dialog-content[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}button[mat-button][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;caret-color:var(--mdc-dialog-supporting-text-color)!important;background-color:transparent!important}html.darkmode [_nghost-%COMP%] .mat-mdc-text-field-wrapper{background-color:#3f3f42}"]})};var yHA={allEvalSetsHeader:"All eval sets",createNewEvalSetTooltip:"Create new evaluation set",createNewEvalSetTitle:"Create New Evaluation Set",evalSetDescription:"An evaluation set is a curated collection of evaluation cases, where each case includes input-output examples for assessing agent performance.",createEvalSetButton:"Create Evaluation Set",runEvaluationButton:"Run Evaluation",viewEvalRunHistoryTooltip:"View eval run history",caseIdHeader:"Case ID",resultHeader:"Result",viewEvalRunResultTooltip:"View eval run result",passStatus:"Pass",failStatus:"Fail",passStatusCaps:"PASS",failStatusCaps:"FAIL",passedSuffix:"Passed",failedSuffix:"Failed",addSessionToSetButtonPrefix:"Add current session to"},cgA=new yA("Eval Tab Messages",{factory:()=>yHA});var z7=class t{evalService=h(Q0);data=h(ka);dialogRef=h(Po);newSetId="evalset"+T7().slice(0,6);constructor(){}createNewEvalSet(){!this.newSetId||this.newSetId==""?alert("Cannot create eval set with empty id!"):this.evalService.createNewEvalSet(this.data.appName,this.newSetId).subscribe(e=>{this.dialogRef.close(!0)})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-new-eval-set-dialog-component"]],decls:11,vars:1,consts:[["mat-dialog-title",""],[2,"padding-left","20px","padding-right","24px"],["matInput","",3,"ngModelChange","keydown.enter","ngModel"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1,"Create New Eval Set"),w(),m(2,"mat-dialog-content"),K(3,` Please enter the eval set name +`),w(),m(4,"mat-form-field",1)(5,"input",2),ho("ngModelChange",function(o){return ao(i.newSetId,o)||(i.newSetId=o),o}),eA("keydown.enter",function(){return i.createNewEvalSet()}),w()(),m(6,"mat-dialog-actions",3)(7,"button",4),K(8,"Cancel"),w(),m(9,"button",5),eA("click",function(){return i.createNewEvalSet()}),K(10,"Create"),w()()),A&2&&(p(5),Qo("ngModel",i.newSetId))},dependencies:[Ua,yr,ta,Ka,Nn,uo,fo,ba,or,Fn,K2],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-dialog-content[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}button[mat-button][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;caret-color:var(--mdc-dialog-supporting-text-color)!important;background-color:transparent!important}[_nghost-%COMP%] .mat-mdc-text-field-wrapper{background-color:#3f3f42}"]})};var vHA=["knob"],bHA=["valueIndicatorContainer"];function MHA(t,e){if(t&1&&(m(0,"div",2,1)(2,"div",5)(3,"span",6),K(4),w()()()),t&2){let A=v();p(4),qA(A.valueIndicatorText)}}var kHA=["trackActive"],SHA=["*"];function xHA(t,e){if(t&1&&GA(0,"div"),t&2){let A=e.$implicit,i=e.$index,n=v(3);zo(A===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),wn("transform",n._calcTickMarkTransform(i))}}function RHA(t,e){if(t&1&&Ut(0,xHA,1,4,"div",8,wB),t&2){let A=v(2);Jt(A._tickMarks)}}function NHA(t,e){if(t&1&&(m(0,"div",6,1),V(2,RHA,2,0),w()),t&2){let A=v();p(2),W(A._cachedWidth?2:-1)}}function FHA(t,e){if(t&1&&GA(0,"mat-slider-visual-thumb",7),t&2){let A=v();AA("discrete",A.discrete)("thumbPosition",1)("valueIndicatorText",A.startValueIndicatorText)}}var pi=(function(t){return t[t.START=1]="START",t[t.END=2]="END",t})(pi||{}),Zh=(function(t){return t[t.ACTIVE=0]="ACTIVE",t[t.INACTIVE=1]="INACTIVE",t})(Zh||{}),fK=new yA("_MatSlider"),CgA=new yA("_MatSliderThumb"),_HA=new yA("_MatSliderRangeThumb"),IgA=new yA("_MatSliderVisualThumb");var LHA=(()=>{class t{_cdr=h(mt);_ngZone=h(Oe);_slider=h(fK);_renderer=h(Fi);_listenerCleanups;discrete=!1;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=!1;_isActive=!1;_isValueIndicatorVisible=!1;_hostElement=h(ge).nativeElement;_platform=h(Ii);constructor(){}ngAfterViewInit(){let A=this._slider._getInput(this.thumbPosition);A&&(this._ripple.radius=24,this._sliderInput=A,this._sliderInputEl=this._sliderInput._hostElement,this._ngZone.runOutsideAngular(()=>{let i=this._sliderInputEl,n=this._renderer;this._listenerCleanups=[n.listen(i,"pointermove",this._onPointerMove),n.listen(i,"pointerdown",this._onDragStart),n.listen(i,"pointerup",this._onDragEnd),n.listen(i,"pointerleave",this._onMouseLeave),n.listen(i,"focus",this._onFocus),n.listen(i,"blur",this._onBlur)]}))}ngOnDestroy(){this._listenerCleanups?.forEach(A=>A())}_onPointerMove=A=>{if(this._sliderInput._isFocused)return;let i=this._hostElement.getBoundingClientRect(),n=this._slider._isCursorOnSliderThumb(A,i);this._isHovered=n,n?this._showHoverRipple():this._hideRipple(this._hoverRippleRef)};_onMouseLeave=()=>{this._isHovered=!1,this._hideRipple(this._hoverRippleRef)};_onFocus=()=>{this._hideRipple(this._hoverRippleRef),this._showFocusRipple(),this._hostElement.classList.add("mdc-slider__thumb--focused")};_onBlur=()=>{this._isActive||this._hideRipple(this._focusRippleRef),this._isHovered&&this._showHoverRipple(),this._hostElement.classList.remove("mdc-slider__thumb--focused")};_onDragStart=A=>{A.button===0&&(this._isActive=!0,this._showActiveRipple())};_onDragEnd=()=>{this._isActive=!1,this._hideRipple(this._activeRippleRef),this._sliderInput._isFocused||this._hideRipple(this._focusRippleRef),this._platform.SAFARI&&this._showHoverRipple()};_showHoverRipple(){this._isShowingRipple(this._hoverRippleRef)||(this._hoverRippleRef=this._showRipple({enterDuration:0,exitDuration:0}),this._hoverRippleRef?.element.classList.add("mat-mdc-slider-hover-ripple"))}_showFocusRipple(){this._isShowingRipple(this._focusRippleRef)||(this._focusRippleRef=this._showRipple({enterDuration:0,exitDuration:0},!0),this._focusRippleRef?.element.classList.add("mat-mdc-slider-focus-ripple"))}_showActiveRipple(){this._isShowingRipple(this._activeRippleRef)||(this._activeRippleRef=this._showRipple({enterDuration:225,exitDuration:400}),this._activeRippleRef?.element.classList.add("mat-mdc-slider-active-ripple"))}_isShowingRipple(A){return A?.state===Ns.FADING_IN||A?.state===Ns.VISIBLE}_showRipple(A,i){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===pi.START?pi.END:pi.START)._showValueIndicator(),!(this._slider._globalRippleOptions?.disabled&&!i)))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:A,centered:!0,persistent:!0})}_hideRipple(A){if(A?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();let i=this._getSibling();i._isShowingAnyRipple()||(this._hideValueIndicator(),i._hideValueIndicator())}_showValueIndicator(){this._hostElement.classList.add("mdc-slider__thumb--with-indicator")}_hideValueIndicator(){this._hostElement.classList.remove("mdc-slider__thumb--with-indicator")}_getSibling(){return this._slider._getThumb(this.thumbPosition===pi.START?pi.END:pi.START)}_getValueIndicatorContainer(){return this._valueIndicatorContainer?.nativeElement}_getKnob(){return this._knob.nativeElement}_isShowingAnyRipple(){return this._isShowingRipple(this._hoverRippleRef)||this._isShowingRipple(this._focusRippleRef)||this._isShowingRipple(this._activeRippleRef)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(i,n){if(i&1&&ai(ig,5)(vHA,5)(bHA,5),i&2){let o;ce(o=Ce())&&(n._ripple=o.first),ce(o=Ce())&&(n._knob=o.first),ce(o=Ce())&&(n._valueIndicatorContainer=o.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[It([{provide:IgA,useExisting:t}])],decls:4,vars:2,consts:[["knob",""],["valueIndicatorContainer",""],[1,"mdc-slider__value-indicator-container"],[1,"mdc-slider__thumb-knob"],["matRipple","",1,"mat-focus-indicator",3,"matRippleDisabled"],[1,"mdc-slider__value-indicator"],[1,"mdc-slider__value-indicator-text"]],template:function(i,n){i&1&&(V(0,MHA,5,1,"div",2),GA(1,"div",3,0)(3,"div",4)),i&2&&(W(n.discrete?0:-1),p(3),AA("matRippleDisabled",!0))},dependencies:[ig],styles:[`.mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}.mat-mdc-slider .mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive{position:absolute;left:2px} +`],encapsulation:2,changeDetection:0})}return t})(),dgA=(()=>{class t{_ngZone=h(Oe);_cdr=h(mt);_elementRef=h(ge);_dir=h(xo,{optional:!0});_globalRippleOptions=h(k2,{optional:!0});_trackActive;_thumbs;_input;_inputs;get disabled(){return this._disabled}set disabled(A){this._disabled=A;let i=this._getInput(pi.END),n=this._getInput(pi.START);i&&(i.disabled=this._disabled),n&&(n.disabled=this._disabled)}_disabled=!1;get discrete(){return this._discrete}set discrete(A){this._discrete=A,this._updateValueIndicatorUIs()}_discrete=!1;get showTickMarks(){return this._showTickMarks}set showTickMarks(A){this._showTickMarks=A,this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI())}_showTickMarks=!1;get min(){return this._min}set min(A){let i=A==null||isNaN(A)?this._min:A;this._min!==i&&this._updateMin(i)}_min=0;color;disableRipple=!1;_updateMin(A){let i=this._min;this._min=A,this._isRange?this._updateMinRange({old:i,new:A}):this._updateMinNonRange(A),this._onMinMaxOrStepChange()}_updateMinRange(A){let i=this._getInput(pi.END),n=this._getInput(pi.START),o=i.value,a=n.value;n.min=A.new,i.min=Math.max(A.new,n.value),n.max=Math.min(i.max,i.value),n._updateWidthInactive(),i._updateWidthInactive(),A.newA.old?this._onTranslateXChangeBySideEffect(n,i):this._onTranslateXChangeBySideEffect(i,n),o!==i.value&&this._onValueChange(i),a!==n.value&&this._onValueChange(n)}_updateMaxNonRange(A){let i=this._getInput(pi.END);if(i){let n=i.value;i.max=A,i._updateThumbUIByValue(),this._updateTrackUI(i),n!==i.value&&this._onValueChange(i)}}get step(){return this._step}set step(A){let i=isNaN(A)?this._step:A;this._step!==i&&this._updateStep(i)}_step=1;_updateStep(A){this._step=A,this._isRange?this._updateStepRange():this._updateStepNonRange(),this._onMinMaxOrStepChange()}_updateStepRange(){let A=this._getInput(pi.END),i=this._getInput(pi.START),n=A.value,o=i.value,a=i.value;A.min=this._min,i.max=this._max,A.step=this._step,i.step=this._step,this._platform.SAFARI&&(A.value=A.value,i.value=i.value),A.min=Math.max(this._min,i.value),i.max=Math.min(this._max,A.value),i._updateWidthInactive(),A._updateWidthInactive(),A.value`${A}`;_tickMarks;_noopAnimations=qi();_dirChangeSubscription;_resizeObserver=null;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=!1;_isRtl=!1;_hasViewInitialized=!1;_tickMarkTrackWidth=0;_hasAnimation=!1;_resizeTimer=null;_platform=h(Ii);constructor(){h(Xn).load(Ir),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>this._onDirChange()),this._isRtl=this._dir.value==="rtl")}_knobRadius=8;_inputPadding;ngAfterViewInit(){this._platform.isBrowser&&this._updateDimensions();let A=this._getInput(pi.END),i=this._getInput(pi.START);this._isRange=!!A&&!!i,this._cdr.detectChanges();let n=this._getThumb(pi.END);this._rippleRadius=n._ripple.radius,this._inputPadding=this._rippleRadius-this._knobRadius,this._isRange?this._initUIRange(A,i):this._initUINonRange(A),this._updateTrackUI(A),this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._observeHostResize(),this._cdr.detectChanges()}_initUINonRange(A){A.initProps(),A.initUI(),this._updateValueIndicatorUI(A),this._hasViewInitialized=!0,A._updateThumbUIByValue()}_initUIRange(A,i){A.initProps(),A.initUI(),i.initProps(),i.initUI(),A._updateMinMax(),i._updateMinMax(),A._updateStaticStyles(),i._updateStaticStyles(),this._updateValueIndicatorUIs(),this._hasViewInitialized=!0,A._updateThumbUIByValue(),i._updateThumbUIByValue()}ngOnDestroy(){this._dirChangeSubscription?.unsubscribe(),this._resizeObserver?.disconnect(),this._resizeObserver=null}_onDirChange(){this._isRtl=this._dir?.value==="rtl",this._isRange?this._onDirChangeRange():this._onDirChangeNonRange(),this._updateTickMarkUI()}_onDirChangeRange(){let A=this._getInput(pi.END),i=this._getInput(pi.START);A._setIsLeftThumb(),i._setIsLeftThumb(),A.translateX=A._calcTranslateXByValue(),i.translateX=i._calcTranslateXByValue(),A._updateStaticStyles(),i._updateStaticStyles(),A._updateWidthInactive(),i._updateWidthInactive(),A._updateThumbUIByValue(),i._updateThumbUIByValue()}_onDirChangeNonRange(){this._getInput(pi.END)._updateThumbUIByValue()}_observeHostResize(){typeof ResizeObserver>"u"||!ResizeObserver||this._ngZone.runOutsideAngular(()=>{this._resizeObserver=new ResizeObserver(()=>{this._isActive()||(this._resizeTimer&&clearTimeout(this._resizeTimer),this._onResize())}),this._resizeObserver.observe(this._elementRef.nativeElement)})}_isActive(){return this._getThumb(pi.START)._isActive||this._getThumb(pi.END)._isActive}_getValue(A=pi.END){let i=this._getInput(A);return i?i.value:this.min}_skipUpdate(){return!!(this._getInput(pi.START)?._skipUIUpdate||this._getInput(pi.END)?._skipUIUpdate)}_updateDimensions(){this._cachedWidth=this._elementRef.nativeElement.offsetWidth,this._cachedLeft=this._elementRef.nativeElement.getBoundingClientRect().left}_setTrackActiveStyles(A){let i=this._trackActive.nativeElement.style;i.left=A.left,i.right=A.right,i.transformOrigin=A.transformOrigin,i.transform=A.transform}_calcTickMarkTransform(A){let i=A*(this._tickMarkTrackWidth/(this._tickMarks.length-1));return`translateX(${this._isRtl?this._cachedWidth-6-i:i}px)`}_onTranslateXChange(A){this._hasViewInitialized&&(this._updateThumbUI(A),this._updateTrackUI(A),this._updateOverlappingThumbUI(A))}_onTranslateXChangeBySideEffect(A,i){this._hasViewInitialized&&(A._updateThumbUIByValue(),i._updateThumbUIByValue())}_onValueChange(A){this._hasViewInitialized&&(this._updateValueIndicatorUI(A),this._updateTickMarkUI(),this._cdr.detectChanges())}_onMinMaxOrStepChange(){this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.markForCheck())}_onResize(){if(this._hasViewInitialized){if(this._updateDimensions(),this._isRange){let A=this._getInput(pi.END),i=this._getInput(pi.START);A._updateThumbUIByValue(),i._updateThumbUIByValue(),A._updateStaticStyles(),i._updateStaticStyles(),A._updateMinMax(),i._updateMinMax(),A._updateWidthInactive(),i._updateWidthInactive()}else{let A=this._getInput(pi.END);A&&A._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_thumbsOverlap=!1;_areThumbsOverlapping(){let A=this._getInput(pi.START),i=this._getInput(pi.END);return!A||!i?!1:i.translateX-A.translateX<20}_updateOverlappingThumbClassNames(A){let i=A.getSibling(),n=this._getThumb(A.thumbPosition);this._getThumb(i.thumbPosition)._hostElement.classList.remove("mdc-slider__thumb--top"),n._hostElement.classList.toggle("mdc-slider__thumb--top",this._thumbsOverlap)}_updateOverlappingThumbUI(A){!this._isRange||this._skipUpdate()||this._thumbsOverlap!==this._areThumbsOverlapping()&&(this._thumbsOverlap=!this._thumbsOverlap,this._updateOverlappingThumbClassNames(A))}_updateThumbUI(A){if(this._skipUpdate())return;let i=this._getThumb(A.thumbPosition===pi.END?pi.END:pi.START);i._hostElement.style.transform=`translateX(${A.translateX}px)`}_updateValueIndicatorUI(A){if(this._skipUpdate())return;let i=this.displayWith(A.value);if(this._hasViewInitialized?A._valuetext.set(i):A._hostElement.setAttribute("aria-valuetext",i),this.discrete){A.thumbPosition===pi.START?this.startValueIndicatorText=i:this.endValueIndicatorText=i;let n=this._getThumb(A.thumbPosition);i.length<3?n._hostElement.classList.add("mdc-slider__thumb--short-value"):n._hostElement.classList.remove("mdc-slider__thumb--short-value")}}_updateValueIndicatorUIs(){let A=this._getInput(pi.END),i=this._getInput(pi.START);A&&this._updateValueIndicatorUI(A),i&&this._updateValueIndicatorUI(i)}_updateTickMarkTrackUI(){if(!this.showTickMarks||this._skipUpdate())return;let A=this._step&&this._step>0?this._step:1,n=(Math.floor(this.max/A)*A-this.min)/(this.max-this.min);this._tickMarkTrackWidth=(this._cachedWidth-6)*n}_updateTrackUI(A){this._skipUpdate()||(this._isRange?this._updateTrackUIRange(A):this._updateTrackUINonRange(A))}_updateTrackUIRange(A){let i=A.getSibling();if(!i||!this._cachedWidth)return;let n=Math.abs(i.translateX-A.translateX)/this._cachedWidth;A._isLeftThumb&&this._cachedWidth?this._setTrackActiveStyles({left:"auto",right:`${this._cachedWidth-i.translateX}px`,transformOrigin:"right",transform:`scaleX(${n})`}):this._setTrackActiveStyles({left:`${i.translateX}px`,right:"auto",transformOrigin:"left",transform:`scaleX(${n})`})}_updateTrackUINonRange(A){this._isRtl?this._setTrackActiveStyles({left:"auto",right:"0px",transformOrigin:"right",transform:`scaleX(${1-A.fillPercentage})`}):this._setTrackActiveStyles({left:"0px",right:"auto",transformOrigin:"left",transform:`scaleX(${A.fillPercentage})`})}_updateTickMarkUI(){if(!this.showTickMarks||this.step===void 0||this.min===void 0||this.max===void 0)return;let A=this.step>0?this.step:1;this._isRange?this._updateTickMarkUIRange(A):this._updateTickMarkUINonRange(A)}_updateTickMarkUINonRange(A){let i=this._getValue(),n=Math.max(Math.round((i-this.min)/A),0)+1,o=Math.max(Math.round((this.max-i)/A),0)-1;this._isRtl?n++:o++,this._tickMarks=Array(n).fill(Zh.ACTIVE).concat(Array(o).fill(Zh.INACTIVE))}_updateTickMarkUIRange(A){let i=this._getValue(),n=this._getValue(pi.START),o=Math.max(Math.round((n-this.min)/A),0),a=Math.max(Math.round((i-n)/A)+1,0),r=Math.max(Math.round((this.max-i)/A),0);this._tickMarks=Array(o).fill(Zh.INACTIVE).concat(Array(a).fill(Zh.ACTIVE),Array(r).fill(Zh.INACTIVE))}_getInput(A){if(A===pi.END&&this._input)return this._input;if(this._inputs?.length)return A===pi.START?this._inputs.first:this._inputs.last}_getThumb(A){return A===pi.END?this._thumbs?.last:this._thumbs?.first}_setTransition(A){this._hasAnimation=!this._platform.IOS&&A&&!this._noopAnimations,this._elementRef.nativeElement.classList.toggle("mat-mdc-slider-with-animation",this._hasAnimation)}_isCursorOnSliderThumb(A,i){let n=i.width/2,o=i.x+n,a=i.y+n,r=A.clientX-o,s=A.clientY-a;return Math.pow(r,2)+Math.pow(s,2)mK),multi:!0};var mK=(()=>{class t{_ngZone=h(Oe);_elementRef=h(ge);_cdr=h(mt);_slider=h(fK);_platform=h(Ii);_listenerCleanups;get value(){return en(this._hostElement.value,0)}set value(A){A===null&&(A=this._getDefaultValue()),A=isNaN(A)?0:A;let i=A+"";if(!this._hasSetInitialValue){this._initialValue=i;return}this._isActive||this._setValue(i)}_setValue(A){this._hostElement.value=A,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges(),this._slider._cdr.markForCheck()}valueChange=new WA;dragStart=new WA;dragEnd=new WA;get translateX(){return this._slider.min>=this._slider.max?(this._translateX=this._tickMarkOffset,this._translateX):(this._translateX===void 0&&(this._translateX=this._calcTranslateXByValue()),this._translateX)}set translateX(A){this._translateX=A}_translateX;thumbPosition=pi.END;get min(){return en(this._hostElement.min,0)}set min(A){this._hostElement.min=A+"",this._cdr.detectChanges()}get max(){return en(this._hostElement.max,0)}set max(A){this._hostElement.max=A+"",this._cdr.detectChanges()}get step(){return en(this._hostElement.step,0)}set step(A){this._hostElement.step=A+"",this._cdr.detectChanges()}get disabled(){return he(this._hostElement.disabled)}set disabled(A){this._hostElement.disabled=A,this._cdr.detectChanges(),this._slider.disabled!==this.disabled&&(this._slider.disabled=this.disabled)}get percentage(){return this._slider.min>=this._slider.max?this._slider._isRtl?1:0:(this.value-this._slider.min)/(this._slider.max-this._slider.min)}get fillPercentage(){return this._slider._cachedWidth?this._translateX===0?0:this.translateX/this._slider._cachedWidth:this._slider._isRtl?1:0}_hostElement=this._elementRef.nativeElement;_valuetext=jA("");_knobRadius=8;_tickMarkOffset=3;_isActive=!1;_isFocused=!1;_setIsFocused(A){this._isFocused=A}_hasSetInitialValue=!1;_initialValue;_formControl;_destroyed=new $A;_skipUIUpdate=!1;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=!1;constructor(){let A=h(Fi);this._ngZone.runOutsideAngular(()=>{this._listenerCleanups=[A.listen(this._hostElement,"pointerdown",this._onPointerDown.bind(this)),A.listen(this._hostElement,"pointermove",this._onPointerMove.bind(this)),A.listen(this._hostElement,"pointerup",this._onPointerUp.bind(this))]})}ngOnDestroy(){this._listenerCleanups.forEach(A=>A()),this._destroyed.next(),this._destroyed.complete(),this.dragStart.complete(),this.dragEnd.complete()}initProps(){this._updateWidthInactive(),this.disabled!==this._slider.disabled&&(this._slider.disabled=!0),this.step=this._slider.step,this.min=this._slider.min,this.max=this._slider.max,this._initValue()}initUI(){this._updateThumbUIByValue()}_initValue(){this._hasSetInitialValue=!0,this._initialValue===void 0?this.value=this._getDefaultValue():(this._hostElement.value=this._initialValue,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges())}_getDefaultValue(){return this.min}_onBlur(){this._setIsFocused(!1),this._onTouchedFn()}_onFocus(){this._slider._setTransition(!1),this._slider._updateTrackUI(this),this._setIsFocused(!0)}_onChange(){this.valueChange.emit(this.value),this._isActive&&this._updateThumbUIByValue({withAnimation:!0})}_onInput(){this._onChangeFn?.(this.value),(this._slider.step||!this._isActive)&&this._updateThumbUIByValue({withAnimation:!0}),this._slider._onValueChange(this)}_onNgControlValueChange(){(!this._isActive||!this._isFocused)&&(this._slider._onValueChange(this),this._updateThumbUIByValue()),this._slider.disabled=this._formControl.disabled}_onPointerDown(A){if(!(this.disabled||A.button!==0)){if(this._platform.IOS){let i=this._slider._isCursorOnSliderThumb(A,this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());this._isActive=i,this._updateWidthActive(),this._slider._updateDimensions();return}this._isActive=!0,this._setIsFocused(!0),this._updateWidthActive(),this._slider._updateDimensions(),this._slider.step||this._updateThumbUIByPointerEvent(A,{withAnimation:!0}),this.disabled||(this._handleValueCorrection(A),this.dragStart.emit({source:this,parent:this._slider,value:this.value}))}}_handleValueCorrection(A){this._skipUIUpdate=!0,setTimeout(()=>{this._skipUIUpdate=!1,this._fixValue(A)},0)}_fixValue(A){let i=A.clientX-this._slider._cachedLeft,n=this._slider._cachedWidth,o=this._slider.step===0?1:this._slider.step,a=Math.floor((this._slider.max-this._slider.min)/o),r=this._slider._isRtl?1-i/n:i/n,g=Math.round(r*a)/a*(this._slider.max-this._slider.min)+this._slider.min,l=Math.round(g/o)*o,C=this.value;if(l===C){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(A,{withAnimation:this._slider._hasAnimation});return}this.value=l,this.valueChange.emit(this.value),this._onChangeFn?.(this.value),this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(A,{withAnimation:this._slider._hasAnimation})}_onPointerMove(A){!this._slider.step&&this._isActive&&this._updateThumbUIByPointerEvent(A)}_onPointerUp(){this._isActive&&(this._isActive=!1,this._platform.SAFARI&&this._setIsFocused(!1),this.dragEnd.emit({source:this,parent:this._slider,value:this.value}),setTimeout(()=>this._updateWidthInactive(),this._platform.IOS?10:0))}_clamp(A){let i=this._tickMarkOffset,n=this._slider._cachedWidth-this._tickMarkOffset;return Math.max(Math.min(A,n),i)}_calcTranslateXByValue(){return this._slider._isRtl?(1-this.percentage)*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset:this.percentage*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset}_calcTranslateXByPointerEvent(A){return A.clientX-this._slider._cachedLeft}_updateWidthActive(){}_updateWidthInactive(){this._hostElement.style.padding=`0 ${this._slider._inputPadding}px`,this._hostElement.style.width=`calc(100% + ${this._slider._inputPadding-this._tickMarkOffset*2}px)`,this._hostElement.style.left=`-${this._slider._rippleRadius-this._tickMarkOffset}px`}_updateThumbUIByValue(A){this.translateX=this._clamp(this._calcTranslateXByValue()),this._updateThumbUI(A)}_updateThumbUIByPointerEvent(A,i){this.translateX=this._clamp(this._calcTranslateXByPointerEvent(A)),this._updateThumbUI(i)}_updateThumbUI(A){this._slider._setTransition(!!A?.withAnimation),this._slider._onTranslateXChange(this)}writeValue(A){(this._isControlInitialized||A!==null)&&(this.value=A)}registerOnChange(A){this._onChangeFn=A,this._isControlInitialized=!0}registerOnTouched(A){this._onTouchedFn=A}setDisabledState(A){this.disabled=A}focus(){this._hostElement.focus()}blur(){this._hostElement.blur()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["input","matSliderThumb",""]],hostAttrs:["type","range",1,"mdc-slider__input"],hostVars:1,hostBindings:function(i,n){i&1&&eA("change",function(){return n._onChange()})("input",function(){return n._onInput()})("blur",function(){return n._onBlur()})("focus",function(){return n._onFocus()}),i&2&&ie("aria-valuetext",n._valuetext())},inputs:{value:[2,"value","value",en]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[It([GHA,{provide:CgA,useExisting:t}])]})}return t})();var O7=class t{constructor(e,A,i){this.dialogRef=e;this.fb=A;this.data=i;this.evalMetrics=this.data.evalMetrics,this.evalForm=this.fb.group({tool_trajectory_avg_score_threshold:[this.getEvalMetricThresholdFromData("tool_trajectory_avg_score"),[Ag.required,Ag.min(0),Ag.max(1)]],response_match_score_threshold:[this.getEvalMetricThresholdFromData("response_match_score"),[Ag.required,Ag.min(0),Ag.max(1)]]})}evalForm;evalMetrics=[];getEvalMetricThresholdFromData(e){return this.evalMetrics.find(A=>A.metricName===e)?.threshold??0}onStart(){if(this.evalForm.valid){let{tool_trajectory_avg_score_threshold:e,response_match_score_threshold:A}=this.evalForm.value;for(let i of this.evalMetrics)i.metricName==="tool_trajectory_avg_score"?i.threshold=e:i.metricName==="response_match_score"&&(i.threshold=A);this.dialogRef.close(this.evalMetrics)}}onCancel(){this.dialogRef.close(null)}static \u0275fac=function(A){return new(A||t)(Ct(Po),Ct(hJ),Ct(ka))};static \u0275cmp=kA({type:t,selectors:[["app-run-eval-config-dialog"]],decls:26,vars:3,consts:[[1,"dialog-container"],["mat-dialog-title","",1,"dialog-title"],[1,"eval-form",3,"formGroup"],[1,"metric-row"],[1,"metric-name"],[1,"flex-1","pl-4"],["min","0","max","1","step","0.1","thumbLabel","",1,"threshold-slider"],["matSliderThumb","","formControlName","tool_trajectory_avg_score_threshold"],[1,"threshold-value"],["matSliderThumb","","formControlName","response_match_score_threshold"],["align","end",1,"dialog-actions"],["mat-button","",1,"cancel-button",3,"click"],["mat-button","",1,"save-button",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"h2",1),K(2,"EVALUATION METRIC"),w(),m(3,"mat-dialog-content")(4,"form",2)(5,"div",3)(6,"div",4),K(7,"Tool trajectory avg score: "),w(),m(8,"div",5)(9,"mat-slider",6),GA(10,"input",7),w(),m(11,"span",8),K(12),w()()(),m(13,"div",3)(14,"div",4),K(15,"Response match score: "),w(),m(16,"div",5)(17,"mat-slider",6),GA(18,"input",9),w(),m(19,"span",8),K(20),w()()()()(),m(21,"mat-dialog-actions",10)(22,"button",11),eA("click",function(){return i.onCancel()}),K(23,"Cancel"),w(),m(24,"button",12),eA("click",function(){return i.onStart()}),K(25,"Start"),w()()()),A&2&&(p(4),AA("formGroup",i.evalForm),p(8),_e(" ",i.evalForm.controls.tool_trajectory_avg_score_threshold.value," "),p(8),_e(" ",i.evalForm.controls.response_match_score_threshold.value," "))},dependencies:[Ua,yr,Nn,EJ,uo,fo,gJ,r0,y2,n9,dgA,mK,or,Fn],styles:["build.dialog-container[_ngcontent-%COMP%]{border-radius:12px;padding:18px;width:500px;box-shadow:0 8px 16px var(--run-eval-config-dialog-container-box-shadow-color)}.threshold-slider[_ngcontent-%COMP%]{--mdc-slider-active-track-color: var(--run-eval-config-dialog-threshold-slider-active-track-color);--mdc-slider-inactive-track-color: var(--run-eval-config-dialog-threshold-slider-inactive-track-color);--mdc-slider-handle-color: var(--run-eval-config-dialog-threshold-slider-handle-color);--mdc-slider-ripple-color: var(--run-eval-config-dialog-threshold-slider-ripple-color);width:100px}.metric-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center}.metric-name[_ngcontent-%COMP%]{width:250px}.threshold-value[_ngcontent-%COMP%]{margin-left:20px}.mdc-slider__thumb--with-indicator[_ngcontent-%COMP%]{background-color:var(--mdc-slider-handle-color, var(--run-eval-config-dialog-mdc-slider-thumb-background-color));border:none!important;box-shadow:none!important}h2[mat-dialog-title][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-dialog-content[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}button[mat-button][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}"]})};function KHA(t,e){if(t&1){let A=JA();m(0,"div",1)(1,"div"),K(2),w(),m(3,"mat-icon",2),eA("click",function(){Z(A);let n=v();return X(n.openNewEvalSetDialog())}),K(4,"add"),w()()}if(t&2){let A=v();p(2),qA(A.i18n.allEvalSetsHeader),p(),AA("matTooltip",A.i18n.createNewEvalSetTooltip)}}function UHA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",3)(2,"div",4),K(3),w(),m(4,"div",5),K(5),w(),m(6,"div",6),eA("click",function(){Z(A);let n=v();return X(n.openNewEvalSetDialog())}),K(7),w()()()}if(t&2){let A=v();p(3),_e(" ",A.i18n.createNewEvalSetTitle," "),p(2),_e(" ",A.i18n.evalSetDescription," "),p(2),_e(" ",A.i18n.createEvalSetButton," ")}}function JHA(t,e){if(t&1){let A=JA();m(0,"div",8),eA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.selectEvalSet(n))}),m(1,"div",9)(2,"span",10),K(3,"folder"),w(),m(4,"div",11),K(5),w()(),m(6,"div")(7,"mat-icon",12),K(8,"chevron_right"),w()()()}if(t&2){let A=e.$implicit;p(5),qA(A)}}function YHA(t,e){if(t&1&&(m(0,"div"),Ut(1,JHA,9,1,"div",7,_i),w()),t&2){let A=v();p(),Jt(A.evalsets)}}function THA(t,e){if(t&1){let A=JA();m(0,"th",29)(1,"mat-checkbox",30),eA("change",function(n){Z(A);let o=v(4);return X(n?o.toggleAllRows():null)}),w()()}if(t&2){let A=v(4);p(),AA("checked",A.selection.hasValue()&&A.isAllSelected())("indeterminate",A.selection.hasValue()&&!A.isAllSelected())}}function HHA(t,e){if(t&1){let A=JA();m(0,"td",31)(1,"mat-checkbox",32),eA("click",function(n){return Z(A),X(n.stopPropagation())})("change",function(n){let o=Z(A).$implicit,a=v(4);return X(n?a.selection.toggle(o):null)}),w()()}if(t&2){let A=e.$implicit,i=v(4);p(),AA("checked",i.selection.isSelected(A))}}function zHA(t,e){if(t&1&&(m(0,"th",29),K(1),w()),t&2){let A=v(4);p(),_e(" ",A.i18n.caseIdHeader," ")}}function OHA(t,e){if(t&1){let A=JA();m(0,"td",33),eA("click",function(){let n=Z(A).$implicit,o=v(4);return X(o.getEvalCase(n))}),K(1),w()}if(t&2){let A,i=e.$implicit,n=v(4);ae("selected-eval-case",i===((A=n.selectedEvalCase())==null?null:A.evalId)),p(),_e(" ",i," ")}}function PHA(t,e){if(t&1&&(m(0,"th",29),K(1),w()),t&2){let A=v(4);p(),_e(" ",A.i18n.resultHeader," ")}}function jHA(t,e){if(t&1){let A=JA();m(0,"button",35),eA("click",function(){Z(A);let n=v().$implicit,o=v(4);return X(o.getSession(n))}),m(1,"span",36),K(2),w(),m(3,"div",37),K(4),w()()}if(t&2){let A=v().$implicit,i=v(4);AA("ngClass",i.getEvalResultForCase(A)==1?"result-btn pass":"result-btn fail")("matTooltip",i.i18n.viewEvalRunResultTooltip),p(2),_e(" ",i.getEvalResultForCase(A)==1?"check":"close"," "),p(2),_e("",i.getEvalResultForCase(A)==1?i.i18n.passStatus:i.i18n.failStatus," ")}}function qHA(t,e){if(t&1&&(m(0,"td",31),V(1,jHA,5,4,"button",34),w()),t&2){let A=e.$implicit,i=v(4);p(),W(i.getEvalResultForCase(A)?1:-1)}}function VHA(t,e){t&1&&GA(0,"tr",38)}function WHA(t,e){t&1&&GA(0,"tr",39)}function ZHA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",16)(2,"button",17),eA("click",function(){Z(A);let n=v(3);return X(n.openEvalConfigDialog())}),K(3),w(),m(4,"mat-icon",18),eA("click",function(){Z(A);let n=v(3);return X(n.toggleEvalHistoryButton())}),K(5,"history"),w()(),m(6,"div",19)(7,"table",20),qs(8,21),vt(9,THA,2,2,"th",22)(10,HHA,2,1,"td",23),Vs(),qs(11,24),vt(12,zHA,2,1,"th",22)(13,OHA,2,3,"td",25),Vs(),qs(14,26),vt(15,PHA,2,1,"th",22)(16,qHA,2,1,"td",23),Vs(),vt(17,VHA,1,0,"tr",27)(18,WHA,1,0,"tr",28),w()()()}if(t&2){let A=v(3);p(3),qA(A.i18n.runEvaluationButton),p(),AA("matTooltip",A.i18n.viewEvalRunHistoryTooltip),p(3),AA("dataSource",A.dataSource),p(10),AA("matHeaderRowDef",A.displayedColumns),p(),AA("matRowDefColumns",A.displayedColumns)}}function XHA(t,e){if(t&1&&(m(0,"div")(1,"span",50),K(2,"|"),w(),m(3,"span",51),K(4),w()()),t&2){let A=v().$implicit,i=v(4);p(4),i0("",i.getFailCountForCurrentResult(A.evaluationResults.evaluationResults)," ",i.i18n.failedSuffix)}}function $HA(t,e){if(t&1&&(m(0,"span",52),K(1),w()),t&2){let A=e.$implicit;p(),i0(" ",A.metricName,": ",A.threshold," ")}}function AzA(t,e){if(t&1&&(m(0,"div",46),Ut(1,$HA,2,2,"span",52,_i),w()),t&2){let A=v().$implicit,i=v(4);p(),Jt(i.getEvalMetrics(A))}}function ezA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",53)(2,"span"),K(3),w(),m(4,"button",54),eA("click",function(){let n=Z(A).$implicit,o=v(6);return X(o.getHistorySession(n))}),m(5,"span",36),K(6),w(),m(7,"div",37),K(8),w()()()()}if(t&2){let A=e.$implicit,i=v(6);p(3),_e(" ",A.evalId," "),p(),AA("ngClass",A.finalEvalStatus==1?"result-btn pass":"result-btn fail"),p(2),_e(" ",A.finalEvalStatus==1?"check":"close"," "),p(2),_e("",A.finalEvalStatus==1?i.i18n.passStatusCaps:i.i18n.failStatusCaps," ")}}function tzA(t,e){if(t&1&&(m(0,"div",49),Ut(1,ezA,9,4,"div",null,_i),w()),t&2){let A=v().$implicit,i=v(4);p(),Jt(i.generateHistoryEvaluationDatasource(A.timestamp))}}function izA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",40)(2,"div",41)(3,"div",42)(4,"div",43),K(5),w(),m(6,"div",44)(7,"span",45),K(8),w(),V(9,XHA,5,2,"div"),w(),V(10,AzA,3,0,"div",46),w(),m(11,"div",47)(12,"mat-icon",48),eA("click",function(){let n=Z(A).$implicit,o=v(4);return X(o.toggleHistoryStatusCard(n.timestamp))}),K(13),w()()(),V(14,tzA,3,0,"div",49),w()()}if(t&2){let A=e.$implicit,i=v(4);p(5),qA(i.formatTimestamp(A.timestamp)),p(3),i0("",i.getPassCountForCurrentResult(A.evaluationResults.evaluationResults)," ",i.i18n.passedSuffix),p(),W(i.getFailCountForCurrentResult(A.evaluationResults.evaluationResults)>0?9:-1),p(),W(i.getEvalMetrics(A)?10:-1),p(3),qA(i.getEvaluationStatusCardActionButtonIcon(A.timestamp)),p(),W(i.isEvaluationStatusCardToggled(A.timestamp)?14:-1)}}function nzA(t,e){if(t&1&&(m(0,"div"),Ut(1,izA,15,7,"div",null,_i),w()),t&2){let A=v(3);p(),Jt(A.getEvalHistoryOfCurrentSetSorted())}}function ozA(t,e){if(t&1&&(m(0,"div"),V(1,ZHA,19,5,"div"),V(2,nzA,3,0,"div"),w()),t&2){let A=v(2);p(),W(A.showEvalHistory()?-1:1),p(),W(A.showEvalHistory()?2:-1)}}function azA(t,e){if(t&1){let A=JA();m(0,"button",55),eA("click",function(){Z(A);let n=v(2);return X(n.openNewEvalCaseDialog())}),m(1,"div",56)(2,"mat-icon"),K(3,"add"),w(),m(4,"div",57),K(5),w()()()}if(t&2){let A=v(2);p(5),i0(" ",A.i18n.addSessionToSetButtonPrefix," ",A.selectedEvalSet," ")}}function rzA(t,e){t&1&&(m(0,"div"),GA(1,"mat-spinner",58),w()),t&2&&(p(),AA("diameter",28)("strokeWidth",3))}function szA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",9)(2,"mat-icon",13),eA("click",function(){Z(A);let n=v();return X(n.clearSelectedEvalSet())}),K(3,"chevron_left"),w(),m(4,"div",14),eA("click",function(){Z(A);let n=v();return X(n.clearSelectedEvalSet())}),K(5),w()(),V(6,ozA,3,2,"div"),V(7,azA,6,2,"button",15),V(8,rzA,2,2,"div"),w()}if(t&2){let A=v();p(5),_e(" ",A.selectedEvalSet," "),p(),W(A.evalCases.length>0&&!A.evalRunning()?6:-1),p(),W(!A.evalRunning()&&!A.showEvalHistory()?7:-1),p(),W(A.evalRunning()?8:-1)}}var P7=new yA("EVAL_TAB_COMPONENT"),Xc=class t{checkboxes=MU(bE);appName=at("");userId=at("");sessionId=at("");sessionSelected=Oo();shouldShowTab=Oo();evalNotInstalledMsg=Oo();evalCaseSelected=Oo();evalSetIdSelected=Oo();shouldReturnToSession=Oo();evalCasesSubject=new Tt([]);changeDetectorRef=h(mt);flagService=h(vr);i18n=h(cgA);displayedColumns=["select","evalId","finalEvalStatus"];evalsets=[];selectedEvalSet="";evalCases=[];selectedEvalCase=jA(null);deletedEvalCaseIndex=-1;dataSource=new Ym(this.evalCases);selection=new V1(!0,[]);showEvalHistory=jA(!1);evalRunning=jA(!1);evalMetrics=ggA;currentEvalResultBySet=new Map;dialog=h(Ks);appEvaluationResults={};evalService=h(Q0);sessionService=h(dl);constructor(){this.evalCasesSubject.subscribe(e=>{!this.selectedEvalCase()&&this.deletedEvalCaseIndex>=0&&e.length>0?(this.selectNewEvalCase(e),this.deletedEvalCaseIndex=-1):e.length===0&&this.shouldReturnToSession.emit(!0)})}ngOnChanges(e){e.appName&&(this.selectedEvalSet="",this.evalCases=[],this.getEvalSet(),this.getEvaluationResult())}ngOnInit(){}selectNewEvalCase(e){let A=this.deletedEvalCaseIndex;this.deletedEvalCaseIndex===e.length&&(A=0),this.getEvalCase(e[A])}getEvalSet(){this.appName()!==""&&this.evalService.getEvalSets(this.appName()).pipe(ea(e=>e.status===404&&e.statusText==="Not Found"?(this.shouldShowTab.emit(!1),se(null)):se([]))).subscribe(e=>{e!==null&&(this.shouldShowTab.emit(!0),this.evalsets=e,this.changeDetectorRef.detectChanges())})}openNewEvalSetDialog(){this.dialog.open(z7,{width:"600px",data:{appName:this.appName()}}).afterClosed().subscribe(A=>{A&&(this.getEvalSet(),this.changeDetectorRef.detectChanges())})}openNewEvalCaseDialog(){this.dialog.open(H7,{width:"600px",data:{appName:this.appName(),userId:this.userId(),sessionId:this.sessionId(),evalSetId:this.selectedEvalSet}}).afterClosed().subscribe(A=>{A&&(this.listEvalCases(),this.changeDetectorRef.detectChanges())})}listEvalCases(){this.evalCases=[],this.evalService.listEvalCases(this.appName(),this.selectedEvalSet).subscribe(e=>{this.evalCases=e,this.dataSource=new Ym(this.evalCases),this.evalCasesSubject.next(this.evalCases),this.changeDetectorRef.detectChanges()})}runEval(){if(this.evalRunning.set(!0),this.selection.selected.length==0){alert("No case selected!"),this.evalRunning.set(!1);return}this.evalService.runEval(this.appName(),this.selectedEvalSet,this.selection.selected,this.evalMetrics).pipe(ea(e=>(e.error?.detail?.includes("not installed")&&this.evalNotInstalledMsg.emit(e.error.detail),se([])))).subscribe(e=>{this.evalRunning.set(!1),this.currentEvalResultBySet.set(this.selectedEvalSet,e),this.getEvaluationResult(),this.changeDetectorRef.detectChanges()})}selectEvalSet(e){this.selectedEvalSet=e,this.listEvalCases()}clearSelectedEvalSet(){if(this.showEvalHistory()){this.toggleEvalHistoryButton();return}this.selectedEvalSet=""}isAllSelected(){let e=this.selection.selected.length,A=this.dataSource.data.length;return e===A}toggleAllRows(){if(this.isAllSelected()){this.selection.clear();return}this.selection.select(...this.dataSource.data)}getEvalResultForCase(e){let A=this.currentEvalResultBySet.get(this.selectedEvalSet)?.filter(i=>i.evalId==e);if(!(!A||A.length==0))return A[0].finalEvalStatus}formatToolUses(e){let A=[];for(let i of e)A.push({name:i.name,args:i.args});return A}addEvalCaseResultToEvents(e,A){let i=A.evalMetricResultPerInvocation,n=-1;if(i)for(let o=0;on.evalId==e)[0],i=A.sessionId;this.sessionService.getSession(this.userId(),this.appName(),i).subscribe(n=>{this.addEvalCaseResultToEvents(n,A);let o=this.fromApiResultToSession(n);this.sessionSelected.emit(o)})}toggleEvalHistoryButton(){this.showEvalHistory.set(!this.showEvalHistory())}getEvalHistoryOfCurrentSet(){return this.appEvaluationResults[this.appName()][this.selectedEvalSet]}getEvalHistoryOfCurrentSetSorted(){let e=this.getEvalHistoryOfCurrentSet();return Object.keys(e).sort((n,o)=>o.localeCompare(n)).map(n=>({timestamp:n,evaluationResults:e[n]}))}getPassCountForCurrentResult(e){return e.filter(A=>A.finalEvalStatus==1).length}getFailCountForCurrentResult(e){return e.filter(A=>A.finalEvalStatus==2).length}formatTimestamp(e){let A=Number(e);if(isNaN(A))return"Invalid timestamp provided";let i=new Date(A*1e3);if(isNaN(i.getTime()))return"Invalid date created from timestamp";let n={month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0};return new Intl.DateTimeFormat("en-US",n).format(i)}getEvaluationStatusCardActionButtonIcon(e){return this.getEvalHistoryOfCurrentSet()[e].isToggled?"keyboard_arrow_up":"keyboard_arrow_down"}toggleHistoryStatusCard(e){this.getEvalHistoryOfCurrentSet()[e].isToggled=!this.getEvalHistoryOfCurrentSet()[e].isToggled}isEvaluationStatusCardToggled(e){return this.getEvalHistoryOfCurrentSet()[e].isToggled}generateHistoryEvaluationDatasource(e){return this.getEvalHistoryOfCurrentSet()[e].evaluationResults}getHistorySession(e){this.addEvalCaseResultToEvents(e.sessionDetails,e);let A=this.fromApiResultToSession(e.sessionDetails);this.sessionSelected.emit(A)}getEvalCase(e){this.evalService.getEvalCase(this.appName(),this.selectedEvalSet,e).subscribe(A=>{this.selectedEvalCase.set(A),this.evalCaseSelected.emit(A),this.evalSetIdSelected.emit(this.selectedEvalSet)})}resetEvalCase(){this.selectedEvalCase.set(null)}resetEvalResults(){this.currentEvalResultBySet.clear()}deleteEvalCase(e){this.evalService.deleteEvalCase(this.appName(),this.selectedEvalSet,e).subscribe(A=>{this.deletedEvalCaseIndex=this.evalCases.indexOf(e),this.selectedEvalCase.set(null),this.listEvalCases(),this.changeDetectorRef.detectChanges()})}getEvaluationResult(){this.evalService.listEvalResults(this.appName()).pipe(ea(e=>e.status===404&&e.statusText==="Not Found"?(this.shouldShowTab.emit(!1),se(null)):se([]))).subscribe(e=>{for(let A of e)this.evalService.getEvalResult(this.appName(),A).subscribe(i=>{this.appEvaluationResults[this.appName()]||(this.appEvaluationResults[this.appName()]={}),this.appEvaluationResults[this.appName()][i.evalSetId]||(this.appEvaluationResults[this.appName()][i.evalSetId]={});let n=i.creationTimestamp;this.appEvaluationResults[this.appName()][i.evalSetId][n]||(this.appEvaluationResults[this.appName()][i.evalSetId][n]={isToggled:!1,evaluationResults:[]});let o={isToggled:!1,evaluationResults:i.evalCaseResults.map(a=>({setId:a.id,evalId:a.evalId,finalEvalStatus:a.finalEvalStatus,evalMetricResults:a.evalMetricResults,evalMetricResultPerInvocation:a.evalMetricResultPerInvocation,sessionId:a.sessionId,sessionDetails:a.sessionDetails,overallEvalMetricResults:a.overallEvalMetricResults??[]}))};this.appEvaluationResults[this.appName()][i.evalSetId][n]=o,this.changeDetectorRef.detectChanges()})})}openEvalConfigDialog(){if(this.selection.selected.length==0){alert("No case selected!");return}this.dialog.open(O7,{maxWidth:"90vw",maxHeight:"90vh",data:{evalMetrics:this.evalMetrics}}).afterClosed().subscribe(A=>{A&&(this.evalMetrics=A,this.runEval())})}getEvalMetrics(e){if(!e||!e.evaluationResults||!e.evaluationResults.evaluationResults)return this.evalMetrics;let A=e.evaluationResults.evaluationResults;return A.length===0?this.evalMetrics:typeof A[0].overallEvalMetricResults>"u"||!A[0].overallEvalMetricResults||A[0].overallEvalMetricResults.length===0?this.evalMetrics:A[0].overallEvalMetricResults.map(n=>({metricName:n.metricName,threshold:n.threshold}))}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-eval-tab"]],viewQuery:function(A,i){A&1&&rs(i.checkboxes,bE,5),A&2&&wr()},inputs:{appName:[1,"appName"],userId:[1,"userId"],sessionId:[1,"sessionId"]},outputs:{sessionSelected:"sessionSelected",shouldShowTab:"shouldShowTab",evalNotInstalledMsg:"evalNotInstalledMsg",evalCaseSelected:"evalCaseSelected",evalSetIdSelected:"evalSetIdSelected",shouldReturnToSession:"shouldReturnToSession"},features:[ti],decls:5,vars:4,consts:[[1,"eval-container"],[1,"eval-set-actions"],[2,"cursor","pointer",3,"click","matTooltip"],[1,"empty-eval-info"],[1,"info-title"],[1,"info-detail"],[1,"info-create",3,"click"],[1,"eval-set-row"],[1,"eval-set-row",3,"click"],[2,"display","flex"],[1,"material-symbols-outlined",2,"margin-right","10px","padding-top","16px"],[2,"font-family","Roboto","font-size","14px","padding","16px","padding-top","20px"],[2,"padding-top","20px","color","#9AA0A6"],[2,"color","white","cursor","pointer",3,"click"],[2,"color","#9AA0A6","padding-top","2px","cursor","pointer",3,"click"],[1,"save-session-btn"],[1,"evaluation-tab-header"],[1,"run-eval-btn",3,"click"],[1,"evaluation-history-icon",3,"click","matTooltip"],[1,"mat-table-container",2,"margin-top","16px"],["mat-table","",3,"dataSource"],["matColumnDef","select"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","evalId"],["mat-cell","","class","eval-case-id",3,"selected-eval-case","click",4,"matCellDef"],["matColumnDef","finalEvalStatus"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],[3,"change","checked","indeterminate"],["mat-cell",""],[3,"click","change","checked"],["mat-cell","",1,"eval-case-id",3,"click"],[3,"ngClass","matTooltip"],[3,"click","ngClass","matTooltip"],[1,"material-symbols-outlined"],[2,"padding-top","4px"],["mat-header-row",""],["mat-row",""],[1,"status-card"],[1,"status-card__overview"],[1,"status-card__info"],[1,"status-card__timestamp"],[1,"status-card__summary"],[1,"status-card__passed"],[1,"status-card__metrics"],[1,"status-card__action"],[3,"click"],[1,"status-card__history-cases"],[1,"status-card__separator"],[1,"status-card__failed"],[1,"status-card__metric"],[1,"status-card__history-case"],[3,"click","ngClass"],[1,"save-session-btn",3,"click"],[1,"save-session-btn-detail"],[1,"save-session-btn-text"],[1,"eval-spinner",3,"diameter","strokeWidth"]],template:function(A,i){A&1&&(m(0,"div",0),V(1,KHA,5,2,"div",1),V(2,UHA,8,3,"div"),V(3,YHA,3,0,"div"),V(4,szA,9,4,"div"),w()),A&2&&(p(),W(i.selectedEvalSet==""?1:-1),p(),W(i.evalsets.length==0?2:-1),p(),W(i.evalsets.length>0&&i.selectedEvalSet==""?3:-1),p(),W(i.selectedEvalSet!=""?4:-1))},dependencies:[fn,Sa,$sA,tgA,egA,igA,bE,AgA,ngA,gs,ogA,rgA,agA,sgA,B1],styles:[".eval-container[_ngcontent-%COMP%]{margin-top:20px;padding-left:25px;padding-right:25px}.eval-case-id[_ngcontent-%COMP%]{cursor:pointer}.eval-set-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between;color:var(--eval-tab-eval-set-actions-color);font-style:normal;font-weight:700;font-size:14px}.empty-eval-info[_ngcontent-%COMP%]{margin-top:12px;background-color:var(--eval-tab-empty-eval-info-background-color);border-radius:8px;box-shadow:0 2px 6px 2px var(--eval-tab-empty-eval-info-box-shadow-color1),0 1px 2px 0 var(--eval-tab-empty-eval-info-box-shadow-color2)}.info-title[_ngcontent-%COMP%]{color:var(--eval-tab-info-title-color);font-family:Roboto;font-size:14px;font-weight:500;padding-top:13px;padding-right:16px;padding-left:16px}.info-detail[_ngcontent-%COMP%]{color:var(--eval-tab-info-detail-color);font-family:Roboto;font-size:14px;font-weight:400;padding-top:13px;padding-right:16px;padding-left:16px;letter-spacing:.2px}.info-create[_ngcontent-%COMP%]{color:var(--eval-tab-info-create-color);font-size:14px;font-style:normal;font-weight:500;padding-right:16px;padding-left:16px;margin-top:19px;padding-bottom:16px;cursor:pointer}.eval-set-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;cursor:pointer}.selected-eval-case[_ngcontent-%COMP%]{font-weight:900;color:var(--eval-tab-selected-eval-case-color)}.save-session-btn[_ngcontent-%COMP%]{width:100%;background:linear-gradient(0deg,var(--eval-tab-save-session-btn-background-color1) 0%,var(--eval-tab-save-session-btn-background-color1) 100%),var(--eval-tab-save-session-btn-background-color2);border:none;border-radius:4px;margin-top:12px;cursor:pointer}.save-session-btn-detail[_ngcontent-%COMP%]{display:flex;padding:8px 16px 8px 12px;justify-content:center}.save-session-btn-text[_ngcontent-%COMP%]{padding-top:2px;color:var(--eval-tab-save-session-btn-text-color);font-family:Google Sans;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.run-eval-btn[_ngcontent-%COMP%]{border-radius:4px;border:1px solid var(--eval-tab-run-eval-btn-border-color);background-color:transparent;padding:8px 24px;margin-top:16px;color:var(--eval-tab-run-eval-btn-color);cursor:pointer}.run-eval-btn[_ngcontent-%COMP%]:hover{background-color:var(--eval-tab-run-eval-btn-hover-background-color)}.result-btn[_ngcontent-%COMP%]{display:flex;background-color:transparent;border-radius:4px;border:1px solid var(--eval-tab-result-btn-border-color);margin-top:4px;cursor:pointer}.result-btn[_ngcontent-%COMP%]:hover{background-color:var(--eval-tab-result-btn-hover-background-color)}.result-btn.pass[_ngcontent-%COMP%]{color:var(--eval-tab-result-btn-pass-color)}.result-btn.fail[_ngcontent-%COMP%]{color:var(--eval-tab-result-btn-fail-color)}.evaluation-tab-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.evaluation-history-icon[_ngcontent-%COMP%]{cursor:pointer;margin-top:4px}.status-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;border-radius:8px;background-color:var(--eval-tab-status-card-background-color);padding:12px 16px;margin-top:12px}.status-card__overview[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.status-card__info[_ngcontent-%COMP%]{display:flex;flex-direction:column}.status-card__timestamp[_ngcontent-%COMP%]{font-size:.9em;color:var(--eval-tab-status-card-timestamp-color);margin-bottom:5px}.status-card__summary[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:.95em;font-weight:500}.status-card__metrics[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:.75em;font-weight:300;margin-top:3px}.status-card__metric[_ngcontent-%COMP%]{width:180px;color:var(--eval-tab-status-card-metric-color)}.status-card__failed[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-failed-color)}.status-card__separator[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-separator-color);margin:0 8px}.status-card__passed[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-passed-color)}.status-card__action[_ngcontent-%COMP%]{display:flex;align-items:center}.status-card__action[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-action-mat-icon-color);cursor:pointer;transition:transform .2s ease-in-out}.status-card__action[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:hover{opacity:.8}.status-card__action[_ngcontent-%COMP%] .status-card__icon[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-icon-color);font-size:1.2em;cursor:pointer}.status-card__action[_ngcontent-%COMP%] .status-card__icon[_ngcontent-%COMP%]:hover{opacity:.8}.status-card__history-cases[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-top:3px;justify-content:flex-start;width:100%}.status-card__history-case[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:15px}.eval-spinner[_ngcontent-%COMP%]{margin-top:12px}"]})};var Tm=class t{constructor(e,A){this.dialogRef=e;this.data=A}onConfirm(){this.dialogRef.close(!0)}onCancel(){this.dialogRef.close(!1)}static \u0275fac=function(A){return new(A||t)(Ct(Po),Ct(ka))};static \u0275cmp=kA({type:t,selectors:[["app-delete-session-dialog"]],decls:11,vars:4,consts:[[1,"confirm-delete-wrapper"],["mat-dialog-title",""],["align","end"],["mat-button","",3,"click"],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"h2",1),K(2),w(),m(3,"mat-dialog-content")(4,"p"),K(5),w()(),m(6,"mat-dialog-actions",2)(7,"button",3),eA("click",function(){return i.onCancel()}),K(8),w(),m(9,"button",4),eA("click",function(){return i.onConfirm()}),K(10),w()()()),A&2&&(p(2),qA(i.data.title),p(3),qA(i.data.message),p(3),qA(i.data.cancelButtonText),p(2),qA(i.data.confirmButtonText))},dependencies:[Ua,yr,or,Fn],encapsulation:2})};var vK=["*"];function gzA(t,e){t&1&&He(0)}var lzA=["tabListContainer"],czA=["tabList"],CzA=["tabListInner"],IzA=["nextPaginator"],dzA=["previousPaginator"],BzA=["content"];function EzA(t,e){}var QzA=["tabBodyWrapper"],hzA=["tabHeader"];function uzA(t,e){}function fzA(t,e){if(t&1&&vt(0,uzA,0,0,"ng-template",12),t&2){let A=v().$implicit;AA("cdkPortalOutlet",A.templateLabel)}}function mzA(t,e){if(t&1&&K(0),t&2){let A=v().$implicit;qA(A.textLabel)}}function pzA(t,e){if(t&1){let A=JA();m(0,"div",7,2),eA("click",function(){let n=Z(A),o=n.$implicit,a=n.$index,r=v(),s=An(1);return X(r._handleClick(o,s,a))})("cdkFocusChange",function(n){let o=Z(A).$index,a=v();return X(a._tabFocusChanged(n,o))}),GA(2,"span",8)(3,"div",9),m(4,"span",10)(5,"span",11),V(6,fzA,1,1,null,12)(7,mzA,1,1),w()()()}if(t&2){let A=e.$implicit,i=e.$index,n=An(1),o=v();zo(A.labelClass),ae("mdc-tab--active",o.selectedIndex===i),AA("id",o._getTabLabelId(A,i))("disabled",A.disabled)("fitInkBarToContent",o.fitInkBarToContent),ie("tabIndex",o._getTabIndex(i))("aria-posinset",i+1)("aria-setsize",o._tabs.length)("aria-controls",o._getTabContentId(i))("aria-selected",o.selectedIndex===i)("aria-label",A.ariaLabel||null)("aria-labelledby",!A.ariaLabel&&A.ariaLabelledby?A.ariaLabelledby:null),p(3),AA("matRippleTrigger",n)("matRippleDisabled",A.disabled||o.disableRipple),p(3),W(A.templateLabel?6:7)}}function wzA(t,e){t&1&&He(0)}function DzA(t,e){if(t&1){let A=JA();m(0,"mat-tab-body",13),eA("_onCentered",function(){Z(A);let n=v();return X(n._removeTabBodyWrapperHeight())})("_onCentering",function(n){Z(A);let o=v();return X(o._setTabBodyWrapperHeight(n))})("_beforeCentering",function(n){Z(A);let o=v();return X(o._bodyCentered(n))}),w()}if(t&2){let A=e.$implicit,i=e.$index,n=v();zo(A.bodyClass),AA("id",n._getTabContentId(i))("content",A.content)("position",A.position)("animationDuration",n.animationDuration)("preserveContent",n.preserveContent),ie("tabindex",n.contentTabIndex!=null&&n.selectedIndex===i?n.contentTabIndex:null)("aria-labelledby",n._getTabLabelId(A,i))("aria-hidden",n.selectedIndex!==i)}}var yzA=new yA("MatTabContent"),vzA=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matTabContent",""]],features:[It([{provide:yzA,useExisting:t}])]})}return t})(),bzA=new yA("MatTabLabel"),hgA=new yA("MAT_TAB"),bK=(()=>{class t extends PH{_closestTab=h(hgA,{optional:!0});static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[It([{provide:bzA,useExisting:t}]),dt]})}return t})(),ugA=new yA("MAT_TAB_GROUP"),Hm=(()=>{class t{_viewContainerRef=h(Ho);_closestTabGroup=h(ugA,{optional:!0});disabled=!1;get templateLabel(){return this._templateLabel}set templateLabel(A){this._setTemplateLabelInput(A)}_templateLabel;_explicitContent=void 0;_implicitContent;textLabel="";ariaLabel;ariaLabelledby;labelClass;bodyClass;id=null;_contentPortal=null;get content(){return this._contentPortal}_stateChanges=new $A;position=null;origin=null;isActive=!1;constructor(){h(Xn).load(Ir)}ngOnChanges(A){(A.hasOwnProperty("textLabel")||A.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Is(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(A){A&&A._closestTab===this&&(this._templateLabel=A)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tab"]],contentQueries:function(i,n,o){if(i&1&&ua(o,bK,5)(o,vzA,7,Tn),i&2){let a;ce(a=Ce())&&(n.templateLabel=a.first),ce(a=Ce())&&(n._explicitContent=a.first)}},viewQuery:function(i,n){if(i&1&&ai(Tn,7),i&2){let o;ce(o=Ce())&&(n._implicitContent=o.first)}},hostAttrs:["hidden",""],hostVars:1,hostBindings:function(i,n){i&2&&ie("id",null)},inputs:{disabled:[2,"disabled","disabled",he],textLabel:[0,"label","textLabel"],ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass",id:"id"},exportAs:["matTab"],features:[It([{provide:hgA,useExisting:t}]),ti],ngContentSelectors:vK,decls:1,vars:0,template:function(i,n){i&1&&(Ht(),rp(0,gzA,1,0,"ng-template"))},encapsulation:2})}return t})(),pK="mdc-tab-indicator--active",BgA="mdc-tab-indicator--no-transition",wK=class{_items;_currentItem;constructor(e){this._items=e}hide(){this._items.forEach(e=>e.deactivateInkBar()),this._currentItem=void 0}alignToElement(e){let A=this._items.find(n=>n.elementRef.nativeElement===e),i=this._currentItem;if(A!==i&&(i?.deactivateInkBar(),A)){let n=i?.elementRef.nativeElement.getBoundingClientRect?.();A.activateInkBar(n),this._currentItem=A}}},MzA=(()=>{class t{_elementRef=h(ge);_inkBarElement=null;_inkBarContentElement=null;_fitToContent=!1;get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(A){this._fitToContent!==A&&(this._fitToContent=A,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(A){let i=this._elementRef.nativeElement;if(!A||!i.getBoundingClientRect||!this._inkBarContentElement){i.classList.add(pK);return}let n=i.getBoundingClientRect(),o=A.width/n.width,a=A.left-n.left;i.classList.add(BgA),this._inkBarContentElement.style.setProperty("transform",`translateX(${a}px) scaleX(${o})`),i.getBoundingClientRect(),i.classList.remove(BgA),i.classList.add(pK),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this._elementRef.nativeElement.classList.remove(pK)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){let A=this._elementRef.nativeElement.ownerDocument||document,i=this._inkBarElement=A.createElement("span"),n=this._inkBarContentElement=A.createElement("span");i.className="mdc-tab-indicator",n.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",i.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){this._inkBarElement;let A=this._fitToContent?this._elementRef.nativeElement.querySelector(".mdc-tab__content"):this._elementRef.nativeElement;A.appendChild(this._inkBarElement)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",he]}})}return t})();var fgA=(()=>{class t extends MzA{elementRef=h(ge);disabled=!1;focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(i,n){i&2&&(ie("aria-disabled",!!n.disabled),ae("mat-mdc-tab-disabled",n.disabled))},inputs:{disabled:[2,"disabled","disabled",he]},features:[dt]})}return t})(),EgA={passive:!0},kzA=650,SzA=100,xzA=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(mt);_viewportRuler=h(Gs);_dir=h(xo,{optional:!0});_ngZone=h(Oe);_platform=h(Ii);_sharedResizeObserver=h(Tp);_injector=h(ft);_renderer=h(Fi);_animationsDisabled=qi();_eventCleanups;_scrollDistance=0;_selectedIndexChanged=!1;_destroyed=new $A;_showPaginationControls=!1;_disableScrollAfter=!0;_disableScrollBefore=!0;_tabLabelCount;_scrollDistanceChanged=!1;_keyManager;_currentTextContent;_stopScrolling=new $A;disablePagination=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(A){let i=isNaN(A)?0:A;this._selectedIndex!=i&&(this._selectedIndexChanged=!0,this._selectedIndex=i,this._keyManager&&this._keyManager.updateActiveItem(i))}_selectedIndex=0;selectFocusedIndex=new WA;indexFocused=new WA;constructor(){this._eventCleanups=this._ngZone.runOutsideAngular(()=>[this._renderer.listen(this._elementRef.nativeElement,"mouseleave",()=>this._stopInterval())])}ngAfterViewInit(){this._eventCleanups.push(this._renderer.listen(this._previousPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("before"),EgA),this._renderer.listen(this._nextPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("after"),EgA))}ngAfterContentInit(){let A=this._dir?this._dir.change:se("ltr"),i=this._sharedResizeObserver.observe(this._elementRef.nativeElement).pipe(Ps(32),Bt(this._destroyed)),n=this._viewportRuler.change(150).pipe(Bt(this._destroyed)),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new s0(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(Math.max(this._selectedIndex,0)),Yn(o,{injector:this._injector}),hi(A,n,i,this._items.changes,this._itemsResized()).pipe(Bt(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager?.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(a=>{this.indexFocused.emit(a),this._setTabFocus(a)})}_itemsResized(){return typeof ResizeObserver!="function"?ja:this._items.changes.pipe(cn(this._items),ki(A=>new ji(i=>this._ngZone.runOutsideAngular(()=>{let n=new ResizeObserver(o=>i.next(o));return A.forEach(o=>n.observe(o.elementRef.nativeElement)),()=>{n.disconnect()}}))),Fg(1),Ze(A=>A.some(i=>i.contentRect.width>0&&i.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._eventCleanups.forEach(A=>A()),this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(A){if(!ma(A))switch(A.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){let i=this._items.get(this.focusIndex);i&&!i.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(A))}break;default:this._keyManager?.onKeydown(A)}}_onContentChanges(){let A=this._elementRef.nativeElement.textContent;A!==this._currentTextContent&&(this._currentTextContent=A||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(A){!this._isValidIndex(A)||this.focusIndex===A||!this._keyManager||this._keyManager.setActiveItem(A)}_isValidIndex(A){return this._items?!!this._items.toArray()[A]:!0}_setTabFocus(A){if(this._showPaginationControls&&this._scrollToLabel(A),this._items&&this._items.length){this._items.toArray()[A].focus();let i=this._tabListContainer.nativeElement;this._getLayoutDirection()=="ltr"?i.scrollLeft=0:i.scrollLeft=i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;let A=this.scrollDistance,i=this._getLayoutDirection()==="ltr"?-A:A;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(A){this._scrollTo(A)}_scrollHeader(A){let i=this._tabListContainer.nativeElement.offsetWidth,n=(A=="before"?-1:1)*i/3;return this._scrollTo(this._scrollDistance+n)}_handlePaginatorClick(A){this._stopInterval(),this._scrollHeader(A)}_scrollToLabel(A){if(this.disablePagination)return;let i=this._items?this._items.toArray()[A]:null;if(!i)return;let n=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:o,offsetWidth:a}=i.elementRef.nativeElement,r,s;this._getLayoutDirection()=="ltr"?(r=o,s=r+a):(s=this._tabListInner.nativeElement.offsetWidth-o,r=s-a);let g=this.scrollDistance,l=this.scrollDistance+n;rl&&(this.scrollDistance+=Math.min(s-l,r-g))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{let A=this._tabListInner.nativeElement.scrollWidth,i=this._elementRef.nativeElement.offsetWidth,n=A-i>=5;n||(this.scrollDistance=0),n!==this._showPaginationControls&&(this._showPaginationControls=n,this._changeDetectorRef.markForCheck())}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=this.scrollDistance==0,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){let A=this._tabListInner.nativeElement.scrollWidth,i=this._tabListContainer.nativeElement.offsetWidth;return A-i||0}_alignInkBarToSelectedTab(){let A=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=A?A.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(A,i){i&&i.button!=null&&i.button!==0||(this._stopInterval(),Xm(kzA,SzA).pipe(Bt(hi(this._stopScrolling,this._destroyed))).subscribe(()=>{let{maxScrollDistance:n,distance:o}=this._scrollHeader(A);(o===0||o>=n)&&this._stopInterval()}))}_scrollTo(A){if(this.disablePagination)return{maxScrollDistance:0,distance:0};let i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,A)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,inputs:{disablePagination:[2,"disablePagination","disablePagination",he],selectedIndex:[2,"selectedIndex","selectedIndex",en]},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"}})}return t})(),RzA=(()=>{class t extends xzA{_items;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;ariaLabel;ariaLabelledby;disableRipple=!1;ngAfterContentInit(){this._inkBar=new wK(this._items),super.ngAfterContentInit()}_itemSelected(A){A.preventDefault()}static \u0275fac=(()=>{let A;return function(n){return(A||(A=ui(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-tab-header"]],contentQueries:function(i,n,o){if(i&1&&ua(o,fgA,4),i&2){let a;ce(a=Ce())&&(n._items=a)}},viewQuery:function(i,n){if(i&1&&ai(lzA,7)(czA,7)(CzA,7)(IzA,5)(dzA,5),i&2){let o;ce(o=Ce())&&(n._tabListContainer=o.first),ce(o=Ce())&&(n._tabList=o.first),ce(o=Ce())&&(n._tabListInner=o.first),ce(o=Ce())&&(n._nextPaginator=o.first),ce(o=Ce())&&(n._previousPaginator=o.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(i,n){i&2&&ae("mat-mdc-tab-header-pagination-controls-enabled",n._showPaginationControls)("mat-mdc-tab-header-rtl",n._getLayoutDirection()=="rtl")},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],disableRipple:[2,"disableRipple","disableRipple",he]},features:[dt],ngContentSelectors:vK,decls:13,vars:10,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-labels"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(i,n){if(i&1){let o=JA();Ht(),m(0,"div",5,0),eA("click",function(){return Z(o),X(n._handlePaginatorClick("before"))})("mousedown",function(r){return Z(o),X(n._handlePaginatorPress("before",r))})("touchend",function(){return Z(o),X(n._stopInterval())}),GA(2,"div",6),w(),m(3,"div",7,1),eA("keydown",function(r){return Z(o),X(n._handleKeydown(r))}),m(5,"div",8,2),eA("cdkObserveContent",function(){return Z(o),X(n._onContentChanges())}),m(7,"div",9,3),He(9),w()()(),m(10,"div",10,4),eA("mousedown",function(r){return Z(o),X(n._handlePaginatorPress("after",r))})("click",function(){return Z(o),X(n._handlePaginatorClick("after"))})("touchend",function(){return Z(o),X(n._stopInterval())}),GA(12,"div",6),w()}i&2&&(ae("mat-mdc-tab-header-pagination-disabled",n._disableScrollBefore),AA("matRippleDisabled",n._disableScrollBefore||n.disableRipple),p(3),ae("_mat-animation-noopable",n._animationsDisabled),p(2),ie("aria-label",n.ariaLabel||null)("aria-labelledby",n.ariaLabelledby||null),p(5),ae("mat-mdc-tab-header-pagination-disabled",n._disableScrollAfter),AA("matRippleDisabled",n._disableScrollAfter||n.disableRipple))},dependencies:[ig,xJ],styles:[`.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-divider-height, 1px);border-bottom-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-group-inverted-header .mat-mdc-tab-label-container{border-bottom:none;border-top-style:solid;border-top-width:var(--mat-tab-divider-height, 1px);border-top-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-labels,.mat-mdc-tab-labels.cdk-drop-list{min-height:var(--mat-tab-container-height, 48px)}.mat-mdc-tab::before{margin:5px}@media(forced-colors: active){.mat-mdc-tab[aria-disabled=true]{color:GrayText}} +`],encapsulation:2})}return t})(),NzA=new yA("MAT_TABS_CONFIG"),QgA=(()=>{class t extends Jg{_host=h(DK);_ngZone=h(Oe);_centeringSub=Jn.EMPTY;_leavingSub=Jn.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(cn(this._host._isCenterPosition())).subscribe(A=>{this._host._content&&A&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matTabBodyHost",""]],features:[dt]})}return t})(),DK=(()=>{class t{_elementRef=h(ge);_dir=h(xo,{optional:!0});_ngZone=h(Oe);_injector=h(ft);_renderer=h(Fi);_diAnimationsDisabled=qi();_eventCleanups;_initialized=!1;_fallbackTimer;_positionIndex;_dirChangeSubscription=Jn.EMPTY;_position;_previousPosition;_onCentering=new WA;_beforeCentering=new WA;_afterLeavingCenter=new WA;_onCentered=new WA(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(A){this._positionIndex=A,this._computePositionAnimationState()}constructor(){if(this._dir){let A=h(mt);this._dirChangeSubscription=this._dir.change.subscribe(i=>{this._computePositionAnimationState(i),A.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),Yn(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(A=>A()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let A=this._elementRef.nativeElement,i=n=>{n.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),n.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(A,"transitionstart",n=>{n.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(A,"transitionend",i),this._renderer.listen(A,"transitioncancel",i)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let A=this._position==="center";this._beforeCentering.emit(A),A&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(A){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",A)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(A=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=A=="ltr"?"left":"right":this._positionIndex>0?this._position=A=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),Yn(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tab-body"]],viewQuery:function(i,n){if(i&1&&ai(QgA,5)(BzA,5),i&2){let o;ce(o=Ce())&&(n._portalHost=o.first),ce(o=Ce())&&(n._contentElement=o.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(i,n){i&2&&ie("inert",n._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(i,n){i&1&&(m(0,"div",1,0),vt(2,EzA,0,0,"ng-template",2),w()),i&2&&ae("mat-tab-body-content-left",n._position==="left")("mat-tab-body-content-right",n._position==="right")("mat-tab-body-content-can-animate",n._position==="center"||n._previousPosition==="center")},dependencies:[QgA,IC],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto;transform:none;visibility:hidden}.mat-tab-body-animating>.mat-mdc-tab-body-content,.mat-mdc-tab-body-active>.mat-mdc-tab-body-content{visibility:visible}.mat-tab-body-animating>.mat-mdc-tab-body-content{min-height:1px}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-tab-body-content-can-animate{transition:transform var(--mat-tab-animation-duration) 1ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable .mat-tab-body-content-can-animate{transition:none}.mat-tab-body-content-left{transform:translate3d(-100%, 0, 0)}.mat-tab-body-content-right{transform:translate3d(100%, 0, 0)} +`],encapsulation:2})}return t})(),j7=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(mt);_ngZone=h(Oe);_tabsSubscription=Jn.EMPTY;_tabLabelSubscription=Jn.EMPTY;_tabBodySubscription=Jn.EMPTY;_diAnimationsDisabled=qi();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new nl;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(A){this._fitInkBarToContent=A,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(A){this._indexToSelect=isNaN(A)?null:A}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(A){let i=A+"";this._animationDuration=/^\d+$/.test(i)?A+"ms":i}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(A){this._contentTabIndex=isNaN(A)?null:A}_contentTabIndex=null;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(A){let i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),A&&i.add("mat-tabs-with-background",`mat-background-${A}`),this._backgroundColor=A}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new WA;focusChange=new WA;animationDone=new WA;selectedTabChange=new WA(!0);_groupId;_isServer=!h(Ii).isBrowser;constructor(){let A=h(NzA,{optional:!0});this._groupId=h(an).getId("mat-tab-group-"),this.animationDuration=A&&A.animationDuration?A.animationDuration:"500ms",this.disablePagination=A&&A.disablePagination!=null?A.disablePagination:!1,this.dynamicHeight=A&&A.dynamicHeight!=null?A.dynamicHeight:!1,A?.contentTabIndex!=null&&(this.contentTabIndex=A.contentTabIndex),this.preserveContent=!!A?.preserveContent,this.fitInkBarToContent=A&&A.fitInkBarToContent!=null?A.fitInkBarToContent:!1,this.stretchTabs=A&&A.stretchTabs!=null?A.stretchTabs:!0,this.alignTabs=A&&A.alignTabs!=null?A.alignTabs:null}ngAfterContentChecked(){let A=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=A){let i=this._selectedIndex==null;if(!i){this.selectedTabChange.emit(this._createChangeEvent(A));let n=this._tabBodyWrapper.nativeElement;n.style.minHeight=n.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((n,o)=>n.isActive=o===A),i||(this.selectedIndexChange.emit(A),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,n)=>{i.position=n-A,this._selectedIndex!=null&&i.position==0&&!i.origin&&(i.origin=A-this._selectedIndex)}),this._selectedIndex!==A&&(this._selectedIndex=A,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let A=this._clampTabIndex(this._indexToSelect);if(A===this._selectedIndex){let i=this._tabs.toArray(),n;for(let o=0;o{i[A].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(A))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(cn(this._allTabs)).subscribe(A=>{this._tabs.reset(A.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(A){let i=this._tabHeader;i&&(i.focusIndex=A)}_focusChanged(A){this._lastFocusedTabIndex=A,this.focusChange.emit(this._createChangeEvent(A))}_createChangeEvent(A){let i=new yK;return i.index=A,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[A]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=hi(...this._tabs.map(A=>A._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(A){return Math.min(this._tabs.length-1,Math.max(A||0,0))}_getTabLabelId(A,i){return A.id||`${this._groupId}-label-${i}`}_getTabContentId(A){return`${this._groupId}-content-${A}`}_setTabBodyWrapperHeight(A){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=A;return}let i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=A+"px")}_removeTabBodyWrapperHeight(){let A=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=A.clientHeight,A.style.height="",this._ngZone.run(()=>this.animationDone.emit())}_handleClick(A,i,n){i.focusIndex=n,A.disabled||(this.selectedIndex=n)}_getTabIndex(A){let i=this._lastFocusedTabIndex??this.selectedIndex;return A===i?0:-1}_tabFocusChanged(A,i){A&&A!=="mouse"&&A!=="touch"&&(this._tabHeader.focusIndex=i)}_bodyCentered(A){A&&this._tabBodies?.forEach((i,n)=>i._setActiveClass(n===this._selectedIndex))}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0"||this.animationDuration==="0ms"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tab-group"]],contentQueries:function(i,n,o){if(i&1&&ua(o,Hm,5),i&2){let a;ce(a=Ce())&&(n._allTabs=a)}},viewQuery:function(i,n){if(i&1&&ai(QzA,5)(hzA,5)(DK,5),i&2){let o;ce(o=Ce())&&(n._tabBodyWrapper=o.first),ce(o=Ce())&&(n._tabHeader=o.first),ce(o=Ce())&&(n._tabBodies=o)}},hostAttrs:[1,"mat-mdc-tab-group"],hostVars:11,hostBindings:function(i,n){i&2&&(ie("mat-align-tabs",n.alignTabs),zo("mat-"+(n.color||"primary")),wn("--mat-tab-animation-duration",n.animationDuration),ae("mat-mdc-tab-group-dynamic-height",n.dynamicHeight)("mat-mdc-tab-group-inverted-header",n.headerPosition==="below")("mat-mdc-tab-group-stretch-tabs",n.stretchTabs))},inputs:{color:"color",fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",he],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",he],alignTabs:[0,"mat-align-tabs","alignTabs"],dynamicHeight:[2,"dynamicHeight","dynamicHeight",he],selectedIndex:[2,"selectedIndex","selectedIndex",en],headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:[2,"contentTabIndex","contentTabIndex",en],disablePagination:[2,"disablePagination","disablePagination",he],disableRipple:[2,"disableRipple","disableRipple",he],preserveContent:[2,"preserveContent","preserveContent",he],backgroundColor:"backgroundColor",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"]},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},exportAs:["matTabGroup"],features:[It([{provide:ugA,useExisting:t}])],ngContentSelectors:vK,decls:9,vars:8,consts:[["tabHeader",""],["tabBodyWrapper",""],["tabNode",""],[3,"indexFocused","selectFocusedIndex","selectedIndex","disableRipple","disablePagination","aria-label","aria-labelledby"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"id","mdc-tab--active","class","disabled","fitInkBarToContent"],[1,"mat-mdc-tab-body-wrapper"],["role","tabpanel",3,"id","class","content","position","animationDuration","preserveContent"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"click","cdkFocusChange","id","disabled","fitInkBarToContent"],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"cdkPortalOutlet"],["role","tabpanel",3,"_onCentered","_onCentering","_beforeCentering","id","content","position","animationDuration","preserveContent"]],template:function(i,n){if(i&1){let o=JA();Ht(),m(0,"mat-tab-header",3,0),eA("indexFocused",function(r){return Z(o),X(n._focusChanged(r))})("selectFocusedIndex",function(r){return Z(o),X(n.selectedIndex=r)}),Ut(2,pzA,8,17,"div",4,_i),w(),V(4,wzA,1,0),m(5,"div",5,1),Ut(7,DzA,1,10,"mat-tab-body",6,_i),w()}i&2&&(AA("selectedIndex",n.selectedIndex||0)("disableRipple",n.disableRipple)("disablePagination",n.disablePagination),gp("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby),p(2),Jt(n._tabs),p(2),W(n._isServer?4:-1),p(),ae("_mat-animation-noopable",n._animationsDisabled()),p(2),Jt(n._tabs))},dependencies:[RzA,fgA,l9,ig,Jg,DK],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:100ms}._mat-animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._mat-animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mat-mdc-tab-ripple.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mat-tab-container-height, 48px);font-family:var(--mat-tab-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-tab-active-indicator-height, 2px);border-radius:var(--mat-tab-active-indicator-shape, 0)}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-hover-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-active-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-focus-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-disabled-ripple-color, var(--mat-sys-on-surface-variant))}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-inactive-label-text-color, var(--mat-sys-on-surface));display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-focus-indicator::before{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important} +`],encapsulation:2})}return t})(),yK=class{index;tab};var q7=new yA("LOGO_COMPONENT");var FzA={noSessionsFound:"No sessions found",readonlyChip:"Read-only",filterSessionsLabel:"Search using session ID"},mgA=new yA("Session Tab Messages",{factory:()=>FzA});function _zA(t,e){if(t&1&&(m(0,"div",1)(1,"mat-form-field",4)(2,"mat-label"),K(3),w(),m(4,"mat-icon",5),K(5,"filter_list"),w(),GA(6,"input",6),w()()),t&2){let A=v();p(3),qA(A.i18n.filterSessionsLabel),p(3),AA("formControl",A.filterControl)}}function LzA(t,e){t&1&&(m(0,"div",2),GA(1,"mat-progress-bar",7),w())}function GzA(t,e){if(t&1&&(m(0,"div",3),K(1),w()),t&2){let A=v();p(),qA(A.i18n.noSessionsFound)}}function KzA(t,e){if(t&1&&(m(0,"div",14)(1,"mat-icon"),K(2,"visibility"),w(),K(3),w()),t&2){let A=v(3);p(3),_e(" ",A.i18n.readonlyChip," ")}}function UzA(t,e){if(t&1){let A=JA();m(0,"div",10),eA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.getSession(n.id))}),m(1,"div",11)(2,"div",12),K(3),w(),m(4,"div",13),K(5),w()(),V(6,KzA,4,1,"div",14),ri(7,"async"),w()}if(t&2){let A=e.$implicit,i=v(2);AA("ngClass",A.id===i.sessionId?"session-item current":"session-item"),p(3),qA(A.id),p(2),qA(i.getDate(A)),p(),W(Ci(7,4,i.sessionService.canEdit(i.userId,A))===!1?6:-1)}}function JzA(t,e){t&1&&(m(0,"div",2),GA(1,"mat-progress-bar",7),w())}function YzA(t,e){if(t&1){let A=JA();V(0,JzA,2,0,"div",2),m(1,"div",15)(2,"button",16),eA("click",function(){Z(A);let n=v(2);return X(n.loadMoreSessions())}),K(3,"Load more"),w()()}if(t&2){v(2);let A=Ws(3);W(A?0:-1)}}function TzA(t,e){if(t&1&&(m(0,"div",8),Ut(1,UzA,8,6,"div",9,_i),w(),V(3,YzA,4,1),ri(4,"async")),t&2){let A=v();p(),Jt(A.sessionList),p(2),W(Ci(4,1,A.isSessionFilteringEnabled)&&A.canLoadMoreSessions?3:-1)}}var Xh=class t{userId="";appName="";sessionId="";sessionSelected=new WA;sessionReloaded=new WA;SESSIONS_PAGE_LIMIT=100;sessionList=[];canLoadMoreSessions=!1;pageToken="";filterControl=new Ss("");refreshSessionsSubject=new $A;getSessionSubject=new $A;reloadSessionSubject=new $A;route=h(ag);changeDetectorRef=h(mt);sessionService=h(dl);uiStateService=h(Bl);i18n=h(mgA);featureFlagService=h(vr);isSessionFilteringEnabled=this.featureFlagService.isSessionFilteringEnabled();isLoadingMoreInProgress=jA(!1);constructor(){this.filterControl.valueChanges.pipe(Ps(300)).subscribe(()=>{this.pageToken="",this.sessionList=[],this.refreshSessionsSubject.next()}),this.refreshSessionsSubject.pipe(oi(()=>{this.uiStateService.setIsSessionListLoading(!0)}),ki(()=>{let e=this.filterControl.value||void 0;return this.isSessionFilteringEnabled?this.sessionService.listSessions(this.userId,this.appName,{filter:e,pageToken:this.pageToken,pageSize:this.SESSIONS_PAGE_LIMIT}).pipe(ea(()=>se({items:[],nextPageToken:""}))):this.sessionService.listSessions(this.userId,this.appName).pipe(ea(()=>se({items:[],nextPageToken:""})))}),oi(({items:e,nextPageToken:A})=>{this.sessionList=Array.from(new Map([...this.sessionList,...e].map(i=>[i.id,i])).values()).sort((i,n)=>Number(n.lastUpdateTime)-Number(i.lastUpdateTime)),this.pageToken=A??"",this.canLoadMoreSessions=!!A,this.changeDetectorRef.markForCheck()})).subscribe(()=>{this.isLoadingMoreInProgress.set(!1),this.uiStateService.setIsSessionListLoading(!1)},()=>{this.isLoadingMoreInProgress.set(!1),this.uiStateService.setIsSessionListLoading(!1)}),this.getSessionSubject.pipe(oi(()=>{this.uiStateService.setIsSessionLoading(!0)}),h2(this.featureFlagService.isInfinityMessageScrollingEnabled()),ki(([e,A])=>this.sessionService.getSession(this.userId,this.appName,e).pipe(fe(i=>({response:i,isInfinityScrollingEnabled:A}))).pipe(ea(()=>se(null)))),oi(e=>{if(!e)return;let A=this.fromApiResultToSession(e.response);e.isInfinityScrollingEnabled&&A.id&&this.uiStateService.lazyLoadMessages(A.id,{pageSize:100,pageToken:""}).pipe(To()).subscribe(),this.sessionSelected.emit(A),this.changeDetectorRef.markForCheck()})).subscribe(e=>{this.uiStateService.setIsSessionLoading(!1)},e=>{this.uiStateService.setIsSessionLoading(!1)}),this.reloadSessionSubject.pipe(h2(this.featureFlagService.isInfinityMessageScrollingEnabled()),ki(([e,A])=>this.sessionService.getSession(this.userId,this.appName,e).pipe(fe(i=>({response:i,isInfinityScrollingEnabled:A}))).pipe(ea(()=>se(null)))),oi(e=>{if(!e)return;let A=this.fromApiResultToSession(e.response);e.isInfinityScrollingEnabled&&A.id&&this.uiStateService.lazyLoadMessages(A.id,{pageSize:100,pageToken:""},!0).pipe(To()).subscribe(),this.sessionReloaded.emit(A),this.changeDetectorRef.markForCheck()})).subscribe()}ngOnInit(){this.featureFlagService.isSessionFilteringEnabled().subscribe(e=>{if(e){let A=this.route.snapshot.queryParams.session;A&&this.filterControl.setValue(A)}}),setTimeout(()=>{this.refreshSessionsSubject.next()},500)}getSession(e){e&&this.getSessionSubject.next(e)}loadMoreSessions(){this.isLoadingMoreInProgress.set(!0),this.refreshSessionsSubject.next()}getDate(e){let A=e.lastUpdateTime||0;return new Date(A*1e3).toLocaleString()}fromApiResultToSession(e){return{id:e.id??"",appName:e.appName??"",userId:e.userId??"",state:e.state??{},events:e.events??[]}}reloadSession(e){this.reloadSessionSubject.next(e)}refreshSession(e){let A=null;if(this.sessionList.length>0){let i=this.sessionList.findIndex(n=>n.id===e);i===this.sessionList.length-1&&(i=-1),A=this.sessionList[i+1]}return this.isSessionFilteringEnabled?this.filterControl.setValue(""):(this.sessionList=[],this.refreshSessionsSubject.next()),A}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-session-tab"]],inputs:{userId:"userId",appName:"appName",sessionId:"sessionId"},outputs:{sessionSelected:"sessionSelected",sessionReloaded:"sessionReloaded"},decls:8,vars:7,consts:[[1,"session-wrapper"],[1,"session-filter-container"],[1,"loading-spinner-container"],[1,"empty-state"],["appearance","outline",1,"session-filter"],["matPrefix",""],["matInput","",3,"formControl"],["mode","indeterminate"],[1,"session-tab-container",2,"margin-top","16px"],[3,"ngClass"],[3,"click","ngClass"],[1,"session-info"],[1,"session-id"],[1,"session-date"],[1,"readonly-badge"],[1,"load-more"],["mat-button","","color","primary",3,"click"]],template:function(A,i){if(A&1&&(m(0,"div",0),V(1,_zA,7,2,"div",1),ri(2,"async"),Ur(3),ri(4,"async"),V(5,LzA,2,0,"div",2)(6,GzA,2,1,"div",3)(7,TzA,5,3),w()),A&2){p(),W(Ci(2,2,i.isSessionFilteringEnabled)?1:-1),p(2);let n=_g(Ci(4,4,i.uiStateService.isSessionListLoading()));p(2),W(n&&!i.isLoadingMoreInProgress()?5:!n&&i.sessionList.length===0?6:7)}},dependencies:[gs,y7,fn,Yr,ta,Zl,y9,rl,Ka,Nn,uo,fo,r0,v1,Fs,Fn,cl,ls],styles:[".session-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px;font-size:14px;font-weight:700;color:var(--session-tab-session-wrapper-color);display:flex;flex-direction:column;overflow:hidden;height:100%}.session-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:initial;padding-top:1em;text-align:center;font-weight:400;font-style:italic}.session-wrapper[_ngcontent-%COMP%] .session-filter-container[_ngcontent-%COMP%]{background-color:var(--session-tab-session-filter-container-background-color);border-radius:8px;padding:16px;margin-bottom:16px;margin-top:16px}.session-wrapper[_ngcontent-%COMP%] .session-filter[_ngcontent-%COMP%]{width:100%}.session-wrapper[_ngcontent-%COMP%] .session-filter[_ngcontent-%COMP%] .mdc-floating-label--float-above{background-color:var(--session-tab-session-filter-container-background-color)}.session-tab-container[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.session-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;border:none;background-color:var(--session-tab-session-item-background-color);border-radius:8px;margin-bottom:4px;cursor:pointer}.session-item[_ngcontent-%COMP%]:hover{background-color:var(--session-tab-session-item-hover-background-color)}.session-item.current[_ngcontent-%COMP%]{background-color:var(--session-tab-session-item-current-background-color)}.session-item[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{margin-right:11px}.session-id[_ngcontent-%COMP%]{color:var(--session-tab-session-id-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.session-date[_ngcontent-%COMP%]{color:var(--session-tab-session-date-color);font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.3px}.session-info[_ngcontent-%COMP%]{padding:11px}.loading-spinner-container[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;margin-top:2em;width:100%}.load-more[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-top:1em}.readonly-badge[_ngcontent-%COMP%]{color:var(--chat-readonly-badge-color);background-color:var(--chat-readonly-badge-background-color);border-radius:4px;padding:1px 6px;display:flex;align-items:center;margin-right:8px;font-size:12px;line-height:16px;gap:4px;white-space:nowrap}.readonly-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;padding-top:1px;flex-shrink:0}"]})};var HzA={stateIsEmpty:"State is empty"},pgA=new yA("State Tab Messages",{factory:()=>HzA});function zzA(t,e){if(t&1&&(m(0,"div",1),K(1),w()),t&2){let A=v();p(),qA(A.i18n.stateIsEmpty)}}function OzA(t,e){if(t&1&&(m(0,"div"),GA(1,"ngx-json-viewer",2),w()),t&2){let A=v();p(),AA("json",A.sessionState)}}var V7=class t{sessionState;i18n=h(pgA);get isEmptyState(){return!this.sessionState||Object.keys(this.sessionState).length===0}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-state-tab"]],inputs:{sessionState:"sessionState"},decls:3,vars:1,consts:[[1,"state-wrapper"],[1,"empty-state"],[3,"json"]],template:function(A,i){A&1&&(m(0,"div",0),V(1,zzA,2,1,"div",1)(2,OzA,2,1,"div"),w()),A&2&&(p(),W(i.isEmptyState?1:2))},dependencies:[B0,Y2],styles:[".state-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px;margin-top:16px}.state-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;font-style:italic}"]})};function PzA(t,e){t&1&&Li(0,"div",8)}function jzA(t,e){if(t&1&&(ci(0,"span",14),K(1),fi()),t&2){let A=v().$implicit,i=v();wn("left",i.getRelativeStart(A.span)+5,"%"),p(),_e("",(i.toMs(A.span.end_time)-i.toMs(A.span.start_time)).toFixed(2),"ms")}}function qzA(t,e){if(t&1){let A=JA();ci(0,"div",5),f2("click",function(){let n=Z(A).$implicit,o=v();return X(o.selectRow(n))})("mouseenter",function(){let n=Z(A).$implicit,o=v();return X(o.onHover(n))})("mouseleave",function(){Z(A);let n=v();return X(n.onHoverOut())}),ci(1,"div",6)(2,"div",7),Ut(3,PzA,1,0,"div",8,wB),fi(),ci(5,"span",9),K(6),fi(),ci(7,"div",10),K(8),fi()(),ci(9,"div",11)(10,"div",12),K(11),fi(),V(12,jzA,2,3,"span",13),fi()()}if(t&2){let A=e.$implicit,i=v();ae("selected",i.rowSelected(A)),p(3),Jt(i.getArray(A.level)),p(2),ae("is-event-row",i.isEventRow(A)),p(),_e(" ",i.getSpanIcon(A.span.name)," "),p(),wn("width",400-A.level*20,"px"),ae("is-event-row",i.isEventRow(A)),p(),_e(" ",A.span.name," "),p(2),wn("left",i.getRelativeStart(A.span),"%")("width",i.getRelativeWidth(A.span),"%"),p(),_e(" ",(i.toMs(A.span.end_time)-i.toMs(A.span.start_time)).toFixed(2),"ms "),p(),W(i.getRelativeWidth(A.span)<10?12:-1)}}var W7=class t{spans=[];invocationId="";tree=[];eventData;baseStartTimeMs=0;totalDurationMs=1;flatTree=[];traceLabelIconMap=new Map([["Invocation","start"],["agent_run","robot"],["invoke_agent","robot_2"],["tool","build"],["execute_tool","build"],["call_llm","chat"]]);selectedRow=void 0;traceService=h(T2);constructor(){}ngOnInit(){this.tree=this.buildSpanTree(this.spans),this.flatTree=this.flattenTree(this.tree);let e=this.getGlobalTimes(this.spans);this.baseStartTimeMs=e.start,this.totalDurationMs=e.duration,this.traceService.selectedTraceRow$.subscribe(A=>this.selectedRow=A),this.traceService.eventData$.subscribe(A=>this.eventData=A)}buildSpanTree(e){let A=e.map(o=>gA({},o)),i=new Map,n=[];return A.forEach(o=>i.set(o.span_id,o)),A.forEach(o=>{if(o.parent_span_id&&i.has(o.parent_span_id)){let a=i.get(o.parent_span_id);a.children=a.children||[],a.children.push(o)}else n.push(o)}),n}getGlobalTimes(e){let A=Math.min(...e.map(n=>this.toMs(n.start_time))),i=Math.max(...e.map(n=>this.toMs(n.end_time)));return{start:A,duration:i-A}}toMs(e){return e/1e6}getRelativeStart(e){return(this.toMs(e.start_time)-this.baseStartTimeMs)/this.totalDurationMs*100}getRelativeWidth(e){return(this.toMs(e.end_time)-this.toMs(e.start_time))/this.totalDurationMs*100}flattenTree(e,A=0){return e.flatMap(n=>[{span:n,level:A},...n.children?this.flattenTree(n.children,A+1):[]])}getSpanIcon(e){for(let[A,i]of this.traceLabelIconMap.entries())if(e.startsWith(A))return i;return"start"}getArray(e){return Array.from({length:e})}selectRow(e){if(this.selectedRow&&this.selectedRow.span_id==e.span.span_id){this.traceService.selectedRow(void 0),this.traceService.setHoveredMessages(void 0,this.invocationId);return}this.traceService.selectedRow(e.span),this.traceService.setHoveredMessages(e.span,this.invocationId)}rowSelected(e){return this.selectedRow==e.span}isEventRow(e){if(!e.span.attributes)return!1;let A=e?.span.attributes["gcp.vertex.agent.event_id"];return!!(A&&this.eventData&&this.eventData.has(A))}onHover(e){this.traceService.setHoveredMessages(e.span,this.invocationId)}onHoverOut(){this.traceService.setHoveredMessages(void 0,this.invocationId),this.selectedRow&&this.traceService.setHoveredMessages(this.selectedRow,this.invocationId)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-trace-tree"]],inputs:{spans:"spans",invocationId:"invocationId"},decls:8,vars:1,consts:[[2,"margin-top","15px"],[1,"invocation-id-container"],[1,"invocation-id"],[1,"trace-container"],[1,"trace-row",3,"selected"],[1,"trace-row",3,"click","mouseenter","mouseleave"],[1,"trace-row-left"],[1,"trace-indent"],[1,"indent-connector"],[1,"material-symbols-outlined",2,"margin-right","8px"],[1,"trace-label"],[1,"trace-bar-container"],[1,"trace-bar"],[1,"short-trace-bar-duration",3,"left"],[1,"short-trace-bar-duration"]],template:function(A,i){A&1&&(ci(0,"div",0)(1,"div",1),K(2,"Invocation ID: "),ci(3,"div",2),K(4),fi()(),ci(5,"div",3),Ut(6,qzA,13,16,"div",4,_i),fi()()),A&2&&(p(4),qA(i.invocationId),p(2),Jt(i.flatTree))},styles:[".trace-container[_ngcontent-%COMP%]{width:100%;white-space:nowrap;font-size:12px}.trace-label[_ngcontent-%COMP%]{width:400px;color:var(--trace-tree-trace-label-color);font-family:Google Sans Mono,monospace;font-size:13px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:0px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-bar-container[_ngcontent-%COMP%]{width:100%;position:relative;height:16px}.trace-bar[_ngcontent-%COMP%]{position:absolute;height:18px;background-color:var(--trace-tree-trace-bar-background-color);border-radius:4px;padding-left:4px;overflow:hidden;font-size:11px;line-height:16px;color:var(--trace-tree-trace-bar-color);font-family:Google Sans}.short-trace-bar-duration[_ngcontent-%COMP%]{position:absolute;color:var(--trace-tree-short-trace-bar-duration-color)}.trace-duration[_ngcontent-%COMP%]{color:var(--trace-tree-trace-duration-color);font-weight:400;margin-left:4px}.trace-row[_ngcontent-%COMP%]{display:flex;align-items:stretch;position:relative;height:32px;align-items:center;cursor:pointer}.trace-row[_ngcontent-%COMP%]:hover{background-color:var(--trace-tree-trace-row-hover-background-color)}.trace-row.selected[_ngcontent-%COMP%]{background-color:var(--trace-tree-trace-row-selected-background-color)}.trace-indent[_ngcontent-%COMP%]{display:flex;flex-shrink:0;height:100%}.indent-connector[_ngcontent-%COMP%]{width:20px;position:relative;height:100%}.vertical-line[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:9px;width:1px;background-color:var(--trace-tree-vertical-line-background-color)}.horizontal-line[_ngcontent-%COMP%]{position:absolute;top:50%;left:9px;width:10px;height:1px;background-color:var(--trace-tree-horizontal-line-background-color)}.trace-row-left[_ngcontent-%COMP%]{display:flex;width:50%}.invocation-id-container[_ngcontent-%COMP%]{color:var(--trace-tree-invocation-id-container-color);font-size:14px;font-style:normal;font-weight:700;line-height:20px;letter-spacing:0px;margin-bottom:5px}.invocation-id[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace}.trace-row-left[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .trace-row-left[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{color:var(--trace-tree-trace-row-left-span-div-color)}.trace-row-left[_ngcontent-%COMP%] .is-event-row[_ngcontent-%COMP%]{color:var(--trace-tree-trace-row-left-is-event-row-color)}"]})};var VzA={noInvocationsFound:"No invocations found",invocationsTitle:"Invocations"},wgA=new yA("Trace Tab Messages",{factory:()=>VzA});function WzA(t,e){if(t&1&&(m(0,"div",1),K(1),w()),t&2){let A=v();p(),qA(A.i18n.noInvocationsFound)}}function ZzA(t,e){if(t&1&&(m(0,"div",4)(1,"mat-expansion-panel")(2,"mat-expansion-panel-header")(3,"mat-panel-title"),K(4),w()(),GA(5,"app-trace-tree",5),w()()),t&2){let A=e.$implicit,i=v(2);p(4),_e(" ",i.invocToUserMsg.get(A.key)," "),p(),AA("spans",A.value)("invocationId",i.findInvocIdFromTraceId(A.key))}}function XzA(t,e){if(t&1&&(m(0,"h2",2),K(1),w(),m(2,"div",3),Ut(3,ZzA,6,3,"div",4,_i),ri(5,"keyvalue"),w()),t&2){let A=v();p(),qA(A.i18n.invocationsTitle),p(2),Jt(pU(5,1,A.invocTraces,A.mapOrderPreservingSort))}}var Z7=class t{traceData=[];invocTraces=new Map;invocToUserMsg=new Map;i18n=h(wgA);constructor(){}ngOnInit(){}ngOnChanges(e){"traceData"in e&&this.rebuildTrace()}rebuildTrace(){this.invocTraces=this.traceData.reduce((e,A)=>{let i=A.trace_id,n=e.get(i);return n?(n.push(A),n.sort((o,a)=>o.start_time-a.start_time)):e.set(i,[A]),e},new Map);for(let[e,A]of this.invocTraces)this.invocToUserMsg.set(e,this.findUserMsgFromInvocGroup(A))}getArray(e){return Array.from({length:e})}findUserMsgFromInvocGroup(e){let A=e?.find(i=>i.attributes!==void 0&&"gcp.vertex.agent.invocation_id"in i.attributes&&"gcp.vertex.agent.llm_request"in i.attributes);if(!A)return"[no invocation id found]";try{return JSON.parse(A.attributes["gcp.vertex.agent.llm_request"]).contents.filter(o=>o.role=="user").at(-1)?.parts[0]?.text??"[attachment]"}catch{return"[error parsing request]"}}findInvocIdFromTraceId(e){return this.invocTraces.get(e)?.find(i=>i.attributes!==void 0&&"gcp.vertex.agent.invocation_id"in i.attributes).attributes["gcp.vertex.agent.invocation_id"]}mapOrderPreservingSort=(e,A)=>0;static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-trace-tab"]],inputs:{traceData:"traceData"},features:[ti],decls:3,vars:1,consts:[[1,"trace-wrapper"],[1,"empty-state"],["mat-dialog-title","",1,"trace-title"],[1,"trace-list-wrapper"],[1,"trace-item"],[3,"spans","invocationId"]],template:function(A,i){A&1&&(m(0,"div",0),V(1,WzA,2,1,"div",1)(2,XzA,6,4),w()),A&2&&(p(),W(i.invocTraces.size===0?1:2))},dependencies:[Ua,Ok,NO,FO,W7,Ip],styles:[".trace-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px}.trace-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{padding-top:1em;text-align:center;font-style:italic}.trace-container[_ngcontent-%COMP%]{width:100%;white-space:nowrap;font-size:12px}.trace-title[_ngcontent-%COMP%]{color:var(--trace-tab-trace-title-color);font-size:14px;font-style:normal;font-weight:700;line-height:20px;letter-spacing:0px}.trace-label[_ngcontent-%COMP%]{width:400px;color:var(--trace-tab-trace-label-color);text-overflow:ellipsis;font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:0px}.trace-bar-container[_ngcontent-%COMP%]{width:50vw;position:relative;height:16px}.trace-bar[_ngcontent-%COMP%]{position:absolute;height:18px;background-color:var(--trace-tab-trace-bar-background-color);border-radius:4px;padding-left:4px;overflow:hidden;font-size:11px;line-height:16px;color:var(--trace-tab-trace-bar-color);font-family:Google Sans}.trace-duration[_ngcontent-%COMP%]{color:var(--trace-tab-trace-duration-color);font-weight:400;margin-left:4px}.trace-row[_ngcontent-%COMP%]{display:flex;align-items:stretch;position:relative;height:32px}.trace-indent[_ngcontent-%COMP%]{display:flex;flex-shrink:0;height:100%}.indent-connector[_ngcontent-%COMP%]{width:20px;position:relative;height:100%}.vertical-line[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:9px;width:1px;background-color:var(--trace-tab-vertical-line-background-color)}.horizontal-line[_ngcontent-%COMP%]{position:absolute;top:50%;left:9px;width:10px;height:1px;background-color:var(--trace-tab-horizontal-line-background-color)}.trace-item[_ngcontent-%COMP%]{margin-top:5px;--mat-expansion-container-background-color: var(--trace-tab-trace-item-container-background-color);--mat-expansion-header-focus-state-layer-color: var(--trace-tab-trace-item-header-focus-state-layer-color);--mat-expansion-header-description-color: var(--trace-tab-trace-item-header-description-color);--mat-expansion-header-text-size: 15}.trace-item[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded:focus{background-color:var(--trace-tab-mat-expansion-panel-header-focus-background-color)}.trace-item[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded{background-color:var(--trace-tab-mat-expansion-panel-header-background-color)}.trace-item[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded:hover{background-color:var(--trace-tab-mat-expansion-panel-header-hover-background-color)} .mat-expansion-panel-header-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden} .mat-expansion-panel-header-description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}"]})};var $zA={agentDevelopmentKitLabel:"Agent Development Kit",collapsePanelTooltip:"Collapse panel",traceTabLabel:"Trace",eventsTabLabel:"Events",stateTabLabel:"State",artifactsTabLabel:"Artifacts",sessionsTabLabel:"Sessions",evalTabLabel:"Eval",selectEventAriaLabel:"Select event",eventDetailsTabLabel:"Event",requestDetailsTabLabel:"Request",responseDetailsTabLabel:"Response",responseIsNotAvailable:"Response is not available",requestIsNotAvailable:"Request is not available"},DgA=new yA("Side Panel Messages",{factory:()=>$zA});var AOA=["evalTabContainer"];function eOA(t,e){t&1&&on(0)}function tOA(t,e){if(t&1&&(m(0,"div"),vt(1,eOA,1,0,"ng-container",13),m(2,"div",14),K(3,"Powered by Agent Development Kit"),w()()),t&2){let A=v(2);p(),AA("ngComponentOutlet",A.logoComponent)}}function iOA(t,e){if(t&1&&(GA(0,"img",15),K(1)),t&2){let A=v(2);p(),_e(" ",A.i18n.agentDevelopmentKitLabel," ")}}function nOA(t,e){if(t&1&&(m(0,"mat-option",21),K(1),w()),t&2){let A=e.$implicit;AA("value",A),p(),qA(A)}}function oOA(t,e){t&1&&Ut(0,nOA,2,2,"mat-option",21,_i),t&2&&Jt(e)}function aOA(t,e){if(t&1&&(m(0,"mat-option",21),K(1),w()),t&2){let A=v(3);AA("value",A.selectedAppControl().value),p(),qA(A.selectedAppControl().value)}}function rOA(t,e){if(t&1){let A=JA();m(0,"div",22)(1,"mat-icon",23),eA("click",function(){Z(A);let n=v(3);return X(n.openAddItemDialog.emit(!0))}),K(2,"add"),w(),m(3,"mat-icon",24),eA("click",function(){Z(A);let n=v(3);return X(!n.disableBuilderIcon()&&n.enterBuilderMode.emit(!0))}),K(4,"edit"),w()()}if(t&2){let A=v(3);p(3),wn("cursor",A.disableBuilderIcon()?"not-allowed":"pointer")("opacity",A.disableBuilderIcon()?"0.5":"1")("margin-right",32,"px"),AA("matTooltip",A.disableBuilderIcon()?"This agent was not built by builder":"Edit in Builder Mode")}}function sOA(t,e){if(t&1){let A=JA();m(0,"div",12)(1,"div",16)(2,"mat-select",17),eA("selectionChange",function(n){Z(A);let o=v(2);return X(o.appSelectionChange.emit(n))})("openedChange",function(){Z(A);let n=v(2);return X(n.agentSearchControl.setValue(""))}),m(3,"mat-option",18),eA("click",function(n){return Z(A),X(n.stopPropagation())}),m(4,"mat-form-field",19),eA("click",function(n){return Z(A),X(n.stopPropagation())}),m(5,"input",20),eA("click",function(n){return Z(A),X(n.stopPropagation())})("keydown",function(n){return Z(A),X(n.stopPropagation())}),w()()(),V(6,oOA,2,0),ri(7,"async"),V(8,aOA,2,2,"mat-option",21),w()(),V(9,rOA,5,7,"div",22),w()}if(t&2){let A,i=v(2);p(2),AA("placeholder",i.isLoadingApps()()?"Loading...":"Select an agent")("formControl",i.selectedAppControl()),p(),AA("value",null),p(2),AA("formControl",i.agentSearchControl),p(),W((A=Ci(7,7,i.filteredApps$))?6:-1,A),p(2),W(i.selectedAppControl().value&&i.isLoadingApps()()?8:-1),p(),W(i.isBuilderMode()?-1:9)}}function gOA(t,e){if(t&1){let A=JA();m(0,"div",6)(1,"div",7)(2,"div",8)(3,"div",9),V(4,tOA,4,1,"div")(5,iOA,2,1),w(),m(6,"div",10),GA(7,"app-theme-toggle"),m(8,"span",11),eA("click",function(){Z(A);let n=v();return X(n.closePanel.emit())}),K(9,"left_panel_close"),w()()()()(),V(10,sOA,10,9,"div",12),ri(11,"async")}if(t&2){let A=v();p(4),W(A.logoComponent?4:5),p(4),AA("matTooltip",D1(A.i18n.collapsePanelTooltip)),p(2),W(Ci(11,4,A.isApplicationSelectorEnabledObs())?10:-1)}}function lOA(t,e){t&1&&(m(0,"div",2),GA(1,"mat-progress-spinner",25),w())}function cOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.sessionsTabLabel)}}function COA(t,e){t&1&&on(0)}function IOA(t,e){if(t&1&&(m(0,"mat-tab",27),vt(1,cOA,2,1,"ng-template",28)(2,COA,1,0,"ng-container",30),w()),t&2){v();let A=An(16);p(2),AA("ngTemplateOutlet",A)}}function dOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.traceTabLabel)}}function BOA(t,e){if(t&1&&(m(0,"mat-tab",27),vt(1,dOA,2,1,"ng-template",28),GA(2,"app-trace-tab",32),w()),t&2){let A=v(2);p(2),AA("traceData",A.traceData())}}function EOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(2);p(),qA(A.i18n.stateTabLabel)}}function QOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.artifactsTabLabel)}}function hOA(t,e){if(t&1&&(m(0,"mat-tab"),vt(1,QOA,2,1,"ng-template",28),GA(2,"app-artifact-tab",33),w()),t&2){let A=v(2);p(2),AA("artifacts",A.artifacts())}}function uOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.sessionsTabLabel)}}function fOA(t,e){t&1&&on(0)}function mOA(t,e){if(t&1&&(m(0,"mat-tab",27),vt(1,uOA,2,1,"ng-template",28)(2,fOA,1,0,"ng-container",30),w()),t&2){v();let A=An(16);p(2),AA("ngTemplateOutlet",A)}}function pOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.evalTabLabel)}}function wOA(t,e){t&1&&(m(0,"mat-tab"),vt(1,pOA,2,1,"ng-template",28),on(2,null,1),w())}function DOA(t,e){if(t&1){let A=JA();m(0,"app-session-tab",34),eA("sessionSelected",function(n){Z(A);let o=v(2);return X(o.sessionSelected.emit(n))})("sessionReloaded",function(n){Z(A);let o=v(2);return X(o.sessionReloaded.emit(n))}),w()}if(t&2){let A=v(2);AA("userId",A.userId())("appName",A.appName())("sessionId",A.sessionId())}}function yOA(t,e){if(t&1){let A=JA();m(0,"div",3)(1,"mat-tab-group",26),eA("selectedTabChange",function(n){Z(A);let o=v();return X(o.tabChange.emit(n))}),Ur(2),ri(3,"async"),V(4,IOA,3,1,"mat-tab",27),V(5,BOA,3,1,"mat-tab",27),ri(6,"async"),m(7,"mat-tab"),vt(8,EOA,2,1,"ng-template",28),GA(9,"app-state-tab",29),w(),V(10,hOA,3,1,"mat-tab"),ri(11,"async"),V(12,mOA,3,1,"mat-tab",27),V(13,wOA,4,0,"mat-tab"),ri(14,"async"),w(),vt(15,DOA,1,3,"ng-template",null,0,m2),w()}if(t&2){let A=v(),i=Ws(2);AA("hidden",i);let n=Ci(3,7,A.isSessionsTabReorderingEnabledObs);p(4),W(n?4:-1),p(),W(Ci(6,9,A.isTraceEnabledObs)?5:-1),p(4),AA("sessionState",A.currentSessionState()),p(),W(Ci(11,11,A.isArtifactsTabEnabledObs)?10:-1),p(2),W(n?-1:12),p(),W(Ci(14,13,A.isEvalEnabledObs)?13:-1)}}function vOA(t,e){if(t&1){let A=JA();m(0,"div",47),eA("click",function(){Z(A);let n=v(3);return X(n.openImageDialog.emit(n.rawSvgString()))}),w()}if(t&2){let A=v(3);AA("innerHtml",A.renderedEventGraph(),ol)}}function bOA(t,e){if(t&1&&(m(0,"div",41),V(1,vOA,1,1,"div",46),w()),t&2){let A=v(2);p(),W(A.renderedEventGraph()?1:-1)}}function MOA(t,e){t&1&&(m(0,"div",48),GA(1,"mat-progress-spinner",25),w())}function kOA(t,e){if(t&1&&(m(0,"div",49),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.requestIsNotAvailable)}}function SOA(t,e){if(t&1&&(m(0,"div",42),GA(1,"ngx-json-viewer",43),w()),t&2){let A=v(3);p(),AA("json",A.llmRequest())}}function xOA(t,e){if(t&1&&(m(0,"mat-tab",40),V(1,MOA,2,0,"div",48),ri(2,"async"),nC(3,kOA,2,1,"div",49)(4,SOA,2,1,"div",42),w()),t&2){let A=v(2);AA("label",D1(A.i18n.requestDetailsTabLabel)),p(),W(Ci(2,3,A.uiStateService.isEventRequestResponseLoading())===!0?1:A.llmRequest()?4:3)}}function ROA(t,e){t&1&&(m(0,"div",48),GA(1,"mat-progress-spinner",25),w())}function NOA(t,e){if(t&1&&(m(0,"div",49),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.responseIsNotAvailable)}}function FOA(t,e){if(t&1&&(m(0,"div",42),GA(1,"ngx-json-viewer",43),w()),t&2){let A=v(3);p(),AA("json",A.llmResponse())}}function _OA(t,e){if(t&1&&(m(0,"mat-tab",40),V(1,ROA,2,0,"div",48),ri(2,"async"),nC(3,NOA,2,1,"div",49)(4,FOA,2,1,"div",42),w()),t&2){let A=v(2);AA("label",D1(A.i18n.responseDetailsTabLabel)),p(),W(Ci(2,3,A.uiStateService.isEventRequestResponseLoading())===!0?1:A.llmResponse()?4:3)}}function LOA(t,e){if(t&1&&(m(0,"mat-tab",44)(1,"div",42),GA(2,"ngx-json-viewer",43),w()()),t&2){let A,i=v(2);p(2),AA("json",(A=i.selectedEvent())==null||A.actions==null?null:A.actions.stateDelta)}}function GOA(t,e){if(t&1&&(m(0,"mat-tab",45),GA(1,"app-artifact-tab",33),w()),t&2){let A=v(2);p(),AA("artifacts",A.artifactDeltaArray())}}function KOA(t,e){if(t&1){let A=JA();m(0,"div",4)(1,"div",35)(2,"div",36)(3,"mat-paginator",37),eA("page",function(n){Z(A);let o=v();return X(o.page.emit(n))}),w(),m(4,"button",38)(5,"mat-icon",39),eA("click",function(){Z(A);let n=v();return X(n.closeSelectedEvent.emit())}),K(6,"close"),w()()()(),m(7,"div")(8,"mat-tab-group")(9,"mat-tab",40),V(10,bOA,2,1,"div",41),m(11,"div",42),GA(12,"ngx-json-viewer",43),w()(),V(13,xOA,5,5,"mat-tab",40),ri(14,"async"),V(15,_OA,5,5,"mat-tab",40),ri(16,"async"),V(17,LOA,3,1,"mat-tab",44),V(18,GOA,2,1,"mat-tab",45),w()()()}if(t&2){let A,i,n,o=v(),a=Ws(2);AA("hidden",a),p(3),AA("length",o.eventData().size)("pageSize",1)("pageIndex",o.selectedEventIndex()),ie("aria-label",o.i18n.selectEventAriaLabel),p(6),AA("label",D1(o.i18n.eventDetailsTabLabel)),p(),W(((A=o.selectedEvent())==null?null:A.author)!=="user"?10:-1),p(2),AA("json",o.selectedEvent()),p(),W(Ci(14,13,o.uiStateService.isEventRequestResponseLoading())===!0||o.llmRequest()&&o.Object.keys(o.llmRequest()).length>0?13:-1),p(2),W(Ci(16,15,o.uiStateService.isEventRequestResponseLoading())===!0||o.llmResponse()&&o.Object.keys(o.llmResponse()).length>0?15:-1),p(2),W(!((i=o.selectedEvent())==null||i.actions==null)&&i.actions.stateDelta&&o.Object.keys((i=o.selectedEvent())==null||i.actions==null?null:i.actions.stateDelta).length>0?17:-1),p(),W(!((n=o.selectedEvent())==null||n.actions==null)&&n.actions.artifactDelta&&o.Object.keys((n=o.selectedEvent())==null||n.actions==null?null:n.actions.artifactDelta).length>0?18:-1)}}var $h=class t{Object=Object;appName=at("");userId=at("");sessionId=at("");traceData=at([]);eventData=at(new Map);currentSessionState=at();artifacts=at([]);selectedEvent=at();selectedEventIndex=at();renderedEventGraph=at();rawSvgString=at(null);llmRequest=at();llmResponse=at();showSidePanel=at(!1);isApplicationSelectorEnabledObs=at(se(!1));apps$=at(se([]));isLoadingApps=at(jA(!1));selectedAppControl=at(new Ss("",{nonNullable:!0}));isBuilderMode=at(!1);disableBuilderIcon=at(!1);closePanel=Oo();appSelectionChange=Oo();tabChange=Oo();sessionSelected=Oo();sessionReloaded=Oo();evalCaseSelected=Oo();evalSetIdSelected=Oo();returnToSession=Oo();evalNotInstalled=Oo();page=Oo();closeSelectedEvent=Oo();openImageDialog=Oo();openAddItemDialog=Oo();enterBuilderMode=Oo();sessionTabComponent=ca(Xh);evalTabComponent=ca(Xc);evalTabContainer=ca("evalTabContainer",{read:Ho});logoComponent=h(q7,{optional:!0});i18n=h(DgA);featureFlagService=h(vr);evalTabComponentClass=h(P7,{optional:!0});environmentInjector=h(Gr);uiStateService=h(Bl);isAlwaysOnSidePanelEnabledObs=this.featureFlagService.isAlwaysOnSidePanelEnabled();isTraceEnabledObs=this.featureFlagService.isTraceEnabled();isArtifactsTabEnabledObs=this.featureFlagService.isArtifactsTabEnabled();isEvalEnabledObs=this.featureFlagService.isEvalEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isMessageFileUploadEnabledObs=this.featureFlagService.isMessageFileUploadEnabled();isManualStateUpdateEnabledObs=this.featureFlagService.isManualStateUpdateEnabled();isBidiStreamingEnabledObs=this.featureFlagService.isBidiStreamingEnabled;isSessionsTabReorderingEnabledObs=this.featureFlagService.isSessionsTabReorderingEnabled();agentSearchControl=new Ss("",{nonNullable:!0});filteredApps$=$n(this.apps$).pipe(ki(e=>cr([e,this.agentSearchControl.valueChanges.pipe(cn(""))])),fe(([e,A])=>{if(!e||!A||A.trim()==="")return e;let i=A.toLowerCase().trim();return e.filter(n=>n.toLowerCase().startsWith(i))}));artifactDeltaArray=Ke(()=>{let e=this.selectedEvent()?.actions?.artifactDelta;if(!e||Object.keys(e).length===0)return[];let A=[];for(let[i,n]of Object.entries(e)){let o=n;A.push({id:i,versionId:1,data:o.data||"",mimeType:o.mimeType||"",mediaType:H4(o.mimeType||"")})}return A});ngAfterViewInit(){setTimeout(()=>{this.initEvalTab()},500)}initEvalTab(){this.isEvalEnabledObs.pipe(To()).subscribe(e=>{if(e){let A=this.evalTabContainer()?.createComponent(this.evalTabComponentClass??Xc,{environmentInjector:this.environmentInjector});if(!A)return;ir(this.environmentInjector,()=>{La(()=>{A.setInput("appName",this.appName()),A.setInput("userId",this.userId()),A.setInput("sessionId",this.sessionId())})}),A.instance.sessionSelected.subscribe(i=>{this.sessionSelected.emit(i)}),A.instance.evalCaseSelected.subscribe(i=>{this.evalCaseSelected.emit(i)}),A.instance.evalSetIdSelected.subscribe(i=>{this.evalSetIdSelected.emit(i)}),A.instance.shouldReturnToSession.subscribe(i=>{this.returnToSession.emit(i)}),A.instance.evalNotInstalledMsg.subscribe(i=>{this.evalNotInstalled.emit(i)})}})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-side-panel"]],viewQuery:function(A,i){A&1&&rs(i.sessionTabComponent,Xh,5)(i.evalTabComponent,Xc,5)(i.evalTabContainer,AOA,5,Ho),A&2&&wr(3)},inputs:{appName:[1,"appName"],userId:[1,"userId"],sessionId:[1,"sessionId"],traceData:[1,"traceData"],eventData:[1,"eventData"],currentSessionState:[1,"currentSessionState"],artifacts:[1,"artifacts"],selectedEvent:[1,"selectedEvent"],selectedEventIndex:[1,"selectedEventIndex"],renderedEventGraph:[1,"renderedEventGraph"],rawSvgString:[1,"rawSvgString"],llmRequest:[1,"llmRequest"],llmResponse:[1,"llmResponse"],showSidePanel:[1,"showSidePanel"],isApplicationSelectorEnabledObs:[1,"isApplicationSelectorEnabledObs"],apps$:[1,"apps$"],isLoadingApps:[1,"isLoadingApps"],selectedAppControl:[1,"selectedAppControl"],isBuilderMode:[1,"isBuilderMode"],disableBuilderIcon:[1,"disableBuilderIcon"]},outputs:{closePanel:"closePanel",appSelectionChange:"appSelectionChange",tabChange:"tabChange",sessionSelected:"sessionSelected",sessionReloaded:"sessionReloaded",evalCaseSelected:"evalCaseSelected",evalSetIdSelected:"evalSetIdSelected",returnToSession:"returnToSession",evalNotInstalled:"evalNotInstalled",page:"page",closeSelectedEvent:"closeSelectedEvent",openImageDialog:"openImageDialog",openAddItemDialog:"openAddItemDialog",enterBuilderMode:"enterBuilderMode"},decls:8,vars:9,consts:[["sessionsTabBody",""],["evalTabContainer",""],[1,"loading-spinner-container"],[1,"tabs-container",3,"hidden"],[1,"details-panel-container",3,"hidden"],[1,"resize-handler"],[2,"margin-top","20px","margin-left","20px","display","flex"],[2,"width","100%"],[1,"drawer-header"],[1,"drawer-logo"],[2,"display","flex","align-items","center","gap","8px"],[1,"material-symbols-outlined",2,"color","#c4c7c5","cursor","pointer","margin-right","15px",3,"click","matTooltip"],[1,"app-actions"],[4,"ngComponentOutlet"],[1,"powered-by-adk"],["src","assets/ADK-512-color.svg","width","32px","height","32px"],[1,"app-select-container"],["panelClass","wide-agent-dropdown-panel",1,"app-select",3,"selectionChange","openedChange","placeholder","formControl"],[1,"search-option",3,"click","value"],["subscriptSizing","dynamic",1,"agent-search-field",3,"click"],["matInput","","placeholder","Search agents...",3,"click","keydown","formControl"],[1,"app-name-option",3,"value"],[1,"mode-toggle-container"],["matTooltip","Create new agent","matTooltipPosition","below",2,"cursor","pointer","margin-right","16px",3,"click"],[3,"click","matTooltip"],["mode","indeterminate","diameter","50"],[3,"selectedTabChange"],[1,"tabs-header"],["mat-tab-label",""],[3,"sessionState"],[4,"ngTemplateOutlet"],[1,"tab-label"],[3,"traceData"],[3,"artifacts"],[3,"sessionSelected","sessionReloaded","userId","appName","sessionId"],[1,"details-content"],[2,"display","flex","justify-content","flex-end","margin-top","10px"],[1,"event-paginator",3,"page","length","pageSize","pageIndex"],["mat-mini-fab",""],[3,"click"],[3,"label"],[1,"event-graph-container"],[1,"json-viewer-container"],[3,"json"],["label","State"],["label","Artifact"],[3,"innerHtml"],[3,"click","innerHtml"],[1,"request-response-loading-spinner-container"],[1,"request-response-empty-state"]],template:function(A,i){if(A&1&&(V(0,gOA,12,6),ri(1,"async"),Ur(2),ri(3,"async"),V(4,lOA,2,0,"div",2),V(5,yOA,17,15,"div",3),V(6,KOA,19,17,"div",4),GA(7,"div",5)),A&2){W(Ci(1,4,i.isAlwaysOnSidePanelEnabledObs)===!1?0:-1),p(2);let n=_g(Ci(3,6,i.uiStateService.isSessionLoading()));p(2),W(n?4:-1),p(),W(i.appName()!=""&&i.showSidePanel()?5:-1),p(),W(i.selectedEvent()&&i.showSidePanel()?6:-1)}},dependencies:[Nn,uo,fo,p2,al,Sa,j7,Hm,bK,Lh,Z7,V7,rw,Xh,kz,Yp,fn,B0,Y2,Hr,Il,r0,v1,B1,ta,Ka,ls],styles:[".drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center;--mat-button-filled-container-color: var(--side-panel-button-filled-container-color);--mat-button-filled-label-text-color: var(--side-panel-button-filled-label-text-color)}.drawer-header[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;color:var(--side-panel-mat-icon-color);cursor:pointer;display:flex;align-items:center;justify-content:center}.tabs-container[_ngcontent-%COMP%]{width:100%;margin-top:20px}.tab-label[_ngcontent-%COMP%]{font-size:14px}.resize-handler[_ngcontent-%COMP%]{background:var(--side-panel-resize-handler-background-color);width:4px;border-radius:4px;position:absolute;display:block;height:20%;top:40%;right:0;z-index:9999;cursor:ew-resize}.json-viewer-container[_ngcontent-%COMP%]{margin:10px}.event-paginator[_ngcontent-%COMP%]{margin-top:-8px;margin-right:auto;background-color:inherit;display:flex;justify-content:center}[_nghost-%COMP%] .mat-mdc-paginator-page-size{display:none}.details-panel-container[_ngcontent-%COMP%]{position:absolute;width:100%;height:98%;left:0;right:0;bottom:0;background:var(--side-panel-details-panel-container-background-color);display:inline-block;justify-content:center;align-items:center;z-index:10}.details-content[_ngcontent-%COMP%]{color:var(--side-panel-details-content-color);font-size:14px}.event-graph-container[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:16px;display:flex;justify-content:center;max-height:33%;cursor:pointer}.event-graph-container[_ngcontent-%COMP%] svg{width:100%;height:100%;display:block;object-fit:contain}.event-graph-container[_ngcontent-%COMP%] svg text{font-family:Google Sans Mono,monospace;font-size:11px}.drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:9px}.drawer-logo[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:500;line-height:24px;letter-spacing:.1px}.powered-by-adk[_ngcontent-%COMP%]{font-size:10px;color:var(--side-panel-powered-by-adk-color);text-align:right;margin-top:-5px}.app-select[_ngcontent-%COMP%]{width:100%}.app-select-container[_ngcontent-%COMP%]{width:60%;margin-top:12px;background-color:var(--side-panel-app-select-container-background-color);margin-left:10px;height:30px;display:flex;justify-content:space-between;padding-left:20px;padding-right:20px;border-radius:10px;padding-top:5px}.app-select-container[_ngcontent-%COMP%]{--mat-select-placeholder-text-color: var(--side-panel-select-placeholder-text-color);--mat-select-enabled-trigger-text-color: var(--side-panel-select-enabled-trigger-text-color);--mat-select-enabled-arrow-color: var(--side-panel-select-enabled-arrow-color)}.app-name-option[_ngcontent-%COMP%]{color:var(--side-panel-app-name-option-color);font-family:Google Sans Mono,monospace;font-style:normal;font-weight:400;padding-left:12px;padding-right:12px}.app-select[_ngcontent-%COMP%]{color:var(--side-panel-app-name-option-color);font-family:Google Sans Mono,monospace;font-style:normal;font-weight:400;padding-left:unset}.mode-toggle-container[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:20px}.build-mode-button[_ngcontent-%COMP%]{margin:0 4px}.build-mode-button.mat-mdc-unelevated-button[_ngcontent-%COMP%]{height:30px}.app-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:12px;margin-left:10px}.loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}.request-response-loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em}.request-response-empty-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em;font-style:italic}[_nghost-%COMP%] .mat-mdc-tooltip .mdc-tooltip__surface{max-width:250px;white-space:wrap;font-size:11px}[_nghost-%COMP%] .wide-agent-dropdown-panel{min-width:300px;max-width:600px;max-height:400px}[_nghost-%COMP%] .wide-agent-dropdown-panel .mat-mdc-option{white-space:normal;line-height:1.4;height:auto;min-height:48px;padding:8px 16px}[_nghost-%COMP%] .wide-agent-dropdown-panel .search-option{position:sticky!important;top:0!important;z-index:1000!important;background-color:var(--mat-select-panel-background-color, white)!important;padding:8px 16px!important;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));min-height:auto!important;height:auto!important;box-shadow:0 2px 4px #0000001a;opacity:1!important}[_nghost-%COMP%] .wide-agent-dropdown-panel .search-option:hover{background-color:var(--mat-select-panel-background-color, white)!important}[_nghost-%COMP%] .wide-agent-dropdown-panel .search-option.mat-mdc-option.mat-mdc-option-active{background-color:var(--mat-select-panel-background-color, white)!important}.agent-search-field[_ngcontent-%COMP%]{width:100%}.agent-search-field[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper[_ngcontent-%COMP%]{display:none}"]})};function UOA(t,e){t&1&&GA(0,"mat-progress-spinner",6)}function JOA(t,e){t&1&&(m(0,"div"),K(1,"Request is not available."),w())}function YOA(t,e){if(t&1&&(m(0,"div",3),GA(1,"ngx-json-viewer",4),w()),t&2){let A=v();p(),AA("json",A.llmRequest)}}function TOA(t,e){t&1&&GA(0,"mat-progress-spinner",6)}function HOA(t,e){t&1&&(m(0,"div"),K(1,"Response is not available."),w())}function zOA(t,e){if(t&1&&(m(0,"div",3),GA(1,"ngx-json-viewer",4),w()),t&2){let A=v();p(),AA("json",A.llmResponse)}}function OOA(t,e){if(t&1){let A=JA();m(0,"div",12),eA("click",function(){Z(A);let n=v();return X(n.openViewImageDialog(n.rawSvgString))}),w()}if(t&2){let A=v();AA("innerHtml",A.renderedEventGraph,ol)}}var X7=class t{userId="";sessionId="";appName="";panelClosed=new WA;renderedEventGraph;eventData;selectedRow=void 0;rawSvgString=null;llmRequest=void 0;llmResponse=void 0;llmRequestKey="gcp.vertex.agent.llm_request";llmResponseKey="gcp.vertex.agent.llm_response";dialog=h(Ks);traceService=h(T2);eventService=h(CE);graphService=h(IE);featureFlagService=h(vr);sanitizer=h(ds);uiStateService=h(Bl);isEventFilteringEnabled=_s(this.featureFlagService.isEventFilteringEnabled());constructor(){}ngOnInit(){this.traceService.selectedTraceRow$.subscribe(e=>{this.selectedRow=e;let A=this.getEventIdFromSpan();if(A){let i;this.isEventFilteringEnabled()&&this.selectedRow?.invoc_id&&this.selectedRow?.start_time&&(i={invocationId:this.selectedRow.invoc_id,timestamp:this.selectedRow.start_time/1e6});let n=gA({id:A},i);this.eventService.getEventTrace(n).pipe(oi(()=>{this.uiStateService.setIsEventRequestResponseLoading(!0)})).subscribe(o=>{this.llmRequest=JSON.parse(o[this.llmRequestKey]),this.llmResponse=JSON.parse(o[this.llmResponseKey]),this.uiStateService.setIsEventRequestResponseLoading(!1)},()=>{this.uiStateService.setIsEventRequestResponseLoading(!1)}),this.getEventGraph(A)}}),this.traceService.eventData$.subscribe(e=>this.eventData=e)}openViewImageDialog(e){let A=this.dialog.open(V2,{maxWidth:"90vw",maxHeight:"90vh",data:{imageData:e}})}getEventDetails(){if(this.eventData&&this.selectedRow)return this.eventData.get(this.getEventIdFromSpan())}getEventIdFromSpan(){if(this.selectedRow)return this.selectedRow.attributes["gcp.vertex.agent.event_id"]}getEventGraph(e){this.eventService.getEvent(this.userId,this.appName,this.sessionId,e).subscribe(A=>nt(this,null,function*(){if(!A.dotSrc){this.renderedEventGraph=void 0;return}let i=A.dotSrc,n=yield this.graphService.render(i);this.rawSvgString=n,this.renderedEventGraph=this.sanitizer.bypassSecurityTrustHtml(n)}))}closePanel(){this.panelClosed.emit(!0)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-trace-event"]],inputs:{userId:"userId",sessionId:"sessionId",appName:"appName"},outputs:{panelClosed:"panelClosed"},decls:21,vars:8,consts:[[1,"wrapper"],["mat-stretch-tabs","false","mat-align-tabs","start"],["label","Event"],[1,"json-viewer-container"],[3,"json"],["label","Request"],["mode","indeterminate"],["label","Response"],["label","Graph"],[1,"event-graph-container"],[3,"innerHtml"],["mat-icon-button","",1,"tab-header-action",3,"click"],[3,"click","innerHtml"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"mat-tab-group",1)(2,"mat-tab",2)(3,"div",3),GA(4,"ngx-json-viewer",4),w()(),m(5,"mat-tab",5),V(6,UOA,1,0,"mat-progress-spinner",6),ri(7,"async"),nC(8,JOA,2,0,"div")(9,YOA,2,1,"div",3),w(),m(10,"mat-tab",7),V(11,TOA,1,0,"mat-progress-spinner",6),ri(12,"async"),nC(13,HOA,2,0,"div")(14,zOA,2,1,"div",3),w(),m(15,"mat-tab",8)(16,"div",9),V(17,OOA,1,1,"div",10),w()()(),m(18,"button",11),eA("click",function(){return i.closePanel()}),m(19,"mat-icon"),K(20,"close"),w()()()),A&2&&(p(4),AA("json",i.getEventDetails()),p(2),W(Ci(7,4,i.uiStateService.isEventRequestResponseLoading())===!0?6:i.llmRequest?9:8),p(5),W(Ci(12,6,i.uiStateService.isEventRequestResponseLoading())===!0?11:i.llmResponse?14:13),p(6),W(i.renderedEventGraph?17:-1))},dependencies:[j7,Hm,B0,Y2,Ma,fn,B1,ls],styles:[".json-viewer-container[_ngcontent-%COMP%]{padding-top:8px;padding-left:12px;padding-right:12px;background-color:var(--trace-event-json-viewer-container-background-color)}.event-graph-container[_ngcontent-%COMP%]{text-align:center;padding-top:20px}.event-graph-container[_ngcontent-%COMP%] svg text{font-family:Google Sans Mono,monospace;font-size:11px}.wrapper[_ngcontent-%COMP%]{position:relative}.tab-header-action[_ngcontent-%COMP%]{position:absolute;top:0;right:0;height:48px;z-index:2;margin-right:10px}"]})};var POA={openPanelTooltip:"Open panel",evalCaseIdLabel:"Eval Case ID",cancelButton:"Cancel",saveButton:"Save",editEvalCaseTooltip:"Edit current eval case",deleteEvalCaseTooltip:"Delete current eval case",sessionIdLabel:"Session ID",userIdLabel:"User ID",loadingSessionLabel:"Loading session...",tokenStreamingLabel:"Token Streaming",createNewSessionTooltip:"Create a new Session",newSessionButton:"New Session",deleteSessionTooltip:"Delete current session",exportSessionTooltip:"Export current session",importSessionTooltip:"Import session",loadingAgentsLabel:"Loading agents, please wait...",welcomeMessage:"Welcome to ADK!",selectAgentMessage:"Select an agent on the left to begin with.",failedToLoadAgentsMessage:"Failed to load agents. To get started, run",errorMessageLabel:"Error message:",noAgentsFoundWarning:"Warning: No agents found in current folder.",cannotEditSessionMessage:"Chat is disabled to prevent changes to the end user's session.",readOnlyBadgeLabel:"Read-only",disclosureTooltip:"ADK Web is for development purposes. It has access to all the data and should not be used in production.",adkWebDeveloperUiMessage:"ADK Web Developer UI"},ygA=new yA("Chat Messages",{factory:()=>POA});var jOA=["sideDrawer"],qOA=["bottomPanel"],VOA=[[["","adk-web-chat-container-top",""]]],WOA=["[adk-web-chat-container-top]"],ZOA=t=>({"edit-mode":t}),XOA=()=>[];function $OA(t,e){if(t&1){let A=JA();m(0,"span",8),eA("click",function(){Z(A);let n=v();return X(n.toggleSidePanel())}),K(1,"left_panel_open"),w()}if(t&2){let A=v();AA("matTooltip",A.i18n.openPanelTooltip)}}function APA(t,e){if(t&1){let A=JA();m(0,"app-side-panel",9),eA("closePanel",function(){Z(A);let n=v();return X(n.toggleSidePanel())})("tabChange",function(n){Z(A);let o=v();return X(o.handleTabChange(n))})("sessionSelected",function(n){Z(A);let o=v();return X(o.updateWithSelectedSession(n))})("sessionReloaded",function(n){Z(A);let o=v();return X(o.updateWithSelectedSession(n))})("evalCaseSelected",function(n){Z(A);let o=v();return X(o.updateWithSelectedEvalCase(n))})("evalSetIdSelected",function(n){Z(A);let o=v();return X(o.updateSelectedEvalSetId(n))})("returnToSession",function(n){Z(A);let o=v();return X(o.handleReturnToSession(n))})("evalNotInstalled",function(n){Z(A);let o=v();return X(o.handleEvalNotInstalled(n))})("page",function(n){Z(A);let o=v();return X(o.handlePageEvent(n))})("closeSelectedEvent",function(){Z(A);let n=v();return X(n.closeSelectedEvent())})("openImageDialog",function(n){Z(A);let o=v();return X(o.openViewImageDialog(n))})("appSelectionChange",function(n){Z(A);let o=v();return X(o.onAppSelection(n))})("openAddItemDialog",function(){Z(A);let n=v();return X(n.openAddItemDialog())})("enterBuilderMode",function(){Z(A);let n=v();return X(n.enterBuilderMode())}),w()}if(t&2){let A=v();AA("isApplicationSelectorEnabledObs",A.isApplicationSelectorEnabledObs)("apps$",A.apps$)("isLoadingApps",A.isLoadingApps)("selectedAppControl",A.selectedAppControl)("showSidePanel",A.showSidePanel)("appName",A.appName)("userId",A.userId)("sessionId",A.sessionId)("traceData",A.traceData)("eventData",A.eventData)("currentSessionState",A.currentSessionState)("artifacts",A.artifacts)("selectedEvent",A.selectedEvent)("selectedEventIndex",A.selectedEventIndex)("renderedEventGraph",A.renderedEventGraph)("rawSvgString",A.rawSvgString)("llmRequest",A.llmRequest)("llmResponse",A.llmResponse)("disableBuilderIcon",A.disableBuilderSwitch)}}function ePA(t,e){if(t&1){let A=JA();m(0,"app-builder-tabs",10),eA("exitBuilderMode",function(){Z(A);let n=v();return X(n.exitBuilderMode())})("closePanel",function(){Z(A);let n=v();return X(n.toggleSidePanel())}),w(),GA(1,"div",11)}if(t&2){let A=v();AA("appNameInput",A.appName)}}function tPA(t,e){if(t&1){let A=JA();m(0,"div",6)(1,"div",12)(2,"button",13),eA("click",function(){Z(A);let n=v();return X(n.saveAgentBuilder())}),m(3,"mat-icon"),K(4,"check"),w()(),m(5,"button",14),eA("click",function(){Z(A);let n=v();return X(n.exitBuilderMode())}),m(6,"mat-icon"),K(7,"close"),w()(),m(8,"button",15),eA("click",function(){Z(A);let n=v();return X(n.toggleBuilderAssistant())}),m(9,"mat-icon"),K(10,"assistant"),w()()(),m(11,"app-canvas",16),eA("toggleSidePanelRequest",function(){Z(A);let n=v();return X(n.toggleSidePanel())})("builderAssistantCloseRequest",function(){Z(A);let n=v();return X(n.toggleBuilderAssistant())}),w()()}if(t&2){let A=v();p(8),ae("active",A.showBuilderAssistant),p(3),AA("showSidePanel",A.showSidePanel)("showBuilderAssistant",A.showBuilderAssistant)("appNameInput",A.appName)}}function iPA(t,e){if(t&1){let A=JA();m(0,"span",23),eA("click",function(){Z(A);let n=v(3);return X(n.toggleSidePanel())}),K(1,"left_panel_open"),w()}if(t&2){let A=v(3);AA("matTooltip",A.i18n.openPanelTooltip)}}function nPA(t,e){if(t&1){let A=JA();m(0,"button",28),eA("click",function(){Z(A);let n=v(4);return X(n.cancelEditEvalCase())}),K(1),w(),m(2,"button",29),eA("click",function(){Z(A);let n=v(4);return X(n.saveEvalCase())}),K(3),w()}if(t&2){let A=v(4);p(),_e(" ",A.i18n.cancelButton," "),p(),AA("disabled",!A.hasEvalCaseChanged()||A.isEvalCaseEditing()),p(),_e(" ",A.i18n.saveButton," ")}}function oPA(t,e){if(t&1){let A=JA();m(0,"span",30),eA("click",function(){Z(A);let n=v(4);return X(n.editEvalCase())}),K(1," edit "),w(),m(2,"span",30),eA("click",function(){Z(A);let n=v(4);return X(n.deleteEvalCase())}),K(3," delete "),w()}if(t&2){let A=v(4);AA("matTooltip",A.i18n.editEvalCaseTooltip),p(2),AA("matTooltip",A.i18n.deleteEvalCaseTooltip)}}function aPA(t,e){if(t&1&&(m(0,"div",24)(1,"div",25),K(2),w(),m(3,"div",26),K(4),w()(),m(5,"div",27),V(6,nPA,4,3)(7,oPA,4,2),w()),t&2){let A=v(3);p(2),qA(A.i18n.evalCaseIdLabel),p(2),qA(A.evalCase.evalId),p(2),W(A.isEvalEditMode()?6:7)}}function rPA(t,e){if(t&1&&(m(0,"div",32),K(1),w(),m(2,"div",26),K(3),w()),t&2){let A=v(5);p(),qA(A.i18n.userIdLabel),p(2),qA(A.userId)}}function sPA(t,e){if(t&1&&(m(0,"div",33)(1,"mat-icon"),K(2,"visibility"),w(),K(3),w(),m(4,"div",34),K(5),w()),t&2){let A=v(5);p(3),_e(" ",A.i18n.readOnlyBadgeLabel," "),p(2),qA(A.i18n.cannotEditSessionMessage)}}function gPA(t,e){if(t&1&&(m(0,"div",25),K(1),w(),m(2,"div",26),K(3),w(),V(4,rPA,4,2),ri(5,"async"),V(6,sPA,6,2)),t&2){let A=v(4);p(),qA(A.i18n.sessionIdLabel),p(2),qA(A.sessionId),p(),W(Ci(5,4,A.isUserIdOnToolbarEnabledObs)?4:-1),p(2),W(A.canEditSession()?-1:6)}}function lPA(t,e){if(t&1&&(m(0,"div",25),K(1),w()),t&2){let A=v(4);p(),qA(A.i18n.loadingSessionLabel)}}function cPA(t,e){if(t&1){let A=JA();m(0,"span",42),eA("click",function(){Z(A);let n=v(5);return X(n.deleteSession(n.sessionId))}),K(1," delete "),w()}if(t&2){let A=v(5);AA("matTooltip",A.i18n.deleteSessionTooltip)}}function CPA(t,e){if(t&1){let A=JA();m(0,"span",43),eA("click",function(){Z(A);let n=v(5);return X(n.exportSession())}),K(1," download "),w()}if(t&2){let A=v(5);AA("matTooltip",A.i18n.exportSessionTooltip)}}function IPA(t,e){if(t&1){let A=JA();m(0,"span",44),eA("click",function(){Z(A);let n=v(5);return X(n.importSession())}),K(1," upload "),w()}if(t&2){let A=v(5);AA("matTooltip",A.i18n.importSessionTooltip)}}function dPA(t,e){if(t&1){let A=JA();m(0,"div",27)(1,"div",35)(2,"mat-slide-toggle",36),ri(3,"async"),eA("change",function(){Z(A);let n=v(4);return X(n.toggleSse())}),K(4),w()(),GA(5,"mat-divider",37),m(6,"div",31)(7,"div",38),eA("click",function(){Z(A);let n=v(4);return X(n.onNewSessionClick())}),m(8,"mat-icon"),K(9,"add"),w(),K(10),w(),V(11,cPA,2,1,"span",39),ri(12,"async"),V(13,CPA,2,1,"span",40),ri(14,"async"),V(15,IPA,2,1,"span",41),ri(16,"async"),w()()}if(t&2){let A=v(4);p(2),AA("checked",A.enableSseIndicator())("disabled",!Ci(3,9,A.isTokenStreamingEnabledObs)),p(2),_e(" ",A.i18n.tokenStreamingLabel," "),p(),AA("vertical",!0),p(2),AA("matTooltip",A.i18n.createNewSessionTooltip),p(3),_e(" ",A.i18n.newSessionButton," "),p(),W(Ci(12,11,A.isDeleteSessionEnabledObs)?11:-1),p(2),W(Ci(14,13,A.isExportSessionEnabledObs)?13:-1),p(2),W(Ci(16,15,A.importSessionEnabledObs)?15:-1)}}function BPA(t,e){if(t&1&&(m(0,"div",31),Ur(1),ri(2,"async"),V(3,gPA,7,6)(4,lPA,2,1,"div",25),w(),V(5,dPA,17,17,"div",27)),t&2){let A=Ci(2,2,v(3).uiStateService.isSessionLoading());p(3),W(A===!1?3:4),p(2),W(A===!1?5:-1)}}function EPA(t,e){if(t&1&&(m(0,"div",17),V(1,iPA,2,1,"span",22),V(2,aPA,8,3)(3,BPA,6,4),w()),t&2){let A=v(2);AA("ngClass",ss(3,ZOA,A.isEvalEditMode())),p(),W(A.showSidePanel?-1:1),p(),W(A.evalCase?2:3)}}function QPA(t,e){if(t&1&&(m(0,"div",45)(1,"span"),K(2),w()()),t&2){let A=v(3);p(2),qA(A.i18n.loadingAgentsLabel)}}function hPA(t,e){if(t&1&&(m(0,"span"),K(1),GA(2,"br"),K(3),w()),t&2){let A=v(4);p(),qA(A.i18n.welcomeMessage),p(2),_e(" ",A.i18n.selectAgentMessage)}}function uPA(t,e){if(t&1&&(K(0),GA(1,"br"),m(2,"pre",47),K(3),w()),t&2){let A=v(5);_e(" ",A.i18n.errorMessageLabel," "),p(3),qA(A.loadingError())}}function fPA(t,e){if(t&1&&(m(0,"pre",46),K(1),w()),t&2){let A=v(5);p(),qA(A.i18n.noAgentsFoundWarning)}}function mPA(t,e){if(t&1&&(m(0,"div"),K(1),m(2,"pre"),K(3,"adk web"),w(),K(4," in the folder that contains the agents."),GA(5,"br"),V(6,uPA,4,2)(7,fPA,2,1,"pre",46),w()),t&2){let A=v(4);p(),_e(" ",A.i18n.failedToLoadAgentsMessage," "),p(5),W(A.loadingError()?6:7)}}function pPA(t,e){if(t&1&&(m(0,"div",45),V(1,hPA,4,2,"span"),ri(2,"async"),nC(3,mPA,8,2,"div"),w()),t&2){let A=v(3);p(),W((Ci(2,1,A.apps$)||Cu(3,XOA)).length>0?1:3)}}function wPA(t,e){if(t&1&&(V(0,QPA,3,1,"div",45),ri(1,"async"),nC(2,pPA,4,4,"div",45)),t&2){let A=v(2);W(A.isLoadingApps()?0:Ci(1,1,A.isApplicationSelectorEnabledObs)?2:-1)}}function DPA(t,e){if(t&1){let A=JA();m(0,"app-chat-panel",48),ri(1,"async"),ho("userInputChange",function(n){Z(A);let o=v(2);return ao(o.userInput,n)||(o.userInput=n),X(n)})("userEditEvalCaseMessageChange",function(n){Z(A);let o=v(2);return ao(o.userEditEvalCaseMessage,n)||(o.userEditEvalCaseMessage=n),X(n)}),eA("clickEvent",function(n){Z(A);let o=v(2);return X(o.clickEvent(n))})("handleKeydown",function(n){Z(A);let o=v(2);return X(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){Z(A);let o=v(2);return X(o.cancelEditMessage(n))})("saveEditMessage",function(n){Z(A);let o=v(2);return X(o.saveEditMessage(n))})("openViewImageDialog",function(n){Z(A);let o=v(2);return X(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){Z(A);let o=v(2);return X(o.openBase64InNewTab(n.data,n.mimeType))})("editEvalCaseMessage",function(n){Z(A);let o=v(2);return X(o.editEvalCaseMessage(n))})("deleteEvalCaseMessage",function(n){Z(A);let o=v(2);return X(o.deleteEvalCaseMessage(n.message,n.index))})("editFunctionArgs",function(n){Z(A);let o=v(2);return X(o.editFunctionArgs(n))})("fileSelect",function(n){Z(A);let o=v(2);return X(o.onFileSelect(n))})("removeFile",function(n){Z(A);let o=v(2);return X(o.removeFile(n))})("removeStateUpdate",function(){Z(A);let n=v(2);return X(n.removeStateUpdate())})("sendMessage",function(n){Z(A);let o=v(2);return X(o.sendMessage(n))})("updateState",function(){Z(A);let n=v(2);return X(n.updateState())})("toggleAudioRecording",function(){Z(A);let n=v(2);return X(n.toggleAudioRecording())})("toggleVideoRecording",function(){Z(A);let n=v(2);return X(n.toggleVideoRecording())})("longRunningResponseComplete",function(n){Z(A);let o=v(2);return X(o.processRunSseResponse(n))}),w()}if(t&2){let A=v(2);AA("appName",A.appName)("messages",A.messages())("isChatMode",A.isChatMode())("evalCase",A.evalCase)("isEvalEditMode",A.isEvalEditMode())("isEvalCaseEditing",A.isEvalCaseEditing())("isEditFunctionArgsEnabled",Ci(1,19,A.isEditFunctionArgsEnabledObs)??!1),Qo("userInput",A.userInput)("userEditEvalCaseMessage",A.userEditEvalCaseMessage),AA("selectedFiles",A.selectedFiles)("updatedSessionState",A.updatedSessionState())("eventData",A.eventData)("selectedEvent",A.selectedEvent)("isAudioRecording",A.isAudioRecording)("isVideoRecording",A.isVideoRecording)("hoveredEventMessageIndices",A.hoveredEventMessageIndices)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)}}function yPA(t,e){if(t&1){let A=JA();m(0,"div",20,1),GA(2,"div",49),m(3,"app-trace-event",50),eA("panelClosed",function(){Z(A);let n=v(2);return X(n.closeTraceEventDetailPanel())}),w()()}if(t&2){let A=v(2);p(3),AA("userId",A.userId)("appName",A.appName)("sessionId",A.sessionId)}}function vPA(t,e){if(t&1&&(m(0,"div",21),K(1),w()),t&2){let A=v(2);AA("matTooltip",A.i18n.disclosureTooltip),p(),_e(" ",A.i18n.adkWebDeveloperUiMessage," ")}}function bPA(t,e){if(t&1&&(m(0,"div",7),He(1),V(2,EPA,4,5,"div",17),m(3,"mat-card",18),V(4,wPA,3,3),V(5,DPA,2,21,"app-chat-panel",19),w(),V(6,yPA,4,3,"div",20),V(7,vPA,2,2,"div",21),ri(8,"async"),w()),t&2){let A=v();p(2),W(A.appName!=""?2:-1),p(2),W(A.selectedAppControl.value?-1:4),p(),W(A.appName!=""?5:-1),p(),W(A.bottomPanelVisible?6:-1),p(),W(Ci(8,5,A.isDeveloperUiDisclaimerEnabledObs)?7:-1)}}var MPA="root_agent",$7="q",kPA="hideSidePanel",MK="",kK="",SK="application/json+a2ui";function xK(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");t.length%4!==0;)t+="=";return t}var RK=class t extends d8{nextPageLabel="Next Event";previousPageLabel="Previous Event";firstPageLabel="First Event";lastPageLabel="Last Event";getRangeLabel=(e,A,i)=>i===0?`Event 0 of ${i}`:(i=Math.max(i,0),`Event ${e*A+1} of ${i}`);static \u0275fac=(()=>{let e;return function(i){return(e||(e=ui(t)))(i||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac})},vgA="Restarting bidirectional streaming is not currently supported. Please refresh the page or start a new session.",Ab=class t{i18n=h(ygA);_snackBar=h(J2);activatedRoute=h(ag);agentService=h(sg);artifactService=h(h8);changeDetectorRef=h(mt);dialog=h(Ks);document=h(Xt);downloadService=h(cE);evalService=h(Q0);eventService=h(CE);featureFlagService=h(vr);graphService=h(IE);localFileService=h(u8);location=h(p8);renderer=h(Fi);router=h(Cs);safeValuesService=h(ds);sessionService=h(dl);streamChatService=h(m8);stringToColorService=h(dE);traceService=h(T2);uiStateService=h(Bl);agentBuilderService=h(E0);chatPanel=ca.required(Vh);canvasComponent=ca.required(jh);sideDrawer=ca.required("sideDrawer");sidePanel=ca.required($h);evalTab=ca(Xc);bottomPanelRef=ca.required("bottomPanel");enableSseIndicator=jA(!1);isChatMode=jA(!0);isEvalCaseEditing=jA(!1);hasEvalCaseChanged=jA(!1);isEvalEditMode=jA(!1);isBuilderMode=jA(!1);videoElement;currentMessage="";messages=jA([]);lastTextChunk="";streamingTextMessage=null;latestThought="";artifacts=[];userInput="";userEditEvalCaseMessage="";userId="user";appName="";sessionId="";sessionIdOfLoadedMessages="";evalCase=null;updatedEvalCase=null;evalSetId="";isAudioRecording=!1;isVideoRecording=!1;longRunningEvents=[];functionCallEventId="";redirectUri=zr.getBaseUrlWithoutPath();showSidePanel=!0;showBuilderAssistant=!0;useSse=!1;currentSessionState={};root_agent=MPA;updatedSessionState=jA(null);isModelThinkingSubject=new Tt(!1);canEditSession=jA(!0);sessionHasUsedBidi=new Set;eventData=new Map;traceData=[];renderedEventGraph;rawSvgString=null;selectedEvent=void 0;selectedEventIndex=void 0;llmRequest=void 0;llmResponse=void 0;llmRequestKey="gcp.vertex.agent.llm_request";llmResponseKey="gcp.vertex.agent.llm_response";getMediaTypeFromMimetype=H4;selectedFiles=[];MediaType=$1;selectedAppControl=new Ss("",{nonNullable:!0});openBase64InNewTab(e,A){this.safeValuesService.openBase64InNewTab(e,A)}isLoadingApps=jA(!1);loadingError=jA("");apps$=se([]).pipe(oi(()=>{this.isLoadingApps.set(!0),this.selectedAppControl.disable()}),ki(()=>this.agentService.listApps().pipe(ea(e=>(this.loadingError.set(e.message),se(void 0))))),oo(1),oi(e=>{this.isLoadingApps.set(!1),this.selectedAppControl.enable(),e?.length==1&&this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{app:e[0]}})}),js());importSessionEnabledObs=this.featureFlagService.isImportSessionEnabled();isEditFunctionArgsEnabledObs=this.featureFlagService.isEditFunctionArgsEnabled();isSessionUrlEnabledObs=this.featureFlagService.isSessionUrlEnabled();isApplicationSelectorEnabledObs=this.featureFlagService.isApplicationSelectorEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isExportSessionEnabledObs=this.featureFlagService.isExportSessionEnabled();isEventFilteringEnabled=_s(this.featureFlagService.isEventFilteringEnabled());isApplicationSelectorEnabled=_s(this.featureFlagService.isApplicationSelectorEnabled());isDeleteSessionEnabledObs=this.featureFlagService.isDeleteSessionEnabled();isUserIdOnToolbarEnabledObs=this.featureFlagService.isUserIdOnToolbarEnabled();isDeveloperUiDisclaimerEnabledObs=this.featureFlagService.isDeveloperUiDisclaimerEnabled();bottomPanelVisible=!1;hoveredEventMessageIndices=[];disableBuilderSwitch=!1;constructor(){}ngOnInit(){if(this.syncSelectedAppFromUrl(),this.updateSelectedAppUrl(),this.hideSidePanelIfNeeded(),cr([this.agentService.getApp(),this.activatedRoute.queryParams]).pipe(Ze(([i,n])=>!!i&&!!n[$7]),To(),fe(([,i])=>i[$7])).subscribe(i=>{setTimeout(()=>{this.userInput=i})}),this.streamChatService.onStreamClose().subscribe(i=>{let n=`Please check server log for full details: +`+i;this.openSnackBar(n,"OK")}),new URL(window.location.href).searchParams.has("code")){let i=window.location.href;window.opener?.postMessage({authResponseUrl:i},window.origin),window.close()}this.agentService.getApp().subscribe(i=>{this.appName=i}),cr([this.agentService.getLoadingState(),this.isModelThinkingSubject]).subscribe(([i,n])=>{let o=this.messages()[this.messages().length-1];i?!o?.isLoading&&!this.streamingTextMessage&&this.messages.update(a=>[...a,{role:"bot",isLoading:!0}]):o?.isLoading&&!n&&(this.messages.update(a=>a.slice(0,-1)),this.changeDetectorRef.detectChanges())}),this.traceService.selectedTraceRow$.subscribe(i=>{let n=i?.attributes["gcp.vertex.agent.event_id"];n&&this.eventData.has(n)?this.bottomPanelVisible=!0:this.bottomPanelVisible=!1}),this.traceService.hoveredMessageIndices$.subscribe(i=>this.hoveredEventMessageIndices=i),this.featureFlagService.isInfinityMessageScrollingEnabled().pipe(To()).subscribe(i=>{i&&(this.uiStateService.onNewMessagesLoaded().subscribe(n=>{this.populateMessages(n.items,!0,!n.isBackground),this.loadTraceData()}),this.uiStateService.onNewMessagesLoadingFailed().subscribe(n=>{this.openSnackBar(n.message,"OK")}))})}get sessionTab(){return this.sidePanel().sessionTabComponent()}ngAfterViewInit(){this.showSidePanel&&this.sideDrawer()?.open(),this.isApplicationSelectorEnabled()||this.loadSessionByUrlOrReset()}selectApp(e){e!=this.appName&&(this.agentService.setApp(e),this.loadSessionByUrlOrReset())}loadSessionByUrlOrReset(){this.isSessionUrlEnabledObs.subscribe(e=>{let A=this.activatedRoute.snapshot.queryParams,i=A.session,n=A.userId;if(n&&(this.userId=n),!e||!i){this.createSessionAndReset();return}i&&this.sessionService.getSession(this.userId,this.appName,i).pipe(oo(1),ea(o=>(this.openSnackBar("Cannot find specified session. Creating a new one.","OK"),this.createSessionAndReset(),se(null)))).subscribe(o=>{o&&this.updateWithSelectedSession(o)})})}hideSidePanelIfNeeded(){this.activatedRoute.queryParams.pipe(Ze(e=>e[kPA]==="true"),oo(1)).subscribe(()=>{this.showSidePanel=!1,this.sideDrawer()?.close()})}createSessionAndReset(){this.createSession(),this.eventData=new Map,this.messages.set([]),this.artifacts=[],this.userInput="",this.longRunningEvents=[]}createSession(){this.uiStateService.setIsSessionListLoading(!0),this.sessionService.createSession(this.userId,this.appName).subscribe(e=>{this.currentSessionState=e.state,this.sessionId=e.id??"",this.sessionTab?.refreshSession(),this.sessionTab?.reloadSession(this.sessionId),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()})},()=>{this.uiStateService.setIsSessionListLoading(!1)})}sendMessage(e){return nt(this,null,function*(){if(e.preventDefault(),!this.userInput.trim()&&this.selectedFiles.length<=0||e instanceof KeyboardEvent&&(e.isComposing||e.keyCode===229))return;let A=`user_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,i=[],n={role:"user",eventId:A};if(this.userInput.trim()&&(i.push({text:this.userInput}),n.text=this.userInput),this.selectedFiles.length>0){let s=this.selectedFiles.map(g=>({file:g.file,url:g.url}));for(let g of this.selectedFiles){let l=yield this.localFileService.createMessagePartFromFile(g.file);i.push(l)}n.attachments=s}this.messages.update(s=>[...s,n]);let o={id:A,author:"user",content:{parts:i}};this.eventData.set(A,o),this.eventData=new Map(this.eventData);let a={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:{role:"user",parts:yield this.getUserMessageParts()},streaming:this.useSse,stateDelta:this.updatedSessionState()};this.selectedFiles=[],this.streamingTextMessage=null,this.agentService.runSse(a).subscribe({next:s=>nt(this,null,function*(){if(s.error){this.openSnackBar(s.error,"OK");return}if(s.content){let g=this.combineTextParts(s.content.parts);this.isEventA2aResponse(s)&&(g=this.combineA2uiDataParts(g));for(let l of g)this.processPart(s,l),this.traceService.setEventData(this.eventData)}else s.errorMessage&&this.processErrorMessage(s);s.actions&&(this.processActionArtifact(s),this.processActionStateDelta(s)),this.changeDetectorRef.detectChanges()}),error:s=>{console.error("Send message error:",s),this.openSnackBar(s,"OK")},complete:()=>{this.updatedSessionState()&&(this.currentSessionState=this.updatedSessionState(),this.updatedSessionState.set(null)),this.streamingTextMessage=null,this.featureFlagService.isSessionReloadOnNewMessageEnabled().pipe(To()).subscribe(s=>{s&&this.sessionTab?.reloadSession(this.sessionId)}),this.eventService.getTrace(this.sessionId).pipe(To(),ea(s=>se([]))).subscribe(s=>{this.traceData=s,this.changeDetectorRef.detectChanges()}),this.traceService.setMessages(this.messages()),this.changeDetectorRef.detectChanges()}}),this.userInput="";let r=this.router.parseUrl(this.location.path());r.queryParams[$7]&&(delete r.queryParams[$7],this.location.replaceState(r.toString())),this.changeDetectorRef.detectChanges()})}processErrorMessage(e){this.storeEvents(e,e),this.insertMessageBeforeLoadingMessage({text:e.errorMessage,role:"bot"})}processPart(e,A){let i=e.groundingMetadata?.searchEntryPoint?.renderedContent;if(A.text){this.isModelThinkingSubject.next(!1);let n=A.text;if(A.thought){if(n!==this.latestThought){this.storeEvents(A,e);let o={role:"bot",text:this.processThoughtText(n),thought:!0,eventId:e.id};this.insertMessageBeforeLoadingMessage(o)}this.latestThought=n}else if(this.streamingTextMessage){if(i&&(this.streamingTextMessage.renderedContent=e.groundingMetadata.searchEntryPoint.renderedContent),n==this.streamingTextMessage.text){let o=this.streamingTextMessage.eventId;this.messages.update(a=>a.map(r=>r.eventId===o&&r.role==="bot"?be(gA({},r),{eventId:e.id}):r)),this.storeEvents(A,e),this.streamingTextMessage=null;return}this.streamingTextMessage.text+=n,this.insertMessageBeforeLoadingMessage(this.streamingTextMessage)}else if(this.streamingTextMessage={role:"bot",text:this.processThoughtText(n),thought:!!A.thought,eventId:e.id},i&&(this.streamingTextMessage.renderedContent=e.groundingMetadata.searchEntryPoint.renderedContent),this.useSse)this.insertMessageBeforeLoadingMessage(this.streamingTextMessage);else{this.insertMessageBeforeLoadingMessage(this.streamingTextMessage),this.storeEvents(A,e),this.streamingTextMessage=null;return}}else if(A.thought)this.isModelThinkingSubject.next(!0);else{if(this.useSse&&e.partial)return;if(this.isA2aDataPart(A)){let a=this.extractA2aDataPartJson(A),s=a&&a.kind==="data"&&a.metadata?.mimeType===SK?{a2ui:a.data}:{text:a};this.isModelThinkingSubject.next(!1),this.storeEvents(A,e),this.storeMessage(s,e,e.author==="user"?"user":"bot");return}this.isModelThinkingSubject.next(!1),this.storeEvents(A,e);let o=this.messages().findIndex(a=>a.eventId===e.id&&a.role==="bot");o!==-1?this.messages.update(a=>{let r=[...a];return this.processPartIntoMessage(A,e,r[o]),r}):this.storeMessage(A,e,e.author==="user"?"user":"bot")}}getUserMessageParts(){return nt(this,null,function*(){let e=[];if(this.userInput.trim()&&e.push({text:`${this.userInput}`}),this.selectedFiles.length>0)for(let A of this.selectedFiles)e.push(yield this.localFileService.createMessagePartFromFile(A.file));return e})}processActionArtifact(e){e.actions&&e.actions.artifactDelta&&Object.keys(e.actions.artifactDelta).length>0&&(this.storeEvents(null,e),this.storeMessage(null,e,"bot"))}processActionStateDelta(e){e.actions&&e.actions.stateDelta&&Object.keys(e.actions.stateDelta).length>0&&(this.currentSessionState=e.actions.stateDelta)}combineTextParts(e){let A=[],i;for(let n of e)n.text&&!n.thought?i?i.text+=n.text:(i={text:n.text},A.push(i)):(i=void 0,A.push(n));return A}isEventA2aResponse(e){return!!e?.customMetadata?.["a2a:response"]}isA2aDataPart(e){if(!e.inlineData||e.inlineData.mimeType!=="text/plain")return!1;let A=atob(xK(e.inlineData.data));return A.startsWith(MK)&&A.endsWith(kK)}isA2uiDataPart(e){let A=this.extractA2aDataPartJson(e);return A&&A.kind==="data"&&A.metadata?.mimeType===SK}extractA2aDataPartJson(e){if(!this.isA2aDataPart(e))return null;let A=atob(xK(e.inlineData.data)),i=A.substring(MK.length,A.length-kK.length),n;try{n=JSON.parse(i)}catch{return null}return n}combineA2uiDataParts(e){let A=[],i=[],n;for(let o of e)this.isA2uiDataPart(o)?(i.push(this.extractA2aDataPartJson(o)),n||(n={inlineData:{mimeType:"text/plain",data:o.inlineData.data}},A.push(n))):A.push(o);if(n?.inlineData){let a=MK+JSON.stringify({kind:"data",metadata:{mimeType:SK},data:i})+kK;n.inlineData.data=btoa(a)}return A}processA2uiPartIntoMessage(e){let A={};return e.a2ui.forEach(i=>{i.data.beginRendering?A.beginRendering=i.data:i.data.surfaceUpdate?A.surfaceUpdate=i.data:i.data.dataModelUpdate&&(A.dataModelUpdate=i.data)}),A}updateRedirectUri(e,A){try{let i=new URL(e);return i.searchParams.set("redirect_uri",A),i.toString()}catch(i){return console.warn("Failed to update redirect URI: ",i),e}}storeMessage(e,A,i,n,o,a=!1){if(A?.author&&this.createAgentIconColorClass(A.author),A?.longRunningToolIds&&A.longRunningToolIds.length>0){let s=this.longRunningEvents.length;this.getAsyncFunctionsFromParts(A.longRunningToolIds,A.content.parts,A.invocationId),this.functionCallEventId=A.id;for(let g=s;g{this.sendOAuthResponse(l,d,this.redirectUri)}).catch(d=>{console.error("OAuth Error:",d)});break}}}if(A?.actions&&A.actions.artifactDelta)for(let s in A.actions.artifactDelta)A.actions.artifactDelta.hasOwnProperty(s)&&this.renderArtifact(s,A.actions.artifactDelta[s],a);A?.evalStatus&&this.isChatMode.set(!1);let r={role:i,evalStatus:A?.evalStatus,failedMetric:A?.failedMetric,evalScore:A?.evalScore,evalThreshold:A?.evalThreshold,actualInvocationToolUses:A?.actualInvocationToolUses,expectedInvocationToolUses:A?.expectedInvocationToolUses,actualFinalResponse:A?.actualFinalResponse,expectedFinalResponse:A?.expectedFinalResponse,invocationIndex:n!==void 0?n:void 0,finalResponsePartIndex:o?.finalResponsePartIndex!==void 0?o.finalResponsePartIndex:void 0,toolUseIndex:o?.toolUseIndex!==void 0?o.toolUseIndex:void 0};if(e){if(e.inlineData){let s=this.formatBase64Data(e.inlineData.data,e.inlineData.mimeType);r.inlineData={displayName:e.inlineData.displayName,data:s,mimeType:e.inlineData.mimeType}}else if(e.a2ui)r.a2uiData=this.processA2uiPartIntoMessage(e);else if(e.text)r.text=e.text,r.thought=!!e.thought,A?.groundingMetadata&&A.groundingMetadata.searchEntryPoint&&A.groundingMetadata.searchEntryPoint.renderedContent&&(r.renderedContent=A.groundingMetadata.searchEntryPoint.renderedContent),r.eventId=A?.id;else if(e.functionCall){let s=A?.longRunningToolIds?.includes(e.functionCall.id),g=gA(gA({},e.functionCall),s&&{isLongRunning:!0,invocationId:A.invocationId,functionCallEventId:A.id,needsResponse:!0,responseStatus:"pending",userResponse:""});r.functionCalls=[g],r.eventId=A?.id}else if(e.functionResponse)r.functionResponses=[e.functionResponse],r.eventId=A?.id;else if(e.executableCode)r.executableCode=e.executableCode;else if(e.codeExecutionResult&&(r.codeExecutionResult=e.codeExecutionResult,A.actions&&A.actions.artifact_delta))for(let s in A.actions.artifact_delta)A.actions.artifact_delta.hasOwnProperty(s)&&this.renderArtifact(s,A.actions.artifact_delta[s],a)}e&&Object.keys(e).length>0&&(a?this.messages.update(s=>[r,...s]):this.insertMessageBeforeLoadingMessage(r))}insertMessageBeforeLoadingMessage(e){this.messages.update(A=>{if(this.useSse&&e.text&&e.eventId&&e.role==="bot"){let n=A.findIndex(o=>o.eventId===e.eventId&&o.role==="bot"&&!o.isLoading);if(n!==-1){let o=[...A];return o[n]=be(gA({},o[n]),{text:e.text,renderedContent:e.renderedContent||o[n].renderedContent}),o}}let i=A[A.length-1];return i?.isLoading?[...A.slice(0,-1),e,i]:[...A,e]})}formatBase64Data(e,A){let i=xK(e);return`data:${A};base64,${i}`}processPartIntoMessage(e,A,i){if(e)if(e.text)i.text=e.text,i.thought=!!e.thought,A?.groundingMetadata&&A.groundingMetadata.searchEntryPoint&&A.groundingMetadata.searchEntryPoint.renderedContent&&(i.renderedContent=A.groundingMetadata.searchEntryPoint.renderedContent),A?.id&&(i.eventId=A.id);else if(e.inlineData){let n=this.formatBase64Data(e.inlineData.data,e.inlineData.mimeType);i.inlineData={displayName:e.inlineData.displayName,data:n,mimeType:e.inlineData.mimeType},i.role==="user"&&A?.id&&(i.eventId=A.id)}else e.functionCall?(i.functionCalls||(i.functionCalls=[]),i.functionCalls.push(e.functionCall),A?.id&&(i.eventId=A.id)):e.functionResponse?(i.functionResponses||(i.functionResponses=[]),i.functionResponses.push(e.functionResponse),A?.id&&(i.eventId=A.id)):e.executableCode?i.executableCode=e.executableCode:e.codeExecutionResult?i.codeExecutionResult=e.codeExecutionResult:e.a2ui&&(i.a2uiData=this.processA2uiPartIntoMessage(e))}handleArtifactFetchFailure(e,A,i){this.openSnackBar("Failed to fetch artifact data","OK"),this.messages.update(n=>n.filter(o=>o!==e)),this.artifacts=this.artifacts.filter(n=>n.id!==A||n.versionId!==i)}renderArtifact(e,A,i=!1){if(this.artifacts.some(r=>r.id===e&&r.versionId===A))return;let o={role:"bot",inlineData:{data:"",mimeType:"image/png"}};i?this.messages.update(r=>[o,...r]):this.insertMessageBeforeLoadingMessage(o);let a={id:e,versionId:A,data:"",mimeType:"image/png",mediaType:"image"};this.artifacts=[...this.artifacts,a],this.artifactService.getArtifactVersion(this.userId,this.appName,this.sessionId,e,A).subscribe({next:r=>{let{mimeType:s,data:g}=r.inlineData??{};if(!s||!g){this.handleArtifactFetchFailure(o,e,A);return}let l=this.formatBase64Data(g,s),C=H4(s),I={name:this.createDefaultArtifactName(s),data:l,mimeType:s,mediaType:C};this.messages.update(d=>d.map(B=>B===o?{role:"bot",inlineData:I}:B)),this.artifacts=this.artifacts.map(d=>d.id===e&&d.versionId===A?{id:e,versionId:A,data:l,mimeType:s,mediaType:C}:d)},error:r=>{this.handleArtifactFetchFailure(o,e,A)}})}storeEvents(e,A){let i="";e==null&&A.actions.artifactDelta?i+="eventAction: artifact":e&&(e.text?i+="text:"+e.text:e.functionCall?i+="functionCall:"+e.functionCall.name:e.functionResponse?i+="functionResponse:"+e.functionResponse.name:e.executableCode?i+="executableCode:"+e.executableCode.code.slice(0,10):e.codeExecutionResult?i+="codeExecutionResult:"+e.codeExecutionResult.outcome:e.errorMessage&&(i+="errorMessage:"+e.errorMessage)),A.title=i,this.eventData.set(A.id,A),this.eventData=new Map(this.eventData)}sendOAuthResponse(e,A,i){this.longRunningEvents.pop();let n={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:{role:"user",parts:[]}};var o=structuredClone(e.args.authConfig);o.exchangedAuthCredential.oauth2.authResponseUri=A,o.exchangedAuthCredential.oauth2.redirectUri=i,n.functionCallEventId=this.functionCallEventId,n.newMessage.parts.push({functionResponse:{id:e.id,name:e.name,response:o}});let a=[];this.agentService.runSse(n).subscribe({next:r=>nt(this,null,function*(){a.push(r)}),error:r=>console.error("SSE error:",r),complete:()=>{this.processRunSseResponse(a)}})}processRunSseResponse(e){for(let A of e)if(A.content)for(let i of A.content.parts)this.processPart(A,i)}createAgentIconColorClass(e){let A=this.stringToColorService.stc(e),i=`custom-icon-color-${A.replace("#","")}`;this.injectCustomIconColorStyle(i,A)}clickEvent(e){let A=this.messages()[e],i=A.eventId;if(i){if(this.selectedEvent&&this.selectedEvent.id===i){this.selectedEvent=void 0,this.selectedEventIndex=void 0;return}if(A.role==="user"){this.selectedEvent=this.eventData.get(i),this.selectedEventIndex=this.getIndexOfKeyInMap(i),this.llmRequest=void 0,this.llmResponse=void 0,this.sideDrawer()?.open(),this.showSidePanel=!0;return}this.sideDrawer()?.open(),this.showSidePanel=!0,this.selectEvent(i)}}ngOnDestroy(){this.streamChatService.closeStream()}onAppSelection(e){this.isAudioRecording&&(this.stopAudioRecording(),this.isAudioRecording=!1),this.isVideoRecording&&(this.stopVideoRecording(),this.isVideoRecording=!1),this.evalTab()?.resetEvalResults(),this.traceData=[],this.bottomPanelVisible=!1}toggleAudioRecording(){this.isAudioRecording?this.stopAudioRecording():this.startAudioRecording()}startAudioRecording(){if(this.sessionHasUsedBidi.has(this.sessionId)){this.openSnackBar(vgA,"OK");return}this.isAudioRecording=!0,this.streamChatService.startAudioChat({appName:this.appName,userId:this.userId,sessionId:this.sessionId}),this.messages.update(e=>[...e,{role:"user",text:"Speaking..."},{role:"bot",text:"Speaking..."}]),this.sessionHasUsedBidi.add(this.sessionId)}stopAudioRecording(){this.streamChatService.stopAudioChat(),this.isAudioRecording=!1}toggleVideoRecording(){this.isVideoRecording?this.stopVideoRecording():this.startVideoRecording()}startVideoRecording(){if(this.sessionHasUsedBidi.has(this.sessionId)){this.openSnackBar(vgA,"OK");return}let e=this.chatPanel()?.videoContainer;e&&(this.isVideoRecording=!0,this.streamChatService.startVideoChat({appName:this.appName,userId:this.userId,sessionId:this.sessionId,videoContainer:e}),this.messages.update(A=>[...A,{role:"user",text:"Speaking..."}]),this.sessionHasUsedBidi.add(this.sessionId))}stopVideoRecording(){let e=this.chatPanel()?.videoContainer;e&&(this.streamChatService.stopVideoChat(e),this.isVideoRecording=!1)}getAsyncFunctionsFromParts(e,A,i){for(let n of A)n.functionCall&&e.includes(n.functionCall.id)&&this.longRunningEvents.push({function:n.functionCall,invocationId:i})}openOAuthPopup(e){return new Promise((A,i)=>{if(!this.safeValuesService.windowOpen(window,e,"oauthPopup","width=600,height=700")){i("Popup blocked!");return}let o=a=>{if(a.origin!==window.location.origin)return;let{authResponseUrl:r}=a.data;r?(A(r),window.removeEventListener("message",o)):console.log("OAuth failed",a)};window.addEventListener("message",o)})}toggleSidePanel(){this.showSidePanel?(this.sideDrawer()?.close(),this.selectedEvent=void 0,this.selectedEventIndex=void 0):this.sideDrawer()?.open(),this.showSidePanel=!this.showSidePanel}handleTabChange(e){this.isChatMode()||(this.resetEditEvalCaseVars(),this.handleReturnToSession(!0))}handleReturnToSession(e){this.sessionTab?.getSession(this.sessionId),this.evalTab()?.resetEvalCase(),this.isChatMode.set(!0)}handleEvalNotInstalled(e){e&&this.openSnackBar(e,"OK")}resetEventsAndMessages({keepMessages:e}={}){e||(this.eventData.clear(),this.messages.set([])),this.artifacts=[]}loadTraceData(){this.eventService.getTrace(this.sessionId).pipe(To(),ea(()=>se([]))).subscribe(e=>{this.traceData=e,this.traceService.setEventData(this.eventData),this.traceService.setMessages(this.messages())}),this.bottomPanelVisible=!1,this.changeDetectorRef.detectChanges()}populateMessages(e,A=!1,i=!1){this.resetEventsAndMessages({keepMessages:i&&this.sessionIdOfLoadedMessages===this.sessionId}),e.forEach(n=>{let o=this.isEventA2aResponse(n),a=o?this.combineA2uiDataParts(n.content?.parts):n.content?.parts||[],r=A?[...a].reverse():a;if(n.author==="user"){let s={role:"user",eventId:n.id};r.forEach(g=>{this.processPartIntoMessage(g,n,s)}),A?this.messages.update(g=>[s,...g]):this.messages.update(g=>[...g,s]),this.eventData.has(n.id)||(this.eventData.set(n.id,n),this.eventData=new Map(this.eventData))}else{let s={role:"bot",eventId:n.id};if(r.forEach(g=>{o&&this.isA2uiDataPart(g)&&(g={a2ui:this.extractA2aDataPartJson(g).data}),this.processPartIntoMessage(g,n,s)}),A?this.messages.update(g=>[s,...g]):this.messages.update(g=>[...g,s]),n.actions?.artifactDelta)for(let g in n.actions.artifactDelta)n.actions.artifactDelta.hasOwnProperty(g)&&this.renderArtifact(g,n.actions.artifactDelta[g],A);this.eventData.has(n.id)||(this.eventData.set(n.id,n),this.eventData=new Map(this.eventData))}}),this.sessionIdOfLoadedMessages=this.sessionId}updateWithSelectedSession(e){!e||!e.id||!e.events||!e.state||(this.traceService.resetTraceService(),this.sessionId=e.id,this.currentSessionState=e.state,this.evalCase=null,this.isChatMode.set(!0),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()}),this.resetEventsAndMessages(),e.events.forEach(A=>{if(A.author==="user"){let i={role:"user",eventId:A.id};A.content?.parts?.forEach(n=>{this.processPartIntoMessage(n,A,i)}),this.messages.update(n=>[...n,i]),this.eventData.has(A.id)||(this.eventData.set(A.id,A),this.eventData=new Map(this.eventData))}else{let i={role:"bot",eventId:A.id};if(A.content?.parts?.forEach(n=>{this.processPartIntoMessage(n,A,i)}),this.messages.update(n=>[...n,i]),A.actions?.artifactDelta)for(let n in A.actions.artifactDelta)A.actions.artifactDelta.hasOwnProperty(n)&&this.renderArtifact(n,A.actions.artifactDelta[n]);this.eventData.has(A.id)||(this.eventData.set(A.id,A),this.eventData=new Map(this.eventData))}}),this.eventService.getTrace(this.sessionId).pipe(To(),ea(()=>se([]))).subscribe(A=>{this.traceData=A,this.traceService.setEventData(this.eventData),this.traceService.setMessages(this.messages())}),this.sessionService.canEdit(this.userId,e).pipe(To(),ea(()=>se(!0))).subscribe(A=>{this.chatPanel()?.canEditSession.set(A),this.canEditSession.set(A)}),this.featureFlagService.isInfinityMessageScrollingEnabled().pipe(To()).subscribe(A=>{A||this.populateMessages(e.events||[]),this.loadTraceData()}))}updateWithSelectedEvalCase(e){this.evalCase=e,this.isChatMode.set(!1),this.resetEventsAndMessages();let A=0;for(let i of e.conversation){if(i.userContent?.parts)for(let n of i.userContent.parts)this.storeMessage(n,null,"user");if(i.intermediateData?.toolUses){let n=0;for(let o of i.intermediateData.toolUses){let a={functionCall:{name:o.name,args:o.args}};this.storeMessage(a,null,"bot",A,{toolUseIndex:n}),n++;let r={functionResponse:{name:o.name}};this.storeMessage(r,null,"bot")}}if(i.finalResponse?.parts){let n=0;for(let o of i.finalResponse.parts)this.storeMessage(o,null,"bot",A,{finalResponsePartIndex:n}),n++}A++}}updateSelectedEvalSetId(e){this.evalSetId=e}editEvalCaseMessage(e){this.isEvalCaseEditing.set(!0),this.userEditEvalCaseMessage=e.text,e.isEditing=!0,setTimeout(()=>{let A=this.chatPanel()?.textarea?.nativeElement;if(!A)return;A.focus();let i=A.value.length;e.text.charAt(i-1)===` +`&&i--,A.setSelectionRange(i,i)},0)}editFunctionArgs(e){this.isEvalCaseEditing.set(!0),this.dialog.open(Km,{maxWidth:"90vw",maxHeight:"90vh",data:{dialogHeader:"Edit function arguments",functionName:e.functionCall.name,jsonContent:e.functionCall.args}}).afterClosed().subscribe(i=>{this.isEvalCaseEditing.set(!1),i&&(this.hasEvalCaseChanged.set(!0),e.functionCall.args=i,this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].intermediateData.toolUses[e.toolUseIndex].args=i)})}saveEvalCase(){this.evalService.updateEvalCase(this.appName,this.evalSetId,this.updatedEvalCase.evalId,this.updatedEvalCase).subscribe(e=>{this.openSnackBar("Eval case updated","OK"),this.resetEditEvalCaseVars()})}cancelEditEvalCase(){this.resetEditEvalCaseVars(),this.updateWithSelectedEvalCase(this.evalCase)}resetEditEvalCaseVars(){this.hasEvalCaseChanged.set(!1),this.isEvalCaseEditing.set(!1),this.isEvalEditMode.set(!1),this.updatedEvalCase=null}cancelEditMessage(e){e.isEditing=!1,this.isEvalCaseEditing.set(!1)}saveEditMessage(e){this.hasEvalCaseChanged.set(!0),this.isEvalCaseEditing.set(!1),e.isEditing=!1,e.text=this.userEditEvalCaseMessage?this.userEditEvalCaseMessage:" ",this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].finalResponse.parts[e.finalResponsePartIndex]={text:this.userEditEvalCaseMessage},this.userEditEvalCaseMessage=""}handleKeydown(e,A){e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),this.saveEditMessage(A)):e.key==="Escape"&&this.cancelEditMessage(A)}deleteEvalCaseMessage(e,A){this.hasEvalCaseChanged.set(!0),this.messages.update(i=>i.filter((n,o)=>o!==A)),this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].finalResponse.parts.splice(e.finalResponsePartIndex,1)}editEvalCase(){this.isEvalEditMode.set(!0)}deleteEvalCase(){let e={title:"Confirm delete",message:`Are you sure you want to delete ${this.evalCase.evalId}?`,confirmButtonText:"Delete",cancelButtonText:"Cancel"};this.dialog.open(Tm,{width:"600px",data:e}).afterClosed().subscribe(i=>{i&&(this.evalTab()?.deleteEvalCase(this.evalCase.evalId),this.openSnackBar("Eval case deleted","OK"))})}onNewSessionClick(){this.createSession(),this.eventData.clear(),this.messages.set([]),this.artifacts=[],this.traceData=[],this.bottomPanelVisible=!1,this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.evalTab()?.showEvalHistory&&this.evalTab()?.toggleEvalHistoryButton()}onFileSelect(e){let A=e.target;if(A.files)for(let i=0;i{e&&this.canvasComponent()?.loadFromYaml(e,this.appName)},error:e=>{console.error("Error loading agent configuration:",e),this._snackBar.open("Error loading agent configuration","OK")}})}exitBuilderMode(){let e=this.router.createUrlTree([],{queryParams:{mode:null},queryParamsHandling:"merge"}).toString();this.location.replaceState(e),this.isBuilderMode.set(!1),this.agentBuilderService.clear()}toggleBuilderAssistant(){this.showBuilderAssistant=!this.showBuilderAssistant}openAddItemDialog(){this.apps$.pipe(oo(1)).subscribe(e=>{let A=this.dialog.open(aw,{width:"600px",data:{existingAppNames:e??[]}})})}saveAgentBuilder(){this.canvasComponent()?.saveAgent(this.appName)}selectEvent(e){this.selectedEvent=this.eventData.get(e),this.selectedEventIndex=this.getIndexOfKeyInMap(e);let A;this.isEventFilteringEnabled()&&this.selectedEvent.invocationId&&(this.selectedEvent.timestamp||this.selectedEvent.timestampInMillis)&&(A={invocationId:this.selectedEvent.invocationId,timestamp:this.selectedEvent.timestamp??this.selectedEvent.timestampInMillis});let i=gA({id:this.selectedEvent.id},A);this.uiStateService.setIsEventRequestResponseLoading(!0),this.eventService.getEventTrace(i).subscribe(n=>{n[this.llmRequestKey]&&(this.llmRequest=JSON.parse(n[this.llmRequestKey])),n[this.llmResponseKey]&&(this.llmResponse=JSON.parse(n[this.llmResponseKey])),this.uiStateService.setIsEventRequestResponseLoading(!1)},()=>{this.uiStateService.setIsEventRequestResponseLoading(!1)}),this.eventService.getEvent(this.userId,this.appName,this.sessionId,this.selectedEvent.id).subscribe(n=>nt(this,null,function*(){if(!n.dotSrc){this.renderedEventGraph=void 0;return}let o=yield this.graphService.render(n.dotSrc);this.rawSvgString=o,this.renderedEventGraph=this.safeValuesService.bypassSecurityTrustHtml(o)}))}deleteSession(e){let A={title:"Confirm delete",message:`Are you sure you want to delete this session ${this.sessionId}?`,confirmButtonText:"Delete",cancelButtonText:"Cancel"};this.dialog.open(Tm,{width:"600px",data:A}).afterClosed().subscribe(n=>{n&&this.sessionService.deleteSession(this.userId,this.appName,e).subscribe(o=>{let a=this.sessionTab?.refreshSession(e);a?this.sessionTab?.getSession(a.id):window.location.reload()})})}syncSelectedAppFromUrl(){cr([this.activatedRoute.queryParams,this.apps$]).subscribe(([e,A])=>{let i=e.app;if(A&&A.length&&i){if(!A.includes(i)){this.openSnackBar(`Agent '${i}' not found`,"OK");return}this.selectedAppControl.setValue(i,{emitEvent:!1}),this.selectApp(i),this.agentService.getAgentBuilder(i).subscribe(n=>{!n||n==""?(this.disableBuilderSwitch=!0,this.agentBuilderService.setLoadedAgentData(void 0)):(this.disableBuilderSwitch=!1,this.agentBuilderService.setLoadedAgentData(n))}),this.isBuilderMode.set(!1)}e.mode==="builder"&&this.enterBuilderMode()})}updateSelectedAppUrl(){this.selectedAppControl.valueChanges.pipe(jl(),Ze(Boolean)).subscribe(e=>{this.selectApp(e);let A=this.activatedRoute.snapshot.queryParams.app;e!==A&&this.router.navigate([],{queryParams:{app:e,mode:null},queryParamsHandling:"merge"})})}updateSelectedSessionUrl(){let e=this.router.createUrlTree([],{queryParams:{session:this.sessionId,userId:this.userId},queryParamsHandling:"merge"}).toString();this.location.replaceState(e)}handlePageEvent(e){if(e.pageIndex>=0){let A=this.getKeyAtIndexInMap(e.pageIndex);A&&(this.selectEvent(A),setTimeout(()=>{let i=this.messages().findIndex(n=>n.eventId===A);if(i!==-1){let n=this.chatPanel()?.scrollContainer?.nativeElement;if(!n)return;let o=n.querySelectorAll(".message-column-container");o&&o[i]&&o[i].scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}},0))}}closeSelectedEvent(){this.selectedEvent=void 0,this.selectedEventIndex=void 0}handleEscapeKey(e){e.key==="Escape"&&this.selectedEvent&&(e.preventDefault(),this.selectedEvent=void 0,this.selectedEventIndex=void 0)}getIndexOfKeyInMap(e){let A=0,i=(o,a)=>0,n=Array.from(this.eventData.keys()).sort(i);for(let o of n){if(o===e)return A;A++}}getKeyAtIndexInMap(e){let A=(n,o)=>0,i=Array.from(this.eventData.keys()).sort(A);if(e>=0&&e{console.log(e),this.downloadService.downloadObjectAsJson(e,`session-${this.sessionId}.json`)})}updateState(){this.dialog.open(Km,{maxWidth:"90vw",maxHeight:"90vh",data:{dialogHeader:"Update state",jsonContent:this.currentSessionState}}).afterClosed().subscribe(A=>{A&&this.updatedSessionState.set(A)})}removeStateUpdate(){this.updatedSessionState.set(null)}closeTraceEventDetailPanel(){this.bottomPanelVisible=!1,this.traceService.selectedRow(void 0),this.traceService.setHoveredMessages(void 0,"")}importSession(){let e=document.createElement("input");e.type="file",e.accept="application/json",e.onchange=()=>{if(!e.files||e.files.length===0)return;let A=e.files[0],i=new FileReader;i.onload=n=>{if(n.target?.result)try{let o=JSON.parse(n.target.result);if(!o.userId||!o.appName||!o.events){this.openSnackBar("Invalid session file format","OK");return}this.sessionService.importSession(o.userId,o.appName,o.events).subscribe(a=>{this.openSnackBar("Session imported","OK"),this.sessionTab?.refreshSession()})}catch{this.openSnackBar("Error parsing session file","OK")}},i.readAsText(A)},e.click()}injectCustomIconColorStyle(e,A){if(this.document.getElementById(e))return;let i=this.renderer.createElement("style");this.renderer.setAttribute(i,"id",e),this.renderer.setAttribute(i,"type","text/css");let n=` + .${e} { + background-color: ${A} !important; + } + `;this.renderer.appendChild(i,this.renderer.createText(n)),this.renderer.appendChild(this.document.head,i)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-chat"]],viewQuery:function(A,i){A&1&&rs(i.chatPanel,Vh,5)(i.canvasComponent,jh,5)(i.sideDrawer,jOA,5)(i.sidePanel,$h,5)(i.evalTab,Xc,5)(i.bottomPanelRef,qOA,5),A&2&&wr(6)},hostBindings:function(A,i){A&1&&eA("keydown",function(o){return i.handleEscapeKey(o)},u2)},features:[It([{provide:d8,useClass:RK}])],ngContentSelectors:WOA,decls:8,vars:3,consts:[["sideDrawer",""],["bottomPanel",""],["autosize","",1,"drawer-container"],[1,"material-symbols-outlined",2,"position","absolute","width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","20px","z-index","9999",3,"matTooltip"],["mode","side","appResizableDrawer","",1,"side-drawer"],[3,"isApplicationSelectorEnabledObs","apps$","isLoadingApps","selectedAppControl","showSidePanel","appName","userId","sessionId","traceData","eventData","currentSessionState","artifacts","selectedEvent","selectedEventIndex","renderedEventGraph","rawSvgString","llmRequest","llmResponse","disableBuilderIcon"],[1,"builder-mode-container"],[1,"chat-container"],[1,"material-symbols-outlined",2,"position","absolute","width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","20px","z-index","9999",3,"click","matTooltip"],[3,"closePanel","tabChange","sessionSelected","sessionReloaded","evalCaseSelected","evalSetIdSelected","returnToSession","evalNotInstalled","page","closeSelectedEvent","openImageDialog","appSelectionChange","openAddItemDialog","enterBuilderMode","isApplicationSelectorEnabledObs","apps$","isLoadingApps","selectedAppControl","showSidePanel","appName","userId","sessionId","traceData","eventData","currentSessionState","artifacts","selectedEvent","selectedEventIndex","renderedEventGraph","rawSvgString","llmRequest","llmResponse","disableBuilderIcon"],[3,"exitBuilderMode","closePanel","appNameInput"],[1,"resize-handler"],[1,"builder-exit-button"],["mat-icon-button","","matTooltip","Accept",1,"builder-mode-action-button",3,"click"],["mat-icon-button","","matTooltip","Exit Builder Mode",1,"builder-mode-action-button",3,"click"],["mat-icon-button","","matTooltip","Builder Assistant",1,"builder-mode-action-button",3,"click"],[3,"toggleSidePanelRequest","builderAssistantCloseRequest","showSidePanel","showBuilderAssistant","appNameInput"],[1,"chat-toolbar",3,"ngClass"],[1,"chat-card"],[3,"appName","messages","isChatMode","evalCase","isEvalEditMode","isEvalCaseEditing","isEditFunctionArgsEnabled","userInput","userEditEvalCaseMessage","selectedFiles","updatedSessionState","eventData","selectedEvent","isAudioRecording","isVideoRecording","hoveredEventMessageIndices","userId","sessionId","sessionName"],["appResizableBottomPanel","",1,"trace-detail-container"],["matTooltipPosition","left",1,"adk-web-developer-ui-disclaimer",2,"align-self","flex-end",3,"matTooltip"],[1,"material-symbols-outlined",2,"width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","-2px","z-index","9999",3,"matTooltip"],[1,"material-symbols-outlined",2,"width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","-2px","z-index","9999",3,"click","matTooltip"],[2,"display","flex"],[1,"toolbar-session-text"],[1,"toolbar-session-id"],[1,"toolbar-actions"],["mat-button","",2,"height","30px",3,"click"],["mat-flat-button","",2,"height","30px",3,"click","disabled"],[1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],[2,"display","flex","align-items","center"],[1,"toolbar-session-text",2,"margin-left","16px"],[1,"readonly-badge"],[1,"readonly-session-message"],[1,"toolbar-sse-toggle"],[1,"example-margin",3,"change","checked","disabled"],[2,"margin-left","8px","margin-right","8px","height","22px",3,"vertical"],["id","toolbar-new-session-button",3,"click","matTooltip"],["id","toolbar-delete-session-button",1,"material-symbols-outlined","toolbar-icon",3,"matTooltip"],["id","toolbar-export-session-button",1,"material-symbols-outlined","toolbar-icon",3,"matTooltip"],["id","toolbar-import-session-button",1,"material-symbols-outlined","toolbar-icon",3,"matTooltip"],["id","toolbar-delete-session-button",1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],["id","toolbar-export-session-button",1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],["id","toolbar-import-session-button",1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],[1,"empty-state-container"],[1,"warning"],[1,"error"],[3,"userInputChange","userEditEvalCaseMessageChange","clickEvent","handleKeydown","cancelEditMessage","saveEditMessage","openViewImageDialog","openBase64InNewTab","editEvalCaseMessage","deleteEvalCaseMessage","editFunctionArgs","fileSelect","removeFile","removeStateUpdate","sendMessage","updateState","toggleAudioRecording","toggleVideoRecording","longRunningResponseComplete","appName","messages","isChatMode","evalCase","isEvalEditMode","isEvalCaseEditing","isEditFunctionArgsEnabled","userInput","userEditEvalCaseMessage","selectedFiles","updatedSessionState","eventData","selectedEvent","isAudioRecording","isVideoRecording","hoveredEventMessageIndices","userId","sessionId","sessionName"],[1,"bottom-resize-handler"],[3,"panelClosed","userId","appName","sessionId"]],template:function(A,i){A&1&&(Ht(VOA),m(0,"mat-drawer-container",2),V(1,$OA,2,1,"span",3),m(2,"mat-drawer",4,0),V(4,APA,1,19,"app-side-panel",5)(5,ePA,2,1),w(),V(6,tPA,12,5,"div",6)(7,bPA,9,7,"div",7),w()),A&2&&(p(),W(!i.showSidePanel&&i.appName===""?1:-1),p(3),W(i.isBuilderMode()?5:4),p(2),W(i.isBuilderMode()?6:7))},dependencies:[sk,Sa,rk,D8,Nn,r0,fn,B0,gs,Fn,Rz,a8,aE,w8,X7,Vh,$h,jh,Fv,ls],styles:[".expand-side-drawer[_ngcontent-%COMP%]{position:relative;top:4%;left:1%}.drawer-container[_ngcontent-%COMP%]{height:100%;background-color:var(--chat-drawer-container-background-color)}.drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center;--mat-button-filled-container-color: #89b4f8;--mat-button-filled-label-text-color: black}.drawer-header[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;color:#bdc1c6;cursor:pointer;display:flex;align-items:center;justify-content:center}.drawer-header[_ngcontent-%COMP%] .drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-header[_ngcontent-%COMP%] .drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:9px}.drawer-header[_ngcontent-%COMP%] .drawer-logo[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:500;line-height:24px;letter-spacing:.1px}.chat-container[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%;margin:auto;display:flex;flex-direction:column;flex:1}.event-container[_ngcontent-%COMP%]{color:var(--chat-event-container-color)}.chat-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:12%;box-shadow:none;background-color:var(--chat-card-background-color)}.function-event-button[_ngcontent-%COMP%] .mdc-button__label[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace}.loading-bar[_ngcontent-%COMP%]{width:100px;margin:15px}.chat-messages[_ngcontent-%COMP%]{flex-grow:1;overflow-y:auto;padding:20px;margin-top:16px}.message-card[_ngcontent-%COMP%]{padding:5px 20px;margin:5px;border-radius:20px;max-width:80%;font-size:14px;font-weight:400;position:relative;display:inline-block}.function-event-button[_ngcontent-%COMP%]{background-color:var(--chat-function-event-button-background-color);margin:5px 5px 10px}.function-event-button-highlight[_ngcontent-%COMP%]{background-color:var(--chat-function-event-button-highlight-background-color);border-color:var(--chat-function-event-button-highlight-border-color)!important;color:var(--chat-function-event-button-highlight-color)!important}.user-message[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center}.user-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-user-message-message-card-background-color);align-self:flex-end;color:var(--chat-user-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]{display:flex;align-items:center}.bot-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-bot-message-message-card-background-color);align-self:flex-start;color:var(--chat-bot-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]:focus-within .message-card[_ngcontent-%COMP%]{background-color:var(--chat-bot-message-focus-within-message-card-background-color);border:1px solid var(--chat-bot-message-focus-within-message-card-border-color)}.message-textarea[_ngcontent-%COMP%]{background-color:var(--chat-message-textarea-background-color);max-width:100%;border:none;font-family:Google Sans,Helvetica Neue,sans-serif}.message-textarea[_ngcontent-%COMP%]:focus{background-color:var(--chat-message-textarea-focus-background-color);outline:none}.edit-message-buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%]{visibility:hidden;position:absolute;left:10px;z-index:10;background-color:var(--chat-eval-compare-container-background-color);overflow:hidden;border-radius:20px;padding:5px 20px;margin-bottom:10px;font-size:16px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .actual-result[_ngcontent-%COMP%]{border-right:2px solid var(--chat-actual-result-border-right-color);padding-right:8px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .expected-result[_ngcontent-%COMP%]{padding-left:12px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%]:hover .eval-compare-container[_ngcontent-%COMP%]{visibility:visible}.actual-expected-compare-container[_ngcontent-%COMP%]{display:flex}.score-threshold-container[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:10px;align-items:center;margin-top:15px;font-size:14px;font-weight:600}.eval-response-header[_ngcontent-%COMP%]{padding-bottom:5px;border-bottom:2px solid var(--chat-eval-response-header-border-bottom-color);font-style:italic;font-weight:700}.header-expected[_ngcontent-%COMP%]{color:var(--chat-header-expected-color)}.header-actual[_ngcontent-%COMP%]{color:var(--chat-header-actual-color)}.eval-case-edit-button[_ngcontent-%COMP%]{cursor:pointer;margin-left:4px;margin-right:4px}.eval-pass[_ngcontent-%COMP%]{display:flex;color:var(--chat-eval-pass-color)}.eval-fail[_ngcontent-%COMP%]{display:flex;color:var(--chat-eval-fail-color)}.navigation-button-sidepanel[_ngcontent-%COMP%]{margin-left:auto;margin-right:20px}.fab-button[_ngcontent-%COMP%]{position:fixed;bottom:200px;right:100px;z-index:1000}.sidepanel-toggle[_ngcontent-%COMP%]{position:relative;top:100px;z-index:1000}.side-drawer[_ngcontent-%COMP%]{background-color:var(--chat-side-drawer-background-color);color:var(--chat-side-drawer-color);border-radius:0}.file-preview[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;margin-bottom:8px}.file-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;background:var(--chat-file-item-background-color);padding:5px;border-radius:4px}button[_ngcontent-%COMP%]{margin-left:20px;margin-right:20px}.empty-state-container[_ngcontent-%COMP%]{color:var(--chat-empty-state-container-color);height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Google Sans,sans-serif;font-weight:400;letter-spacing:normal;line-height:24px;font-size:18px}.empty-state-container[_ngcontent-%COMP%] pre.warning[_ngcontent-%COMP%]{color:var(--chat-warning-color)}.empty-state-container[_ngcontent-%COMP%] pre.error[_ngcontent-%COMP%]{color:var(--chat-error-color)}[_nghost-%COMP%] .mat-mdc-unelevated-button:not(:disabled){color:var(--chat-mat-mdc-unelevated-button-color);background-color:var(--chat-mat-mdc-unelevated-button-background-color)}[_nghost-%COMP%] .mdc-linear-progress__buffer-dots{background-image:radial-gradient(circle,var(--chat-mdc-linear-progress-buffer-dots-background-color, var(--mat-sys-surface-variant)) calc(var(--mat-progress-bar-track-height, 4px) / 2),transparent 0)}[_nghost-%COMP%] .mat-mdc-select-arrow-wrapper{margin-left:4px}[_nghost-%COMP%] .mat-mdc-text-field-wrapper{border:1px solid var(--chat-mat-mdc-text-field-wrapper-border-color)}[_nghost-%COMP%] .mdc-notched-outline__leading, [_nghost-%COMP%] .mdc-notched-outline__notch, [_nghost-%COMP%] .mdc-notched-outline__trailing{border:none}[_nghost-%COMP%] .mat-mdc-form-field-icon-suffix{padding:0 10px 0 40px}[_nghost-%COMP%] .segment-key{color:var(--chat-segment-key-color)!important}.mat-mdc-select-placeholder[_ngcontent-%COMP%]{margin-left:20px}.bottom-resize-handler[_ngcontent-%COMP%]{background:var(--chat-bottom-resize-handler-background-color);height:5px;border-radius:4px;position:absolute;display:block;width:20%;left:40%;top:0;right:0;z-index:9999;cursor:ns-resize}.trace-detail-container[_ngcontent-%COMP%]{position:relative;background-color:var(--chat-trace-detail-container-background-color)}.trace-detail-container[_ngcontent-%COMP%] app-trace-event[_ngcontent-%COMP%]{padding-top:8px}.new-session-button[_ngcontent-%COMP%]{margin-top:0;margin-left:50px;width:130px;height:28px;font-size:14px}.app-select-container[_ngcontent-%COMP%]{width:35%;background-color:#212123;height:30px;display:flex;justify-content:space-between;padding-left:20px;padding-right:20px;border-radius:10px;padding-top:5px}.app-select-container[_ngcontent-%COMP%]{--mat-select-placeholder-text-color: #8ab4f8;--mat-select-enabled-trigger-text-color: #8ab4f8;--mat-select-enabled-arrow-color: #8ab4f8}.adk-checkbox[_ngcontent-%COMP%]{position:fixed;bottom:0;left:0;right:0;margin-bottom:20px;margin-left:20px}.chat-toolbar[_ngcontent-%COMP%]{position:sticky;top:0;height:48px;background:var(--chat-toolbar-background-color);display:flex;align-items:center;z-index:10}.chat-toolbar.edit-mode[_ngcontent-%COMP%]{background:var(--chat-toolbar-edit-mode-background-color)}.toolbar-actions[_ngcontent-%COMP%]{margin-left:auto;display:flex;align-items:center;flex-shrink:0}.toolbar-session-text[_ngcontent-%COMP%]{color:var(--chat-toolbar-session-text-color);font-family:Roboto;font-size:12px;font-style:normal;font-weight:500;line-height:12px;letter-spacing:.8px;text-transform:uppercase;margin-left:20px;padding-top:4px;flex-shrink:0}.toolbar-session-id[_ngcontent-%COMP%]{color:var(--chat-toolbar-session-id-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;margin-left:5px;flex-shrink:0}.toolbar-icon[_ngcontent-%COMP%]{width:24px;height:24px;color:var(--chat-toolbar-icon-color);cursor:pointer;margin-right:16px}#toolbar-new-session-button[_ngcontent-%COMP%]{font-size:14px;margin-right:16px;color:var(--chat-toolbar-new-session-color);cursor:pointer;display:flex;align-items:center}.toolbar-sse-toggle[_ngcontent-%COMP%]{--mat-slide-toggle-label-text-size: 14px;--mat-slide-toggle-label-text-color: var(--chat-toolbar-sse-toggle-label-text-color);--mat-slide-toggle-unselected-track-color: var(--chat-toolbar-sse-toggle-unselected-track-color);--mat-slide-toggle-unselected-focus-track-color: var(--chat-toolbar-sse-toggle-unselected-track-color);--mat-slide-toggle-unselected-hover-track-color: var(--chat-toolbar-sse-toggle-unselected-track-color);--mat-slide-toggle-unselected-handle-color: var(--chat-toolbar-sse-toggle-unselected-handle-color);--mat-slide-toggle-unselected-focus-handle-color: var(--chat-toolbar-sse-toggle-unselected-handle-color);--mat-slide-toggle-unselected-hover-handle-color: var(--chat-toolbar-sse-toggle-unselected-handle-color);--mat-slide-toggle-selected-track-color: var(--chat-toolbar-sse-toggle-selected-track-color);--mat-slide-toggle-selected-focus-track-color: var(--chat-toolbar-sse-toggle-selected-track-color);--mat-slide-toggle-selected-hover-track-color: var(--chat-toolbar-sse-toggle-selected-track-color);--mat-slide-toggle-selected-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color);--mat-slide-toggle-selected-focus-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color);--mat-slide-toggle-selected-hover-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color);--mat-slide-toggle-track-height: 24px;--mat-slide-toggle-track-width: 46px;--mat-slide-toggle-track-outline-color: var(--chat-toolbar-sse-toggle-track-outline-color);--mat-slide-toggle-with-icon-handle-size: 20px}[_nghost-%COMP%] pre{white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-width:100%}.readonly-badge[_ngcontent-%COMP%]{color:var(--chat-readonly-badge-color);background-color:var(--chat-readonly-badge-background-color);border-radius:4px;padding:1px 6px;display:flex;align-items:center;margin-left:8px;font-size:12px;line-height:16px;gap:4px;white-space:nowrap}.readonly-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;padding-top:1px;flex-shrink:0}.readonly-session-message[_ngcontent-%COMP%]{display:block;color:var(--chat-toolbar-session-text-color);margin-left:1em;font-weight:400;line-height:16px;letter-spacing:.3px;flex-shrink:1} .mat-drawer-content{display:flex!important} .mat-drawer{border-right:1px solid var(--chat-mat-drawer-border-right-color)!important}.builder-mode-container[_ngcontent-%COMP%]{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;background-color:var(--builder-container-background-color)}.builder-exit-button[_ngcontent-%COMP%]{position:absolute;top:20px;right:20px;z-index:1000;display:flex;gap:8px}.builder-mode-action-button[_ngcontent-%COMP%]{background-color:var(--builder-secondary-background-color)!important;color:var(--builder-text-tertiary-color)!important;border-radius:50%!important;transition:all .2s ease!important;margin:0!important;padding:0!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;border:1px solid var(--builder-tool-item-border-color)!important;box-shadow:0 2px 4px #0000001a!important;display:flex!important;align-items:center!important;justify-content:center!important}.builder-mode-action-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-tool-item-hover-background-color)!important;box-shadow:0 4px 8px #00000026!important}.builder-mode-action-button.active[_ngcontent-%COMP%]{background-color:var(--builder-button-primary-background-color)!important;color:#fff!important;border-color:var(--builder-button-primary-background-color)!important}.builder-mode-action-button[_ngcontent-%COMP%] .mat-mdc-button-touch-target[_ngcontent-%COMP%]{display:none!important}.builder-mode-action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}app-canvas[_ngcontent-%COMP%]{width:100%!important;height:100%!important;flex:1!important;display:flex!important;flex-direction:column!important;min-height:0!important}.build-mode-container[_ngcontent-%COMP%]{display:flex;width:100%;height:100%;background-color:var(--builder-container-background-color)}.build-left-panel[_ngcontent-%COMP%], .build-right-panel[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;background-color:var(--builder-tertiary-background-color);border:1px solid var(--builder-border-color);margin:10px;border-radius:8px}.build-panel-header[_ngcontent-%COMP%]{background-color:var(--builder-secondary-background-color);padding:16px 20px;border-bottom:1px solid var(--builder-border-color);border-radius:8px 8px 0 0}.build-panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:var(--builder-text-primary-color);font-size:16px;font-weight:500;font-family:Google Sans,Helvetica Neue,sans-serif}.build-panel-content[_ngcontent-%COMP%]{flex:1;padding:20px;color:var(--builder-text-secondary-color);overflow-y:auto}.build-panel-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;line-height:1.5}.app-name-option[_ngcontent-%COMP%], .app-select[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-family:Google Sans Mono,monospace;font-style:normal;font-weight:400;padding-left:unset}.adk-web-developer-ui-disclaimer[_ngcontent-%COMP%]{padding-left:4px;padding-bottom:4px;font-size:10px;color:var(--adk-web-text-color-light-gray)}"]})};var Au=class t{static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(A,i){A&1&&GA(0,"app-chat")},dependencies:[Ab],encapsulation:2})};var SPA=[{path:"",component:Au}],eb=class t{static \u0275fac=function(A){return new(A||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[P6.forRoot(SPA),P6]})};var tb=class{static getRuntimeConfig(){return window.runtimeConfig}};function xPA(t,e){if(t&1&&(ci(0,"a",0),Li(1,"img",1),K(2),fi()),t&2){v();let A=Ws(0),i=Ws(1);p(),vo("src",D1(A),Ga),p(),_e(" ",i," ")}}function RPA(t,e){t&1&&(ci(0,"div"),K(1," Invalid custom logo config. Make sure that your runtime config specifies both imgUrl and text in the logo field. "),fi())}var ib=class t{logoConfig=tb.getRuntimeConfig().logo;static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-custom-logo"]],decls:4,vars:3,consts:[["href","/"],["width","32px","height","32px",1,"orcas-logo",3,"src"]],template:function(A,i){if(A&1&&(Ur(0)(1),V(2,xPA,3,3,"a",0)(3,RPA,2,0,"div")),A&2){let n=_g(i.logoConfig==null?null:i.logoConfig.imageUrl);p();let o=_g(i.logoConfig==null?null:i.logoConfig.text);p(),W(n&&o?2:3)}},styles:[`a[_ngcontent-%COMP%]{color:inherit;text-decoration:none;display:flex;align-items:center;gap:8px} + + + + + + + + + + + + + + + + +`]})};var NPA=(t,e)=>({"font-style":t,color:e}),nb=class t{text=at("");thought=at(!1);static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-markdown"]],inputs:{text:[1,"text"],thought:[1,"thought"]},features:[It([$u()])],decls:1,vars:5,consts:[[3,"data","ngStyle"]],template:function(A,i){A&1&&GA(0,"markdown",0),A&2&&AA("data",i.text())("ngStyle",Vl(2,NPA,i.thought()?"italic":"normal",i.thought()?"#9aa0a6":"inherit"))},dependencies:[fa,Cp,KT,GT],encapsulation:2})};var FPA={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-500":!0,"layout-as-n":!0,"layout-dis-iflx":!0,"layout-al-c":!0},_PA={"layout-w-100":!0},LPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-mt-0":!0,"layout-mb-2":!0,"typography-sz-bm":!0,"color-c-n10":!0},GPA={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-500":!0,"layout-pt-3":!0,"layout-pb-3":!0,"layout-pl-5":!0,"layout-pr-5":!0,"layout-mb-1":!0,"border-br-16":!0,"border-bw-0":!0,"border-c-n70":!0,"border-bs-s":!0,"color-bgc-s30":!0,"color-c-n100":!0,"behavior-ho-80":!0},NK={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mb-2":!0,"color-c-n10":!0},KPA=be(gA({},NK),{"typography-sz-tl":!0}),UPA=be(gA({},NK),{"typography-sz-tm":!0}),JPA=be(gA({},NK),{"typography-sz-ts":!0}),YPA={"behavior-sw-n":!0},RgA={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-pl-4":!0,"layout-pr-4":!0,"layout-pt-2":!0,"layout-pb-2":!0,"border-br-6":!0,"border-bw-1":!0,"color-bc-s70":!0,"border-bs-s":!0,"layout-as-n":!0,"color-c-n10":!0},TPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0,"color-c-n10":!0},HPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0},zPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0},OPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0},PPA={"typography-f-c":!0,"typography-fs-n":!0,"typography-w-400":!0,"typography-sz-bm":!0,"typography-ws-p":!0,"layout-as-n":!0},jPA=be(gA({},RgA),{"layout-r-none":!0,"layout-fs-c":!0}),qPA={"layout-el-cv":!0},bgA=Xs.merge(FPA,{"color-c-p30":!0}),VPA=Xs.merge(RgA,{"color-c-n5":!0}),WPA=Xs.merge(jPA,{"color-c-n5":!0}),ZPA=Xs.merge(GPA,{"color-c-n100":!0}),MgA=Xs.merge(KPA,{"color-c-n5":!0}),kgA=Xs.merge(UPA,{"color-c-n5":!0}),SgA=Xs.merge(JPA,{"color-c-n5":!0}),XPA=Xs.merge(LPA,{"color-c-n5":!0}),xgA=Xs.merge(TPA,{"color-c-n60":!0}),$PA=Xs.merge(PPA,{"color-c-n35":!0}),AjA=Xs.merge(HPA,{"color-c-n35":!0}),ejA=Xs.merge(zPA,{"color-c-n35":!0}),tjA=Xs.merge(OPA,{"color-c-n35":!0}),NgA={additionalStyles:{Card:{},Button:{"--n-60":"var(--n-100)"},Image:{"max-width":"120px","max-height":"120px",marginLeft:"auto",marginRight:"auto"}},components:{AudioPlayer:{},Button:{"layout-pt-2":!0,"layout-pb-2":!0,"layout-pl-5":!0,"layout-pr-5":!0,"border-br-2":!0,"border-bw-0":!0,"border-bs-s":!0,"color-bgc-p30":!0,"color-c-n100":!0,"behavior-ho-70":!0},Card:{"border-br-4":!0,"color-bgc-p100":!0,"color-bc-n90":!0,"border-bw-1":!0,"border-bs-s":!0,"layout-pt-4":!0,"layout-pb-4":!0,"layout-pl-4":!0,"layout-pr-4":!0},CheckBox:{element:{"layout-m-0":!0,"layout-mr-2":!0,"layout-p-2":!0,"border-br-12":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bgc-p100":!0,"color-bc-p60":!0,"color-c-n30":!0,"color-c-p30":!0},label:{"color-c-p30":!0,"typography-f-sf":!0,"typography-v-r":!0,"typography-w-400":!0,"layout-flx-1":!0,"typography-sz-ll":!0},container:{"layout-dsp-iflex":!0,"layout-al-c":!0}},Column:{},DateTimeInput:{container:{},label:{},element:{"layout-pt-2":!0,"layout-pb-2":!0,"layout-pl-3":!0,"layout-pr-3":!0,"border-br-12":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bgc-p100":!0,"color-bc-p60":!0,"color-c-n30":!0}},Divider:{"color-bgc-n90":!0,"layout-mt-6":!0,"layout-mb-6":!0},Image:{all:{"border-br-50pc":!0,"layout-el-cv":!0,"layout-w-100":!0,"layout-h-100":!0,"layout-dsp-flexhor":!0,"layout-al-c":!0,"layout-sp-c":!0,"layout-mb-3":!0},avatar:{},header:{},icon:{},largeFeature:{},mediumFeature:{},smallFeature:{}},Icon:{"border-br-1":!0,"layout-p-2":!0,"color-bgc-n98":!0,"layout-dsp-flexhor":!0,"layout-al-c":!0,"layout-sp-c":!0},List:{"layout-g-4":!0,"layout-p-2":!0},Modal:{backdrop:{"color-bbgc-p60_20":!0},element:{"border-br-2":!0,"color-bgc-p100":!0,"layout-p-4":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bc-p80":!0}},MultipleChoice:{container:{},label:{},element:{}},Row:{"layout-g-4":!0},Slider:{container:{},label:{},element:{}},Tabs:{container:{},controls:{all:{},selected:{}},element:{}},Text:{all:{"layout-w-100":!0,"layout-g-2":!0,"color-c-p30":!0},h1:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-2":!0,"layout-p-0":!0,"typography-sz-tl":!0},h2:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-2":!0,"layout-p-0":!0,"typography-sz-tl":!0},h3:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-0":!0,"layout-p-0":!0,"typography-sz-ts":!0},h4:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-0":!0,"layout-p-0":!0,"typography-sz-bl":!0},h5:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-0":!0,"layout-p-0":!0,"color-c-n30":!0,"typography-sz-bm":!0,"layout-mb-1":!0},body:{},caption:{}},TextField:{container:{"typography-sz-bm":!0,"layout-w-100":!0,"layout-g-2":!0,"layout-dsp-flexhor":!0,"layout-al-c":!0},label:{"layout-flx-0":!0},element:{"typography-sz-bm":!0,"layout-pt-2":!0,"layout-pb-2":!0,"layout-pl-3":!0,"layout-pr-3":!0,"border-br-12":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bgc-p100":!0,"color-bc-p60":!0,"color-c-n30":!0,"color-c-p30":!0}},Video:{"border-br-5":!0,"layout-el-cv":!0}},elements:{a:bgA,audio:_PA,body:XPA,button:ZPA,h1:MgA,h2:kgA,h3:SgA,h4:{},h5:{},iframe:YPA,input:VPA,p:xgA,pre:$PA,textarea:WPA,video:qPA},markdown:{p:[...Object.keys(xgA)],h1:[...Object.keys(MgA)],h2:[...Object.keys(kgA)],h3:[...Object.keys(SgA)],h4:[],h5:[],ul:[...Object.keys(ejA)],ol:[...Object.keys(AjA)],li:[...Object.keys(tjA)],a:[...Object.keys(bgA)],strong:[],em:[]}};var ob=class t{nodes=[];subAgentIdCounter=1;selectedToolSubject=new Tt(void 0);selectedNodeSubject=new Tt(void 0);selectedCallbackSubject=new Tt(void 0);loadedAgentDataSubject=new Tt(void 0);agentToolsMapSubject=new Tt(new Map);agentToolsSubject=new Tt(void 0);newAgentToolBoardSubject=new Tt(void 0);agentCallbacksMapSubject=new Tt(new Map);agentCallbacksSubject=new Tt(void 0);agentToolDeletionSubject=new Tt(void 0);deleteSubAgentSubject=new Tt("");addSubAgentSubject=new Tt({parentAgentName:""});tabChangeSubject=new Tt(void 0);agentToolBoardsSubject=new Tt(new Map);constructor(){}getNode(e){return this.nodes.find(i=>i.name===e)}getRootNode(){return this.nodes.find(A=>!!A.isRoot)}addNode(e){let A=this.nodes.findIndex(g=>g.name===e.name);A!==-1?this.nodes[A]=e:this.nodes.push(e);let i=/^sub_agent_(\d+)$/,n=e.name.match(i);if(n){let g=parseInt(n[1],10);g>=this.subAgentIdCounter&&(this.subAgentIdCounter=g+1)}let o=this.agentToolsMapSubject.value,a=new Map(o);a.set(e.name,e.tools||[]),this.agentToolsMapSubject.next(a);let r=this.agentCallbacksMapSubject.value,s=new Map(r);s.set(e.name,e.callbacks||[]),this.agentCallbacksMapSubject.next(s),this.setSelectedNode(this.selectedNodeSubject.value)}getNodes(){return this.nodes}clear(){this.nodes=[],this.subAgentIdCounter=1,this.setSelectedNode(void 0),this.setSelectedTool(void 0),this.agentToolsMapSubject.next(new Map),this.agentCallbacksMapSubject.next(new Map),this.setSelectedCallback(void 0),this.setAgentTools(),this.setAgentCallbacks()}getSelectedNode(){return this.selectedNodeSubject.asObservable()}setSelectedNode(e){this.selectedNodeSubject.next(e)}getSelectedTool(){return this.selectedToolSubject.asObservable()}setSelectedTool(e){this.selectedToolSubject.next(e)}getSelectedCallback(){return this.selectedCallbackSubject.asObservable()}setSelectedCallback(e){this.selectedCallbackSubject.next(e)}getNextSubAgentName(){return`sub_agent_${this.subAgentIdCounter++}`}addTool(e,A){let i=this.getNode(e);if(i){let n=i.tools||[];i.tools=[A,...n];let o=this.agentToolsMapSubject.value,a=new Map(o);a.set(e,i.tools),this.agentToolsMapSubject.next(a)}}deleteTool(e,A){let i=this.getNode(e);if(i&&i.tools){let n=i.tools.length;if(i.tools=i.tools.filter(o=>o.name!==A.name),i.tools.lengthr.name===A.name))return{success:!1,error:`Callback with name '${A.name}' already exists`};i.callbacks.push(A),this.agentCallbacksSubject.next({agentName:e,callbacks:i.callbacks});let o=this.agentCallbacksMapSubject.value,a=new Map(o);return a.set(e,i.callbacks),this.agentCallbacksMapSubject.next(a),{success:!0}}catch(i){return{success:!1,error:"Failed to add callback: "+i.message}}}updateCallback(e,A,i){try{let n=this.getNode(e);if(!n)return{success:!1,error:"Agent not found"};if(!n.callbacks)return{success:!1,error:"No callbacks found for this agent"};let o=n.callbacks.findIndex(l=>l.name===A);if(o===-1)return{success:!1,error:"Callback not found"};if(n.callbacks.some((l,C)=>C!==o&&l.name===i.name))return{success:!1,error:`Callback with name '${i.name}' already exists`};let r=gA(gA({},n.callbacks[o]),i);n.callbacks[o]=r,this.agentCallbacksSubject.next({agentName:e,callbacks:n.callbacks});let s=this.agentCallbacksMapSubject.value,g=new Map(s);return g.set(e,n.callbacks),this.agentCallbacksMapSubject.next(g),this.selectedCallbackSubject.value?.name===A&&this.setSelectedCallback(r),{success:!0}}catch(n){return{success:!1,error:"Failed to update callback: "+n.message}}}deleteCallback(e,A){try{let i=this.getNode(e);if(!i)return{success:!1,error:"Agent not found"};if(!i.callbacks)return{success:!1,error:"No callbacks found for this agent"};let n=i.callbacks.findIndex(r=>r.name===A.name);if(n===-1)return{success:!1,error:"Callback not found"};i.callbacks.splice(n,1),this.agentCallbacksSubject.next({agentName:e,callbacks:i.callbacks});let o=this.agentCallbacksMapSubject.value,a=new Map(o);return a.set(e,i.callbacks),this.agentCallbacksMapSubject.next(a),this.selectedCallbackSubject.value?.name===A.name&&this.setSelectedCallback(void 0),{success:!0}}catch(i){return{success:!1,error:"Failed to delete callback: "+i.message}}}setLoadedAgentData(e){this.loadedAgentDataSubject.next(e)}getLoadedAgentData(){return this.loadedAgentDataSubject.asObservable()}getAgentToolsMap(){return this.agentToolsMapSubject.asObservable()}getAgentCallbacksMap(){return this.agentCallbacksMapSubject.asObservable()}requestSideTabChange(e){this.tabChangeSubject.next(e)}getSideTabChangeRequest(){return this.tabChangeSubject.asObservable()}requestNewTab(e,A){this.newAgentToolBoardSubject.next({toolName:e,currentAgentName:A})}getNewTabRequest(){return this.newAgentToolBoardSubject.asObservable().pipe(fe(A=>A?{tabName:A.toolName,currentAgentName:A.currentAgentName}:void 0))}requestTabDeletion(e){this.agentToolDeletionSubject.next(e)}getTabDeletionRequest(){return this.agentToolDeletionSubject.asObservable()}setAgentToolBoards(e){this.agentToolBoardsSubject.next(e)}getAgentToolBoards(){return this.agentToolBoardsSubject.asObservable()}getCurrentAgentToolBoards(){return this.agentToolBoardsSubject.value}getAgentTools(){return this.agentToolsSubject.asObservable()}getDeleteSubAgentSubject(){return this.deleteSubAgentSubject.asObservable()}setDeleteSubAgentSubject(e){this.deleteSubAgentSubject.next(e)}getAddSubAgentSubject(){return this.addSubAgentSubject.asObservable()}setAddSubAgentSubject(e,A,i){this.addSubAgentSubject.next({parentAgentName:e,agentClass:A,isFromEmptyGroup:i})}setAgentTools(e,A){if(e&&A){this.agentToolsSubject.next({agentName:e,tools:A});let i=this.agentToolsMapSubject.value,n=new Map(i);n.set(e,A),this.agentToolsMapSubject.next(n)}else this.agentToolsSubject.next(void 0)}getAgentCallbacks(){return this.agentCallbacksSubject.asObservable()}setAgentCallbacks(e,A){e&&A?this.agentCallbacksSubject.next({agentName:e,callbacks:A}):this.agentCallbacksSubject.next(void 0)}getParentNode(e,A,i,n){if(e){if(e.name===A.name)return i;for(let o of e.sub_agents){let a=this.getParentNode(o,A,e,n);if(a)return a}if(e.tools){for(let o of e.tools)if(o.toolType==="Agent Tool"){let a=n.get(o.toolAgentName||o.name);if(a){let r=this.getParentNode(a,A,e,n);if(r)return r}}}}}deleteNode(e){this.nodes=this.nodes.filter(A=>A.name!==e.name),this.setSelectedNode(this.selectedNodeSubject.value)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var ab=class t{constructor(e){this.http=e}apiServerDomain=zr.getApiServerBaseUrl();getLatestArtifact(e,A,i,n){let o=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}/artifacts/${n}`;return this.http.get(o)}getArtifactVersion(e,A,i,n,o){let a=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}/artifacts/${n}/versions/${o}`;return this.http.get(a)}static \u0275fac=function(A){return new(A||t)(So($s))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var rb=class t{audioContext=new AudioContext({sampleRate:22e3});lastAudioTime=0;scheduledAudioSources=new Set;playAudio(e){let A=this.combineAudioBuffer(e);A&&this.playPCM(A)}stopAudio(){for(let e of this.scheduledAudioSources)e.onended=null,e.stop();this.scheduledAudioSources.clear(),this.lastAudioTime=this.audioContext.currentTime}combineAudioBuffer(e){if(e.length===0)return;let A=e.reduce((o,a)=>o+a.length,0),i=new Uint8Array(A),n=0;for(let o of e)i.set(o,n),n+=o.length;return i}playPCM(e){let A=new Float32Array(e.length/2);for(let r=0;r=32768&&(s-=65536),A[r]=s/32768}let i=this.audioContext.createBuffer(1,A.length,22e3);i.copyToChannel(A,0);let n=this.audioContext.createBufferSource();n.buffer=i,n.connect(this.audioContext.destination),n.onended=()=>{this.scheduledAudioSources.delete(n)},this.scheduledAudioSources.add(n);let o=this.audioContext.currentTime,a=Math.max(this.lastAudioTime,o);n.start(a),this.lastAudioTime=a+i.duration}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var sb=new yA("AudioRecordingService"),gb=new yA("AudioWorkletModulePath");var lb=class t{audioWorkletModulePath=h(gb);stream;audioContext;source;audioBuffer=[];startRecording(){return nt(this,null,function*(){try{this.stream=yield navigator.mediaDevices.getUserMedia({audio:!0}),this.audioContext=new AudioContext,yield this.audioContext.audioWorklet.addModule(this.audioWorkletModulePath),this.source=this.audioContext.createMediaStreamSource(this.stream);let e=new AudioWorkletNode(this.audioContext,"audio-processor");e.port.onmessage=A=>{let i=A.data,n=this.float32ToPCM(i);this.audioBuffer.push(n)},this.source.connect(e),e.connect(this.audioContext.destination)}catch(e){console.error("Error accessing microphone:",e)}})}stopRecording(){this.source&&this.source.disconnect(),this.audioContext&&this.audioContext.close(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())}getCombinedAudioBuffer(){if(this.audioBuffer.length===0)return;let e=this.audioBuffer.reduce((n,o)=>n+o.length,0),A=new Uint8Array(e),i=0;for(let n of this.audioBuffer)A.set(n,i),i+=n.length;return A}cleanAudioBuffer(){this.audioBuffer=[]}float32ToPCM(e){let A=new ArrayBuffer(e.length*2),i=new DataView(A);for(let n=0;nbe(gA({},t),{attributes:be(gA({},t.attributes),{"gcp.vertex.agent.llm_request":t.attributes["gcp.vertex.agent.llm_request"]??ajA(t),"gcp.vertex.agent.llm_response":t.attributes["gcp.vertex.agent.llm_response"]??ljA(t)})}),ajA=t=>t.name.startsWith(FgA)?t.attributes?.[FK]:t.name.startsWith(_gA)?GgA(t.logs):void 0,rjA=t=>{let e=sjA(t),A=GgA(t);return JSON.stringify({system_message:e,user_message:LK(A)})},GgA=t=>{if(!t)return;let e=t.reverse().find(gjA);if(!e)return;let A=typeof e.body=="string"?LK(e.body):e.body;return typeof A=="string"?A:(A.content.role="user",A.contents=[A.content],delete A.content,JSON.stringify(A))},sjA=t=>{if(!t)return;let e=t.reverse().find(A=>A.event_name==="gen_ai.system.message");if(e)return typeof e.body=="string"?LK(e.body):e.body},gjA=t=>{if(t.event_name!=="gen_ai.user.message")return!1;try{let A=(typeof t.body=="string"?JSON.parse(t.body):t.body)[ijA]?.[njA];return Array.isArray(A)?A.every(i=>!i[ojA]):!1}catch{return!1}},ljA=t=>t.name.startsWith(FgA)?t.attributes?.[_K]:t.name.startsWith(_gA)?KgA(t.logs):void 0,KgA=t=>{if(!t)return;let e=t.reverse().find(A=>A.event_name==="gen_ai.choice");if(e)return cjA(e)},LK=t=>{try{return JSON.parse(t)}catch{return t}},cjA=t=>typeof t.body=="string"?t.body:JSON.stringify(t.body),UgA=t=>be(gA({},t),{"gcp.vertex.agent.llm_request":t["gcp.vertex.agent.llm_request"]??CjA(t),"gcp.vertex.agent.llm_response":t["gcp.vertex.agent.llm_response"]??IjA(t)}),CjA=t=>{if(FK in t)return`${t[FK]}`;if(t.logs)return rjA(t.logs)},IjA=t=>{if(_K in t)return`${t[_K]}`;if(t.logs)return KgA(t.logs)};var Ib=class t{constructor(e){this.http=e}apiServerDomain=zr.getApiServerBaseUrl();getEventTrace(e){let A=this.apiServerDomain+`/debug/trace/${e.id}`;return this.http.get(A).pipe(fe(n=>UgA(n)))}getTrace(e){let A=this.apiServerDomain+`/debug/trace/session/${e}`;return this.http.get(A).pipe(fe(n=>Array.isArray(n)?n.map(LgA):n))}getEvent(e,A,i,n){let o=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}/events/${n}/graph`;return this.http.get(o)}static \u0275fac=function(A){return new(A||t)(So($s))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var db=class t{route=h(ag);constructor(){}isImportSessionEnabled(){return this.route.queryParams.pipe(fe(e=>e[Fz]==="true"))}isEditFunctionArgsEnabled(){return this.route.queryParams.pipe(fe(e=>e[_z]==="true"))}isSessionUrlEnabled(){return se(!0)}isA2ACardEnabled(){return this.route.queryParams.pipe(fe(e=>e[Lz]==="true"))}isApplicationSelectorEnabled(){return se(!0)}isAlwaysOnSidePanelEnabled(){return se(!1)}isTraceEnabled(){return se(!0)}isArtifactsTabEnabled(){return se(!0)}isEvalEnabled(){return se(!0)}isTokenStreamingEnabled(){return se(!0)}isMessageFileUploadEnabled(){return se(!0)}isManualStateUpdateEnabled(){return se(!0)}isBidiStreamingEnabled(){return se(!0)}isExportSessionEnabled(){return se(!0)}isEventFilteringEnabled(){return se(!1)}isDeleteSessionEnabled(){return se(!0)}isLoadingAnimationsEnabled(){return se(!0)}isSessionsTabReorderingEnabled(){return se(!1)}isSessionFilteringEnabled(){return se(!1)}isSessionReloadOnNewMessageEnabled(){return se(!1)}isUserIdOnToolbarEnabled(){return se(!0)}isDeveloperUiDisclaimerEnabled(){return se(!0)}isFeedbackServiceEnabled(){return se(!1)}isInfinityMessageScrollingEnabled(){return se(!1)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Bb=class t{sendFeedback(e,A,i){return se(void 0)}getFeedback(e,A){return se(void 0)}deleteFeedback(e,A){return se(void 0)}getPositiveFeedbackReasons(){return se([])}getNegativeFeedbackReasons(){return se([])}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var djA=(()=>{var t=import.meta.url;return function(e={}){var A,i=e,n,o,a=new Promise((u,y)=>{n=u,o=y});i.agerrMessages=[],i.stderrMessages=[],B=u=>i.stderrMessages.push(u);var r=Object.assign({},i),s="./this.program",g=(u,y)=>{throw y},l="",C,I;typeof document<"u"&&document.currentScript&&(l=document.currentScript.src),t&&(l=t),l.startsWith("blob:")?l="":l=l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1),C=u=>fetch(u,{credentials:"same-origin"}).then(y=>y.ok?y.arrayBuffer():Promise.reject(new Error(y.status+" : "+y.url)));var d=console.log.bind(console),B=console.error.bind(console);Object.assign(i,r),r=null;var E;function Q(u){for(var y=atob(u),x=new Uint8Array(y.length),H=0;Hu.startsWith(Pe);function HA(){var u="data:application/octet-stream;base64,AGFzbQEAAAABmAd0YAJ/fwF/YAF/AGABfwF/YAN/f38Bf2ACf38AYAN/f38AYAR/f39/AX9gBH9/f38AYAV/f39/fwF/YAZ/f39/f38Bf2AFf39/f38AYAZ/f39/f38AYAAAYAh/f39/f39/fwF/YAABf2AHf39/f39/fwF/YAF8AXxgAn9/AXxgAX8BfGAHf39/f39/fwBgA39/fwF8YAd/f39/fHx/AGACf3wAYAR8fHx/AXxgAnx8AXxgA398fABgBX9+fn5+AGAEf39/fABgCn9/f39/f39/f38Bf2ADf35/AX5gBH9/fHwBf2ADfHx8AXxgCX9/f39/f39/fwBgA39/fgBgAAF8YAR/f39/AXxgAn9/AX5gBX9/f39+AX9gA39/fgF/YAp/f39/f39/f39/AGAEf35+fwBgBH9/fH8AYAJ/fgBgAnx/AXxgBH9/f3wBf2ABfwF+YAJ/fgF/YAJ/fAF/YAN8fH8BfGADf3x/AGAIf39/f39/f38AYAV/f39/fAF/YAt/f39/f39/f39/fwF/YAN/f3wAYAV/f35/fwBgBH9/fH8Bf2AAAX5gB39/f398f38Bf2AFf39/f3wAYAN/f3wBf2ADf35/AX9gAn19AX1gBH9/fX8AYAZ/fHx8fHwBfGADf39/AX5gDH9/f39/f39/f39/fwF/YAV/f3x/fwF/YAd/f398fH9/AGAGf39/fH9/AGAGf39/f35/AX9gD39/f39/f39/f39/f39/fwBgBH9/f38BfmAGf3x/f39/AX9gB39/f39/fn4Bf2AGf39/f35+AX9gB39/f39+f38Bf2AGf39/f39+AX9gAn5/AGAEf35/fwF/YAR/f3x8AXxgBX9/fH9/AGAJf39/f39/f39/AX9gBH9/fHwAYAR+fn5+AX9gAn99AX9gAn5/AX9gCH9/f398fHx/AGADf31/AGAGf39+fn5/AGABfAF/YAJ+fgF9YAJ/fQBgBH9/f34BfmAGf31/f39/AGADf3x8AX9gBX9/f3x/AGAFf398fH8AYAZ8fHx/f38AYAJ+fgF8YAJ8fwF/YAR/fHx8AGAGf39/f398AGAEf3x/fwBgBnx8f3x8fwBgB398fHx8fHwAYAV/fHx8fAF/YAF/AX1gA39/fwF9YAN+fn4Bf2AEf35+fgBgBH98f38Bf2AKf3x/f39/f39/fwBg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g+cDIAJBEGoQHxoQLAALFwBBAUF/IAAgASABED8iABChAiAARhsLJQEBfyAAKAIsIgBBAEGAASAAKAIAEQMAIgAEfyAAKAIQBUEACws0AQF/AkAgACABEOUBIgFFDQAgACgCLCIAIAFBCCAAKAIAEQMAIgBFDQAgACgCECECCyACC28BAX8jAEEgayIDJAAgA0IANwMYIANCADcDECADIAI2AgwCQCADQRBqIAEgAhC0CiIBQQBIBEAgA0GQhgsoAgAQswU2AgBBmP0DIAMQNwwBCyAAIANBEGoiABCOBSABEKECGiAAEFwLIANBIGokAAskAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhDLCyADQRBqJAALMwEBfyACBEAgACEDA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAAC6QBAQN/IwBBEGsiAiQAAkAgABAuIgMgACgCAEEDcSAAKQMIEOYJIgEEfyABKAIYBUEACyIBDQAgAygCTCIBKAIAKAIMIgMEQCABKAIIIAAoAgBBA3EgACkDCCADESYAIgENAQtBACEBIAAoAgBBA3FBAkYNACACIAApAwg3AwggAkElNgIAQZDbCiEBQZDbCkEgQY4YIAIQpgEaCyACQRBqJAAgAQsPACAAIAEgAiADQQAQ7wsLQwAgACAAIAGlIAG9Qv///////////wCDQoCAgICAgID4/wBWGyABIAC9Qv///////////wCDQoCAgICAgID4/wBYGwsVACAAEKMBBEAgACgCBA8LIAAQpQMLFAAgABAoBEAgAC0ADw8LIAAoAgQLJgAgACABEK0HIgFFBEBBAA8LIAAQ7QEoAgwgASgCEEECdGooAgALogEBAn8CQAJAIAAEQCAAKAIIIgMgACgCDCICRgRAIAAgA0EBdEEBIAMbIAEQqgIgACgCDCECCyACRQ0BIAAoAggiAyACTw0CIAAgACgCBCADaiACcCICIAEQ3gEaIAAgACgCCEEBajYCCCACDwtBvdIBQbS3AUE3Qc3CARAAAAtB2pMDQbS3AUE/Qc3CARAAAAtBpAxBtLcBQcAAQc3CARAAAAsuACAALQAPIgBBAWpB/wFxQRFPBEBBqrkDQZ38AEHcAEHKlwEQAAALIABB/wFHC0MAIAAgACABpCABvUL///////////8Ag0KA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AEEQayIDJAAgAyACNgIMIAAgASACEMkLIANBEGokAAsIAEEBIAAQGgsMACAAIAFBHGoQ2goLGQEBfyMAQRBrIgEkACAAEKcLIAFBEGokAAsbAQF/QQohASAAEKMBBH8gABD2AkEBawVBCgsL0wECA38CfgJAIAApA3AiBFBFIAQgACkDeCAAKAIEIgEgACgCLCICa6x8IgVXcUUEQCAAEL0FIgNBAE4NASAAKAIsIQIgACgCBCEBCyAAQn83A3AgACABNgJoIAAgBSACIAFrrHw3A3hBfw8LIAVCAXwhBSAAKAIEIQEgACgCCCECAkAgACkDcCIEUA0AIAQgBX0iBCACIAFrrFkNACABIASnaiECCyAAIAI2AmggACAFIAAoAiwiACABa6x8NwN4IAAgAU8EQCABQQFrIAM6AAALIAMLygECAn8BfCMAQRBrIgEkAAJAIAC9QiCIp0H/////B3EiAkH7w6T/A00EQCACQYCAwPIDSQ0BIABEAAAAAAAAAABBABCwBCEADAELIAJBgIDA/wdPBEAgACAAoSEADAELIAAgARCoByECIAErAwghACABKwMAIQMCQAJAAkACQCACQQNxQQFrDgMBAgMACyADIABBARCwBCEADAMLIAMgABCxBCEADAILIAMgAEEBELAEmiEADAELIAMgABCxBJohAAsgAUEQaiQAIAALewEDfwJAIAEQuAohAiAAEPsGIQMgABAkIQQgAiADTQRAIAAQRiIDIAEgAhCoCyMAQRBrIgEkACAAECQaIAAgAhCfAyABQQA2AgwgAyACQQJ0aiABQQxqENsBIAFBEGokAAwBCyAAIAMgAiADayAEQQAgBCACIAEQsQoLC08BA38CQCABED8hAiAAEFUhAyAAECQhBCACIANNBEAgABBGIgMgASACEKoLIAAgAyACEMUKDAELIAAgAyACIANrIARBACAEIAIgARC1CgsLEAAgABCgCyABEKALc0EBcwsQACAAEKELIAEQoQtzQQFzCxUAIAAtAA9B/wFGBEAgACgCABAYCwsLACAAIAFBOBCgCguVBQIDfwJ+IwBB4ABrIgUkAAJAAkACQAJAAkACQCAAQQIgAyAFQdgAakEAEJQDRQRAIAMNAiAEBEAgABDcBUUNBAsgBUIANwNQIAVCADcDSAwBCyAFQgA3A0ggBSAFKQNYNwNQIAVB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CCEBIARBiPIIQRgQzgFFDQJBoPIIIQEgBEGg8ghBGBDOAUUNAkEAIQBBkJ8LLQAARQRAA0AgAEECdEHgngtqIABBlYAFEJ8HNgIAIABBAWoiAEEGRw0AC0GQnwtBAToAAEH4ngtB4J4LKAIANgIAC0HgngshASACQQhqIgBB4J4LQRgQzgFFDQJB+J4LIQEgAEH4ngtBGBDOAUUNAkEYEE0iAUUNAQsgASACKQIINwIAIAEgAikCGDcCECABIAIpAhA3AggMAQtBACEBCyACQSBqJABBhKELQQE6AABBgKELIAE2AgAgAQutAQIBfwJ+AkACQCAABEAgAQRAIABBABDAAiIDKAL0Aw0CIAMpA7AEIgQgAUEIayIBKAIAQQhqrSIFVA0DIAMgBCAFfSIENwOwBCADKALABEECTwRAIANBLSAFIAQgAykDuAQgAhCSBAsgASAAKAIUEQEACw8LQZ3TAUG+vAFBiwdB254BEAAAC0Gn0QFBvrwBQZIHQdueARAAAAtBlqgBQb68AUGbB0HbngEQAAALCQAgAEEAENcGC78KAgV/D34jAEHgAGsiBSQAIARC////////P4MhDCACIASFQoCAgICAgICAgH+DIQogAkL///////8/gyINQiCIIQ4gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyILQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAtCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASALhEIAIQFQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIAuEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyALQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIGG3kgBkEGdK18pyIGQQ9rELMBQRAgBmsh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IABBACAHELgFDAELIAUgAiADIAAgBEEQahCgBwsgAEEBRgRAIARBCGpBARC3BUEADAELIARBCGogBhC3BUEBCyEAIAQgBCgCCEEBciIGNgIIIAIgBWoiBSABSQ0ACwsgBSACIAMgBEEIaiAAQQAgBEEQahC4BQJAIABBAUcNACAEKAIIQQFHDQAgBCgCDEUNAQsDQAJ/IABBAUwEQCAEQQhqIgEgARDfCyIBELkFIAAgAWoMAQsgBEEIaiIBQQIQtwUgBCAEKAIIQQdzNgIIIAFBARC5BSAFIAlqIgggBEEQaiIHIABBAmsiBkECdGooAgBrIAIgAyABIABBAWtBASAHELgFIAFBARC3BSAEIAQoAghBAXI2AgggCCACIAMgASAGQQEgBxC4BSAGCyEAIAUgCWohBSAAQQFHDQAgBCgCCEEBRw0AIAQoAgwNAAsLIARB0AFqJAALxAEBA38CfwJAIAEoAkwiAkEATgRAIAJFDQFBnIgLKAIAIAJB/////wNxRw0BCwJAIABB/wFxIgIgASgCUEYNACABKAIUIgMgASgCEEYNACABIANBAWo2AhQgAyAAOgAAIAIMAgsgASACEKQHDAELIAFBzABqIgQQ6QsaAkACQCAAQf8BcSICIAEoAlBGDQAgASgCFCIDIAEoAhBGDQAgASADQQFqNgIUIAMgADoAAAwBCyABIAIQpAchAgsgBBDpAxogAgsLqwMCBX8BfiAAvUL///////////8Ag0KBgICAgICA+P8AVCABvUL///////////8Ag0KAgICAgICA+P8AWHFFBEAgACABoA8LIAG9IgdCIIinIgJBgIDA/wNrIAenIgVyRQRAIAAQwAUPCyACQR52QQJxIgYgAL0iB0I/iKdyIQMCQCAHQiCIp0H/////B3EiBCAHp3JFBEACQAJAIANBAmsOAgABAwtEGC1EVPshCUAPC0QYLURU+yEJwA8LIAJB/////wdxIgIgBXJFBEBEGC1EVPsh+T8gAKYPCwJAIAJBgIDA/wdGBEAgBEGAgMD/B0cNASADQQN0QYDKCGorAwAPCyAEQYCAwP8HRyACQYCAgCBqIARPcUUEQEQYLURU+yH5PyAApg8LAnwgBgRARAAAAAAAAAAAIARBgICAIGogAkkNARoLIAAgAaOZEMAFCyEAAkACQAJAIANBAWsOAwABAgQLIACaDwtEGC1EVPshCUAgAEQHXBQzJqahvKChDwsgAEQHXBQzJqahvKBEGC1EVPshCcCgDwsgA0EDdEGgyghqKwMAIQALIAALlgECAX8BfgJAIAAQOSABEDlHDQACQAJAAkAgASgCAEEDcQ4CAAECCwNAIAAgAUYiAg0DIAEoAkQiAQ0ACwwCCwJAIAAgASkDCCIDEL8DIgFBAXINAEEAIQEgACAAEDkiAkYNACACIAMQvwMiAkUNACAAIAJBARCDARogAiEBCyABQQBHDwsgACABQQAQ1gJBAEchAgsgAgtEAgJ/AXwgAEEAIABBAEobIQADQCAAIANGRQRAIAEgA0EDdCIEaisDACACIARqKwMAoiAFoCEFIANBAWohAwwBCwsgBQs7AQJ/IAAoAgQiAQRAIAEhAANAIAAiASgCACIADQALIAEPCwNAIAAgACgCCCIBKAIARyABIQANAAsgAAs6AQF/AkAgAUUNACAAEL4DKAIAIAFBARCYBCICRSACQQhqIAFHcg0AIAAgARDVAg8LIAAgAUEAEMsICwwAQYjdChDtCzYCAAuZAgEGfyAAKAIIIgVBgCBxBEAgACgCDA8LAkAgBUEBcQRAIAAoAhAiAiAAKAIUQQJ0aiEGA0AgAiAGTw0CIAIoAgAiBARAAkAgAUUEQCAEIgMhAQwBCyABIAQ2AgALA0AgASIEKAIAIgENAAsgAiAENgIAIAQhAQsgAkEEaiECDAALAAsgACgCDCIDRQRAQQAhAwwBCwNAIAMoAgQiAQRAIAMgASgCADYCBCABIAM2AgAgASEDDAELCyADIQEDQCABIgQoAgAiAQRAIAEoAgQiAkUNAQNAIAEgAigCADYCBCACIAE2AgAgAiIBKAIEIgINAAsgBCABNgIADAELCyAAKAIIIQULIAAgAzYCDCAAIAVBgCByNgIIIAMLoQEBAn8CQCAAECRFIAIgAWtBBUhyDQAgASACEJcFIAJBBGshBCAAEEYiAiAAECRqIQUCQANAAkAgAiwAACEAIAEgBE8NACAAQQBMIABB/wBOckUEQCABKAIAIAIsAABHDQMLIAFBBGohASACIAUgAmtBAUpqIQIMAQsLIABBAEwgAEH/AE5yDQEgAiwAACAEKAIAQQFrSw0BCyADQQQ2AgALC4QBAQJ/IwBBEGsiAiQAIAAQowEEQCAAKAIAIAAQ9gIaEKEFCyABECQaIAEQowEhAyAAIAEoAgg2AgggACABKQIANwIAIAFBABDTASACQQA6AA8gASACQQ9qENIBAkAgACABRiIBIANyRQ0ACyAAEKMBIAFyRQRAIAAQpQMaCyACQRBqJAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLzgkCBH8EfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAKQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBRshBEIAIAEgBRshAwwCCyADIAlCgICAgICAwP//AIWEUA0BIAEgCoRQBEAgAyAJhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAJhFBFDQAgASEDIAIhBAwBCyADIAEgASADVCAJIApWIAkgClEbIggbIQogBCACIAgbIgxC////////P4MhCSACIAQgCBsiC0IwiKdB//8BcSEHIAxCMIinQf//AXEiBUUEQCAGQeAAaiAKIAkgCiAJIAlQIgUbeSAFQQZ0rXynIgVBD2sQswEgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3kgB0EGdK18pyIHQQ9rELMBQRAgB2shByAGKQNQIQMgBikDWAtCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCACIASFIQQCfiADQgOGIgIgBSAHRg0AGiAFIAdrIgdB/wBLBEBCACEBQgEMAQsgBkFAayACIAFBgAEgB2sQ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ABCCASIGEP4BRQ0AGiADIAYQ1gMhAQNAAkAgABCVARogAUEwayEBIAAgBUEMahBbIARBAkhyDQAgA0HAACAAEIIBIgYQ/gFFDQMgBEEBayEEIAMgBhDWAyABQQpsaiEBDAELCyAAIAVBDGoQW0UNAUECCyACKAIAcjYCAAsgBUEQaiQAIAELlQEBA38jAEEQayIEJAAgBCABNgIMIAQgAzYCCCAEQQRqIARBDGoQjgIgBCgCCCEDIwBBEGsiASQAIAEgAzYCDCABIAM2AghBfyEFAkBBAEEAIAIgAxBjIgNBAEgNACAAIANBAWoiAxBNIgA2AgAgAEUNACAAIAMgAiABKAIMEGMhBQsgAUEQaiQAEI0CIARBEGokACAFC2MAIAIoAgRBsAFxIgJBIEYEQCABDwsCQCACQRBHDQACQAJAIAAtAAAiAkEraw4DAAEAAQsgAEEBag8LIAJBMEcgASAAa0ECSHINACAALQABQSByQfgARw0AIABBAmohAAsgAAsuAAJAIAAoAgRBygBxIgAEQCAAQcAARgRAQQgPCyAAQQhHDQFBEA8LQQAPC0EKC0YBAX8gACgCACECIAEQbyEAIAJBCGoiARDFAiAASwR/IAEgABCeAygCAEEARwVBAAtFBEAQkAEACyACQQhqIAAQngMoAgALTQEBfyMAQRBrIgMkACAAIAEgAhCLByIABEAgAyAAELMFNgIIIAMgAjYCBCADIAE2AgBBqPMIKAIAQfv7AyADEB8aECwACyADQRBqJAALfQECfyMAQRBrIgQkACMAQSBrIgMkACADQRhqIAEgASACahCkBSADQRBqIAMoAhggAygCHCAAEKsLIAMgASADKAIQEKMFNgIMIAMgACADKAIUEKQDNgIIIARBCGogA0EMaiADQQhqEPwBIANBIGokACAEKAIMGiAEQRBqJAAL4wECBH4CfyMAQRBrIgYkACABvSIFQv////////8HgyECIAACfiAFQjSIQv8PgyIDUEUEQCADQv8PUgRAIAJCBIghBCADQoD4AHwhAyACQjyGDAILIAJCBIghBEL//wEhAyACQjyGDAELIAJQBEBCACEDQgAMAQsgBiACQgAgBadnQSByIAJCIIinZyACQoCAgIAQVBsiB0ExahCzAUGM+AAgB2utIQMgBikDCEKAgICAgIDAAIUhBCAGKQMACzcD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DCABNgJIIAEoAgRBAUcNACAMKAIAEBggDEH23gEQZDYCAAsgCSgCjAEgCUGQAWokAEUNAQJAAkACQCAAEJICDgMAAQIECyATIB0QITYCAEHA9QMgExB/DAMLIBMgHhAhNgIQQcn5AyATQRBqEH8MAgsgGUEwQQAgGSgCAEEDcUEDRxtqKAIoECEhACAUEIECIQEgEyAZQVBBACAZKAIAQQNxQQJHG2ooAigQITYCKCATQbbfAUHUngMgARs2AiQgEyAANgIgQfzuAyATQSBqEH8MAQsgASAAQQAQ8wghAAJ/IAVBAUYEQCAAEJsEDAELIAAgFBDRBgshASAAEBggDCABNgIAIBQoAhAoApABIAwQ9AgLIBNBMGokACAMDwtBwNUBQdH7AEEMQf47EAAACwgAIAAQmQEaC44BAQN/AkAgACgCCCIBQQxxBEAgACgCDCECDAELAkAgAUEBcQRAIAAQsAEhAiAAKAIQIgEgACgCFEECdGohAwNAIAEgA08NAiABQQA2AgAgAUEEaiEBDAALAAsgACgCECECIABBADYCEAwBCyAAKAIIIQELIABBADYCGCAAQQA2AgwgACABQf9fcTYCCCACC78CAgN/AXwjAEEwayICJAAgACgAnAEhAyAAKAKUASACIAApApwBNwMIIAIgACkClAE3AwAgAiADQQFrEBlBAnRqKAIAIQMgAiABKQMYNwMoIAIgASkDEDcDICACIAEpAwg3AxggAiABKQMANwMQIABBlAFqAkAgA0UNAAJAIAIoAhQNACADKAIEIgRFDQAgAiAENgIUCwJAIAIrAyBEAAAAAAAAAABjRQ0AIAMrAxAiBUQAAAAAAAAAAGZFDQAgAiAFOQMgCwJAIAIoAhANACADKAIAIgRFDQAgAiAENgIQCyADKAIYQf8AcSIDRQ0AIAIgAigCKCADcjYCKAsgACAAKAKsASgCiAEiAyACQRBqQQEgAygCABEDADYCqAFBBBAnIQEgACgClAEgAUECdGogACgCqAE2AgAgAkEwaiQAC28BAX8jAEEgayIDJAAgA0IANwMYIANCADcDCCADQoCAgICAgID4v383AxAgAyACNgIYIANCADcDACABBEAgACADQbCbCkEDIAFBqt4BEJAECyAAKAI8KAKIASIAIANBASAAKAIAEQMAIANBIGokAAsLACAAQeXMBBCg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CQoLDA0ODxAREhMUFRYXGBkLIAJBAWoiE0EQEBohEUEBIQMDQCACIANGBEAgESAQIAJBMGxqIgFBGGopAwA3AwggESABKQMQNwMAIBEgAkEEdGoiAyABQRBrIgJBCGopAwA3AwggAyACKQMANwMAIAAgESATIAQQSCAREBggDyACKQMINwMoIA8gAikDADcDICAPIAEpAxg3AzggDyABKQMQNwMwIA8gDysDMCAPKwMgIAErAwChoDkDQCAPIA8rAzggDysDKCABKwMIoaA5A0ggACAPQTBqQQIQPSAPIA8pA0g3AzggDyAPKQNANwMwIAAgD0EgakECED0MGgUgESADQQR0IhJqIhQgASASaiISKQMANwMAIBQgEikDCDcDCCADQQFqIQMMAQsACwALIAJBAmoiA0EQEBoiAiABKQMINwMIIAIgASkDADcDACACIBApAyA3AxAgAiAQKQMoNwMYIAIgECsDICAQKwMwIgYgECsDQKFEAAAAAAAACECjIgegOQMgIBArAyghCCAQKwNIIQkgECsDOCEFIAIgBiAHoDkDMCACIAUgBSAJoUQAAAAAAAAIQKMiBaA5AzggAiAIIAWgOQMoQQQgAyADQQRNGyERIAFBIGshE0EEIQEDQCABIBFGBEAgACACIAMgBBBIIAIQGCAPIBApAzg3AyggDyAQKQMwNwMgIA8gECkDKDcDOCAPIBApAyA3AzAgACAPQSBqQQIQPQwZBSACIAFBBHQiEmoiFCASIBNqIhIpAwA3AwAgFCASKQMINwMIIAFBAWohAQwBCwALAAsgAkEDaiIDQRAQGiICIAFBCGopAwA3AwggAiABKQMANwMAIAIgASsDACIFIAUgECsDEKEiBkQAAAAAAADQv6KgOQMQIAErAwghCCAQKwNIIQkgAiAQKwM4Igc5AzggAiAFIAZEAAAAAAAAAsCioDkDMCACIAUgBiAGoKE5AyAgAiAIIAcgCaFEAAAAAAAACECjoCIFOQMoIAIgBTkDGCAQKwMwIQUgAiAHOQNIIAIgBTkDQEEEIAMgA0EETRshESABQTBrIRNBBCEBA0AgASARRgRAIAAgAiADIAQQSCACEBgMGAUgAiABQQR0IhJqIhQgEiATaiISKQMANwMAIBQgEikDCDcDCCABQQFqIQEMAQsACwALIAJBBEcNG0EGQRAQGiICIAEp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ASkDADcDACAAIAEpAwg3AwgLCgAgAEEIahDTAwsNACAAKAIAIAFBAnRqCxkAIAAQowEEQCAAIAEQvgEPCyAAIAEQ0wELYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBAWsiATYCCCAAIAFPDQEgAigCDCACKAIIEPcKIAIgAigCDEEBaiIANgIMIAIoAgghAQwACwALIAJBEGokAAuxAQEDfyMAQRBrIgckAAJAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQ4QMgCEcNAQsgBiADIAFrQQJ1IgFrQQAgASAGSBsiAUEASgRAIAAgB0EEaiABIAUQgAsiBRBGIAEQ4QMhBiAFEHYaIAEgBkcNAQsgAyACa0ECdSIBQQBKBEAgACACIAEQ4QMgAUcNAQsgBBCDCwwBC0EAIQALIAdBEGokACAAC6gBAQN/IwBBEGsiByQAAkACQCAARQ0AIAQoAgwhBiACIAFrIghBAEoEQCAAIAEgCBDhAyAIRw0BCyAGIAMgAWsiAWtBACABIAZIGyIBQQBKBEAgACAHQQRqIAEgBRCECyIFEEYgARDhAyEGIAUQNBogASAGRw0BCyADIAJrIgFBAEoEQCAAIAIgARDhAyABRw0BCyAEEIMLDAELQQAhAAsgB0EQaiQAIAALDgAgACABKAIANgIAIAALCgAgACABIABragsLACAALQALQf8AcQsIACAAQf8BcQtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAECxYAIABFBEBBAA8LQZCGCyAANgIAQX8LCwAgACABIAIRAAAL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ACEAIAggAUEEajYCACABIAA2AgAMAQtBfyEAIAkgCUEaaiAKQQ9qEIUHIAlrIgVBF0oNAQJAAkACQCABQQhrDgMAAgABCyABIAVKDQEMAwsgAUEQRyAFQRZIcg0AIAMoAgAiASACRiABIAJrQQJKcg0CIAFBAWstAABBMEcNAkEAIQAgBEEANgIAIAMgAUEBajYCACABIAVB4K4Jai0AADoAAAwCCyADIAMoAgAiAEEBajYCACAAIAVB4K4Jai0AADoAACAEIAQoAgBBAWo2AgBBACEADAELQQAhACAEQQA2AgALIApBEGokACAACwsAIABB+KILEKkCC18BAn8jAEEQayIDJAADQAJAIAAoAgggAk0EQEF/IQIMAQsgAyAAKQIINwMIIAMgACkCADcDACABIAAgAyACEBkQlQtBBBDOAUUNACACQQFqIQIMAQsLIANBEGokACACCxQAIABB3wBxIAAgAEHhAGtBGkkbCxsBAX8gAUEBEKILIQIgACABNgIEIAAgAjYCAAskACAAQQtPBH8gAEEIakF4cSIAIABBAWsiACAAQQtGGwVBCgsLJAECfyMAQRBrIgIkACAAIAEQnwUhAyACQRBqJAAgASAAIAMbCxMAIAAgASACIAAoAgAoAjARAwALZwIBfwF+IwBBEGsiAiQAIAACfiABRQRAQgAMAQsgAiABrUIAQfAAIAFnIgFBH3NrELMBIAIpAwhCgICAgICAwACFQZ6AASABa61CMIZ8IQMgAikDAAs3AwAgACADNwMIIAJBEGokAAtSAQJ/QYzXCigCACIBIABBB2pBeHEiAmohAAJAIAJBACAAIAFNG0UEQCAAPwBBEHRNDQEgABAKDQELQZCGC0EwNgIAQX8PC0GM1wogADYCACABC38CAX4DfwJAIABCgICAgBBUBEAgACECDAELA0AgAUEBayIBIAAgAEIKgCICQgp+fadBMHI6AAAgAEL/////nwFWIAIhAA0ACwsgAlBFBEAgAqchAwNAIAFBAWsiASADIANBCm4iBEEKbGtBMHI6AAAgA0EJSyAEIQMNAAsLIAELHAAgAEGBYE8Ef0GQhgtBACAAazYCAEF/BSAACws2ACAAIAEQqwMiAEUEQEEADwsgACgCACEBIAIEQCAAIAJBCCABEQMADwsgAEEAQYABIAERAwALPAAgACgCTEEATgRA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MyADEDgFIBggCCgCACADQQR0aiIEKQM4NwMIIBggBCkDMDcDACACQbAVakEQECchBCACKAKwFSAEQQR0aiIEIBgpAwA3AwAgBCAYKQMINwMIIANBAWohAwwBCwsLIAgoAgAQGCAIEBgLIAxBAWohDCACKAKoDiEDDAALAAUgAkG4FWoiDgJ/IAMgFEsEQCACIAJBqA5qIgMpAwA3A5gEIAIgAikDoA43A5AEIAIoAqAOIAJBkARqIBQQGUHIAGxqKAIAIRYgAiADKQMANwOIBCACIAIpA6AONwOABCACKAKgDiACQYAEaiAUEBlByABsakEIagwBCyACKALAFCACKALEFEEBayIWQQR0agsiAykDCDcDACACIAMpAwA3A7AVIAJBkAhqQgA3AwAgAkGICGoiC0IANwMAIAJCADcDgAggEyAPKQMANwMIIBMgAikDgBU3AwAgAkGACGpBEBAnIQMgAigCgAggA0EEdGoiAyATKQMANwMAIAMgEykDCDcDCCAFIQQDQCAWIARBAWoiBEsEQEEAIQMgAigCwBQhCANAIAIoAqgOIANLBEAgAiACQagOaikDADcDmAMgAiACKQOgDjcDkAMgCCACKAKgDiACQZADaiADEBlByABsaigCAEEEdGohCiADQQFqIQMgAigCwBQiByEIIAcgBEEEdGoiBysDACAKKwMAoSAHKwMIIAorAwihEEpEexSuR+F6hD9jRQ0BDAMLCyATIAggBEEEdGoiAykDADcDACATIAMpAwg3AwggAkGACGpBEBAnIQMgAigCgAggA0EEdGoiAyATKQMANwMAIAMgEykDCDcDCAwBCwsgEyACKQOwFTcDACATIA4pAwA3AwggAkGACGpBEBAnIQMgAigCgAggA0EEdGoiAyATKQMANwMAIAMgEykDCDcDCCACIAspAwA3A/gDIAIgAikDgAg3A/ADQQAhAyAAIAIoAoAIIAJB8ANqQQAQGUEEdGogCygCABA9AkADQAJAIAIoAogIIANNBEAgAkGACGoiA0EQEDMgAxA4IBQgAigCqA5PDQMgAiACQagOaiIKKQMANwPoAyACIAIpA6AONwPgAyACKAKgDiACQeADaiAUEBlByABsaigCACEFA0BBACEDIAVBAWoiBSACKALEFE8NAgNAIAMgAigCqA5PDQMgAiAKKQMANwPIAyACIAIpA6AONwPAAyACKALAFCEOIAIoAqAOIQggAkHAA2ogAxAZIQQgA0EBaiEDIAIoAsAUIAVBBHRqIgcrAwAgDiAIIARByABsaigCAEEEdGoiBCsDAKEgBysDCCAEKwMIoRBKRHsUrkfheoQ/Y0UNAAsMAAsACyACIAspAwA3A7gDIAIgAikDgAg3A7ADIAJBsANqIAMQGSEEAkACQCACKAKQCCIHDgIBDgALIAIgAigCgAggBEEEdGoiBCkDCDcDqAMgAiAEKQMANwOgAyACQaADaiAHEQEACyADQQFqIQMMAQsLIAIgCikDADcD2AMgAiACKQOgDjcD0AMgDyACKAKgDiACQdADaiAUEBlByABsaiIDKQMgNwMAIAIgAykDGDcDgBULIBRBAWohFAwBCwALAAsgACACKALAFCACKALEFEEAEPEBDAILIAAgAigCwBQgAigCxBRBABDxAQtBACEDA0AgAigCqA4gA00EQCACQaAOaiIDQcgAEDMgAxA4BSACIAJBqA5qKQMANwP4ASACIAIpA6AONwPwASACQfABaiADEBkhBwJAAkAgAigCsA4iBQ4CAQgACyACQagBaiIEIAIoAqAOIAdByABsakHIABAgGiAEIAURAQALIANBAWohAwwBCwsLIAIoAsgUIgQEQCACIBUpAwg3A7gCIAIgFSkDADcDsAIgAiACKALAFCIDKQMINwOoAiACIAMpAwA3A6ACIABBAiACQbACaiACQaACaiAoICUgBBDqAgsgAigCzBQiBARAIAIgECkDCDcDmAIgAiAQKQMANwOQAiACIAIoAsAUIAIoAsQUQQR0akEQayIDKQMINwOIAiACIAMpAwA3A4ACIABBAyACQZACaiACQYACaiAoICUgBBDqAgsCQCAXRSABKAIQKAIIKAIEQQJJcg0AIAIoAsgUIAIoAswUckUNACAAIA0Q5AELIBlBAWohGQwACwALIBoQ7AIQGCAaEBggAkHoB2oQXCAAKAIQIgcoAgghCQJAIAcoAtgBRQRAIActAIwCQQFxRQ0BCyAAEJcCIAcoApwCIgtFDQAgBygCoAIiBCgCACEIQQEhBQNAIAUgC08NASAHIAQgBUECdCIBaigCADYClAIgByAHKAKkAiAIQQR0ajYCmAIgACAHKALYASAHKALsASAHKAL8ASAHKALcARDDASAAEJcCIAVBAWohBSABIAcoAqACIgRqKAIAIAhqIQggBygCnAIhCwwACwALIAdCADcClAIgACAJKAIQIgMoAggiAQR/IAcoAuQBIQMgBy8BjAIhBCACIAEoAgAiAUEQaiABKAIAIAEoAggbIgEpAwg3AyAgAiABKQMANwMYIAAgAkEYaiAEQYABcUEHdiADIARBAnFBAXYQ3gggBygC6AEhAyAHLwGMAiEEIAIgCSgCECgCCCIBKAIAIAEoAgRBMGxqIgEgAUEwaygCACABQSxrKAIAQQR0aiABQSRrKAIAG0EQayIBKQMINwMQIAIgASkDADcDCCAAIAJBCGogBEGAAnFBCHYgAyAEQQRxQQJ2EN4IIAkoAhAFIAMLKAJgQQsgBy8BjAJBA3ZBAXEgBygC4AEgBygC8AEgBygCgAIgBygC3AEgCUGQ2gooAgBB6pMBEHoQaQR/IAkoAhAoAggFQQALEN4EIAAgCSgCECgCbEELIAcvAYwCQQN2QQFxIAcoAuABIAcoAvABIAcoAoACIAcoAtwBIAlBkNoKKAIAQeqTARB6EGkEfyAJKAIQKAIIBUEACxDeBCAAIAkoAhAoAmRBByAHLwGMAkECdkEBcSAHKALoASAHKAL4ASAHKAKIAiAHKALcAUEAEN4EIAAgCSgCECgCaEEGIAcvAYwCQQF2QQFxIAcoAuQBIAcoAvQBIAcoAoQCIAcoAtwBQQAQ3gQCQCAAKAI8IgFFDQAgASgCRCIBRQ0AIAAgAREBAAsgABCNBAsgAkHgFWokAA8LQb6ABEHCAEEBQajzCCgCABA7GhA8AAvOBgECfyMAQYACayIDJAAgA0HQAWoiBEGovwhBMBAgGiABQgA3AgACQAJAAkACQCAAIAQQ4gQNACADKALYAUECSQ0AIAMgAykD2AE3A8gBIAMgAykD0AE3A8ABIAMoAtABIANBwAFqQQAQGUEYbGooAgANAQtBACEAQQAhAQNAIAEgAygC2AFPDQIgAyADKQPYATcDICADIAMpA9ABNwMYIANBGGogARAZIQICQAJAIAMoAuABIgQOAgEFAAsgAyADKALQASACQRhsaiICKQMINwMIIAMgAikDEDcDECADIAIpAwA3AwAgAyAEEQEACyABQQFqIQEMAAsACyADKALYAUEDTwRAQYWWBEEAECoLIAMgAykD2AE3A7gBIAMgAykD0AE3A7ABIAEgAygC0AEgA0GwAWpBABAZQRhsaigCABBkNgIAIAMgAykD2AE3A6gBIAMgAykD0AE3A6ABIAMoAtABIANBoAFqQQEQGUEYbGooAgAEQCADIAMpA9gBNwOYASADIAMpA9ABNwOQASABIAMoAtABIANBkAFqQQEQGUEYbGooAgAQZDYCBAsgAyADKQPYATcDiAEgAyADKQPQATcDgAEgAygC0AEhASADQYABakEAEBkhBCADKALQASEAIAICfCABIARBGGxqLQAQQQFGBEAgAyADKQPYATcDWCADIAMpA9ABNwNQIAAgA0HQAGpBABAZQRhsaisDCAwBCyADIAMpA9gBNwN4IAMgAykD0AE3A3BEAAAAAAAAAAAgACADQfAAakEBEBlBGGxqLQAQQQFHDQAaIAMgAykD2AE3A2ggAyADKQPQATcDYEQAAAAAAADwPyADKALQASADQeAAakEBEBlBGGxqKwMIoQs5AwBBACEBQQEhAANAIAEgAygC2AFPDQEgAyADKQPYATcDSCADIAMpA9ABNwNAIANBQGsgARAZIQICQAJAIAMoAuABIgQOAgEEAAsgAyADKALQASACQRhsaiICKQMINwMwIAMgAikDEDcDOCADIAIpAwA3AyggA0EoaiAEEQEACyABQQFqIQEMAAsACyADQdABaiIBQRgQMyABEDggA0GAAmokACAADwtBvoAEQcIAQQFBqPMIKAIAEDsaEDwAC68BAQF/IAAoAhAiAUUEQEG39QBBo7gBQYcBQc+RARAAAAsgASgC3AEQGCABKALYARAYIAEoAuABEBggASgC5AEQGCABKALoARAYIAEoAuwBEBggASgC8AEQGCABKAL0ARAYIAEoAvgBEBggASgC/AEQGCABKAKAAhAYIAEoAoQCEBggASgCiAIQGCABKAKYAhAYIAEoAqQCEBggASgCoAIQGCAAIAEoAgA2AhAgARAYC54BAQJ/QbgCEMYDIgEgACgCECICNgIAIAAgATYCECACBEAgAUEQaiACQRBqQSgQIBogAUE4aiACQThqQSgQIBogASACKAKYATYCmAEgASACKAKcATYCnAEgASACKwOgATkDoAEgASACKAKIATYCiAEgAUHgAGogAkHgAGpBKBAgGiABDwsgAUKAgICAgICA+D83A6ABIAFCAzcDmAEgAQvjAwIIfwJ+IwBBIGsiBiQAQYTdCigCACEDAkACQAJAIAAoAgQiBUEDbEECayIHQYDdCigCACIESwRAIARB/////wBPDQEgB0GAgICAAU8NAiADIAdBBHQiAhBmIgNFDQMgBEEEdCIEIAJJBEAgAyAEakEAIAIgBGsQNhoLQYDdCiAHNgIAQYTdCiADNgIACyADIAAoAgAiACkDADcDACADIAApAwg3AwggACkDACEKIAMgACkDCDcDGCADIAo3AxBBAiEEQQIgBSAFQQJNG0EBayEJQQEhBQNAIAUgCUZFBEAgAyAEQQR0aiICIAAgBUEEdGoiCCkDADcDACACIAgpAwg3AwggCCkDACEKIAIgCCkDCCILNwMYIAIgCjcDECACIAo3AyAgAiALNwMoIARBA2ohBCAFQQFqIQUMAQsLIAMgBEEEdGoiAiAAIAlBBHRqIgApAwA3AwAgAiAAKQMINwMIIAApAwAhCiACIAApAwg3AxggAiAKNwMQIAEgAzYCACABIAc2AgQgBkEgaiQADwtBoL0DQc/8AEHNAEHtsgEQAAALIAZBEDYCBCAGIAc2AgBBqPMIKAIAQbTnAyAGEB8aECwACyAGIAI2AhBBqPMIKAIAQYPnAyAGQRBqEB8aECwAC3gBBH8jAEEQayIGJAADQCAEKAIAIgcEQCAEKAIEIQggBEEIaiEEIAACfyAHIAIgA0EIQeIBEO0DIgkEQCABIAggCSgCBBEAACAAKAIgcgwBCyAGIAU2AgQgBiAHNgIAQeO1BCAGECpBAQs2AiAMAQsLIAZBEGokAAtFAQN/A0AgACgCACECIAAoAhAhAyABIAAoAghPRQRAIAMgAiABQQJ0aigCAEH5PRBoIAFBAWohAQwBCwsgAyACQfo9EGgLawIBfwF+IwBBQGoiBiQAIAApA5AEIQcgBiAFNgI4IAYgBDcDKCAGIAM3AyAgBiACNwMYIAYgATYCECAGIAO1IAe1lbs5AzAgBiAHNwMIIAYgADYCAEGo8wgoAgBB2fEEIAYQMiAGQUBrJAALSwECf0F/IQECQCAAQQh1IgJB2AFrQQhJDQACQCACQf8BRwRAIAINASAAQZj+B2otAAANAQwCCyAAQX5xQf7/A0YNAQsgACEBCyABC9EBAQF/AkAgAEEASA0AIABB/wBNBEAgASAAOgAAQQEPCyAAQf8PTQRAIAEgAEE/cUGAAXI6AAEgASAAQQZ2QcABcjoAAEECDwsgAEH//wNNBEAgASAAQT9xQYABcjoAAiABIABBDHZB4AFyOgAAIAEgAEEGdkE/cUGAAXI6AAFBAw8LIABB///DAEsNACABIABBP3FBgAFyOgADIAEgAEESdkHwAXI6AAAgASAAQQZ2QT9xQYABcjoAAiABIABBDHZBP3FBgAFyOgABQQQhAgsgAguxAwIDfwJ8AkAgAEHV8AAQJiIBRQ0AIAEtAABFDQAgACgCSCgCECICIAItAHFBCHI6AHEgACABIAEQdUEAR0EAIAAgAEEAQZuHAUEAECJEAAAAAAAALEBEAAAAAAAA8D8QTyAAIABBAEGmmAFBABAiQYPqABCNASAAIABBAEHvNkEAECJBmPUAEI0BENsCIQEgACgCECABNgIMIABBybIBECYhAQJ/AkACQCAAEDkgAEcEQCABRQ0CIAEtAABB4gBGDQEMAgsgAUUNACABLQAAQfQARg0BC0EADAELQQELIQECQCAAQcYZECYiAkUNACACLQAAIgJB8gBHBEAgAkHsAEcNASABQQJyIQEMAQsgAUEEciEBCyAAKAIQIAE6AJMCIAAQOSAARg0AIAAoAhAoAgwiASsDIEQAAAAAAAAgQKAhBCABKwMYRAAAAAAAADBAoCEFIAAQOSAAKAIQIgBBMGohASAALQCTAiECKAIQLQB0QQFxRQRAIAEgAkEFdEEgcWoiACAEOQMIIAAgBTkDAA8LIAFBEEEwIAJBAXEbIgJqIAQ5AwAgACACaiAFOQM4CwtaAQJ/IAAoApgBIQEDQCABBEAgASgCBCABKALIBBAYIAEoAswEEBggARAYIQEMAQsLQazcCkEANgIAQbDcCkEANgIAIABBADYCuAEgAEIANwOYASAAQQA2AhwLnwwCCH8IfCMAQTBrIgYkAAJAIAEEQCABKwMQIQ4gASsDACERIAYgASsDCCIVIAErAxgiE6BEAAAAAAAA4D+iIhI5AyggBiARIA6gRAAAAAAAAOA/oiIUOQMgDAELIAZCADcDKCAGQgA3AyAgABAuIQcgACgCECIIKwNYIg8gCCsDUEQAAAAAAADgP6IiECAHKAIQLQB0QQFxIgcbIRMgECAPIAcbIQ4gD5oiDyAQmiIQIAcbIRUgECAPIAcbIRELIAFBAEchDSAOIBMQIyEQQQEhC0QAAAAAAAAAACEPAkACQCADRQ0AIAMtAAAiDEUNACAQRAAAAAAAABBAoiEQQQAhCEEAIQcCQAJ/AkACQAJAAkACQAJAAkACQCAMQd8Aaw4HBAcHBwsHAQALIAxB8wBrDgUBBgYGAgQLIAMtAAENBQJAIAUEQCAGQSBqIAUgEiAQEOQCDAELIAYgDjkDIAsgBEECcSEHQQEhCQwHCyAGIBU5AyggAy0AASIDQfcARwRAIANB5QBHBEAgAw0FIAUEQCAGQSBqIAUgEJogFBDkAgtBASEJIARBAXEhB0QYLURU+yH5vyEPDAgLAkAgBQRAIAZBIGogBSAQmiAQEOQCDAELIAYgDjkDIAsgBEEDcSEHQQEhCUQYLURU+yHpvyEPDAcLAkAgBQRAIAZBIGogBSAQmiIOIA4Q5AIMAQsgBiAROQMgCyAEQQlxIQdBASEJRNIhM3982QLAIQ8MBgsgAy0AAQ0DAkAgBQRAIAZBIGogBSASIBCaEOQCDAELIAYgETkDIAsgBEEIcSEHQQEhCUQYLURU+yEJQCEPDAULQQEhCiAEDAMLIAxB7gBHDQEgBiATOQMoIAMtAAEiA0H3AEcEQCADQeUARwRAIAMNAiAFBEAgBkEgaiAFIBAgFBDkAgsgBEEEcSEHQQEhCUQYLURU+yH5PyEPDAULAkAgBQRAIAZBIGogBSAQIBAQ5AIMAQsgBiAOOQMgCyAEQQZxIQdBASEJRBgtRFT7Iek/IQ8MBAsCQCAFBEAgBkEgaiAFIBAgEJoQ5AIMAQsgBiAROQMgCyAEQQxxIQdBASEJRNIhM3982QJAIQ8MAwsgBiASOQMoC0EBIQhBAAshBwwCC0EAIQtBASENDAELQQAhCEEAIQcLIAAQLigCECgCdCEDIAYgBikDKDcDCCAGIAYpAyA3AwAgBkEQaiAGIANBA3FB2gBsEIoKIAYgBikDGDcDKCAGIAYpAxA3AyACQCAKDQACQAJAAkAgABAuKAIQKAJ0QQNxQQFrDgMBAAIDCwJAAkAgB0EBaw4EAQQEAAQLQQEhBwwDC0EEIQcMAgsgB0EBayIDQf8BcSIEQQhPQYsBIAR2QQFxRXINAUKIgoiQoMCAgQQgA0EDdK1C+AGDiKchBwwBCyAHQQFrIgNB/wFxIgRBCE9BiwEgBHZBAXFFcg0AQoiIiJCgwICBASADQQN0rUL4AYOIpyEHCyACIAE2AhggAiAHOgAhIAIgBikDIDcDACACIAYpAyg3AwggDyEOAkACQAJAAkAgABAuKAIQKAJ0QQNxQQFrDgMBAAIDCyAPmiEODAILIA9EGC1EVPsh+b+gIQ4MAQsgD0QYLURU+yEJQGEEQEQYLURU+yH5vyEODAELIA9E0iEzf3zZAkBhBEBEGC1EVPsh6b8hDgwBC0QYLURU+yH5PyEOIA9EGC1EVPsh+T9hBEBEAAAAAAAAAAAhDgwBCyAPRAAAAAAAAAAAYQ0AIA9EGC1EVPsh6b9hBEBE0iEzf3zZAkAhDgwBCyAPIg5EGC1EVPsh+b9iDQBEGC1EVPshCUAhDgsgAiAOOQMQIAYrAyghDgJ/IAYrAyAiD0QAAAAAAAAAAGEEQEGAASAORAAAAAAAAAAAYQ0BGgsgDiAPEKoBRNIhM3982RJAoCIORBgtRFT7IRnAoCAOIA5EGC1EVPshGUBmG0QAAAAAAABwQKJEGC1EVPshGUCjIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyEBIAIgCToAHSACIAE6ACAgAiAKOgAfIAIgCzoAHiACIA06ABwgBkEwaiQAIAgLpAEBBn8CQCAABEAgAUUNASABIAIQvgYhBSAAKAIAIgYEQEEBIAAoAgh0IQQLIARBAWshBwNAAkBBACEAIAMgBEYNAAJAAkAgBiADIAVqIAdxQQJ0aigCACIIQQFqDgIBAgALIAEgAiAIIgAQjQkNAQsgA0EBaiEDDAELCyAADwtB29IBQcG5AUHiAUGlpAEQAAALQfTSAUHBuQFB4wFBpaQBEAAAC1QBAXwgACgCECIAIABBKEEgIAEbaisDAEQAAAAAAABSQKJEAAAAAAAA4D+iIgI5A1ggACACOQNgIAAgAEEgQSggARtqKwMARAAAAAAAAFJAojkDUAtoAQN/IAAoAhAiASgCCCICBH9BACEBA38gAigCACEDIAIoAgQgAU0EfyADEBggACgCECgCCBAYIAAoAhAFIAMgAUEwbGooAgAQGCABQQFqIQEgACgCECgCCCECDAELCwUgAQtBADYCCAvQAQECfyMAQSBrIgEkACABQgA3AxAgAUIANwMIA0AgASAAQQFqNgIcIAAtAAAiAARAAkACQCAAQSZHDQAgAUEcahDtCSIADQBBJiEADAELIABB/gBNDQAgAEH+D00EQCABQQhqIABBBnZBQHIQmAEgAEE/cUGAf3IhAAwBCyABQQhqIgIgAEEMdkFgchCYASACIABBBnZBP3FBgH9yEJgBIABBP3FBgH9yIQALIAFBCGogAMAQmAEgASgCHCEADAELCyABQQhqEJcDIAFBIGokAAt3AQJ/IAEgABBOIgFqIgIgAUEBdEGACCABGyIDIAIgA0sbIQIgABAlIQMCQCAALQAPQf8BRgRAIAAoAgAgASACQQEQ8wEhAQwBCyACQQEQGiIBIAAgAxAgGiAAIAM2AgQLIABB/wE6AA8gACACNgIIIAAgATYCAAswACABEC4gASACQQBBARBeIgFBnSZBuAFBARA1GiAAIAEQpQUgASgCEEEBOgBxIAELCQAgAEEEEKYLCwsAIAQgAjYCAEEDC/cGAQt/IwBBMGsiBiQAIAEtAAAiAUEEcSELIAFBCHEhDCABQQFxIQogAUECcSENA0AgACIHLQAAIgQEQCAIIQkgBMAhCCAHQQFqIQACfwJAAkACQAJAAkACQCAEQTxrDgMBBAIACyAEQS1GDQIgBEEmRw0DAkAgCg0AIAAtAAAiBUE7Rg0AIAAhAQJAIAVBI0YEQCAHLQACQSByQfgARwRAIAdBAmohAQNAIAEsAAAhBSABQQFqIQEgBUEwa0EKSQ0ACwwCCyAHQQNqIQEDQAJAIAEtAAAiBcBBMGtBCkkNACAFQf8BcSIOQeEAa0EGSQ0AIA5BwQBrQQVLDQMLIAFBAWohAQwACwALA0AgAS0AACEFIAFBAWohASAFQd8BccBBwQBrQRpJDQALCyAFQf8BcUE7Rg0ECyADQeDfASACEQAADAULIANB1t8BIAIRAAAMBAsgA0Hb3wEgAhEAAAwDCyANRQ0BIANB8d8BIAIRAAAMAgsgCUH/AXFBIEcgCEEgR3JFBEAgC0UNASADQYPgASACEQAADAILAkACQAJAAkAgBEEKaw4EAQMDAgALIARBJ0cEQCAEQSJHDQMgA0HP3wEgAhEAAAwFCyADQevfASACEQAADAQLIApFDQIgA0GK4AEgAhEAAAwDCyAKRQ0BIANB/d8BIAIRAAAMAgsgDEUgCEEATnINAAJ/QQIgBEHgAXFBwAFGDQAaQQMgBEHwAXFB4AFGDQAaIARB+AFxQfABRkECdAsiCUUhBUEBIQEDQCAFQQFxIgRFIAEgCUlxBEAgASAHai0AAEUhBSABQQFqIQEMAQUgBEUEQCAGAn8CQAJAAkACQCAJQQJrDgMDAAECCyAHLQACQT9xIActAAFBP3FBBnRyIAhBD3FBDHRyDAMLIActAANBP3EgBy0AAkE/cUEGdHIgBy0AAUE/cUEMdHIgCEEHcUESdHIMAgsgBkGhATYCBCAGQYG7ATYCAEGo8wgoAgBB5rwEIAYQHxoQPAALIAAtAABBP3EgCEEfcUEGdHILNgIQIAZBI2oiAUENQcjfASAGQRBqEKYBGiAAIAlqQQFrIQAgAyABIAIRAAAMBAsLC0Hk3wRBLUEBQajzCCgCABA7GhAsAAsgBkEAOgAkIAYgCDoAIyADIAZBI2ogAhEAAAtBAE4NAQsLIAZBMGokAAuvBAEEfyMAQRBrIgQkAAJAAkAgAARAIAFFDQECQCABQfw7EGINACABQdO+ARBiDQAgAUGcFxBiDQAgAUHEvgEQYkUNAwsgAS0AACECIARBtgM2AgACQCAAQcGEIEGAgCAgAkH3AEYbIAQQ4AsiA0EASA0AIwBBIGsiAiQAAn8CQAJAQcS/ASABLAAAEM0BRQRAQZCGC0EcNgIADAELQZgJEE0iAA0BC0EADAELIABBAEGQARA2GiABQSsQzQFFBEAgAEEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgACgCACEBDAELIANBA0EAEAYiAUGACHFFBEAgAiABQYAIcqw3AxAgA0EEIAJBEGoQBhoLIAAgACgCAEGAAXIiATYCAAsgAEF/NgJQIABBgAg2AjAgACADNgI8IAAgAEGYAWo2AiwCQCABQQhxDQAgAiACQRhqrTcDACADQZOoASACEAkNACAAQQo2AlALIABBggQ2AiggAEGDBDYCJCAAQYQENgIgIABBhQQ2AgxBpYYLLQAARQRAIABBfzYCTAsgAEGAiAsoAgAiATYCOCABBEAgASAANgI0C0GAiAsgADYCACAACyEFIAJBIGokACAFDQBBkIYLKAIAIQAgAxCpB0GQhgsgADYCAEEAIQULIARBEGokACAFDwtBrNQBQdC6AUEhQfblABAAAAtB1tQBQdC6AUEiQfblABAAAAtBk6kDQdC6AUEkQfblABAAAAvPAwIFfwF+IwBB0ABrIgMkAAJ/QQAgAkUNABogA0HIAGogAkE6ENABIAAgAUECdGooAkAhBAJAIAMoAkwiByADKAJIai0AAEE6RgRAIAQhAUEBIQYDQCABBEAgA0FAayABKAIEQToQ0AFBACEFIAQhAgNAIAEgAkYEQAJAIAVBAXENACAHBEAgAyADKQJINwMwIAMgAykCQDcDKCADQTBqIANBKGoQ+QZFDQELIAEoAgQhACADIAEoAgwoAgg2AiQgAyAANgIgQbjbCkGsMyADQSBqEI4BQQAhBgsgASgCACEBDAMFQQAhACABKAIEIAIoAgQQLwR/QQEFIAEoAgwoAgggAigCDCgCCBAvC0UgBUEBcXIhBSACKAIAIQIMAQsACwALCyAGRQ0BCyADQgA3A0BBASEBQQAhAgNAIAQEQCADQThqIAQoAgRBOhDQAQJAIAIEQCADIAMpA0A3AxggAyADKQM4NwMQIANBGGogA0EQahD5Bg0BCyADIAMpAzhCIIk3AwBBuNsKQcsyIAMQjgFBACEBCyADIAMpAzgiCDcDQCAIpyECIAQoAgAhBAwBCwtBlYAFIAFBAXENARoLQbjbChDTAgsgA0HQAGokAAurAQEBfyMAQRBrIgIkAAJAAkAgAARAIAAoAghFDQEgAUUNAiACIAApAgg3AwggAiAAKQIANwMAIAEgACACQQAQGUEEEN4BQQQQIBogACAAKAIIQQFrNgIIIAAgACgCBEEBaiAAKAIMcDYCBCACQRBqJAAPC0G90gFBtLcBQfgCQfjCARAAAAtBn5UDQbS3AUH5AkH4wgEQAAALQejTAUG0twFB+gJB+MIBEAAACzkBAn8jAEEQayIDJAAgA0EMaiIEIAEQUyACIAQQ2QMiARDJATYCACAAIAEQyAEgBBBQIANBEGokAAs3AQJ/IwBBEGsiAiQAIAJBDGoiAyAAEFMgAxDLAUHgrglB+q4JIAEQyAIgAxBQIAJBEGokACABCzkBAn8jAEEQayIDJAAgA0EMaiIEIAEQUyACIAQQ2wMiARDJAToAACAAIAEQyAEgBBBQIANBEGokAAvrAQEDfyMAQTBrIgIkAAJAAkAgAARAIAEgACgCCCIDTw0BA0AgAUEBaiIEIANPDQMgAiAAKQIINwMYIAIgACkCADcDECAAIAJBEGogARAZQQQQ3gEgAiAAKQIINwMIIAIgACkCADcDACAAIAIgBBAZQQQQ3gFBBBAgGiAAKAIIIQMgBCEBDAALAAtBvdIBQbS3AUHYAUH5wwEQAAALQd6HAUG0twFB2QFB+cMBEAAACyACIAApAgg3AyggAiAAKQIANwMgIAAgAkEgaiADQQFrEBlBBBDeARogACAAKAIIQQFrNgIIIAJBMGokAAunAQEEfyMAQRBrIgUkACABED8hAiMAQRBrIgMkAAJAIAJB9////wdNBEACQCACEKAFBEAgACACENMBIAAhBAwBCyADQQhqIAIQ3wNBAWoQ3gMgAygCDBogACADKAIIIgQQ+wEgACADKAIMEPoBIAAgAhC+AQsgBCABIAIQqwIgA0EAOgAHIAIgBGogA0EHahDSASADQRBqJAAMAQsQygEACyAFQRBqJAALFwAgACADNgIQIAAgAjYCDCAAIAE2AggLDQAgACABIAJBARChBwsSACAAIAEgAkL/////DxCwBacLzAEBA38jAEEgayIDQgA3AxggA0IANwMQIANCADcDCCADQgA3AwAgAS0AACICRQRAQQAPCyABLQABRQRAIAAhAQNAIAEiA0EBaiEBIAMtAAAgAkYNAAsgAyAAaw8LA0AgAyACQQN2QRxxaiIEIAQoAgBBASACdHI2AgAgAS0AASECIAFBAWohASACDQALAkAgACIBLQAAIgJFDQADQCADIAJBA3ZBHHFqKAIAIAJ2QQFxRQ0BIAEtAAEhAiABQQFqIQEgAg0ACwsgASAAawuAAQEEfyAAIABBPRC0BSIBRgRAQQAPCwJAIAAgASAAayIEai0AAA0AQaCGCygCACIBRQ0AIAEoAgAiAkUNAANAAkAgACACIAQQ6QFFBEAgASgCACAEaiICLQAAQT1GDQELIAEoAgQhAiABQQRqIQEgAg0BDAILCyACQQFqIQMLIAMLTgEBf0EBQRwQGiIGIAU6ABQgBiAAIAEQrgE2AggCfyADBEAgACACENUCDAELIAAgAhCuAQshBSAGIAA2AhggBiAENgIQIAYgBTYCDCAGCwkAIAC9QjSIpwuZAQEDfCAAIACiIgMgAyADoqIgA0R81c9aOtnlPaJE65wriublWr6goiADIANEff6xV+Mdxz6iRNVhwRmgASq/oKJEpvgQERERgT+goCEFIAAgA6IhBCACRQRAIAQgAyAFokRJVVVVVVXFv6CiIACgDwsgACADIAFEAAAAAAAA4D+iIAQgBaKh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IAAQ9gJBAWshASAAKAIECyIDIAFGBEAgACABQQEgASABEP0GIAAQRhoMAQsgABBGGiAEDQAgACIBIANBAWoQ0wEMAQsgACgCACEBIAAgA0EBahC+AQsgASADaiIAIAJBD2oQ0gEgAkEAOgAOIABBAWogAkEOahDSASACQRBqJAALDQAgAEHI6Ak2AgAgAAsHACAAQQhqCwcAIABBAkkLOwACQCAAECgEQCAAECVBD0YNAQsgAEEAEMoDCwJAIAAQKARAIABBADoADwwBCyAAQQA2AgQLIAAQiAULBABBBAslAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhC0ChogA0EQaiQAC6EBAQJ/AkACQCABED8iAkUNACAAEE4gABAlayACSQRAIAAgAhC9AQsgABAlIQMgABAoBEAgACADaiABIAIQIBogAkGAAk8NAiAAIAAtAA8gAmo6AA8gABAlQRBJDQFBibQDQZ38AEGXAkHd6gAQAAALIAAoAgAgA2ogASACECAaIAAgACgCBCACajYCBAsPC0GJzQFBnfwAQZUCQd3qABAAAAsdACAAQQRqEPgGQX9GBEAgACAAKAIAKAIIEQEACwsRACAAIAEgASgCACgCKBEEAAtpAQF/IwBBEGsiAiQAAkAgACgCAARAIAEoAgBFDQEgAiAAKQIANwMIIAIgASkCADcDACACQQhqIAIQ8wogAkEQaiQARQ8LQa3VAUGG+wBB2wBBhDwQAAALQZ7VAUGG+wBB3ABBhDwQAAALCABB/////wcLBQBB/wALYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBBGsiATYCCCAAIAFPDQEgAigCDCACKAIIEKYFIAIgAigCDEEEaiIANgIMIAIoAgghAQwACwALIAJBEGokAAvQAQECfyACQYAQcQRAIABBKzoAACAAQQFqIQALIAJBgAhxBEAgAEEjOgAAIABBAWohAAsgAkGEAnEiA0GEAkcEQCAAQa7UADsAACAAQQJqIQALIAJBgIABcSECA0AgAS0AACIEBEAgACAEOgAAIABBAWohACABQQFqIQEMAQsLIAACfwJAIANBgAJHBEAgA0EERw0BQcYAQeYAIAIbDAILQcUAQeUAIAIbDAELQcEAQeEAIAIbIANBhAJGDQAaQccAQecAIAIbCzoAACADQYQCRwvxAQEEfyMAQRBrIgQkAAJAAkACQCAABEAgACABEIwCIAAoAgwiBSAAKAIIIgJLBEAgAUUNAiAFQX8gAW5PDQMgACgCACEDAkAgASACbCICRQRAIAMQGEEAIQMMAQsgAyACEGYiA0UNBSACIAEgBWwiAU0NACABIANqQQAgAiABaxA2GgsgACADNgIAIAAgACgCCDYCDAsgBEEQaiQADwtBvdIBQbS3AUHnAkGLwwEQAAALQdGvA0HP/ABBzABB7bIBEAAAC0GgvQNBz/wAQc0AQe2yARAAAAsgBCACNgIAQajzCCgCAEGD5wMgBBAfGhAsAAuqAQEBfwJAIANBgBBxRQ0AIAJFIANBygBxIgRBCEYgBEHAAEZycg0AIABBKzoAACAAQQFqIQALIANBgARxBEAgAEEjOgAAIABBAWohAAsDQCABLQAAIgQEQCAAIAQ6AAAgAEEBaiEAIAFBAWohAQwBCwsgAAJ/Qe8AIANBygBxIgFBwABGDQAaQdgAQfgAIANBgIABcRsgAUEIRg0AGkHkAEH1ACACGws6AAALDAAgABBGIAFBAnRqC5wEAQt/IwBBgAFrIgwkACAMIAE2AnwgAiADEJQLIQggDEEKNgIQIAxBCGpBACAMQRBqIgkQfSEPAkACQAJAIAhB5QBPBEAgCBBNIglFDQEgDyAJEI8BCyAJIQcgAiEBA0AgASADRgRAQQAhCwNAIAAgDEH8AGoiARBaQQEgCBsEQCAAIAEQWgRAIAUgBSgCAEECcjYCAAsDQCACIANGDQYgCS0AAEECRg0HIAlBAWohCSACQQxqIQIMAAsACyAAEIEBIQ0gBkUEQCAEIA0QmwEhDQsgC0EBaiEQQQAhDiAJIQcgAiEBA0AgASADRgRAIBAhCyAORQ0CIAAQlAEaIAkhByACIQEgCCAKakECSQ0CA0AgASADRgRADAQFAkAgBy0AAEECRw0AIAEQJCALRg0AIAdBADoAACAKQQFrIQoLIAdBAWohByABQQxqIQEMAQsACwAFAkAgBy0AAEEBRw0AIAEgCxCbBSgCACERAkAgBgR/IBEFIAQgERCbAQsgDUYEQEEBIQ4gARAkIBBHDQIgB0ECOgAAIApBAWohCgwBCyAHQQA6AAALIAhBAWshCAsgB0EBaiEHIAFBDGohAQwBCwALAAsABSAHQQJBASABEPcBIgsbOgAAIAdBAWohByABQQxqIQEgCiALaiEKIAggC2shCAwBCwALAAsQkAEACyAFIAUoAgBBBHI2AgALIA8QfCAMQYABaiQAIAILEQAgACABIAAoAgAoAgwRAAALmwQBC38jAEGAAWsiDCQAIAwgATYCfCACIAMQlAshCCAMQQo2AhAgDEEIakEAIAxBEGoiCRB9IQ8CQAJAAkAgCEHlAE8EQCAIEE0iCUUNASAPIAkQjwELIAkhByACIQEDQCABIANGBEBBACELA0AgACAMQfwAaiIBEFtBASAIGwRAIAAgARBbBEAgBSAFKAIAQQJyNgIACwNAIAIgA0YNBiAJLQAAQQJGDQcgCUEBaiEJIAJBDGohAgwACwALIAAQggEhDSAGRQRAIAQgDRCdBSENCyALQQFqIRBBACEOIAkhByACIQEDQCABIANGBEAgECELIA5FDQIgABCVARogCSEHIAIhASAIIApqQQJJDQIDQCABIANGBEAMBAUCQCAHLQAAQQJHDQAgARAkIAtGDQAgB0EAOgAAIApBAWshCgsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASALEEIsAAAhEQJAIAYEfyARBSAEIBEQnQULIA1GBEBBASEOIAEQJCAQRw0CIAdBAjoAACAKQQFqIQoMAQsgB0EAOgAACyAIQQFrIQgLIAdBAWohByABQQxqIQEMAQsACwALAAUgB0ECQQEgARD3ASILGzoAACAHQQFqIQcgAUEMaiEBIAogC2ohCiAIIAtrIQgMAQsACwALEJABAAsgBSAFKAIAQQRyNgIACyAPEHwgDEGAAWokACACCw0AIAAoAgAgASgCAEkLBwAgAEELSQsJACAAQQEQpgsLFgAgACABKAIANgIAIAAgAigCADYCBAsJACAAIAEQpAMLMQEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIAAgA0EMaiADQQhqEKIFIANBEGokAAtvAQR/IAAQLiEFAkAgACgCACICIAEoAgBzQQNxDQADQCAFIAJBA3EgAxDmAyIDRQ0BIAEgAygCCBCtByICRQ0BAkAgACADEEQiBBB1BEAgASACIAQQqgQMAQsgASACIAQQcQsgACgCACECDAALAAsLHAEBfyAAKAIAIQIgACABKAIANgIAIAEgAjYCAAsIACAAKAIARQuNAQEB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AUEsQfEjEAAACxoAIAArAwAgASsDAKEgACsDCCABKwMIoRBKC4EBAgJ/AXwgASACNgIQIAEgAyACKwMIoDkDGCAAKAIAIAAgARDfDEEobGohBANAAkAgBCIFKAIgIgRFDQAgASsDGCIGIAQrAxgiA2QNASADIAZkDQAgAisDACAEKAIQKwMAZA0BCwsgASAENgIgIAUgATYCICAAIAAoAghBAWo2AggLtQECA38CfAJAIABB5CYQJiIEBEAgBBCQAiIEQQJKDQELQRQhBAsgBBDNAiEFIAMgACgCECIAKwMoRAAAAAAAAOA/oqAhAyACIAArAyBEAAAAAAAA4D+ioCECIAS4IQhBACEAA38gACAERgR/IAEgBDYCACAFBSAFIABBBHRqIgYgALggCKNEGC1EVPshCUCiIgcgB6AiBxBXIAOiOQMIIAYgBxBLIAKiOQMAIABBAWohAAwBCwsLIgAgACABKwMAIAIrAwCgOQMAIAAgASsDCCACKwMIoDkDCAumEQIRfwh8IwBBEGsiDSQAIAAoAgggACgCBGoiB0EgEBohECAHIAUoAjAiCUEBdEEAIAlBAEobayIVQQAgFUEAShshDiABIAFDRwOAP5QgAxu7IRcDQCAGIA5HBEAgECAGQQV0aiIIIAUrAxhEAAAAAAAA4D+iIhggBSgCKCAGQQR0aiIRKwMAIBeiRAAAAAAAAOA/oiIZIAZBAnQiEiACKAIAaioCALsiGqCgOQMQIAggGiAZoSAYoTkDACAIIAUrAyBEAAAAAAAA4D+iIhggESsDCCAXokQAAAAAAADgP6IiGSACKAIEIBJqKgIAuyIaoKA5AxggCCAaIBmhIBihOQMIIAZBAWohBgwBCwsCQCAJQQBKBEAgCUEBakEEEBohEUEAIRIgBSgCMEEBakEEEBohDkEAIQIDQCAFKAIwIgYgAkoEQEEAIQYgAkECdCIKIAUoAjRqKAIAIghBACAIQQBKGyETRP///////+9/IRdE////////7/8hGCAIQQJqIgxBBBAaIQcgDEEgEBohCUT////////v/yEZRP///////+9/IRoDQCAGIBNHBEAgByAGQQJ0IgtqIAAoAhAgBSgCOCAKaigCACALaigCACIPQQJ0aigCADYCACAJIAZBBXRqIgsgECAPQQV0aiIPKwMAIhs5AwAgCyAPKwMIIhw5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QQAhBwNAIAgoAgAgB00EQCACIAIoAgBBAWs2AgAgAUGSgAUQGxogASACKAIAEEMgAUH1xwEQGxogCBCMCgwDCyAHBEAgAUHH6gQQGxoLIAgoAgghAyACIAIoAgAiBkEBajYCACABIAYQQyABQf7VAxAbGiABIAIoAgAQQwJAAkACQAJAAkACQAJAAkACQAJAAkACQCADIAdB0ABsaiIDKAIAIgYOEAoKAAABAQIDBAQGBwsFBQgJCyAEQdAAQfAAIAZBAkYbNgJQIAFB/ekEIARB0ABqEB4gASACKAIAEEMgASADQQhqELIIDAoLIARBwgBB4gAgBkEERhs2AmAgAUH96QQgBEHgAGoQHiABIAIoAgAQQyABIANBCGoQsggMCQsgAUGy6gRBABAeIAEgAigCABBDIAEgA0EIahCyCAwICyABQZrqBEEAEB4gASACKAIAEEMgAysDCCELIAQgAysDEDkDmAEgBCALOQOQASABQYXoBCAEQZABahAeIAEgAigCABBDIARB4wBB8gAgAygCGCIGQQFGG0HsACAGGzYCgAEgAUGK6gQgBEGAAWoQHiABIAIoAgAQQyAEIAMrAyA5A3AgAUHJ5wQgBEHwAGoQHiABIAIoAgAQQyABQeXJAxAbGiADKAIoIAIgARC8AiABQQoQZQwHCyAEQcMAQeMAIAZBCEYbNgKgASABQf3pBCAEQaABahAeIAEgAigCABBDIAFBsekEQQAQHiABIAIoAgAQQyABQf7JAxAbGiADKAIIIAIgARC8AiABQQoQZQwGCyAEQcMAQeMAIAZBDUYbNgKQAiABQf3pBCAEQZACahAeIAEgAigCABBDAkACQAJAIAMoAggOAgABAgsgAUGx6QRBABAeIAEgAigCABBDIAFB/skDEBsaIAMoAhAgAiABELwCIAFBChBlDAcLIAFBi+kEQQAQHiABIAIoAgAQQyABIAIoAgAQQyADKwMQIQsgBCADKwMYOQOIAiAEIAs5A4ACIAFBsegEIARBgAJqEB4gASACKAIAEEMgAysDICELIAQgAysDKDkD+AEgBCALOQPwASABQZvoBCAEQfABahAeIAEgAigCABBDIAEgAygCMCADKAI0IAIQjw8MBgsgAUGe6QRBABAeIAEgAigCABBDIAEgAigCABBDIAMrAxAhCyADKwMYIQwgBCADKwMgOQPg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CyABEBwhBwJAA0AgBwRAIAcoAhAiAiACKwMQIg4gAisDWKE5AzAgAiAOIAIrA2CgOQNAIAIgAisDGCITIAIrA1BEAAAAAAAA4D+iIg6hOQM4IAIgEyAOoDkDSCABIAcQLSEGA0AgBgRAIAYoAhAoAggiCARAIAgoAgRFDQUgA0HABGogCCgCACIEQTAQIBogA0HwA2oiAiAEQTAQIBogA0GgBGogAhDdCCADKwO4BCERIAMrA7AEIRAgAysDqAQhDyADKwOgBCESQQAhAgNAIAgoAgQgAksEQCACBEAgA0HABGogCCgCACACQTBsaiIFQTAQIBogA0HAA2oiBCAFQTAQIBogA0GgBGogBBDdCCADKwOgBCEUIAMrA6gEIRMgAysDsAQhDiARIAMrA7gEECMhESAQIA4QIyEQIA8gExApIQ8gEiAUECkhEgsgAygCyAQEQCADIAMpA9gENwO4AyADIAMpA9AENwOwAyADIAMoAsAEIgQpAwg3A6gDIAMgBCkDADcDoAMgA0GgBGogA0GwA2ogA0GgA2oQzAMgAysDoAQhFCADKwOoBCETIAMrA7AEIQ4gESADKwO4BBAjIREgECAOECMhECAPIBMQKSEPIBIgFBApIRILIAMoAswEBEAgAyADKQPoBDcDmAMgAyADKQPgBDcDkAMgAyADKALABCADKALEBEEEdGpBEGsiBCkDCDcDiAMgAyAEKQMANwOAAyADQaAEaiADQZADaiADQYADahDMAyADKwOgBCEUIAMrA6gEIRMgAysDsAQhDiARIAMrA7gEECMhESAQIA4QIyEQIA8gExApIQ8gEiAUECkhEgsgAkEBaiECDAELCyAIIBE5AyAgCCAQOQMYIAggDzkDECAIIBI5AwgLIAEgBhAwIQYMAQsLIAEgBxAdIQcMAQsLIABBADoAnQIgACABNgKgAQJAIAFB8OQAECYiAkUNACADIANBoARqNgL0AiADIANBwARqNgLwAiACQdmDASADQfACahBRIgJBAEwNACAAIAMrA8AERAAAAAAAAFJAoiIOOQPAASAAIA45A8gBIAJBAUcEQCAAIAMrA6AERAAAAAAAAFJAojkDyAELIABBAToAnQILIABBADoAnAICQCABQaOwARAmIgJFDQAgAyADQaAEajYC5AIgAyADQcAEajYC4AIgAkHZgwEgA0HgAmoQUSICQQBMDQAgACADKwPABEQAAAAAAABSQKIiDjkD0AEgACAOOQPYASACQQFHBEAgACADKwOgBEQAAAAAAABSQKI5A9gBCyAAQQE6AJwCCyAAQQA6AJ4CIAAgASgCECgCCCICKQMwNwPgASAAIAIpAzg3A+gBAkAgASgCECgCCCICKwMwRPyp8dJNYlA/ZEUNACACKwM4RPyp8dJNYlA/ZEUNACAAQQE6AJ4CCyACLQBRIQIgAEGb1gE2ArwBIABB2gBBACACGzYCmAICQCABQcg3ECYiAkUNACACLQAARQ0AIAAgAjYCvAELIAAgASgCECICKQMQNwP4ASAAIAIpAyg3A5ACIAAgAikDIDcDiAIgACACKQMYNwOAAkHg2AogAUEAQfUvQQAQIjYCAEHk2AogAUEAQd73AEEAECI2AgAgAEEAQYjZCigCAEGD6gAQjQE2ArgCQQBBhNkKKAIARAAAAAAAACxARAAAAAAAAPA/EE8hDiAAQbydCjYCyAIgACAOOQPAAiAAIAEQITYCtAEgACgCqAIQGCAAQQA2AqgCIAAoAqwCEBggAEEANgKsAiAAKAK0AhAYIABBADYCtAICQAJAIAFB2CkQJiIFBEAgACABQZbbABAmIgJByssDIAIbNgKgAiAAIAFBidsAECYiAkHYngMgAhsiBDYCpAIgACgCoAIiAiAEEPkCIAJqIgJBACACLQAAGyICBEAgAyACLAAANgLQAkGQ4QQgA0HQAmoQKiAAQZWABTYCpAILIAAgBRBkNgKoAiADQgA3A9AEIANCADcDyAQgA0IANwPABCADQcAEakEEECchAiADKALABCACQQJ0aiADKALUBDYCACAAKAKoAiECA0AgAiAAKAKgAhCxBSICBEAgAyACNgLUBCADQcAEakEEECchAiADKALABCACQQJ0aiADKALUBDYCAEEAIQIMAQsLIAMoAsgEIgJBAWsiBUEASA0CIAJBAk8EQCADQQA2AtQEIANBwARqIgRBBBAnIQIgAygCwAQgAkECdGogAygC1AQ2AgAgBCAAQawCakEAQQQQxgELQQAhAgNAIAMoAsgEIAJLBEAgAyADKQPIBDcDuAIgAyADKQPABDcDsAIgA0GwAmogAhAZIQgCQAJAAkAgAygC0AQiBA4CAgABCyADKALABCAIQQJ0aigCABAYDAELIAMoAsAEIAhBAnRqKAIAIAQRAQALIAJBAWohAgwBCwsgA0HABGoiAkEEEDMgAhA4IAAgBTYCsAIgAUG/JBAmIgVFDQEgBS0AAEUNAUEAIQYgACgCsAJBAmpBBBA+IQdBASECA0AgACgCsAIiBCACTgRAIAAgAiAEIAUQ3AgEQCAHIAZBAWoiBkECdGogAjYCAAsgAkEBaiECDAELCwJAIAYEQCAHIAY2AgAgByAGQQJ0aiAEQQFqNgIEDAELIAMgBTYCwAJBzuIEIANBwAJqECogBxAYQQAhBwsgACAHNgK0AgwBCyAAQQE2ArACC0EBENoCIANBqARqIQsgA0HIBGohDEGgvwgoAgAhDSAAIAAoApgBIgI2ApwBA0ACQAJAAkAgAgRAAn8gACgCPCIERQRAQQAhBkEADAELIAQoAgwhBiAEKAIICyEEIAIgBjYCGCACIAQ2AhQgAiAANgIMIAAoArABIQQgAiANNgLYBCACQZCcCjYC1AQgAiAENgIcIAEoAhAoAghFBEBBk60EQQAQN0EAENoCQX8hAkGM2AotAABFDQhBqPMIKAIAIgYQ7AEgAxDUATcDwAQgA0HABGoQ6gEiBygCFCEIIAcoAhAhBSAHKAIMIQQgBygCCCEAIAMgBygCADYCiAEgAyAANgKEASADIAQ2AoABIANBgSE2AnQgA0GjuAE2AnAgAyAFQQFqNgJ8IAMgCEHsDmo2AnggBkG4yQMgA0HwAGoQHxogARAhIQAgAxCMATkDaCADIAA2AmAgBkGcnQMgA0HgAGoQMkEKIAYQqQEaIAYQ6wEMCAsgAiACIAIoAjQQ3QQiBDYCOEEBIQYCQCAEQRVGDQAgBEHnB0YEQCADIAIoAjQ2AqACQYWuBCADQaACahA3QQAQ2gJBfyECQYzYCi0AAEUNCUGo8wgoAgAiBhDsASADENQBNwPABCADQcAEahDqASIHKAIUIQggBygCECEFIAcoAgwhBCAHKAIIIQAgAyAHKAIANgKYAiADIAA2ApQCIAMgBDYCkAIgA0GJITYChAIgA0GjuAE2AoACIAMgBUEBajYCjAIgAyAIQewOajYCiAIgBkG4yQMgA0GAAmoQHxogARAhIQAgAxCMATkD+AEgAyAANgLwASAGQZydAyADQfABahAyQQogBhCpARogBhDrAQwJCwJAIAFB1jkQJiIERQ0AIARB6xkQTEUNASAEQeAZEEwNAEEQIQYMAQtBACEGCyACIAIoApgBIAZyNgKYAQJAIAAoArgBIgQEQCAELQCYAUEgcQRAIAIoAjQgBCgCNBBMRQ0CCyAEEIgEIABBADYCHCAAQQA2ArgBC0Go3wpBADYCAAwCC0Go3wooAgAiBEUNASAEIAI2AgggAiAEKAIkNgIkDAILQQAhAkEAENoCQYzYCi0AAEUNBkGo8wgoAgAiBhDsASADENQBNwPABCADQcAEahDqASIHKAIUIQggBygCECEFIAcoAgwhBCAHKAIIIQAgAyAHKAIANgJYIAMgADYCVCADIAQ2AlAgA0HVITYCRCADQaO4ATYCQCADIAVBAWo2AkwgAyAIQewOajYCSCAGQbjJAyADQUBrEB8aIAEQISEAIAMQjAE5AzggAyAANgIwIAZBnJ0DIANBMGoQMkEKIAYQqQEaIAYQ6wEMBgsgAigCPCEGQQEhByMAQUBqIgkkACACKAIAIQUCfwJAAkACQCACKAJMIgRFDQAgBCgCACIERQ0AIAIgBBEBAAwBCyACKAIoDQAgAigCJA0AAkAgBS0ADUUEQCACKAIgIQUMAQtByNsKIAIoAhQiBEG+FyAEGxCRBSACKAIYIgQEQCAJIARBAWo2AjBByNsKQY2xASAJQTBqEJAFC0HI2wpBLhDKAyACKAI0IgoQPyAKaiIEIQUDQCAFLQAAQTpGBEAgCSAFQQFqNgIkIAkgBUF/cyAEajYCIEHI2wpBuJ0DIAlBIGoQkAUgBSEECyAFIApHIAVBAWshBQ0ACyAJIAo2AhQgCSAEIAprNgIQQcjbCkHMMiAJQRBqEJAFIAJByNsKEI4FIgU2AiALIAUEQCACIAVBnBcQoQQiBDYCJCAEDQEgAigCDCgCECEFIAIoAiAhBCAJQZCGCygCABCzBTYCBCAJIAQ2AgBB6f4DIAkgBREEAAwCCyACQbDzCCgCADYCJAtBACACLQCZAUEEcUUNARpBjNwEQQAgAigCDCgCEBEEAAtBAQshBCAJQUBrJAACQCAEDQBBACEHIAZFDQAgBigCACIERQ0AIAIgBBEBAAsgBw0BIAAgAjYCuAELIAJBgJ0KNgJoIAJBADYCCAJAIAIoAgAiBS0AnAJBAUYEQCACIAUpA9ABNwPwASACIAUpA9gBNwP4AQwBCyACKAI4QawCRgRAIAIgAigCRCsDCCIOOQP4ASACIA45A/ABDAELIAJCgICAgICAgIjAADcD8AEgAkKAgICAgICAiMAANwP4AQsCQCAFLQCdAkEBRgRAIAIgBSkDwAE3A6ADIAIgBSkDyAE3A6gDDAELIAIoAjgiBEEeS0EBIAR0QZiAgIMEcUVyRQRAIAJCgICAgICAgKHAADcDoAMgAkKAgICAgICAocAANwOoAwwBCyAEQawCRgRAIAIgAigCVCIEKQMINwOgAyACIAQpAxA3A6gDDAELIAJCADcDoAMgAkIANwOoAwsCQCABKAIQKAIIKwMYIg5EAAAAAAAAAABiBEAgAiAOOQOwAyACIA45A7gDDAELAkAgBSgCuAEiBEUNACAELQCAAUEBRw0AIAIgBCkDcDcDsAMgAiAEKQN4NwO4AwwBCyACKAI4QawCRgRAIAIgAigCVCIEKQMoNwOwAyACIAQpAzA3A7gDDAELIAJCgICAgICAgKzAADcDsAMgAkKAgICAgICArMAANwO4AwsgBSsD+AEhFyAFKwOAAiEWIAUrA4gCIRIgAiAFKwOQAiIVIAIrAPgBIhOgIhQ5A+gBIAIgEiACKwDwASIOoCIPOQPgASACIBYgE6EiEzkD2AEgAiAXIA6hIg45A9ABIANCgICAgICAgPg/NwP4BCAUIBOhIRAgDyAOoSEPRAAAAAAAAPA/IRECQCABKAIQKAIIIgQrA0AiE0T8qfHSTWJQP2RFDQAgBCsDSCIORPyp8dJNYlA/ZEUNACATIBMgDyAPRPyp8dJNYlA/ZRsiD2MgDiAOIBAgEET8qfHSTWJQP2UbIhBjckUEQCAOIBBkRSAPIBNjRXINASAELQBQQQFxRQ0BCyADIBMgD6MgDiAQoxApIhE5A/gECyADIBUgFqBEAAAAAAAA4D+iOQPIBCADIBIgF6BEAAAAAAAA4D+iOQPABCACIAUoApgCNgLoAiADIBEgEKI5A6gEIAMgESAPojkDoAQgAUH4GxAmIgQEQCADIAQQP0EBahDGAyIFNgLsASADIAs2AuQBIAMgA0H4BGo2AugBIAMgA0GgBGo2AuABAkAgBEHWqgMgA0HgAWoQUUEERgRAIAEoAkggBUEAEIsBIgRFDQEgAyAEKAIQIgQpAxg3A8gEIAMgBCkDEDcDwAQMAQsgA0EAOgD3BCADIAs2AsQBIAMgBTYCzAEgAyADQfcEajYC0AEgAyADQaAEajYCwAEgAyADQfgEajYCyAEgBEGpvgEgA0HAAWoQUUEERgRAIAEoAkggBUEAEIsBIgRFDQEgAyAEKAIQIgQpAxg3A8gEIAMgBCkDEDcDwAQMAQsgAyAMNgKwASADIAs2AqQBIAMgA0HABGo2AqwBIAMgA0H4BGo2AqgBIAMgA0GgBGo2AqABIARBzYMBIANBoAFqEFEaCyAFEBggAysD+AQhEQsgAiADKQOgBDcD8AIgAiADKQOoBDcD+AIgAiAROQPgAiACIAMpA8AENwPQAiACIAMpA8gENwPYAiACKwPwAiITIAIrA/gCIg4gAigC6AIiBBshEiAOIBMgBBshESACKwOoAyEPIAIrA6ADIRACQAJAIAIoAgAiBS0AngJBAUcNACACLQCYAUEgcUUNACAFKwDoASAPIA+goSEVAkAgAiAFKwDgASAQIBCgoSIURC1DHOviNho/YwR/QQEFIAICfyARIBSjIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyIGNgKkASARIAa3IBSioUQtQxzr4jYaP2RFDQEgBkEBagsiBjYCpAELAkAgAiAVRC1DHOviNho/YwR/QQEFIAICfyASIBWjIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyIHNgKoASASIAe3IBWioUQtQxzr4jYaP2RFDQEgB0EBagsiBzYCqAELIAIgBiAHbDYCzAEgEiAVECkhEiARIBQQKSERDAELAnwgAigCREUEQEQAAAAAAAAAACEVRAAAAAAAAAAADAELIAIoAlQiBCsAGCAEKwAgIA8gD6ChRAAAAAAAAAAAECMhFSAQIBCgoUQAAAAAAAAAABAjCyACQQE2AswBIAJCgYCAgBA3AqQBIBUgEhAjIRUgERAjIRQLIAJCADcCrAEgAkIANwK0ASACQgA3ArwBIAICfyAQIBCgIBSgIAIrA7ADokQAAAAAAABSQKMiDkQAAAAAAADgP0QAAAAAAADgvyAORAAAAAAAAAAAZhugIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CzYCwAMgAgJ/IA8gD6AgFaAgAisDuAOiRAAAAAAAAFJAoyIORAAAAAAAAOA/RAAAAAAAAOC/IA5EAAAAAAAAAABmG6AiDplEAAAAAAAA4EFjBEAgDqoMAQtBgICAgHgLNgLEAyADQcAEaiIEIAIgBSgCvAEsAAAQ2wggAiADKQPABDcCtAEgBCACIAUoArwBLAABENsIIAIgAykDwAQiGDcCvAECQCACKAK0ASAYp2oiBCAEQR91IgRzIARrQQFGBEAgAigCuAEgGEIgiKdqIgQgBEEfdSIEcyAEa0EBRg0BCyACQgE3ArwBIAJCgICAgBA3ArQBIAMgBSgCvAE2ApABQZu1BCADQZABahAqC0QAAAAAAAAAACETAnxEAAAAAAAAAAAgASgCECgCCC0AUkEBRw0AGiAUIBGhRAAAAAAAAOA/okQAAAAAAAAAACARIBRjGyETRAAAAAAAAAAAIBIgFWNFDQAaIBUgEqFEAAAAAAAA4D+iCyEOAkAgAigC6AIiBkUEQCAQIRQgDyEQIBEhFSASIREgDiEPIBMhDgwBCyAPIRQgEiEVIBMhDwsgAiAQIA+gIhY5A4gDIAIgFCAOoCIQOQOAAyACIBEgFqAiEjkDmAMgAiAVIBCgIhQ5A5ADIAIgESACKwPgAiIOozkDyAIgAiAVIA6jOQPAAiACAn8gECACKwOwAyIPokQAAAAAAABSQKMiDkQAAAAAAADgP0QAAAAAAADgvyAORAAAAAAAAAAAZhugIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyIHNgLIAyACAn8gFiACKwO4AyITokQAAAAAAABSQKMiDkQAAAAAAADgP0QAAAAAAADgvyAORAAAAAAAAAAAZhugIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyIINgLMAyACAn8gEiATokQAAAAAAABSQKMiDkQAAAAAAADgP0QAAAAAAADgvyAORAAAAAAAAAAAZhugIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyIFNgLUAyACAn8gFCAPokQAAAAAAABSQKMiDkQAAAAAAADgP0QAAAAAAADgvyAORAAAAAAAAAAAZhugIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyIENgLQAyAGBEAgAiAUOQOYAyACIBI5A5ADIAIgEDkDiAMgAiAWOQOAAyACIAWtIAStQiCGhDcD0AMgAiAIrSAHrUIghoQ3A8gDCyACLQCYAUGAAXFFBEAgAiABEOQIC0Go3wogAjYCAAsCQCAAKAKcASIEKAIEIgJFDQAgAigCNA0AIAIgBCgCNDYCNAsgACACNgKcAQwACwALQcTLAUGjuAFBqAhB0ikQAAALQb2VA0GjuAFB/h9BhL8BEAAACyADQYAFaiQAIAILzwEBAn8jAEGQAWsiAyQAAkAgABDlCARAIAEoAAhFBEAgASAAKQMANwMYIAEgACkDCDcDICABQRAQJyECIAEoAgAgAkEEdGoiAiABKQMYNwMAIAIgASkDIDcDCAsgASAAKQMwNwMYIAEgACkDODcDICABQRAQJyEAIAEoAgAgAEEEdGoiACABKQMYNwMAIAAgASkDIDcDCAwBCyADIABEAAAAAAAA4D8gA0HQAGoiACADQRBqIgIQoQEgACABEKAGIAIgARCgBgsgA0GQAWokAAtbAQN/QYzdCigCACIBRQRAQYzdCkGknQpBtOsJKAIAEJIBIgE2AgALIAEgAEEEIAEoAgARAwAiAUUEQEGM3QooAgAiAigCACEDIAIgABBkQQEgAxEDABoLIAFFC0cBBH8gAUEQED4hAwN/IAEgAkYEfyADBSADIAJBBHRqIgQgACACQRhsaiIFKwMAOQMAIAQgBSsDCDkDCCACQQFqIQIMAQsLC5sBAQV/IwBBEGsiAyQAIAJBq4UBECYhBCACQbraABAmIQUgAkGQIxAmIQYgA0IANwMIIANCADcDACABBH8gASgCAAVBAAshAQJAIAQEQCAELQAADQELIAJBltEBECYhBAsgACACIAMQpwYhByAAIAEgBCAFBH8gBSACEIkEBUEACyIBIAYgByACEOkIGiABEBggAxBcIANBEGokAAvsAQIFfAF/QQEgAiACQQFNGyEJIAErAwgiBSEGIAErAwAiByEIQQEhAgNAIAIgCUZFBEACQCAIIAErAxgiBGQEQCAEIQgMAQsgBCAHZEUNACAEIQcLAkAgBiABKwMgIgRkBEAgBCEGDAELIAQgBWRFDQAgBCEFCyABQRhqIQEgAkEBaiECDAELCyAAIAc5AxAgACAIOQMAIAAgBTkDGCAAIAY5AwggAyADKwMQIAgQIyAHECM5AxAgAyADKwMYIAYQIyAFECM5AxggAyADKwMAIAgQKSAHECk5AwAgAyADKwMIIAYQKSAFECk5AwgLoQUCA38EfCMAQbABayIEJAAgACgCECsDoAEhCSACIARBgAFqEOIEIgZBAWtBAk8EQEEwIQIgBEHwAGohBQJAIAMEQCAEIAEpAyA3A0AgBCABKQMoNwNIIAQgASkDODcDWCAEIAEpAzA3A1AgBCABKQMINwNoIAQgASkDADcDYEEQIQIMAQsgBCABKQMANwNAIAQgASkDCDcDSCAEIAEpAxg3A1ggBCABKQMQNwNQIAQgASkDKDcDaCAEIAEpAyA3A2ALIAUgASACaiIBKQMANwMAIAUgASkDCDcDCCAEKwNQIQogBCAEKwNAIgg5A1AgBCAIOQNgIAlEAAAAAAAA4D9kBEAgAEQAAAAAAADgPxCHAgsgCiAIoSEIQQAhAQNAAkAgASAEKAKIAU8NACAEIAQpA4gBNwM4IAQgBCkDgAE3AzAgBCgCgAEgBEEwaiABEBlBGGxqIgIoAgAiA0UNACACKwMIIgdEAAAAAAAAAABlBEAgAUEBaiEBDAIFIAAgAxBdIAQgCiAIIAeiIAQrA0CgIAFBAWoiASAEKAKIAUYbIgc5A2AgBCAHOQNQIAAgBEFAa0EEQQEQSCAEIAQrA1AiBzkDcCAEIAc5A0AMAgsACwsgCUQAAAAAAADgP2QEQCAAIAkQhwILQQAhAQNAIAQoAogBIAFNBEAgBEGAAWoiAEEYEDMgABA4BSAEIAQpA4gBNwMoIAQgBCkDgAE3AyAgBEEgaiABEBkhAAJAAkACQCAEKAKQASICDgICAAELQb6ABEHCAEEBQajzCCgCABA7GhA8AAsgBCAEKAKAASAAQRhsaiIAKQMINwMQIAQgACkDEDcDGCAEIAApAwA3AwggBEEIaiACEQEACyABQQFqIQEMAQsLCyAEQbABaiQAIAYLcwEBfyAAECUgABBOTwRAIABBARDjBAsgABAlIQECQCAAECgEQCAAIAFqQQA6AAAgACAALQAPQQFqOgAPIAAQJUEQSQ0BQYm0A0Gd/ABBrwJB97EBEAAACyAAKAIAIAFqQQA6AAAgACAAKAIEQQFqNgIECwvuAQEDfyMAQSBrIgQkACAAKAIAKAKgASIFKAIQKAIIKAJcIQMgACACEOgIAkACQCABQeimARAmIgBFDQAgAC0AAEUNACACIAAQxQMMAQsgASAFRiIFIANFckUEQCAEIAM2AhAgAkHEwwEgBEEQahB+C0EAIQBBACEDAkACQAJAAkAgARCSAg4DAAECAwtBhfoAQbcZIAUbIQMgASgCAEEEdiEADAILIAEoAgBBBHYhAEGbnwEhAwwBCyABKAIAQQR2IQBBop0BIQMLIAQgADYCBCAEIAM2AgAgAkGPpgEgBBB+CyACEMQDIARBIGokAAurEgMOfwt8AX4jAEGAAWsiBCQAIAArA+ACIRAgASsDCCERIAErAwAhEiAAKAIAKAKgASEIIAArA4AEIRQCfyAAKALoAgRAIBEgECAAKwOQBKKjIAArA/gDoSETIBKaIREgAEGIBGoMAQsgEiAQIAArA4gEoqMgACsD+AOhIRMgAEGQBGoLKwMAIRUgBCATRAAAAAAAAPA/IBCjIhKgOQNwIAQgEyASoTkDYCAEIBEgECAVoqMgFKEiECASoDkDeCAEIBAgEqE5A2ggCBAcIQMCQANAIAMEQCAIIAMQLSEBA0AgAQRAIAQgBCkDeDcDWCAEIAQpA3A3A1AgBCAEKQNoNwNIIAQgBCkDYDcDQAJ/IARBQGshBUEAIQojAEGwAmsiAiQAAkACfwJAIAEoAhAiBigCCCIJRQ0AIAkrABggBSsDAGZFDQAgBSsDECAJKwAIZkUNACAJKwAgIAUrAwhmRQ0AIAUrAxggCSsAEGZFDQACQANAIAogCSgCBE8NASAJKAIAIQYgAiAFKQMYNwOIAiACIAUpAxA3A4ACIAIgBSkDCDcD+AEgAiAFKQMANwPwASACQcABaiAGIApBMGxqQTAQIBogAigCxAEiDEUNBCACIAIoAsABIgspAwg3A6gCIAIgCykDADcDoAJBASEGAkADQCAGIAxHBEAgAiALIAZBBHRqIgcpAwg3A5gCIAIgBykDADcDkAIgAiAHKQMINwO4ASAHKQMAIRsgAiACKQOoAjcDqAEgAiACKQP4ATcDiAEgAiACKQOAAjcDkAEgAiACKQOIAjcDmAEgAiAbNwOwASACIAIpA6ACNwOgASACIAIpA/ABNwOAAQJ/QQAhByACKwOAASITIAIrA7ABIhBlIg1FIBAgAisDkAEiEmVFckUEQCACKwO4ASIRIAIrA4gBZiARIAIrA5gBZXEhBwsCQAJAIBMgAisDoAEiFGUiDiASIBRmcUUEQCAHRQ0BDAILIAcgAisDqAEiESACKwOIAWYgESACKwOYAWVxIg9HDQEgByAPcUUNAEEBDAILIAIrA7gBIRECQAJAIBAgFGEEQCANRQ0BIAIrA4gBIhMgAisDqAFlIBEgE2ZzRQ0BIBAgEmUNAwwBCyACKwOoASIWIBFhBEAgDiAQIBNmRg0BIAIrA4gBIBFlRQ0BIBEgAisDmAFlDQMMAQsgECAUECkhGCACKwOYASEVQQAhByATIBChIBYgEaEgFCAQoaMiGaIgEaAiGiACKwOIASIXZkUgEyAYZkUgECAUECMiFCATZkVyckUgFSAaZnENASASIBhmRSAXIBIgE6EgGaIgGqAiGGVFIBUgGGZFcnJFIBIgFGVxDQEgESAWECMhFCARIBYQKSIWIBdlRSATIBAgFyARoSAZo6AiEGVFIBAgEmVFcnJFIBQgF2ZxDQEgFSAWZkUgEyAQIBUgF6EgGaOgIhBlRSAQIBJlRXJyDQAgFCAVZg0BC0F/IQcLIAcMAQtBAAtBf0cNAiACIAIpA5gCNwOoAiACIAIpA5ACNwOgAiAGQQFqIQYMAQsLIAIoAsgBBEAgAiACKQPYATcDeCACIAIpA9ABNwNwIAIgCykDCDcDaCALKQMAIRsgAiACKQP4ATcDSCACIAIpA4ACNwNQIAIgAikDiAI3A1ggAiAbNwNgIAIgAikD8AE3A0AgAkHwAGogAkHgAGogAkFAaxDrCQ0BCyACKALMAQRAIAIgAikD6AE3AzggAiACKQPgATcDMCACIAIoAsABIAIoAsQBQQR0akEQayIGKQMINwMoIAYpAwAhGyACIAIpA/gBNwMIIAIgAikDgAI3AxAgAiACKQOIAjcDGCACIBs3AyAgAiACKQPwATcDACACQTBqIAJBIGogAhDrCQ0BCyAKQQFqIQoMAQsLQQEMAgsgASgCECEGCwJAIAYoAmAiBkUNACAFKwMQIAYrADgiECAGKwMYRAAAAAAAAOA/oiIRoWZFDQAgBSsDACARIBCgZUUNACAFKwMYIAYrAEAiECAGKwMgRAAAAAAAAOA/oiIRoWZFDQBBASAFKwMIIBEgEKBlDQEaC0EACyACQbACaiQADAELQZ2IAUHruAFBtgpBmTkQAAALDQQgCCABEDAhAQwBCwsgCCADEB0hAwwBCwsgCCgCLCIBQQBBgAIgASgCABEDACIBBH8gASgCEAVBAAshAQNAIAEEQCAEIAQpA3g3AzggBCAEKQNwNwMwIAQgBCkDaDcDKCAEIAQpA2A3AyBBACEFIwBB8ABrIgMkAAJAIAQrAzAiECABKAIQIgIrAzBmRQ0AIAQrAyAiESACKwNAZUUNACAEKwM4IhMgAisDOGZFDQAgBCsDKCISIAIrA0hlRQ0AIAIrABAhFCADIAIrABggEiAToEQAAAAAAADgP6KhOQNoIAMgFCAQIBGgRAAAAAAAAOA/oqE5A2AgA0EYaiIFQQBByAAQNhogAyABNgIYIAIoAggoAgQoAgwhAiADIAMpA2g3AxAgAyADKQNgNwMIIAUgA0EIaiACEQAAIQULIANB8ABqJAAgBQ0CQQAhAwJAIAggARDlASIBRQ0AIAgoAiwiAiABQRAgAigCABEDACIBRQ0AIAEoAhAhAwsgAyEBDAELCyAEIAQpA3g3AxggBCAEKQNwNwMQIAQgBCkDaDcDCCAEIAQpA2A3AwAgCCAEEOoIIgEgCCABGyEBCyAAKALABCIDIAFHBEACQCADRQ0AAkACQAJAIAMQkgIOAwABAgMLIAMoAhAiAyADLQBwQf4BcToAcAwCCyADKAIQIgMgAy0AhQFB/gFxOgCFAQwBCyADKAIQIgMgAy0AdEH+AXE6AHQLIABBADYCyAQgACABNgLABAJAIAFFDQACQAJAAkACQCABEJICDgMAAQIECyABKAIQIgMgAy0AcEEBcjoAcCABQQBButoAQQAQIiIDDQIMAwsgASgCECIDIAMtAIUBQQFyOgCFASABEC5BAUG62gBBABAiIgMNAQwCCyABKAIQIgMgAy0AdEEBcjoAdCABQVBBACABKAIAQQNxQQJHG2ooAigQLkECQbraAEEAECIiA0UNAQsgACABIAMQRCABEIABNgLIBAsgAEEBOgCZBAsgBEGAAWokAAu5AgIDfwJ8IwBBMGsiBCQAIAEgASgCSCABKAJMIgVBAWogBUECakE4EPMBIgU2AkggBSABKAJMIgZBOGxqIgUgAzoAMCAFIAI2AgACfAJAIAJFDQAgAi0AAEUNACAEQgA3AyggBEIANwMgIARCADcDGCAEQgA3AxAgBCABKAIENgIQIAQgASsDEDkDICAFIAAoAogBIgIgBEEQakEBIAIoAgARAwA2AgQgBCAAIAUQ3wYgBCsDCCEHIAEoAkwhBiAEKwMADAELIAUCfyABKwMQRDMzMzMzM/M/oiIImUQAAAAAAADgQWMEQCAIqgwBC0GAgICAeAu3Igc5AyhEAAAAAAAAAAALIQggASAGQQFqNgJMIAEgByABKwMgoDkDICABIAErAxgiByAIIAcgCGQbOQMYIARBMGokAAuzAgEGfyMAQRBrIgYkACAAKAIAIQICQAJAAkACQCAAKAIEQQFrDgMAAgECCyACQdQAaiEEAkAgAigCeEF/RgRAA0AgAigAXCADTQRAIARBBBAzIAQQOAwDBSAGIAQpAgg3AwggBiAEKQIANwMAIAYgAxAZIQUCQAJAAkAgAigCZCIHDgICAAELIAQoAgAgBUECdGooAgAQGAwBCyAEKAIAIAVBAnRqKAIAIAcRAQALIANBAWohAwwBCwALAAsgAigCVCEDIAIoAnAQGCACKAJ0EBgDQCADKAIAIgUEQCAFQdgAakEAEKoGIAUQ5gQgBRAYIANBBGohAwwBCwsgBCgCABAYCyACEOYEIAIQGAwCCyACKAIgEBggAhAYDAELIAIQ+ggLIAEEQCAAEBgLIAZBEGokAAs2AQF/IwBBIGsiAyQAIAMgAjkDGCADIAE5AxAgACADQQhqQQQgACgCABEDACADQSBqJABBAEcLWwEDfyAAKAIAIgAEfwJAIAAoAqgCIgFFDQAgASAAKAKwAiICSQ0AIAAoApwBIgMgAiABIABBsANqIAMoAjARBwAgACAAKAKoAjYCsAILIAAoArADQQFqBUEACwvbAwEEfyMAQRBrIgUkACAAIAE2AqgCIABB3AE2AqACAkACQAJAA0AgBUEANgIMIAAgACgCnAEiBCABIAIgBUEMaiAEKAIAEQYAIgcgASAFKAIMQf4wQQAQmwJFBEAgABDgAkErIQQMBAsgACAFKAIMIgY2AqwCQQkhBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAdBC2sOBQIQAxABAAsCQCAHQQRqDgUHEAYFDAALIAdBcUcNDyADIAAoAlwEfyAAIAAoApwBIAEgBhCFASAAKAL4A0ECRg0PIAUoAgwFIAYLNgIAQQAhBAwPCyAAKAJcRQ0CIAAgACgCnAEgASAGEIUBDAILIAAgACgCnAEgASAGELMGDQEMCwsgACAAKAKcASABIAYQtAZFDQoLIAAoAvgDQQFrDgMFBAMGCyAALQD8A0UNAUEFIQQMCgsgAC0A/ANFDQBBBiEEDAkLIAMgATYCAEEAIQQMCAsgACAFKAIMIgA2AqgCIAMgADYCAEEAIQQMBwsgACAFKAIMNgKoAgwFCyAALQDgBEUNAEEXIQQMBQsgACAFKAIMIgE2AqgCDAELCyAAIAY2AqgCQQQhBAwCC0EBIQQMAQtBIyEECyAFQRBqJAAgBAuVAQIFfgF/IAApAxAhBCAAKQMYIQIgACkDACEFIAApAwghAwNAIAEgB0ZFBEAgAiAEfCIEIAMgBXwiBSADQg2JhSIDfCIGIANCEYmFIQMgBCACQhCJhSICQhWJIAIgBUIgiXwiBYUhAiAGQiCJIQQgB0EBaiEHDAELCyAAIAI3AxggACAFNwMAIAAgAzcDCCAAIAQ3AxALngECBH8BfiAAQSBqIQUgAEEoaiEDIAEgAmohBANAIAMoAgAiAiADTyABIARPckUEQCABLQAAIQYgAyACQQFqNgIAIAIgBjoAACABQQFqIQEMAQsgAiADTwRAIAAgACkDICIHIAApAxiFNwMYIABBAhCuBiAAIAU2AiggACAHIAApAwCFNwMAIAAgACkDMEIIfDcDMCABIARJDQELCyAAC84fAQ9/IwBBMGsiCCQAIAggAzYCLCAAKAL8AiESAn8gACgCnAEgAkYEQCAAQagCaiEOIABBrAJqDAELIAAoArQCIg5BBGoLIRMgDiADNgIAIBJB0ABqIRQgAEG4A2ohDSAIQSVqIRUCQAJAA0AgCCAIKAIsIgM2AigCfwJAAkAgAiADIAQgCEEoaiACKAIEEQYAIgNBBWoiCw4DAAEAAQsgCCgCLCIKIAQgBhsMAQsgCCgCLCEKIAgoAigLIQkgACADIAogCUGEGiAHEJsCRQRAIAAQ4AJBKyEKDAMLIBMgCCgCKCIDNgIAQREhCgJAIAgCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCALDhMMAQAEAwIGBgcHCA4KCwUJDx8QEQsgBgRAIAUgCCgCLDYCAEEAIQoMHwsgEyAENgIAAkAgACgCSCIDBEAgCEEKOgAMIAAoAgQgCEEMakEBIAMRBQAMAQsgACgCXEUNACAAIAIgCCgCLCAEEIUBCyABRQ0dIAAoAtACIAFGDQwMGwsgBgRAIAUgCCgCLDYCAEEAIQoMHgsgAUEATA0cIAAoAtACIAFHDRogBSAIKAIsNgIAQQAhCgwdCyAOIAM2AgBBBCEKDBwLIAZFBEBBBSEKDBwLIAUgCCgCLDYCAEEAIQoMGwsgBkUEQEEGIQoMGwsgBSAIKAIsNgIAQQAhCgwaCyAIIAIgAigCQCIJIAgoAixqIAMgCWsgAigCLBEDACIDOgAkIANB/wFxBEAgAEEJIAhBJGoiCSAVQcYaQQEQmwIaIAAoAkgiAwRAIAAoAgQgCUEBIAMRBQAMEwsgACgCXEUNEiAAIAIgCCgCLCAIKAIoEIUBDBILQQEhCiAUIAIgAigCQCIDIAgoAixqIAgoAiggA2sQhAEiA0UNGSAAIBIgA0EAEJYBIQsgEiASKAJgNgJcAkACQCASLQCBAQRAIBItAIIBRQ0BCyALRQRAQQshCgwcCyALLQAjDQFBGCEKDBsLIAsNACAAKAKEASIJBEAgACgCBCADQQAgCREFAAwTCyAAKAJcRQ0SIAAgAiAIKAIsIAgoAigQhQEMEgsgCy0AIARAQQwhCgwaCyALKAIcBEBBDyEKDBoLIAsoAgQEQCAALQDMAg0NIAAoAoQBIgMEQCAAKAIEIAsoAgBBACADEQUADBMLIAAoAlxFDRIgACACIAgoAiwgCCgCKBCFAQwSCyAAKAJ8BEAgC0EBOgAgAkAgACgC/AIiDygCnAEiDEUNACAAKALEAyIDIAAoAsADRgRAIA0QX0UNECAAKALEAyEDCyAAIANBAWo2AsQDIANBPToAAEEAIQMgDygCnAEoAhQgAC0A8ANBAEdrIglBACAJQQBKGyEQA0AgAyAQRg0BIAAoAsQDIgkgACgCwANGBEAgDRBfRQ0RIAAoAsQDIQkLIA8oApwBKAIQIANqLQAAIREgACAJQQFqNgLEAyAJIBE6AAAgA0EBaiEDDAALAAsgCCAPKAI8IgM2AgwgDEUhCSAIIAMEfyADIA8oAkRBAnRqBUEACzYCEANAIAhBDGoQvAYiEARAIBAoAgRFDQEgCUUEQCAAKALEAyIDIAAoAsADRgRAIA0QX0UNEiAAKALEAyEDCyAAIANBAWo2AsQDIANBDDoAAAsgECgCACEMA0ACQCAAKALAAyEJIAAoAsQDIQMgDC0AACIRRQ0AIAMgCUYEQCANEF9FDRMgDC0AACERIAAoAsQDIQMLIAAgA0EBajYCxAMgAyAROgAAIAxBAWohDAwBCwsgAyAJRgRAIA0QX0UNESAAKALEAyEDCyAAIANBAWo2AsQDIANBPToAAEEAIQkgECgCBCgCFCAALQDwA0EAR2siA0EAIANBAEobIRFBACEDA0AgAyARRg0CIAAoAsQDIgwgACgCwANGBEAgDRBfRQ0SIAAoAsQDIQwLIBAoAgQoAhAgA2otAAAhFiAAIAxBAWo2AsQDIAwgFjoAACADQQFqIQMMAAsACwsgCCAPKAIAIgM2AgwgCCADBH8gAyAPKAIIQQJ0agVBAAs2AhADQCAIQQxqELwGIgMEQCADLQAgRQ0BIAlFBEAgACgCxAMiCSAAKALAA0YEQCANEF9FDRIgACgCxAMhCQsgACAJQQFqNgLEAyAJQQw6AAALIAMoAgAhAwNAIAMtAAAiDEUEQEEAIQkMAwsgACgCxAMiCSAAKALAA0YEQCANEF9FDRIgAy0AACEMIAAoAsQDIQkLIAAgCUEBajYCxAMgCSAMOgAAIANBAWohAwwACwALCyAAKALEAyIDIAAoAsADRgRAIA0QX0UNDyAAKALEAyEDCyAAIANBAWo2AsQDIANBADoAACAAKALIAyEDIAtBADoAICADRQ0aIAAoAoABIAMgCygCFCALKAIQIAsoAhggACgCfBEIAEUEQEEVIQoMGwsgACAAKALIAzYCxAMMEgsgACgCXEUNESAAIAIgCCgCLCAIKAIoEIUBDBELAkAgACgCiAMiAwRAIAAgAygCADYCiAMMAQtBASEKIABBMEGQGxCXASIDRQ0ZIAMgAEEgQZMbEJcBIgk2AiQgCUUEQCAAIANBlRsQaAwaCyADIAlBIGo2AigLIANBADYCLCADIAAoAoQDNgIAIAAgAzYChAMgA0IANwIQIAMgCCgCLCACKAJAaiIJNgIEIAMgAiAJIAIoAhwRAAA2AgggACAAKALQAkEBajYC0AIgAygCCCAIIAMoAgQiCjYCJCADQQxqIQsgA0EsaiEQIApqIQ8gAygCKCEMIAMoAiQhCgNAAkAgCCAKNgIMIAIgCEEkaiAPIAhBDGogDEEBayACKAI4EQgAIAgoAgwiESADKAIkIglrIQpBAUYgCCgCJCAPT3INACAAIAkgAygCKCAJa0EBdCIMQbQbEJoCIglFDQ8gAyAJNgIkIAMgCSAMaiIMNgIoIAkgCmohCgwBCwsgAyAKNgIYIAMgCTYCDCARQQA6AAAgACACIAgoAiwgCyAQIAcQlgkiCg0YIAAoAkAiAwRAIAAoAgQgCygCACAAKAKgAyADEQUADBALIAAoAlxFDQ8gACACIAgoAiwgCCgCKBCFAQwPCyACKAJAIQMgCCgCLCEJIAhBADYCJCAIIA0gAiADIAlqIgMgAiADIAIoAhwRAAAgA2oQhAEiAzYCDCADRQ0MIAAgACgCxAM2AsgDIAAgAiAIKAIsIAhBDGogCEEkakECEJYJIgoEQCAAIAgoAiQQlQkMGAsgACAAKALEAzYCyAMCQAJAIAAoAkAiA0UEQCAAKAJEIgMNASAAKAJcRQ0CIAAgAiAIKAIsIAgoAigQhQEMAgsgACgCBCAIKAIMIAAoAqADIAMRBQAgACgCRCIDRQ0BIAAoAkBFDQAgDiATKAIANgIAIAAoAkQhAwsgACgCBCAIKAIMIAMRBAALIA0QnAIgACAIKAIkEJUJIAAoAtACDQ8CQAJAIAAoAvgDQQFrDgMAEg8BCyAALQDgBA0OCyAAIAgoAiggBCAFEK0GIQoMFwsgACgC0AIgAUYNEyAAKAKEAyEKAkAgAiAIKAIsIAIoAkBBAXRqIgMgAigCHBEAACIJIAooAghGBEAgCigCBCADIAkQzgFFDQELIA4gAzYCAEEHIQoMFwsgACAKKAIANgKEAyAKIAAoAogDNgIAIAAgCjYCiAMgACAAKALQAkEBazYC0AICQCAAKAJEIgMEQAJAIAAtAPQBRQ0AIAooAhAiCUUNACAKKAIMIAooAhxqIQMDQCAJLQAAIgsEQCADIAs6AAAgA0EBaiEDIAlBAWohCQwBCwsCQCAALQD1AUUNACAKKAIUIglFDQAgAyAALQDwAzoAAANAIANBAWohAyAJLQAAIgtFDQEgAyALOgAAIAlBAWohCQwACwALIANBADoAACAAKAJEIQMLIAAoAgQgCigCDCADEQQADAELIAAoAlxFDQAgACACIAgoAiwgCCgCKBCFAQsDQCAKKAIsIgMEQCADIQkgCiAAKAJ0IgsEfyAAKAIEIAMoAgAoAgAgCxEEACAKKAIsBSAJCygCBDYCLCADIAAoApADNgIEIAAgAzYCkAMgAygCACADKAIINgIEDAELCyAAKALQAg0OAkACQCAAKAL4A0EBaw4DABEOAQsgAC0A4AQNDQsgACAIKAIoIAQgBRCtBiEKDBYLIAIgCCgCLCACKAIoEQAAIgNBAEgEQEEOIQoMFgsgACgCSCIJBEAgACgCBCAIQQxqIgwgAyAMEJQEIAkRBQAMDgsgACgCXEUNDSAAIAIgCCgCLCAIKAIoEIUBDA0LIAAoAkgiCQRAIAhBCjoADCAAKAIEIAhBDGpBASAJEQUADA0LIAAoAlxFDQwgACACIAgoAiwgAxCFAQwMCwJAIAAoAlQiCQRAIAAoAgQgCREBAAwBCyAAKAJcRQ0AIAAgAiAIKAIsIAMQhQELIAAgAiAIQShqIAQgBSAGIAcQlAkiCg0TIAgoAigNCyAAQdsBNgKgAkEAIQoMEwsgBgRAIAUgCCgCLDYCAEEAIQoMEwsCQCAAKAJIIgMEQCACLQBERQRAIAggACgCODYCDCACIAhBLGogBCAIQQxqIAAoAjwgAigCOBEIABogACgCBCAAKAI4IgIgCCgCDCACayAAKAJIEQUADAILIAAoAgQgCCgCLCICIAQgAmsgAxEFAAwBCyAAKAJcRQ0AIAAgAiAIKAIsIAQQhQELIAFFBEAgDiAENgIADBILIAAoAtACIAFGDQAgDiAENgIADA8LIAUgBDYCAEEAIQoMEQsgACgCSCIJBEAgAi0AREUEQANAIAggACgCODYCDCACIAhBLGogAyAIQQxqIAAoAjwgAigCOBEIACATIAgoAiw2AgAgACgCBCAAKAI4IgogCCgCDCAKayAJEQUAQQFNDQsgDiAIKAIsNgIAIAgoAighAwwACwALIAAoAgQgCCgCLCIKIAMgCmsgCREFAAwJCyAAKAJcRQ0IIAAgAiAIKAIsIAMQhQEMCAsgACACIAgoAiwgAxCzBg0HDAQLIAAgAiAIKAIsIAMQtAZFDQMMBgsgACgCXEUNBSAAIAIgCCgCLCADEIUBDAULIAAgC0EAQQAQ6wRFDQQMDAsgC0EAOgAgDAsLQQEhCgwKCyAAQdwBNgKgAgwBCyANEJwCCwJAIAAoAvgDQQFrDgMCAQADCyAOIAgoAigiADYCACAFIAA2AgBBACEKDAcLIA4gCCgCKDYCAEEjIQoMBgsgCCgCKCIDIAAtAOAERQ0BGiAFIAM2AgBBACEKDAULIAgoAigLIgM2AiwgDiADNgIADAELC0ENIQoMAQtBAyEKCyAIQTBqJAAgCgucAQIBfwJ+IwBB0ABrIgIkACAAIAJBCGoQmQkgAkIANwNIIAIgAkE4ajYCQCACIAIpAwgiA0L1ys2D16zbt/MAhTcDGCACIAIpAxAiBELzytHLp4zZsvQAhTcDMCACIANC4eSV89bs2bzsAIU3AyggAiAEQu3ekfOWzNy35ACFNwMgIAJBGGogASABEJgJEK8GEJcJIAJB0ABqJACnC24BAX8gAEEAEMACIgAoAvQDRQRAIAAgACgC0ARBAWo2AtAEIAAgACgC1ARBAWoiAzYC1AQgAyAAKALYBCIDSwRAIAAgA0EBajYC2AQLIAAgAUGQyAMgAhCbCQ8LQcY4Qb68AUG5wwBBkOYAEAAAC6oBAQN/AkAgACgCTEUEQEEBIQQgACgCXEUNASAAIAEgAiADEIUBQQEPCyAAQbgDaiIFIAEgAiABKAJAQQF0aiICIAEgAiABKAIcEQAAIAJqIgIQhAEiBkUNACAAIAAoAsQDNgLIAyAFIAEgASACIAEoAiARAAAgAyABKAJAQQF0axCEASIBRQ0AIAEQmgkgACgCBCAGIAEgACgCTBEFACAFEJwCQQEhBAsgBAtsAQF/AkAgACgCUEUEQCAAKAJcRQ0BIAAgASACIAMQhQFBAQ8LIABBuANqIgQgASACIAEoAkAiAUECdGogAyABQX1sahCEASIBRQRAQQAPCyABEJoJIAAoAgQgASAAKAJQEQQAIAQQnAILQQELaAECfwJAIAAoAvwCIgRB0ABqIAEgAiADEIQBIgJFDQAgACAEQRRqIAJBGBCWASIBRQ0AAkAgAiABKAIARwRAIAQgBCgCYDYCXAwBCyAEIAQoAlw2AmAgACABEJ4JRQ0BCyABIQULIAULOQACQCAAIAAoAvQDQQBHIAAoApwBIAEgAiADIAAtAPwDRUEAELAGIgMNACAAEJ8JDQBBASEDCyADC5UBAQN/IAAiASEDA0ACfwJAAkACQAJAIAMtAAAiAkEKaw4EAQMDAQALIAJBIEYNACACRQ0BDAILIAAgACABRg0CGkEgIQIgAUEBay0AAEEgRw0BIAEMAgsgACABRwR/IAFBAWsiACABIAAtAABBIEYbBSAAC0EAOgAADwsgASACOgAAIAFBAWoLIANBAWohAyEBDAALAAtZAQJ/IwBBEGsiBCQAIAQgATYCDCAAKAKcASIFIAEgAiAEQQxqIAUoAgARBgAhBSAAIAAoApwBIAEgAiAFIAQoAgwgAyAALQD8A0VBAUEAEKsJIARBEGokAAsTACAAQYABc0ECdEGsqwhqKAIACyoBAX8DQCAABEAgACgCBCABIAAoAhBB+g4QaCABIABB+w4QaCEADAELCwuWBgEIfyABKAIAIQUCQCADLQAAIgZFBEAgBQRAQRwPC0EBIQtBKCEHDAELQQEhC0EoIQcgBUUNACAFLQAAQfgARw0AIAUtAAFB7QBHDQAgBS0AAkHsAEcNACAFLQADIggEQCAIQe4ARw0BIAUtAARB8wBHDQEgBS0ABQ0BQScPC0EBIQpBACELQSYhBwtBASEIQQEhDEEAIQUCQANAIAZB/wFxIgkEQAJAIAhB/wFxRSAFQSRLckUEQCAJIAVBgKkIai0AAEYNAQtBACEICwJAIAsgDHFFDQAgBUEdTQRAIAkgBUGwqQhqLQAARg0BC0EAIQwLAkAgAC0A9AFFDQAgCSAALQDwA0cNAEECIQYgCUEhaw5eAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAMAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAAMLIAMgBUEBaiIFai0AACEGDAELCyAHIQYgCiAFQSRGIAhB/wFxQQBHcUcNACAMRSAFQR1HckUEQEEoDwsgBSAALQDwA0EAR2ohBwJAIAAoApADIgUEQCAFKAIYIAdIBEBBASEGIAdB5////wdLDQMgACAFKAIQIAdBGGoiCEGfIxCaAiIJRQ0DIAUgCDYCGCAFIAk2AhALIAAgBSgCBDYCkAMgBSgCECEIDAELQQEhBiAAQRxBpyMQlwEiBUUgB0Hn////B0tyDQEgBSAAIAdBGGoiBkG5IxCXASIINgIQIAhFBEAgACAFQbsjEGhBAQ8LIAUgBjYCGAsgBSAHNgIUIAggAyAHECAaIAAtAPADIgYEQCAFKAIQIAdqQQFrIAY6AAALIAUgAjYCDCAFIAE2AgAgBSABKAIENgIIIAECfwJAIAMtAAANACABIAAoAvwCQZgBakcNAEEADAELIAULNgIEIAUgBCgCADYCBCAEIAU2AgBBACEGIAJFDQAgACgCcCICRQ0AIAAoAgQgASgCACADQQAgASgCBBsgAhEFAAsgBgs+AQR/IAAoAgAhASAAKAIEIQMDQCABIANGBEBBAA8LIAAgAUEEaiIENgIAIAEoAgAhAiAEIQEgAkUNAAsgAgvUAQEGfyAAKAIUIAAoAgxBAnRqKAIAKAIcIAAoAixqIQEgACgCJCEEIAAoAlAhAgNAIAIgBEkEQCACLQAAIgMEfyADQaCABWotAAAFQQELIQMgAUEBdEGgggVqLwEABEAgACACNgJEIAAgATYCQAsDQAJAA0AgASABQQF0IgVBgIgFai4BACADakEBdCIGQeCDBWouAQBGDQEgBUHgiQVqLgEAIgFB3QBIDQALIANBwIsFai0AACEDDAELCyACQQFqIQIgBkGAjAVqLgEAIQEMAQsLIAELvAICAX4CfyAABEAgACAAED8iBEF4cWohAyAErSECA0AgAkKV08fetfKp0kZ+IQIgACADRkUEQCACIAApAABCldPH3rXyqdJGfiICQi+IIAKFQpXTx9618qnSRn6FIQIgAEEIaiEADAELCyACQoCAgICAgICAAUIAIAEbhSECAkACQAJAAkACQAJAAkACQCAEQQdxQQFrDgcGBQQDAgEABwsgAzEABkIwhiAChSECCyADMQAFQiiGIAKFIQILIAMxAARCIIYgAoUhAgsgAzEAA0IYhiAChSECCyADMQACQhCGIAKFIQILIAMxAAFCCIYgAoUhAgsgAiADMQAAhSECCyACQpXTx9618qnSRn4iAkIviCAChUKV08fetfKp0kZ+IgJCL4ggAoWnDwtB9NIBQcG5AUGYAUGb+QAQAAALJAAgACABIAIQ4wkgACgCTCIAKAIIIAEgAiAAKAIAKAIIESEAC9EDAQF/AkAgASACRgRAIANBADYCAAwBCwJAAkAgACABIAIQ4wJBCWsiB0EXS0EBIAd0QZOAgARxRXINAANAIAAgASAAKAJAaiIBIAIQ4wJBCWsiB0EXTQRAQQEgB3RBk4CABHENAQsLIAEgAkYEQCADQQA2AgAMAwsgAyABNgIAAkACQAJAA0ACQCAAIAEgAhDjAiIHQQlrQQJJDQAgB0E9Rg0CIAdBDUYgB0EgRnINACAHQX9GDQUgASAAKAJAaiEBDAELCyAEIAE2AgADQCAAIAEgACgCQGoiASACEOMCIgRBCWsiB0EXSw0CQQEgB3RBk4CABHENAAsMAQsgBCABNgIADAELIARBPUcNAQsgASADKAIARg0AA0AgACABIAAoAkBqIgEgAhDjAiIDQQlrQQJJDQACQCADQSBrDgMBAgMACyAD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BEAgASAAKAIMTQRAQQAPCyABrSACrX5CIIhQRQRAQT0PCyAAKAIAIAEgAmwQZiIERQRAQTAPCyAEIAAoAgwiAyACbGpBACABIANrIAJsEDYaIAMgACgCBCIFIAAoAghqSQRAIAQgASADIAVrIgNrIgYgAmxqIAQgAiAFbGogAiADbBC2ARogACAGNgIECyAAIAE2AgwgACAENgIAQQAPC0G90gFBtLcBQeEAQY6JARAAAAs6AQF/IABB8JEJKAIAIgE2AgAgACABQQxrKAIAakH8kQkoAgA2AgAgAEEEahCNBxogAEE4ahDCCyAACxgAIABBhI8JNgIAIABBIGoQNBogABCVBwsdACMAQRBrIgMkACAAIAEgAhCvCyADQRBqJAAgAAuZAQECfwJAIAAQLiIEIAAoAgBBA3EgAUEAECIiAw0AAkAgBEGVgAUQywMiA0GVgAVHDQAgAxB1RQ0AIAQgACgCAEEDcSABQZWABRDoAyEDDAELIAQgACgCAEEDcSABQZWABRAiIQMLAkACQCACRQ0AIAQgAhDLAyIBIAJHDQAgARB1RQ0AIAAgAyACEKoEDAELIAAgAyACEHELC64BAQZ/IwBBEGsiAiQAIAJBCGoiAyAAEKkFGgJAIAMtAABFDQAgAkEEaiIDIAAgACgCAEEMaygCAGoQUyADELkLIQQgAxBQIAIgABC4CyEFIAAgACgCAEEMaygCAGoiBhC3CyEHIAIgBCAFKAIAIAYgByABIAQoAgAoAiARMwA2AgQgAxCnBUUNACAAIAAoAgBBDGsoAgBqQQUQqgULIAJBCGoQqAUgAkEQaiQAIAALDAAgAEEEahDCCyAACygBAn8jAEEQayICJAAgASgCACAAKAIASCEDIAJBEGokACABIAAgAxsLEAAgACABNwMIIABCADcDAAsCAAsUACAAQZSOCTYCACAAQQRqEFAgAAvzAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKE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EGsiAyQAIAMgAToADwJAAkAgACgCECICBH8gAgUgABClBwRAQX8hAgwDCyAAKAIQCyAAKAIUIgRGDQAgAUH/AXEiAiAAKAJQRg0AIAAgBEEBajYCFCAEIAE6AAAMAQsgACADQQ9qQQEgACgCJBEDAEEBRwRAQX8hAgwBCyADLQAPIQILIANBEGokACACC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEAC5QDAgN+An8CQCAAvSICQjSIp0H/D3EiBEH/D0cNACAARAAAAAAAgFZAoiIAIACjDwsgAkIBhiIBQoCAgICAgMDWgH9YBEAgAEQAAAAAAAAAAKIgACABQoCAgICAgMDWgH9RGw8LAn4gBEUEQEEAIQQgAkIMhiIBQgBZBEADQCAEQQFrIQQgAUIBhiIBQgBZDQALCyACQQEgBGuthgwBCyACQv////////8Hg0KAgICAgICACIQLIQEgBEGFCEoEQANAAkAgAUKAgICAgICgC30iA0IAUw0AIAMiAUIAUg0AIABEAAAAAAAAAACiDwsgAUIBhiEBIARBAWsiBEGFCEoNAAtBhQghBAsCQCABQoCAgICAgKALfSIDQgBTDQAgAyIBQgBSDQAgAEQAAAAAAAAAAKIPCyABQv////////8HWARAA0AgBEEBayEEIAFCgICAgICAgARUIAFCAYYhAQ0ACwsgAkKAgICAgICAgIB/gyABQoCAgICAgIAIfSAErUI0hoQgAUEBIARrrYggBEEAShuEvwviAgEFfwJAAkACQCACKAJMQQBOBEAgAUECSA0BDAILQQEhBiABQQFKDQELIAIgAigCSCICQQFrIAJyNgJIIAFBAUcNASAAQQA6AAAgAA8LIAFBAWshBCAAIQECQANAAkACQAJAIAIoAgQiAyACKAIIIgVGDQACfyADQQogBSADaxD7AiIHBEAgByACKAIEIgNrQQFqDAELIAIoAgggAigCBCIDawshBSABIAMgBSAEIAQgBUsbIgMQIBogAiACKAIEIANqIgU2AgQgASADaiEBIAcNAiAEIANrIgRFDQIgBSACKAIIRg0AIAIgBUEBajYCBCAFLQAAIQMMAQsgAhC9BSIDQQBO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AwAgA0EBaiEDDAIFIBAgNyAXIAFBA3QiGGorAwAgFCAYaisDAKKhIjc5AwAgAUEBaiEBDAELAAsACwALQcTWCigCABoCQEHnqwFB+NUKEIkBQQBIDQACQEHI1gooAgBBCkYNAEGM1gooAgAiAEGI1gooAgBGDQBBjNYKIABBAWo2AgAgAEEKOgAADAELQfjVCkEKEKQHGgsLIA0QGCAIEBhBACEBA0BBvNgKLwEAIhQgAUsEQEHQ2AorAwAhNxDVASE4IAFBA3QiACAJQaABamoiAyADKwMAIDcgOEQAAAAAAADwPyA3oSI3IDegoqCiIjc5AwAgAigCECgClAEgAGoiACA3IAArAwCgOQMAIAFBAWohAQwBCwsgBygCECIAIAAoApwBQQFqNgKcASAAKAKYASITIAtqKAIAIQ1BACEBA0AgASAURgRAQQAhAwNAIAMgFUcEQAJAIAMgDkYNAEEAIQogDSgCECgClAEgEyADQQJ0IgRqKAIAKAIQKAKUASAJQfABahDFDSE3A0AgCiAURg0BIApBA3QiASAAKAKsASIIIAtqKAIAIARqKAIAaiIRIANBA3QiEiAAKAKkASALaigCAGorAwAgCUHwAWogAWorAwAiOCA4IAAoAqABIAtqKAIAIBJqKwMAoiA3o6GiIjg5AwAgACgCqAEiEiALaigCACABaiIQIDggECsDAKA5AwAgBCAIaigCACALaigCACABaiIIKwMAITggCCARKwMAmiI5OQMAIAQgEmooAgAgAWoiASA5IDihIAErAwCgOQMAIApBAWohCgwACwALIANBAWohAwwBCwtB6NsKKAIABEBBACEBQbzYCi8BACEARAAAAAAAAAAAITgDQCAAIAFHBEAgOCAJQaABaiABQQN0aisDAJmgITggAUEBaiEBDAELCyACECEhACAJIDifOQM4IAkgADYCMCAMQdWiBCAJQTBqEDILIAUQGAwFBSAAKAKoASALaigCACABQQN0akIANwMAIAFBAWohAQwBCwALAAsgBUEBaiEFDAALAAsLQQAhAUGM2AotAAAEQEEBIAYgBkEBTBtBAWshBEG82AovAQAhBUQAAAAAAAAAACE3A0AgASAERwRAIAcoAhAiAigCmAEiCiABQQJ0IgNqKAIAIRUgAUEBaiIAIQsDQCAGIAtGBEAgACEBDAMFIAogC0EC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IDcDECAJIAIpAxg3AwgCQCACKAIIKAJYIgZFDQACQCAJKwMAIAkrAxBiDQAgCSsDCCAJKwMYYg0AIAlC/////////3c3AxggCUL/////////9/8ANwMAIAlC//////////f/ADcDCCAJQv////////93NwMQCyAGKAIIIQcDQCARIAYoAgBPDQEgC0IANwM4IAtCADcDMCALQgA3AyggC0IANwMgAkACQAJAAkACQAJAAkACQCAHKAIADhAAAAEBAgIDBAcHBQcHBwcGBwsgByAHKwMQIhwgBysDICIXoCIZOQNoIAcgBysDCCIUIAcrAxgiE6AiGjkDYCAHIBwgF6EiFzkDWCAHIBQgE6EiEzkDUCAJIAkrAwAgExApIBoQKTkDACAJIAkrAxggFxAjIBkQIzkDGCAJIAkrAwggFxApIBkQKTkDCCAJIAkrAxAgExAjIBoQIzkDEAwGCyALIAcoAgwgBygCCCAJEKQGIAcgCykDGDcDaCAHIAspAxA3A2AgByALKQMINwNYIAcgCykDADcDUAwFCyALIAcoAgwgBygCCCAJEKQGIAcgCykDGDcDaCAHIAspAxA3A2AgByALKQMINwNYIAcgCykDADcDUAwECyALIAcoAgwgBygCCCAJEKQGIAcgCykDGDcDaCAHIAspAxA3A2AgByALKQMINwNYIAcgCykDADcDUAwDCyAHQTgQxgM2AnAgBygCKBBkIQUgBygCcCICIAU2AgAgAiAHKAIYQaS/CGotAAA6ADAgCyAYOQMwIAsgEjYCICALIAsoAjhBgH9xIA5B/wBxcjYCOCANKAKIASICIAtBIGpBASACKAIAEQMAIQUgBygCcCICIAU2AgQgCyANIAIQ3wYgBysDCCETIAcoAnAiAisDKCEXIAIrAyAhFAJAAkACQAJAIAItADBB7ABrDgcAAwEDAwMCAwsgEyAUoCEWIBMhFQwCCyATIBREAAAAAAAA4D+iIhWgIRYgEyAVoSEVDAELIBMgFKEhFSATIRYLIAcrAxAhFCACKwMQIRMgByAWOQNgIAcgFTkDUCAHIBQgE6AiFDkDaCAHIBQgF6EiEzkDWCAJIAkrAxAgFRAjIBYQIzkDECAJIAkrAxggExAjIBQQIzkDGCAJIAkrAwAgFRApIBYQKTkDACAJIAkrAwggExApIBQQKTkDCCAGKAIMDQIg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IAIpAwA3A+ACIAEgBCkDQDcD2AIgASAEKQM4NwPQAiABQdADaiABQeACaiABQdACahDSBQJAIAErA4AEIAErA9ADZUUNACABKwPgAyABKwPwA2VFDQAgASsDiAQgASsD2ANlRQ0AIAErA+gDIAErA/gDZUUNAEEBIQMgBSgCKCIGQQFxBEAgBC0AUEEBcQ0BCwJAIAZBAnFFDQAgBC0AUEECcUUNACACKwMQIAIrAwChIhsgG6IgAisDGCACKwMIoSIbIBuioCAFKwMQIAUrAwChIAQrAzigIAQrAyihIhsgG6JEAAAAAAAA0D+iZSEDDAELIAUoAiAhAyAFKAIkIAEgAikDGDcDyAIgASACKQMQNwPAAiADIAFBwAJqEOUMIQYgBCgCSCEDIAQoAkwgASACKQMINwO4AiABIAIpAwA3A7ACIAMgAUGwAmoQ5QwhByAEKAJIIhFBAXQhFyAFKAIgIg5BAXQhGCARQQFrIRkgDkEBayEaQQAhA0EAIQgCQANAIAEgBiAIQQR0aiIJKQMINwOoAiABIAkpAwA3A6ACIAEgBiAIIBpqIA5vQQR0aiISKQMINwOYAiABIBIpAwA3A5ACIAFBwARqIAFBoAJqIAFBkAJqEOkMIAEgByAMQQR0aiILKQMINwOIAiABIAspAwA3A4ACIAEgByAMIBlqIBFvQQR0aiITKQMINwP4ASABIBMpAwA3A/ABIAFBsARqIAFBgAJqIAFB8AFqEOkMIAFCADcDmAQgAUIANwPoASABIAEpA8gENwPYASABIAEpA7gENwPIASABQgA3A5AEIAFCADcD4AEgASABKQPABDcD0AEgASABKQOwBDcDwAEgASsD6AEgASsD2AEiG6EgASsDwAEgASsD0AEiHKGiIAErA8gBIBuhIAErA+ABIByhoqEhHyABIBIpAwg3A7gBIAEgEikDADcDsAEgASAJKQMINwOoASABIAkpAwA3A6ABIAEgCykDCDcDmAEgASALKQMANwOQASABQbABaiABQaABaiABQZABahDoDCEVIAEgEykDCDcDiAEgASATKQMANwOAASABIAspAwg3A3ggASALKQMANwNwIAEgCSkDCDcDaCABIAkpAwA3A2AgAUGAAWogAUHwAGogAUHgAGoQ6AwhFiABIBIpAwg3A1ggASASKQMANwNQIAEgCSkDCDcDSCAB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AiAEKAIAEQAARQ0AIAIgAxC4ASACIAEgBCgCABEAAEUNACABIAIQuAEgASAAIAQoAgARAABFDQAgACABELgBCws7AQJ/IAAoAgAiAQRAIAEhAANAIAAiASgCBCIADQALIAEPCwNAIAAgACgCCCIBKAIARiABIQANAAsgAAtdAQR/IABBoM8KNgIAQej7CkEANgIAIABBBGoiAkEEaiEEIAIoAgAhAQNAIAEgBEcEQCABKAIQIgMEQCADEKUNGgsgAxAYIAEQrQEhAQwBCwsgAiACKAIEEOwHIAALHwAgAQRAIAAgASgCABDsByAAIAEoAgQQ7AcgARAYCws+AQF/IAFBgICAgARPBEAQwgQAC0H/////AyAAKAIIIAAoAgBrIgBBAXUiAiABIAEgAkkbIABB/P///wdPGwtXAQF/IANBADoAHEHIABCHASIEQQAQ+AcaIAEgBDYCACAAIAQgAygCACADKAIEEN8FQcgAEIcBIgFBABD4BxogAiABNgIAIAAgASADKAIEIAMoAgAQ3wULoQMCCH8CfCMAQRBrIgskACADKwMQIAMoAiArAxAgAysDGKAgAysDCKGiIQ8gAygCLCEMIAMoAighCCAFQQJGIQ0DQCAIIAxGBEACQCADKAI4IQwgAygCNCEIA0AgCCAMRg0BAkAgCCgCACIKKAIEIgcoAiAgAUcgBCAHRnINACAKLQAcQQFxRQ0AIAsgAUEAIAIgAiAHRiINGyICIAcgA0ECIAVBAUYgBnIiBkEBcSIOEO8HIAogCysDACIQOQMQIAogCSANGyEJAkAgAkUNACALKAIIIgdFDQAgDgRAIAohCSAQIAcrAxBjDQELIAchCQsgDyAQoCEPCyAIQQRqIQgMAAsACwUCQCAIKAIAIgooAgAiBygCICABRyAEIAdGcg0AIAotABxBAXFFDQAgCyABQQAgAiACIAdGIg4bIgIgByADQQEgBiANciIGQQFxEO8HIAogCysDACIQmjkDECALKAIIIgcgCiAJIA4bIgkgBxsgCSACGyEJIA8gEKAhDwsgCEEEaiEIDAELCyAAIAk2AgggACAPOQMAIAtBEGokAAupAgIEfwN8IAErAxAgASgCICsDECABKwMYoCABKwMIoaIhCCABKAI4IQcgASgCNCEEA0AgBCAHRgRAAkAgASgCLCEHIAEoAighBANAIAQg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NwO4BiAFIAIpAgA3A7AGIAVBsAZqIAMQGUHIAGxqKAIsQQFrQX1LDQAgAigCACAFIAIpAgg3A/gDIAUgAikCADcD8AMgBUHwA2ogAxAZQcgAbGooAjwgAigCACEAIAUgAikCCDcD6AMgBSACKQIANwPgAyAFQeADaiADEBkhAUEBa0F9TQRAIAIoAgAhBgJ/IAAgAUHIAGxqKAJAQQFGBEAgBSACKQIINwPIASAFIAIpAgA3A8ABIAYgBUHAAWogAxAZQcgAbGooAiwhACACKAIAIAUgAikCCDcDuAEgBSACKQIANwOwASAFQbABaiAEEBlByABsaiAANgIoIAIoAgAgBSACKQIINwOoASAFIAIpAgA3A6ABIAVBoAFqIAMQGUHIAGxqQX82AiwgAigCACAFIAIpAgg3A5gBIAUgAikCADcDkAEgBUGQAWogAxAZQcgAbGooAjwhACACKAIAIAUgAikCCDcDiAEgBSACKQIANwOAASAFQYABaiAEEBlByABsaiAANgIsIAIoAgAhACAFIAIpAgg3A3ggBSACKQIANwNwIAAgBUHwAGogAxAZQcgAbGooAighASAFIAIpAgg3A2ggBSACKQIANwNgIAAgBUHgAGogARAZQcgAbGogAzYCMCACKAIAIQAgBSACKQIINwNYIAUgAikCADcDUCAAIAVB0ABqIAQQGUHIAGxqKAIoIQEgBSACKQIINwNIIAUgAikCADcDQCAAIAVBQGsgARAZQcgAbGogBDYCMCACKAIAIQAgBSACKQIINwM4IAUgAikCADcDMCAAIAVBMGogBBAZQcgAbGpBLGoMAQsgBSACKQIINwOIAyAFIAIpAgA3A4ADIAYgBUGAA2ogBBAZQcgAbGpBfzYCLCACKAIAIAUgAikCCDcD+AIgBSACKQIANwPwAiAFQfACaiADEBlByABsaigCLCEAIAIoAgAgBSACKQIINwPoAiAFIAIpAgA3A+ACIAVB4AJqIAQQGUHIAGxqIAA2AiggAigCACAFIAIpAgg3A9gCIAUgAikCADcD0AIgBUHQAmogAxAZQcgAbGooAighACACKAIAIAUgAikCCDcDyAIgBSACKQIANwPAAiAFQcACaiADEBlByABsaiAANgIsIAIoAgAgBSACKQIINwO4AiAFIAIpAgA3A7ACIAVBsAJqIAMQGUHIAGxqKAI8IQAgAigCACAFIAIpAgg3A6gCIAUgAikCADcDoAIgBUGgAmogAxAZQcgAbGogADYCKCACKAIAIQAgBSACKQIINwOYAiAFIAIpAgA3A5ACIAAgBUGQAmogAxAZQcgAbGooAighASAFIAIpAgg3A4gCIAUgAikCADcDgAIgACAFQYACaiABEBlByABsaiADNgIwIAIoAgAhACAFIAIpAgg3A/gBIAUgAikCADcD8AEgACAFQfABaiADEBlByABsaigCLCEBIAUgAikCCDcD6AEgBSACKQIANwPgASAAIAVB4AFqIAEQGUHIAGxqIAM2AjAgAigCACEAIAUgAikCCDcD2AEgBSACKQIANwPQASAAIAVB0AFqIAQQGUHIAGxqQShqCygCACEBIAUgAikCCDcDKCAFIAIpAgA3AyAgACAFQSBqIAEQGUHIAGxqIAQ2AjAgAigCACAFIAIpAgg3AxggBSACKQIANwMQIAVBEGogAxAZQcgAbGpBADYCPCACKAIAIAUgAikCCDcDCCAFIAIpAgA3AwAgBSAEEBlByABsakEANgI8DAILIAAgAUHIAGxqKAIsIQAgAigCACAFIAIpAgg3A9gDIAUgAikCADcD0AMgBUHQA2ogBBAZQcgAbGogADYCKCACKAIAIAUgAikCCDcDyAMgBSACKQIANwPAAyAFQcADaiADEBlByABsakF/NgIsIAIoAgAgBSACKQIINwO4AyAFIAIpAgA3A7ADIAVBsANqIAQQGUHIAGxqQX82AiwgAigCACEAIAUgAikCCDcDqAMgBSACKQIANwOgAyAAIAVBoANqIAQQGUHIAGxqKAIoIQEgBSACKQIINwOYAyAFIAIpAgA3A5ADIAAgBUGQA2ogARAZQcgAbGogBDYCMAwBCyACKAIAIAUgAikCCDcDqAYgBSACKQIANwOgBiAFQaAGaiADEBlByABsaigCKCEGIAIoAgAhByAFIAIpAgg3A5gGIAUgAikCADcDkAYCQCAHIAVBkAZqIAYQGUHIAGxqKAIwIgdBAWtBfUsNACACKAIAIAUgAikCCDcDiAYgBSACKQIANwOABiAFQYAGaiAGEBlByABsaigCNEEBa0F9Sw0AIAIoAgAhBiAFIAIpAgg3A7gFIAUgAikCADcDsAUCQCAGIAVBsAVqIAcQGUHIAGxqKAIEQQBMDQAgAigCACAF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AEIANwMIAkACQAJAAkAgAkEBaw4DAgEDAAsgACABKQMANwMAIAAgASkDCDcDCA8LIAAgASsDADkDACAAIAErAwiaOQMIDwsgACABKwMAOQMIIAAgASsDCJo5AwAPCyAAIAErAwA5AwggACABKwMIOQMACzcBA38DQCABQQNHBEAgACABQQJ0aiICKAIAIgMEQCADEJkBGiACQQA2AgALIAFBAWohAQwBCwsLsQICCX8CfCMAQRBrIgUkACAAIAI6AEEgASsDCCEMIAAgASsDACINOQMQIAAgDDkDKCAAIAwgACsDCKE5AxggACANIAArAwCgOQMgIAAoAjAiBEEAIARBAEobIQdBDkEPIARBAWsiBhshCEENQQ8gBhshCQNAIAMgB0ZFBEACf0EAIAJFDQAaIAAtAEAEQCAJIANFDQEaQQdBBSADIAZGGwwBCyAIIANFDQAaQQtBCiADIAZGGwshBCADQQJ0IgogACgCOGooAgAgBSABKQMINwMIIAUgASkDADcDACAFIAIgBHEQ4AkgACgCOCAKaigCACEEAkAgAC0AQARAIAEgASsDACAEKwMAoDkDAAwBCyABIAErAwggBCsDCKE5AwgLIANBAWohAwwBCwsgBUEQaiQAC/MCAgV8A38jAEEgayIIJAAgAUEIaisDACEFIAArAwAhBCABKwMAIQYgACABKQMANwMAIAArAwghAyAAIAEpAwg3AwggBSADoSEDIAYgBKEhBAJAIAINACAAKAI0IgFFDQAgASAEIAErAyigOQMoIAEgAyABKwMwoDkDMAsCQCAAKAIwIglFDQAgBCADIAAtAEAbIAm3oyEHQQAhAQNAIAEgCU4NAQJ/IAcgAbiiIgOZRAAAAAAAAOBBYwRAIAOqDAELQYCAgIB4CyEJAn8gByABQQFqIgq4oiIDmUQAAAAAAADgQWMEQCADqgwBC0GAgICAeAsgCWshCSAAKAI4IAFBAnRqKAIAIQECfCAALQBABEAgBSEEIAErAwAgCbegDAELIAErAwggCbegIQQgBgshAyAIIAQ5AxggCCAIKQMYNwMIIAggAzkDECAIIAgpAxA3AwAgASAIIAIQ4QkgACgCMCEJIAohAQwACwALIAhBIGokAAuMAwIEfAJ/IwBBIGsiByQAAkAgAigCNCIIBEAgCCsDGCIERAAAAAAAAAAAZCAIKwMg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IANBtewDIAEoAiwQYyIDRyADQQBOcQ0CIANBAEwNACAAECgEQCADQYACTw0EIAQEQCAAEHkgAUEQaiADECAaCyAAIAAtAA8gA2o6AA8gABAlQRBJDQFBibQDQZ38AEHqAUGmHxAAAAsgBA0EIAAgACgCBCADajYCBAsgAUEwaiQADAQLQbykA0Gd/ABB3QFBph8QAAALQcucA0Gd/ABB4gFBph8QAAALQfDMAUGd/ABB5QFBph8QAAALQdadAUGd/ABB7AFBph8QAAALAkAgABAoBEAgABAlQQ9GDQELIAJBIGoiABAlIAAQTk8EQCAAQQEQvQELIAJBIGoiABAlIQEgABAoBEAgACABakEAOgAAIAIgAi0AL0EBajoALyAAECVBEEkNAUGJtANBnfwAQa8CQfexARAAAAsgAigCICABakEAOgAAIAIgAigCJEEBajYCJAsCQCACQSBqECgEQCACQQA6AC8MAQsgAkEANgIkCyACQSBqIgAQKCEBIAAgAigCICABGyIAEKEGBEAgAiAANgIAQcg0IAIQKgsgAi0AL0H/AUYEQCACKAIgEBgLQYUvEIsKIQULIAJBMGokACAFDwtBgaQDQZi3AUHwBUHSiQEQAAALQcrVAUGYtwFB8QVB0okBEAAAC78CAQZ/IAAoAgghBSAAKAIMIQYDQCAAKAIAIARLBEAgBSAAKAIEIARsaiEBIAYEQCABIAYRAQALAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEECaw4NAAABAQIDBAQGBwgFBQkLIAEoAgwQGAwICyABKAIMEBgMBwsgASgCDBAYDAYLIAEoAigQGAwFCyABKAIIEBgMBAtBACECAkACQAJAAkAgASgCCEEBaw4CAAEDCwNAIAEoAjQhAyACIAEoAjBODQIgAyACQQR0aigCCBAYIAJBAWohAgwACwALA0AgASgCRCEDIAIgASgCQE4NASADIAJBBHRqKAIIEBggAkEBaiECDAALAAsgAxAYCwwDCyABKAIQEBgMAgsgASgCCBAYDAELIAEoAigQGAsgBEEBaiEEDAELCyAFEBggABAYC98BAQN/IAAQJSAAEE5PBEAgABBOIgJBAWoiAyACQQF0QYAIIAIbIgQgAyAESxshAyAAECUhBAJAIAAtAA9B/wFGBEAgACgCACACIANBARCGBSECDAELIANB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KAIIGiAEBEAgAiAJIAQQqwILIAYEQCACIARqIAcgBhCrAgsgAyAEIAVqIgprIQcgAyAKRwRAIAIgBGogBmogBCAJaiAFaiAHEKsCCyABQQpHBEAgCRChBQsgACACEPsBIAAgCCgCCBD6ASAAIAQgBmogB2oiABC+ASAIQQA6AAwgACACaiAIQQxqENIBIAhBEGokAA8LEMoBAAsWACAAIAEgAkKAgICAgICAgIB/ELAFCwkAIAAQZzYCAAsjAQJ/IAAhAQNAIAEiAkEEaiEBIAIoAgANAAsgAiAAa0ECdQsPACAAIAAoAgBBBGs2AgALCgAgACgCAEEEawsHACAAKAIECy0BAX8jAEEQayICJAACQCAAIAFGBEAgAEEAOgB4DAELIAEQngQLIAJBEGokAAsTACAAEIwFKAIAIAAoAgBrQQJ1CywBAX8gACgCBCECA0AgASACRwRAIAAQnQMaIAJBBGshAgwBCwsgACABNgIECwkAIABBADYCAAtJAQF/IwBBEGsiAyQAAkACQCACQR5LDQAgAS0AeEEBcQ0AIAFBAToAeAwBCyACEMcKIQELIANBEGokACAAIAI2AgQgACABNgIAC0ABAX8jAEEQayIBJAAgABCdAxogAUH/////AzYCDCABQf////8HNgIIIAFBDGogAUEIahCtCygCACABQRBqJAALCwAgAEEANgIAIAALNwEBfyMAQRBrIgMkACADIAEQ7QI2AgwgAyACEO0CNgIIIAAgA0EMaiADQQhqEKIFIANBEGokAAtOAQF/IwBBEGsiAyQAIAMgATYCCCADIAA2AgwgAyACNgIEQQAhASADQQRqIgAgA0EMahCfBUUEQCAAIANBCGoQnwUhAQsgA0EQaiQAIAELNAEBfyMAQRBrIgMkACAAECQaIAAgAhCfAyADQQA6AA8gASACaiADQQ9qENIBIANBEGokAAtnAQJ/IwBBEGsiAyQAA0ACQCABLQAAIgJB3ABHBEAgAgRAIALAIgJBAE4EQCAAIAIQZQwDCyADIAI2AgAgAEHO3wAgAxAeDAILIANBEGokAA8LIABB98cBEBsaCyABQQFqIQEMAAsACxwAIABB/////wNLBEAQkAEACyAAQQJ0QQQQogsLCQAgABD1BhAYCxUAIABBgLoJNgIAIABBEGoQNBogAAsVACAAQdi5CTYCACAAQQxq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ACABKAIEIgIgACACSSIDGxDpASIBDQBBASEBIAAgAksNAEF/QQAgAxshAQsgAQsMACAAQQFBLRCACxoLDAAgAEEBQS0QhAsaCwoAIAEgAGtBAnULHAEBfyAALQAAIQIgACABLQAAOgAAIAEgAjoAAAtlAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPcKCyACIAEgASACKAIAEKMLIAZBDGogAyAAKAIAEJsLIAFqNgIAIAZBEGokAAtCACABIAIgAyAEQQQQpAIhASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASRsgAUHFAEgbQewOazYCAAsLQAAgAiADIABBCGogACgCCCgCBBECACIAIABBoAJqIAUgBEEAEJwFIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtAACACIAMgAEEIaiAAKAIIKAIAEQIAIgAgAEGoAWogBSAEQQAQnAUgAGsiAEGnAUwEQCABIABBDG1BB282AgALC0IAIAEgAiADIARBBBClAiEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABJGyABQcUASBtB7A5rNgIACwtAACACIAMgAEEIaiAAKAIIKAIEEQIAIgAgAEGgAmogBSAEQQAQngUgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0AAIAIgAyAAQQhqIAAoAggoAgARAgAiACAAQagBaiAFIARBABCeBSAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLBABBAgveAQEFfyMAQRBrIgckACMAQRBrIgMkACAAIQQCQCABQff///8DTQRAAkAgARCNBQRAIAQgARDTAQwBCyADQQhqIAEQ0ANBAWoQzwMgAygCDBogBCADKAIIIgAQ+wEgBCADKAIMEPoBIAQgARC+AQsjAEEQayIFJAAgBSACNgIMIAAhAiABIQYDQCAGBEAgAiAFKAIMNgIAIAZBAWshBiACQQRqIQIMAQsLIAVBEGokACADQQA2AgQgACABQQJ0aiADQQRqENsBIANBEGokAAwBCxDKAQALIAdBEGokACAEC8AFAQ5/IwBBEGsiCyQAIAYQywEhCiALQQRqIAYQ2QMiDhDIASAFIAM2AgACQAJAIAAiBy0AACIGQStrDgMA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aygCAGooAhg2AgAgAAsLACAAQYCgCxCpAgsJACAAEJEHEBgLPQEBfyAAKAIYIgIgACgCHEYEQCAAIAEQpgMgACgCACgCNBEAAA8LIAAgAkEBajYCGCACIAE6AAAgARCmAws0AQF/IAAoAgwiASAAKAIQRgRAIAAgACgCACgCKBECAA8LIAAgAUEBajYCDCABLAAAEKYDCyoBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIkEQIADwsgASwAABCmAwsPACAAIAAoAgAoAhgRAgALLAAgACABEK0HIgFFBEAPCwJAIAMEQCAAIAEgAhCqBAwBCyAAIAEgAhC2CwsLCAAgACgCEEULBABBfwsIACAAEIoHGgu+DwIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyELIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg1CgICAgICAwP//AFQgDUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyANQv///////z9YBEAgBUHAAmogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rELMBQRAgBmshBiAFKQPIAiELIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAKIApQIgcbeSAHQQZ0rXynIgdBD2sQswEgBiAHakEQayEGIAUpA7gCIQogBSkDsAIhAwsgBUGgAmogCkKAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQnAEgBUGQAmpCACAFKQOoAn1CACAEQgAQnAEgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQnAEgBUHwAWogBEIAQgAgBSkDiAJ9QgAQnAEgBUHgAWogBSkD+AFCAYYgBSkD8AFCP4iEIgRCACACQgAQnAEgBUHQAWogBEIAQgAgBSkD6AF9QgAQnAEgBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQnAEgBUGwAWogBEIAQgAgBSkDyAF9QgAQnAEgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQnAEgBUGQAWogA0IPhkIAIAJCABCcASAFQfAAaiACQgBCACAFKQOoASAFKQOgASINIAUpA5gBfCIEIA1UrXwgBEIBVq18fUIAEJwBIAVBgAFqQgEgBH1CACACQgAQnAEgBiAJIAhraiEGAn8gBSkDcCITQgGGIg4gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgC0KAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiINQiCIIgogECAUVq0gDiAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig4gEVStIA4gDiATQv////8PgyITIAFCP4giFyALQgGGhEL/////D4MiC358Ig5WrXwgBCAQfnwgBCATfiIRIAsgEH58Ig8gEVStQiCGIA9CIIiEfCAOIA4gD0IghnwiDlatfCAOIA4gFEL/////D4MiFCALfiIRIAIgCn58Ig8gEVStIA8gDyATIA1C/v///w+DIhF+fCIPVq18fCIOVq18IA4gBCAUfiIYIBAgEX58IgQgAiALfnwiCyAKIBN+fCIQQiCIIAsgEFatIAQgGFStIAQgC1atfHxCIIaEfCIEIA5UrXwgBCAPIAIgEX4iAiAKIBR+fCIKQiCIIAIgClatQiCGhHwiAiAPVK0gAiAQQiCGfCACVK18fCICIARUrXwiBEL/////////AFgEQCAWIBeEIRUgBUHQAGogAiAEIAMgEhCcASABQjGGIAUpA1h9IAUpA1AiAUIAUq19IQpCACABfSELIAZB/v8AagwBCyAFQeAAaiAEQj+GIAJCAYiEIgIgBEIBiCIEIAMgEhCcASABQjCGIAUpA2h9IAUpA2AiDUIAUq19IQpCACANfSELIAEhDSAGQf//AGoLIgZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgCkIBhiALQj+IhCEBIARC////////P4MgBq1CMIaEIQogC0IBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAIgBEEBIAZrEKcDIAVBMGogDSAVIAZB8ABqELMBIAVBIGogAyASIAUpA0AiAiAFKQNIIgoQnAEgBSkDOCAFKQMoQgGGIAUpAyAiAUI/iIR9IAUpAzAiBCABQgGGIg1UrX0hASAEIA19CyEEIAVBEGogAyASQgNCABCcASAFIAMgEkIFQgAQnAEgCiACIAIgAyAEIAJCAYMiBHwiA1QgASADIARUrXwiASASViABIBJRG618IgJWrXwiBCACIAIgBEKAgICAgIDA//8AVCADIAUpAxBWIAEgBSkDGCIEViABIARRG3GtfCICVq18IgQgAiAEQoCAgICAgMD//wBUIAMgBSkDAFYgASAFKQMIIgNWIAEgA1Ebca18IgEgAlStfCAMhCEMCyAAIAE3AwAgACAMNwMIIAVB0AJqJAALwAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBScQ0AIAAgBCAFhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwseAQF/IAAQ7QEiAQRAIAAgARDHCyAAQbWWBRDhAQsLnwMBBX9BECECAkBBECAAIABBEE0bIgMgA0EBa3FFBEAgAyEADAELA0AgAiIAQQF0IQIgACADSQ0ACwtBQCAAayABTQRAQZCGC0EwNgIAQQAPC0EQIAFBC2pBeHEgAUELSRsiAyAAakEMahBNIgJFBEBBAA8LIAJBCGshAQJAIABBAWsgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAAgAmpBAWtBACAAa3FBCGsiAiAAQQAgAiABa0EPTRtqIgAgAWsiAmshBCAGQQNxRQRAIAEo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IAMgCRCoAwRAIAEhBAwCCyAFQfAAaiABIAJCAEIAEGogBSkDeCECIAUpA3AhBAwBCyAEQjCIp0H//wFxIQcgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQaiAFKQNoIgpCMIinQfgAayEGIAUpA2ALIQQgB0UEQCAFQdAAaiADIAlCAEKAgICAgIDAu8AAEGogBSkDWCIJQjCIp0H4AGshByAFKQNQIQMLIAlC////////P4NCgICAgICAwACEIQsgCkL///////8/g0KAgICAgIDAAIQhCiAGIAdKBEADQAJ+IAogC30gAyAEVq19IglCAFkEQCAJIAQgA30iBIRQBEAgBUEgaiABIAJCAEIAEGogBSkDKCECIAUpAyAhBAwFCyAJQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiALfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQaiAFKQM4IQIgBSkDMCEEDAELIAlC////////P1gEQANAIARCP4ggBkEBayEGIARCAYYhBCAJQgGGhCIJQoCAgICAgMAAVA0ACwsgCEGAgAJxIQcgBkEATARAIAVBQGsgBCAJQv///////z+DIAZB+ABqIAdyrUIwhoRCAEKAgICAgIDAwz8QaiAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQaiAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABBqQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORBqIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORBqQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhBqIAAg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A0AgBQRAIAAgBSAHEKMHIAYgBRAwIQUMAQUgBiACEB0hAgwCCwALAAsACyAIQa0CNgIEIAhBurkBNgIAQajzCCgCAEHmvAQgCBAfGhA8AAsgBiAGQR4gB0EBEMgDGgsgASAHRXJFBEAgACAHIAMgBBChBwsgACAAIAcQ3gwMAQsgACABIAIQ7gshBwsgCEEwaiQAIAcPC0HA1QFB0fsAQQxB/jsQAAALTQEDf0EBIQEDQCAAKAIQIgMoArgBIQIgAygCtAEgAUgEQCACEBgFIAIgAUECdGooAgAiAigCECgCDBC8ASACEPALIAFBAWohAQwBCwsL5gMCBn8GfCMAQeAAayIDJAAgACgCECICKwMYIQkgAisDECEKQYzYCi0AAEECTwRAIAEQsQIgAyAAECE2AlBBqPMIKAIAQaHzAyADQdAAahAfGgsCQCABRQRAQajzCCgCACEGDAELQajzCCgCACEGIAAQHCECIANBQGshBQNAIAJFDQECQCACKAIQIgQoAoABIABHDQAgBCAKIAQrAxCgOQMQIAQgCSAEKwMYoDkDGEGM2AotAABBAkkNACABELECIAIQISEEIAIoAhAiBysDECEIIAUgBysDGDkDACADIAg5AzggAyAENgIwIAZBg6kEIANBMGoQMgsgACACEB0hAgwACwALIAFBAWohB0EBIQQDQCAAKAIQIgIoArQBIAROBEAgAigCuAEgBEECdGooAgAhBSABBEAgCSAFKAIQIgIrAyigIQggCiACKwMgoCELIAkgAisDGKAhDCAKIAIrAxCgIQ1BjNgKLQAAQQJPBEAgARCxAiAFECEhAiADIAg5AyAgAyALOQMYIAMgDDkDECADIA05AwggAyACNgIAIAZB8agEIAMQMiAFKAIQIQILIAIgCDkDKCACIAs5AyAgAiAMOQMYIAIgDTkDEAsgBSAHEPELIARBAWohBAwBCwsgA0HgAGokAAv0GQMNfwt8AX4jAEGwBGsiAiQAIAAoAkghBkGM2AotAABBAk8EQCABELECIAIgABAhNgKwA0Go8wgoAgBB/u0DIAJBsANqEB8aCyABQQFqIQdBASEEA0AgACgCECIFKAK0ASAESARAAkACQCAAEDogA2siCSAAKAIQIgQoArQBaiINDQAgBCgCDA0AIARCADcDECAEQoCAgICAgICZwAA3AyggBEKA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oSIQOQMgIARCADcDGEEAIQRBjNgKLQAAQQFLBEAgARCxAiAAECEhACACIA85A7ACIAIgEDkDqAIgAkIANwOgAiACQgA3A5gCIAIgADYCkAIgB0HxqAQgAkGQAmoQMgsDQCACKALgAyAETQRAIAJB2ANqIgBBIBAzIAAQOEEAIQQDQCACKALIAyAETQRAIAJBwANqIgBBBBAzIAAQOCAGEBgMCgUgAiACKQPIAzcDiAIgAiACKQPAAzcDgAIgAkGAAmogBBAZIQACQAJAAkAgAigC0AMiAQ4CAgABCyACKALAAyAAQQJ0aigCABAYDAELIAIoAsADIABBAnRqKAIAIAERAQALIARBAWohBAwBCwALAAUgAiACKQPgAzcD+AEgAiACKQPYAzcD8AEgAkHwAWogBBAZIQACQAJAAkAgAigC6AMiAQ4CAgABC0G+gARBwgBBASAHEDsaEDwACyACIAIoAtgDIABBBXRqIgApAwg3A9gBIAIgACkDEDcD4AEgAiAAKQMYNwPoASACIAApAwA3A9ABIAJB0AFqIAERAQALIARBAWohBAwBCwALAAUgACgCECgCtAEhAyACIAIpA8gDNwPIASACIAIpA8ADNwPAASACKALAAyACQcABaiAEEBlBAnRqKAIAIQUCQCADIARLBEAgBSgCECIDIAMrAyggD6EiEjkDKCADIAMrAyAgEKEiFjkDICADIAMrAxggD6EiFDkDGCADIAMrAxAgEKEiFTkDEEGM2AotAABBAkkNASABELECIAUQISEDIAIgEjkDkAEgAiAWOQOIASACIBQ5A4ABIAIgFTkDeCACIAM2AnAgB0HxqAQgAkHwAGoQMgwBCyAFRQ0AIAUoAhAiAyADKwAYIA+hOQMYIAMgAysAECAQoTkDEEGM2AotAABBAkkNACABELECIAUQISEDIAUoAhAiBSsDECESIAIgBSsDGDkDsAEgAiASOQOoASACIAM2AqABIAdBg6kEIAJBoAFqEDILIARBAWohBAwBCwALAAUgBiAEQQR0aiIDKwMIIRQgAysDACEVIAIgAikD4AM3A2ggAiACKQPYAzcDYCACKALYAyACQeAAaiAEEBlBBXRqIgMrAxghDyADKwMQIRMgAysDCCEXIAMrAwAhGCAAKAIQKAK0ASEFIAIgAikDyAM3A1ggAiACKQPAAzcDUCACKALA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ACsDECEFIAArA2AhBCAAKwNYIQYgACsDGCEHIAIgACsDUDkDGCACIAc5AxAgAiAGIASgOQMgIAIgBTkDCCACIAM2AgBBqPMIKAIAQb2oBCACEDILIAJB8ABqJAALswYCCn8FfCMAQdABayIBJAACQCAAKAJAIgRFDQAgBEEEENYEIQUgAEEwaiIHIQMDQCACIARGBEAgBSAEQQRB8AMQqAFBACECIARBCBDWBCEDA0AgAiAERgRAAn8gACsDCCIMIAArAwBhBEAgASAAKQMoNwOIASABIAApAyA3A4ABIAEgACkDGDcDeCABIAApAxA3A3AgBCADIAFB8ABqEPsLDAELIAArAyAhCyAAKwMoIQ0gASAAKwMQOQOwASABIAArAxg5A7gBIAEgCyANIAugIA0gC6EiCyALoiAMRAAAAAAAABBAoqCfoUQAAAAAAADgP6IiC6E5A8ABIAEgDSALoTkDyAEgASABKQO4ATcDmAEgASABKQPAATcDoAEgASABKQPIATcDqAEgASABKQOwATcDkAEgBCADIAFBkAFqEPsLCyEIQajzCCgCACEJQYzYCi0AAARAIAArAxAhCyAAKwMYIQ0gACsDICEMIAEgACsDKDkDaCABIAw5A2AgASANOQNYIAEgCzkDUCAJQeCoBCABQdAAahAyCyABQUBrIQpBACECA0AgAiAERgRAIAUQGCADEBggCBAYQQAhAgNAIAIgBEYNByAHKAIAIgAoAjxFBEAgABD5CwsgAkEBaiECIABBNGohBwwACwALIAUgAkECdGooAgAiBiAIIAJBBXRqIgApAwA3AxAgBiAAKQMYNwMoIAYgACkDEDcDICAGIAApAwg3AxhBjNgKLQAABEAgAyACQQN0aisDACEPIAArAwAhCyAAKwMIIQ0gACsDECEMIAEgACsDGCIOOQNIIAogDDkDACABIA05AzggASALOQMwIAEgDCAOojkDKCABIA0gDkQAAAAAAADgP6IiDqA5AyAgASALIAxEAAAAAAAA4D+iIgygOQMYIAEgDSAOoTkDECABIAsgDKE5AwggASAPOQMAIAlBivEEIAEQMgsgAkEBaiECDAALAAUgAyACQQN0aiAFIAJBAnRqKAIAKwMAOQMAIAJBAWohAgwBCwALAAUgBSACQQJ0aiADKAIAIgM2AgAgAkEBaiECIANBNGohAwwB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QTAgBygCECgCfCgCAEEBRiIIG0EAIAcoAgBBA3FBAkEDIAgbRxtqKAIoIggoAhAoAoABKAIMRQRAIAVFBEAgACACEIMMIQULIAUgCBCwBwsgBiAHRw0ACyAFRQ0BAkAgASgCECgCgAEoAgwNACAFKAIIEDpBAkgNACAFIAEQsAcLAkAgA0UNACABKAIQKAKAASgCDCAFRw0AIAIgBRCGDAwCCyACIAUQhwwMAQsgByABKAIQKAKAASIIKAIIRg0AIAggCCgCGCIHIAUgBSAHShs2AhgLIAAgBiABEHIhBgwBBQJAIANFDQAgASgCECgCgAEoAgwNACAAIAIQgwwiACABELAHIAIgABCGDAsLCwshAQF/IAEgACAAKAIAIgIbIAIgASACGzYCBCAAIAE2AgALLwEBfyABQQA2AgQCQCAAKAIEIgIEQCACIAE2AgQMAQsgACABNgIACyAAIAE2AgQLRQECfyMAQRBrIgEkAEEBQdAAEEciAkUEQCABQdAANgIAQajzCCgCAEGD5wMgARAfGhAsAAsgAiAANgIIIAFBEGokACACCwkAIABCADcCAAsrAQF/IAAQHCECA0ACQCACRQ0AIAIgARBEEGkNACAAIAIQHSECDAELCyACC94BAgN/AnwgASgCECgCgAEiAigCIAR8IAIrAzAgAisDKEQAAAAAAADgv6KgBUQAAAAAAAAAAAshBSAAIAEQbiECA0AgAgRAIAEgAkEwQQAgAigCAEEDcSIDQQNHG2ooAigiBEYEQCACQVBBACADQQJHG2ooAighBAsCQCAEKAIQKAKAASIDKAIgIAFHDQAgAykDMEKAgICAgICAksAAUg0AIAMgBSADKwMoIgZEAAAAAAAA4D+ioDkDMCAFIAagIQUgAykDEFANACAAIAQQiwwLIAAgAiABEHIhAgwBCwsLrwECA38BfCABKAIQKAKAASICKwMoIAIpAwi6oyEFIAAgARBuIQIDQCACBEAgASACQTBBACACKAIAQQNxIgNBA0cbaigCKCIERgRAIAJBUEEAIANBAkcbaigCKCEECwJAIAQoAhAoAoABIgMoAiAgAUcNACADKwMoRAAAAAAAAAAAYg0AIAMgBSADKQMIuqI5AyggAykDEFANACAAIAQQjAwLIAAgAiABEHIhAgwBCwsLkgECA38BfiABKAIQKAKAASkDAEIB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AFJAojkDEEEBIQEDQCABIAIoArQBSkUEQCACKAK4ASABQQJ0aigCABCjDCABQQFqIQEgACgCECECDAELCwvvAQIDfwJ8IAAoAhAoAowBIgIrAxAhBSACKwMIIQYCQCAAIAFGDQAgABAcIQIDQCACRQ0BIAAgAigCECIDKALoAUYEQCADKAKUASIDIAYgAysDAKA5AwAgAyAFIAMrAwigOQMICyAAIAIQHSECDAALAAtBASEDA0AgACgCECICKAK0ASADTgRAIAIoArgBIANBAnRqKAIAIQQgACABRwRAIAQoAhAoAowBIgIgBSACKwMgoDkDICACIAYgAisDGKA5AxggAiAFIAIrAxCgOQMQIAIgBiACKwMIoDkDCAsgBCABEKQMIANBAWohAwwBCwsLoUsDGH8QfAF+IwBBsAFrIggkAEGM2AotAAAEQCAIIAAQITYCcEGo8wgoAgBB/u0DIAhB8ABqEB8aCyAAEBwhAgNAIAIEQCACKAIQQQA2ArgBIAAgAhAdIQIMAQsLQYzYCi0AAEECTwRAIAEoAhAhAiAIIAAQITYCZCAIIAI2AmBBqPMIKAIAQZv2AyAIQeAAahAfGgsgASABKAIQQQFqNgIQIAhB3O0JKAIANgJcQYWnASAIQdwAakEAEOIBIgpBkCZBmAJBARA1GkE4EFIhAiAKKAIQIAI2AowBIAAQOSECIAooAhAgAigCEC8BsAE7AbABIAAgCkHz3AAQuAcgACAKQbHbABC4ByAAIApBnNcBELgHIAhBmAFqIQcgCEGQAWohBiAIQYgBaiEJQQEhDANAIAAoAhAiAigCtAEgDE4EQCACKAK4ASAMQQJ0aigCACIDEJUEIAogAxAhELcHIgQoAhAiAiALNgKIASACIAM2AugBAkACQCABKAIEIgVFBEBE////////738hG0T////////v/yEaDAELRP///////+9/IRtE////////7/8hGiADIAUQRCICLQAARQ0AIAEoAgAgA0cEQCACIAMoAkQgBRBEEExFDQELIAhBADoArAEgCCAJNgJEIAggBjYCSCAIIAc2AkwgCCAIQawBajYCUCAIIAhBgAFqNgJAIAJBl74BIAhBQGsQUUEETgRAIAgrA5gBIRogCCsDkAEhHiAIKwOIASEbIAgrA4ABIRxBoNgKKwMAIh1EAAAAAAAAAABkBEAg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IAM2AggLIAMgAS0ADDoADCADIAAgACABRhshAAsgAEUgB0EBcUVyRQRAIAYEQANAIAItAAwhAwJAIAIoAggiASgCACACRwRAIANBAXFFBEAgAkEBOgAMIAFBADoADCABEMEEIAIgACAAIAIoAgAiAUYbIQAgASgCBCECCwJAAkACQAJAIAIoAgAiAQRAIAEtAAxBAUcNAQsgAigCBCIDBEAgAy0ADEEBRw0CCyACQQA6AAwgACACKAIIIgJHBEAgAi0ADA0GCyACQQE6AAwPCyACKAIEIgNFDQELIAMtAAxBAUcNAQsgAUEBOgAMIAJBADoADCACEMAEIAIoAggiAigCBCEDCyACIAIoAggiAC0ADDoADCAAQQE6AAwgA0EBOgAMIAAQwQQPCyADQQFxRQRAIAJBAToADCABQQA6AAwgARDABCACIAAgACACKAIEIgFGGyEAIAEoAgAhAgsCQAJAAkACQCACKAIAIgMEQCADLQAMIgFBAUcNAQsCQCACKAIEIgEEQCABLQAMQQFHDQELIAJBADoADCACKAIIIgItAAxBAUYgACACR3ENBSACQQE6AAwPCyADRQ0CIAMtAAxBAXENAQwDCyABRQ0CCyACKAIEIQELIAFBAToADCACQQA6AAwgAhDBBCACKAIIIgIoAgAhAwsgAiACKAIIIgAtAAw6AAwgAEEBOgAMIANBAToADCAAEMAEDwsgAigCCCIBIAIgASgCAEZBAnRqKAIAIQIMAAsACyAFQQE6AAwLCy0BAX8gACgCACIBBEAgACABNgIEIAAoAggaIAEQGCAAQQA2AgggAEIANwIACwsZACAAQYjPCjYCACAAQSRqEIICGiAAEOsHCw0AIAAtABhBf3NBAXELgQMCCn8BfCMAQSBrIgIkACAAQQhqIQQgACgCBCEBA0AgASAERwRAIAEoAhAiAyADEK8NIgs5AyAgAyALIAMrAxijOQMQIAEQrQEhAQwBCwsgAEEANgIgIABBJGohByAAQQhqIQggAEEEaiEEIAAoAgQhAwJAA0AgAyAIRwRAIAIgAygCEBCrDSIBNgIcAkAgAUUNACABKwMQREivvJry13q+Y0UNACAAIAAoAiBBAWo2AiAgASgCACgCICEFIAJBADYCGCACQQA2AhQgASgCACgCICABKAIEKAIgRw0DIAUrAxAhCyAFIAJBGGoi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AyAAKAIQIQEoAhAtAHRBAXENACAHIAErA1igIQcgCCABKwM4oCEICyABIAc5A4ABIAEgCDkDeCAAEGAgAEcEQCAFIAAoAhAiACgC6AFByABsaiIBIAErAxgiCSAHIAcgCWMbOQMYIAUgACgC7AFByABsaiIAIAArAxAiByAIIAcgCGQbOQMQCyADC3ABAn9BASEEA0AgBCAAKAIQIgMoArQBSkUEQCADKAK4ASAEQQJ0aigCACABIAIQ7A0gBEEBaiEEDAELCyADIAEgAysDEKI5AxAgAyACIAMrAxiiOQMYIAMgASADKwMgojkDICADIAIgAysDKKI5AygL5QQCCH8EfEEBIQIDQCACIAAoAhAiAygCtAFKRQRAIAMoArgBIAJBAnRqKAIAIAEQ7Q0gAkEBaiECDAELCyAAEGAhAiAAKAIQIQMCQCAAIAJGBEAgAygC7AEhBUQAAMD////fwSEKRAAAwP///99BIQsgAygC6AEiCCEEA0AgBCAFSgRAIAMoArQBIgBBACAAQQBKG0EBaiEAQQEhAgNAIAAgAkYNBCAKIAMoArgBIAJBAnRqKAIAKAIQIgQrAyBEAAAAAAAAIECgIgwgCiAMZBshCiALIAQrAxBEAAAAAAAAIMCgIgwgCyAMYxshCyACQQFqIQIMAAsABQJAIAMoAsQBIARByABsaiIAKAIAIgZFDQBBASECIAAoAgQiBygCACIARQ0AA0AgACgCECIALQCsASIJRSACIAZOckUEQCAHIAJBAnRqKAIAIQAgAkEBaiECDAELCyAJDQAgBkECayECIAArAxAgACsDWKEhDCAHIAZBAnRqQQRrIQADQCAAKAIAKAIQIgAtAKwBBEAgByACQQJ0aiEAIAJBAWshAgwBCwsgCiAAKwMQIAArA2CgIg0gCiANZBshCiALIAwgCyAMYxshCwsgBEEBaiEEDAELAAsACyADKALoASEIIAMoAuwBIQUgAygChAIoAhAoAvQBtyEKIAMoAoACKAIQKAL0AbchCwsgASgCECgCxAEiACAFQcgAbGooAgQoAgAoAhArAxghDCAAIAhByABsaigCBCgCACgCECsDGCENIAMgCjkDICADIAs5AxAgAyANIAMrA4ABoDkDKCADIAwgAysDeKE5AxgLogECAnwBfwJAAn9B/////wcgAEGCIRAmIgNFDQAaIAAQ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KGQEQCAFIAs5AyggBSALOQMYCyALIAUrAyBkBEAgBSALOQMgIAUgCzkDEAsCQCAGKALoASIBRQ0AAkAgACABRgRARAAAAAAAAAAAIQwMAQsgAUHs2AooAgBBCEEAEGG3IQwgCigCECEGCyAGKAL0ASIDIAEoAhAiASgC6AFGBEAgASABKwOAASALIAygECM5A4ABCyADIAEoAuwBRw0AIAEgASsDeCALIAygECM5A3gLIAJBAWohAgwACwALCyAAEOsNIQcgBCAAKAIQIgIoAuwBIgFByABsaiIDKAIEKAIAKAIQIAMrAxA5AxggAigC6AEhCkQAAAAAAAAAACELA0AgASAKSgRAIAQgAUEBayIDQcgAbGoiBigCACAEIAFByABsaiIBKwMoIAYrAyCgIAIoAvwBt6AgASsDGCAGKwMQoEQAAAAAAAAgQKAQIyENQQBKBEAgBigCBCgCACgCECANIAEoAgQoAgAoAhArAxigOQMYCyALIA0QIyELIAMhAQwBCwsCQCAHRQ0AIAItAHRBAXFFDQAgAEEAEOoNIAAoAhAiAi0AlAJBAUcNACAEIAIoAuwBIgFByABsaigCBCgCACgCECsDGCEMIAIoAugBIQBEAAAAAAAAAAAhCwNAIAAgAU4NASALIAFByABsIARqQcQAaygCACgCACgCECsDGCINIAyhECMhCyABQQFrIQEgDSEMDAALAAsCQCACLQCUAkEBRw0AIAIoAugBIQggAigC7AEhAwNAIAMiACAITA0BIAQgAEEBayIDQcgAbGoiASgCAEEATA0AIAEoAgQoAgAoAhAgCyAEIABByABsaigCBCgCACgCECsDGKA5AxgMAAsACyACQcABaiEBA0AgASgCACIABEAgACgCECIAIAQgACgC9AFByABsaigCBCgCACgCECsDGDkDGCAAQbgBaiEBDAELCwv4NAMQfwh8AX4jAEEQayIPJAACQCAAKAIQKALAAUUNACAAEIcIIAAQ9Q1BrNgKLQAAQQFGBEAjAEGgAWsiCCQAAkAgACgCECIBKALsASABKALoAWtBAkgNACABKALEASEEQQEhAgNAIAQgAkEBaiIFQcgAbGooAgAEQEEAIQMDQCAEIAJByABsIglqIgYoAgAgA0wEQCAFIQIMAwUCQCAGKAIEIANBAnRqKAIAIgsQgA5FDQAgAyEBA0AC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QcD7Ci0AAEHA+wpBAToAAEEBcQ0EQZnmA0EAECogBRAhIQMgABCBAiEFIAIgCBAhNgLoBCACQbbfAUHUngMgBRs2AuQEIAIgAzYC4ARBl+8DIAJB4ARqEH8MBAsDQCADIAtGBEAgB0EBcQRAIAJB2O0JQeDtCSAAEIECGygCADYCjAVBACEDQeb8ACACQYwFakEAEOIBIgdBkCZBmAJBARA1GiAHQQBBufQAQZWABRAiGkEBQeAAEBohCSAHKAIQIgQgCTYCCCAJIAAoAhAiBigCCCIKKwMAOQMAIAkgCisDGDkDGCAEIAYtAHM6AHMgBCAGKAJ0QX9zQQFxNgJ0IAQgBigC+AE2AvgBIAQgBigC/AE2AvwBQQAhBgNAIAAQOUEBIAYQ5gMiBgRAIAYoAgwQdSAGKAIMIQQgBigCCCEJBH8gB0EBIAkgBBDoAwUgB0EBIAkgBBAiCxoMAQsLA0AgABA5QQIgAxDmAyIDBEAgAygCDBB1IAMoAgwhBCADKAIIIQYEfyAHQQIgBiAEEOgDBSAHQQIgBiAEECILGgwBCwsgB0ECQb0cQQAQIkUEQCAHQQJBvRxBlYAFECIaCyAHQQJBgRxBABAiRQRAIAdBAkGBHEGVgAUQIhoLQdzYCigCACEgQcDYCigCACEhQczZCigCACEiQZjZCigCACEXQbzZCigCACEwQbjZCigCACExQbDZCigCACEyQbTZCigCACEzQajZCigCACE0QaTZCigCACE1QazZCigCACE2QaDZCigCACE3QZTZCigCACE4QZDZCigCACE5QYzZCigCACE6QYjZCigCACE7QYTZCigCACE8QZzZCigCACE9QfjYCigCACE+QfTYCigCACE/QfDYCigCACFAQYTaCigCACFBQbjaCigCACFCQdDaCigCACFDQbzaCigCACFEQcDaCigCACFFQcTaCigCACFGQajaCigCACFHQYDaCigCACFIQbTaCigCACFJQdTaCigCACFKQfTZCigCACFLQfjZCigCACFMQfzZCigCACFNQejZCigCACFOQeTZCigCACFPQbDaCigCACFQQazaCigCACFRQYjaCigCACFSQZzaCigCACFTQZzaCkEANgIAQYjaCiAHQQJBzDdBABAiNgIAQazaCiAHQQJB0rABQQAQIjYCAEGw2gogB0ECQZfvAEEAECI2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AEGQzgBOGyISQQVsQQNqEE0iAEUNASAAIAIgDiACayIEQQFqIgUQICIAIBJBA2pBBG1BAnRqIBQgBUECdCIGECAhFCAKQdAGaiACRwRAIAIQGAsgBSASTg0DIAAgBGohDiAGIBRqQQRrIQcgACECCyANQQZGDQQCfwJAAkACQAJAIA1BsJAFai0AACIJQe4BRg0AAn8gAUF+RgRAAn8jAEEwayIMJAAgAyAKQZwIajYCXCADKAIoRQRAIANBATYCKCADKAIsRQRAIANBATYCLAsgAygCBEUEQCADQazzCCgCADYCBAsgAygCCEUEQCADQbDzCCgCADYCCAsCQCADKAIUIgAEQCAAIAMoAgxBAnRqKAIADQELIAMQvgkgAygCBCADELgJIQAgAygCFCADKAIMQQJ0aiAANgIACyADEO8ECyADQcQAaiEYIANBJGohDwNAIAMoAiQiCCADLQAYOgAAIAMoAhQgAygCDEECdGooAgAoAhwgAygCLGohACAIIQUDQCAFLQAAQaCABWotAAAhASAAQQF0QaCCBWovAQAEQCADIAU2AkQgAyAANgJACwNAIAFB/wFxIQECQANAIAAgAEEBdCIEQYCIBWouAQAgAWpBAXQiBkHggwVqLgEARg0BIARB4IkFai4BACIAQd0ASA0ACyABQcCLBWotAAAhAQwBCwsgBUEBaiEFIAZBgIwFai4BACIAQQF0QYCIBWovAQBB2wFHDQAgACEBA0AgAUEBdEGgggVqLwEAIgBFBEAgAygCRCEFIAMoAkBBAXRBoIIFai8BACEACyADIAg2AlAgAyAFIAhrNgIgIAMgBS0AADoAGCAFQQA6AAAgAyAFNgIkIADBIQACfwNAAkBBACEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAOKQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQnJycnJQsgBSADLQAYOgAAIAMoAkAhASAYDC4LIAMoAiAiAEEASg0kQX8hAQwlCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLIAMoAgAiACAAKAIUQQFqNgIUDC8LIAMoAiAiAEEASgRAIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAsgA0EDNgIsDC4LIAMoAiAiAEEATA0tIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAwtCyADKAIgIgBBAEwNLCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwMLAsgAygCICIAQQBKBEAgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcCyADQQE2AiwMKwsgAygCICIAQQBMDSogAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcDCoLIAMoAlAhACADKAIgIgFBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAAgAWpBAWstAABBCkY2AhwLIABBAWoiAUHhlwFBBBDpASEFIAwgDEEsajYCCCAMIAxBJmo2AgQgDCAMQShqNgIAIAEgAEEFaiAFGyIAQcPrACAMEFEiAUEATA0pIAwoAigiBUEATA0pIAMoAgAgBUEBazYCFCABQQFGDSkgACAMKAIsaiIBIQADQCAALQAAIgVFIAVBIkZyRQRAIABBAWohAAwBCwsgACABRiAFQSJHcg0pIABBADoAACADKAIAIgVBIGoiBCABIAAgAWsQtgkgBSAEEOICNgIcDCkLIAMoAiAiAEEATA0oIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAwoCyADKAIgIgBBAEwNJyADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwMJwsgAygCICIAQQBMDSYgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcDCYLQYMCIQEgAygCICIAQQBMDRogAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcDBoLQYQCIQEgAygCICIAQQBMDRkgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcDBkLIAMoAiAiAEEASgRAIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAsgAygCACIAKAIwBEBBggIhAQwZC0GCAiEBIABBggI2AjAMGAsgAygCICIAQQBKBEAgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcCyADKAIAIgAoAjAEQEGFAiEBDBgLQYUCIQEgAEGFAjYCMAwXC0GHAiEBIAMoAiAiAEEATA0WIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAwWC0GGAiEBIAMoAiAiAEEATA0VIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAwVCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLQYgCQS0gAygCACgCMEGFAkYbIQEMFAsgAygCICIAQQBKBEAgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcC0GIAkEtIAMoAgAoAjBBggJGGyEBDBMLIAMoAlAhACADKAIgIgFBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAAgAWpBAWstAABBCkY2AhwLIAMoAgAoAgggABCuASEAIAMoAlwgADYCAEGLAiEBDBILIAMoAlAhACADKAIgIgFBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAAgAWpBAWstAABBCkY2AhwLAkAgACABakEBayIELQAAIgFBLkcgAcBBMGtBCUtxRQRAIAFBLkcNASAAQS4QzQEiAUUgASAERnINAQsgAygCACIEKAIcIQEgDCAEKAIUNgIUIAwgADYCECAMIAFBgxkgARs2AhhB/eQDIAxBEGoQKiADKAIgIQAgBSADLQAYOgAAIAMgCDYCUCADIABBAWsiADYCICADIAAgCGoiADYCJCADIAAtAAA6ABggAEEAOgAAIAMgADYCJCADKAJQIQALIAMoAgAoAgggABCuASEAIAMoAlwgADYCAEGLAiEBDBELIAMoAiAiAEEASgRAIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAsgA0EFNgIsIAMQtAkMGwsgAygCICIAQQBKBEAgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcCyADQQE2AiwgAygCACIAKAIIIABBNGoQ4gIQrgEhACADKAJcIAA2AgBBjAIhAQwPCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLIANBocQDEOECDBkLIAMoAiAiAEEASgRAIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAsgA0H3xwEQ4QIMGAsgAygCICIAQQBKBEAgAygCFCADKAIMQQJ0aigCACADKAJQIABqQQFrLQAAQQpGNgIcCyADKAIAIgAgACgCFEEBajYCFAwXCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLIANBkoAFEOECIAMoAgAiACAAKAIUQQFqNgIUDBYLIAMoAlAhACADKAIgIgFBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAAgAWpBAWstAABBCkY2AhwLIAMgABDhAgwVCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLIANBBzYCLCADKAIAQQE2AhggAxC0CQwUCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLIAMoAgAiACAAKAIYQQFrIgE2AhggAQRAIAMgAygCUBDhAgwUCyADQQE2AiwgACgCCCAAQTRqEOICENUCIQAgAygCXCAANgIAQYwCIQEMCAsgAygCUCEAIAMoAiAiAUEASgRAIAMoAhQgAygCDEECdGooAgAgACABakEBay0AAEEKRjYCHAsgAygCACIBIAEoAhhBAWo2AhggAyAAEOECDBILIAMoAlAhACADKAIgIgFBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAAgAWpBAWstAABBCkY2AhwLIAMgABDhAiADKAIAIgAgACgCFEEBajYCFAwRCyADKAJQIQAgAygCICIBQQBKBEAgAygCFCADKAIMQQJ0aigCACAAIAFqQQFrLQAAQQpGNgIcCyADIAAQ4QIMEAsgAygCUCEAIAMoAiAiAUEASgRAIAMoAhQgAygCDEECdGooAgAgACABakEBay0AAEEKRjYCHAsgACwAACEBDAQLIAMoAlAhACADKAIgIgFBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAAgAWpBAWstAABBCkY2AhwLIAAgAUEBIAMoAggQOxoMDgsgAygCUCEWIAUgAy0AGDoAAAJAIAMoAhQgAygCDEECdGoiASgCACIAKAIsBEAgAygCHCEEDAELIAMgACgCECIENgIcIAAgAygCBDYCACABKAIAIgBBATYCLAsgDygCACIQIAAoAgQiASAEaiIGTQRAIAMgAygCUCAWQX9zaiAFajYCJCADEL0GIgFBAXRBoIIFai8BAARAIAMgATYCQCADIAMoAiQ2AkQLIAEhAANAIAAgAEEBdCIFQYCIBWouAQBBAWoiBEEBdCIGQeCDBWouAQBHBEAgBUHgiQVqLgEAIQAMAQsLIAMoAlAhCCAERQ0JIAZBgIwFai4BACIAQdwARg0JIA8gDygCAEEBaiIFNgIADA0LIBAgBkEBaksNAyADKAJQIQYCQCAAKAIoRQRAIBAgBmtBAUcNAQwJC0EAIQAgBkF/cyAQaiIRQQAgEUEAShshGSAGIQQDQCAAIBlHBEAgASAELQAAOgAAIABBAWohACABQQFqIQEgBEEBaiEEDAELCwJ/AkAgAygCFCADKAIMQQJ0aigCACIAKAIsQQJGBEAgA0EANgIcIABBADYCEAwBCyAGIBBrIRADQAJAIAAoAgQhBCAAKAIMIgEgEGoiBkEASg0AIAAoAhRFBEAgAEEANgIEDAwLIA8oAgAhBiAAIAFBACABa0EDdmsgAUEBdCABQQBMGyIBNgIMIAAgBCABQQJqEGYiADYCBCAARQ0LIAMgACAGIARrajYCJCADKAIUIAMoAgxBAnRqKAIAIQAMAQsLIAMgAygCACIAKAIEIAQgEWpBgMAAIAYgBkGAwABPGyAAKAIAKAIEKAIAEQMAIgE2AhwgAUEASA0HIAMoAhQgAygCDEECdGooAgAiACABNgIQQQAgAQ0BGgsgEUUEQCADKAIEIQECfwJAIAMoAhQiAARAIAAgAygCDCIGQQJ0aigCAA0BCyADEL4JIAMoAgQgAxC4CSEAIAMoAhQgAygCDCIGQQJ0aiAANgIAIAMoAhQiAA0AQQAMAQsgACAGQQJ0aigCAAsgASADELAJIAMQ7wQgAygCFCADKAIMQQJ0aigCACEAIAMoAhwhAUEBDAELIABBAjYCLEEAIQFBAgshEAJAIAEgEWoiBCAAKAIMTARAIAAoAgQhAAwBCyAAKAIEIAQgAUEBdWoiARBmIQAgAygCFCADKAIMQQJ0aiIEKAIAIAA2AgQgBCgCACIEKAIEIgBFDQcgBCABQQJrNgIMIAMoAhwgEWohBAsgAyAENgIcIAAgBGpBADoAACADKAIUIAMoAgxBAnRqKAIAKAIEIAMoAhxqQQA6AAEgAyADKAIUIAMoAgxBAnRqIgAoAgAoAgQiBjYCUAJAAkAgEEEBaw4CCgEACyADIAYgFkF/c2ogBWo2AiQgAxC9BiEAIAMoAlAhCCADKAIkIQUMDgsgAygCHCEEIAAoAgAoAgQhAQsgAyABIARqNgIkIAMQvQYhASADKAJQIQgMCAtBsqMBEJ0CAAtBfyEBIAMoAhQgAygCDEECdGooAgAgAygCUCAAakEBay0AAEEKRjYCHAsgDEEwaiQAIAEMCwtB06gBEJ0CAAtB6KwBEJ0CAAtBiKgDEJ0CAAtBsxUQnQIACyADIAY2AiQgA0EANgIwIAMoAixBAWtBAm1BJWohAAwBCwsgDwsoAgAhBQwACwALAAsACyEBCyABQQBMBEBBACEBQQAMAQsgAUGAAkYEQEGBAiEBDAULQQIgAUGMAksNABogAUGAkQVqLAAACyIFIAnAaiIAQTtLDQAgBSAAQZCTBWosAABHDQAgAEHQkwVqLAAAIQ1CASAArYZCgKDIhICAkIAGg1AEQCAHIAooApwINgIEIBNBAWsiAEEAIAAgE00bIRNBfiEBIAdBBGoMBQtBACANayEMDAELIA1BkJQFaiwAACIMRQ0BCyAHQQEgDEHglAVqLAAAIg9rQQJ0aigCACEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgDEECaw46AAEVFQITEgUSEgUVFRUVFRUVFQMVFQQEBRIVFQYHCAkKCwwNDhIVFRUVFRUPFRARExISFRUVExMTFBULIAMQ+A4gAxDyDgwUCyADKAIAIgAoAghFDRMgAxD4DiADEPIOIAAoAggQuQEgAEEANgIIDBMLIAdBCGsoAgAhCCAHQQRrKAIAIQkgBygCACEGIAMoAgAiACgCCCIERQRAIABBADYCDCAKIAhBAEdBAXQgCUEAR3JBCHI6AKAIIBVBADoAAiAVQQA7AAAgACgCACEEIAogCigCoAg2AgwgACAGIApBDGogBBDiASIENgIICyAAIAAoAhAgBBDwDjYCEEEAIAZBABCKARoMEgsgAygCACIAKAIIIQYgB0EEaygCAARAIABBAhCgCCAAKAIQQRhqIQlBACEEA0AgCSgCACIIBEACQCAIKAIAQYsCRw0AIAgoAgQQnghFDQAgCCgCCCEECyAIQQxqIQkMAQsLIAAoAhBBEGohDQNAIA0oAgAiCCgCDARAIAhBDGohDSAIQQRqIQkgCCgCAEGGAkYEQCAIKAIEIhEQHCEJA0AgCUUNAyADIAAoAhAoAgAgCUEAEIMBQQAgCCgCDCAEEN4OIBEgCRAdIQkMAAsACwNAIAkoAgAiCUUNAiADIAkoAgQgCSgCCCAIKAIMIAQQ3g4gCUEMaiEJDAALAAsLIAYgACgCEEEIahC6AiAGIAAoAhBBEGoQugIgBiAAKAIQQRhqELoCIAAoAhBBADYCBAwSCyAAKAIQIQQgAEEBEKAIIARBCGoiDSEJA0AgCSgCACIIBEAgACAIKAIEENUOIAhBDGohCQwBCwsgBiANELoCIAYgBEEYahC6AiAGIARBEGoQugIgBEEANgIEDBELAkAgAygCACgCECIAKAIIIgQEQEGJAiAEQQAQ9wUhBCAAQgA3AggMAQtBACEEIAAoAgQiBgRAQYYCIAZBABD3BSEECyAAQQA2AgQLIAQEQCAAQRBqIAQQkAgLDBALQQEhBQwPCyADIAcoAgBBAEEAEJMIDA4LIAMgB0EIaygCACAHKAIAQQAQkwgMDQsgAyAHQRBrKAIAIAdBCGsoAgAgBygCABCTCAwMCyADIAdBCGsoAgAgB0EEaygCABDEDgwLCyADQYICQQAQxA4MCgtBggIhBQwJC0GDAiEFDAgLQYQCIQUMBwsgB0EEaygCACEFDAYLIAdBCGsoAgAhACADKAIAIAcoAgAiBkUNDEGLAiAAIAYQ9wUhACgCEEEYaiAAEJAIDAULIAcoAgAhBCADKAIAIgAgACgCDCIGQQFqNgIMIAZBhydOBEAgCkGQzgA2AhBBtdsAIApBEGoQNwsgACAAKAIQIgYgBigCACAEQQEQkQEQ8A42AhAgACgCCCAEQQAQigEaDAQLIAMoAgAiACgCECIGKAIAIQQgACAAKAIMQQFrNgIMIAAgBhC0DiIANgIQIAAgBDYCBCAEDQNBooIBQY0SQd0EQZ2CARAAAAtBACEFDAILIAcoAgAhBQwBCyAHQQhrKAIAIQQgBygCACEGIApBqAhqQgA3AwAgCkIANwOgCCADKAIAKAIIIQAgCiAGNgIkIAogBDYCICAKQaAIaiIIQdEyIApBIGoQjgEgACAIENMCEK4BIQUgACAEQQAQigEaIAAgBkEAEIoBGiAIEFwLIAcgD0ECdGsiBCAFNgIEAn8CQCAOIA9rIg4sAAAiBSAMQaCVBWosAAAiBkHJlQVqLAAAaiIAQTtLDQAgAEGQkwVqLQAAIAVB/wFxRw0AIABB0JMFagwBCyAGQfmVBWoLLAAAIQ0gBEEEagwCCwJAAkAgEw4EAQICAAILIAFBAEoEQEF+IQEMAgsgAQ0BDAcLIANBuTYQnAkLA0AgCUH/AXFBEUcEQCACIA5GDQcgB0EEayEHIA5BAWsiDiwAAEGwkAVqLQAAIQkMAQsLIAcgCigCnAg2AgRBASENQQMhEyAHQQRqCyEHIA5BAWohDgwBCwsgA0GUpwEQnAkMAgsgACECDAILQZ7UAUGNEkGuAkHUNBAAAAsgAiAKQdAGakYNAQsgAhAYCyAKQbAIaiQAIAsoAhBFBEAgCygCTCIAKAIUIgEEfyABIAAoAgxBAnRqKAIABUEACyAAEKgJCyALKAJMIQADQAJAIAAoAhQiAUUNACABIAAoAgxBAnRqKAIAIgJFDQAgAiAAEKIJIAAoAhQgACgCDEECdGpBADYCAAJAIAAoAhQiAUUNACABIAAoAgxBAnRqKAIAIgFFDQAgASAAEKIJQQAhASAAKAIUIAAoAgwiAkECdGpBADYCACACBEAgACACQQFrIgE2AgwLIAAoAhQiAkUNACACIAFBAnRqKAIARQ0AIAAQ7wQgAEEBNgIwCwwBCwsgARAYIABBADYCFCAAKAI8EBggABAYIBcQXCALQTxqEFwgCygCECEFCyALQdAAaiQAIAULjgYDB38CfAF+IwBB8ABrIgIkAEGo8wgoAgAhBiAAELABIQcDQCAHBEAgBygCEBCwASEDA0AgAwRAAkAgAygAICIARQ0AAkBBvPsKLQAAQQhxRSAAQQFGcg0AIAcrAwghCCADKwMIIQkgAiADKwMQOQNQIAIgCTkDSCACIAg5A0AgBkGc8AQgAkFAaxAyQQAhAANAIAAgAygAIE8NASACIAMoAjAoAgQgAEEFdGoiASkCGDcDaCACIAEpAhAiCjcDYCACIAEpAgg3A1gCQCAKp0UNACADKAIYIQEgAiADKQIgNwM4IAIgAykCGDcDMCAGIAEgAkEwaiAAEBlBAnRqKAIAEJQOQffRBCAGEIkBGkEAIQEDQCABIAIoAmBPDQFBvssDIAYQiQEaIAMoAhghBCACIAIpA2A3AyggAiACKQNYNwMgIAIoAlggAkEgaiABEBlBAnRqKAIAIQUgAiADKQIgNwMYIAIgAykCGDcDECAGIAQgAkEQaiAFEBlBAnRqKAIAEJQOQZKABSAGEIkBGiABQQFqIQEMAAsACyAAQQFqIQAMAAsACyADKAIwIQRBACEFIwBBIGsiACQAAkACQAJAIAQoAgAiAQ4CAgABCyAEKAIEQQA2AgQMAQsgAEIANwMYIABCADcDECAAQgA3AwggAEEIaiABQQQQqgJBACEBA0AgBCgCACABTQRAAkAgAEEcaiEFQQAhAQNAIAAoAhBFDQEgAEEIaiAFQQQQxwEgBCgCBCAAKAIcQQV0aiABNgIEIAFBAWohAQwACwALBSAEKAIEIAFBBXRqKAIARQRAIAQgASAFIABBCGoQow4hBQsgAUEBaiEBDAELCyAAQQhqIgFBBBAzIAEQOAsgAEEgaiQAQQAhAANAIAAgAygAIE8NASADKAIwKAIEIABBBXRqKAIEIQEgAygCGCACIAMpAiA3AwggAiADKQIYNwMAIAIgABAZQQJ0aigCACABQQFqNgIsIABBAWohAAwACwALIAMoAgAhAwwBCwsgBygCACEHDAELCyACQfAAaiQAC8QPAg5/AXwjAEGwBGsiAiQAIAAQsAEhDANAAkAgDEUNACAMKAIQELABIQoDQCAKBEAgCkEYaiEDIAooACAhBCAKKAIwIQ5BACEFA0AgBUEBaiIPIQAgBCAPTQRAIAooAgAhCgwDCwNAIAAgBE8EQCAPIQUMAgsCQCAOIAUgABC2Aw0AIA4gACAFELYDDQAgAygCACACIAMpAgg3A6AEIAIgAykCADcDmAQgAkGYBGogBRAZQQJ0aigCACADKAIAIAIgAykCCDcDkAQgAiADKQIANwOIBCACQYgEaiAAEBlBAnRqKAIAEIsIRQ0AIAMoAgAgAiADKQIINwOABCACIAMpAgA3A/gDIAJB+ANqIAUQGUECdGooAgAoAjAhByADKAIAIAIgAykCCDcD8AMgAiADKQIANwPoAyACQegDaiAAEBlBAnRqKAIAKAIwIQQCfyAEQQBHIAdFDQAaQQEgBEUNABogAygCACACIAMpAgg3A+ADIAIgAykCADcD2AMgAkHYA2ogBRAZQQJ0aigCACgCMCsDCCADKAIAIAIgAykCCDcD0AMgAiADKQIANwPIAyACQcgDaiAAEBlBAnRqKAIAKAIwKwMIYgshBCADKAIAIAIgAykCCDcDwAMgAiADKQIANwO4AyACQbgDaiAFEBlBAnRqKAIAIQcgAygCACEGIAIgAykCCDcDsAMgAiADKQIANwOoAyACQagEaiIIIAcgBiACQagDaiAAEBlBAnRqKAIAQQAgBBCWDg0FIAMoAgAgAiADKQIINwOgAyACIAMpAgA3A5gDIAIoAqwEIQkgAigCqAQhBiACQZgDaiAFEBlBAnRqKAIAIQcgAygCACELIAIgAykCCDcDkAMgAiADKQIANwOIAyAIIAcgCyACQYgDaiAAEBlBAnRqKAIAQQEgBEUiBxCWDg0FIAIoAqwEIQggAigCqAQhCwJAAkACQCAJQQFqDgMAAQIDCyADKAIAIAIgAykCCDcDYCACIAMpAgA3A1ggAkHYAGogABAZQQJ0aigCACADKAIAIAIgAykCCDcDUCACIAMpAgA3A0ggAkHIAGogBRAZQQJ0aigCACAEQQAgBiABELkCIAMoAgAgAkFAayADKQIINwMAIAIgAykCADcDOCACQThqIAAQGUECdGooAgAgAygCACACIAMpAgg3AzAgAiADKQIANwMoIAJBKGogBRAZQQJ0aigCACAHQQEgCyABELkCIAhBAUcNAiADKAIAIAIgAykCCDcDICACIAMpAgA3AxggAkEYaiAFEBlBAnRqKAIAIAMoAgAgAiADKQIINwMQIAIgAykCADcDCCACQQhqIAAQGUECdGooAgAgByABEJUODAILAkACQAJAIAhBAWoOAwABAgQLIAMoAgAgAiADKQIINwOgASACIAMpAgA3A5gBIAJBmAFqIAAQGUECdGooAgAgAygCACACIAMpAgg3A5ABIAIgAykCADcDiAEgAkGIAWogBRAZQQJ0aigCACAEQQAgBiABELkCIAMoAgAgAiADKQIINwOAASACIAMpAgA3A3ggAkH4AGogABAZQQJ0aigCACADKAIAIAIgAykCCDcDcCACIAMpAgA3A2ggAkHoAGogBRAZQQJ0aigCACAHQQEgCyABELkCDAMLIAMoAgAgAiADKQIINwPgASACIAMpAgA3A9gBIAJB2AFqIAUQGUECdGooAgAgAygCACACIAMpAgg3A9ABIAIgAykCADcDyAEgAkHIAWogABAZQQJ0aigCAEEAIAQgBiABELkCIAMoAgAgAiADKQIINwPAASACIAMpAgA3A7gBIAJBuAFqIAUQGUECdGooAgAgAygCACACIAMpAgg3A7ABIAIgAykCADcDqAEgAkGoAWogABAZQQJ0aigCAEEBIAcgCyABELkCDAILIAMoAgAgAiADKQIINwOgAiACIAMpAgA3A5gCIAJBmAJqIAUQGUECdGooAgAgAygCACACIAMpAgg3A5ACIAIgAykCADcDiAIgAkGIAmogABAZQQJ0aigCAEEAIAQgBiABELkCIAMoAgAgAiADKQIINwOAAiACIAMpAgA3A/gBIAJB+AFqIAUQGUECdGooAgAgAygCACACIAMpAgg3A/ABIAIgAykCADcD6AEgAkHoAWogABAZQQJ0aigCAEEBIAcgCyABELkCDAELIAMoAgAgAiADKQIINwOAAyACIAMpAgA3A/gCIAJB+AJqIAUQGUECdGooAgAgAygCACACIAMpAgg3A/ACIAIgAykCADcD6AIgAkHoAmogABAZQQJ0aigCAEEAIAQgBiABELkCIAMoAgAgAiADKQIINwPgAiACIAMpAgA3A9gCIAJB2AJqIAUQGUECdGooAgAgAygCACACIAMpAgg3A9ACIAIgAykCADcDyAIgAkHIAmogABAZQQJ0aigCAEEBIAcgCyABELkCIAhBf0cNACADKAIAIAIgAykCCDcDwAIgAiADKQIANwO4AiACQbgCaiAFEBlBAnRqKAIAIAMoAgAgAiADKQIINwOwAiACIAMpAgA3A6gCIAJBqAJqIAAQGUECdGooAgAgByABEJUOCyAAQQFqIQAgCigAICEEDAALAAsACwsgDCgCACEMDAELCyACQbAEaiQAQX9BACAMGwurAgELfyMAQSBrIgEkACAAELABIQYDQAJAIAZFDQAgBigCEBCwASECA0AgAgRAIAIoACAiBwRAIAJBGGohAyAHQQFrIQogAigCMCEIQQAhAANAAkAgAEEBaiIJIQQgACAKRg0AA0AgBCAHRgRAIAkhAAwDCyADKAIAIAEgAykCCDcDGCABIAMpAgA3AxAgAUEQaiAAEBlBAnRqKAIAIAMoAgAgASAD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IANBoAFqEDIgAUEBaiEBDAELAAsAC0G+mANBjbwBQcwDQYCJARAAAAsgDiADKAKUAkHIABAaIg82AgggDiADKAKUAiIRNgIAQQAhAQNAIAEgEUYEQCAGEBggAysDsAIhGyADKwOoAiEcIAMrA6ACIR0gAysDmAIhH0EBQRgQGiIEQQA2AgAgBCARQQJ0IgBBAnJBKBAaNgIQQZzNCkG06wkoAgAQkgEhC0G0zQpBtOsJKAIAEJIBIQkgAEEgEBohDCAAQQQQGiEGQQAhAANAIAAgEUYEQEEAIQYDQCAGIApHBEAgA0IANwPIAiADQgA3A8ACIANCADcDuAIgAyACIAZByABsaiIBKQMwNwPYAiADIAEpAyg3A9ACIAkgA0HQAmpBgAQgCSgCABEDACEAA0ACQCAARQ0AIAArAwggASsDOGNFDQAgAyAAKAIANgLMAiADQbgCakEEECchByADKAK4AiAHQQJ0aiADKALMAjYCACAAKAIAIAE2AhggCSAAQQggCSgCABEDACEADAELCyALIANB0AJqQYAEIAsoAgARAwAhAANAAkAgASsDQCEbIABFDQAgACsDECAbY0UNACADIAAoAgA2AswCIANBuAJqQQQQJyEHIAMoArgCIAdBAnRqIAMoAswCNgIAIAAoAgAgATYCGCALIABBCCALKAIAEQMAIQAMAQsLIAMgGzkD2AIgCSADQdACakGABCAJKAIAEQMAIQADQAJAIAErAzghGyAARQ0AIAArAwggG2NFDQAgAyAAKAIANgLMAiADQbgCakEEECchByADKAK4AiAHQQJ0aiADKALMAjYCACAAKAIAIAE2AhQgCSAAQQggCSgCABEDACEADAELCyADIBs5A9ACIAMgASsDMDkD2AIgCyADQdACakGABCALKAIAEQMAIQADQAJAIABFDQAgACsDECABKwNAY0UNACADIAAoAgA2AswCIANBuAJqQQQQJyEHIAMoArgCIAdBAnRqIAMoAswCNgIAIAAoAgAgATYCFCALIABBCCALKAIAEQMAIQAMAQsLIANBuAJqIAFBJGogAUEgakEEEMYBIAEoAiAiACAQIAAgEEsbIRAgBkEBaiEGDAELCwNAIAogDUYEQCAEKAIQIAQoAgAiAEEobGoiASAANgIgIAEgAEEBajYCSEEAIQIgBCgCAEEGbCAQQQF0akEEEBohACAEIAQoAgBBA2wgEGpBGBAaNgIUIAQoAgAiBkEAIAZBAEobIQEDQCABIAJGBEAgBkECaiECA0AgASACSARAIAQoAhAgAUEobGogADYCHCABQQFqIQEgACAQQQJ0aiEADAELCwUgBCgCECACQShsaiAANgIcIAJBAWohAiAAQRhqIQAMAQsLQQAhBgJAAkADQCAGIBFGBEACQCALEJkBGiAJEJkBGiAMEBhBACEBQajzCCgCACECA0AgASAEKAIATg0BIAQoAhAgAUEobGoiACgCFEUEQCADIAE2AhAgAkGGygQgA0EQahAfGiAAKAIURQ0FCyAAKAIYRQRAIAMgATYCACACQfDJBCADEB8aIAAoAhhFDQYLIAFBAWohAQwACwALBSAPIAZByABsaiIBKwM4IAErAyihIhsgASsDQCABKwMwoSIfoEQAAAAAAADgP6JEAAAAAABAf0CgIRwgH0QAAAAAAAAIwKBEAAAAAAAA4D+iRAAAAAAAAABAYwR8IBxEAAAAAAAA0EAgAS0AAEEIcSIAGyEcIBtEAAAAAAAA0EAgABsFIBsLIR0gG0QAAAAAAAAIwKBEAAAAAAAA4D+iRAAAAAAAAABAYwRAIBxEAAAAAAAA0EAgAS0AAEEQcSIAGyEcIB9EAAAAAAAA0EAgABshHwsCQCABKAIkIgAoAggiAkUNACAAKAIEIgdFDQAgBCACIAcgHBCJAyEAIAEgASgCBCICQQFqNgIEIAEgAkECdGogADYCCCABKAIkIQALAkAgACgCBCICRQ0AIAAoAgAiB0UNACAEIAIgByAcEIkDIQAgASABKAIEIgJBAWo2AgQgASACQQJ0aiAANgIIIAEoAiQhAAsCQCAAKAIIIgJFDQAgACgCDCIHRQ0AIAQgAiAHIBwQiQMhACABIAEoAgQiAkEBajYCBCABIAJBAnRqIAA2AgggASgCJCEACwJAIAAoAgwiAkUNACAAKAIAIgdFDQAgBCACIAcgHBCJAyEAIAEgASgCBCICQQFqNgIEIAEgAkECdGogADYCCCABKAIkIQALAkAgACgCBCICRQ0AIAAoAgwiB0UNACAEIAIgByAfEIkDIQAgASABKAIEIgJBAWo2AgQgASACQQJ0aiAANgIIIAEoAiQhAAsCQCAAKAIIIgJFDQAgACgCACIARQ0AIAQgAiAAIB0QiQMhACABIAEoAgQiAkEBajYCBCABIAJBAnRqIAA2AggLIAZBAWohBgwBCwtBACEAIAQgBCgCACIBNgIIIAQgBCgCBDYCDCABQQAgAUEAShshAQNAIAAgAUcEQCAEKAIQIABBKGxqIgIgAi8BEDsBEiAAQQFqIQAMAQsLIA4gBDYCECADQeACaiQAIA4MCAtBzscBQY28AUG8AkHV+QAQAAALQcHHAUGNvAFBvgJB1fkAEAAABQJAIAIgDUHIAGxqIgcrA0AgBysDMKFEAAAAAAAACMCgRAAAAAAAAOA/okQAAAAAAAAAQGNFDQAgBygCICESQQAhBgNAIAYgEkYNAQJAIAcoAiQgBkECdGooAgAiAC0AJEEBRw0AIAcgACgCFCIBRgRAIAAoAhgiASgCACEAA0AgASAAQQhyNgIAIAEoAiQoAgAiAEUNAiAAKAIYIgEoAgAiAEEBcUUNAAsMAQsgASgCACEAA0AgASAAQQhyNgIAIAEoAiQoAggiAEUNASAAKAIUIgEoAgAiAEEBcUUNAAsLIAZBAWohBgwACwALAkAgBysDOCAHKwMooUQAAAAAAAAIwKBEAAAAAAAA4D+iRAAAAAAAAABAY0UNACAHKAIgIRJBACEGA0AgBiASRg0BAkAgBygCJCAGQQJ0aigCACIALQAkDQAgByAAKAIUIgFGBEAgACgCGCIBKAIAIQADQCABIABBEHI2AgAgASgCJCgCBCIARQ0CIAAoAhgiASgCACIAQQFxRQ0ACwwBCyABKAIAIQADQCABIABBEHI2AgAgASgCJCgCDCIARQ0BIAAoAhQiASgCACIAQQFxRQ0ACwsgBkEBaiEGDAALAAsgDUEBaiENDAELAAsACyAPIABByABsaiIBIAYgAEEEdGo2AiQgAUEENgIgIBwgASsDOCIeZARAIAMgHjkDuAIgAyABKwMwOQPAAiADIAMpA8ACNwNYIAMgAykDuAI3A1AgBCALIANB0ABqIAxBARDxBSIHIAE2AhQgASgCJCAHNgIACyAbIAErA0AiHmQEQCABKwMoISAgAyAeOQPAAiADIAMpA8ACNwNIIAMgIDkDuAIgAyADKQO4AjcDQCAEIAkgA0FAayAMQQAQ8QUiByABNgIUIAEoAiQgBzYCBAsgHyABKwMoYwRAIAMgASkDMDcDOCADIAEpAyg3AzAgBCALIANBMGogDEEBEPEFIgcgATYCGCABKAIkIAc2AggLIB0gASsDMGMEQCADIAEpAzA3AyggAyABKQMoNwMgIAQgCSADQSBqIAxBABDxBSIHIAE2AhggASgCJCAHNgIMCyAAQQFqIQAMAAsABSAPIAFByABsaiIAIAYgAUEFdGoiBCkDADcDKCAAQUBrIAQpAxg3AwAgACAEKQMQNwM4IAAgBCkDCDcDMCABQQFqIQEMAQsACwALIgooAhAhBEG8+wotAABBAnEEQEGo8wgoAgAgBBChDgsgCBAcIQNBACEMA0ACQCADRQRAIAxBCBAaIRAgEyAMQQhBqwMQqAEgBCgCACIIQQJqIQIjAEEgayIAJAACQAJAAkBBiPsKKAIARQRAIAJBAWoiAUGAgICABE8NAUEAIAEgAUEEEEciAxsNAkGI+wogAzYCACADQYz7CjYCAEG0+wogAjYCAAtBuPsKQQA2AgAgAEEgaiQADAILIABBBDYCBCAAIAE2AgBBqPMIKAIAQbTnAyAAEB8aECwACyAAIAFBAnQ2AhBBqPMIKAIAQYPnAyAAQRBqEB8aECwACyAEKAIQIAhBKGxqIgtBKGohCSAFQcgCakEEciESIAVB+AJqIRFBqPMIKAIAIQ4MAQsgCCADEC0hAgNAIAIEQAJAQZjYCigCAEECRgRAIAIoAhAoAggNAQsCQEGs2AotAABBAUcNACACQTBBACACKAIAQQNxIgFBA0cbaigCKCgCAEEEdiIAIAJBUEEAIAFBAkcbaigCKCgCAEEEdiIBTQRAIBQgALgiGyABuCIcEKsGDQIgFCAbIBwQvwIMAQsgFCABuCIbIAC4IhwQqwYNASAUIBsgHBC/AgsgEyAMQQN0aiIAIAI2AgQgAAJ/IAJBMEEAIAIoAgBBA3EiAEEDRxtqKAIoKAIQIgErAxAgAkFQQQAgAEECRxtqKAIoKAIQIgArAxChIhsgG6IgASsDGCAAKwMYoSIbIBuioCIbmUQAAAAAAADgQWMEQCAbqgwBC0GAgICAeAs2AgAgDEEBaiEMCyAIIAIQMCECDAEFIAggAxAdIQMMAwsACwALCwNAAkACQAJAIAwgFkcEQAJAIBZFDQBBvPsKLQAAQRBxRQ0AIA4gBBChDgsCQCATIBZBA3QiD2ooAgQiAUEwQQAgASgCAEEDcSICQQNHG2ooAigoAhAoAoABIgAgAUFQQQAgAkECRxtqKAIoKAIQKAKAASIBRgRAQQAhAgNAIAAoAiAgAksEQCAAKAIkIAJBAnRqKAIAIgEtACRFBEAgBCALIAkgASgCFCAARhsgAUQAAAAAAAAAABCJAxoLIAJBAWohAgwBCwsgBCAEKAIAQQJqNgIADAELIAQgASAJEKAOIAQgACALEKAOCwJ/QQAhACAEKAIAIgFBACABQQBKGyEBA0AgACABRwRAIAQoAhAgAEEobGpBgICAgHg2AgAgAEEBaiEADAELC0G4+wpBADYCAAJ/AkAgCRClDg0AIAlBADYCACAJQQA2AggDQEEAIQJBuPsKKAIAIgAEQEGI+wooAgAiASgCBCECIAEgASAAQQJ0aigCADYCBEG4+wogAEEBayIANgIAIAAEQEEBIQFBuPsKKAIAIhdBAm0hFUGI+wooAgAiAygCBCIHKAIAIRgDQAJAIAEgFUoNACADIAFBA3RqKAIAIggoAgAhBiAXIAFBAXQiAEoEfyAAQQFyIg0gACAGIAMgDUECdGooAgAiGSgCACINSCIaGyEAIBkgCCAaGyEIIAYgDSAGIA1KGwUgBgsgGEwNACADIAFBAnRqIAg2AgAgCCABNgIEIAAhAQwBCwsgAyABQQJ0aiAHNgIAIAcgATYCBAsQjAgLQQAgAiIBRQ0DGiABQQAgASgCAGs2AgBBACABIAtGDQIaQQAhAANAIAAgAS4BEE4NAQJAIAQoAhAgBCgCFCABKAIcIABBAnRqKAIAQRhsaiIDKAIMIgIgASgCIEYEfyADKAIQBSACC0EobGoiAigCACIGQQBODQAgBkGAgICAeEchBwJ/IAMrAwAgASgCALegmiIbmUQAAAAAAADgQWMEQCAbqgwBC0GAgICAeAshCAJAIAdFBEAgAiAINgIAIAIQpQ4NBQwBCyAGIAhODQEgAiAINgIAIAIoAgQQpg4QjAgLIAIgAzYCDCACIAE2AggLIABBAWohAAwACwALAAtBAQsLDQEgBUHgAmpBAEHQABA2GiALKAIIIgIoAhQiAC0AAEEBcQRAIAIoAhghAAsgDyAQaiEXIAIoAgghAyAFQaACaiIBIAJBKBAgGiAFQdACaiABIAAQnw4gBSsD2AIhGyAFKwPQAiEeRAAAAAAAAAAAIRxEAAAAAAAAAAAhHQNAIB0hHyAcISAgHiEcIBshHSAAIQcgAiIBIQYCfwJAAkADQCADIgIoAghFDQECQCAGKAIUIgAgAygCFEYNACAAIAMoAhhGDQAgBigCGCEACyAAQQhqIQggBCgCECIDIAEoAgwiBigCEEEobGotACQhFSADIAYoAgxBKGxqLQAkIRhBACEDIAArA0AgACsDMKFEAAAAAAAACMCgRAAAAAAAAOA/oiIbIAArAzggACsDKKFEAAAAAAAACMCgRAAAAAAAAOA/oiIeECkhIQNAAkAgAyAAKAIEIg1ODQAgBCgCECIZIAggA0ECdGooAgAiDygCDEEobGotACQgGSAPKAIQQShsai0AJEYNACAPICEQpA4gA0EBaiEDDAELCwNAIAMgDUgEQCAVIBhGIAggA0ECdGooAgAiDyAGR3FFBEAgDyAbIB4gBCgCECAPKAIMQShsai0AJBsQpA4gACgCBCENCyADQQFqIQMMAQsLIAEtACQiBiACLQAkIgNHDQIgAiEGIAIoAggiAyAJRw0ACyAFQfgBaiIDIAJBKBAgGiAFQdACaiADIAAQnw4gAUEkaiENIAItACQhAyABLQAkIQYgAkEkagwCCyAFQgA3A8gCIAVB4AJqIBIgBUHIAmpBOBDGASAFKALMAiIAQThqIQEgBSgCyAIiA0EBayEIIABBOGshBkEAIQIDQCACIANGDQYgAgRAIAAgAkE4bCIHaiAGIAdqNgIwCyACIAhJBEAgACACQThsIgdqIAEgB2o2AjQLIAJBAWohAgwACwALIAArACghGyAAKwA4IR4gBSAAKwBAIAArADCgRAAAAAAAAOA/ojkD2AIgBSAeIBugRAAAAAAAAOA/ojkD0AIgAUEkaiENIAJBJGoLIRUgCygCCCEPAn8gBkEBcQRAQQAhCCAGQf8BcSADQf8BcUcEQEEBQQMgAigCFCAARhshCAtBAUEDIB0gH2MbQQAgASAPRxshASAHQTBqIQNBKAwBC0EAIQggBkH/AXEgA0H/AXFHBEBBBEECIAIoAhQgAEYbIQgLQQRBAiAcICBjG0EAIAEgD0cbIQEgB0EoaiEDQTALIQ8gBkF/c0EBcSEGIAMrAwAhIAJAIAcgD2orAwAiGyAAIA9qKwMAIh5jBEAgGyEfIB4hGyABIQMgCCEBDAELIB4hHyAIIQMLIAVCADcDqAMgBSABNgKcAyAFIAM2ApgDIAUgGzkDkAMgBSAfOQOIAyAFICA5A4ADIAUgBjoA+AIgBUHgAmoiA0E4ECchASAFKALgAiABQThsaiARQTgQIBogBSsD2AIhGyAFKwPQAiEeAkAgFS0AACIBIA0tAABGDQAgAigCCCAJRw0AIABBMEEoIAEbaisDACEgIABBKEEwIAEbaisDACEfIAVCADcDqAMgBUEBQQMgGyAdYxtBBEECIBwgHmQbIAEbNgKcAyAFQQA2ApgDIAUgHzkDkAMgBSAfOQOIAyAFICA5A4ADIAUgAUEBczoA+AIgA0E4ECchASAFKALgAiABQThsaiARQTgQIBoLIAIoAgghAwwACwALQYj7CigCABAYQbj7CkEANgIAQYj7CkEANgIAQQAhA0HMzQpBtOsJKAIAEJIBIQQDQCAKKAIAIANLBEAgCigCCCADQcgAbGoiAi0AAEEEcUUEQANAAkAgAiIAKAIkKAIIIgFFDQAgASgCFCICRQ0AIAItAABBAXFFDQELC0E4EFIiCCAANgI0IAggACsDKDkDCCAAKAIAIQYgACECA0ACQCACIgEgBkEEcjYCACABKAIkKAIAIgJFDQAgAigCGCICRQ0AIAIoAgAiBkEBcUUNAQsLIAggASsDODkDECAEIAggACsDMBCdDgsgA0EBaiEDDAELCyAKIAQ2AhQgCkEUaiEIQQAhA0HMzQpBtOsJKAIAEJIBIQsDQCAKKAIAIANLBEAgCigCCCADQcgAbGoiAi0AAEECcUUEQANAAkAgAiIAKAIkKAIMIgFFDQAgASgCFCICRQ0AIAItAABBAXFFDQELC0E4EFIiBCAANgI0IAQgACsDMDkDCCAAKAIAIQYgACECA0ACQCACIgEgBkECcjYCACABKAIkKAIEIgJFDQAgAigCGCICRQ0AIAIoAgAiBkEBcUUNAQsLIAQgASsDQDkDECALIAQgACsDKBCdDgsgA0EBaiEDDAELCyAKIAs2AhggCkEYaiEAQQAhAwNAIAMgDEcEQCAQIANBA3RqIgEoAgQhBCABKAIAIQtBACEGA0AgBiALRgRAIANBAWohAwwDBSAEIAZBOGxqIgIgACAIIAItAAAbKAIAIAIQtQMiASgAIDYCKCABIAI2AiwgAUEYakEEECchAiABKAIYIAJBAnRqIAEoAiw2AgAgBkEBaiEGDAELAAsACwsgCCgCABCcDiAAKAIAEJwOIAgoAgAQmw4NACAAKAIAEJsODQAgCigCFCAKEJoODQAgCigCGCAKEJoODQAgCCgCABCZDiAAKAIAEJkOQQAhAkG8+wotAABBBHEEQEH+/AQgDhCJARogBUKKgICAoAE3A/ABIA5B6qsEIAVB8AFqEB8aQbCDBCAOEIkBGgNAIAooAgQgAk0EQEEAIQNE////////738hIET////////v/yEbRP///////+//IR5E////////738hHwNAIAMgDEYEQAJAQZeDBCAOEIkBGkEAIQIDQCACIAooAgBPDQEgCigCCCACQcgAbGoiACsDKCEcIAArAzAhHSAAKwM4ISEgBSAAKwNAIiI5A5gBIAUgITkDkAEgBSAdOQOIASAFIBw5A4ABIA5B3YsEIAVBgAFqEDIgAkEBaiECIBsgIhAjIRsgHiAhECMhHiAgIB0QKSEgIB8gHBApIR8MAAsACwUgEyADQQN0IgFqKAIEIghBMEEAIAgoAgBBA3FBA0cbaigCKCgCECgCgAEhACABIBBqIgEoAAAhBgJAIAEoAAQiAS0AAEEBRgRAIAArA0AgACsDMKBEAAAAAAAA4D+iIRwgASAKEP0DIR0MAQsgACsDOCAAKwMooEQAAAAAAADgP6IhHSABIAoQ/AMhHAsgBSAcOQPoASAFIB05A+ABIA5BlocEIAVB4AFqEDJBASECQQEgBiAGQQFNGyEGIBsgHBAjIRsgHiAdECMhHiAgIBwQKSEgIB8gHRApIR8CQANAIAIgBkYEQAJAIAhBUEEAIAgoAgBBA3FBAkcbaigCKCgCECgCgAEhACABIAZBOGxqQThrIgEtAABFDQAgACsDQCAAKwMwoEQAAAAAAADgP6IhHCABIAoQ/QMhHQwDCwUCQCABIAJBOGxqIgAtAABBAUYEQCAAIAoQ/QMhHQwBCyAAIAoQ/AMhHAsgBSAcOQPYASAFIB05A9ABIA5BsIcEIAVB0AFqEDIgAkEBaiECIBsgHBAjIRsgHiAdECMhHiAgIBwQKSEgIB8gHRApIR8MAQsLIAArAzggACsDKKBEAAAAAAAA4D+iIR0gASAKEPwDIRwLIAUgHDkDyAEgBSAdOQPAASAOQcSuBCAFQcABahAyIANBAWohAyAbIBwQIyEbIB4gHRAjIR4gICAcECkhICAfIB0QKSEfDAELCyAFIBtEAAAAAAAAJECgOQO4ASAFIB5EAAAAAAAAJECgOQOwASAFICBEAAAAAAAAJECgOQOoASAFIB9EAAAAAAAAJECgOQOgASAOQb6mBCAFQaABahAyBSAKKAIMIAJByABsaiIAKwMoIRsgACsDMCEcIAArAzghHSAFIAArA0A5A3ggBSAdOQNwIAUgHDkDaCAFIBs5A2AgDkGWsgQgBUHgAGoQMiACQQFqIQIMAQsLC0EAIQggBUHgAmpBAEEoEDYaQQAhAwNAIAMgDEYEQANAIAUoAugCIAhLBEAgBSAFKQPoAjcDGCAFIAUpA+ACNwMQIAVBEGogCBAZIQACQAJAIAUoAvACIgEOAgEIAAsgBSAFKALgAiAAQQR0aiIAKQMINwMIIAUgACkDADcDACAFIAERAQALIAhBAWohCAwBCwsgBUHgAmoiAEEQEDMgABA4BSATIANBA3QiAWooAgQiACAAQTBqIgsgACgCAEEDcSICQQNGGygCKCgCECIGKwAQIRwgBisAGCEfIAAgAEEwayIGIAJBAkYbKAIoKAIQIgIrABAhHSACKwAYIRsgASAQaiIEKAIEIQEgACgCECICKwAQISAgAisAGCEhIAIrADghHiACKwBAISIgBUHgAmogBCgCACIEQQNsQQFqQRAQqgIgAQRAICIgG6AhGyAeIB2gIR4gBQJ8IAEtAABBAUYEQCABIAoQ/QMhHSAhIB+gDAELICAgHKAhHSABIAoQ/AMLIhw5A4ADIAUgHTkD+AIgBUHgAmoiAkEQECchCSAFKALgAiAJQQR0aiIJIAUpA/gCNwMAIAkgBSkDgAM3AwggBSAcOQOAAyAFIB05A/gCIAJBEBAnIQIgBSgC4AIgAkEEdGoiAiAFKQP4AjcDACACIAUpA4ADNwMIQQEhAkEBIAQgBEEBTRsiCUE4bCEHAkADQCACIAlGBEAgASAHakE4ayIBLQAABEAgASAKEP0DIR4MAwsFAkAgASACQThsaiIELQAAQQFGBEAgBCAKEP0DIR0MAQsgBCAKEPwDIRwLIAUgHDkDgAMgBSAdOQP4AiAFQeACaiIEQRAQJyENIAUoAuACIA1BBHRqIg0gBSkD+AI3AwAgDSAFKQOAAzcDCCAFIBw5A4ADIAUgHTkD+AIgBEEQECchDSAFKALgAiANQQR0aiINIAUpA/gCNwMAIA0gBSkDgAM3AwggBSAcOQOAAyAFIB05A/gCIARBEBAnIQQgBSgC4AIgBEEEdGoiBCAFKQP4AjcDACAEIAUpA4ADNwMIIAJBAWohAgwBCwsgASAKEPwDIRsLIAUgGzkDgAMgBSAeOQP4AiAFQeACaiIBQRAQJyECIAUoAuACIAJBBHRqIgIgBSkD+AI3AwAgAiAFKQOAAzcDCCAFIBs5A4ADIAUgHjkD+AIgAUEQECchASAFKALgAiABQQR0aiIBIAUpA/gCNwMAIAEgBSkDgAM3AwhBjNgKLQAAQQJPBEAgACALIAAoAgBBA3FBA0YbKAIoECEhASAFIAAgBiAAKAIAQQNxQQJGGygCKBAhNgJUIAUgATYCUCAOQajvAyAFQdAAahAfGgsgACAGIAAoAgBBA3FBAkYbKAIoIQEgBSAFKQPoAjcDSCAFIAUpA+ACNwNAQQAhAiAAIAEgBSgC4AIgBUFAa0EAEBlBBHRqIAUoAugCQfzNChCTAQNAIAUoAugCIAJNBEAgBUHgAmpBEBAzBSAFIAUpA+gCNwM4IAUgBSkD4AI3AzAgBUEwaiACEBkhAAJAAkAgBSgC8AIiAQ4CAQkACyAFIAUoAuACIABBBHRqIgApAwg3AyggBSAAKQMANwMgIAVBIGogAREBAAsgAkEBaiECDAELCwsgA0EBaiEDDAELCwtBACECQazYCi0AAEEBRgRAIBQQ3AILA0AgAiAMRwRAIBAgAkEDdGooAgQQGCACQQFqIQIMAQsLIBAQGEEAIQAgCigCCCgCJBAYIAooAggQGANAIAooAgwhASAKKAIEIABNBEAgARAYIAooAhAiACgCECgCHBAYIAAoAhAQGCAAKAIUEBggABAYIAooAhQQmQEaIAooAhgQmQEaIAoQGAUgASAAQcgAbGooAiQQGCAAQQFqIQAMAQsLIBMQGCAFQbADaiQADwsgFyAFKQPIAjcCAEEAIQEgBCAEKAIIIgI2AgAgBCAEKAIMNgIEIAJBACACQQBKGyEAA0AgACABRgRAIAJBAmohAQNAIAAgAUgEQCAEKAIQIABBKGxqQQA7ARAgAEEBaiEADAELCwUgBCgCECABQShsaiIDIAMvARI7ARAgAUEBaiEBDAELCyAWQQFqIRYMAQsLQb6ABEHCAEEBIA4QOxoQPAAL5QEBBX8jAEEwayIEJAAgACgCBCABQQV0aiIFQQE2AgAgBCAFKQIYNwMoIAQgBSkCEDcDICAEIAUpAgg3AxggAkEBaiEGQQAhAgNAIAIgBCgCIE9FBEAgBCAEKQMgNwMQIAQgBCkDGDcDCCAEKAIYIQcgBEEIaiACEBkhCCAAKAIEIAcgCEECdGooAgAiB0EFdGooAgBFBEAgACAHIAYgAxCjDiEGCyACQQFqIQIMAQsLIAVBAjYCACADIAE2AhQgA0EEECchACADKAIAIABBAnRqIAMoAhQ2AgAgBEEwaiQAIAZBAWoLNwEBfyAAIAAoAghBAWoiAjYCCCACtyABZARAIABBADYCCCAAIAArAwBEAAAAAAAA0ECgOQMACwtNAQF/Qbj7CigCACIBQbT7CigCAEYEQEGW2QNBABA3QQEPC0G4+wogAUEBaiIBNgIAQYj7CigCACABQQJ0aiAANgIAIAEQpg4QjAhBAAtoAQZ/QYj7CigCACIBIABBAnRqKAIAIgIoAgAhBQNAIAEgAEECdGohAyABIABBAm0iBkECdGooAgAiBCgCACAFTkUEQCADIAQ2AgAgBCAANgIEIAYhAAwBCwsgAyACNgIAIAIgADYCBAt+AQV8IAErAwAgACsDACIDoSIFIAIrAwAgA6EiA6IgASsDCCAAKwMIIgShIgYgAisDCCAEoSIEoqAhByAFIASiIAMgBqKhRAAAAAAAAAAAZgRAIAcgBSAGEEqjIAMgBBBKow8LRAAAAAAAAADAIAcgBSAGEEqjIAMgBBBKo6EL6QECCH8BfiABQQFqIQkgAUECaiEKIAFBA2ohBiAAIAFBOGxqIQUgASEDA0AgAyAGSkUEQAJAIAEgA0YEQCAFIAY2AjAgBSAJNgIsDAELIAMgBkYEQCAFIAo2AtgBIAUgATYC1AEMAQsgACADQThsaiIEIANBAWs2AjAgBCADQQFqNgIsCyAAIANBOGxqIgRBADoAICAEIAIgB0EEdGoiCCkDADcDACAEIAgpAwg3AwggCCkDACELIAAgBCgCMEE4bGoiBCAIKQMINwMYIAQgCzcDECAHQQFqIQcgA0EBaiEDDAELCyABQQRqC7sBAQN8IAMgACkDADcDACADIAApAwg3AwggAyAAKQMQNwMgIAMgACkDGDcDKCAAQQhBGCACG2orAwAhBiAAKwMQIQQgACsDACEFIAMgAEEYQQggAhtqKwMAOQM4IAMgBjkDGCADIAUgBCACGzkDMCADIAQgBSACGzkDEAJAIAFFDQBBACEAA0AgAEEERg0BIAMgAEEEdGoiASsACCEEIAEgASsAADkDCCABIASaOQMAIABBAWohAAwACwALC78HAgh/AnwjAEGQAWsiBSQAIAUgAigACCIGNgKMASAFQQA2AogBIAZBIU8EQCAFIAZBA3YgBkEHcUEAR2pBARAaNgKIAQsgBUHkAGpBAEEkEDYaQfj6CiAAQQFqIgxBOBAaNgIAQfz6CiAAQQQQGjYCAANAAkAgCCACKAAITw0AIAIoAgAhBiAFIAIpAgg3A1ggBSACKQIANwNQAkAgBiAFQdAAaiAIEBlByABsaiIGLQBEQQFHDQAgBigCAEEATA0AIAYoAgQiB0EATA0AAkAgBigCKEEBa0F+TwRAIAYoAixBAWtBfUsNAQsgBigCMEEBa0F+SQ0BIAYoAjRBAWtBfkkNAQsgASAHQThsaiIGKwAYIg0gBisACCIOREivvJry13o+oGQNASANIA5ESK+8mvLXer6gYw0AIAYrABAgBisAAGQNAQsgCEEBaiEIDAELC0EBIQYDQCAGIAxGRQRAIAEgBkE4bCIJaiIHKAIwIQogBUHkAGoiCyAGEO8BIAo2AgggBygCLCEKIAsgBhDvASAKNgIEIAsgBhDvASAGNgIAQfj6CigCACAJaiIJIAcpAwA3AwAgCSAHKQMINwMIIAcoAiwhByAJIAY2AiAgCUEBNgIwIAkgBzYCECAGQQFqIQYMAQsLQYD7CiAANgIAQYT7CkEANgIAQfz6CigCAEEBNgIAIAIoAgAgBSACKQIINwNIIAUgAikCADcDQCAFQUBrIAgQGUHIAGxqKAIoIQcgAigCACEAIAUgAikCCDcDOCAFIAIpAgA3AzAgBUEwaiAIEBkhBgJAIAdBAWtBfU0EQCAFQYgBaiAEIAEgAkEAIAggACAGQcgAbGooAiggA0EBIAVB5ABqEEEMAQsgACAGQcgAbGooAjBBAWtBfUsNACACKAIAIQAgBSACKQIINwMoIAUgAikCADcDICAFQYgBaiAEIAEgAkEAIAggACAFQSBqIAgQGUHIAGxqKAIwIANBAiAFQeQAahBBCyAFKAKMAUEhTwRAIAUoAogBEBgLIAVCADcDiAFBACEGA0AgBiAFKAJsT0UEQCAFIAUpAmw3AxggBSAFKQJkNwMQIAVBEGogBhAZIQACQAJAAkAgBSgCdCIBDgICAAELQb6ABEHCAEEBQajzCCgCABA7GhA8AAsgBSAFKAJkIABBBHRqIgApAgg3AwggBSAAKQIANwMAIAUgAREBAAsgBkEBaiEGDAELCyAFQeQAaiIAQRAQMyAAEDhB+PoKKAIAEBhB/PoKKAIAEBggBUGQAWokAAu8AQIEfwF8A0AgACACRgRAA0AgACADRwRAAn8Q1QEgACADa7iiIAO4oCIGRAAAAAAAAPBBYyAGRAAAAAAAAAAAZnEEQCAGqwwBC0EACyICIANHBEAgASADQQJ0aiIEKAIAIQUgBCABIAJBAnRqIgIoAgA2AgAgAiAFNgIACyADQQFqIQMMAQsLDwsgAkH/////B0cEQCABIAJBAnRqIAJBAWoiAjYCAAwBCwtB5MwBQbm6AUHFAUHz/gAQAAALxAEBA38jAEGAAWsiBSQAIAUgAikDCDcDKCAFIAIpAxA3AzAgBSACKQMYNwM4IAUgAikDADcDICAFQSBqIARBASAFQUBrIgIQqQ4gA0EBIAIQqA4hB0EAIQIDQCABIAJGBEAgBUGAAWokAAUgBSAAIAJByABsaiIGQUBrKQMANwMYIAUgBikDODcDECAFIAYpAzA3AwggBSAGKQMoNwMAIAUgBEEAIAVBQGsiBhCpDiACQQFqIQIgAyAHIAYQqA4hBwwBCwsLzBACCH8EfCMAQeAEayIGJAAgA0EBRyEKA0AgASIDQQFrQX1LIQsDQAJAIAsNACAEKAIAIQEgBiAEKQIINwPYBCAGIAQpAgA3A9AEIAZB0ARqIAMQGSEHIAQoAgAhCCAGIAQpAgg3A8gEIAYgBCkCADcDwAQgBkHABGogAhAZIQkCQCABIAdByABsaiIBKwAgIg4gCCAJQcgAbGoiBysAICIPREivvJry13o+oGQNACAOIA9ESK+8mvLXer6gY0UgASsAGCIQIAcrABgiEWRxDQAgDiAPoZlESK+8mvLXej5lRSAQIBGhmURIr7ya8td6PmVFcg0BCyAEKAIAIAYgBCkCCDcDuAQgBiAEKQIANwOwBCAGQbAEaiADEBlByABsaigCMCIBQQFrIQcCQCAKRQRAIAdBfU0EQCAEKAIAIAYgBCkCCDcD+AMgBiAEKQIANwPwAyAGQfADaiABEBlByABsaigCBCAARg0CCyAEKAIAIAYgBCkCCDcD6AMgBiAEKQIANwPgAyAGQeADaiADEBlByABsaigCNCIBQQFrQX1LDQQgBCgCACAGIAQpAgg3A9gDIAYgBCkCADcD0AMgBkHQA2ogARAZQcgAbGooAgQgAEcNBAwBCyAHQX1NBEAgBCgCACAGIAQpAgg3A6gEIAYgBCkCADcDoAQgBkGgBGogARAZQcgAbGooAgAgAEYNAQsgBCgCACAGIAQpAgg3A5gEIAYgBCkCADcDkAQgBkGQBGogAxAZQcgAbGooAjQiAUEBa0F9Sw0DIAQoAgAgBiAEKQIINwOIBCAGIAQpAgA3A4AEIAZBgARqIAEQGUHIAGxqKAIAIABHDQMLIAQoAgAgBiAEKQIINwPIAyAGIAQpAgA3A8ADIAZBwANqIAMQGUHIAGxqKAIAIAQoAgAgBiAEKQIINwO4AyAGIAQpAgA3A7ADIAZBsANqIAEQGUHIAGxqKAIARw0CIAQoAgAgBiAEKQIINwOoAyAGIAQpAgA3A6ADIAZBoANqIAMQGUHIAGxqKAIEIAQoAgAgBiAEKQIINwOYAyAGIAQpAgA3A5ADIAZBkANqIAEQGUHIAGxqKAIERw0CIAUoAgAgBCgCACAGIAQpAgg3A4gDIAYgBCkCADcDgAMgBkGAA2ogARAZQcgAbGooAjghCCAGIAUpAgg3A/gCIAYgBSkCADcD8AIgBkHwAmogCBAZQShsaigCHCEHIAUoAgAgBiAFKQIINwPoAiAGIAUpAgA3A+ACIAZB4AJqIAcQGUEobGooAiAhDCAEKAIAIAYgBCkCCDcD2AIgBiAEKQIANwPQAiAGQdACaiABEBlByABsaigCOCENIAQoAgAgBiAEKQIINwPIAiAGIAQpAgA3A8ACIAZBwAJqIAMQGUHIAGxqKAI4IQggBSgCACEJIAYgBSkCCDcDuAIgBiAFKQIANwOwAiAGQbACaiAHEBkhBwJAIAwgDUYEQCAJIAdBKGxqIAg2AiAMAQsgCSAHQShsaiAINgIkCyAEKAIAIAYgBCkCCDcDqAIgBiAEKQIANwOgAiAGQaACaiABEBlByABsaigCMCEHIAQoAgAgBiAEKQIINwOYAiAGIAQpAgA3A5ACIAZBkAJqIAMQGUHIAGxqIAc2AjACQCAHQQFrQX1LDQAgBCgCACEHIAYgBCkCCDcDiAIgBiAEKQIANwOAAiAHIAZBgAJqIAMQGUHIAGxqKAIwIQggBiAEKQIINwP4ASAGIAQpAgA3A/ABIAcgBkHwAWogCBAZQcgAbGooAighCSAEKAIAIQcgBiAEKQIINwPoASAGIAQpAgA3A+ABIAcgBkHgAWogAxAZQcgAbGooAjAhCCAGIAQpAgg3A9gBIAYgBCkCADcD0AEgBkHQAWogCBAZIQggASAJRgRAIAcgCEHIAGxqIAM2AigMAQsgByAIQcgAbGooAiwgAUcNACAEKAIAIQcgBiAEKQIINwPIASAGIAQpAgA3A8ABIAcgBkHAAWogAxAZQcgAbGooAjAhCCAGIAQpAgg3A7gBIAYgBCkCADcDsAEgByAGQbABaiAIEBlByABsaiADNgIsCyAEKAIAIAYgBCkCCDcDqAEgBiAEKQIANwOgASAGQaABaiABEBlByABsaigCNCEHIAQoAgAgBiAEKQIINwOYASAGIAQpAgA3A5ABIAZBkAFqIAMQGUHIAGxqIAc2AjQCQCAHQQFrQX1LDQAgBCgCACEHIAYgBCkCCDcDiAEgBiAEKQIANwOAASAHIAZBgAFqIAMQGUHIAGxqKAI0IQggBiAEKQIINwN4IAYgBCkCADcDcCAHIAZB8ABqIAgQGUHIAGxqKAIoIQkgBCgCACEHIAYgBCkCCDcDaCAGIAQpAgA3A2AgByAGQeAAaiADEBlByABsaigCNCEIIAYgBCkCCDcDWCAGIAQpAgA3A1AgBkHQAGogCBAZIQggASAJRgRAIAcgCEHIAGxqIAM2AigMAQsgByAIQcgAbGooAiwgAUcNACAEKAIAIQcgBiAEKQIINwNIIAYgBCkCADcDQCAHIAZBQGsgAxAZQcgAbGooAjQhCCAGIAQpAgg3AzggBiAEKQIANwMwIAcgBkEwaiAIEBlByABsaiADNgIsCyAEKAIAIAYgBCkCCDcDKCAGIAQpAgA3AyAgBkEgaiADEBkgBCgCACEJIAYgBCkCCDcDGCAGIAQpAgA3AxBByABsaiIHIAkgBkEQaiABEBlByABsaiIIKQMYNwMYIAcgCCkDIDcDICAEKAIAIAYgBCkCCDcDCCAGIAQpAgA3AwAgBiABEBlByABsakEAOgBEDAELCwsgBkHgBGokAAv0VgIRfwZ8IwBBkBprIgQkACAEQdgZaiABIABBOGxqIg9BOBAgGiAEQegZaiEIIAECfwJAIAQrA/AZIhUgBCsD4BkiFkRIr7ya8td6PqBkDQAgFSAWREivvJry13q+oGNFBEAgBCsD6BkgBCsD2BlkDQELIAEgAEE4bGpBMGoMAQsgBEHgGWogDykDGDcDACAEIA8pAxA3A9gZIAggDykDCDcDCCAIIA8pAwA3AwAgBCAEKQL8GUIgiTcC/BlBASEKIA9BLGoLKAIAQThsai0AICEMIARB2BlqIAggBCgC/BkgASADEPIFIQUCQAJAIAwEQCAFIQwMAQsgAhC3AyEMIAIoAgAhBiAEQdAZaiACKQIINwMAIAQgAikCADcDyBkgAkEYaiAGIARByBlqIAUQGUHIAGxqQcgAECAhCSAEQcAZaiACKQIINwMAIAQgAikCADcDuBkgBEG4GWogDBAZIQYCQAJAIAIoAhAiBw4CAQMACyAEQfAYaiILIAIoAgAgBkHIAGxqQcgAECAaIAsgBxEBAAsgAigCACAGQcgAbGogCUHIABAgGiACKAIAIARB6BhqIAIpAgg3AwAgBCACKQIANwPgGCAEQeAYaiAFEBlByABsaiIGIAQpA9gZNwMYIAYgBEHgGWoiBikDADcDICACKAIAIARB2BhqIAIpAgg3AwAgBCACKQIANwPQGCAEQdAYaiAMEBlByABsaiIJIAQpA9gZNwMIIAkgBikDADcDECACKAIAIARByBhqIAIpAgg3AwAgBCACKQIANwPAGCAEQcAYaiAFEBlByABsaiAMNgIwIAIoAgAgBEG4GGogAikCCDcDACAEIAIpAgA3A7AYIARBsBhqIAUQGUHIAGxqQQA2AjQgAigCACAEQagYaiACKQIINwMAIAQgAikCADcDoBggBEGgGGogDBAZQcgAbGogBTYCKCACKAIAIARBmBhqIAIpAgg3AwAgBCACKQIANwOQGCAEQZAYaiAMEBlByABsakEANgIsIAIoAgAhBiAEQYgYaiACKQIINwMAIAQgAikCADcDgBgCQCAGIARBgBhqIAwQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARB+BdqIAIpAgg3AwAgBCACKQIANwPwFyAEQfAXaiAGEBlByABsaigCKCAFRw0AIAIoAgAgBEHoF2ogAikCCDcDACAEIAIpAgA3A+AXIARB4BdqIAYQGUHIAGxqIAw2AigLIAIoAgAhBiAEQdgXaiACKQIINwMAIAQgAikCADcD0BcCQCAGIARB0BdqIAwQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARByBdqIAIpAgg3AwAgBCACKQIANwPAFyAEQcAXaiAGEBlByABsaigCLCAFRw0AIAIoAgAgBEG4F2ogAikCCDcDACAEIAIpAgA3A7AXIARBsBdqIAYQGUHIAGxqIAw2AiwLIAIoAgAhBiAEQagXaiACKQIINwMAIAQgAikCADcDoBcCQCAGIARBoBdqIAwQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARBmBdqIAIpAgg3AwAgBCACKQIANwOQFyAEQZAXaiAGEBlByABsaigCKCAFRw0AIAIoAgAgBEGIF2ogAikCCDcDACAEIAIpAgA3A4AXIARBgBdqIAYQGUHIAGxqIAw2AigLIAIoAgAhBiAEQfgWaiACKQIINwMAIAQgAikCADcD8BYCQCAGIARB8BZqIAwQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARB6BZqIAIpAgg3AwAgBCACKQIANwPgFiAEQeAWaiAGEBlByABsaigCLCAFRw0AIAIoAgAgBEHYFmogAikCCDcDACAEIAIpAgA3A9AWIARB0BZqIAYQGUHIAGxqIAw2AiwLIAMQ8AEhCSADEPABIQcgAigCACAEQcgWaiACKQIINwMAIAQgAikCADcDwBYgBEHAFmogBRAZQcgAbGooAjghBiADKAIAIARBuBZqIAMpAgg3AwAgBCADKQIANwOwFiAEQbAWaiAGEBlBKGxqQQI2AgAgAygCACAEQagWaiADKQIINwMAIAQgAykCADcDoBYgBEGgFmogBhAZQShsaiILIAQpA9gZNwMIIAsgBEHgGWopAwA3AxAgAygCACAEQZgWaiADKQIINwMAIAQgAykCADcDkBYgBEGQFmogBhAZQShsaiAANgIEIAMoAgAgBEGIFmogAykCCDcDACAEIAMpAgA3A4AWIARBgBZqIAYQGUEobGogBzYCICADKAIAIARB+BVqIAMpAgg3AwAgBCADKQIANwPwFSAEQfAVaiAGEBlBKGxqIAk2AiQgAygCACAEQegVaiADKQIINwMAIAQgAykCADcD4BUgBEHgFWogCRAZQShsakEDNgIAIAMoAgAgBEHYFWogAykCCDcDACAEIAMpAgA3A9AVIARB0BVqIAkQGUEobGogBTYCGCADKAIAIARByBVqIAMpAgg3AwAgBCADKQIANwPAFSAEQcAVaiAJEBlBKGxqIAY2AhwgAygCACAEQbgVaiADKQIINwMAIAQgAykCADcDsBUgBEGwFWogBxAZQShsakEDNgIAIAMoAgAgBEGoFWogAykCCDcDACAEIAMpAgA3A6AVIARBoBVqIAcQGUEobGogDDYCGCADKAIAIARBmBVqIAMpAgg3AwAgBCADKQIANwOQFSAEQZAVaiAHEBlBKGxqIAY2AhwgAigCACAEQYgVaiACKQIINwMAIAQgAikCADcDgBUgBEGAFWogBRAZQcgAbGogCTYCOCACKAIAIARB+BRqIAIpAgg3AwAgBCACKQIANwPwFCAEQfAUaiAMEBlByABsaiAHNgI4CyABQTBBLCAKGyIQIAEgAEE4bGpqKAIAQThsai0AICELIAggBEHYGWogBCgCgBogASADEPIFIQkgC0UEQCACELcDIQUgAigCACEGIARB6BRqIAIpAgg3AwAgBCACKQIANwPgFCACQRhqIAYgBEHgFGogCRAZQcgAbGpByAAQICEHIARB2BRqIAIpAgg3AwAgBCACKQIANwPQFCAEQdAUaiAFEBkhBgJAAkAgAigCECIKDgIBAwALIARBiBRqIg0gAigCACAGQcgAbGpByAAQIBogDSAKEQEACyACKAIAIAZByABsaiAHQcgAECAaIAIoAgAgBEGAFGogAikCCDcDACAEIAIpAgA3A/gTIARB+BNqIAkQGUHIAGxqIgYgCCkDADcDGCAGIAgpAwg3AyAgAigCACAEQfATaiACKQIINwMAIAQgAikCADcD6BMgBEHoE2ogBRAZQcgAbGoiBiAIKQMANwMIIAYgCCkDCDcDECACKAIAIARB4BNqIAIpAgg3AwAgBCACKQIANwPYEyAEQdgTaiAJEBlByABsaiAFNgIwIAIoAgAgBEHQE2ogAikCCDcDACAEIAIpAgA3A8gTIARByBNqIAkQGUHIAGxqQQA2AjQgAigCACAEQcATaiACKQIINwMAIAQgAikCADcDuBMgBEG4E2ogBRAZQcgAbGogCTYCKCACKAIAIARBsBNqIAIpAgg3AwAgBCACKQIANwOoEyAEQagTaiAFEBlByABsakEANgIsIAIoAgAhBiAEQaATaiACKQIINwMAIAQgAikCADcDmBMCQCAGIARBmBNqIAUQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARBkBNqIAIpAgg3AwAgBCACKQIANwOIEyAEQYgTaiAGEBlByABsaigCKCAJRw0AIAIoAgAgBEGAE2ogAikCCDcDACAEIAIpAgA3A/gSIARB+BJqIAYQGUHIAGxqIAU2AigLIAIoAgAhBiAEQfASaiACKQIINwMAIAQgAikCADcD6BICQCAGIARB6BJqIAUQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARB4BJqIAIpAgg3AwAgBCACKQIANwPYEiAEQdgSaiAGEBlByABsaigCLCAJRw0AIAIoAgAgBEHQEmogAikCCDcDACAEIAIpAgA3A8gSIARByBJqIAYQGUHIAGxqIAU2AiwLIAIoAgAhBiAEQcASaiACKQIINwMAIAQgAikCADcDuBICQCAGIARBuBJqIAUQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARBsBJqIAIpAgg3AwAgBCACKQIANwOoEiAEQagSaiAGEBlByABsaigCKCAJRw0AIAIoAgAgBEGgEmogAikCCDcDACAEIAIpAgA3A5gSIARBmBJqIAYQGUHIAGxqIAU2AigLIAIoAgAhBiAEQZASaiACKQIINwMAIAQgAikCADcDiBICQCAGIARBiBJqIAUQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARBgBJqIAIpAgg3AwAgBCACKQIANwP4ESAEQfgRaiAGEBlByABsaigCLCAJRw0AIAIoAgAgBEHwEWogAikCCDcDACAEIAIpAgA3A+gRIARB6BFqIAYQGUHIAGxqIAU2AiwLIAMQ8AEhByADEPABIQogAigCACAEQeARaiACKQIINwMAIAQgAikCADcD2BEgBEHYEWogCRAZQcgAbGooAjghBiADKAIAIARB0BFqIAMpAgg3AwAgBCADKQIANwPIESAEQcgRaiAGEBlBKGxqQQI2AgAgAygCACAEQcARaiADKQIINwMAIAQgAykCADcDuBEgBEG4EWogBhAZQShsaiIOIAgpAwA3AwggDiAIKQMINwMQIAMoAgAgBEGwEWogAykCCDcDACAEIAMpAgA3A6gRIARBqBFqIAYQGUEobGogADYCBCADKAIAIARBoBFqIAMpAgg3AwAgBCADKQIANwOYESAEQZgRaiAGEBlBKGxqIAo2AiAgAygCACAEQZARaiADKQIINwMAIAQgAykCADcDiBEgBEGIEWogBhAZQShsaiAHNgIkIAMoAgAgBEGAEWogAykCCDcDACAEIAMpAgA3A/gQIARB+BBqIAcQGUEobGpBAzYCACADKAIAIARB8BBqIAMpAgg3AwAgBCADKQIANwPoECAEQegQaiAHEBlBKGxqIAk2AhggAygCACAEQeAQaiADKQIINwMAIAQgAykCADcD2BAgBEHYEGogBxAZQShsaiAGNgIcIAMoAgAgBEHQEGogAykCCDcDACAEIAMpAgA3A8gQIARByBBqIAoQGUEobGpBAzYCACADKAIAIARBwBBqIAMpAgg3AwAgBCADKQIANwO4ECAEQbgQaiAKEBlBKGxqIAU2AhggAygCACAEQbAQaiADKQIINwMAIAQgAykCADcDqBAgBEGoEGogChAZQShsaiAGNgIcIAIoAgAgBEGgEGogAikCCDcDACAEIAIpAgA3A5gQIARBmBBqIAkQGUHIAGxqIAc2AjggAigCACAEQZAQaiACKQIINwMAIAQgAikCADcDiBAgBEGIEGogBRAZQcgAbGogCjYCOAsgDyAQaiETIAJBGGohFEEAIRAgDCEFQQAhDgNAAkACQCAFIghBAWtBfUsNACACKAIAIQUgBEGAEGogAikCCDcDACAEIAIpAgA3A/gPIARB+A9qIAgQGSEGIAIoAgAhByAEQfAPaiACKQIINwMAIAQgAikCADcD6A8gBEHoD2ogCRAZIQoCQCAFIAZByABsaiIFKwAgIhUgByAKQcgAbGoiBisAICIWREivvJry13o+oGQNACAVIBZESK+8mvLXer6gY0UgBSsAGCIXIAYrABgiGGRxDQAgFSAWoZlESK+8mvLXej5lRSAXIBihmURIr7ya8td6PmVFcg0BCyACKAIAIARB4A9qIAIpAgg3AwAgBCACKQIANwPYDyAEQdgPaiAIEBlByABsaigCOCEFIAMQ8AEhByADEPABIQogAygCACAEQdAPaiADKQIINwMAIAQgAykCADcDyA8gBEHID2ogBRAZQShsakEBNgIAIAMoAgAgBEHAD2ogAykCCDcDACAEIAMpAgA3A7gPIARBuA9qIAUQGUEobGogADYCBCADKAIAIARBsA9qIAMpAgg3AwAgBCADKQIANwOoDyAEQagPaiAFEBlBKGxqIAc2AiAgAygCACAEQaAPaiADKQIINwMAIAQgAykCADcDmA8gBEGYD2ogBRAZQShsaiAKNgIkIAMoAgAgBEGQD2ogAykCCDcDACAEIAMpAgA3A4gPIARBiA9qIAcQGUEobGpBAzYCACADKAIAIARBgA9qIAMpAgg3AwAgBCADKQIANwP4DiAEQfgOaiAHEBlBKGxqIAg2AhggAygCACAEQfAOaiADKQIINwMAIAQgAykCADcD6A4gBEHoDmogBxAZQShsaiAFNgIcIAMoAgAgBEHgDmogAykCCDcDACAEIAMpAgA3A9gOIARB2A5qIAoQGUEobGpBAzYCACACELcDIQYgAygCACAEQdAOaiADKQIINwMAIAQgAykCADcDyA4gBEHIDmogChAZQShsaiAGNgIYIAIoAgAgBEHADmogAikCCDcDACAEIAIpAgA3A7gOIARBuA5qIAYQGUHIAGxqQQE6AEQgAygCACAEQbAOaiADKQIINwMAIAQgAykCADcDqA4gBEGoDmogChAZQShsaiAFNgIcIAIoAgAgBEGgDmogAikCCDcDACAEIAIpAgA3A5gOIARBmA5qIAgQGSACKAIAIREgBEGQDmogAikCCDcDACAEIAIpAgA3A4gOIARBiA5qIAkQGSESQcgAbGoiBSsAICEVIBEgEkHIAGxqIg0rACAhFiAFKwAYIRcgDSsAGCEYIAIoAgAhBSAEQYAOaiACKQIINwMAIAQgAikCADcD+A0gFCAFIARB+A1qIAgQGUHIAGxqQcgAECAhDSAEQfANaiACKQIINwMAIAQgAikCADcD6A0gBEHoDWogBhAZIQUCQAJAIAIoAhAiEQ4CAQUACyAEQaANaiISIAIoAgAgBUHIAGxqQcgAECAaIBIgEREBAAsgBiAQIBcgGKGZREivvJry13o+ZRsgECAVIBahmURIr7ya8td6PmUbIRAgBiAOIAggDEYbIQ4gAigCACAFQcgAbGogDUHIABAgGiACKAIAIARBmA1qIAIpAgg3AwAgBCACKQIANwOQDSAEQZANaiAIEBlByABsaiAHNgI4IAIoAgAgBEGIDWogAikCCDcDACAEIAIpAgA3A4ANIARBgA1qIAYQGUHIAGxqIAo2AjggAigCACAEQfgMaiACKQIINwMAIAQgAikCADcD8AwgBEHwDGogCBAZQcgAbGooAjBBAWtBfkkNASACKAIAIARB6AxqIAIpAgg3AwAgBCACKQIANwPgDCAEQeAMaiAIEBlByABsaigCNEEBa0F+SQ0BQdqCBEETQQFBqPMIKAIAEDsaCyAAIAwgCUEBIAIgAxCtDiAAIA4gEEECIAIgAxCtDiAPQQE6ACAgBEGQGmokAA8LIAIoAgAhBSAEQdgMaiACKQIINwMAIAQgAikCADcD0AwCfwJAIAUgBEHQDGogCBAZQcgAbGooAjBBAWtBfUsNACACKAIAIARByAxqIAIpAgg3AwAgBCACKQIANwPADCAEQcAMaiAIEBlByABsaigCNEEBa0F+SQ0AIARB2BlqIgcgASACIAggBhCNCCACKAIAIARBuAxqIAIpAgg3AwAgBCACKQIANwOwDCAEQbAMaiAIEBlByABsaisDICEVIAIoAgAhBSAEQagMaiACKQIINwMAIAQgAikCADcDoAwCQAJAIBUgBSAEQaAMaiAJEBlByABsaisDIKGZREivvJry13o+ZUUNACACKAIAIARBmAxqIAIpAgg3AwAgBCACKQIANwOQDCAEQZAMaiAIEBlByABsaisDGCACKAIAIARBiAxqIAIpAgg3AwAgBCACKQIANwOADCAEQYAMaiAJEBlByABsaisDGKGZREivvJry13o+ZUUgC0VyDQACQCATKAIAIgVBAEwNACAFIAEgBxDJBEUNACACKAIAIQUgBEG4C2ogAikCCDcDACAEIAIpAgA3A7ALIAUgBEGwC2ogCBAZQcgAbGooAjAhByAEQagLaiACKQIINwMAIAQgAikCADcDoAsgBSAEQaALaiAHEBlByABsaiAINgIoIAIoAgAgBEGYC2ogAikCCDcDACAEIAIpAgA3A5ALIARBkAtqIAYQGUHIAGxqQX82AjAgAigCACAEQYgLaiACKQIINwMAIAQgAikCADcDgAsgBEGAC2ogBhAZQcgAbGpBfzYCNAwCCyACKAIAIQUgBEH4C2ogAikCCDcDACAEIAIpAgA3A/ALIAUgBEHwC2ogBhAZQcgAbGooAjAhByAEQegLaiACKQIINwMAIAQgAikCADcD4AsgBSAEQeALaiAHEBlByABsaiAGNgIsIAIoAgAgBEHYC2ogAikCCDcDACAEIAIpAgA3A9ALIARB0AtqIAgQGUHIAGxqQX82AjAgAigCACAEQcgLaiACKQIINwMAIAQgAikCADcDwAsgBEHAC2ogCBAZQcgAbGpBfzYCNAwBCyACKAIAIQUgBEH4CmogAikCCDcDACAEIAIpAgA3A/AKIAUgBEHwCmogCBAZQcgAbGooAjAhByAEQegKaiACKQIINwMAIAQgAikCADcD4AoCQCAFIARB4ApqIAcQGUHIAGxqKAIoQQFrQX1LDQAgAigCACEFIARB2ApqIAIpAgg3AwAgBCACKQIANwPQCiAFIARB0ApqIAgQGUHIAGxqKAIwIQcgBEHICmogAikCCDcDACAEIAIpAgA3A8AKIAUgBEHACmogBxAZQcgAbGooAixBAWtBfUsNACACKAIAIQUgBEG4CmogAikCCDcDACAEIAIpAgA3A7AKIAUgBEGwCmogCBAZQcgAbGooAjAhByAEQagKaiACKQIINwMAIAQgAikCADcDoAogBSAEQaAKaiAHEBlByABsaigCKCEHIAIoAgAhBSAEQZgKaiACKQIINwMAIAQgAikCADcDkAogBSAEQZAKaiAIEBlByABsaigCMCEKIARBiApqIAIpAgg3AwAgBCACKQIANwOACiAFIARBgApqIAoQGUHIAGxqIgVBLGogBUEoaiAHIAhGIgcbKAIAIQogAigCACEFIARB+AlqIAIpAgg3AwAgBCACKQIANwPwCSAFIARB8AlqIAgQGUHIAGxqKAIwIQ0gBEHoCWogAikCCDcDACAEIAIpAgA3A+AJIAUgBEHgCWogDRAZQcgAbGogCjYCPCACKAIAIQUgBEHYCWogAikCCDcDACAEIAIpAgA3A9AJIAUgBEHQCWogCBAZQcgAbGooAjAhCiAEQcgJaiACKQIINwMAIAQgAikCADcDwAkgBSAEQcAJaiAKEBlByABsakEBQQIgBxs2AkALIAIoAgAhBSAEQbgJaiACKQIINwMAIAQgAikCADcDsAkgBSAEQbAJaiAIEBlByABsaigCMCEHIARBqAlqIAIpAgg3AwAgBCACKQIANwOgCSAFIARBoAlqIAcQGUHIAGxqIAg2AiggAigCACEFIARBmAlqIAIpAgg3AwAgBCACKQIANwOQCSAFIARBkAlqIAgQGUHIAGxqKAIwIQcgBEGICWogAikCCDcDACAEIAIpAgA3A4AJIAUgBEGACWogBxAZQcgAbGogBjYCLAsgAigCACAEQfgIaiACKQIINwMAIAQgAikCADcD8AggBEHwCGogCBAZQcgAbGpBMGoMAQsgAigCACEFIARB6AhqIAIpAgg3AwAgBCACKQIANwPgCAJAIAUgBEHgCGogCBAZQcgAbGooAjBBAWtBfkkNACACKAIAIARB2AhqIAIpAgg3AwAgBCACKQIANwPQCCAEQdAIaiAIEBlByABsaigCNEEBa0F9Sw0AIARB2BlqIgcgASACIAggBhCNCCACKAIAIARByAhqIAIpAgg3AwAgBCACKQIANwPACCAEQcAIaiAIEBlByABsaisDICEVIAIoAgAhBSAEQbgIaiACKQIINwMAIAQgAikCADcDsAgCQAJAIBUgBSAEQbAIaiAJEBlByABsaisDIKGZREivvJry13o+ZUUNACACKAIAIARBqAhqIAIpAgg3AwAgBCACKQIANwOgCCAEQaAIaiAIEBlByABsaisDGCACKAIAIARBmAhqIAIpAgg3AwAgBCACKQIANwOQCCAEQZAIaiAJEBlByABsaisDGKGZREivvJry13o+ZUUgC0VyDQACQCATKAIAIgVBAEwNACAFIAEgBxDJBEUNACACKAIAIQUgBCACKQIINwPIByAEIAIpAgA3A8AHIAUgBEHAB2ogCBAZQcgAbGooAjQhByAEIAIpAgg3A7gHIAQgAikCADcDsAcgBSAEQbAHaiAHEBlByABsaiAINgIoIAIoAgAgBCACKQIINwOoByAEIAIpAgA3A6AHIARBoAdqIAYQGUHIAGxqQX82AjAgAigCACAEIAIpAgg3A5gHIAQgAikCADcDkAcgBEGQB2ogBhAZQcgAbGpBfzYCNAwCCyACKAIAIQUgBEGICGogAikCCDcDACAEIAIpAgA3A4AIIAUgBEGACGogBhAZQcgAbGooAjQhByAEIAIpAgg3A/gHIAQgAikCADcD8AcgBSAEQfAHaiAHEBlByABsaiAGNgIsIAIoAgAgBCACKQIINwPoByAEIAIpAgA3A+AHIARB4AdqIAgQGUHIAGxqQX82AjAgAigCACAEIAIpAgg3A9gHIAQgAikCADcD0AcgBEHQB2ogCBAZQcgAbGpBfzYCNAwBCyACKAIAIQUgBCACKQIINwOIByAEIAIpAgA3A4AHIAUgBEGAB2og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IARB0AVqIBIQGUEobGpBAzYCACAEIAApAwA3A8gFIAQgBCkDoAg3A8AFIAQoAqAIIARBwAVqIBIQGUEobGogBzYCHCAFELcDIQcgBRC3AyEKIAUQtwMhDCAFELcDIQ0gBSgCACAEIAUpAgg3A7gFIAQgBSkCADcDsAUgBEGwBWogBxAZIAQgACkDADcDqAUgBCAEKQOgCDcDoAVByABsaiIIIAQoAqAIIARBoAVqIAkQGUEobGoiCykDCDcDCCAIIAspAxA3AxAgBSgCACAEIAUpAgg3A5gFIAQgBSkCADcDkAUgBEGQBWogChAZIAQgACkDADcDiAUgBCAEKQOgCDcDgAVByABsaiIIIAQoAqAIIARBgAVqIAkQGUEobGoiCykDCDcDCCAIIAspAxA3AxAgBSgCACAEIAUpAgg3A/gEIAQgBSkCADcD8AQgBEHwBGogDRAZIAQgACkDADcD6AQgBCAEKQOgCDcD4ARByABsaiIIIAQoAqAIIARB4ARqIAkQGUEobGoiCykDCDcDGCAIIAspAxA3AyAgBSgCACAEIAUpAgg3A9gEIAQgBSkCADcD0AQgBEHQBGogBxAZIAQgACkDADcDyAQgBCAEKQOgCDcDwARByABsaiIIIAQoAqAIIARBwARqIAYQGUEobGoiCykDCDcDGCAIIAspAxA3AyAgBSgCACAEIAUpAgg3A7gEIAQgBSkCADcDsAQgBEGwBGogChAZIAQgACkDADcDqAQgBCAEKQOgCDcDoARByABsaiIIIAQoAqAIIARBoARqIAYQGUEobGoiCykDCDcDGCAIIAspAxA3AyAgBSgCACAEIAUpAgg3A5gEIAQgBSkCADcDkAQgBEGQBGogDBAZIAQgACkDADcDiAQgBCAEKQOgCDcDgARByABsaiIIIAQoAqAIIARBgARqIAYQGUEobGoiBikDCDcDCCAIIAYpAxA3AxAgBSgCACAEIAUpAgg3A/gDIAQgBSkCADcD8AMgBEHwA2ogDRAZQcgAbGpC//////////f/ADcDECAFKAIAIAQgBSkCCDcD6AMgBCAFKQIANwPgAyAEQeADaiANEBlByABsakL/////////9/8ANwMIIAUoAgAgBCAFKQIINwPYAyAEIAUpAgA3A9ADIARB0ANqIAwQGUHIAGxqQv////////93NwMgIAUoAgAgBCAF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AkAgBiAFQShsaiIBKAIgRQ0AIAMgAikDGDcDmAEgAyACKQMQNwOQASADIAIpAwg3A4gBIAMgAikDADcDgAEgAyABKQMINwNoIAMgASkDEDcDcCADIAEpAxg3A3ggAyABKQMANwNgIANBgAFqIANB4ABqEIoDRQ0AIAEoAiAhASADIAIpAxg3A1ggAyACKQMQNwNQIAMgAikDCDcDSCADIAIpAwA3A0AgACABIANBQGsQuA4hByAEIgFFBEAgByEEDAELA0AgASIIKAIAIgENAAsgCCAHNgIACyAFQQFqIQUMAAsACyADQaABaiQAIAQLfQEEfyAAQShqIQICQCAAKAIEQQBKBEADQCABQcAARg0CIAIgAUEobGoiAygCACIEBEAgBBC5DiADKAIAEBggACABELoOCyABQQFqIQEMAAsACwNAIAFBwABGDQEgAiABQShsaigCAARAIAAgARC6DgsgAUEBaiEBDAALAAsLXQACQCAARSABQcAAT3JFBEAgACABQShsaiIBKAIoRQ0BIAFBCGoQuw4gACAAKAIAQQFrNgIADwtBy9sBQau9AUGtAUHK+gAQAAALQfWlAUGrvQFBrgFByvoAEAAACw4AIAAQvQ4gAEEANgIgCzoBAX8gAEKAgICAcDcDACAAQQhqIQFBACEAA0AgAEHAAEcEQCABIABBKGxqELsOIABBAWohAAwBCwsLJQEBfwNAIAFBBEcEQCAAIAFBA3RqQgA3AwAgAUEBaiEBDAELCwvyAwEDfyMAQfAAayIDJAACQAJAAkACQANAIAQgACgACE8NASAAKAIAIAMgACkCCDcDSCADIAApAgA3A0AgA0FAayAEEBlBHGxqKAIAIgVFDQMgAkUNBCAFIAIQTARAIARBAWohBAwBCwsgACgCACADIAApAgg3AzggAyAAKQIANwMwIANBMGogBBAZQRxsaiABNgIYIAAoAgAgAyAAKQIINwMoIAMgACkCADcDICADQSBqIAQQGUEcbGpBBGpBBBAnIQEgACgCACADIAApAgg3AxggAyAAKQIANwMQIANBEGogBBAZQRxsaigCGCECIAAoAgAgAyAAKQIINwMIIAMgACkCADcDACADIAQQGUEcbGooAgQgAUECdGogAjYCAAwBCyADQQA2AmggA0IANwJgIAMgATYCbCADQgA3AlggAyACNgJUIANB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ASgCsAIgAEEcbGoiACkCCDcDOCABQUBrIAApAhA3AwAgASAAKAIYNgJIIAEgACkCADcDMCABQTBqIAMRAQALIAJBAWohAgwBCwALAAUgASABKQLoAjcDKCABIAEpAuACNwMgIAFBIGogAhAZIQACQAJAIAEoAvACIgMOAgEHAAsgASABKALgAiAAQRxsaiIAKQIINwMIIAEgACkCEDcDECABIAAoAhg2AhggASAAKQIANwMAIAEgAxEBAAsgAkEBaiECDAELAAsACyAAIAUQbiECA0BBACEDAkACQAJAIAJFBEBBACECA0AgAiABKALoAiIETw0CIAEgASkC6AI3A5ABIAEgASkC4AI3A4gBIAEoAuACIAFBiAFqIAIQGUEcbGooAAxBAk8EQCABIAEpAugCNwOAASABIAEpAuACNwN4IAEgASgC4AIgAUH4AGogAhAZQRxsaiIEKQIUNwNwIAEgBCkCDDcDaCABIAQpAgQ3A2AgBSABQeAAahC/DgsgAkEBaiECDAALAAsgAkFQQQAgAigCAEEDcSIDQQJHG2ooAigiBCACIAJBMGoiBiADQQNGGygCKEYNAgJAIAQgBUcNAEGs2gooAgAiBEUNACACIAQQRCIDLQAADQIgAigCAEEDcSEDCyACIAYgA0EDRhsoAiggBUcNAkGw2gooAgAiA0UNAiACIAMQRCIDLQAARQ0CIAFBsAJqIAIgAxC+DgwCCwNAAkAgAyAETwRAIAFB4AJqQRwQM0EAIQNBACECA0AgAiABKAK4AiIETw0CIAEgASkCuAI3A/gBIAEgASkCsAI3A/ABIAEoArACIAFB8AFqIAIQGUEcbGooAAxBAk8EQCABIAEpArgCNwPoASABIAEpArACNwPgASABIAEoArACIAFB4AFqIAIQGUEcbGoiBCkCFDcD2AEgASAEKQIMNwPQASABIAQpAgQ3A8gBIAUgAUHIAWoQvw4LIAJBAWohAgwACwALIAEgASkC6AI3A8ABIAEgASkC4AI3A7gBIAFBuAFqIAMQGSECAkACQCABKALwAiIEDgIBCQALIAEgASgC4AIgAkEcbGoiAikCCDcDoAEgASACKQIQNwOoASABIAIoAhg2ArABIAEgAikCADcDmAEgAUGYAWogBBEBAAsgA0EBaiEDIAEoAugCIQQMAQsLA0AgAyAETwRAIAFBsAJqQRwQMyAAIAUQHSEFDAUFIAEgASkCuAI3A6gCIAEgASkCsAI3A6ACIAFBoAJqIAMQGSECAkACQCABKALAAiIEDgIBCQALIAEgASgCsAIgAkEcbGoiAikCCDcDiAIgASACKQIQNwOQAiABIAIoAhg2ApgCIAEgAikCADcDgAIgAUGAAmogBBEBAAsgA0EBaiEDIAEoArgCIQQMAQsACwALIAFB4AJqIAIgAxC+DgsgACACIAUQciECDAALAAsACyABQZADaiQADwtBvoAEQcIAQQFBqPMIKAIAEDsaEDwACxwBAX9BASECIAAgARDQDgR/QQEFIAAgARDPDgsLQAECfwJAIAEgACgCAE8NACACIAAoAgQiBE8NACAAKAIIIAEgBGwgAmoiAEEDdmotAAAgAEEHcXZBAXEhAwsgAwvOAgEKfwJAAkAgAARAIAAoAgAiBSABSyAAKAIEIgQgAktxRQRAIAQgAkEBaiIDIAMgBEkbIgQgBSABQQFqIgMgAyAFSRsiBWwiA0EDdiADQQdxQQBHahDGAyEHIAAoAgAhCANAIAYgCEcEQCAEIAZsIQkgACgCBCEKQQAhAwNAIAMgCkYEQCAGQQFqIQYMAwsgACAGIAMQwg4EQCAHIAMgCWoiC0EDdmoiDCAMLQAAQQEgC0EHcXRyOgAACyADQQFqIQMMAAsACwsgACgCCBAYIAAgBzYCCCAAIAQ2AgQgACAFNgIACyABIAVPDQEgAiAETw0CIAAoAgggASAEbCACaiIAQQN2aiIBIAEtAABBASAAQQdxdHI6AAAPC0Gy1AFBurgBQccAQZoiEAAAC0G6JkG6uAFB5ABBmiIQAAALQdwsQbq4AUHlAEGaIhAAAAuqAgEHfyMAQRBrIgQkACAAKAIAIgMoAhAhBSADKAIIIQYgAgRAEJ4OCyAFQRhqIgIhAANAIAAoAgAiAARAIAAoAghFBEAQng4LIABBDGohAAwBCwsgAUGCAmsiAUEDSQRAIAMgARCgCCACIQADQCAAKAIAIgAEQAJAIAAoAgBBiwJGDQACQCAAKAIEIgMtABUEQCAFKAIAIAZGDQELIAAoAggQdSAAKAIIIQMgBSgCACEHIAAoAgQoAgghCARAIAcgASAIIAMQ6AMhAwwBCyAHIAEgCCADECIhAwsgBSgCACAGRw0AIANBAToAFgsgAEEMaiEADAELCyAGIAIQugIgBEEQaiQADwsgBEH2AjYCBCAEQY0SNgIAQajzCCgCAEHmvAQgBBAfGhA8AAtMAQF/A0AgACIBKAIQKAJ4IgANAAsgAUEwQQAgASgCAEEDcSIAQQNHG2ooAigoAhAoAugBIAFBUEEAIABBAkcbaigCKCgCECgC6AFHC88EAQd/IwBBIGsiBCQAAkACQAJAAkACQCABQVBBACABKAIAQQNxIgVBAkcbaigCKCIGKAIQKALQASIHRQ0AIAFBMEEAIAVBA0cbaiEIA0AgByADQQJ0aigCACICRQ0BIANBAWohAyACQVBBACACKAIAQQNxQQJHG2ooAiggCCgCKEcNAAsgASACEI0DAkAgAigCECIALQBwQQRHDQAgACgCeA0AIAAgATYCeAsgASABQTBqIgAgASgCAEEDcUEDRhsoAigoAhAiAygC5AEiAkEBaiIFQf////8DTw0CIAJBAmoiAkGAgICABE8NAyADKALgASEDAkAgAkUEQCADEBhBACECDAELIAMgAkECdCIDEGYiAkUNBSADIAVBAnQiBU0NACACIAVqQQA2AAALIAEgACABKAIAQQNxQQNGGygCKCgCECACNgLgASABIAAgASgCAEEDcUEDRhsoAigoAhAiAiACKALkASIDQQFqNgLkASACKALgASADQQJ0aiABNgIAIAEgACABKAIAQQNxQQNGGygCKCgCECIAKALgASAAKALkAUECdGpBADYCAAwBCyAGIAFBMEEAIAVBA0cbaigCKCABEKUIIgIoAhAiA0EEQQMgASgCECIBLQBwQQRGGzoAcCADIAEoAmA2AmAgACACEPwFCyAEQSBqJAAPC0GgvQNBz/wAQc0AQe2yARAAAAsgBEEENgIEIAQgAjYCAEGo8wgoAgBBtOcDIAQQHxoQLAALIAQgAzYCEEGo8wgoAgBBg+cDIARBEGoQHxoQLAALvAEBA38gASgCECIEQQE2ArABAkAgBCgC1AFFDQADQCAEKALQASAFQQJ0aigCACIGRQ0BAkAgACAGEPkFRQ0AIAZBUEEAIAYoAgBBA3FBAkcbaigCKCIEKAIQKAKwAQ0AIAAgBCACIAMQxw4LIAVBAWohBSABKAIQIQQMAAsACyADIAQoAvQBRwRAQe47Qbq4AUGKC0HiORAAAAsgAiABNgIUIAJBBBAnIQAgAigCACAA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IAEQzQ4gBUEBaiEFIAYoAhAiBCgC7AEhBwwBCwsgBCAMOgCRAkEAIQQLIARFDQALQQAhAgNAIAIgAygCQE8NBCADIANBQGspAwA3AyAgAyADKQM4NwMYIANBGGogAhAZIQACQAJAAkAgAygCSCIBDgICAAELIAMoAjggAEECdGooAgAQGAwBCyADKAI4IABBAnRqKAIAIAERAQALIAJBAWohAgwACwALIAIoAhAgCWooAgAhAgwBCwtByPoKKAIAIQUgACgCECICKALoASEEA0AgAigC7AEgBE4EQCAEQcgAbCIBIAUoAhAoAsQBakEAOgAxAkAgAi0AdEEBcUUNACACKALEASABaiIBKAIAIgZBAEwNACAGQQFrIgZBAXZBAWohByABKAIEIQFBACECA0AgAiAHRwRAIAEgAkECdGooAgAgASAGIAJrQQJ0aigCABCVCCACQQFqIQIMAQsLIAAoAhAhAgsgBEEBaiEEDAELCwJAIAAQYCAARw0AEMsEQgBXDQAgAEEAEJQIC0EAIQRBACECA0AgAiADKAJATw0BIAMgA0FAaykDADcDECADIAMpAzg3AwggA0EIaiACEBkhAAJAAkACQCADKAJIIgEOAgIAAQsgAygCOCAAQQJ0aigCABAYDAELIAMoAjggAEECdGooAgAgAREBAAsgAkEBaiECDAALAAsgA0E4aiIAQQQQMyAAEDggA0HQAGokACAEC80IAgp/An5CfyELAkACfyAAIgIQ5g0gACgCECIAQQE2AtwBIAAoAtgBIAAoAsABNgIAIAIQ2w4CQAJAIAJBABDZDiIDDQAgAigCECIAKALoASAAKALsAUoNASACEGAhASACKAIQIgMoAugBIgRBAEoEQCABKAIQKALEASAEQcgAbGpBF2tBADoAAAsDQCADKALsASAETgRAIAEgBCADKAKMAiAEQQJ0aigCACgCECgC+AEiACAEQcgAbCIIIAMoAsQBaigCABDkDUEAIQUgACEGA0AgAigCECIDKALEASAIaiIHKAIAIAVKBEAgASgCECgCxAEgCGooAgQgBkECdGogBygCBCAFQQJ0aigCACIDNgIAIAMoAhAiByAGNgL4ASAHLQCsAUEBRgRAIAMgARA5NgIYCyAGQQFqIQYgAiADEP0FIAEgAxCkCCAFQQFqIQUMAQsLIAcgASgCECgCxAEgCGoiBSgCBCAAQQJ0ajYCBCAFQQA6ADEgBEEBaiEEDAELCyABKAIQIgAoAuwBIARKBEAgACgCxAEgBEHIAGxqQQA6ADELIANBAToAkAIgAhBgIQQgAhAcIQYDQCAGBEBBACEBIAQgBhBuIQUDQCAFIgBFBEAgAiAGEB0hBgwDCyAEIAAgBhByIQUgAiAAEKsBDQAgASAAQVBBACAAKAIAQQNxQQJHG2oiABDnDSAAQVBBACAAKAIAQQNxIgdBAkcbaigCKCIDKAIQKAL0ASEIIABBMEEAIAdBA0cbaigCKCIHKAIQKAL0ASEJBEAgACgCECIDIAFBACAIIAlGGzYCsAEgASgCECIIKAKwAUUNASADQQA2ArABIAIgACAIKAKwAUEAEMYEIAAQ8Q4MAQsgCCAJRgRAIAcgAxD0DiIDRQRAIAAiASgCECgCsAENAiAEIAAQ/AUMAgsgACADRg0BIAAQ8Q4gACgCECgCsAENASAAIAMQjQMMAQsgCCAJSgRAIAcgAyAAEOMNBSADIAcgABDjDQsgACEBDAALAAsLIAIoAhAiASgC6AEhBEEAIQMDQCAEIAEoAuwBSg0BIARBAnQiBiABKAKMAmooAgAhAANAIAAoAhAiBSgCyAEoAgAiAQRAIAEQlAIgASgCEBAYIAEQGAwBCwsDQCAFKALAASgCACIBBEAgARCUAiABEBggACgCECEFDAELCyACEGAgABD9BSAAKAIQKALAARAYIAAoAhAoAsgBEBggACgCEBAYIAAQGCACKAIQKAKMAiAGakEANgIAIARBAWohBCACKAIQIQEMAAsACyADDAELQZ+xA0HTuQFB3gFBtC0QAAALDQAgAhCZCCACENgOIAIQ1w4gAkECEJgIIgtCAFMNAEEBIQADQCACKAIQIgEoArQBIABOBEAgASgCuAEgAEECdGooAgAQ2g4iDEIAUwRAIAwPBSAAQQFqIQAgCyAMfCELDAILAAsLIAIQ0w4LIAsL7AIBBn8gACgCECgC7AFBAmpBBBA+IQYgABAcIQIDQCACBEAgBiACKAIQKAL0AUECdGoiASABKAIAQQFqNgIAIAAgAhAtIQEDQCABBEAgAUEwQQAgASgCAEEDcSIDQQNHG2ooAigoAhAoAvQBIgQgAUFQQQAgA0ECRxtqKAIoKAIQKAL0ASIFIAQgBUgbIQMgBCAFIAQgBUobIQQDQCADQQFqIgMgBE5FBEAgBiADQQJ0aiIFIAUoAgBBAWo2AgAMAQsLIAAgARAwIQEMAQsLIAAgAhAdIQIMAQsLIAAoAhAoAuwBQQJqQcgAED4hASAAKAIQIgIgATYCxAEgAigC6AEhAwNAIAMgAigC7AFKRQRAIAEgA0HIAGwiAmoiBCAGIANBAnRqKAIAQQFqIgE2AgggBCABNgIAIAFBBBA+IQQgAiAAKAIQIgIoAsQBIgFqIgUgBDYCDCAFIAQ2AgQgA0EBaiEDDAELCyAGEBgLvwQCBX8BfiMAQRBrIgYkAEEBIQQDQCAEIAAoAhAiAygCtAFKRQRAIAMoArgBIARBAnRqKAIAIAEgAhDcDiECIARBAWohBAwBCwsCQAJAIAAQYCAARg0AIAEiAygCBCIEQSFPBH8gAygCAAUgAwtBACAEQQN2IARBB3FBAEdqEDYaIAAQHCEFA0AgBQRAIAEgBSgCECgC9AEQ+AUgACAFEC0hAwNAIAMEQCADQShqIQcgBSgCECgC9AEhBANAIAQgB0FQQQAgAygCAEEDcUECRxtqKAIAKAIQKAL0AU5FBEAgASAEQQFqIgQQ+AUMAQsLIAAgAxAwIQMMAQsLIAAgBRAdIQUMAQsLIAAoAhAiAygC6AEhBANAIAQgAygC7AFKDQEgBiABKQAAIgg3AwggBCAIQiCIp08NAiAEQQN2IAZBCGogCKcgCEKAgICAkARUG2otAAAgBEEHcXZBAXFFBEAgAkUEQCAAEGBBk/QAQQEQkQEhAgsgAkEAQQEQiwEiBUGqJkHAAkEBEDUaIAUoAhAiA0KAgICAgICA8D83A2AgAyAENgL0ASADQoCAgICAgIDwPzcDWCADQQE2AuwBIANCgICAgICAgPg/NwNQIANBADYCxAFBBUEEED4hAyAFKAIQIgdBADYCzAEgByADNgLAAUEFQQQQPiEDIAUoAhAgAzYCyAEgACAFQQEQgwEaIAAoAhAhAwsgBEEBaiEEDAALAAsgBkEQaiQAIAIPC0G/sANB7PoAQcIAQZcjEAAAC78MAwp/An4BfCMAQUBqIgYkAEEBIQIDQCACQQJ0IQUCQANAIAIgACgCECIBKAK0AUsNASABKAK4ASAFaigCABAcRQRAQZSFBEEAECogACgCECIHKAK4ASAFaiIBIAFBBGogBygCtAEgAmtBAnQQtgEaIAAoAhAiASABKAK0AUEBazYCtAEMAQsLIAJBAWohAgwBCwtBjNgKLQAABEAQrwELQcj6CiAANgIAQcT6CkEAOgAAQcz6CiAAEGAQtQJBAWoiAUEEED42AgAgAUEEED4hAUHQ+gpBCDYCAEHU+gogATYCAEG42ApBGDYCAAJAIABBiiEQJiIBRQ0AIAEQkQIiDUQAAAAAAAAAAGRFDQBBASECQQEhAUHQ+gpB0PoKKAIAIA0QgARBAEoEf0HQ+gooAgAgDRCABAVBAQs2AgBBuNgKQbjYCigCACANEIAEQQBKBH9BuNgKKAIAIA0QgAQFQQELNgIACwJAIAAoAhAiAS0AiAFBEHFFDQAgBiABKALsAUECaiIBNgI8IAZBADYCOCABQSFPBEAgBiABQQN2IAFBB3FBAEdqQQEQPjYCOAsgACAGQThqQQAQ3A4aIAYoAjxBIUkNACAGKAI4EBgLIAAQ5g0gAEEBEKEIIAAQ2w4gABCZCEHY+gogACgCECIDKALoATYCAEHc+gogAygC7AE2AgACQAJAA0AgAygC3AEiBSAESwRAIAMgAygC2AEgBEECdGooAgA2AsABAkAgBEUNACADKALsASEHIAMoAugBIQIDQCACIAdKDQEgAygCxAEgAkHIAGxqIgUoAgAhASAFQQA2AgAgBSAFKAIEIAFBAnRqNgIEIAJBAWohAgwACwALIABBABCYCCIMQgBTDQIgBEEBaiEEIAsgDHwhCyAAKAIQIQMMAQsLAkAgBUEBTQRAIAMoAugBIQQMAQsgAygC2AEhB0EAIQEDQCAFIAhGBEAgA0EBNgLcASADIAcoAgA2AsABIANB2PoKKAIAIgQ2AugBIANB3PoKKAIANgLsAQwCCyAHIAhBAnRqKAIAIQIgAQRAIAEoAhAgAjYCuAELIAIoAhAgATYCvAEDQCACIgEoAhAoArgBIgINAAsgCEEBaiEIDAALAAtBqPMIKAIAIQpBASEJA0ACQCADKALsASAESARAA0AgCSADKAK0ASIBSg0CIAMoArgBIAlBAnRqKAIAENoOIgxCAFMNBCAJQQFqIQkgCyAMfCELIAAoAhAhAwwACwALIARByABsIgggAygCxAFqIgIgAigCCCIBNgIAIAIgAigCDCIFNgIEQQAhAiABQQAgAUEAShshBwNAAkAgAiAHRwRAIAUgAkECdGooAgAiAQ0BQYzYCi0AAARAIAAQISEBIAYgACgCECgCxAEgCGooAgA2AiwgBiACNgIoIAYgBDYCJCAGIAE2AiAgCkHm6wMgBkEgahAfGiAAKAIQIQMLIAMoAsQBIAhqIAI2AgALIARBAWohBAwDCyABKAIQIAI2AvgBIAJBAWohAgwACwALCwJAIAFBAEwNACAAQfkoECYiAQRAIAEQaUUNAQsgABCHCEHE+gpBAToAACAAQQIQmAgiC0IAUw0BC0HU+gooAgAiAQRAIAEQGEHU+gpBADYCAAtBzPoKKAIAIgEEQCABEBhBzPoKQQA2AgALQQEhAgNAIAIgACgCECIEKAK0AUpFBEAgBCgCuAEgAkECdGooAgAQlwggAkEBaiECDAELCyAEKALoASEJA0BBACEFIAkgBCgC7AFKRQRAA0AgBSAEKALEASAJQcgAbGoiASgCAE5FBEAgASgCBCAFQQJ0aigCACIHKAIQIgEgBTYC+AFBACECIAEoAtABIggEQANAIAggAkECdGooAgAiAQRAIAEoAhAtAHBBBEYEfyABEKMIIAEoAhAQGCABEBggBygCECgC0AEhCCACQQFrBSACC0EBaiECDAELCyAAKAIQIQQLIAVBAWohBQwBCwsgASgCQCIBBEAgASgCCBAYIAEQGCAAKAIQIQQLIAlBAWohCQwBCwtBACECQYzYCi0AAEUNASAAECEhACAGEIwBOQMQIAYgCzcDCCAGIAA2AgAgCkHG3QQgBhAyDAELQX8hAgsgBkFAayQAIAILlAEBAn8gA0EEaiEFIAAoAgAhBgJAIAMoAgBBhgJGBEAgAygCBCIDEBwhBQNAIAVFDQIgACABIAIgBigCECgCACAFQQAQgwFBACAEEP4NIAMgBRAdIQUMAAsACwNAIAUoAgAiA0UNASAAIAEgAiAGKAIQKAIAIAMoAgRBABCDASADKAIIIAQQ/g0gA0EMaiEFDAALAAsLSwEDfyAAKAIQIgIgAigCtAEiBEEBaiIDNgK0ASACKAK4ASADIARBAmoQ2AEhAiAAKAIQIAI2ArgBIAIgA0ECdGogATYCACABEJUEC/sBAQV/IAEQHCEDA0AgAwRAIAEgAxAdIQQgAygCEC0AtQEEQCABIAMQtwEgBCEDDAIFQQEhAgNAAkAgACgCECIFKAK0ASIGIAJKBH8gBSgCuAEgAkECdGooAgAgAxCrAUUNASAAKAIQKAK0AQUgBgsgAkoEQCABIAMQtwELIAMoAhBBADYC6AEgBCEDDAQLIAJBAWohAgwACwALAAsLIAEQHCEAA0AgAARAIAEQYCAAEC0hAgNAIAIEQCABIAJBUEEAIAIoAgBBA3FBAkcbaigCKBCrAQRAIAEgAkEBENYCGgsgARBgIAIQMCECDAELCyABIAAQHSEADAELCwt8AQN/IAAoAgQhAgNAIAJBf0ZFBEAgACgCACEDAkAgAUUNACADIAJBAnRqKAIAIgRFDQAgASAENgIUIAFBBBAnIQMgASgCACADQQJ0aiABKAIUNgIAIAAoAgAhAwsgAyACQQJ0akEANgIAIAJBAWshAgwBCwsgAEEANgIEC4ICAQN/AkACQAJAIAEoAhAiAigCyAENACACIAA2AsgBIAAgARDgDiABEBxFDQAgACABEN8OQQAhAkGo2AooAgBB5ABGBEAgARDoDiABKAIQIgRBwAFqIQADQCAAKAIAIgAEQCAAKAIQIgMoAvQBRQRAIAIgACADLQCsARshAgsgA0G4AWohAAwBCwsgAkUNAiAEIAI2AogCIAEQHCEAA0AgAEUNAiAAIAJHIAAoAhAoAuwBQQJOcQ0EIAAgAhD9BBogACgCEEEHOgC1ASABIAAQHSEADAALAAsgARDtDgsPC0G/0wFBu7sBQbMCQbc6EAAAC0HGOkG7uwFBtwJBtzoQAAALagECfyAAKAIQIgEgASgCiAIoAhAoAvQBIgIgASgC6AFqNgLoASABIAIgASgC7AFqNgLsAUEBIQIDQCACIAEoArQBSkUEQCABKAK4ASACQQJ0aigCABDjDiACQQFqIQIgACgCECEBDAELCwvfAgEEfyABEHghAwNAIAMEQEEHIQQCQAJAIAMQxAFFBEAgA0G59AAQJkGgzApBwMwKENUGIQQgAygCECAEOgCSAiAERQ0BCwJAIARBB0cNAEGo2AooAgBB5ABHDQAgACADEOIODAILIAMQHCICRQ0BIAQhBSACIQEDQCABKAIQIAU6ALUBIAMgARAdIgEEQCACIAEQ/QQaIAIoAhAtALUBIQUMAQsLAkACQAJAIARBAmsOBAAAAQEECyAAKAIQIgEoAuABIgVFBEAgASACNgLgAQwCCyAFIAIQ/QQhAiAAKAIQIgEgAjYC4AEMAQsgACgCECIBKALkASIFRQRAIAEgAjYC5AEMAQsgBSACEP0EIQIgACgCECIBIAI2AuQBC0HgASECAkACQCAEQQNrDgMBAwADC0HkASECCyABIAJqKAIAKAIQIAQ6ALUBDAELIAAgAxDkDgsgAxB3IQMMAQsLC7kBAQN/QQEhAgNAIAIgACgCECIDKAK0AUpFBEAgAygCuAEgAkECdGooAgBBABDlDiACQQFqIQIMAQsLAkAgAUUEQCADKALIAUUNAQsgA0L/////dzcD6AFBACEBIAAQHCECA0AgAgRAIAIoAhAoAvQBIgMgACgCECIEKALsAUoEQCAEIAM2AuwBCyADIAQoAugBSARAIAQgAzYC6AEgAiEBCyAAIAIQHSECDAELCyAAKAIQIAE2AogCCwumAgEGfyABKAIQIgYoArABRQRAIAZBAToAtAEgBkEBNgKwASAAIAEQLSECA0AgAgRAIAAgAhAwIQYgAkEAQVAgAigCAEEDcSIHQQJGIgMbaigCKCIFKAIQIgQtALQBBEAgACACIAJBMGsiBCADGygCKCACIAJBMGoiBSAHQQNGGygCKEEAQQAQXiIDRQRAIAAgAiAEIAIoAgBBA3EiBEECRhsoAiggAiAFIARBA0YbKAIoQQBBARBeIQMLIAIoAhAiBCgCrAEhBSADKAIQIgMgAygCnAEgBCgCnAFqNgKcASADIAMoAqwBIgQgBSAEIAVKGzYCrAEgACACELcBIAYhAgwCCyAGIQIgBCgCsAENASAAIAUQ5g4MAQsLIAEoAhBBADoAtAELC/YBAQR/AkAgABDEAUUNACAAEJ8IRQ0AIAAQHCEEA0AgBARAIAAgBBC+AkUEQCAEEIYCKAIQKAKkASEFIAJFBEAgAUG42QAQzAQhAgsgASACIAVBAEEBEF4aCyAAIAQQLUUEQCABIAQQhgIoAhAoAqQBIANFBEAgAUGQHxDMBCEDCyADQQBBARBeGgsgACAEEB0hBAwBCwsgAkUgA0VyDQAgASACIANBAEEBEF4oAhAiBCAEKAKcAUHoB2o2ApwBIAQgBCgCrAEiBEEAIARBAEobNgKsAQsgABB4IQQDQCAEBEAgBCABIAIgAxDnDiAEEHchBAwBCwsLxBIBC38jAEFAaiIFJAAgABDrDiAAIAAQ5A4gABDiDSAAEBwhAwNAIAMEQCAAIAMQLSEBA0AgAQRAAkAgASgCECgCsAENACABEN8NDQAgASABQTBqIgYgASgCAEEDcUEDRhsoAigQogEiBCABIAFBMGsiByABKAIAQQNxQQJGGygCKBCiASICRg0AAkAgBCgCECgC6AFFBEAgAigCECgC6AFFDQELIAEgByABKAIAQQNxIgRBAkYiBxsgASAGIARBA0YiBhshCkEAIQRBACECIAFBAEEwIAYbaigCKCgCECIGKALoASILBEAgBigC9AEgCygCECgCiAIoAhAoAvQBayECCygCKCAKKAIoIAFBAEFQIAcbaigCKCgCECIGKALoASIHBEAgBygCECgCiAIoAhAoAvQBIAYoAvQBayEECyABKAIQKAKsASEHIAAQuwIiBigCEEECOgCsARCiASEKEKIBIQkgBiAKRAAAAAAAAAAAQQAgByACIARqaiIEa7ggBEEASiICGyABKAIQKAKcAUEKbBCfASAGIAkgBEEAIAIbuCABKAIQKAKcARCfASgCECABNgJ4KAIQIAE2AngMAQsgBCACELkDIgYEQCABIAYQjQMMAQsgBCACIAEQ4wEaCyAAIAEQMCEBDAELCyAAIAMQHSEDDAELCyAAKAIQIgMoAuABIQECQAJAAkACQAJAIAMoAuQBIgNFBEAgAQ0BQQAhBgwFCyABRQ0BCyABEKIBIQEgACgCECICIAE2AuABIAIoAuQBIgNFDQELIAMQogEhASAAKAIQIgIgATYC5AEgAUUNACABKAIQIgItALUBQQVGIQYCQANAIAIoAsgBKAIAIgMEQCADQVBBACADKAIAQQNxQQJHG2ooAigiBBCiASAERw0CIAMQogggASgCECECDAELCyAAKAIQIQIMAgtB6KcDQbu7AUGUA0GhMBAAAAtBACEGCyACKALgASIDRQRADAELIAMoAhAiAi0AtQFBA0YhCANAIAIoAsABKAIAIgFFDQEgAUEwQQAgASgCAEEDcUEDRxtqKAIoIgQQogEgBEYEQCABEKIIIAMoAhAhAgwBCwtByKcDQbu7AUGbA0GhMBAAAAsgAEEAEKEIIAAhAUEAIQQDQCABKAIQIgAoAtwBIARLBEAgACAAKALYASAEQQJ0aigCACIANgLAASAAIQMDQCADBEAgAygCECIDQQA2ArABIAMoArgBIQMMAQsLA0AgAARAIAAQ7w4gACgCECgCuAEh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AugBCyADIQEgAgRAIAEgAiAEIAIoAhAoAvQBSBshAQsgACADEB0hAyABIQIMAQsLIAEgAjYCiAILNwAgASgCEEG0+gooAgBBAWo2ArABIAAgATYCFCAAQQQQJyEBIAAoAgAgAUECdGogACgCFDYCAAuUAQEEfyAAKAIQIgEoArABRQRAIAFBAToAtAEgAUEBNgKwAQNAIAEoAsgBIAJBAnRqKAIAIgMEQAJAIANBUEEAIAMoAgBBA3FBAkcbaigCKCIBKAIQIgQtALQBBEAgAxCiCCACQQFrIQIMAQsgBCgCsAENACABEO8OCyACQQFqIQIgACgCECEBDAELCyABQQA6ALQBCwsYAQF/QSQQUiICIAE2AgAgAiAANgIgIAILnAEBBX8gAEEwQQAgACgCAEEDcUEDRxtqKAIoKAIQIgIoAuABIQQgAigC5AEhAwJAA0AgASADRwRAIAFBAnQhBSABQQFqIQEgACAEIAVqKAIARw0BDAILCyACIAQgA0EBaiADQQJqENgBIgE2AuABIAIgAigC5AEiAkEBaiIDNgLkASABIAJBAnRqIAA2AgAgASADQQJ0akEANgIACwv/AgEHfyAAKAJQIQQgACgCJCICIAAtABg6AAACQAJAIAAoAhQgACgCDEECdGooAgAiAygCBCIBQQJqIAJLBEAgASAAKAIcakECaiEFIAEgAygCDGpBAmohBgNAIAEgBUkEQCAGQQFrIgYgBUEBayIFLQAAOgAAIAAoAhQgACgCDEECdGooAgAiAygCBCEBDAELCyAAIAMoAgwiBzYCHCADIAc2AhAgAiAGIAVrIgNqIgIgAUECakkNASADIARqIQQLIAJBAWsiAUHAADoAACAAIAQ2AlAgAS0AACECIAAgATYCJCAAIAI6ABgMAQtB3xUQnQIAC0EAIQIgACgCACgCCCIDKAJMQSxqIQUDQCACQQNHBEACQCAFIAJBAnRqIgQoAgAiAEUNACAAQQBBgAEgACgCABEDACEBA0AgASIARQ0BIAQoAgAiASAAQQggASgCABEDACEBIAAoAhgtAABBJUcNACADIAIgACkDEBDjCQwACwALIAJBAWohAgwBCwsL8AIBA38gACAAQTBqIgIgACgCAEEDcUEDRhsoAigoAhAiASgCyAEgASgCzAEiAUEBaiABQQJqENgBIQEgACACIAAoAgBBA3FBA0YbKAIoKAIQIAE2AsgBIAAgAiAAKAIAQQNxQQNGGygCKCgCECIBIAEoAswBIgNBAWo2AswBIAEoAsgBIANBAnRqIAA2AgAgACACIAAoAgBBA3FBA0YbKAIoKAIQIgIoAsgBIAIoAswBQQJ0akEANgIAIAAgAEEwayICIAAoAgBBA3FBAkYbKAIoKAIQIgEoAsABIAEoAsQBIgFBAWogAUECahDYASEBIAAgAiAAKAIAQQNxQQJGGygCKCgCECABNgLAASAAIAIgACgCAEEDcUECRhsoAigoAhAiASABKALEASIDQQFqNgLEASABKALAASADQQJ0aiAANgIAIAAgAiAAKAIAQQNxQQJGGygCKCgCECICKALAASACKALEAUECdGpBADYCACAAC0IBAn8jAEEQayICJAAgASgCECEDIAIgACgCECkC0AE3AwggAiADKQLYATcDACAAIAJBCGogASACEPUOIAJBEGokAAutAQEDfwJAAkAgASgCBCIFRQ0AIAMoAgQiBkUNACAFIAZPBEAgAygCACECQQAhAQNAIAIgAUECdGooAgAiBEUNAyABQQFqIQEgBEEwQQAgBCgCAEEDcUEDRxtqKAIoIABHDQALDAELIAEoAgAhAEEAIQEDQCAAIAFBAnRqKAIAIgRFDQIgAUEBaiEBIARBUEEAIAQoAgBBA3FBAkcbaigCKCACRw0ACwsgBA8LQQAL2QEBBH8gAEEwQQAgACgCAEEDcSIFQQNHG2ooAigiBiEDAn8CQCABIAZGBH8gAEFQQQAgBUECRxtqKAIoBSADCygCECgCsAIiAyABKAIQIgQoAqwCTgRAIAMgBCgCsAJMDQELIAAoAhAoApwBIQNBAAwBC0EAIQMgACgCECIEKAKkAUEATgR/IAQoAqABBUEACyAEKAKcAWshA0EBCyEEQQAgA2sgA0EBQX8gAkEATAR/IAEgBkYFIABBUEEAIAVBAkcbaigCKCABRgsbIgBBACAAayAEG0EASBsLkwEBBX8jAEEQayICJAAgAEEEaiEBA0AgAyAAKAAMT0UEQCACIAEpAgg3AwggAiABKQIANwMAIAIgAxAZIQQCQAJAAkAgACgCFCIFDgICAAELIAEoAgAgBEECdGooAgAQGAwBCyABKAIAIARBAnRqKAIAIAURAQALIANBAWohAwwBCwsgAUEEEDMgARA4IAJBEGokAAtWAQF/IAAoAgAiACgCECEBA0AgAQRAIAAoAgggAUEIahC6AiAAKAIIIAAoAhBBGGoQugIgACgCCCAAKAIQQRBqELoCIAAgACgCEBC0DiIBNgIQDAELCwuYAQEEf0GAgICAeCECQf////8HIQEgACgCACgCEEHAAWoiAyEAA0AgACgCACIABEAgACgCECIELQCsAUUEQCACIAQoAvQBIgAgACACSBshAiABIAAgACABShshAQsgBEG4AWohAAwBCwsDQCADKAIAIgAEQCAAKAIQIgAgACgC9AEgAWs2AvQBIABBuAFqIQMMAQsLIAIgAWsLlwEBAn8DQAJAAkAgASgCECICKAKsAkF/Rg0AIAJBfzYCrAIgAigCqAIiA0UNACACKAKwAiAAKAIQKAKwAkgNASAAIAFGDQBBss0EQQAQNwsPCyADQTBBACADKAIAQQNxIgFBA0cbaigCKCICIANBUEEAIAFBAkcbaigCKCIBIAIoAhAoArACIAEoAhAoArACShshAQwACwALtgEBA39BACACayEGIAEoAhAoArACIQUDQAJAIAUgACgCECIBKAKsAk4EQCAFIAEoArACTA0BCyABKAKoAiIBKAIQIgQgBCgCoAEgAiAGIAMgACABIAFBMGoiBCABKAIAQQNxQQNGGygCKEdzG2o2AqABIAEgBCABKAIAQQNxIgBBA0YbKAIoIgQgAUFQQQAgAEECRxtqKAIoIgAgBCgCECgCsAIgACgCECgCsAJKGyEADAELCyAAC6oIAQ5/IwBBIGsiASQAAkAgAEEwQQAgACgCAEEDcSICQQNHG2ooAigiBCgCECgCsAIgAEFQQQAgAkECRxtqKAIoIgAoAhAoArACTgRAIAAoAhAiBCgCsAIhCCAEKAKsAiEJIAFBADYCGCABQgA3AxAgAUIANwMIIAEgADYCHCABQQhqQQQQJyEAIAEoAgggAEECdGogASgCHDYCACABQRxqIQpB/////wchBANAIAEoAhAEQCABQQhqIApBBBDHAUEAIQAgASgCHCEHA0AgBygCECICKALIASAAQQJ0aigCACIDBEAgA0FQQQAgAygCAEEDcSILQQJHG2ooAigiDCgCECINKAKwAiEGAkAgAygCECIOKAKkAUEASARAIAYgCEwgBiAJTnENASANKAL0ASADQTBBACALQQNHG2ooAigoAhAoAvQBIA4oAqwBamsiAiAEIAVFIAIgBEhyIgIbIQQgAyAFIAIbIQUMAQsgBiACKAKwAk4NACABIAw2AhwgAUEIakEEECchAiABKAIIIAJBAnRqIAEoAhw2AgALIABBAWohAAwBBUEAIQAgBEEATA0DA0AgAigCmAIgAEECdGooAgAiA0UNBCADQTBBACADKAIAQQNxQQNHG2ooAigiAygCECgCsAIgAigCsAJIBEAgASADNgIcIAFBCGpBBBAnIQIgASgCCCACQQJ0aiABKAIcNgIAIAcoAhAhAgsgAEEBaiEADAALAAsACwALCwwBCyAEKAIQIgAoArACIQggACgCrAIhCSABQQA2AhggAUIANwMQIAFCADcDCCABIAQ2AhwgAUEIakEEECchACABKAIIIABBAnRqIAEoAhw2AgAgAUEcaiEKQf////8HIQQDQCABKAIQBEAgAUEIaiAKQQQQxwFBACEAIAEoAhwhBwNAIAcoAhAiAigCwAEgAEECdGooAgAiAwRAIANBMEEAIAMoAgBBA3EiC0EDRxtqKAIoIgwoAhAiDSgCsAIhBgJAIAMoAhAiDigCpAFBAEgEQCAGIAhMIAYgCU5xDQEgA0FQQQAgC0ECRxtqKAIoKAIQKAL0ASANKAL0ASAOKAKsAWprIgIgBCAFRSACIARIciICGyEEIAMgBSACGyEFDAELIAYgAigCsAJODQAgASAMNgIcIAFBCGpBBBAnIQIgASgCCCACQQJ0aiABKAIcNgIACyAAQQFqIQAMAQVBACEAIARBAEwNAwNAIAIoAqACIABBAnRqKAIAIgNFDQQgA0FQQQAgAygCAEEDcUECRxtqKAIoIgMoAhAoArACIAIoArACSARAIAEgAzYCHCABQQhqQQQQJyECIAEoAgggAkECdGogASgCHDYCACAHKAIQIQILIABBAWohAAwACwALAAsACwsLIAFBCGoiAEEEEDMgABA4IAFBIGokACAFC4JEAhB/AX4jAEHwBGsiBCQAIARB8MQILwEAOwHABCAEQejECCkDADcDuAQgBEHgxAgpAwA3A7AEIARBhARqQQBBLBA2GkGM2AotAAAEQCAAKAIQQcABaiEFA0AgBSgCACIFBEAgBSgCECIKKALIASEJQQAhBQNAIAkgBUECdGooAgAEQCAFQQFqIQUgBkEB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4AIRAAANAyAAIAEgACgC1AIRAABFDQNBAiEEDAILIAZBA0kNDSAAIAEgACgC5AIRAAANAiAAIAEgACgC2AIRAABFDQJBAyEEDAELIAZBBEkNDCAAIAEgACgC6AIRAAANASAAIAEgACgC3AIRAABFDQFBBCEECyABIARqIQEDQCACIAFrIgZBAEwEQEFsDwtBASEEQRQhBQJAAkACQAJAAkAgByABLQAAai0AAEEFaw4gAAECBAYGBgQEBAQEBAQEBAYDBAMDAwMEBAYEBgQEBAYECyAGQQFGDRAgACABIAAoAuACEQAADQMgACABIAAoAsgCEQAARQ0DQQIhBAwCCyAGQQNJDQ8gACABIAAoAuQCEQAADQIgACABIAAoAswCEQAARQ0CQQMhBAwBCyAGQQRJDQ4gACABIAAoAugCEQAADQEgACABIAAoAtACEQAARQ0BQQQhBAsgASAEaiEBDAELC0EAIQULIAMgATYCACAFDwsgAiABa0ECSA0JIAAgASAAKALgAhEAAA0IQQIhBCAAIAEgACgC1AIRAAANAiAAIAEgACgCyAIRAABFDQgMBQsgAiABa0EDSA0IIAAgASAAKALkAhEAAA0HQQMhBCAAIAEgACgC2AIRAAANASAAIAEgACgCzAIRAABFDQcMBAsgAiABa0EESA0HIAAgASAAKALoAhEAAA0GQQQhBCAAIAEgACgC3AIRAABFDQELDAMLIAAgASAAKALQAhEAAEUNBAwBC0ETIQUMAQtBEyEFCyABIARqIQQCQAJAAkACQANAIAIgBCIBayIEQQBMDQQCQAJAAkACQAJAAkACQCAHIAEtAABqLQAAQQVrDiABAgMKBAQECgoKCQoKCgoEBAAFAAAAAAoKBAoECAYEBAoLIAFBAWohBAwGCyAEQQFGDQwgACABIAAoAuACEQAADQggACABIAAoAsgCEQAARQ0IIAFBAmohBAwFCyAEQQNJDQsgACABIAAoAuQCEQAADQcgACABIAAoAswCEQAARQ0HIAFBA2ohBAwECyAEQQRJDQogACABIAAoAugCEQAADQYgACABIAAoAtACEQAARQ0GIAFBBGohBAwDCyADIAE2AgAgBQ8LIAFBAWohBCAFQSlHBEAgBUESRw0CIAIgBGsiBkEATA0LQRMhBQJAAkACQAJAAkACQAJAIAcgBC0AAGotAAAi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QQA2AggDQAJAIABBvAJqIABBuAJqEFoNACAAKAK0ASADECQgAWpGBEAgAxAkIQIgAyADECRBAXQQQCADIAMQVRBAIAAgAiADQQAQQiIBajYCtAELIABBvAJqIgIQgQFBECABIABBtAFqIABBCGpBACAGIABBEGogAEEMaiAAQdABahDYAw0AIAIQlAEaDAELCyADIAAoArQBIAFrEEAgAxBGEGcgACAFNgIAIAAQigtBAUcEQCAEQQQ2AgALIABBvAJqIABBuAJqEFoEQCAEIAQoAgBBAnI2AgALIAAoArwCIAMQNBogBhA0GiAAQcACaiQAC9ADAQF+IwBBgANrIgAkACAAIAI2AvgCIAAgATYC/AIgAEHcAWogAyAAQfABaiAAQewBaiAAQegBahCEByAAQdABahBUIgEgARBVEEAgACABQQAQQiICNgLMASAAIABBIGo2AhwgAEEANgIYIABBAToAFyAAQcUAOgAWA0ACQCAAQfwCaiAAQfgCahBaDQAgACgCzAEgARAkIAJqRgRAIAEQJCEDIAEgARAkQQF0EEAgASABEFUQQCAAIAMgAUEAEEIiAmo2AswBCyAAQfwCaiIDEIEBIABBF2ogAEEWaiACIABBzAFqIAAoAuwBIAAoAugBIABB3AFqIABBIGogAEEcaiAAQRhqIABB8AFqEIMHDQAgAxCUARoMAQsLAkAgAEHcAWoQJEUNACAALQAXQQFHDQAgACgCHCIDIABBIGprQZ8BSg0AIAAgA0EEajYCHCADIAAoAhg2AgALIAAgAiAAKALMASAEEIsLIAApAwAhBiAFIAApAwg3AwggBSAGNwMAIABB3AFqIABBIGogACgCHCAEELEBIABB/AJqIABB+AJqEFoEQCAEIAQoAgBBAnI2AgALIAAoAvwCIAEQNBogAEHcAWoQNBogAEGAA2okAAu5AwAjAEHwAmsiACQAIAAgAjYC6AIgACABNgLsAiAAQcwBaiADIABB4AFqIABB3AFqIABB2AFqEIQHIABBwAFqEFQiASABEFUQQCAAIAFBABBCIgI2ArwBIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB7AJqIABB6AJqEFoNACAAKAK8ASABECQgAmpGBEAgARAkIQMgASABECRBAXQQQCABIAEQVRBAIAAgAyABQQAQ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QQA2AggDQAJAIABB/AFqIABB+AFqEFsNACAAKAK0ASADECQgAWpGBEAgAxAkIQIgAyADECRBAXQQQCADIAMQVRBAIAAgAiADQQAQQiIBajYCtAELIABB/AFqIgIQggFBECABIABBtAFqIABBCGpBACAGIABBEGogAEEMaiAAQdABahDaAw0AIAIQlQEaDAELCyADIAAoArQBIAFrEEAgAxBGEGcgACAFNgIAIAAQigtBAUcEQCAEQQQ2AgALIABB/AFqIABB+AFqEFsEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAMQNBogBhA0GiAAQYACaiQAC9ADAQF+IwBBkAJrIgAkACAAIAI2AogCIAAgATYCjAIgAEHQAWogAyAAQeABaiAAQd8BaiAAQd4BahCIByAAQcQBahBUIgEgARBVEEAgACABQQAQQiICNgLAASAAIABBIGo2AhwgAEEANgIYIABBAToAFyAAQcUAOgAWA0ACQCAAQYwCaiAAQYgCahBbDQAgACgCwAEgARAkIAJqRgRAIAEQJCEDIAEgARAkQQF0EEAgASABEFUQQCAAIAMgAUEAEEIiAmo2AsABCyAAQYwCaiIDEIIBIABBF2ogAEEWaiACIABBwAFqIAAsAN8BIAAsAN4BIABB0AFqIABBIGogAEEcaiAAQRhqIABB4AFqEIcHDQAgAxCVARoMAQsLAkAgAEHQAWoQJEUNACAALQAXQQFHDQAgACgCHCIDIABBIGprQZ8BSg0AIAAgA0EEajYCHCADIAAoAhg2AgALIAAgAiAAKALAASAEEIsLIAApAwAhBiAFIAApAwg3AwggBSAGNwMAIABB0AFqIABBIGogACgCHCAEELEBIABBjAJqIABBiAJqEFsEQCAEIAQoAgBBAnI2AgALIAAoAowCIAEQNBogAEHQAWoQNBogAEGQAmokAAu5AwAjAEGAAmsiACQAIAAgAjYC+AEgACABNgL8ASAAQcABaiADIABB0AFqIABBzwFqIABBzgFqEIgHIABBtAFqEFQiASABEFUQQCAAIAFBABBCIgI2ArABIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB/AFqIABB+AFqEFsNACAAKAKwASABECQgAmpGBEAgARAkIQMgASABECRBAXQQQCABIAEQVRBAIAAgAyABQQAQ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sAEgBEG+ogQgAkGwAWoQMiACIAEoAhA2AqABIARB+b4EIAJBoAFqEB8aIAIgASgCFDYClAEgAkEtNgKQASAEQeW/BCACQZABahAfGiACIAEoAhg2AoABIAJC/NPGl93JmKg/NwN4IAJCs+bMmbPmzPE/NwNwIARBkr8EIAJB8ABqEDIgASsDICEIIAIgBkEBdkEBcTYCYCACIAg5A1ggAkLNmbPmzJmz9j83A1AgBEGqwQQgAkHQAGoQMiACIAErA0g5A0ggAkEANgJEIAIgBkECdkEBcTYCQCAEQeyhBCACQUBrEDIgASgCMCEGIAEoAjQhByABKwNAIQggAiABLQA4NgIwIAIgCDkDKCACIAc2AiQgAiAGQQJ0QeDICGooAgA2AiAgBEHpwAQgAkEgahAyIAIgASgCPEECdEGAyQhqKAIANgIQIARB3PcDIAJBEGoQHxogAiABKAJQNgIAIARBt8IEIAIQHxogAkHgAWokAAsgACADQawBahCCCCEEAkAgAygCrAFBAUYEQCADIAMpA5ACNwMQIAMgAykDiAI3AwggACADQbABaiADQQhqEI8MIAVFBEAgACADQZgCahDxAxoLIAAQrAMMAQsgAEECQQggA0GIAWoQ+gMaIANBAToAlAFBACECA0AgAygCrAEiASACTQRAIAEgBCAAIANBiAFqEOsFDAILIAQgAkECdGooAgAiAUEAELIDGiADIAMpA5ACNwMgIAMgAykDiAI3AxggASADQbABaiADQRhqEI8MIAVFBEAgASADQZgCahDxAxoLIAFBAhCJAiABEKwDIAJBAWohAgwACwALQQAhAQNAIAMoAqwBIAFLBEAgACAEIAFBAnRqKAIAELcBIAFBAWohAQwBCwsgBBAYCyAAELgDIANBsAJqJAALCQAgASACEOEBC0MBAnwCf0EBIAArAwgiAiABKwMIIgNkDQAaQX8gAiADYw0AGkEBIAArAxAiAiABKwMQIgNkDQAaQX9BACACIANjGwsLyRQCEH8IfCMAQUBqIgkkAEGg2AorAwAhFkGg2AogABD/CTkDACAAQQIQiQJBOBBSIQEgACgCECABNgKMASAAIABBAEH77ABBABAiQQJBAhBhIQEgABA5KAIQIAE7AbABQQohASAAEDkoAhAvAbABQQlNBEAgABA5KAIQLwGwASEBCyAAEDkoAhAg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CS0AhgFBAUcEQCACIQkgBiECDAELIAMgAigCECgCjAEoAjAiCTYCmAELAkAgCC0AhgFBAUcEQCAFIQggBCEFDAELIAMgBSgCECgCjAEoAjAiCDYCzAELAkAgCSgCECgCjAEoAiwiBiAIKAIQKAKMASgCLCIESgRAIANBsAFqIAYgAiAEIANBmAFqIAEQqAwgAygCmAEiAigCECgCjAEoAjAhCQwBCyAEIAZMDQAgA0GwAWogBCAFIAYgA0HMAWogARCoDCADKALMASIFKAIQKAKMASgCMCEICwNAIAkiBCAIIgZGRQRAIANBsAFqIgggBEEAIAIgARDIBSAIIAYgBUEAIAEQyAUgBigCECgCjAEoAjAhCCAEKAIQKAKMASgCMCEJIAQhAiAGIQUMAQsLIANBsAFqIgQgBiAFIAIgARDIBSADKAK4AUEATgRAIARBBBCMAiADIAMpA7gBNwOQASADIAMpA7ABNwOIAQJAIAMoArABIANBiAFqQQAQGUECdGogAygCuAEQzAwEQCADIAMpA7gBNwOAASADIAMpA7ABNwN4IAchAiADKAKwASADQfgAakEAEBlBAnRqIAMoArgBEM8MIgsNAUEAIQtBsOkDQQAQKkEAIQIDQCACIAMoArgBTw0FIAMgAykDuAE3A1AgAyADKQOwATcDSCADQcgAaiACEBkhBAJAAkACQCADKALAASIFDgICAAELIAMoArABIARBAnRqKAIAEBgMAQsgAygCsAEgBEECdGooAgAgBREBAAsgAkEBaiECDAALAAsCQCAMDQAgA0GYAWogABD+AiAAQQhBCBDqBSECQdLqA0EAECogASsDACINIAK3Ig5mIA4gASsDCCIPZXIEQCADQUBrIA85AwAgAyANOQM4IAMgAjYCMEHx7QQgA0EwahB/DAELIAMrA5gBIg4gDWUgAysDoAEiECAPZXJFDQAgAyAPOQMoIAMgDTkDICADIBA5AxggAyAOOQMQQaPuBCADQRBqEH8LQQAhAgNAIAIgAygCuAFPDQQgAyADKQO4ATcDCCADIAMpA7ABNwMAIAMgAhAZIQQCQAJAAkAgAygCwAEiBQ4CAgABCyADKAKwASAEQQJ0aigCABAYDAELIAMoArABIARBAnRqKAIAIAURAQALIAJBAWohAgwACwALA0AgAkUEQEEAIQIDQCACIAMoArgB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AxABAAsgASgCCCgCICIDLQAoDQEgAxCjDQwBCwsCQCAFQQRqIgIoAghFDQAgAigCBCIAKAIAIgEgAigCACgCBCIDNgIEIAMgATYCACACQQA2AggDQCAAIAJGDQEgACgCBCAAEBghAAwACwALIAVBEGokAAu6AQICfwJ8RP///////+//IQQCfET////////v/yABKAIAKAIgIgIoAiwgASgCGEoNABpE////////7/8gAiABKAIEKAIgRg0AGiABELYCCyEFAkAgACgCACgCICICKAIsIAAoAhhKDQAgAiAAKAIEKAIgRg0AIAAQtgIhBAsgBCAFYQRAIAEoAgAoAgAiAiAAKAIAKAIAIgNGBEAgASgCBCgCACAAKAIEKAIASA8LIAIgA0gPCyAEIAVkCzMAIAAQng0gACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggAUEANgIIIAFCADcCAAvKAQEHfyMAQRBrIgUkACAAQQA2AgggAEIANwIAQShBNCACGyEHIAEoAgQhCCABKAIAIQQDQCAEIAhHBEAgBCgCACAHaiIDKAIEIQkgAygCACEDA0AgAyAJRgRAIARBBGohBAwDBSAFIAMoAgAiBjYCDCAGQej7CigCADYCGAJAAkAgAgRAIAYoAgAoAiAgAUcNAQsgAg0BIAYoAgQoAiAgAUYNAQsgACAFQQxqEL8BCyADQQRqIQMMAQsACwALCyAAEK4NIAVBEGokAAs+AQJ8An9BfyAAKwMAIgIgASsDACIDYw0AGkEBIAIgA2QNABpBfyAAKwMIIgIgASsDCCIDYw0AGiACIANkCwscACAAKAIMIAEoAgxqIAAoAgQgASgCBGprQQJtCxwAIAAoAgggASgCCGogACgCACABKAIAamtBAm0LjAEBB38CQCAAKAIgIgMgASgCKCIESg0AIAEoAiAiBSAAKAIoIgZKDQBBASECIAAoAiwiByABKAIkIghIDQAgACgCECABKAIQayAHIAEoAixqIAAoAiQgCGprQQJtaiAGIAMgBWprIARqQQJtIAEoAgwiASAAKAIMIgBrIAAgAWsgACABShtqTCECCyACC4wBAQd/AkAgACgCJCIDIAEoAiwiBEoNACABKAIkIgUgACgCLCIGSg0AQQEhAiAAKAIoIgcgASgCICIISA0AIAAoAgwgASgCDGsgASgC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AAAAAADQP6I5A4gCIAMgBTkDgAIgBEG50AQgA0GAAmoQcyADIAAoAugCsrs5A/ABIANCADcD6AEgA0KAgICAgICgq8AANwPgASAEQZXQBCADQeABahBzIANB1PkKKAIANgLQASADIAYgByANoKIiBjkDwAEgAyAKIAsgDKCiIgc5A8gBIARBtNEEIANBwAFqEHMgAyABNgKwASAEQc7LAyADQbABahBzIAAgBBCABhAbGiABEBggAgRAIANBiAFqIgEgACgCEEE4akEoECAaIAFDAAAAABC8AyEBIANCADcDgAEgA0IANwN4IANCADcDcCAAQcHaBCADQfAAahAeIANCgICAgICAgPg/NwNgIAMgCDkDWCADIAU5A1AgAEG50AQgA0HQAGoQHiADQUBrIAAoAugCsrs5AwAgA0IANwM4IANCADcDMCAAQZXQBCADQTBqEB4gA0HU+QooAgA2AiAgAyAGOQMQIAMgBzkDGCAAQbTRBCADQRBqEB4gAyABNgIAIABBzssDIAMQHiABEBgLIANB4AJqEFwgA0HwAmokAAvoAwIDfwZ8IwBB0AFrIgMkACACKAIAIQQgAigCBCIFKwMQIQYgAyAFKAIANgKwASADIAY5A6gBIAMgBDYCoAEgAEGd+wMgA0GgAWoQHkHU+QpB0PkKKAIAQQlrNgIAAnwgASsDACIGIAItADAiBEHsAEYNABogBEHyAEYEQCAGIAIrAyChDAELIAYgAisDIEQAAAAAAADgv6KgCyEGIAArA/ADIQcgACsDgAQhCCABKwMIIQkgACsD6AMhCiAAKwP4AyELIANB+ABqIgEgACgCEEEQakEoECAaIAFDAAAAABC8AyEBIANCADcDyAEgA0IANwPAASACKAIEKAIAIQQgAigCACEFIANCADcDcCADQoCAgICAgIDoPzcDaCADIAU2AmQgAyAENgJgIANBwAFqIgRBpdkDIANB4ABqEHMgAyACKAIEKwMQIAArA+gDojkDUCAEQfqiBCADQdAAahBzIANBQGsgACgC6AKyuzkDACADQgA3AzggA0IANwMwIARBldAEIANBMGoQcyADQdT5CigCADYCICADIAogBiALoKI5AxAgAyAHIAkgCKCiOQMYIARBtNEEIANBEGoQcyADIAE2AgAgBEHOywMgAxBzIAAgBBCABhAbGiAEEFwgARAY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C6GgIgdEAAAgFXvL2z+iIA5ENivxEfP+WT2iIAcgDKBE1a2ayjiUuz2ioKCgoCEHCyAHCyIHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAshAiAHRAAAAAAAAAhAIAK3oaAFRAAAAAAAAAhACxCdASIHOQMAIAEgBzkDoAMgASAHOQOoAyAAQeSlBCABQaADahAeIAFBncIINgKQAyAAQeGSBCABQZADahAeIAFBncIINgKAAyAAQaTXBCABQYADahAeIAFBncIINgLwAiAAQdDYAyABQfACahAeIAFBncIINgLgAiAAQe/jAyABQeACahAeIAFBncIINgLQAiAAQY7aBCABQdACahAeIAFBncIINgLAAiAAQabFBCABQcACahAeIAFBncIINgKwAiAAQeDXBCABQbACahAeIAFBncIINgKgAiAAQfXXAyABQaACahAeIAFBncIINgKQAiAAQdeOBCABQZACahAeIAFBncIINgKAAiAAQc7YBCABQYACahAeIAFBncIINgLwASAAQbHkAyABQfABahAeIABB6MsEQQAQHiABQZ3CCDYC4AEgAEGRqwQgAUHgAWoQHiABQZ3CCDYC0AEgAEHpqgQgAUHQAWoQHiAAQdbUBEEAEB4gAUGdwgg2AsABIABBwukEIAFBwAFqEB4gAUGdwgg2ArABIABBgdQEIAFBsAFqEB4gAUGdwgg2AqABIABBu9MEIAFBoAFqEB4gAEGPywRBABAeIAFBncIINgKQASAAQduIBCABQZABahAeIAFBncIINgKAASAAQcSJBCABQYABahAeIAFBncIINgJwIABBgdYDIAFB8ABqEB4gAUGdwgg2AmAgAEHe3QMgAUHgAGoQHiABQZ3CCDYCUCAAQajWAyABQdAAahAeIAFBncIINgJAIABBhd0DIAFBQGsQHiAAQdmQBEEAEB4gAUGdwgg2AjAgAEGy3AMgAUEwahAeIAFBncIINgIgIABB9ocEIAFBIGoQHiABQZ3CCDYCECAAQeTFBCABQRBqEB4gASAJOQMIIAEgDTkDACAAQY+pBCABEB4gAEHRygRBABAeIABB9PQEQQAQHiABQeADaiQACycBAX8jAEEQayIBJAAgAUGYwgg2AgAgAEH3zAQgARAeIAFBEGokAAuIAQIDfwF+IwBBMGsiASQAIAAoAhAhAiAAKAIMKAIAIgMpAgAhBCABIAMoAgg2AiwgASAENwIkIAFBmMIINgIgIABB2OwEIAFBIGoQHiABIAIoAggQITYCFCABQZjCCDYCECAAQY/+AyABQRBqEB4gAUGYwgg2AgAgAEGHpgQgARAeIAFBMGokAAuXAQECfyMAQTBrIgQkACAAKAIQIgMoApgBBEAgABDVBCAAQcTHAxAbGiAAIAEgAhCLAiAAQZLGAxAbGiAEQQhqIgEgA0EQakEoECAaIAAgARC9AyADKAKYASICQQFGBH8gAEHVmwIQGxogAygCmAEFIAILQQJGBEAgAEHl7AIQGxoLIAAQ1AQgAEGSgAUQGxoLIARBMGokAAuzAQEBfyMAQTBrIgQkACAAKAIQIgMoApgBBEAgABDVBCAAQcTHAxAbGiAAIAEgAhCLAiAAQZLGAxAbGiAEQQhqIgEgA0EQakEoECAaIAAgARC9AyAAQajGAxAbGiAAIAMrA6ABEHsgAygCmAEiAkEBRgR/IABB1ZsCEBsaIAMoApgBBSACC0ECRgRAIABB5ewCEBsaCyAAQdLFAxAbGiAAENQEIABBkoAFEBsaCyAEQTBqJAALgwIBAn8jAEHQAGsiBSQAIAAoAhAiBCgCmAEEQCAAENUEIABB9sUDEBsaIAAgASACEIsCIABBksYDEBsaAkAgAwRAIAVBKGoiASAEQThqQSgQIBogACABEL0DDAELQaz5CigCAARAIABBw5EBEBsaDAELIABBoMQDEBsaC0Gs+QooAgBBAUYEQEGs+QpBADYCAAsgAEGoxgMQGxogACAEKwOgARB7IABBuccDEBsaIAAgBSAEQRBqQSgQIBC9AyAEKAKYASIDQQFGBH8gAEHVmwIQGxogBCgCmAEFIAMLQQJGBEAgAEHl7AIQGxoLIAAQ1AQgAEGSgAUQGxoLIAVB0ABqJAALrwICAn8BfCMAQdAAayIEJAAgACgCECIDKAKYAQRAIAEgASsDCCIFIAErAxggBaGhOQMIIAEgASsDACIFIAErAxAgBaGhOQMAIAAQ1QQgAEGaxgMQGxogACABQQIQiwIgAEGSxgMQGxoCQCACBEAgBEEoaiIBIANBOGpBKBAgGiAAIAEQvQMMAQtBrPkKKAIABEAgAEHDkQEQGxoMAQsgAEGgxAMQGxoLQaz5CigCAEEBRgRAQaz5CkEANgIACyAAQajGAxAbGiAAIAMrA6ABEHsgAEG5xwMQGxogACAEIANBEGpBKBAgEL0DIAMoApgBIgFBAUYEfyAAQdWbAhAbGiADKAKYAQUgAQtBAkYEQCAAQeXsAhAbGgsgABDUBCAAQZKABRAbGgsgBEHQAGokAAu4AgICfwF8IwBB0ABrIgMkAAJAIAAoAhAiBCgCmAFFDQAgAigCBCsDECAAKwPgAqKdIgVEAAAAAAAAAABkRQ0AIAAQ1QQgAEGfxQMQGxogASABKwMIIAVEmpmZmZmZ4b+ioDkDCCADIAEpAwg3A0ggAyABKQMANwNAIAAgA0FAaxDnASADIAIoAgA2AjAgAEGHxgMgA0EwahAeIANBCGoiASAEQRBqQSgQIBogACABEL0DIABBvQgQGxogAigCBCIBKAIIIgRBBGogASAEGygCACEBIABBocQDEBsaIAAgARAbGiAAQaHEAxAbGiADIAU5AwAgAEGgCCADEB4CQCAAIAItADAiAUHsAEYEf0GTFwUgAUHyAEcNAUHMoQELEBsaCyAAENQEIABBkoAFEBsaCyADQdAAaiQACwsAQaz5CkF/NgIACwsAQaz5CkEBNgIAC24BAn8jAEEgayIBJAAgACgCECECIABBzqsDEBsaIAIoAggQIS0AAARAIAEgAigCCBAhNgIQIABBszQgAUEQahAeCyABIAAoAqgBIAAoAqQBbDYCACAAQd/EBCABEB5BrPkKQQA2AgAgAUEgaiQAC0ACAn8BfiMAQRBrIgEkACAAKAIMKAIAIgIpAgAhAyABIAIoAgg2AgggASADNwMAIABBlOwEIAEQHiABQRBqJAALlgEBA38jAEEQayIBJAAgACgCECgCCCECQaD5CigCAEUEQEGo+QpBoAI2AgBBpPkKQaECNgIAQaD5CkGQ7QkoAgA2AgALIAIoAkxBoPkKNgIEIAJBARCUDyABQQA2AgggASACKAIQLQBzQQFGOgAMIAEgACgCQCIDRSADQQNGcjoADSACIABBASABQQhqEJMPIAFBEGokAAvCAgEDfwJAAkACQCAAKAJADgIAAQILIAAoAgAhAhDUCCACQSgQICIBIAIoAlA2AlAgASACKQNINwNIIAEgAikDQDcDQCABIAIpAlQ3AlQgASACKQJcNwJcIAEgAigCZDYCZCABIAIoAmg2AmggASECIAAoAhAoAgghACMAQRBrIgMkAAJAIAFBlR4QxAZFBEAgAyABQQNBlR4QogQ2AgQgA0GVHjYCAEGh7QMgAxA3DAELIAIoApwBIgEgASABKAI0EN0ENgI4AkAgAEGQJkEAQQEQNQRAIAAoAhAoAggNAQsgAS0AmwFBBHENAEGorQRBABA3DAELIAFBADYCJCABIAEoApgBQYCAgMAAcjYCmAEgAiAAEJ8GGiABEIgEIAIQlgQLIANBEGokACACEJYEIAIQGA8LIAAoAgAoAqABEL8ICwsbACAAQafKAxAbGiAAIAEQiAEgAEHx0QQQGxoLaAECfyAAQe+WARAbGiAAQQBBABDXBCAAQe3AAxAbGgNAIAIgA0cEQCAAIAEgA0EEdGoiBCsDABB7IABBLBBlIAAgBCsDCJoQeyADQQFqIgMgAkYNASAAQSAQZQwBCwsgAEHa0QQQGxoL6wEBA38jAEEQayIFJAAgACgCECEGAkACQAJAIANBAmsOAgABAgsgACABIAIQhAYhBAwBCyAAEIMGIQQLIABByvgAEBsaIAYtAI0CQQJxBEAgAEHJwgMQGxogACAGKALcARCIASAAQbXKAxAbGgsgACADIAQQ1wQgAEHPwgMQGxogBUHNADoAD0EAIQMDQCACIANGRQRAIAAgBUEPakEBEKECGiAAIAEgA0EEdGoiBCsDABB7IABBLBBlIAAgBCsDCJoQeyAFQSBBwwAgAxs6AA8gA0EBaiEDDAELCyAAQdrRBBAbGiAFQRBqJAALpAEBAn8CQAJAAkAgA0ECaw4CAAECCyAAIAEgAhCEBiEFDAELIAAQgwYhBQsgAEHu4wAQGxogACADIAUQ1wQgAEHtwAMQGxoDQCACIARGBEAgACABKwMAEHsgAEEsEGUgACABKwMImhB7IABB2tEEEBsaBSAAIAEgBEEEdGoiAysDABB7IABBLBBlIAAgAysDCJoQeyAAQSAQZSAEQQFqIQQMAQsLCwurjwqXAwBBgAgLlfgE/9j/AMXQ08YAfgB7JXN9ACAtdGFncyB7JWQlcyVwfQAgJS4wZn0AJXMgeyAlcyB9AHxlZGdlbGFiZWx8ACAtZm9udCB7AHF1YXJ0egBpZHggPT0gc3oAY250ID09IHN6AGxvegBncmFwaHZpegBndndyaXRlX25vX3oAcG9ydGhveHkAc2NhbGV4eQAvc3ZnL25hdnkAaW52ZW1wdHkAbm9kZV9zZXRfaXNfZW1wdHkAcmVmZXJlbmNlIHRvIGJpbmFyeSBlbnRpdHkAYXN5bmNocm9ub3VzIGVudGl0eQBpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQB1bmRlZmluZWQgZW50aXR5AHBhcnNlci0+bV9vcGVuSW50ZXJuYWxFbnRpdGllcyA9PSBvcGVuRW50aXR5AHBhcnNlci0+bV9vcGVuVmFsdWVFbnRpdGllcyA9PSBvcGVuRW50aXR5AHBhcnNlci0+bV9vcGVuQXR0cmlidXRlRW50aXRpZXMgPT0gb3BlbkVudGl0eQBpbmZpbml0eQBsaXN0LT5zaXplIDwgbGlzdC0+Y2FwYWNpdHkAcmV0LnNpemUgPCByZXQuY2FwYWNpdHkAZmFudGFzeQBTcGFyc2VNYXRyaXhfY29vcmRpbmF0ZV9mb3JtX2FkZF9lbnRyeQAvc3ZnL2l2b3J5AG91dCBvZiBtZW1vcnkARmVicnVhcnkASmFudWFyeQBndnBsdWdpbl9kb3RfbGF5b3V0X0xUWF9saWJyYXJ5AGd2cGx1Z2luX25lYXRvX2xheW91dF9MVFhfbGlicmFyeQBndnBsdWdpbl9jb3JlX0xUWF9saWJyYXJ5AGdhdGhlcl90aW1lX2VudHJvcHkAY29weQBhbGJhbnkASnVseQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAZXF1YWxseQBhc3NlbWJseQBzdW1tZXJza3kAc2h5AHNhdGlzZnkAYmVhdXRpZnkAbm9qdXN0aWZ5AENsYXNzaWZ5AC9zdmcvbGlnaHRncmV5AC9zdmcvZGltZ3JleQAvc3ZnL2RhcmtncmV5AC9zdmcvbGlnaHRzbGF0ZWdyZXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvc2xhdGVncmV5AHdlYmdyZXkAeDExZ3JleQAvc3ZnL2dyZXkAbW92ZSB0byBmcm9udCBsb2NrIGluY29uc2lzdGVuY3kAZXh0cmFjdF9hZGphY2VuY3kAbWVyZ2Vfb25ld2F5AGFycmF5AGFsbG9jQXJyYXkAL3N2Zy9saWdodGdyYXkAL3N2Zy9kaW1ncmF5AC9zdmcvZGFya2dyYXkAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyYXkAd2ViZ3JheQB4MTFncmF5AC9zdmcvZ3JheQBUaHVyc2RheQBUdWVzZGF5AFdlZG5lc2RheQBTYXR1cmRheQBTdW5kYXkATW9uZGF5AEZyaWRheQBNYXkALi4vLi4vbGliL2NncmFwaC9ncmFtbWFyLnkAJW0vJWQvJXkAcG9ydGhveXgAcG9ydGhvX3l4AHh4eABib3gAdmlld0JveABjaGtCb3VuZEJveAAvTWVkaWFCb3gAZ2V0X2VkZ2VfbGFiZWxfbWF0cml4AGlkZWFsX2Rpc3RhbmNlX21hdHJpeABtdXN0IG5vdCB1bmRlY2xhcmUgcHJlZml4AHVuYm91bmQgcHJlZml4AGh0bWxsZXgAbWF4ACMlMDJ4JTAyeCUwMngAIyUyeCUyeCUyeCUyeAAjJTF4JTF4JTF4AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAcmFycm93AGxhcnJvdwBIZWx2ZXRpY2EtTmFycm93AGFycm93X2xlbmd0aF9jcm93AC9zdmcvc25vdwBzcHJpbmdfZWxlY3RyaWNhbF9lbWJlZGRpbmdfc2xvdwAvc3ZnL2xpZ2h0eWVsbG93AC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL3llbGxvdwBmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AGZsZXggc2Nhbm5lciBwdXNoLWJhY2sgb3ZlcmZsb3cAY291cmllcm5ldwBTcHJpbmdTbW9vdGhlcl9uZXcAVHJpYW5nbGVTbW9vdGhlcl9uZXcAZGlhZ19wcmVjb25fbmV3AFF1YWRUcmVlX25ldwBTdHJlc3NNYWpvcml6YXRpb25TbW9vdGhlcjJfbmV3AG4gJiYgbmV3AHNrZXcAc3RydmlldwAvc3ZnL2hvbmV5ZGV3ACAtYW5jaG9yIHcAc29ydHYAcG92OnBvdgBOb3YAaW52AGVxdWl2AHBpdgBub25hbWUuZ3YAR0RfcmFuayhnKVtyXS5hdiA9PSBHRF9yYW5rKGcpW3JdLnYAY2Mlc18lenUAY2MlcyslenUAL3N2Zy9wZXJ1AG51AG11ACVjJWxsdQBUaHUAdGF1AFRhdQBOdQBNdQBfcG9ydF8lc18oJWQpXyglZClfJXUATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAldQBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJXUAcGxhaW50ZXh0AHN0cmVzc3d0AGlucHV0AHRleHRsYXlvdXQAZG90X2xheW91dABuZWF0b19sYXlvdXQAaW5pdExheW91dABjbHVzdABtYXBDbHVzdABsYWJlbGp1c3QAc2NBZGp1c3QAQXVndXN0AGVkZ2VzZmlyc3QAbm9kZXNmaXJzdABtYXhpbWFsX2luZGVwZW5kZW50X2VkZ2Vfc2V0X2hlYXZlc3RfZWRnZV9wZXJub2RlX3N1cGVybm9kZXNfZmlyc3QAZXhpc3QAcmVhbGlnbk5vZGVsaXN0AGFwcGVuZE5vZGVsaXN0AHNsb3RfZnJvbV9jb25zdF9saXN0AHNsb3RfZnJvbV9saXN0AGRlZmF1bHRkaXN0AG1pbmRpc3QAcG93ZXJfZGlzdABncmFwaF9kaXN0AGF2Z19kaXN0AGdldEVkZ2VMaXN0AGlxdWVzdABsb3dhc3QAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX2Zhc3QAZ3Zfc29ydAB2aWV3cG9ydAB0YWlscG9ydAB1bmV4cGVjdGVkIHBhcnNlciBzdGF0ZSAtIHBsZWFzZSBzZW5kIGEgYnVnIHJlcG9ydABoZWFkcG9ydABodG1sX3BvcnQAaW5zZXJ0AFJUcmVlSW5zZXJ0AGZpbmRTVmVydABzdGFydABwYXJ0AGVzdGltYXRlX3RleHRfd2lkdGhfMXB0AHF1b3QAf3Jvb3QAbm90AG1ha2Vfdm5fc2xvdABlbWl0X3hkb3QAeGRvdDp4ZG90AGVwczp4ZG90AHN2Zzp4ZG90AGpwZzp4ZG90AHBuZzp4ZG90AGpwZWc6eGRvdABnaWY6eGRvdABqcGU6eGRvdAB4ZG90MS40Onhkb3QAeGRvdDEuMjp4ZG90AHNkb3QAbWlkZG90AGd2OmRvdABwbGFpbi1leHQ6ZG90AGRvdDpkb3QAZXBzOmRvdABjYW5vbjpkb3QAcGxhaW46ZG90AHN2Zzpkb3QAanBnOmRvdABwbmc6ZG90AGpwZWc6ZG90AGdpZjpkb3QAanBlOmRvdAB/Ym90AGRvRG90AHNwYW4tPmZvbnQAdmFneGJwcmludABlbmRwb2ludAB4ZG90X3BvaW50AGRlY2lkZV9wb2ludABVbnNhdGlzZmllZCBjb25zdHJhaW50AHRyYW5zcGFyZW50AGNvbXBvbmVudABpbnZhbGlkIGFyZ3VtZW50AGNvbW1lbnQAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGNlbnQAaSA9PSBlY250AGFyaWFsbXQAZ2V0X2hhc2hfc2VjcmV0X3NhbHQAY2lyY3VpdABwb2x5X2luaXQATXVsdGlsZXZlbF9pbml0AG5zbGltaXQAbWNsaW1pdABQb3J0cmFpdABsaWdodAB2aXJ0dWFsX3dlaWdodABsaGVpZ2h0AEtQX1JpZ2h0AEJvb2ttYW4tTGlnaHQAZ3QAS1BfTGVmdABjaGFyc2V0AGluc2V0AGJpdGFycmF5X3Jlc2V0AGd2X2FyZW5hX3Jlc2V0AHN1YnNldABiaXRhcnJheV9zZXQAbWF0cml4X3NldABzY2FybGV0AC9zdmcvZGFya3Zpb2xldAAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy92aW9sZXQAVHJlYnVjaGV0AGFneGdldAB0YWlsdGFyZ2V0AGxhYmVsdGFyZ2V0AGVkZ2V0YXJnZXQAaGVhZHRhcmdldABiaXRhcnJheV9nZXQAc3R5bGVzaGVldABzdHJpY3QAYWdjb3B5ZGljdABhZ21ha2VkYXRhZGljdAByZWMtPmRpY3QgPT0gZGF0YWRpY3QAd3JpdGVfZGljdABoaW50ZXJzZWN0AGd2YmlzZWN0AGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AGFzcGVjdABsYXllcnNlbGVjdABLUF9TdWJ0cmFjdABRdWFkVHJlZV9yZXB1bHNpdmVfZm9yY2VfaW50ZXJhY3QAY29tcGFjdABPY3QAcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGxhYmVsZmxvYXQAbGFiZWxfZmxvYXQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAL3N2Zy93aGVhdABtb25jaGFpbnNfYXQAU2F0AEFncmFwaGluZm9fdABBZ2VkZ2VpbmZvX3QAQWdub2RlaW5mb190AFx0AHJvdyA8IG1lLT5ucm93cwBtaW51cwBvcGx1cwByYWRpdXMAaGVhcnRzAHNhbXBsZXBvaW50cwBkaXJlZGdlY29uc3RyYWludHMAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwB4eSBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAbGluZSBzZWdtZW50cwBzZXRfY2VsbF9oZWlnaHRzAHJlY3RzAGFjY291bnRpbmdSZXBvcnRTdGF0cwBlbnRpdHlUcmFja2luZ1JlcG9ydFN0YXRzAFphcGZEaW5nYmF0cwByZW1pbmNyb3NzAGNvbXByZXNzAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAGJyYXNzAGNsYXNzAGFwcGx5YXR0cnMAYWdtYWtlYXR0cnMAYmluZGF0dHJzAHBhcnNlX2xheWVycwBta0NsdXN0ZXJzAHJvdW5kX2Nvcm5lcnMAbWFrZV9iYXJyaWVycwBjZGF0YS5udG9wbGV2ZWwgPT0gYWdubm9kZXMoZykgLSBjZGF0YS5udmFycwBjYW5ub3QgcmVhbGxvYyBvcHMAY2Fubm90IHJlYWxsb2MgcG5scHMAZXBzAGNvcmVfbG9hZGltYWdlX3BzAGVwczpwcwBwczI6cHMAKGxpYik6cHMAZ3ZfdHJpbV96ZXJvcwBhZ3hidWZfdHJpbV96ZXJvcwB0ZXhneXJlaGVyb3MAaW1hZ2Vwb3MAdGlub3MAc2V0RWRnZUxhYmVsUG9zAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMAeGxpbnRlcnNlY3Rpb25zAGNvbHVtbnMAZGVqYXZ1c2FucwBuaW1idXNzYW5zAGxpYmVyYXRpb25zYW5zAGZyZWVzYW5zAE9wZW5TYW5zAG9mZnNldCA9PSBuX3Rlcm1zAGRpdGVtcwBkaWFtcwBjb2wgPCBtZS0+bmNvbHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBwbmxzAGxldmVscwBmb3JjZWxhYmVscwBkaWFnb25hbHMAbWVyZ2VfcmFua3MAc3BsaXRCbG9ja3MAaW52aXMAY2Fubm90IHJlYWxsb2MgdHJpcwBzZXRfY2VsbF93aWR0aHMAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAeWVzAHNob3dib3hlcwBiZWF1dGlmeV9sZWF2ZXMAYXR0YWNoX2VkZ2VfbGFiZWxfY29vcmRpbmF0ZXMAcG9seWxpbmVzAHNwbGluZXMAb3J0aG9nb25hbCBsaW5lcwB0ZXhneXJldGVybWVzAG90aW1lcwBUaW1lcwBmb250bmFtZXMAcHJlZml4IG11c3Qgbm90IGJlIGJvdW5kIHRvIG9uZSBvZiB0aGUgcmVzZXJ2ZWQgbmFtZXNwYWNlIG5hbWVzAFNwYXJzZU1hdHJpeF9zdW1fcmVwZWF0X2VudHJpZXMAcGVyaXBoZXJpZXMAR2V0QnJhbmNoZXMAZiA8IGdyYXBoW2pdLm5lZGdlcwBtaW5tYXhfZWRnZXMAZXhjaGFuZ2VfdHJlZV9lZGdlcwBtYWtlU3RyYWlnaHRFZGdlcwB1bmRvQ2x1c3RlckVkZ2VzAGNvbXBvdW5kRWRnZXMAbWVyZ2VfdHJlZXMAX19jbHVzdGVybm9kZXMAYWdubm9kZXMATkRfaWQobnApID09IG5fbm9kZXMATG9hZE5vZGVzAHNpZGVzAHNwYWRlcwB2ZXJ0aWNlcwBjb29yZHMAc2V0Ym91bmRzAG1kcwBjZHMAbWFrZVNlbGZBcmNzAGVtaXRfZWRnZV9ncmFwaGljcwBjbHVicwBjb25zb2xhcwAlbGYlMnMAClN0cmluZyBzdGFydGluZzo8JS44MHMAClN0cmluZyBzdGFydGluZzoiJS44MHMAICUuKnMAJXMlcwBleHBhdDogQWNjb3VudGluZyglcCk6IERpcmVjdCAlMTBsbHUsIGluZGlyZWN0ICUxMGxsdSwgYW1wbGlmaWNhdGlvbiAlOC4yZiVzACUuKnMlYyVzACAlczolcwBfXyVkOiVzAC8lcy8lcwAlcy0lcwAsJXMAIGZvbnQtZmFtaWx5PSIlcwAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzACIgY2xhc3M9IiVzAHBvbHkgJXMAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAY29sb3IgJXMAcm9vdCA9ICVzACBUaXRsZTogJXMAInN0cmljdCI6ICVzAGNvdXIAdXRyAGFwcGVuZGF0dHIAYWRkYXR0cgBiZWdpbnN0cgBmc3RyAHN0cnZpZXdfc3RyAHBvdl9jb2xvcl9hc19zdHIAdnBzYyE9bnVsbHB0cgBiZW5kVG9TdHIAdWFycgBjcmFycgBsYXJyAGhhcnIAZGFycgB1QXJyAHJBcnIAbEFycgBoQXJyAGRBcnIAQXByAFNwYXJzZU1hdHJpeF9tdWx0aXBseV92ZWN0b3IAdGVybWluYXRvcgBpbnN1bGF0b3IAaW50ZXJuYWxFbnRpdHlQcm9jZXNzb3IAdGV4Z3lyZWN1cnNvcgBzeW50YXggZXJyb3IAbW9uZXlfZ2V0IGVycm9yAEVycm9yAHJmbG9vcgBsZmxvb3IAbGFiZWxmb250Y29sb3IAcGVuY29sb3IAZmlsbGNvbG9yAGJnY29sb3IAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBuZWlnaGJvcgBzdHlsZV9vcgBtcgByYW5rZGlyAHBhZ2VkaXIAbGF5ZXIAdXBwZXIgPj0gbG93ZXIATm9kZUNvdmVyAC9zdmcvc2lsdmVyAGNsdXN0ZXIAZXhwYW5kQ2x1c3RlcgBycHJvbW90ZXIAbHByb21vdGVyAGNlbnRlcgBtYXhpdGVyAHBhcnRpYWwgY2hhcmFjdGVyACEgcm9vdFBhcnNlci0+bV9wYXJlbnRQYXJzZXIAZGtncmVlbmNvcHBlcgBjb29sY29wcGVyAGd2X3NvcnRfY29tcGFyX3dyYXBwZXIAdGFwZXIAb3ZlcmxhcF9iZXppZXIAZmlnX2JlemllcgBjb3VyaWVyAENvdXJpZXIAaGllcgBkYWdnZXIARGFnZ2VyAG91dHB1dG9yZGVyAHBvc3RvcmRlcgBmbGF0X3Jlb3JkZXIAY2VsbGJvcmRlcgBmaXhMYWJlbE9yZGVyAGN5bGluZGVyAC9zdmcvbGF2ZW5kZXIAcmVuZGVyAGZvbGRlcgBjbHVzdGVyX2xlYWRlcgBORF9VRl9zaXplKG4pIDw9IDEgfHwgbiA9PSBsZWFkZXIAT2N0b2JlcgByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAE5vdmVtYmVyAFNlcHRlbWJlcgBEZWNlbWJlcgBtYWNyAGJyAHN0YXIAZmVsZHNwYXIAcmVndWxhcgBpb3NfYmFzZTo6Y2xlYXIAYnJ2YmFyAE1hcgBccgBORF9yYW5rKHYpID09IHIAc3RyZXEAc3Rydmlld19lcQBzdHJ2aWV3X3N0cl9lcQBzdHJ2aWV3X2Nhc2Vfc3RyX2VxAHN0cnZpZXdfY2FzZV9lcQB2cAAlJUJlZ2luUHJvbG9nCi9Eb3REaWN0IDIwMCBkaWN0IGRlZgpEb3REaWN0IGJlZ2luCgovc2V0dXBMYXRpbjEgewptYXJrCi9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmCiBFbmNvZGluZ1ZlY3RvciAwCgpJU09MYXRpbjFFbmNvZGluZyAwIDI1NSBnZXRpbnRlcnZhbCBwdXRpbnRlcnZhbApFbmNvZGluZ1ZlY3RvciA0NSAvaHlwaGVuIHB1dAoKJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nCi9zdGFybmV0SVNPIHsKICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgogICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UKICAgICAgICB9IGZvcmFsbAogICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYKICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAp9IGRlZgovVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYKL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgovVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgovVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgovSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmCi9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgovSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYKL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgovQ291cmllciBzdGFybmV0SVNPIGRlZgovQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmCi9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYKL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYKY2xlYXJ0b21hcmsKfSBiaW5kIGRlZgoKJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAovY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgovZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmCi9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmCgovSW52U2NhbGVGYWN0b3IgMS4wIGRlZgovc2V0X3NjYWxlIHsKICAgICAgIGR1cCAxIGV4Y2ggZGl2IC9JbnZTY2FsZUZhY3RvciBleGNoIGRlZgogICAgICAgc2NhbGUKfSBiaW5kIGRlZgoKJSBzdHlsZXMKL3NvbGlkIHsgW10gMCBzZXRkYXNoIH0gYmluZCBkZWYKL2Rhc2hlZCB7IFs5IEludlNjYWxlRmFjdG9yIG11bCBkdXAgXSAwIHNldGRhc2ggfSBiaW5kIGRlZgovZG90dGVkIHsgWzEgSW52U2NhbGVGYWN0b3IgbXVsIDYgSW52U2NhbGVGYWN0b3IgbXVsXSAwIHNldGRhc2ggfSBiaW5kIGRlZgovaW52aXMgey9maWxsIHtuZXdwYXRofSBkZWYgL3N0cm9rZSB7bmV3cGF0aH0gZGVmIC9zaG93IHtwb3AgbmV3cGF0aH0gZGVmfSBiaW5kIGRlZgovYm9sZCB7IDIgc2V0bGluZXdpZHRoIH0gYmluZCBkZWYKL2ZpbGxlZCB7IH0gYmluZCBkZWYKL3VuZmlsbGVkIHsgfSBiaW5kIGRlZgovcm91bmRlZCB7IH0gYmluZCBkZWYKL2RpYWdvbmFscyB7IH0gYmluZCBkZWYKL3RhcGVyZWQgeyB9IGJpbmQgZGVmCgolIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAovbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgovZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgovZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYKL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYKCi9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMKCS9ucGFnZXMgZXhjaCBkZWYKCS9qIGV4Y2ggZGVmCgkvaSBleGNoIGRlZgoJL3N0ciAxMCBzdHJpbmcgZGVmCglucGFnZXMgMSBndCB7CgkJZ3NhdmUKCQkJY29vcmRmb250IHNldGZvbnQKCQkJMCAwIG1vdmV0bwoJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93CgkJZ3Jlc3RvcmUKCX0gaWYKfSBiaW5kIGRlZgoKL3NldF9mb250IHsKCWZpbmRmb250IGV4Y2gKCXNjYWxlZm9udCBzZXRmb250Cn0gZGVmCgolIGRyYXcgdGV4dCBmaXR0ZWQgdG8gaXRzIGV4cGVjdGVkIHdpZHRoCi9hbGlnbmVkdGV4dCB7CQkJJSB3aWR0aCB0ZXh0CgkvdGV4dCBleGNoIGRlZgoJL3dpZHRoIGV4Y2ggZGVmCglnc2F2ZQoJCXdpZHRoIDAgZ3QgewoJCQlbXSAwIHNldGRhc2gKCQkJdGV4dCBzdHJpbmd3aWR0aCBwb3Agd2lkdGggZXhjaCBzdWIgdGV4dCBsZW5ndGggZGl2IDAgdGV4dCBhc2hvdwoJCX0gaWYKCWdyZXN0b3JlCn0gZGVmCgovYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplCgkJNCAyIHJvbGwKCQltb3ZldG8KCQkyIGNvcHkKCQlleGNoIDAgcmxpbmV0bwoJCTAgZXhjaCBybGluZXRvCgkJcG9wIG5lZyAwIHJsaW5ldG8KCQljbG9zZXBhdGgKfSBiaW5kIGRlZgoKL2VsbGlwc2VfcGF0aCB7CgkvcnkgZXhjaCBkZWYKCS9yeCBleGNoIGRlZgoJL3kgZXhjaCBkZWYKCS94IGV4Y2ggZGVmCgltYXRyaXggY3VycmVudG1hdHJpeAoJbmV3cGF0aAoJeCB5IHRyYW5zbGF0ZQoJcnggcnkgc2NhbGUKCTAgMCAxIDAgMzYwIGFyYwoJc2V0bWF0cml4Cn0gYmluZCBkZWYKCi9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgovc2hvd3BhZ2UgeyB9IGRlZgoKL2xheWVyY29sb3JzZXEKCVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QKCQlbMCAwIDBdCgkJWy4yIC44IC44XQoJCVsuNCAuOCAuOF0KCQlbLjYgLjggLjhdCgkJWy44IC44IC44XQoJXQpkZWYKCi9sYXllcmxlbiBsYXllcmNvbG9yc2VxIGxlbmd0aCBkZWYKCi9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgoJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0CglhbG9hZCBwb3Agc2V0aHNiY29sb3IKCS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYKCS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYKCS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmCn0gYmluZCBkZWYKCi9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgoKL29ubGF5ZXJzIHsKCS9teXVwcGVyIGV4Y2ggZGVmCgkvbXlsb3dlciBleGNoIGRlZgoJY3VybGF5ZXIgbXlsb3dlciBsdAoJY3VybGF5ZXIgbXl1cHBlciBndAoJb3IKCXtpbnZpc30gaWYKfSBkZWYKCi9jdXJsYXllciAwIGRlZgoKJSVFbmRSZXNvdXJjZQolJUVuZFByb2xvZwolJUJlZ2luU2V0dXAKMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAolIC9hcnJvd2xlbmd0aCAxMCBkZWYKJSAvYXJyb3d3aWR0aCA1IGRlZgoKJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyCi9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQolIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwovbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQoyIGx0IHsKICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQKICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQKfSBpZgoKJSVFbmRTZXR1cABzdXAAZ3JvdXAAY3VwAHRoaW5zcABlbnNwAGVtc3AAbmJzcABwZXJwAHdlaWVycABnZW5lcmF0ZS1jb25zdHJhaW50cy5jcHAAYmxvY2suY3BwAGNzb2x2ZV9WUFNDLmNwcAB/dG9wAHByb3AAYWd4YnBvcABub3AAYXN5bXAAY29tcABmaW5kQ0NvbXAAYm1wAHNjYWxlX2NsYW1wAHhscABscCAhPSBjbHAAdGFpbF9scABoZWFkX2xwAHRhaWx0b29sdGlwAGxhYmVsdG9vbHRpcABlZGdldG9vbHRpcABoZWFkdG9vbHRpcABoZWxsaXAAdGFpbGNsaXAAaGVhZGNsaXAAL3N2Zy9wYXBheWF3aGlwAGhwAHRyYW5zcG9zZV9zdGVwAGNvbXB1dGVTdGVwAGxheWVybGlzdHNlcABsYXllcnNlcABpcHNlcAByYW5rc2VwAG5vZGVzZXAAc3ViZ3JhcGhzIG5lc3RlZCBtb3JlIHRoYW4gJWQgZGVlcABTZXAAc2ZkcABjcAB3ZWJwAGlkbWFwAGNsdXN0ZXJfbWFwAGNtYXB4Om1hcABlcHM6bWFwAGNtYXB4X25wOm1hcABpbWFwX25wOm1hcABpc21hcDptYXAAaW1hcDptYXAAY21hcDptYXAAc3ZnOm1hcABqcGc6bWFwAHBuZzptYXAAanBlZzptYXAAZ2lmOm1hcABqcGU6bWFwAG92ZXJsYXAAbGV2ZWxzZ2FwAGNhcABLUF9VcAAlSTolTTolUyAlcABzdGFydCA8PSBwAHJzcXVvAGxzcXVvAHJkcXVvAGxkcXVvAGJkcXVvAHNicXVvAHJzYXF1bwBsc2FxdW8AcmFxdW8AbGFxdW8AYXV0bwBOdW5pdG8AL3N2Zy90b21hdG8AbmVhdG8AZXVybwAvc3ZnL2dhaW5zYm9ybwBNZXRob2RaZXJvAG1pY3JvAG5pbWJ1c21vbm8AbGliZXJhdGlvbm1vbm8AZnJlZW1vbm8AYXJpbW8AcmF0aW8AcG9ydGhvAHJobwBSaG8AL3N2Zy9pbmRpZ28AcGluZm8AY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AY2xfZWRnZV9pbmZvAGdldFBhY2tJbmZvAG1ha2VJbmZvAHBhcnNlUGFja01vZGVJbmZvAGNpcmNvAGljbwBcJTAzbwAvc3ZnL3Jvc3licm93bgAvc3ZnL3NhbmR5YnJvd24AdmVyeWRhcmticm93bgAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvYnJvd24AS1BfRG93bgBjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgBTdW4ASnVuAHRob3JuAC9zdmcvY3JpbXNvbgB4ZG90X2pzb24AeGRvdF9qc29uOmpzb24AanNvbjA6anNvbgBvbWljcm9uAE9taWNyb24Ac2Nhcm9uAFNjYXJvbgB3ZWJtYXJvb24AeDExbWFyb29uAC9zdmcvbWFyb29uAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9kYXJrc2FsbW9uAC9zdmcvc2FsbW9uAHVwc2lsb24AZXBzaWxvbgBVcHNpbG9uAEVwc2lsb24AcmVzb2x1dGlvbgBkaXN0b3J0aW9uAHN0ZDo6ZXhjZXB0aW9uAHBhcnRpdGlvbgBkb3RfcG9zaXRpb24AU2V0dGluZyB1cCBzdHJlc3MgZnVuY3Rpb24AdW5jbG9zZWQgQ0RBVEEgc2VjdGlvbgBwb3N0YWN0aW9uAHJvdGF0aW9uAG9yaWVudGF0aW9uAGFib21pbmF0aW9uAGFjY291bnRpbmdHZXRDdXJyZW50QW1wbGlmaWNhdGlvbgB4ZG90dmVyc2lvbgBTVHNldFVuaW9uADxwb2x5Z29uAGhleGFnb24Ac2VwdGFnb24AcGVudGFnb24AdHJpcGxlb2N0YWdvbgBkb3VibGVvY3RhZ29uAC9zdmcvbGVtb25jaGlmZm9uAE1vbgBwbHVzbW4Abm90aW4AaXNpbgAvc3ZnL21vY2Nhc2luAHBpbgBtaW4Adm9yb19tYXJnaW4AaW5maW4Ab25lZF9vcHRpbWl6ZXJfdHJhaW4AcGxhaW4AbWFrZV9jaGFpbgBtZXJnZV9jaGFpbgBkZWxldGVNaW4AZmluZE1pbgB2YWxpZ24AYmFsaWduAHllbgBNdWx0aWxldmVsX2NvYXJzZW4AY3VycmVuAFBvYnNvcGVuAGd2X2ZvcGVuAGd2dXNlcnNoYXBlX29wZW4AZW50aXR5VHJhY2tpbmdPbk9wZW4AL3N2Zy9saW5lbgBkaW1lbgBtaW5sZW4Ac3R5bGVfdG9rZW4AdW5jbG9zZWQgdG9rZW4AL3N2Zy95ZWxsb3dncmVlbgBtZWRpdW1mb3Jlc3RncmVlbgAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvbGlnaHRncmVlbgBodW50ZXJzZ3JlZW4AL3N2Zy9sYXduZ3JlZW4AL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9tZWRpdW1zcHJpbmdncmVlbgAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9saW1lZ3JlZW4AL3N2Zy9wYWxlZ3JlZW4Ad2ViZ3JlZW4AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbWVkaXVtc2VhZ3JlZW4AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9zZWFncmVlbgB4MTFncmVlbgAvc3ZnL2dyZWVuAEdyZWVuAC9zdmcvbGlnaHRjeWFuAC9zdmcvZGFya2N5YW4AL3N2Zy9jeWFuAG5ld3RhbgBkYXJrdGFuAC9zdmcvdGFuAHJvd3NwYW4AY29sc3BhbgBuYW4AdGltZXNuZXdyb21hbgBuaW1idXNyb21hbgB0aW1lc3JvbWFuAFRpbWVzLVJvbWFuAFBhbGF0aW5vLVJvbWFuAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4ASmFuAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGFneGJwdXRfbgBcbgBuX25vZGVzID09IGdyYXBoLT5uAEEtPm0gPT0gQS0+bgBqb2ItPm9iai0+dS5uAG56YyA9PSAoc2l6ZV90KW4AcywlbGYsJWxmJW4AIGUsJWxmLCVsZiVuACVkICUxWyJdJW4AdiA9PSBuAGIgPT0gbgBuY2x1c3RlciA8PSBuAHBzeW0AYWxlZnN5bQB0aGV0YXN5bQBxdWFudHVtAHN1bQAvc3ZnL3BsdW0AaW52dHJhcGV6aXVtAG1lZGl1bQA5OnByaXNtAGxybQBjdXN0b20AYXB0ci0+dGFnID09IFRfYXRvbQAvZGV2L3VyYW5kb20AZ3ZfcmFuZG9tAHJsbQBzaW0ASU1EU19naXZlbl9kaW0Ab3JkbQBwYXJhbGxlbG9ncmFtAC9zdmcvbWludGNyZWFtAEp1bAB0bABmcmFzbABTeW1ib2wAZmluZENvbAA8P3htbAB5dW1sAHV1bWwAb3VtbABpdW1sAGV1bWwAYXVtbABZdW1sAFV1bWwAT3VtbABJdW1sAEV1bWwAQXVtbABjb3JlX2xvYWRpbWFnZV92cm1sAGpwZzp2cm1sAHBuZzp2cm1sAGpwZWc6dnJtbABnaWY6dnJtbABqcGU6dnJtbABidWxsAGZpbGwAL3N2Zy9zZWFzaGVsbABmb3JhbGwAQXByaWwAcGVybWlsAHJjZWlsAGxjZWlsAGNjZWRpbABDY2VkaWwAYXJyb3d0YWlsAGx0YWlsAHNhbWV0YWlsAGxldmVsID49IDAgJiYgbGV2ZWwgPD0gbi0+bGV2ZWwAc3RyZXNzX21ham9yaXphdGlvbl9rRF9ta2VybmVsAGlzX3BhcmFsbGVsAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAENhbGN1bGF0aW5nIE1EUyBtb2RlbAB4bGFiZWwAdGFpbGxhYmVsAGhlYWRsYWJlbABncmFwaCBsYWJlbABpZXhjbABvYmpwLT5sYmwAb3ZhbABtZXJnZXZpcnR1YWwAL3N2Zy9saWdodGNvcmFsAC9zdmcvY29yYWwAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9hcnJheXNfaW50ZXJuYWwATXVsdGlsZXZlbF9jb2Fyc2VuX2ludGVybmFsAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABhcnJvd19sZW5ndGhfbm9ybWFsAGFyaWFsAHJhZGlhbAAvc3ZnL3RlYWwAcmVhbABsb2NhbABlc3RpbWF0ZV9jaGFyYWN0ZXJfd2lkdGhfY2Fub25pY2FsAGdsb2JhbABxLT5sAC4uLy4uL2xpYi9jZ3JhcGgvc2Nhbi5sAHRrOnRrAGdpZjp0awBwYXRjaHdvcmsAdG9rAGJvb2sAQXZhbnRHYXJkZS1Cb29rAHNpbmsAb3ZlcmxhcF9zaHJpbmsAc3BpY3lwaW5rAC9zdmcvaG90cGluawAvc3ZnL2xpZ2h0cGluawAvc3ZnL2RlZXBwaW5rAG5lb25waW5rAC9zdmcvcGluawBuZXdyYW5rAGNsdXN0ZXJyYW5rAF9uZXdfcmFuawBpbnN0YWxsX2luX3JhbmsAcmVtb3ZlX2Zyb21fcmFuawAvc3ZnL2Nvcm5zaWxrAG9uZWJsb2NrAHYtPmxlZnQtPmJsb2NrID09IHYtPnJpZ2h0LT5ibG9jawAvc3ZnL2ZpcmVicmljawBQUWNoZWNrAHBhY2sAL3N2Zy9ibGFjawBCbGFjawBiYWNrAHp3agB6d25qAGpvYi0+b2JqAGdldGludHJzeGkAcHNpAFBzaQBDYWxpYnJpAEZyaQB0d29waQBkcGkAdm9yb25vaQBWb3Jvbm9pAGNoYW5pAGRlbWkAQm9va21hbi1EZW1pAEF2YW50R2FyZGUtRGVtaQAvc3ZnL2RhcmtraGFraQAvc3ZnL2toYWtpAHBoaQBjaGkAUGhpAENoaQBkaQBYaQBQaQBORF9pZChucCkgPT0gaQBTdHJlc3NNYWpvcml6YXRpb25TbW9vdGhlcl9zbW9vdGgAU3ByaW5nU21vb3RoZXJfc21vb3RoAGJvdGgAc3RhcnRzd2l0aABsaW5lbGVuZ3RoAGJhZF9hcnJheV9uZXdfbGVuZ3RoAGF2ZXJhZ2VfZWRnZV9sZW5ndGgAZXRoAHBlbndpZHRoAGx3aWR0aABzZXRsaW5ld2lkdGgAc2hvcnRwYXRoAGZvbnRwYXRoAFBvYnNwYXRoAGJlZ2lucGF0aABpbWFnZXBhdGgAZW5kcGF0aABzdHJhaWdodF9wYXRoAG1hcF9wYXRoADxwYXRoAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAL3N2Zy9sYXZlbmRlcmJsdXNoAGZsZXNoAG9zbGFzaABPc2xhc2gAZHRzdHJoYXNoAHN0cmRpY3RfaGFzaABuZGFzaABtZGFzaABkaWdyYXBoAHN1YmdyYXBoAGNvbnN0cnVjdF9ncmFwaABjaGtTZ3JhcGgAY2xvc2VzdF9wYWlyczJncmFwaABhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABjb25uZWN0R3JhcGgAdXBzaWgAJXNsaW5lLXRocm91Z2gAY2hhblNlYXJjaABSVHJlZVNlYXJjaABNYXJjaABEaXNjb25CcmFuY2gAUGlja0JyYW5jaABBZGRCcmFuY2gALi4vLi4vbGliL3V0aWwvYml0YXJyYXkuaAAuLi8uLi9saWIvdXRpbC9zdHJ2aWV3LmgALi4vLi4vbGliL3V0aWwvc29ydC5oAC4uLy4uL2xpYi9jZ3JhcGgvbm9kZV9zZXQuaAAuLi8uLi9saWIvdXRpbC9zdHJlcS5oAC4uLy4uL2xpYi91dGlsL3N0YXJ0c3dpdGguaAAuLi8uLi9saWIvdXRpbC9ndl9tYXRoLmgALi4vLi4vbGliL3V0aWwvYWd4YnVmLmgALi4vLi4vbGliL3V0aWwvdG9rZW5pemUuaAAuLi8uLi9saWIvdXRpbC9hbGxvYy5oAGF1eGcAY29yZV9sb2FkaW1hZ2Vfc3ZnAHN2ZzpzdmcAanBnOnN2ZwBwbmc6c3ZnAGpwZWc6c3ZnAGdpZjpzdmcAanBlOnN2ZwBzdmdfaW5saW5lOnN2ZwBBdWcAZG9Qcm9sb2cAcG93ZXJfaXRlcmF0aW9uX29ydGhvZwBwbmcAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAeGRvdCB2ZXJzaW9uICIlcyIgdG9vIGxvbmcAY29uZwBsYmxlbmNsb3NpbmcAYmFzaWNfc3RyaW5nAGZhaWx1cmUgbWFsbG9jJ2luZyBmb3IgcmVzdWx0IHN0cmluZwBzcHJpbmcAb3JkZXJpbmcAZ2VuZXJhdGVSYW5kb21PcmRlcmluZwBhcmluZwBBcmluZwBEYW1waW5nAFdhcm5pbmcAb3ZlcmxhcF9zY2FsaW5nAHggYW5kIHkgc2NhbGluZwBvbGQgc2NhbGluZwBzbW9vdGhpbmcAdW5rbm93biBlbmNvZGluZwBtdWx0aWxldmVsX3NwcmluZ19lbGVjdHJpY2FsX2VtYmVkZGluZwBzcHJpbmdfZWxlY3RyaWNhbF9zcHJpbmdfZW1iZWRkaW5nAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAHJhbmcAbGFuZwBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBlbWl0X2h0bWxfaW1nAGxnAG9yaWcAc3psaWcAb2VsaWcAYWVsaWcAT0VsaWcAQUVsaWcAY29yZV9sb2FkaW1hZ2VfZmlnAGpwZzpmaWcAcG5nOmZpZwBmaWc6ZmlnAGpwZWc6ZmlnAGdpZjpmaWcAanBlOmZpZwBlZ2cAbmV4dF9zZWcAcmVnAGpwZWcAaSA9PSBkZWcAZGcAY2cAY2xvc2VzdWJnAG1pc21hdGNoZWQgdGFnAGJlei0+c2ZsYWcAYmV6LT5lZmxhZwAhKmZsYWcAIWZsYWcAPGcAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjVnICUuNWcAJWcgJWcAYm94SW50ZXJzZWN0ZgBlcHNmAGFnZWRnZXNlcWNtcGYAY2N3cm90YXRlcGYAZm5vZgBpbmYAc2VsZgBoYWxmACVsZiVsZiVsZiVsZgAlbGYsJWxmLCVsZiwlbGYsJWxmACUqZiAlKmYgJWxmICVsZgBsaWJlcmF0aW9uc2VyaWYAZnJlZXNlcmlmAHNhbnMtU2VyaWYAZ2lmAC9zdmcvcGVhY2hwdWZmAHJpZmYAYWNjb3VudGluZ1JlcG9ydERpZmYAKFhtbEJpZ0NvdW50KS0xIC0gcm9vdFBhcnNlci0+bV9hbGxvY190cmFja2VyLmJ5dGVzQWxsb2NhdGVkID49IGFic0RpZmYAdGFpbGhyZWYAbGFiZWxocmVmAGVkZ2VocmVmAGhlYWRocmVmAG9yZGYAcGRmAHNpZ21hZgBcZgAlLjBMZgAlTGYAdXMtPmYAJS4wM2YAJXMgdHJhbnNtaXQgJS4zZgByZ2I8JTkuM2YsICU5LjNmLCAlOS4zZj4gdHJhbnNtaXQgJS4zZgAlLjAyZgAlLjJmACUuMGYsJS4wZiwlLjBmLCUuMGYAICUuMGYsJS4wZgAlLjBmICUuMGYgJS4wZiAlLjBmACIgZmlsbC1vcGFjaXR5PSIlZgAiIHN0cm9rZS1vcGFjaXR5PSIlZgAKZmluYWwgZSA9ICVmAGJyb256ZQBhcnJvd3NpemUAbGFiZWxmb250c2l6ZQBzZWFyY2hzaXplAGZpeGVkc2l6ZQBub2RlX3NldF9zaXplAHRleHRzcGFuX3NpemUAc3ZnX3NpemUAaW5kZXggPCBsaXN0LT5zaXplAGNhcGFjaXR5ID4gZGljdC0+c2l6ZQBjYXBhY2l0eSA+IHNlbGYtPnNpemUAYnouc2l6ZQBwb2ludC1zaXplAFNJWkVfTUFYIC0gc2l6ZW9mKHNpemVfdCkgLSBFWFBBVF9NQUxMT0NfUEFERElORyA+PSBzaXplAG5vcm1hbGl6ZQBFTGluaXRpYWxpemUAbWtNYXplAGljdXJ2ZQB0cnlfcmVzZXJ2ZQBub2RlX3NldF9yZW1vdmUAc3RyZGljdF9yZW1vdmUAc29sdmUAIXYtPmFjdGl2ZQAtYWN0aXZlAGZvbnRfaW5fbGlzdF9wZXJtaXNzaXZlAC9zdmcvb2xpdmUAdWdyYXZlAG9ncmF2ZQBpZ3JhdmUAZWdyYXZlAGFncmF2ZQBVZ3JhdmUAT2dyYXZlAElncmF2ZQBFZ3JhdmUAQWdyYXZlAHRydWUAL3N2Zy9iaXNxdWUAb2JsaXF1ZQBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBDb3VyaWVyLUJvbGRPYmxpcXVlAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUAQ291cmllci1PYmxpcXVlAEhlbHZldGljYS1PYmxpcXVlAG5hdnlibHVlAC9zdmcvbGlnaHRza3libHVlAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9za3libHVlAG5ld21pZG5pZ2h0Ymx1ZQAvc3ZnL21pZG5pZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvZG9kZ2VyYmx1ZQAvc3ZnL3Bvd2RlcmJsdWUAbmVvbmJsdWUAL3N2Zy9tZWRpdW1ibHVlAC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9zdGVlbGJsdWUAL3N2Zy9yb3lhbGJsdWUAL3N2Zy9kYXJrYmx1ZQByaWNoYmx1ZQBsaWdodHNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9hbGljZWJsdWUAL3N2Zy9ibHVlAGNhbGxTdG9yZUVudGl0eVZhbHVlAHN0b3JlQXR0cmlidXRlVmFsdWUAQmx1ZQBuZWF0b19lbnF1ZXVlAFR1ZQB5YWN1dGUAdWFjdXRlAG9hY3V0ZQBpYWN1dGUAZWFjdXRlAGFhY3V0ZQBZYWN1dGUAVWFjdXRlAE9hY3V0ZQBJYWN1dGUARWFjdXRlAEFhY3V0ZQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQBkdXBsaWNhdGUgYXR0cmlidXRlAG5vdGUAcHJpbWVyc2l0ZQByaWJvc2l0ZQByZXN0cmljdGlvbnNpdGUAcHJvdGVhc2VzaXRlAC9zdmcvZ2hvc3R3aGl0ZQAvc3ZnL25hdmFqb3doaXRlAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy93aGl0ZQBXaGl0ZQBwb3Bfb2JqX3N0YXRlAHBjcF9yb3RhdGUAY29uY2VudHJhdGUAZGVjb3JhdGUAUXVhZFRyZWVfcmVwdWxzaXZlX2ZvcmNlX2FjY3VtdWxhdGUAbm90cmFuc2xhdGUAL3N2Zy9jaG9jb2xhdGUAcGFyc2VyQ3JlYXRlAGdlb21VcGRhdGUAaW52aG91c2UAL3N2Zy9jaGFydHJldXNlAFhNTF9QYXJzZQA8ZWxsaXBzZQBkdXN0eXJvc2UAL3N2Zy9taXN0eXJvc2UAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBhZ2Nsb3NlAGVudGl0eVRyYWNraW5nT25DbG9zZQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UAZmFsc2UAL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3R1cnF1b2lzZQBwaGFzZQBTSVpFX01BWCAtIHJvb3RQYXJzZXItPm1fYWxsb2NfdHJhY2tlci5ieXRlc0FsbG9jYXRlZCA+PSBpbmNyZWFzZQAvc3ZnL2F6dXJlAHNpZ25hdHVyZQBtb3JlX2NvcmUATXNxdWFyZQBQYWxhdGlubyBMaW5vdHlwZQBBLT50eXBlID09IEItPnR5cGUAc3VwZQBlbGxpcHNlX3RhbmdlbnRfc2xvcGUAZ3ZyZW5kZXJfdXNlcnNoYXBlAG1pdGVyX3NoYXBlAGxhbmRzY2FwZQBMYW5kc2NhcGUASnVuZQBub25lAGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGNvdXNpbmUAL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvYXF1YW1hcmluZQA8cG9seWxpbmUAJXNvdmVybGluZQB1bmRlcmxpbmUAcmVhbGx5cm91dGVzcGxpbmUAUHJvdXRlc3BsaW5lAGxpbmVhcl9zcGxpbmUAYl9zcGxpbmUAb2xpbmUAYWd4YnVmX2lzX2lubGluZQBzdmdfaW5saW5lAHJlZmluZQBwcmltZQBQcmltZQAvc3ZnL2xpbWUAY29sb3JzY2hlbWUAbGFiZWxfc2NoZW1lAHNhbWUAbGFiZWxmb250bmFtZQBVRl9zZXRuYW1lAGZvbnRfbmFtZQBmb250LT5uYW1lAHVzLT5uYW1lAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAc3R5bGUAL3N2Zy90aGlzdGxlAHRpdGxlAC9zdmcvbWVkaXVtcHVycGxlAGRhcmtwdXJwbGUAd2VicHVycGxlAHJlYmVjY2FwdXJwbGUAdmVyeV9saWdodF9wdXJwbGUAbWVkX3B1cnBsZQB4MTFwdXJwbGUAL3N2Zy9wdXJwbGUAc2hhcGVmaWxlAGdyYWRpZW50YW5nbGUAcmVjdGFuZ2xlAFJlY3RhbmdsZQBsYWJlbGFuZ2xlAGludnRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGZzQ3ljbGUAZG91YmxlY2lyY2xlAE1jaXJjbGUAaW52aXNpYmxlAGV4cGF0X2hlYXBfaW5jcmVhc2VfdG9sZXJhYmxlAHRob3JuZGFsZQBpbnB1dHNjYWxlAG9zY2FsZQBpbWFnZXNjYWxlAC9zdmcvd2hpdGVzbW9rZQBtYW5kYXJpbm9yYW5nZQAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9vcmFuZ2UAZXhjaGFuZ2UAL3N2Zy9iZWlnZQBuZXdlZGdlAGRlbGV0ZV9mYXN0X2VkZ2UAZGVsZXRlX2ZsYXRfZWRnZQBhZGRfdHJlZV9lZGdlAG1ha2VTdHJhaWdodEVkZ2UAbWFrZVNlbGZFZGdlAG1ha2VDb21wb3VuZEVkZ2UAIXVzZV9zdGFnZQBvc2FnZQBwYWdlAGd2bG9hZGltYWdlAHZlZQB0ZWUAUVVBRF9UUkVFX0hZQlJJRCwgc2l6ZSBsYXJnZXIgdGhhbiAlZCwgc3dpdGNoIHRvIGZhc3QgcXVhZHRyZWUAZmVhc2libGVfdHJlZQBub2RlX3NldF9mcmVlAGV4cGF0X2ZyZWUAZ3ZfYXJlbmFfZnJlZQBuZXdub2RlAGluc3RhbGxub2RlAGFnbm9kZQBkZWxldGVfZmFzdF9ub2RlAHBhY2ttb2RlAFNwbGl0Tm9kZQBvdGlsZGUAbnRpbGRlAGF0aWxkZQBPdGlsZGUATnRpbGRlAEF0aWxkZQBkaXZpZGUAdHJhZGUAZ3JhcGh2aXpfbm9kZV9pbmR1Y2UAc291cmNlAHJlcHVsc2l2ZWZvcmNlAGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHJlY3Vyc2l2ZSBlbnRpdHkgcmVmZXJlbmNlAGxhYmVsZGlzdGFuY2UAVEJfYmFsYW5jZQBUQmJhbGFuY2UAZGV2aWNlAG1vbm9zcGFjZQAvc3ZnL29sZGxhY2UAZmFjZQBzdWJlACAtYW5jaG9yIGUAczEtPmNvbW1fY29vcmQ9PXMyLT5jb21tX2Nvb3JkAE1yZWNvcmQAZm9yd2FyZABwcm9kAGxpZ2h0Z29sZGVucm9kAG1lZGl1bWdvbGRlbnJvZAAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvZ29sZGVucm9kAC9zdmcvYnVybHl3b29kAGxpZ2h0d29vZABtZWRpdW13b29kAGRhcmt3b29kAF9iYWNrZ3JvdW5kAGNvbXBvdW5kAG5vIGVsZW1lbnQgZm91bmQAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1ubyBhY3Rpb24gZm91bmQAL3N2Zy9ibGFuY2hlZGFsbW9uZABhcnJvd19sZW5ndGhfZGlhbW9uZABNZGlhbW9uZABub2RlX3NldF9maW5kAHN0cmRpY3RfZmluZABndnVzZXJzaGFwZV9maW5kAEVMbGVmdGJuZABleHBhbmQAY3VtYmVybGFuZABicmlnaHRnb2xkAG9sZGdvbGQAL3N2Zy9nb2xkAGJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkAFRpbWVzLUJvbGQAQ291cmllci1Cb2xkAFBhbGF0aW5vLUJvbGQATmV3Q2VudHVyeVNjaGxiay1Cb2xkAEhlbHZldGljYS1Cb2xkACUwKmxsZAAlKmxsZAArJWxsZABuLT5icmFuY2hbaV0uY2hpbGQAJSsuNGxkACVzJWxkAHNvbGlkAC9zdmcvbWVkaXVtb3JjaGlkAC9zdmcvZGFya29yY2hpZAAvc3ZnL29yY2hpZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAZGlqa3N0cmFfc2dkAGZpeGVkAGN1cnZlZABkZXJpdmVkAGRvdHRlZABtZW1vcnkgZXhoYXVzdGVkAGxvY2FsZSBub3Qgc3VwcG9ydGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN0YXJ0ZWQAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAYWNjb3VudGluZ0RpZmZUb2xlcmF0ZWQAcm9vdFBhcnNlci0+bV9hbGxvY190cmFja2VyLmJ5dGVzQWxsb2NhdGVkID49IGJ5dGVzQWxsb2NhdGVkAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tZW5kIG9mIGJ1ZmZlciBtaXNzZWQAY29uZGVuc2VkAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvcGFsZXZpb2xldHJlZABJbXByb3BlciAlcyB2YWx1ZSAlcyAtIGlnbm9yZWQAJXMgdmFsdWUgJXMgPCAlZCAtIHRvbyBzbWFsbCAtIGlnbm9yZWQAJXMgdmFsdWUgJXMgPiAlZCAtIHRvbyBsYXJnZSAtIGlnbm9yZWQAL3N2Zy9pbmRpYW5yZWQAL3N2Zy9kYXJrcmVkAGEgc3VjY2Vzc2Z1bCBwcmlvciBjYWxsIHRvIGZ1bmN0aW9uIFhNTF9HZXRCdWZmZXIgaXMgcmVxdWlyZWQAdGFwZXJlZAAvc3ZnL29yYW5nZXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAC9zdmcvcmVkAHN0cmlwZWQAaWxsLWNvbmRpdGlvbmVkAHVuZGVmaW5lZABub3QgY29uc3RyYWluZWQAbGFiZWxhbGlnbmVkAHRleHQgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAFhNTCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAdW5maWxsZWQAaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZAB0cmlhbmd1bGF0aW9uIGZhaWxlZABwYXJzaW5nIGZpbmlzaGVkAGRhc2hlZABsaW1pdCBvbiBpbnB1dCBhbXBsaWZpY2F0aW9uIGZhY3RvciAoZnJvbSBEVEQgYW5kIGVudGl0aWVzKSBicmVhY2hlZAB3ZWRnZWQAc2l6ZSA9PSBmcmVlZAByb3VuZGVkAHNwbGluZSBbJS4wM2YsICUuMDNmXSAtLSBbJS4wM2YsICUuMDNmXSBpcyBob3Jpem9udGFsOyB3aWxsIGJlIHRyaXZpYWxseSBib3VuZGVkAHNwbGluZSBbJS4wM2YsICUuMDNmXSAtLSBbJS4wM2YsICUuMDNmXSBpcyB2ZXJ0aWNhbDsgd2lsbCBiZSB0cml2aWFsbHkgYm91bmRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAFdlZABSZWQAU3BhcnNlTWF0cml4X2FkZABub2RlX3NldF9hZGQAc3RyZGljdF9hZGQAZGQgIT0gcGFyZW50X2RkAEtQX0FkZABwYWQAeGxoZHhsb2FkAHhsaGR4dW5sb2FkAHJlYWQAYXJyb3doZWFkAGxoZWFkAHNhbWVoZWFkAGJveDNkACVzXyVkAF9zcGFuXyVkAF9ibG9ja18lZABfd2Vha18lZABfY2xvbmVfJWQALiVkACVZLSVtLSVkACVsZiwlZAAlcyBpbiBsaW5lICVkACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQAIl9zdWJncmFwaF9jbnQiOiAlZAAiX2d2aWQiOiAlZAAiaGVhZCI6ICVkAGFneGJwdXRjAHZwc2MAY3AtPnNyYwB1Y2lyYwBvY2lyYwBpY2lyYwBlY2lyYwBhY2lyYwBVY2lyYwBPY2lyYwBJY2lyYwBFY2lyYwBBY2lyYwBsYWJlbGxvYwBleHBhdF9tYWxsb2MAZXhwYXRfcmVhbGxvYwBndl9yZWNhbGxvYwBzdGQ6OmJhZF9hbGxvYwBndl9hcmVuYV9hbGxvYwBiYWtlcnNjaG9jAHNlbWlTd2VldENob2MAbWMAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYwBBLT5pc19wYXR0ZXJuX3N5bW1ldHJpYwBwaWM6cGljAGl0YWxpYwBCb29rbWFuLUxpZ2h0SXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAQm9va21hbi1EZW1pSXRhbGljAFRpbWVzLUJvbGRJdGFsaWMAUGFsYXRpbm8tQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwByYWRpYwAjZmNmY2ZjAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICV6dSBib3hlcyAlLjJmIHNlYwA6ICUuMmYgc2VjAGxpc3RkZWxyZWMAbGV2ZWwgZ3JhcGggcmVjAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAERlYwBfbmVhdG9fY2MAYmMAdmlzaWJpbGl0eS5jAFNwYXJzZU1hdHJpeC5jAGh0bWxsZXguYwBpbmRleC5jAHNtYXJ0X2luaV94LmMAZ3ZyZW5kZXJfY29yZV9wb3YuYwBjdnQuYwBsYXlvdXQuYwB0ZXh0c3Bhbl9sdXQuYwBhZGp1c3QuYwBub2RlbGlzdC5jAHNob3J0ZXN0LmMAY2xvc2VzdC5jAGd2cmVuZGVyX2NvcmVfZG90LmMAY29uc3RyYWludC5jAGRvdGluaXQuYwBuZWF0b2luaXQuYwBwYXRjaHdvcmtpbml0LmMAb3NhZ2Vpbml0LmMAZW1pdC5jAGZsYXQuYwBhcnJvd3MuYwBtaW5jcm9zcy5jAHN0cmVzcy5jAHBvc3RfcHJvY2Vzcy5jAGNjb21wcy5jAG5zLmMAdXRpbHMuYwB4bGFiZWxzLmMAc2hhcGVzLmMAZG90c3BsaW5lcy5jAG5lYXRvc3BsaW5lcy5jAGNsdXN0ZXJlZGdlcy5jAGhlZGdlcy5jAGF0dHIuYwByZWZzdHIuYwBmYXN0Z3IuYwBjbHVzdGVyLmMAdGFwZXIuYwBndnJlbmRlci5jAHNwbGl0LnEuYwBjb21wLmMAZ3ZyZW5kZXJfY29yZV9tYXAuYwBoZWFwLmMAb3J0aG8uYwBndnJlbmRlcl9jb3JlX2pzb24uYwBwYXJ0aXRpb24uYwBwb3NpdGlvbi5jAGd2X2ZvcGVuLmMAdGV4dHNwYW4uYwBnZW9tLmMAcmFuZG9tLmMAcm91dGVzcGwuYwB4bWwuYwBNdWx0aWxldmVsLmMAc3ByaW5nX2VsZWN0cmljYWwuYwBndnJlbmRlcl9jb3JlX3RrLmMAcmFuay5jAHBhY2suYwBkdHN0cmhhc2guYwBncmFwaC5jAGd2cmVuZGVyX2NvcmVfc3ZnLmMAZ3ZyZW5kZXJfY29yZV9maWcuYwBzdHVmZi5jAG1hemUuYwBzcGFyc2Vfc29sdmUuYwByb3V0ZS5jAHdyaXRlLmMAY29seGxhdGUuYwB4bWxwYXJzZS5jAGd2bG9hZGltYWdlX2NvcmUuYwBndnVzZXJzaGFwZS5jAGNpcmNsZS5jAGh0bWx0YWJsZS5jAGVkZ2UuYwBndmxvYWRpbWFnZS5jAGJsb2NrdHJlZS5jAFF1YWRUcmVlLmMAbm9kZS5jAG5vZGVfaW5kdWNlLmMAZ3ZkZXZpY2UuYwBjb21wb3VuZC5jAHRyYXBlem9pZC5jAHNnZC5jAGNvbmMuYwByZWMuYwBkaWprc3RyYS5jAGFyZW5hLmMAZlBRLmMAY2xhc3MyLmMAJWxmLCVsZiwlbGYsJWxmJWMAJWxmLCVsZiwlbGYsJVteLF0lYwBcJWMAJGMAd2IAbnN1YgBzZXRoc2IAcmIAcHJvdGVjdF9yc3FiAGpvYgBjb3JlX2xvYWRpbWFnZV9wc2xpYgBGZWIAb2RiAGluaXRfc3BsaW5lc19iYgBiZXppZXJfYmIAcHJvdGVpbnN0YWIAcm5hc3RhYgAvc3ZnL29saXZlZHJhYgBcYgByd2EAL3N2Zy9hcXVhAGlvdGEASW90YQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvbWFnZW50YQBkZWx0YQBEZWx0YQB6ZXRhAHRoZXRhAFRoZXRhAGJldGEAWmV0YQBCZXRhAHByZXYgIT0gb2JqLT5kYXRhAG1ha2VHcmFwaERhdGEARXRhAG5pbWJ1c3NhbnNhAHBhcmEAa2FwcGEAS2FwcGEAL3N2Zy9zaWVubmEAVmVyZGFuYQBnYW1tYQBHYW1tYQBzaWdtYQBTaWdtYQBjb25zb2xhAG5hYmxhAC9zdmcvZnVjaHNpYQBHZW9yZ2lhAGFscGhhAEFscGhhAG9tZWdhAE9tZWdhAGFyZWEAbGFtYmRhAExhbWJkYQBoZWx2ZXRpY2EASGVsdmV0aWNhAG1pY2EAPjxhAGAAZ3ZfbGlzdF9jb3B5XwBfdGRyYXdfAF90bGRyYXdfAF9obGRyYXdfAF9sZHJhd18AX2hkcmF3XwBfZHJhd18AZ3ZfbGlzdF9zb3J0XwBndl9saXN0X2FwcGVuZF9zbG90XwBndl9saXN0X3ByZXBlbmRfc2xvdF8AZ3ZfbGlzdF9wb3BfZnJvbnRfAGd2X2xpc3Rfc2hyaW5rX3RvX2ZpdF8AYWd4c2V0XwBndl9saXN0X2dldF8AZG90X3NwbGluZXNfACVzXwBndl9saXN0X2NsZWFyXwBndl9saXN0X3BvcF9iYWNrXwBndl9saXN0X2RldGFjaF8AZ3ZfbGlzdF9yZW1vdmVfAGd2X2xpc3RfcmV2ZXJzZV8AZ3ZfbGlzdF9mcmVlXwBndl9saXN0X3RyeV9hcHBlbmRfAHBhZ2UlZCwlZF8AZ3ZfbGlzdF9zeW5jXwBfY2NfACBpZD0iYV8AXgBTdGFydGluZyBwaGFzZSAyIFtkb3RfbWluY3Jvc3NdAFN0YXJ0aW5nIHBoYXNlIDMgW2RvdF9wb3NpdGlvbl0Abl9lZGdlcyA9PSBncmFwaC0+c291cmNlc1tncmFwaC0+bl0AU3RhcnRpbmcgcGhhc2UgMSBbZG90X3JhbmtdAGpkW21hc2tbamNba11dXSA9PSBqY1trXQBqY1ttYXNrW2piW2tdXV0gPT0gamJba10AbmVlZGxlW2ldICE9IG5lZWRsZVtqXQBqYVttYXNrW2phW2pdXV0gPT0gamFbal0AcS0+cXRzW2lpXQAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAHIuYm91bmRhcnlbaV0gPD0gci5ib3VuZGFyeVtOVU1ESU1TICsgaV0AWyUuMDNmLCUuMDNmXQBbaW50ZXJuYWwgaGFyZC1jb2RlZF0AbnAtPmNlbGxzWzFdAG5wLT5jZWxsc1swXQB1cy0+bmFtZVswXQBjcC0+c3JjWzBdAFsuLl0AXFwAInBvaW50cyI6IFsAInN0b3BzIjogWwAJWwBaAGNvbXB1dGVTY2FsZVhZAHk8PVkAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAbnogPD0gSU5UX01BWAB5ID49IElOVF9NSU4gJiYgeSA8PSBJTlRfTUFYAHggPj0gSU5UX01JTiAmJiB4IDw9IElOVF9NQVgAdyA+PSAwICYmIHcgPD0gSU5UX01BWABlX2NudCA8PSBJTlRfTUFYAHBhaXIucmlnaHQgPD0gSU5UX01BWABwYWlyLmxlZnQgPD0gSU5UX01BWAB0YXJnZXQgPD0gSU5UX01BWABuc2VncyA8PSBJTlRfTUFYAG5fZWRnZXMgPD0gSU5UX01BWABzdHAubnZlcnRpY2VzIDw9IElOVF9NQVgAb2JzW3BvbHlfaV0tPnBuIDw9IElOVF9NQVgAaW5wdXRfcm91dGUucG4gPD0gSU5UX01BWABncmFwaC0+biA8PSBJTlRfTUFYAGggPj0gMCAmJiBoIDw9IElOVF9NQVgAZV9jbnQgLSAxIDw9IElOVF9NQVgATElTVF9TSVpFKCZsaXN0KSAtIDEgPD0gSU5UX01BWABMSVNUX1NJWkUoJmxheWVySURzKSAtIDEgPD0gSU5UX01BWABzdHJsZW4oYXJncykgPD0gSU5UX01BWABMSVNUX1NJWkUoJm9iamwpIDw9IElOVF9NQVgATElTVF9TSVpFKCZjdHgtPlRyZWVfZWRnZSkgPD0gSU5UX01BWABub2RlX3NldF9zaXplKGctPm5faWQpIDw9IElOVF9NQVgAaSA8IElOVF9NQVgAcmVzdWx0IDw9IChpbnQpVUNIQVJfTUFYAHNzeiA8PSBVQ0hBUl9NQVgAY29sID49IDAgJiYgY29sIDw9IFVJTlQxNl9NQVgAeDw9WABXAFYAVQBcVABURVhUAFNUUkVTU19NQUpPUklaQVRJT05fUE9XRVJfRElTVABTVFJFU1NfTUFKT1JJWkFUSU9OX0dSQVBIX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9BVkdfRElTVABGQVNUAEZPTlQAYiA9PSBCX1JJR0hUAEhFSUdIVABCX0xFRlQAXyVsbHVfU1VTUEVDVABCVABUcmVidWNoZXQgTVMASU5WSVMAJUg6JU06JVMAVlIAVFIAQS0+Zm9ybWF0ID09IEItPmZvcm1hdCAmJiBBLT5mb3JtYXQgPT0gRk9STUFUX0NTUgBMUgBESVIASFIAQ0VOVEVSACUlVFJBSUxFUgBBLT50eXBlID09IE1BVFJJWF9UWVBFX1JFQUwgfHwgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9JTlRFR0VSAENFTExCT1JERVIAQlIAKlIAUQBFWFAAQl9VUABTVVAAVE9QAE8AbWFwTgBcTgBCX0RPV04AVEhPUk4AJSVCRUdJTgBST1dTUEFOAENPTFNQQU4ATkFOAFBNAEJPVFRPTQBCTQBBTQAlSDolTQBcTAB0YWlsVVJMAGxhYmVsVVJMAGVkZ2VVUkwAaGVhZFVSTABIVE1MAHghPU5VTEwAcm9vdFBhcnNlci0+bV9wYXJlbnRQYXJzZXIgPT0gTlVMTABFRF90b192aXJ0KG9yaWcpID09IE5VTEwARURfdG9fdmlydChlKSA9PSBOVUxMAHByZWZpeCAhPSBOVUxMAGR0ZC0+c2NhZmZJbmRleCAhPSBOVUxMAHNtLT5MdyAhPSBOVUxMAGlucHV0ICE9IE5VTEwAbGlzdCAhPSBOVUxMAHJlZmVyZW50ICE9IE5VTEwAZGljdCAhPSBOVUxMAGRpY3QtPmJ1Y2tldHMgIT0gTlVMTABhdHRyICE9IE5VTEwAYWxsb2NhdG9yICE9IE5VTEwAcGFyc2VyICE9IE5VTEwAcm9vdFBhcnNlciAhPSBOVUxMAGxlYWRlciAhPSBOVUxMAGNtcCAhPSBOVUxMAGRhdGFwICE9IE5VTEwAaW50byAhPSBOVUxMAGl0ZW0gIT0gTlVMTABvcnRob2cgIT0gTlVMTABzZWxmICE9IE5VTEwAdmFsdWUgIT0gTlVMTABmaWxlbmFtZSAhPSBOVUxMAGpvYi0+b3V0cHV0X2ZpbGUgIT0gTlVMTABtb2RlICE9IE5VTEwAeGQgIT0gTlVMTABzbS0+THdkICE9IE5VTEwAam9iICE9IE5VTEwAc291cmNlLmRhdGEgIT0gTlVMTABiLmRhdGEgIT0gTlVMTABhLmRhdGEgIT0gTlVMTABhcmVuYSAhPSBOVUxMAGxpc3QgJiYgbGlzdFswXSAhPSBOVUxMAEFGICE9IE5VTEwAc20tPkQgIT0gTlVMTABFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATENfQUxMAEJMAGJlc3Rjb3N0IDwgSFVHRV9WQUwATk9STUFMAFJBRElBTABBLT50eXBlID09IE1BVFJJWF9UWVBFX1JFQUwAVVJXIENoYW5jZXJ5IEwAVVJXIEJvb2ttYW4gTABDZW50dXJ5IFNjaG9vbGJvb2sgTABVUlcgR290aGljIEwAS0sASgBpIDwgTUFYX0kAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAQVNDSUkAXEgARVRIAFdJRFRIAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAbWtOQ29uc3RyYWludEcAXEcARVhQQVRfRU5USVRZX0RFQlVHAEVYUEFUX0VOVFJPUFlfREVCVUcARVhQQVRfQUNDT1VOVElOR19ERUJVRwBFWFBBVF9NQUxMT0NfREVCVUcAUk5HAFNQUklORwBDRUxMUEFERElORwBDRUxMU1BBQ0lORwBMQU5HAElNRwBceEYAJSVFT0YASU5GAFx4RkYAUklGRgBkZWx0YSA8PSAweEZGRkYAXHhFRgBceERGAFx4Q0YAXHhCRgBceEFGAFx4OUYAXHg4RgBceDdGAFx4MUYAXHhFAFxFAFBPSU5ULVNJWkUAVFJVRQBDTE9TRQBGQUxTRQBrZXkgIT0gVE9NQlNUT05FAHIgIT0gVE9NQlNUT05FAE5PTkUAR1JBRElFTlRBTkdMRQBUUklBTkdMRQBNSURETEUASU5WSVNJQkxFAFRBQkxFAEFHVFlQRShvYmopID09IEFHSU5FREdFIHx8IEFHVFlQRShvYmopID09IEFHT1VURURHRQBceEZFAFx4RUUAXHhERQBCX05PREUAXHhDRQBceEJFAFx4QUUAXHg5RQBceDhFAFx4MUUAVEQAQS0+Zm9ybWF0ID09IEZPUk1BVF9DT09SRABuICYmIGkgPj0gMCAmJiBpIDwgTk9ERUNBUkQAJSVFTkQASFlCUklEAFNPTElEAFx4RkQAXHhFRABET1RURUQAREFTSEVEAFJPVU5ERUQAXHhERABceENEAFx4QkQAXHhBRABceDlEAFx4OEQAXHgxRABceEMAZGVsZXRlVlBTQwBceEZDAFx4RUMAXHhEQwBceENDAFx4QkMAXHhBQwBceDlDAFx4OEMAXHgxQwBceEIAU1VCAFx4RkIAXHhFQgBceERCAFx4Q0IAXHhCQgBceEFCAFx4OUIAXHg4QgBceDFCAEEgJiYgQgBceEZBAFx4RUEAXHhEQQBceENBAFx4QkEAXHhBQQBceDlBAFx4OEEAXHgxQQBAAD8APCVzPgA8bmlsPgA8L3RzcGFuPjwvdGV4dFBhdGg+AAogICAgPCU5LjNmLCAlOS4zZiwgJTkuM2Y+AD4KPHRpdGxlPgA8Rk9OVD4APEJSPgA8SFRNTD4APC9IVE1MPgA8SU1HPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgA8VEQ+AC0+ACI+AAlba2V5PQA8PQA8ACYjeCV4OwAmcXVvdDsAJmx0OwAmZ3Q7ACZhbXA7ACMlZDsAJiMzOTsAJiM0NTsAJiM5MzsAJiMxMzsAJiMxNjA7ACYjMTA7ADtzdG9wLW9wYWNpdHk6ACUlQm91bmRpbmdCb3g6AGNhbGN1bGF0aW5nIHNob3J0ZXN0IHBhdGhzIGFuZCBzZXR0aW5nIHVwIHN0cmVzcyB0ZXJtczoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6AHNvbHZpbmcgbW9kZWw6AC9cOgBncmV5OQBncmF5OQBceEY5AFx4RTkAXHhEOQBceEM5AFx4QjkAXHhBOQBncmV5OTkAZ3JheTk5AFx4OTkAZ3JleTg5AGdyYXk4OQBceDg5ADAxMjM0NTY3ODkAZ3JleTc5AGdyYXk3OQBncmV5NjkAZ3JheTY5AGdyZXk1OQBncmF5NTkAZ3JleTQ5AGdyYXk0OQBncmV5MzkAZ3JheTM5AGdyZXkyOQBncmF5MjkAZ3JleTE5AGdyYXkxOQBceDE5AC9yZGd5OS85AC9idXB1OS85AC9yZHB1OS85AC9wdWJ1OS85AC95bGduYnU5LzkAL2duYnU5LzkAL3JkeWxidTkvOQAvcmRidTkvOQAvZ3JleXM5LzkAL2dyZWVuczkvOQAvYmx1ZXM5LzkAL3B1cnBsZXM5LzkAL29yYW5nZXM5LzkAL3JlZHM5LzkAL3B1b3I5LzkAL3lsb3JicjkvOQAvcHVidWduOS85AC9idWduOS85AC9wcmduOS85AC9yZHlsZ245LzkAL3lsZ245LzkAL3NwZWN0cmFsOS85AC9waXlnOS85AC9icmJnOS85AC9wdXJkOS85AC95bG9ycmQ5LzkAL29ycmQ5LzkAL3BhaXJlZDkvOQAvc2V0MzkvOQAvc2V0MTkvOQAvcGFzdGVsMTkvOQAvcGFpcmVkMTIvOQAvc2V0MzEyLzkAL3JkZ3kxMS85AC9yZHlsYnUxMS85AC9yZGJ1MTEvOQAvcHVvcjExLzkAL3ByZ24xMS85AC9yZHlsZ24xMS85AC9zcGVjdHJhbDExLzkAL3BpeWcxMS85AC9icmJnMTEvOQAvcGFpcmVkMTEvOQAvc2V0MzExLzkAL3JkZ3kxMC85AC9yZHlsYnUxMC85AC9yZGJ1MTAvOQAvcHVvcjEwLzkAL3ByZ24xMC85AC9yZHlsZ24xMC85AC9zcGVjdHJhbDEwLzkAL3BpeWcxMC85AC9icmJnMTAvOQAvcGFpcmVkMTAvOQAvc2V0MzEwLzkAZ3JleTgAZ3JheTgAXHg4AHV0ZjgAI2Y4ZjhmOAAjZThlOGU4AFx4RjgAR0lGOABceEU4AFx4RDgAXHhDOABceEI4AFx4QTgAZ3JleTk4AGdyYXk5OABceDk4AGdyZXk4OABncmF5ODgAXHg4OABncmV5NzgAZ3JheTc4AGdyZXk2OABncmF5NjgAZ3JleTU4AGdyYXk1OABncmV5NDgAZ3JheTQ4AGdyZXkzOABncmF5MzgAZ3JleTI4AGdyYXkyOABncmV5MTgAZ3JheTE4AFx4MTgAL3JkZ3k5LzgAL2J1cHU5LzgAL3JkcHU5LzgAL3B1YnU5LzgAL3lsZ25idTkvOAAvZ25idTkvOAAvcmR5bGJ1OS84AC9yZGJ1OS84AC9ncmV5czkvOAAvZ3JlZW5zOS84AC9ibHVlczkvOAAvcHVycGxlczkvOAAvb3JhbmdlczkvOAAvcmVkczkvOAAvcHVvcjkvOAAveWxvcmJyOS84AC9wdWJ1Z245LzgAL2J1Z245LzgAL3ByZ245LzgAL3JkeWxnbjkvOAAveWxnbjkvOAAvc3BlY3RyYWw5LzgAL3BpeWc5LzgAL2JyYmc5LzgAL3B1cmQ5LzgAL3lsb3JyZDkvOAAvb3JyZDkvOAAvcGFpcmVkOS84AC9zZXQzOS84AC9zZXQxOS84AC9wYXN0ZWwxOS84AC9yZGd5OC84AC9idXB1OC84AC9yZHB1OC84AC9wdWJ1OC84AC95bGduYnU4LzgAL2duYnU4LzgAL3JkeWxidTgvOAAvcmRidTgvOAAvYWNjZW50OC84AC9ncmV5czgvOAAvZ3JlZW5zOC84AC9ibHVlczgvOAAvcHVycGxlczgvOAAvb3JhbmdlczgvOAAvcmVkczgvOAAvcHVvcjgvOAAveWxvcmJyOC84AC9wdWJ1Z244LzgAL2J1Z244LzgAL3ByZ244LzgAL3JkeWxnbjgvOAAveWxnbjgvOAAvc3BlY3RyYWw4LzgAL3BpeWc4LzgAL2JyYmc4LzgAL3B1cmQ4LzgAL3lsb3JyZDgvOAAvb3JyZDgvOAAvcGFpcmVkOC84AC9zZXQzOC84AC9zZXQyOC84AC9wYXN0ZWwyOC84AC9kYXJrMjgvOAAvc2V0MTgvOAAvcGFzdGVsMTgvOAAvcGFpcmVkMTIvOAAvc2V0MzEyLzgAL3JkZ3kxMS84AC9yZHlsYnUxMS84AC9yZGJ1MTEvOAAvcHVvcjExLzgAL3ByZ24xMS84AC9yZHlsZ24xMS84AC9zcGVjdHJhbDExLzgAL3BpeWcxMS84AC9icmJnMTEvOAAvcGFpcmVkMTEvOAAvc2V0MzExLzgAL3JkZ3kxMC84AC9yZHlsYnUxMC84AC9yZGJ1MTAvOAAvcHVvcjEwLzgAL3ByZ24xMC84AC9yZHlsZ24xMC84AC9zcGVjdHJhbDEwLzgAL3BpeWcxMC84AC9icmJnMTAvOAAvcGFpcmVkMTAvOAAvc2V0MzEwLzgAdXRmLTgAQy5VVEYtOABncmV5NwBncmF5NwBceDcAXHhGNwBceEU3AFx4RDcAXHhDNwBceEI3AFx4QTcAZ3JleTk3AGdyYXk5NwBceDk3AGdyZXk4NwBncmF5ODcAXHg4NwBncmV5NzcAZ3JheTc3AGdyZXk2NwBncmF5NjcAZ3JleTU3AGdyYXk1NwBncmV5NDcAZ3JheTQ3AGdyZXkzNwBncmF5MzcAZ3JleTI3AGdyYXkyNwBncmV5MTcAZ3JheTE3AFx4MTcAL3JkZ3k5LzcAL2J1cHU5LzcAL3JkcHU5LzcAL3B1YnU5LzcAL3lsZ25idTkvNwAvZ25idTkvNwAvcmR5bGJ1OS83AC9yZGJ1OS83AC9ncmV5czkvNwAvZ3JlZW5zOS83AC9ibHVlczkvNwAvcHVycGxlczkvNwAvb3JhbmdlczkvNwAvcmVkczkvNwAvcHVvcjkvNwAveWxvcmJyOS83AC9wdWJ1Z245LzcAL2J1Z245LzcAL3ByZ245LzcAL3JkeWxnbjkvNwAveWxnbjkvNwAvc3BlY3RyYWw5LzcAL3BpeWc5LzcAL2JyYmc5LzcAL3B1cmQ5LzcAL3lsb3JyZDkvNwAvb3JyZDkvNwAvcGFpcmVkOS83AC9zZXQzOS83AC9zZXQxOS83AC9wYXN0ZWwxOS83AC9yZGd5OC83AC9idXB1OC83AC9yZHB1OC83AC9wdWJ1OC83AC95bGduYnU4LzcAL2duYnU4LzcAL3JkeWxidTgvNwAvcmRidTgvNwAvYWNjZW50OC83AC9ncmV5czgvNwAvZ3JlZW5zOC83AC9ibHVlczgvNwAvcHVycGxlczgvNwAvb3JhbmdlczgvNwAvcmVkczgvNwAvcHVvcjgvNwAveWxvcmJyOC83AC9wdWJ1Z244LzcAL2J1Z244LzcAL3ByZ244LzcAL3JkeWxnbjgvNwAveWxnbjgvNwAvc3BlY3RyYWw4LzcAL3BpeWc4LzcAL2JyYmc4LzcAL3B1cmQ4LzcAL3lsb3JyZDgvNwAvb3JyZDgvNwAvcGFpcmVkOC83AC9zZXQzOC83AC9zZXQyOC83AC9wYXN0ZWwyOC83AC9kYXJrMjgvNwAvc2V0MTgvNwAvcGFzdGVsMTgvNwAvcmRneTcvNwAvYnVwdTcvNwAvcmRwdTcvNwAvcHVidTcvNwAveWxnbmJ1Ny83AC9nbmJ1Ny83AC9yZHlsYnU3LzcAL3JkYnU3LzcAL2FjY2VudDcvNwAvZ3JleXM3LzcAL2dyZWVuczcvNwAvYmx1ZXM3LzcAL3B1cnBsZXM3LzcAL29yYW5nZXM3LzcAL3JlZHM3LzcAL3B1b3I3LzcAL3lsb3JicjcvNwAvcHVidWduNy83AC9idWduNy83AC9wcmduNy83AC9yZHlsZ243LzcAL3lsZ243LzcAL3NwZWN0cmFsNy83AC9waXlnNy83AC9icmJnNy83AC9wdXJkNy83AC95bG9ycmQ3LzcAL29ycmQ3LzcAL3BhaXJlZDcvNwAvc2V0MzcvNwAvc2V0MjcvNwAvcGFzdGVsMjcvNwAvZGFyazI3LzcAL3NldDE3LzcAL3Bhc3RlbDE3LzcAL3BhaXJlZDEyLzcAL3NldDMxMi83AC9yZGd5MTEvNwAvcmR5bGJ1MTEvNwAvcmRidTExLzcAL3B1b3IxMS83AC9wcmduMTEvNwAvcmR5bGduMTEvNwAvc3BlY3RyYWwxMS83AC9waXlnMTEvNwAvYnJiZzExLzcAL3BhaXJlZDExLzcAL3NldDMxMS83AC9yZGd5MTAvNwAvcmR5bGJ1MTAvNwAvcmRidTEwLzcAL3B1b3IxMC83AC9wcmduMTAvNwAvcmR5bGduMTAvNwAvc3BlY3RyYWwxMC83AC9waXlnMTAvNwAvYnJiZzEwLzcAL3BhaXJlZDEwLzcAL3NldDMxMC83ADEuNwBncmV5NgBncmF5NgBceDYAXHhGNgBceEU2AFx4RDYAXHhDNgBceEI2AFx4QTYAZ3JleTk2AGdyYXk5NgBceDk2AGdyZXk4NgBncmF5ODYAXHg4NgBncmV5NzYAZ3JheTc2AGdyZXk2NgBncmF5NjYAZ3JleTU2AGdyYXk1NgBncmV5NDYAZ3JheTQ2AGdyZXkzNgBncmF5MzYAZ3JleTI2AGdyYXkyNgBncmV5MTYAZ3JheTE2AFx4MTYAL3JkZ3k5LzYAL2J1cHU5LzYAL3JkcHU5LzYAL3B1YnU5LzYAL3lsZ25idTkvNgAvZ25idTkvNgAvcmR5bGJ1OS82AC9yZGJ1OS82AC9ncmV5czkvNgAvZ3JlZW5zOS82AC9ibHVlczkvNgAvcHVycGxlczkvNgAvb3JhbmdlczkvNgAvcmVkczkvNgAvcHVvcjkvNgAveWxvcmJyOS82AC9wdWJ1Z245LzYAL2J1Z245LzYAL3ByZ245LzYAL3JkeWxnbjkvNgAveWxnbjkvNgAvc3BlY3RyYWw5LzYAL3BpeWc5LzYAL2JyYmc5LzYAL3B1cmQ5LzYAL3lsb3JyZDkvNgAvb3JyZDkvNgAvcGFpcmVkOS82AC9zZXQzOS82AC9zZXQxOS82AC9wYXN0ZWwxOS82AC9yZGd5OC82AC9idXB1OC82AC9yZHB1OC82AC9wdWJ1OC82AC95bGduYnU4LzYAL2duYnU4LzYAL3JkeWxidTgvNgAvcmRidTgvNgAvYWNjZW50OC82AC9ncmV5czgvNgAvZ3JlZW5zOC82AC9ibHVlczgvNgAvcHVycGxlczgvNgAvb3JhbmdlczgvNgAvcmVkczgvNgAvcHVvcjgvNgAveWxvcmJyOC82AC9wdWJ1Z244LzYAL2J1Z244LzYAL3ByZ244LzYAL3JkeWxnbjgvNgAveWxnbjgvNgAvc3BlY3RyYWw4LzYAL3BpeWc4LzYAL2JyYmc4LzYAL3B1cmQ4LzYAL3lsb3JyZDgvNgAvb3JyZDgvNgAvcGFpcmVkOC82AC9zZXQzOC82AC9zZXQyOC82AC9wYXN0ZWwyOC82AC9kYXJrMjgvNgAvc2V0MTgvNgAvcGFzdGVsMTgvNgAvcmRneTcvNgAvYnVwdTcvNgAvcmRwdTcvNgAvcHVidTcvNgAveWxnbmJ1Ny82AC9nbmJ1Ny82AC9yZHlsYnU3LzYAL3JkYnU3LzYAL2FjY2VudDcvNgAvZ3JleXM3LzYAL2dyZWVuczcvNgAvYmx1ZXM3LzYAL3B1cnBsZXM3LzYAL29yYW5nZXM3LzYAL3JlZHM3LzYAL3B1b3I3LzYAL3lsb3JicjcvNgAvcHVidWduNy82AC9idWduNy82AC9wcmduNy82AC9yZHlsZ243LzYAL3lsZ243LzYAL3NwZWN0cmFsNy82AC9waXlnNy82AC9icmJnNy82AC9wdXJkNy82AC95bG9ycmQ3LzYAL29ycmQ3LzYAL3BhaXJlZDcvNgAvc2V0MzcvNgAvc2V0MjcvNgAvcGFzdGVsMjcvNgAvZGFyazI3LzYAL3NldDE3LzYAL3Bhc3RlbDE3LzYAL3JkZ3k2LzYAL2J1cHU2LzYAL3JkcHU2LzYAL3B1YnU2LzYAL3lsZ25idTYvNgAvZ25idTYvNgAvcmR5bGJ1Ni82AC9yZGJ1Ni82AC9hY2NlbnQ2LzYAL2dyZXlzNi82AC9ncmVlbnM2LzYAL2JsdWVzNi82AC9wdXJwbGVzNi82AC9vcmFuZ2VzNi82AC9yZWRzNi82AC9wdW9yNi82AC95bG9yYnI2LzYAL3B1YnVnbjYvNgAvYnVnbjYvNgAvcHJnbjYvNgAvcmR5bGduNi82AC95bGduNi82AC9zcGVjdHJhbDYvNgAvcGl5ZzYvNgAvYnJiZzYvNgAvcHVyZDYvNgAveWxvcnJkNi82AC9vcnJkNi82AC9wYWlyZWQ2LzYAL3NldDM2LzYAL3NldDI2LzYAL3Bhc3RlbDI2LzYAL2RhcmsyNi82AC9zZXQxNi82AC9wYXN0ZWwxNi82AC9wYWlyZWQxMi82AC9zZXQzMTIvNgAvcmRneTExLzYAL3JkeWxidTExLzYAL3JkYnUxMS82AC9wdW9yMTEvNgAvcHJnbjExLzYAL3JkeWxnbjExLzYAL3NwZWN0cmFsMTEvNgAvcGl5ZzExLzYAL2JyYmcxMS82AC9wYWlyZWQxMS82AC9zZXQzMTEvNgAvcmRneTEwLzYAL3JkeWxidTEwLzYAL3JkYnUxMC82AC9wdW9yMTAvNgAvcHJnbjEwLzYAL3JkeWxnbjEwLzYAL3NwZWN0cmFsMTAvNgAvcGl5ZzEwLzYAL2JyYmcxMC82AC9wYWlyZWQxMC82AC9zZXQzMTAvNgBncmV5NQBncmF5NQBceDUAYmlnNQBceEY1AFx4RTUAXHhENQBceEM1AFx4QjUAXHhBNQBncmV5OTUAZ3JheTk1AFx4OTUAZ3JleTg1AGdyYXk4NQBceDg1AGdyZXk3NQBncmF5NzUAZ3JleTY1AGdyYXk2NQBncmV5NTUAZ3JheTU1AGdyZXk0NQBncmF5NDUAZ3JleTM1AGdyYXkzNQBncmV5MjUAZ3JheTI1ADIwMjUxMjEzLjE5MjUAZ3JleTE1AGdyYXkxNQBceDE1AGdyYXkwNQAvcmRneTkvNQAvYnVwdTkvNQAvcmRwdTkvNQAvcHVidTkvNQAveWxnbmJ1OS81AC9nbmJ1OS81AC9yZHlsYnU5LzUAL3JkYnU5LzUAL2dyZXlzOS81AC9ncmVlbnM5LzUAL2JsdWVzOS81AC9wdXJwbGVzOS81AC9vcmFuZ2VzOS81AC9yZWRzOS81AC9wdW9yOS81AC95bG9yYnI5LzUAL3B1YnVnbjkvNQAvYnVnbjkvNQAvcHJnbjkvNQAvcmR5bGduOS81AC95bGduOS81AC9zcGVjdHJhbDkvNQAvcGl5ZzkvNQAvYnJiZzkvNQAvcHVyZDkvNQAveWxvcnJkOS81AC9vcnJkOS81AC9wYWlyZWQ5LzUAL3NldDM5LzUAL3NldDE5LzUAL3Bhc3RlbDE5LzUAL3JkZ3k4LzUAL2J1cHU4LzUAL3JkcHU4LzUAL3B1YnU4LzUAL3lsZ25idTgvNQAvZ25idTgvNQAvcmR5bGJ1OC81AC9yZGJ1OC81AC9hY2NlbnQ4LzUAL2dyZXlzOC81AC9ncmVlbnM4LzUAL2JsdWVzOC81AC9wdXJwbGVzOC81AC9vcmFuZ2VzOC81AC9yZWRzOC81AC9wdW9yOC81AC95bG9yYnI4LzUAL3B1YnVnbjgvNQAvYnVnbjgvNQAvcHJnbjgvNQAvcmR5bGduOC81AC95bGduOC81AC9zcGVjdHJhbDgvNQAvcGl5ZzgvNQAvYnJiZzgvNQAvcHVyZDgvNQAveWxvcnJkOC81AC9vcnJkOC81AC9wYWlyZWQ4LzUAL3NldDM4LzUAL3NldDI4LzUAL3Bhc3RlbDI4LzUAL2RhcmsyOC81AC9zZXQxOC81AC9wYXN0ZWwxOC81AC9yZGd5Ny81AC9idXB1Ny81AC9yZHB1Ny81AC9wdWJ1Ny81AC95bGduYnU3LzUAL2duYnU3LzUAL3JkeWxidTcvNQAvcmRidTcvNQAvYWNjZW50Ny81AC9ncmV5czcvNQAvZ3JlZW5zNy81AC9ibHVlczcvNQAvcHVycGxlczcvNQAvb3JhbmdlczcvNQAvcmVkczcvNQAvcHVvcjcvNQAveWxvcmJyNy81AC9wdWJ1Z243LzUAL2J1Z243LzUAL3ByZ243LzUAL3JkeWxnbjcvNQAveWxnbjcvNQAvc3BlY3RyYWw3LzUAL3BpeWc3LzUAL2JyYmc3LzUAL3B1cmQ3LzUAL3lsb3JyZDcvNQAvb3JyZDcvNQAvcGFpcmVkNy81AC9zZXQzNy81AC9zZXQyNy81AC9wYXN0ZWwyNy81AC9kYXJrMjcvNQAvc2V0MTcvNQAvcGFzdGVsMTcvNQAvcmRneTYvNQAvYnVwdTYvNQAvcmRwdTYvNQAvcHVidTYvNQAveWxnbmJ1Ni81AC9nbmJ1Ni81AC9yZHlsYnU2LzUAL3JkYnU2LzUAL2FjY2VudDYvNQAvZ3JleXM2LzUAL2dyZWVuczYvNQAvYmx1ZXM2LzUAL3B1cnBsZXM2LzUAL29yYW5nZXM2LzUAL3JlZHM2LzUAL3B1b3I2LzUAL3lsb3JicjYvNQAvcHVidWduNi81AC9idWduNi81AC9wcmduNi81AC9yZHlsZ242LzUAL3lsZ242LzUAL3NwZWN0cmFsNi81AC9waXlnNi81AC9icmJnNi81AC9wdXJkNi81AC95bG9ycmQ2LzUAL29ycmQ2LzUAL3BhaXJlZDYvNQAvc2V0MzYvNQAvc2V0MjYvNQAvcGFzdGVsMjYvNQAvZGFyazI2LzUAL3NldDE2LzUAL3Bhc3RlbDE2LzUAL3JkZ3k1LzUAL2J1cHU1LzUAL3JkcHU1LzUAL3B1YnU1LzUAL3lsZ25idTUvNQAvZ25idTUvNQAvcmR5bGJ1NS81AC9yZGJ1NS81AC9hY2NlbnQ1LzUAL2dyZXlzNS81AC9ncmVlbnM1LzUAL2JsdWVzNS81AC9wdXJwbGVzNS81AC9vcmFuZ2VzNS81AC9yZWRzNS81AC9wdW9yNS81AC95bG9yYnI1LzUAL3B1YnVnbjUvNQAvYnVnbjUvNQAvcHJnbjUvNQAvcmR5bGduNS81AC95bGduNS81AC9zcGVjdHJhbDUvNQAvcGl5ZzUvNQAvYnJiZzUvNQAvcHVyZDUvNQAveWxvcnJkNS81AC9vcnJkNS81AC9wYWlyZWQ1LzUAL3NldDM1LzUAL3NldDI1LzUAL3Bhc3RlbDI1LzUAL2RhcmsyNS81AC9zZXQxNS81AC9wYXN0ZWwxNS81AC9wYWlyZWQxMi81AC9zZXQzMTIvNQAvcmRneTExLzUAL3JkeWxidTExLzUAL3JkYnUxMS81AC9wdW9yMTEvNQAvcHJnbjExLzUAL3JkeWxnbjExLzUAL3NwZWN0cmFsMTEvNQAvcGl5ZzExLzUAL2JyYmcxMS81AC9wYWlyZWQxMS81AC9zZXQzMTEvNQAvcmRneTEwLzUAL3JkeWxidTEwLzUAL3JkYnUxMC81AC9wdW9yMTAvNQAvcHJnbjEwLzUAL3JkeWxnbjEwLzUAL3NwZWN0cmFsMTAvNQAvcGl5ZzEwLzUAL2JyYmcxMC81AC9wYWlyZWQxMC81AC9zZXQzMTAvNQBiaWctNQBCSUctNQAgLWRhc2ggNQBpdm9yeTQAZ3JleTQAZGFya3NsYXRlZ3JheTQAXHg0AHNub3c0AGxpZ2h0eWVsbG93NABob25leWRldzQAd2hlYXQ0AHRvbWF0bzQAcm9zeWJyb3duNABtYXJvb240AGxpZ2h0c2FsbW9uNABsZW1vbmNoaWZmb240AHNwcmluZ2dyZWVuNABkYXJrb2xpdmVncmVlbjQAcGFsZWdyZWVuNABkYXJrc2VhZ3JlZW40AGxpZ2h0Y3lhbjQAdGFuNABwbHVtNABzZWFzaGVsbDQAY29yYWw0AGhvdHBpbms0AGxpZ2h0cGluazQAZGVlcHBpbms0AGNvcm5zaWxrNABmaXJlYnJpY2s0AGtoYWtpNABsYXZlbmRlcmJsdXNoNABwZWFjaHB1ZmY0AGJpc3F1ZTQAbGlnaHRza3libHVlNABkZWVwc2t5Ymx1ZTQAbGlnaHRibHVlNABjYWRldGJsdWU0AGRvZGdlcmJsdWU0AGxpZ2h0c3RlZWxibHVlNAByb3lhbGJsdWU0AHNsYXRlYmx1ZTQAbmF2YWpvd2hpdGU0AGFudGlxdWV3aGl0ZTQAY2hvY29sYXRlNABjaGFydHJldXNlNABtaXN0eXJvc2U0AHBhbGV0dXJxdW9pc2U0AGF6dXJlNAB0aGVyZTQAYXF1YW1hcmluZTQAdGhpc3RsZTQAbWVkaXVtcHVycGxlNABkYXJrb3JhbmdlNABsaWdodGdvbGRlbnJvZDQAZGFya2dvbGRlbnJvZDQAYnVybHl3b29kNABnb2xkNABtZWRpdW1vcmNoaWQ0AGRhcmtvcmNoaWQ0AHBhbGV2aW9sZXRyZWQ0AGluZGlhbnJlZDQAb3JhbmdlcmVkNABvbGl2ZWRyYWI0AG1hZ2VudGE0AHNpZW5uYTQAXHhGNABceEU0AFx4RDQAXHhDNABceEI0AFx4QTQAZ3JleTk0AGdyYXk5NABceDk0AGdyZXk4NABncmF5ODQAXHg4NABncmV5NzQAZ3JheTc0AGdyZXk2NABncmF5NjQAZ3JleTU0AGdyYXk1NABncmV5NDQAZ3JheTQ0AGdyZXkzNABncmF5MzQAZnJhYzM0AGdyZXkyNABncmF5MjQAZ3JleTE0AGdyYXkxNABceDE0AGZyYWMxNAAvcmRneTkvNAAvYnVwdTkvNAAvcmRwdTkvNAAvcHVidTkvNAAveWxnbmJ1OS80AC9nbmJ1OS80AC9yZHlsYnU5LzQAL3JkYnU5LzQAL2dyZXlzOS80AC9ncmVlbnM5LzQAL2JsdWVzOS80AC9wdXJwbGVzOS80AC9vcmFuZ2VzOS80AC9yZWRzOS80AC9wdW9yOS80AC95bG9yYnI5LzQAL3B1YnVnbjkvNAAvYnVnbjkvNAAvcHJnbjkvNAAvcmR5bGduOS80AC95bGduOS80AC9zcGVjdHJhbDkvNAAvcGl5ZzkvNAAvYnJiZzkvNAAvcHVyZDkvNAAveWxvcnJkOS80AC9vcnJkOS80AC9wYWlyZWQ5LzQAL3NldDM5LzQAL3NldDE5LzQAL3Bhc3RlbDE5LzQAL3JkZ3k4LzQAL2J1cHU4LzQAL3JkcHU4LzQAL3B1YnU4LzQAL3lsZ25idTgvNAAvZ25idTgvNAAvcmR5bGJ1OC80AC9yZGJ1OC80AC9hY2NlbnQ4LzQAL2dyZXlzOC80AC9ncmVlbnM4LzQAL2JsdWVzOC80AC9wdXJwbGVzOC80AC9vcmFuZ2VzOC80AC9yZWRzOC80AC9wdW9yOC80AC95bG9yYnI4LzQAL3B1YnVnbjgvNAAvYnVnbjgvNAAvcHJnbjgvNAAvcmR5bGduOC80AC95bGduOC80AC9zcGVjdHJhbDgvNAAvcGl5ZzgvNAAvYnJiZzgvNAAvcHVyZDgvNAAveWxvcnJkOC80AC9vcnJkOC80AC9wYWlyZWQ4LzQAL3NldDM4LzQAL3NldDI4LzQAL3Bhc3RlbDI4LzQAL2RhcmsyOC80AC9zZXQxOC80AC9wYXN0ZWwxOC80AC9yZGd5Ny80AC9idXB1Ny80AC9yZHB1Ny80AC9wdWJ1Ny80AC95bGduYnU3LzQAL2duYnU3LzQAL3JkeWxidTcvNAAvcmRidTcvNAAvYWNjZW50Ny80AC9ncmV5czcvNAAvZ3JlZW5zNy80AC9ibHVlczcvNAAvcHVycGxlczcvNAAvb3JhbmdlczcvNAAvcmVkczcvNAAvcHVvcjcvNAAveWxvcmJyNy80AC9wdWJ1Z243LzQAL2J1Z243LzQAL3ByZ243LzQAL3JkeWxnbjcvNAAveWxnbjcvNAAvc3BlY3RyYWw3LzQAL3BpeWc3LzQAL2JyYmc3LzQAL3B1cmQ3LzQAL3lsb3JyZDcvNAAvb3JyZDcvNAAvcGFpcmVkNy80AC9zZXQzNy80AC9zZXQyNy80AC9wYXN0ZWwyNy80AC9kYXJrMjcvNAAvc2V0MTcvNAAvcGFzdGVsMTcvNAAvcmRneTYvNAAvYnVwdTYvNAAvcmRwdTYvNAAvcHVidTYvNAAveWxnbmJ1Ni80AC9nbmJ1Ni80AC9yZHlsYnU2LzQAL3JkYnU2LzQAL2FjY2VudDYvNAAvZ3JleXM2LzQAL2dyZWVuczYvNAAvYmx1ZXM2LzQAL3B1cnBsZXM2LzQAL29yYW5nZXM2LzQAL3JlZHM2LzQAL3B1b3I2LzQAL3lsb3JicjYvNAAvcHVidWduNi80AC9idWduNi80AC9wcmduNi80AC9yZHlsZ242LzQAL3lsZ242LzQAL3NwZWN0cmFsNi80AC9waXlnNi80AC9icmJnNi80AC9wdXJkNi80AC95bG9ycmQ2LzQAL29ycmQ2LzQAL3BhaXJlZDYvNAAvc2V0MzYvNAAvc2V0MjYvNAAvcGFzdGVsMjYvNAAvZGFyazI2LzQAL3NldDE2LzQAL3Bhc3RlbDE2LzQAL3JkZ3k1LzQAL2J1cHU1LzQAL3JkcHU1LzQAL3B1YnU1LzQAL3lsZ25idTUvNAAvZ25idTUvNAAvcmR5bGJ1NS80AC9yZGJ1NS80AC9hY2NlbnQ1LzQAL2dyZXlzNS80AC9ncmVlbnM1LzQAL2JsdWVzNS80AC9wdXJwbGVzNS80AC9vcmFuZ2VzNS80AC9yZWRzNS80AC9wdW9yNS80AC95bG9yYnI1LzQAL3B1YnVnbjUvNAAvYnVnbjUvNAAvcHJnbjUvNAAvcmR5bGduNS80AC95bGduNS80AC9zcGVjdHJhbDUvNAAvcGl5ZzUvNAAvYnJiZzUvNAAvcHVyZDUvNAAveWxvcnJkNS80AC9vcnJkNS80AC9wYWlyZWQ1LzQAL3NldDM1LzQAL3NldDI1LzQAL3Bhc3RlbDI1LzQAL2RhcmsyNS80AC9zZXQxNS80AC9wYXN0ZWwxNS80AC9yZGd5NC80AC9idXB1NC80AC9yZHB1NC80AC9wdWJ1NC80AC95bGduYnU0LzQAL2duYnU0LzQAL3JkeWxidTQvNAAvcmRidTQvNAAvYWNjZW50NC80AC9ncmV5czQvNAAvZ3JlZW5zNC80AC9ibHVlczQvNAAvcHVycGxlczQvNAAvb3JhbmdlczQvNAAvcmVkczQvNAAvcHVvcjQvNAAveWxvcmJyNC80AC9wdWJ1Z240LzQAL2J1Z240LzQAL3ByZ240LzQAL3JkeWxnbjQvNAAveWxnbjQvNAAvc3BlY3RyYWw0LzQAL3BpeWc0LzQAL2JyYmc0LzQAL3B1cmQ0LzQAL3lsb3JyZDQvNAAvb3JyZDQvNAAvcGFpcmVkNC80AC9zZXQzNC80AC9zZXQyNC80AC9wYXN0ZWwyNC80AC9kYXJrMjQvNAAvc2V0MTQvNAAvcGFzdGVsMTQvNAAvcGFpcmVkMTIvNAAvc2V0MzEyLzQAL3JkZ3kxMS80AC9yZHlsYnUxMS80AC9yZGJ1MTEvNAAvcHVvcjExLzQAL3ByZ24xMS80AC9yZHlsZ24xMS80AC9zcGVjdHJhbDExLzQAL3BpeWcxMS80AC9icmJnMTEvNAAvcGFpcmVkMTEvNAAvc2V0MzExLzQAL3JkZ3kxMC80AC9yZHlsYnUxMC80AC9yZGJ1MTAvNAAvcHVvcjEwLzQAL3ByZ24xMC80AC9yZHlsZ24xMC80AC9zcGVjdHJhbDEwLzQAL3BpeWcxMC80AC9icmJnMTAvNAAvcGFpcmVkMTAvNAAvc2V0MzEwLzQAMS40AG4gPj0gNABzaWRlcyA9PSA0AGl2b3J5MwBTcGFyc2VNYXRyaXhfbXVsdGlwbHkzAGdyZXkzAGRhcmtzbGF0ZWdyYXkzAFx4MwBzbm93MwBsaWdodHllbGxvdzMAaG9uZXlkZXczAHdoZWF0MwBzdXAzAHRvbWF0bzMAcm9zeWJyb3duMwBtYXJvb24zAGxpZ2h0c2FsbW9uMwBsZW1vbmNoaWZmb24zAHNwcmluZ2dyZWVuMwBkYXJrb2xpdmVncmVlbjMAcGFsZWdyZWVuMwBkYXJrc2VhZ3JlZW4zAGxpZ2h0Y3lhbjMAdGFuMwBwbHVtMwBzZWFzaGVsbDMAY29yYWwzAGhvdHBpbmszAGxpZ2h0cGluazMAZGVlcHBpbmszAGNvcm5zaWxrMwBmaXJlYnJpY2szAGtoYWtpMwBsYXZlbmRlcmJsdXNoMwBwZWFjaHB1ZmYzAGJpc3F1ZTMAbGlnaHRza3libHVlMwBkZWVwc2t5Ymx1ZTMAbGlnaHRibHVlMwBjYWRldGJsdWUzAGRvZGdlcmJsdWUzAGxpZ2h0c3RlZWxibHVlMwByb3lhbGJsdWUzAHNsYXRlYmx1ZTMAbmF2YWpvd2hpdGUzAGFudGlxdWV3aGl0ZTMAY2hvY29sYXRlMwBjaGFydHJldXNlMwBtaXN0eXJvc2UzAHBhbGV0dXJxdW9pc2UzAGF6dXJlMwBhcXVhbWFyaW5lMwB0aGlzdGxlMwBtZWRpdW1wdXJwbGUzAGRhcmtvcmFuZ2UzAGxpZ2h0Z29sZGVucm9kMwBkYXJrZ29sZGVucm9kMwBidXJseXdvb2QzAGdvbGQzAG1lZGl1bW9yY2hpZDMAZGFya29yY2hpZDMAcGFsZXZpb2xldHJlZDMAaW5kaWFucmVkMwBvcmFuZ2VyZWQzAG9saXZlZHJhYjMAbWFnZW50YTMAc2llbm5hMwBceEYzAFx4RTMAXHhEMwBceEMzAFx4QjMAXHhBMwBncmV5OTMAZ3JheTkzAFx4OTMAZ3JleTgzAGdyYXk4MwBceDgzAGdyZXk3MwBncmF5NzMAZ3JleTYzAGdyYXk2MwBncmV5NTMAZ3JheTUzAGdyZXk0MwBncmF5NDMAZ3JleTMzAGdyYXkzMwBncmV5MjMAZ3JheTIzAGdyZXkxMwBncmF5MTMAXHgxMwAvcmRneTkvMwAvYnVwdTkvMwAvcmRwdTkvMwAvcHVidTkvMwAveWxnbmJ1OS8zAC9nbmJ1OS8zAC9yZHlsYnU5LzMAL3JkYnU5LzMAL2dyZXlzOS8zAC9ncmVlbnM5LzMAL2JsdWVzOS8zAC9wdXJwbGVzOS8zAC9vcmFuZ2VzOS8zAC9yZWRzOS8zAC9wdW9yOS8zAC95bG9yYnI5LzMAL3B1YnVnbjkvMwAvYnVnbjkvMwAvcHJnbjkvMwAvcmR5bGduOS8zAC95bGduOS8zAC9zcGVjdHJhbDkvMwAvcGl5ZzkvMwAvYnJiZzkvMwAvcHVyZDkvMwAveWxvcnJkOS8zAC9vcnJkOS8zAC9wYWlyZWQ5LzMAL3NldDM5LzMAL3NldDE5LzMAL3Bhc3RlbDE5LzMAL3JkZ3k4LzMAL2J1cHU4LzMAL3JkcHU4LzMAL3B1YnU4LzMAL3lsZ25idTgvMwAvZ25idTgvMwAvcmR5bGJ1OC8zAC9yZGJ1OC8zAC9hY2NlbnQ4LzMAL2dyZXlzOC8zAC9ncmVlbnM4LzMAL2JsdWVzOC8zAC9wdXJwbGVzOC8zAC9vcmFuZ2VzOC8zAC9yZWRzOC8zAC9wdW9yOC8zAC95bG9yYnI4LzMAL3B1YnVnbjgvMwAvYnVnbjgvMwAvcHJnbjgvMwAvcmR5bGduOC8zAC95bGduOC8zAC9zcGVjdHJhbDgvMwAvcGl5ZzgvMwAvYnJiZzgvMwAvcHVyZDgvMwAveWxvcnJkOC8zAC9vcnJkOC8zAC9wYWlyZWQ4LzMAL3NldDM4LzMAL3NldDI4LzMAL3Bhc3RlbDI4LzMAL2RhcmsyOC8zAC9zZXQxOC8zAC9wYXN0ZWwxOC8zAC9yZGd5Ny8zAC9idXB1Ny8zAC9yZHB1Ny8zAC9wdWJ1Ny8zAC95bGduYnU3LzMAL2duYnU3LzMAL3JkeWxidTcvMwAvcmRidTcvMwAvYWNjZW50Ny8zAC9ncmV5czcvMwAvZ3JlZW5zNy8zAC9ibHVlczcvMwAvcHVycGxlczcvMwAvb3JhbmdlczcvMwAvcmVkczcvMwAvcHVvcjcvMwAveWxvcmJyNy8zAC9wdWJ1Z243LzMAL2J1Z243LzMAL3ByZ243LzMAL3JkeWxnbjcvMwAveWxnbjcvMwAvc3BlY3RyYWw3LzMAL3BpeWc3LzMAL2JyYmc3LzMAL3B1cmQ3LzMAL3lsb3JyZDcvMwAvb3JyZDcvMwAvcGFpcmVkNy8zAC9zZXQzNy8zAC9zZXQyNy8zAC9wYXN0ZWwyNy8zAC9kYXJrMjcvMwAvc2V0MTcvMwAvcGFzdGVsMTcvMwAvcmRneTYvMwAvYnVwdTYvMwAvcmRwdTYvMwAvcHVidTYvMwAveWxnbmJ1Ni8zAC9nbmJ1Ni8zAC9yZHlsYnU2LzMAL3JkYnU2LzMAL2FjY2VudDYvMwAvZ3JleXM2LzMAL2dyZWVuczYvMwAvYmx1ZXM2LzMAL3B1cnBsZXM2LzMAL29yYW5nZXM2LzMAL3JlZHM2LzMAL3B1b3I2LzMAL3lsb3JicjYvMwAvcHVidWduNi8zAC9idWduNi8zAC9wcmduNi8zAC9yZHlsZ242LzMAL3lsZ242LzMAL3NwZWN0cmFsNi8zAC9waXlnNi8zAC9icmJnNi8zAC9wdXJkNi8zAC95bG9ycmQ2LzMAL29ycmQ2LzMAL3BhaXJlZDYvMwAvc2V0MzYvMwAvc2V0MjYvMwAvcGFzdGVsMjYvMwAvZGFyazI2LzMAL3NldDE2LzMAL3Bhc3RlbDE2LzMAL3JkZ3k1LzMAL2J1cHU1LzMAL3JkcHU1LzMAL3B1YnU1LzMAL3lsZ25idTUvMwAvZ25idTUvMwAvcmR5bGJ1NS8zAC9yZGJ1NS8zAC9hY2NlbnQ1LzMAL2dyZXlzNS8zAC9ncmVlbnM1LzMAL2JsdWVzNS8zAC9wdXJwbGVzNS8zAC9vcmFuZ2VzNS8zAC9yZWRzNS8zAC9wdW9yNS8zAC95bG9yYnI1LzMAL3B1YnVnbjUvMwAvYnVnbjUvMwAvcHJnbjUvMwAvcmR5bGduNS8zAC95bGduNS8zAC9zcGVjdHJhbDUvMwAvcGl5ZzUvMwAvYnJiZzUvMwAvcHVyZDUvMwAveWxvcnJkNS8zAC9vcnJkNS8zAC9wYWlyZWQ1LzMAL3NldDM1LzMAL3NldDI1LzMAL3Bhc3RlbDI1LzMAL2RhcmsyNS8zAC9zZXQxNS8zAC9wYXN0ZWwxNS8zAC9yZGd5NC8zAC9idXB1NC8zAC9yZHB1NC8zAC9wdWJ1NC8zAC95bGduYnU0LzMAL2duYnU0LzMAL3JkeWxidTQvMwAvcmRidTQvMwAvYWNjZW50NC8zAC9ncmV5czQvMwAvZ3JlZW5zNC8zAC9ibHVlczQvMwAvcHVycGxlczQvMwAvb3JhbmdlczQvMwAvcmVkczQvMwAvcHVvcjQvMwAveWxvcmJyNC8zAC9wdWJ1Z240LzMAL2J1Z240LzMAL3ByZ240LzMAL3JkeWxnbjQvMwAveWxnbjQvMwAvc3BlY3RyYWw0LzMAL3BpeWc0LzMAL2JyYmc0LzMAL3B1cmQ0LzMAL3lsb3JyZDQvMwAvb3JyZDQvMwAvcGFpcmVkNC8zAC9zZXQzNC8zAC9zZXQyNC8zAC9wYXN0ZWwyNC8zAC9kYXJrMjQvMwAvc2V0MTQvMwAvcGFzdGVsMTQvMwAvcmRneTMvMwAvYnVwdTMvMwAvcmRwdTMvMwAvcHVidTMvMwAveWxnbmJ1My8zAC9nbmJ1My8zAC9yZHlsYnUzLzMAL3JkYnUzLzMAL2FjY2VudDMvMwAvZ3JleXMzLzMAL2dyZWVuczMvMwAvYmx1ZXMzLzMAL3B1cnBsZXMzLzMAL29yYW5nZXMzLzMAL3JlZHMzLzMAL3B1b3IzLzMAL3lsb3JicjMvMwAvcHVidWduMy8zAC9idWduMy8zAC9wcmduMy8zAC9yZHlsZ24zLzMAL3lsZ24zLzMAL3NwZWN0cmFsMy8zAC9waXlnMy8zAC9icmJnMy8zAC9wdXJkMy8zAC95bG9ycmQzLzMAL29ycmQzLzMAL3BhaXJlZDMvMwAvc2V0MzMvMwAvc2V0MjMvMwAvcGFzdGVsMjMvMwAvZGFyazIzLzMAL3NldDEzLzMAL3Bhc3RlbDEzLzMAL3BhaXJlZDEyLzMAL3NldDMxMi8zAC9yZGd5MTEvMwAvcmR5bGJ1MTEvMwAvcmRidTExLzMAL3B1b3IxMS8zAC9wcmduMTEvMwAvcmR5bGduMTEvMwAvc3BlY3RyYWwxMS8zAC9waXlnMTEvMwAvYnJiZzExLzMAL3BhaXJlZDExLzMAL3NldDMxMS8zAC9yZGd5MTAvMwAvcmR5bGJ1MTAvMwAvcmRidTEwLzMAL3B1b3IxMC8zAC9wcmduMTAvMwAvcmR5bGduMTAvMwAvc3BlY3RyYWwxMC8zAC9waXlnMTAvMwAvYnJiZzEwLzMAL3BhaXJlZDEwLzMAL3NldDMxMC8zAGl2b3J5MgBncmV5MgBkYXJrc2xhdGVncmF5MgBceDIAc25vdzIAbGlnaHR5ZWxsb3cyAGhvbmV5ZGV3MgBSVHJlZUluc2VydDIAd2hlYXQyAHN1cDIAbm9wMgB0b21hdG8yAHJvc3licm93bjIAbWFyb29uMgBsaWdodHNhbG1vbjIAbGVtb25jaGlmZm9uMgBzcHJpbmdncmVlbjIAZGFya29saXZlZ3JlZW4yAHBhbGVncmVlbjIAZGFya3NlYWdyZWVuMgBsaWdodGN5YW4yAHRhbjIAcGx1bTIAc2Vhc2hlbGwyAGNvcmFsMgBob3RwaW5rMgBsaWdodHBpbmsyAGRlZXBwaW5rMgBjb3Juc2lsazIAZmlyZWJyaWNrMgBraGFraTIAbGF2ZW5kZXJibHVzaDIAcGVhY2hwdWZmMgBicm9uemUyAGJpc3F1ZTIAbGlnaHRza3libHVlMgBkZWVwc2t5Ymx1ZTIAbGlnaHRibHVlMgBjYWRldGJsdWUyAGRvZGdlcmJsdWUyAGxpZ2h0c3RlZWxibHVlMgByb3lhbGJsdWUyAHNsYXRlYmx1ZTIAbmF2YWpvd2hpdGUyAGFudGlxdWV3aGl0ZTIAY2hvY29sYXRlMgBjaGFydHJldXNlMgBtaXN0eXJvc2UyAHBhbGV0dXJxdW9pc2UyAGF6dXJlMgBhcXVhbWFyaW5lMgB0aGlzdGxlMgBtZWRpdW1wdXJwbGUyAGRhcmtvcmFuZ2UyAGxpZ2h0Z29sZGVucm9kMgBkYXJrZ29sZGVucm9kMgBidXJseXdvb2QyAGdvbGQyAG1lZGl1bW9yY2hpZDIAZGFya29yY2hpZDIAcGFsZXZpb2xldHJlZDIAaW5kaWFucmVkMgBvcmFuZ2VyZWQyAG9saXZlZHJhYjIAbWFnZW50YTIAc2llbm5hMgBceEYyAFx4RTIAXHhEMgBceEMyAFx4QjIAXHhBMgBncmV5OTIAZ3JheTkyAFx4OTIAZ3JleTgyAGdyYXk4MgBceDgyAGdyZXk3MgBncmF5NzIAZ3JleTYyAGdyYXk2MgBncmV5NTIAZ3JheTUyAGdyZXk0MgBncmF5NDIAZ3JleTMyAGdyYXkzMgBncmV5MjIAZ3JheTIyAGdyZXkxMgBncmF5MTIAXHgxMgBmcmFjMTIAL3BhaXJlZDEyLzEyAC9zZXQzMTIvMTIAL3JkZ3k5LzIAL2J1cHU5LzIAL3JkcHU5LzIAL3B1YnU5LzIAL3lsZ25idTkvMgAvZ25idTkvMgAvcmR5bGJ1OS8yAC9yZGJ1OS8yAC9ncmV5czkvMgAvZ3JlZW5zOS8yAC9ibHVlczkvMgAvcHVycGxlczkvMgAvb3JhbmdlczkvMgAvcmVkczkvMgAvcHVvcjkvMgAveWxvcmJyOS8yAC9wdWJ1Z245LzIAL2J1Z245LzIAL3ByZ245LzIAL3JkeWxnbjkvMgAveWxnbjkvMgAvc3BlY3RyYWw5LzIAL3BpeWc5LzIAL2JyYmc5LzIAL3B1cmQ5LzIAL3lsb3JyZDkvMgAvb3JyZDkvMgAvcGFpcmVkOS8yAC9zZXQzOS8yAC9zZXQxOS8yAC9wYXN0ZWwxOS8yAC9yZGd5OC8yAC9idXB1OC8yAC9yZHB1OC8yAC9wdWJ1OC8yAC95bGduYnU4LzIAL2duYnU4LzIAL3JkeWxidTgvMgAvcmRidTgvMgAvYWNjZW50OC8yAC9ncmV5czgvMgAvZ3JlZW5zOC8yAC9ibHVlczgvMgAvcHVycGxlczgvMgAvb3JhbmdlczgvMgAvcmVkczgvMgAvcHVvcjgvMgAveWxvcmJyOC8yAC9wdWJ1Z244LzIAL2J1Z244LzIAL3ByZ244LzIAL3JkeWxnbjgvMgAveWxnbjgvMgAvc3BlY3RyYWw4LzIAL3BpeWc4LzIAL2JyYmc4LzIAL3B1cmQ4LzIAL3lsb3JyZDgvMgAvb3JyZDgvMgAvcGFpcmVkOC8yAC9zZXQzOC8yAC9zZXQyOC8yAC9wYXN0ZWwyOC8yAC9kYXJrMjgvMgAvc2V0MTgvMgAvcGFzdGVsMTgvMgAvcmRneTcvMgAvYnVwdTcvMgAvcmRwdTcvMgAvcHVidTcvMgAveWxnbmJ1Ny8yAC9nbmJ1Ny8yAC9yZHlsYnU3LzIAL3JkYnU3LzIAL2FjY2VudDcvMgAvZ3JleXM3LzIAL2dyZWVuczcvMgAvYmx1ZXM3LzIAL3B1cnBsZXM3LzIAL29yYW5nZXM3LzIAL3JlZHM3LzIAL3B1b3I3LzIAL3lsb3JicjcvMgAvcHVidWduNy8yAC9idWduNy8yAC9wcmduNy8yAC9yZHlsZ243LzIAL3lsZ243LzIAL3NwZWN0cmFsNy8yAC9waXlnNy8yAC9icmJnNy8yAC9wdXJkNy8yAC95bG9ycmQ3LzIAL29ycmQ3LzIAL3BhaXJlZDcvMgAvc2V0MzcvMgAvc2V0MjcvMgAvcGFzdGVsMjcvMgAvZGFyazI3LzIAL3NldDE3LzIAL3Bhc3RlbDE3LzIAL3JkZ3k2LzIAL2J1cHU2LzIAL3JkcHU2LzIAL3B1YnU2LzIAL3lsZ25idTYvMgAvZ25idTYvMgAvcmR5bGJ1Ni8yAC9yZGJ1Ni8yAC9hY2NlbnQ2LzIAL2dyZXlzNi8yAC9ncmVlbnM2LzIAL2JsdWVzNi8yAC9wdXJwbGVzNi8yAC9vcmFuZ2VzNi8yAC9yZWRzNi8yAC9wdW9yNi8yAC95bG9yYnI2LzIAL3B1YnVnbjYvMgAvYnVnbjYvMgAvcHJnbjYvMgAvcmR5bGduNi8yAC95bGduNi8yAC9zcGVjdHJhbDYvMgAvcGl5ZzYvMgAvYnJiZzYvMgAvcHVyZDYvMgAveWxvcnJkNi8yAC9vcnJkNi8yAC9wYWlyZWQ2LzIAL3NldDM2LzIAL3NldDI2LzIAL3Bhc3RlbDI2LzIAL2RhcmsyNi8yAC9zZXQxNi8yAC9wYXN0ZWwxNi8yAC9yZGd5NS8yAC9idXB1NS8yAC9yZHB1NS8yAC9wdWJ1NS8yAC95bGduYnU1LzIAL2duYnU1LzIAL3JkeWxidTUvMgAvcmRidTUvMgAvYWNjZW50NS8yAC9ncmV5czUvMgAvZ3JlZW5zNS8yAC9ibHVlczUvMgAvcHVycGxlczUvMgAvb3JhbmdlczUvMgAvcmVkczUvMgAvcHVvcjUvMgAveWxvcmJyNS8yAC9wdWJ1Z241LzIAL2J1Z241LzIAL3ByZ241LzIAL3JkeWxnbjUvMgAveWxnbjUvMgAvc3BlY3RyYWw1LzIAL3BpeWc1LzIAL2JyYmc1LzIAL3B1cmQ1LzIAL3lsb3JyZDUvMgAvb3JyZDUvMgAvcGFpcmVkNS8yAC9zZXQzNS8yAC9zZXQyNS8yAC9wYXN0ZWwyNS8yAC9kYXJrMjUvMgAvc2V0MTUvMgAvcGFzdGVsMTUvMgAvcmRneTQvMgAvYnVwdTQvMgAvcmRwdTQvMgAvcHVidTQvMgAveWxnbmJ1NC8yAC9nbmJ1NC8yAC9yZHlsYnU0LzIAL3JkYnU0LzIAL2FjY2VudDQvMgAvZ3JleXM0LzIAL2dyZWVuczQvMgAvYmx1ZXM0LzIAL3B1cnBsZXM0LzIAL29yYW5nZXM0LzIAL3JlZHM0LzIAL3B1b3I0LzIAL3lsb3JicjQvMgAvcHVidWduNC8yAC9idWduNC8yAC9wcmduNC8yAC9yZHlsZ240LzIAL3lsZ240LzIAL3NwZWN0cmFsNC8yAC9waXlnNC8yAC9icmJnNC8yAC9wdXJkNC8yAC95bG9ycmQ0LzIAL29ycmQ0LzIAL3BhaXJlZDQvMgAvc2V0MzQvMgAvc2V0MjQvMgAvcGFzdGVsMjQvMgAvZGFyazI0LzIAL3NldDE0LzIAL3Bhc3RlbDE0LzIAL3JkZ3kzLzIAL2J1cHUzLzIAL3JkcHUzLzIAL3B1YnUzLzIAL3lsZ25idTMvMgAvZ25idTMvMgAvcmR5bGJ1My8yAC9yZGJ1My8yAC9hY2NlbnQzLzIAL2dyZXlzMy8yAC9ncmVlbnMzLzIAL2JsdWVzMy8yAC9wdXJwbGVzMy8yAC9vcmFuZ2VzMy8yAC9yZWRzMy8yAC9wdW9yMy8yAC95bG9yYnIzLzIAL3B1YnVnbjMvMgAvYnVnbjMvMgAvcHJnbjMvMgAvcmR5bGduMy8yAC95bGduMy8yAC9zcGVjdHJhbDMvMgAvcGl5ZzMvMgAvYnJiZzMvMgAvcHVyZDMvMgAveWxvcnJkMy8yAC9vcnJkMy8yAC9wYWlyZWQzLzIAL3NldDMzLzIAL3NldDIzLzIAL3Bhc3RlbDIzLzIAL2RhcmsyMy8yAC9zZXQxMy8yAC9wYXN0ZWwxMy8yAC9wYWlyZWQxMi8yAC9zZXQzMTIvMgAvcmRneTExLzIAL3JkeWxidTExLzIAL3JkYnUxMS8yAC9wdW9yMTEvMgAvcHJnbjExLzIAL3JkeWxnbjExLzIAL3NwZWN0cmFsMTEvMgAvcGl5ZzExLzIAL2JyYmcxMS8yAC9wYWlyZWQxMS8yAC9zZXQzMTEvMgAvcmRneTEwLzIAL3JkeWxidTEwLzIAL3JkYnUxMC8yAC9wdW9yMTAvMgAvcHJnbjEwLzIAL3JkeWxnbjEwLzIAL3NwZWN0cmFsMTAvMgAvcGl5ZzEwLzIAL2JyYmcxMC8yAC9wYWlyZWQxMC8yAC9zZXQzMTAvMgAxLjIAIC1kYXNoIDIAbGVuID49IDIAZXhwID09IDEgfHwgZXhwID09IDIAZGltID09IDIATkRfb3V0KHYpLnNpemUgPT0gMgBpdm9yeTEAZ3JleTEAZGFya3NsYXRlZ3JheTEAXHgxAHNub3cxAGxpZ2h0eWVsbG93MQBob25leWRldzEAbnNsaW1pdDEAd2hlYXQxAHN1cDEAbm9wMQB0b21hdG8xAHJvc3licm93bjEAbWFyb29uMQBsaWdodHNhbG1vbjEAbGVtb25jaGlmZm9uMQBsYXRpbjEAYWdvcGVuMQBzcHJpbmdncmVlbjEAZGFya29saXZlZ3JlZW4xAHBhbGVncmVlbjEAZGFya3NlYWdyZWVuMQBsaWdodGN5YW4xAHRhbjEAcGx1bTEAc2Vhc2hlbGwxAGNvcmFsMQBob3RwaW5rMQBsaWdodHBpbmsxAGRlZXBwaW5rMQBjb3Juc2lsazEAZmlyZWJyaWNrMQBqMCA8PSBpMSAmJiBpMSA8PSBqMQBraGFraTEAbGF2ZW5kZXJibHVzaDEAcGVhY2hwdWZmMQBiaXNxdWUxAGxpZ2h0c2t5Ymx1ZTEAZGVlcHNreWJsdWUxAGxpZ2h0Ymx1ZTEAY2FkZXRibHVlMQBkb2RnZXJibHVlMQBsaWdodHN0ZWVsYmx1ZTEAcm95YWxibHVlMQBzbGF0ZWJsdWUxAG5hdmFqb3doaXRlMQBhbnRpcXVld2hpdGUxAGNob2NvbGF0ZTEAY2hhcnRyZXVzZTEAbWlzdHlyb3NlMQBwYWxldHVycXVvaXNlMQBhenVyZTEAYXF1YW1hcmluZTEAdGhpc3RsZTEAbWVkaXVtcHVycGxlMQBkYXJrb3JhbmdlMQBhcmdfZTAgJiYgYXJnX2UxAGxpZ2h0Z29sZGVucm9kMQBkYXJrZ29sZGVucm9kMQBidXJseXdvb2QxAGdvbGQxAG1lZGl1bW9yY2hpZDEAZGFya29yY2hpZDEAcGFsZXZpb2xldHJlZDEAaW5kaWFucmVkMQBvcmFuZ2VyZWQxAG9saXZlZHJhYjEAbWFnZW50YTEAc2llbm5hMQBceEYxAFx4RTEAXHhEMQBceEMxAFx4QjEAXHhBMQBncmV5OTEAZ3JheTkxAFx4OTEAZ3JleTgxAGdyYXk4MQBceDgxAGdyZXk3MQBncmF5NzEAZ3JleTYxAGdyYXk2MQBncmV5NTEAZ3JheTUxAGdyZXk0MQBncmF5NDEAZ3JleTMxAGdyYXkzMQBncmV5MjEAZ3JheTIxAGdyZXkxMQBncmF5MTEAXHgxMQAvcGFpcmVkMTIvMTEAL3NldDMxMi8xMQAvcmRneTExLzExAC9yZHlsYnUxMS8xMQAvcmRidTExLzExAC9wdW9yMTEvMTEAL3ByZ24xMS8xMQAvcmR5bGduMTEvMTEAL3NwZWN0cmFsMTEvMTEAL3BpeWcxMS8xMQAvYnJiZzExLzExAC9wYWlyZWQxMS8xMQAvc2V0MzExLzExAGNzW2ldLT5zbGFjaygpPi0wLjAwMDAwMDEAL3JkZ3k5LzEAL2J1cHU5LzEAL3JkcHU5LzEAL3B1YnU5LzEAL3lsZ25idTkvMQAvZ25idTkvMQAvcmR5bGJ1OS8xAC9yZGJ1OS8xAC9ncmV5czkvMQAvZ3JlZW5zOS8xAC9ibHVlczkvMQAvcHVycGxlczkvMQAvb3JhbmdlczkvMQAvcmVkczkvMQAvcHVvcjkvMQAveWxvcmJyOS8xAC9wdWJ1Z245LzEAL2J1Z245LzEAL3ByZ245LzEAL3JkeWxnbjkvMQAveWxnbjkvMQAvc3BlY3RyYWw5LzEAL3BpeWc5LzEAL2JyYmc5LzEAL3B1cmQ5LzEAL3lsb3JyZDkvMQAvb3JyZDkvMQAvcGFpcmVkOS8xAC9zZXQzOS8xAC9zZXQxOS8xAC9wYXN0ZWwxOS8xAC9yZGd5OC8xAC9idXB1OC8xAC9yZHB1OC8xAC9wdWJ1OC8xAC95bGduYnU4LzEAL2duYnU4LzEAL3JkeWxidTgvMQAvcmRidTgvMQAvYWNjZW50OC8xAC9ncmV5czgvMQAvZ3JlZW5zOC8xAC9ibHVlczgvMQAvcHVycGxlczgvMQAvb3JhbmdlczgvMQAvcmVkczgvMQAvcHVvcjgvMQAveWxvcmJyOC8xAC9wdWJ1Z244LzEAL2J1Z244LzEAL3ByZ244LzEAL3JkeWxnbjgvMQAveWxnbjgvMQAvc3BlY3RyYWw4LzEAL3BpeWc4LzEAL2JyYmc4LzEAL3B1cmQ4LzEAL3lsb3JyZDgvMQAvb3JyZDgvMQAvcGFpcmVkOC8xAC9zZXQzOC8xAC9zZXQyOC8xAC9wYXN0ZWwyOC8xAC9kYXJrMjgvMQAvc2V0MTgvMQAvcGFzdGVsMTgvMQAvcmRneTcvMQAvYnVwdTcvMQAvcmRwdTcvMQAvcHVidTcvMQAveWxnbmJ1Ny8xAC9nbmJ1Ny8xAC9yZHlsYnU3LzEAL3JkYnU3LzEAL2FjY2VudDcvMQAvZ3JleXM3LzEAL2dyZWVuczcvMQAvYmx1ZXM3LzEAL3B1cnBsZXM3LzEAL29yYW5nZXM3LzEAL3JlZHM3LzEAL3B1b3I3LzEAL3lsb3JicjcvMQAvcHVidWduNy8xAC9idWduNy8xAC9wcmduNy8xAC9yZHlsZ243LzEAL3lsZ243LzEAL3NwZWN0cmFsNy8xAC9waXlnNy8xAC9icmJnNy8xAC9wdXJkNy8xAC95bG9ycmQ3LzEAL29ycmQ3LzEAL3BhaXJlZDcvMQAvc2V0MzcvMQAvc2V0MjcvMQAvcGFzdGVsMjcvMQAvZGFyazI3LzEAL3NldDE3LzEAL3Bhc3RlbDE3LzEAL3JkZ3k2LzEAL2J1cHU2LzEAL3JkcHU2LzEAL3B1YnU2LzEAL3lsZ25idTYvMQAvZ25idTYvMQAvcmR5bGJ1Ni8xAC9yZGJ1Ni8xAC9hY2NlbnQ2LzEAL2dyZXlzNi8xAC9ncmVlbnM2LzEAL2JsdWVzNi8xAC9wdXJwbGVzNi8xAC9vcmFuZ2VzNi8xAC9yZWRzNi8xAC9wdW9yNi8xAC95bG9yYnI2LzEAL3B1YnVnbjYvMQAvYnVnbjYvMQAvcHJnbjYvMQAvcmR5bGduNi8xAC95bGduNi8xAC9zcGVjdHJhbDYvMQAvcGl5ZzYvMQAvYnJiZzYvMQAvcHVyZDYvMQAveWxvcnJkNi8xAC9vcnJkNi8xAC9wYWlyZWQ2LzEAL3NldDM2LzEAL3NldDI2LzEAL3Bhc3RlbDI2LzEAL2RhcmsyNi8xAC9zZXQxNi8xAC9wYXN0ZWwxNi8xAC9yZGd5NS8xAC9idXB1NS8xAC9yZHB1NS8xAC9wdWJ1NS8xAC95bGduYnU1LzEAL2duYnU1LzEAL3JkeWxidTUvMQAvcmRidTUvMQAvYWNjZW50NS8xAC9ncmV5czUvMQAvZ3JlZW5zNS8xAC9ibHVlczUvMQAvcHVycGxlczUvMQAvb3JhbmdlczUvMQAvcmVkczUvMQAvcHVvcjUvMQAveWxvcmJyNS8xAC9wdWJ1Z241LzEAL2J1Z241LzEAL3ByZ241LzEAL3JkeWxnbjUvMQAveWxnbjUvMQAvc3BlY3RyYWw1LzEAL3BpeWc1LzEAL2JyYmc1LzEAL3B1cmQ1LzEAL3lsb3JyZDUvMQAvb3JyZDUvMQAvcGFpcmVkNS8xAC9zZXQzNS8xAC9zZXQyNS8xAC9wYXN0ZWwyNS8xAC9kYXJrMjUvMQAvc2V0MTUvMQAvcGFzdGVsMTUvMQAvcmRneTQvMQAvYnVwdTQvMQAvcmRwdTQvMQAvcHVidTQvMQAveWxnbmJ1NC8xAC9nbmJ1NC8xAC9yZHlsYnU0LzEAL3JkYnU0LzEAL2FjY2VudDQvMQAvZ3JleXM0LzEAL2dyZWVuczQvMQAvYmx1ZXM0LzEAL3B1cnBsZXM0LzEAL29yYW5nZXM0LzEAL3JlZHM0LzEAL3B1b3I0LzEAL3lsb3JicjQvMQAvcHVidWduNC8xAC9idWduNC8xAC9wcmduNC8xAC9yZHlsZ240LzEAL3lsZ240LzEAL3NwZWN0cmFsNC8xAC9waXlnNC8xAC9icmJnNC8xAC9wdXJkNC8xAC95bG9ycmQ0LzEAL29ycmQ0LzEAL3BhaXJlZDQvMQAvc2V0MzQvMQAvc2V0MjQvMQAvcGFzdGVsMjQvMQAvZGFyazI0LzEAL3NldDE0LzEAL3Bhc3RlbDE0LzEAL3JkZ3kzLzEAL2J1cHUzLzEAL3JkcHUzLzEAL3B1YnUzLzEAL3lsZ25idTMvMQAvZ25idTMvMQAvcmR5bGJ1My8xAC9yZGJ1My8xAC9hY2NlbnQzLzEAL2dyZXlzMy8xAC9ncmVlbnMzLzEAL2JsdWVzMy8xAC9wdXJwbGVzMy8xAC9vcmFuZ2VzMy8xAC9yZWRzMy8xAC9wdW9yMy8xAC95bG9yYnIzLzEAL3B1YnVnbjMvMQAvYnVnbjMvMQAvcHJnbjMvMQAvcmR5bGduMy8xAC95bGduMy8xAC9zcGVjdHJhbDMvMQAvcGl5ZzMvMQAvYnJiZzMvMQAvcHVyZDMvMQAveWxvcnJkMy8xAC9vcnJkMy8xAC9wYWlyZWQzLzEAL3NldDMzLzEAL3NldDIzLzEAL3Bhc3RlbDIzLzEAL2RhcmsyMy8xAC9zZXQxMy8xAC9wYXN0ZWwxMy8xAC9wYWlyZWQxMi8xAC9zZXQzMTIvMQAvcmRneTExLzEAL3JkeWxidTExLzEAL3JkYnUxMS8xAC9wdW9yMTEvMQAvcHJnbjExLzEAL3JkeWxnbjExLzEAL3NwZWN0cmFsMTEvMQAvcGl5ZzExLzEAL2JyYmcxMS8xAC9wYWlyZWQxMS8xAC9zZXQzMTEvMQAvcmRneTEwLzEAL3JkeWxidTEwLzEAL3JkYnUxMC8xAC9wdW9yMTAvMQAvcHJnbjEwLzEAL3JkeWxnbjEwLzEAL3NwZWN0cmFsMTAvMQAvcGl5ZzEwLzEAL2JyYmcxMC8xAC9wYWlyZWQxMC8xAC9zZXQzMTAvMQAxNC4xLjEAbGF0aW4tMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tODg1OS0xAGkgPj0gMQBxLT5uID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBiei5zaXplICUgMyA9PSAxAExJU1RfU0laRSgmY3R4LT5UcmVlX2VkZ2UpID09IGN0eC0+Tl9ub2RlcyAtIDEAbm9kZV9zZXRfc2l6ZShnLT5uX2lkKSA9PSBvc2l6ZSArIDEAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSArIHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFsxXSA9PSBOT0RFQ0FSRCArIDEAZ3JleTAAZ3JheTAAanNvbjAAI2YwZjBmMAAjZTBlMGUwAHhiLT5sb2NhdGVkID4gQUdYQlVGX0lOTElORV9TSVpFXzAAXDAAVDAAXHhGMABceEUwAFx4RDAAXHhDMABceEIwAFx4QTAAZ3JleTkwAGdyYXk5MABceDkwAGdyZXk4MABncmF5ODAAXHg4MAAjODA4MDgwAGdyZXk3MABncmF5NzAAY2N3cm90ID09IDAgfHwgY2N3cm90ID09IDkwIHx8IGNjd3JvdCA9PSAxODAgfHwgY2N3cm90ID09IDI3MABjd3JvdCA9PSAwIHx8IGN3cm90ID09IDkwIHx8IGN3cm90ID09IDE4MCB8fCBjd3JvdCA9PSAyNzAAZ3JleTYwAGdyYXk2MABncmV5NTAAZ3JheTUwAGdyZXk0MABncmF5NDAAci53aWR0aCgpPDFlNDAAZ3JleTMwAGdyYXkzMAAjMzAzMDMwAGdyZXkyMABncmF5MjAAZ3JleTEwAGdyYXkxMABceDEwACMxMDEwMTAAL3BhaXJlZDEyLzEwAC9zZXQzMTIvMTAAL3JkZ3kxMS8xMAAvcmR5bGJ1MTEvMTAAL3JkYnUxMS8xMAAvcHVvcjExLzEwAC9wcmduMTEvMTAAL3JkeWxnbjExLzEwAC9zcGVjdHJhbDExLzEwAC9waXlnMTEvMTAAL2JyYmcxMS8xMAAvcGFpcmVkMTEvMTAAL3NldDMxMS8xMAAvcmRneTEwLzEwAC9yZHlsYnUxMC8xMAAvcmRidTEwLzEwAC9wdW9yMTAvMTAAL3ByZ24xMC8xMAAvcmR5bGduMTAvMTAAL3NwZWN0cmFsMTAvMTAAL3BpeWcxMC8xMAAvYnJiZzEwLzEwAC9wYWlyZWQxMC8xMAAvc2V0MzEwLzEwADEyMDAAZ3JleTEwMABncmF5MTAwAElTTy1JUi0xMDAAMTAwMDAAJSFQUy1BZG9iZS0zLjAAbnogPiAwAGxpc3QtPmNhcGFjaXR5ID4gMABkaXN0ID4gMABwYXRoY291bnQgPiAwAHdndCA+IDAAbnNpdGVzID4gMABzaWRlcyA+IDAAcnYgPT0gMCB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGlucG4gPiAwAGxlbiA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAG0gPiAwICYmIG4gPiAwAG5ld1RvdGFsID4gMAB3aWR0aCA+IDAAbGlzdC0+c2l6ZSA+IDAAZGljdC0+c2l6ZSA+IDAAc3BsLT5zaXplID4gMABzZWxmLT5zaXplID4gMABiei5zaXplID4gMABpbmNyZWFzZSA+IDAAYm91bmQgPiAwAGdyYXBoLT53ZWlnaHRzW3hdID4gMABncmFwaC0+d2VpZ2h0c1tuX2VkZ2VzXSA+IDAAaW5kZXggPj0gMAB0ID49IDAAbm5vZGVzID49IDAAbl9vYnMgPj0gMABuID49IDAAbi0+bGV2ZWwgPj0gMABvcmlnaW5hbCA+PSAwAE1heHJhbmsgPj0gMABQYWNrID49IDAAaWkgPCAxPDxkaW0gJiYgaWkgPj0gMAB3aWR0aCA+PSAwAGpkaWFnID49IDAAaWRpYWcgPj0gMABkID49IDAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IDAgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IDAAViA+PSAwAGFnbm5vZGVzKGdyYXBoKSA+PSAwAGFnbm5vZGVzKGcpID49IDAARURfdHJlZV9pbmRleChlKSA+PSAwAEVEX2NvdW50KGUpID49IDAAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGNfY250ID09IDAAcmFua19yZXN1bHQgPT0gMABnZXR0aW1lb2ZkYXlfcmVzID09IDAAaiA9PSAwAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAYS5zaGFwZSA9PSAwIHx8IGIuc2hhcGUgPT0gMABsaXN0LT5iYXNlICE9IE5VTEwgfHwgaW5kZXggPT0gMCB8fCBzdHJpZGUgPT0gMABkdHNpemUoZGVzdCkgPT0gMABkdHNpemUoZy0+bl9zZXEpID09IDAAZHRzaXplKGctPmdfc2VxKSA9PSAwAGR0c2l6ZShnLT5lX3NlcSkgPT0gMABHRF9taW5yYW5rKGcpID09IDAAZHRzaXplKGctPmdfaWQpID09IDAAZHRzaXplKGctPmVfaWQpID09IDAAY29zeCAhPSAwIHx8IHNpbnggIT0gMAByZXFfYWxpZ25tZW50ICE9IDAAbWVtY21wKCZzdHlsZSwgJihncmFwaHZpel9wb2x5Z29uX3N0eWxlX3QpezB9LCBzaXplb2Yoc3R5bGUpKSAhPSAwAHJlc3VsdCA9PSAoaW50KShzaXplIC0gMSkgfHwgcmVzdWx0IDwgMABtYXNrW2lpXSA8IDAATkRfaGVhcGluZGV4KHYpIDwgMABcLwBYMTEvAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgAlLipzLgBzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AR3JhcGggJXMgaGFzIGFycmF5IHBhY2tpbmcgd2l0aCB1c2VyIHZhbHVlcyBidXQgbm8gInNvcnR2IiBhdHRyaWJ1dGVzIGFyZSBkZWZpbmVkLgAxLgAtMC4AJSFQUy1BZG9iZS0AJVBERi0APCEtLQAgLAArACoAc3RyZXEoYXB0ci0+dS5uYW1lLEtleSkAIWlzX2V4YWN0bHlfZXF1YWwoUi54LCBRLngpIHx8ICFpc19leGFjdGx5X2VxdWFsKFIueSwgUS55KQBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAHUgPT0gVUZfZmluZCh1KQAhTElTVF9JU19FTVBUWShwbGlzdCkAZ3ZfbGlzdF9pc19jb250aWd1b3VzXygqbGlzdCkAb25lIDw9IExJU1RfU0laRShsaXN0KQBucCA8IExJU1RfU0laRShsaXN0KQBpc19wb3dlcl9vZl8yKGFsaWdubWVudCkAc3RkOjppc19oZWFwKGhlYXAuYmVnaW4oKSwgaGVhcC5lbmQoKSwgZ3QpACEocS0+cXRzKQAhTElTVF9JU19FTVBUWSgmbGVhdmVzKQBvbl9oZWFwKHIpAG5vZGVfc2V0X3NpemUoZy0+bl9pZCkgPT0gKHNpemVfdClkdHNpemUoZy0+bl9zZXEpAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBub3Qgd2VsbC1mb3JtZWQgKGludmFsaWQgdG9rZW4pAGFnc3VicmVwKGcsbikAbiAhPSBORF9uZXh0KG4pAGZpbmRfZmFzdF9ub2RlKGcsIG4pAChudWxsKQAoIWpjbikgJiYgKCF2YWwpACEocS0+bCkAc3ltLT5pZCA+PSAwICYmIHN5bS0+aWQgPCB0b3BkaWN0c2l6ZShvYmopAG1vdmUgdG8gKCUuMGYsICUuMGYpADsgc3BsaW5lIHRvICglLjBmLCAlLjBmKQA7IGxpbmUgdG8gKCUuMGYsICUuMGYpAFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQSwgdHJ1ZSkAdmFsdWUgJiYgc3RybGVuKHZhbHVlKQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljKEEsIGZhbHNlKQAhdXNlX3N0YWdlIHx8IHNpemUgPD0gc2l6ZW9mKHN0YWdlKQBFRF9sYWJlbChmZSkAIVRSRUVfRURHRShlKQAhY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLCBlKQBub2RlX3NldF9pc19lbXB0eShnLT5uX2lkKQByXyVkKQBsXyVkKQAobGliKQAhU3BhcnNlTWF0cml4X2hhc19kaWFnb25hbChBKQAgc2Nhbm5pbmcgYSBIVE1MIHN0cmluZyAobWlzc2luZyAnPic/IGJhZCBuZXN0aW5nPyBsb25nZXIgdGhhbiAlZD8pACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmYWxsYmFjayg0KQBvbl9oZWFwKHIwKSB8fCBvbl9oZWFwKHIxKQBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X2dldF9uZXh0X2J1ZmZlcigpAG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5ZW5zdXJlX2J1ZmZlcl9zdGFjaygpAHN0cmVxKG1vZGUsICJyIikgfHwgc3RyZXEobW9kZSwgInJiIikgfHwgc3RyZXEobW9kZSwgInciKSB8fCBzdHJlcShtb2RlLCAid2IiKQBwbmFtZSAhPSBOVUxMICYmICFzdHJlcShwbmFtZSwgIiIpAHNldGxpbmV3aWR0aCgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAIHRyYW5zZm9ybT0ic2NhbGUoAE5PVEFUSU9OKAAgKAAgbmVhciAnJXMnACVsZiwlbGYsJWxmLCclW14nXScAaXNkaWdpdCgoaW50KWRvdHBbMV0pICYmIGlzZGlnaXQoKGludClkb3RwWzJdKSAmJiBkb3RwWzNdID09ICdcMCcAJgAlACQAdXJsKCMAPHRleHRQYXRoIHhsaW5rOmhyZWY9IiMAPGFyZWEgc2hhcGU9InBvbHkiACBmaWxsPSIjJTAyeCUwMnglMDJ4IgAoc2VxICYgU0VRX01BU0spID09IHNlcSAmJiAic2VxdWVuY2UgSUQgb3ZlcmZsb3ciAGd2X3NvcnRfY29tcGFyID09IE5VTEwgJiYgZ3Zfc29ydF9hcmcgPT0gTlVMTCAmJiAidW5zdXBwb3J0ZWQgcmVjdXJzaXZlIGNhbGwgdG8gZ3Zfc29ydCIAZ3Zfc29ydF9jb21wYXIgIT0gTlVMTCAmJiAibm8gY29tcGFyYXRvciBzZXQgaW4gZ3Zfc29ydCIAb3AtPm9wLnUucG9seWdvbi5jbnQgPD0gSU5UX01BWCAmJiAicG9seWdvbiBjb3VudCBleGNlZWRzIGd2cmVuZGVyX3BvbHlnb24gc3VwcG9ydCIAIHRleHQtYW5jaG9yPSJzdGFydCIAcC54ICE9IGEgJiYgImNhbm5vdCBoYW5kbGUgZWxsaXBzZSB0YW5nZW50IHNsb3BlIGluIGhvcml6b250YWwgZXh0cmVtZSBwb2ludCIAZnVsbF9sZW5ndGhfd2l0aG91dF9zaGFmdCA+IDAgJiYgIm5vbi1wb3NpdGl2ZSBmdWxsIGxlbmd0aCB3aXRob3V0IHNoYWZ0IgA8YXJlYSBzaGFwZT0icmVjdCIAc2l6ZSA+IDAgJiYgImF0dGVtcHQgdG8gYWxsb2NhdGUgYXJyYXkgb2YgMC1zaXplZCBlbGVtZW50cyIAaW5kZXggPCBzZWxmLT5zaXplX2JpdHMgJiYgIm91dCBvZiBib3VuZHMgYWNjZXNzIgBpbmRleCA8IHNlbGYuc2l6ZV9iaXRzICYmICJvdXQgb2YgYm91bmRzIGFjY2VzcyIAKnMxICE9ICpzMiAmJiAiZHVwbGljYXRlIHNlcGFyYXRvciBjaGFyYWN0ZXJzIgBHRF9taW5yYW5rKHN1YmcpIDw9IEdEX21heHJhbmsoc3ViZykgJiYgImNvcnJ1cHRlZCByYW5rIGJvdW5kcyIAaW5kZXggPCBsaXN0LnNpemUgJiYgImluZGV4IG91dCBvZiBib3VuZHMiACh1aW50cHRyX3QpcyAlIDIgPT0gMCAmJiAiaGVhcCBwb2ludGVyIHdpdGggbG93IGJpdCBzZXQgd2lsbCBjb2xsaWRlIHdpdGggYW5vbnltb3VzIElEcyIAICgrJTZsZCBieXRlcyAlc3wldSwgeG1scGFyc2UuYzolZCkgJSpzIgAgZm9udC1mYW1pbHk9IiVzIgAgZm9udC13ZWlnaHQ9IiVzIgAgZmlsbD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiAGJhZCBlZGdlIGxlbiAiJXMiACBiYXNlbGluZS1zaGlmdD0ic3VwZXIiAGFneGJsZW4oeGIpIDw9IHNpemVvZih4Yi0+c3RvcmUpICYmICJhZ3hidWYgY29ycnVwdGlvbiIAY2VsbC5yb3cgPCB0YWJsZS0+cm93X2NvdW50ICYmICJvdXQgb2YgcmFuZ2UgY2VsbCIAY2VsbC5jb2wgPCB0YWJsZS0+Y29sdW1uX2NvdW50ICYmICJvdXQgb2YgcmFuZ2UgY2VsbCIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiAGZ1bGxfbGVuZ3RoID4gMCAmJiAibm9uLXBvc2l0aXZlIGZ1bGwgbGVuZ3RoIgBmdWxsX2Jhc2Vfd2lkdGggPiAwICYmICJub24tcG9zaXRpdmUgZnVsbCBiYXNlIHdpZHRoIgBub21pbmFsX2Jhc2Vfd2lkdGggPiAwICYmICJub24tcG9zaXRpdmUgbm9taW5hbCBiYXNlIHdpZHRoIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACBmb250LXNpemU9IiUuMmYiACBmaWxsLW9wYWNpdHk9IiVmIgA8dGV4dCB4bWw6c3BhY2U9InByZXNlcnZlIgBpc2Zpbml0ZShtKSAmJiAiZWxsaXBzZSB0YW5nZW50IHNsb3BlIGlzIGluZmluaXRlIgAoeGItPmxvY2F0ZWQgPT0gQUdYQlVGX09OX0hFQVAgfHwgeGItPmxvY2F0ZWQgPD0gc2l6ZW9mKHhiLT5zdG9yZSkpICYmICJjb3JydXB0ZWQgYWd4YnVmIHR5cGUiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgA8YXJlYSBzaGFwZT0iY2lyY2xlIgBjZWxsLT5yb3cgKyBjZWxsLT5yb3dzcGFuIDw9IHRhYmxlLT5yb3dfY291bnQgJiYgImNlbGwgc3BhbnMgaGlnaGVyIHRoYW4gY29udGFpbmluZyB0YWJsZSIAY2VsbC5yb3cgKyBjZWxsLnJvd3NwYW4gPD0gdGFibGUtPnJvd19jb3VudCAmJiAiY2VsbCBzcGFucyBoaWdoZXIgdGhhbiBjb250YWluaW5nIHRhYmxlIgBjZWxsLT5jb2wgKyBjZWxsLT5jb2xzcGFuIDw9IHRhYmxlLT5jb2x1bW5fY291bnQgJiYgImNlbGwgc3BhbnMgd2lkZXIgdGhhbiBjb250YWluaW5nIHRhYmxlIgBjZWxsLmNvbCArIGNlbGwuY29sc3BhbiA8PSB0YWJsZS0+Y29sdW1uX2NvdW50ICYmICJjZWxsIHNwYW5zIHdpZGVyIHRoYW4gY29udGFpbmluZyB0YWJsZSIAb2xkX25tZW1iIDwgU0laRV9NQVggLyBzaXplICYmICJjbGFpbWVkIHByZXZpb3VzIGV4dGVudCBpcyB0b28gbGFyZ2UiAHRoZXRhID49IDAgJiYgdGhldGEgPD0gTV9QSSAmJiAidGhldGEgb3V0IG9mIHJhbmdlIgB0YWJsZS0+aGVpZ2h0cyA9PSBOVUxMICYmICJ0YWJsZSBoZWlnaHRzIGNvbXB1dGVkIHR3aWNlIgB0YWJsZS0+d2lkdGhzID09IE5VTEwgJiYgInRhYmxlIHdpZHRocyBjb21wdXRlZCB0d2ljZSIAIHRleHQtYW5jaG9yPSJlbmQiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiAFwiAGxsZW4gPD0gSU5UX01BWCAmJiAiWE1MIHRva2VuIHRvbyBsb25nIGZvciBleHBhdCBBUEkiACIgcnk9IgBfcCIgc3RhcnRPZmZzZXQ9IjUwJSI+PHRzcGFuIHg9IjAiIGR5PSIAIiBjeT0iACIgeT0iACIgcng9IgAgY3g9IgAgeD0iACB0YXJnZXQ9IgAgcG9pbnRzPSIAIGNvb3Jkcz0iACB0ZXh0LWRlY29yYXRpb249IgAgZmlsbD0iACIgc3Ryb2tlLXdpZHRoPSIAPGltYWdlIHhsaW5rOmhyZWY9IgA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIG5hbWU9IgAgeGxpbms6dGl0bGU9IgAgdGl0bGU9IgAiIHN0cm9rZT0iADxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9IgA8ZGVmcz4KPHJhZGlhbEdyYWRpZW50IGlkPSIAPG1hcCBpZD0iADxnIGlkPSIAIGQ9IgAiIHkyPSIAIiB4Mj0iACIgeTE9IgB4MT0iACB2aWV3Qm94PSIlZC4wMCAlZC4wMCAlZC4wMCAlZC4wMCIAIHRyYW5zZm9ybT0icm90YXRlKCVkICVnICVnKSIAYWd4YmxlbigmY3R4LT5TYnVmKSA9PSAwICYmICJwZW5kaW5nIHN0cmluZyBkYXRhIHRoYXQgd2FzIG5vdCBjb25zdW1lZCAobWlzc2luZyAiICJlbmRzdHIoKS9lbmRodG1sc3RyKCk/KSIAIGFsdD0iIgBDeWNsZSBFcnJvciEAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAPCEtLSBHZW5lcmF0ZWQgYnkgACVzJXp1IC0jJTAyeCUwMnglMDJ4JTAyeCAAJXMlenUgLSMlMDJ4JTAyeCUwMnggACVjICV6dSAAdCAldSAAIGNyZWF0ZSB0ZXh0IAB4TGF5b3V0IABkZWZhdWx0IABzdHJpY3QgACVzJXp1IC0lcyAAIC1zbW9vdGggYmV6aWVyIAAgbW92ZXRvIAAgdmVyc2lvbiAAIGNyZWF0ZSBwb2x5Z29uIAAgLXRleHQgeyVzfSAtZmlsbCAAIGNyZWF0ZSBvdmFsIAAgLXdpZHRoIABuZXdwYXRoIABncmFwaCAAcywlLjVnLCUuNWcgACUuNWcsJS41ZywlLjVnLCUuNWcgAGUsJS41ZywlLjVnIAAlZyAlZyAAJS4wM2xmIAAlLjNmIAAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICUuNGYgJWQgJS4xZiAlLjFmICUuMGYgJS4wZiAAIC1vdXRsaW5lIAAgY3JlYXRlIGxpbmUgAG5vZGUgACVkIABUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAFsgL1JlY3QgWyAAVCAAUyAAT1BFTiAASSAARiAARSAAQyAAIC0+IABSYW5rIHNlcGFyYXRpb24gPSAAVW5zYXRpc2ZpZWQgY29uc3RyYWludDogAENhbGN1bGF0aW5nIHNob3J0ZXN0IHBhdGhzOiAAJXM6IABTb2x2aW5nIG1vZGVsOiAAU2V0dGluZyB1cCBzcHJpbmcgbW9kZWw6IABjb252ZXJ0IGdyYXBoOiAAIFRpdGxlOiAAW0dyYXBodml6XSAlczolZDogJTA0ZC0lMDJkLSUwMmQgJTAyZDolMDJkOiAAInRleHQiOiAAeyJmcmFjIjogJS4wM2YsICJjb2xvciI6IAAibmFtZSI6IAAic3R5bGUiOiAAImZhY2UiOiAAMiAAPCEtLSAAIC0tIAAlIABfcCIgAGxfJWQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJXp1ICBLID0gJWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAogICAgADoJIAAgICAgJXN9CgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAI2RlZmF1bHQgeyBmaW5pc2ggeyBhbWJpZW50IDAuMSBkaWZmdXNlIDAuOSB9IH0KAHBpZ21lbnQgeyBjb2xvciAlcyB9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAgICAgdGV4dHVyZSBJbWFnZVRleHR1cmUgeyB1cmwgIiVzIiB9CgAgICAgfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICog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aWR0aCBvciBoZWlnaHQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKSBkb2Vzbid0IGhhdmUgM24rMSBwb2ludHMKACAgZ2VuZXJhdGVkICVkIGNvbnN0cmFpbnRzCgBzcGxpbmVzIGFuZCBjbHVzdGVyIGVkZ2VzIG5vdCBzdXBwb3J0ZWQgLSB1c2luZyBsaW5lIHNlZ21lbnRzCgBvYmplY3RzCgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAZm9udCBuYW1lICVzIGNvbnRhaW5zIGNoYXJhY3RlcnMgdGhhdCBtYXkgbm90IGJlIGFjY2VwdGVkIGJ5IHNvbWUgUFMgdmlld2VycwoAZm9udCBuYW1lICVzIGlzIGxvbmdlciB0aGFuIDI5IGNoYXJhY3RlcnMgd2hpY2ggbWF5IGJlIHJlamVjdGVkIGJ5IHNvbWUgUFMgdmlld2VycwoAY2Fubm90IGFsbG9jYXRlIHBzCgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBhcnJheSBwYWNraW5nOiAlcyAlenUgcm93cyAlenUgY29sdW1ucwoAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJyVzJyBpbiBsaW5lICVkIG9mICVzIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKAG91dCBvZiBtZW1vcnkgd2hlbiB0cnlpbmcgdG8gYWxsb2NhdGUgJXp1IGJ5dGVzCgBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJ5aW5nIHRvIGFsbG9jYXRlICV6dSAqICV6dSBieXRlcwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoARm91bmQgJWQgRGlHLUNvTGEgYm91bmRhcmllcwoASW5jaGVzCgAoJTR6dSkgJTd6dSBub2RlcyAlN3p1IGVkZ2VzCgBjb21wb3VuZEVkZ2VzOiBjb3VsZCBub3QgY29uc3RydWN0IG9ic3RhY2xlcyAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBjb21wb3VuZEVkZ2VzOiBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBTY2FubmluZyBncmFwaCAlcywgJWQgbm9kZXMKAFdhcm5pbmc6IG5vIGhhcmQtY29kZWQgbWV0cmljcyBmb3IgJyVzJy4gIEZhbGxpbmcgYmFjayB0byAnVGltZXMnIG1ldHJpY3MKAGluIGVkZ2UgJXMlcyVzCgBVc2luZyAlczogJXM6JXMKAEZvcm1hdDogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGxheW91dCAlcwoALmZ0ICVzCgBiYWQgbGFiZWwgZm9ybWF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN3p1IGNvbXBvbmVudHMgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKACAgRWRnZSAlcyAlcyAlcwoAb3J0aG8gJXMgJXMKAHBvbHlsaW5lICVzICVzCgBzcGxpbmUgJXMgJXMKAHJlY3RhbmdsZSAoJS4wZiwlLjBmKSAoJS4wZiwlLjBmKSAlcyAlcwoAaW4gY2x1c3RlciAlcwoAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAHRhaWwgY2x1c3RlciAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAVW5oYW5kbGVkIGFkanVzdCBvcHRpb24gJXMKAHJlcG9zaXRpb24gJXMKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggeGxhYmVsICVzCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHRhaWwgbGFiZWwgJXMKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggbGFiZWwgJXMKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggaGVhZCBsYWJlbCAlcwoALy8qKiogYmVnaW5fZ3JhcGggJXMKAE1heC4gaXRlcmF0aW9ucyAoJWQpIHJlYWNoZWQgb24gZ3JhcGggJXMKAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKACVzIHdoaWxlIG9wZW5pbmcgJXMKAGRlcml2ZSBncmFwaCBfZGdfJWQgb2YgJXMKACBdICAlenUgdHJ1ZSAlcwoAXSAgJWQgdHJ1ZSAlcwoAIF0gICV6dSBmYWxzZSAlcwoAXSAgJWQgZmFsc2UgJXMKAG1ha2VQb2x5OiB1bmtub3duIHNoYXBlIHR5cGUgJXMKAG1ha2VBZGRQb2x5OiB1bmtub3duIHNoYXBlIHR5cGUgJXMKAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgAgIG9jdHJlZSBzY2hlbWUgJXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBjYW4ndCBmaW5kIGxpYnJhcnkgZmlsZSAlcwoAQm91bmRpbmdCb3ggbm90IGZvdW5kIGluIGVwc2YgZmlsZSAlcwoAY291bGRuJ3Qgb3BlbiBlcHNmIGZpbGUgJXMKAGNvdWxkbid0IHJlYWQgZnJvbSBlcHNmIGZpbGUgJXMKAGluIG5vZGUgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBpbiBsYWJlbCBvZiBub2RlICVzCgBlbmQgJXMKAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKAG9vcHMsIGludGVybmFsIGVycm9yOiB1bmhhbmRsZWQgY29sb3IgdHlwZT0lZCAlcwoAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKAC8vKioqIHRleHRzcGFuOiAlcywgZm9udHNpemUgPSAlLjNmLCBmb250bmFtZSA9ICVzCgB0cmllcyA9ICVkLCBtb2RlID0gJXMKAC8vKioqIGNvbW1lbnQ6ICVzCgBmYWlsZWQgdG8gcmVzZXJ2ZSAlenUgZWxlbWVudHMgb2Ygc2l6ZSAlenUgYnl0ZXM6ICVzCgBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgBkZWxhdW5heV90cmlhbmd1bGF0aW9uOiAlcwoAZGVsYXVuYXlfdHJpOiAlcwoAZ3ZwcmludGY6ICVzCgBuZXN0aW5nIG5vdCBhbGxvd2VkIGluIHN0eWxlOiAlcwoAdW5tYXRjaGVkICcpJyBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgAlJSUlVGl0bGU6ICVzCgAlcyBUaXRsZTogJXMKACMgVGl0bGU6ICVzCgAvLyoqKiBiZWdpbl9ub2RlOiAlcwoAbGliL3BhdGhwbGFuLyVzOiVkOiAlcwoAZ3JpZCglZCwlZCk6ICVzCgBDb3VsZCBub3Qgb3BlbiAiJXMiIGZvciB3cml0aW5nIDogJXMKAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgAgWyV6dV0gJXAgc2V0ICVkICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcwoAJSUgJXMKACMgJXMKACAgbW9kZSAgICVzCgBsaXN0IGVsZW1lbnQgdHlwZSBpcyBub3QgYSBwb2ludGVyLCBidXQgYGZyZWVgIHVzZWQgYXMgZGVzdHJ1Y3RvcgoAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAGFkZF9zZWdtZW50OiBlcnJvcgoAJS41ZyAlLjVnICUuNWcgJXNjb2xvcgoAMCAwIDAgZWRnZWNvbG9yCgAwLjggMC44IDAuOCBzZXRyZ2Jjb2xvcgoAMCAwIDEgc2V0cmdiY29sb3IKADEgMCAwIHNldHJnYmNvbG9yCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWQgJWQgc2V0bGF5ZXIKAC8vKioqIGVuZF9sYXllcgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoATGV0dGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfY2x1c3RlcgoAcmVtb3ZpbmcgZW1wdHkgY2x1c3RlcgoAQ2VudGVyCgBXYXJuaW5nOiBubyB2YWx1ZSBmb3Igd2lkdGggb2Ygbm9uLUFTQ0lJIGNoYXJhY3RlciAldS4gRmFsbGluZyBiYWNrIHRvIHdpZHRoIG9mIHNwYWNlIGNoYXJhY3RlcgoAYmFzZSByZWZlcmVyCgAlJVBhZ2VUcmFpbGVyCgAlJVRyYWlsZXIKAC8vKioqIGJlemllcgoAIiVzIiB3YXMgbm90IGZvdW5kIGFzIGEgZmlsZSBvciBhcyBhIHNoYXBlIGxpYnJhcnkgbWVtYmVyCgBzdG9wCgAgY3VydmV0bwoAbmV3cGF0aCAlLjBmICUuMGYgbW92ZXRvCgAlLjBmICUuMGYgbGluZXRvCgAgbGF5b3V0PW5lYXRvCgBub2RlICVzIGluIGdyYXBoICVzIGhhcyBubyBwb3NpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgaGF2ZSBubyBtZWFuaW5nIGluIERXQiAyLjAsIHNldCBwYWdlIGJvdW5kYXJpZXMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAbWFqb3JpemF0aW9uCgAvLyoqKiBwb2x5Z29uCgBvdmVyZmxvdyB3aGVuIGNvbXB1dGluZyBlZGdlIHdlaWdodCBzdW0KAHNmZHAgb25seSBzdXBwb3J0cyBzdGFydD1yYW5kb20KAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGNsb3NlcGF0aCBmaWxsCgAgZWxsaXBzZV9wYXRoIGZpbGwKACAgJS4wZiAlLjBmIGNlbGwKACVmICVmICVmICVmIGNlbGwKAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAZWRnZXMgaW4gZ3JhcGggJXMgaGF2ZSBubyBsZW4gYXR0cmlidXRlLiBIZW5jZSwgdGhlIG1kcyBtb2RlbAoAY2lyY3VpdCBtb2RlbCBub3QgeWV0IHN1cHBvcnRlZCBpbiBHbW9kZT1zZ2QsIHJldmVydGluZyB0byBzaG9ydHBhdGggbW9kZWwKAG1kcyBtb2RlbCBub3QgeWV0IHN1cHBvcnRlZCBpbiBHbW9kZT1zZ2QsIHJldmVydGluZyB0byBzaG9ydHBhdGggbW9kZWwKAG5vZGUgJyVzJywgZ3JhcGggJyVzJyBzaXplIHRvbyBzbWFsbCBmb3IgbGFiZWwKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAGxpbmV0aGljayA9IDA7IG9sZGxpbmV0aGljayA9IGxpbmV0aGljawoAIHNldGxpbmV3aWR0aAoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKAGdzYXZlICVnICVnIHRyYW5zbGF0ZSBuZXdwYXRoCgAvLyoqKiBlbmRfZ3JhcGgKAGxheW91dCBhdHRyaWJ1dGUgaXMgaW52YWxpZCBleGNlcHQgb24gdGhlIHJvb3QgZ3JhcGgKAGluIGNoZWNrcGF0aCwgYm94ZXMgJXp1IGFuZCAlenUgZG9uJ3QgdG91Y2gKAG1lcmdlX29uZXdheSBnbGl0Y2gKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgBOb2RlIG5vdCBhZGphY2VudCB0byBjZWxsIC0tIEFib3J0aW5nCgBpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAGxhYmVsX3NjaGVtZSA9ICVkID4gNCA6IGlnbm9yaW5nCgBndnJlbmRlcl9zZXRfc3R5bGU6IHVuc3VwcG9ydGVkIHN0eWxlICVzIC0gaWdub3JpbmcKAEFycm93IHR5cGUgIiVzIiB1bmtub3duIC0gaWdub3JpbmcKAGZkcCBkb2VzIG5vdCBzdXBwb3J0IHN0YXJ0PXNlbGYgLSBpZ25vcmluZwoAJXMgYXR0cmlidXRlIHZhbHVlIG11c3QgYmUgMSBvciAyIC0gaWdub3JpbmcKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBiYlslc10gJS41ZyAlLjVnICUuNWcgJS41ZwoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAL3BhdGhib3ggewogICAgL1ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAfSBiaW5kIGRlZgoALlBTICUuNWYgJS41ZgoAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAICBiZWF1dGlmeV9sZWF2ZXMgJWQgbm9kZSB3ZWlnaHRzICVkIHJvdGF0aW9uICUuMDNmCgAgIHJlcHVsc2l2ZSBleHBvbmVudDogJS4wM2YKACAgSyA6ICUuMDNmIEMgOiAlLjAzZgoAJXMgJS4zZgoACmludGVyc2VjdGlvbiBhdCAlLjNmICUuM2YKACAgICBzY2FsZSAlLjNmCgB0b3J1cyB7ICUuM2YsICUuM2YKACAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGNpcmNsZSAlcyAlLjBmLCUuMGYsJS4wZgoAcmVjdCAlcyAlLjBmLCUuMGYgJS4wZiwlLjBmCgAlZCAlZCAlZCAlLjBmICVkICVkICVkICVkICVkICUuM2YgJWQgJS40ZiAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYKACAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYgJS4wZiAlLjBmCgAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICUuMGYgJS4wZiAlLjBmICUuMGYKAHBvc1slenVdICUuMGYgJS4wZgoALm5yIFNGICUuMGYKc2NhbGV0aGlja25lc3MgPSAlLjBmCgAlcyBzYXZlIHBvaW50IHNpemUgYW5kIGZvbnQKLm5yIC5TIFxuKC5zCi5uciBERiBcbiguZgoAc2hvd3BhZ2UKJSUlJVRyYWlsZXIKJSUlJUJvdW5kaW5nQm94OiAlLmYgJS5mICUuZiAlLmYKAGFkZGluZyAlenUgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGdhcD0lZiwlZgoAICBhc3BlY3QgJWYKAGEgJWYgYiAlZiBjICVmIGQgJWYgciAlZgoAbW9kZWwgJWQgc21hcnRfaW5pdCAlZCBzdHJlc3N3dCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgByZWMgJWYgJWYgJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACVzIDogJWYgJWYKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBtZHNNb2RlbDogZGVsdGEgPSAlZgoAIHIxICVmIHIyICVmCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAZ3NhdmUKACUlRW5kQ29tbWVudHMKc2F2ZQoAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJWcgJWcgc2V0X3NjYWxlICVkIHJvdGF0ZSAlZyAlZyB0cmFuc2xhdGUKACVmICVmIHRyYW5zbGF0ZQoAJWQgJWQgdHJhbnNsYXRlCgAvLyoqKiBlbGxpcHNlCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUKACVzOiB2c25wcmludGYgZmFpbHVyZQoAZW5kcGFnZQpzaG93cGFnZQpncmVzdG9yZQoAZW5kCnJlc3RvcmUKAGxheW91dCB3YXMgbm90IGRvbmUKAExheW91dCB3YXMgbm90IGRvbmUKAC8vKioqIHBvbHlsaW5lCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKACMgZW5kIG9mIEZJRyBmaWxlCgBTaW5nbGUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKACUuMGYgJS4wZiBsaW5ldG8gc3Ryb2tlCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIHN0cm9rZQoALy8qKiogYmVnaW5fZWRnZQoALy8qKiogZW5kX2VkZ2UKAGxvc3QgJXMgJXMgZWRnZQoAb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyB2aXJ0dWFsIHdlaWdodCBvZiBlZGdlCgBhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAc2hvd3BhZ2UKACVkICVkICVkIGJlZ2lucGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX3BhZ2UKAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgBsYWJlbDogYXJlYSB0b28gbGFyZ2UgZm9yIHJ0cmVlCgAvLyoqKiBlbmRfbm9kZQoAVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgBjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgAlZiAlZiAlZiAlZiBub2RlCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgBpbiBjaGVja3BhdGgsIGJveCAlenUgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWxsZCBiZXN0X2Nyb3NzICVsbGQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlcyVzIHVuc3VwcG9ydGVkCgBjbHVzdGVyIGN5Y2xlICVzIC0tICVzIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAbGF5b3V0IGFib3J0ZWQKAHBhZ2VkaXI9JXMgaWdub3JlZAoAVHdvIGNsdXN0ZXJzIG5hbWVkICVzIC0gdGhlIHNlY29uZCB3aWxsIGJlIGlnbm9yZWQKAElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgYXR0cmlidXRlICJtb2RlbCIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAc3RhcnQ9MCBub3Qgc3VwcG9ydGVkIHdpdGggbW9kZT1zZWxmIC0gaWdub3JlZAoAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgUk9XUyAtIGlnbm9yZWQKAFVua25vd24gdmFsdWUgJXMgZm9yIENPTFVNTlMgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBBTElHTiAtIGlnbm9yZWQKAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAElsbGVnYWwgdmFsdWUgJS4qcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBBTElHTiBpbiBURCAtIGlnbm9yZWQKAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDT0xTUEFOIHZhbHVlIGNhbm5vdCBiZSAwIC0gaWdub3JlZAoAbm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAaW4gcm91dGVzcGxpbmVzLCBQc2hvcnRlc3RwYXRoIGZhaWxlZAoAaW4gcm91dGVzcGxpbmVzLCBQcm91dGVzcGxpbmUgZmFpbGVkCgAjIHBsdWdpbiBsb2FkaW5nIG9mIGRlcGVuZGVuY3kgIiUuKnMiIGZhaWxlZAoAUGFyc2luZyBvZiAiJXMiIGZhaWxlZAoAJXM6JWQ6IGNsYWltZWQgdW5yZWFjaGFibGUgY29kZSB3YXMgcmVhY2hlZAoAIyB1bnN1Y2Nlc3NmdWwgcGx1Z2luIGxvYWQKACUuNWcgJS41ZyB0cmFuc2xhdGUgbmV3cGF0aCB1c2VyX3NoYXBlXyVkCgBuc2l6ZXNjYWxlPSVmLGl0ZXJhdGlvbnM9JWQKAGN0cmwtPm92ZXJsYXA9JWQKACVzICV6dSBub2RlcyAlenUgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgAgIG1heCBsZXZlbHMgJWQKAAklcyAlZAoAICBCYXJuZXMtSHV0dCBjb25zdGFudCAlLjAzZiB0b2xlcmFuY2UgICUuMDNmIG1heGl0ZXIgJWQKAGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgByZWJ1aWxkX3ZsaXN0czogbGVhZCBpcyBudWxsIGZvciByYW5rICVkCgByZWJ1aWxkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgAgIHNtb290aGluZyAlcyBvdmVybGFwICVkIGluaXRpYWxfc2NhbGluZyAlLjAzZiBkb19zaHJpbmtpbmcgJWQKACAgY29vbGluZyAlLjAzZiBzdGVwIHNpemUgICUuMDNmIGFkYXB0aXZlICVkCgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKACAgZWRnZV9sYWJlbGluZ19zY2hlbWUgJWQKAGFnZGljdG9mOiB1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bCBpcyAwLjMgaW4gMTB0aCBFZGl0aW9uIChmaWxsIDAgbWVhbnMgYmxhY2spLCAwLjUgaW4gZ3BpYyAoZmlsbCAwIG1lYW5zIHdoaXRlKSwgdW5kZWZpbmVkIGluIERXQiAyCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgBzZXR1cExhdGluMQoAXDAwMQoAJXMgICAgICAgIHRvbGVyYW5jZSAwLjAxCgAgICAgdG9sZXJhbmNlIDAuMQoAJSVQYWdlczogMQoAICAgICAgICBkaWZmdXNlQ29sb3IgMSAxIDEKADEwMC4wMAoAIEVQU0YtMy4wCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgBzcGhlcmUgezwlOS4zZiwgJTkuM2YsICU5LjNmPiwgMS4wCgBXYXJuaW5nOiBubyB2YWx1ZSBmb3Igd2lkdGggb2YgQVNDSUkgY2hhcmFjdGVyICV1LiBGYWxsaW5nIGJhY2sgdG8gMAoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAE5vIGxpYnogc3VwcG9ydC4KAHR3b3BpOiB1c2Ugb2Ygd2VpZ2h0PTAgY3JlYXRlcyBkaXNjb25uZWN0ZWQgY29tcG9uZW50LgoAdGhlIGdyYXBoIGludG8gY29ubmVjdGVkIGNvbXBvbmVudHMuCgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG1pbmNyb3NzICVzOiAlbGxkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBFcnJvciBkdXJpbmcgY29udmVyc2lvbiB0byAiVVRGLTgiLiBRdWl0aW5nLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgAgIGluaXRDTWFqVlBTQyBkb25lOiAlZCBnbG9iYWwgY29uc3RyYWludHMgZ2VuZXJhdGVkLgoAVGhlIGNoYXJhY3RlciAnJWMnIGFwcGVhcnMgaW4gYm90aCB0aGUgbGF5ZXJzZXAgYW5kIGxheWVybGlzdHNlcCBhdHRyaWJ1dGVzIC0gbGF5ZXJsaXN0c2VwIGlnbm9yZWQuCgB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAZWRnZSAlcyAtPiAlcyA6IHNldCBtb3JlIHRoYW4gb25lIHNwbGluZS4gRmlyc3QgdXNlZCwgb3RoZXIgZHJvcHBlZC4KACV6dSBvdXQgb2YgJXp1IGxhYmVscyBwb3NpdGlvbmVkLgoAJXp1IG91dCBvZiAlenUgZXh0ZXJpb3IgbGFiZWxzIHBvc2l0aW9uZWQuCgAgIGdlbmVyYXRlIGVkZ2UgY29uc3RyYWludHMuLi4KAEdlbmVyYXRpbmcgTm9uLW92ZXJsYXAgQ29uc3RyYWludHMuLi4KAEdlbmVyYXRpbmcgRWRnZSBDb25zdHJhaW50cy4uLgoAR2VuZXJhdGluZyBEaUctQ29MYSBFZGdlIENvbnN0cmFpbnRzLi4uCgBSZW1vdmluZyBvdmVybGFwcyBhcyBwb3N0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ZWUgZG90KDEpKQoAZXJyb3IgaW4gY29sb3J4bGF0ZSgpCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAElsbGVnYWwgdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGU7IGZsb2F0IGV4cGVjdGVkIGFmdGVyICc7JwoAZGVmaW5lIGF0dHJzMCAlJSAlJTsgZGVmaW5lIHVuZmlsbGVkICUlICUlOyBkZWZpbmUgcm91bmRlZCAlJSAlJTsgZGVmaW5lIGRpYWdvbmFscyAlJSAlJQoAPHN2ZyB3aWR0aD0iJWRwdCIgaGVpZ2h0PSIlZHB0IgoAIyBkZXBlbmRlbmNpZXMgIiUuKnMiIGRpZCBub3QgbWF0Y2ggIiUuKnMiCgAjIHR5cGUgIiUuKnMiIGRpZCBub3QgbWF0Y2ggIiUuKnMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgBObyBvciBpbXByb3BlciBpbWFnZSBmaWxlPSIlcyIKAGZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCgBDb3VsZCBub3QgcGFyc2UgeGRvdCAiJXMiCgBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgAgWyV6dV0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBEdXBsaWNhdGUgY2x1c3RlciBuYW1lICIlcyIKAHVucmVjb2duaXplZCBhcGkgbmFtZSAiJXMiCgBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgBObyBvciBpbXByb3BlciBzaGFwZWZpbGU9IiVzIiBmb3Igbm9kZSAiJXMiCgBObyBvciBpbXByb3BlciBpbWFnZT0iJXMiIGZvciBub2RlICIlcyIKAG5vZGUgIiVzIiBpcyBjb250YWluZWQgaW4gdHdvIG5vbi1jb21wYXJhYmxlIGNsdXN0ZXJzICIlcyIgYW5kICIlcyIKAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgAgICIlcyIKACNpbmNsdWRlICJjb2xvcnMuaW5jIgojaW5jbHVkZSAidGV4dHVyZXMuaW5jIgojaW5jbHVkZSAic2hhcGVzLmluYyIKAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlbHUgCgAlcyBpbiBsaW5lICVsdSAKAHNjYWxlIGJ5ICVnLCVnIAoAY29tcHJlc3MgJWcgCgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgCJUE5HDQoaCgAlJSFQUy1BZG9iZS0yLjAKJSUlJUJvdW5kaW5nQm94OiAoYXRlbmQpCi9wb2ludCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIG5ld3BhdGgKICBYIFkgMyAwIDM2MCBhcmMgZmlsbAp9IGRlZgovY2VsbCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKL25vZGUgewogL3UgZXhjaCBkZWYKIC9yIGV4Y2ggZGVmCiAvZCBleGNoIGRlZgogL2wgZXhjaCBkZWYKIG5ld3BhdGggbCBkIG1vdmV0bwogciBkIGxpbmV0byByIHUgbGluZXRvIGwgdSBsaW5ldG8KIGNsb3NlcGF0aCBmaWxsCn0gZGVmCgoACQBBoYAFC7YDAQEBAQEBAQECAwEBAgEBAQEBAQEBAQEBAQEBAQEBAQIBBAUBAQEBAQEGAQEHCAkKCgoKCgoKCgoKAQELAQwBDQ4PEBESExQVFhMTExMXGBkTGhscHRMTExMTAR4BARMBHyAhIiMTJCUmExMTEycoKRMqKywtExMTExMBAQEBARMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTLhMTEy8TExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzATExMTExMTExMTExMTExMTAAAAAAAABAAEABwAHAAhACEAJAAiAAoAAgAWAAkAIgAiACIAFQAdAAEAFAAUABQAFAAUABQAFAAIAAQABQAcABsAFwAcACEAIAAfAB4ACQATAAAAFQASABUAAwAHABUAFQAUABQAFAAUABQAFAAUABQACAAEAAUABQAGABwAGgAYABkAIQAHABUAFAAUABQAFAAUABQACwAUAA0AFAAMABQAFAAUAA4AFAAUABQAEAAUAA8AFAARAEHigwULlQQBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAQABwADAAQABQAFAAYABgAIAAcABwARABYAEgARABIACAAIAA8ADwAXAA8AGAAPABkAGgAaAB4AFgA0AB4ABQAyAAYAIgAiADMAFwAYADUAGQAaABoAKgA2ACoANAA3ADIARQA7ADwAMwA7ADwARgA1AEcASABMADYAIgBJAEoANwBFAE4AUABiAFEAUgBUAEYARwBVAEgATABWAEkASgBYAFoATgBEAFAAUQBSAFQAOAAvACwAVQApAFYAGwAQAFgAWgBdAF0AXQBdAF0AXQBdAF4AXgBeAF4AXgBeAF4AXwBfAF8AXwBfAF8AXwBgAAkAYABgAGAAYABgAGEAYQBjAAIAYwBjAGMAYwBjAGQAAABkAAAAZABkAGQAZQAAAGUAZQBlAGUAZQBmAAAAAABmAGYAZgBmAGcAAABnAGcAZwBnAGgAAABoAGgAaABoAGgAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABBhIgFC80BrgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAA2wDbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wBB4okFC88BXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBcAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAEHBiwULMAEBAgMBBAEFAQYHBwEGBgYGBgYGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgYGBgBBgowFC6MECgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgBcAFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwADAAAAA0AAAAOAAAADgBBsJAFC9EFEe7u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APX//wBPqgAAgf/uAOXu/wBmnAAAgf/NAMXN/wC1jwAAgf+LAIaL/wBSEQAA1HPu7oLu/wCzVAAA49fQ0CCQ/wBXuQAA68H//z6W/wDeqgAA68Du7jqM/wD1nAAA68DNzTJ4/wBLkAAA68CLiyJS/wC2CAAAAACAgICA/wAhNAAAVf+AAIAA/wDrBwAAAACAgICA/wCuMAAAAP+AgAAA/wDeTAAA1P+AgACA/wD5EgAAG0T19d6z/wDvtgAAG0X//+e6/wCjqAAAG0Tu7tiu/wDHmgAAG0TNzbqW/wAbjgAAG0OLi35m/wDDSAAAAAD//////wAlTgAAAAD19fX1/wC+CAAAAAC+vr6+/wBxNAAAVf//AP8A/wDzBwAAAAC+vr6+/wC4MAAA77mwsDBg/wATTQAAxN3woCDw/wCsCgAAKv////8A/wDUtgAAKv////8A/wCEqAAAKv/u7u4A/wC1mgAAKv/Nzc0A/wAJjgAAKv+Li4sA/wBdMwAAOMDNms0y/wBB4IIHCwM0dwIAQe6CBwuFCKBA/////////////////////////////////////////////////////////////////////////////////////wACqgJEAwAEAASqBjkGcQGqAqoCAASDBAACqgIAAjkCAAQABAAEAAQABAAEAAQABAAEAAQ5AjkCgwSDBIMEjQNeB8cFVgVWBccF4wRzBMcFxwWqAh0DxwXjBB0HxwXHBXMExwVWBXME4wTHBccFjQfHBccF4wSqAjkCqgLBAwAEqgKNAwAEjQMABI0DqgIABAAEOQI5AgAEOQI5BgAEAAQABAAEqgIdAzkCAAQABMcFAAQABI0D1wOaAdcDVAT///////////////////////////////////////////////////////////////////////////////////////8AAqoCcQQABAAEAAiqBjkCqgKqAgAEjwQAAqoCAAI5AgAEAAQABAAEAAQABAAEAAQABAAEqgKqAo8EjwSPBAAEcQfHBVYFxwXHBVYF4wQ5BjkGHQMABDkGVgWNB8cFOQbjBDkGxwVzBFYFxwXHBQAIxwXHBVYFqgI5AqoCpgQABKoCAARzBI0DcwSNA6oCAARzBDkCqgJzBDkCqgZzBAAEcwRzBI0DHQOqAnMEAATHBQAEAASNAycDwwEnAykE////////////////////////////////////////////////////////////////////////////////////////AAKqAlwDAAQABKoGOQa2AaoCqgIABGYFAAKqAgACOQIABAAEAAQABAAEAAQABAAEAAQABKoCqgJmBWYFZgUABFwH4wTjBFYFxwXjBOMExwXHBaoCjQNWBXMEqgZWBccF4wTHBeMEAARzBMcF4wSqBuMEcwRzBB0DOQIdA2ADAASqAgAEAASNAwAEjQM5AgAEAAQ5AjkCjQM5AscFAAQABAAEAAQdAx0DOQIABI0DVgWNA40DHQMzAzMCMwNUBP///////////////////////////////////////////////////////////////////////////////////////wACHQNxBAAEAASqBjkGOQKqAqoCAASPBAACqgIAAjkCAAQABAAEAAQABAAEAAQABAAEAASqAqoCjwSPBI8EAASoBlYFVgVWBccFVgVWBccFOQYdAwAEVgXjBB0HxwXHBeMExwVWBXME4wTHBVYFHQdWBeME4wSqAjkCqgKPBAAEqgIABAAEjQMABI0DqgIABHMEOQI5AgAEOQI5BnMEAAQABAAEHQMdAzkCcwSNA1YFAASNAx0DyQLDAckCjwT//1x3AgBB/ooHC4UIoED/////////////////////////////////////////////////////////////////////////////////////OQI5AtcCcwRzBB0HVgWHAaoCqgIdA6wEOQKqAjkCOQJzBHMEcwRzBHMEcwRzBHMEcwRzBDkCOQKsBKwErARzBB8IVgVWBccFxwVWBeMEOQbHBTkCAARWBXMEqgbHBTkGVgU5BscFVgXjBMcFVgWNB1YFVgXjBDkCOQI5AsEDcwSqAnMEcwQABHMEcwQ5AnMEcwTHAccBAATHAaoGcwRzBHMEcwSqAgAEOQJzBAAExwUABAAEAASsAhQCrAKsBP///////////////////////////////////////////////////////////////////////////////////////zkCqgLLA3MEcwQdB8cF5wGqAqoCHQOsBDkCqgI5AjkCcwRzBHMEcwRzBHMEcwRzBHMEcwSqAqoCrASsBKwE4wTNB8cFxwXHBccFVgXjBDkGxwU5AnMExwXjBKoGxwU5BlYFOQbHBVYF4wTHBVYFjQdWBVYF4wSqAjkCqgKsBHMEqgJzBOMEcwTjBHMEqgLjBOMEOQI5AnMEOQIdB+ME4wTjBOMEHQNzBKoC4wRzBDkGcwRzBAAEHQM9Ah0DrAT///////////////////////////////////////////////////////////////////////////////////////85AjkC1wJzBHMEHQdWBYcBqgKqAh0DrAQ5AqoCOQI5AnMEcwRzBHMEcwRzBHMEcwRzBHMEOQI5AqwErASsBHMEHwhWBVYFxwXHBVYF4wQ5BscFOQIABFYFcwSqBscFOQZWBTkGxwVWBeMExwVWBY0HVgVWBeMEOQI5AjkCwQNzBKoCcwRzBAAEcwRzBDkCcwRzBMcBxwEABMcBqgZzBHMEcwRzBKoCAAQ5AnMEAATHBQAEAAQABKwCFAKsAqwE////////////////////////////////////////////////////////////////////////////////////////OQKqAssDcwRzBB0HxwXnAaoCqgIdA6wEOQKqAjkCOQJzBHMEcwRzBHMEcwRzBHMEcwRzBKoCqgKsBKwErATjBM0HxwXHBccFxwVWBeMEOQbHBTkCcwTHBeMEqgbHBTkGVgU5BscFVgXjBMcFVgWNB1YFVgXjBKoCOQKqAqwEcwSqAnME4wRzBOMEcwSqAuME4wQ5AjkCcwQ5Ah0H4wTjBOME4wQdA3MEqgLjBHMEOQZzBHMEAAQdAz0CHQOsBP//kHcCAEGOkwcLhQigQP/////////////////////////////////////////////////////////////////////////////////////NBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0E////////////////////////////////////////////////////////////////////////////////////////zQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBP///////////////////////////////////////////////////////////////////////////////////////80EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQT////////////////////////////////////////////////////////////////////////////////////////NBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0E//+4dwIAQZ2bBwuGCECPQAAA////////////////////////////////AgH///////////////////////////////////////////////8CAeQAiAFYAlgCogO1At0APQE9AcIBWALkAKgB5AAbAVgCWAJYAlgCWAJYAlgCWAJYAlgC5ADkAFgCWAJYArsBsgPZAqQCoQLmAkcCJALWAvkCAQFEAXECHwJXA+QC/wJ5Av8CnQJnAloC2AKxAk0EigJUAk0COwEbATsBWAL0AfQBEgJHAs8BRwIUAk0BSgI4AugA7AD0ASgBWAM4AiwCRwJHAmYB4QFeATECAwJJAw0CAgLPAWABCQFgAVgC//8AAP///////////////////////////////w8B////////////////////////////////////////////////DwH4AMABWAJYArED1gLzAGYBZgHFAVgC+ACyAfgAOQFYAlgCWAJYAlgCWAJYAlgCWAJYAvgA+ABYAlgCWALLAbYD6AKwAqgC+gJVAjIC4AIFAxoBYgGZAjICZAPsAhEDjAIRA64CdwJtAuICyQJZBKACagJdAmIBOQFiAVgC9AH0ASMCWALYAVgCHgJsAVwCSQL/AAMBGAI/AW0DSQJAAlgCWAKIAegBgAFDAg8CVQMiAg4C2gGHASABhwFYAv//AAD///////////////////////////////8CAf///////////////////////////////////////////////wIB5ACIAVgCWAKiA7UC3QA9AT0BwgFYAuQAqAHkABsBWAJYAlgCWAJYAlgCWAJYAlgCWALkAOQAWAJYAlgCuwGyA9kCpAKhAuYCRwIkAtYC+QIBAUQBcQIfAlgD4wL/AnkC/wKdAmcCWgLYArACTQSKAlQCTQI7ARsBOwFYAvQB9AESAkcCzwFHAhQCTQFKAjgC6ADsAPQBKAFYAzgCLAJHAkcCZgHhAV4BMQIDAkkDDQICAs8BYAEJAWABWAL//wAA////////////////////////////////DwH///////////////////////////////////////////////8PAfgAwAFYAlgCsQPWAvMAZgFmAcUBWAL4ALIB+AA5AVgCWAJYAlgCWAJYAlgCWAJYAlgC+AD4AFgCWAJYAssBtgPoArACqAL6AlUCMgLgAgUDGgFiAZgCMgJlA+sCEQOMAhEDrgJ3Am0C4gLJAlkEoAJqAl0CYgE5AWIBWAL0AfQBIwJYAtgBWAIeAmwBXAJJAv8AAwEYAj8BbQNJAkACWAJYAogB6AGAAUMCDwJVAyICDgLaAYcBIAGHAVgC///AdwIAQa6jBwuFCKBA/////////////////////////////////////////////////////////////////////////////////////4sCNQOuA7QGFwWaBz0GMwIfAx8DAAS0BosC4wKLArICFwUXBRcFFwUXBRcFFwUXBRcFFwWyArICtAa0BrQGPwQACHkFfQWWBSkGDgWaBDMGBAZcAlwCPwV1BOcG/AVMBtMETAaPBRQF4wTbBXkF6Qd7BeMEewUfA7ICHwO0BgAEAATnBBQFZgQUBewE0QIUBRIFOQI5AqIEOQLLBxIF5QQUBRQFSgMrBCMDEgW8BIsGvAS8BDMEFwWyAhcFtAb////////////////////////////////////////////////////////////////////////////////////////JAqYDKwS0BpEFBAj6BnMCqAOoAy8EtAYKA1IDCgPsApEFkQWRBZEFkQWRBZEFkQWRBZEFMwMzA7QGtAa0BqQEAAgxBhkG3wWkBncFdwWRBrIG+gL6AjMGGQX2B7IGzQbdBc0GKQbDBXUFfwYxBtMIKwbLBc0FqAPsAqgDtAYABAAEZgW6Bb4EugVtBXsDugWyBb4CvgJSBb4CVgiyBX8FugW6BfIDwwTTA7IFNwVkBykFNwWoBLIF7AKyBbQG////////////////////////////////////////////////////////////////////////////////////////iwI1A64DtAYXBZoHPQYzAh8DHwMABLQGiwLjAosCsgIXBRcFFwUXBRcFFwUXBRcFFwUXBbICsgK0BrQGtAY/BAAIeQV9BZYFKQYOBZoEMwYEBlwCXAI/BXUE5wb8BUwG0wRMBo8FFAXjBNsFeQXpB3sF4wR7BR8DsgIfA7QGAAQABOcEFAVmBBQF7ATRAhQFEgU5AjkCogQ5AssHEgXlBBQFFAVKAysEIwMSBbwEiwa8BLwEMwQXBbICFwW0Bv///////////////////////////////////////////////////////////////////////////////////////8kCpgMrBJEFkQUECPoGcwKoA6gDLwS0BgoDUgMKA+wCkQWRBZEFkQWRBZEFkQWRBZEFkQUzAzMDtAa0BrQGpAQACDEGGQbfBaQGdwV3BZEGsgb6AvoCMwYZBfYHsgbNBt0FzQYpBsMFdQV/BjEG0wgrBssFzQWoA+wCqAO0BgAEAARmBboFvgS6BW0FewO6BbIFvgK+AlIFvgJWCLIFfwW6BboF8gPDBNMDsgU3BWQHKQU3BagEsgXsArIFtAb//8h3AgBBvqsHC4UIoEBmBP///////////////////////////////wAA////////////////////////////////////////////////ZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBP//ZgT///////////////////////////////8AAP///////////////////////////////////////////////2YEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgT//2YE////////////////////////////////AAD///////////////////////////////////////////////9mBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYE////////////////////////////////////////////////////////////////////////////////////////ZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBP//1HcCAEHOswcLhQigQP////////////////////////////////////////////////////////////////////////////////////9pAvACmQIyBDIEzQSmBUcB8ALwAvACMgTwAvAC8AIyBDIEMgQyBDIEMgQyBDIEMgQyBDIE8ALwAjIEMgQyBPACKga4BIcEyQToBEkEMwRpBTwFOgLQA5sEDQStBRsFZAV2BGgFqATZA6UEMAWzBNEGdASQBGcE8ALYAvACMgQyBDIENAR1BPYDdQRdBPUCBARfBEgC7wIJBFwCpAZfBEsEdQR1BBwDPQMsA18E6wP0BQIE8gPMA/ACMgTwAjIE////////////////////////////////////////////////////////////////////////////////////////aQLwAu8CsASwBHkFpgXWAfAC8AJ1A7AE8ALwAvACHwOwBLAEsASwBLAEsASwBLAEsASwBPAC8AKwBLAEsASBAyoGEQXDBOUEJAWNBKsEXwV4BToCQwTwBGwE9gVXBaAFsgSsBeMEFwTlBGwF+QQSB84E6AR7BDcD2AI3A7AEsASwBEMEpwQYBKUEmQT1AgQEvgRjAu8CYgRcAuAGuQSHBKkErARrA3IDLAO6BDgERQZrBEUEOgR4A7AEeAOwBP///////////////////////////////////////////////////////////////////////////////////////2kC8AKZAjIE2QPNBKYFRwHwAvAC8AIyBPAC8ALwAjIEMgQyBDIEMgQyBDIEMgQyBDIEMgTwAvACMgQyBDIE8AIqBuMEhwTJBOgESQQzBGkFPAU6AtADmwQNBBcGGwVkBVkEZAWoBNkDpQQwBbME0QZ0BJAEZwTwAtgC8AIyBDIEMgQ0BHUErgN1BEwENgMEBHUEdALvAgkEkAKkBl8ESwR1BHUEVQM9A1wDdATrA/QFAgTyA8wD8AIyBPACMgT///////////////////////////////////////////////////////////////////////////////////////9pAvACIAOwBLAE3AWmBWkC8ALwAnUDsATwAvAC8AItA7AEsASwBLAEsASwBLAEsASwBLAE8ALwArAEsASwBC0DKgbpBLgE5wQPBb8ErwRpBW0FOgL9AzMFOgRKBkgFngWrBCgG/QQDBHsFSwV3BWkHQQV4BeQE4gPSA+IDsASwBLAEvgS/BPEDvwRqBEgDSAR/BJ0CGgNRBI8CpAZ/BI8EygTKBJMDrAOBA3UEawQwBpsEgwRDBOIDsATiA7AE///gdwIAQd67BwuFCKBA/////////////////////////////////////////////////////////////////////////////////////9ACJgOsA4wGFgWcCNAFJgKiA6IDFgWMBukCogPpAqIDFgUWBRYFFgUWBRYFFgUWBRYFFgWiA6IDjAaMBowGXQQACHgFfAWWBSoGDwWZBDQGAwZeA6MDiwV0BL4G/AVMBtMETAaQBXgF7gTbBXgF6Qd7BewEewWiA6IDogOMBhYFFgXOBPwEKwT8BMQE0AL8BBAFMgLBArwEMgLIBxAF2wT8BPwEagMrBCcDEAW8BIwGvAS8BDQEFAWiAxQFjAb///////////////////////////////////////////////////////////////////////////////////////+8AjgDswTwBrAFLQrmBqgCWQRZBLAF8AbkAtcD5AKEBbAFsAWwBbAFsAWwBbAFsAWwBbAFOAM4A/AG8AbwBu8Etgc2BhgGygWkBncFNAV9BrMGXgRxBCsGGQWVB8YGzQbdBc0GQgavBXQFfwYcBgcJHAblBYkFWQSEBVkE8AawBbAFWAWYBbUEmAVQBWEDmAWzBbwCOQNeBbwCdwizBX4FmAWYBfoDvwSlA7MFMwXWB1oFNQXGBLAFWQSwBfAG////////////////////////////////////////////////////////////////////////////////////////0AImA6wDjAYWBZwI0AUmAqIDogMWBYwG6QKiA+kCogMWBRYFFgUWBRYFFgUWBRYFFgUWBaIDogOMBowGjAZdBAAIdgV8BZYFIAYPBZkENAYDBl4DowOLBXQEvgb8BUwG0wRMBpAFeAXuBNsFdgXsB3sF7AR7BaIDogOiA4wGFgUWBc4E/AQrBPwExATQAvkEEAUyAsECsgQyAskHEAXbBPwE/ARqAysEJwMQBboEjAa8BLoENAQUBaIDFAWMBv///////////////////////////////////////////////////////////////////////////////////////7wCOAOzBPAGsAUtCuYGqAJZBFkEsAXwBuQC1wPkAoQFsAWwBbAFsAWwBbAFsAWwBbAFsAU4AzgD8AbwBvAG7wS2BzYGGAbKBaQGdwU0BX0GswZeBHEEKwYZBZUHxgbNBt0FzQZCBq8FdAV/BhwGBwkcBuUFiQVZBIQFWQTwBrAFsAVYBZgFtQSYBVAFYQOYBbMFvAI5A14FvAJ3CLMFfAWYBZgF+gO/BKUDswUxBdYHWgU1BcYEsAVZBLAF8Ab//+h3AgBB7sMHC4UIoED/////////////////////////////////////////////////////////////////////////////////////FAIjAjUDKwWTBJYG1wXFAV4CXgJqBJME9gGTAiEC8AKTBJMEkwSTBJMEkwSTBJMEkwSTBCECIQKTBJMEkwRvAzEHEAUvBQwF1QVzBCEE0wXnBTsCIwLpBCcEOQcIBjsG0QQ7BvIEZARtBNMFwwRoB54EewSRBKIC8AKiAlYElgOeBHME5wTPA+cEfQS2AmIE6QQGAgYCMwQGAnEH6QTVBOcE5wREA9ED0wLpBAIEOQYxBAgEvgMIA2gECAOTBP///////////////////////////////////////////////////////////////////////////////////////xQCSgLHAysFkQQ1BwAGIQK2ArYCXASRBFICkwJIAk4DkQSRBJEEkQSRBJEEkQSRBJEEkQRIAlICkQSRBJEE0QMtB4UFYAUZBewFewRkBMsFHwamAqYCUAWFBIsHgQZeBgYFXgZIBWgEogQMBjMFvAdWBf4EogSmAk4DpgJCBEoD2wTVBBAFHQQQBboEGQOFBEIFcQJxAvYEcQLbB0IF9AQQBRAFogP6A3kDQgWNBNkGoASNBOcDJwNoBCcDkQT///////////////////////////////////////////////////////////////////////////////////////8UAhICFwMrBWgEWAZcBbwBSAJIAmoEaATsAX8CBgLNAmgEaARoBGgEaARoBGgEaARoBGgEBgIGAmgEaARoBGoDxwZxBMkErgRUBRcExwNqBW0FLwIjAnUEywOyBp4FwwWHBMMFjQQEBPwDaAViBNEGJwQGBD8ESgLNAkoCIwQnA28EhQSeBJoDngTyA4ECAgSeBAgCCALnAwgC+gaeBH0EngSeBCsDbQOYAp4EsgO8BdMDsgONA8sCaATLAmgE////////////////////////////////////////////////////////////////////////////////////////FAJKAqADKwVoBNkGqgUKArYCtgJcBGgEOQKTAkgCXgNoBGgEaARoBGgEaARoBGgEaARoBEgCSAJoBGgEaASsA9kGBgX2BOUEagVWBD8EhQWaBZMCpgLnBCUECgcKBtcFpATXBd8EPQQ/BIcFuAQnB9kEgwRKBKYCXgOmAjkEMwNvBMEEwwTdA8EEdQT8AlQE1QRgAmACiwRgAj0H1QSuBMMEwQReA8kDSAPVBBkETgY/BCcEpAPXAmgE1wJoBP//8HcCAEH+ywcLhQigQP/////////////////////////////////////////////////////////////////////////////////////uAaYCSwMlBeEEigavBbkBAAMAA8cDJQUoAv4CKALAA+kEcAN4BGoEhQQ6BIcEBQTFBIcEgAKAAiUFJQUlBdQDbgdeBTsFIwX+BToFywTNBYUGHgMkBI4F1ARrByMG9AXhBPQFnQV9BPMEDQZVBc4HrwXsBNAEAAPAAwADJQUlBQAECAR7BKIDmATeA5oCEwSoBFgCVgJJBEoCDAe6BFAEkgR6BEcDdQPDApoE+QPmBQoE8AONA3EDAANxAyUF////////////////////////////////////////////////////////////////////////////////////////CAIDAxQEoAUgBQkHZQYnApMDkwPbA6AFoAIIA6ACxgOcBesDAwX/BDIFywQvBW8EaQUvBfAC8AKgBaAFoAVjBLwHEQYPBrkFrAbFBV8FdQZOB5EDwwSJBnwFMAi3Bo8GnAWPBmEGMQV5BasGGQYDCXgG2wWEBZMDxgOTA6AFoAUABMQEKgVABE4FkwQlA50EcAXUAsUCDgXBAiAIhQUWBUMFMAUpBBoELgNqBYkE6Aa0BH8ENAQABBoDAASgBf///////////////////////////////////////////////////////////////////////////////////////+4BpgJLAyUF4QSKBq8FuQEAAwADxwMlBSgC/gIoAsAD6QRwA3gEagSFBDoEhwT5A8UEhwQSAxIDJQUlBSUF1ANuB14FOwUjBf4FOgXLBM0FhQYeAyQEjgXUBGsHIwbYBeEE2AWdBX0E8wQNBlUFzgevBewE0AQAA8ADAAMlBSUFAASVBG4EoQOaBMYDoQKVBIAEYQJUAjkESAIJB7gETASgBHEEsQNzA8cCmgROBJQGAgR6BI0DcQMAA3EDJQX///////////////////////////////////////////////////////////////////////////////////////8IAgMDFASgBSAFCQdlBicCkwOTA9sDoAWgAggDoALGA5wF6wMDBf8EMgXLBC8FiARpBS8F8ALwAqAFoAWgBWMEvAcRBhMGuQWsBsUFXwV1Bk4HmwPDBIkGfAVECKMGjwamBY8GYQY5BXkFqwYZBgMJawbbBYQFkwPGA5MDoAWgBQAESAUxBUkETQV1BAwDMgVnBe0C6wIhBdYCBAiFBRYFTQUzBUUEIwRWA3sF5gR4B6sEWwUjBAAEGgMABKAF///4dwIAQY7UBwvICqBA/////////////////////////////////////////////////////////////////////////////////////88BmwI1A/wDDgS4BXUFxAFtAm0C/AP8A/8BcwIFAhcDDgQOBA4EDgQOBA4EDgQOBA4EDgQkAiQC/AP8A/wDtQMnB6EEWgREBOwE6AOtAwwF/AQEAo0CKARdA9cGKgVMBSIEYgVYBK0D5gMiBYoEHgcnBOYDvwN0AhcDdAL8A/wDVALVAzQEYgM0BPsDcQLEAzQE1gHqAaMD1gFkBjQEOAQ0BDQEygIhA64CNASdA7gFdwOfAykDhAKvA4QC/AP//wAA////////////////////////////////AAD////////////////////////////////////////////////PAZsCggP8Aw4E1QWjBd4BfgJ+AvwD/AMQAnMCIwJwAw4EDgQOBA4EDgQOBA4EDgQOBA4ENQI1AvwD/AP8A7UDMAfZBHwEPAQLBecDrAMZBQwFIgKmAmAEYgP+BkUFaQVCBH0FgQTIA/YDOQW7BEAHaAQoBNMDmQJwA5kC/AP8A2cC8wNLBFkDSwQHBIgCywNLBPcBCwLXA/cBggZLBE0ESwRLBNgCMQPGAksEyQP2Ba0DygMuA8ACzQPAAvwD////////////////////////////////////////////////////////////////////////////////////////zwGbAjUD/AMOBLgFdQXEAW0CbQL8A/wD/wFzAgUCGgMOBA4EDgQOBA4EDgQOBA4EDgQOBCQCJAL8A/wD/AO1AycHoQRaBC4E7AToA60DDAX8BAQCjQIoBF0D1wYoBTwFIgRQBVgEngPmAyIFigQfBycE5gO/A3QCEwN0AvwD/ANUAh0EHQRUAx0E0gNxAh0EHQTWAeoBowPWAVQGHQQbBB0EHQS+Ah0DrgIdBJEDuAV3A5QDKQOEAq8DhAL8A////////////////////////////////////////////////////////////////////////////////////////88BmwKCA/wDDgTVBaMF3gF+An4C/AP8AxACcwIjAnkDDgQOBA4EDgQOBA4EDgQOBA4EDgQ1AjUC/AP8A/wDtQMwB9kEfAQmBAsF5wOsAxkFDAUiAqYCYARi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AMg2AAD8AAAAfiwAABghAADDOgAAvgMAALJHAAD9AAAAzzIAAKUAAADDNgAA/wAAAAZgAAC2AwAAqToAAA0gAACtOgAADCAAAHU+AQAIAAAAAwAAAOI+AABAzwAACwAAAAYAAACFFQAAamgAAAIAAAABAAAA4ywAABF0AAAEAAAAAgAAABZCAAAABAAAAwAAAAQAAAAJQQAATM8AAAUAAAAFAAAAtUIAAAQEAAAEAAAABwAAAFsVAAC9NgAABQAAAAkAAAC/NgAAjmwAAAQAAAAKAAAAKUIAAGD5AQAEAAAADAAAAMkvAAAAAAEAAAHQ0dLT1NXW19jZAEGG8wcLCfC/AAAAAAAAAQBBmPMHCw1pbnZpcwAAZmlsbGVkAEGw8wcLGkkaAADVUAAA6DUAAJwLAABgeAAAlMUAAM+NAEHw8wcLef//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAQYD1BwtBQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AQcr1BwuzAf///wcHAAAAAAD+//8H/gcAAAAA/v//////////fP9/LwBgAAAA4P///////yMAAAD/AwAAAOCf+f///cUDAAAAsAMAAwDgh/n///1tAwAAAF4AABwA4K/7///97SMAAAAAAQAAAOCf+f///c0jAAAAsAMAAADgxz3WGMe/AwAAAAAAAAAA4N/9///97wMAAAAAAwAAAODf/f///e8DAAAAQAMAAADg3/3///3/AwAAAAADAEGQ9wcLGf7/////fw0APwAAAAAAAACWJfD+rmwNIB8AQbj3BwsG//7///8DAEHk9wcLcv////8/AP////9/AO3aBwAAAABQAVAxgqtiLAAAAABAAMmA9QcAAAAACAEC/////////////////////////w///////////////wP//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAABATABB4PgHCwEHAEHw+AcLJoAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAEGw+QcLFf//////////////////////////PwBB0PkHCxX//////////////////////////w8AQfX5BwvJAmD/B/7//4f+//8HAAAAAAAAgAD//3////9//////wAAAAAAAAD//////////////wEA+AMAAwAAAAAA//////////8/AAAAAwAAAMDX///7/////39/VP3/DwD+3////////////t//////ewD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AP7/+///uxYA////BwcAAAAAAP7//wf//wcA/wP///////////98/3/v//89/wPu////////8/8/Hv/P/wAA7p/5///9xdOfOYCwz/8DAOSH+f///W3ThzkAXsD/HwDur/v///3t8787AADB/wAA7p/5///9zfOPOcCww/8AAOzHPdYYx7/Dxz2AAID/AADu3/3///3vw989YADD/wAA7N/9///978PfPWBAw/8AAOzf/f///f/Dzz2AAMP/AEHQ/AcLOP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAEGq/QcLZ/8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93YAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAAEAQaH+BwsFFQoAAAkAQbj+BwvgARUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAEHAgAgLEgIDBAUGBwgAAAkKCwwNDg8QEQBB3oAICwQSEwAUAEHwgAgLAhUWAEGOgQgLUgEBAQEBAQEBAQEBAQEB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sQQAAAZIAABWBQAA3D8AAAUSAAByMQAAOFAAACZLAAAKDgAABgUAAIUSAAAkMAAAsAkAAJYJAADgBAAAP1YAAB5WAABJUwAAyVcAALRXAAC6UwAAmlYAACoFAABYTAAAm1UAAJUXAAD/DwAARlUAALJWAADKUwAAdccAANO5AABaqwAAcZ0AAMeQAACMhQAAcH4AALV4AABQdAAANHEAANhuAACkbgAAb24AADNuAACkbQAAwWwAAGLHAADAuQAAR6sAAF6dAAC0kAAAeYUAAF1+AACieAAAPXQAACFxAADTbgAAn24AAGpuAAAubgAAn20AALxsAABPxwAArbkAADSrAABLnQAAoZAAAGaFAABKfgAAj3gAACp0AAAOcQAAzm4AAJpuAABlbgAAKW4AAJptAAC3bAAASscAAKi5AAAvqwAARp0AAJyQAABhhQAARX4AAIp4AAAldAAACXEAAMluAACVbgAAYG4AACRuAACVbQAAsmwAAEXHAACjuQAAKqsAAEGdAACXkAAAXIUAAEB+AACFeAAAIHQAAARxAADEbgAAkG4AAFtuAAAfbgAAkG0AAK1sAABAxwAAnrkAACWrAAA8nQAAkpAAAFeFAAA7fgAAgHgAABt0AAD/cAAAv24AAItuAABWbgAAGm4AAIRtAACobAAAO8cAAJm5AAAgqwAAN50AAI2QAABShQAANn4AAHt4AAAWdAAA+nAAALpuAACGbgAAUW4AAP9tAAB/bQAAo2wAADbHAACUuQAAG6sAADKdAACIkAAATYUAADF+AAB2eAAADHQAAPVwAAC1bgAAgW4AAExuAAD6bQAAem0AAIlsAAAwxwAAxbYAAHWoAACmmgAA+o0AAESFAAAtfgAAcngAAPNzAAA3EwAAZzUAAHluAAA9bgAA6x0AANBsAAB7bAAAc8gAADq6AADBqwAA2J0AADWRAAABhgAA134AABx5AAC3dAAApnEAAN1uAACpbgAAdG4AADhuAACpbQAAy2wAAMzlAABM4gAA3N8AADgUAgCw1QAArtUAAKzVAACq1QAASdUAAAPVAABczwAAWs8AAFjPAABVzwAAPs8AAJrOAACSzgAA6cYAAKe2AABXqAAAcZoAANyNAAA2hQAAH34AAGR4AADlcwAA53AAAA5wAADGbwAAxG8AALpvAADkbgAA4m4AAOBuAACzbgAAd24AADtuAACsbQAAzmwAAHlsAADqawAAxmsAAJ5rAACcawAAmWsAAHRoAABeaAAALWgAACtoAAAaaAAAGGgAAHZnAABaZwAAwWYAAL9mAAC9ZgAAu2YAAD1kAAAUZAAAEmQAAPdjAAD1YwAAYmIAAGBiAAD+YAAA/GAAAMJfAABCXwAA9VgAANVQAACDQwAAfkEAAGQ+AABcOwAAuToAAKc6AAByOQAAnzYAAOg1AADRLwAApC4AAEAeAAD8HQAASRoAADgTAABuDAAA6gsAAJwLAAANCgAALwkAAHkEAABEBAAAOwQAAC8EAAAJBAAAxmwAAAAAAAAIAK7/0QAKAK7/rv8LAK7/rv+u/67/rv+u/67/rv8FANEArv/RANEA0QDRANEA0QDRANEArv/7/67/DgDs/67/rv+u/67/0QDRANEA0QDRAA0AJQAMAEIAEABQABMAbQB7ABQAmAAPAKYAwwCu/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv8XAK7/dwCu/wcALgCu/yYArv8XABEAIwCu/w0Arv+u/67/rv86AK7/rv81AK7/rv+u/ygArv8HAK7/OwBFAK7/SACu/67/rv+u/67/AEGhtQgLwQYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAAAAAAAAAAACAgICAgIQDFkBAB9QCAMHEhMUVxYXCAtpDB8KBQwOKRErDy0QLzAgMgY0NRscHR4LDCEiIyQlJicoDBgZFwQKGxwaICoKISIjJCUmJygMCg5TCixYMVhYWFhYWAwbHA8uWDMhIiMkJSYnKBsc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X05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEGQ8wgLB0MuVVRGLTgAQajzCAugENCpAgBoqgIA+KoCAE5vIGVycm9yIGluZm9ybWF0aW9uAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZABSZXF1aXJlZCBrZXkgbm90IGF2YWlsYWJsZQBLZXkgaGFzIGV4cGlyZWQAS2V5IGhhcyBiZWVuIHJldm9rZWQAS2V5IHdhcyByZWplY3RlZCBieSBzZXJ2aWNlAAAAAAClAlsA8AG1BYwFJQGDBh0DlAT/AMcDMQMLBrwBjwF/A8oEKwDaBq8AQgNOA9wBDgQVAKEGDQGUAgsCOAZkArwC/wJdA+cECwfPAssF7wXbBeECHgZFAoUAggJsA28E8QDzAxgF2QDaA0wGVAJ7AZ0DvQQAAFEAFQK7ALMDbQD/AYUELwX5BDgAZQFGAZ8AtwaoAXMCUwEAQfiDCQsMIQQAAAAAAAAAAC8CAEGYhAkLBjUERwRWBABBroQJCwKgBABBwoQJCyJGBWAFbgVhBgAAzwEAAAAAAAAAAMkG6Qb5Bh4HOQdJB14HAEHwhAkLkQHRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAABkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEGRhgkLIQ4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgBBy4YJCwEMAEHXhgkLFRMAAAAAEwAAAAAJDAAAAAAADAAADABBhYcJCwEQAEGRhwkLFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBv4cJCwESAEHLhwkLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBgogJCw4aAAAAGhoaAAAAAAAACQBBs4gJCwEUAEG/iAkLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABB7YgJCwEWAEH5iAkLJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBBxIkJCwILAgBB7IkJCwj//////////wBBsIoJC/UI/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNsAAAAA9EcCAA0CAAAOAgAADwIAABACAAARAgAAEgIAABMCAAAUAgAAFQIAABYCAAAXAgAAGAIAABkCAAAaAgAABAAAAAAAAAAwSAIAGwIAABwCAAD8/////P///zBIAgAdAgAAHgIAAFhHAgBsRwIAAAAAAHhIAgAfAgAAIAIAAA8CAAAQAgAAIQIAACICAAATAgAAFAIAABUCAAAjAgAAFwIAACQCAAAZAgAAJQIAAGhzAgDIRwIAjEkCAE5TdDNfXzI5YmFzaWNfaW9zSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAAAAQHMCAPxHAgBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAAAAxHMCAEhIAgAAAAAAAQAAALxHAgAD9P//TlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAaHMCAIRIAgD0RwIATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv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";return u}var uA;function XA(u){if(u==uA&&E)return new Uint8Array(E);var y=f(u);if(y)return y;throw"both async and sync fetching of the wasm failed"}function QA(u){return Promise.resolve().then(()=>XA(u))}function ZA(u,y,x){return QA(u).then(H=>WebAssembly.instantiate(H,y)).then(x,H=>{B(`failed to asynchronously prepare wasm: ${H}`),KA(H)})}function MA(u,y,x,H){return ZA(y,x,H)}function Me(){return{a:Lt}}function LA(){var u=Me();function y(H,k){return st=H.exports,b=st.y,O(),sA(st.z),mA(),st}UA();function x(H){y(H.instance)}return uA??=HA(),MA(E,uA,u,x).catch(o),{}}function pA(u){return i.agerrMessages.push(ke(u)),0}function Ft(u){this.name="ExitStatus",this.message=`Program terminated with exit(${u})`,this.status=u}var ht=u=>{u.forEach(y=>y(i))};function Ee(u,y="i8"){switch(y.endsWith("*")&&(y="*"),y){case"i1":return M[u];case"i8":return M[u];case"i16":return F[u>>1];case"i32":return _[u>>2];case"i64":return j[u>>3];case"float":return J[u>>2];case"double":return $[u>>3];case"*":return U[u>>2];default:KA(`invalid type for getValue: ${y}`)}}var Kt=u=>Oi(u),Je=()=>hn(),ze=typeof TextDecoder<"u"?new TextDecoder:void 0,ut=(u,y=0,x=NaN)=>{for(var H=y+x,k=y;u[k]&&!(k>=H);)++k;if(k-y>16&&u.buffer&&ze)return ze.decode(u.subarray(y,k));for(var T="";y>10,56320|Ae&1023)}}return T},ke=(u,y)=>u?ut(D,u,y):"",ei=(u,y,x,H)=>{KA(`Assertion failed: ${ke(u)}, at: `+[y?ke(y):"unknown filename",x,H?ke(H):"unknown function"])};class Y{constructor(y){this.excPtr=y,this.ptr=y-24}set_type(y){U[this.ptr+4>>2]=y}get_type(){return U[this.ptr+4>>2]}set_destructor(y){U[this.ptr+8>>2]=y}get_destructor(){return U[this.ptr+8>>2]}set_caught(y){y=y?1:0,M[this.ptr+12]=y}get_caught(){return M[this.ptr+12]!=0}set_rethrown(y){y=y?1:0,M[this.ptr+13]=y}get_rethrown(){return M[this.ptr+13]!=0}init(y,x){this.set_adjusted_ptr(0),this.set_type(y),this.set_destructor(x)}set_adjusted_ptr(y){U[this.ptr+16>>2]=y}get_adjusted_ptr(){return U[this.ptr+16>>2]}}var z=0,nA=(u,y,x)=>{var H=new Y(u);throw H.init(y,x),z=u,z},rA={isAbs:u=>u.charAt(0)==="/",splitPath:u=>{var y=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return y.exec(u).slice(1)},normalizeArray:(u,y)=>{for(var x=0,H=u.length-1;H>=0;H--){var k=u[H];k==="."?u.splice(H,1):k===".."?(u.splice(H,1),x++):x&&(u.splice(H,1),x--)}if(y)for(;x;x--)u.unshift("..");return u},normalize:u=>{var y=rA.isAbs(u),x=u.substr(-1)==="/";return u=rA.normalizeArray(u.split("/").filter(H=>!!H),!y).join("/"),!u&&!y&&(u="."),u&&x&&(u+="/"),(y?"/":"")+u},dirname:u=>{var y=rA.splitPath(u),x=y[0],H=y[1];return!x&&!H?".":(H&&(H=H.substr(0,H.length-1)),x+H)},basename:u=>{if(u==="/")return"/";u=rA.normalize(u),u=u.replace(/\/$/,"");var y=u.lastIndexOf("/");return y===-1?u:u.substr(y+1)},join:(...u)=>rA.normalize(u.join("/")),join2:(u,y)=>rA.normalize(u+"/"+y)},NA=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return u=>crypto.getRandomValues(u);KA("initRandomDevice")},Ie=u=>(Ie=NA())(u),Qe={resolve:(...u)=>{for(var y="",x=!1,H=u.length-1;H>=-1&&!x;H--){var k=H>=0?u[H]:L.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";y=k+"/"+y,x=rA.isAbs(k)}return y=rA.normalizeArray(y.split("/").filter(T=>!!T),!x).join("/"),(x?"/":"")+y||"."},relative:(u,y)=>{u=Qe.resolve(u).substr(1),y=Qe.resolve(y).substr(1);function x(Ae){for(var ne=0;ne=0&&Ae[Be]==="";Be--);return ne>Be?[]:Ae.slice(ne,Be-ne+1)}for(var H=x(u.split("/")),k=x(y.split("/")),T=Math.min(H.length,k.length),tA=T,lA=0;lA{for(var y=0,x=0;x=55296&&H<=57343?(y+=4,++x):y+=3}return y},Et=(u,y,x,H)=>{if(!(H>0))return 0;for(var k=x,T=x+H-1,tA=0;tA=55296&&lA<=57343){var wA=u.charCodeAt(++tA);lA=65536+((lA&1023)<<10)|wA&1023}if(lA<=127){if(x>=T)break;y[x++]=lA}else if(lA<=2047){if(x+1>=T)break;y[x++]=192|lA>>6,y[x++]=128|lA&63}else if(lA<=65535){if(x+2>=T)break;y[x++]=224|lA>>12,y[x++]=128|lA>>6&63,y[x++]=128|lA&63}else{if(x+3>=T)break;y[x++]=240|lA>>18,y[x++]=128|lA>>12&63,y[x++]=128|lA>>6&63,y[x++]=128|lA&63}}return y[x]=0,x-k};function et(u,y,x){var H=x>0?x:_A(u)+1,k=new Array(H),T=Et(u,k,0,k.length);return y&&(k.length=T),k}var Ye=()=>{if(!xA.length){var u=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(u=window.prompt("Input: "),u!==null&&(u+=` +`)),!u)return null;xA=et(u,!0)}return xA.shift()},Ge={ttys:[],init(){},shutdown(){},register(u,y){Ge.ttys[u]={input:[],output:[],ops:y},L.registerDevice(u,Ge.stream_ops)},stream_ops:{open(u){var y=Ge.ttys[u.node.rdev];if(!y)throw new L.ErrnoError(43);u.tty=y,u.seekable=!1},close(u){u.tty.ops.fsync(u.tty)},fsync(u){u.tty.ops.fsync(u.tty)},read(u,y,x,H,k){if(!u.tty||!u.tty.ops.get_char)throw new L.ErrnoError(60);for(var T=0,tA=0;tA0&&(d(ut(u.output)),u.output=[])},ioctl_tcgets(u){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(u,y,x){return 0},ioctl_tiocgwinsz(u){return[24,80]}},default_tty1_ops:{put_char(u,y){y===null||y===10?(B(ut(u.output)),u.output=[]):y!=0&&u.output.push(y)},fsync(u){u.output&&u.output.length>0&&(B(ut(u.output)),u.output=[])}}},si=(u,y)=>{D.fill(0,u,u+y)},gn=(u,y)=>Math.ceil(u/y)*y,dn=u=>{u=gn(u,65536);var y=Ni(65536,u);return y&&si(y,u),y},Le={ops_table:null,mount(u){return Le.createNode(null,"/",16895,0)},createNode(u,y,x,H){if(L.isBlkdev(x)||L.isFIFO(x))throw new L.ErrnoError(63);Le.ops_table||={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:L.chrdev_stream_ops}};var k=L.createNode(u,y,x,H);return L.isDir(k.mode)?(k.node_ops=Le.ops_table.dir.node,k.stream_ops=Le.ops_table.dir.stream,k.contents={}):L.isFile(k.mode)?(k.node_ops=Le.ops_table.file.node,k.stream_ops=Le.ops_table.file.stream,k.usedBytes=0,k.contents=null):L.isLink(k.mode)?(k.node_ops=Le.ops_table.link.node,k.stream_ops=Le.ops_table.link.stream):L.isChrdev(k.mode)&&(k.node_ops=Le.ops_table.chrdev.node,k.stream_ops=Le.ops_table.chrdev.stream),k.timestamp=Date.now(),u&&(u.contents[y]=k,u.timestamp=k.timestamp),k},getFileDataAsTypedArray(u){return u.contents?u.contents.subarray?u.contents.subarray(0,u.usedBytes):new Uint8Array(u.contents):new Uint8Array(0)},expandFileStorage(u,y){var x=u.contents?u.contents.length:0;if(!(x>=y)){var H=1024*1024;y=Math.max(y,x*(x>>0),x!=0&&(y=Math.max(y,256));var k=u.contents;u.contents=new Uint8Array(y),u.usedBytes>0&&u.contents.set(k.subarray(0,u.usedBytes),0)}},resizeFileStorage(u,y){if(u.usedBytes!=y)if(y==0)u.contents=null,u.usedBytes=0;else{var x=u.contents;u.contents=new Uint8Array(y),x&&u.contents.set(x.subarray(0,Math.min(y,u.usedBytes))),u.usedBytes=y}},node_ops:{getattr(u){var y={};return y.dev=L.isChrdev(u.mode)?u.id:1,y.ino=u.id,y.mode=u.mode,y.nlink=1,y.uid=0,y.gid=0,y.rdev=u.rdev,L.isDir(u.mode)?y.size=4096:L.isFile(u.mode)?y.size=u.usedBytes:L.isLink(u.mode)?y.size=u.link.length:y.size=0,y.atime=new Date(u.timestamp),y.mtime=new Date(u.timestamp),y.ctime=new Date(u.timestamp),y.blksize=4096,y.blocks=Math.ceil(y.size/y.blksize),y},setattr(u,y){y.mode!==void 0&&(u.mode=y.mode),y.timestamp!==void 0&&(u.timestamp=y.timestamp),y.size!==void 0&&Le.resizeFileStorage(u,y.size)},lookup(u,y){throw L.genericErrors[44]},mknod(u,y,x,H){return Le.createNode(u,y,x,H)},rename(u,y,x){if(L.isDir(u.mode)){var H;try{H=L.lookupNode(y,x)}catch{}if(H)for(var k in H.contents)throw new L.ErrnoError(55)}delete u.parent.contents[u.name],u.parent.timestamp=Date.now(),u.name=x,y.contents[x]=u,y.timestamp=u.parent.timestamp},unlink(u,y){delete u.contents[y],u.timestamp=Date.now()},rmdir(u,y){var x=L.lookupNode(u,y);for(var H in x.contents)throw new L.ErrnoError(55);delete u.contents[y],u.timestamp=Date.now()},readdir(u){var y=[".",".."];for(var x of Object.keys(u.contents))y.push(x);return y},symlink(u,y,x){var H=Le.createNode(u,y,41471,0);return H.link=x,H},readlink(u){if(!L.isLink(u.mode))throw new L.ErrnoError(28);return u.link}},stream_ops:{read(u,y,x,H,k){var T=u.node.contents;if(k>=u.node.usedBytes)return 0;var tA=Math.min(u.node.usedBytes-k,H);if(tA>8&&T.subarray)y.set(T.subarray(k,k+tA),x);else for(var lA=0;lA0||x+y{var k=H?"":`al ${u}`;C(u).then(T=>{y(new Uint8Array(T)),k&&mA()},T=>{if(x)x();else throw`Loading data file "${u}" failed.`}),k&&UA()},Qi=(u,y,x,H,k,T)=>{L.createDataFile(u,y,x,H,k,T)},bi=[],zi=(u,y,x,H)=>{typeof Browser<"u"&&Browser.init();var k=!1;return bi.forEach(T=>{k||T.canHandle(y)&&(T.handle(u,y,x,H),k=!0)}),k},yt=(u,y,x,H,k,T,tA,lA,wA,Ae)=>{var ne=y?Qe.resolve(rA.join2(u,y)):u;function Be(Te){function Se(Ne){Ae?.(),lA||Qi(u,y,Ne,H,k,wA),T?.(),mA()}zi(Te,ne,Se,()=>{tA?.(),mA()})||Se(Te)}UA(),typeof x=="string"?Zi(x,Be,tA):Be(x)},Xi=u=>{var y={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},x=y[u];if(typeof x>"u")throw new Error(`Unknown file open mode: ${u}`);return x},_t=(u,y)=>{var x=0;return u&&(x|=365),y&&(x|=146),x},L={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(u){this.name="ErrnoError",this.errno=u}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(u){this.node=u}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(u){this.shared.flags=u}get position(){return this.shared.position}set position(u){this.shared.position=u}},FSNode:class{constructor(u,y,x,H){u||(u=this),this.parent=u,this.mount=u.mount,this.mounted=null,this.id=L.nextInode++,this.name=y,this.mode=x,this.node_ops={},this.stream_ops={},this.rdev=H,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(u){u?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(u){u?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return L.isDir(this.mode)}get isDevice(){return L.isChrdev(this.mode)}},lookupPath(u,y={}){if(u=Qe.resolve(u),!u)return{path:"",node:null};var x={follow_mount:!0,recurse_count:0};if(y=Object.assign(x,y),y.recurse_count>8)throw new L.ErrnoError(32);for(var H=u.split("/").filter(Be=>!!Be),k=L.root,T="/",tA=0;tA40)throw new L.ErrnoError(32)}}return{path:T,node:k}},getPath(u){for(var y;;){if(L.isRoot(u)){var x=u.mount.mountpoint;return y?x[x.length-1]!=="/"?`${x}/${y}`:x+y:x}y=y?`${u.name}/${y}`:u.name,u=u.parent}},hashName(u,y){for(var x=0,H=0;H>>0)%L.nameTable.length},hashAddNode(u){var y=L.hashName(u.parent.id,u.name);u.name_next=L.nameTable[y],L.nameTable[y]=u},hashRemoveNode(u){var y=L.hashName(u.parent.id,u.name);if(L.nameTable[y]===u)L.nameTable[y]=u.name_next;else for(var x=L.nameTable[y];x;){if(x.name_next===u){x.name_next=u.name_next;break}x=x.name_next}},lookupNode(u,y){var x=L.mayLookup(u);if(x)throw new L.ErrnoError(x);for(var H=L.hashName(u.id,y),k=L.nameTable[H];k;k=k.name_next){var T=k.name;if(k.parent.id===u.id&&T===y)return k}return L.lookup(u,y)},createNode(u,y,x,H){var k=new L.FSNode(u,y,x,H);return L.hashAddNode(k),k},destroyNode(u){L.hashRemoveNode(u)},isRoot(u){return u===u.parent},isMountpoint(u){return!!u.mounted},isFile(u){return(u&61440)===32768},isDir(u){return(u&61440)===16384},isLink(u){return(u&61440)===40960},isChrdev(u){return(u&61440)===8192},isBlkdev(u){return(u&61440)===24576},isFIFO(u){return(u&61440)===4096},isSocket(u){return(u&49152)===49152},flagsToPermissionString(u){var y=["r","w","rw"][u&3];return u&512&&(y+="w"),y},nodePermissions(u,y){return L.ignorePermissions?0:y.includes("r")&&!(u.mode&292)||y.includes("w")&&!(u.mode&146)||y.includes("x")&&!(u.mode&73)?2:0},mayLookup(u){if(!L.isDir(u.mode))return 54;var y=L.nodePermissions(u,"x");return y||(u.node_ops.lookup?0:2)},mayCreate(u,y){try{var x=L.lookupNode(u,y);return 20}catch{}return L.nodePermissions(u,"wx")},mayDelete(u,y,x){var H;try{H=L.lookupNode(u,y)}catch(T){return T.errno}var k=L.nodePermissions(u,"wx");if(k)return k;if(x){if(!L.isDir(H.mode))return 54;if(L.isRoot(H)||L.getPath(H)===L.cwd())return 10}else if(L.isDir(H.mode))return 31;return 0},mayOpen(u,y){return u?L.isLink(u.mode)?32:L.isDir(u.mode)&&(L.flagsToPermissionString(y)!=="r"||y&512)?31:L.nodePermissions(u,L.flagsToPermissionString(y)):44},MAX_OPEN_FDS:4096,nextfd(){for(var u=0;u<=L.MAX_OPEN_FDS;u++)if(!L.streams[u])return u;throw new L.ErrnoError(33)},getStreamChecked(u){var y=L.getStream(u);if(!y)throw new L.ErrnoError(8);return y},getStream:u=>L.streams[u],createStream(u,y=-1){return u=Object.assign(new L.FSStream,u),y==-1&&(y=L.nextfd()),u.fd=y,L.streams[y]=u,u},closeStream(u){L.streams[u]=null},dupStream(u,y=-1){var x=L.createStream(u,y);return x.stream_ops?.dup?.(x),x},chrdev_stream_ops:{open(u){var y=L.getDevice(u.node.rdev);u.stream_ops=y.stream_ops,u.stream_ops.open?.(u)},llseek(){throw new L.ErrnoError(70)}},major:u=>u>>8,minor:u=>u&255,makedev:(u,y)=>u<<8|y,registerDevice(u,y){L.devices[u]={stream_ops:y}},getDevice:u=>L.devices[u],getMounts(u){for(var y=[],x=[u];x.length;){var H=x.pop();y.push(H),x.push(...H.mounts)}return y},syncfs(u,y){typeof u=="function"&&(y=u,u=!1),L.syncFSRequests++,L.syncFSRequests>1&&B(`warning: ${L.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var x=L.getMounts(L.root.mount),H=0;function k(tA){return L.syncFSRequests--,y(tA)}function T(tA){if(tA)return T.errored?void 0:(T.errored=!0,k(tA));++H>=x.length&&k(null)}x.forEach(tA=>{if(!tA.type.syncfs)return T(null);tA.type.syncfs(tA,u,T)})},mount(u,y,x){var H=x==="/",k=!x,T;if(H&&L.root)throw new L.ErrnoError(10);if(!H&&!k){var tA=L.lookupPath(x,{follow_mount:!1});if(x=tA.path,T=tA.node,L.isMountpoint(T))throw new L.ErrnoError(10);if(!L.isDir(T.mode))throw new L.ErrnoError(54)}var lA={type:u,opts:y,mountpoint:x,mounts:[]},wA=u.mount(lA);return wA.mount=lA,lA.root=wA,H?L.root=wA:T&&(T.mounted=lA,T.mount&&T.mount.mounts.push(lA)),wA},unmount(u){var y=L.lookupPath(u,{follow_mount:!1});if(!L.isMountpoint(y.node))throw new L.ErrnoError(28);var x=y.node,H=x.mounted,k=L.getMounts(H);Object.keys(L.nameTable).forEach(tA=>{for(var lA=L.nameTable[tA];lA;){var wA=lA.name_next;k.includes(lA.mount)&&L.destroyNode(lA),lA=wA}}),x.mounted=null;var T=x.mount.mounts.indexOf(H);x.mount.mounts.splice(T,1)},lookup(u,y){return u.node_ops.lookup(u,y)},mknod(u,y,x){var H=L.lookupPath(u,{parent:!0}),k=H.node,T=rA.basename(u);if(!T||T==="."||T==="..")throw new L.ErrnoError(28);var tA=L.mayCreate(k,T);if(tA)throw new L.ErrnoError(tA);if(!k.node_ops.mknod)throw new L.ErrnoError(63);return k.node_ops.mknod(k,T,y,x)},create(u,y){return y=y!==void 0?y:438,y&=4095,y|=32768,L.mknod(u,y,0)},mkdir(u,y){return y=y!==void 0?y:511,y&=1023,y|=16384,L.mknod(u,y,0)},mkdirTree(u,y){for(var x=u.split("/"),H="",k=0;k"u"&&(x=y,y=438),y|=8192,L.mknod(u,y,x)},symlink(u,y){if(!Qe.resolve(u))throw new L.ErrnoError(44);var x=L.lookupPath(y,{parent:!0}),H=x.node;if(!H)throw new L.ErrnoError(44);var k=rA.basename(y),T=L.mayCreate(H,k);if(T)throw new L.ErrnoError(T);if(!H.node_ops.symlink)throw new L.ErrnoError(63);return H.node_ops.symlink(H,k,u)},rename(u,y){var x=rA.dirname(u),H=rA.dirname(y),k=rA.basename(u),T=rA.basename(y),tA,lA,wA;if(tA=L.lookupPath(u,{parent:!0}),lA=tA.node,tA=L.lookupPath(y,{parent:!0}),wA=tA.node,!lA||!wA)throw new L.ErrnoError(44);if(lA.mount!==wA.mount)throw new L.ErrnoError(75);var Ae=L.lookupNode(lA,k),ne=Qe.relative(u,H);if(ne.charAt(0)!==".")throw new L.ErrnoError(28);if(ne=Qe.relative(y,x),ne.charAt(0)!==".")throw new L.ErrnoError(55);var Be;try{Be=L.lookupNode(wA,T)}catch{}if(Ae!==Be){var Te=L.isDir(Ae.mode),Se=L.mayDelete(lA,k,Te);if(Se)throw new L.ErrnoError(Se);if(Se=Be?L.mayDelete(wA,T,Te):L.mayCreate(wA,T),Se)throw new L.ErrnoError(Se);if(!lA.node_ops.rename)throw new L.ErrnoError(63);if(L.isMountpoint(Ae)||Be&&L.isMountpoint(Be))throw new L.ErrnoError(10);if(wA!==lA&&(Se=L.nodePermissions(lA,"w"),Se))throw new L.ErrnoError(Se);L.hashRemoveNode(Ae);try{lA.node_ops.rename(Ae,wA,T),Ae.parent=wA}catch(Ne){throw Ne}finally{L.hashAddNode(Ae)}}},rmdir(u){var y=L.lookupPath(u,{parent:!0}),x=y.node,H=rA.basename(u),k=L.lookupNode(x,H),T=L.mayDelete(x,H,!0);if(T)throw new L.ErrnoError(T);if(!x.node_ops.rmdir)throw new L.ErrnoError(63);if(L.isMountpoint(k))throw new L.ErrnoError(10);x.node_ops.rmdir(x,H),L.destroyNode(k)},readdir(u){var y=L.lookupPath(u,{follow:!0}),x=y.node;if(!x.node_ops.readdir)throw new L.ErrnoError(54);return x.node_ops.readdir(x)},unlink(u){var y=L.lookupPath(u,{parent:!0}),x=y.node;if(!x)throw new L.ErrnoError(44);var H=rA.basename(u),k=L.lookupNode(x,H),T=L.mayDelete(x,H,!1);if(T)throw new L.ErrnoError(T);if(!x.node_ops.unlink)throw new L.ErrnoError(63);if(L.isMountpoint(k))throw new L.ErrnoError(10);x.node_ops.unlink(x,H),L.destroyNode(k)},readlink(u){var y=L.lookupPath(u),x=y.node;if(!x)throw new L.ErrnoError(44);if(!x.node_ops.readlink)throw new L.ErrnoError(28);return Qe.resolve(L.getPath(x.parent),x.node_ops.readlink(x))},stat(u,y){var x=L.lookupPath(u,{follow:!y}),H=x.node;if(!H)throw new L.ErrnoError(44);if(!H.node_ops.getattr)throw new L.ErrnoError(63);return H.node_ops.getattr(H)},lstat(u){return L.stat(u,!0)},chmod(u,y,x){var H;if(typeof u=="string"){var k=L.lookupPath(u,{follow:!x});H=k.node}else H=u;if(!H.node_ops.setattr)throw new L.ErrnoError(63);H.node_ops.setattr(H,{mode:y&4095|H.mode&-4096,timestamp:Date.now()})},lchmod(u,y){L.chmod(u,y,!0)},fchmod(u,y){var x=L.getStreamChecked(u);L.chmod(x.node,y)},chown(u,y,x,H){var k;if(typeof u=="string"){var T=L.lookupPath(u,{follow:!H});k=T.node}else k=u;if(!k.node_ops.setattr)throw new L.ErrnoError(63);k.node_ops.setattr(k,{timestamp:Date.now()})},lchown(u,y,x){L.chown(u,y,x,!0)},fchown(u,y,x){var H=L.getStreamChecked(u);L.chown(H.node,y,x)},truncate(u,y){if(y<0)throw new L.ErrnoError(28);var x;if(typeof u=="string"){var H=L.lookupPath(u,{follow:!0});x=H.node}else x=u;if(!x.node_ops.setattr)throw new L.ErrnoError(63);if(L.isDir(x.mode))throw new L.ErrnoError(31);if(!L.isFile(x.mode))throw new L.ErrnoError(28);var k=L.nodePermissions(x,"w");if(k)throw new L.ErrnoError(k);x.node_ops.setattr(x,{size:y,timestamp:Date.now()})},ftruncate(u,y){var x=L.getStreamChecked(u);if((x.flags&2097155)===0)throw new L.ErrnoError(28);L.truncate(x.node,y)},utime(u,y,x){var H=L.lookupPath(u,{follow:!0}),k=H.node;k.node_ops.setattr(k,{timestamp:Math.max(y,x)})},open(u,y,x){if(u==="")throw new L.ErrnoError(44);y=typeof y=="string"?Xi(y):y,y&64?(x=typeof x>"u"?438:x,x=x&4095|32768):x=0;var H;if(typeof u=="object")H=u;else{u=rA.normalize(u);try{var k=L.lookupPath(u,{follow:!(y&131072)});H=k.node}catch{}}var T=!1;if(y&64)if(H){if(y&128)throw new L.ErrnoError(20)}else H=L.mknod(u,x,0),T=!0;if(!H)throw new L.ErrnoError(44);if(L.isChrdev(H.mode)&&(y&=-513),y&65536&&!L.isDir(H.mode))throw new L.ErrnoError(54);if(!T){var tA=L.mayOpen(H,y);if(tA)throw new L.ErrnoError(tA)}y&512&&!T&&L.truncate(H,0),y&=-131713;var lA=L.createStream({node:H,path:L.getPath(H),flags:y,seekable:!0,position:0,stream_ops:H.stream_ops,ungotten:[],error:!1});return lA.stream_ops.open&&lA.stream_ops.open(lA),lA},close(u){if(L.isClosed(u))throw new L.ErrnoError(8);u.getdents&&(u.getdents=null);try{u.stream_ops.close&&u.stream_ops.close(u)}catch(y){throw y}finally{L.closeStream(u.fd)}u.fd=null},isClosed(u){return u.fd===null},llseek(u,y,x){if(L.isClosed(u))throw new L.ErrnoError(8);if(!u.seekable||!u.stream_ops.llseek)throw new L.ErrnoError(70);if(x!=0&&x!=1&&x!=2)throw new L.ErrnoError(28);return u.position=u.stream_ops.llseek(u,y,x),u.ungotten=[],u.position},read(u,y,x,H,k){if(H<0||k<0)throw new L.ErrnoError(28);if(L.isClosed(u))throw new L.ErrnoError(8);if((u.flags&2097155)===1)throw new L.ErrnoError(8);if(L.isDir(u.node.mode))throw new L.ErrnoError(31);if(!u.stream_ops.read)throw new L.ErrnoError(28);var T=typeof k<"u";if(!T)k=u.position;else if(!u.seekable)throw new L.ErrnoError(70);var tA=u.stream_ops.read(u,y,x,H,k);return T||(u.position+=tA),tA},write(u,y,x,H,k,T){if(H<0||k<0)throw new L.ErrnoError(28);if(L.isClosed(u))throw new L.ErrnoError(8);if((u.flags&2097155)===0)throw new L.ErrnoError(8);if(L.isDir(u.node.mode))throw new L.ErrnoError(31);if(!u.stream_ops.write)throw new L.ErrnoError(28);u.seekable&&u.flags&1024&&L.llseek(u,0,2);var tA=typeof k<"u";if(!tA)k=u.position;else if(!u.seekable)throw new L.ErrnoError(70);var lA=u.stream_ops.write(u,y,x,H,k,T);return tA||(u.position+=lA),lA},allocate(u,y,x){if(L.isClosed(u))throw new L.ErrnoError(8);if(y<0||x<=0)throw new L.ErrnoError(28);if((u.flags&2097155)===0)throw new L.ErrnoError(8);if(!L.isFile(u.node.mode)&&!L.isDir(u.node.mode))throw new L.ErrnoError(43);if(!u.stream_ops.allocate)throw new L.ErrnoError(138);u.stream_ops.allocate(u,y,x)},mmap(u,y,x,H,k){if((H&2)!==0&&(k&2)===0&&(u.flags&2097155)!==2)throw new L.ErrnoError(2);if((u.flags&2097155)===1)throw new L.ErrnoError(2);if(!u.stream_ops.mmap)throw new L.ErrnoError(43);if(!y)throw new L.ErrnoError(28);return u.stream_ops.mmap(u,y,x,H,k)},msync(u,y,x,H,k){return u.stream_ops.msync?u.stream_ops.msync(u,y,x,H,k):0},ioctl(u,y,x){if(!u.stream_ops.ioctl)throw new L.ErrnoError(59);return u.stream_ops.ioctl(u,y,x)},readFile(u,y={}){if(y.flags=y.flags||0,y.encoding=y.encoding||"binary",y.encoding!=="utf8"&&y.encoding!=="binary")throw new Error(`Invalid encoding type "${y.encoding}"`);var x,H=L.open(u,y.flags),k=L.stat(u),T=k.size,tA=new Uint8Array(T);return L.read(H,tA,0,T,0),y.encoding==="utf8"?x=ut(tA):y.encoding==="binary"&&(x=tA),L.close(H),x},writeFile(u,y,x={}){x.flags=x.flags||577;var H=L.open(u,x.flags,x.mode);if(typeof y=="string"){var k=new Uint8Array(_A(y)+1),T=Et(y,k,0,k.length);L.write(H,k,0,T,void 0,x.canOwn)}else if(ArrayBuffer.isView(y))L.write(H,y,0,y.byteLength,void 0,x.canOwn);else throw new Error("Unsupported data type");L.close(H)},cwd:()=>L.currentPath,chdir(u){var y=L.lookupPath(u,{follow:!0});if(y.node===null)throw new L.ErrnoError(44);if(!L.isDir(y.node.mode))throw new L.ErrnoError(54);var x=L.nodePermissions(y.node,"x");if(x)throw new L.ErrnoError(x);L.currentPath=y.path},createDefaultDirectories(){L.mkdir("/tmp"),L.mkdir("/home"),L.mkdir("/home/web_user")},createDefaultDevices(){L.mkdir("/dev"),L.registerDevice(L.makedev(1,3),{read:()=>0,write:(H,k,T,tA,lA)=>tA}),L.mkdev("/dev/null",L.makedev(1,3)),Ge.register(L.makedev(5,0),Ge.default_tty_ops),Ge.register(L.makedev(6,0),Ge.default_tty1_ops),L.mkdev("/dev/tty",L.makedev(5,0)),L.mkdev("/dev/tty1",L.makedev(6,0));var u=new Uint8Array(1024),y=0,x=()=>(y===0&&(y=Ie(u).byteLength),u[--y]);L.createDevice("/dev","random",x),L.createDevice("/dev","urandom",x),L.mkdir("/dev/shm"),L.mkdir("/dev/shm/tmp")},createSpecialDirectories(){L.mkdir("/proc");var u=L.mkdir("/proc/self");L.mkdir("/proc/self/fd"),L.mount({mount(){var y=L.createNode(u,"fd",16895,73);return y.node_ops={lookup(x,H){var k=+H,T=L.getStreamChecked(k),tA={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>T.path}};return tA.parent=tA,tA}},y}},{},"/proc/self/fd")},createStandardStreams(u,y,x){u?L.createDevice("/dev","stdin",u):L.symlink("/dev/tty","/dev/stdin"),y?L.createDevice("/dev","stdout",null,y):L.symlink("/dev/tty","/dev/stdout"),x?L.createDevice("/dev","stderr",null,x):L.symlink("/dev/tty1","/dev/stderr"),L.open("/dev/stdin",0),L.open("/dev/stdout",1),L.open("/dev/stderr",1)},staticInit(){[44].forEach(u=>{L.genericErrors[u]=new L.ErrnoError(u),L.genericErrors[u].stack=""}),L.nameTable=new Array(4096),L.mount(Le,{},"/"),L.createDefaultDirectories(),L.createDefaultDevices(),L.createSpecialDirectories(),L.filesystems={MEMFS:Le}},init(u,y,x){L.initialized=!0,L.createStandardStreams(u,y,x)},quit(){L.initialized=!1;for(var u=0;uthis.length-1||Se<0)){var Ne=Se%this.chunkSize,ni=Se/this.chunkSize|0;return this.getter(ni)[Ne]}}setDataGetter(Se){this.getter=Se}cacheLength(){var Se=new XMLHttpRequest;if(Se.open("HEAD",x,!1),Se.send(null),!(Se.status>=200&&Se.status<300||Se.status===304))throw new Error("Couldn't load "+x+". Status: "+Se.status);var Ne=Number(Se.getResponseHeader("Content-length")),ni,Un=(ni=Se.getResponseHeader("Accept-Ranges"))&&ni==="bytes",q=(ni=Se.getResponseHeader("Content-Encoding"))&&ni==="gzip",fA=1024*1024;Un||(fA=Ne);var PA=(pe,De)=>{if(pe>De)throw new Error("invalid range ("+pe+", "+De+") or no bytes requested!");if(De>Ne-1)throw new Error("only "+Ne+" bytes available! programmer error!");var ot=new XMLHttpRequest;if(ot.open("GET",x,!1),Ne!==fA&&ot.setRequestHeader("Range","bytes="+pe+"-"+De),ot.responseType="arraybuffer",ot.overrideMimeType&&ot.overrideMimeType("text/plain; charset=x-user-defined"),ot.send(null),!(ot.status>=200&&ot.status<300||ot.status===304))throw new Error("Couldn't load "+x+". Status: "+ot.status);return ot.response!==void 0?new Uint8Array(ot.response||[]):et(ot.responseText||"",!0)},Fe=this;Fe.setDataGetter(pe=>{var De=pe*fA,ot=(pe+1)*fA-1;if(ot=Math.min(ot,Ne-1),typeof Fe.chunks[pe]>"u"&&(Fe.chunks[pe]=PA(De,ot)),typeof Fe.chunks[pe]>"u")throw new Error("doXHR failed!");return Fe.chunks[pe]}),(q||!Ne)&&(fA=Ne=1,Ne=this.getter(0).length,fA=Ne,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=Ne,this._chunkSize=fA,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var tA,lA}else var lA={isDevice:!1,url:x};var wA=L.createFile(u,y,lA,H,k);lA.contents?wA.contents=lA.contents:lA.url&&(wA.contents=null,wA.url=lA.url),Object.defineProperties(wA,{usedBytes:{get:function(){return this.contents.length}}});var Ae={},ne=Object.keys(wA.stream_ops);ne.forEach(Te=>{var Se=wA.stream_ops[Te];Ae[Te]=(...Ne)=>(L.forceLoadFile(wA),Se(...Ne))});function Be(Te,Se,Ne,ni,Un){var q=Te.node.contents;if(Un>=q.length)return 0;var fA=Math.min(q.length-Un,ni);if(q.slice)for(var PA=0;PA(L.forceLoadFile(wA),Be(Te,Se,Ne,ni,Un)),Ae.mmap=(Te,Se,Ne,ni,Un)=>{L.forceLoadFile(wA);var q=dn(Se);if(!q)throw new L.ErrnoError(48);return Be(Te,M,q,Se,Ne),{ptr:q,allocated:!0}},wA.stream_ops=Ae,wA}},ct={DEFAULT_POLLMASK:5,calculateAt(u,y,x){if(rA.isAbs(y))return y;var H;if(u===-100)H=L.cwd();else{var k=ct.getStreamFromFD(u);H=k.path}if(y.length==0){if(!x)throw new L.ErrnoError(44);return H}return rA.join2(H,y)},doStat(u,y,x){var H=u(y);_[x>>2]=H.dev,_[x+4>>2]=H.mode,U[x+8>>2]=H.nlink,_[x+12>>2]=H.uid,_[x+16>>2]=H.gid,_[x+20>>2]=H.rdev,j[x+24>>3]=BigInt(H.size),_[x+32>>2]=4096,_[x+36>>2]=H.blocks;var k=H.atime.getTime(),T=H.mtime.getTime(),tA=H.ctime.getTime();return j[x+40>>3]=BigInt(Math.floor(k/1e3)),U[x+48>>2]=k%1e3*1e3*1e3,j[x+56>>3]=BigInt(Math.floor(T/1e3)),U[x+64>>2]=T%1e3*1e3*1e3,j[x+72>>3]=BigInt(Math.floor(tA/1e3)),U[x+80>>2]=tA%1e3*1e3*1e3,j[x+88>>3]=BigInt(H.ino),0},doMsync(u,y,x,H,k){if(!L.isFile(y.node.mode))throw new L.ErrnoError(43);if(H&2)return 0;var T=D.slice(u,u+x);L.msync(y,T,k,x,H)},getStreamFromFD(u){var y=L.getStreamChecked(u);return y},varargs:void 0,getStr(u){var y=ke(u);return y}};function li(u,y,x,H){try{if(y=ct.getStr(y),y=ct.calculateAt(u,y),x&-8)return-28;var k=L.lookupPath(y,{follow:!0}),T=k.node;if(!T)return-44;var tA="";return x&4&&(tA+="r"),x&2&&(tA+="w"),x&1&&(tA+="x"),tA&&L.nodePermissions(T,tA)?-2:0}catch(lA){if(typeof L>"u"||lA.name!=="ErrnoError")throw lA;return-lA.errno}}function Bn(){var u=_[+ct.varargs>>2];return ct.varargs+=4,u}var En=Bn;function qn(u,y,x){ct.varargs=x;try{var H=ct.getStreamFromFD(u);switch(y){case 0:{var k=Bn();if(k<0)return-28;for(;L.streams[k];)k++;var T;return T=L.dupStream(H,k),T.fd}case 1:case 2:return 0;case 3:return H.flags;case 4:{var k=Bn();return H.flags|=k,0}case 12:{var k=En(),tA=0;return F[k+tA>>1]=2,0}case 13:case 14:return 0}return-28}catch(lA){if(typeof L>"u"||lA.name!=="ErrnoError")throw lA;return-lA.errno}}function Uo(u,y){try{var x=ct.getStreamFromFD(u);return ct.doStat(L.stat,x.path,y)}catch(H){if(typeof L>"u"||H.name!=="ErrnoError")throw H;return-H.errno}}function Co(u,y,x){ct.varargs=x;try{var H=ct.getStreamFromFD(u);switch(y){case 21509:return H.tty?0:-59;case 21505:{if(!H.tty)return-59;if(H.tty.ops.ioctl_tcgets){var k=H.tty.ops.ioctl_tcgets(H),T=En();_[T>>2]=k.c_iflag||0,_[T+4>>2]=k.c_oflag||0,_[T+8>>2]=k.c_cflag||0,_[T+12>>2]=k.c_lflag||0;for(var tA=0;tA<32;tA++)M[T+tA+17]=k.c_cc[tA]||0;return 0}return 0}case 21510:case 21511:case 21512:return H.tty?0:-59;case 21506:case 21507:case 21508:{if(!H.tty)return-59;if(H.tty.ops.ioctl_tcsets){for(var T=En(),lA=_[T>>2],wA=_[T+4>>2],Ae=_[T+8>>2],ne=_[T+12>>2],Be=[],tA=0;tA<32;tA++)Be.push(M[T+tA+17]);return H.tty.ops.ioctl_tcsets(H.tty,y,{c_iflag:lA,c_oflag:wA,c_cflag:Ae,c_lflag:ne,c_cc:Be})}return 0}case 21519:{if(!H.tty)return-59;var T=En();return _[T>>2]=0,0}case 21520:return H.tty?-28:-59;case 21531:{var T=En();return L.ioctl(H,y,T)}case 21523:{if(!H.tty)return-59;if(H.tty.ops.ioctl_tiocgwinsz){var Te=H.tty.ops.ioctl_tiocgwinsz(H.tty),T=En();F[T>>1]=Te[0],F[T+2>>1]=Te[1]}return 0}case 21524:return H.tty?0:-59;case 21515:return H.tty?0:-59;default:return-28}}catch(Se){if(typeof L>"u"||Se.name!=="ErrnoError")throw Se;return-Se.errno}}function Mo(u,y,x,H){try{y=ct.getStr(y);var k=H&256,T=H&4096;return H=H&-6401,y=ct.calculateAt(u,y,T),ct.doStat(k?L.lstat:L.stat,y,x)}catch(tA){if(typeof L>"u"||tA.name!=="ErrnoError")throw tA;return-tA.errno}}function Wo(u,y,x,H){ct.varargs=H;try{y=ct.getStr(y),y=ct.calculateAt(u,y);var k=H?Bn():0;return L.open(y,x,k).fd}catch(T){if(typeof L>"u"||T.name!=="ErrnoError")throw T;return-T.errno}}function wo(u,y){try{return u=ct.getStr(u),ct.doStat(L.stat,u,y)}catch(x){if(typeof L>"u"||x.name!=="ErrnoError")throw x;return-x.errno}}var Qa=()=>{KA("")},Zo=u=>u%4===0&&(u%100!==0||u%400===0),ra=[0,31,60,91,121,152,182,213,244,274,305,335],Do=[0,31,59,90,120,151,181,212,243,273,304,334],re=u=>{var y=Zo(u.getFullYear()),x=y?ra:Do,H=x[u.getMonth()]+u.getDate()-1;return H},di=9007199254740992,ln=-9007199254740992,Qn=u=>udi?NaN:Number(u);function Jo(u,y){u=Qn(u);var x=new Date(u*1e3);_[y>>2]=x.getSeconds(),_[y+4>>2]=x.getMinutes(),_[y+8>>2]=x.getHours(),_[y+12>>2]=x.getDate(),_[y+16>>2]=x.getMonth(),_[y+20>>2]=x.getFullYear()-1900,_[y+24>>2]=x.getDay();var H=re(x)|0;_[y+28>>2]=H,_[y+36>>2]=-(x.getTimezoneOffset()*60);var k=new Date(x.getFullYear(),0,1),T=new Date(x.getFullYear(),6,1).getTimezoneOffset(),tA=k.getTimezoneOffset(),lA=(T!=tA&&x.getTimezoneOffset()==Math.min(tA,T))|0;_[y+32>>2]=lA}function ya(u,y,x,H,k,T,tA){k=Qn(k);try{if(isNaN(k))return 61;var lA=ct.getStreamFromFD(H),wA=L.mmap(lA,u,k,y,x),Ae=wA.ptr;return _[T>>2]=wA.allocated,U[tA>>2]=Ae,0}catch(ne){if(typeof L>"u"||ne.name!=="ErrnoError")throw ne;return-ne.errno}}function wi(u,y,x,H,k,T){T=Qn(T);try{var tA=ct.getStreamFromFD(k);x&2&&ct.doMsync(u,tA,y,H,T)}catch(lA){if(typeof L>"u"||lA.name!=="ErrnoError")throw lA;return-lA.errno}}var Io=(u,y,x)=>Et(u,D,y,x),tr=(u,y,x,H)=>{var k=new Date().getFullYear(),T=new Date(k,0,1),tA=new Date(k,6,1),lA=T.getTimezoneOffset(),wA=tA.getTimezoneOffset(),Ae=Math.max(lA,wA);U[u>>2]=Ae*60,_[y>>2]=+(lA!=wA);var ne=Se=>{var Ne=Se>=0?"-":"+",ni=Math.abs(Se),Un=String(Math.floor(ni/60)).padStart(2,"0"),q=String(ni%60).padStart(2,"0");return`UTC${Ne}${Un}${q}`},Be=ne(lA),Te=ne(wA);wADate.now(),Pa=()=>2147483648,Gn=u=>{var y=b.buffer,x=(u-y.byteLength+65535)/65536|0;try{return b.grow(x),O(),1}catch{}},Si=u=>{var y=D.length;u>>>=0;var x=Pa();if(u>x)return!1;for(var H=1;H<=4;H*=2){var k=y*(1+.2/H);k=Math.min(k,u+100663296);var T=Math.min(x,gn(Math.max(u,k),65536)),tA=Gn(T);if(tA)return!0}return!1},Pt={},Sn=()=>s,Bo=()=>{if(!Bo.strings){var u=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",y={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:u,_:Sn()};for(var x in Pt)Pt[x]===void 0?delete y[x]:y[x]=Pt[x];var H=[];for(var x in y)H.push(`${x}=${y[x]}`);Bo.strings=H}return Bo.strings},ko=(u,y)=>{for(var x=0;x{var x=0;return Bo().forEach((H,k)=>{var T=y+x;U[u+k*4>>2]=T,ko(H,T),x+=H.length+1}),0},VA=(u,y)=>{var x=Bo();U[u>>2]=x.length;var H=0;return x.forEach(k=>H+=k.length+1),U[y>>2]=H,0},me=u=>{g(u,new Ft(u))},dA=(u,y)=>{me(u)},SA=dA;function oe(u){try{var y=ct.getStreamFromFD(u);return L.close(y),0}catch(x){if(typeof L>"u"||x.name!=="ErrnoError")throw x;return x.errno}}var xe=(u,y,x,H)=>{for(var k=0,T=0;T>2],lA=U[y+4>>2];y+=8;var wA=L.read(u,M,tA,lA,H);if(wA<0)return-1;if(k+=wA,wA>2]=T,0}catch(tA){if(typeof L>"u"||tA.name!=="ErrnoError")throw tA;return tA.errno}}function rt(u,y,x,H){y=Qn(y);try{if(isNaN(y))return 61;var k=ct.getStreamFromFD(u);return L.llseek(k,y,x),j[H>>3]=BigInt(k.position),k.getdents&&y===0&&x===0&&(k.getdents=null),0}catch(T){if(typeof L>"u"||T.name!=="ErrnoError")throw T;return T.errno}}var bt=(u,y,x,H)=>{for(var k=0,T=0;T>2],lA=U[y+4>>2];y+=8;var wA=L.write(u,M,tA,lA,H);if(wA<0)return-1;if(k+=wA,wA>2]=T,0}catch(tA){if(typeof L>"u"||tA.name!=="ErrnoError")throw tA;return tA.errno}}var xi=u=>{var y=i["_"+u];return y},Ji=(u,y)=>{M.set(u,y)},Vt=u=>Vn(u),Ri=u=>{var y=_A(u)+1,x=Vt(y);return Io(u,x,y),x},va=(u,y,x,H,k)=>{var T={string:Ne=>{var ni=0;return Ne!=null&&Ne!==0&&(ni=Ri(Ne)),ni},array:Ne=>{var ni=Vt(Ne.length);return Ji(Ne,ni),ni}};function tA(Ne){return y==="string"?ke(Ne):y==="boolean"?!!Ne:Ne}var lA=xi(u),wA=[],Ae=0;if(H)for(var ne=0;ne(i._viz_set_y_invert=st.A)(u),i._viz_set_reduce=u=>(i._viz_set_reduce=st.B)(u),i._viz_get_graphviz_version=()=>(i._viz_get_graphviz_version=st.C)(),i._free=u=>(i._free=st.D)(u),i._malloc=u=>(i._malloc=st.E)(u),i._viz_get_plugin_list=u=>(i._viz_get_plugin_list=st.G)(u),i._viz_create_graph=(u,y,x)=>(i._viz_create_graph=st.H)(u,y,x),i._viz_read_one_graph=u=>(i._viz_read_one_graph=st.I)(u),i._viz_string_dup=(u,y)=>(i._viz_string_dup=st.J)(u,y),i._viz_string_dup_html=(u,y)=>(i._viz_string_dup_html=st.K)(u,y),i._viz_string_free=(u,y)=>(i._viz_string_free=st.L)(u,y),i._viz_string_free_html=(u,y)=>(i._viz_string_free_html=st.M)(u,y),i._viz_add_node=(u,y)=>(i._viz_add_node=st.N)(u,y),i._viz_add_edge=(u,y,x)=>(i._viz_add_edge=st.O)(u,y,x),i._viz_add_subgraph=(u,y)=>(i._viz_add_subgraph=st.P)(u,y),i._viz_set_default_graph_attribute=(u,y,x)=>(i._viz_set_default_graph_attribute=st.Q)(u,y,x),i._viz_set_default_node_attribute=(u,y,x)=>(i._viz_set_default_node_attribute=st.R)(u,y,x),i._viz_set_default_edge_attribute=(u,y,x)=>(i._viz_set_default_edge_attribute=st.S)(u,y,x),i._viz_set_attribute=(u,y,x)=>(i._viz_set_attribute=st.T)(u,y,x),i._viz_free_graph=u=>(i._viz_free_graph=st.U)(u),i._viz_create_context=()=>(i._viz_create_context=st.V)(),i._viz_free_context=u=>(i._viz_free_context=st.W)(u),i._viz_layout=(u,y,x)=>(i._viz_layout=st.X)(u,y,x),i._viz_free_layout=(u,y)=>(i._viz_free_layout=st.Y)(u,y),i._viz_reset_errors=()=>(i._viz_reset_errors=st.Z)(),i._viz_render=(u,y,x)=>(i._viz_render=st._)(u,y,x);var Ni=(u,y)=>(Ni=st.$)(u,y),Oi=u=>(Oi=st.aa)(u),Vn=u=>(Vn=st.ba)(u),hn=()=>(hn=st.ca)();i.ccall=va,i.getValue=Ee,i.PATH=rA,i.UTF8ToString=ke,i.stringToUTF8=Io,i.lengthBytesUTF8=_A,i.FS=L;var Mt,sa;YA=function u(){Mt||Yo(),Mt||(YA=u)};function Yo(){if(hA>0||!sa&&(sa=1,iA(),hA>0))return;function u(){Mt||(Mt=1,i.calledRun=1,!S&&(BA(),n(i),oA()))}u()}return Yo(),A=a,A}})(),JgA=[[/^Error: (.*)/,"error"],[/^Warning: (.*)/,"warning"]];function BjA(t){return t.map(e=>{for(let A=0;A{if(typeof A.name!="string")throw new Error("image name must be a string");if(typeof A.width!="number"&&typeof A.width!="string")throw new Error("image width must be a number or string");if(typeof A.height!="number"&&typeof A.height!="string")throw new Error("image height must be a number or string");let i=t.PATH.join("/",A.name),n=` + +`;return t.FS.createPath("/",t.PATH.dirname(i)),t.FS.writeFile(i,n),i}):[]}function ujA(t,e){for(let A of e)t.FS.analyzePath(A).exists&&t.FS.unlink(A)}function fjA(t,e,A){let i;try{let n=t.lengthBytesUTF8(e);return i=t.ccall("malloc","number",["number"],[n+1]),t.stringToUTF8(e,i,n+1),t.ccall("viz_read_one_graph","number",["number"],[i])}finally{i&&t.ccall("free","number",["number"],[i])}}function mjA(t,e,A){let i=t.ccall("viz_create_graph","number",["string","number","number"],[e.name,typeof e.directed<"u"?e.directed:!0,typeof e.strict<"u"?e.strict:!1]);return zgA(t,i,e),i}function zgA(t,e,A){OgA(t,e,A),A.nodes&&A.nodes.forEach(i=>{if(typeof i.name>"u")throw new Error("nodes must have a name");let n=t.ccall("viz_add_node","number",["number","string"],[e,String(i.name)]);i.attributes&&HgA(t,e,n,i.attributes)}),A.edges&&A.edges.forEach(i=>{if(typeof i.tail>"u")throw new Error("edges must have a tail");if(typeof i.head>"u")throw new Error("edges must have a head");let n=t.ccall("viz_add_edge","number",["number","string","string"],[e,String(i.tail),String(i.head)]);i.attributes&&HgA(t,e,n,i.attributes)}),A.subgraphs&&A.subgraphs.forEach(i=>{let n=t.ccall("viz_add_subgraph","number",["number","string"],[e,typeof i.name<"u"?String(i.name):0]);zgA(t,n,i)})}function OgA(t,e,A){if(A.graphAttributes)for(let[i,n]of Object.entries(A.graphAttributes))Eb(t,e,n,o=>{t.ccall("viz_set_default_graph_attribute","number",["number","string","number"],[e,i,o])});if(A.nodeAttributes)for(let[i,n]of Object.entries(A.nodeAttributes))Eb(t,e,n,o=>{t.ccall("viz_set_default_node_attribute","number",["number","string","number"],[e,i,o])});if(A.edgeAttributes)for(let[i,n]of Object.entries(A.edgeAttributes))Eb(t,e,n,o=>{t.ccall("viz_set_default_edge_attribute","number",["number","string","number"],[e,i,o])})}function HgA(t,e,A,i){for(let[n,o]of Object.entries(i))Eb(t,e,o,a=>{t.ccall("viz_set_attribute","number",["number","string","number"],[A,n,a])})}function Eb(t,e,A,i){let n;if(typeof A=="object"&&"html"in A?n=t.ccall("viz_string_dup_html","number",["number","string"],[e,String(A.html)]):n=t.ccall("viz_string_dup","number",["number","string"],[e,String(A)]),n==0)throw new Error("couldn't dup string");i(n),typeof A=="object"&&"html"in A?t.ccall("viz_string_free_html","number",["number","number"],[e,n]):t.ccall("viz_string_free","number",["number","number"],[e,n])}var GK=class{constructor(e){this.module=e}get graphvizVersion(){return QjA(this.module)}get formats(){return YgA(this.module,"device")}get engines(){return YgA(this.module,"layout")}renderFormats(e,A,i={}){return TgA(this.module,e,A,gA({engine:"dot"},i))}render(e,A={}){let i;A.format===void 0?i="dot":i=A.format;let n=TgA(this.module,e,[i],gA({engine:"dot"},A));return n.status==="success"&&(n.output=n.output[i]),n}renderString(e,A={}){let i=this.render(e,A);if(i.status!=="success")throw new Error(i.errors.find(n=>n.level=="error")?.message||"render failed");return i.output}renderSVGElement(e,A={}){let i=this.renderString(e,be(gA({},A),{format:"svg"})),n;return typeof A.trustedTypePolicy<"u"?n=A.trustedTypePolicy.createHTML(i):n=i,new DOMParser().parseFromString(n,"image/svg+xml").documentElement}renderJSON(e,A={}){let i=this.renderString(e,be(gA({},A),{format:"json"}));return JSON.parse(i)}};function PgA(){return djA().then(t=>new GK(t))}var Qb=class t{render(e){return nt(this,null,function*(){let A={format:"svg",engine:"dot"};return(yield PgA()).renderString(e,A)})}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var hb=new yA("AudioPlayingService");var ub=new yA("VideoService");var fb=new yA("WebSocketService");var mb=class t{createMessagePartFromFile(e){return nt(this,null,function*(){return{inlineData:{displayName:e.name,data:yield this.readFileAsBytes(e),mimeType:e.type}}})}readFileAsBytes(e){return new Promise((A,i)=>{let n=new FileReader;n.onload=o=>{let a=o.target.result.split(",")[1];A(a)},n.onerror=i,n.readAsDataURL(e)})}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var pb=class t extends f8{sanitizer=h(w2);windowOpen(e,A,i,n){return e.open(A,i,n)}createObjectUrl(e){return URL.createObjectURL(e)}openBlobUrl(e){let A=this.createObjectUrl(e);return this.windowOpen(window,A,"_blank")}setAnchorHref(e,A){e.href=A}bypassSecurityTrustHtml(e){return this.sanitizer.bypassSecurityTrustHtml(e)}bypassSecurityTrustUrl(e){return this.sanitizer.bypassSecurityTrustUrl(e)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=ui(t)))(i||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var wb=class t{constructor(e){this.http=e}apiServerDomain=zr.getApiServerBaseUrl();createSession(e,A){if(this.apiServerDomain!=null){let i=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.post(i,null)}return new ji}listSessions(e,A){if(this.apiServerDomain!=null){let i=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.get(i).pipe(fe(n=>({items:n,nextPageToken:""})))}return se({items:[],nextPageToken:""})}deleteSession(e,A,i){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}`;return this.http.delete(n)}getSession(e,A,i){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}`;return this.http.get(n)}importSession(e,A,i){if(this.apiServerDomain!=null){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.post(n,{appName:A,userId:e,events:i})}return new ji}canEdit(e,A){return se(!0)}static \u0275fac=function(A){return new(A||t)(So($s))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Db=class t{audioRecordingService=h(sb);videoService=h(ub);webSocketService=h(fb);audioIntervalId=void 0;videoIntervalId=void 0;constructor(){}startAudioChat(n){return nt(this,arguments,function*({appName:e,userId:A,sessionId:i}){let o=window.location.protocol==="https:"?"wss":"ws";this.webSocketService.connect(`${o}://${zr.getWSServerUrl()}/run_live?app_name=${e}&user_id=${A}&session_id=${i}`),yield this.startAudioStreaming()})}stopAudioChat(){this.stopAudioStreaming(),this.webSocketService.closeConnection()}startAudioStreaming(){return nt(this,null,function*(){try{yield this.audioRecordingService.startRecording(),this.audioIntervalId=setInterval(()=>this.sendBufferedAudio(),250)}catch(e){console.error("Error accessing microphone:",e)}})}stopAudioStreaming(){clearInterval(this.audioIntervalId),this.audioIntervalId=void 0,this.audioRecordingService.stopRecording()}sendBufferedAudio(){let e=this.audioRecordingService.getCombinedAudioBuffer();if(!e)return;let A={blob:{mime_type:"audio/pcm",data:e}};this.webSocketService.sendMessage(A),this.audioRecordingService.cleanAudioBuffer()}startVideoChat(o){return nt(this,arguments,function*({appName:e,userId:A,sessionId:i,videoContainer:n}){let a=window.location.protocol==="https:"?"wss":"ws";this.webSocketService.connect(`${a}://${zr.getWSServerUrl()}/run_live?app_name=${e}&user_id=${A}&session_id=${i}`),yield this.startAudioStreaming(),yield this.startVideoStreaming(n)})}stopVideoChat(e){this.stopAudioStreaming(),this.stopVideoStreaming(e),this.webSocketService.closeConnection()}startVideoStreaming(e){return nt(this,null,function*(){try{yield this.videoService.startRecording(e),this.videoIntervalId=setInterval(()=>nt(this,null,function*(){return yield this.sendCapturedFrame()}),1e3)}catch(A){console.error("Error accessing camera:",A)}})}sendCapturedFrame(){return nt(this,null,function*(){let e=yield this.videoService.getCapturedFrame();if(!e)return;let A={blob:{mime_type:"image/jpeg",data:e}};this.webSocketService.sendMessage(A)})}stopVideoStreaming(e){clearInterval(this.videoIntervalId),this.videoIntervalId=void 0,this.videoService.stopRecording(e)}onStreamClose(){return this.webSocketService.onCloseReason()}closeStream(){this.webSocketService.closeConnection()}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var gcA=su(scA());var vb=class t{stc(e){return(0,gcA.default)(e)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var bb=class t{THEME_STORAGE_KEY="adk-theme-preference";currentTheme=jA(this.getInitialTheme());constructor(){La(()=>{this.applyTheme(this.currentTheme())})}getInitialTheme(){let e=window.localStorage.getItem(this.THEME_STORAGE_KEY);return e==="light"||e==="dark"?e:"dark"}applyTheme(e){let A=document.documentElement;A.classList.remove("light-theme","dark-theme"),A.classList.add(`${e}-theme`),A.style.colorScheme=e,window.localStorage.setItem(this.THEME_STORAGE_KEY,e)}toggleTheme(){this.currentTheme.update(e=>e==="light"?"dark":"light")}setTheme(e){this.currentTheme.set(e)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Mb=class t{selectedTraceRowSource=new Tt(void 0);selectedTraceRow$=this.selectedTraceRowSource.asObservable();eventDataSource=new Tt(void 0);eventData$=this.eventDataSource.asObservable();hoveredMessageIndicesSource=new Tt([]);hoveredMessageIndices$=this.hoveredMessageIndicesSource.asObservable();messagesSource=new Tt([]);messages$=this.messagesSource.asObservable();selectedRow(e){this.selectedTraceRowSource.next(e)}setEventData(e){this.eventDataSource.next(e)}setMessages(e){this.messagesSource.next(e)}setHoveredMessages(e,A){if(!e){this.hoveredMessageIndicesSource.next([]);return}let i=e.attributes,n=i&&i["gcp.vertex.agent.event_id"],o=[];for(let[a,r]of this.messagesSource.value.entries())r.role!=="user"&&this.eventDataSource.value?.get(r.eventId)?.invocationId===A&&(!n||i["gcp.vertex.agent.event_id"]===r.eventId)&&o.push(a);this.hoveredMessageIndicesSource.next(o)}resetTraceService(){this.eventDataSource.next(void 0),this.messagesSource.next([]),this.hoveredMessageIndicesSource.next([])}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var kb=class t{_isSessionLoading=new Tt(!1);_isSessionListLoading=new Tt(!1);_isEventRequestResponseLoading=new Tt(!1);_isMessagesLoading=new Tt(!1);_newMessagesLoadedResponse=new $A;_newMessagesLoadingFailedResponse=new $A;featureFlagService=h(vr);isSessionLoading(){return this._isSessionLoading.pipe(h2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),js({bufferSize:1,refCount:!0}))}setIsSessionLoading(e){this._isSessionLoading.next(e)}isSessionListLoading(){return this._isSessionListLoading.pipe(h2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),js({bufferSize:1,refCount:!0}))}setIsSessionListLoading(e){this._isSessionListLoading.next(e)}isEventRequestResponseLoading(){return this._isEventRequestResponseLoading.pipe(h2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),js({bufferSize:1,refCount:!0}))}setIsEventRequestResponseLoading(e){this._isEventRequestResponseLoading.next(e)}setIsMessagesLoading(e){this._isMessagesLoading.next(e)}isMessagesLoading(){return this._isMessagesLoading.pipe(h2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),js({bufferSize:1,refCount:!0}))}lazyLoadMessages(e,A,i){throw new Error("Not implemented")}onNewMessagesLoaded(){return this._newMessagesLoadedResponse}onNewMessagesLoadingFailed(){return this._newMessagesLoadingFailedResponse}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Sb=class t{mediaRecorder;stream;renderer;videoElement;videoBuffer=[];constructor(e){this.renderer=e.createRenderer(null,null)}createVideoElement(e){e?.nativeElement&&(this.clearVideoElement(e),this.videoElement=this.renderer.createElement("video"),this.renderer.setAttribute(this.videoElement,"width","400"),this.renderer.setAttribute(this.videoElement,"height","300"),this.renderer.setAttribute(this.videoElement,"autoplay","true"),this.renderer.setAttribute(this.videoElement,"muted","true"),this.renderer.appendChild(e.nativeElement,this.videoElement))}startRecording(e){return nt(this,null,function*(){this.createVideoElement(e);try{this.stream=yield navigator.mediaDevices.getUserMedia({video:!0}),this.videoElement&&(this.videoElement.srcObject=this.stream),this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:"video/webm"}),this.mediaRecorder.start(1e3)}catch(A){console.error("Error accessing camera/microphone:",A)}})}getCapturedFrame(){return nt(this,null,function*(){try{let e=yield this.captureFrame();return this.blobToUint8Array(e)}catch(e){console.error("Error capturing frame:",e);return}})}blobToUint8Array(e){return nt(this,null,function*(){let A=yield e.arrayBuffer();return new Uint8Array(A)})}captureFrame(){return nt(this,null,function*(){return new Promise((e,A)=>{try{if(!this.videoElement){A(new Error("Video element not available"));return}let i=document.createElement("canvas");i.width=this.videoElement.videoWidth,i.height=this.videoElement.videoHeight;let n=i.getContext("2d");if(!n){A(new Error("Canvas context not supported"));return}n.drawImage(this.videoElement,0,0,i.width,i.height),i.toBlob(o=>{o?e(o):A(new Error("Failed to create image blob"))},"image/png")}catch(i){A(i)}})})}stopRecording(e){this.mediaRecorder&&this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(A=>A.stop()),this.clearVideoElement(e)}clearVideoElement(e){let A=e.nativeElement.querySelector("video");A&&this.renderer.removeChild(e.nativeElement,A)}static \u0275fac=function(A){return new(A||t)(So(Kr))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var vVA={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)},bVA="WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }",Pm=class t extends iU{constructor(e,A){if(super(),this._socket=null,e instanceof ji)this.destination=A,this.source=e;else{let i=this._config=Object.assign({},vVA);if(this._output=new $A,typeof e=="string")i.url=e;else for(let n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new Pl}}lift(e){let A=new t(this._config,this.destination);return A.operator=e,A.source=this,A}_resetState(){this._socket=null,this.source||(this.destination=new Pl),this._output=new $A}multiplex(e,A,i){let n=this;return new ji(o=>{try{n.next(e())}catch(r){o.error(r)}let a=n.subscribe({next:r=>{try{i(r)&&o.next(r)}catch(s){o.error(s)}},error:r=>o.error(r),complete:()=>o.complete()});return()=>{try{n.next(A())}catch(r){o.error(r)}a.unsubscribe()}})}_connectSocket(){let{WebSocketCtor:e,protocol:A,url:i,binaryType:n}=this._config,o=this._output,a=null;try{a=A?new e(i,A):new e(i),this._socket=a,n&&(this._socket.binaryType=n)}catch(s){o.error(s);return}let r=new Jn(()=>{this._socket=null,a&&a.readyState===1&&a.close()});a.onopen=s=>{let{_socket:g}=this;if(!g){a.close(),this._resetState();return}let{openObserver:l}=this._config;l&&l.next(s);let C=this.destination;this.destination=AU.create(I=>{if(a.readyState===1)try{let{serializer:d}=this._config;a.send(d(I))}catch(d){this.destination.error(d)}},I=>{let{closingObserver:d}=this._config;d&&d.next(void 0),I&&I.code?a.close(I.code,I.reason):o.error(new TypeError(bVA)),this._resetState()},()=>{let{closingObserver:I}=this._config;I&&I.next(void 0),a.close(),this._resetState()}),C&&C instanceof Pl&&r.add(C.subscribe(this.destination))},a.onerror=s=>{this._resetState(),o.error(s)},a.onclose=s=>{a===this._socket&&this._resetState();let{closeObserver:g}=this._config;g&&g.next(s),s.wasClean?o.complete():o.error(s)},a.onmessage=s=>{try{let{deserializer:g}=this._config;o.next(g(s))}catch(g){o.error(g)}}}_subscribe(e){let{source:A}=this;return A?A.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(()=>{let{_socket:i}=this;this._output.observers.length===0&&(i&&(i.readyState===1||i.readyState===0)&&i.close(),this._resetState())}),e)}unsubscribe(){let{_socket:e}=this;e&&(e.readyState===1||e.readyState===0)&&e.close(),this._resetState(),super.unsubscribe()}};var xb=class t{audioPlayingService=h(hb);socket$;messages$=new Tt("");audioBuffer=[];audioIntervalId=null;closeReasonSubject=new $A;connect(e){this.socket$=new Pm({url:e,serializer:A=>JSON.stringify(A),deserializer:A=>A.data,closeObserver:{next:A=>{this.emitWsCloseReason(A.reason)}}}),this.socket$.subscribe(A=>{this.handleIncomingAudio(A),this.messages$.next(A)},A=>{console.error("WebSocket error:",A)}),this.audioIntervalId=setInterval(()=>this.playIncomingAudio(),250)}playIncomingAudio(){this.audioPlayingService.playAudio(this.audioBuffer),this.audioBuffer=[]}sendMessage(e){if(e.blob.data=this.arrayBufferToBase64(e.blob.data.buffer),!this.socket$||this.socket$.closed){console.error("WebSocket is not open.");return}this.socket$.next(e)}closeConnection(){clearInterval(this.audioIntervalId),this.audioIntervalId=null,this.socket$&&this.socket$.complete()}getMessages(){return this.messages$.asObservable()}arrayBufferToBase64(e){let A="",i=new Uint8Array(e),n=i.byteLength;for(let o=0;ot.json()).then(t=>{window.runtimeConfig=t,_U(Au,{providers:[cU(LU,Nn,GU,eb,rl,Yr,Fs),{provide:dl,useClass:wb},{provide:sg,useClass:Kh},{provide:R7,useClass:Bb},{provide:fb,useClass:xb},{provide:gb,useValue:"./assets/audio-processor.js"},{provide:sb,useClass:lb},{provide:hb,useClass:rb},{provide:ub,useClass:Sb},{provide:m8,useClass:Db},{provide:CE,useClass:Ib},{provide:Q0,useClass:Cb},{provide:h8,useClass:ab},{provide:cE,useClass:cb},{provide:T2,useClass:Mb},{provide:vr,useClass:db},{provide:IE,useClass:Qb},{provide:dE,useClass:vb},{provide:ds,useClass:pb},{provide:u8,useClass:mb},{provide:UU,useValue:TU},{provide:YU,useValue:NgA},{provide:Gh,useValue:nb},...t.logo?[{provide:q7,useValue:ib}]:[],{provide:E0,useClass:ob},{provide:P7,useValue:Xc},hT(),$u(),{provide:p8,useClass:n0},{provide:Bl,useClass:kb},{provide:Nv,useClass:bb}]}).catch(e=>console.error(e))}); diff --git a/src/google/adk/cli/browser/main-QQBY56NS.js b/src/google/adk/cli/browser/main-QQBY56NS.js deleted file mode 100644 index 1f105b547a..0000000000 --- a/src/google/adk/cli/browser/main-QQBY56NS.js +++ /dev/null @@ -1,4134 +0,0 @@ -import{$ as f2,$a as rp,$b as qA,$c as sC,A as i0,Aa as Ga,Ab as GA,Ac as jo,B as $m,Ba as la,Bb as li,Bc as rt,C as nl,Ca as ti,Cb as Ei,Cc as ca,D as Ap,Da as Bi,Db as Di,Dc as xU,E as fi,Ea as ge,Eb as js,Ec as rC,F as gU,Fa as ol,Fb as qs,Fc as Dt,G as Ze,Ga as ip,Gb as on,Gc as y1,H as lU,Ha as np,Hb as JA,Hc as he,I as m1,Ia as p1,Ib as vo,Ic as en,J as ta,Ja as QU,Jb as tA,Jc as RU,K as lu,Ka as hU,Kb as p2,Kc as Ip,L as Os,La as Wl,Lb as v,Lc as NU,M as oo,Ma as al,Mb as Yt,Mc as Ob,N as cu,Na as Ka,Nb as Ke,Nc as FU,O as Vl,Oa as m2,Ob as fa,Oc as Pb,P as ep,Pa as nC,Pb as ai,Pc as _U,Q as zo,Qa as p,Qb as ce,Qc as o0,R as Yb,Ra as op,Rb as Ce,Rc as LU,S as h2,Sa as Yn,Sb as Cp,Sc as gs,T as u2,Ta as Tn,Tb as rs,Tc as D2,U as Ps,Ua as Kr,Ub as Dr,Uc as DB,V as Fg,Va as _i,Vb as An,Vc as rl,W as cn,Wa as at,Wb as wn,Wc as dp,X as Si,Xa as ap,Xb as ne,Xc as sl,Y as Bt,Ya as Oo,Yb as pU,Yc as ls,Z as cU,Za as Hb,Zb as Po,Zc as Bp,_ as oi,_a as uU,_b as K,_c as ma,a as Jn,aa as kt,ab as kA,ac as Se,ad as jb,b as iU,ba as CU,bb as $e,bc as n0,bd as Zs,c as nU,ca as wr,cb as OA,cc as wU,cd as GU,d as $i,da as zA,db as sp,dc as Qo,dd as KU,e as oU,ea as Xe,eb as It,ec as ao,ed as UU,f as XA,fa as IU,fb as pt,fc as ho,fd as Xs,g as aU,ga as yA,gb as gp,gc as Ur,gd as JU,h as Ht,ha as xo,hb as fU,hc as _g,hd as YU,i as ql,ia as h,ib as w1,ic as Vs,id as $s,j as Ub,ja as dU,jb as lp,jc as D1,jd as TU,k as Wm,ka as Gr,kb as zb,kc as DU,kd as HU,l as uB,la as or,lb as mU,lc as dt,ld as zU,m as ja,ma as BU,mb as oC,mc as Cu,n as gu,na as Z,nb as cp,nc as ss,o as fB,oa as X,ob as ie,oc as Zl,od as OU,p as Ms,pa as Qt,pb as pB,pc as ri,pd as PU,q as se,qa as as,qb as V,qc as Ci,r as Zm,ra as ft,rb as aC,rc as yU,s as mB,sa as Xt,sb as W,sc as w2,t as rU,ta as qa,tb as wB,tc as vU,u as sU,ua as EU,ub as Li,uc as bU,v as fe,va as $A,vb as Ut,vc as Ue,w as Ir,wa as Oe,wb as Jt,wc as MU,x as t0,xa as tp,xb as $,xc as kU,y as Jb,ya as Tb,yb as m,yc as Ws,z as Xm,za as jA,zb as w,zc as SU}from"./chunk-BX7YU7E6.js";import{a as cA,b as Ge,c as tU,d as qe,f as su,g as nt,h as le}from"./chunk-W7GRJBO5.js";var jO=qe(aS=>{"use strict";var PO={b:"\b",f:"\f",n:` -`,r:"\r",t:" ",'"':'"',"/":"/","\\":"\\"},ZEA=97;aS.parse=function(t,e,A){var i={},n=0,o=0,a=0,r=A&&A.bigint&&typeof BigInt<"u";return{data:s("",!0),pointers:i};function s(J,j){g();var AA;S(J,"value");var O=E();switch(O){case"t":B("rue"),AA=!0;break;case"f":B("alse"),AA=!1;break;case"n":B("ull"),AA=null;break;case'"':AA=l();break;case"[":AA=I(J);break;case"{":AA=d(J);break;default:Q(),"-0123456789".indexOf(O)>=0?AA=C():F()}return S(J,"valueEnd"),g(),j&&aNumber.MAX_SAFE_INTEGER||AA="a"&&AA<="f"?j+=AA.charCodeAt()-ZEA+10:AA>="0"&&AA<="9"?j+=+AA:_()}return String.fromCharCode(j)}function b(){for(var J="";t[a]>="0"&&t[a]<="9";)J+=E();if(J.length)return J;U(),F()}function S(J,j){M(J,j,D())}function M(J,j,AA){i[J]=i[J]||{},i[J][j]=AA}function D(){return{line:n,column:o,pos:a}}function F(){throw new SyntaxError("Unexpected token "+t[a]+" in JSON at position "+a)}function _(){Q(),F()}function U(){if(a>=t.length)throw new SyntaxError("Unexpected end of JSON input")}};aS.stringify=function(t,e,A){if(!Cw(t))return;var i=0,n,o,a=typeof A=="object"?A.space:A;switch(typeof a){case"number":var r=a>10?10:a<0?0:Math.floor(a);a=r&&M(r," "),n=r,o=r;break;case"string":a=a.slice(0,10),n=0,o=0;for(var s=0;s=0}var $EA=/"|\\/g,AQA=/[\b]/g,eQA=/\f/g,tQA=/\n/g,iQA=/\r/g,nQA=/\t/g;function Iw(t){return t=t.replace($EA,"\\$&").replace(eQA,"\\f").replace(AQA,"\\b").replace(tQA,"\\n").replace(iQA,"\\r").replace(nQA,"\\t"),'"'+t+'"'}var oQA=/~/g,aQA=/\//g;function oS(t){return t.replace(oQA,"~0").replace(aQA,"~1")}});var BV=qe((Zpe,dV)=>{"use strict";var IV=function(t,e){var A,i,n=1,o=0,a=0,r=String.alphabet;function s(g,l,C){if(C){for(A=l;C=s(g,A),C<76&&C>65;)++A;return+g.slice(l-1,A)}return C=r&&r.indexOf(g.charAt(l)),C>-1?C+76:(C=g.charCodeAt(l)||0,C<45||C>127?C:C<46?65:C<48?C-1:C<58?C+18:C<65?C-11:C<91?C+11:C<97?C-37:C<123?C+5:C-63)}if((t+="")!=(e+="")){for(;n;)if(i=s(t,o++),n=s(e,a++),i<76&&n<76&&i>66&&n>66&&(i=s(t,o,o),n=s(e,a,o=A),a=A),i!=n)return i{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.regexpCode=zn.getEsmExportName=zn.getProperty=zn.safeStringify=zn.stringify=zn.strConcat=zn.addCodeArg=zn.str=zn._=zn.nil=zn._Code=zn.Name=zn.IDENTIFIER=zn._CodeOrName=void 0;var d3=class{};zn._CodeOrName=d3;zn.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var rd=class extends d3{constructor(e){if(super(),!zn.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};zn.Name=rd;var yl=class extends d3{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((A,i)=>`${A}${i}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((A,i)=>(i instanceof rd&&(A[i.str]=(A[i.str]||0)+1),A),{})}};zn._Code=yl;zn.nil=new yl("");function QV(t,...e){let A=[t[0]],i=0;for(;i{"use strict";Object.defineProperty(dg,"__esModule",{value:!0});dg.ValueScope=dg.ValueScopeName=dg.Scope=dg.varKinds=dg.UsedValueState=void 0;var Ig=E3(),OS=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},A5=(function(t){return t[t.Started=0]="Started",t[t.Completed=1]="Completed",t})(A5||(dg.UsedValueState=A5={}));dg.varKinds={const:new Ig.Name("const"),let:new Ig.Name("let"),var:new Ig.Name("var")};var e5=class{constructor({prefixes:e,parent:A}={}){this._names={},this._prefixes=e,this._parent=A}toName(e){return e instanceof Ig.Name?e:this.name(e)}name(e){return new Ig.Name(this._newName(e))}_newName(e){let A=this._names[e]||this._nameGroup(e);return`${e}${A.index++}`}_nameGroup(e){var A,i;if(!((i=(A=this._parent)===null||A===void 0?void 0:A._prefixes)===null||i===void 0)&&i.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};dg.Scope=e5;var t5=class extends Ig.Name{constructor(e,A){super(A),this.prefix=e}setValue(e,{property:A,itemIndex:i}){this.value=e,this.scopePath=(0,Ig._)`.${new Ig.Name(A)}[${i}]`}};dg.ValueScopeName=t5;var n6A=(0,Ig._)`\n`,PS=class extends e5{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts=Ge(cA({},e),{_n:e.lines?n6A:Ig.nil})}get(){return this._scope}name(e){return new t5(e,this._newName(e))}value(e,A){var i;if(A.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(e),{prefix:o}=n,a=(i=A.key)!==null&&i!==void 0?i:A.ref,r=this._values[o];if(r){let l=r.get(a);if(l)return l}else r=this._values[o]=new Map;r.set(a,n);let s=this._scope[o]||(this._scope[o]=[]),g=s.length;return s[g]=A.ref,n.setValue(A,{property:o,itemIndex:g}),n}getValue(e,A){let i=this._values[e];if(i)return i.get(A)}scopeRefs(e,A=this._values){return this._reduceValues(A,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,Ig._)`${e}${i.scopePath}`})}scopeCode(e=this._values,A,i){return this._reduceValues(e,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},A,i)}_reduceValues(e,A,i={},n){let o=Ig.nil;for(let a in e){let r=e[a];if(!r)continue;let s=i[a]=i[a]||new Map;r.forEach(g=>{if(s.has(g))return;s.set(g,A5.Started);let l=A(g);if(l){let C=this.opts.es5?dg.varKinds.var:dg.varKinds.const;o=(0,Ig._)`${o}${C} ${g} = ${l};${this.opts._n}`}else if(l=n?.(g))o=(0,Ig._)`${o}${l}${this.opts._n}`;else throw new OS(g);s.set(g,A5.Completed)})}return o}};dg.ValueScope=PS});var rn=qe(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.or=nn.and=nn.not=nn.CodeGen=nn.operators=nn.varKinds=nn.ValueScopeName=nn.ValueScope=nn.Scope=nn.Name=nn.regexpCode=nn.stringify=nn.getProperty=nn.nil=nn.strConcat=nn.str=nn._=void 0;var vn=E3(),wc=jS(),EI=E3();Object.defineProperty(nn,"_",{enumerable:!0,get:function(){return EI._}});Object.defineProperty(nn,"str",{enumerable:!0,get:function(){return EI.str}});Object.defineProperty(nn,"strConcat",{enumerable:!0,get:function(){return EI.strConcat}});Object.defineProperty(nn,"nil",{enumerable:!0,get:function(){return EI.nil}});Object.defineProperty(nn,"getProperty",{enumerable:!0,get:function(){return EI.getProperty}});Object.defineProperty(nn,"stringify",{enumerable:!0,get:function(){return EI.stringify}});Object.defineProperty(nn,"regexpCode",{enumerable:!0,get:function(){return EI.regexpCode}});Object.defineProperty(nn,"Name",{enumerable:!0,get:function(){return EI.Name}});var r5=jS();Object.defineProperty(nn,"Scope",{enumerable:!0,get:function(){return r5.Scope}});Object.defineProperty(nn,"ValueScope",{enumerable:!0,get:function(){return r5.ValueScope}});Object.defineProperty(nn,"ValueScopeName",{enumerable:!0,get:function(){return r5.ValueScopeName}});Object.defineProperty(nn,"varKinds",{enumerable:!0,get:function(){return r5.varKinds}});nn.operators={GT:new vn._Code(">"),GTE:new vn._Code(">="),LT:new vn._Code("<"),LTE:new vn._Code("<="),EQ:new vn._Code("==="),NEQ:new vn._Code("!=="),NOT:new vn._Code("!"),OR:new vn._Code("||"),AND:new vn._Code("&&"),ADD:new vn._Code("+")};var RC=class{optimizeNodes(){return this}optimizeNames(e,A){return this}},qS=class extends RC{constructor(e,A,i){super(),this.varKind=e,this.name=A,this.rhs=i}render({es5:e,_n:A}){let i=e?wc.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+A}optimizeNames(e,A){if(e[this.name.str])return this.rhs&&(this.rhs=XE(this.rhs,e,A)),this}get names(){return this.rhs instanceof vn._CodeOrName?this.rhs.names:{}}},n5=class extends RC{constructor(e,A,i){super(),this.lhs=e,this.rhs=A,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,A){if(!(this.lhs instanceof vn.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=XE(this.rhs,e,A),this}get names(){let e=this.lhs instanceof vn.Name?{}:cA({},this.lhs.names);return a5(e,this.rhs)}},VS=class extends n5{constructor(e,A,i,n){super(e,i,n),this.op=A}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},WS=class extends RC{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},ZS=class extends RC{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},XS=class extends RC{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},$S=class extends RC{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,A){return this.code=XE(this.code,e,A),this}get names(){return this.code instanceof vn._CodeOrName?this.code.names:{}}},Q3=class extends RC{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((A,i)=>A+i.render(e),"")}optimizeNodes(){let{nodes:e}=this,A=e.length;for(;A--;){let i=e[A].optimizeNodes();Array.isArray(i)?e.splice(A,1,...i):i?e[A]=i:e.splice(A,1)}return e.length>0?this:void 0}optimizeNames(e,A){let{nodes:i}=this,n=i.length;for(;n--;){let o=i[n];o.optimizeNames(e,A)||(o6A(e,o.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((e,A)=>sd(e,A.names),{})}},NC=class extends Q3{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ax=class extends Q3{},ex=(()=>{class t extends NC{}return t.kind="else",t})(),i5=(()=>{class t extends NC{constructor(A,i){super(i),this.condition=A}render(A){let i=`if(${this.condition})`+super.render(A);return this.else&&(i+="else "+this.else.render(A)),i}optimizeNodes(){super.optimizeNodes();let A=this.condition;if(A===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new ex(n):n}if(i)return A===!1?i instanceof t?i:i.nodes:this.nodes.length?this:new t(wV(A),i instanceof t?[i]:i.nodes);if(!(A===!1||!this.nodes.length))return this}optimizeNames(A,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(A,i),!!(super.optimizeNames(A,i)||this.else))return this.condition=XE(this.condition,A,i),this}get names(){let A=super.names;return a5(A,this.condition),this.else&&sd(A,this.else.names),A}}return t.kind="if",t})(),s5=(()=>{class t extends NC{}return t.kind="for",t})(),tx=class extends s5{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,A){if(super.optimizeNames(e,A))return this.iteration=XE(this.iteration,e,A),this}get names(){return sd(super.names,this.iteration.names)}},ix=class extends s5{constructor(e,A,i,n){super(),this.varKind=e,this.name=A,this.from=i,this.to=n}render(e){let A=e.es5?wc.varKinds.var:this.varKind,{name:i,from:n,to:o}=this;return`for(${A} ${i}=${n}; ${i}<${o}; ${i}++)`+super.render(e)}get names(){let e=a5(super.names,this.from);return a5(e,this.to)}},o5=class extends s5{constructor(e,A,i,n){super(),this.loop=e,this.varKind=A,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,A){if(super.optimizeNames(e,A))return this.iterable=XE(this.iterable,e,A),this}get names(){return sd(super.names,this.iterable.names)}},uV=(()=>{class t extends NC{constructor(A,i,n){super(),this.name=A,this.args=i,this.async=n}render(A){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(A)}}return t.kind="func",t})(),fV=(()=>{class t extends Q3{render(A){return"return "+super.render(A)}}return t.kind="return",t})(),nx=class extends NC{render(e){let A="try"+super.render(e);return this.catch&&(A+=this.catch.render(e)),this.finally&&(A+=this.finally.render(e)),A}optimizeNodes(){var e,A;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(A=this.finally)===null||A===void 0||A.optimizeNodes(),this}optimizeNames(e,A){var i,n;return super.optimizeNames(e,A),(i=this.catch)===null||i===void 0||i.optimizeNames(e,A),(n=this.finally)===null||n===void 0||n.optimizeNames(e,A),this}get names(){let e=super.names;return this.catch&&sd(e,this.catch.names),this.finally&&sd(e,this.finally.names),e}},mV=(()=>{class t extends NC{constructor(A){super(),this.error=A}render(A){return`catch(${this.error})`+super.render(A)}}return t.kind="catch",t})(),pV=(()=>{class t extends NC{render(A){return"finally"+super.render(A)}}return t.kind="finally",t})(),ox=class{constructor(e,A={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Ge(cA({},A),{_n:A.lines?` -`:""}),this._extScope=e,this._scope=new wc.Scope({parent:e}),this._nodes=[new Ax]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,A){let i=this._extScope.value(e,A);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,A){return this._extScope.getValue(e,A)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,A,i,n){let o=this._scope.toName(A);return i!==void 0&&n&&(this._constants[o.str]=i),this._leafNode(new qS(e,o,i)),o}const(e,A,i){return this._def(wc.varKinds.const,e,A,i)}let(e,A,i){return this._def(wc.varKinds.let,e,A,i)}var(e,A,i){return this._def(wc.varKinds.var,e,A,i)}assign(e,A,i){return this._leafNode(new n5(e,A,i))}add(e,A){return this._leafNode(new VS(e,nn.operators.ADD,A))}code(e){return typeof e=="function"?e():e!==vn.nil&&this._leafNode(new $S(e)),this}object(...e){let A=["{"];for(let[i,n]of e)A.length>1&&A.push(","),A.push(i),(i!==n||this.opts.es5)&&(A.push(":"),(0,vn.addCodeArg)(A,n));return A.push("}"),new vn._Code(A)}if(e,A,i){if(this._blockNode(new i5(e)),A&&i)this.code(A).else().code(i).endIf();else if(A)this.code(A).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new i5(e))}else(){return this._elseNode(new ex)}endIf(){return this._endBlockNode(i5,ex)}_for(e,A){return this._blockNode(e),A&&this.code(A).endFor(),this}for(e,A){return this._for(new tx(e),A)}forRange(e,A,i,n,o=this.opts.es5?wc.varKinds.var:wc.varKinds.let){let a=this._scope.toName(e);return this._for(new ix(o,a,A,i),()=>n(a))}forOf(e,A,i,n=wc.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let a=A instanceof vn.Name?A:this.var("_arr",A);return this.forRange("_i",0,(0,vn._)`${a}.length`,r=>{this.var(o,(0,vn._)`${a}[${r}]`),i(o)})}return this._for(new o5("of",n,o,A),()=>i(o))}forIn(e,A,i,n=this.opts.es5?wc.varKinds.var:wc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,vn._)`Object.keys(${A})`,i);let o=this._scope.toName(e);return this._for(new o5("in",n,o,A),()=>i(o))}endFor(){return this._endBlockNode(s5)}label(e){return this._leafNode(new WS(e))}break(e){return this._leafNode(new ZS(e))}return(e){let A=new fV;if(this._blockNode(A),this.code(e),A.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(fV)}try(e,A,i){if(!A&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new nx;if(this._blockNode(n),this.code(e),A){let o=this.name("e");this._currNode=n.catch=new mV(o),A(o)}return i&&(this._currNode=n.finally=new pV,this.code(i)),this._endBlockNode(mV,pV)}throw(e){return this._leafNode(new XS(e))}block(e,A){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(A),this}endBlock(e){let A=this._blockStarts.pop();if(A===void 0)throw new Error("CodeGen: not in self-balancing block");let i=this._nodes.length-A;if(i<0||e!==void 0&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=A,this}func(e,A=vn.nil,i,n){return this._blockNode(new uV(e,A,i)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(uV)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,A){let i=this._currNode;if(i instanceof e||A&&i instanceof A)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${A?`${e.kind}/${A.kind}`:e.kind}"`)}_elseNode(e){let A=this._currNode;if(!(A instanceof i5))throw new Error('CodeGen: "else" without "if"');return this._currNode=A.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let A=this._nodes;A[A.length-1]=e}};nn.CodeGen=ox;function sd(t,e){for(let A in e)t[A]=(t[A]||0)+(e[A]||0);return t}function a5(t,e){return e instanceof vn._CodeOrName?sd(t,e.names):t}function XE(t,e,A){if(t instanceof vn.Name)return i(t);if(!n(t))return t;return new vn._Code(t._items.reduce((o,a)=>(a instanceof vn.Name&&(a=i(a)),a instanceof vn._Code?o.push(...a._items):o.push(a),o),[]));function i(o){let a=A[o.str];return a===void 0||e[o.str]!==1?o:(delete e[o.str],a)}function n(o){return o instanceof vn._Code&&o._items.some(a=>a instanceof vn.Name&&e[a.str]===1&&A[a.str]!==void 0)}}function o6A(t,e){for(let A in e)t[A]=(t[A]||0)-(e[A]||0)}function wV(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,vn._)`!${ax(t)}`}nn.not=wV;var a6A=DV(nn.operators.AND);function r6A(...t){return t.reduce(a6A)}nn.and=r6A;var s6A=DV(nn.operators.OR);function g6A(...t){return t.reduce(s6A)}nn.or=g6A;function DV(t){return(e,A)=>e===vn.nil?A:A===vn.nil?e:(0,vn._)`${ax(e)} ${t} ${ax(A)}`}function ax(t){return t instanceof vn.Name?t:(0,vn._)`(${t})`}});var On=qe(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.checkStrictMode=sn.getErrorPath=sn.Type=sn.useFunc=sn.setEvaluated=sn.evaluatedPropsToName=sn.mergeEvaluated=sn.eachItem=sn.unescapeJsonPointer=sn.escapeJsonPointer=sn.escapeFragment=sn.unescapeFragment=sn.schemaRefOrVal=sn.schemaHasRulesButRef=sn.schemaHasRules=sn.checkUnknownRules=sn.alwaysValidSchema=sn.toHash=void 0;var Vo=rn(),l6A=E3();function c6A(t){let e={};for(let A of t)e[A]=!0;return e}sn.toHash=c6A;function C6A(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(bV(t,e),!MV(e,t.self.RULES.all))}sn.alwaysValidSchema=C6A;function bV(t,e=t.schema){let{opts:A,self:i}=t;if(!A.strictSchema||typeof e=="boolean")return;let n=i.RULES.keywords;for(let o in e)n[o]||xV(t,`unknown keyword: "${o}"`)}sn.checkUnknownRules=bV;function MV(t,e){if(typeof t=="boolean")return!t;for(let A in t)if(e[A])return!0;return!1}sn.schemaHasRules=MV;function I6A(t,e){if(typeof t=="boolean")return!t;for(let A in t)if(A!=="$ref"&&e.all[A])return!0;return!1}sn.schemaHasRulesButRef=I6A;function d6A({topSchemaRef:t,schemaPath:e},A,i,n){if(!n){if(typeof A=="number"||typeof A=="boolean")return A;if(typeof A=="string")return(0,Vo._)`${A}`}return(0,Vo._)`${t}${e}${(0,Vo.getProperty)(i)}`}sn.schemaRefOrVal=d6A;function B6A(t){return kV(decodeURIComponent(t))}sn.unescapeFragment=B6A;function E6A(t){return encodeURIComponent(sx(t))}sn.escapeFragment=E6A;function sx(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}sn.escapeJsonPointer=sx;function kV(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}sn.unescapeJsonPointer=kV;function Q6A(t,e){if(Array.isArray(t))for(let A of t)e(A);else e(t)}sn.eachItem=Q6A;function yV({mergeNames:t,mergeToName:e,mergeValues:A,resultToName:i}){return(n,o,a,r)=>{let s=a===void 0?o:a instanceof Vo.Name?(o instanceof Vo.Name?t(n,o,a):e(n,o,a),a):o instanceof Vo.Name?(e(n,a,o),o):A(o,a);return r===Vo.Name&&!(s instanceof Vo.Name)?i(n,s):s}}sn.mergeEvaluated={props:yV({mergeNames:(t,e,A)=>t.if((0,Vo._)`${A} !== true && ${e} !== undefined`,()=>{t.if((0,Vo._)`${e} === true`,()=>t.assign(A,!0),()=>t.assign(A,(0,Vo._)`${A} || {}`).code((0,Vo._)`Object.assign(${A}, ${e})`))}),mergeToName:(t,e,A)=>t.if((0,Vo._)`${A} !== true`,()=>{e===!0?t.assign(A,!0):(t.assign(A,(0,Vo._)`${A} || {}`),gx(t,A,e))}),mergeValues:(t,e)=>t===!0?!0:cA(cA({},t),e),resultToName:SV}),items:yV({mergeNames:(t,e,A)=>t.if((0,Vo._)`${A} !== true && ${e} !== undefined`,()=>t.assign(A,(0,Vo._)`${e} === true ? true : ${A} > ${e} ? ${A} : ${e}`)),mergeToName:(t,e,A)=>t.if((0,Vo._)`${A} !== true`,()=>t.assign(A,e===!0?!0:(0,Vo._)`${A} > ${e} ? ${A} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function SV(t,e){if(e===!0)return t.var("props",!0);let A=t.var("props",(0,Vo._)`{}`);return e!==void 0&&gx(t,A,e),A}sn.evaluatedPropsToName=SV;function gx(t,e,A){Object.keys(A).forEach(i=>t.assign((0,Vo._)`${e}${(0,Vo.getProperty)(i)}`,!0))}sn.setEvaluated=gx;var vV={};function h6A(t,e){return t.scopeValue("func",{ref:e,code:vV[e.code]||(vV[e.code]=new l6A._Code(e.code))})}sn.useFunc=h6A;var rx=(function(t){return t[t.Num=0]="Num",t[t.Str=1]="Str",t})(rx||(sn.Type=rx={}));function u6A(t,e,A){if(t instanceof Vo.Name){let i=e===rx.Num;return A?i?(0,Vo._)`"[" + ${t} + "]"`:(0,Vo._)`"['" + ${t} + "']"`:i?(0,Vo._)`"/" + ${t}`:(0,Vo._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return A?(0,Vo.getProperty)(t).toString():"/"+sx(t)}sn.getErrorPath=u6A;function xV(t,e,A=t.opts.strictSchema){if(A){if(e=`strict mode: ${e}`,A===!0)throw new Error(e);t.self.logger.warn(e)}}sn.checkStrictMode=xV});var FC=qe(lx=>{"use strict";Object.defineProperty(lx,"__esModule",{value:!0});var hs=rn(),f6A={data:new hs.Name("data"),valCxt:new hs.Name("valCxt"),instancePath:new hs.Name("instancePath"),parentData:new hs.Name("parentData"),parentDataProperty:new hs.Name("parentDataProperty"),rootData:new hs.Name("rootData"),dynamicAnchors:new hs.Name("dynamicAnchors"),vErrors:new hs.Name("vErrors"),errors:new hs.Name("errors"),this:new hs.Name("this"),self:new hs.Name("self"),scope:new hs.Name("scope"),json:new hs.Name("json"),jsonPos:new hs.Name("jsonPos"),jsonLen:new hs.Name("jsonLen"),jsonPart:new hs.Name("jsonPart")};lx.default=f6A});var h3=qe(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.extendErrors=us.resetErrorsCount=us.reportExtraError=us.reportError=us.keyword$DataError=us.keywordError=void 0;var Ln=rn(),g5=On(),Js=FC();us.keywordError={message:({keyword:t})=>(0,Ln.str)`must pass "${t}" keyword validation`};us.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Ln.str)`"${t}" keyword must be ${e} ($data)`:(0,Ln.str)`"${t}" keyword is invalid ($data)`};function m6A(t,e=us.keywordError,A,i){let{it:n}=t,{gen:o,compositeRule:a,allErrors:r}=n,s=FV(t,e,A);i??(a||r)?RV(o,s):NV(n,(0,Ln._)`[${s}]`)}us.reportError=m6A;function p6A(t,e=us.keywordError,A){let{it:i}=t,{gen:n,compositeRule:o,allErrors:a}=i,r=FV(t,e,A);RV(n,r),o||a||NV(i,Js.default.vErrors)}us.reportExtraError=p6A;function w6A(t,e){t.assign(Js.default.errors,e),t.if((0,Ln._)`${Js.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Ln._)`${Js.default.vErrors}.length`,e),()=>t.assign(Js.default.vErrors,null)))}us.resetErrorsCount=w6A;function D6A({gen:t,keyword:e,schemaValue:A,data:i,errsCount:n,it:o}){if(n===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",n,Js.default.errors,r=>{t.const(a,(0,Ln._)`${Js.default.vErrors}[${r}]`),t.if((0,Ln._)`${a}.instancePath === undefined`,()=>t.assign((0,Ln._)`${a}.instancePath`,(0,Ln.strConcat)(Js.default.instancePath,o.errorPath))),t.assign((0,Ln._)`${a}.schemaPath`,(0,Ln.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0,Ln._)`${a}.schema`,A),t.assign((0,Ln._)`${a}.data`,i))})}us.extendErrors=D6A;function RV(t,e){let A=t.const("err",e);t.if((0,Ln._)`${Js.default.vErrors} === null`,()=>t.assign(Js.default.vErrors,(0,Ln._)`[${A}]`),(0,Ln._)`${Js.default.vErrors}.push(${A})`),t.code((0,Ln._)`${Js.default.errors}++`)}function NV(t,e){let{gen:A,validateName:i,schemaEnv:n}=t;n.$async?A.throw((0,Ln._)`new ${t.ValidationError}(${e})`):(A.assign((0,Ln._)`${i}.errors`,e),A.return(!1))}var gd={keyword:new Ln.Name("keyword"),schemaPath:new Ln.Name("schemaPath"),params:new Ln.Name("params"),propertyName:new Ln.Name("propertyName"),message:new Ln.Name("message"),schema:new Ln.Name("schema"),parentSchema:new Ln.Name("parentSchema")};function FV(t,e,A){let{createErrors:i}=t.it;return i===!1?(0,Ln._)`{}`:y6A(t,e,A)}function y6A(t,e,A={}){let{gen:i,it:n}=t,o=[v6A(n,A),b6A(t,A)];return M6A(t,e,o),i.object(...o)}function v6A({errorPath:t},{instancePath:e}){let A=e?(0,Ln.str)`${t}${(0,g5.getErrorPath)(e,g5.Type.Str)}`:t;return[Js.default.instancePath,(0,Ln.strConcat)(Js.default.instancePath,A)]}function b6A({keyword:t,it:{errSchemaPath:e}},{schemaPath:A,parentSchema:i}){let n=i?e:(0,Ln.str)`${e}/${t}`;return A&&(n=(0,Ln.str)`${n}${(0,g5.getErrorPath)(A,g5.Type.Str)}`),[gd.schemaPath,n]}function M6A(t,{params:e,message:A},i){let{keyword:n,data:o,schemaValue:a,it:r}=t,{opts:s,propertyName:g,topSchemaRef:l,schemaPath:C}=r;i.push([gd.keyword,n],[gd.params,typeof e=="function"?e(t):e||(0,Ln._)`{}`]),s.messages&&i.push([gd.message,typeof A=="function"?A(t):A]),s.verbose&&i.push([gd.schema,a],[gd.parentSchema,(0,Ln._)`${l}${C}`],[Js.default.data,o]),g&&i.push([gd.propertyName,g])}});var LV=qe($E=>{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.boolOrEmptySchema=$E.topBoolOrEmptySchema=void 0;var k6A=h3(),S6A=rn(),x6A=FC(),R6A={message:"boolean schema is false"};function N6A(t){let{gen:e,schema:A,validateName:i}=t;A===!1?_V(t,!1):typeof A=="object"&&A.$async===!0?e.return(x6A.default.data):(e.assign((0,S6A._)`${i}.errors`,null),e.return(!0))}$E.topBoolOrEmptySchema=N6A;function F6A(t,e){let{gen:A,schema:i}=t;i===!1?(A.var(e,!1),_V(t)):A.var(e,!0)}$E.boolOrEmptySchema=F6A;function _V(t,e){let{gen:A,data:i}=t,n={gen:A,keyword:"false schema",data:i,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,k6A.reportError)(n,R6A,void 0,e)}});var cx=qe(AQ=>{"use strict";Object.defineProperty(AQ,"__esModule",{value:!0});AQ.getRules=AQ.isJSONType=void 0;var _6A=["string","number","integer","boolean","null","object","array"],L6A=new Set(_6A);function G6A(t){return typeof t=="string"&&L6A.has(t)}AQ.isJSONType=G6A;function K6A(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:Ge(cA({},t),{integer:!0,boolean:!0,null:!0}),rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}AQ.getRules=K6A});var Cx=qe(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.shouldUseRule=QI.shouldUseGroup=QI.schemaHasRulesForType=void 0;function U6A({schema:t,self:e},A){let i=e.RULES.types[A];return i&&i!==!0&&GV(t,i)}QI.schemaHasRulesForType=U6A;function GV(t,e){return e.rules.some(A=>KV(t,A))}QI.shouldUseGroup=GV;function KV(t,e){var A;return t[e.keyword]!==void 0||((A=e.definition.implements)===null||A===void 0?void 0:A.some(i=>t[i]!==void 0))}QI.shouldUseRule=KV});var u3=qe(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.reportTypeError=fs.checkDataTypes=fs.checkDataType=fs.coerceAndCheckDataType=fs.getJSONTypes=fs.getSchemaTypes=fs.DataType=void 0;var J6A=cx(),Y6A=Cx(),T6A=h3(),Ti=rn(),UV=On(),eQ=(function(t){return t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong",t})(eQ||(fs.DataType=eQ={}));function H6A(t){let e=JV(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}fs.getSchemaTypes=H6A;function JV(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(J6A.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}fs.getJSONTypes=JV;function z6A(t,e){let{gen:A,data:i,opts:n}=t,o=O6A(e,n.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0,Y6A.schemaHasRulesForType)(t,e[0]));if(a){let r=dx(e,i,n.strictNumbers,eQ.Wrong);A.if(r,()=>{o.length?P6A(t,e,o):Bx(t)})}return a}fs.coerceAndCheckDataType=z6A;var YV=new Set(["string","number","integer","boolean","null"]);function O6A(t,e){return e?t.filter(A=>YV.has(A)||e==="array"&&A==="array"):[]}function P6A(t,e,A){let{gen:i,data:n,opts:o}=t,a=i.let("dataType",(0,Ti._)`typeof ${n}`),r=i.let("coerced",(0,Ti._)`undefined`);o.coerceTypes==="array"&&i.if((0,Ti._)`${a} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>i.assign(n,(0,Ti._)`${n}[0]`).assign(a,(0,Ti._)`typeof ${n}`).if(dx(e,n,o.strictNumbers),()=>i.assign(r,n))),i.if((0,Ti._)`${r} !== undefined`);for(let g of A)(YV.has(g)||g==="array"&&o.coerceTypes==="array")&&s(g);i.else(),Bx(t),i.endIf(),i.if((0,Ti._)`${r} !== undefined`,()=>{i.assign(n,r),j6A(t,r)});function s(g){switch(g){case"string":i.elseIf((0,Ti._)`${a} == "number" || ${a} == "boolean"`).assign(r,(0,Ti._)`"" + ${n}`).elseIf((0,Ti._)`${n} === null`).assign(r,(0,Ti._)`""`);return;case"number":i.elseIf((0,Ti._)`${a} == "boolean" || ${n} === null - || (${a} == "string" && ${n} && ${n} == +${n})`).assign(r,(0,Ti._)`+${n}`);return;case"integer":i.elseIf((0,Ti._)`${a} === "boolean" || ${n} === null - || (${a} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(r,(0,Ti._)`+${n}`);return;case"boolean":i.elseIf((0,Ti._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(r,!1).elseIf((0,Ti._)`${n} === "true" || ${n} === 1`).assign(r,!0);return;case"null":i.elseIf((0,Ti._)`${n} === "" || ${n} === 0 || ${n} === false`),i.assign(r,null);return;case"array":i.elseIf((0,Ti._)`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${n} === null`).assign(r,(0,Ti._)`[${n}]`)}}}function j6A({gen:t,parentData:e,parentDataProperty:A},i){t.if((0,Ti._)`${e} !== undefined`,()=>t.assign((0,Ti._)`${e}[${A}]`,i))}function Ix(t,e,A,i=eQ.Correct){let n=i===eQ.Correct?Ti.operators.EQ:Ti.operators.NEQ,o;switch(t){case"null":return(0,Ti._)`${e} ${n} null`;case"array":o=(0,Ti._)`Array.isArray(${e})`;break;case"object":o=(0,Ti._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":o=a((0,Ti._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":o=a();break;default:return(0,Ti._)`typeof ${e} ${n} ${t}`}return i===eQ.Correct?o:(0,Ti.not)(o);function a(r=Ti.nil){return(0,Ti.and)((0,Ti._)`typeof ${e} == "number"`,r,A?(0,Ti._)`isFinite(${e})`:Ti.nil)}}fs.checkDataType=Ix;function dx(t,e,A,i){if(t.length===1)return Ix(t[0],e,A,i);let n,o=(0,UV.toHash)(t);if(o.array&&o.object){let a=(0,Ti._)`typeof ${e} != "object"`;n=o.null?a:(0,Ti._)`!${e} || ${a}`,delete o.null,delete o.array,delete o.object}else n=Ti.nil;o.number&&delete o.integer;for(let a in o)n=(0,Ti.and)(n,Ix(a,e,A,i));return n}fs.checkDataTypes=dx;var q6A={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Ti._)`{type: ${t}}`:(0,Ti._)`{type: ${e}}`};function Bx(t){let e=V6A(t);(0,T6A.reportError)(e,q6A)}fs.reportTypeError=Bx;function V6A(t){let{gen:e,data:A,schema:i}=t,n=(0,UV.schemaRefOrVal)(t,i,"type");return{gen:e,keyword:"type",data:A,schema:i.type,schemaCode:n,schemaValue:n,parentSchema:i,params:{},it:t}}});var HV=qe(l5=>{"use strict";Object.defineProperty(l5,"__esModule",{value:!0});l5.assignDefaults=void 0;var tQ=rn(),W6A=On();function Z6A(t,e){let{properties:A,items:i}=t.schema;if(e==="object"&&A)for(let n in A)TV(t,n,A[n].default);else e==="array"&&Array.isArray(i)&&i.forEach((n,o)=>TV(t,o,n.default))}l5.assignDefaults=Z6A;function TV(t,e,A){let{gen:i,compositeRule:n,data:o,opts:a}=t;if(A===void 0)return;let r=(0,tQ._)`${o}${(0,tQ.getProperty)(e)}`;if(n){(0,W6A.checkStrictMode)(t,`default is ignored for: ${r}`);return}let s=(0,tQ._)`${r} === undefined`;a.useDefaults==="empty"&&(s=(0,tQ._)`${s} || ${r} === null || ${r} === ""`),i.if(s,(0,tQ._)`${r} = ${(0,tQ.stringify)(A)}`)}});var vl=qe(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.validateUnion=Fo.validateArray=Fo.usePattern=Fo.callValidateCode=Fo.schemaProperties=Fo.allSchemaProperties=Fo.noPropertyInData=Fo.propertyInData=Fo.isOwnProperty=Fo.hasPropFunc=Fo.reportMissingProp=Fo.checkMissingProp=Fo.checkReportMissingProp=void 0;var da=rn(),Ex=On(),hI=FC(),X6A=On();function $6A(t,e){let{gen:A,data:i,it:n}=t;A.if(hx(A,i,e,n.opts.ownProperties),()=>{t.setParams({missingProperty:(0,da._)`${e}`},!0),t.error()})}Fo.checkReportMissingProp=$6A;function A8A({gen:t,data:e,it:{opts:A}},i,n){return(0,da.or)(...i.map(o=>(0,da.and)(hx(t,e,o,A.ownProperties),(0,da._)`${n} = ${o}`)))}Fo.checkMissingProp=A8A;function e8A(t,e){t.setParams({missingProperty:e},!0),t.error()}Fo.reportMissingProp=e8A;function zV(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,da._)`Object.prototype.hasOwnProperty`})}Fo.hasPropFunc=zV;function Qx(t,e,A){return(0,da._)`${zV(t)}.call(${e}, ${A})`}Fo.isOwnProperty=Qx;function t8A(t,e,A,i){let n=(0,da._)`${e}${(0,da.getProperty)(A)} !== undefined`;return i?(0,da._)`${n} && ${Qx(t,e,A)}`:n}Fo.propertyInData=t8A;function hx(t,e,A,i){let n=(0,da._)`${e}${(0,da.getProperty)(A)} === undefined`;return i?(0,da.or)(n,(0,da.not)(Qx(t,e,A))):n}Fo.noPropertyInData=hx;function OV(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}Fo.allSchemaProperties=OV;function i8A(t,e){return OV(e).filter(A=>!(0,Ex.alwaysValidSchema)(t,e[A]))}Fo.schemaProperties=i8A;function n8A({schemaCode:t,data:e,it:{gen:A,topSchemaRef:i,schemaPath:n,errorPath:o},it:a},r,s,g){let l=g?(0,da._)`${t}, ${e}, ${i}${n}`:e,C=[[hI.default.instancePath,(0,da.strConcat)(hI.default.instancePath,o)],[hI.default.parentData,a.parentData],[hI.default.parentDataProperty,a.parentDataProperty],[hI.default.rootData,hI.default.rootData]];a.opts.dynamicRef&&C.push([hI.default.dynamicAnchors,hI.default.dynamicAnchors]);let I=(0,da._)`${l}, ${A.object(...C)}`;return s!==da.nil?(0,da._)`${r}.call(${s}, ${I})`:(0,da._)`${r}(${I})`}Fo.callValidateCode=n8A;var o8A=(0,da._)`new RegExp`;function a8A({gen:t,it:{opts:e}},A){let i=e.unicodeRegExp?"u":"",{regExp:n}=e.code,o=n(A,i);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,da._)`${n.code==="new RegExp"?o8A:(0,X6A.useFunc)(t,n)}(${A}, ${i})`})}Fo.usePattern=a8A;function r8A(t){let{gen:e,data:A,keyword:i,it:n}=t,o=e.name("valid");if(n.allErrors){let r=e.let("valid",!0);return a(()=>e.assign(r,!1)),r}return e.var(o,!0),a(()=>e.break()),o;function a(r){let s=e.const("len",(0,da._)`${A}.length`);e.forRange("i",0,s,g=>{t.subschema({keyword:i,dataProp:g,dataPropType:Ex.Type.Num},o),e.if((0,da.not)(o),r)})}}Fo.validateArray=r8A;function s8A(t){let{gen:e,schema:A,keyword:i,it:n}=t;if(!Array.isArray(A))throw new Error("ajv implementation error");if(A.some(s=>(0,Ex.alwaysValidSchema)(n,s))&&!n.opts.unevaluated)return;let a=e.let("valid",!1),r=e.name("_valid");e.block(()=>A.forEach((s,g)=>{let l=t.subschema({keyword:i,schemaProp:g,compositeRule:!0},r);e.assign(a,(0,da._)`${a} || ${r}`),t.mergeValidEvaluated(l,r)||e.if((0,da.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}Fo.validateUnion=s8A});var qV=qe(k0=>{"use strict";Object.defineProperty(k0,"__esModule",{value:!0});k0.validateKeywordUsage=k0.validSchemaType=k0.funcKeywordCode=k0.macroKeywordCode=void 0;var Ys=rn(),ld=FC(),g8A=vl(),l8A=h3();function c8A(t,e){let{gen:A,keyword:i,schema:n,parentSchema:o,it:a}=t,r=e.macro.call(a.self,n,o,a),s=jV(A,i,r);a.opts.validateSchema!==!1&&a.self.validateSchema(r,!0);let g=A.name("valid");t.subschema({schema:r,schemaPath:Ys.nil,errSchemaPath:`${a.errSchemaPath}/${i}`,topSchemaRef:s,compositeRule:!0},g),t.pass(g,()=>t.error(!0))}k0.macroKeywordCode=c8A;function C8A(t,e){var A;let{gen:i,keyword:n,schema:o,parentSchema:a,$data:r,it:s}=t;d8A(s,e);let g=!r&&e.compile?e.compile.call(s.self,o,a,s):e.validate,l=jV(i,n,g),C=i.let("valid");t.block$data(C,I),t.ok((A=e.valid)!==null&&A!==void 0?A:C);function I(){if(e.errors===!1)E(),e.modifying&&PV(t),Q(()=>t.error());else{let f=e.async?d():B();e.modifying&&PV(t),Q(()=>I8A(t,f))}}function d(){let f=i.let("ruleErrs",null);return i.try(()=>E((0,Ys._)`await `),b=>i.assign(C,!1).if((0,Ys._)`${b} instanceof ${s.ValidationError}`,()=>i.assign(f,(0,Ys._)`${b}.errors`),()=>i.throw(b))),f}function B(){let f=(0,Ys._)`${l}.errors`;return i.assign(f,null),E(Ys.nil),f}function E(f=e.async?(0,Ys._)`await `:Ys.nil){let b=s.opts.passContext?ld.default.this:ld.default.self,S=!("compile"in e&&!r||e.schema===!1);i.assign(C,(0,Ys._)`${f}${(0,g8A.callValidateCode)(t,l,b,S)}`,e.modifying)}function Q(f){var b;i.if((0,Ys.not)((b=e.valid)!==null&&b!==void 0?b:C),f)}}k0.funcKeywordCode=C8A;function PV(t){let{gen:e,data:A,it:i}=t;e.if(i.parentData,()=>e.assign(A,(0,Ys._)`${i.parentData}[${i.parentDataProperty}]`))}function I8A(t,e){let{gen:A}=t;A.if((0,Ys._)`Array.isArray(${e})`,()=>{A.assign(ld.default.vErrors,(0,Ys._)`${ld.default.vErrors} === null ? ${e} : ${ld.default.vErrors}.concat(${e})`).assign(ld.default.errors,(0,Ys._)`${ld.default.vErrors}.length`),(0,l8A.extendErrors)(t)},()=>t.error())}function d8A({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function jV(t,e,A){if(A===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof A=="function"?{ref:A}:{ref:A,code:(0,Ys.stringify)(A)})}function B8A(t,e,A=!1){return!e.length||e.some(i=>i==="array"?Array.isArray(t):i==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==i||A&&typeof t>"u")}k0.validSchemaType=B8A;function E8A({schema:t,opts:e,self:A,errSchemaPath:i},n,o){if(Array.isArray(n.keyword)?!n.keyword.includes(o):n.keyword!==o)throw new Error("ajv implementation error");let a=n.dependencies;if(a?.some(r=>!Object.prototype.hasOwnProperty.call(t,r)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(n.validateSchema&&!n.validateSchema(t[o])){let s=`keyword "${o}" value is invalid at path "${i}": `+A.errorsText(n.validateSchema.errors);if(e.validateSchema==="log")A.logger.error(s);else throw new Error(s)}}k0.validateKeywordUsage=E8A});var WV=qe(uI=>{"use strict";Object.defineProperty(uI,"__esModule",{value:!0});uI.extendSubschemaMode=uI.extendSubschemaData=uI.getSubschema=void 0;var S0=rn(),VV=On();function Q8A(t,{keyword:e,schemaProp:A,schema:i,schemaPath:n,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&i!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let r=t.schema[e];return A===void 0?{schema:r,schemaPath:(0,S0._)`${t.schemaPath}${(0,S0.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:r[A],schemaPath:(0,S0._)`${t.schemaPath}${(0,S0.getProperty)(e)}${(0,S0.getProperty)(A)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,VV.escapeFragment)(A)}`}}if(i!==void 0){if(n===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:i,schemaPath:n,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}uI.getSubschema=Q8A;function h8A(t,e,{dataProp:A,dataPropType:i,data:n,dataTypes:o,propertyName:a}){if(n!==void 0&&A!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:r}=e;if(A!==void 0){let{errorPath:g,dataPathArr:l,opts:C}=e,I=r.let("data",(0,S0._)`${e.data}${(0,S0.getProperty)(A)}`,!0);s(I),t.errorPath=(0,S0.str)`${g}${(0,VV.getErrorPath)(A,i,C.jsPropertySyntax)}`,t.parentDataProperty=(0,S0._)`${A}`,t.dataPathArr=[...l,t.parentDataProperty]}if(n!==void 0){let g=n instanceof S0.Name?n:r.let("data",n,!0);s(g),a!==void 0&&(t.propertyName=a)}o&&(t.dataTypes=o);function s(g){t.data=g,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,g]}}uI.extendSubschemaData=h8A;function u8A(t,{jtdDiscriminator:e,jtdMetadata:A,compositeRule:i,createErrors:n,allErrors:o}){i!==void 0&&(t.compositeRule=i),n!==void 0&&(t.createErrors=n),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=A}uI.extendSubschemaMode=u8A});var ux=qe((Q6e,ZV)=>{"use strict";ZV.exports=function t(e,A){if(e===A)return!0;if(e&&A&&typeof e=="object"&&typeof A=="object"){if(e.constructor!==A.constructor)return!1;var i,n,o;if(Array.isArray(e)){if(i=e.length,i!=A.length)return!1;for(n=i;n--!==0;)if(!t(e[n],A[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===A.source&&e.flags===A.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===A.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===A.toString();if(o=Object.keys(e),i=o.length,i!==Object.keys(A).length)return!1;for(n=i;n--!==0;)if(!Object.prototype.hasOwnProperty.call(A,o[n]))return!1;for(n=i;n--!==0;){var a=o[n];if(!t(e[a],A[a]))return!1}return!0}return e!==e&&A!==A}});var $V=qe((h6e,XV)=>{"use strict";var fI=XV.exports=function(t,e,A){typeof e=="function"&&(A=e,e={}),A=e.cb||A;var i=typeof A=="function"?A:A.pre||function(){},n=A.post||function(){};c5(e,i,n,t,"",t)};fI.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};fI.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};fI.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};fI.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function c5(t,e,A,i,n,o,a,r,s,g){if(i&&typeof i=="object"&&!Array.isArray(i)){e(i,n,o,a,r,s,g);for(var l in i){var C=i[l];if(Array.isArray(C)){if(l in fI.arrayKeywords)for(var I=0;I{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});Bg.getSchemaRefs=Bg.resolveUrl=Bg.normalizeId=Bg._getFullPath=Bg.getFullPath=Bg.inlineRef=void 0;var m8A=On(),p8A=ux(),w8A=$V(),D8A=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function y8A(t,e=!0){return typeof t=="boolean"?!0:e===!0?!fx(t):e?AW(t)<=e:!1}Bg.inlineRef=y8A;var v8A=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function fx(t){for(let e in t){if(v8A.has(e))return!0;let A=t[e];if(Array.isArray(A)&&A.some(fx)||typeof A=="object"&&fx(A))return!0}return!1}function AW(t){let e=0;for(let A in t){if(A==="$ref")return 1/0;if(e++,!D8A.has(A)&&(typeof t[A]=="object"&&(0,m8A.eachItem)(t[A],i=>e+=AW(i)),e===1/0))return 1/0}return e}function eW(t,e="",A){A!==!1&&(e=iQ(e));let i=t.parse(e);return tW(t,i)}Bg.getFullPath=eW;function tW(t,e){return t.serialize(e).split("#")[0]+"#"}Bg._getFullPath=tW;var b8A=/#\/?$/;function iQ(t){return t?t.replace(b8A,""):""}Bg.normalizeId=iQ;function M8A(t,e,A){return A=iQ(A),t.resolve(e,A)}Bg.resolveUrl=M8A;var k8A=/^[a-z_][-a-z0-9._]*$/i;function S8A(t,e){if(typeof t=="boolean")return{};let{schemaId:A,uriResolver:i}=this.opts,n=iQ(t[A]||e),o={"":n},a=eW(i,n,!1),r={},s=new Set;return w8A(t,{allKeys:!0},(C,I,d,B)=>{if(B===void 0)return;let E=a+I,Q=o[B];typeof C[A]=="string"&&(Q=f.call(this,C[A])),b.call(this,C.$anchor),b.call(this,C.$dynamicAnchor),o[I]=Q;function f(S){let M=this.opts.uriResolver.resolve;if(S=iQ(Q?M(Q,S):S),s.has(S))throw l(S);s.add(S);let D=this.refs[S];return typeof D=="string"&&(D=this.refs[D]),typeof D=="object"?g(C,D.schema,S):S!==iQ(E)&&(S[0]==="#"?(g(C,r[S],S),r[S]=C):this.refs[S]=E),S}function b(S){if(typeof S=="string"){if(!k8A.test(S))throw new Error(`invalid anchor "${S}"`);f.call(this,`#${S}`)}}}),r;function g(C,I,d){if(I!==void 0&&!p8A(C,I))throw l(d)}function l(C){return new Error(`reference "${C}" resolves to more than one schema`)}}Bg.getSchemaRefs=S8A});var w3=qe(mI=>{"use strict";Object.defineProperty(mI,"__esModule",{value:!0});mI.getData=mI.KeywordCxt=mI.validateFunctionCode=void 0;var rW=LV(),iW=u3(),px=Cx(),C5=u3(),x8A=HV(),p3=qV(),mx=WV(),Nt=rn(),hi=FC(),R8A=f3(),_C=On(),m3=h3();function N8A(t){if(lW(t)&&(cW(t),gW(t))){L8A(t);return}sW(t,()=>(0,rW.topBoolOrEmptySchema)(t))}mI.validateFunctionCode=N8A;function sW({gen:t,validateName:e,schema:A,schemaEnv:i,opts:n},o){n.code.es5?t.func(e,(0,Nt._)`${hi.default.data}, ${hi.default.valCxt}`,i.$async,()=>{t.code((0,Nt._)`"use strict"; ${nW(A,n)}`),_8A(t,n),t.code(o)}):t.func(e,(0,Nt._)`${hi.default.data}, ${F8A(n)}`,i.$async,()=>t.code(nW(A,n)).code(o))}function F8A(t){return(0,Nt._)`{${hi.default.instancePath}="", ${hi.default.parentData}, ${hi.default.parentDataProperty}, ${hi.default.rootData}=${hi.default.data}${t.dynamicRef?(0,Nt._)`, ${hi.default.dynamicAnchors}={}`:Nt.nil}}={}`}function _8A(t,e){t.if(hi.default.valCxt,()=>{t.var(hi.default.instancePath,(0,Nt._)`${hi.default.valCxt}.${hi.default.instancePath}`),t.var(hi.default.parentData,(0,Nt._)`${hi.default.valCxt}.${hi.default.parentData}`),t.var(hi.default.parentDataProperty,(0,Nt._)`${hi.default.valCxt}.${hi.default.parentDataProperty}`),t.var(hi.default.rootData,(0,Nt._)`${hi.default.valCxt}.${hi.default.rootData}`),e.dynamicRef&&t.var(hi.default.dynamicAnchors,(0,Nt._)`${hi.default.valCxt}.${hi.default.dynamicAnchors}`)},()=>{t.var(hi.default.instancePath,(0,Nt._)`""`),t.var(hi.default.parentData,(0,Nt._)`undefined`),t.var(hi.default.parentDataProperty,(0,Nt._)`undefined`),t.var(hi.default.rootData,hi.default.data),e.dynamicRef&&t.var(hi.default.dynamicAnchors,(0,Nt._)`{}`)})}function L8A(t){let{schema:e,opts:A,gen:i}=t;sW(t,()=>{A.$comment&&e.$comment&&IW(t),Y8A(t),i.let(hi.default.vErrors,null),i.let(hi.default.errors,0),A.unevaluated&&G8A(t),CW(t),z8A(t)})}function G8A(t){let{gen:e,validateName:A}=t;t.evaluated=e.const("evaluated",(0,Nt._)`${A}.evaluated`),e.if((0,Nt._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,Nt._)`${t.evaluated}.props`,(0,Nt._)`undefined`)),e.if((0,Nt._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,Nt._)`${t.evaluated}.items`,(0,Nt._)`undefined`))}function nW(t,e){let A=typeof t=="object"&&t[e.schemaId];return A&&(e.code.source||e.code.process)?(0,Nt._)`/*# sourceURL=${A} */`:Nt.nil}function K8A(t,e){if(lW(t)&&(cW(t),gW(t))){U8A(t,e);return}(0,rW.boolOrEmptySchema)(t,e)}function gW({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let A in t)if(e.RULES.all[A])return!0;return!1}function lW(t){return typeof t.schema!="boolean"}function U8A(t,e){let{schema:A,gen:i,opts:n}=t;n.$comment&&A.$comment&&IW(t),T8A(t),H8A(t);let o=i.const("_errs",hi.default.errors);CW(t,o),i.var(e,(0,Nt._)`${o} === ${hi.default.errors}`)}function cW(t){(0,_C.checkUnknownRules)(t),J8A(t)}function CW(t,e){if(t.opts.jtd)return oW(t,[],!1,e);let A=(0,iW.getSchemaTypes)(t.schema),i=(0,iW.coerceAndCheckDataType)(t,A);oW(t,A,!i,e)}function J8A(t){let{schema:e,errSchemaPath:A,opts:i,self:n}=t;e.$ref&&i.ignoreKeywordsWithRef&&(0,_C.schemaHasRulesButRef)(e,n.RULES)&&n.logger.warn(`$ref: keywords ignored in schema at path "${A}"`)}function Y8A(t){let{schema:e,opts:A}=t;e.default!==void 0&&A.useDefaults&&A.strictSchema&&(0,_C.checkStrictMode)(t,"default is ignored in the schema root")}function T8A(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,R8A.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function H8A(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function IW({gen:t,schemaEnv:e,schema:A,errSchemaPath:i,opts:n}){let o=A.$comment;if(n.$comment===!0)t.code((0,Nt._)`${hi.default.self}.logger.log(${o})`);else if(typeof n.$comment=="function"){let a=(0,Nt.str)`${i}/$comment`,r=t.scopeValue("root",{ref:e.root});t.code((0,Nt._)`${hi.default.self}.opts.$comment(${o}, ${a}, ${r}.schema)`)}}function z8A(t){let{gen:e,schemaEnv:A,validateName:i,ValidationError:n,opts:o}=t;A.$async?e.if((0,Nt._)`${hi.default.errors} === 0`,()=>e.return(hi.default.data),()=>e.throw((0,Nt._)`new ${n}(${hi.default.vErrors})`)):(e.assign((0,Nt._)`${i}.errors`,hi.default.vErrors),o.unevaluated&&O8A(t),e.return((0,Nt._)`${hi.default.errors} === 0`))}function O8A({gen:t,evaluated:e,props:A,items:i}){A instanceof Nt.Name&&t.assign((0,Nt._)`${e}.props`,A),i instanceof Nt.Name&&t.assign((0,Nt._)`${e}.items`,i)}function oW(t,e,A,i){let{gen:n,schema:o,data:a,allErrors:r,opts:s,self:g}=t,{RULES:l}=g;if(o.$ref&&(s.ignoreKeywordsWithRef||!(0,_C.schemaHasRulesButRef)(o,l))){n.block(()=>BW(t,"$ref",l.all.$ref.definition));return}s.jtd||P8A(t,e),n.block(()=>{for(let I of l.rules)C(I);C(l.post)});function C(I){(0,px.shouldUseGroup)(o,I)&&(I.type?(n.if((0,C5.checkDataType)(I.type,a,s.strictNumbers)),aW(t,I),e.length===1&&e[0]===I.type&&A&&(n.else(),(0,C5.reportTypeError)(t)),n.endIf()):aW(t,I),r||n.if((0,Nt._)`${hi.default.errors} === ${i||0}`))}}function aW(t,e){let{gen:A,schema:i,opts:{useDefaults:n}}=t;n&&(0,x8A.assignDefaults)(t,e.type),A.block(()=>{for(let o of e.rules)(0,px.shouldUseRule)(i,o)&&BW(t,o.keyword,o.definition,e.type)})}function P8A(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(j8A(t,e),t.opts.allowUnionTypes||q8A(t,e),V8A(t,t.dataTypes))}function j8A(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(A=>{dW(t.dataTypes,A)||wx(t,`type "${A}" not allowed by context "${t.dataTypes.join(",")}"`)}),Z8A(t,e)}}function q8A(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&wx(t,"use allowUnionTypes to allow union type keyword")}function V8A(t,e){let A=t.self.RULES.all;for(let i in A){let n=A[i];if(typeof n=="object"&&(0,px.shouldUseRule)(t.schema,n)){let{type:o}=n.definition;o.length&&!o.some(a=>W8A(e,a))&&wx(t,`missing type "${o.join(",")}" for keyword "${i}"`)}}}function W8A(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function dW(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Z8A(t,e){let A=[];for(let i of t.dataTypes)dW(e,i)?A.push(i):e.includes("integer")&&i==="number"&&A.push("integer");t.dataTypes=A}function wx(t,e){let A=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${A}" (strictTypes)`,(0,_C.checkStrictMode)(t,e,t.opts.strictTypes)}var I5=class{constructor(e,A,i){if((0,p3.validateKeywordUsage)(e,A,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=A.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,_C.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=A.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=A,this.$data)this.schemaCode=e.gen.const("vSchema",EW(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,p3.validSchemaType)(this.schema,A.schemaType,A.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(A.schemaType)}`);("code"in A?A.trackErrors:A.errors!==!1)&&(this.errsCount=e.gen.const("_errs",hi.default.errors))}result(e,A,i){this.failResult((0,Nt.not)(e),A,i)}failResult(e,A,i){this.gen.if(e),i?i():this.error(),A?(this.gen.else(),A(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,A){this.failResult((0,Nt.not)(e),void 0,A)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:A}=this;this.fail((0,Nt._)`${A} !== undefined && (${(0,Nt.or)(this.invalid$data(),e)})`)}error(e,A,i){if(A){this.setParams(A),this._error(e,i),this.setParams({});return}this._error(e,i)}_error(e,A){(e?m3.reportExtraError:m3.reportError)(this,this.def.error,A)}$dataError(){(0,m3.reportError)(this,this.def.$dataError||m3.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,m3.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,A){A?Object.assign(this.params,e):this.params=e}block$data(e,A,i=Nt.nil){this.gen.block(()=>{this.check$data(e,i),A()})}check$data(e=Nt.nil,A=Nt.nil){if(!this.$data)return;let{gen:i,schemaCode:n,schemaType:o,def:a}=this;i.if((0,Nt.or)((0,Nt._)`${n} === undefined`,A)),e!==Nt.nil&&i.assign(e,!0),(o.length||a.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==Nt.nil&&i.assign(e,!1)),i.else()}invalid$data(){let{gen:e,schemaCode:A,schemaType:i,def:n,it:o}=this;return(0,Nt.or)(a(),r());function a(){if(i.length){if(!(A instanceof Nt.Name))throw new Error("ajv implementation error");let s=Array.isArray(i)?i:[i];return(0,Nt._)`${(0,C5.checkDataTypes)(s,A,o.opts.strictNumbers,C5.DataType.Wrong)}`}return Nt.nil}function r(){if(n.validateSchema){let s=e.scopeValue("validate$data",{ref:n.validateSchema});return(0,Nt._)`!${s}(${A})`}return Nt.nil}}subschema(e,A){let i=(0,mx.getSubschema)(this.it,e);(0,mx.extendSubschemaData)(i,this.it,e),(0,mx.extendSubschemaMode)(i,e);let n=Ge(cA(cA({},this.it),i),{items:void 0,props:void 0});return K8A(n,A),n}mergeEvaluated(e,A){let{it:i,gen:n}=this;i.opts.unevaluated&&(i.props!==!0&&e.props!==void 0&&(i.props=_C.mergeEvaluated.props(n,e.props,i.props,A)),i.items!==!0&&e.items!==void 0&&(i.items=_C.mergeEvaluated.items(n,e.items,i.items,A)))}mergeValidEvaluated(e,A){let{it:i,gen:n}=this;if(i.opts.unevaluated&&(i.props!==!0||i.items!==!0))return n.if(A,()=>this.mergeEvaluated(e,Nt.Name)),!0}};mI.KeywordCxt=I5;function BW(t,e,A,i){let n=new I5(t,A,e);"code"in A?A.code(n,i):n.$data&&A.validate?(0,p3.funcKeywordCode)(n,A):"macro"in A?(0,p3.macroKeywordCode)(n,A):(A.compile||A.validate)&&(0,p3.funcKeywordCode)(n,A)}var X8A=/^\/(?:[^~]|~0|~1)*$/,$8A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function EW(t,{dataLevel:e,dataNames:A,dataPathArr:i}){let n,o;if(t==="")return hi.default.rootData;if(t[0]==="/"){if(!X8A.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);n=t,o=hi.default.rootData}else{let g=$8A.exec(t);if(!g)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+g[1];if(n=g[2],n==="#"){if(l>=e)throw new Error(s("property/index",l));return i[e-l]}if(l>e)throw new Error(s("data",l));if(o=A[e-l],!n)return o}let a=o,r=n.split("/");for(let g of r)g&&(o=(0,Nt._)`${o}${(0,Nt.getProperty)((0,_C.unescapeJsonPointer)(g))}`,a=(0,Nt._)`${a} && ${o}`);return a;function s(g,l){return`Cannot access ${g} ${l} levels up, current level is ${e}`}}mI.getData=EW});var d5=qe(yx=>{"use strict";Object.defineProperty(yx,"__esModule",{value:!0});var Dx=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};yx.default=Dx});var D3=qe(Mx=>{"use strict";Object.defineProperty(Mx,"__esModule",{value:!0});var vx=f3(),bx=class extends Error{constructor(e,A,i,n){super(n||`can't resolve reference ${i} from id ${A}`),this.missingRef=(0,vx.resolveUrl)(e,A,i),this.missingSchema=(0,vx.normalizeId)((0,vx.getFullPath)(e,this.missingRef))}};Mx.default=bx});var E5=qe(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});bl.resolveSchema=bl.getCompilingSchema=bl.resolveRef=bl.compileSchema=bl.SchemaEnv=void 0;var Dc=rn(),AwA=d5(),cd=FC(),yc=f3(),QW=On(),ewA=w3(),nQ=class{constructor(e){var A;this.refs={},this.dynamicAnchors={};let i;typeof e.schema=="object"&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(A=e.baseId)!==null&&A!==void 0?A:(0,yc.normalizeId)(i?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=i?.$async,this.refs={}}};bl.SchemaEnv=nQ;function Sx(t){let e=hW.call(this,t);if(e)return e;let A=(0,yc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:i,lines:n}=this.opts.code,{ownProperties:o}=this.opts,a=new Dc.CodeGen(this.scope,{es5:i,lines:n,ownProperties:o}),r;t.$async&&(r=a.scopeValue("Error",{ref:AwA.default,code:(0,Dc._)`require("ajv/dist/runtime/validation_error").default`}));let s=a.scopeName("validate");t.validateName=s;let g={gen:a,allErrors:this.opts.allErrors,data:cd.default.data,parentData:cd.default.parentData,parentDataProperty:cd.default.parentDataProperty,dataNames:[cd.default.data],dataPathArr:[Dc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Dc.stringify)(t.schema)}:{ref:t.schema}),validateName:s,ValidationError:r,schema:t.schema,schemaEnv:t,rootId:A,baseId:t.baseId||A,schemaPath:Dc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Dc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,ewA.validateFunctionCode)(g),a.optimize(this.opts.code.optimize);let C=a.toString();l=`${a.scopeRefs(cd.default.scope)}return ${C}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let d=new Function(`${cd.default.self}`,`${cd.default.scope}`,l)(this,this.scope.get());if(this.scope.value(s,{ref:d}),d.errors=null,d.schema=t.schema,d.schemaEnv=t,t.$async&&(d.$async=!0),this.opts.code.source===!0&&(d.source={validateName:s,validateCode:C,scopeValues:a._values}),this.opts.unevaluated){let{props:B,items:E}=g;d.evaluated={props:B instanceof Dc.Name?void 0:B,items:E instanceof Dc.Name?void 0:E,dynamicProps:B instanceof Dc.Name,dynamicItems:E instanceof Dc.Name},d.source&&(d.source.evaluated=(0,Dc.stringify)(d.evaluated))}return t.validate=d,t}catch(C){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),C}finally{this._compilations.delete(t)}}bl.compileSchema=Sx;function twA(t,e,A){var i;A=(0,yc.resolveUrl)(this.opts.uriResolver,e,A);let n=t.refs[A];if(n)return n;let o=owA.call(this,t,A);if(o===void 0){let a=(i=t.localRefs)===null||i===void 0?void 0:i[A],{schemaId:r}=this.opts;a&&(o=new nQ({schema:a,schemaId:r,root:t,baseId:e}))}if(o!==void 0)return t.refs[A]=iwA.call(this,o)}bl.resolveRef=twA;function iwA(t){return(0,yc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Sx.call(this,t)}function hW(t){for(let e of this._compilations)if(nwA(e,t))return e}bl.getCompilingSchema=hW;function nwA(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function owA(t,e){let A;for(;typeof(A=this.refs[e])=="string";)e=A;return A||this.schemas[e]||B5.call(this,t,e)}function B5(t,e){let A=this.opts.uriResolver.parse(e),i=(0,yc._getFullPath)(this.opts.uriResolver,A),n=(0,yc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&i===n)return kx.call(this,A,t);let o=(0,yc.normalizeId)(i),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let r=B5.call(this,t,a);return typeof r?.schema!="object"?void 0:kx.call(this,A,r)}if(typeof a?.schema=="object"){if(a.validate||Sx.call(this,a),o===(0,yc.normalizeId)(e)){let{schema:r}=a,{schemaId:s}=this.opts,g=r[s];return g&&(n=(0,yc.resolveUrl)(this.opts.uriResolver,n,g)),new nQ({schema:r,schemaId:s,root:t,baseId:n})}return kx.call(this,A,a)}}bl.resolveSchema=B5;var awA=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function kx(t,{baseId:e,schema:A,root:i}){var n;if(((n=t.fragment)===null||n===void 0?void 0:n[0])!=="/")return;for(let r of t.fragment.slice(1).split("/")){if(typeof A=="boolean")return;let s=A[(0,QW.unescapeFragment)(r)];if(s===void 0)return;A=s;let g=typeof A=="object"&&A[this.opts.schemaId];!awA.has(r)&&g&&(e=(0,yc.resolveUrl)(this.opts.uriResolver,e,g))}let o;if(typeof A!="boolean"&&A.$ref&&!(0,QW.schemaHasRulesButRef)(A,this.RULES)){let r=(0,yc.resolveUrl)(this.opts.uriResolver,e,A.$ref);o=B5.call(this,i,r)}let{schemaId:a}=this.opts;if(o=o||new nQ({schema:A,schemaId:a,root:i,baseId:e}),o.schema!==o.root.schema)return o}});var uW=qe((y6e,rwA)=>{rwA.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Rx=qe((v6e,wW)=>{"use strict";var swA=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),mW=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function xx(t){let e="",A=0,i=0;for(i=0;i=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102))return"";e+=t[i];break}for(i+=1;i=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102))return"";e+=t[i]}return e}var gwA=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function fW(t){return t.length=0,!0}function lwA(t,e,A){if(t.length){let i=xx(t);if(i!=="")e.push(i);else return A.error=!0,!1;t.length=0}return!0}function cwA(t){let e=0,A={error:!1,address:"",zone:""},i=[],n=[],o=!1,a=!1,r=lwA;for(let s=0;s7){A.error=!0;break}s>0&&t[s-1]===":"&&(o=!0),i.push(":");continue}else if(g==="%"){if(!r(n,i,A))break;r=fW}else{n.push(g);continue}}return n.length&&(r===fW?A.zone=n.join(""):a?i.push(n.join("")):i.push(xx(n))),A.address=i.join(""),A}function pW(t){if(CwA(t,":")<2)return{host:t,isIPV6:!1};let e=cwA(t);if(e.error)return{host:t,isIPV6:!1};{let A=e.address,i=e.address;return e.zone&&(A+="%"+e.zone,i+="%25"+e.zone),{host:A,isIPV6:!0,escapedHost:i}}}function CwA(t,e){let A=0;for(let i=0;i{"use strict";var{isUUID:EwA}=Rx(),QwA=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,hwA=["http","https","ws","wss","urn","urn:uuid"];function uwA(t){return hwA.indexOf(t)!==-1}function Nx(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function DW(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function yW(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function fwA(t){return t.secure=Nx(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function mwA(t){if((t.port===(Nx(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,A]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=A,t.resourceName=void 0}return t.fragment=void 0,t}function pwA(t,e){if(!t.path)return t.error="URN can not be parsed",t;let A=t.path.match(QwA);if(A){let i=e.scheme||t.scheme||"urn";t.nid=A[1].toLowerCase(),t.nss=A[2];let n=`${i}:${e.nid||t.nid}`,o=Fx(n);t.path=void 0,o&&(t=o.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function wwA(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let A=e.scheme||t.scheme||"urn",i=t.nid.toLowerCase(),n=`${A}:${e.nid||i}`,o=Fx(n);o&&(t=o.serialize(t,e));let a=t,r=t.nss;return a.path=`${i||e.nid}:${r}`,e.skipEscape=!0,a}function DwA(t,e){let A=t;return A.uuid=A.nss,A.nss=void 0,!e.tolerant&&(!A.uuid||!EwA(A.uuid))&&(A.error=A.error||"UUID is not valid."),A}function ywA(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var vW={scheme:"http",domainHost:!0,parse:DW,serialize:yW},vwA={scheme:"https",domainHost:vW.domainHost,parse:DW,serialize:yW},Q5={scheme:"ws",domainHost:!0,parse:fwA,serialize:mwA},bwA={scheme:"wss",domainHost:Q5.domainHost,parse:Q5.parse,serialize:Q5.serialize},MwA={scheme:"urn",parse:pwA,serialize:wwA,skipNormalize:!0},kwA={scheme:"urn:uuid",parse:DwA,serialize:ywA,skipNormalize:!0},h5={http:vW,https:vwA,ws:Q5,wss:bwA,urn:MwA,"urn:uuid":kwA};Object.setPrototypeOf(h5,null);function Fx(t){return t&&(h5[t]||h5[t.toLowerCase()])||void 0}bW.exports={wsIsSecure:Nx,SCHEMES:h5,isValidSchemeName:uwA,getSchemeHandler:Fx}});var xW=qe((M6e,f5)=>{"use strict";var{normalizeIPv6:SwA,removeDotSegments:y3,recomposeAuthority:xwA,normalizeComponentEncoding:u5,isIPv4:RwA,nonSimpleDomain:NwA}=Rx(),{SCHEMES:FwA,getSchemeHandler:kW}=MW();function _wA(t,e){return typeof t=="string"?t=x0(LC(t,e),e):typeof t=="object"&&(t=LC(x0(t,e),e)),t}function LwA(t,e,A){let i=A?Object.assign({scheme:"null"},A):{scheme:"null"},n=SW(LC(t,i),LC(e,i),i,!0);return i.skipEscape=!0,x0(n,i)}function SW(t,e,A,i){let n={};return i||(t=LC(x0(t,A),A),e=LC(x0(e,A),A)),A=A||{},!A.tolerant&&e.scheme?(n.scheme=e.scheme,n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=y3(e.path||""),n.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=y3(e.path||""),n.query=e.query):(e.path?(e.path[0]==="/"?n.path=y3(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?n.path="/"+e.path:t.path?n.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:n.path=e.path,n.path=y3(n.path)),n.query=e.query):(n.path=t.path,e.query!==void 0?n.query=e.query:n.query=t.query),n.userinfo=t.userinfo,n.host=t.host,n.port=t.port),n.scheme=t.scheme),n.fragment=e.fragment,n}function GwA(t,e,A){return typeof t=="string"?(t=unescape(t),t=x0(u5(LC(t,A),!0),Ge(cA({},A),{skipEscape:!0}))):typeof t=="object"&&(t=x0(u5(t,!0),Ge(cA({},A),{skipEscape:!0}))),typeof e=="string"?(e=unescape(e),e=x0(u5(LC(e,A),!0),Ge(cA({},A),{skipEscape:!0}))):typeof e=="object"&&(e=x0(u5(e,!0),Ge(cA({},A),{skipEscape:!0}))),t.toLowerCase()===e.toLowerCase()}function x0(t,e){let A={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},i=Object.assign({},e),n=[],o=kW(i.scheme||A.scheme);o&&o.serialize&&o.serialize(A,i),A.path!==void 0&&(i.skipEscape?A.path=unescape(A.path):(A.path=escape(A.path),A.scheme!==void 0&&(A.path=A.path.split("%3A").join(":")))),i.reference!=="suffix"&&A.scheme&&n.push(A.scheme,":");let a=xwA(A);if(a!==void 0&&(i.reference!=="suffix"&&n.push("//"),n.push(a),A.path&&A.path[0]!=="/"&&n.push("/")),A.path!==void 0){let r=A.path;!i.absolutePath&&(!o||!o.absolutePath)&&(r=y3(r)),a===void 0&&r[0]==="/"&&r[1]==="/"&&(r="/%2F"+r.slice(2)),n.push(r)}return A.query!==void 0&&n.push("?",A.query),A.fragment!==void 0&&n.push("#",A.fragment),n.join("")}var KwA=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function LC(t,e){let A=Object.assign({},e),i={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},n=!1;A.reference==="suffix"&&(A.scheme?t=A.scheme+":"+t:t="//"+t);let o=t.match(KwA);if(o){if(i.scheme=o[1],i.userinfo=o[3],i.host=o[4],i.port=parseInt(o[5],10),i.path=o[6]||"",i.query=o[7],i.fragment=o[8],isNaN(i.port)&&(i.port=o[5]),i.host)if(RwA(i.host)===!1){let s=SwA(i.host);i.host=s.host.toLowerCase(),n=s.isIPV6}else n=!0;i.scheme===void 0&&i.userinfo===void 0&&i.host===void 0&&i.port===void 0&&i.query===void 0&&!i.path?i.reference="same-document":i.scheme===void 0?i.reference="relative":i.fragment===void 0?i.reference="absolute":i.reference="uri",A.reference&&A.reference!=="suffix"&&A.reference!==i.reference&&(i.error=i.error||"URI is not a "+A.reference+" reference.");let a=kW(A.scheme||i.scheme);if(!A.unicodeSupport&&(!a||!a.unicodeSupport)&&i.host&&(A.domainHost||a&&a.domainHost)&&n===!1&&NwA(i.host))try{i.host=URL.domainToASCII(i.host.toLowerCase())}catch(r){i.error=i.error||"Host's domain name can not be converted to ASCII: "+r}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(i.scheme!==void 0&&(i.scheme=unescape(i.scheme)),i.host!==void 0&&(i.host=unescape(i.host))),i.path&&(i.path=escape(unescape(i.path))),i.fragment&&(i.fragment=encodeURI(decodeURIComponent(i.fragment)))),a&&a.parse&&a.parse(i,A)}else i.error=i.error||"URI can not be parsed.";return i}var _x={SCHEMES:FwA,normalize:_wA,resolve:LwA,resolveComponent:SW,equal:GwA,serialize:x0,parse:LC};f5.exports=_x;f5.exports.default=_x;f5.exports.fastUri=_x});var NW=qe(Lx=>{"use strict";Object.defineProperty(Lx,"__esModule",{value:!0});var RW=xW();RW.code='require("ajv/dist/runtime/uri").default';Lx.default=RW});var YW=qe(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.CodeGen=Pr.Name=Pr.nil=Pr.stringify=Pr.str=Pr._=Pr.KeywordCxt=void 0;var UwA=w3();Object.defineProperty(Pr,"KeywordCxt",{enumerable:!0,get:function(){return UwA.KeywordCxt}});var oQ=rn();Object.defineProperty(Pr,"_",{enumerable:!0,get:function(){return oQ._}});Object.defineProperty(Pr,"str",{enumerable:!0,get:function(){return oQ.str}});Object.defineProperty(Pr,"stringify",{enumerable:!0,get:function(){return oQ.stringify}});Object.defineProperty(Pr,"nil",{enumerable:!0,get:function(){return oQ.nil}});Object.defineProperty(Pr,"Name",{enumerable:!0,get:function(){return oQ.Name}});Object.defineProperty(Pr,"CodeGen",{enumerable:!0,get:function(){return oQ.CodeGen}});var JwA=d5(),KW=D3(),YwA=cx(),v3=E5(),TwA=rn(),b3=f3(),m5=u3(),Kx=On(),FW=uW(),HwA=NW(),UW=(t,e)=>new RegExp(t,e);UW.code="new RegExp";var zwA=["removeAdditional","useDefaults","coerceTypes"],OwA=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),PwA={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},jwA={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},_W=200;function qwA(t){var e,A,i,n,o,a,r,s,g,l,C,I,d,B,E,Q,f,b,S,M,D,F,_,U,J;let j=t.strict,AA=(e=t.code)===null||e===void 0?void 0:e.optimize,O=AA===!0||AA===void 0?1:AA||0,DA=(i=(A=t.code)===null||A===void 0?void 0:A.regExp)!==null&&i!==void 0?i:UW,P=(n=t.uriResolver)!==null&&n!==void 0?n:HwA.default;return{strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:j)!==null&&a!==void 0?a:!0,strictNumbers:(s=(r=t.strictNumbers)!==null&&r!==void 0?r:j)!==null&&s!==void 0?s:!0,strictTypes:(l=(g=t.strictTypes)!==null&&g!==void 0?g:j)!==null&&l!==void 0?l:"log",strictTuples:(I=(C=t.strictTuples)!==null&&C!==void 0?C:j)!==null&&I!==void 0?I:"log",strictRequired:(B=(d=t.strictRequired)!==null&&d!==void 0?d:j)!==null&&B!==void 0?B:!1,code:t.code?Ge(cA({},t.code),{optimize:O,regExp:DA}):{optimize:O,regExp:DA},loopRequired:(E=t.loopRequired)!==null&&E!==void 0?E:_W,loopEnum:(Q=t.loopEnum)!==null&&Q!==void 0?Q:_W,meta:(f=t.meta)!==null&&f!==void 0?f:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(M=t.schemaId)!==null&&M!==void 0?M:"$id",addUsedSchema:(D=t.addUsedSchema)!==null&&D!==void 0?D:!0,validateSchema:(F=t.validateSchema)!==null&&F!==void 0?F:!0,validateFormats:(_=t.validateFormats)!==null&&_!==void 0?_:!0,unicodeRegExp:(U=t.unicodeRegExp)!==null&&U!==void 0?U:!0,int32range:(J=t.int32range)!==null&&J!==void 0?J:!0,uriResolver:P}}var M3=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts=cA(cA({},e),qwA(e));let{es5:A,lines:i}=this.opts.code;this.scope=new TwA.ValueScope({scope:{},prefixes:OwA,es5:A,lines:i}),this.logger=A5A(e.logger);let n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,YwA.getRules)(),LW.call(this,PwA,e,"NOT SUPPORTED"),LW.call(this,jwA,e,"DEPRECATED","warn"),this._metaOpts=XwA.call(this),e.formats&&WwA.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&ZwA.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),VwA.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:A,schemaId:i}=this.opts,n=FW;i==="id"&&(n=cA({},FW),n.id=n.$id,delete n.$id),A&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){let{meta:e,schemaId:A}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[A]||e:void 0}validate(e,A){let i;if(typeof e=="string"){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);let n=i(A);return"$async"in i||(this.errors=i.errors),n}compile(e,A){let i=this._addSchema(e,A);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,A){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:i}=this.opts;return n.call(this,e,A);function n(l,C){return nt(this,null,function*(){yield o.call(this,l.$schema);let I=this._addSchema(l,C);return I.validate||a.call(this,I)})}function o(l){return nt(this,null,function*(){l&&!this.getSchema(l)&&(yield n.call(this,{$ref:l},!0))})}function a(l){return nt(this,null,function*(){try{return this._compileSchemaEnv(l)}catch(C){if(!(C instanceof KW.default))throw C;return r.call(this,C),yield s.call(this,C.missingSchema),a.call(this,l)}})}function r({missingSchema:l,missingRef:C}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${C} cannot be resolved`)}function s(l){return nt(this,null,function*(){let C=yield g.call(this,l);this.refs[l]||(yield o.call(this,C.$schema)),this.refs[l]||this.addSchema(C,l,A)})}function g(l){return nt(this,null,function*(){let C=this._loading[l];if(C)return C;try{return yield this._loading[l]=i(l)}finally{delete this._loading[l]}})}}addSchema(e,A,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,i,n);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return A=(0,b3.normalizeId)(A||o),this._checkUnique(A),this.schemas[A]=this._addSchema(e,i,A,n,!0),this}addMetaSchema(e,A,i=this.opts.validateSchema){return this.addSchema(e,A,!0,i),this}validateSchema(e,A){if(typeof e=="boolean")return!0;let i;if(i=e.$schema,i!==void 0&&typeof i!="string")throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let n=this.validate(i,e);if(!n&&A){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return n}getSchema(e){let A;for(;typeof(A=GW.call(this,e))=="string";)e=A;if(A===void 0){let{schemaId:i}=this.opts,n=new v3.SchemaEnv({schema:{},schemaId:i});if(A=v3.resolveSchema.call(this,n,e),!A)return;this.refs[e]=A}return A.validate||this._compileSchemaEnv(A)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let A=GW.call(this,e);return typeof A=="object"&&this._cache.delete(A.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let A=e;this._cache.delete(A);let i=e[this.opts.schemaId];return i&&(i=(0,b3.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let A of e)this.addKeyword(A);return this}addKeyword(e,A){let i;if(typeof e=="string")i=e,typeof A=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),A.keyword=i);else if(typeof e=="object"&&A===void 0){if(A=e,i=A.keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(t5A.call(this,i,A),!A)return(0,Kx.eachItem)(i,o=>Gx.call(this,o)),this;n5A.call(this,A);let n=Ge(cA({},A),{type:(0,m5.getJSONTypes)(A.type),schemaType:(0,m5.getJSONTypes)(A.schemaType)});return(0,Kx.eachItem)(i,n.type.length===0?o=>Gx.call(this,o,n):o=>n.type.forEach(a=>Gx.call(this,o,n,a))),this}getKeyword(e){let A=this.RULES.all[e];return typeof A=="object"?A.definition:!!A}removeKeyword(e){let{RULES:A}=this;delete A.keywords[e],delete A.all[e];for(let i of A.rules){let n=i.rules.findIndex(o=>o.keyword===e);n>=0&&i.rules.splice(n,1)}return this}addFormat(e,A){return typeof A=="string"&&(A=new RegExp(A)),this.formats[e]=A,this}errorsText(e=this.errors,{separator:A=", ",dataVar:i="data"}={}){return!e||e.length===0?"No errors":e.map(n=>`${i}${n.instancePath} ${n.message}`).reduce((n,o)=>n+A+o)}$dataMetaSchema(e,A){let i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let n of A){let o=n.split("/").slice(1),a=e;for(let r of o)a=a[r];for(let r in i){let s=i[r];if(typeof s!="object")continue;let{$data:g}=s.definition,l=a[r];g&&l&&(a[r]=JW(l))}}return e}_removeAllSchemas(e,A){for(let i in e){let n=e[i];(!A||A.test(i))&&(typeof n=="string"?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,A,i,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:r}=this.opts;if(typeof e=="object")a=e[r];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let s=this._cache.get(e);if(s!==void 0)return s;i=(0,b3.normalizeId)(a||i);let g=b3.getSchemaRefs.call(this,e,i);return s=new v3.SchemaEnv({schema:e,schemaId:r,meta:A,baseId:i,localRefs:g}),this._cache.set(s.schema,s),o&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=s),n&&this.validateSchema(e,!0),s}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):v3.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let A=this.opts;this.opts=this._metaOpts;try{v3.compileSchema.call(this,e)}finally{this.opts=A}}};M3.ValidationError=JwA.default;M3.MissingRefError=KW.default;Pr.default=M3;function LW(t,e,A,i="error"){for(let n in t){let o=n;o in e&&this.logger[i](`${A}: option ${n}. ${t[o]}`)}}function GW(t){return t=(0,b3.normalizeId)(t),this.schemas[t]||this.refs[t]}function VwA(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function WwA(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function ZwA(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let A=t[e];A.keyword||(A.keyword=e),this.addKeyword(A)}}function XwA(){let t=cA({},this.opts);for(let e of zwA)delete t[e];return t}var $wA={log(){},warn(){},error(){}};function A5A(t){if(t===!1)return $wA;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var e5A=/^[a-z_$][a-z0-9_$:-]*$/i;function t5A(t,e){let{RULES:A}=this;if((0,Kx.eachItem)(t,i=>{if(A.keywords[i])throw new Error(`Keyword ${i} is already defined`);if(!e5A.test(i))throw new Error(`Keyword ${i} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Gx(t,e,A){var i;let n=e?.post;if(A&&n)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=n?o.post:o.rules.find(({type:s})=>s===A);if(a||(a={type:A,rules:[]},o.rules.push(a)),o.keywords[t]=!0,!e)return;let r={keyword:t,definition:Ge(cA({},e),{type:(0,m5.getJSONTypes)(e.type),schemaType:(0,m5.getJSONTypes)(e.schemaType)})};e.before?i5A.call(this,a,r,e.before):a.rules.push(r),o.all[t]=r,(i=e.implements)===null||i===void 0||i.forEach(s=>this.addKeyword(s))}function i5A(t,e,A){let i=t.rules.findIndex(n=>n.keyword===A);i>=0?t.rules.splice(i,0,e):(t.rules.push(e),this.logger.warn(`rule ${A} is not defined`))}function n5A(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=JW(e)),t.validateSchema=this.compile(e,!0))}var o5A={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function JW(t){return{anyOf:[t,o5A]}}});var TW=qe(Ux=>{"use strict";Object.defineProperty(Ux,"__esModule",{value:!0});var a5A={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ux.default=a5A});var PW=qe(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.callRef=Cd.getValidate=void 0;var r5A=D3(),HW=vl(),Eg=rn(),aQ=FC(),zW=E5(),p5=On(),s5A={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:A,it:i}=t,{baseId:n,schemaEnv:o,validateName:a,opts:r,self:s}=i,{root:g}=o;if((A==="#"||A==="#/")&&n===g.baseId)return C();let l=zW.resolveRef.call(s,g,n,A);if(l===void 0)throw new r5A.default(i.opts.uriResolver,n,A);if(l instanceof zW.SchemaEnv)return I(l);return d(l);function C(){if(o===g)return w5(t,a,o,o.$async);let B=e.scopeValue("root",{ref:g});return w5(t,(0,Eg._)`${B}.validate`,g,g.$async)}function I(B){let E=OW(t,B);w5(t,E,B,B.$async)}function d(B){let E=e.scopeValue("schema",r.code.source===!0?{ref:B,code:(0,Eg.stringify)(B)}:{ref:B}),Q=e.name("valid"),f=t.subschema({schema:B,dataTypes:[],schemaPath:Eg.nil,topSchemaRef:E,errSchemaPath:A},Q);t.mergeEvaluated(f),t.ok(Q)}}};function OW(t,e){let{gen:A}=t;return e.validate?A.scopeValue("validate",{ref:e.validate}):(0,Eg._)`${A.scopeValue("wrapper",{ref:e})}.validate`}Cd.getValidate=OW;function w5(t,e,A,i){let{gen:n,it:o}=t,{allErrors:a,schemaEnv:r,opts:s}=o,g=s.passContext?aQ.default.this:Eg.nil;i?l():C();function l(){if(!r.$async)throw new Error("async schema referenced by sync schema");let B=n.let("valid");n.try(()=>{n.code((0,Eg._)`await ${(0,HW.callValidateCode)(t,e,g)}`),d(e),a||n.assign(B,!0)},E=>{n.if((0,Eg._)`!(${E} instanceof ${o.ValidationError})`,()=>n.throw(E)),I(E),a||n.assign(B,!1)}),t.ok(B)}function C(){t.result((0,HW.callValidateCode)(t,e,g),()=>d(e),()=>I(e))}function I(B){let E=(0,Eg._)`${B}.errors`;n.assign(aQ.default.vErrors,(0,Eg._)`${aQ.default.vErrors} === null ? ${E} : ${aQ.default.vErrors}.concat(${E})`),n.assign(aQ.default.errors,(0,Eg._)`${aQ.default.vErrors}.length`)}function d(B){var E;if(!o.opts.unevaluated)return;let Q=(E=A?.validate)===null||E===void 0?void 0:E.evaluated;if(o.props!==!0)if(Q&&!Q.dynamicProps)Q.props!==void 0&&(o.props=p5.mergeEvaluated.props(n,Q.props,o.props));else{let f=n.var("props",(0,Eg._)`${B}.evaluated.props`);o.props=p5.mergeEvaluated.props(n,f,o.props,Eg.Name)}if(o.items!==!0)if(Q&&!Q.dynamicItems)Q.items!==void 0&&(o.items=p5.mergeEvaluated.items(n,Q.items,o.items));else{let f=n.var("items",(0,Eg._)`${B}.evaluated.items`);o.items=p5.mergeEvaluated.items(n,f,o.items,Eg.Name)}}}Cd.callRef=w5;Cd.default=s5A});var jW=qe(Jx=>{"use strict";Object.defineProperty(Jx,"__esModule",{value:!0});var g5A=TW(),l5A=PW(),c5A=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",g5A.default,l5A.default];Jx.default=c5A});var qW=qe(Yx=>{"use strict";Object.defineProperty(Yx,"__esModule",{value:!0});var D5=rn(),pI=D5.operators,y5={maximum:{okStr:"<=",ok:pI.LTE,fail:pI.GT},minimum:{okStr:">=",ok:pI.GTE,fail:pI.LT},exclusiveMaximum:{okStr:"<",ok:pI.LT,fail:pI.GTE},exclusiveMinimum:{okStr:">",ok:pI.GT,fail:pI.LTE}},C5A={message:({keyword:t,schemaCode:e})=>(0,D5.str)`must be ${y5[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,D5._)`{comparison: ${y5[t].okStr}, limit: ${e}}`},I5A={keyword:Object.keys(y5),type:"number",schemaType:"number",$data:!0,error:C5A,code(t){let{keyword:e,data:A,schemaCode:i}=t;t.fail$data((0,D5._)`${A} ${y5[e].fail} ${i} || isNaN(${A})`)}};Yx.default=I5A});var VW=qe(Tx=>{"use strict";Object.defineProperty(Tx,"__esModule",{value:!0});var k3=rn(),d5A={message:({schemaCode:t})=>(0,k3.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,k3._)`{multipleOf: ${t}}`},B5A={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:d5A,code(t){let{gen:e,data:A,schemaCode:i,it:n}=t,o=n.opts.multipleOfPrecision,a=e.let("res"),r=o?(0,k3._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0,k3._)`${a} !== parseInt(${a})`;t.fail$data((0,k3._)`(${i} === 0 || (${a} = ${A}/${i}, ${r}))`)}};Tx.default=B5A});var ZW=qe(Hx=>{"use strict";Object.defineProperty(Hx,"__esModule",{value:!0});function WW(t){let e=t.length,A=0,i=0,n;for(;i=55296&&n<=56319&&i{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});var Id=rn(),E5A=On(),Q5A=ZW(),h5A={message({keyword:t,schemaCode:e}){let A=t==="maxLength"?"more":"fewer";return(0,Id.str)`must NOT have ${A} than ${e} characters`},params:({schemaCode:t})=>(0,Id._)`{limit: ${t}}`},u5A={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:h5A,code(t){let{keyword:e,data:A,schemaCode:i,it:n}=t,o=e==="maxLength"?Id.operators.GT:Id.operators.LT,a=n.opts.unicode===!1?(0,Id._)`${A}.length`:(0,Id._)`${(0,E5A.useFunc)(t.gen,Q5A.default)}(${A})`;t.fail$data((0,Id._)`${a} ${o} ${i}`)}};zx.default=u5A});var $W=qe(Ox=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var f5A=vl(),v5=rn(),m5A={message:({schemaCode:t})=>(0,v5.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,v5._)`{pattern: ${t}}`},p5A={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:m5A,code(t){let{data:e,$data:A,schema:i,schemaCode:n,it:o}=t,a=o.opts.unicodeRegExp?"u":"",r=A?(0,v5._)`(new RegExp(${n}, ${a}))`:(0,f5A.usePattern)(t,i);t.fail$data((0,v5._)`!${r}.test(${e})`)}};Ox.default=p5A});var AZ=qe(Px=>{"use strict";Object.defineProperty(Px,"__esModule",{value:!0});var S3=rn(),w5A={message({keyword:t,schemaCode:e}){let A=t==="maxProperties"?"more":"fewer";return(0,S3.str)`must NOT have ${A} than ${e} properties`},params:({schemaCode:t})=>(0,S3._)`{limit: ${t}}`},D5A={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:w5A,code(t){let{keyword:e,data:A,schemaCode:i}=t,n=e==="maxProperties"?S3.operators.GT:S3.operators.LT;t.fail$data((0,S3._)`Object.keys(${A}).length ${n} ${i}`)}};Px.default=D5A});var eZ=qe(jx=>{"use strict";Object.defineProperty(jx,"__esModule",{value:!0});var x3=vl(),R3=rn(),y5A=On(),v5A={message:({params:{missingProperty:t}})=>(0,R3.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,R3._)`{missingProperty: ${t}}`},b5A={keyword:"required",type:"object",schemaType:"array",$data:!0,error:v5A,code(t){let{gen:e,schema:A,schemaCode:i,data:n,$data:o,it:a}=t,{opts:r}=a;if(!o&&A.length===0)return;let s=A.length>=r.loopRequired;if(a.allErrors?g():l(),r.strictRequired){let d=t.parentSchema.properties,{definedProperties:B}=t.it;for(let E of A)if(d?.[E]===void 0&&!B.has(E)){let Q=a.schemaEnv.baseId+a.errSchemaPath,f=`required property "${E}" is not defined at "${Q}" (strictRequired)`;(0,y5A.checkStrictMode)(a,f,a.opts.strictRequired)}}function g(){if(s||o)t.block$data(R3.nil,C);else for(let d of A)(0,x3.checkReportMissingProp)(t,d)}function l(){let d=e.let("missing");if(s||o){let B=e.let("valid",!0);t.block$data(B,()=>I(d,B)),t.ok(B)}else e.if((0,x3.checkMissingProp)(t,A,d)),(0,x3.reportMissingProp)(t,d),e.else()}function C(){e.forOf("prop",i,d=>{t.setParams({missingProperty:d}),e.if((0,x3.noPropertyInData)(e,n,d,r.ownProperties),()=>t.error())})}function I(d,B){t.setParams({missingProperty:d}),e.forOf(d,i,()=>{e.assign(B,(0,x3.propertyInData)(e,n,d,r.ownProperties)),e.if((0,R3.not)(B),()=>{t.error(),e.break()})},R3.nil)}}};jx.default=b5A});var tZ=qe(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var N3=rn(),M5A={message({keyword:t,schemaCode:e}){let A=t==="maxItems"?"more":"fewer";return(0,N3.str)`must NOT have ${A} than ${e} items`},params:({schemaCode:t})=>(0,N3._)`{limit: ${t}}`},k5A={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:M5A,code(t){let{keyword:e,data:A,schemaCode:i}=t,n=e==="maxItems"?N3.operators.GT:N3.operators.LT;t.fail$data((0,N3._)`${A}.length ${n} ${i}`)}};qx.default=k5A});var b5=qe(Vx=>{"use strict";Object.defineProperty(Vx,"__esModule",{value:!0});var iZ=ux();iZ.code='require("ajv/dist/runtime/equal").default';Vx.default=iZ});var nZ=qe(Zx=>{"use strict";Object.defineProperty(Zx,"__esModule",{value:!0});var Wx=u3(),jr=rn(),S5A=On(),x5A=b5(),R5A={message:({params:{i:t,j:e}})=>(0,jr.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,jr._)`{i: ${t}, j: ${e}}`},N5A={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:R5A,code(t){let{gen:e,data:A,$data:i,schema:n,parentSchema:o,schemaCode:a,it:r}=t;if(!i&&!n)return;let s=e.let("valid"),g=o.items?(0,Wx.getSchemaTypes)(o.items):[];t.block$data(s,l,(0,jr._)`${a} === false`),t.ok(s);function l(){let B=e.let("i",(0,jr._)`${A}.length`),E=e.let("j");t.setParams({i:B,j:E}),e.assign(s,!0),e.if((0,jr._)`${B} > 1`,()=>(C()?I:d)(B,E))}function C(){return g.length>0&&!g.some(B=>B==="object"||B==="array")}function I(B,E){let Q=e.name("item"),f=(0,Wx.checkDataTypes)(g,Q,r.opts.strictNumbers,Wx.DataType.Wrong),b=e.const("indices",(0,jr._)`{}`);e.for((0,jr._)`;${B}--;`,()=>{e.let(Q,(0,jr._)`${A}[${B}]`),e.if(f,(0,jr._)`continue`),g.length>1&&e.if((0,jr._)`typeof ${Q} == "string"`,(0,jr._)`${Q} += "_"`),e.if((0,jr._)`typeof ${b}[${Q}] == "number"`,()=>{e.assign(E,(0,jr._)`${b}[${Q}]`),t.error(),e.assign(s,!1).break()}).code((0,jr._)`${b}[${Q}] = ${B}`)})}function d(B,E){let Q=(0,S5A.useFunc)(e,x5A.default),f=e.name("outer");e.label(f).for((0,jr._)`;${B}--;`,()=>e.for((0,jr._)`${E} = ${B}; ${E}--;`,()=>e.if((0,jr._)`${Q}(${A}[${B}], ${A}[${E}])`,()=>{t.error(),e.assign(s,!1).break(f)})))}}};Zx.default=N5A});var oZ=qe($x=>{"use strict";Object.defineProperty($x,"__esModule",{value:!0});var Xx=rn(),F5A=On(),_5A=b5(),L5A={message:"must be equal to constant",params:({schemaCode:t})=>(0,Xx._)`{allowedValue: ${t}}`},G5A={keyword:"const",$data:!0,error:L5A,code(t){let{gen:e,data:A,$data:i,schemaCode:n,schema:o}=t;i||o&&typeof o=="object"?t.fail$data((0,Xx._)`!${(0,F5A.useFunc)(e,_5A.default)}(${A}, ${n})`):t.fail((0,Xx._)`${o} !== ${A}`)}};$x.default=G5A});var aZ=qe(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});var F3=rn(),K5A=On(),U5A=b5(),J5A={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,F3._)`{allowedValues: ${t}}`},Y5A={keyword:"enum",schemaType:"array",$data:!0,error:J5A,code(t){let{gen:e,data:A,$data:i,schema:n,schemaCode:o,it:a}=t;if(!i&&n.length===0)throw new Error("enum must have non-empty array");let r=n.length>=a.opts.loopEnum,s,g=()=>s??(s=(0,K5A.useFunc)(e,U5A.default)),l;if(r||i)l=e.let("valid"),t.block$data(l,C);else{if(!Array.isArray(n))throw new Error("ajv implementation error");let d=e.const("vSchema",o);l=(0,F3.or)(...n.map((B,E)=>I(d,E)))}t.pass(l);function C(){e.assign(l,!1),e.forOf("v",o,d=>e.if((0,F3._)`${g()}(${A}, ${d})`,()=>e.assign(l,!0).break()))}function I(d,B){let E=n[B];return typeof E=="object"&&E!==null?(0,F3._)`${g()}(${A}, ${d}[${B}])`:(0,F3._)`${A} === ${E}`}}};AR.default=Y5A});var rZ=qe(eR=>{"use strict";Object.defineProperty(eR,"__esModule",{value:!0});var T5A=qW(),H5A=VW(),z5A=XW(),O5A=$W(),P5A=AZ(),j5A=eZ(),q5A=tZ(),V5A=nZ(),W5A=oZ(),Z5A=aZ(),X5A=[T5A.default,H5A.default,z5A.default,O5A.default,P5A.default,j5A.default,q5A.default,V5A.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},W5A.default,Z5A.default];eR.default=X5A});var iR=qe(_3=>{"use strict";Object.defineProperty(_3,"__esModule",{value:!0});_3.validateAdditionalItems=void 0;var dd=rn(),tR=On(),$5A={message:({params:{len:t}})=>(0,dd.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,dd._)`{limit: ${t}}`},ADA={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:$5A,code(t){let{parentSchema:e,it:A}=t,{items:i}=e;if(!Array.isArray(i)){(0,tR.checkStrictMode)(A,'"additionalItems" is ignored when "items" is not an array of schemas');return}sZ(t,i)}};function sZ(t,e){let{gen:A,schema:i,data:n,keyword:o,it:a}=t;a.items=!0;let r=A.const("len",(0,dd._)`${n}.length`);if(i===!1)t.setParams({len:e.length}),t.pass((0,dd._)`${r} <= ${e.length}`);else if(typeof i=="object"&&!(0,tR.alwaysValidSchema)(a,i)){let g=A.var("valid",(0,dd._)`${r} <= ${e.length}`);A.if((0,dd.not)(g),()=>s(g)),t.ok(g)}function s(g){A.forRange("i",e.length,r,l=>{t.subschema({keyword:o,dataProp:l,dataPropType:tR.Type.Num},g),a.allErrors||A.if((0,dd.not)(g),()=>A.break())})}}_3.validateAdditionalItems=sZ;_3.default=ADA});var nR=qe(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});L3.validateTuple=void 0;var gZ=rn(),M5=On(),eDA=vl(),tDA={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:A}=t;if(Array.isArray(e))return lZ(t,"additionalItems",e);A.items=!0,!(0,M5.alwaysValidSchema)(A,e)&&t.ok((0,eDA.validateArray)(t))}};function lZ(t,e,A=t.schema){let{gen:i,parentSchema:n,data:o,keyword:a,it:r}=t;l(n),r.opts.unevaluated&&A.length&&r.items!==!0&&(r.items=M5.mergeEvaluated.items(i,A.length,r.items));let s=i.name("valid"),g=i.const("len",(0,gZ._)`${o}.length`);A.forEach((C,I)=>{(0,M5.alwaysValidSchema)(r,C)||(i.if((0,gZ._)`${g} > ${I}`,()=>t.subschema({keyword:a,schemaProp:I,dataProp:I},s)),t.ok(s))});function l(C){let{opts:I,errSchemaPath:d}=r,B=A.length,E=B===C.minItems&&(B===C.maxItems||C[e]===!1);if(I.strictTuples&&!E){let Q=`"${a}" is ${B}-tuple, but minItems or maxItems/${e} are not specified or different at path "${d}"`;(0,M5.checkStrictMode)(r,Q,I.strictTuples)}}}L3.validateTuple=lZ;L3.default=tDA});var cZ=qe(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var iDA=nR(),nDA={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,iDA.validateTuple)(t,"items")};oR.default=nDA});var IZ=qe(aR=>{"use strict";Object.defineProperty(aR,"__esModule",{value:!0});var CZ=rn(),oDA=On(),aDA=vl(),rDA=iR(),sDA={message:({params:{len:t}})=>(0,CZ.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,CZ._)`{limit: ${t}}`},gDA={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:sDA,code(t){let{schema:e,parentSchema:A,it:i}=t,{prefixItems:n}=A;i.items=!0,!(0,oDA.alwaysValidSchema)(i,e)&&(n?(0,rDA.validateAdditionalItems)(t,n):t.ok((0,aDA.validateArray)(t)))}};aR.default=gDA});var dZ=qe(rR=>{"use strict";Object.defineProperty(rR,"__esModule",{value:!0});var Ml=rn(),k5=On(),lDA={message:({params:{min:t,max:e}})=>e===void 0?(0,Ml.str)`must contain at least ${t} valid item(s)`:(0,Ml.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Ml._)`{minContains: ${t}}`:(0,Ml._)`{minContains: ${t}, maxContains: ${e}}`},cDA={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:lDA,code(t){let{gen:e,schema:A,parentSchema:i,data:n,it:o}=t,a,r,{minContains:s,maxContains:g}=i;o.opts.next?(a=s===void 0?1:s,r=g):a=1;let l=e.const("len",(0,Ml._)`${n}.length`);if(t.setParams({min:a,max:r}),r===void 0&&a===0){(0,k5.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(r!==void 0&&a>r){(0,k5.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,k5.alwaysValidSchema)(o,A)){let E=(0,Ml._)`${l} >= ${a}`;r!==void 0&&(E=(0,Ml._)`${E} && ${l} <= ${r}`),t.pass(E);return}o.items=!0;let C=e.name("valid");r===void 0&&a===1?d(C,()=>e.if(C,()=>e.break())):a===0?(e.let(C,!0),r!==void 0&&e.if((0,Ml._)`${n}.length > 0`,I)):(e.let(C,!1),I()),t.result(C,()=>t.reset());function I(){let E=e.name("_valid"),Q=e.let("count",0);d(E,()=>e.if(E,()=>B(Q)))}function d(E,Q){e.forRange("i",0,l,f=>{t.subschema({keyword:"contains",dataProp:f,dataPropType:k5.Type.Num,compositeRule:!0},E),Q()})}function B(E){e.code((0,Ml._)`${E}++`),r===void 0?e.if((0,Ml._)`${E} >= ${a}`,()=>e.assign(C,!0).break()):(e.if((0,Ml._)`${E} > ${r}`,()=>e.assign(C,!1).break()),a===1?e.assign(C,!0):e.if((0,Ml._)`${E} >= ${a}`,()=>e.assign(C,!0)))}}};rR.default=cDA});var QZ=qe(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});R0.validateSchemaDeps=R0.validatePropertyDeps=R0.error=void 0;var sR=rn(),CDA=On(),G3=vl();R0.error={message:({params:{property:t,depsCount:e,deps:A}})=>{let i=e===1?"property":"properties";return(0,sR.str)`must have ${i} ${A} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:A,missingProperty:i}})=>(0,sR._)`{property: ${t}, - missingProperty: ${i}, - depsCount: ${e}, - deps: ${A}}`};var IDA={keyword:"dependencies",type:"object",schemaType:"object",error:R0.error,code(t){let[e,A]=dDA(t);BZ(t,e),EZ(t,A)}};function dDA({schema:t}){let e={},A={};for(let i in t){if(i==="__proto__")continue;let n=Array.isArray(t[i])?e:A;n[i]=t[i]}return[e,A]}function BZ(t,e=t.schema){let{gen:A,data:i,it:n}=t;if(Object.keys(e).length===0)return;let o=A.let("missing");for(let a in e){let r=e[a];if(r.length===0)continue;let s=(0,G3.propertyInData)(A,i,a,n.opts.ownProperties);t.setParams({property:a,depsCount:r.length,deps:r.join(", ")}),n.allErrors?A.if(s,()=>{for(let g of r)(0,G3.checkReportMissingProp)(t,g)}):(A.if((0,sR._)`${s} && (${(0,G3.checkMissingProp)(t,r,o)})`),(0,G3.reportMissingProp)(t,o),A.else())}}R0.validatePropertyDeps=BZ;function EZ(t,e=t.schema){let{gen:A,data:i,keyword:n,it:o}=t,a=A.name("valid");for(let r in e)(0,CDA.alwaysValidSchema)(o,e[r])||(A.if((0,G3.propertyInData)(A,i,r,o.opts.ownProperties),()=>{let s=t.subschema({keyword:n,schemaProp:r},a);t.mergeValidEvaluated(s,a)},()=>A.var(a,!0)),t.ok(a))}R0.validateSchemaDeps=EZ;R0.default=IDA});var uZ=qe(gR=>{"use strict";Object.defineProperty(gR,"__esModule",{value:!0});var hZ=rn(),BDA=On(),EDA={message:"property name must be valid",params:({params:t})=>(0,hZ._)`{propertyName: ${t.propertyName}}`},QDA={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:EDA,code(t){let{gen:e,schema:A,data:i,it:n}=t;if((0,BDA.alwaysValidSchema)(n,A))return;let o=e.name("valid");e.forIn("key",i,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},o),e.if((0,hZ.not)(o),()=>{t.error(!0),n.allErrors||e.break()})}),t.ok(o)}};gR.default=QDA});var cR=qe(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});var S5=vl(),vc=rn(),hDA=FC(),x5=On(),uDA={message:"must NOT have additional properties",params:({params:t})=>(0,vc._)`{additionalProperty: ${t.additionalProperty}}`},fDA={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:uDA,code(t){let{gen:e,schema:A,parentSchema:i,data:n,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:r,opts:s}=a;if(a.props=!0,s.removeAdditional!=="all"&&(0,x5.alwaysValidSchema)(a,A))return;let g=(0,S5.allSchemaProperties)(i.properties),l=(0,S5.allSchemaProperties)(i.patternProperties);C(),t.ok((0,vc._)`${o} === ${hDA.default.errors}`);function C(){e.forIn("key",n,Q=>{!g.length&&!l.length?B(Q):e.if(I(Q),()=>B(Q))})}function I(Q){let f;if(g.length>8){let b=(0,x5.schemaRefOrVal)(a,i.properties,"properties");f=(0,S5.isOwnProperty)(e,b,Q)}else g.length?f=(0,vc.or)(...g.map(b=>(0,vc._)`${Q} === ${b}`)):f=vc.nil;return l.length&&(f=(0,vc.or)(f,...l.map(b=>(0,vc._)`${(0,S5.usePattern)(t,b)}.test(${Q})`))),(0,vc.not)(f)}function d(Q){e.code((0,vc._)`delete ${n}[${Q}]`)}function B(Q){if(s.removeAdditional==="all"||s.removeAdditional&&A===!1){d(Q);return}if(A===!1){t.setParams({additionalProperty:Q}),t.error(),r||e.break();return}if(typeof A=="object"&&!(0,x5.alwaysValidSchema)(a,A)){let f=e.name("valid");s.removeAdditional==="failing"?(E(Q,f,!1),e.if((0,vc.not)(f),()=>{t.reset(),d(Q)})):(E(Q,f),r||e.if((0,vc.not)(f),()=>e.break()))}}function E(Q,f,b){let S={keyword:"additionalProperties",dataProp:Q,dataPropType:x5.Type.Str};b===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,f)}}};lR.default=fDA});var pZ=qe(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var mDA=w3(),fZ=vl(),CR=On(),mZ=cR(),pDA={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:A,parentSchema:i,data:n,it:o}=t;o.opts.removeAdditional==="all"&&i.additionalProperties===void 0&&mZ.default.code(new mDA.KeywordCxt(o,mZ.default,"additionalProperties"));let a=(0,fZ.allSchemaProperties)(A);for(let C of a)o.definedProperties.add(C);o.opts.unevaluated&&a.length&&o.props!==!0&&(o.props=CR.mergeEvaluated.props(e,(0,CR.toHash)(a),o.props));let r=a.filter(C=>!(0,CR.alwaysValidSchema)(o,A[C]));if(r.length===0)return;let s=e.name("valid");for(let C of r)g(C)?l(C):(e.if((0,fZ.propertyInData)(e,n,C,o.opts.ownProperties)),l(C),o.allErrors||e.else().var(s,!0),e.endIf()),t.it.definedProperties.add(C),t.ok(s);function g(C){return o.opts.useDefaults&&!o.compositeRule&&A[C].default!==void 0}function l(C){t.subschema({keyword:"properties",schemaProp:C,dataProp:C},s)}}};IR.default=pDA});var vZ=qe(dR=>{"use strict";Object.defineProperty(dR,"__esModule",{value:!0});var wZ=vl(),R5=rn(),DZ=On(),yZ=On(),wDA={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:A,data:i,parentSchema:n,it:o}=t,{opts:a}=o,r=(0,wZ.allSchemaProperties)(A),s=r.filter(E=>(0,DZ.alwaysValidSchema)(o,A[E]));if(r.length===0||s.length===r.length&&(!o.opts.unevaluated||o.props===!0))return;let g=a.strictSchema&&!a.allowMatchingProperties&&n.properties,l=e.name("valid");o.props!==!0&&!(o.props instanceof R5.Name)&&(o.props=(0,yZ.evaluatedPropsToName)(e,o.props));let{props:C}=o;I();function I(){for(let E of r)g&&d(E),o.allErrors?B(E):(e.var(l,!0),B(E),e.if(l))}function d(E){for(let Q in g)new RegExp(E).test(Q)&&(0,DZ.checkStrictMode)(o,`property ${Q} matches pattern ${E} (use allowMatchingProperties)`)}function B(E){e.forIn("key",i,Q=>{e.if((0,R5._)`${(0,wZ.usePattern)(t,E)}.test(${Q})`,()=>{let f=s.includes(E);f||t.subschema({keyword:"patternProperties",schemaProp:E,dataProp:Q,dataPropType:yZ.Type.Str},l),o.opts.unevaluated&&C!==!0?e.assign((0,R5._)`${C}[${Q}]`,!0):!f&&!o.allErrors&&e.if((0,R5.not)(l),()=>e.break())})})}}};dR.default=wDA});var bZ=qe(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});var DDA=On(),yDA={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:A,it:i}=t;if((0,DDA.alwaysValidSchema)(i,A)){t.fail();return}let n=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),t.failResult(n,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};BR.default=yDA});var MZ=qe(ER=>{"use strict";Object.defineProperty(ER,"__esModule",{value:!0});var vDA=vl(),bDA={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:vDA.validateUnion,error:{message:"must match a schema in anyOf"}};ER.default=bDA});var kZ=qe(QR=>{"use strict";Object.defineProperty(QR,"__esModule",{value:!0});var N5=rn(),MDA=On(),kDA={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,N5._)`{passingSchemas: ${t.passing}}`},SDA={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:kDA,code(t){let{gen:e,schema:A,parentSchema:i,it:n}=t;if(!Array.isArray(A))throw new Error("ajv implementation error");if(n.opts.discriminator&&i.discriminator)return;let o=A,a=e.let("valid",!1),r=e.let("passing",null),s=e.name("_valid");t.setParams({passing:r}),e.block(g),t.result(a,()=>t.reset(),()=>t.error(!0));function g(){o.forEach((l,C)=>{let I;(0,MDA.alwaysValidSchema)(n,l)?e.var(s,!0):I=t.subschema({keyword:"oneOf",schemaProp:C,compositeRule:!0},s),C>0&&e.if((0,N5._)`${s} && ${a}`).assign(a,!1).assign(r,(0,N5._)`[${r}, ${C}]`).else(),e.if(s,()=>{e.assign(a,!0),e.assign(r,C),I&&t.mergeEvaluated(I,N5.Name)})})}}};QR.default=SDA});var SZ=qe(hR=>{"use strict";Object.defineProperty(hR,"__esModule",{value:!0});var xDA=On(),RDA={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:A,it:i}=t;if(!Array.isArray(A))throw new Error("ajv implementation error");let n=e.name("valid");A.forEach((o,a)=>{if((0,xDA.alwaysValidSchema)(i,o))return;let r=t.subschema({keyword:"allOf",schemaProp:a},n);t.ok(n),t.mergeEvaluated(r)})}};hR.default=RDA});var NZ=qe(uR=>{"use strict";Object.defineProperty(uR,"__esModule",{value:!0});var F5=rn(),RZ=On(),NDA={message:({params:t})=>(0,F5.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,F5._)`{failingKeyword: ${t.ifClause}}`},FDA={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:NDA,code(t){let{gen:e,parentSchema:A,it:i}=t;A.then===void 0&&A.else===void 0&&(0,RZ.checkStrictMode)(i,'"if" without "then" and "else" is ignored');let n=xZ(i,"then"),o=xZ(i,"else");if(!n&&!o)return;let a=e.let("valid",!0),r=e.name("_valid");if(s(),t.reset(),n&&o){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(r,g("then",l),g("else",l))}else n?e.if(r,g("then")):e.if((0,F5.not)(r),g("else"));t.pass(a,()=>t.error(!0));function s(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},r);t.mergeEvaluated(l)}function g(l,C){return()=>{let I=t.subschema({keyword:l},r);e.assign(a,r),t.mergeValidEvaluated(I,a),C?e.assign(C,(0,F5._)`${l}`):t.setParams({ifClause:l})}}}};function xZ(t,e){let A=t.schema[e];return A!==void 0&&!(0,RZ.alwaysValidSchema)(t,A)}uR.default=FDA});var FZ=qe(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});var _DA=On(),LDA={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:A}){e.if===void 0&&(0,_DA.checkStrictMode)(A,`"${t}" without "if" is ignored`)}};fR.default=LDA});var _Z=qe(mR=>{"use strict";Object.defineProperty(mR,"__esModule",{value:!0});var GDA=iR(),KDA=cZ(),UDA=nR(),JDA=IZ(),YDA=dZ(),TDA=QZ(),HDA=uZ(),zDA=cR(),ODA=pZ(),PDA=vZ(),jDA=bZ(),qDA=MZ(),VDA=kZ(),WDA=SZ(),ZDA=NZ(),XDA=FZ();function $DA(t=!1){let e=[jDA.default,qDA.default,VDA.default,WDA.default,ZDA.default,XDA.default,HDA.default,zDA.default,TDA.default,ODA.default,PDA.default];return t?e.push(KDA.default,JDA.default):e.push(GDA.default,UDA.default),e.push(YDA.default),e}mR.default=$DA});var LZ=qe(pR=>{"use strict";Object.defineProperty(pR,"__esModule",{value:!0});var Ar=rn(),AyA={message:({schemaCode:t})=>(0,Ar.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ar._)`{format: ${t}}`},eyA={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:AyA,code(t,e){let{gen:A,data:i,$data:n,schema:o,schemaCode:a,it:r}=t,{opts:s,errSchemaPath:g,schemaEnv:l,self:C}=r;if(!s.validateFormats)return;n?I():d();function I(){let B=A.scopeValue("formats",{ref:C.formats,code:s.code.formats}),E=A.const("fDef",(0,Ar._)`${B}[${a}]`),Q=A.let("fType"),f=A.let("format");A.if((0,Ar._)`typeof ${E} == "object" && !(${E} instanceof RegExp)`,()=>A.assign(Q,(0,Ar._)`${E}.type || "string"`).assign(f,(0,Ar._)`${E}.validate`),()=>A.assign(Q,(0,Ar._)`"string"`).assign(f,E)),t.fail$data((0,Ar.or)(b(),S()));function b(){return s.strictSchema===!1?Ar.nil:(0,Ar._)`${a} && !${f}`}function S(){let M=l.$async?(0,Ar._)`(${E}.async ? await ${f}(${i}) : ${f}(${i}))`:(0,Ar._)`${f}(${i})`,D=(0,Ar._)`(typeof ${f} == "function" ? ${M} : ${f}.test(${i}))`;return(0,Ar._)`${f} && ${f} !== true && ${Q} === ${e} && !${D}`}}function d(){let B=C.formats[o];if(!B){b();return}if(B===!0)return;let[E,Q,f]=S(B);E===e&&t.pass(M());function b(){if(s.strictSchema===!1){C.logger.warn(D());return}throw new Error(D());function D(){return`unknown format "${o}" ignored in schema at path "${g}"`}}function S(D){let F=D instanceof RegExp?(0,Ar.regexpCode)(D):s.code.formats?(0,Ar._)`${s.code.formats}${(0,Ar.getProperty)(o)}`:void 0,_=A.scopeValue("formats",{key:o,ref:D,code:F});return typeof D=="object"&&!(D instanceof RegExp)?[D.type||"string",D.validate,(0,Ar._)`${_}.validate`]:["string",D,_]}function M(){if(typeof B=="object"&&!(B instanceof RegExp)&&B.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ar._)`await ${f}(${i})`}return typeof Q=="function"?(0,Ar._)`${f}(${i})`:(0,Ar._)`${f}.test(${i})`}}}};pR.default=eyA});var GZ=qe(wR=>{"use strict";Object.defineProperty(wR,"__esModule",{value:!0});var tyA=LZ(),iyA=[tyA.default];wR.default=iyA});var KZ=qe(rQ=>{"use strict";Object.defineProperty(rQ,"__esModule",{value:!0});rQ.contentVocabulary=rQ.metadataVocabulary=void 0;rQ.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];rQ.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var JZ=qe(DR=>{"use strict";Object.defineProperty(DR,"__esModule",{value:!0});var nyA=jW(),oyA=rZ(),ayA=_Z(),ryA=GZ(),UZ=KZ(),syA=[nyA.default,oyA.default,(0,ayA.default)(),ryA.default,UZ.metadataVocabulary,UZ.contentVocabulary];DR.default=syA});var TZ=qe(_5=>{"use strict";Object.defineProperty(_5,"__esModule",{value:!0});_5.DiscrError=void 0;var YZ=(function(t){return t.Tag="tag",t.Mapping="mapping",t})(YZ||(_5.DiscrError=YZ={}))});var zZ=qe(vR=>{"use strict";Object.defineProperty(vR,"__esModule",{value:!0});var sQ=rn(),yR=TZ(),HZ=E5(),gyA=D3(),lyA=On(),cyA={message:({params:{discrError:t,tagName:e}})=>t===yR.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:A}})=>(0,sQ._)`{error: ${t}, tag: ${A}, tagValue: ${e}}`},CyA={keyword:"discriminator",type:"object",schemaType:"object",error:cyA,code(t){let{gen:e,data:A,schema:i,parentSchema:n,it:o}=t,{oneOf:a}=n;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let r=i.propertyName;if(typeof r!="string")throw new Error("discriminator: requires propertyName");if(i.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let s=e.let("valid",!1),g=e.const("tag",(0,sQ._)`${A}${(0,sQ.getProperty)(r)}`);e.if((0,sQ._)`typeof ${g} == "string"`,()=>l(),()=>t.error(!1,{discrError:yR.DiscrError.Tag,tag:g,tagName:r})),t.ok(s);function l(){let d=I();e.if(!1);for(let B in d)e.elseIf((0,sQ._)`${g} === ${B}`),e.assign(s,C(d[B]));e.else(),t.error(!1,{discrError:yR.DiscrError.Mapping,tag:g,tagName:r}),e.endIf()}function C(d){let B=e.name("valid"),E=t.subschema({keyword:"oneOf",schemaProp:d},B);return t.mergeEvaluated(E,sQ.Name),B}function I(){var d;let B={},E=f(n),Q=!0;for(let M=0;M{IyA.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var jZ=qe((Ba,bR)=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.MissingRefError=Ba.ValidationError=Ba.CodeGen=Ba.Name=Ba.nil=Ba.stringify=Ba.str=Ba._=Ba.KeywordCxt=Ba.Ajv=void 0;var dyA=YW(),ByA=JZ(),EyA=zZ(),PZ=OZ(),QyA=["/properties"],L5="http://json-schema.org/draft-07/schema",gQ=class extends dyA.default{_addVocabularies(){super._addVocabularies(),ByA.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(EyA.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(PZ,QyA):PZ;this.addMetaSchema(e,L5,!1),this.refs["http://json-schema.org/schema"]=L5}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(L5)?L5:void 0)}};Ba.Ajv=gQ;bR.exports=Ba=gQ;bR.exports.Ajv=gQ;Object.defineProperty(Ba,"__esModule",{value:!0});Ba.default=gQ;var hyA=w3();Object.defineProperty(Ba,"KeywordCxt",{enumerable:!0,get:function(){return hyA.KeywordCxt}});var lQ=rn();Object.defineProperty(Ba,"_",{enumerable:!0,get:function(){return lQ._}});Object.defineProperty(Ba,"str",{enumerable:!0,get:function(){return lQ.str}});Object.defineProperty(Ba,"stringify",{enumerable:!0,get:function(){return lQ.stringify}});Object.defineProperty(Ba,"nil",{enumerable:!0,get:function(){return lQ.nil}});Object.defineProperty(Ba,"Name",{enumerable:!0,get:function(){return lQ.Name}});Object.defineProperty(Ba,"CodeGen",{enumerable:!0,get:function(){return lQ.CodeGen}});var uyA=d5();Object.defineProperty(Ba,"ValidationError",{enumerable:!0,get:function(){return uyA.default}});var fyA=D3();Object.defineProperty(Ba,"MissingRefError",{enumerable:!0,get:function(){return fyA.default}})});var qZ=qe(G5=>{"use strict";(function(t){"use strict";function e(Y){return Y!==null?Object.prototype.toString.call(Y)==="[object Array]":!1}function A(Y){return Y!==null?Object.prototype.toString.call(Y)==="[object Object]":!1}function i(Y,z){if(Y===z)return!0;var nA=Object.prototype.toString.call(Y);if(nA!==Object.prototype.toString.call(z))return!1;if(e(Y)===!0){if(Y.length!==z.length)return!1;for(var rA=0;rA",9:"Array"},S="EOF",M="UnquotedIdentifier",D="QuotedIdentifier",F="Rbracket",_="Rparen",U="Comma",J="Colon",j="Rbrace",AA="Number",O="Current",DA="Expref",P="Pipe",aA="Or",iA="And",BA="EQ",oA="GT",sA="LT",hA="GTE",YA="LTE",ee="NE",UA="Flatten",mA="Star",KA="Filter",Pe="Dot",Je="Not",HA="Lbrace",uA="Lbracket",ZA="Lparen",QA="Literal",WA={".":Pe,"*":mA,",":U,":":J,"{":HA,"}":j,"]":F,"(":ZA,")":_,"@":O},MA={"<":!0,">":!0,"=":!0,"!":!0},be={" ":!0," ":!0,"\n":!0};function LA(Y){return Y>="a"&&Y<="z"||Y>="A"&&Y<="Z"||Y==="_"}function pA(Y){return Y>="0"&&Y<="9"||Y==="-"}function Ft(Y){return Y>="a"&&Y<="z"||Y>="A"&&Y<="Z"||Y>="0"&&Y<="9"||Y==="_"}function ht(){}ht.prototype={tokenize:function(Y){var z=[];this._current=0;for(var nA,rA,NA;this._current")return Y[this._current]==="="?(this._current++,{type:hA,value:">=",start:z}):{type:oA,value:">",start:z};if(nA==="="&&Y[this._current]==="=")return this._current++,{type:BA,value:"==",start:z}},_consumeLiteral:function(Y){this._current++;for(var z=this._current,nA=Y.length,rA;Y[this._current]!=="`"&&this._current=0)return!0;if(nA.indexOf(Y)>=0)return!0;if(rA.indexOf(Y[0])>=0)try{return JSON.parse(Y),!0}catch{return!1}else return!1}};var Ee={};Ee[S]=0,Ee[M]=0,Ee[D]=0,Ee[F]=0,Ee[_]=0,Ee[U]=0,Ee[j]=0,Ee[AA]=0,Ee[O]=0,Ee[DA]=0,Ee[P]=1,Ee[aA]=2,Ee[iA]=3,Ee[BA]=5,Ee[oA]=5,Ee[sA]=5,Ee[hA]=5,Ee[YA]=5,Ee[ee]=5,Ee[UA]=9,Ee[mA]=20,Ee[KA]=21,Ee[Pe]=40,Ee[Je]=45,Ee[HA]=50,Ee[uA]=55,Ee[ZA]=60;function Kt(){}Kt.prototype={parse:function(Y){this._loadTokens(Y),this.index=0;var z=this.expression(0);if(this._lookahead(0)!==S){var nA=this._lookaheadToken(0),rA=new Error("Unexpected token type: "+nA.type+", value: "+nA.value);throw rA.name="ParserError",rA}return z},_loadTokens:function(Y){var z=new ht,nA=z.tokenize(Y);nA.push({type:S,value:"",start:Y.length}),this.tokens=nA},expression:function(Y){var z=this._lookaheadToken(0);this._advance();for(var nA=this.nud(z),rA=this._lookahead(0);Y=0)return this.expression(Y);if(z===uA)return this._match(uA),this._parseMultiselectList();if(z===HA)return this._match(HA),this._parseMultiselectHash()},_parseProjectionRHS:function(Y){var z;if(Ee[this._lookahead(0)]<10)z={type:"Identity"};else if(this._lookahead(0)===uA)z=this.expression(Y);else if(this._lookahead(0)===KA)z=this.expression(Y);else if(this._lookahead(0)===Pe)this._match(Pe),z=this._parseDotRHS(Y);else{var nA=this._lookaheadToken(0),rA=new Error("Sytanx error, unexpected token: "+nA.value+"("+nA.type+")");throw rA.name="ParserError",rA}return z},_parseMultiselectList:function(){for(var Y=[];this._lookahead(0)!==F;){var z=this.expression(0);if(Y.push(z),this._lookahead(0)===U&&(this._match(U),this._lookahead(0)===F))throw new Error("Unexpected token Rbracket")}return this._match(F),{type:"MultiSelectList",children:Y}},_parseMultiselectHash:function(){for(var Y=[],z=[M,D],nA,rA,NA,Ie;;){if(nA=this._lookaheadToken(0),z.indexOf(nA.type)<0)throw new Error("Expecting an identifier token, got: "+nA.type);if(rA=nA.value,this._advance(),this._match(J),NA=this.expression(0),Ie={type:"KeyValuePair",name:rA,value:NA},Y.push(Ie),this._lookahead(0)===U)this._match(U);else if(this._lookahead(0)===j){this._match(j);break}}return{type:"MultiSelectHash",children:Y}}};function Ye(Y){this.runtime=Y}Ye.prototype={search:function(Y,z){return this.visit(Y,z)},visit:function(Y,z){var nA,rA,NA,Ie,Qe,xA,_A,Et,et,Te;switch(Y.type){case"Field":return z!==null&&A(z)?(xA=z[Y.name],xA===void 0?null:xA):null;case"Subexpression":for(NA=this.visit(Y.children[0],z),Te=1;Te0)for(Te=dn;Te<_e;Te+=Wi)NA.push(z[Te]);else for(Te=dn;Te>_e;Te+=Wi)NA.push(z[Te]);return NA;case"Projection":var ui=this.visit(Y.children[0],z);if(!e(ui))return null;for(et=[],Te=0;TeQe;break;case hA:NA=Ie>=Qe;break;case sA:NA=Ie=Y&&(z=nA<0?Y-1:Y),z}};function ze(Y){this._interpreter=Y,this.functionTable={abs:{_func:this._functionAbs,_signature:[{types:[s]}]},avg:{_func:this._functionAvg,_signature:[{types:[Q]}]},ceil:{_func:this._functionCeil,_signature:[{types:[s]}]},contains:{_func:this._functionContains,_signature:[{types:[l,C]},{types:[g]}]},ends_with:{_func:this._functionEndsWith,_signature:[{types:[l]},{types:[l]}]},floor:{_func:this._functionFloor,_signature:[{types:[s]}]},length:{_func:this._functionLength,_signature:[{types:[l,C,I]}]},map:{_func:this._functionMap,_signature:[{types:[B]},{types:[C]}]},max:{_func:this._functionMax,_signature:[{types:[Q,f]}]},merge:{_func:this._functionMerge,_signature:[{types:[I],variadic:!0}]},max_by:{_func:this._functionMaxBy,_signature:[{types:[C]},{types:[B]}]},sum:{_func:this._functionSum,_signature:[{types:[Q]}]},starts_with:{_func:this._functionStartsWith,_signature:[{types:[l]},{types:[l]}]},min:{_func:this._functionMin,_signature:[{types:[Q,f]}]},min_by:{_func:this._functionMinBy,_signature:[{types:[C]},{types:[B]}]},type:{_func:this._functionType,_signature:[{types:[g]}]},keys:{_func:this._functionKeys,_signature:[{types:[I]}]},values:{_func:this._functionValues,_signature:[{types:[I]}]},sort:{_func:this._functionSort,_signature:[{types:[f,Q]}]},sort_by:{_func:this._functionSortBy,_signature:[{types:[C]},{types:[B]}]},join:{_func:this._functionJoin,_signature:[{types:[l]},{types:[f]}]},reverse:{_func:this._functionReverse,_signature:[{types:[l,C]}]},to_array:{_func:this._functionToArray,_signature:[{types:[g]}]},to_string:{_func:this._functionToString,_signature:[{types:[g]}]},to_number:{_func:this._functionToNumber,_signature:[{types:[g]}]},not_null:{_func:this._functionNotNull,_signature:[{types:[g],variadic:!0}]}}}ze.prototype={callFunction:function(Y,z){var nA=this.functionTable[Y];if(nA===void 0)throw new Error("Unknown function: "+Y+"()");return this._validateArgs(Y,z,nA._signature),nA._func.call(this,z)},_validateArgs:function(Y,z,nA){var rA;if(nA[nA.length-1].variadic){if(z.length=0;NA--)rA+=nA[NA];return rA}else{var Ie=Y[0].slice(0);return Ie.reverse(),Ie}},_functionAbs:function(Y){return Math.abs(Y[0])},_functionCeil:function(Y){return Math.ceil(Y[0])},_functionAvg:function(Y){for(var z=0,nA=Y[0],rA=0;rA=0},_functionFloor:function(Y){return Math.floor(Y[0])},_functionLength:function(Y){return A(Y[0])?Object.keys(Y[0]).length:Y[0].length},_functionMap:function(Y){for(var z=[],nA=this._interpreter,rA=Y[0],NA=Y[1],Ie=0;Ie0){var z=this._getTypeName(Y[0][0]);if(z===s)return Math.max.apply(Math,Y[0]);for(var nA=Y[0],rA=nA[0],NA=1;NA0){var z=this._getTypeName(Y[0][0]);if(z===s)return Math.min.apply(Math,Y[0]);for(var nA=Y[0],rA=nA[0],NA=1;NALe?1:TeNA&&(NA=Qe,Ie=nA[xA]);return Ie},_functionMinBy:function(Y){for(var z=Y[1],nA=Y[0],rA=this.createKeyFunction(z,[s,l]),NA=1/0,Ie,Qe,xA=0;xA"u"?G5.jmespath={}:G5)});var OgA=qe(($Je,zgA)=>{"use strict";zgA.exports=[{value:"#B0171F",name:"indian red"},{value:"#DC143C",css:!0,name:"crimson"},{value:"#FFB6C1",css:!0,name:"lightpink"},{value:"#FFAEB9",name:"lightpink 1"},{value:"#EEA2AD",name:"lightpink 2"},{value:"#CD8C95",name:"lightpink 3"},{value:"#8B5F65",name:"lightpink 4"},{value:"#FFC0CB",css:!0,name:"pink"},{value:"#FFB5C5",name:"pink 1"},{value:"#EEA9B8",name:"pink 2"},{value:"#CD919E",name:"pink 3"},{value:"#8B636C",name:"pink 4"},{value:"#DB7093",css:!0,name:"palevioletred"},{value:"#FF82AB",name:"palevioletred 1"},{value:"#EE799F",name:"palevioletred 2"},{value:"#CD6889",name:"palevioletred 3"},{value:"#8B475D",name:"palevioletred 4"},{value:"#FFF0F5",name:"lavenderblush 1"},{value:"#FFF0F5",css:!0,name:"lavenderblush"},{value:"#EEE0E5",name:"lavenderblush 2"},{value:"#CDC1C5",name:"lavenderblush 3"},{value:"#8B8386",name:"lavenderblush 4"},{value:"#FF3E96",name:"violetred 1"},{value:"#EE3A8C",name:"violetred 2"},{value:"#CD3278",name:"violetred 3"},{value:"#8B2252",name:"violetred 4"},{value:"#FF69B4",css:!0,name:"hotpink"},{value:"#FF6EB4",name:"hotpink 1"},{value:"#EE6AA7",name:"hotpink 2"},{value:"#CD6090",name:"hotpink 3"},{value:"#8B3A62",name:"hotpink 4"},{value:"#872657",name:"raspberry"},{value:"#FF1493",name:"deeppink 1"},{value:"#FF1493",css:!0,name:"deeppink"},{value:"#EE1289",name:"deeppink 2"},{value:"#CD1076",name:"deeppink 3"},{value:"#8B0A50",name:"deeppink 4"},{value:"#FF34B3",name:"maroon 1"},{value:"#EE30A7",name:"maroon 2"},{value:"#CD2990",name:"maroon 3"},{value:"#8B1C62",name:"maroon 4"},{value:"#C71585",css:!0,name:"mediumvioletred"},{value:"#D02090",name:"violetred"},{value:"#DA70D6",css:!0,name:"orchid"},{value:"#FF83FA",name:"orchid 1"},{value:"#EE7AE9",name:"orchid 2"},{value:"#CD69C9",name:"orchid 3"},{value:"#8B4789",name:"orchid 4"},{value:"#D8BFD8",css:!0,name:"thistle"},{value:"#FFE1FF",name:"thistle 1"},{value:"#EED2EE",name:"thistle 2"},{value:"#CDB5CD",name:"thistle 3"},{value:"#8B7B8B",name:"thistle 4"},{value:"#FFBBFF",name:"plum 1"},{value:"#EEAEEE",name:"plum 2"},{value:"#CD96CD",name:"plum 3"},{value:"#8B668B",name:"plum 4"},{value:"#DDA0DD",css:!0,name:"plum"},{value:"#EE82EE",css:!0,name:"violet"},{value:"#FF00FF",vga:!0,name:"magenta"},{value:"#FF00FF",vga:!0,css:!0,name:"fuchsia"},{value:"#EE00EE",name:"magenta 2"},{value:"#CD00CD",name:"magenta 3"},{value:"#8B008B",name:"magenta 4"},{value:"#8B008B",css:!0,name:"darkmagenta"},{value:"#800080",vga:!0,css:!0,name:"purple"},{value:"#BA55D3",css:!0,name:"mediumorchid"},{value:"#E066FF",name:"mediumorchid 1"},{value:"#D15FEE",name:"mediumorchid 2"},{value:"#B452CD",name:"mediumorchid 3"},{value:"#7A378B",name:"mediumorchid 4"},{value:"#9400D3",css:!0,name:"darkviolet"},{value:"#9932CC",css:!0,name:"darkorchid"},{value:"#BF3EFF",name:"darkorchid 1"},{value:"#B23AEE",name:"darkorchid 2"},{value:"#9A32CD",name:"darkorchid 3"},{value:"#68228B",name:"darkorchid 4"},{value:"#4B0082",css:!0,name:"indigo"},{value:"#8A2BE2",css:!0,name:"blueviolet"},{value:"#9B30FF",name:"purple 1"},{value:"#912CEE",name:"purple 2"},{value:"#7D26CD",name:"purple 3"},{value:"#551A8B",name:"purple 4"},{value:"#9370DB",css:!0,name:"mediumpurple"},{value:"#AB82FF",name:"mediumpurple 1"},{value:"#9F79EE",name:"mediumpurple 2"},{value:"#8968CD",name:"mediumpurple 3"},{value:"#5D478B",name:"mediumpurple 4"},{value:"#483D8B",css:!0,name:"darkslateblue"},{value:"#8470FF",name:"lightslateblue"},{value:"#7B68EE",css:!0,name:"mediumslateblue"},{value:"#6A5ACD",css:!0,name:"slateblue"},{value:"#836FFF",name:"slateblue 1"},{value:"#7A67EE",name:"slateblue 2"},{value:"#6959CD",name:"slateblue 3"},{value:"#473C8B",name:"slateblue 4"},{value:"#F8F8FF",css:!0,name:"ghostwhite"},{value:"#E6E6FA",css:!0,name:"lavender"},{value:"#0000FF",vga:!0,css:!0,name:"blue"},{value:"#0000EE",name:"blue 2"},{value:"#0000CD",name:"blue 3"},{value:"#0000CD",css:!0,name:"mediumblue"},{value:"#00008B",name:"blue 4"},{value:"#00008B",css:!0,name:"darkblue"},{value:"#000080",vga:!0,css:!0,name:"navy"},{value:"#191970",css:!0,name:"midnightblue"},{value:"#3D59AB",name:"cobalt"},{value:"#4169E1",css:!0,name:"royalblue"},{value:"#4876FF",name:"royalblue 1"},{value:"#436EEE",name:"royalblue 2"},{value:"#3A5FCD",name:"royalblue 3"},{value:"#27408B",name:"royalblue 4"},{value:"#6495ED",css:!0,name:"cornflowerblue"},{value:"#B0C4DE",css:!0,name:"lightsteelblue"},{value:"#CAE1FF",name:"lightsteelblue 1"},{value:"#BCD2EE",name:"lightsteelblue 2"},{value:"#A2B5CD",name:"lightsteelblue 3"},{value:"#6E7B8B",name:"lightsteelblue 4"},{value:"#778899",css:!0,name:"lightslategray"},{value:"#708090",css:!0,name:"slategray"},{value:"#C6E2FF",name:"slategray 1"},{value:"#B9D3EE",name:"slategray 2"},{value:"#9FB6CD",name:"slategray 3"},{value:"#6C7B8B",name:"slategray 4"},{value:"#1E90FF",name:"dodgerblue 1"},{value:"#1E90FF",css:!0,name:"dodgerblue"},{value:"#1C86EE",name:"dodgerblue 2"},{value:"#1874CD",name:"dodgerblue 3"},{value:"#104E8B",name:"dodgerblue 4"},{value:"#F0F8FF",css:!0,name:"aliceblue"},{value:"#4682B4",css:!0,name:"steelblue"},{value:"#63B8FF",name:"steelblue 1"},{value:"#5CACEE",name:"steelblue 2"},{value:"#4F94CD",name:"steelblue 3"},{value:"#36648B",name:"steelblue 4"},{value:"#87CEFA",css:!0,name:"lightskyblue"},{value:"#B0E2FF",name:"lightskyblue 1"},{value:"#A4D3EE",name:"lightskyblue 2"},{value:"#8DB6CD",name:"lightskyblue 3"},{value:"#607B8B",name:"lightskyblue 4"},{value:"#87CEFF",name:"skyblue 1"},{value:"#7EC0EE",name:"skyblue 2"},{value:"#6CA6CD",name:"skyblue 3"},{value:"#4A708B",name:"skyblue 4"},{value:"#87CEEB",css:!0,name:"skyblue"},{value:"#00BFFF",name:"deepskyblue 1"},{value:"#00BFFF",css:!0,name:"deepskyblue"},{value:"#00B2EE",name:"deepskyblue 2"},{value:"#009ACD",name:"deepskyblue 3"},{value:"#00688B",name:"deepskyblue 4"},{value:"#33A1C9",name:"peacock"},{value:"#ADD8E6",css:!0,name:"lightblue"},{value:"#BFEFFF",name:"lightblue 1"},{value:"#B2DFEE",name:"lightblue 2"},{value:"#9AC0CD",name:"lightblue 3"},{value:"#68838B",name:"lightblue 4"},{value:"#B0E0E6",css:!0,name:"powderblue"},{value:"#98F5FF",name:"cadetblue 1"},{value:"#8EE5EE",name:"cadetblue 2"},{value:"#7AC5CD",name:"cadetblue 3"},{value:"#53868B",name:"cadetblue 4"},{value:"#00F5FF",name:"turquoise 1"},{value:"#00E5EE",name:"turquoise 2"},{value:"#00C5CD",name:"turquoise 3"},{value:"#00868B",name:"turquoise 4"},{value:"#5F9EA0",css:!0,name:"cadetblue"},{value:"#00CED1",css:!0,name:"darkturquoise"},{value:"#F0FFFF",name:"azure 1"},{value:"#F0FFFF",css:!0,name:"azure"},{value:"#E0EEEE",name:"azure 2"},{value:"#C1CDCD",name:"azure 3"},{value:"#838B8B",name:"azure 4"},{value:"#E0FFFF",name:"lightcyan 1"},{value:"#E0FFFF",css:!0,name:"lightcyan"},{value:"#D1EEEE",name:"lightcyan 2"},{value:"#B4CDCD",name:"lightcyan 3"},{value:"#7A8B8B",name:"lightcyan 4"},{value:"#BBFFFF",name:"paleturquoise 1"},{value:"#AEEEEE",name:"paleturquoise 2"},{value:"#AEEEEE",css:!0,name:"paleturquoise"},{value:"#96CDCD",name:"paleturquoise 3"},{value:"#668B8B",name:"paleturquoise 4"},{value:"#2F4F4F",css:!0,name:"darkslategray"},{value:"#97FFFF",name:"darkslategray 1"},{value:"#8DEEEE",name:"darkslategray 2"},{value:"#79CDCD",name:"darkslategray 3"},{value:"#528B8B",name:"darkslategray 4"},{value:"#00FFFF",name:"cyan"},{value:"#00FFFF",css:!0,name:"aqua"},{value:"#00EEEE",name:"cyan 2"},{value:"#00CDCD",name:"cyan 3"},{value:"#008B8B",name:"cyan 4"},{value:"#008B8B",css:!0,name:"darkcyan"},{value:"#008080",vga:!0,css:!0,name:"teal"},{value:"#48D1CC",css:!0,name:"mediumturquoise"},{value:"#20B2AA",css:!0,name:"lightseagreen"},{value:"#03A89E",name:"manganeseblue"},{value:"#40E0D0",css:!0,name:"turquoise"},{value:"#808A87",name:"coldgrey"},{value:"#00C78C",name:"turquoiseblue"},{value:"#7FFFD4",name:"aquamarine 1"},{value:"#7FFFD4",css:!0,name:"aquamarine"},{value:"#76EEC6",name:"aquamarine 2"},{value:"#66CDAA",name:"aquamarine 3"},{value:"#66CDAA",css:!0,name:"mediumaquamarine"},{value:"#458B74",name:"aquamarine 4"},{value:"#00FA9A",css:!0,name:"mediumspringgreen"},{value:"#F5FFFA",css:!0,name:"mintcream"},{value:"#00FF7F",css:!0,name:"springgreen"},{value:"#00EE76",name:"springgreen 1"},{value:"#00CD66",name:"springgreen 2"},{value:"#008B45",name:"springgreen 3"},{value:"#3CB371",css:!0,name:"mediumseagreen"},{value:"#54FF9F",name:"seagreen 1"},{value:"#4EEE94",name:"seagreen 2"},{value:"#43CD80",name:"seagreen 3"},{value:"#2E8B57",name:"seagreen 4"},{value:"#2E8B57",css:!0,name:"seagreen"},{value:"#00C957",name:"emeraldgreen"},{value:"#BDFCC9",name:"mint"},{value:"#3D9140",name:"cobaltgreen"},{value:"#F0FFF0",name:"honeydew 1"},{value:"#F0FFF0",css:!0,name:"honeydew"},{value:"#E0EEE0",name:"honeydew 2"},{value:"#C1CDC1",name:"honeydew 3"},{value:"#838B83",name:"honeydew 4"},{value:"#8FBC8F",css:!0,name:"darkseagreen"},{value:"#C1FFC1",name:"darkseagreen 1"},{value:"#B4EEB4",name:"darkseagreen 2"},{value:"#9BCD9B",name:"darkseagreen 3"},{value:"#698B69",name:"darkseagreen 4"},{value:"#98FB98",css:!0,name:"palegreen"},{value:"#9AFF9A",name:"palegreen 1"},{value:"#90EE90",name:"palegreen 2"},{value:"#90EE90",css:!0,name:"lightgreen"},{value:"#7CCD7C",name:"palegreen 3"},{value:"#548B54",name:"palegreen 4"},{value:"#32CD32",css:!0,name:"limegreen"},{value:"#228B22",css:!0,name:"forestgreen"},{value:"#00FF00",vga:!0,name:"green 1"},{value:"#00FF00",vga:!0,css:!0,name:"lime"},{value:"#00EE00",name:"green 2"},{value:"#00CD00",name:"green 3"},{value:"#008B00",name:"green 4"},{value:"#008000",vga:!0,css:!0,name:"green"},{value:"#006400",css:!0,name:"darkgreen"},{value:"#308014",name:"sapgreen"},{value:"#7CFC00",css:!0,name:"lawngreen"},{value:"#7FFF00",name:"chartreuse 1"},{value:"#7FFF00",css:!0,name:"chartreuse"},{value:"#76EE00",name:"chartreuse 2"},{value:"#66CD00",name:"chartreuse 3"},{value:"#458B00",name:"chartreuse 4"},{value:"#ADFF2F",css:!0,name:"greenyellow"},{value:"#CAFF70",name:"darkolivegreen 1"},{value:"#BCEE68",name:"darkolivegreen 2"},{value:"#A2CD5A",name:"darkolivegreen 3"},{value:"#6E8B3D",name:"darkolivegreen 4"},{value:"#556B2F",css:!0,name:"darkolivegreen"},{value:"#6B8E23",css:!0,name:"olivedrab"},{value:"#C0FF3E",name:"olivedrab 1"},{value:"#B3EE3A",name:"olivedrab 2"},{value:"#9ACD32",name:"olivedrab 3"},{value:"#9ACD32",css:!0,name:"yellowgreen"},{value:"#698B22",name:"olivedrab 4"},{value:"#FFFFF0",name:"ivory 1"},{value:"#FFFFF0",css:!0,name:"ivory"},{value:"#EEEEE0",name:"ivory 2"},{value:"#CDCDC1",name:"ivory 3"},{value:"#8B8B83",name:"ivory 4"},{value:"#F5F5DC",css:!0,name:"beige"},{value:"#FFFFE0",name:"lightyellow 1"},{value:"#FFFFE0",css:!0,name:"lightyellow"},{value:"#EEEED1",name:"lightyellow 2"},{value:"#CDCDB4",name:"lightyellow 3"},{value:"#8B8B7A",name:"lightyellow 4"},{value:"#FAFAD2",css:!0,name:"lightgoldenrodyellow"},{value:"#FFFF00",vga:!0,name:"yellow 1"},{value:"#FFFF00",vga:!0,css:!0,name:"yellow"},{value:"#EEEE00",name:"yellow 2"},{value:"#CDCD00",name:"yellow 3"},{value:"#8B8B00",name:"yellow 4"},{value:"#808069",name:"warmgrey"},{value:"#808000",vga:!0,css:!0,name:"olive"},{value:"#BDB76B",css:!0,name:"darkkhaki"},{value:"#FFF68F",name:"khaki 1"},{value:"#EEE685",name:"khaki 2"},{value:"#CDC673",name:"khaki 3"},{value:"#8B864E",name:"khaki 4"},{value:"#F0E68C",css:!0,name:"khaki"},{value:"#EEE8AA",css:!0,name:"palegoldenrod"},{value:"#FFFACD",name:"lemonchiffon 1"},{value:"#FFFACD",css:!0,name:"lemonchiffon"},{value:"#EEE9BF",name:"lemonchiffon 2"},{value:"#CDC9A5",name:"lemonchiffon 3"},{value:"#8B8970",name:"lemonchiffon 4"},{value:"#FFEC8B",name:"lightgoldenrod 1"},{value:"#EEDC82",name:"lightgoldenrod 2"},{value:"#CDBE70",name:"lightgoldenrod 3"},{value:"#8B814C",name:"lightgoldenrod 4"},{value:"#E3CF57",name:"banana"},{value:"#FFD700",name:"gold 1"},{value:"#FFD700",css:!0,name:"gold"},{value:"#EEC900",name:"gold 2"},{value:"#CDAD00",name:"gold 3"},{value:"#8B7500",name:"gold 4"},{value:"#FFF8DC",name:"cornsilk 1"},{value:"#FFF8DC",css:!0,name:"cornsilk"},{value:"#EEE8CD",name:"cornsilk 2"},{value:"#CDC8B1",name:"cornsilk 3"},{value:"#8B8878",name:"cornsilk 4"},{value:"#DAA520",css:!0,name:"goldenrod"},{value:"#FFC125",name:"goldenrod 1"},{value:"#EEB422",name:"goldenrod 2"},{value:"#CD9B1D",name:"goldenrod 3"},{value:"#8B6914",name:"goldenrod 4"},{value:"#B8860B",css:!0,name:"darkgoldenrod"},{value:"#FFB90F",name:"darkgoldenrod 1"},{value:"#EEAD0E",name:"darkgoldenrod 2"},{value:"#CD950C",name:"darkgoldenrod 3"},{value:"#8B6508",name:"darkgoldenrod 4"},{value:"#FFA500",name:"orange 1"},{value:"#FF8000",css:!0,name:"orange"},{value:"#EE9A00",name:"orange 2"},{value:"#CD8500",name:"orange 3"},{value:"#8B5A00",name:"orange 4"},{value:"#FFFAF0",css:!0,name:"floralwhite"},{value:"#FDF5E6",css:!0,name:"oldlace"},{value:"#F5DEB3",css:!0,name:"wheat"},{value:"#FFE7BA",name:"wheat 1"},{value:"#EED8AE",name:"wheat 2"},{value:"#CDBA96",name:"wheat 3"},{value:"#8B7E66",name:"wheat 4"},{value:"#FFE4B5",css:!0,name:"moccasin"},{value:"#FFEFD5",css:!0,name:"papayawhip"},{value:"#FFEBCD",css:!0,name:"blanchedalmond"},{value:"#FFDEAD",name:"navajowhite 1"},{value:"#FFDEAD",css:!0,name:"navajowhite"},{value:"#EECFA1",name:"navajowhite 2"},{value:"#CDB38B",name:"navajowhite 3"},{value:"#8B795E",name:"navajowhite 4"},{value:"#FCE6C9",name:"eggshell"},{value:"#D2B48C",css:!0,name:"tan"},{value:"#9C661F",name:"brick"},{value:"#FF9912",name:"cadmiumyellow"},{value:"#FAEBD7",css:!0,name:"antiquewhite"},{value:"#FFEFDB",name:"antiquewhite 1"},{value:"#EEDFCC",name:"antiquewhite 2"},{value:"#CDC0B0",name:"antiquewhite 3"},{value:"#8B8378",name:"antiquewhite 4"},{value:"#DEB887",css:!0,name:"burlywood"},{value:"#FFD39B",name:"burlywood 1"},{value:"#EEC591",name:"burlywood 2"},{value:"#CDAA7D",name:"burlywood 3"},{value:"#8B7355",name:"burlywood 4"},{value:"#FFE4C4",name:"bisque 1"},{value:"#FFE4C4",css:!0,name:"bisque"},{value:"#EED5B7",name:"bisque 2"},{value:"#CDB79E",name:"bisque 3"},{value:"#8B7D6B",name:"bisque 4"},{value:"#E3A869",name:"melon"},{value:"#ED9121",name:"carrot"},{value:"#FF8C00",css:!0,name:"darkorange"},{value:"#FF7F00",name:"darkorange 1"},{value:"#EE7600",name:"darkorange 2"},{value:"#CD6600",name:"darkorange 3"},{value:"#8B4500",name:"darkorange 4"},{value:"#FFA54F",name:"tan 1"},{value:"#EE9A49",name:"tan 2"},{value:"#CD853F",name:"tan 3"},{value:"#CD853F",css:!0,name:"peru"},{value:"#8B5A2B",name:"tan 4"},{value:"#FAF0E6",css:!0,name:"linen"},{value:"#FFDAB9",name:"peachpuff 1"},{value:"#FFDAB9",css:!0,name:"peachpuff"},{value:"#EECBAD",name:"peachpuff 2"},{value:"#CDAF95",name:"peachpuff 3"},{value:"#8B7765",name:"peachpuff 4"},{value:"#FFF5EE",name:"seashell 1"},{value:"#FFF5EE",css:!0,name:"seashell"},{value:"#EEE5DE",name:"seashell 2"},{value:"#CDC5BF",name:"seashell 3"},{value:"#8B8682",name:"seashell 4"},{value:"#F4A460",css:!0,name:"sandybrown"},{value:"#C76114",name:"rawsienna"},{value:"#D2691E",css:!0,name:"chocolate"},{value:"#FF7F24",name:"chocolate 1"},{value:"#EE7621",name:"chocolate 2"},{value:"#CD661D",name:"chocolate 3"},{value:"#8B4513",name:"chocolate 4"},{value:"#8B4513",css:!0,name:"saddlebrown"},{value:"#292421",name:"ivoryblack"},{value:"#FF7D40",name:"flesh"},{value:"#FF6103",name:"cadmiumorange"},{value:"#8A360F",name:"burntsienna"},{value:"#A0522D",css:!0,name:"sienna"},{value:"#FF8247",name:"sienna 1"},{value:"#EE7942",name:"sienna 2"},{value:"#CD6839",name:"sienna 3"},{value:"#8B4726",name:"sienna 4"},{value:"#FFA07A",name:"lightsalmon 1"},{value:"#FFA07A",css:!0,name:"lightsalmon"},{value:"#EE9572",name:"lightsalmon 2"},{value:"#CD8162",name:"lightsalmon 3"},{value:"#8B5742",name:"lightsalmon 4"},{value:"#FF7F50",css:!0,name:"coral"},{value:"#FF4500",name:"orangered 1"},{value:"#FF4500",css:!0,name:"orangered"},{value:"#EE4000",name:"orangered 2"},{value:"#CD3700",name:"orangered 3"},{value:"#8B2500",name:"orangered 4"},{value:"#5E2612",name:"sepia"},{value:"#E9967A",css:!0,name:"darksalmon"},{value:"#FF8C69",name:"salmon 1"},{value:"#EE8262",name:"salmon 2"},{value:"#CD7054",name:"salmon 3"},{value:"#8B4C39",name:"salmon 4"},{value:"#FF7256",name:"coral 1"},{value:"#EE6A50",name:"coral 2"},{value:"#CD5B45",name:"coral 3"},{value:"#8B3E2F",name:"coral 4"},{value:"#8A3324",name:"burntumber"},{value:"#FF6347",name:"tomato 1"},{value:"#FF6347",css:!0,name:"tomato"},{value:"#EE5C42",name:"tomato 2"},{value:"#CD4F39",name:"tomato 3"},{value:"#8B3626",name:"tomato 4"},{value:"#FA8072",css:!0,name:"salmon"},{value:"#FFE4E1",name:"mistyrose 1"},{value:"#FFE4E1",css:!0,name:"mistyrose"},{value:"#EED5D2",name:"mistyrose 2"},{value:"#CDB7B5",name:"mistyrose 3"},{value:"#8B7D7B",name:"mistyrose 4"},{value:"#FFFAFA",name:"snow 1"},{value:"#FFFAFA",css:!0,name:"snow"},{value:"#EEE9E9",name:"snow 2"},{value:"#CDC9C9",name:"snow 3"},{value:"#8B8989",name:"snow 4"},{value:"#BC8F8F",css:!0,name:"rosybrown"},{value:"#FFC1C1",name:"rosybrown 1"},{value:"#EEB4B4",name:"rosybrown 2"},{value:"#CD9B9B",name:"rosybrown 3"},{value:"#8B6969",name:"rosybrown 4"},{value:"#F08080",css:!0,name:"lightcoral"},{value:"#CD5C5C",css:!0,name:"indianred"},{value:"#FF6A6A",name:"indianred 1"},{value:"#EE6363",name:"indianred 2"},{value:"#8B3A3A",name:"indianred 4"},{value:"#CD5555",name:"indianred 3"},{value:"#A52A2A",css:!0,name:"brown"},{value:"#FF4040",name:"brown 1"},{value:"#EE3B3B",name:"brown 2"},{value:"#CD3333",name:"brown 3"},{value:"#8B2323",name:"brown 4"},{value:"#B22222",css:!0,name:"firebrick"},{value:"#FF3030",name:"firebrick 1"},{value:"#EE2C2C",name:"firebrick 2"},{value:"#CD2626",name:"firebrick 3"},{value:"#8B1A1A",name:"firebrick 4"},{value:"#FF0000",vga:!0,name:"red 1"},{value:"#FF0000",vga:!0,css:!0,name:"red"},{value:"#EE0000",name:"red 2"},{value:"#CD0000",name:"red 3"},{value:"#8B0000",name:"red 4"},{value:"#8B0000",css:!0,name:"darkred"},{value:"#800000",vga:!0,css:!0,name:"maroon"},{value:"#8E388E",name:"sgi beet"},{value:"#7171C6",name:"sgi slateblue"},{value:"#7D9EC0",name:"sgi lightblue"},{value:"#388E8E",name:"sgi teal"},{value:"#71C671",name:"sgi chartreuse"},{value:"#8E8E38",name:"sgi olivedrab"},{value:"#C5C1AA",name:"sgi brightgray"},{value:"#C67171",name:"sgi salmon"},{value:"#555555",name:"sgi darkgray"},{value:"#1E1E1E",name:"sgi gray 12"},{value:"#282828",name:"sgi gray 16"},{value:"#515151",name:"sgi gray 32"},{value:"#5B5B5B",name:"sgi gray 36"},{value:"#848484",name:"sgi gray 52"},{value:"#8E8E8E",name:"sgi gray 56"},{value:"#AAAAAA",name:"sgi lightgray"},{value:"#B7B7B7",name:"sgi gray 72"},{value:"#C1C1C1",name:"sgi gray 76"},{value:"#EAEAEA",name:"sgi gray 92"},{value:"#F4F4F4",name:"sgi gray 96"},{value:"#FFFFFF",vga:!0,css:!0,name:"white"},{value:"#F5F5F5",name:"white smoke"},{value:"#F5F5F5",name:"gray 96"},{value:"#DCDCDC",css:!0,name:"gainsboro"},{value:"#D3D3D3",css:!0,name:"lightgrey"},{value:"#C0C0C0",vga:!0,css:!0,name:"silver"},{value:"#A9A9A9",css:!0,name:"darkgray"},{value:"#808080",vga:!0,css:!0,name:"gray"},{value:"#696969",css:!0,name:"dimgray"},{value:"#696969",name:"gray 42"},{value:"#000000",vga:!0,css:!0,name:"black"},{value:"#FCFCFC",name:"gray 99"},{value:"#FAFAFA",name:"gray 98"},{value:"#F7F7F7",name:"gray 97"},{value:"#F2F2F2",name:"gray 95"},{value:"#F0F0F0",name:"gray 94"},{value:"#EDEDED",name:"gray 93"},{value:"#EBEBEB",name:"gray 92"},{value:"#E8E8E8",name:"gray 91"},{value:"#E5E5E5",name:"gray 90"},{value:"#E3E3E3",name:"gray 89"},{value:"#E0E0E0",name:"gray 88"},{value:"#DEDEDE",name:"gray 87"},{value:"#DBDBDB",name:"gray 86"},{value:"#D9D9D9",name:"gray 85"},{value:"#D6D6D6",name:"gray 84"},{value:"#D4D4D4",name:"gray 83"},{value:"#D1D1D1",name:"gray 82"},{value:"#CFCFCF",name:"gray 81"},{value:"#CCCCCC",name:"gray 80"},{value:"#C9C9C9",name:"gray 79"},{value:"#C7C7C7",name:"gray 78"},{value:"#C4C4C4",name:"gray 77"},{value:"#C2C2C2",name:"gray 76"},{value:"#BFBFBF",name:"gray 75"},{value:"#BDBDBD",name:"gray 74"},{value:"#BABABA",name:"gray 73"},{value:"#B8B8B8",name:"gray 72"},{value:"#B5B5B5",name:"gray 71"},{value:"#B3B3B3",name:"gray 70"},{value:"#B0B0B0",name:"gray 69"},{value:"#ADADAD",name:"gray 68"},{value:"#ABABAB",name:"gray 67"},{value:"#A8A8A8",name:"gray 66"},{value:"#A6A6A6",name:"gray 65"},{value:"#A3A3A3",name:"gray 64"},{value:"#A1A1A1",name:"gray 63"},{value:"#9E9E9E",name:"gray 62"},{value:"#9C9C9C",name:"gray 61"},{value:"#999999",name:"gray 60"},{value:"#969696",name:"gray 59"},{value:"#949494",name:"gray 58"},{value:"#919191",name:"gray 57"},{value:"#8F8F8F",name:"gray 56"},{value:"#8C8C8C",name:"gray 55"},{value:"#8A8A8A",name:"gray 54"},{value:"#878787",name:"gray 53"},{value:"#858585",name:"gray 52"},{value:"#828282",name:"gray 51"},{value:"#7F7F7F",name:"gray 50"},{value:"#7D7D7D",name:"gray 49"},{value:"#7A7A7A",name:"gray 48"},{value:"#787878",name:"gray 47"},{value:"#757575",name:"gray 46"},{value:"#737373",name:"gray 45"},{value:"#707070",name:"gray 44"},{value:"#6E6E6E",name:"gray 43"},{value:"#666666",name:"gray 40"},{value:"#636363",name:"gray 39"},{value:"#616161",name:"gray 38"},{value:"#5E5E5E",name:"gray 37"},{value:"#5C5C5C",name:"gray 36"},{value:"#595959",name:"gray 35"},{value:"#575757",name:"gray 34"},{value:"#545454",name:"gray 33"},{value:"#525252",name:"gray 32"},{value:"#4F4F4F",name:"gray 31"},{value:"#4D4D4D",name:"gray 30"},{value:"#4A4A4A",name:"gray 29"},{value:"#474747",name:"gray 28"},{value:"#454545",name:"gray 27"},{value:"#424242",name:"gray 26"},{value:"#404040",name:"gray 25"},{value:"#3D3D3D",name:"gray 24"},{value:"#3B3B3B",name:"gray 23"},{value:"#383838",name:"gray 22"},{value:"#363636",name:"gray 21"},{value:"#333333",name:"gray 20"},{value:"#303030",name:"gray 19"},{value:"#2E2E2E",name:"gray 18"},{value:"#2B2B2B",name:"gray 17"},{value:"#292929",name:"gray 16"},{value:"#262626",name:"gray 15"},{value:"#242424",name:"gray 14"},{value:"#212121",name:"gray 13"},{value:"#1F1F1F",name:"gray 12"},{value:"#1C1C1C",name:"gray 11"},{value:"#1A1A1A",name:"gray 10"},{value:"#171717",name:"gray 9"},{value:"#141414",name:"gray 8"},{value:"#121212",name:"gray 7"},{value:"#0F0F0F",name:"gray 6"},{value:"#0D0D0D",name:"gray 5"},{value:"#0A0A0A",name:"gray 4"},{value:"#080808",name:"gray 3"},{value:"#050505",name:"gray 2"},{value:"#030303",name:"gray 1"},{value:"#F5F5F5",css:!0,name:"whitesmoke"}]});var qgA=qe((AYe,E1)=>{"use strict";var kb=OgA(),PgA=kb.filter(function(t){return!!t.css}),jgA=kb.filter(function(t){return!!t.vga});E1.exports=function(t){var e=E1.exports.get(t);return e&&e.value};E1.exports.get=function(t){return t=t||"",t=t.trim().toLowerCase(),kb.filter(function(e){return e.name.toLowerCase()===t}).pop()};E1.exports.all=E1.exports.get.all=function(){return kb};E1.exports.get.css=function(t){return t?(t=t||"",t=t.trim().toLowerCase(),PgA.filter(function(e){return e.name.toLowerCase()===t}).pop()):PgA};E1.exports.get.vga=function(t){return t?(t=t||"",t=t.trim().toLowerCase(),jgA.filter(function(e){return e.name.toLowerCase()===t}).pop()):jgA}});var ElA=qe((eYe,BlA)=>{"use strict";var ljA=1/0,cjA="[object Symbol]",CjA=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,tlA="\\ud800-\\udfff",IjA="\\u0300-\\u036f\\ufe20-\\ufe23",djA="\\u20d0-\\u20f0",ilA="\\u2700-\\u27bf",nlA="a-z\\xdf-\\xf6\\xf8-\\xff",BjA="\\xac\\xb1\\xd7\\xf7",EjA="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",QjA="\\u2000-\\u206f",hjA=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",olA="A-Z\\xc0-\\xd6\\xd8-\\xde",ujA="\\ufe0e\\ufe0f",alA=BjA+EjA+QjA+hjA,rlA="['\u2019]",VgA="["+alA+"]",fjA="["+IjA+djA+"]",slA="\\d+",mjA="["+ilA+"]",glA="["+nlA+"]",llA="[^"+tlA+alA+slA+ilA+nlA+olA+"]",pjA="\\ud83c[\\udffb-\\udfff]",wjA="(?:"+fjA+"|"+pjA+")",DjA="[^"+tlA+"]",clA="(?:\\ud83c[\\udde6-\\uddff]){2}",ClA="[\\ud800-\\udbff][\\udc00-\\udfff]",eu="["+olA+"]",yjA="\\u200d",WgA="(?:"+glA+"|"+llA+")",vjA="(?:"+eu+"|"+llA+")",ZgA="(?:"+rlA+"(?:d|ll|m|re|s|t|ve))?",XgA="(?:"+rlA+"(?:D|LL|M|RE|S|T|VE))?",IlA=wjA+"?",dlA="["+ujA+"]?",bjA="(?:"+yjA+"(?:"+[DjA,clA,ClA].join("|")+")"+dlA+IlA+")*",MjA=dlA+IlA+bjA,kjA="(?:"+[mjA,clA,ClA].join("|")+")"+MjA,SjA=RegExp([eu+"?"+glA+"+"+ZgA+"(?="+[VgA,eu,"$"].join("|")+")",vjA+"+"+XgA+"(?="+[VgA,eu+WgA,"$"].join("|")+")",eu+"?"+WgA+"+"+ZgA,eu+"+"+XgA,slA,kjA].join("|"),"g"),xjA=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,RjA=typeof global=="object"&&global&&global.Object===Object&&global,NjA=typeof self=="object"&&self&&self.Object===Object&&self,FjA=RjA||NjA||Function("return this")();function _jA(t){return t.match(CjA)||[]}function LjA(t){return xjA.test(t)}function GjA(t){return t.match(SjA)||[]}var KjA=Object.prototype,UjA=KjA.toString,$gA=FjA.Symbol,AlA=$gA?$gA.prototype:void 0,elA=AlA?AlA.toString:void 0;function JjA(t){if(typeof t=="string")return t;if(TjA(t))return elA?elA.call(t):"";var e=t+"";return e=="0"&&1/t==-ljA?"-0":e}function YjA(t){return!!t&&typeof t=="object"}function TjA(t){return typeof t=="symbol"||YjA(t)&&UjA.call(t)==cjA}function HjA(t){return t==null?"":JjA(t)}function zjA(t,e,A){return t=HjA(t),e=A?void 0:e,e===void 0?LjA(t)?GjA(t):_jA(t):t.match(e)||[]}BlA.exports=zjA});var RlA=qe((tYe,xlA)=>{"use strict";var OjA=1/0,PjA="[object Symbol]",jjA=/^\s+/,HK="\\ud800-\\udfff",mlA="\\u0300-\\u036f\\ufe20-\\ufe23",plA="\\u20d0-\\u20f0",wlA="\\ufe0e\\ufe0f",qjA="["+HK+"]",YK="["+mlA+plA+"]",TK="\\ud83c[\\udffb-\\udfff]",VjA="(?:"+YK+"|"+TK+")",DlA="[^"+HK+"]",ylA="(?:\\ud83c[\\udde6-\\uddff]){2}",vlA="[\\ud800-\\udbff][\\udc00-\\udfff]",blA="\\u200d",MlA=VjA+"?",klA="["+wlA+"]?",WjA="(?:"+blA+"(?:"+[DlA,ylA,vlA].join("|")+")"+klA+MlA+")*",ZjA=klA+MlA+WjA,XjA="(?:"+[DlA+YK+"?",YK,ylA,vlA,qjA].join("|")+")",$jA=RegExp(TK+"(?="+TK+")|"+XjA+ZjA,"g"),AqA=RegExp("["+blA+HK+mlA+plA+wlA+"]"),eqA=typeof global=="object"&&global&&global.Object===Object&&global,tqA=typeof self=="object"&&self&&self.Object===Object&&self,iqA=eqA||tqA||Function("return this")();function nqA(t){return t.split("")}function oqA(t,e,A,i){for(var n=t.length,o=A+(i?1:-1);i?o--:++o-1;);return A}function gqA(t){return AqA.test(t)}function QlA(t){return gqA(t)?lqA(t):nqA(t)}function lqA(t){return t.match($jA)||[]}var cqA=Object.prototype,CqA=cqA.toString,hlA=iqA.Symbol,ulA=hlA?hlA.prototype:void 0,flA=ulA?ulA.toString:void 0;function IqA(t,e,A){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),A=A>n?n:A,A<0&&(A+=n),n=e>A?0:A-e>>>0,e>>>=0;for(var o=Array(n);++i=i?t:IqA(t,e,A)}function BqA(t){return!!t&&typeof t=="object"}function EqA(t){return typeof t=="symbol"||BqA(t)&&CqA.call(t)==PjA}function QqA(t){return t==null?"":SlA(t)}function hqA(t,e,A){if(t=QqA(t),t&&(A||e===void 0))return t.replace(jjA,"");if(!t||!(e=SlA(e)))return t;var i=QlA(t),n=sqA(i,QlA(e));return dqA(i,n).join("")}xlA.exports=hqA});var XlA=qe((iYe,ZlA)=>{"use strict";var zK=1/0,uqA=9007199254740991,fqA=17976931348623157e292,NlA=NaN,mqA="[object Symbol]",pqA=/^\s+|\s+$/g,wqA=/^[-+]0x[0-9a-f]+$/i,DqA=/^0b[01]+$/i,yqA=/^0o[0-7]+$/i,qK="\\ud800-\\udfff",UlA="\\u0300-\\u036f\\ufe20-\\ufe23",JlA="\\u20d0-\\u20f0",YlA="\\ufe0e\\ufe0f",vqA="["+qK+"]",OK="["+UlA+JlA+"]",PK="\\ud83c[\\udffb-\\udfff]",bqA="(?:"+OK+"|"+PK+")",TlA="[^"+qK+"]",HlA="(?:\\ud83c[\\udde6-\\uddff]){2}",zlA="[\\ud800-\\udbff][\\udc00-\\udfff]",OlA="\\u200d",PlA=bqA+"?",jlA="["+YlA+"]?",MqA="(?:"+OlA+"(?:"+[TlA,HlA,zlA].join("|")+")"+jlA+PlA+")*",kqA=jlA+PlA+MqA,SqA="(?:"+[TlA+OK+"?",OK,HlA,zlA,vqA].join("|")+")",jK=RegExp(PK+"(?="+PK+")|"+SqA+kqA,"g"),xqA=RegExp("["+OlA+qK+UlA+JlA+YlA+"]"),RqA=parseInt,NqA=typeof global=="object"&&global&&global.Object===Object&&global,FqA=typeof self=="object"&&self&&self.Object===Object&&self,_qA=NqA||FqA||Function("return this")(),LqA=KqA("length");function GqA(t){return t.split("")}function KqA(t){return function(e){return e?.[t]}}function VK(t){return xqA.test(t)}function qlA(t){return VK(t)?JqA(t):LqA(t)}function UqA(t){return VK(t)?YqA(t):GqA(t)}function JqA(t){for(var e=jK.lastIndex=0;jK.test(t);)e++;return e}function YqA(t){return t.match(jK)||[]}var TqA=Object.prototype,HqA=TqA.toString,FlA=_qA.Symbol,zqA=Math.ceil,OqA=Math.floor,_lA=FlA?FlA.prototype:void 0,LlA=_lA?_lA.toString:void 0;function GlA(t,e){var A="";if(!t||e<1||e>uqA)return A;do e%2&&(A+=t),e=OqA(e/2),e&&(t+=t);while(e);return A}function PqA(t,e,A){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),A=A>n?n:A,A<0&&(A+=n),n=e>A?0:A-e>>>0,e>>>=0;for(var o=Array(n);++i=i?t:PqA(t,e,A)}function qqA(t,e){e=e===void 0?" ":VlA(e);var A=e.length;if(A<2)return A?GlA(e,t):e;var i=GlA(e,zqA(t/qlA(e)));return VK(e)?jqA(UqA(i),0,t).join(""):i.slice(0,t)}function KlA(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function VqA(t){return!!t&&typeof t=="object"}function WlA(t){return typeof t=="symbol"||VqA(t)&&HqA.call(t)==mqA}function WqA(t){if(!t)return t===0?t:0;if(t=XqA(t),t===zK||t===-zK){var e=t<0?-1:1;return e*fqA}return t===t?t:0}function ZqA(t){var e=WqA(t),A=e%1;return e===e?A?e-A:e:0}function XqA(t){if(typeof t=="number")return t;if(WlA(t))return NlA;if(KlA(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=KlA(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(pqA,"");var A=DqA.test(t);return A||yqA.test(t)?RqA(t.slice(2),A?2:8):wqA.test(t)?NlA:+t}function $qA(t){return t==null?"":VlA(t)}function AVA(t,e,A){t=$qA(t),e=ZqA(e);var i=e?qlA(t):0;return e&&i{"use strict";$lA.exports=(t,e,A,i)=>{let n=(t+(i||"")).toString().includes("%");if(typeof t=="string"?[t,e,A,i]=t.match(/(0?\.?\d{1,3})%?\b/g).map(Number):i!==void 0&&(i=parseFloat(i)),typeof t!="number"||typeof e!="number"||typeof A!="number"||t>255||e>255||A>255)throw new TypeError("Expected three numbers below 256");if(typeof i=="number"){if(!n&&i>=0&&i<=1)i=Math.round(255*i);else if(n&&i>=0&&i<=100)i=Math.round(255*i/100);else throw new TypeError(`Expected alpha value (${i}) as a fraction or percentage`);i=(i|256).toString(16).slice(1)}else i="";return(A|e<<8|t<<16|1<<24).toString(16).slice(1)+i}});var tcA=qe((oYe,ecA)=>{"use strict";var jm="a-f\\d",eVA=`#?[${jm}]{3}[${jm}]?`,tVA=`#?[${jm}]{6}([${jm}]{2})?`,iVA=new RegExp(`[^#${jm}]`,"gi"),nVA=new RegExp(`^${eVA}$|^${tVA}$`,"i");ecA.exports=(t,e={})=>{if(typeof t!="string"||iVA.test(t)||!nVA.test(t))throw new TypeError("Expected a valid hex string");t=t.replace(/^#/,"");let A=1;t.length===8&&(A=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),t.length===4&&(A=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),t.length===3&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);let i=Number.parseInt(t,16),n=i>>16,o=i>>8&255,a=i&255,r=typeof e.alpha=="number"?e.alpha:A;if(e.format==="array")return[n,o,a,r];if(e.format==="css"){let s=r===1?"":` / ${Number((r*100).toFixed(2))}%`;return`rgb(${n} ${o} ${a}${s})`}return{red:n,green:o,blue:a,alpha:r}}});var ocA=qe((aYe,ncA)=>{"use strict";var oVA=qgA(),aVA=ElA(),rVA=RlA(),sVA=XlA(),gVA=AcA(),icA=tcA(),WK=.75,ZK=.25,XK=16777215,lVA=49979693;ncA.exports=function(t){return"#"+IVA(String(JSON.stringify(t)))};function cVA(t){var e=aVA(t),A=[];return e.forEach(function(i){var n=oVA(i);n&&A.push(icA(rVA(n,"#"),{format:"array"}))}),A}function CVA(t){var e=[0,0,0];return t.forEach(function(A){for(var i=0;i<3;i++)e[i]+=A[i]}),[e[0]/t.length,e[1]/t.length,e[2]/t.length]}function IVA(t){var e,A=cVA(t);A.length>0&&(e=CVA(A));var i=1,n=0,o=1;if(t.length>0)for(var a=0;an&&(n=t[a].charCodeAt(0)),o=parseInt(XK/n),i=(i+t[a].charCodeAt(0)*o*lVA)%XK;var r=(i*t.length%XK).toString(16);r=sVA(r,6,r);var s=icA(r,{format:"array"});return e?gVA(ZK*s[0]+WK*e[0],ZK*s[1]+WK*e[1],ZK*s[2]+WK*e[2]):r}});var AJ=(()=>{class t{_renderer;_elementRef;onChange=A=>{};onTouched=()=>{};constructor(A,i){this._renderer=A,this._elementRef=i}setProperty(A,i){this._renderer.setProperty(this._elementRef.nativeElement,A,i)}registerOnTouched(A){this.onTouched=A}registerOnChange(A){this.onChange=A}setDisabledState(A){this.setProperty("disabled",A)}static \u0275fac=function(i){return new(i||t)(at(_i),at(ge))};static \u0275dir=OA({type:t})}return t})(),eJ=(()=>{class t extends AJ{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,features:[It]})}return t})(),Lg=new yA("");var CcA={provide:Lg,useExisting:wr(()=>uo),multi:!0};function IcA(){let t=Ob()?Ob().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}var dcA=new yA(""),uo=(()=>{class t extends AJ{_compositionMode;_composing=!1;constructor(A,i,n){super(A,i),this._compositionMode=n,this._compositionMode==null&&(this._compositionMode=!IcA())}writeValue(A){let i=A??"";this.setProperty("value",i)}_handleInput(A){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(A)}_compositionStart(){this._composing=!0}_compositionEnd(A){this._composing=!1,this._compositionMode&&this.onChange(A)}static \u0275fac=function(i){return new(i||t)(at(_i),at(ge),at(dcA,8))};static \u0275dir=OA({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,n){i&1&&tA("input",function(a){return n._handleInput(a.target.value)})("blur",function(){return n.onTouched()})("compositionstart",function(){return n._compositionStart()})("compositionend",function(a){return n._compositionEnd(a.target.value)})},standalone:!1,features:[dt([CcA]),It]})}return t})();function Zb(t){return t==null||Xb(t)===0}function Xb(t){return t==null?null:Array.isArray(t)||typeof t=="string"?t.length:t instanceof Set?t.size:null}var a0=new yA(""),fu=new yA(""),BcA=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Ag=class{static min(e){return tJ(e)}static max(e){return EcA(e)}static required(e){return QcA(e)}static requiredTrue(e){return hcA(e)}static email(e){return ucA(e)}static minLength(e){return fcA(e)}static maxLength(e){return mcA(e)}static pattern(e){return pcA(e)}static nullValidator(e){return Qp()}static compose(e){return sJ(e)}static composeAsync(e){return gJ(e)}};function tJ(t){return e=>{if(e.value==null||t==null)return null;let A=parseFloat(e.value);return!isNaN(A)&&A{if(e.value==null||t==null)return null;let A=parseFloat(e.value);return!isNaN(A)&&A>t?{max:{max:t,actual:e.value}}:null}}function QcA(t){return Zb(t.value)?{required:!0}:null}function hcA(t){return t.value===!0?null:{required:!0}}function ucA(t){return Zb(t.value)||BcA.test(t.value)?null:{email:!0}}function fcA(t){return e=>{let A=e.value?.length??Xb(e.value);return A===null||A===0?null:A{let A=e.value?.length??Xb(e.value);return A!==null&&A>t?{maxlength:{requiredLength:t,actualLength:A}}:null}}function pcA(t){if(!t)return Qp;let e,A;return typeof t=="string"?(A="",t.charAt(0)!=="^"&&(A+="^"),A+=t,t.charAt(t.length-1)!=="$"&&(A+="$"),e=new RegExp(A)):(A=t.toString(),e=t),i=>{if(Zb(i.value))return null;let n=i.value;return e.test(n)?null:{pattern:{requiredPattern:A,actualValue:n}}}}function Qp(t){return null}function iJ(t){return t!=null}function nJ(t){return lp(t)?Ms(t):t}function oJ(t){let e={};return t.forEach(A=>{e=A!=null?cA(cA({},e),A):e}),Object.keys(e).length===0?null:e}function aJ(t,e){return e.map(A=>A(t))}function wcA(t){return!t.validate}function rJ(t){return t.map(e=>wcA(e)?e:A=>e.validate(A))}function sJ(t){if(!t)return null;let e=t.filter(iJ);return e.length==0?null:function(A){return oJ(aJ(A,e))}}function $b(t){return t!=null?sJ(rJ(t)):null}function gJ(t){if(!t)return null;let e=t.filter(iJ);return e.length==0?null:function(A){let i=aJ(A,e).map(nJ);return $m(i).pipe(fe(oJ))}}function A9(t){return t!=null?gJ(rJ(t)):null}function jU(t,e){return t===null?[e]:Array.isArray(t)?[...t,e]:[t,e]}function lJ(t){return t._rawValidators}function cJ(t){return t._rawAsyncValidators}function qb(t){return t?Array.isArray(t)?t:[t]:[]}function hp(t,e){return Array.isArray(t)?t.includes(e):t===e}function qU(t,e){let A=qb(e);return qb(t).forEach(n=>{hp(A,n)||A.push(n)}),A}function VU(t,e){return qb(e).filter(A=>!hp(t,A))}var up=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(e){this._rawValidators=e||[],this._composedValidatorFn=$b(this._rawValidators)}_setAsyncValidators(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=A9(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(e){this._onDestroyCallbacks.push(e)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(e=>e()),this._onDestroyCallbacks=[]}reset(e=void 0){this.control&&this.control.reset(e)}hasError(e,A){return this.control?this.control.hasError(e,A):!1}getError(e,A){return this.control?this.control.getError(e,A):null}},gC=class extends up{name;get formDirective(){return null}get path(){return null}},eg=class extends up{_parent=null;name=null;valueAccessor=null},fp=class{_cd;constructor(e){this._cd=e}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}};var fo=(()=>{class t extends fp{constructor(A){super(A)}static \u0275fac=function(i){return new(i||t)(at(eg,2))};static \u0275dir=OA({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,n){i&2&&ne("ng-untouched",n.isUntouched)("ng-touched",n.isTouched)("ng-pristine",n.isPristine)("ng-dirty",n.isDirty)("ng-valid",n.isValid)("ng-invalid",n.isInvalid)("ng-pending",n.isPending)},standalone:!1,features:[It]})}return t})(),CJ=(()=>{class t extends fp{constructor(A){super(A)}static \u0275fac=function(i){return new(i||t)(at(gC,10))};static \u0275dir=OA({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["","formArray",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,n){i&2&&ne("ng-untouched",n.isUntouched)("ng-touched",n.isTouched)("ng-pristine",n.isPristine)("ng-dirty",n.isDirty)("ng-valid",n.isValid)("ng-invalid",n.isInvalid)("ng-pending",n.isPending)("ng-submitted",n.isSubmitted)},standalone:!1,features:[It]})}return t})();var Iu="VALID",Ep="INVALID",yB="PENDING",du="DISABLED",y2=class{},mp=class extends y2{value;source;constructor(e,A){super(),this.value=e,this.source=A}},Eu=class extends y2{pristine;source;constructor(e,A){super(),this.pristine=e,this.source=A}},Qu=class extends y2{touched;source;constructor(e,A){super(),this.touched=e,this.source=A}},vB=class extends y2{status;source;constructor(e,A){super(),this.status=e,this.source=A}},pp=class extends y2{source;constructor(e){super(),this.source=e}},hu=class extends y2{source;constructor(e){super(),this.source=e}};function e9(t){return(vp(t)?t.validators:t)||null}function DcA(t){return Array.isArray(t)?$b(t):t||null}function t9(t,e){return(vp(e)?e.asyncValidators:t)||null}function ycA(t){return Array.isArray(t)?A9(t):t||null}function vp(t){return t!=null&&!Array.isArray(t)&&typeof t=="object"}function IJ(t,e,A){let i=t.controls;if(!(e?Object.keys(i):i).length)throw new kt(1e3,"");if(!i[A])throw new kt(1001,"")}function dJ(t,e,A){t._forEachChild((i,n)=>{if(A[n]===void 0)throw new kt(1002,"")})}var bB=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(e,A){this._assignValidators(e),this._assignAsyncValidators(A)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get status(){return la(this.statusReactive)}set status(e){la(()=>this.statusReactive.set(e))}_status=Ue(()=>this.statusReactive());statusReactive=jA(void 0);get valid(){return this.status===Iu}get invalid(){return this.status===Ep}get pending(){return this.status==yB}get disabled(){return this.status===du}get enabled(){return this.status!==du}errors;get pristine(){return la(this.pristineReactive)}set pristine(e){la(()=>this.pristineReactive.set(e))}_pristine=Ue(()=>this.pristineReactive());pristineReactive=jA(!0);get dirty(){return!this.pristine}get touched(){return la(this.touchedReactive)}set touched(e){la(()=>this.touchedReactive.set(e))}_touched=Ue(()=>this.touchedReactive());touchedReactive=jA(!1);get untouched(){return!this.touched}_events=new XA;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._assignValidators(e)}setAsyncValidators(e){this._assignAsyncValidators(e)}addValidators(e){this.setValidators(qU(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(qU(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(VU(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(VU(e,this._rawAsyncValidators))}hasValidator(e){return hp(this._rawValidators,e)}hasAsyncValidator(e){return hp(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){let A=this.touched===!1;this.touched=!0;let i=e.sourceControl??this;this._parent&&!e.onlySelf&&this._parent.markAsTouched(Ge(cA({},e),{sourceControl:i})),A&&e.emitEvent!==!1&&this._events.next(new Qu(!0,i))}markAllAsDirty(e={}){this.markAsDirty({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:this}),this._forEachChild(A=>A.markAllAsDirty(e))}markAllAsTouched(e={}){this.markAsTouched({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:this}),this._forEachChild(A=>A.markAllAsTouched(e))}markAsUntouched(e={}){let A=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=e.sourceControl??this;this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:i})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e,i),A&&e.emitEvent!==!1&&this._events.next(new Qu(!1,i))}markAsDirty(e={}){let A=this.pristine===!0;this.pristine=!1;let i=e.sourceControl??this;this._parent&&!e.onlySelf&&this._parent.markAsDirty(Ge(cA({},e),{sourceControl:i})),A&&e.emitEvent!==!1&&this._events.next(new Eu(!1,i))}markAsPristine(e={}){let A=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=e.sourceControl??this;this._forEachChild(n=>{n.markAsPristine({onlySelf:!0,emitEvent:e.emitEvent})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e,i),A&&e.emitEvent!==!1&&this._events.next(new Eu(!0,i))}markAsPending(e={}){this.status=yB;let A=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new vB(this.status,A)),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.markAsPending(Ge(cA({},e),{sourceControl:A}))}disable(e={}){let A=this._parentMarkedDirty(e.onlySelf);this.status=du,this.errors=null,this._forEachChild(n=>{n.disable(Ge(cA({},e),{onlySelf:!0}))}),this._updateValue();let i=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new mp(this.value,i)),this._events.next(new vB(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Ge(cA({},e),{skipPristineCheck:A}),this),this._onDisabledChange.forEach(n=>n(!0))}enable(e={}){let A=this._parentMarkedDirty(e.onlySelf);this.status=Iu,this._forEachChild(i=>{i.enable(Ge(cA({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Ge(cA({},e),{skipPristineCheck:A}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e,A){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine({},A),this._parent._updateTouched({},A))}setParent(e){this._parent=e}getRawValue(){return this.value}updateValueAndValidity(e={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Iu||this.status===yB)&&this._runAsyncValidator(i,e.emitEvent)}let A=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new mp(this.value,A)),this._events.next(new vB(this.status,A)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(Ge(cA({},e),{sourceControl:A}))}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(A=>A._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?du:Iu}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e,A){if(this.asyncValidator){this.status=yB,this._hasOwnPendingAsyncValidator={emitEvent:A!==!1,shouldHaveEmitted:e!==!1};let i=nJ(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(n,{emitEvent:A,shouldHaveEmitted:e})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let e=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,e}return!1}setErrors(e,A={}){this.errors=e,this._updateControlsErrors(A.emitEvent!==!1,this,A.shouldHaveEmitted)}get(e){let A=e;return A==null||(Array.isArray(A)||(A=A.split(".")),A.length===0)?null:A.reduce((i,n)=>i&&i._find(n),this)}getError(e,A){let i=A?this.get(A):this;return i&&i.errors?i.errors[e]:null}hasError(e,A){return!!this.getError(e,A)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e,A,i){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),(e||i)&&this._events.next(new vB(this.status,A)),this._parent&&this._parent._updateControlsErrors(e,A,i)}_initObservables(){this.valueChanges=new $A,this.statusChanges=new $A}_calculateStatus(){return this._allControlsDisabled()?du:this.errors?Ep:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(yB)?yB:this._anyControlsHaveStatus(Ep)?Ep:Iu}_anyControlsHaveStatus(e){return this._anyControls(A=>A.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e,A){let i=!this._anyControlsDirty(),n=this.pristine!==i;this.pristine=i,this._parent&&!e.onlySelf&&this._parent._updatePristine(e,A),n&&this._events.next(new Eu(this.pristine,A))}_updateTouched(e={},A){this.touched=this._anyControlsTouched(),this._events.next(new Qu(this.touched,A)),this._parent&&!e.onlySelf&&this._parent._updateTouched(e,A)}_onDisabledChange=[];_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){vp(e)&&e.updateOn!=null&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){let A=this._parent&&this._parent.dirty;return!e&&!!A&&!this._parent._anyControlsDirty()}_find(e){return null}_assignValidators(e){this._rawValidators=Array.isArray(e)?e.slice():e,this._composedValidatorFn=DcA(this._rawValidators)}_assignAsyncValidators(e){this._rawAsyncValidators=Array.isArray(e)?e.slice():e,this._composedAsyncValidatorFn=ycA(this._rawAsyncValidators)}},MB=class extends bB{constructor(e,A,i){super(e9(A),t9(i,A)),this.controls=e,this._initObservables(),this._setUpdateStrategy(A),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(e,A){return this.controls[e]?this.controls[e]:(this.controls[e]=A,A.setParent(this),A._registerOnCollectionChange(this._onCollectionChange),A)}addControl(e,A,i={}){this.registerControl(e,A),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,A={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:A.emitEvent}),this._onCollectionChange()}setControl(e,A,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],A&&this.registerControl(e,A),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,A={}){dJ(this,!0,e),Object.keys(e).forEach(i=>{IJ(this,!0,i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:A.emitEvent})}),this.updateValueAndValidity(A)}patchValue(e,A={}){e!=null&&(Object.keys(e).forEach(i=>{let n=this.controls[i];n&&n.patchValue(e[i],{onlySelf:!0,emitEvent:A.emitEvent})}),this.updateValueAndValidity(A))}reset(e={},A={}){this._forEachChild((i,n)=>{i.reset(e?e[n]:null,Ge(cA({},A),{onlySelf:!0}))}),this._updatePristine(A,this),this._updateTouched(A,this),this.updateValueAndValidity(A),A?.emitEvent!==!1&&this._events.next(new hu(this))}getRawValue(){return this._reduceChildren({},(e,A,i)=>(e[i]=A.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(A,i)=>i._syncPendingControls()?!0:A);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_forEachChild(e){Object.keys(this.controls).forEach(A=>{let i=this.controls[A];i&&e(i,A)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(let[A,i]of Object.entries(this.controls))if(this.contains(A)&&e(i))return!0;return!1}_reduceValue(){let e={};return this._reduceChildren(e,(A,i,n)=>((i.enabled||this.disabled)&&(A[n]=i.value),A))}_reduceChildren(e,A){let i=e;return this._forEachChild((n,o)=>{i=A(i,n,o)}),i}_allControlsDisabled(){for(let e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(e){return this.controls.hasOwnProperty(e)?this.controls[e]:null}};var Vb=class extends MB{};var kB=new yA("",{factory:()=>bp}),bp="always";function BJ(t,e){return[...e.path,t]}function uu(t,e,A=bp){i9(t,e),e.valueAccessor.writeValue(t.value),(t.disabled||A==="always")&&e.valueAccessor.setDisabledState?.(t.disabled),bcA(t,e),kcA(t,e),McA(t,e),vcA(t,e)}function wp(t,e,A=!0){let i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),yp(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function Dp(t,e){t.forEach(A=>{A.registerOnValidatorChange&&A.registerOnValidatorChange(e)})}function vcA(t,e){if(e.valueAccessor.setDisabledState){let A=i=>{e.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(A),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(A)})}}function i9(t,e){let A=lJ(t);e.validator!==null?t.setValidators(jU(A,e.validator)):typeof A=="function"&&t.setValidators([A]);let i=cJ(t);e.asyncValidator!==null?t.setAsyncValidators(jU(i,e.asyncValidator)):typeof i=="function"&&t.setAsyncValidators([i]);let n=()=>t.updateValueAndValidity();Dp(e._rawValidators,n),Dp(e._rawAsyncValidators,n)}function yp(t,e){let A=!1;if(t!==null){if(e.validator!==null){let n=lJ(t);if(Array.isArray(n)&&n.length>0){let o=n.filter(a=>a!==e.validator);o.length!==n.length&&(A=!0,t.setValidators(o))}}if(e.asyncValidator!==null){let n=cJ(t);if(Array.isArray(n)&&n.length>0){let o=n.filter(a=>a!==e.asyncValidator);o.length!==n.length&&(A=!0,t.setAsyncValidators(o))}}}let i=()=>{};return Dp(e._rawValidators,i),Dp(e._rawAsyncValidators,i),A}function bcA(t,e){e.valueAccessor.registerOnChange(A=>{t._pendingValue=A,t._pendingChange=!0,t._pendingDirty=!0,t.updateOn==="change"&&EJ(t,e)})}function McA(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,t.updateOn==="blur"&&t._pendingChange&&EJ(t,e),t.updateOn!=="submit"&&t.markAsTouched()})}function EJ(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function kcA(t,e){let A=(i,n)=>{e.valueAccessor.writeValue(i),n&&e.viewToModelUpdate(i)};t.registerOnChange(A),e._registerOnDestroy(()=>{t._unregisterOnChange(A)})}function QJ(t,e){t==null,i9(t,e)}function ScA(t,e){return yp(t,e)}function n9(t,e){if(!t.hasOwnProperty("model"))return!1;let A=t.model;return A.isFirstChange()?!0:!Object.is(e,A.currentValue)}function xcA(t){return Object.getPrototypeOf(t.constructor)===eJ}function hJ(t,e){t._syncPendingControls(),e.forEach(A=>{let i=A.control;i.updateOn==="submit"&&i._pendingChange&&(A.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function o9(t,e){if(!e)return null;Array.isArray(e);let A,i,n;return e.forEach(o=>{o.constructor===uo?A=o:xcA(o)?i=o:n=o}),n||i||A||null}function RcA(t,e){let A=t.indexOf(e);A>-1&&t.splice(A,1)}var NcA={provide:gC,useExisting:wr(()=>SB)},Bu=Promise.resolve(),SB=(()=>{class t extends gC{callSetDisabledState;get submitted(){return la(this.submittedReactive)}_submitted=Ue(()=>this.submittedReactive());submittedReactive=jA(!1);_directives=new Set;form;ngSubmit=new $A;options;constructor(A,i,n){super(),this.callSetDisabledState=n,this.form=new MB({},$b(A),A9(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(A){Bu.then(()=>{let i=this._findContainer(A.path);A.control=i.registerControl(A.name,A.control),uu(A.control,A,this.callSetDisabledState),A.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(A)})}getControl(A){return this.form.get(A.path)}removeControl(A){Bu.then(()=>{let i=this._findContainer(A.path);i&&i.removeControl(A.name),this._directives.delete(A)})}addFormGroup(A){Bu.then(()=>{let i=this._findContainer(A.path),n=new MB({});QJ(n,A),i.registerControl(A.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(A){Bu.then(()=>{let i=this._findContainer(A.path);i&&i.removeControl(A.name)})}getFormGroup(A){return this.form.get(A.path)}updateModel(A,i){Bu.then(()=>{this.form.get(A.path).setValue(i)})}setValue(A){this.control.setValue(A)}onSubmit(A){return this.submittedReactive.set(!0),hJ(this.form,this._directives),this.ngSubmit.emit(A),this.form._events.next(new pp(this.control)),A?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(A=void 0){this.form.reset(A),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(A){return A.pop(),A.length?this.form.get(A):this.form}static \u0275fac=function(i){return new(i||t)(at(a0,10),at(fu,10),at(kB,8))};static \u0275dir=OA({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup","",3,"formArray",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,n){i&1&&tA("submit",function(a){return n.onSubmit(a)})("reset",function(){return n.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[dt([NcA]),It]})}return t})();function WU(t,e){let A=t.indexOf(e);A>-1&&t.splice(A,1)}function ZU(t){return typeof t=="object"&&t!==null&&Object.keys(t).length===2&&"value"in t&&"disabled"in t}var ks=class extends bB{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(e=null,A,i){super(e9(A),t9(i,A)),this._applyFormState(e),this._setUpdateStrategy(A),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),vp(A)&&(A.nonNullable||A.initialValueIsDefault)&&(ZU(e)?this.defaultValue=e.value:this.defaultValue=e)}setValue(e,A={}){this.value=this._pendingValue=e,this._onChange.length&&A.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,A.emitViewToModelChange!==!1)),this.updateValueAndValidity(A)}patchValue(e,A={}){this.setValue(e,A)}reset(e=this.defaultValue,A={}){this._applyFormState(e),this.markAsPristine(A),this.markAsUntouched(A),this.setValue(this.value,A),A.overwriteDefaultValue&&(this.defaultValue=this.value),this._pendingChange=!1,A?.emitEvent!==!1&&this._events.next(new hu(this))}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){WU(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){WU(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(e){ZU(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}};var FcA=t=>t instanceof ks;var _cA={provide:eg,useExisting:wr(()=>Sa)},XU=Promise.resolve(),Sa=(()=>{class t extends eg{_changeDetectorRef;callSetDisabledState;control=new ks;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new $A;constructor(A,i,n,o,a,r){super(),this._changeDetectorRef=a,this.callSetDisabledState=r,this._parent=A,this._setValidators(i),this._setAsyncValidators(n),this.valueAccessor=o9(this,o)}ngOnChanges(A){if(this._checkForErrors(),!this._registered||"name"in A){if(this._registered&&(this._checkName(),this.formDirective)){let i=A.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in A&&this._updateDisabled(A),n9(A,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(A){this.viewModel=A,this.update.emit(A)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){uu(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(A){XU.then(()=>{this.control.setValue(A,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(A){let i=A.isDisabled.currentValue,n=i!==0&&he(i);XU.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(A){return this._parent?BJ(A,this._parent):[A]}static \u0275fac=function(i){return new(i||t)(at(gC,9),at(a0,10),at(fu,10),at(Lg,10),at(Dt,8),at(kB,8))};static \u0275dir=OA({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[dt([_cA]),It,ti]})}return t})();var uJ=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return t})(),LcA={provide:Lg,useExisting:wr(()=>a9),multi:!0},a9=(()=>{class t extends eJ{writeValue(A){let i=A??"";this.setProperty("value",i)}registerOnChange(A){this.onChange=i=>{A(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,n){i&1&&tA("input",function(a){return n.onChange(a.target.value)})("blur",function(){return n.onTouched()})},standalone:!1,features:[dt([LcA]),It]})}return t})();var Wb=class extends bB{constructor(e,A,i){super(e9(A),t9(i,A)),this.controls=e,this._initObservables(),this._setUpdateStrategy(A),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(e){return this.controls[this._adjustIndex(e)]}push(e,A={}){Array.isArray(e)?e.forEach(i=>{this.controls.push(i),this._registerControl(i)}):(this.controls.push(e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:A.emitEvent}),this._onCollectionChange()}insert(e,A,i={}){this.controls.splice(e,0,A),this._registerControl(A),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,A={}){let i=this._adjustIndex(e);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:A.emitEvent})}setControl(e,A,i={}){let n=this._adjustIndex(e);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),A&&(this.controls.splice(n,0,A),this._registerControl(A)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,A={}){dJ(this,!1,e),e.forEach((i,n)=>{IJ(this,!1,n),this.at(n).setValue(i,{onlySelf:!0,emitEvent:A.emitEvent})}),this.updateValueAndValidity(A)}patchValue(e,A={}){e!=null&&(e.forEach((i,n)=>{this.at(n)&&this.at(n).patchValue(i,{onlySelf:!0,emitEvent:A.emitEvent})}),this.updateValueAndValidity(A))}reset(e=[],A={}){this._forEachChild((i,n)=>{i.reset(e[n],Ge(cA({},A),{onlySelf:!0}))}),this._updatePristine(A,this),this._updateTouched(A,this),this.updateValueAndValidity(A),A?.emitEvent!==!1&&this._events.next(new hu(this))}getRawValue(){return this.controls.map(e=>e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(A=>A._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_adjustIndex(e){return e<0?e+this.length:e}_syncPendingControls(){let e=this.controls.reduce((A,i)=>i._syncPendingControls()?!0:A,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_forEachChild(e){this.controls.forEach((A,i)=>{e(A,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(A=>A.enabled&&e(A))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_allControlsDisabled(){for(let e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}_find(e){return this.at(e)??null}};var GcA=(()=>{class t extends gC{callSetDisabledState;get submitted(){return la(this._submittedReactive)}set submitted(A){this._submittedReactive.set(A)}_submitted=Ue(()=>this._submittedReactive());_submittedReactive=jA(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];constructor(A,i,n){super(),this.callSetDisabledState=n,this._setValidators(A),this._setAsyncValidators(i)}ngOnChanges(A){this.onChanges(A)}ngOnDestroy(){this.onDestroy()}onChanges(A){this._checkFormPresent(),A.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}onDestroy(){this.form&&(yp(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get path(){return[]}addControl(A){let i=this.form.get(A.path);return uu(i,A,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(A),i}getControl(A){return this.form.get(A.path)}removeControl(A){wp(A.control||null,A,!1),RcA(this.directives,A)}addFormGroup(A){this._setUpFormContainer(A)}removeFormGroup(A){this._cleanUpFormContainer(A)}getFormGroup(A){return this.form.get(A.path)}getFormArray(A){return this.form.get(A.path)}addFormArray(A){this._setUpFormContainer(A)}removeFormArray(A){this._cleanUpFormContainer(A)}updateModel(A,i){this.form.get(A.path).setValue(i)}onReset(){this.resetForm()}resetForm(A=void 0,i={}){this.form.reset(A,i),this._submittedReactive.set(!1)}onSubmit(A){return this.submitted=!0,hJ(this.form,this.directives),this.ngSubmit.emit(A),this.form._events.next(new pp(this.control)),A?.target?.method==="dialog"}_updateDomValue(){this.directives.forEach(A=>{let i=A.control,n=this.form.get(A.path);i!==n&&(wp(i||null,A),FcA(n)&&(uu(n,A,this.callSetDisabledState),A.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(A){let i=this.form.get(A.path);QJ(i,A),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(A){if(this.form){let i=this.form.get(A.path);i&&ScA(i,A)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){i9(this.form,this),this._oldForm&&yp(this._oldForm,this)}_checkFormPresent(){this.form}static \u0275fac=function(i){return new(i||t)(at(a0,10),at(fu,10),at(kB,8))};static \u0275dir=OA({type:t,features:[It,ti]})}return t})();var r9=new yA(""),KcA={provide:eg,useExisting:wr(()=>v1)},v1=(()=>{class t extends eg{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(A){}model;update=new $A;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(A,i,n,o,a){super(),this._ngModelWarningConfig=o,this.callSetDisabledState=a,this._setValidators(A),this._setAsyncValidators(i),this.valueAccessor=o9(this,n)}ngOnChanges(A){if(this._isControlChanged(A)){let i=A.form.previousValue;i&&wp(i,this,!1),uu(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}n9(A,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&wp(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(A){this.viewModel=A,this.update.emit(A)}_isControlChanged(A){return A.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||t)(at(a0,10),at(fu,10),at(Lg,10),at(r9,8),at(kB,8))};static \u0275dir=OA({type:t,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[dt([KcA]),It,ti]})}return t})();var UcA={provide:eg,useExisting:wr(()=>s9)},s9=(()=>{class t extends eg{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(A){}model;update=new $A;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(A,i,n,o,a){super(),this._ngModelWarningConfig=a,this._parent=A,this._setValidators(i),this._setAsyncValidators(n),this.valueAccessor=o9(this,o)}ngOnChanges(A){this._added||this._setUpControl(),n9(A,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(A){this.viewModel=A,this.update.emit(A)}get path(){return BJ(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||t)(at(gC,13),at(a0,10),at(fu,10),at(Lg,10),at(r9,8))};static \u0275dir=OA({type:t,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[dt([UcA]),It,ti]})}return t})();var JcA={provide:gC,useExisting:wr(()=>v2)},v2=(()=>{class t extends GcA{form=null;ngSubmit=new $A;get control(){return this.form}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,n){i&1&&tA("submit",function(a){return n.onSubmit(a)})("reset",function(){return n.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[dt([JcA]),It]})}return t})();function YcA(t){return typeof t=="number"?t:parseFloat(t)}var TcA=(()=>{class t{_validator=Qp;_onChange;_enabled;ngOnChanges(A){if(this.inputName in A){let i=this.normalizeInput(A[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Qp,this._onChange&&this._onChange()}}validate(A){return this._validator(A)}registerOnValidatorChange(A){this._onChange=A}enabled(A){return A!=null}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,features:[ti]})}return t})();var HcA={provide:a0,useExisting:wr(()=>g9),multi:!0},g9=(()=>{class t extends TcA{min;inputName="min";normalizeInput=A=>YcA(A);createValidator=A=>tJ(A);static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(i,n){i&2&&ie("min",n._enabled?n.min:null)},inputs:{min:"min"},standalone:!1,features:[dt([HcA]),It]})}return t})();var fJ=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();function $U(t){return!!t&&(t.asyncValidators!==void 0||t.validators!==void 0||t.updateOn!==void 0)}var mJ=(()=>{class t{useNonNullable=!1;get nonNullable(){let A=new t;return A.useNonNullable=!0,A}group(A,i=null){let n=this._reduceControls(A),o={};return $U(i)?o=i:i!==null&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new MB(n,o)}record(A,i=null){let n=this._reduceControls(A);return new Vb(n,i)}control(A,i,n){let o={};return this.useNonNullable?($U(i)?o=i:(o.validators=i,o.asyncValidators=n),new ks(A,Ge(cA({},o),{nonNullable:!0}))):new ks(A,i,n)}array(A,i,n){let o=A.map(a=>this._createControl(a));return new Wb(o,i,n)}_reduceControls(A){let i={};return Object.keys(A).forEach(n=>{i[n]=this._createControl(A[n])}),i}_createControl(A){if(A instanceof ks)return A;if(A instanceof bB)return A;if(Array.isArray(A)){let i=A[0],n=A.length>1?A[1]:null,o=A.length>2?A[2]:null;return this.control(i,n,o)}else return this.control(A)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Nn=(()=>{class t{static withConfig(A){return{ngModule:t,providers:[{provide:kB,useValue:A.callSetDisabledState??bp}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[fJ]})}return t})(),r0=(()=>{class t{static withConfig(A){return{ngModule:t,providers:[{provide:r9,useValue:A.warnOnNgModelWithFormControl??"always"},{provide:kB,useValue:A.callSetDisabledState??bp}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[fJ]})}return t})();function b1(t){return t.buttons===0||t.detail===0}function M1(t){let e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!!e&&e.identifier===-1&&(e.radiusX==null||e.radiusX===1)&&(e.radiusY==null||e.radiusY===1)}var l9;function pJ(){if(l9==null){let t=typeof document<"u"?document.head:null;l9=!!(t&&(t.createShadowRoot||t.attachShadow))}return l9}function c9(t){if(pJ()){let e=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function mu(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){let e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Jr(t){return t.composedPath?t.composedPath()[0]:t.target}var C9;try{C9=typeof Intl<"u"&&Intl.v8BreakIterator}catch{C9=!1}var Ii=(()=>{class t{_platformId=h(np);isBrowser=this._platformId?sC(this._platformId):typeof document=="object"&&!!document;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||C9)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var pu;function wJ(){if(pu==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>pu=!0}))}finally{pu=pu||!1}return pu}function b2(t){return wJ()?t:!!t.capture}function tg(t,e=0){return Mp(t)?Number(t):arguments.length===2?e:0}function Mp(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function xs(t){return t instanceof ge?t.nativeElement:t}var DJ=new yA("cdk-input-modality-detector-options"),yJ={ignoreKeys:[18,17,224,91,16]},vJ=650,I9={passive:!0,capture:!0},bJ=(()=>{class t{_platform=h(Ii);_listenerCleanups;modalityDetected;modalityChanged;get mostRecentModality(){return this._modality.value}_mostRecentTarget=null;_modality=new Ht(null);_options;_lastTouchMs=0;_onKeydown=A=>{this._options?.ignoreKeys?.some(i=>i===A.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Jr(A))};_onMousedown=A=>{Date.now()-this._lastTouchMs{if(M1(A)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Jr(A)};constructor(){let A=h(Oe),i=h(Xt),n=h(DJ,{optional:!0});if(this._options=cA(cA({},yJ),n),this.modalityDetected=this._modality.pipe(Fg(1)),this.modalityChanged=this.modalityDetected.pipe(Vl()),this._platform.isBrowser){let o=h(Kr).createRenderer(null,null);this._listenerCleanups=A.runOutsideAngular(()=>[o.listen(i,"keydown",this._onKeydown,I9),o.listen(i,"mousedown",this._onMousedown,I9),o.listen(i,"touchstart",this._onTouchstart,I9)])}}ngOnDestroy(){this._modality.complete(),this._listenerCleanups?.forEach(A=>A())}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),wu=(function(t){return t[t.IMMEDIATE=0]="IMMEDIATE",t[t.EVENTUAL=1]="EVENTUAL",t})(wu||{}),MJ=new yA("cdk-focus-monitor-default-options"),kp=b2({passive:!0,capture:!0}),ar=(()=>{class t{_ngZone=h(Oe);_platform=h(Ii);_inputModalityDetector=h(bJ);_origin=null;_lastFocusOrigin=null;_windowFocused=!1;_windowFocusTimeoutId;_originTimeoutId;_originFromTouchInteraction=!1;_elementInfo=new Map;_monitoredElementCount=0;_rootNodeFocusListenerCount=new Map;_detectionMode;_windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};_document=h(Xt);_stopInputModalityDetector=new XA;constructor(){let A=h(MJ,{optional:!0});this._detectionMode=A?.detectionMode||wu.IMMEDIATE}_rootNodeFocusAndBlurListener=A=>{let i=Jr(A);for(let n=i;n;n=n.parentElement)A.type==="focus"?this._onFocus(A,n):this._onBlur(A,n)};monitor(A,i=!1){let n=xs(A);if(!this._platform.isBrowser||n.nodeType!==1)return se();let o=c9(n)||this._document,a=this._elementInfo.get(n);if(a)return i&&(a.checkChildren=!0),a.subject;let r={checkChildren:i,subject:new XA,rootNode:o};return this._elementInfo.set(n,r),this._registerGlobalListeners(r),r.subject}stopMonitoring(A){let i=xs(A),n=this._elementInfo.get(i);n&&(n.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(n))}focusVia(A,i,n){let o=xs(A),a=this._document.activeElement;o===a?this._getClosestElementsInfo(o).forEach(([r,s])=>this._originChanged(r,i,s)):(this._setOrigin(i),typeof o.focus=="function"&&o.focus(n))}ngOnDestroy(){this._elementInfo.forEach((A,i)=>this.stopMonitoring(i))}_getWindow(){return this._document.defaultView||window}_getFocusOrigin(A){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(A)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:A&&this._isLastInteractionFromInputLabel(A)?"mouse":"program"}_shouldBeAttributedToTouch(A){return this._detectionMode===wu.EVENTUAL||!!A?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(A,i){A.classList.toggle("cdk-focused",!!i),A.classList.toggle("cdk-touch-focused",i==="touch"),A.classList.toggle("cdk-keyboard-focused",i==="keyboard"),A.classList.toggle("cdk-mouse-focused",i==="mouse"),A.classList.toggle("cdk-program-focused",i==="program")}_setOrigin(A,i=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=A,this._originFromTouchInteraction=A==="touch"&&i,this._detectionMode===wu.IMMEDIATE){clearTimeout(this._originTimeoutId);let n=this._originFromTouchInteraction?vJ:1;this._originTimeoutId=setTimeout(()=>this._origin=null,n)}})}_onFocus(A,i){let n=this._elementInfo.get(i),o=Jr(A);!n||!n.checkChildren&&i!==o||this._originChanged(i,this._getFocusOrigin(o),n)}_onBlur(A,i){let n=this._elementInfo.get(i);!n||n.checkChildren&&A.relatedTarget instanceof Node&&i.contains(A.relatedTarget)||(this._setClasses(i),this._emitOrigin(n,null))}_emitOrigin(A,i){A.subject.observers.length&&this._ngZone.run(()=>A.subject.next(i))}_registerGlobalListeners(A){if(!this._platform.isBrowser)return;let i=A.rootNode,n=this._rootNodeFocusListenerCount.get(i)||0;n||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,kp),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,kp)}),this._rootNodeFocusListenerCount.set(i,n+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Bt(this._stopInputModalityDetector)).subscribe(o=>{this._setOrigin(o,!0)}))}_removeGlobalListeners(A){let i=A.rootNode;if(this._rootNodeFocusListenerCount.has(i)){let n=this._rootNodeFocusListenerCount.get(i);n>1?this._rootNodeFocusListenerCount.set(i,n-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,kp),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,kp),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(A,i,n){this._setClasses(A,i),this._emitOrigin(n,i),this._lastFocusOrigin=i}_getClosestElementsInfo(A){let i=[];return this._elementInfo.forEach((n,o)=>{(o===A||n.checkChildren&&o.contains(A))&&i.push([o,n])}),i}_isLastInteractionFromInputLabel(A){let{_mostRecentTarget:i,mostRecentModality:n}=this._inputModalityDetector;if(n!=="mouse"||!i||i===A||A.nodeName!=="INPUT"&&A.nodeName!=="TEXTAREA"||A.disabled)return!1;let o=A.labels;if(o){for(let a=0;a{class t{_elementRef=h(ge);_focusMonitor=h(ar);_monitorSubscription;_focusOrigin=null;cdkFocusChange=new $A;constructor(){}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){let A=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(A,A.nodeType===1&&A.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>{this._focusOrigin=i,this.cdkFocusChange.emit(i)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription?.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]})}return t})();var Sp=new WeakMap,Xn=(()=>{class t{_appRef;_injector=h(ft);_environmentInjector=h(Gr);load(A){let i=this._appRef=this._appRef||this._injector.get(oC),n=Sp.get(i);n||(n={loaders:new Set,refs:[]},Sp.set(i,n),i.onDestroy(()=>{Sp.get(i)?.refs.forEach(o=>o.destroy()),Sp.delete(i)})),n.loaders.has(A)||(n.loaders.add(A),n.refs.push(Ip(A,{environmentInjector:this._environmentInjector})))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var M2=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],exportAs:["cdkVisuallyHidden"],decls:0,vars:0,template:function(i,n){},styles:[`.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0} -`],encapsulation:2,changeDetection:0})}return t})(),xp;function zcA(){if(xp===void 0&&(xp=null,typeof window<"u")){let t=window;t.trustedTypes!==void 0&&(xp=t.trustedTypes.createPolicy("angular#components",{createHTML:e=>e}))}return xp}function k1(t){return zcA()?.createHTML(t)||t}function kJ(t,e,A){let i=A.sanitize(Wl.HTML,e);t.innerHTML=k1(i||"")}function xB(t){return Array.isArray(t)?t:[t]}var SJ=new Set,S1,RB=(()=>{class t{_platform=h(Ii);_nonce=h(QU,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):PcA}matchMedia(A){return(this._platform.WEBKIT||this._platform.BLINK)&&OcA(A,this._nonce),this._matchMedia(A)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function OcA(t,e){if(!SJ.has(t))try{S1||(S1=document.createElement("style"),e&&S1.setAttribute("nonce",e),S1.setAttribute("type","text/css"),document.head.appendChild(S1)),S1.sheet&&(S1.sheet.insertRule(`@media ${t} {body{ }}`,0),SJ.add(t))}catch(A){console.error(A)}}function PcA(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var Du=(()=>{class t{_mediaMatcher=h(RB);_zone=h(Oe);_queries=new Map;_destroySubject=new XA;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(A){return xJ(xB(A)).some(n=>this._registerQuery(n).mql.matches)}observe(A){let n=xJ(xB(A)).map(a=>this._registerQuery(a).observable),o=Ir(n);return o=Xm(o.pipe(oo(1)),o.pipe(Fg(1),Os(0))),o.pipe(fe(a=>{let r={matches:!1,breakpoints:{}};return a.forEach(({matches:s,query:g})=>{r.matches=r.matches||s,r.breakpoints[g]=s}),r}))}_registerQuery(A){if(this._queries.has(A))return this._queries.get(A);let i=this._mediaMatcher.matchMedia(A),o={observable:new $i(a=>{let r=s=>this._zone.run(()=>a.next(s));return i.addListener(r),()=>{i.removeListener(r)}}).pipe(cn(i),fe(({matches:a})=>({query:A,matches:a})),Bt(this._destroySubject)),mql:i};return this._queries.set(A,o),o}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function xJ(t){return t.map(e=>e.split(",")).reduce((e,A)=>e.concat(A)).map(e=>e.trim())}function jcA(t){if(t.type==="characterData"&&t.target instanceof Comment)return!0;if(t.type==="childList"){for(let e=0;e{class t{create(A){return typeof MutationObserver>"u"?null:new MutationObserver(A)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),NJ=(()=>{class t{_mutationObserverFactory=h(RJ);_observedElements=new Map;_ngZone=h(Oe);constructor(){}ngOnDestroy(){this._observedElements.forEach((A,i)=>this._cleanupObserver(i))}observe(A){let i=xs(A);return new $i(n=>{let a=this._observeElement(i).pipe(fe(r=>r.filter(s=>!jcA(s))),Ze(r=>!!r.length)).subscribe(r=>{this._ngZone.run(()=>{n.next(r)})});return()=>{a.unsubscribe(),this._unobserveElement(i)}})}_observeElement(A){return this._ngZone.runOutsideAngular(()=>{if(this._observedElements.has(A))this._observedElements.get(A).count++;else{let i=new XA,n=this._mutationObserverFactory.create(o=>i.next(o));n&&n.observe(A,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(A,{observer:n,stream:i,count:1})}return this._observedElements.get(A).stream})}_unobserveElement(A){this._observedElements.has(A)&&(this._observedElements.get(A).count--,this._observedElements.get(A).count||this._cleanupObserver(A))}_cleanupObserver(A){if(this._observedElements.has(A)){let{observer:i,stream:n}=this._observedElements.get(A);i&&i.disconnect(),n.complete(),this._observedElements.delete(A)}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),FJ=(()=>{class t{_contentObserver=h(NJ);_elementRef=h(ge);event=new $A;get disabled(){return this._disabled}set disabled(A){this._disabled=A,this._disabled?this._unsubscribe():this._subscribe()}_disabled=!1;get debounce(){return this._debounce}set debounce(A){this._debounce=tg(A),this._subscribe()}_debounce;_currentSubscription=null;constructor(){}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();let A=this._contentObserver.observe(this._elementRef);this._currentSubscription=(this.debounce?A.pipe(Os(this.debounce)):A).subscribe(this.event)}_unsubscribe(){this._currentSubscription?.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[2,"cdkObserveContentDisabled","disabled",he],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return t})(),Rp=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[RJ]})}return t})();var NB=(()=>{class t{_platform=h(Ii);constructor(){}isDisabled(A){return A.hasAttribute("disabled")}isVisible(A){return VcA(A)&&getComputedStyle(A).visibility==="visible"}isTabbable(A){if(!this._platform.isBrowser)return!1;let i=qcA(i0A(A));if(i&&(_J(i)===-1||!this.isVisible(i)))return!1;let n=A.nodeName.toLowerCase(),o=_J(A);return A.hasAttribute("contenteditable")?o!==-1:n==="iframe"||n==="object"||this._platform.WEBKIT&&this._platform.IOS&&!e0A(A)?!1:n==="audio"?A.hasAttribute("controls")?o!==-1:!1:n==="video"?o===-1?!1:o!==null?!0:this._platform.FIREFOX||A.hasAttribute("controls"):A.tabIndex>=0}isFocusable(A,i){return t0A(A)&&!this.isDisabled(A)&&(i?.ignoreVisibility||this.isVisible(A))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function qcA(t){try{return t.frameElement}catch{return null}}function VcA(t){return!!(t.offsetWidth||t.offsetHeight||typeof t.getClientRects=="function"&&t.getClientRects().length)}function WcA(t){let e=t.nodeName.toLowerCase();return e==="input"||e==="select"||e==="button"||e==="textarea"}function ZcA(t){return $cA(t)&&t.type=="hidden"}function XcA(t){return A0A(t)&&t.hasAttribute("href")}function $cA(t){return t.nodeName.toLowerCase()=="input"}function A0A(t){return t.nodeName.toLowerCase()=="a"}function KJ(t){if(!t.hasAttribute("tabindex")||t.tabIndex===void 0)return!1;let e=t.getAttribute("tabindex");return!!(e&&!isNaN(parseInt(e,10)))}function _J(t){if(!KJ(t))return null;let e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}function e0A(t){let e=t.nodeName.toLowerCase(),A=e==="input"&&t.type;return A==="text"||A==="password"||e==="select"||e==="textarea"}function t0A(t){return ZcA(t)?!1:WcA(t)||XcA(t)||t.hasAttribute("contenteditable")||KJ(t)}function i0A(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}var Np=class{_element;_checker;_ngZone;_document;_injector;_startAnchor=null;_endAnchor=null;_hasAttached=!1;startAnchorListener=()=>this.focusLastTabbableElement();endAnchorListener=()=>this.focusFirstTabbableElement();get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_enabled=!0;constructor(e,A,i,n,o=!1,a){this._element=e,this._checker=A,this._ngZone=i,this._document=n,this._injector=a,o||this.attachAnchors()}destroy(){let e=this._startAnchor,A=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.remove()),A&&(A.removeEventListener("focus",this.endAnchorListener),A.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(A=>{this._executeOnStable(()=>A(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(A=>{this._executeOnStable(()=>A(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(A=>{this._executeOnStable(()=>A(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let A=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);return e=="start"?A.length?A[0]:this._getFirstTabbableElement(this._element):A.length?A[A.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(e){let A=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(A){if(!this._checker.isFocusable(A)){let i=this._getFirstTabbableElement(A);return i?.focus(e),!!i}return A.focus(e),!0}return this.focusFirstTabbableElement(e)}focusFirstTabbableElement(e){let A=this._getRegionBoundary("start");return A&&A.focus(e),!!A}focusLastTabbableElement(e){let A=this._getRegionBoundary("end");return A&&A.focus(e),!!A}hasAttached(){return this._hasAttached}_getFirstTabbableElement(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;let A=e.children;for(let i=0;i=0;i--){let n=A[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(A[i]):null;if(n)return n}return null}_createAnchor(){let e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,A){e?A.setAttribute("tabindex","0"):A.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._injector?Yn(e,{injector:this._injector}):setTimeout(e)}},yu=(()=>{class t{_checker=h(NB);_ngZone=h(Oe);_document=h(Xt);_injector=h(ft);constructor(){h(Xn).load(M2)}create(A,i=!1){return new Np(A,this._checker,this._ngZone,this._document,i,this._injector)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var UJ=new yA("liveAnnouncerElement",{providedIn:"root",factory:()=>null}),JJ=new yA("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),n0A=0,vu=(()=>{class t{_ngZone=h(Oe);_defaultOptions=h(JJ,{optional:!0});_liveElement;_document=h(Xt);_sanitizer=h($s);_previousTimeout;_currentPromise;_currentResolve;constructor(){let A=h(UJ,{optional:!0});this._liveElement=A||this._createLiveElement()}announce(A,...i){let n=this._defaultOptions,o,a;return i.length===1&&typeof i[0]=="number"?a=i[0]:[o,a]=i,this.clear(),clearTimeout(this._previousTimeout),o||(o=n&&n.politeness?n.politeness:"polite"),a==null&&n&&(a=n.duration),this._liveElement.setAttribute("aria-live",o),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(r=>this._currentResolve=r)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{!A||typeof A=="string"?this._liveElement.textContent=A:kJ(this._liveElement,A,this._sanitizer),typeof a=="number"&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){let A="cdk-live-announcer-element",i=this._document.getElementsByClassName(A),n=this._document.createElement("div");for(let o=0;o .cdk-overlay-container [aria-modal="true"]');for(let n=0;n{class t{_platform=h(Ii);_hasCheckedHighContrastMode=!1;_document=h(Xt);_breakpointSubscription;constructor(){this._breakpointSubscription=h(Du).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return k2.NONE;let A=this._document.createElement("div");A.style.backgroundColor="rgb(1,2,3)",A.style.position="absolute",this._document.body.appendChild(A);let i=this._document.defaultView||window,n=i&&i.getComputedStyle?i.getComputedStyle(A):null,o=(n&&n.backgroundColor||"").replace(/ /g,"");switch(A.remove(),o){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return k2.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return k2.BLACK_ON_WHITE}return k2.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let A=this._document.body.classList;A.remove(B9,LJ,GJ),this._hasCheckedHighContrastMode=!0;let i=this.getHighContrastMode();i===k2.BLACK_ON_WHITE?A.add(B9,LJ):i===k2.WHITE_ON_BLACK&&A.add(B9,GJ)}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),bu=(()=>{class t{constructor(){h(YJ)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Rp]})}return t})();var E9={},an=class t{_appId=h(ip);static _infix=`a${Math.floor(Math.random()*1e5).toString()}`;getId(e,A=!1){return this._appId!=="ng"&&(e+=this._appId),E9.hasOwnProperty(e)||(E9[e]=0),`${e}${A?t._infix+"-":""}${E9[e]++}`}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var o0A=200,Fp=class{_letterKeyStream=new XA;_items=[];_selectedItemIndex=-1;_pressedLetters=[];_skipPredicateFn;_selectedItem=new XA;selectedItem=this._selectedItem;constructor(e,A){let i=typeof A?.debounceInterval=="number"?A.debounceInterval:o0A;A?.skipPredicate&&(this._skipPredicateFn=A.skipPredicate),this.setItems(e),this._setupKeyHandler(i)}destroy(){this._pressedLetters=[],this._letterKeyStream.complete(),this._selectedItem.complete()}setCurrentSelectedItemIndex(e){this._selectedItemIndex=e}setItems(e){this._items=e}handleKey(e){let A=e.keyCode;e.key&&e.key.length===1?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(A>=65&&A<=90||A>=48&&A<=57)&&this._letterKeyStream.next(String.fromCharCode(A))}isTyping(){return this._pressedLetters.length>0}reset(){this._pressedLetters=[]}_setupKeyHandler(e){this._letterKeyStream.pipe(oi(A=>this._pressedLetters.push(A)),Os(e),Ze(()=>this._pressedLetters.length>0),fe(()=>this._pressedLetters.join("").toLocaleUpperCase())).subscribe(A=>{for(let i=1;it[A]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}var FB=class{_items;_activeItemIndex=jA(-1);_activeItem=jA(null);_wrap=!1;_typeaheadSubscription=Jn.EMPTY;_itemChangesSubscription;_vertical=!0;_horizontal=null;_allowedModifierKeys=[];_homeAndEnd=!1;_pageUpAndDown={enabled:!1,delta:10};_effectRef;_typeahead;_skipPredicateFn=e=>e.disabled;constructor(e,A){this._items=e,e instanceof ol?this._itemChangesSubscription=e.changes.subscribe(i=>this._itemsChanged(i.toArray())):w1(e)&&(this._effectRef=Ga(()=>this._itemsChanged(e()),{injector:A}))}tabOut=new XA;change=new XA;skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){this._typeaheadSubscription.unsubscribe();let A=this._getItemsArray();return this._typeahead=new Fp(A,{debounceInterval:typeof e=="number"?e:void 0,skipPredicate:i=>this._skipPredicateFn(i)}),this._typeaheadSubscription=this._typeahead.selectedItem.subscribe(i=>{this.setActiveItem(i)}),this}cancelTypeahead(){return this._typeahead?.reset(),this}withHomeAndEnd(e=!0){return this._homeAndEnd=e,this}withPageUpDown(e=!0,A=10){return this._pageUpAndDown={enabled:e,delta:A},this}setActiveItem(e){let A=this._activeItem();this.updateActiveItem(e),this._activeItem()!==A&&this.change.next(this._activeItemIndex())}onKeydown(e){let A=e.keyCode,n=["altKey","ctrlKey","metaKey","shiftKey"].every(o=>!e[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(A){case 9:this.tabOut.next();return;case 40:if(this._vertical&&n){this.setNextItemActive();break}else return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}else return;case 39:if(this._horizontal&&n){this._horizontal==="rtl"?this.setPreviousItemActive():this.setNextItemActive();break}else return;case 37:if(this._horizontal&&n){this._horizontal==="rtl"?this.setNextItemActive():this.setPreviousItemActive();break}else return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}else return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}else return;case 33:if(this._pageUpAndDown.enabled&&n){let o=this._activeItemIndex()-this._pageUpAndDown.delta;this._setActiveItemByIndex(o>0?o:0,1);break}else return;case 34:if(this._pageUpAndDown.enabled&&n){let o=this._activeItemIndex()+this._pageUpAndDown.delta,a=this._getItemsArray().length;this._setActiveItemByIndex(o-1&&i!==this._activeItemIndex()&&(this._activeItemIndex.set(i),this._typeahead?.setCurrentSelectedItemIndex(i))}}};var Ru=class extends FB{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}};var s0=class extends FB{_origin="program";setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}};var zJ=" ";function u9(t,e,A){let i=Lp(t,e);A=A.trim(),!i.some(n=>n.trim()===A)&&(i.push(A),t.setAttribute(e,i.join(zJ)))}function Gp(t,e,A){let i=Lp(t,e);A=A.trim();let n=i.filter(o=>o!==A);n.length?t.setAttribute(e,n.join(zJ)):t.removeAttribute(e)}function Lp(t,e){return t.getAttribute(e)?.match(/\S+/g)??[]}var OJ="cdk-describedby-message",_p="cdk-describedby-host",h9=0,PJ=(()=>{class t{_platform=h(Ii);_document=h(Xt);_messageRegistry=new Map;_messagesContainer=null;_id=`${h9++}`;constructor(){h(Xn).load(M2),this._id=h(ip)+"-"+h9++}describe(A,i,n){if(!this._canBeDescribed(A,i))return;let o=Q9(i,n);typeof i!="string"?(HJ(i,this._id),this._messageRegistry.set(o,{messageElement:i,referenceCount:0})):this._messageRegistry.has(o)||this._createMessageElement(i,n),this._isElementDescribedByMessage(A,o)||this._addMessageReference(A,o)}removeDescription(A,i,n){if(!i||!this._isElementNode(A))return;let o=Q9(i,n);if(this._isElementDescribedByMessage(A,o)&&this._removeMessageReference(A,o),typeof i=="string"){let a=this._messageRegistry.get(o);a&&a.referenceCount===0&&this._deleteMessageElement(o)}this._messagesContainer?.childNodes.length===0&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){let A=this._document.querySelectorAll(`[${_p}="${this._id}"]`);for(let i=0;in.indexOf(OJ)!=0);A.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(A,i){let n=this._messageRegistry.get(i);u9(A,"aria-describedby",n.messageElement.id),A.setAttribute(_p,this._id),n.referenceCount++}_removeMessageReference(A,i){let n=this._messageRegistry.get(i);n.referenceCount--,Gp(A,"aria-describedby",n.messageElement.id),A.removeAttribute(_p)}_isElementDescribedByMessage(A,i){let n=Lp(A,"aria-describedby"),o=this._messageRegistry.get(i),a=o&&o.messageElement.id;return!!a&&n.indexOf(a)!=-1}_canBeDescribed(A,i){if(!this._isElementNode(A))return!1;if(i&&typeof i=="object")return!0;let n=i==null?"":`${i}`.trim(),o=A.getAttribute("aria-label");return n?!o||o.trim()!==n:!1}_isElementNode(A){return A.nodeType===this._document.ELEMENT_NODE}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Q9(t,e){return typeof t=="string"?`${e||""}/${t}`:t}function HJ(t,e){t.id||(t.id=`${OJ}-${e}-${h9++}`)}var Xl=(function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t})(Xl||{}),Kp,x1;function Up(){if(x1==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return x1=!1,x1;if(document.documentElement?.style&&"scrollBehavior"in document.documentElement.style)x1=!0;else{let t=Element.prototype.scrollTo;t?x1=!/\{\s*\[native code\]\s*\}/.test(t.toString()):x1=!1}}return x1}function _B(){if(typeof document!="object"||!document)return Xl.NORMAL;if(Kp==null){let t=document.createElement("div"),e=t.style;t.dir="rtl",e.width="1px",e.overflow="auto",e.visibility="hidden",e.pointerEvents="none",e.position="absolute";let A=document.createElement("div"),i=A.style;i.width="2px",i.height="1px",t.appendChild(A),document.body.appendChild(t),Kp=Xl.NORMAL,t.scrollLeft===0&&(t.scrollLeft=1,Kp=t.scrollLeft===0?Xl.NEGATED:Xl.INVERTED),t.remove()}return Kp}function f9(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}var LB,jJ=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function m9(){if(LB)return LB;if(typeof document!="object"||!document)return LB=new Set(jJ),LB;let t=document.createElement("input");return LB=new Set(jJ.filter(e=>(t.setAttribute("type",e),t.type===e))),LB}var qJ={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};var r0A=new yA("MATERIAL_ANIMATIONS"),VJ=null;function Nu(){return h(r0A,{optional:!0})?.animationsDisabled||h(p1,{optional:!0})==="NoopAnimations"?"di-disabled":(VJ??=h(RB).matchMedia("(prefers-reduced-motion)").matches,VJ?"reduced-motion":"enabled")}function ji(){return Nu()!=="enabled"}function Va(t){return t==null?"":typeof t=="string"?t:`${t}px`}function yr(t){return t!=null&&`${t}`!="false"}var Rs=(function(t){return t[t.FADING_IN=0]="FADING_IN",t[t.VISIBLE=1]="VISIBLE",t[t.FADING_OUT=2]="FADING_OUT",t[t.HIDDEN=3]="HIDDEN",t})(Rs||{}),p9=class{_renderer;element;config;_animationForciblyDisabledThroughCss;state=Rs.HIDDEN;constructor(e,A,i,n=!1){this._renderer=e,this.element=A,this.config=i,this._animationForciblyDisabledThroughCss=n}fadeOut(){this._renderer.fadeOutRipple(this)}},WJ=b2({passive:!0,capture:!0}),w9=class{_events=new Map;addHandler(e,A,i,n){let o=this._events.get(A);if(o){let a=o.get(i);a?a.add(n):o.set(i,new Set([n]))}else this._events.set(A,new Map([[i,new Set([n])]])),e.runOutsideAngular(()=>{document.addEventListener(A,this._delegateEventHandler,WJ)})}removeHandler(e,A,i){let n=this._events.get(e);if(!n)return;let o=n.get(A);o&&(o.delete(i),o.size===0&&n.delete(A),n.size===0&&(this._events.delete(e),document.removeEventListener(e,this._delegateEventHandler,WJ)))}_delegateEventHandler=e=>{let A=Jr(e);A&&this._events.get(e.type)?.forEach((i,n)=>{(n===A||n.contains(A))&&i.forEach(o=>o.handleEvent(e))})}},Fu={enterDuration:225,exitDuration:150},s0A=800,ZJ=b2({passive:!0,capture:!0}),XJ=["mousedown","touchstart"],$J=["mouseup","mouseleave","touchend","touchcancel"],g0A=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],hostAttrs:["mat-ripple-style-loader",""],decls:0,vars:0,template:function(i,n){},styles:[`.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none} -`],encapsulation:2,changeDetection:0})}return t})(),_u=class t{_target;_ngZone;_platform;_containerElement;_triggerElement=null;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple=null;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect=null;static _eventManager=new w9;constructor(e,A,i,n,o){this._target=e,this._ngZone=A,this._platform=n,n.isBrowser&&(this._containerElement=xs(i)),o&&o.get(Xn).load(g0A)}fadeInRipple(e,A,i={}){let n=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=cA(cA({},Fu),i.animation);i.centered&&(e=n.left+n.width/2,A=n.top+n.height/2);let a=i.radius||l0A(e,A,n),r=e-n.left,s=A-n.top,g=o.enterDuration,l=document.createElement("div");l.classList.add("mat-ripple-element"),l.style.left=`${r-a}px`,l.style.top=`${s-a}px`,l.style.height=`${a*2}px`,l.style.width=`${a*2}px`,i.color!=null&&(l.style.backgroundColor=i.color),l.style.transitionDuration=`${g}ms`,this._containerElement.appendChild(l);let C=window.getComputedStyle(l),I=C.transitionProperty,d=C.transitionDuration,B=I==="none"||d==="0s"||d==="0s, 0s"||n.width===0&&n.height===0,E=new p9(this,l,i,B);l.style.transform="scale3d(1, 1, 1)",E.state=Rs.FADING_IN,i.persistent||(this._mostRecentTransientRipple=E);let Q=null;return!B&&(g||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let f=()=>{Q&&(Q.fallbackTimer=null),clearTimeout(S),this._finishRippleTransition(E)},b=()=>this._destroyRipple(E),S=setTimeout(b,g+100);l.addEventListener("transitionend",f),l.addEventListener("transitioncancel",b),Q={onTransitionEnd:f,onTransitionCancel:b,fallbackTimer:S}}),this._activeRipples.set(E,Q),(B||!g)&&this._finishRippleTransition(E),E}fadeOutRipple(e){if(e.state===Rs.FADING_OUT||e.state===Rs.HIDDEN)return;let A=e.element,i=cA(cA({},Fu),e.config.animation);A.style.transitionDuration=`${i.exitDuration}ms`,A.style.opacity="0",e.state=Rs.FADING_OUT,(e._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(e)}fadeOutAll(){this._getActiveRipples().forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){let A=xs(e);!this._platform.isBrowser||!A||A===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=A,XJ.forEach(i=>{t._eventManager.addHandler(this._ngZone,i,A,this)}))}handleEvent(e){e.type==="mousedown"?this._onMousedown(e):e.type==="touchstart"?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{$J.forEach(A=>{this._triggerElement.addEventListener(A,this,ZJ)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(e){e.state===Rs.FADING_IN?this._startFadeOutTransition(e):e.state===Rs.FADING_OUT&&this._destroyRipple(e)}_startFadeOutTransition(e){let A=e===this._mostRecentTransientRipple,{persistent:i}=e.config;e.state=Rs.VISIBLE,!i&&(!A||!this._isPointerDown)&&e.fadeOut()}_destroyRipple(e){let A=this._activeRipples.get(e)??null;this._activeRipples.delete(e),this._activeRipples.size||(this._containerRect=null),e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),e.state=Rs.HIDDEN,A!==null&&(e.element.removeEventListener("transitionend",A.onTransitionEnd),e.element.removeEventListener("transitioncancel",A.onTransitionCancel),A.fallbackTimer!==null&&clearTimeout(A.fallbackTimer)),e.element.remove()}_onMousedown(e){let A=b1(e),i=this._lastTouchStartEvent&&Date.now(){let A=e.state===Rs.VISIBLE||e.config.terminateOnPointerUp&&e.state===Rs.FADING_IN;!e.config.persistent&&A&&e.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let e=this._triggerElement;e&&(XJ.forEach(A=>t._eventManager.removeHandler(A,e,this)),this._pointerUpEventsRegistered&&($J.forEach(A=>e.removeEventListener(A,this,ZJ)),this._pointerUpEventsRegistered=!1))}};function l0A(t,e,A){let i=Math.max(Math.abs(t-A.left),Math.abs(t-A.right)),n=Math.max(Math.abs(e-A.top),Math.abs(e-A.bottom));return Math.sqrt(i*i+n*n)}var S2=new yA("mat-ripple-global-options"),ig=(()=>{class t{_elementRef=h(ge);_animationsDisabled=ji();color;unbounded=!1;centered=!1;radius=0;animation;get disabled(){return this._disabled}set disabled(A){A&&this.fadeOutAllNonPersistent(),this._disabled=A,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(A){this._trigger=A,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRenderer;_globalOptions;_isInitialized=!1;constructor(){let A=h(Oe),i=h(Ii),n=h(S2,{optional:!0}),o=h(ft);this._globalOptions=n||{},this._rippleRenderer=new _u(this,A,this._elementRef,i,o)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:cA(cA(cA({},this._globalOptions.animation),this._animationsDisabled?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(A,i=0,n){return typeof A=="number"?this._rippleRenderer.fadeInRipple(A,i,cA(cA({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,cA(cA({},this.rippleConfig),A))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mat-ripple-unbounded",n.unbounded)},inputs:{color:[0,"matRippleColor","color"],unbounded:[0,"matRippleUnbounded","unbounded"],centered:[0,"matRippleCentered","centered"],radius:[0,"matRippleRadius","radius"],animation:[0,"matRippleAnimation","animation"],disabled:[0,"matRippleDisabled","disabled"],trigger:[0,"matRippleTrigger","trigger"]},exportAs:["matRipple"]})}return t})();var c0A={capture:!0},C0A=["focus","mousedown","mouseenter","touchstart"],D9="mat-ripple-loader-uninitialized",y9="mat-ripple-loader-class-name",AY="mat-ripple-loader-centered",Jp="mat-ripple-loader-disabled",Yp=(()=>{class t{_document=h(Xt);_animationsDisabled=ji();_globalRippleOptions=h(S2,{optional:!0});_platform=h(Ii);_ngZone=h(Oe);_injector=h(ft);_eventCleanups;_hosts=new Map;constructor(){let A=h(Kr).createRenderer(null,null);this._eventCleanups=this._ngZone.runOutsideAngular(()=>C0A.map(i=>A.listen(this._document,i,this._onInteraction,c0A)))}ngOnDestroy(){let A=this._hosts.keys();for(let i of A)this.destroyRipple(i);this._eventCleanups.forEach(i=>i())}configureRipple(A,i){A.setAttribute(D9,this._globalRippleOptions?.namespace??""),(i.className||!A.hasAttribute(y9))&&A.setAttribute(y9,i.className||""),i.centered&&A.setAttribute(AY,""),i.disabled&&A.setAttribute(Jp,"")}setDisabled(A,i){let n=this._hosts.get(A);n?(n.target.rippleDisabled=i,!i&&!n.hasSetUpEvents&&(n.hasSetUpEvents=!0,n.renderer.setupTriggerEvents(A))):i?A.setAttribute(Jp,""):A.removeAttribute(Jp)}_onInteraction=A=>{let i=Jr(A);if(i instanceof HTMLElement){let n=i.closest(`[${D9}="${this._globalRippleOptions?.namespace??""}"]`);n&&this._createRipple(n)}};_createRipple(A){if(!this._document||this._hosts.has(A))return;A.querySelector(".mat-ripple")?.remove();let i=this._document.createElement("span");i.classList.add("mat-ripple",A.getAttribute(y9)),A.append(i);let n=this._globalRippleOptions,o=this._animationsDisabled?0:n?.animation?.enterDuration??Fu.enterDuration,a=this._animationsDisabled?0:n?.animation?.exitDuration??Fu.exitDuration,r={rippleDisabled:this._animationsDisabled||n?.disabled||A.hasAttribute(Jp),rippleConfig:{centered:A.hasAttribute(AY),terminateOnPointerUp:n?.terminateOnPointerUp,animation:{enterDuration:o,exitDuration:a}}},s=new _u(r,this._ngZone,i,this._platform,this._injector),g=!r.rippleDisabled;g&&s.setupTriggerEvents(A),this._hosts.set(A,{target:r,renderer:s,hasSetUpEvents:g}),A.removeAttribute(D9)}destroyRipple(A){let i=this._hosts.get(A);i&&(i.renderer._removeTriggerEvents(),this._hosts.delete(A))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var dr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["structural-styles"]],decls:0,vars:0,template:function(i,n){},styles:[`.mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus-visible::before{content:""}@media(forced-colors: active){html{--mat-focus-indicator-display: block}} -`],encapsulation:2,changeDetection:0})}return t})();var I0A=["mat-icon-button",""],d0A=["*"],B0A=new yA("MAT_BUTTON_CONFIG");function eY(t){return t==null?void 0:en(t)}var Lu=(()=>{class t{_elementRef=h(ge);_ngZone=h(Oe);_animationsDisabled=ji();_config=h(B0A,{optional:!0});_focusMonitor=h(ar);_cleanupClick;_renderer=h(_i);_rippleLoader=h(Yp);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(A){this._disableRipple=A,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(A){this._disabled=A,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(A){this.tabIndex=A}constructor(){h(Xn).load(dr);let A=this._elementRef.nativeElement;this._isAnchor=A.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(A,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(A="program",i){A?this._focusMonitor.focusVia(this._elementRef.nativeElement,A,i):this._elementRef.nativeElement.focus(i)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",A=>{this.disabled&&(A.preventDefault(),A.stopImmediatePropagation())}))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(i,n){i&2&&(ie("disabled",n._getDisabledAttribute())("aria-disabled",n._getAriaDisabled())("tabindex",n._getTabIndex()),Po(n.color?"mat-"+n.color:""),ne("mat-mdc-button-disabled",n.disabled)("mat-mdc-button-disabled-interactive",n.disabledInteractive)("mat-unthemed",!n.color)("_mat-animation-noopable",n._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",he],disabled:[2,"disabled","disabled",he],ariaDisabled:[2,"aria-disabled","ariaDisabled",he],disabledInteractive:[2,"disabledInteractive","disabledInteractive",he],tabIndex:[2,"tabIndex","tabIndex",eY],_tabindex:[2,"tabindex","_tabindex",eY]}})}return t})(),Wa=(()=>{class t extends Lu{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[It],attrs:I0A,ngContentSelectors:d0A,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,n){i&1&&(Yt(),Di(0,"span",0),Ke(1),Di(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus-visible>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-icon-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-icon-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-icon-button-touch-target-size, 48px);display:var(--mat-icon-button-touch-target-display, block);left:50%;width:var(--mat-icon-button-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mat-icon-button-icon-size, 24px);height:var(--mat-icon-button-icon-size, 24px);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%))}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1} -`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}} -`],encapsulation:2,changeDetection:0})}return t})();var E0A=new yA("cdk-dir-doc",{providedIn:"root",factory:()=>h(Xt)}),Q0A=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function tY(t){let e=t?.toLowerCase()||"";return e==="auto"&&typeof navigator<"u"&&navigator?.language?Q0A.test(navigator.language)?"rtl":"ltr":e==="rtl"?"rtl":"ltr"}var Ro=(()=>{class t{get value(){return this.valueSignal()}valueSignal=jA("ltr");change=new $A;constructor(){let A=h(E0A,{optional:!0});if(A){let i=A.body?A.body.dir:null,n=A.documentElement?A.documentElement.dir:null;this.valueSignal.set(tY(i||n||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Gi=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();var x2=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var h0A=["matButton",""],v9=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],b9=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],u0A=["mat-fab",""],f0A=["mat-mini-fab",""],m0A=`.mat-mdc-fab-base{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:56px;height:56px;padding:0;border:none;fill:currentColor;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;overflow:visible;transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 15ms linear 30ms,transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-fab-base .mat-mdc-button-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-fab-base .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-fab-base .mdc-button__label,.mat-mdc-fab-base .mat-icon{z-index:1;position:relative}.mat-mdc-fab-base .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-fab-base:focus-visible>.mat-focus-indicator::before{content:""}.mat-mdc-fab-base._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-fab-base::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-fab-base[hidden]{display:none}.mat-mdc-fab-base::-moz-focus-inner{padding:0;border:0}.mat-mdc-fab-base:active,.mat-mdc-fab-base:focus{outline:none}.mat-mdc-fab-base:hover{cursor:pointer}.mat-mdc-fab-base>svg{width:100%}.mat-mdc-fab-base .mat-icon,.mat-mdc-fab-base .material-icons{transition:transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);fill:currentColor;will-change:transform}.mat-mdc-fab-base .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base[disabled]:focus,.mat-mdc-fab-base.mat-mdc-button-disabled,.mat-mdc-fab-base.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-fab-base.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab{background-color:var(--mat-fab-container-color, var(--mat-sys-primary-container));border-radius:var(--mat-fab-container-shape, var(--mat-sys-corner-large));color:var(--mat-fab-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mat-fab-container-elevation-shadow, var(--mat-sys-level3))}@media(hover: hover){.mat-mdc-fab:hover{box-shadow:var(--mat-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}}.mat-mdc-fab:focus{box-shadow:var(--mat-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:active,.mat-mdc-fab:focus:active{box-shadow:var(--mat-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab[disabled],.mat-mdc-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-fab-touch-target-size, 48px);display:var(--mat-fab-touch-target-display, block);left:50%;width:var(--mat-fab-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-fab .mat-ripple-element{background-color:var(--mat-fab-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-disabled-state-layer-color)}.mat-mdc-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-mini-fab{width:40px;height:40px;background-color:var(--mat-fab-small-container-color, var(--mat-sys-primary-container));border-radius:var(--mat-fab-small-container-shape, var(--mat-sys-corner-medium));color:var(--mat-fab-small-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mat-fab-small-container-elevation-shadow, var(--mat-sys-level3))}@media(hover: hover){.mat-mdc-mini-fab:hover{box-shadow:var(--mat-fab-small-hover-container-elevation-shadow, var(--mat-sys-level4))}}.mat-mdc-mini-fab:focus{box-shadow:var(--mat-fab-small-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:active,.mat-mdc-mini-fab:focus:active{box-shadow:var(--mat-fab-small-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab[disabled],.mat-mdc-mini-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-small-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-small-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-mini-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-fab-small-touch-target-size, 48px);display:var(--mat-fab-small-touch-target-display);left:50%;width:var(--mat-fab-small-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-mini-fab .mat-ripple-element{background-color:var(--mat-fab-small-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-mini-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-mini-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-disabled-state-layer-color)}.mat-mdc-mini-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-mini-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-mini-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-extended-fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:20px;padding-right:20px;width:auto;max-width:100%;line-height:normal;box-shadow:var(--mat-fab-extended-container-elevation-shadow, var(--mat-sys-level3));height:var(--mat-fab-extended-container-height, 56px);border-radius:var(--mat-fab-extended-container-shape, var(--mat-sys-corner-large));font-family:var(--mat-fab-extended-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-fab-extended-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-fab-extended-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-fab-extended-label-text-tracking, var(--mat-sys-label-large-tracking))}@media(hover: hover){.mat-mdc-extended-fab:hover{box-shadow:var(--mat-fab-extended-hover-container-elevation-shadow, var(--mat-sys-level4))}}.mat-mdc-extended-fab:focus{box-shadow:var(--mat-fab-extended-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:active,.mat-mdc-extended-fab:focus:active{box-shadow:var(--mat-fab-extended-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab[disabled]:focus,.mat-mdc-extended-fab.mat-mdc-button-disabled,.mat-mdc-extended-fab.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-extended-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.material-icons,.mat-mdc-extended-fab>.mat-icon,.mat-mdc-extended-fab>.material-icons{margin-left:-8px;margin-right:12px}.mat-mdc-extended-fab .mdc-button__label+.mat-icon,.mat-mdc-extended-fab .mdc-button__label+.material-icons,[dir=rtl] .mat-mdc-extended-fab>.mat-icon,[dir=rtl] .mat-mdc-extended-fab>.material-icons{margin-left:12px;margin-right:-8px}.mat-mdc-extended-fab .mat-mdc-button-touch-target{width:100%} -`,iY=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),fn=(()=>{class t extends Lu{get appearance(){return this._appearance}set appearance(A){this.setAppearance(A||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let A=p0A(this._elementRef.nativeElement);A&&this.setAppearance(A)}setAppearance(A){if(A===this._appearance)return;let i=this._elementRef.nativeElement.classList,n=this._appearance?iY.get(this._appearance):null,o=iY.get(A);n&&i.remove(...n),i.add(...o),this._appearance=A}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[It],attrs:h0A,ngContentSelectors:b9,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,n){i&1&&(Yt(v9),Di(0,"span",0),Ke(1),li(2,"span",1),Ke(3,1),Ei(),Ke(4,2),Di(5,"span",2)(6,"span",3)),i&2&&ne("mdc-button__ripple",!n._isFab)("mdc-fab__ripple",n._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}@media(hover: none){.mat-mdc-button-base:hover>span.mat-mdc-button-persistent-ripple::before{opacity:0}}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-button-text-with-icon-horizontal-padding, 16px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-button-text-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-text-state-layer-color, var(--mat-sys-primary))}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-text-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-text-touch-target-size, 48px);display:var(--mat-button-text-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-filled-container-height, 40px);font-family:var(--mat-button-filled-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-filled-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-filled-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-filled-label-text-transform);font-weight:var(--mat-button-filled-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-filled-horizontal-padding, 24px)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-button-filled-icon-spacing, 8px);margin-left:var(--mat-button-filled-icon-offset, -8px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-button-filled-icon-offset, -8px);margin-left:var(--mat-button-filled-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-filled-icon-offset, -8px);margin-left:var(--mat-button-filled-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-filled-icon-spacing, 8px);margin-left:var(--mat-button-filled-icon-offset, -8px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-button-filled-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-filled-state-layer-color, var(--mat-sys-on-primary))}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-filled-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-unelevated-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-unelevated-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-unelevated-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-filled-touch-target-size, 48px);display:var(--mat-button-filled-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mat-button-filled-label-text-color, var(--mat-sys-on-primary));background-color:var(--mat-button-filled-container-color, var(--mat-sys-primary))}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mat-button-filled-container-shape, var(--mat-sys-corner-full))}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);box-shadow:var(--mat-button-protected-container-elevation-shadow, var(--mat-sys-level1));height:var(--mat-button-protected-container-height, 40px);font-family:var(--mat-button-protected-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-protected-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-protected-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-protected-label-text-transform);font-weight:var(--mat-button-protected-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-protected-horizontal-padding, 24px)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-button-protected-icon-spacing, 8px);margin-left:var(--mat-button-protected-icon-offset, -8px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-button-protected-icon-offset, -8px);margin-left:var(--mat-button-protected-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-protected-icon-offset, -8px);margin-left:var(--mat-button-protected-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-protected-icon-spacing, 8px);margin-left:var(--mat-button-protected-icon-offset, -8px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-button-protected-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-protected-state-layer-color, var(--mat-sys-primary))}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-protected-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-raised-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-raised-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-raised-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-protected-touch-target-size, 48px);display:var(--mat-button-protected-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-raised-button:not(:disabled){color:var(--mat-button-protected-label-text-color, var(--mat-sys-primary));background-color:var(--mat-button-protected-container-color, var(--mat-sys-surface))}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mat-button-protected-container-shape, var(--mat-sys-corner-full))}@media(hover: hover){.mat-mdc-raised-button:hover{box-shadow:var(--mat-button-protected-hover-container-elevation-shadow, var(--mat-sys-level2))}}.mat-mdc-raised-button:focus{box-shadow:var(--mat-button-protected-focus-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mat-button-protected-pressed-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-protected-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-protected-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mat-button-protected-disabled-container-elevation-shadow, var(--mat-sys-level0))}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-outlined-container-height, 40px);font-family:var(--mat-button-outlined-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-outlined-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-outlined-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-outlined-label-text-transform);font-weight:var(--mat-button-outlined-label-text-weight, var(--mat-sys-label-large-weight));border-radius:var(--mat-button-outlined-container-shape, var(--mat-sys-corner-full));border-width:var(--mat-button-outlined-outline-width, 1px);padding:0 var(--mat-button-outlined-horizontal-padding, 24px)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-button-outlined-icon-spacing, 8px);margin-left:var(--mat-button-outlined-icon-offset, -8px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-button-outlined-icon-offset, -8px);margin-left:var(--mat-button-outlined-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-outlined-icon-offset, -8px);margin-left:var(--mat-button-outlined-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-outlined-icon-spacing, 8px);margin-left:var(--mat-button-outlined-icon-offset, -8px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-button-outlined-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-outlined-state-layer-color, var(--mat-sys-primary))}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-outlined-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-outlined-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-outlined-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-outlined-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-outlined-touch-target-size, 48px);display:var(--mat-button-outlined-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-outlined-button:not(:disabled){color:var(--mat-button-outlined-label-text-color, var(--mat-sys-primary));border-color:var(--mat-button-outlined-outline-color, var(--mat-sys-outline))}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:var(--mat-button-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-tonal-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-tonal-container-height, 40px);font-family:var(--mat-button-tonal-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-tonal-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-tonal-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-tonal-label-text-transform);font-weight:var(--mat-button-tonal-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-tonal-horizontal-padding, 24px)}.mat-tonal-button:not(:disabled){color:var(--mat-button-tonal-label-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-tonal-container-color, var(--mat-sys-secondary-container))}.mat-tonal-button,.mat-tonal-button .mdc-button__ripple{border-radius:var(--mat-button-tonal-container-shape, var(--mat-sys-corner-full))}.mat-tonal-button[disabled],.mat-tonal-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-tonal-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-tonal-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-tonal-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-tonal-button>.mat-icon{margin-right:var(--mat-button-tonal-icon-spacing, 8px);margin-left:var(--mat-button-tonal-icon-offset, -8px)}[dir=rtl] .mat-tonal-button>.mat-icon{margin-right:var(--mat-button-tonal-icon-offset, -8px);margin-left:var(--mat-button-tonal-icon-spacing, 8px)}.mat-tonal-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-tonal-icon-offset, -8px);margin-left:var(--mat-button-tonal-icon-spacing, 8px)}[dir=rtl] .mat-tonal-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-tonal-icon-spacing, 8px);margin-left:var(--mat-button-tonal-icon-offset, -8px)}.mat-tonal-button .mat-ripple-element{background-color:var(--mat-button-tonal-ripple-color, color-mix(in srgb, var(--mat-sys-on-secondary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-tonal-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-tonal-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-tonal-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-tonal-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-tonal-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-tonal-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-tonal-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-tonal-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-tonal-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-tonal-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-tonal-touch-target-size, 48px);display:var(--mat-button-tonal-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-tonal-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,.mat-tonal-button .mat-mdc-button-ripple,.mat-tonal-button .mat-mdc-button-persistent-ripple,.mat-tonal-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-tonal-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,.mat-tonal-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon,.mat-tonal-button .mdc-button__label,.mat-tonal-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-focus-indicator,.mat-mdc-unelevated-button .mat-focus-indicator,.mat-mdc-raised-button .mat-focus-indicator,.mat-mdc-outlined-button .mat-focus-indicator,.mat-tonal-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-button:focus-visible>.mat-focus-indicator::before,.mat-mdc-unelevated-button:focus-visible>.mat-focus-indicator::before,.mat-mdc-raised-button:focus-visible>.mat-focus-indicator::before,.mat-mdc-outlined-button:focus-visible>.mat-focus-indicator::before,.mat-tonal-button:focus-visible>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable,.mat-tonal-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon,.mat-tonal-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-focus-indicator::before,.mat-tonal-button .mat-focus-indicator::before,.mat-mdc-raised-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)} -`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}} -`],encapsulation:2,changeDetection:0})}return t})();function p0A(t){return t.hasAttribute("mat-raised-button")?"elevated":t.hasAttribute("mat-stroked-button")?"outlined":t.hasAttribute("mat-flat-button")?"filled":t.hasAttribute("mat-button")?"text":null}var nY=new yA("mat-mdc-fab-default-options",{providedIn:"root",factory:()=>Gu}),Gu={color:"accent"},oY=(()=>{class t extends Lu{_options=h(nY,{optional:!0});_isFab=!0;extended=!1;constructor(){super(),this._options=this._options||Gu,this.color=this._options.color||Gu.color}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["button","mat-fab",""],["a","mat-fab",""],["button","matFab",""],["a","matFab",""]],hostAttrs:[1,"mdc-fab","mat-mdc-fab-base","mat-mdc-fab"],hostVars:4,hostBindings:function(i,n){i&2&&ne("mdc-fab--extended",n.extended)("mat-mdc-extended-fab",n.extended)},inputs:{extended:[2,"extended","extended",he]},exportAs:["matButton","matAnchor"],features:[It],attrs:u0A,ngContentSelectors:b9,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,n){i&1&&(Yt(v9),Di(0,"span",0),Ke(1),li(2,"span",1),Ke(3,1),Ei(),Ke(4,2),Di(5,"span",2)(6,"span",3)),i&2&&ne("mdc-button__ripple",!n._isFab)("mdc-fab__ripple",n._isFab)},styles:[`.mat-mdc-fab-base{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:56px;height:56px;padding:0;border:none;fill:currentColor;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;overflow:visible;transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 15ms linear 30ms,transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-fab-base .mat-mdc-button-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-fab-base .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-fab-base .mdc-button__label,.mat-mdc-fab-base .mat-icon{z-index:1;position:relative}.mat-mdc-fab-base .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-fab-base:focus-visible>.mat-focus-indicator::before{content:""}.mat-mdc-fab-base._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-fab-base::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-fab-base[hidden]{display:none}.mat-mdc-fab-base::-moz-focus-inner{padding:0;border:0}.mat-mdc-fab-base:active,.mat-mdc-fab-base:focus{outline:none}.mat-mdc-fab-base:hover{cursor:pointer}.mat-mdc-fab-base>svg{width:100%}.mat-mdc-fab-base .mat-icon,.mat-mdc-fab-base .material-icons{transition:transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);fill:currentColor;will-change:transform}.mat-mdc-fab-base .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base[disabled]:focus,.mat-mdc-fab-base.mat-mdc-button-disabled,.mat-mdc-fab-base.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-fab-base.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab{background-color:var(--mat-fab-container-color, var(--mat-sys-primary-container));border-radius:var(--mat-fab-container-shape, var(--mat-sys-corner-large));color:var(--mat-fab-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mat-fab-container-elevation-shadow, var(--mat-sys-level3))}@media(hover: hover){.mat-mdc-fab:hover{box-shadow:var(--mat-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}}.mat-mdc-fab:focus{box-shadow:var(--mat-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:active,.mat-mdc-fab:focus:active{box-shadow:var(--mat-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab[disabled],.mat-mdc-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-fab-touch-target-size, 48px);display:var(--mat-fab-touch-target-display, block);left:50%;width:var(--mat-fab-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-fab .mat-ripple-element{background-color:var(--mat-fab-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-disabled-state-layer-color)}.mat-mdc-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-mini-fab{width:40px;height:40px;background-color:var(--mat-fab-small-container-color, var(--mat-sys-primary-container));border-radius:var(--mat-fab-small-container-shape, var(--mat-sys-corner-medium));color:var(--mat-fab-small-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mat-fab-small-container-elevation-shadow, var(--mat-sys-level3))}@media(hover: hover){.mat-mdc-mini-fab:hover{box-shadow:var(--mat-fab-small-hover-container-elevation-shadow, var(--mat-sys-level4))}}.mat-mdc-mini-fab:focus{box-shadow:var(--mat-fab-small-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:active,.mat-mdc-mini-fab:focus:active{box-shadow:var(--mat-fab-small-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab[disabled],.mat-mdc-mini-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-small-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-small-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-mini-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-fab-small-touch-target-size, 48px);display:var(--mat-fab-small-touch-target-display);left:50%;width:var(--mat-fab-small-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-mini-fab .mat-ripple-element{background-color:var(--mat-fab-small-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-mini-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-mini-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-disabled-state-layer-color)}.mat-mdc-mini-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-mini-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-mini-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-extended-fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:20px;padding-right:20px;width:auto;max-width:100%;line-height:normal;box-shadow:var(--mat-fab-extended-container-elevation-shadow, var(--mat-sys-level3));height:var(--mat-fab-extended-container-height, 56px);border-radius:var(--mat-fab-extended-container-shape, var(--mat-sys-corner-large));font-family:var(--mat-fab-extended-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-fab-extended-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-fab-extended-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-fab-extended-label-text-tracking, var(--mat-sys-label-large-tracking))}@media(hover: hover){.mat-mdc-extended-fab:hover{box-shadow:var(--mat-fab-extended-hover-container-elevation-shadow, var(--mat-sys-level4))}}.mat-mdc-extended-fab:focus{box-shadow:var(--mat-fab-extended-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:active,.mat-mdc-extended-fab:focus:active{box-shadow:var(--mat-fab-extended-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab[disabled]:focus,.mat-mdc-extended-fab.mat-mdc-button-disabled,.mat-mdc-extended-fab.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-extended-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.material-icons,.mat-mdc-extended-fab>.mat-icon,.mat-mdc-extended-fab>.material-icons{margin-left:-8px;margin-right:12px}.mat-mdc-extended-fab .mdc-button__label+.mat-icon,.mat-mdc-extended-fab .mdc-button__label+.material-icons,[dir=rtl] .mat-mdc-extended-fab>.mat-icon,[dir=rtl] .mat-mdc-extended-fab>.material-icons{margin-left:12px;margin-right:-8px}.mat-mdc-extended-fab .mat-mdc-button-touch-target{width:100%} -`],encapsulation:2,changeDetection:0})}return t})(),Tp=(()=>{class t extends Lu{_options=h(nY,{optional:!0});_isFab=!0;constructor(){super(),this._options=this._options||Gu,this.color=this._options.color||Gu.color}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["button","mat-mini-fab",""],["a","mat-mini-fab",""],["button","matMiniFab",""],["a","matMiniFab",""]],hostAttrs:[1,"mdc-fab","mat-mdc-fab-base","mdc-fab--mini","mat-mdc-mini-fab"],exportAs:["matButton","matAnchor"],features:[It],attrs:f0A,ngContentSelectors:b9,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,n){i&1&&(Yt(v9),Di(0,"span",0),Ke(1),li(2,"span",1),Ke(3,1),Ei(),Ke(4,2),Di(5,"span",2)(6,"span",3)),i&2&&ne("mdc-button__ripple",!n._isFab)("mdc-fab__ripple",n._isFab)},styles:[m0A],encapsulation:2,changeDetection:0})}return t})();var Ns=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[x2,Gi]})}return t})();var M9=class{_box;_destroyed=new XA;_resizeSubject=new XA;_resizeObserver;_elementObservables=new Map;constructor(e){this._box=e,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(A=>this._resizeSubject.next(A)))}observe(e){return this._elementObservables.has(e)||this._elementObservables.set(e,new $i(A=>{let i=this._resizeSubject.subscribe(A);return this._resizeObserver?.observe(e,{box:this._box}),()=>{this._resizeObserver?.unobserve(e),i.unsubscribe(),this._elementObservables.delete(e)}}).pipe(Ze(A=>A.some(i=>i.target===e)),Ps({bufferSize:1,refCount:!0}),Bt(this._destroyed))),this._elementObservables.get(e)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},Hp=(()=>{class t{_cleanupErrorListener;_observers=new Map;_ngZone=h(Oe);constructor(){typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,A]of this._observers)A.destroy();this._observers.clear(),this._cleanupErrorListener?.()}observe(A,i){let n=i?.box||"content-box";return this._observers.has(n)||this._observers.set(n,new M9(n)),this._observers.get(n).observe(A)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var w0A=["notch"],D0A=["matFormFieldNotchedOutline",""],y0A=["*"],aY=["iconPrefixContainer"],rY=["textPrefixContainer"],sY=["iconSuffixContainer"],gY=["textSuffixContainer"],v0A=["textField"],b0A=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],M0A=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function k0A(t,e){t&1&&GA(0,"span",21)}function S0A(t,e){if(t&1&&(m(0,"label",20),Ke(1,1),V(2,k0A,1,0,"span",21),w()),t&2){let A=v(2);$("floating",A._shouldLabelFloat())("monitorResize",A._hasOutline())("id",A._labelId),ie("for",A._control.disableAutomaticLabeling?null:A._control.id),p(2),W(!A.hideRequiredMarker&&A._control.required?2:-1)}}function x0A(t,e){if(t&1&&V(0,S0A,3,5,"label",20),t&2){let A=v();W(A._hasFloatingLabel()?0:-1)}}function R0A(t,e){t&1&&GA(0,"div",7)}function N0A(t,e){}function F0A(t,e){if(t&1&&pt(0,N0A,0,0,"ng-template",13),t&2){v(2);let A=An(1);$("ngTemplateOutlet",A)}}function _0A(t,e){if(t&1&&(m(0,"div",9),V(1,F0A,1,1,null,13),w()),t&2){let A=v();$("matFormFieldNotchedOutlineOpen",A._shouldLabelFloat()),p(),W(A._forceDisplayInfixLabel()?-1:1)}}function L0A(t,e){t&1&&(m(0,"div",10,2),Ke(2,2),w())}function G0A(t,e){t&1&&(m(0,"div",11,3),Ke(2,3),w())}function K0A(t,e){}function U0A(t,e){if(t&1&&pt(0,K0A,0,0,"ng-template",13),t&2){v();let A=An(1);$("ngTemplateOutlet",A)}}function J0A(t,e){t&1&&(m(0,"div",14,4),Ke(2,4),w())}function Y0A(t,e){t&1&&(m(0,"div",15,5),Ke(2,5),w())}function T0A(t,e){t&1&&GA(0,"div",16)}function H0A(t,e){t&1&&(m(0,"div",18),Ke(1,6),w())}function z0A(t,e){if(t&1&&(m(0,"mat-hint",22),K(1),w()),t&2){let A=v(2);$("id",A._hintLabelId),p(),qA(A.hintLabel)}}function O0A(t,e){if(t&1&&(m(0,"div",19),V(1,z0A,2,2,"mat-hint",22),Ke(2,7),GA(3,"div",23),Ke(4,8),w()),t&2){let A=v();p(),W(A.hintLabel?1:-1)}}var Gg=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-label"]]})}return t})(),EY=new yA("MatError"),k9=(()=>{class t{id=h(an).getId("mat-mdc-error-");constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:[1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(i,n){i&2&&vo("id",n.id)},inputs:{id:"id"},features:[dt([{provide:EY,useExisting:t}])]})}return t})(),R1=(()=>{class t{align="start";id=h(an).getId("mat-mdc-hint-");static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("align",null),ne("mat-mdc-form-field-hint-end",n.align==="end"))},inputs:{align:"align",id:"id"}})}return t})(),QY=new yA("MatPrefix"),S9=(()=>{class t{set _isTextSelector(A){this._isText=!0}_isText=!1;static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matPrefix",""],["","matIconPrefix",""],["","matTextPrefix",""]],inputs:{_isTextSelector:[0,"matTextPrefix","_isTextSelector"]},features:[dt([{provide:QY,useExisting:t}])]})}return t})(),hY=new yA("MatSuffix"),x9=(()=>{class t{set _isTextSelector(A){this._isText=!0}_isText=!1;static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSuffix",""],["","matIconSuffix",""],["","matTextSuffix",""]],inputs:{_isTextSelector:[0,"matTextSuffix","_isTextSelector"]},features:[dt([{provide:hY,useExisting:t}])]})}return t})(),uY=new yA("FloatingLabelParent"),lY=(()=>{class t{_elementRef=h(ge);get floating(){return this._floating}set floating(A){this._floating=A,this.monitorResize&&this._handleResize()}_floating=!1;get monitorResize(){return this._monitorResize}set monitorResize(A){this._monitorResize=A,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}_monitorResize=!1;_resizeObserver=h(Hp);_ngZone=h(Oe);_parent=h(uY);_resizeSubscription=new Jn;constructor(){}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return P0A(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mdc-floating-label--float-above",n.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"}})}return t})();function P0A(t){let e=t;if(e.offsetParent!==null)return e.scrollWidth;let A=e.cloneNode(!0);A.style.setProperty("position","absolute"),A.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(A);let i=A.scrollWidth;return A.remove(),i}var cY="mdc-line-ripple--active",zp="mdc-line-ripple--deactivating",CY=(()=>{class t{_elementRef=h(ge);_cleanupTransitionEnd;constructor(){let A=h(Oe),i=h(_i);A.runOutsideAngular(()=>{this._cleanupTransitionEnd=i.listen(this._elementRef.nativeElement,"transitionend",this._handleTransitionEnd)})}activate(){let A=this._elementRef.nativeElement.classList;A.remove(zp),A.add(cY)}deactivate(){this._elementRef.nativeElement.classList.add(zp)}_handleTransitionEnd=A=>{let i=this._elementRef.nativeElement.classList,n=i.contains(zp);A.propertyName==="opacity"&&n&&i.remove(cY,zp)};ngOnDestroy(){this._cleanupTransitionEnd()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"]})}return t})(),IY=(()=>{class t{_elementRef=h(ge);_ngZone=h(Oe);open=!1;_notch;ngAfterViewInit(){let A=this._elementRef.nativeElement,i=A.querySelector(".mdc-floating-label");i?(A.classList.add("mdc-notched-outline--upgraded"),typeof requestAnimationFrame=="function"&&(i.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>i.style.transitionDuration="")}))):A.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(A){let i=this._notch.nativeElement;!this.open||!A?i.style.width="":i.style.width=`calc(${A}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`}_setMaxWidth(A){this._notch.nativeElement.style.setProperty("--mat-form-field-notch-max-width",`calc(100% - ${A}px)`)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(i,n){if(i&1&&ai(w0A,5),i&2){let o;ce(o=Ce())&&(n._notch=o.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mdc-notched-outline--notched",n.open)},inputs:{open:[0,"matFormFieldNotchedOutlineOpen","open"]},attrs:D0A,ngContentSelectors:y0A,decls:5,vars:0,consts:[["notch",""],[1,"mat-mdc-notch-piece","mdc-notched-outline__leading"],[1,"mat-mdc-notch-piece","mdc-notched-outline__notch"],[1,"mat-mdc-notch-piece","mdc-notched-outline__trailing"]],template:function(i,n){i&1&&(Yt(),Di(0,"div",1),li(1,"div",2,0),Ke(3),Ei(),Di(4,"div",3))},encapsulation:2,changeDetection:0})}return t})(),Ku=(()=>{class t{value=null;stateChanges;id;placeholder;ngControl=null;focused=!1;empty=!1;shouldLabelFloat=!1;required=!1;disabled=!1;errorState=!1;controlType;autofilled;userAriaDescribedBy;disableAutomaticLabeling;describedByIds;static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t})}return t})();var Uu=new yA("MatFormField"),j0A=new yA("MAT_FORM_FIELD_DEFAULT_OPTIONS"),dY="fill",q0A="auto",BY="fixed",V0A="translateY(-50%)",No=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(Dt);_platform=h(Ii);_idGenerator=h(an);_ngZone=h(Oe);_defaults=h(j0A,{optional:!0});_currentDirection;_textField;_iconPrefixContainer;_textPrefixContainer;_iconSuffixContainer;_textSuffixContainer;_floatingLabel;_notchedOutline;_lineRipple;_iconPrefixContainerSignal=ca("iconPrefixContainer");_textPrefixContainerSignal=ca("textPrefixContainer");_iconSuffixContainerSignal=ca("iconSuffixContainer");_textSuffixContainerSignal=ca("textSuffixContainer");_prefixSuffixContainers=Ue(()=>[this._iconPrefixContainerSignal(),this._textPrefixContainerSignal(),this._iconSuffixContainerSignal(),this._textSuffixContainerSignal()].map(A=>A?.nativeElement).filter(A=>A!==void 0));_formFieldControl;_prefixChildren;_suffixChildren;_errorChildren;_hintChildren;_labelChild=rC(Gg);get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(A){this._hideRequiredMarker=yr(A)}_hideRequiredMarker=!1;color="primary";get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||q0A}set floatLabel(A){A!==this._floatLabel&&(this._floatLabel=A,this._changeDetectorRef.markForCheck())}_floatLabel;get appearance(){return this._appearanceSignal()}set appearance(A){let i=A||this._defaults?.appearance||dY;this._appearanceSignal.set(i)}_appearanceSignal=jA(dY);get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||BY}set subscriptSizing(A){this._subscriptSizing=A||this._defaults?.subscriptSizing||BY}_subscriptSizing=null;get hintLabel(){return this._hintLabel}set hintLabel(A){this._hintLabel=A,this._processHints()}_hintLabel="";_hasIconPrefix=!1;_hasTextPrefix=!1;_hasIconSuffix=!1;_hasTextSuffix=!1;_labelId=this._idGenerator.getId("mat-mdc-form-field-label-");_hintLabelId=this._idGenerator.getId("mat-mdc-hint-");_describedByIds;get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(A){this._explicitFormFieldControl=A}_destroyed=new XA;_isFocused=null;_explicitFormFieldControl;_previousControl=null;_previousControlValidatorFn=null;_stateChanges;_valueChanges;_describedByChanges;_outlineLabelOffsetResizeObserver=null;_animationsDisabled=ji();constructor(){let A=this._defaults,i=h(Ro);A&&(A.appearance&&(this.appearance=A.appearance),this._hideRequiredMarker=!!A?.hideRequiredMarker,A.color&&(this.color=A.color)),Ga(()=>this._currentDirection=i.valueSignal()),this._syncOutlineLabelOffset()}ngAfterViewInit(){this._updateFocusState(),this._animationsDisabled||this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-form-field-animations-enabled")},300)}),this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeSubscript(),this._initializePrefixAndSuffix()}ngAfterContentChecked(){this._assertFormFieldControl(),this._control!==this._previousControl&&(this._initializeControl(this._previousControl),this._control.ngControl&&this._control.ngControl.control&&(this._previousControlValidatorFn=this._control.ngControl.control.validator),this._previousControl=this._control),this._control.ngControl&&this._control.ngControl.control&&this._control.ngControl.control.validator!==this._previousControlValidatorFn&&this._changeDetectorRef.markForCheck()}ngOnDestroy(){this._outlineLabelOffsetResizeObserver?.disconnect(),this._stateChanges?.unsubscribe(),this._valueChanges?.unsubscribe(),this._describedByChanges?.unsubscribe(),this._destroyed.next(),this._destroyed.complete()}getLabelId=Ue(()=>this._hasFloatingLabel()?this._labelId:null);getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(A){let i=this._control,n="mat-mdc-form-field-type-";A&&this._elementRef.nativeElement.classList.remove(n+A.controlType),i.controlType&&this._elementRef.nativeElement.classList.add(n+i.controlType),this._stateChanges?.unsubscribe(),this._stateChanges=i.stateChanges.subscribe(()=>{this._updateFocusState(),this._changeDetectorRef.markForCheck()}),this._describedByChanges?.unsubscribe(),this._describedByChanges=i.stateChanges.pipe(cn([void 0,void 0]),fe(()=>[i.errorState,i.userAriaDescribedBy]),h2(),Ze(([[o,a],[r,s]])=>o!==r||a!==s)).subscribe(()=>this._syncDescribedByIds()),this._valueChanges?.unsubscribe(),i.ngControl&&i.ngControl.valueChanges&&(this._valueChanges=i.ngControl.valueChanges.pipe(Bt(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()))}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(A=>!A._isText),this._hasTextPrefix=!!this._prefixChildren.find(A=>A._isText),this._hasIconSuffix=!!this._suffixChildren.find(A=>!A._isText),this._hasTextSuffix=!!this._suffixChildren.find(A=>A._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),fi(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){this._control}_updateFocusState(){let A=this._control.focused;A&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!A&&(this._isFocused||this._isFocused===null)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._elementRef.nativeElement.classList.toggle("mat-focused",A),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",A)}_syncOutlineLabelOffset(){RU({earlyRead:()=>{if(this._appearanceSignal()!=="outline")return this._outlineLabelOffsetResizeObserver?.disconnect(),null;if(globalThis.ResizeObserver){this._outlineLabelOffsetResizeObserver||=new globalThis.ResizeObserver(()=>{this._writeOutlinedLabelStyles(this._getOutlinedLabelOffset())});for(let A of this._prefixSuffixContainers())this._outlineLabelOffsetResizeObserver.observe(A,{box:"border-box"})}return this._getOutlinedLabelOffset()},write:A=>this._writeOutlinedLabelStyles(A())})}_shouldAlwaysFloat(){return this.floatLabel==="always"}_hasOutline(){return this.appearance==="outline"}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel=Ue(()=>!!this._labelChild());_shouldLabelFloat(){return this._hasFloatingLabel()?this._control.shouldLabelFloat||this._shouldAlwaysFloat():!1}_shouldForward(A){let i=this._control?this._control.ngControl:null;return i&&i[A]}_getSubscriptMessageType(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_handleLabelResized(){this._refreshOutlineNotchWidth()}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||!this._shouldLabelFloat()?this._notchedOutline?._setNotchWidth(0):this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){this._hintChildren}_syncDescribedByIds(){if(this._control){let A=[];if(this._control.userAriaDescribedBy&&typeof this._control.userAriaDescribedBy=="string"&&A.push(...this._control.userAriaDescribedBy.split(" ")),this._getSubscriptMessageType()==="hint"){let o=this._hintChildren?this._hintChildren.find(r=>r.align==="start"):null,a=this._hintChildren?this._hintChildren.find(r=>r.align==="end"):null;o?A.push(o.id):this._hintLabel&&A.push(this._hintLabelId),a&&A.push(a.id)}else this._errorChildren&&A.push(...this._errorChildren.map(o=>o.id));let i=this._control.describedByIds,n;if(i){let o=this._describedByIds||A;n=A.concat(i.filter(a=>a&&!o.includes(a)))}else n=A;this._control.setDescribedByIds(n),this._describedByIds=A}}_getOutlinedLabelOffset(){if(!this._hasOutline()||!this._floatingLabel)return null;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return["",null];if(!this._isAttachedToDom())return null;let A=this._iconPrefixContainer?.nativeElement,i=this._textPrefixContainer?.nativeElement,n=this._iconSuffixContainer?.nativeElement,o=this._textSuffixContainer?.nativeElement,a=A?.getBoundingClientRect().width??0,r=i?.getBoundingClientRect().width??0,s=n?.getBoundingClientRect().width??0,g=o?.getBoundingClientRect().width??0,l=this._currentDirection==="rtl"?"-1":"1",C=`${a+r}px`,d=`calc(${l} * (${C} + var(--mat-mdc-form-field-label-offset-x, 0px)))`,B=`var(--mat-mdc-form-field-label-transform, ${V0A} translateX(${d}))`,E=a+r+s+g;return[B,E]}_writeOutlinedLabelStyles(A){if(A!==null){let[i,n]=A;this._floatingLabel&&(this._floatingLabel.element.style.transform=i),n!==null&&this._notchedOutline?._setMaxWidth(n)}}_isAttachedToDom(){let A=this._elementRef.nativeElement;if(A.getRootNode){let i=A.getRootNode();return i&&i!==A}return document.documentElement.contains(A)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-form-field"]],contentQueries:function(i,n,o){if(i&1&&(Cp(o,n._labelChild,Gg,5),fa(o,Ku,5)(o,QY,5)(o,hY,5)(o,EY,5)(o,R1,5)),i&2){Dr();let a;ce(a=Ce())&&(n._formFieldControl=a.first),ce(a=Ce())&&(n._prefixChildren=a),ce(a=Ce())&&(n._suffixChildren=a),ce(a=Ce())&&(n._errorChildren=a),ce(a=Ce())&&(n._hintChildren=a)}},viewQuery:function(i,n){if(i&1&&(rs(n._iconPrefixContainerSignal,aY,5)(n._textPrefixContainerSignal,rY,5)(n._iconSuffixContainerSignal,sY,5)(n._textSuffixContainerSignal,gY,5),ai(v0A,5)(aY,5)(rY,5)(sY,5)(gY,5)(lY,5)(IY,5)(CY,5)),i&2){Dr(4);let o;ce(o=Ce())&&(n._textField=o.first),ce(o=Ce())&&(n._iconPrefixContainer=o.first),ce(o=Ce())&&(n._textPrefixContainer=o.first),ce(o=Ce())&&(n._iconSuffixContainer=o.first),ce(o=Ce())&&(n._textSuffixContainer=o.first),ce(o=Ce())&&(n._floatingLabel=o.first),ce(o=Ce())&&(n._notchedOutline=o.first),ce(o=Ce())&&(n._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:38,hostBindings:function(i,n){i&2&&ne("mat-mdc-form-field-label-always-float",n._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",n._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",n._hasIconSuffix)("mat-form-field-invalid",n._control.errorState)("mat-form-field-disabled",n._control.disabled)("mat-form-field-autofilled",n._control.autofilled)("mat-form-field-appearance-fill",n.appearance=="fill")("mat-form-field-appearance-outline",n.appearance=="outline")("mat-form-field-hide-placeholder",n._hasFloatingLabel()&&!n._shouldLabelFloat())("mat-primary",n.color!=="accent"&&n.color!=="warn")("mat-accent",n.color==="accent")("mat-warn",n.color==="warn")("ng-untouched",n._shouldForward("untouched"))("ng-touched",n._shouldForward("touched"))("ng-pristine",n._shouldForward("pristine"))("ng-dirty",n._shouldForward("dirty"))("ng-valid",n._shouldForward("valid"))("ng-invalid",n._shouldForward("invalid"))("ng-pending",n._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],features:[dt([{provide:Uu,useExisting:t},{provide:uY,useExisting:t}])],ngContentSelectors:M0A,decls:18,vars:21,consts:[["labelTemplate",""],["textField",""],["iconPrefixContainer",""],["textPrefixContainer",""],["textSuffixContainer",""],["iconSuffixContainer",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],[1,"mat-mdc-form-field-focus-overlay"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[1,"mat-mdc-form-field-icon-prefix"],[1,"mat-mdc-form-field-text-prefix"],[1,"mat-mdc-form-field-infix"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],["aria-atomic","true","aria-live","polite",1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align"],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[3,"id"],[1,"mat-mdc-form-field-hint-spacer"]],template:function(i,n){if(i&1){let o=JA();Yt(b0A),pt(0,x0A,1,1,"ng-template",null,0,w2),m(2,"div",6,1),tA("click",function(r){return Z(o),X(n._control.onContainerClick(r))}),V(4,R0A,1,0,"div",7),m(5,"div",8),V(6,_0A,2,2,"div",9),V(7,L0A,3,0,"div",10),V(8,G0A,3,0,"div",11),m(9,"div",12),V(10,U0A,1,1,null,13),Ke(11),w(),V(12,J0A,3,0,"div",14),V(13,Y0A,3,0,"div",15),w(),V(14,T0A,1,0,"div",16),w(),m(15,"div",17),V(16,H0A,2,0,"div",18)(17,O0A,5,1,"div",19),w()}if(i&2){let o;p(2),ne("mdc-text-field--filled",!n._hasOutline())("mdc-text-field--outlined",n._hasOutline())("mdc-text-field--no-label",!n._hasFloatingLabel())("mdc-text-field--disabled",n._control.disabled)("mdc-text-field--invalid",n._control.errorState),p(2),W(!n._hasOutline()&&!n._control.disabled?4:-1),p(2),W(n._hasOutline()?6:-1),p(),W(n._hasIconPrefix?7:-1),p(),W(n._hasTextPrefix?8:-1),p(2),W(!n._hasOutline()||n._forceDisplayInfixLabel()?10:-1),p(2),W(n._hasTextSuffix?12:-1),p(),W(n._hasIconSuffix?13:-1),p(),W(n._hasOutline()?-1:14),p(),ne("mat-mdc-form-field-subscript-dynamic-size",n.subscriptSizing==="dynamic");let a=n._getSubscriptMessageType();p(),W((o=a)==="error"?16:o==="hint"?17:-1)}},dependencies:[lY,IY,sl,CY,R1],styles:[`.mdc-text-field{display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field__input{width:100%;min-width:0;border:none;border-radius:0;background:none;padding:0;-moz-appearance:none;-webkit-appearance:none;height:28px}.mdc-text-field__input::-webkit-calendar-picker-indicator,.mdc-text-field__input::-webkit-search-cancel-button{display:none}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input::placeholder{opacity:0}.mdc-text-field__input::-moz-placeholder{opacity:0}.mdc-text-field__input::-webkit-input-placeholder{opacity:0}.mdc-text-field__input:-ms-input-placeholder{opacity:0}.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-moz-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-webkit-input-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive:-ms-input-placeholder{opacity:0}.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-filled-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-filled-caret-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-outlined-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-outlined-caret-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-filled-error-caret-color, var(--mat-sys-error))}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-outlined-error-caret-color, var(--mat-sys-error))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-filled-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-outlined-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}}.mdc-text-field--filled{height:56px;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mat-form-field-filled-container-color, var(--mat-sys-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mat-form-field-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent))}.mdc-text-field--outlined{height:56px;overflow:visible;padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px)}[dir=rtl] .mdc-text-field--outlined{padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}.mdc-floating-label{position:absolute;left:0;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:auto}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label{left:auto;right:4px}.mdc-text-field--filled .mdc-floating-label{left:16px;right:auto}[dir=rtl] .mdc-text-field--filled .mdc-floating-label{left:auto;right:16px}.mdc-text-field--disabled .mdc-floating-label{cursor:default}@media(forced-colors: active){.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-filled-hover-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-filled-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mat-form-field-filled-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-filled-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-filled-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-filled-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-outlined-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-outlined-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mat-form-field-outlined-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-outlined-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-outlined-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-outlined-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-floating-label--float-above{cursor:auto;transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1);font-size:.75rem}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline{text-align:right}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mat-mdc-notch-piece{box-sizing:border-box;height:100%;pointer-events:none;border:none;border-top:1px solid;border-bottom:1px solid}.mdc-text-field--focused .mat-mdc-notch-piece{border-width:2px}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline));border-width:var(--mat-form-field-outlined-outline-width, 1px)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary))}.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-notched-outline .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-hover-outline-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-focus-outline-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece{border-width:var(--mat-form-field-outlined-focus-outline-width, 2px)}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}[dir=rtl] .mdc-notched-outline__leading{border-left:none;border-right:1px solid;border-bottom-left-radius:0;border-top-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__trailing{flex-grow:1;border-left:none;border-right:1px solid;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}[dir=rtl] .mdc-notched-outline__trailing{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:min(var(--mat-form-field-notch-max-width, 100%),calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{max-width:min(100%,calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1;border-bottom-width:var(--mat-form-field-filled-active-indicator-height, 1px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-active-indicator-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-hover-active-indicator-color, var(--mat-sys-on-surface))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-disabled-active-indicator-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-active-indicator-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-hover-active-indicator-color, var(--mat-sys-on-error-container))}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mat-form-field-filled-focus-active-indicator-height, 2px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-focus-active-indicator-color, var(--mat-sys-primary))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-error-focus-active-indicator-color, var(--mat-sys-error))}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-text-field--disabled{pointer-events:none}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:1px solid rgba(0,0,0,0)}[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height, 56px);padding-top:var(--mat-form-field-filled-with-label-container-padding-top, 24px);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom, 8px)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding, 16px);padding-bottom:var(--mat-form-field-container-vertical-padding, 16px)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height, 56px)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height, 56px) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}@keyframes _mat-form-field-subscript-animation{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px;opacity:1;transform:translateY(0);animation:_mat-form-field-subscript-animation 0ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color, var(--mat-sys-error))}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-form-field-subscript-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-form-field-subscript-text-size, var(--mat-sys-body-small-size));letter-spacing:var(--mat-form-field-subscript-text-tracking, var(--mat-sys-body-small-tracking));font-weight:var(--mat-form-field-subscript-text-weight, var(--mat-sys-body-small-weight))}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color, var(--mat-sys-on-surface))}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity, 0)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color, var(--mat-sys-neutral10))}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color, color-mix(in srgb, var(--mat-sys-neutral10) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color, var(--mat-sys-on-surface-variant))}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}@media(forced-colors: active){.mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}}@media(forced-colors: active){.mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-form-field-container-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-form-field-container-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-form-field-container-text-tracking, var(--mat-sys-body-large-tracking));font-weight:var(--mat-form-field-container-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color, var(--mat-sys-error))}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color, var(--mat-sys-on-error-container))}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color, var(--mat-sys-error))}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field-infix:has(textarea[cols]){width:auto}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input{transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-moz-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-webkit-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-error-wrapper{animation-duration:300ms}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)} -`],encapsulation:2,changeDetection:0})}return t})();var Yr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Rp,No,Gi]})}return t})();var fY=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],hostAttrs:["cdk-text-field-style-loader",""],decls:0,vars:0,template:function(i,n){},styles:[`textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms} -`],encapsulation:2,changeDetection:0})}return t})(),W0A={passive:!0},mY=(()=>{class t{_platform=h(Ii);_ngZone=h(Oe);_renderer=h(Kr).createRenderer(null,null);_styleLoader=h(Xn);_monitoredElements=new Map;constructor(){}monitor(A){if(!this._platform.isBrowser)return ja;this._styleLoader.load(fY);let i=xs(A),n=this._monitoredElements.get(i);if(n)return n.subject;let o=new XA,a="cdk-text-field-autofilled",r=g=>{g.animationName==="cdk-text-field-autofill-start"&&!i.classList.contains(a)?(i.classList.add(a),this._ngZone.run(()=>o.next({target:g.target,isAutofilled:!0}))):g.animationName==="cdk-text-field-autofill-end"&&i.classList.contains(a)&&(i.classList.remove(a),this._ngZone.run(()=>o.next({target:g.target,isAutofilled:!1})))},s=this._ngZone.runOutsideAngular(()=>(i.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(i,"animationstart",r,W0A)));return this._monitoredElements.set(i,{subject:o,unlisten:s}),o}stopMonitoring(A){let i=xs(A),n=this._monitoredElements.get(i);n&&(n.unlisten(),n.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((A,i)=>this.stopMonitoring(i))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Op=(()=>{class t{_elementRef=h(ge);_platform=h(Ii);_ngZone=h(Oe);_renderer=h(_i);_resizeEvents=new XA;_previousValue;_initialHeight;_destroyed=new XA;_listenerCleanups;_minRows;_maxRows;_enabled=!0;_previousMinRows=-1;_textareaElement;get minRows(){return this._minRows}set minRows(A){this._minRows=tg(A),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(A){this._maxRows=tg(A),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(A){this._enabled!==A&&((this._enabled=A)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(A){this._cachedPlaceholderHeight=void 0,A?this._textareaElement.setAttribute("placeholder",A):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}_cachedLineHeight;_cachedPlaceholderHeight;_document=h(Xt);_hasFocus=!1;_isViewInited=!1;constructor(){h(Xn).load(fY),this._textareaElement=this._elementRef.nativeElement}_setMinHeight(){let A=this.minRows&&this._cachedLineHeight?`${this.minRows*this._cachedLineHeight}px`:null;A&&(this._textareaElement.style.minHeight=A)}_setMaxHeight(){let A=this.maxRows&&this._cachedLineHeight?`${this.maxRows*this._cachedLineHeight}px`:null;A&&(this._textareaElement.style.maxHeight=A)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{this._listenerCleanups=[this._renderer.listen("window","resize",()=>this._resizeEvents.next()),this._renderer.listen(this._textareaElement,"focus",this._handleFocusEvent),this._renderer.listen(this._textareaElement,"blur",this._handleFocusEvent)],this._resizeEvents.pipe(m1(16)).subscribe(()=>{this._cachedLineHeight=this._cachedPlaceholderHeight=void 0,this.resizeToFitContent(!0)})}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._listenerCleanups?.forEach(A=>A()),this._resizeEvents.complete(),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let A=this._textareaElement.cloneNode(!1),i=A.style;A.rows=1,i.position="absolute",i.visibility="hidden",i.border="none",i.padding="0",i.height="",i.minHeight="",i.maxHeight="",i.top=i.bottom=i.left=i.right="auto",i.overflow="hidden",this._textareaElement.parentNode.appendChild(A),this._cachedLineHeight=A.clientHeight,A.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){let A=this._textareaElement,i=A.style.marginBottom||"",n=this._platform.FIREFOX,o=this._hasFocus,a=n?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";o&&(A.style.marginBottom=`${A.clientHeight}px`),A.classList.add(a);let r=A.scrollHeight-4;return A.classList.remove(a),o&&(A.style.marginBottom=i),r}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||this._cachedPlaceholderHeight!=null)return;if(!this.placeholder){this._cachedPlaceholderHeight=0;return}let A=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=A}_handleFocusEvent=A=>{this._hasFocus=A.type==="focus"};ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(A=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;let i=this._elementRef.nativeElement,n=i.value;if(!A&&this._minRows===this._previousMinRows&&n===this._previousValue)return;let o=this._measureScrollHeight(),a=Math.max(o,this._cachedPlaceholderHeight||0);i.style.height=`${a}px`,this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>this._scrollToCaretPosition(i)):setTimeout(()=>this._scrollToCaretPosition(i))}),this._previousValue=n,this._previousMinRows=this._minRows}reset(){this._initialHeight!==void 0&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_scrollToCaretPosition(A){let{selectionStart:i,selectionEnd:n}=A;!this._destroyed.isStopped&&this._hasFocus&&A.setSelectionRange(i,n)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(i,n){i&1&&tA("input",function(){return n._noopInputHandler()})},inputs:{minRows:[0,"cdkAutosizeMinRows","minRows"],maxRows:[0,"cdkAutosizeMaxRows","maxRows"],enabled:[2,"cdkTextareaAutosize","enabled",he],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]})}return t})(),KB=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();var wY=new yA("MAT_INPUT_VALUE_ACCESSOR");var UB=(()=>{class t{isErrorState(A,i){return!!(A&&A.invalid&&(A.touched||i&&i.submitted))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var JB=class{_defaultMatcher;ngControl;_parentFormGroup;_parentForm;_stateChanges;errorState=!1;matcher;constructor(e,A,i,n,o){this._defaultMatcher=e,this.ngControl=A,this._parentFormGroup=i,this._parentForm=n,this._stateChanges=o}updateErrorState(){let e=this.errorState,A=this._parentFormGroup||this._parentForm,i=this.matcher||this._defaultMatcher,n=this.ngControl?this.ngControl.control:null,o=i?.isErrorState(n,A)??!1;o!==e&&(this.errorState=o,this._stateChanges.next())}};var Z0A=["button","checkbox","file","hidden","image","radio","range","reset","submit"],X0A=new yA("MAT_INPUT_CONFIG"),wa=(()=>{class t{_elementRef=h(ge);_platform=h(Ii);ngControl=h(eg,{optional:!0,self:!0});_autofillMonitor=h(mY);_ngZone=h(Oe);_formField=h(Uu,{optional:!0});_renderer=h(_i);_uid=h(an).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder=null;_errorStateTracker;_config=h(X0A,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer=!1;_isNativeSelect=!1;_isTextarea=!1;_isInFormField=!1;focused=!1;stateChanges=new XA;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(A){this._disabled=yr(A),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(A){this._id=A||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(Ag.required)??!1}set required(A){this._required=yr(A)}_required;get type(){return this._type}set type(A){this._type=A||"text",this._validateType(),!this._isTextarea&&m9().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(A){this._errorStateTracker.matcher=A}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(A){A!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(A):this._inputValueAccessor.value=A,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(A){this._readonly=yr(A)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(A){this._errorStateTracker.errorState=A}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(A=>m9().has(A));constructor(){let A=h(SB,{optional:!0}),i=h(v2,{optional:!0}),n=h(UB),o=h(wY,{optional:!0,self:!0}),a=this._elementRef.nativeElement,r=a.nodeName.toLowerCase();o?w1(o.value)?this._signalBasedValueAccessor=o:this._inputValueAccessor=o:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(a,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new JB(n,this.ngControl,i,A,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=r==="select",this._isTextarea=r==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&Ga(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(A=>{this.autofilled=A.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(A){this._elementRef.nativeElement.focus(A)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(A){if(A!==this.focused){if(!this._isNativeSelect&&A&&this.disabled&&this.disabledInteractive){let i=this._elementRef.nativeElement;i.type==="number"?(i.type="text",i.setSelectionRange(0,0),i.type="number"):i.setSelectionRange(0,0)}this.focused=A,this.stateChanges.next()}}_onInput(){}_dirtyCheckNativeValue(){let A=this._elementRef.nativeElement.value;this._previousNativeValue!==A&&(this._previousNativeValue=A,this.stateChanges.next())}_dirtyCheckPlaceholder(){let A=this._getPlaceholder();if(A!==this._previousPlaceholder){let i=this._elementRef.nativeElement;this._previousPlaceholder=A,A?i.setAttribute("placeholder",A):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){Z0A.indexOf(this._type)>-1}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let A=this._elementRef.nativeElement.validity;return A&&A.badInput}get empty(){return!this._isNeverEmpty()&&!this._elementRef.nativeElement.value&&!this._isBadInput()&&!this.autofilled}get shouldLabelFloat(){if(this._isNativeSelect){let A=this._elementRef.nativeElement,i=A.options[0];return this.focused||A.multiple||!this.empty||!!(A.selectedIndex>-1&&i&&i.label)}else return this.focused&&!this.disabled||!this.empty}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(A){let i=this._elementRef.nativeElement;A.length?i.setAttribute("aria-describedby",A.join(" ")):i.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){let A=this._elementRef.nativeElement;return this._isNativeSelect&&(A.multiple||A.size>1)}_iOSKeyupListener=A=>{let i=A.target;!i.value&&i.selectionStart===0&&i.selectionEnd===0&&(i.setSelectionRange(1,1),i.setSelectionRange(0,0))};_getReadonlyAttribute(){return this._isNativeSelect?null:this.readonly||this.disabled&&this.disabledInteractive?"true":null}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:21,hostBindings:function(i,n){i&1&&tA("focus",function(){return n._focusChanged(!0)})("blur",function(){return n._focusChanged(!1)})("input",function(){return n._onInput()}),i&2&&(vo("id",n.id)("disabled",n.disabled&&!n.disabledInteractive)("required",n.required),ie("name",n.name||null)("readonly",n._getReadonlyAttribute())("aria-disabled",n.disabled&&n.disabledInteractive?"true":null)("aria-invalid",n.empty&&n.required?null:n.errorState)("aria-required",n.required)("id",n.id),ne("mat-input-server",n._isServer)("mat-mdc-form-field-textarea-control",n._isInFormField&&n._isTextarea)("mat-mdc-form-field-input-control",n._isInFormField)("mat-mdc-input-disabled-interactive",n.disabledInteractive)("mdc-text-field__input",n._isInFormField)("mat-mdc-native-select-inline",n._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly",disabledInteractive:[2,"disabledInteractive","disabledInteractive",he]},exportAs:["matInput"],features:[dt([{provide:Ku,useExisting:t}]),ti]})}return t})(),gl=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Yr,Yr,KB,Gi]})}return t})();var tn=(function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t})(tn||{}),$l="*";function DY(t,e=null){return{type:tn.Sequence,steps:t,options:e}}function R9(t){return{type:tn.Style,styles:t,offset:null}}var lC=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(e=0,A=0){this.totalTime=e+A}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){let A=e=="start"?this._onStartFns:this._onDoneFns;A.forEach(i=>i()),A.length=0}},YB=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(e){this.players=e;let A=0,i=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++A==o&&this._onFinish()}),a.onDestroy(()=>{++i==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,r)=>Math.max(a,r.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){let A=e*this.totalTime;this.players.forEach(i=>{let n=i.totalTime?Math.min(1,A/i.totalTime):1;i.setPosition(n)})}getPosition(){let e=this.players.reduce((A,i)=>A===null||i.totalTime>A.totalTime?i:A,null);return e!=null?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){let A=e=="start"?this._onStartFns:this._onDoneFns;A.forEach(i=>i()),A.length=0}},Tu="!";function yY(t){return new kt(3e3,!1)}function $0A(){return new kt(3100,!1)}function ACA(){return new kt(3101,!1)}function eCA(t){return new kt(3001,!1)}function tCA(t){return new kt(3003,!1)}function iCA(t){return new kt(3004,!1)}function bY(t,e){return new kt(3005,!1)}function MY(){return new kt(3006,!1)}function kY(){return new kt(3007,!1)}function SY(t,e){return new kt(3008,!1)}function xY(t){return new kt(3002,!1)}function RY(t,e,A,i,n){return new kt(3010,!1)}function NY(){return new kt(3011,!1)}function FY(){return new kt(3012,!1)}function _Y(){return new kt(3200,!1)}function LY(){return new kt(3202,!1)}function GY(){return new kt(3013,!1)}function KY(t){return new kt(3014,!1)}function UY(t){return new kt(3015,!1)}function JY(t){return new kt(3016,!1)}function YY(t,e){return new kt(3404,!1)}function nCA(t){return new kt(3502,!1)}function TY(t){return new kt(3503,!1)}function HY(){return new kt(3300,!1)}function zY(t){return new kt(3504,!1)}function OY(t){return new kt(3301,!1)}function PY(t,e){return new kt(3302,!1)}function jY(t){return new kt(3303,!1)}function qY(t,e){return new kt(3400,!1)}function VY(t){return new kt(3401,!1)}function WY(t){return new kt(3402,!1)}function ZY(t,e){return new kt(3505,!1)}function cC(t){switch(t.length){case 0:return new lC;case 1:return t[0];default:return new YB(t)}}function L9(t,e,A=new Map,i=new Map){let n=[],o=[],a=-1,r=null;if(e.forEach(s=>{let g=s.get("offset"),l=g==a,C=l&&r||new Map;s.forEach((I,d)=>{let B=d,E=I;if(d!=="offset")switch(B=t.normalizePropertyName(B,n),E){case Tu:E=A.get(d);break;case $l:E=i.get(d);break;default:E=t.normalizeStyleValue(d,B,E,n);break}C.set(B,E)}),l||o.push(C),r=C,a=g}),n.length)throw nCA(n);return o}function Pp(t,e,A,i){switch(e){case"start":t.onStart(()=>i(A&&N9(A,"start",t)));break;case"done":t.onDone(()=>i(A&&N9(A,"done",t)));break;case"destroy":t.onDestroy(()=>i(A&&N9(A,"destroy",t)));break}}function N9(t,e,A){let i=A.totalTime,n=!!A.disabled,o=jp(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,i??t.totalTime,n),a=t._data;return a!=null&&(o._data=a),o}function jp(t,e,A,i,n="",o=0,a){return{element:t,triggerName:e,fromState:A,toState:i,phaseName:n,totalTime:o,disabled:!!a}}function ng(t,e,A){let i=t.get(e);return i||t.set(e,i=A),i}function G9(t){let e=t.indexOf(":"),A=t.substring(1,e),i=t.slice(e+1);return[A,i]}var oCA=typeof document>"u"?null:document.documentElement;function qp(t){let e=t.parentNode||t.host||null;return e===oCA?null:e}function aCA(t){return t.substring(1,6)=="ebkit"}var N1=null,vY=!1;function XY(t){N1||(N1=rCA()||{},vY=N1.style?"WebkitAppearance"in N1.style:!1);let e=!0;return N1.style&&!aCA(t)&&(e=t in N1.style,!e&&vY&&(e="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in N1.style)),e}function rCA(){return typeof document<"u"?document.body:null}function K9(t,e){for(;e;){if(e===t)return!0;e=qp(e)}return!1}function U9(t,e,A){if(A)return Array.from(t.querySelectorAll(e));let i=t.querySelector(e);return i?[i]:[]}var sCA=1e3,J9="{{",gCA="}}",Y9="ng-enter",Vp="ng-leave",Hu="ng-trigger",zu=".ng-trigger",T9="ng-animating",Wp=".ng-animating";function g0(t){if(typeof t=="number")return t;let e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:F9(parseFloat(e[1]),e[2])}function F9(t,e){return e==="s"?t*sCA:t}function Ou(t,e,A){return t.hasOwnProperty("duration")?t:cCA(t,e,A)}var lCA=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;function cCA(t,e,A){let i,n=0,o="";if(typeof t=="string"){let a=t.match(lCA);if(a===null)return e.push(yY(t)),{duration:0,delay:0,easing:""};i=F9(parseFloat(a[1]),a[2]);let r=a[3];r!=null&&(n=F9(parseFloat(r),a[4]));let s=a[5];s&&(o=s)}else i=t;if(!A){let a=!1,r=e.length;i<0&&(e.push($0A()),a=!0),n<0&&(e.push(ACA()),a=!0),a&&e.splice(r,0,yY(t))}return{duration:i,delay:n,easing:o}}function $Y(t){return t.length?t[0]instanceof Map?t:t.map(e=>new Map(Object.entries(e))):[]}function Ac(t,e,A){e.forEach((i,n)=>{let o=Zp(n);A&&!A.has(n)&&A.set(n,t.style[o]),t.style[o]=i})}function R2(t,e){e.forEach((A,i)=>{let n=Zp(i);t.style[n]=""})}function TB(t){return Array.isArray(t)?t.length==1?t[0]:DY(t):t}function AT(t,e,A){let i=e.params||{},n=H9(t);n.length&&n.forEach(o=>{i.hasOwnProperty(o)||A.push(eCA(o))})}var _9=new RegExp(`${J9}\\s*(.+?)\\s*${gCA}`,"g");function H9(t){let e=[];if(typeof t=="string"){let A;for(;A=_9.exec(t);)e.push(A[1]);_9.lastIndex=0}return e}function HB(t,e,A){let i=`${t}`,n=i.replace(_9,(o,a)=>{let r=e[a];return r==null&&(A.push(tCA(a)),r=""),r.toString()});return n==i?t:n}var CCA=/-+([a-z0-9])/g;function Zp(t){return t.replace(CCA,(...e)=>e[1].toUpperCase())}function eT(t,e){return t===0||e===0}function tT(t,e,A){if(A.size&&e.length){let i=e[0],n=[];if(A.forEach((o,a)=>{i.has(a)||n.push(a),i.set(a,o)}),n.length)for(let o=1;oa.set(r,Xp(t,r)))}}return e}function og(t,e,A){switch(e.type){case tn.Trigger:return t.visitTrigger(e,A);case tn.State:return t.visitState(e,A);case tn.Transition:return t.visitTransition(e,A);case tn.Sequence:return t.visitSequence(e,A);case tn.Group:return t.visitGroup(e,A);case tn.Animate:return t.visitAnimate(e,A);case tn.Keyframes:return t.visitKeyframes(e,A);case tn.Style:return t.visitStyle(e,A);case tn.Reference:return t.visitReference(e,A);case tn.AnimateChild:return t.visitAnimateChild(e,A);case tn.AnimateRef:return t.visitAnimateRef(e,A);case tn.Query:return t.visitQuery(e,A);case tn.Stagger:return t.visitStagger(e,A);default:throw iCA(e.type)}}function Xp(t,e){return window.getComputedStyle(t)[e]}var aM=(()=>{class t{validateStyleProperty(A){return XY(A)}containsElement(A,i){return K9(A,i)}getParentElement(A){return qp(A)}query(A,i,n){return U9(A,i,n)}computeStyle(A,i,n){return n||""}animate(A,i,n,o,a,r=[],s){return new lC(n,o)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac})}return t})(),_1=class{static NOOP=new aM},L1=class{};var ICA=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),i6=class extends L1{normalizePropertyName(e,A){return Zp(e)}normalizeStyleValue(e,A,i,n){let o="",a=i.toString().trim();if(ICA.has(A)&&i!==0&&i!=="0")if(typeof i=="number")o="px";else{let r=i.match(/^[+-]?[\d\.]+([a-z]*)$/);r&&r[1].length==0&&n.push(bY(e,i))}return a+o}};var n6="*";function dCA(t,e){let A=[];return typeof t=="string"?t.split(/\s*,\s*/).forEach(i=>BCA(i,A,e)):A.push(t),A}function BCA(t,e,A){if(t[0]==":"){let s=ECA(t,A);if(typeof s=="function"){e.push(s);return}t=s}let i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(i==null||i.length<4)return A.push(UY(t)),e;let n=i[1],o=i[2],a=i[3];e.push(iT(n,a));let r=n==n6&&a==n6;o[0]=="<"&&!r&&e.push(iT(a,n))}function ECA(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(A,i)=>parseFloat(i)>parseFloat(A);case":decrement":return(A,i)=>parseFloat(i) *"}}var $p=new Set(["true","1"]),A6=new Set(["false","0"]);function iT(t,e){let A=$p.has(t)||A6.has(t),i=$p.has(e)||A6.has(e);return(n,o)=>{let a=t==n6||t==n,r=e==n6||e==o;return!a&&A&&typeof n=="boolean"&&(a=n?$p.has(t):A6.has(t)),!r&&i&&typeof o=="boolean"&&(r=o?$p.has(e):A6.has(e)),a&&r}}var IT=":self",QCA=new RegExp(`s*${IT}s*,?`,"g");function dT(t,e,A,i){return new V9(t).build(e,A,i)}var nT="",V9=class{_driver;constructor(e){this._driver=e}build(e,A,i){let n=new W9(A);return this._resetContextStyleTimingState(n),og(this,TB(e),n)}_resetContextStyleTimingState(e){e.currentQuerySelector=nT,e.collectedStyles=new Map,e.collectedStyles.set(nT,new Map),e.currentTime=0}visitTrigger(e,A){let i=A.queryCount=0,n=A.depCount=0,o=[],a=[];return e.name.charAt(0)=="@"&&A.errors.push(MY()),e.definitions.forEach(r=>{if(this._resetContextStyleTimingState(A),r.type==tn.State){let s=r,g=s.name;g.toString().split(/\s*,\s*/).forEach(l=>{s.name=l,o.push(this.visitState(s,A))}),s.name=g}else if(r.type==tn.Transition){let s=this.visitTransition(r,A);i+=s.queryCount,n+=s.depCount,a.push(s)}else A.errors.push(kY())}),{type:tn.Trigger,name:e.name,states:o,transitions:a,queryCount:i,depCount:n,options:null}}visitState(e,A){let i=this.visitStyle(e.styles,A),n=e.options&&e.options.params||null;if(i.containsDynamicStyles){let o=new Set,a=n||{};i.styles.forEach(r=>{r instanceof Map&&r.forEach(s=>{H9(s).forEach(g=>{a.hasOwnProperty(g)||o.add(g)})})}),o.size&&A.errors.push(SY(e.name,[...o.values()]))}return{type:tn.State,name:e.name,style:i,options:n?{params:n}:null}}visitTransition(e,A){A.queryCount=0,A.depCount=0;let i=og(this,TB(e.animation),A),n=dCA(e.expr,A.errors);return{type:tn.Transition,matchers:n,animation:i,queryCount:A.queryCount,depCount:A.depCount,options:F1(e.options)}}visitSequence(e,A){return{type:tn.Sequence,steps:e.steps.map(i=>og(this,i,A)),options:F1(e.options)}}visitGroup(e,A){let i=A.currentTime,n=0,o=e.steps.map(a=>{A.currentTime=i;let r=og(this,a,A);return n=Math.max(n,A.currentTime),r});return A.currentTime=n,{type:tn.Group,steps:o,options:F1(e.options)}}visitAnimate(e,A){let i=mCA(e.timings,A.errors);A.currentAnimateTimings=i;let n,o=e.styles?e.styles:R9({});if(o.type==tn.Keyframes)n=this.visitKeyframes(o,A);else{let a=e.styles,r=!1;if(!a){r=!0;let g={};i.easing&&(g.easing=i.easing),a=R9(g)}A.currentTime+=i.duration+i.delay;let s=this.visitStyle(a,A);s.isEmptyStep=r,n=s}return A.currentAnimateTimings=null,{type:tn.Animate,timings:i,style:n,options:null}}visitStyle(e,A){let i=this._makeStyleAst(e,A);return this._validateStyleAst(i,A),i}_makeStyleAst(e,A){let i=[],n=Array.isArray(e.styles)?e.styles:[e.styles];for(let r of n)typeof r=="string"?r===$l?i.push(r):A.errors.push(xY(r)):i.push(new Map(Object.entries(r)));let o=!1,a=null;return i.forEach(r=>{if(r instanceof Map&&(r.has("easing")&&(a=r.get("easing"),r.delete("easing")),!o)){for(let s of r.values())if(s.toString().indexOf(J9)>=0){o=!0;break}}}),{type:tn.Style,styles:i,easing:a,offset:e.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(e,A){let i=A.currentAnimateTimings,n=A.currentTime,o=A.currentTime;i&&o>0&&(o-=i.duration+i.delay),e.styles.forEach(a=>{typeof a!="string"&&a.forEach((r,s)=>{let g=A.collectedStyles.get(A.currentQuerySelector),l=g.get(s),C=!0;l&&(o!=n&&o>=l.startTime&&n<=l.endTime&&(A.errors.push(RY(s,l.startTime,l.endTime,o,n)),C=!1),o=l.startTime),C&&g.set(s,{startTime:o,endTime:n}),A.options&&AT(r,A.options,A.errors)})})}visitKeyframes(e,A){let i={type:tn.Keyframes,styles:[],options:null};if(!A.currentAnimateTimings)return A.errors.push(NY()),i;let n=1,o=0,a=[],r=!1,s=!1,g=0,l=e.steps.map(f=>{let b=this._makeStyleAst(f,A),S=b.offset!=null?b.offset:fCA(b.styles),M=0;return S!=null&&(o++,M=b.offset=S),s=s||M<0||M>1,r=r||M0&&o{let S=I>0?b==d?1:I*b:a[b],M=S*Q;A.currentTime=B+E.delay+M,E.duration=M,this._validateStyleAst(f,A),f.offset=S,i.styles.push(f)}),i}visitReference(e,A){return{type:tn.Reference,animation:og(this,TB(e.animation),A),options:F1(e.options)}}visitAnimateChild(e,A){return A.depCount++,{type:tn.AnimateChild,options:F1(e.options)}}visitAnimateRef(e,A){return{type:tn.AnimateRef,animation:this.visitReference(e.animation,A),options:F1(e.options)}}visitQuery(e,A){let i=A.currentQuerySelector,n=e.options||{};A.queryCount++,A.currentQuery=e;let[o,a]=hCA(e.selector);A.currentQuerySelector=i.length?i+" "+o:o,ng(A.collectedStyles,A.currentQuerySelector,new Map);let r=og(this,TB(e.animation),A);return A.currentQuery=null,A.currentQuerySelector=i,{type:tn.Query,selector:o,limit:n.limit||0,optional:!!n.optional,includeSelf:a,animation:r,originalSelector:e.selector,options:F1(e.options)}}visitStagger(e,A){A.currentQuery||A.errors.push(GY());let i=e.timings==="full"?{duration:0,delay:0,easing:"full"}:Ou(e.timings,A.errors,!0);return{type:tn.Stagger,animation:og(this,TB(e.animation),A),timings:i,options:null}}};function hCA(t){let e=!!t.split(/\s*,\s*/).find(A=>A==IT);return e&&(t=t.replace(QCA,"")),t=t.replace(/@\*/g,zu).replace(/@\w+/g,A=>zu+"-"+A.slice(1)).replace(/:animating/g,Wp),[t,e]}function uCA(t){return t?cA({},t):null}var W9=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(e){this.errors=e}};function fCA(t){if(typeof t=="string")return null;let e=null;if(Array.isArray(t))t.forEach(A=>{if(A instanceof Map&&A.has("offset")){let i=A;e=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){let A=t;e=parseFloat(A.get("offset")),A.delete("offset")}return e}function mCA(t,e){if(t.hasOwnProperty("duration"))return t;if(typeof t=="number"){let o=Ou(t,e).duration;return z9(o,0,"")}let A=t;if(A.split(/\s+/).some(o=>o.charAt(0)=="{"&&o.charAt(1)=="{")){let o=z9(0,0,"");return o.dynamic=!0,o.strValue=A,o}let n=Ou(A,e);return z9(n.duration,n.delay,n.easing)}function F1(t){return t?(t=cA({},t),t.params&&(t.params=uCA(t.params))):t={},t}function z9(t,e,A){return{duration:t,delay:e,easing:A}}function rM(t,e,A,i,n,o,a=null,r=!1){return{type:1,element:t,keyframes:e,preStyleProps:A,postStyleProps:i,duration:n,delay:o,totalTime:n+o,easing:a,subTimeline:r}}var ju=class{_map=new Map;get(e){return this._map.get(e)||[]}append(e,A){let i=this._map.get(e);i||this._map.set(e,i=[]),i.push(...A)}has(e){return this._map.has(e)}clear(){this._map.clear()}},pCA=1,wCA=":enter",DCA=new RegExp(wCA,"g"),yCA=":leave",vCA=new RegExp(yCA,"g");function BT(t,e,A,i,n,o=new Map,a=new Map,r,s,g=[]){return new Z9().buildKeyframes(t,e,A,i,n,o,a,r,s,g)}var Z9=class{buildKeyframes(e,A,i,n,o,a,r,s,g,l=[]){g=g||new ju;let C=new X9(e,A,g,n,o,l,[]);C.options=s;let I=s.delay?g0(s.delay):0;C.currentTimeline.delayNextStep(I),C.currentTimeline.setStyles([a],null,C.errors,s),og(this,i,C);let d=C.timelines.filter(B=>B.containsAnimation());if(d.length&&r.size){let B;for(let E=d.length-1;E>=0;E--){let Q=d[E];if(Q.element===A){B=Q;break}}B&&!B.allowOnlyTimelineStyles()&&B.setStyles([r],null,C.errors,s)}return d.length?d.map(B=>B.buildKeyframes()):[rM(A,[],[],[],0,I,"",!1)]}visitTrigger(e,A){}visitState(e,A){}visitTransition(e,A){}visitAnimateChild(e,A){let i=A.subInstructions.get(A.element);if(i){let n=A.createSubContext(e.options),o=A.currentTimeline.currentTime,a=this._visitSubInstructions(i,n,n.options);o!=a&&A.transformIntoNewTimeline(a)}A.previousNode=e}visitAnimateRef(e,A){let i=A.createSubContext(e.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],A,i),this.visitReference(e.animation,i),A.transformIntoNewTimeline(i.currentTimeline.currentTime),A.previousNode=e}_applyAnimationRefDelays(e,A,i){for(let n of e){let o=n?.delay;if(o){let a=typeof o=="number"?o:g0(HB(o,n?.params??{},A.errors));i.delayNextStep(a)}}}_visitSubInstructions(e,A,i){let o=A.currentTimeline.currentTime,a=i.duration!=null?g0(i.duration):null,r=i.delay!=null?g0(i.delay):null;return a!==0&&e.forEach(s=>{let g=A.appendInstructionToTimeline(s,a,r);o=Math.max(o,g.duration+g.delay)}),o}visitReference(e,A){A.updateOptions(e.options,!0),og(this,e.animation,A),A.previousNode=e}visitSequence(e,A){let i=A.subContextCount,n=A,o=e.options;if(o&&(o.params||o.delay)&&(n=A.createSubContext(o),n.transformIntoNewTimeline(),o.delay!=null)){n.previousNode.type==tn.Style&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=o6);let a=g0(o.delay);n.delayNextStep(a)}e.steps.length&&(e.steps.forEach(a=>og(this,a,n)),n.currentTimeline.applyStylesToKeyframe(),n.subContextCount>i&&n.transformIntoNewTimeline()),A.previousNode=e}visitGroup(e,A){let i=[],n=A.currentTimeline.currentTime,o=e.options&&e.options.delay?g0(e.options.delay):0;e.steps.forEach(a=>{let r=A.createSubContext(e.options);o&&r.delayNextStep(o),og(this,a,r),n=Math.max(n,r.currentTimeline.currentTime),i.push(r.currentTimeline)}),i.forEach(a=>A.currentTimeline.mergeTimelineCollectedStyles(a)),A.transformIntoNewTimeline(n),A.previousNode=e}_visitTiming(e,A){if(e.dynamic){let i=e.strValue,n=A.params?HB(i,A.params,A.errors):i;return Ou(n,A.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,A){let i=A.currentAnimateTimings=this._visitTiming(e.timings,A),n=A.currentTimeline;i.delay&&(A.incrementTime(i.delay),n.snapshotCurrentStyles());let o=e.style;o.type==tn.Keyframes?this.visitKeyframes(o,A):(A.incrementTime(i.duration),this.visitStyle(o,A),n.applyStylesToKeyframe()),A.currentAnimateTimings=null,A.previousNode=e}visitStyle(e,A){let i=A.currentTimeline,n=A.currentAnimateTimings;!n&&i.hasCurrentStyleProperties()&&i.forwardFrame();let o=n&&n.easing||e.easing;e.isEmptyStep?i.applyEmptyStep(o):i.setStyles(e.styles,o,A.errors,A.options),A.previousNode=e}visitKeyframes(e,A){let i=A.currentAnimateTimings,n=A.currentTimeline.duration,o=i.duration,r=A.createSubContext().currentTimeline;r.easing=i.easing,e.styles.forEach(s=>{let g=s.offset||0;r.forwardTime(g*o),r.setStyles(s.styles,s.easing,A.errors,A.options),r.applyStylesToKeyframe()}),A.currentTimeline.mergeTimelineCollectedStyles(r),A.transformIntoNewTimeline(n+o),A.previousNode=e}visitQuery(e,A){let i=A.currentTimeline.currentTime,n=e.options||{},o=n.delay?g0(n.delay):0;o&&(A.previousNode.type===tn.Style||i==0&&A.currentTimeline.hasCurrentStyleProperties())&&(A.currentTimeline.snapshotCurrentStyles(),A.previousNode=o6);let a=i,r=A.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!n.optional,A.errors);A.currentQueryTotal=r.length;let s=null;r.forEach((g,l)=>{A.currentQueryIndex=l;let C=A.createSubContext(e.options,g);o&&C.delayNextStep(o),g===A.element&&(s=C.currentTimeline),og(this,e.animation,C),C.currentTimeline.applyStylesToKeyframe();let I=C.currentTimeline.currentTime;a=Math.max(a,I)}),A.currentQueryIndex=0,A.currentQueryTotal=0,A.transformIntoNewTimeline(a),s&&(A.currentTimeline.mergeTimelineCollectedStyles(s),A.currentTimeline.snapshotCurrentStyles()),A.previousNode=e}visitStagger(e,A){let i=A.parentContext,n=A.currentTimeline,o=e.timings,a=Math.abs(o.duration),r=a*(A.currentQueryTotal-1),s=a*A.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":s=r-s;break;case"full":s=i.currentStaggerTime;break}let l=A.currentTimeline;s&&l.delayNextStep(s);let C=l.currentTime;og(this,e.animation,A),A.previousNode=e,i.currentStaggerTime=n.currentTime-C+(n.startTime-i.currentTimeline.startTime)}},o6={},X9=class t{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=o6;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(e,A,i,n,o,a,r,s){this._driver=e,this.element=A,this.subInstructions=i,this._enterClassName=n,this._leaveClassName=o,this.errors=a,this.timelines=r,this.currentTimeline=s||new a6(this._driver,A,0),r.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,A){if(!e)return;let i=e,n=this.options;i.duration!=null&&(n.duration=g0(i.duration)),i.delay!=null&&(n.delay=g0(i.delay));let o=i.params;if(o){let a=n.params;a||(a=this.options.params={}),Object.keys(o).forEach(r=>{(!A||!a.hasOwnProperty(r))&&(a[r]=HB(o[r],a,this.errors))})}}_copyOptions(){let e={};if(this.options){let A=this.options.params;if(A){let i=e.params={};Object.keys(A).forEach(n=>{i[n]=A[n]})}}return e}createSubContext(e=null,A,i){let n=A||this.element,o=new t(this._driver,n,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(n,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(e){return this.previousNode=o6,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,A,i){let n={duration:A??e.duration,delay:this.currentTimeline.currentTime+(i??0)+e.delay,easing:""},o=new $9(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,n,e.stretchStartingKeyframe);return this.timelines.push(o),n}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,A,i,n,o,a){let r=[];if(n&&r.push(this.element),e.length>0){e=e.replace(DCA,"."+this._enterClassName),e=e.replace(vCA,"."+this._leaveClassName);let s=i!=1,g=this._driver.query(this.element,e,s);i!==0&&(g=i<0?g.slice(g.length+i,g.length):g.slice(0,i)),r.push(...g)}return!o&&r.length==0&&a.push(KY(A)),r}},a6=class t{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(e,A,i,n){this._driver=e,this.element=A,this.startTime=i,this._elementTimelineStylesLookup=n,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(A),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(A,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let A=this._keyframes.size===1&&this._pendingStyles.size;this.duration||A?(this.forwardTime(this.currentTime+e),A&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,A){return this.applyStylesToKeyframe(),new t(this._driver,e,A||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=pCA,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,A){this._localTimelineStyles.set(e,A),this._globalTimelineStyles.set(e,A),this._styleSummary.set(e,{time:this.currentTime,value:A})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[A,i]of this._globalTimelineStyles)this._backFill.set(A,i||$l),this._currentKeyframe.set(A,$l);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,A,i,n){A&&this._previousKeyframe.set("easing",A);let o=n&&n.params||{},a=bCA(e,this._globalTimelineStyles);for(let[r,s]of a){let g=HB(s,o,i);this._pendingStyles.set(r,g),this._localTimelineStyles.has(r)||this._backFill.set(r,this._globalTimelineStyles.get(r)??$l),this._updateStyle(r,g)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,A)=>{this._currentKeyframe.set(A,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,A)=>{this._currentKeyframe.has(A)||this._currentKeyframe.set(A,e)}))}snapshotCurrentStyles(){for(let[e,A]of this._localTimelineStyles)this._pendingStyles.set(e,A),this._updateStyle(e,A)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let A in this._currentKeyframe)e.push(A);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((A,i)=>{let n=this._styleSummary.get(i);(!n||A.time>n.time)&&this._updateStyle(i,A.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,A=new Set,i=this._keyframes.size===1&&this.duration===0,n=[];this._keyframes.forEach((r,s)=>{let g=new Map([...this._backFill,...r]);g.forEach((l,C)=>{l===Tu?e.add(C):l===$l&&A.add(C)}),i||g.set("offset",s/this.duration),n.push(g)});let o=[...e.values()],a=[...A.values()];if(i){let r=n[0],s=new Map(r);r.set("offset",0),s.set("offset",1),n=[r,s]}return rM(this.element,n,o,a,this.duration,this.startTime,this.easing,!1)}},$9=class extends a6{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(e,A,i,n,o,a,r=!1){super(e,A,a.delay),this.keyframes=i,this.preStyleProps=n,this.postStyleProps=o,this._stretchStartingKeyframe=r,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:A,duration:i,easing:n}=this.timings;if(this._stretchStartingKeyframe&&A){let o=[],a=i+A,r=A/a,s=new Map(e[0]);s.set("offset",0),o.push(s);let g=new Map(e[0]);g.set("offset",oT(r)),o.push(g);let l=e.length-1;for(let C=1;C<=l;C++){let I=new Map(e[C]),d=I.get("offset"),B=A+d*i;I.set("offset",oT(B/a)),o.push(I)}i=a,A=0,n="",e=o}return rM(this.element,e,this.preStyleProps,this.postStyleProps,i,A,n,!0)}};function oT(t,e=3){let A=Math.pow(10,e-1);return Math.round(t*A)/A}function bCA(t,e){let A=new Map,i;return t.forEach(n=>{if(n==="*"){i??=e.keys();for(let o of i)A.set(o,$l)}else for(let[o,a]of n)A.set(o,a)}),A}function aT(t,e,A,i,n,o,a,r,s,g,l,C,I){return{type:0,element:t,triggerName:e,isRemovalTransition:n,fromState:A,fromStyles:o,toState:i,toStyles:a,timelines:r,queriedElements:s,preStyleProps:g,postStyleProps:l,totalTime:C,errors:I}}var O9={},r6=class{_triggerName;ast;_stateStyles;constructor(e,A,i){this._triggerName=e,this.ast=A,this._stateStyles=i}match(e,A,i,n){return MCA(this.ast.matchers,e,A,i,n)}buildStyles(e,A,i){let n=this._stateStyles.get("*");return e!==void 0&&(n=this._stateStyles.get(e?.toString())||n),n?n.buildStyles(A,i):new Map}build(e,A,i,n,o,a,r,s,g,l){let C=[],I=this.ast.options&&this.ast.options.params||O9,d=r&&r.params||O9,B=this.buildStyles(i,d,C),E=s&&s.params||O9,Q=this.buildStyles(n,E,C),f=new Set,b=new Map,S=new Map,M=n==="void",D={params:ET(E,I),delay:this.ast.options?.delay},F=l?[]:BT(e,A,this.ast.animation,o,a,B,Q,D,g,C),_=0;return F.forEach(U=>{_=Math.max(U.duration+U.delay,_)}),C.length?aT(A,this._triggerName,i,n,M,B,Q,[],[],b,S,_,C):(F.forEach(U=>{let J=U.element,j=ng(b,J,new Set);U.preStyleProps.forEach(O=>j.add(O));let AA=ng(S,J,new Set);U.postStyleProps.forEach(O=>AA.add(O)),J!==A&&f.add(J)}),aT(A,this._triggerName,i,n,M,B,Q,F,[...f.values()],b,S,_))}};function MCA(t,e,A,i,n){return t.some(o=>o(e,A,i,n))}function ET(t,e){let A=cA({},e);return Object.entries(t).forEach(([i,n])=>{n!=null&&(A[i]=n)}),A}var AM=class{styles;defaultParams;normalizer;constructor(e,A,i){this.styles=e,this.defaultParams=A,this.normalizer=i}buildStyles(e,A){let i=new Map,n=ET(e,this.defaultParams);return this.styles.styles.forEach(o=>{typeof o!="string"&&o.forEach((a,r)=>{a&&(a=HB(a,n,A));let s=this.normalizer.normalizePropertyName(r,A);a=this.normalizer.normalizeStyleValue(r,s,a,A),i.set(r,a)})}),i}};function kCA(t,e,A){return new eM(t,e,A)}var eM=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(e,A,i){this.name=e,this.ast=A,this._normalizer=i,A.states.forEach(n=>{let o=n.options&&n.options.params||{};this.states.set(n.name,new AM(n.style,o,i))}),rT(this.states,"true","1"),rT(this.states,"false","0"),A.transitions.forEach(n=>{this.transitionFactories.push(new r6(e,n,this.states))}),this.fallbackTransition=SCA(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,A,i,n){return this.transitionFactories.find(a=>a.match(e,A,i,n))||null}matchStyles(e,A,i){return this.fallbackTransition.buildStyles(e,A,i)}};function SCA(t,e,A){let i=[(a,r)=>!0],n={type:tn.Sequence,steps:[],options:null},o={type:tn.Transition,animation:n,matchers:i,options:null,queryCount:0,depCount:0};return new r6(t,o,e)}function rT(t,e,A){t.has(e)?t.has(A)||t.set(A,t.get(e)):t.has(A)&&t.set(e,t.get(A))}var xCA=new ju,tM=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(e,A,i){this.bodyNode=e,this._driver=A,this._normalizer=i}register(e,A){let i=[],n=[],o=dT(this._driver,A,i,n);if(i.length)throw TY(i);this._animations.set(e,o)}_buildPlayer(e,A,i){let n=e.element,o=L9(this._normalizer,e.keyframes,A,i);return this._driver.animate(n,o,e.duration,e.delay,e.easing,[],!0)}create(e,A,i={}){let n=[],o=this._animations.get(e),a,r=new Map;if(o?(a=BT(this._driver,A,o,Y9,Vp,new Map,new Map,i,xCA,n),a.forEach(l=>{let C=ng(r,l.element,new Map);l.postStyleProps.forEach(I=>C.set(I,null))})):(n.push(HY()),a=[]),n.length)throw zY(n);r.forEach((l,C)=>{l.forEach((I,d)=>{l.set(d,this._driver.computeStyle(C,d,$l))})});let s=a.map(l=>{let C=r.get(l.element);return this._buildPlayer(l,new Map,C)}),g=cC(s);return this._playersById.set(e,g),g.onDestroy(()=>this.destroy(e)),this.players.push(g),g}destroy(e){let A=this._getPlayer(e);A.destroy(),this._playersById.delete(e);let i=this.players.indexOf(A);i>=0&&this.players.splice(i,1)}_getPlayer(e){let A=this._playersById.get(e);if(!A)throw OY(e);return A}listen(e,A,i,n){let o=jp(A,"","","");return Pp(this._getPlayer(e),i,o,n),()=>{}}command(e,A,i,n){if(i=="register"){this.register(e,n[0]);return}if(i=="create"){let a=n[0]||{};this.create(e,A,a);return}let o=this._getPlayer(e);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(n[0]));break;case"destroy":this.destroy(e);break}}},sT="ng-animate-queued",RCA=".ng-animate-queued",P9="ng-animate-disabled",NCA=".ng-animate-disabled",FCA="ng-star-inserted",_CA=".ng-star-inserted",LCA=[],QT={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},GCA={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ec="__ng_removed",qu=class{namespaceId;value;options;get params(){return this.options.params}constructor(e,A=""){this.namespaceId=A;let i=e&&e.hasOwnProperty("value"),n=i?e.value:e;if(this.value=UCA(n),i){let o=e,{value:a}=o,r=tU(o,["value"]);this.options=r}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let A=e.params;if(A){let i=this.options.params;Object.keys(A).forEach(n=>{i[n]==null&&(i[n]=A[n])})}}},Pu="void",j9=new qu(Pu),iM=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(e,A,i){this.id=e,this.hostElement=A,this._engine=i,this._hostClassName="ng-tns-"+e,ll(A,this._hostClassName)}listen(e,A,i,n){if(!this._triggers.has(A))throw PY(i,A);if(i==null||i.length==0)throw jY(A);if(!JCA(i))throw qY(i,A);let o=ng(this._elementListeners,e,[]),a={name:A,phase:i,callback:n};o.push(a);let r=ng(this._engine.statesByElement,e,new Map);return r.has(A)||(ll(e,Hu),ll(e,Hu+"-"+A),r.set(A,j9)),()=>{this._engine.afterFlush(()=>{let s=o.indexOf(a);s>=0&&o.splice(s,1),this._triggers.has(A)||r.delete(A)})}}register(e,A){return this._triggers.has(e)?!1:(this._triggers.set(e,A),!0)}_getTrigger(e){let A=this._triggers.get(e);if(!A)throw VY(e);return A}trigger(e,A,i,n=!0){let o=this._getTrigger(A),a=new Vu(this.id,A,e),r=this._engine.statesByElement.get(e);r||(ll(e,Hu),ll(e,Hu+"-"+A),this._engine.statesByElement.set(e,r=new Map));let s=r.get(A),g=new qu(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&s&&g.absorbOptions(s.options),r.set(A,g),s||(s=j9),!(g.value===Pu)&&s.value===g.value){if(!HCA(s.params,g.params)){let E=[],Q=o.matchStyles(s.value,s.params,E),f=o.matchStyles(g.value,g.params,E);E.length?this._engine.reportError(E):this._engine.afterFlush(()=>{R2(e,Q),Ac(e,f)})}return}let I=ng(this._engine.playersByElement,e,[]);I.forEach(E=>{E.namespaceId==this.id&&E.triggerName==A&&E.queued&&E.destroy()});let d=o.matchTransition(s.value,g.value,e,g.params),B=!1;if(!d){if(!n)return;d=o.fallbackTransition,B=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:A,transition:d,fromState:s,toState:g,player:a,isFallbackTransition:B}),B||(ll(e,sT),a.onStart(()=>{zB(e,sT)})),a.onDone(()=>{let E=this.players.indexOf(a);E>=0&&this.players.splice(E,1);let Q=this._engine.playersByElement.get(e);if(Q){let f=Q.indexOf(a);f>=0&&Q.splice(f,1)}}),this.players.push(a),I.push(a),a}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(A=>A.delete(e)),this._elementListeners.forEach((A,i)=>{this._elementListeners.set(i,A.filter(n=>n.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let A=this._engine.playersByElement.get(e);A&&(A.forEach(i=>i.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,A){let i=this._engine.driver.query(e,zu,!0);i.forEach(n=>{if(n[ec])return;let o=this._engine.fetchNamespacesByElement(n);o.size?o.forEach(a=>a.triggerLeaveAnimation(n,A,!1,!0)):this.clearElementCache(n)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(n=>this.clearElementCache(n)))}triggerLeaveAnimation(e,A,i,n){let o=this._engine.statesByElement.get(e),a=new Map;if(o){let r=[];if(o.forEach((s,g)=>{if(a.set(g,s.value),this._triggers.has(g)){let l=this.trigger(e,g,Pu,n);l&&r.push(l)}}),r.length)return this._engine.markElementAsRemoved(this.id,e,!0,A,a),i&&cC(r).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let A=this._elementListeners.get(e),i=this._engine.statesByElement.get(e);if(A&&i){let n=new Set;A.forEach(o=>{let a=o.name;if(n.has(a))return;n.add(a);let s=this._triggers.get(a).fallbackTransition,g=i.get(a)||j9,l=new qu(Pu),C=new Vu(this.id,a,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:a,transition:s,fromState:g,toState:l,player:C,isFallbackTransition:!0})})}}removeNode(e,A){let i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,A),this.triggerLeaveAnimation(e,A,!0))return;let n=!1;if(i.totalAnimations){let o=i.players.length?i.playersByQueriedElement.get(e):[];if(o&&o.length)n=!0;else{let a=e;for(;a=a.parentNode;)if(i.statesByElement.get(a)){n=!0;break}}}if(this.prepareLeaveAnimationListeners(e),n)i.markElementAsRemoved(this.id,e,!1,A);else{let o=e[ec];(!o||o===QT)&&(i.afterFlush(()=>this.clearElementCache(e)),i.destroyInnerAnimations(e),i._onRemovalComplete(e,A))}}insertNode(e,A){ll(e,this._hostClassName)}drainQueuedTransitions(e){let A=[];return this._queue.forEach(i=>{let n=i.player;if(n.destroyed)return;let o=i.element,a=this._elementListeners.get(o);a&&a.forEach(r=>{if(r.name==i.triggerName){let s=jp(o,i.triggerName,i.fromState.value,i.toState.value);s._data=e,Pp(i.player,r.phase,s,r.callback)}}),n.markedForDestroy?this._engine.afterFlush(()=>{n.destroy()}):A.push(i)}),this._queue=[],A.sort((i,n)=>{let o=i.transition.ast.depCount,a=n.transition.ast.depCount;return o==0||a==0?o-a:this._engine.driver.containsElement(i.element,n.element)?1:-1})}destroy(e){this.players.forEach(A=>A.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},nM=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(e,A)=>{};_onRemovalComplete(e,A){this.onRemovalComplete(e,A)}constructor(e,A,i){this.bodyNode=e,this.driver=A,this._normalizer=i}get queuedPlayers(){let e=[];return this._namespaceList.forEach(A=>{A.players.forEach(i=>{i.queued&&e.push(i)})}),e}createNamespace(e,A){let i=new iM(e,A,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,A)?this._balanceNamespaceList(i,A):(this.newHostElements.set(A,i),this.collectEnterElement(A)),this._namespaceLookup[e]=i}_balanceNamespaceList(e,A){let i=this._namespaceList,n=this.namespacesByHostElement;if(i.length-1>=0){let a=!1,r=this.driver.getParentElement(A);for(;r;){let s=n.get(r);if(s){let g=i.indexOf(s);i.splice(g+1,0,e),a=!0;break}r=this.driver.getParentElement(r)}a||i.unshift(e)}else i.push(e);return n.set(A,e),e}register(e,A){let i=this._namespaceLookup[e];return i||(i=this.createNamespace(e,A)),i}registerTrigger(e,A,i){let n=this._namespaceLookup[e];n&&n.register(A,i)&&this.totalAnimations++}destroy(e,A){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let i=this._fetchNamespace(e);this.namespacesByHostElement.delete(i.hostElement);let n=this._namespaceList.indexOf(i);n>=0&&this._namespaceList.splice(n,1),i.destroy(A),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let A=new Set,i=this.statesByElement.get(e);if(i){for(let n of i.values())if(n.namespaceId){let o=this._fetchNamespace(n.namespaceId);o&&A.add(o)}}return A}trigger(e,A,i,n){if(e6(A)){let o=this._fetchNamespace(e);if(o)return o.trigger(A,i,n),!0}return!1}insertNode(e,A,i,n){if(!e6(A))return;let o=A[ec];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;let a=this.collectedLeaveElements.indexOf(A);a>=0&&this.collectedLeaveElements.splice(a,1)}if(e){let a=this._fetchNamespace(e);a&&a.insertNode(A,i)}n&&this.collectEnterElement(A)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,A){A?this.disabledNodes.has(e)||(this.disabledNodes.add(e),ll(e,P9)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),zB(e,P9))}removeNode(e,A,i){if(e6(A)){let n=e?this._fetchNamespace(e):null;n?n.removeNode(A,i):this.markElementAsRemoved(e,A,!1,i);let o=this.namespacesByHostElement.get(A);o&&o.id!==e&&o.removeNode(A,i)}else this._onRemovalComplete(A,i)}markElementAsRemoved(e,A,i,n,o){this.collectedLeaveElements.push(A),A[ec]={namespaceId:e,setForRemoval:n,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(e,A,i,n,o){return e6(A)?this._fetchNamespace(e).listen(A,i,n,o):()=>{}}_buildInstruction(e,A,i,n,o){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,i,n,e.fromState.options,e.toState.options,A,o)}destroyInnerAnimations(e){let A=this.driver.query(e,zu,!0);A.forEach(i=>this.destroyActiveAnimationsForElement(i)),this.playersByQueriedElement.size!=0&&(A=this.driver.query(e,Wp,!0),A.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(e){let A=this.playersByElement.get(e);A&&A.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(e){let A=this.playersByQueriedElement.get(e);A&&A.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return cC(this.players).onDone(()=>e());e()})}processLeaveNode(e){let A=e[ec];if(A&&A.setForRemoval){if(e[ec]=QT,A.namespaceId){this.destroyInnerAnimations(e);let i=this._fetchNamespace(A.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,A.setForRemoval)}e.classList?.contains(P9)&&this.markElementAsDisabled(e,!1),this.driver.query(e,NCA,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(e=-1){let A=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,n)=>this._balanceNamespaceList(i,n)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){let i=this._whenQuietFns;this._whenQuietFns=[],A.length?cC(A).onDone(()=>{i.forEach(n=>n())}):i.forEach(n=>n())}}reportError(e){throw WY(e)}_flushAnimations(e,A){let i=new ju,n=[],o=new Map,a=[],r=new Map,s=new Map,g=new Map,l=new Set;this.disabledNodes.forEach(iA=>{l.add(iA);let BA=this.driver.query(iA,RCA,!0);for(let oA=0;oA{let oA=Y9+E++;B.set(BA,oA),iA.forEach(sA=>ll(sA,oA))});let Q=[],f=new Set,b=new Set;for(let iA=0;iAf.add(sA)):b.add(BA))}let S=new Map,M=cT(I,Array.from(f));M.forEach((iA,BA)=>{let oA=Vp+E++;S.set(BA,oA),iA.forEach(sA=>ll(sA,oA))}),e.push(()=>{d.forEach((iA,BA)=>{let oA=B.get(BA);iA.forEach(sA=>zB(sA,oA))}),M.forEach((iA,BA)=>{let oA=S.get(BA);iA.forEach(sA=>zB(sA,oA))}),Q.forEach(iA=>{this.processLeaveNode(iA)})});let D=[],F=[];for(let iA=this._namespaceList.length-1;iA>=0;iA--)this._namespaceList[iA].drainQueuedTransitions(A).forEach(oA=>{let sA=oA.player,hA=oA.element;if(D.push(sA),this.collectedEnterElements.length){let Je=hA[ec];if(Je&&Je.setForMove){if(Je.previousTriggersValues&&Je.previousTriggersValues.has(oA.triggerName)){let HA=Je.previousTriggersValues.get(oA.triggerName),uA=this.statesByElement.get(oA.element);if(uA&&uA.has(oA.triggerName)){let ZA=uA.get(oA.triggerName);ZA.value=HA,uA.set(oA.triggerName,ZA)}}sA.destroy();return}}let YA=!C||!this.driver.containsElement(C,hA),ee=S.get(hA),UA=B.get(hA),mA=this._buildInstruction(oA,i,UA,ee,YA);if(mA.errors&&mA.errors.length){F.push(mA);return}if(YA){sA.onStart(()=>R2(hA,mA.fromStyles)),sA.onDestroy(()=>Ac(hA,mA.toStyles)),n.push(sA);return}if(oA.isFallbackTransition){sA.onStart(()=>R2(hA,mA.fromStyles)),sA.onDestroy(()=>Ac(hA,mA.toStyles)),n.push(sA);return}let KA=[];mA.timelines.forEach(Je=>{Je.stretchStartingKeyframe=!0,this.disabledNodes.has(Je.element)||KA.push(Je)}),mA.timelines=KA,i.append(hA,mA.timelines);let Pe={instruction:mA,player:sA,element:hA};a.push(Pe),mA.queriedElements.forEach(Je=>ng(r,Je,[]).push(sA)),mA.preStyleProps.forEach((Je,HA)=>{if(Je.size){let uA=s.get(HA);uA||s.set(HA,uA=new Set),Je.forEach((ZA,QA)=>uA.add(QA))}}),mA.postStyleProps.forEach((Je,HA)=>{let uA=g.get(HA);uA||g.set(HA,uA=new Set),Je.forEach((ZA,QA)=>uA.add(QA))})});if(F.length){let iA=[];F.forEach(BA=>{iA.push(ZY(BA.triggerName,BA.errors))}),D.forEach(BA=>BA.destroy()),this.reportError(iA)}let _=new Map,U=new Map;a.forEach(iA=>{let BA=iA.element;i.has(BA)&&(U.set(BA,BA),this._beforeAnimationBuild(iA.player.namespaceId,iA.instruction,_))}),n.forEach(iA=>{let BA=iA.element;this._getPreviousPlayers(BA,!1,iA.namespaceId,iA.triggerName,null).forEach(sA=>{ng(_,BA,[]).push(sA),sA.destroy()})});let J=Q.filter(iA=>CT(iA,s,g)),j=new Map;lT(j,this.driver,b,g,$l).forEach(iA=>{CT(iA,s,g)&&J.push(iA)});let O=new Map;d.forEach((iA,BA)=>{lT(O,this.driver,new Set(iA),s,Tu)}),J.forEach(iA=>{let BA=j.get(iA),oA=O.get(iA);j.set(iA,new Map([...BA?.entries()??[],...oA?.entries()??[]]))});let DA=[],P=[],aA={};a.forEach(iA=>{let{element:BA,player:oA,instruction:sA}=iA;if(i.has(BA)){if(l.has(BA)){oA.onDestroy(()=>Ac(BA,sA.toStyles)),oA.disabled=!0,oA.overrideTotalTime(sA.totalTime),n.push(oA);return}let hA=aA;if(U.size>1){let ee=BA,UA=[];for(;ee=ee.parentNode;){let mA=U.get(ee);if(mA){hA=mA;break}UA.push(ee)}UA.forEach(mA=>U.set(mA,hA))}let YA=this._buildAnimation(oA.namespaceId,sA,_,o,O,j);if(oA.setRealPlayer(YA),hA===aA)DA.push(oA);else{let ee=this.playersByElement.get(hA);ee&&ee.length&&(oA.parentPlayer=cC(ee)),n.push(oA)}}else R2(BA,sA.fromStyles),oA.onDestroy(()=>Ac(BA,sA.toStyles)),P.push(oA),l.has(BA)&&n.push(oA)}),P.forEach(iA=>{let BA=o.get(iA.element);if(BA&&BA.length){let oA=cC(BA);iA.setRealPlayer(oA)}}),n.forEach(iA=>{iA.parentPlayer?iA.syncPlayerEvents(iA.parentPlayer):iA.destroy()});for(let iA=0;iA!YA.destroyed);hA.length?YCA(this,BA,hA):this.processLeaveNode(BA)}return Q.length=0,DA.forEach(iA=>{this.players.push(iA),iA.onDone(()=>{iA.destroy();let BA=this.players.indexOf(iA);this.players.splice(BA,1)}),iA.play()}),DA}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,A,i,n,o){let a=[];if(A){let r=this.playersByQueriedElement.get(e);r&&(a=r)}else{let r=this.playersByElement.get(e);if(r){let s=!o||o==Pu;r.forEach(g=>{g.queued||!s&&g.triggerName!=n||a.push(g)})}}return(i||n)&&(a=a.filter(r=>!(i&&i!=r.namespaceId||n&&n!=r.triggerName))),a}_beforeAnimationBuild(e,A,i){let n=A.triggerName,o=A.element,a=A.isRemovalTransition?void 0:e,r=A.isRemovalTransition?void 0:n;for(let s of A.timelines){let g=s.element,l=g!==o,C=ng(i,g,[]);this._getPreviousPlayers(g,l,a,r,A.toState).forEach(d=>{let B=d.getRealPlayer();B.beforeDestroy&&B.beforeDestroy(),d.destroy(),C.push(d)})}R2(o,A.fromStyles)}_buildAnimation(e,A,i,n,o,a){let r=A.triggerName,s=A.element,g=[],l=new Set,C=new Set,I=A.timelines.map(B=>{let E=B.element;l.add(E);let Q=E[ec];if(Q&&Q.removedBeforeQueried)return new lC(B.duration,B.delay);let f=E!==s,b=TCA((i.get(E)||LCA).map(_=>_.getRealPlayer())).filter(_=>{let U=_;return U.element?U.element===E:!1}),S=o.get(E),M=a.get(E),D=L9(this._normalizer,B.keyframes,S,M),F=this._buildPlayer(B,D,b);if(B.subTimeline&&n&&C.add(E),f){let _=new Vu(e,r,E);_.setRealPlayer(F),g.push(_)}return F});g.forEach(B=>{ng(this.playersByQueriedElement,B.element,[]).push(B),B.onDone(()=>KCA(this.playersByQueriedElement,B.element,B))}),l.forEach(B=>ll(B,T9));let d=cC(I);return d.onDestroy(()=>{l.forEach(B=>zB(B,T9)),Ac(s,A.toStyles)}),C.forEach(B=>{ng(n,B,[]).push(d)}),d}_buildPlayer(e,A,i){return A.length>0?this.driver.animate(e.element,A,e.duration,e.delay,e.easing,i):new lC(e.duration,e.delay)}},Vu=class{namespaceId;triggerName;element;_player=new lC;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(e,A,i){this.namespaceId=e,this.triggerName=A,this.element=i}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((A,i)=>{A.forEach(n=>Pp(e,i,void 0,n))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let A=this._player;A.triggerCallback&&e.onStart(()=>A.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,A){ng(this._queuedCallbacks,e,[]).push(A)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let A=this._player;A.triggerCallback&&A.triggerCallback(e)}};function KCA(t,e,A){let i=t.get(e);if(i){if(i.length){let n=i.indexOf(A);i.splice(n,1)}i.length==0&&t.delete(e)}return i}function UCA(t){return t??null}function e6(t){return t&&t.nodeType===1}function JCA(t){return t=="start"||t=="done"}function gT(t,e){let A=t.style.display;return t.style.display=e??"none",A}function lT(t,e,A,i,n){let o=[];A.forEach(s=>o.push(gT(s)));let a=[];i.forEach((s,g)=>{let l=new Map;s.forEach(C=>{let I=e.computeStyle(g,C,n);l.set(C,I),(!I||I.length==0)&&(g[ec]=GCA,a.push(g))}),t.set(g,l)});let r=0;return A.forEach(s=>gT(s,o[r++])),a}function cT(t,e){let A=new Map;if(t.forEach(r=>A.set(r,[])),e.length==0)return A;let i=1,n=new Set(e),o=new Map;function a(r){if(!r)return i;let s=o.get(r);if(s)return s;let g=r.parentNode;return A.has(g)?s=g:n.has(g)?s=i:s=a(g),o.set(r,s),s}return e.forEach(r=>{let s=a(r);s!==i&&A.get(s).push(r)}),A}function ll(t,e){t.classList?.add(e)}function zB(t,e){t.classList?.remove(e)}function YCA(t,e,A){cC(A).onDone(()=>t.processLeaveNode(e))}function TCA(t){let e=[];return hT(t,e),e}function hT(t,e){for(let A=0;An.add(o)):e.set(t,i),A.delete(t),!0}var OB=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(e,A)=>{};constructor(e,A,i){this._driver=A,this._normalizer=i,this._transitionEngine=new nM(e.body,A,i),this._timelineEngine=new tM(e.body,A,i),this._transitionEngine.onRemovalComplete=(n,o)=>this.onRemovalComplete(n,o)}registerTrigger(e,A,i,n,o){let a=e+"-"+n,r=this._triggerCache[a];if(!r){let s=[],g=[],l=dT(this._driver,o,s,g);if(s.length)throw YY(n,s);r=kCA(n,l,this._normalizer),this._triggerCache[a]=r}this._transitionEngine.registerTrigger(A,n,r)}register(e,A){this._transitionEngine.register(e,A)}destroy(e,A){this._transitionEngine.destroy(e,A)}onInsert(e,A,i,n){this._transitionEngine.insertNode(e,A,i,n)}onRemove(e,A,i){this._transitionEngine.removeNode(e,A,i)}disableAnimations(e,A){this._transitionEngine.markElementAsDisabled(e,A)}process(e,A,i,n){if(i.charAt(0)=="@"){let[o,a]=G9(i),r=n;this._timelineEngine.command(o,A,a,r)}else this._transitionEngine.trigger(e,A,i,n)}listen(e,A,i,n,o){if(i.charAt(0)=="@"){let[a,r]=G9(i);return this._timelineEngine.listen(a,A,r,o)}return this._transitionEngine.listen(e,A,i,n,o)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function zCA(t,e){let A=null,i=null;return Array.isArray(e)&&e.length?(A=q9(e[0]),e.length>1&&(i=q9(e[e.length-1]))):e instanceof Map&&(A=q9(e)),A||i?new OCA(t,A,i):null}var OCA=(()=>{class t{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(A,i,n){this._element=A,this._startStyles=i,this._endStyles=n;let o=t.initialStylesByElement.get(A);o||t.initialStylesByElement.set(A,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&Ac(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Ac(this._element,this._initialStyles),this._endStyles&&(Ac(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(R2(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(R2(this._element,this._endStyles),this._endStyles=null),Ac(this._element,this._initialStyles),this._state=3)}}return t})();function q9(t){let e=null;return t.forEach((A,i)=>{PCA(i)&&(e=e||new Map,e.set(i,A))}),e}function PCA(t){return t==="display"||t==="position"}var s6=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer=null;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(e,A,i,n){this.element=e,this.keyframes=A,this.options=i,this._specialStyles=n,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer()&&this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return this.domPlayer;this._initialized=!0;let e=this.keyframes,A=this._triggerWebAnimation(this.element,e,this.options);if(!A)return this._onFinish(),null;this.domPlayer=A,this._finalKeyframe=e.length?e[e.length-1]:new Map;let i=()=>this._onFinish();return A.addEventListener("finish",i),this.onDestroy(()=>{A.removeEventListener("finish",i)}),A}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer?.pause()}_convertKeyframesToObject(e){let A=[];return e.forEach(i=>{A.push(Object.fromEntries(i))}),A}_triggerWebAnimation(e,A,i){let n=this._convertKeyframesToObject(A);try{return e.animate(n,i)}catch{return null}}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){let e=this._buildPlayer();e&&(this.hasStarted()||(this._onStartFns.forEach(A=>A()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),e.play())}pause(){this.init(),this.domPlayer?.pause()}finish(){this.init(),this.domPlayer&&(this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish())}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer?.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer||this.init(),this.domPlayer&&(this.domPlayer.currentTime=e*this.time)}getPosition(){return this.domPlayer?+(this.domPlayer.currentTime??0)/this.time:this._initialized?1:0}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,n)=>{n!=="offset"&&e.set(n,this._finished?i:Xp(this.element,n))}),this.currentSnapshot=e}triggerCallback(e){let A=e==="start"?this._onStartFns:this._onDoneFns;A.forEach(i=>i()),A.length=0}},g6=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,A){return K9(e,A)}getParentElement(e){return qp(e)}query(e,A,i){return U9(e,A,i)}computeStyle(e,A,i){return Xp(e,A)}animate(e,A,i,n,o,a=[]){let r=n==0?"both":"forwards",s={duration:i,delay:n,fill:r};o&&(s.easing=o);let g=new Map,l=a.filter(d=>d instanceof s6);eT(i,n)&&l.forEach(d=>{d.currentSnapshot.forEach((B,E)=>g.set(E,B))});let C=$Y(A).map(d=>new Map(d));C=tT(e,C,g);let I=zCA(e,C);return new s6(e,C,s,I)}};var t6="@",uT="@.disabled",l6=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(e,A,i,n){this.namespaceId=e,this.delegate=A,this.engine=i,this._onDestroy=n}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,A){return this.delegate.createElement(e,A)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,A){this.delegate.appendChild(e,A),this.engine.onInsert(this.namespaceId,A,e,!1)}insertBefore(e,A,i,n=!0){this.delegate.insertBefore(e,A,i),this.engine.onInsert(this.namespaceId,A,e,n)}removeChild(e,A,i,n){if(n){this.delegate.removeChild(e,A,i,n);return}this.parentNode(A)&&this.engine.onRemove(this.namespaceId,A,this.delegate)}selectRootElement(e,A){return this.delegate.selectRootElement(e,A)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,A,i,n){this.delegate.setAttribute(e,A,i,n)}removeAttribute(e,A,i){this.delegate.removeAttribute(e,A,i)}addClass(e,A){this.delegate.addClass(e,A)}removeClass(e,A){this.delegate.removeClass(e,A)}setStyle(e,A,i,n){this.delegate.setStyle(e,A,i,n)}removeStyle(e,A,i){this.delegate.removeStyle(e,A,i)}setProperty(e,A,i){A.charAt(0)==t6&&A==uT?this.disableAnimations(e,!!i):this.delegate.setProperty(e,A,i)}setValue(e,A){this.delegate.setValue(e,A)}listen(e,A,i,n){return this.delegate.listen(e,A,i,n)}disableAnimations(e,A){this.engine.disableAnimations(e,A)}},oM=class extends l6{factory;constructor(e,A,i,n,o){super(A,i,n,o),this.factory=e,this.namespaceId=A}setProperty(e,A,i){A.charAt(0)==t6?A.charAt(1)=="."&&A==uT?(i=i===void 0?!0:!!i,this.disableAnimations(e,i)):this.engine.process(this.namespaceId,e,A.slice(1),i):this.delegate.setProperty(e,A,i)}listen(e,A,i,n){if(A.charAt(0)==t6){let o=jCA(e),a=A.slice(1),r="";return a.charAt(0)!=t6&&([a,r]=qCA(a)),this.engine.listen(this.namespaceId,o,a,r,s=>{let g=s._data||-1;this.factory.scheduleListenerCallback(g,i,s)})}return this.delegate.listen(e,A,i,n)}};function jCA(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}function qCA(t){let e=t.indexOf("."),A=t.substring(0,e),i=t.slice(e+1);return[A,i]}var c6=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(e,A,i){this.delegate=e,this.engine=A,this._zone=i,A.onRemovalComplete=(n,o)=>{o?.removeChild(null,n)}}createRenderer(e,A){let n=this.delegate.createRenderer(e,A);if(!e||!A?.data?.animation){let g=this._rendererCache,l=g.get(n);if(!l){let C=()=>g.delete(n);l=new l6("",n,this.engine,C),g.set(n,l)}return l}let o=A.id,a=A.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);let r=g=>{Array.isArray(g)?g.forEach(r):this.engine.registerTrigger(o,a,e,g.name,g)};return A.data.animation.forEach(r),new oM(this,a,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,A,i){if(e>=0&&eA(i));return}let n=this._animationCallbacksBuffer;n.length==0&&queueMicrotask(()=>{this._zone.run(()=>{n.forEach(o=>{let[a,r]=o;a(r)}),this._animationCallbacksBuffer=[]})}),n.push([A,i])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}componentReplaced(e){this.engine.flush(),this.delegate.componentReplaced?.(e)}};var WCA=(()=>{class t extends OB{constructor(A,i,n){super(A,i,n)}ngOnDestroy(){this.flush()}static \u0275fac=function(i){return new(i||t)(xo(Xt),xo(_1),xo(L1))};static \u0275prov=zA({token:t,factory:t.\u0275fac})}return t})();function ZCA(){return new i6}function XCA(){return new c6(h(GU),h(OB),h(Oe))}var fT=[{provide:L1,useFactory:ZCA},{provide:OB,useClass:WCA},{provide:Kr,useFactory:XCA}],CAe=[{provide:_1,useClass:aM},{provide:p1,useValue:"NoopAnimations"},...fT],$CA=[{provide:_1,useFactory:()=>new g6},{provide:p1,useFactory:()=>"BrowserAnimations"},...fT];function mT(){return op("NgEagerAnimations"),[...$CA]}function Tr(t){t||(t=h(qa));let e=new $i(A=>{if(t.destroyed){A.next();return}return t.onDestroy(A.next.bind(A))});return A=>A.pipe(Bt(e))}var sM=class{source;destroyed=!1;destroyRef=h(qa);constructor(e){this.source=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}subscribe(e){if(this.destroyed)throw new kt(953,!1);let A=this.source.pipe(Tr(this.destroyRef)).subscribe({next:i=>e(i)});return{unsubscribe:()=>A.unsubscribe()}}};function Dn(t,e){return new sM(t)}function $n(t,e){let A=e?.injector??h(ft),i=new ql(1),n=Ga(()=>{let o;try{o=t()}catch(a){la(()=>i.error(a));return}la(()=>i.next(o))},{injector:A,manualCleanup:!0});return A.get(qa).onDestroy(()=>{n.destroy(),i.complete()}),i.asObservable()}function Fs(t,e){let i=!e?.manualCleanup?e?.injector?.get(qa)??h(qa):null,n=A2A(e?.equal),o;e?.requireSync?o=jA({kind:0},{equal:n}):o=jA({kind:1,value:e?.initialValue},{equal:n});let a,r=t.subscribe({next:s=>o.set({kind:1,value:s}),error:s=>{o.set({kind:2,error:s}),a?.()},complete:()=>{a?.()}});if(e?.requireSync&&o().kind===0)throw new kt(601,!1);return a=i?.onDestroy(r.unsubscribe.bind(r)),Ue(()=>{let s=o();switch(s.kind){case 1:return s.value;case 2:throw s.error;case 0:throw new kt(601,!1)}},{equal:e?.equal})}function A2A(t=Object.is){return(e,A)=>e.kind===1&&A.kind===1&&t(e.value,A.value)}function C6(t){return MU(Ge(cA({},t),{loader:void 0,stream:e=>{let A,i=()=>A?.unsubscribe();e.abortSignal.addEventListener("abort",i);let n=jA({value:void 0}),o,a=new Promise(g=>o=g);function r(g){n.set(g),o?.(n),o=void 0}let s=t.stream??t.loader;if(s===void 0)throw new kt(990,!1);return A=s(e).subscribe({next:g=>r({value:g}),error:g=>{r({error:kU(g)}),e.abortSignal.removeEventListener("abort",i)},complete:()=>{o&&r({error:new kt(991,!1)}),e.abortSignal.removeEventListener("abort",i)}}),a}}))}function CM(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var K1=CM();function MT(t){K1=t}var $u={exec:()=>null};function Ao(t,e=""){let A=typeof t=="string"?t:t.source,i={replace:(n,o)=>{let a=typeof o=="string"?o:o.source;return a=a.replace(_s.caret,"$1"),A=A.replace(n,a),i},getRegex:()=>new RegExp(A,e)};return i}var e2A=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},t2A=/^(?:[ \t]*(?:\n|$))+/,i2A=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n2A=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,A4=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,o2A=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,IM=/(?:[*+-]|\d{1,9}[.)])/,kT=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ST=Ao(kT).replace(/bull/g,IM).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),a2A=Ao(kT).replace(/bull/g,IM).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),dM=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,r2A=/^[^\n]+/,BM=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,s2A=Ao(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",BM).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),g2A=Ao(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,IM).getRegex(),E6="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",EM=/|$))/,l2A=Ao("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",EM).replace("tag",E6).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),xT=Ao(dM).replace("hr",A4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",E6).getRegex(),c2A=Ao(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",xT).getRegex(),QM={blockquote:c2A,code:i2A,def:s2A,fences:n2A,heading:o2A,hr:A4,html:l2A,lheading:ST,list:g2A,newline:t2A,paragraph:xT,table:$u,text:r2A},pT=Ao("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",A4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",E6).getRegex(),C2A=Ge(cA({},QM),{lheading:a2A,table:pT,paragraph:Ao(dM).replace("hr",A4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",pT).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",E6).getRegex()}),I2A=Ge(cA({},QM),{html:Ao(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",EM).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:$u,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ao(dM).replace("hr",A4).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",ST).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),d2A=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,B2A=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,RT=/^( {2,}|\\)\n(?!\s*$)/,E2A=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",e2A?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),_T=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,m2A=Ao(_T,"u").replace(/punct/g,Q6).getRegex(),p2A=Ao(_T,"u").replace(/punct/g,FT).getRegex(),LT="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",w2A=Ao(LT,"gu").replace(/notPunctSpace/g,NT).replace(/punctSpace/g,hM).replace(/punct/g,Q6).getRegex(),D2A=Ao(LT,"gu").replace(/notPunctSpace/g,u2A).replace(/punctSpace/g,h2A).replace(/punct/g,FT).getRegex(),y2A=Ao("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,NT).replace(/punctSpace/g,hM).replace(/punct/g,Q6).getRegex(),v2A=Ao(/\\(punct)/,"gu").replace(/punct/g,Q6).getRegex(),b2A=Ao(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),M2A=Ao(EM).replace("(?:-->|$)","-->").getRegex(),k2A=Ao("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",M2A).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),d6=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,S2A=Ao(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",d6).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),GT=Ao(/^!?\[(label)\]\[(ref)\]/).replace("label",d6).replace("ref",BM).getRegex(),KT=Ao(/^!?\[(ref)\](?:\[\])?/).replace("ref",BM).getRegex(),x2A=Ao("reflink|nolink(?!\\()","g").replace("reflink",GT).replace("nolink",KT).getRegex(),wT=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,uM={_backpedal:$u,anyPunctuation:v2A,autolink:b2A,blockSkip:f2A,br:RT,code:B2A,del:$u,emStrongLDelim:m2A,emStrongRDelimAst:w2A,emStrongRDelimUnd:y2A,escape:d2A,link:S2A,nolink:KT,punctuation:Q2A,reflink:GT,reflinkSearch:x2A,tag:k2A,text:E2A,url:$u},R2A=Ge(cA({},uM),{link:Ao(/^!?\[(label)\]\((.*?)\)/).replace("label",d6).getRegex(),reflink:Ao(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",d6).getRegex()}),gM=Ge(cA({},uM),{emStrongRDelimAst:D2A,emStrongLDelim:p2A,url:Ao(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",wT).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Ao(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},DT=t=>F2A[t];function CC(t,e){if(e){if(_s.escapeTest.test(t))return t.replace(_s.escapeReplace,DT)}else if(_s.escapeTestNoEncode.test(t))return t.replace(_s.escapeReplaceNoEncode,DT);return t}function yT(t){try{t=encodeURI(t).replace(_s.percentDecode,"%")}catch{return null}return t}function vT(t,e){let A=t.replace(_s.findPipe,(o,a,r)=>{let s=!1,g=a;for(;--g>=0&&r[g]==="\\";)s=!s;return s?"|":" |"}),i=A.split(_s.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length0?-2:-1}function bT(t,e,A,i,n){let o=e.href,a=e.title||null,r=t[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let s={type:t[0].charAt(0)==="!"?"image":"link",raw:A,href:o,title:a,text:r,tokens:i.inlineTokens(r)};return i.state.inLink=!1,s}function L2A(t,e,A){let i=t.match(A.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(` -`).map(o=>{let a=o.match(A.other.beginningSpace);if(a===null)return o;let[r]=a;return r.length>=n.length?o.slice(n.length):o}).join(` -`)}var B6=class{options;rules;lexer;constructor(t){this.options=t||K1}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let A=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?A:Zu(A,` -`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let A=e[0],i=L2A(A,e[3]||"",this.rules);return{type:"code",raw:A,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let A=e[2].trim();if(this.rules.other.endingHash.test(A)){let i=Zu(A,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(A=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:A,tokens:this.lexer.inline(A)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:Zu(e[0],` -`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let A=Zu(e[0],` -`).split(` -`),i="",n="",o=[];for(;A.length>0;){let a=!1,r=[],s;for(s=0;s1,n={type:"list",raw:"",ordered:i,start:i?+A.slice(0,-1):"",loose:!1,items:[]};A=i?`\\d{1,9}\\${A.slice(-1)}`:`\\${A}`,this.options.pedantic&&(A=i?A:"[*+-]");let o=this.rules.other.listItemRegex(A),a=!1;for(;t;){let s=!1,g="",l="";if(!(e=o.exec(t))||this.rules.block.hr.test(t))break;g=e[0],t=t.substring(g.length);let C=e[2].split(` -`,1)[0].replace(this.rules.other.listReplaceTabs,E=>" ".repeat(3*E.length)),I=t.split(` -`,1)[0],d=!C.trim(),B=0;if(this.options.pedantic?(B=2,l=C.trimStart()):d?B=e[1].length+1:(B=e[2].search(this.rules.other.nonSpaceChar),B=B>4?1:B,l=C.slice(B),B+=e[1].length),d&&this.rules.other.blankLine.test(I)&&(g+=I+` -`,t=t.substring(I.length+1),s=!0),!s){let E=this.rules.other.nextBulletRegex(B),Q=this.rules.other.hrRegex(B),f=this.rules.other.fencesBeginRegex(B),b=this.rules.other.headingBeginRegex(B),S=this.rules.other.htmlBeginRegex(B);for(;t;){let M=t.split(` -`,1)[0],D;if(I=M,this.options.pedantic?(I=I.replace(this.rules.other.listReplaceNesting," "),D=I):D=I.replace(this.rules.other.tabCharGlobal," "),f.test(I)||b.test(I)||S.test(I)||E.test(I)||Q.test(I))break;if(D.search(this.rules.other.nonSpaceChar)>=B||!I.trim())l+=` -`+D.slice(B);else{if(d||C.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||f.test(C)||b.test(C)||Q.test(C))break;l+=` -`+I}!d&&!I.trim()&&(d=!0),g+=M+` -`,t=t.substring(M.length+1),C=D.slice(B)}}n.loose||(a?n.loose=!0:this.rules.other.doubleBlankLine.test(g)&&(a=!0)),n.items.push({type:"list_item",raw:g,task:!!this.options.gfm&&this.rules.other.listIsTask.test(l),loose:!1,text:l,tokens:[]}),n.raw+=g}let r=n.items.at(-1);if(r)r.raw=r.raw.trimEnd(),r.text=r.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let s of n.items){if(this.lexer.state.top=!1,s.tokens=this.lexer.blockTokens(s.text,[]),s.task){if(s.text=s.text.replace(this.rules.other.listReplaceTask,""),s.tokens[0]?.type==="text"||s.tokens[0]?.type==="paragraph"){s.tokens[0].raw=s.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),s.tokens[0].text=s.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let l=this.lexer.inlineQueue.length-1;l>=0;l--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[l].src)){this.lexer.inlineQueue[l].src=this.lexer.inlineQueue[l].src.replace(this.rules.other.listReplaceTask,"");break}}let g=this.rules.other.listTaskCheckbox.exec(s.raw);if(g){let l={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};s.checked=l.checked,n.loose?s.tokens[0]&&["paragraph","text"].includes(s.tokens[0].type)&&"tokens"in s.tokens[0]&&s.tokens[0].tokens?(s.tokens[0].raw=l.raw+s.tokens[0].raw,s.tokens[0].text=l.raw+s.tokens[0].text,s.tokens[0].tokens.unshift(l)):s.tokens.unshift({type:"paragraph",raw:l.raw,text:l.raw,tokens:[l]}):s.tokens.unshift(l)}}if(!n.loose){let g=s.tokens.filter(C=>C.type==="space"),l=g.length>0&&g.some(C=>this.rules.other.anyLine.test(C.raw));n.loose=l}}if(n.loose)for(let s of n.items){s.loose=!0;for(let g of s.tokens)g.type==="text"&&(g.type="paragraph")}return n}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let A=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:A,raw:e[0],href:i,title:n}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let A=vT(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(` -`):[],o={type:"table",raw:e[0],header:[],align:[],rows:[]};if(A.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?o.align.push("right"):this.rules.other.tableAlignCenter.test(a)?o.align.push("center"):this.rules.other.tableAlignLeft.test(a)?o.align.push("left"):o.align.push(null);for(let a=0;a({text:r,tokens:this.lexer.inline(r),header:!1,align:o.align[s]})));return o}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let A=e[1].charAt(e[1].length-1)===` -`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:A,tokens:this.lexer.inline(A)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let A=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(A)){if(!this.rules.other.endAngleBracket.test(A))return;let o=Zu(A.slice(0,-1),"\\");if((A.length-o.length)%2===0)return}else{let o=_2A(e[2],"()");if(o===-2)return;if(o>-1){let a=(e[0].indexOf("!")===0?5:4)+e[1].length+o;e[2]=e[2].substring(0,o),e[0]=e[0].substring(0,a).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let o=this.rules.other.pedanticHrefTitle.exec(i);o&&(i=o[1],n=o[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(A)?i=i.slice(1):i=i.slice(1,-1)),bT(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let A;if((A=this.rules.inline.reflink.exec(t))||(A=this.rules.inline.nolink.exec(t))){let i=(A[2]||A[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let o=A[0].charAt(0);return{type:"text",raw:o,text:o}}return bT(A,n,A[0],this.lexer,this.rules)}}emStrong(t,e,A=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!(!i||i[3]&&A.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!A||this.rules.inline.punctuation.exec(A))){let n=[...i[0]].length-1,o,a,r=n,s=0,g=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,e=e.slice(-1*t.length+n);(i=g.exec(e))!=null;){if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!o)continue;if(a=[...o].length,i[3]||i[4]){r+=a;continue}else if((i[5]||i[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(r-=a,r>0)continue;a=Math.min(a,a+r+s);let l=[...i[0]][0].length,C=t.slice(0,n+i.index+l+a);if(Math.min(n,a)%2){let d=C.slice(1,-1);return{type:"em",raw:C,text:d,tokens:this.lexer.inlineTokens(d)}}let I=C.slice(2,-2);return{type:"strong",raw:C,text:I,tokens:this.lexer.inlineTokens(I)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let A=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(A),n=this.rules.other.startingSpaceChar.test(A)&&this.rules.other.endingSpaceChar.test(A);return i&&n&&(A=A.substring(1,A.length-1)),{type:"codespan",raw:e[0],text:A}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let A,i;return e[2]==="@"?(A=e[1],i="mailto:"+A):(A=e[1],i=A),{type:"link",raw:e[0],text:A,href:i,tokens:[{type:"text",raw:A,text:A}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let A,i;if(e[2]==="@")A=e[0],i="mailto:"+A;else{let n;do n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(n!==e[0]);A=e[0],e[1]==="www."?i="http://"+e[0]:i=e[0]}return{type:"link",raw:e[0],text:A,href:i,tokens:[{type:"text",raw:A,text:A}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let A=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:A}}}},tc=class lM{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||K1,this.options.tokenizer=this.options.tokenizer||new B6,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let A={other:_s,block:I6.normal,inline:Wu.normal};this.options.pedantic?(A.block=I6.pedantic,A.inline=Wu.pedantic):this.options.gfm&&(A.block=I6.gfm,this.options.breaks?A.inline=Wu.breaks:A.inline=Wu.gfm),this.tokenizer.rules=A}static get rules(){return{block:I6,inline:Wu}}static lex(e,A){return new lM(A).lex(e)}static lexInline(e,A){return new lM(A).inlineTokens(e)}lex(e){e=e.replace(_s.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let A=0;A(n=a.call({lexer:this},e,A))?(e=e.substring(n.raw.length),A.push(n),!0):!1))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let a=A.at(-1);n.raw.length===1&&a!==void 0?a.raw+=` -`:A.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let a=A.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(` -`)?"":` -`)+n.raw,a.text+=` -`+n.text,this.inlineQueue.at(-1).src=a.text):A.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let a=A.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(` -`)?"":` -`)+n.raw,a.text+=` -`+n.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},A.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),A.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),A.push(n);continue}let o=e;if(this.options.extensions?.startBlock){let a=1/0,r=e.slice(1),s;this.options.extensions.startBlock.forEach(g=>{s=g.call({lexer:this},r),typeof s=="number"&&s>=0&&(a=Math.min(a,s))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(o))){let a=A.at(-1);i&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(` -`)?"":` -`)+n.raw,a.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):A.push(n),i=o.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let a=A.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(` -`)?"":` -`)+n.raw,a.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):A.push(n);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,A}inline(e,A=[]){return this.inlineQueue.push({src:e,tokens:A}),A}inlineTokens(e,A=[]){let i=e,n=null;if(this.tokens.links){let s=Object.keys(this.tokens.links);if(s.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)s.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let o;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)o=n[2]?n[2].length:0,i=i.slice(0,n.index+o)+"["+"a".repeat(n[0].length-o-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let a=!1,r="";for(;e;){a||(r=""),a=!1;let s;if(this.options.extensions?.inline?.some(l=>(s=l.call({lexer:this},e,A))?(e=e.substring(s.raw.length),A.push(s),!0):!1))continue;if(s=this.tokenizer.escape(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.tag(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.link(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(s.raw.length);let l=A.at(-1);s.type==="text"&&l?.type==="text"?(l.raw+=s.raw,l.text+=s.text):A.push(s);continue}if(s=this.tokenizer.emStrong(e,i,r)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.codespan(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.br(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.del(e)){e=e.substring(s.raw.length),A.push(s);continue}if(s=this.tokenizer.autolink(e)){e=e.substring(s.raw.length),A.push(s);continue}if(!this.state.inLink&&(s=this.tokenizer.url(e))){e=e.substring(s.raw.length),A.push(s);continue}let g=e;if(this.options.extensions?.startInline){let l=1/0,C=e.slice(1),I;this.options.extensions.startInline.forEach(d=>{I=d.call({lexer:this},C),typeof I=="number"&&I>=0&&(l=Math.min(l,I))}),l<1/0&&l>=0&&(g=e.substring(0,l+1))}if(s=this.tokenizer.inlineText(g)){e=e.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(r=s.raw.slice(-1)),a=!0;let l=A.at(-1);l?.type==="text"?(l.raw+=s.raw,l.text+=s.text):A.push(s);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return A}},N2=class{options;parser;constructor(t){this.options=t||K1}space(t){return""}code({text:t,lang:e,escaped:A}){let i=(e||"").match(_s.notSpaceStart)?.[0],n=t.replace(_s.endingNewline,"")+` -`;return i?'
      '+(A?n:CC(n,!0))+`
      -`:"
      "+(A?n:CC(n,!0))+`
      -`}blockquote({tokens:t}){return`
      -${this.parser.parse(t)}
      -`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} -`}hr(t){return`
      -`}list(t){let e=t.ordered,A=t.start,i="";for(let a=0;a -`+i+" -`}listitem(t){return`
    • ${this.parser.parse(t.tokens)}
    • -`}checkbox({checked:t}){return" '}paragraph({tokens:t}){return`

      ${this.parser.parseInline(t)}

      -`}table(t){let e="",A="";for(let n=0;n${i}`),` - -`+e+` -`+i+`
      -`}tablerow({text:t}){return` -${t} -`}tablecell(t){let e=this.parser.parseInline(t.tokens),A=t.header?"th":"td";return(t.align?`<${A} align="${t.align}">`:`<${A}>`)+e+` -`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${CC(t,!0)}`}br(t){return"
      "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:A}){let i=this.parser.parseInline(A),n=yT(t);if(n===null)return i;t=n;let o='
      ",o}image({href:t,title:e,text:A,tokens:i}){i&&(A=this.parser.parseInline(i,this.parser.textRenderer));let n=yT(t);if(n===null)return CC(A);t=n;let o=`${A}{let a=n[o].flat(1/0);A=A.concat(this.walkTokens(a,e))}):n.tokens&&(A=A.concat(this.walkTokens(n.tokens,e)))}}return A}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(A=>{let i=cA({},A);if(i.async=this.defaults.async||i.async||!1,A.extensions&&(A.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let o=e.renderers[n.name];o?e.renderers[n.name]=function(...a){let r=n.renderer.apply(this,a);return r===!1&&(r=o.apply(this,a)),r}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=e[n.level];o?o.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),A.renderer){let n=this.defaults.renderer||new N2(this.defaults);for(let o in A.renderer){if(!(o in n))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let a=o,r=A.renderer[a],s=n[a];n[a]=(...g)=>{let l=r.apply(n,g);return l===!1&&(l=s.apply(n,g)),l||""}}i.renderer=n}if(A.tokenizer){let n=this.defaults.tokenizer||new B6(this.defaults);for(let o in A.tokenizer){if(!(o in n))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let a=o,r=A.tokenizer[a],s=n[a];n[a]=(...g)=>{let l=r.apply(n,g);return l===!1&&(l=s.apply(n,g)),l}}i.tokenizer=n}if(A.hooks){let n=this.defaults.hooks||new Xu;for(let o in A.hooks){if(!(o in n))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let a=o,r=A.hooks[a],s=n[a];Xu.passThroughHooks.has(o)?n[a]=g=>{if(this.defaults.async&&Xu.passThroughHooksRespectAsync.has(o))return nt(this,null,function*(){let C=yield r.call(n,g);return s.call(n,C)});let l=r.call(n,g);return s.call(n,l)}:n[a]=(...g)=>{if(this.defaults.async)return nt(this,null,function*(){let C=yield r.apply(n,g);return C===!1&&(C=yield s.apply(n,g)),C});let l=r.apply(n,g);return l===!1&&(l=s.apply(n,g)),l}}i.hooks=n}if(A.walkTokens){let n=this.defaults.walkTokens,o=A.walkTokens;i.walkTokens=function(a){let r=[];return r.push(o.call(this,a)),n&&(r=r.concat(n.call(this,a))),r}}this.defaults=cA(cA({},this.defaults),i)}),this}setOptions(t){return this.defaults=cA(cA({},this.defaults),t),this}lexer(t,e){return tc.lex(t,e??this.defaults)}parser(t,e){return ic.parse(t,e??this.defaults)}parseMarkdown(t){return(e,A)=>{let i=cA({},A),n=cA(cA({},this.defaults),i),o=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=t),n.async)return nt(this,null,function*(){let a=n.hooks?yield n.hooks.preprocess(e):e,r=yield(n.hooks?yield n.hooks.provideLexer():t?tc.lex:tc.lexInline)(a,n),s=n.hooks?yield n.hooks.processAllTokens(r):r;n.walkTokens&&(yield Promise.all(this.walkTokens(s,n.walkTokens)));let g=yield(n.hooks?yield n.hooks.provideParser():t?ic.parse:ic.parseInline)(s,n);return n.hooks?yield n.hooks.postprocess(g):g}).catch(o);try{n.hooks&&(e=n.hooks.preprocess(e));let a=(n.hooks?n.hooks.provideLexer():t?tc.lex:tc.lexInline)(e,n);n.hooks&&(a=n.hooks.processAllTokens(a)),n.walkTokens&&this.walkTokens(a,n.walkTokens);let r=(n.hooks?n.hooks.provideParser():t?ic.parse:ic.parseInline)(a,n);return n.hooks&&(r=n.hooks.postprocess(r)),r}catch(a){return o(a)}}}onError(t,e){return A=>{if(A.message+=` -Please report this to https://github.com/markedjs/marked.`,t){let i="

      An error occurred:

      "+CC(A.message+"",!0)+"
      ";return e?Promise.resolve(i):i}if(e)return Promise.reject(A);throw A}}},G1=new G2A;function Hn(t,e){return G1.parse(t,e)}Hn.options=Hn.setOptions=function(t){return G1.setOptions(t),Hn.defaults=G1.defaults,MT(Hn.defaults),Hn};Hn.getDefaults=CM;Hn.defaults=K1;Hn.use=function(...t){return G1.use(...t),Hn.defaults=G1.defaults,MT(Hn.defaults),Hn};Hn.walkTokens=function(t,e){return G1.walkTokens(t,e)};Hn.parseInline=G1.parseInline;Hn.Parser=ic;Hn.parser=ic.parse;Hn.Renderer=N2;Hn.TextRenderer=fM;Hn.Lexer=tc;Hn.lexer=tc.lex;Hn.Tokenizer=B6;Hn.Hooks=Xu;Hn.parse=Hn;var DAe=Hn.options,yAe=Hn.setOptions,vAe=Hn.use,bAe=Hn.walkTokens,MAe=Hn.parseInline;var kAe=ic.parse,SAe=tc.lex;var K2A=["*"],U2A="Copy",J2A="Copied",Y2A=(()=>{class t{constructor(){this._buttonClick$=new XA,this.copied=Fs(this._buttonClick$.pipe(Si(()=>fi(se(!0),Ap(3e3).pipe(cu(!1)))),Vl(),Ps(1))),this.copiedText=Ue(()=>this.copied()?J2A:U2A)}onCopyToClipboardClick(){this._buttonClick$.next()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["markdown-clipboard"]],decls:2,vars:3,consts:[[1,"markdown-clipboard-button",3,"click"]],template:function(i,n){i&1&&(li(0,"button",0),p2("click",function(){return n.onCopyToClipboardClick()}),K(1),Ei()),i&2&&(ne("copied",n.copied()),p(),qA(n.copiedText()))},encapsulation:2,changeDetection:0})}}return t})(),T2A=new yA("CLIPBOARD_OPTIONS");var H2A=new yA("MARKED_EXTENSIONS"),z2A=new yA("MARKED_OPTIONS"),O2A=new yA("MERMAID_OPTIONS"),P2A=new yA("SANITIZE");function j2A(t){return typeof t=="function"}var q2A="[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information",V2A="[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information",W2A="[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information",Z2A="[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information",X2A="[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function",$2A="[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information";var UT=(()=>{class t{get options(){return this._options}set options(A){this._options=cA(cA({},this.DEFAULT_MARKED_OPTIONS),A)}get renderer(){return this.options.renderer}set renderer(A){this.options.renderer=A}constructor(){this.clipboardOptions=h(T2A,{optional:!0}),this.extensions=h(H2A,{optional:!0}),this.http=h(Xs,{optional:!0}),this.mermaidOptions=h(O2A,{optional:!0}),this.platform=h(np),this.sanitize=h(P2A,{optional:!0}),this.sanitizer=h($s),this.DEFAULT_MARKED_OPTIONS={renderer:new N2},this.DEFAULT_KATEX_OPTIONS={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}]},this.DEFAULT_MERMAID_OPTIONS={startOnLoad:!1},this.DEFAULT_CLIPBOARD_OPTIONS={buttonComponent:void 0},this.DEFAULT_PARSE_OPTIONS={decodeHtml:!1,inline:!1,emoji:!1,mermaid:!1,markedOptions:void 0,disableSanitizer:!1},this.DEFAULT_RENDER_OPTIONS={clipboard:!1,clipboardOptions:void 0,katex:!1,katexOptions:void 0,mermaid:!1,mermaidOptions:void 0},this.DEFAULT_SECURITY_CONTEXT=Wl.HTML,this._options=null,this._reload$=new XA,this.reload$=this._reload$.asObservable(),this.options=h(z2A,{optional:!0})}parse(A,i=this.DEFAULT_PARSE_OPTIONS){let{decodeHtml:n,inline:o,emoji:a,mermaid:r,disableSanitizer:s}=i,g=cA(cA({},this.options),i.markedOptions),l=g.renderer||this.renderer||new N2;this.extensions&&(this.renderer=this.extendsRendererForExtensions(l)),r&&(this.renderer=this.extendsRendererForMermaid(l));let C=this.trimIndentation(A),I=n?this.decodeHtml(C):C,d=a?this.parseEmoji(I):I,B=this.parseMarked(d,g,o);return s?B:this.sanitizeHtml(B)}render(A,i=this.DEFAULT_RENDER_OPTIONS,n){let{clipboard:o,clipboardOptions:a,katex:r,katexOptions:s,mermaid:g,mermaidOptions:l}=i;r&&this.renderKatex(A,cA(cA({},this.DEFAULT_KATEX_OPTIONS),s)),g&&this.renderMermaid(A,cA(cA(cA({},this.DEFAULT_MERMAID_OPTIONS),this.mermaidOptions),l)),o&&this.renderClipboard(A,n,cA(cA(cA({},this.DEFAULT_CLIPBOARD_OPTIONS),this.clipboardOptions),a)),this.highlight(A)}reload(){this._reload$.next()}getSource(A){if(!this.http)throw new Error($2A);return this.http.get(A,{responseType:"text"}).pipe(fe(i=>this.handleExtension(A,i)))}highlight(A){if(!sC(this.platform)||typeof Prism>"u"||typeof Prism.highlightAllUnder>"u")return;A||(A=document);let i=A.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,n=>n.classList.add("language-none")),Prism.highlightAllUnder(A)}decodeHtml(A){if(!sC(this.platform))return A;let i=document.createElement("textarea");return i.innerHTML=A,i.value}extendsRendererForExtensions(A){let i=A;return i.\u0275NgxMarkdownRendererExtendedForExtensions===!0||(this.extensions&&this.extensions.length>0&&Hn.use(...this.extensions),i.\u0275NgxMarkdownRendererExtendedForExtensions=!0),A}extendsRendererForMermaid(A){let i=A;if(i.\u0275NgxMarkdownRendererExtendedForMermaid===!0)return A;let n=A.code;return A.code=o=>o.lang==="mermaid"?`
      ${o.text}
      `:n(o),i.\u0275NgxMarkdownRendererExtendedForMermaid=!0,A}handleExtension(A,i){let n=A.lastIndexOf("://"),o=n>-1?A.substring(n+4):A,a=o.lastIndexOf("/"),r=a>-1?o.substring(a+1).split("?")[0]:"",s=r.lastIndexOf("."),g=s>-1?r.substring(s+1):"";return g&&g!=="md"?"```"+g+` -`+i+"\n```":i}parseMarked(A,i,n=!1){if(i.renderer){let o=cA({},i.renderer);delete o.\u0275NgxMarkdownRendererExtendedForExtensions,delete o.\u0275NgxMarkdownRendererExtendedForMermaid,delete i.renderer,Hn.use({renderer:o})}return n?Hn.parseInline(A,i):Hn.parse(A,i)}parseEmoji(A){if(!sC(this.platform))return A;if(typeof joypixels>"u"||typeof joypixels.shortnameToUnicode>"u")throw new Error(q2A);return joypixels.shortnameToUnicode(A)}renderKatex(A,i){if(sC(this.platform)){if(typeof katex>"u"||typeof renderMathInElement>"u")throw new Error(V2A);renderMathInElement(A,i)}}renderClipboard(A,i,n){if(!sC(this.platform))return;if(typeof ClipboardJS>"u")throw new Error(Z2A);if(!i)throw new Error(X2A);let{buttonComponent:o,buttonTemplate:a}=n,r=A.querySelectorAll("pre");for(let s=0;sC.classList.add("hover"),l.onmouseleave=()=>C.classList.remove("hover");let I;if(o){let B=i.createComponent(o);I=B.hostView,B.changeDetectorRef.markForCheck()}else if(a)I=i.createEmbeddedView(a);else{let B=i.createComponent(Y2A);I=B.hostView,B.changeDetectorRef.markForCheck()}let d;I.rootNodes.forEach(B=>{C.appendChild(B),d=new ClipboardJS(B,{text:()=>g.innerText})}),I.onDestroy(()=>d.destroy())}}renderMermaid(A,i=this.DEFAULT_MERMAID_OPTIONS){if(!sC(this.platform))return;if(typeof mermaid>"u"||typeof mermaid.initialize>"u")throw new Error(W2A);let n=A.querySelectorAll(".mermaid");n.length!==0&&(mermaid.initialize(i),mermaid.run({nodes:n}))}trimIndentation(A){if(!A)return"";let i;return A.split(` -`).map(n=>{let o=i;return n.length>0&&(o=isNaN(o)?n.search(/\S|$/):Math.min(n.search(/\S|$/),o)),isNaN(i)&&(i=o),o?n.substring(o):n}).join(` -`)}sanitizeHtml(A){return nt(this,null,function*(){return j2A(this.sanitize)?this.sanitize(yield A):this.sanitize!==Wl.NONE?this.sanitizer.sanitize(this.sanitize??this.DEFAULT_SECURITY_CONTEXT,A)??"":A})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),mM=(function(t){return t.CommandLine="command-line",t.LineHighlight="line-highlight",t.LineNumbers="line-numbers",t})(mM||{}),JT=(()=>{class t{constructor(){this.element=h(ge),this.markdownService=h(UT),this.viewContainerRef=h(Oo),this.error=new $A,this.load=new $A,this.ready=new $A,this._clipboard=!1,this._commandLine=!1,this._disableSanitizer=!1,this._emoji=!1,this._inline=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1,this._mermaid=!1,this.destroyed$=new XA}get disableSanitizer(){return this._disableSanitizer}set disableSanitizer(A){this._disableSanitizer=this.coerceBooleanProperty(A)}get inline(){return this._inline}set inline(A){this._inline=this.coerceBooleanProperty(A)}get clipboard(){return this._clipboard}set clipboard(A){this._clipboard=this.coerceBooleanProperty(A)}get emoji(){return this._emoji}set emoji(A){this._emoji=this.coerceBooleanProperty(A)}get katex(){return this._katex}set katex(A){this._katex=this.coerceBooleanProperty(A)}get mermaid(){return this._mermaid}set mermaid(A){this._mermaid=this.coerceBooleanProperty(A)}get lineHighlight(){return this._lineHighlight}set lineHighlight(A){this._lineHighlight=this.coerceBooleanProperty(A)}get lineNumbers(){return this._lineNumbers}set lineNumbers(A){this._lineNumbers=this.coerceBooleanProperty(A)}get commandLine(){return this._commandLine}set commandLine(A){this._commandLine=this.coerceBooleanProperty(A)}ngOnChanges(){this.loadContent()}loadContent(){if(this.data!=null){this.handleData();return}if(this.src!=null){this.handleSrc();return}}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion(),this.markdownService.reload$.pipe(Bt(this.destroyed$)).subscribe(()=>this.loadContent())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}render(A,i=!1){return nt(this,null,function*(){let n={decodeHtml:i,inline:this.inline,emoji:this.emoji,mermaid:this.mermaid,disableSanitizer:this.disableSanitizer},o={clipboard:this.clipboard,clipboardOptions:this.getClipboardOptions(),katex:this.katex,katexOptions:this.katexOptions,mermaid:this.mermaid,mermaidOptions:this.mermaidOptions},a=yield this.markdownService.parse(A,n);this.element.nativeElement.innerHTML=a,this.handlePlugins(),this.markdownService.render(this.element.nativeElement,o,this.viewContainerRef),this.ready.emit()})}coerceBooleanProperty(A){return A!=null&&`${String(A)}`!="false"}getClipboardOptions(){if(this.clipboardButtonComponent||this.clipboardButtonTemplate)return{buttonComponent:this.clipboardButtonComponent,buttonTemplate:this.clipboardButtonTemplate}}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe({next:A=>{this.render(A).then(()=>{this.load.emit(A)})},error:A=>this.error.emit(A)})}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.commandLine&&(this.setPluginClass(this.element.nativeElement,mM.CommandLine),this.setPluginOptions(this.element.nativeElement,{dataFilterOutput:this.filterOutput,dataHost:this.host,dataPrompt:this.prompt,dataOutput:this.output,dataUser:this.user})),this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,mM.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(A,i){let n=A.querySelectorAll("pre");for(let o=0;o{let r=i[a];if(r){let s=this.toLispCase(a);n.item(o).setAttribute(s,r.toString())}})}toLispCase(A){let i=A.match(/([A-Z])/g);if(!i)return A;let n=A.toString();for(let o=0,a=i.length;o{class t{static forRoot(A){return{ngModule:t,providers:[e4(A)]}}static forChild(){return{ngModule:t}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=$e({type:t})}static{this.\u0275inj=Xe({})}}return t})();var yi="primary",c4=Symbol("RouteTitle"),vM=class{params;constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){let A=this.params[e];return Array.isArray(A)?A[0]:A}return null}getAll(e){if(this.has(e)){let A=this.params[e];return Array.isArray(A)?A:[A]}return[]}get keys(){return Object.keys(this.params)}};function Y1(t){return new vM(t)}function pM(t,e,A){for(let i=0;it.length||A.pathMatch==="full"&&(e.hasChildren()||i.lengtht.length||A.pathMatch==="full"&&e.hasChildren()&&A.path!=="**")return null;let r={};return!pM(o,t.slice(0,o.length),r)||!pM(a,t.slice(t.length-a.length),r)?null:{consumed:t,posParams:r}}function w6(t){return new Promise((e,A)=>{t.pipe(zo()).subscribe({next:i=>e(i),error:i=>A(i)})})}function eIA(t,e){if(t.length!==e.length)return!1;for(let A=0;Ai[o]===n)}else return t===e}function tIA(t){return t.length>0?t[t.length-1]:null}function H1(t){return mB(t)?t:lp(t)?Ms(Promise.resolve(t)):se(t)}function $T(t){return mB(t)?w6(t):Promise.resolve(t)}var iIA={exact:eH,subset:tH},AH={exact:nIA,subset:oIA,ignored:()=>!0};function TT(t,e,A){return iIA[A.paths](t.root,e.root,A.matrixParams)&&AH[A.queryParams](t.queryParams,e.queryParams)&&!(A.fragment==="exact"&&t.fragment!==e.fragment)}function nIA(t,e){return l0(t,e)}function eH(t,e,A){if(!U1(t.segments,e.segments)||!f6(t.segments,e.segments,A)||t.numberOfChildren!==e.numberOfChildren)return!1;for(let i in e.children)if(!t.children[i]||!eH(t.children[i],e.children[i],A))return!1;return!0}function oIA(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(A=>XT(t[A],e[A]))}function tH(t,e,A){return iH(t,e,e.segments,A)}function iH(t,e,A,i){if(t.segments.length>A.length){let n=t.segments.slice(0,A.length);return!(!U1(n,A)||e.hasChildren()||!f6(n,A,i))}else if(t.segments.length===A.length){if(!U1(t.segments,A)||!f6(t.segments,A,i))return!1;for(let n in e.children)if(!t.children[n]||!tH(t.children[n],e.children[n],i))return!1;return!0}else{let n=A.slice(0,t.segments.length),o=A.slice(t.segments.length);return!U1(t.segments,n)||!f6(t.segments,n,i)||!t.children[yi]?!1:iH(t.children[yi],e,o,i)}}function f6(t,e,A){return e.every((i,n)=>AH[A](t[n].parameters,i.parameters))}var oc=class{root;queryParams;fragment;_queryParamMap;constructor(e=new ro([],{}),A={},i=null){this.root=e,this.queryParams=A,this.fragment=i}get queryParamMap(){return this._queryParamMap??=Y1(this.queryParams),this._queryParamMap}toString(){return sIA.serialize(this)}},ro=class{segments;children;parent=null;constructor(e,A){this.segments=e,this.children=A,Object.values(A).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return m6(this)}},F2=class{path;parameters;_parameterMap;constructor(e,A){this.path=e,this.parameters=A}get parameterMap(){return this._parameterMap??=Y1(this.parameters),this._parameterMap}toString(){return oH(this)}};function aIA(t,e){return U1(t,e)&&t.every((A,i)=>l0(A.parameters,e[i].parameters))}function U1(t,e){return t.length!==e.length?!1:t.every((A,i)=>A.path===e[i].path)}function rIA(t,e){let A=[];return Object.entries(t.children).forEach(([i,n])=>{i===yi&&(A=A.concat(e(n,i)))}),Object.entries(t.children).forEach(([i,n])=>{i!==yi&&(A=A.concat(e(n,i)))}),A}var z1=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>new dC,providedIn:"root"})}return t})(),dC=class{parse(e){let A=new kM(e);return new oc(A.parseRootSegment(),A.parseQueryParams(),A.parseFragment())}serialize(e){let A=`/${t4(e.root,!0)}`,i=cIA(e.queryParams),n=typeof e.fragment=="string"?`#${gIA(e.fragment)}`:"";return`${A}${i}${n}`}},sIA=new dC;function m6(t){return t.segments.map(e=>oH(e)).join("/")}function t4(t,e){if(!t.hasChildren())return m6(t);if(e){let A=t.children[yi]?t4(t.children[yi],!1):"",i=[];return Object.entries(t.children).forEach(([n,o])=>{n!==yi&&i.push(`${n}:${t4(o,!1)}`)}),i.length>0?`${A}(${i.join("//")})`:A}else{let A=rIA(t,(i,n)=>n===yi?[t4(t.children[yi],!1)]:[`${n}:${t4(i,!1)}`]);return Object.keys(t.children).length===1&&t.children[yi]!=null?`${m6(t)}/${A[0]}`:`${m6(t)}/(${A.join("//")})`}}function nH(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function h6(t){return nH(t).replace(/%3B/gi,";")}function gIA(t){return encodeURI(t)}function MM(t){return nH(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function p6(t){return decodeURIComponent(t)}function HT(t){return p6(t.replace(/\+/g,"%20"))}function oH(t){return`${MM(t.path)}${lIA(t.parameters)}`}function lIA(t){return Object.entries(t).map(([e,A])=>`;${MM(e)}=${MM(A)}`).join("")}function cIA(t){let e=Object.entries(t).map(([A,i])=>Array.isArray(i)?i.map(n=>`${h6(A)}=${h6(n)}`).join("&"):`${h6(A)}=${h6(i)}`).filter(A=>A);return e.length?`?${e.join("&")}`:""}var CIA=/^[^\/()?;#]+/;function wM(t){let e=t.match(CIA);return e?e[0]:""}var IIA=/^[^\/()?;=#]+/;function dIA(t){let e=t.match(IIA);return e?e[0]:""}var BIA=/^[^=?&#]+/;function EIA(t){let e=t.match(BIA);return e?e[0]:""}var QIA=/^[^&#]+/;function hIA(t){let e=t.match(QIA);return e?e[0]:""}var kM=class{url;remaining;constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new ro([],{}):new ro([],this.parseChildren())}parseQueryParams(){let e={};if(this.consumeOptional("?"))do this.parseQueryParam(e);while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let A={};this.peekStartsWith("/(")&&(this.capture("/"),A=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(e.length>0||Object.keys(A).length>0)&&(i[yi]=new ro(e,A)),i}parseSegment(){let e=wM(this.remaining);if(e===""&&this.peekStartsWith(";"))throw new kt(4009,!1);return this.capture(e),new F2(p6(e),this.parseMatrixParams())}parseMatrixParams(){let e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){let A=dIA(this.remaining);if(!A)return;this.capture(A);let i="";if(this.consumeOptional("=")){let n=wM(this.remaining);n&&(i=n,this.capture(i))}e[p6(A)]=p6(i)}parseQueryParam(e){let A=EIA(this.remaining);if(!A)return;this.capture(A);let i="";if(this.consumeOptional("=")){let a=hIA(this.remaining);a&&(i=a,this.capture(i))}let n=HT(A),o=HT(i);if(e.hasOwnProperty(n)){let a=e[n];Array.isArray(a)||(a=[a],e[n]=a),a.push(o)}else e[n]=o}parseParens(e){let A={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=wM(this.remaining),n=this.remaining[i.length];if(n!=="/"&&n!==")"&&n!==";")throw new kt(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):e&&(o=yi);let a=this.parseChildren();A[o??yi]=Object.keys(a).length===1&&a[yi]?a[yi]:new ro([],a),this.consumeOptional("//")}return A}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return this.peekStartsWith(e)?(this.remaining=this.remaining.substring(e.length),!0):!1}capture(e){if(!this.consumeOptional(e))throw new kt(4011,!1)}};function aH(t){return t.segments.length>0?new ro([],{[yi]:t}):t}function rH(t){let e={};for(let[i,n]of Object.entries(t.children)){let o=rH(n);if(i===yi&&o.segments.length===0&&o.hasChildren())for(let[a,r]of Object.entries(o.children))e[a]=r;else(o.segments.length>0||o.hasChildren())&&(e[i]=o)}let A=new ro(t.segments,e);return uIA(A)}function uIA(t){if(t.numberOfChildren===1&&t.children[yi]){let e=t.children[yi];return new ro(t.segments.concat(e.segments),e.children)}return t}function WB(t){return t instanceof oc}function sH(t,e,A=null,i=null,n=new dC){let o=gH(t);return lH(o,e,A,i,n)}function gH(t){let e;function A(o){let a={};for(let s of o.children){let g=A(s);a[s.outlet]=g}let r=new ro(o.url,a);return o===t&&(e=r),r}let i=A(t.root),n=aH(i);return e??n}function lH(t,e,A,i,n){let o=t;for(;o.parent;)o=o.parent;if(e.length===0)return DM(o,o,o,A,i,n);let a=fIA(e);if(a.toRoot())return DM(o,o,new ro([],{}),A,i,n);let r=mIA(a,o,t),s=r.processChildren?n4(r.segmentGroup,r.index,a.commands):CH(r.segmentGroup,r.index,a.commands);return DM(o,r.segmentGroup,s,A,i,n)}function D6(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function a4(t){return typeof t=="object"&&t!=null&&t.outlets}function zT(t,e,A){t||="\u0275";let i=new oc;return i.queryParams={[t]:e},A.parse(A.serialize(i)).queryParams[t]}function DM(t,e,A,i,n,o){let a={};for(let[g,l]of Object.entries(i??{}))a[g]=Array.isArray(l)?l.map(C=>zT(g,C,o)):zT(g,l,o);let r;t===e?r=A:r=cH(t,e,A);let s=aH(rH(r));return new oc(s,a,n)}function cH(t,e,A){let i={};return Object.entries(t.children).forEach(([n,o])=>{o===e?i[n]=A:i[n]=cH(o,e,A)}),new ro(t.segments,i)}var y6=class{isAbsolute;numberOfDoubleDots;commands;constructor(e,A,i){if(this.isAbsolute=e,this.numberOfDoubleDots=A,this.commands=i,e&&i.length>0&&D6(i[0]))throw new kt(4003,!1);let n=i.find(a4);if(n&&n!==tIA(i))throw new kt(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function fIA(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new y6(!0,0,t);let e=0,A=!1,i=t.reduce((n,o,a)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let r={};return Object.entries(o.outlets).forEach(([s,g])=>{r[s]=typeof g=="string"?g.split("/"):g}),[...n,{outlets:r}]}if(o.segmentPath)return[...n,o.segmentPath]}return typeof o!="string"?[...n,o]:a===0?(o.split("/").forEach((r,s)=>{s==0&&r==="."||(s==0&&r===""?A=!0:r===".."?e++:r!=""&&n.push(r))}),n):[...n,o]},[]);return new y6(A,e,i)}var jB=class{segmentGroup;processChildren;index;constructor(e,A,i){this.segmentGroup=e,this.processChildren=A,this.index=i}};function mIA(t,e,A){if(t.isAbsolute)return new jB(e,!0,0);if(!A)return new jB(e,!1,NaN);if(A.parent===null)return new jB(A,!0,0);let i=D6(t.commands[0])?0:1,n=A.segments.length-1+i;return pIA(A,n,t.numberOfDoubleDots)}function pIA(t,e,A){let i=t,n=e,o=A;for(;o>n;){if(o-=n,i=i.parent,!i)throw new kt(4005,!1);n=i.segments.length}return new jB(i,!1,n-o)}function wIA(t){return a4(t[0])?t[0].outlets:{[yi]:t}}function CH(t,e,A){if(t??=new ro([],{}),t.segments.length===0&&t.hasChildren())return n4(t,e,A);let i=DIA(t,e,A),n=A.slice(i.commandIndex);if(i.match&&i.pathIndexo!==yi)&&t.children[yi]&&t.numberOfChildren===1&&t.children[yi].segments.length===0){let o=n4(t.children[yi],e,A);return new ro(t.segments,o.children)}return Object.entries(i).forEach(([o,a])=>{typeof a=="string"&&(a=[a]),a!==null&&(n[o]=CH(t.children[o],e,a))}),Object.entries(t.children).forEach(([o,a])=>{i[o]===void 0&&(n[o]=a)}),new ro(t.segments,n)}}function DIA(t,e,A){let i=0,n=e,o={match:!1,pathIndex:0,commandIndex:0};for(;n=A.length)return o;let a=t.segments[n],r=A[i];if(a4(r))break;let s=`${r}`,g=i0&&s===void 0)break;if(s&&g&&typeof g=="object"&&g.outlets===void 0){if(!PT(s,g,a))return o;i+=2}else{if(!PT(s,{},a))return o;i++}n++}return{match:!0,pathIndex:n,commandIndex:i}}function SM(t,e,A){let i=t.segments.slice(0,e),n=0;for(;n{typeof i=="string"&&(i=[i]),i!==null&&(e[A]=SM(new ro([],{}),0,i))}),e}function OT(t){let e={};return Object.entries(t).forEach(([A,i])=>e[A]=`${i}`),e}function PT(t,e,A){return t==A.path&&l0(e,A.parameters)}var qB="imperative",Br=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(Br||{}),Ug=class{id;url;constructor(e,A){this.id=e,this.url=A}},_2=class extends Ug{type=Br.NavigationStart;navigationTrigger;restoredState;constructor(e,A,i="imperative",n=null){super(e,A),this.navigationTrigger=i,this.restoredState=n}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},ac=class extends Ug{urlAfterRedirects;type=Br.NavigationEnd;constructor(e,A,i){super(e,A),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},cs=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(cs||{}),ZB=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(ZB||{}),cl=class extends Ug{reason;code;type=Br.NavigationCancel;constructor(e,A,i,n){super(e,A),this.reason=i,this.code=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function IH(t){return t instanceof cl&&(t.code===cs.Redirect||t.code===cs.SupersededByNewNavigation)}var c0=class extends Ug{reason;code;type=Br.NavigationSkipped;constructor(e,A,i,n){super(e,A),this.reason=i,this.code=n}},T1=class extends Ug{error;target;type=Br.NavigationError;constructor(e,A,i,n){super(e,A),this.error=i,this.target=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},XB=class extends Ug{urlAfterRedirects;state;type=Br.RoutesRecognized;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},v6=class extends Ug{urlAfterRedirects;state;type=Br.GuardsCheckStart;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},b6=class extends Ug{urlAfterRedirects;state;shouldActivate;type=Br.GuardsCheckEnd;constructor(e,A,i,n,o){super(e,A),this.urlAfterRedirects=i,this.state=n,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},M6=class extends Ug{urlAfterRedirects;state;type=Br.ResolveStart;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},k6=class extends Ug{urlAfterRedirects;state;type=Br.ResolveEnd;constructor(e,A,i,n){super(e,A),this.urlAfterRedirects=i,this.state=n}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},S6=class{route;type=Br.RouteConfigLoadStart;constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},x6=class{route;type=Br.RouteConfigLoadEnd;constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},R6=class{snapshot;type=Br.ChildActivationStart;constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},N6=class{snapshot;type=Br.ChildActivationEnd;constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},F6=class{snapshot;type=Br.ActivationStart;constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},_6=class{snapshot;type=Br.ActivationEnd;constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},$B=class{routerEvent;position;anchor;scrollBehavior;type=Br.Scroll;constructor(e,A,i,n){this.routerEvent=e,this.position=A,this.anchor=i,this.scrollBehavior=n}toString(){let e=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${e}')`}},AE=class{},eE=class{url;navigationBehaviorOptions;constructor(e,A){this.url=e,this.navigationBehaviorOptions=A}};function vIA(t){return!(t instanceof AE)&&!(t instanceof eE)}var L6=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(e){this.rootInjector=e,this.children=new O1(this.rootInjector)}},O1=(()=>{class t{rootInjector;contexts=new Map;constructor(A){this.rootInjector=A}onChildOutletCreated(A,i){let n=this.getOrCreateContext(A);n.outlet=i,this.contexts.set(A,n)}onChildOutletDestroyed(A){let i=this.getContext(A);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){let A=this.contexts;return this.contexts=new Map,A}onOutletReAttached(A){this.contexts=A}getOrCreateContext(A){let i=this.getContext(A);return i||(i=new L6(this.rootInjector),this.contexts.set(A,i)),i}getContext(A){return this.contexts.get(A)||null}static \u0275fac=function(i){return new(i||t)(xo(Gr))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),G6=class{_root;constructor(e){this._root=e}get root(){return this._root.value}parent(e){let A=this.pathFromRoot(e);return A.length>1?A[A.length-2]:null}children(e){let A=xM(e,this._root);return A?A.children.map(i=>i.value):[]}firstChild(e){let A=xM(e,this._root);return A&&A.children.length>0?A.children[0].value:null}siblings(e){let A=RM(e,this._root);return A.length<2?[]:A[A.length-2].children.map(n=>n.value).filter(n=>n!==e)}pathFromRoot(e){return RM(e,this._root).map(A=>A.value)}};function xM(t,e){if(t===e.value)return e;for(let A of e.children){let i=xM(t,A);if(i)return i}return null}function RM(t,e){if(t===e.value)return[e];for(let A of e.children){let i=RM(t,A);if(i.length)return i.unshift(e),i}return[]}var Kg=class{value;children;constructor(e,A){this.value=e,this.children=A}toString(){return`TreeNode(${this.value})`}};function PB(t){let e={};return t&&t.children.forEach(A=>e[A.value.outlet]=A),e}var r4=class extends G6{snapshot;constructor(e,A){super(e),this.snapshot=A,YM(this,e)}toString(){return this.snapshot.toString()}};function dH(t,e){let A=bIA(t,e),i=new Ht([new F2("",{})]),n=new Ht({}),o=new Ht({}),a=new Ht({}),r=new Ht(""),s=new ag(i,n,a,r,o,yi,t,A.root);return s.snapshot=A.root,new r4(new Kg(s,[]),A)}function bIA(t,e){let A={},i={},n={},a=new J1([],A,n,"",i,yi,t,null,{},e);return new s4("",new Kg(a,[]))}var ag=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(e,A,i,n,o,a,r,s){this.urlSubject=e,this.paramsSubject=A,this.queryParamsSubject=i,this.fragmentSubject=n,this.dataSubject=o,this.outlet=a,this.component=r,this._futureSnapshot=s,this.title=this.dataSubject?.pipe(fe(g=>g[c4]))??se(void 0),this.url=e,this.params=A,this.queryParams=i,this.fragment=n,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(fe(e=>Y1(e))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(fe(e=>Y1(e))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function K6(t,e,A="emptyOnly"){let i,{routeConfig:n}=t;return e!==null&&(A==="always"||n?.path===""||!e.component&&!e.routeConfig?.loadComponent)?i={params:cA(cA({},e.params),t.params),data:cA(cA({},e.data),t.data),resolve:cA(cA(cA(cA({},t.data),e.data),n?.data),t._resolvedData)}:i={params:cA({},t.params),data:cA({},t.data),resolve:cA(cA({},t.data),t._resolvedData??{})},n&&EH(n)&&(i.resolve[c4]=n.title),i}var J1=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[c4]}constructor(e,A,i,n,o,a,r,s,g,l){this.url=e,this.params=A,this.queryParams=i,this.fragment=n,this.data=o,this.outlet=a,this.component=r,this.routeConfig=s,this._resolve=g,this._environmentInjector=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Y1(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Y1(this.queryParams),this._queryParamMap}toString(){let e=this.url.map(i=>i.toString()).join("/"),A=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${e}', path:'${A}')`}},s4=class extends G6{url;constructor(e,A){super(A),this.url=e,YM(this,A)}toString(){return BH(this._root)}};function YM(t,e){e.value._routerState=t,e.children.forEach(A=>YM(t,A))}function BH(t){let e=t.children.length>0?` { ${t.children.map(BH).join(", ")} } `:"";return`${t.value}${e}`}function yM(t){if(t.snapshot){let e=t.snapshot,A=t._futureSnapshot;t.snapshot=A,l0(e.queryParams,A.queryParams)||t.queryParamsSubject.next(A.queryParams),e.fragment!==A.fragment&&t.fragmentSubject.next(A.fragment),l0(e.params,A.params)||t.paramsSubject.next(A.params),eIA(e.url,A.url)||t.urlSubject.next(A.url),l0(e.data,A.data)||t.dataSubject.next(A.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function NM(t,e){let A=l0(t.params,e.params)&&aIA(t.url,e.url),i=!t.parent!=!e.parent;return A&&!i&&(!t.parent||NM(t.parent,e.parent))}function EH(t){return typeof t.title=="string"||t.title===null}var QH=new yA(""),TM=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=yi;activateEvents=new $A;deactivateEvents=new $A;attachEvents=new $A;detachEvents=new $A;routerOutletData=rt();parentContexts=h(O1);location=h(Oo);changeDetector=h(Dt);inputBinder=h(C4,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(A){if(A.name){let{firstChange:i,previousValue:n}=A.name;if(i)return;this.isTrackedInParentContexts(n)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(n)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(A){return this.parentContexts.getContext(A)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let A=this.parentContexts.getContext(this.name);A?.route&&(A.attachRef?this.attach(A.attachRef,A.route):this.activateWith(A.route,A.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new kt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new kt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new kt(4012,!1);this.location.detach();let A=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(A.instance),A}attach(A,i){this.activated=A,this._activatedRoute=i,this.location.insert(A.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(A.instance)}deactivate(){if(this.activated){let A=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(A)}}activateWith(A,i){if(this.isActivated)throw new kt(4013,!1);this._activatedRoute=A;let n=this.location,a=A.snapshot.component,r=this.parentContexts.getOrCreateContext(this.name).children,s=new FM(A,r,n.injector,this.routerOutletData);this.activated=n.createComponent(a,{index:n.length,injector:s,environmentInjector:i}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[ti]})}return t})(),FM=class{route;childContexts;parent;outletData;constructor(e,A,i,n){this.route=e,this.childContexts=A,this.parent=i,this.outletData=n}get(e,A){return e===ag?this.route:e===O1?this.childContexts:e===QH?this.outletData:this.parent.get(e,A)}},C4=new yA(""),HM=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(A){this.unsubscribeFromRouteData(A),this.subscribeToRouteData(A)}unsubscribeFromRouteData(A){this.outletDataSubscriptions.get(A)?.unsubscribe(),this.outletDataSubscriptions.delete(A)}subscribeToRouteData(A){let{activatedRoute:i}=A,n=Ir([i.queryParams,i.params,i.data]).pipe(Si(([o,a,r],s)=>(r=cA(cA(cA({},o),a),r),s===0?se(r):Promise.resolve(r)))).subscribe(o=>{if(!A.isActivated||!A.activatedComponentRef||A.activatedRoute!==i||i.component===null){this.unsubscribeFromRouteData(A);return}let a=NU(i.component);if(!a){this.unsubscribeFromRouteData(A);return}for(let{templateName:r}of a.inputs)A.activatedComponentRef.setInput(r,o[r])});this.outletDataSubscriptions.set(A,n)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac})}return t})(),zM=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(i,n){i&1&&GA(0,"router-outlet")},dependencies:[TM],encapsulation:2})}return t})();function OM(t){let e=t.children&&t.children.map(OM),A=e?Ge(cA({},t),{children:e}):cA({},t);return!A.component&&!A.loadComponent&&(e||A.loadChildren)&&A.outlet&&A.outlet!==yi&&(A.component=zM),A}function MIA(t,e,A){let i=g4(t,e._root,A?A._root:void 0);return new r4(i,e)}function g4(t,e,A){if(A&&t.shouldReuseRoute(e.value,A.value.snapshot)){let i=A.value;i._futureSnapshot=e.value;let n=kIA(t,e,A);return new Kg(i,n)}else{if(t.shouldAttach(e.value)){let o=t.retrieve(e.value);if(o!==null){let a=o.route;return a.value._futureSnapshot=e.value,a.children=e.children.map(r=>g4(t,r)),a}}let i=SIA(e.value),n=e.children.map(o=>g4(t,o));return new Kg(i,n)}}function kIA(t,e,A){return e.children.map(i=>{for(let n of A.children)if(t.shouldReuseRoute(i.value,n.value.snapshot))return g4(t,i,n);return g4(t,i)})}function SIA(t){return new ag(new Ht(t.url),new Ht(t.params),new Ht(t.queryParams),new Ht(t.fragment),new Ht(t.data),t.outlet,t.component,t)}var tE=class{redirectTo;navigationBehaviorOptions;constructor(e,A){this.redirectTo=e,this.navigationBehaviorOptions=A}},hH="ngNavigationCancelingError";function U6(t,e){let{redirectTo:A,navigationBehaviorOptions:i}=WB(e)?{redirectTo:e,navigationBehaviorOptions:void 0}:e,n=uH(!1,cs.Redirect);return n.url=A,n.navigationBehaviorOptions=i,n}function uH(t,e){let A=new Error(`NavigationCancelingError: ${t||""}`);return A[hH]=!0,A.cancellationCode=e,A}function xIA(t){return fH(t)&&WB(t.url)}function fH(t){return!!t&&t[hH]}var _M=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(e,A,i,n,o){this.routeReuseStrategy=e,this.futureState=A,this.currState=i,this.forwardEvent=n,this.inputBindingEnabled=o}activate(e){let A=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(A,i,e),yM(this.futureState.root),this.activateChildRoutes(A,i,e)}deactivateChildRoutes(e,A,i){let n=PB(A);e.children.forEach(o=>{let a=o.value.outlet;this.deactivateRoutes(o,n[a],i),delete n[a]}),Object.values(n).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(e,A,i){let n=e.value,o=A?A.value:null;if(n===o)if(n.component){let a=i.getContext(n.outlet);a&&this.deactivateChildRoutes(e,A,a.children)}else this.deactivateChildRoutes(e,A,i);else o&&this.deactivateRouteAndItsChildren(A,i)}deactivateRouteAndItsChildren(e,A){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,A):this.deactivateRouteAndOutlet(e,A)}detachAndStoreRouteSubtree(e,A){let i=A.getContext(e.value.outlet),n=i&&e.value.component?i.children:A,o=PB(e);for(let a of Object.values(o))this.deactivateRouteAndItsChildren(a,n);if(i&&i.outlet){let a=i.outlet.detach(),r=i.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:a,route:e,contexts:r})}}deactivateRouteAndOutlet(e,A){let i=A.getContext(e.value.outlet),n=i&&e.value.component?i.children:A,o=PB(e);for(let a of Object.values(o))this.deactivateRouteAndItsChildren(a,n);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(e,A,i){let n=PB(A);e.children.forEach(o=>{this.activateRoutes(o,n[o.value.outlet],i),this.forwardEvent(new _6(o.value.snapshot))}),e.children.length&&this.forwardEvent(new N6(e.value.snapshot))}activateRoutes(e,A,i){let n=e.value,o=A?A.value:null;if(yM(n),n===o)if(n.component){let a=i.getOrCreateContext(n.outlet);this.activateChildRoutes(e,A,a.children)}else this.activateChildRoutes(e,A,i);else if(n.component){let a=i.getOrCreateContext(n.outlet);if(this.routeReuseStrategy.shouldAttach(n.snapshot)){let r=this.routeReuseStrategy.retrieve(n.snapshot);this.routeReuseStrategy.store(n.snapshot,null),a.children.onOutletReAttached(r.contexts),a.attachRef=r.componentRef,a.route=r.route.value,a.outlet&&a.outlet.attach(r.componentRef,r.route.value),yM(r.route.value),this.activateChildRoutes(e,null,a.children)}else a.attachRef=null,a.route=n,a.outlet&&a.outlet.activateWith(n,a.injector),this.activateChildRoutes(e,null,a.children)}else this.activateChildRoutes(e,null,i)}},J6=class{path;route;constructor(e){this.path=e,this.route=this.path[this.path.length-1]}},VB=class{component;route;constructor(e,A){this.component=e,this.route=A}};function RIA(t,e,A){let i=t._root,n=e?e._root:null;return i4(i,n,A,[i.value])}function NIA(t){let e=t.routeConfig?t.routeConfig.canActivateChild:null;return!e||e.length===0?null:{node:t,guards:e}}function nE(t,e){let A=Symbol(),i=e.get(t,A);return i===A?typeof t=="function"&&!IU(t)?t:e.get(t):i}function i4(t,e,A,i,n={canDeactivateChecks:[],canActivateChecks:[]}){let o=PB(e);return t.children.forEach(a=>{FIA(a,o[a.value.outlet],A,i.concat([a.value]),n),delete o[a.value.outlet]}),Object.entries(o).forEach(([a,r])=>o4(r,A.getContext(a),n)),n}function FIA(t,e,A,i,n={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,a=e?e.value:null,r=A?A.getContext(t.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){let s=_IA(a,o,o.routeConfig.runGuardsAndResolvers);s?n.canActivateChecks.push(new J6(i)):(o.data=a.data,o._resolvedData=a._resolvedData),o.component?i4(t,e,r?r.children:null,i,n):i4(t,e,A,i,n),s&&r&&r.outlet&&r.outlet.isActivated&&n.canDeactivateChecks.push(new VB(r.outlet.component,a))}else a&&o4(e,r,n),n.canActivateChecks.push(new J6(i)),o.component?i4(t,null,r?r.children:null,i,n):i4(t,null,A,i,n);return n}function _IA(t,e,A){if(typeof A=="function")return or(e._environmentInjector,()=>A(t,e));switch(A){case"pathParamsChange":return!U1(t.url,e.url);case"pathParamsOrQueryParamsChange":return!U1(t.url,e.url)||!l0(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!NM(t,e)||!l0(t.queryParams,e.queryParams);default:return!NM(t,e)}}function o4(t,e,A){let i=PB(t),n=t.value;Object.entries(i).forEach(([o,a])=>{n.component?e?o4(a,e.children.getContext(o),A):o4(a,null,A):o4(a,e,A)}),n.component?e&&e.outlet&&e.outlet.isActivated?A.canDeactivateChecks.push(new VB(e.outlet.component,n)):A.canDeactivateChecks.push(new VB(null,n)):A.canDeactivateChecks.push(new VB(null,n))}function I4(t){return typeof t=="function"}function LIA(t){return typeof t=="boolean"}function GIA(t){return t&&I4(t.canLoad)}function KIA(t){return t&&I4(t.canActivate)}function UIA(t){return t&&I4(t.canActivateChild)}function JIA(t){return t&&I4(t.canDeactivate)}function YIA(t){return t&&I4(t.canMatch)}function mH(t){return t instanceof rU||t?.name==="EmptyError"}var u6=Symbol("INITIAL_VALUE");function iE(){return Si(t=>Ir(t.map(e=>e.pipe(oo(1),cn(u6)))).pipe(fe(e=>{for(let A of e)if(A!==!0){if(A===u6)return u6;if(A===!1||TIA(A))return A}return!0}),Ze(e=>e!==u6),oo(1)))}function TIA(t){return WB(t)||t instanceof tE}function pH(t){return t.aborted?se(void 0).pipe(oo(1)):new $i(e=>{let A=()=>{e.next(),e.complete()};return t.addEventListener("abort",A),()=>t.removeEventListener("abort",A)})}function wH(t){return Bt(pH(t))}function HIA(t){return t0(e=>{let{targetSnapshot:A,currentSnapshot:i,guards:{canActivateChecks:n,canDeactivateChecks:o}}=e;return o.length===0&&n.length===0?se(Ge(cA({},e),{guardsResult:!0})):zIA(o,A,i).pipe(t0(a=>a&&LIA(a)?OIA(A,n,t):se(a)),fe(a=>Ge(cA({},e),{guardsResult:a})))})}function zIA(t,e,A){return Ms(t).pipe(t0(i=>WIA(i.component,i.route,A,e)),zo(i=>i!==!0,!0))}function OIA(t,e,A){return Ms(e).pipe(lu(i=>Xm(jIA(i.route.parent,A),PIA(i.route,A),VIA(t,i.path),qIA(t,i.route))),zo(i=>i!==!0,!0))}function PIA(t,e){return t!==null&&e&&e(new F6(t)),se(!0)}function jIA(t,e){return t!==null&&e&&e(new R6(t)),se(!0)}function qIA(t,e){let A=e.routeConfig?e.routeConfig.canActivate:null;if(!A||A.length===0)return se(!0);let i=A.map(n=>i0(()=>{let o=e._environmentInjector,a=nE(n,o),r=KIA(a)?a.canActivate(e,t):or(o,()=>a(e,t));return H1(r).pipe(zo())}));return se(i).pipe(iE())}function VIA(t,e){let A=e[e.length-1],n=e.slice(0,e.length-1).reverse().map(o=>NIA(o)).filter(o=>o!==null).map(o=>i0(()=>{let a=o.guards.map(r=>{let s=o.node._environmentInjector,g=nE(r,s),l=UIA(g)?g.canActivateChild(A,t):or(s,()=>g(A,t));return H1(l).pipe(zo())});return se(a).pipe(iE())}));return se(n).pipe(iE())}function WIA(t,e,A,i){let n=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!n||n.length===0)return se(!0);let o=n.map(a=>{let r=e._environmentInjector,s=nE(a,r),g=JIA(s)?s.canDeactivate(t,e,A,i):or(r,()=>s(t,e,A,i));return H1(g).pipe(zo())});return se(o).pipe(iE())}function ZIA(t,e,A,i,n){let o=e.canLoad;if(o===void 0||o.length===0)return se(!0);let a=o.map(r=>{let s=nE(r,t),g=GIA(s)?s.canLoad(e,A):or(t,()=>s(e,A)),l=H1(g);return n?l.pipe(wH(n)):l});return se(a).pipe(iE(),DH(i))}function DH(t){return nU(oi(e=>{if(typeof e!="boolean")throw U6(t,e)}),fe(e=>e===!0))}function XIA(t,e,A,i,n){let o=e.canMatch;if(!o||o.length===0)return se(!0);let a=o.map(r=>{let s=nE(r,t),g=YIA(s)?s.canMatch(e,A):or(t,()=>s(e,A));return H1(g).pipe(wH(n))});return se(a).pipe(iE(),DH(i))}var IC=class t extends Error{segmentGroup;constructor(e){super(),this.segmentGroup=e||null,Object.setPrototypeOf(this,t.prototype)}},l4=class t extends Error{urlTree;constructor(e){super(),this.urlTree=e,Object.setPrototypeOf(this,t.prototype)}};function $IA(t){throw new kt(4e3,!1)}function A1A(t){throw uH(!1,cs.GuardRejected)}var LM=class{urlSerializer;urlTree;constructor(e,A){this.urlSerializer=e,this.urlTree=A}lineralizeSegments(e,A){return nt(this,null,function*(){let i=[],n=A.root;for(;;){if(i=i.concat(n.segments),n.numberOfChildren===0)return i;if(n.numberOfChildren>1||!n.children[yi])throw $IA(`${e.redirectTo}`);n=n.children[yi]}})}applyRedirectCommands(e,A,i,n,o){return nt(this,null,function*(){let a=yield e1A(A,n,o);if(a instanceof oc)throw new l4(a);let r=this.applyRedirectCreateUrlTree(a,this.urlSerializer.parse(a),e,i);if(a[0]==="/")throw new l4(r);return r})}applyRedirectCreateUrlTree(e,A,i,n){let o=this.createSegmentGroup(e,A.root,i,n);return new oc(o,this.createQueryParams(A.queryParams,this.urlTree.queryParams),A.fragment)}createQueryParams(e,A){let i={};return Object.entries(e).forEach(([n,o])=>{if(typeof o=="string"&&o[0]===":"){let r=o.substring(1);i[n]=A[r]}else i[n]=o}),i}createSegmentGroup(e,A,i,n){let o=this.createSegments(e,A.segments,i,n),a={};return Object.entries(A.children).forEach(([r,s])=>{a[r]=this.createSegmentGroup(e,s,i,n)}),new ro(o,a)}createSegments(e,A,i,n){return A.map(o=>o.path[0]===":"?this.findPosParam(e,o,n):this.findOrReturn(o,i))}findPosParam(e,A,i){let n=i[A.path.substring(1)];if(!n)throw new kt(4001,!1);return n}findOrReturn(e,A){let i=0;for(let n of A){if(n.path===e.path)return A.splice(i),n;i++}return e}};function e1A(t,e,A){if(typeof t=="string")return Promise.resolve(t);let i=t,{queryParams:n,fragment:o,routeConfig:a,url:r,outlet:s,params:g,data:l,title:C,paramMap:I,queryParamMap:d}=e;return w6(H1(or(A,()=>i({params:g,data:l,queryParams:n,fragment:o,routeConfig:a,url:r,outlet:s,title:C,paramMap:I,queryParamMap:d}))))}function t1A(t,e){return t.providers&&!t._injector&&(t._injector=rp(t.providers,e,`Route: ${t.path}`)),t._injector??e}function nc(t){return t.outlet||yi}function i1A(t,e){let A=t.filter(i=>nc(i)===e);return A.push(...t.filter(i=>nc(i)!==e)),A}var GM={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function n1A(t,e,A,i,n,o){let a=yH(t,e,A);return a.matched?(i=t1A(e,i),XIA(i,e,A,n,o).pipe(fe(r=>r===!0?a:cA({},GM)))):se(a)}function yH(t,e,A){if(e.path==="")return e.pathMatch==="full"&&(t.hasChildren()||A.length>0)?cA({},GM):{matched:!0,consumedSegments:[],remainingSegments:A,parameters:{},positionalParamSegments:{}};let n=(e.matcher||ZT)(A,t,e);if(!n)return cA({},GM);let o={};Object.entries(n.posParams??{}).forEach(([r,s])=>{o[r]=s.path});let a=n.consumed.length>0?cA(cA({},o),n.consumed[n.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:n.consumed,remainingSegments:A.slice(n.consumed.length),parameters:a,positionalParamSegments:n.posParams??{}}}function jT(t,e,A,i){return A.length>0&&r1A(t,A,i)?{segmentGroup:new ro(e,a1A(i,new ro(A,t.children))),slicedSegments:[]}:A.length===0&&s1A(t,A,i)?{segmentGroup:new ro(t.segments,o1A(t,A,i,t.children)),slicedSegments:A}:{segmentGroup:new ro(t.segments,t.children),slicedSegments:A}}function o1A(t,e,A,i){let n={};for(let o of A)if(T6(t,e,o)&&!i[nc(o)]){let a=new ro([],{});n[nc(o)]=a}return cA(cA({},i),n)}function a1A(t,e){let A={};A[yi]=e;for(let i of t)if(i.path===""&&nc(i)!==yi){let n=new ro([],{});A[nc(i)]=n}return A}function r1A(t,e,A){return A.some(i=>T6(t,e,i)&&nc(i)!==yi)}function s1A(t,e,A){return A.some(i=>T6(t,e,i))}function T6(t,e,A){return(t.hasChildren()||e.length>0)&&A.pathMatch==="full"?!1:A.path===""}function g1A(t,e,A){return e.length===0&&!t.children[A]}var KM=class{};function l1A(t,e,A,i,n,o,a="emptyOnly",r){return nt(this,null,function*(){return new UM(t,e,A,i,n,a,o,r).recognize()})}var c1A=31,UM=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(e,A,i,n,o,a,r,s){this.injector=e,this.configLoader=A,this.rootComponentType=i,this.config=n,this.urlTree=o,this.paramsInheritanceStrategy=a,this.urlSerializer=r,this.abortSignal=s,this.applyRedirects=new LM(this.urlSerializer,this.urlTree)}noMatchError(e){return new kt(4002,`'${e.segmentGroup}'`)}recognize(){return nt(this,null,function*(){let e=jT(this.urlTree.root,[],[],this.config).segmentGroup,{children:A,rootSnapshot:i}=yield this.match(e),n=new Kg(i,A),o=new s4("",n),a=sH(i,[],this.urlTree.queryParams,this.urlTree.fragment);return a.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(a),{state:o,tree:a}})}match(e){return nt(this,null,function*(){let A=new J1([],Object.freeze({}),Object.freeze(cA({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),yi,this.rootComponentType,null,{},this.injector);try{return{children:yield this.processSegmentGroup(this.injector,this.config,e,yi,A),rootSnapshot:A}}catch(i){if(i instanceof l4)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof IC?this.noMatchError(i):i}})}processSegmentGroup(e,A,i,n,o){return nt(this,null,function*(){if(i.segments.length===0&&i.hasChildren())return this.processChildren(e,A,i,o);let a=yield this.processSegment(e,A,i,i.segments,n,!0,o);return a instanceof Kg?[a]:[]})}processChildren(e,A,i,n){return nt(this,null,function*(){let o=[];for(let s of Object.keys(i.children))s==="primary"?o.unshift(s):o.push(s);let a=[];for(let s of o){let g=i.children[s],l=i1A(A,s),C=yield this.processSegmentGroup(e,l,g,s,n);a.push(...C)}let r=vH(a);return C1A(r),r})}processSegment(e,A,i,n,o,a,r){return nt(this,null,function*(){for(let s of A)try{return yield this.processSegmentAgainstRoute(s._injector??e,A,s,i,n,o,a,r)}catch(g){if(g instanceof IC||mH(g))continue;throw g}if(g1A(i,n,o))return new KM;throw new IC(i)})}processSegmentAgainstRoute(e,A,i,n,o,a,r,s){return nt(this,null,function*(){if(nc(i)!==a&&(a===yi||!T6(n,o,i)))throw new IC(n);if(i.redirectTo===void 0)return this.matchSegmentAgainstRoute(e,n,i,o,a,s);if(this.allowRedirects&&r)return this.expandSegmentAgainstRouteUsingRedirect(e,n,A,i,o,a,s);throw new IC(n)})}expandSegmentAgainstRouteUsingRedirect(e,A,i,n,o,a,r){return nt(this,null,function*(){let{matched:s,parameters:g,consumedSegments:l,positionalParamSegments:C,remainingSegments:I}=yH(A,n,o);if(!s)throw new IC(A);typeof n.redirectTo=="string"&&n.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>c1A&&(this.allowRedirects=!1));let d=new J1(o,g,Object.freeze(cA({},this.urlTree.queryParams)),this.urlTree.fragment,qT(n),nc(n),n.component??n._loadedComponent??null,n,VT(n),e),B=K6(d,r,this.paramsInheritanceStrategy);if(d.params=Object.freeze(B.params),d.data=Object.freeze(B.data),this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let E=yield this.applyRedirects.applyRedirectCommands(l,n.redirectTo,C,d,e),Q=yield this.applyRedirects.lineralizeSegments(n,E);return this.processSegment(e,i,A,Q.concat(I),a,!1,r)})}matchSegmentAgainstRoute(e,A,i,n,o,a){return nt(this,null,function*(){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let r=yield w6(n1A(A,i,n,e,this.urlSerializer,this.abortSignal));if(i.path==="**"&&(A.children={}),!r?.matched)throw new IC(A);e=i._injector??e;let{routes:s}=yield this.getChildConfig(e,i,n),g=i._loadedInjector??e,{parameters:l,consumedSegments:C,remainingSegments:I}=r,d=new J1(C,l,Object.freeze(cA({},this.urlTree.queryParams)),this.urlTree.fragment,qT(i),nc(i),i.component??i._loadedComponent??null,i,VT(i),e),B=K6(d,a,this.paramsInheritanceStrategy);d.params=Object.freeze(B.params),d.data=Object.freeze(B.data);let{segmentGroup:E,slicedSegments:Q}=jT(A,C,I,s);if(Q.length===0&&E.hasChildren()){let S=yield this.processChildren(g,s,E,d);return new Kg(d,S)}if(s.length===0&&Q.length===0)return new Kg(d,[]);let f=nc(i)===o,b=yield this.processSegment(g,s,E,Q,f?yi:o,!0,d);return new Kg(d,b instanceof Kg?[b]:[])})}getChildConfig(e,A,i){return nt(this,null,function*(){if(A.children)return{routes:A.children,injector:e};if(A.loadChildren){if(A._loadedRoutes!==void 0){let o=A._loadedNgModuleFactory;return o&&!A._loadedInjector&&(A._loadedInjector=o.create(e).injector),{routes:A._loadedRoutes,injector:A._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(yield w6(ZIA(e,A,i,this.urlSerializer,this.abortSignal))){let o=yield this.configLoader.loadChildren(e,A);return A._loadedRoutes=o.routes,A._loadedInjector=o.injector,A._loadedNgModuleFactory=o.factory,o}throw A1A(A)}return{routes:[],injector:e}})}};function C1A(t){t.sort((e,A)=>e.value.outlet===yi?-1:A.value.outlet===yi?1:e.value.outlet.localeCompare(A.value.outlet))}function I1A(t){let e=t.value.routeConfig;return e&&e.path===""}function vH(t){let e=[],A=new Set;for(let i of t){if(!I1A(i)){e.push(i);continue}let n=e.find(o=>i.value.routeConfig===o.value.routeConfig);n!==void 0?(n.children.push(...i.children),A.add(n)):e.push(i)}for(let i of A){let n=vH(i.children);e.push(new Kg(i.value,n))}return e.filter(i=>!A.has(i))}function qT(t){return t.data||{}}function VT(t){return t.resolve||{}}function d1A(t,e,A,i,n,o,a){return t0(r=>nt(null,null,function*(){let{state:s,tree:g}=yield l1A(t,e,A,i,r.extractedUrl,n,o,a);return Ge(cA({},r),{targetSnapshot:s,urlAfterRedirects:g})}))}function B1A(t){return t0(e=>{let{targetSnapshot:A,guards:{canActivateChecks:i}}=e;if(!i.length)return se(e);let n=new Set(i.map(r=>r.route)),o=new Set;for(let r of n)if(!o.has(r))for(let s of bH(r))o.add(s);let a=0;return Ms(o).pipe(lu(r=>n.has(r)?E1A(r,A,t):(r.data=K6(r,r.parent,t).resolve,se(void 0))),oi(()=>a++),Yb(1),t0(r=>a===o.size?se(e):ja))})}function bH(t){let e=t.children.map(A=>bH(A)).flat();return[t,...e]}function E1A(t,e,A){let i=t.routeConfig,n=t._resolve;return i?.title!==void 0&&!EH(i)&&(n[c4]=i.title),i0(()=>(t.data=K6(t,t.parent,A).resolve,Q1A(n,t,e).pipe(fe(o=>(t._resolvedData=o,t.data=cA(cA({},t.data),o),null)))))}function Q1A(t,e,A){let i=bM(t);if(i.length===0)return se({});let n={};return Ms(i).pipe(t0(o=>h1A(t[o],e,A).pipe(zo(),oi(a=>{if(a instanceof tE)throw U6(new dC,a);n[o]=a}))),Yb(1),fe(()=>n),ta(o=>mH(o)?ja:Zm(o)))}function h1A(t,e,A){let i=e._environmentInjector,n=nE(t,i),o=n.resolve?n.resolve(e,A):or(i,()=>n(e,A));return H1(o)}function WT(t){return Si(e=>{let A=t(e);return A?Ms(A).pipe(fe(()=>e)):se(e)})}var PM=(()=>{class t{buildTitle(A){let i,n=A.root;for(;n!==void 0;)i=this.getResolvedTitleForRoute(n)??i,n=n.children.find(o=>o.outlet===yi);return i}getResolvedTitleForRoute(A){return A.data[c4]}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(MH),providedIn:"root"})}return t})(),MH=(()=>{class t extends PM{title;constructor(A){super(),this.title=A}updateTitle(A){let i=this.buildTitle(A);i!==void 0&&this.title.setTitle(i)}static \u0275fac=function(i){return new(i||t)(xo(YU))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),P1=new yA("",{factory:()=>({})}),oE=new yA(""),H6=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=h(vU);loadComponent(A,i){return nt(this,null,function*(){if(this.componentLoaders.get(i))return this.componentLoaders.get(i);if(i._loadedComponent)return Promise.resolve(i._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(i);let n=nt(this,null,function*(){try{let o=yield $T(or(A,()=>i.loadComponent())),a=yield xH(SH(o));return this.onLoadEndListener&&this.onLoadEndListener(i),i._loadedComponent=a,a}finally{this.componentLoaders.delete(i)}});return this.componentLoaders.set(i,n),n})}loadChildren(A,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Promise.resolve({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);let n=nt(this,null,function*(){try{let o=yield kH(i,this.compiler,A,this.onLoadEndListener);return i._loadedRoutes=o.routes,i._loadedInjector=o.injector,i._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(i)}});return this.childrenLoaders.set(i,n),n}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function kH(t,e,A,i){return nt(this,null,function*(){let n=yield $T(or(A,()=>t.loadChildren())),o=yield xH(SH(n)),a;o instanceof uU||Array.isArray(o)?a=o:a=yield e.compileModuleAsync(o),i&&i(t);let r,s,g=!1,l;return Array.isArray(a)?(s=a,g=!0):(r=a.create(A).injector,l=a,s=r.get(oE,[],{optional:!0,self:!0}).flat()),{routes:s.map(OM),injector:r,factory:l}})}function u1A(t){return t&&typeof t=="object"&&"default"in t}function SH(t){return u1A(t)?t.default:t}function xH(t){return nt(this,null,function*(){return t})}var z6=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(f1A),providedIn:"root"})}return t})(),f1A=(()=>{class t{shouldProcessUrl(A){return!0}extract(A){return A}merge(A,i){return A}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),jM=new yA(""),qM=new yA("");function RH(t,e,A){let i=t.get(qM),n=t.get(Xt);if(!n.startViewTransition||i.skipNextTransition)return i.skipNextTransition=!1,new Promise(g=>setTimeout(g));let o,a=new Promise(g=>{o=g}),r=n.startViewTransition(()=>(o(),m1A(t)));r.updateCallbackDone.catch(g=>{}),r.ready.catch(g=>{}),r.finished.catch(g=>{});let{onViewTransitionCreated:s}=i;return s&&or(t,()=>s({transition:r,from:e,to:A})),a}function m1A(t){return new Promise(e=>{Yn({read:()=>setTimeout(e)},{injector:t})})}var p1A=()=>{},VM=new yA(""),O6=(()=>{class t{currentNavigation=jA(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=jA(null);events=new XA;transitionAbortWithErrorSubject=new XA;configLoader=h(H6);environmentInjector=h(Gr);destroyRef=h(qa);urlSerializer=h(z1);rootContexts=h(O1);location=h(o0);inputBindingEnabled=h(C4,{optional:!0})!==null;titleStrategy=h(PM);options=h(P1,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=h(z6);createViewTransition=h(jM,{optional:!0});navigationErrorHandler=h(VM,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>se(void 0);rootComponentType=null;destroyed=!1;constructor(){let A=n=>this.events.next(new S6(n)),i=n=>this.events.next(new x6(n));this.configLoader.onLoadEndListener=i,this.configLoader.onLoadStartListener=A,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(A){let i=++this.navigationId;la(()=>{this.transitions?.next(Ge(cA({},A),{extractedUrl:this.urlHandlingStrategy.extract(A.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:i}))})}setupNavigations(A){return this.transitions=new Ht(null),this.transitions.pipe(Ze(i=>i!==null),Si(i=>{let n=!1,o=new AbortController,a=()=>!n&&this.currentTransition?.id===i.id;return se(i).pipe(Si(r=>{if(this.navigationId>i.id)return this.cancelNavigationTransition(i,"",cs.SupersededByNewNavigation),ja;this.currentTransition=i;let s=this.lastSuccessfulNavigation();this.currentNavigation.set({id:r.id,initialUrl:r.rawUrl,extractedUrl:r.extractedUrl,targetBrowserUrl:typeof r.extras.browserUrl=="string"?this.urlSerializer.parse(r.extras.browserUrl):r.extras.browserUrl,trigger:r.source,extras:r.extras,previousNavigation:s?Ge(cA({},s),{previousNavigation:null}):null,abort:()=>o.abort()});let g=!A.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=r.extras.onSameUrlNavigation??A.onSameUrlNavigation;if(!g&&l!=="reload")return this.events.next(new c0(r.id,this.urlSerializer.serialize(r.rawUrl),"",ZB.IgnoredSameUrlNavigation)),r.resolve(!1),ja;if(this.urlHandlingStrategy.shouldProcessUrl(r.rawUrl))return se(r).pipe(Si(C=>(this.events.next(new _2(C.id,this.urlSerializer.serialize(C.extractedUrl),C.source,C.restoredState)),C.id!==this.navigationId?ja:Promise.resolve(C))),d1A(this.environmentInjector,this.configLoader,this.rootComponentType,A.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),oi(C=>{i.targetSnapshot=C.targetSnapshot,i.urlAfterRedirects=C.urlAfterRedirects,this.currentNavigation.update(d=>(d.finalUrl=C.urlAfterRedirects,d));let I=new XB(C.id,this.urlSerializer.serialize(C.extractedUrl),this.urlSerializer.serialize(C.urlAfterRedirects),C.targetSnapshot);this.events.next(I)}));if(g&&this.urlHandlingStrategy.shouldProcessUrl(r.currentRawUrl)){let{id:C,extractedUrl:I,source:d,restoredState:B,extras:E}=r,Q=new _2(C,this.urlSerializer.serialize(I),d,B);this.events.next(Q);let f=dH(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=i=Ge(cA({},r),{targetSnapshot:f,urlAfterRedirects:I,extras:Ge(cA({},E),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(b=>(b.finalUrl=I,b)),se(i)}else return this.events.next(new c0(r.id,this.urlSerializer.serialize(r.extractedUrl),"",ZB.IgnoredByUrlHandlingStrategy)),r.resolve(!1),ja}),fe(r=>{let s=new v6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot);return this.events.next(s),this.currentTransition=i=Ge(cA({},r),{guards:RIA(r.targetSnapshot,r.currentSnapshot,this.rootContexts)}),i}),HIA(r=>this.events.next(r)),Si(r=>{if(i.guardsResult=r.guardsResult,r.guardsResult&&typeof r.guardsResult!="boolean")throw U6(this.urlSerializer,r.guardsResult);let s=new b6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot,!!r.guardsResult);if(this.events.next(s),!a())return ja;if(!r.guardsResult)return this.cancelNavigationTransition(r,"",cs.GuardRejected),ja;if(r.guards.canActivateChecks.length===0)return se(r);let g=new M6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot);if(this.events.next(g),!a())return ja;let l=!1;return se(r).pipe(B1A(this.paramsInheritanceStrategy),oi({next:()=>{l=!0;let C=new k6(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects),r.targetSnapshot);this.events.next(C)},complete:()=>{l||this.cancelNavigationTransition(r,"",cs.NoDataFromResolver)}}))}),WT(r=>{let s=l=>{let C=[];if(l.routeConfig?._loadedComponent)l.component=l.routeConfig?._loadedComponent;else if(l.routeConfig?.loadComponent){let I=l._environmentInjector;C.push(this.configLoader.loadComponent(I,l.routeConfig).then(d=>{l.component=d}))}for(let I of l.children)C.push(...s(I));return C},g=s(r.targetSnapshot.root);return g.length===0?se(r):Ms(Promise.all(g).then(()=>r))}),WT(()=>this.afterPreactivation()),Si(()=>{let{currentSnapshot:r,targetSnapshot:s}=i,g=this.createViewTransition?.(this.environmentInjector,r.root,s.root);return g?Ms(g).pipe(fe(()=>i)):se(i)}),oo(1),fe(r=>{let s=MIA(A.routeReuseStrategy,r.targetSnapshot,r.currentRouterState);this.currentTransition=i=r=Ge(cA({},r),{targetRouterState:s}),this.currentNavigation.update(g=>(g.targetRouterState=s,g)),this.events.next(new AE),a()&&(new _M(A.routeReuseStrategy,i.targetRouterState,i.currentRouterState,g=>this.events.next(g),this.inputBindingEnabled).activate(this.rootContexts),a()&&(n=!0,this.currentNavigation.update(g=>(g.abort=p1A,g)),this.lastSuccessfulNavigation.set(la(this.currentNavigation)),this.events.next(new ac(r.id,this.urlSerializer.serialize(r.extractedUrl),this.urlSerializer.serialize(r.urlAfterRedirects))),this.titleStrategy?.updateTitle(r.targetRouterState.snapshot),r.resolve(!0)))}),Bt(pH(o.signal).pipe(Ze(()=>!n&&!i.targetRouterState),oi(()=>{this.cancelNavigationTransition(i,o.signal.reason+"",cs.Aborted)}))),oi({complete:()=>{n=!0}}),Bt(this.transitionAbortWithErrorSubject.pipe(oi(r=>{throw r}))),ep(()=>{o.abort(),n||this.cancelNavigationTransition(i,"",cs.SupersededByNewNavigation),this.currentTransition?.id===i.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),ta(r=>{if(n=!0,this.destroyed)return i.resolve(!1),ja;if(fH(r))this.events.next(new cl(i.id,this.urlSerializer.serialize(i.extractedUrl),r.message,r.cancellationCode)),xIA(r)?this.events.next(new eE(r.url,r.navigationBehaviorOptions)):i.resolve(!1);else{let s=new T1(i.id,this.urlSerializer.serialize(i.extractedUrl),r,i.targetSnapshot??void 0);try{let g=or(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(g instanceof tE){let{message:l,cancellationCode:C}=U6(this.urlSerializer,g);this.events.next(new cl(i.id,this.urlSerializer.serialize(i.extractedUrl),l,C)),this.events.next(new eE(g.redirectTo,g.navigationBehaviorOptions))}else throw this.events.next(s),r}catch(g){this.options.resolveNavigationPromiseOnError?i.resolve(!1):i.reject(g)}}return ja}))}))}cancelNavigationTransition(A,i,n){let o=new cl(A.id,this.urlSerializer.serialize(A.extractedUrl),i,n);this.events.next(o),A.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let A=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),i=la(this.currentNavigation),n=i?.targetBrowserUrl??i?.extractedUrl;return A.toString()!==n?.toString()&&!i?.extras.skipLocationChange}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function w1A(t){return t!==qB}var NH=new yA("");var FH=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(D1A),providedIn:"root"})}return t})(),Y6=class{shouldDetach(e){return!1}store(e,A){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,A){return e.routeConfig===A.routeConfig}shouldDestroyInjector(e){return!0}},D1A=(()=>{class t extends Y6{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),WM=(()=>{class t{urlSerializer=h(z1);options=h(P1,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=h(o0);urlHandlingStrategy=h(z6);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new oc;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:A,initialUrl:i,targetBrowserUrl:n}){let o=A!==void 0?this.urlHandlingStrategy.merge(A,i):i,a=n??o;return a instanceof oc?this.urlSerializer.serialize(a):a}commitTransition({targetRouterState:A,finalUrl:i,initialUrl:n}){i&&A?(this.currentUrlTree=i,this.rawUrlTree=this.urlHandlingStrategy.merge(i,n),this.routerState=A):this.rawUrlTree=n}routerState=dH(null,h(Gr));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:()=>h(y1A),providedIn:"root"})}return t})(),y1A=(()=>{class t extends WM{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(A){return this.location.subscribe(i=>{i.type==="popstate"&&setTimeout(()=>{A(i.url,i.state,"popstate")})})}handleRouterEvent(A,i){A instanceof _2?this.updateStateMemento():A instanceof c0?this.commitTransition(i):A instanceof XB?this.urlUpdateStrategy==="eager"&&(i.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(i),i)):A instanceof AE?(this.commitTransition(i),this.urlUpdateStrategy==="deferred"&&!i.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(i),i)):A instanceof cl&&!IH(A)?this.restoreHistory(i):A instanceof T1?this.restoreHistory(i,!0):A instanceof ac&&(this.lastSuccessfulId=A.id,this.currentPageId=this.browserPageId)}setBrowserUrl(A,{extras:i,id:n}){let{replaceUrl:o,state:a}=i;if(this.location.isCurrentPathEqualTo(A)||o){let r=this.browserPageId,s=cA(cA({},a),this.generateNgRouterState(n,r));this.location.replaceState(A,"",s)}else{let r=cA(cA({},a),this.generateNgRouterState(n,this.browserPageId+1));this.location.go(A,"",r)}}restoreHistory(A,i=!1){if(this.canceledNavigationResolution==="computed"){let n=this.browserPageId,o=this.currentPageId-n;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===A.finalUrl&&o===0&&(this.resetInternalState(A),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(i&&this.resetInternalState(A),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:A}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,A??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(A,i){return this.canceledNavigationResolution==="computed"?{navigationId:A,\u0275routerPageId:i}:{navigationId:A}}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function P6(t,e){t.events.pipe(Ze(A=>A instanceof ac||A instanceof cl||A instanceof T1||A instanceof c0),fe(A=>A instanceof ac||A instanceof c0?0:(A instanceof cl?A.code===cs.Redirect||A.code===cs.SupersededByNewNavigation:!1)?2:1),Ze(A=>A!==2),oo(1)).subscribe(()=>{e()})}var _H={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},LH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},Cs=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=h(fU);stateManager=h(WM);options=h(P1,{optional:!0})||{};pendingTasks=h(EU);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=h(O6);urlSerializer=h(z1);location=h(o0);urlHandlingStrategy=h(z6);injector=h(Gr);_events=new XA;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=h(FH);injectorCleanup=h(NH,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=h(oE,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!h(C4,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:A=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new Jn;subscribeToNavigationEvents(){let A=this.navigationTransitions.events.subscribe(i=>{try{let n=this.navigationTransitions.currentTransition,o=la(this.navigationTransitions.currentNavigation);if(n!==null&&o!==null){if(this.stateManager.handleRouterEvent(i,o),i instanceof cl&&i.code!==cs.Redirect&&i.code!==cs.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof ac)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(i instanceof eE){let a=i.navigationBehaviorOptions,r=this.urlHandlingStrategy.merge(i.url,n.currentRawUrl),s=cA({scroll:n.extras.scroll,browserUrl:n.extras.browserUrl,info:n.extras.info,skipLocationChange:n.extras.skipLocationChange,replaceUrl:n.extras.replaceUrl||this.urlUpdateStrategy==="eager"||w1A(n.source)},a);this.scheduleNavigation(r,qB,null,s,{resolve:n.resolve,reject:n.reject,promise:n.promise})}}vIA(i)&&this._events.next(i)}catch(n){this.navigationTransitions.transitionAbortWithErrorSubject.next(n)}});this.eventsSubscription.add(A)}resetRootComponentType(A){this.routerState.root.component=A,this.navigationTransitions.rootComponentType=A}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),qB,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((A,i,n)=>{this.navigateToSyncWithBrowser(A,n,i)})}navigateToSyncWithBrowser(A,i,n){let o={replaceUrl:!0},a=n?.navigationId?n:null;if(n){let s=cA({},n);delete s.navigationId,delete s.\u0275routerPageId,Object.keys(s).length!==0&&(o.state=s)}let r=this.parseUrl(A);this.scheduleNavigation(r,i,a,o).catch(s=>{this.disposed||this.injector.get(Tb)(s)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return la(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(A){this.config=A.map(OM),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(A,i={}){let{relativeTo:n,queryParams:o,fragment:a,queryParamsHandling:r,preserveFragment:s}=i,g=s?this.currentUrlTree.fragment:a,l=null;switch(r??this.options.defaultQueryParamsHandling){case"merge":l=cA(cA({},this.currentUrlTree.queryParams),o);break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=o||null}l!==null&&(l=this.removeEmptyProps(l));let C;try{let I=n?n.snapshot:this.routerState.snapshot.root;C=gH(I)}catch{(typeof A[0]!="string"||A[0][0]!=="/")&&(A=[]),C=this.currentUrlTree.root}return lH(C,A,l,g??null,this.urlSerializer)}navigateByUrl(A,i={skipLocationChange:!1}){let n=WB(A)?A:this.parseUrl(A),o=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(o,qB,null,i)}navigate(A,i={skipLocationChange:!1}){return v1A(A),this.navigateByUrl(this.createUrlTree(A,i),i)}serializeUrl(A){return this.urlSerializer.serialize(A)}parseUrl(A){try{return this.urlSerializer.parse(A)}catch{return this.console.warn(CU(4018,!1)),this.urlSerializer.parse("/")}}isActive(A,i){let n;if(i===!0?n=cA({},_H):i===!1?n=cA({},LH):n=i,WB(A))return TT(this.currentUrlTree,A,n);let o=this.parseUrl(A);return TT(this.currentUrlTree,o,n)}removeEmptyProps(A){return Object.entries(A).reduce((i,[n,o])=>(o!=null&&(i[n]=o),i),{})}scheduleNavigation(A,i,n,o,a){if(this.disposed)return Promise.resolve(!1);let r,s,g;a?(r=a.resolve,s=a.reject,g=a.promise):g=new Promise((C,I)=>{r=C,s=I});let l=this.pendingTasks.add();return P6(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:A,extras:o,resolve:r,reject:s,promise:g,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),g.catch(C=>Promise.reject(C))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function v1A(t){for(let e=0;e{class t{router;injector;preloadingStrategy;loader;subscription;constructor(A,i,n,o){this.router=A,this.injector=i,this.preloadingStrategy=n,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(Ze(A=>A instanceof ac),lu(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription?.unsubscribe()}processRoutes(A,i){let n=[];for(let o of i){o.providers&&!o._injector&&(o._injector=rp(o.providers,A,""));let a=o._injector??A;o._loadedNgModuleFactory&&!o._loadedInjector&&(o._loadedInjector=o._loadedNgModuleFactory.create(a).injector);let r=o._loadedInjector??a;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&n.push(this.preloadConfig(a,o)),(o.children||o._loadedRoutes)&&n.push(this.processRoutes(r,o.children??o._loadedRoutes))}return Ms(n).pipe(Jb())}preloadConfig(A,i){return this.preloadingStrategy.preload(i,()=>{if(A.destroyed)return se(null);let n;i.loadChildren&&i.canLoad===void 0?n=Ms(this.loader.loadChildren(A,i)):n=se(null);let o=n.pipe(t0(a=>a===null?se(void 0):(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,i._loadedNgModuleFactory=a.factory,this.processRoutes(a.injector??A,a.routes))));if(i.loadComponent&&!i._loadedComponent){let a=this.loader.loadComponent(A,i);return Ms([o,a]).pipe(Jb())}else return o})}static \u0275fac=function(i){return new(i||t)(xo(Cs),xo(Gr),xo(d4),xo(H6))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),KH=new yA(""),M1A=(()=>{class t{options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=qB;restoredId=0;store={};urlSerializer=h(z1);zone=h(Oe);viewportScroller=h(jb);transitions=h(O6);constructor(A){this.options=A,this.options.scrollPositionRestoration||="disabled",this.options.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(A=>{A instanceof _2?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=A.navigationTrigger,this.restoredId=A.restoredState?A.restoredState.navigationId:0):A instanceof ac?(this.lastId=A.id,this.scheduleScrollEvent(A,this.urlSerializer.parse(A.urlAfterRedirects).fragment)):A instanceof c0&&A.code===ZB.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(A,this.urlSerializer.parse(A.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(A=>{if(!(A instanceof $B)||A.scrollBehavior==="manual")return;let i={behavior:"instant"};A.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],i):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(A.position,i):A.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(A.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(A,i){let n=la(this.transitions.currentNavigation)?.extras.scroll;this.zone.runOutsideAngular(()=>nt(this,null,function*(){yield new Promise(o=>{setTimeout(o),typeof requestAnimationFrame<"u"&&requestAnimationFrame(o)}),this.zone.run(()=>{this.transitions.events.next(new $B(A,this.lastSource==="popstate"?this.store[this.restoredId]:null,i,n))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(i){ap()};static \u0275prov=zA({token:t,factory:t.\u0275fac})}return t})();function k1A(){return h(Cs).routerState.root}function B4(t,e){return{\u0275kind:t,\u0275providers:e}}function S1A(){let t=h(ft);return e=>{let A=t.get(oC);if(e!==A.components[0])return;let i=t.get(Cs),n=t.get(UH);t.get(XM)===1&&i.initialNavigation(),t.get(TH,null,{optional:!0})?.setUpPreloading(),t.get(KH,null,{optional:!0})?.init(),i.resetRootComponentType(A.componentTypes[0]),n.closed||(n.next(),n.complete(),n.unsubscribe())}}var UH=new yA("",{factory:()=>new XA}),XM=new yA("",{factory:()=>1});function JH(){let t=[{provide:hU,useValue:!0},{provide:XM,useValue:0},zb(()=>{let e=h(ft);return e.get(FU,Promise.resolve()).then(()=>new Promise(i=>{let n=e.get(Cs),o=e.get(UH);P6(n,()=>{i(!0)}),e.get(O6).afterPreactivation=()=>(i(!0),o.closed?se(void 0):o),n.initialNavigation()}))})];return B4(2,t)}function YH(){let t=[zb(()=>{h(Cs).setUpLocationChangeListener()}),{provide:XM,useValue:2}];return B4(3,t)}var TH=new yA("");function HH(t){return B4(0,[{provide:TH,useExisting:GH},{provide:d4,useExisting:t}])}function zH(){return B4(8,[HM,{provide:C4,useExisting:HM}])}function OH(t){op("NgRouterViewTransitions");let e=[{provide:jM,useValue:RH},{provide:qM,useValue:cA({skipNextTransition:!!t?.skipInitialTransition},t)}];return B4(9,e)}var PH=[o0,{provide:z1,useClass:dC},Cs,O1,{provide:ag,useFactory:k1A},H6,[]],j6=(()=>{class t{constructor(){}static forRoot(A,i){return{ngModule:t,providers:[PH,[],{provide:oE,multi:!0,useValue:A},[],i?.errorHandler?{provide:VM,useValue:i.errorHandler}:[],{provide:P1,useValue:i||{}},i?.useHash?R1A():N1A(),x1A(),i?.preloadingStrategy?HH(i.preloadingStrategy).\u0275providers:[],i?.initialNavigation?F1A(i):[],i?.bindToComponentInputs?zH().\u0275providers:[],i?.enableViewTransitions?OH().\u0275providers:[],_1A()]}}static forChild(A){return{ngModule:t,providers:[{provide:oE,multi:!0,useValue:A}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();function x1A(){return{provide:KH,useFactory:()=>{let t=h(jb),e=h(P1);return e.scrollOffset&&t.setOffset(e.scrollOffset),new M1A(e)}}}function R1A(){return{provide:Pb,useClass:LU}}function N1A(){return{provide:Pb,useClass:_U}}function F1A(t){return[t.initialNavigation==="disabled"?YH().\u0275providers:[],t.initialNavigation==="enabledBlocking"?JH().\u0275providers:[]]}var ZM=new yA("");function _1A(){return[{provide:ZM,useFactory:S1A},{provide:mU,multi:!0,useExisting:ZM}]}var K1A=["*"];var U1A=new yA("MAT_CARD_CONFIG"),aE=(()=>{class t{appearance;constructor(){let A=h(U1A,{optional:!0});this.appearance=A?.appearance||"raised"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(i,n){i&2&&ne("mat-mdc-card-outlined",n.appearance==="outlined")("mdc-card--outlined",n.appearance==="outlined")("mat-mdc-card-filled",n.appearance==="filled")("mdc-card--filled",n.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:K1A,decls:1,vars:0,template:function(i,n){i&1&&(Yt(),Ke(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end} -`],encapsulation:2,changeDetection:0})}return t})();var jH=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var E4=class{};function Q4(t){return t&&typeof t.connect=="function"&&!(t instanceof oU)}var rc=(function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t})(rc||{}),q6=class{viewCacheSize=20;_viewCache=[];applyChanges(e,A,i,n,o){e.forEachOperation((a,r,s)=>{let g,l;if(a.previousIndex==null){let C=()=>i(a,r,s);g=this._insertView(C,s,A,n(a)),l=g?rc.INSERTED:rc.REPLACED}else s==null?(this._detachAndCacheView(r,A),l=rc.REMOVED):(g=this._moveView(r,s,A,n(a)),l=rc.MOVED);o&&o({context:g?.context,operation:l,record:a})})}detach(){for(let e of this._viewCache)e.destroy();this._viewCache=[]}_insertView(e,A,i,n){let o=this._insertViewFromCache(A,i);if(o){o.context.$implicit=n;return}let a=e();return i.createEmbeddedView(a.templateRef,a.context,a.index)}_detachAndCacheView(e,A){let i=A.detach(e);this._maybeCacheView(i,A)}_moveView(e,A,i,n){let o=i.get(e);return i.move(o,A),o.context.$implicit=n,o}_maybeCacheView(e,A){if(this._viewCache.length{class t{_ngZone=h(Oe);_platform=h(Ii);_renderer=h(Kr).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new XA;_scrolledCount=0;scrollContainers=new Map;register(A){this.scrollContainers.has(A)||this.scrollContainers.set(A,A.elementScrolled().subscribe(()=>this._scrolled.next(A)))}deregister(A){let i=this.scrollContainers.get(A);i&&(i.unsubscribe(),this.scrollContainers.delete(A))}scrolled(A=Y1A){return this._platform.isBrowser?new $i(i=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let n=A>0?this._scrolled.pipe(m1(A)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):se()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((A,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(A,i){let n=this.getAncestorScrollContainers(A);return this.scrolled(i).pipe(Ze(o=>!o||n.indexOf(o)>-1))}getAncestorScrollContainers(A){let i=[];return this.scrollContainers.forEach((n,o)=>{this._scrollableContainsElement(o,A)&&i.push(o)}),i}_scrollableContainsElement(A,i){let n=xs(i),o=A.getElementRef().nativeElement;do if(n==o)return!0;while(n=n.parentElement);return!1}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),BC=(()=>{class t{elementRef=h(ge);scrollDispatcher=h(I0);ngZone=h(Oe);dir=h(Ro,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new XA;_renderer=h(_i);_cleanupScroll;_elementScrolled=new XA;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",A=>this._elementScrolled.next(A))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(A){let i=this.elementRef.nativeElement,n=this.dir&&this.dir.value=="rtl";A.left==null&&(A.left=n?A.end:A.start),A.right==null&&(A.right=n?A.start:A.end),A.bottom!=null&&(A.top=i.scrollHeight-i.clientHeight-A.bottom),n&&_B()!=Xl.NORMAL?(A.left!=null&&(A.right=i.scrollWidth-i.clientWidth-A.left),_B()==Xl.INVERTED?A.left=A.right:_B()==Xl.NEGATED&&(A.left=A.right?-A.right:A.right)):A.right!=null&&(A.left=i.scrollWidth-i.clientWidth-A.right),this._applyScrollToOptions(A)}_applyScrollToOptions(A){let i=this.elementRef.nativeElement;Up()?i.scrollTo(A):(A.top!=null&&(i.scrollTop=A.top),A.left!=null&&(i.scrollLeft=A.left))}measureScrollOffset(A){let i="left",n="right",o=this.elementRef.nativeElement;if(A=="top")return o.scrollTop;if(A=="bottom")return o.scrollHeight-o.clientHeight-o.scrollTop;let a=this.dir&&this.dir.value=="rtl";return A=="start"?A=a?n:i:A=="end"&&(A=a?i:n),a&&_B()==Xl.INVERTED?A==i?o.scrollWidth-o.clientWidth-o.scrollLeft:o.scrollLeft:a&&_B()==Xl.NEGATED?A==i?o.scrollLeft+o.scrollWidth-o.clientWidth:-o.scrollLeft:A==i?o.scrollLeft:o.scrollWidth-o.clientWidth-o.scrollLeft}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]})}return t})(),T1A=20,Ls=(()=>{class t{_platform=h(Ii);_listeners;_viewportSize=null;_change=new XA;_document=h(Xt);constructor(){let A=h(Oe),i=h(Kr).createRenderer(null,null);A.runOutsideAngular(()=>{if(this._platform.isBrowser){let n=o=>this._change.next(o);this._listeners=[i.listen("window","resize",n),i.listen("window","orientationchange",n)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(A=>A()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let A={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),A}getViewportRect(){let A=this.getViewportScrollPosition(),{width:i,height:n}=this.getViewportSize();return{top:A.top,left:A.left,bottom:A.top+n,right:A.left+i,height:n,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let A=this._document,i=this._getWindow(),n=A.documentElement,o=n.getBoundingClientRect(),a=-o.top||A.body?.scrollTop||i.scrollY||n.scrollTop||0,r=-o.left||A.body?.scrollLeft||i.scrollX||n.scrollLeft||0;return{top:a,left:r}}change(A=T1A){return A>0?this._change.pipe(m1(A)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let A=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:A.innerWidth,height:A.innerHeight}:{width:0,height:0}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var qH=new yA("CDK_VIRTUAL_SCROLL_VIEWPORT");var C0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})(),V6=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi,C0,Gi,C0]})}return t})();var h4=class{_attachedHost=null;attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;e!=null&&(this._attachedHost=null,e.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(e){this._attachedHost=e}},Jg=class extends h4{component;viewContainerRef;injector;projectableNodes;constructor(e,A,i,n){super(),this.component=e,this.viewContainerRef=A,this.injector=i,this.projectableNodes=n}},Is=class extends h4{templateRef;viewContainerRef;context;injector;constructor(e,A,i,n){super(),this.templateRef=e,this.viewContainerRef=A,this.context=i,this.injector=n}get origin(){return this.templateRef.elementRef}attach(e,A=this.context){return this.context=A,super.attach(e)}detach(){return this.context=void 0,super.detach()}},$M=class extends h4{element;constructor(e){super(),this.element=e instanceof ge?e.nativeElement:e}},L2=class{_attachedPortal=null;_disposeFn=null;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(e){if(e instanceof Jg)return this._attachedPortal=e,this.attachComponentPortal(e);if(e instanceof Is)return this._attachedPortal=e,this.attachTemplatePortal(e);if(this.attachDomPortal&&e instanceof $M)return this._attachedPortal=e,this.attachDomPortal(e)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},u4=class extends L2{outletElement;_appRef;_defaultInjector;constructor(e,A,i){super(),this.outletElement=e,this._appRef=A,this._defaultInjector=i}attachComponentPortal(e){let A;if(e.viewContainerRef){let i=e.injector||e.viewContainerRef.injector,n=i.get(Hb,null,{optional:!0})||void 0;A=e.viewContainerRef.createComponent(e.component,{index:e.viewContainerRef.length,injector:i,ngModuleRef:n,projectableNodes:e.projectableNodes||void 0}),this.setDisposeFn(()=>A.destroy())}else{let i=this._appRef,n=e.injector||this._defaultInjector||ft.NULL,o=n.get(Gr,i.injector);A=Ip(e.component,{elementInjector:n,environmentInjector:o,projectableNodes:e.projectableNodes||void 0}),i.attachView(A.hostView),this.setDisposeFn(()=>{i.viewCount>0&&i.detachView(A.hostView),A.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(A)),this._attachedPortal=e,A}attachTemplatePortal(e){let A=e.viewContainerRef,i=A.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return i.rootNodes.forEach(n=>this.outletElement.appendChild(n)),i.detectChanges(),this.setDisposeFn(()=>{let n=A.indexOf(i);n!==-1&&A.remove(n)}),this._attachedPortal=e,i}attachDomPortal=e=>{let A=e.element;A.parentNode;let i=this.outletElement.ownerDocument.createComment("dom-portal");A.parentNode.insertBefore(i,A),this.outletElement.appendChild(A),this._attachedPortal=e,super.setDisposeFn(()=>{i.parentNode&&i.parentNode.replaceChild(A,i)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(e){return e.hostView.rootNodes[0]}},VH=(()=>{class t extends Is{constructor(){let A=h(Tn),i=h(Oo);super(A,i)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[It]})}return t})(),Yg=(()=>{class t extends L2{_moduleRef=h(Hb,{optional:!0});_document=h(Xt);_viewContainerRef=h(Oo);_isInitialized=!1;_attachedRef=null;constructor(){super()}get portal(){return this._attachedPortal}set portal(A){this.hasAttached()&&!A&&!this._isInitialized||(this.hasAttached()&&super.detach(),A&&super.attach(A),this._attachedPortal=A||null)}attached=new $A;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(A){A.setAttachedHost(this);let i=A.viewContainerRef!=null?A.viewContainerRef:this._viewContainerRef,n=i.createComponent(A.component,{index:i.length,injector:A.injector||i.injector,projectableNodes:A.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0});return i!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=A,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(A){A.setAttachedHost(this);let i=this._viewContainerRef.createEmbeddedView(A.templateRef,A.context,{injector:A.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=A,this._attachedRef=i,this.attached.emit(i),i}attachDomPortal=A=>{let i=A.element;i.parentNode;let n=this._document.createComment("dom-portal");A.setAttachedHost(this),i.parentNode.insertBefore(n,i),this._getRootNode().appendChild(i),this._attachedPortal=A,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(i,n)})};_getRootNode(){let A=this._viewContainerRef.element.nativeElement;return A.nodeType===A.ELEMENT_NODE?A:A.parentNode}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[It]})}return t})(),d0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();var WH=Up();function gE(t){return new W6(t.get(Ls),t.get(Xt))}var W6=class{_viewportRuler;_previousHTMLStyles={top:"",left:""};_previousScrollPosition;_isEnabled=!1;_document;constructor(e,A){this._viewportRuler=e,this._document=A}attach(){}enable(){if(this._canBeEnabled()){let e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=Va(-this._previousScrollPosition.left),e.style.top=Va(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let e=this._document.documentElement,A=this._document.body,i=e.style,n=A.style,o=i.scrollBehavior||"",a=n.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),WH&&(i.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),WH&&(i.scrollBehavior=o,n.scrollBehavior=a)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let A=this._document.documentElement,i=this._viewportRuler.getViewportSize();return A.scrollHeight>i.height||A.scrollWidth>i.width}};function iz(t,e){return new Z6(t.get(I0),t.get(Oe),t.get(Ls),e)}var Z6=class{_scrollDispatcher;_ngZone;_viewportRuler;_config;_scrollSubscription=null;_overlayRef;_initialScrollPosition;constructor(e,A,i,n){this._scrollDispatcher=e,this._ngZone=A,this._viewportRuler=i,this._config=n}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(this._scrollSubscription)return;let e=this._scrollDispatcher.scrolled(0).pipe(Ze(A=>!A||!this._overlayRef.overlayElement.contains(A.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{let A=this._viewportRuler.getViewportScrollPosition().top;Math.abs(A-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}_detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}};var f4=class{enable(){}disable(){}attach(){}};function Ak(t,e){return e.some(A=>{let i=t.bottomA.bottom,o=t.rightA.right;return i||n||o||a})}function ZH(t,e){return e.some(A=>{let i=t.topA.bottom,o=t.leftA.right;return i||n||o||a})}function EC(t,e){return new X6(t.get(I0),t.get(Ls),t.get(Oe),e)}var X6=class{_scrollDispatcher;_viewportRuler;_ngZone;_config;_scrollSubscription=null;_overlayRef;constructor(e,A,i,n){this._scrollDispatcher=e,this._viewportRuler=A,this._ngZone=i,this._config=n}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(!this._scrollSubscription){let e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let A=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:n}=this._viewportRuler.getViewportSize();Ak(A,[{width:i,height:n,bottom:n,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},nz=(()=>{class t{_injector=h(ft);constructor(){}noop=()=>new f4;close=A=>iz(this._injector,A);block=()=>gE(this._injector);reposition=A=>EC(this._injector,A);static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),sc=class{positionStrategy;scrollStrategy=new f4;panelClass="";hasBackdrop=!1;backdropClass="cdk-overlay-dark-backdrop";disableAnimations;width;height;minWidth;minHeight;maxWidth;maxHeight;direction;disposeOnNavigation=!1;usePopover;constructor(e){if(e){let A=Object.keys(e);for(let i of A)e[i]!==void 0&&(this[i]=e[i])}}};var $6=class{connectionPair;scrollableViewProperties;constructor(e,A){this.connectionPair=e,this.scrollableViewProperties=A}};var oz=(()=>{class t{_attachedOverlays=[];_document=h(Xt);_isAttached=!1;constructor(){}ngOnDestroy(){this.detach()}add(A){this.remove(A),this._attachedOverlays.push(A)}remove(A){let i=this._attachedOverlays.indexOf(A);i>-1&&this._attachedOverlays.splice(i,1),this._attachedOverlays.length===0&&this.detach()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),az=(()=>{class t extends oz{_ngZone=h(Oe);_renderer=h(Kr).createRenderer(null,null);_cleanupKeydown;add(A){super.add(A),this._isAttached||(this._ngZone.runOutsideAngular(()=>{this._cleanupKeydown=this._renderer.listen("body","keydown",this._keydownListener)}),this._isAttached=!0)}detach(){this._isAttached&&(this._cleanupKeydown?.(),this._isAttached=!1)}_keydownListener=A=>{let i=this._attachedOverlays;for(let n=i.length-1;n>-1;n--)if(i[n]._keydownEvents.observers.length>0){this._ngZone.run(()=>i[n]._keydownEvents.next(A));break}};static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),rz=(()=>{class t extends oz{_platform=h(Ii);_ngZone=h(Oe);_renderer=h(Kr).createRenderer(null,null);_cursorOriginalValue;_cursorStyleIsSet=!1;_pointerDownEventTarget=null;_cleanups;add(A){if(super.add(A),!this._isAttached){let i=this._document.body,n={capture:!0},o=this._renderer;this._cleanups=this._ngZone.runOutsideAngular(()=>[o.listen(i,"pointerdown",this._pointerDownListener,n),o.listen(i,"click",this._clickListener,n),o.listen(i,"auxclick",this._clickListener,n),o.listen(i,"contextmenu",this._clickListener,n)]),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){this._isAttached&&(this._cleanups?.forEach(A=>A()),this._cleanups=void 0,this._platform.IOS&&this._cursorStyleIsSet&&(this._document.body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1)}_pointerDownListener=A=>{this._pointerDownEventTarget=Jr(A)};_clickListener=A=>{let i=Jr(A),n=A.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:i;this._pointerDownEventTarget=null;let o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){let r=o[a];if(r._outsidePointerEvents.observers.length<1||!r.hasAttached())continue;if(XH(r.overlayElement,i)||XH(r.overlayElement,n))break;let s=r._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>s.next(A)):s.next(A)}};static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function XH(t,e){let A=typeof ShadowRoot<"u"&&ShadowRoot,i=e;for(;i;){if(i===t)return!0;i=A&&i instanceof ShadowRoot?i.host:i.parentNode}return!1}var sz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["ng-component"]],hostAttrs:["cdk-overlay-style-loader",""],decls:0,vars:0,template:function(i,n){},styles:[`.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:auto;top:0;left:0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto} -`],encapsulation:2,changeDetection:0})}return t})(),t8=(()=>{class t{_platform=h(Ii);_containerElement;_document=h(Xt);_styleLoader=h(Xn);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let A="cdk-overlay-container";if(this._platform.isBrowser||f9()){let n=this._document.querySelectorAll(`.${A}[platform="server"], .${A}[platform="test"]`);for(let o=0;o{let e=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),e.style.pointerEvents="none",e.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}};function tk(t){return t&&t.nodeType===1}var rE=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new XA;_attachments=new XA;_detachments=new XA;_positionStrategy;_scrollStrategy;_locationChanges=Jn.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_disposed=!1;_previousHostParent;_keydownEvents=new XA;_outsidePointerEvents=new XA;_afterNextRenderRef;constructor(e,A,i,n,o,a,r,s,g,l=!1,C,I){this._portalOutlet=e,this._host=A,this._pane=i,this._config=n,this._ngZone=o,this._keyboardDispatcher=a,this._document=r,this._location=s,this._outsideClickDispatcher=g,this._animationsDisabled=l,this._injector=C,this._renderer=I,n.scrollStrategy&&(this._scrollStrategy=n.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=n.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}attach(e){if(this._disposed)return null;this._attachHost();let A=this._portalOutlet.attach(e);return this._positionStrategy?.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=Yn(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof A?.onDestroy=="function"&&A.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),A}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let e=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){if(this._disposed)return;let e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,e&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent(),this._disposed=!0}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=cA(cA({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Ge(cA({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){let e=this._config.direction;return e?typeof e=="string"?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let e=this._pane.style;e.width=Va(this._config.width),e.height=Va(this._config.height),e.minWidth=Va(this._config.minWidth),e.minHeight=Va(this._config.minHeight),e.maxWidth=Va(this._config.maxWidth),e.maxHeight=Va(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachHost(){if(!this._host.parentElement){let e=this._config.usePopover?this._positionStrategy?.getPopoverInsertionPoint?.():null;tk(e)?e.after(this._host):e?.type==="parent"?e.element.appendChild(this._host):this._previousHostParent?.appendChild(this._host)}if(this._config.usePopover)try{this._host.showPopover()}catch{}}_attachBackdrop(){let e="cdk-overlay-backdrop-showing";this._backdropRef?.dispose(),this._backdropRef=new ek(this._document,this._renderer,this._ngZone,A=>{this._backdropClick.next(A)}),this._animationsDisabled&&this._backdropRef.element.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropRef.element,this._config.backdropClass,!0),this._config.usePopover?this._host.prepend(this._backdropRef.element):this._host.parentElement.insertBefore(this._backdropRef.element,this._host),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._backdropRef?.element.classList.add(e))}):this._backdropRef.element.classList.add(e)}_updateStackingOrder(){!this._config.usePopover&&this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){this._animationsDisabled?(this._backdropRef?.dispose(),this._backdropRef=null):this._backdropRef?.detach()}_toggleClasses(e,A,i){let n=xB(A||[]).filter(o=>!!o);n.length&&(i?e.classList.add(...n):e.classList.remove(...n))}_detachContentWhenEmpty(){let e=!1;try{this._detachContentAfterRenderRef=Yn(()=>{e=!0,this._detachContent()},{injector:this._injector})}catch(A){if(e)throw A;this._detachContent()}globalThis.MutationObserver&&this._pane&&(this._detachContentMutationObserver||=new globalThis.MutationObserver(()=>{this._detachContent()}),this._detachContentMutationObserver.observe(this._pane,{childList:!0}))}_detachContent(){(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),this._completeDetachContent())}_completeDetachContent(){this._detachContentAfterRenderRef?.destroy(),this._detachContentAfterRenderRef=void 0,this._detachContentMutationObserver?.disconnect()}_disposeScrollStrategy(){let e=this._scrollStrategy;e?.disable(),e?.detach?.()}},$H="cdk-overlay-connected-position-bounding-box",z1A=/([A-Za-z%]+)$/;function q1(t,e){return new A8(e,t.get(Ls),t.get(Xt),t.get(Ii),t.get(t8))}var A8=class{_viewportRuler;_document;_platform;_overlayContainer;_overlayRef;_isInitialRender=!1;_lastBoundingBoxSize={width:0,height:0};_isPushed=!1;_canPush=!0;_growAfterOpen=!1;_hasFlexibleDimensions=!0;_positionLocked=!1;_originRect;_overlayRect;_viewportRect;_containerRect;_viewportMargin=0;_scrollables=[];_preferredPositions=[];_origin;_pane;_isDisposed=!1;_boundingBox=null;_lastPosition=null;_lastScrollVisibility=null;_positionChanges=new XA;_resizeSubscription=Jn.EMPTY;_offsetX=0;_offsetY=0;_transformOriginSelector;_appliedPanelClasses=[];_previousPushAmount=null;_popoverLocation="global";positionChanges=this._positionChanges;get positions(){return this._preferredPositions}constructor(e,A,i,n,o){this._viewportRuler=A,this._document=i,this._platform=n,this._overlayContainer=o,this.setOrigin(e)}attach(e){this._overlayRef&&this._overlayRef,this._validatePositions(),e.hostElement.classList.add($H),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._getContainerRect();let e=this._originRect,A=this._overlayRect,i=this._viewportRect,n=this._containerRect,o=[],a;for(let r of this._preferredPositions){let s=this._getOriginPoint(e,n,r),g=this._getOverlayPoint(s,A,r),l=this._getOverlayFit(g,A,i,r);if(l.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(r,s);return}if(this._canFitWithFlexibleDimensions(l,g,i)){o.push({position:r,origin:s,overlayRect:A,boundingBoxRect:this._calculateBoundingBoxRect(s,r)});continue}(!a||a.overlayFit.visibleAreas&&(s=l,r=g)}this._isPushed=!1,this._applyPosition(r.position,r.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(a.position,a.originPoint);return}this._applyPosition(a.position,a.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&j1(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove($H),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let e=this._lastPosition;e?(this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._getContainerRect(),this._applyPosition(e,this._getOriginPoint(this._originRect,this._containerRect,e))):this.apply()}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,e.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}withPopoverLocation(e){return this._popoverLocation=e,this}getPopoverInsertionPoint(){return this._popoverLocation==="global"?null:this._popoverLocation!=="inline"?this._popoverLocation:this._origin instanceof ge?this._origin.nativeElement:tk(this._origin)?this._origin:null}_getOriginPoint(e,A,i){let n;if(i.originX=="center")n=e.left+e.width/2;else{let a=this._isRtl()?e.right:e.left,r=this._isRtl()?e.left:e.right;n=i.originX=="start"?a:r}A.left<0&&(n-=A.left);let o;return i.originY=="center"?o=e.top+e.height/2:o=i.originY=="top"?e.top:e.bottom,A.top<0&&(o-=A.top),{x:n,y:o}}_getOverlayPoint(e,A,i){let n;i.overlayX=="center"?n=-A.width/2:i.overlayX==="start"?n=this._isRtl()?-A.width:0:n=this._isRtl()?0:-A.width;let o;return i.overlayY=="center"?o=-A.height/2:o=i.overlayY=="top"?0:-A.height,{x:e.x+n,y:e.y+o}}_getOverlayFit(e,A,i,n){let o=ez(A),{x:a,y:r}=e,s=this._getOffset(n,"x"),g=this._getOffset(n,"y");s&&(a+=s),g&&(r+=g);let l=0-a,C=a+o.width-i.width,I=0-r,d=r+o.height-i.height,B=this._subtractOverflows(o.width,l,C),E=this._subtractOverflows(o.height,I,d),Q=B*E;return{visibleArea:Q,isCompletelyWithinViewport:o.width*o.height===Q,fitsInViewportVertically:E===o.height,fitsInViewportHorizontally:B==o.width}}_canFitWithFlexibleDimensions(e,A,i){if(this._hasFlexibleDimensions){let n=i.bottom-A.y,o=i.right-A.x,a=Az(this._overlayRef.getConfig().minHeight),r=Az(this._overlayRef.getConfig().minWidth),s=e.fitsInViewportVertically||a!=null&&a<=n,g=e.fitsInViewportHorizontally||r!=null&&r<=o;return s&&g}return!1}_pushOverlayOnScreen(e,A,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};let n=ez(A),o=this._viewportRect,a=Math.max(e.x+n.width-o.width,0),r=Math.max(e.y+n.height-o.height,0),s=Math.max(o.top-i.top-e.y,0),g=Math.max(o.left-i.left-e.x,0),l=0,C=0;return n.width<=o.width?l=g||-a:l=e.xB&&!this._isInitialRender&&!this._growAfterOpen&&(a=e.y-B/2)}let s=A.overlayX==="start"&&!n||A.overlayX==="end"&&n,g=A.overlayX==="end"&&!n||A.overlayX==="start"&&n,l,C,I;if(g)I=i.width-e.x+this._getViewportMarginStart()+this._getViewportMarginEnd(),l=e.x-this._getViewportMarginStart();else if(s)C=e.x,l=i.right-e.x-this._getViewportMarginEnd();else{let d=Math.min(i.right-e.x+i.left,e.x),B=this._lastBoundingBoxSize.width;l=d*2,C=e.x-d,l>B&&!this._isInitialRender&&!this._growAfterOpen&&(C=e.x-B/2)}return{top:a,left:C,bottom:r,right:I,width:l,height:o}}_setBoundingBoxStyles(e,A){let i=this._calculateBoundingBoxRect(e,A);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));let n={};if(this._hasExactPosition())n.top=n.left="0",n.bottom=n.right="auto",n.maxHeight=n.maxWidth="",n.width=n.height="100%";else{let o=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;n.width=Va(i.width),n.height=Va(i.height),n.top=Va(i.top)||"auto",n.bottom=Va(i.bottom)||"auto",n.left=Va(i.left)||"auto",n.right=Va(i.right)||"auto",A.overlayX==="center"?n.alignItems="center":n.alignItems=A.overlayX==="end"?"flex-end":"flex-start",A.overlayY==="center"?n.justifyContent="center":n.justifyContent=A.overlayY==="bottom"?"flex-end":"flex-start",o&&(n.maxHeight=Va(o)),a&&(n.maxWidth=Va(a))}this._lastBoundingBoxSize=i,j1(this._boundingBox.style,n)}_resetBoundingBoxStyles(){j1(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){j1(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,A){let i={},n=this._hasExactPosition(),o=this._hasFlexibleDimensions,a=this._overlayRef.getConfig();if(n){let l=this._viewportRuler.getViewportScrollPosition();j1(i,this._getExactOverlayY(A,e,l)),j1(i,this._getExactOverlayX(A,e,l))}else i.position="static";let r="",s=this._getOffset(A,"x"),g=this._getOffset(A,"y");s&&(r+=`translateX(${s}px) `),g&&(r+=`translateY(${g}px)`),i.transform=r.trim(),a.maxHeight&&(n?i.maxHeight=Va(a.maxHeight):o&&(i.maxHeight="")),a.maxWidth&&(n?i.maxWidth=Va(a.maxWidth):o&&(i.maxWidth="")),j1(this._pane.style,i)}_getExactOverlayY(e,A,i){let n={top:"",bottom:""},o=this._getOverlayPoint(A,this._overlayRect,e);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),e.overlayY==="bottom"){let a=this._document.documentElement.clientHeight;n.bottom=`${a-(o.y+this._overlayRect.height)}px`}else n.top=Va(o.y);return n}_getExactOverlayX(e,A,i){let n={left:"",right:""},o=this._getOverlayPoint(A,this._overlayRect,e);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i));let a;if(this._isRtl()?a=e.overlayX==="end"?"left":"right":a=e.overlayX==="end"?"right":"left",a==="right"){let r=this._document.documentElement.clientWidth;n.right=`${r-(o.x+this._overlayRect.width)}px`}else n.left=Va(o.x);return n}_getScrollVisibility(){let e=this._getOriginRect(),A=this._pane.getBoundingClientRect(),i=this._scrollables.map(n=>n.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:ZH(e,i),isOriginOutsideView:Ak(e,i),isOverlayClipped:ZH(A,i),isOverlayOutsideView:Ak(A,i)}}_subtractOverflows(e,...A){return A.reduce((i,n)=>i-Math.max(n,0),e)}_getNarrowedViewportRect(){let e=this._document.documentElement.clientWidth,A=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._getViewportMarginTop(),left:i.left+this._getViewportMarginStart(),right:i.left+e-this._getViewportMarginEnd(),bottom:i.top+A-this._getViewportMarginBottom(),width:e-this._getViewportMarginStart()-this._getViewportMarginEnd(),height:A-this._getViewportMarginTop()-this._getViewportMarginBottom()}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,A){return A==="x"?e.offsetX==null?this._offsetX:e.offsetX:e.offsetY==null?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&xB(e).forEach(A=>{A!==""&&this._appliedPanelClasses.indexOf(A)===-1&&(this._appliedPanelClasses.push(A),this._pane.classList.add(A))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getViewportMarginStart(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.start??0}_getViewportMarginEnd(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.end??0}_getViewportMarginTop(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.top??0}_getViewportMarginBottom(){return typeof this._viewportMargin=="number"?this._viewportMargin:this._viewportMargin?.bottom??0}_getOriginRect(){let e=this._origin;if(e instanceof ge)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();let A=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+A,height:i,width:A}}_getContainerRect(){let e=this._overlayRef.getConfig().usePopover&&this._popoverLocation!=="global",A=this._overlayContainer.getContainerElement();e&&(A.style.display="block");let i=A.getBoundingClientRect();return e&&(A.style.display=""),i}};function j1(t,e){for(let A in e)e.hasOwnProperty(A)&&(t[A]=e[A]);return t}function Az(t){if(typeof t!="number"&&t!=null){let[e,A]=t.split(z1A);return!A||A==="px"?parseFloat(e):null}return t||null}function ez(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}function O1A(t,e){return t===e?!0:t.isOriginClipped===e.isOriginClipped&&t.isOriginOutsideView===e.isOriginOutsideView&&t.isOverlayClipped===e.isOverlayClipped&&t.isOverlayOutsideView===e.isOverlayOutsideView}var tz="cdk-global-overlay-wrapper";function G2(t){return new e8}var e8=class{_overlayRef;_cssPosition="static";_topOffset="";_bottomOffset="";_alignItems="";_xPosition="";_xOffset="";_width="";_height="";_isDisposed=!1;attach(e){let A=e.getConfig();this._overlayRef=e,this._width&&!A.width&&e.updateSize({width:this._width}),this._height&&!A.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(tz),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._xOffset=e,this._xPosition="left",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._xOffset=e,this._xPosition="right",this}start(e=""){return this._xOffset=e,this._xPosition="start",this}end(e=""){return this._xOffset=e,this._xPosition="end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._xPosition="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let e=this._overlayRef.overlayElement.style,A=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:n,height:o,maxWidth:a,maxHeight:r}=i,s=(n==="100%"||n==="100vw")&&(!a||a==="100%"||a==="100vw"),g=(o==="100%"||o==="100vh")&&(!r||r==="100%"||r==="100vh"),l=this._xPosition,C=this._xOffset,I=this._overlayRef.getConfig().direction==="rtl",d="",B="",E="";s?E="flex-start":l==="center"?(E="center",I?B=C:d=C):I?l==="left"||l==="end"?(E="flex-end",d=C):(l==="right"||l==="start")&&(E="flex-start",B=C):l==="left"||l==="start"?(E="flex-start",d=C):(l==="right"||l==="end")&&(E="flex-end",B=C),e.position=this._cssPosition,e.marginLeft=s?"0":d,e.marginTop=g?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=s?"0":B,A.justifyContent=E,A.alignItems=g?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let e=this._overlayRef.overlayElement.style,A=this._overlayRef.hostElement,i=A.style;A.classList.remove(tz),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}},gz=(()=>{class t{_injector=h(ft);constructor(){}global(){return G2()}flexibleConnectedTo(A){return q1(this._injector,A)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),m4=new yA("OVERLAY_DEFAULT_CONFIG");function lc(t,e){t.get(Xn).load(sz);let A=t.get(t8),i=t.get(Xt),n=t.get(an),o=t.get(oC),a=t.get(Ro),r=t.get(_i,null,{optional:!0})||t.get(Kr).createRenderer(null,null),s=new sc(e),g=t.get(m4,null,{optional:!0})?.usePopover??!0;s.direction=s.direction||a.value,"showPopover"in i.body?s.usePopover=e?.usePopover??g:s.usePopover=!1;let l=i.createElement("div"),C=i.createElement("div");l.id=n.getId("cdk-overlay-"),l.classList.add("cdk-overlay-pane"),C.appendChild(l),s.usePopover&&(C.setAttribute("popover","manual"),C.classList.add("cdk-overlay-popover"));let I=s.usePopover?s.positionStrategy?.getPopoverInsertionPoint?.():null;return tk(I)?I.after(C):I?.type==="parent"?I.element.appendChild(C):A.getContainerElement().appendChild(C),new rE(new u4(l,o,t),C,l,s,t.get(Oe),t.get(az),i,t.get(o0),t.get(rz),e?.disableAnimations??t.get(p1,null,{optional:!0})==="NoopAnimations",t.get(Gr),r)}var i8=(()=>{class t{scrollStrategies=h(nz);_positionBuilder=h(gz);_injector=h(ft);constructor(){}create(A){return lc(this._injector,A)}position(){return this._positionBuilder}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),P1A=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],j1A=new yA("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>EC(t)}}),sE=(()=>{class t{elementRef=h(ge);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]})}return t})(),lz=new yA("cdk-connected-overlay-default-config"),n8=(()=>{class t{_dir=h(Ro,{optional:!0});_injector=h(ft);_overlayRef;_templatePortal;_backdropSubscription=Jn.EMPTY;_attachSubscription=Jn.EMPTY;_detachSubscription=Jn.EMPTY;_positionSubscription=Jn.EMPTY;_offsetX;_offsetY;_position;_scrollStrategyFactory=h(j1A);_ngZone=h(Oe);origin;positions;positionStrategy;get offsetX(){return this._offsetX}set offsetX(A){this._offsetX=A,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(A){this._offsetY=A,this._position&&this._updatePositionStrategy(this._position)}width;height;minWidth;minHeight;backdropClass;panelClass;viewportMargin=0;scrollStrategy;open=!1;disableClose=!1;transformOriginSelector;hasBackdrop=!1;lockPosition=!1;flexibleDimensions=!1;growAfterOpen=!1;push=!1;disposeOnNavigation=!1;usePopover;matchWidth=!1;set _config(A){typeof A!="string"&&this._assignConfig(A)}backdropClick=new $A;positionChange=new $A;attach=new $A;detach=new $A;overlayKeydown=new $A;overlayOutsideClick=new $A;constructor(){let A=h(Tn),i=h(Oo),n=h(lz,{optional:!0}),o=h(m4,{optional:!0});this.usePopover=o?.usePopover===!1?null:"global",this._templatePortal=new Is(A,i),this.scrollStrategy=this._scrollStrategyFactory(),n&&this._assignConfig(n)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef?.dispose()}ngOnChanges(A){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef?.updateSize({width:this._getWidth(),minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),A.origin&&this.open&&this._position.apply()),A.open&&(this.open?this.attachOverlay():this.detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=P1A);let A=this._overlayRef=lc(this._injector,this._buildConfig());this._attachSubscription=A.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=A.detachments().subscribe(()=>this.detach.emit()),A.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),i.keyCode===27&&!this.disableClose&&!pa(i)&&(i.preventDefault(),this.detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{let n=this._getOriginElement(),o=Jr(i);(!n||n!==o&&!n.contains(o))&&this.overlayOutsideClick.next(i)})}_buildConfig(){let A=this._position=this.positionStrategy||this._createPositionStrategy(),i=new sc({direction:this._dir||"ltr",positionStrategy:A,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation,usePopover:!!this.usePopover});return(this.height||this.height===0)&&(i.height=this.height),(this.minWidth||this.minWidth===0)&&(i.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(A){let i=this.positions.map(n=>({originX:n.originX,originY:n.originY,overlayX:n.overlayX,overlayY:n.overlayY,offsetX:n.offsetX||this.offsetX,offsetY:n.offsetY||this.offsetY,panelClass:n.panelClass||void 0}));return A.setOrigin(this._getOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector).withPopoverLocation(this.usePopover===null?"global":this.usePopover)}_createPositionStrategy(){let A=q1(this._injector,this._getOrigin());return this._updatePositionStrategy(A),A}_getOrigin(){return this.origin instanceof sE?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof sE?this.origin.elementRef.nativeElement:this.origin instanceof ge?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}_getWidth(){return this.width?this.width:this.matchWidth?this._getOriginElement()?.getBoundingClientRect?.().width:void 0}attachOverlay(){this._overlayRef||this._createOverlay();let A=this._overlayRef;A.getConfig().hasBackdrop=this.hasBackdrop,A.updateSize({width:this._getWidth()}),A.hasAttached()||A.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=A.backdropClick().subscribe(i=>this.backdropClick.emit(i)):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(cU(()=>this.positionChange.observers.length>0)).subscribe(i=>{this._ngZone.run(()=>this.positionChange.emit(i)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()})),this.open=!0}detachOverlay(){this._overlayRef?.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.open=!1}_assignConfig(A){this.origin=A.origin??this.origin,this.positions=A.positions??this.positions,this.positionStrategy=A.positionStrategy??this.positionStrategy,this.offsetX=A.offsetX??this.offsetX,this.offsetY=A.offsetY??this.offsetY,this.width=A.width??this.width,this.height=A.height??this.height,this.minWidth=A.minWidth??this.minWidth,this.minHeight=A.minHeight??this.minHeight,this.backdropClass=A.backdropClass??this.backdropClass,this.panelClass=A.panelClass??this.panelClass,this.viewportMargin=A.viewportMargin??this.viewportMargin,this.scrollStrategy=A.scrollStrategy??this.scrollStrategy,this.disableClose=A.disableClose??this.disableClose,this.transformOriginSelector=A.transformOriginSelector??this.transformOriginSelector,this.hasBackdrop=A.hasBackdrop??this.hasBackdrop,this.lockPosition=A.lockPosition??this.lockPosition,this.flexibleDimensions=A.flexibleDimensions??this.flexibleDimensions,this.growAfterOpen=A.growAfterOpen??this.growAfterOpen,this.push=A.push??this.push,this.disposeOnNavigation=A.disposeOnNavigation??this.disposeOnNavigation,this.usePopover=A.usePopover??this.usePopover,this.matchWidth=A.matchWidth??this.matchWidth}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",he],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",he],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",he],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",he],push:[2,"cdkConnectedOverlayPush","push",he],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",he],usePopover:[0,"cdkConnectedOverlayUsePopover","usePopover"],matchWidth:[2,"cdkConnectedOverlayMatchWidth","matchWidth",he],_config:[0,"cdkConnectedOverlay","_config"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ti]})}return t})(),Cl=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[i8],imports:[Gi,d0,V6,V6]})}return t})();function q1A(t,e){}var K2=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var nk=(()=>{class t extends L2{_elementRef=h(ge);_focusTrapFactory=h(yu);_config;_interactivityChecker=h(NB);_ngZone=h(Oe);_focusMonitor=h(ar);_renderer=h(_i);_changeDetectorRef=h(Dt);_injector=h(ft);_platform=h(Ii);_document=h(Xt);_portalOutlet;_focusTrapped=new XA;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=h(K2,{optional:!0})||new K2,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(A){this._ariaLabelledByQueue.push(A),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(A){let i=this._ariaLabelledByQueue.indexOf(A);i>-1&&(this._ariaLabelledByQueue.splice(i,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(A){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachComponentPortal(A);return this._contentAttached(),i}attachTemplatePortal(A){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachTemplatePortal(A);return this._contentAttached(),i}attachDomPortal=A=>{this._portalOutlet.hasAttached();let i=this._portalOutlet.attachDomPortal(A);return this._contentAttached(),i};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(A,i){this._interactivityChecker.isFocusable(A)||(A.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),a(),A.removeAttribute("tabindex")},o=this._renderer.listen(A,"blur",n),a=this._renderer.listen(A,"mousedown",n)})),A.focus(i)}_focusByCssSelector(A,i){let n=this._elementRef.nativeElement.querySelector(A);n&&this._forceFocus(n,i)}_trapFocus(A){this._isDestroyed||Yn(()=>{let i=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||i.focus(A);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(A)||this._focusDialogContainer(A);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',A);break;default:this._focusByCssSelector(this._config.autoFocus,A);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let A=this._config.restoreFocus,i=null;if(typeof A=="string"?i=this._document.querySelector(A):typeof A=="boolean"?i=A?this._elementFocusedBeforeDialogWasOpened:null:A&&(i=A),this._config.restoreFocus&&i&&typeof i.focus=="function"){let n=mu(),o=this._elementRef.nativeElement;(!n||n===this._document.body||n===o||o.contains(n))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(A){this._elementRef.nativeElement.focus?.(A)}_containsFocus(){let A=this._elementRef.nativeElement,i=mu();return A===i||A.contains(i)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=mu()))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(i,n){if(i&1&&ai(Yg,7),i&2){let o;ce(o=Ce())&&(n._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,n){i&2&&ie("id",n._config.id||null)("role",n._config.role)("aria-modal",n._config.ariaModal)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null)},features:[It],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,n){i&1&&pt(0,q1A,0,0,"ng-template",0)},dependencies:[Yg],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit} -`],encapsulation:2})}return t})(),p4=class{overlayRef;config;componentInstance=null;componentRef=null;containerInstance;disableClose;closed=new XA;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(e,A){this.overlayRef=e,this.config=A,this.disableClose=A.disableClose,this.backdropClick=e.backdropClick(),this.keydownEvents=e.keydownEvents(),this.outsidePointerEvents=e.outsidePointerEvents(),this.id=A.id,this.keydownEvents.subscribe(i=>{i.keyCode===27&&!this.disableClose&&!pa(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=e.detachments().subscribe(()=>{A.closeOnOverlayDetachments!==!1&&this.close()})}close(e,A){if(this._canClose(e)){let i=this.closed;this.containerInstance._closeInteractionType=A?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(e),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(e="",A=""){return this.overlayRef.updateSize({width:e,height:A}),this}addPanelClass(e){return this.overlayRef.addPanelClass(e),this}removePanelClass(e){return this.overlayRef.removePanelClass(e),this}_canClose(e){let A=this.config;return!!this.containerInstance&&(!A.closePredicate||A.closePredicate(e,A,this.componentInstance))}},V1A=new yA("DialogScrollStrategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>gE(t)}}),W1A=new yA("DialogData"),Z1A=new yA("DefaultDialogConfig");function X1A(t){let e=jA(t),A=new $A;return{valueSignal:e,get value(){return e()},change:A,ngOnDestroy(){A.complete()}}}var ok=(()=>{class t{_injector=h(ft);_defaultOptions=h(Z1A,{optional:!0});_parentDialog=h(t,{optional:!0,skipSelf:!0});_overlayContainer=h(t8);_idGenerator=h(an);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new XA;_afterOpenedAtThisLevel=new XA;_ariaHiddenElements=new Map;_scrollStrategy=h(V1A);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=i0(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(cn(void 0)));constructor(){}open(A,i){let n=this._defaultOptions||new K2;i=cA(cA({},n),i),i.id=i.id||this._idGenerator.getId("cdk-dialog-"),i.id&&this.getDialogById(i.id);let o=this._getOverlayConfig(i),a=lc(this._injector,o),r=new p4(a,i),s=this._attachContainer(a,r,i);if(r.containerInstance=s,!this.openDialogs.length){let g=this._overlayContainer.getContainerElement();s._focusTrapped?s._focusTrapped.pipe(oo(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(g)}):this._hideNonDialogContentFromAssistiveTechnology(g)}return this._attachDialogContent(A,r,s,i),this.openDialogs.push(r),r.closed.subscribe(()=>this._removeOpenDialog(r,!0)),this.afterOpened.next(r),r}closeAll(){ik(this.openDialogs,A=>A.close())}getDialogById(A){return this.openDialogs.find(i=>i.id===A)}ngOnDestroy(){ik(this._openDialogsAtThisLevel,A=>{A.config.closeOnDestroy===!1&&this._removeOpenDialog(A,!1)}),ik(this._openDialogsAtThisLevel,A=>A.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(A){let i=new sc({positionStrategy:A.positionStrategy||G2().centerHorizontally().centerVertically(),scrollStrategy:A.scrollStrategy||this._scrollStrategy(),panelClass:A.panelClass,hasBackdrop:A.hasBackdrop,direction:A.direction,minWidth:A.minWidth,minHeight:A.minHeight,maxWidth:A.maxWidth,maxHeight:A.maxHeight,width:A.width,height:A.height,disposeOnNavigation:A.closeOnNavigation,disableAnimations:A.disableAnimations});return A.backdropClass&&(i.backdropClass=A.backdropClass),i}_attachContainer(A,i,n){let o=n.injector||n.viewContainerRef?.injector,a=[{provide:K2,useValue:n},{provide:p4,useValue:i},{provide:rE,useValue:A}],r;n.container?typeof n.container=="function"?r=n.container:(r=n.container.type,a.push(...n.container.providers(n))):r=nk;let s=new Jg(r,n.viewContainerRef,ft.create({parent:o||this._injector,providers:a}));return A.attach(s).instance}_attachDialogContent(A,i,n,o){if(A instanceof Tn){let a=this._createInjector(o,i,n,void 0),r={$implicit:o.data,dialogRef:i};o.templateContext&&(r=cA(cA({},r),typeof o.templateContext=="function"?o.templateContext():o.templateContext)),n.attachTemplatePortal(new Is(A,null,r,a))}else{let a=this._createInjector(o,i,n,this._injector),r=n.attachComponentPortal(new Jg(A,o.viewContainerRef,a));i.componentRef=r,i.componentInstance=r.instance}}_createInjector(A,i,n,o){let a=A.injector||A.viewContainerRef?.injector,r=[{provide:W1A,useValue:A.data},{provide:p4,useValue:i}];return A.providers&&(typeof A.providers=="function"?r.push(...A.providers(i,A,n)):r.push(...A.providers)),A.direction&&(!a||!a.get(Ro,null,{optional:!0}))&&r.push({provide:Ro,useValue:X1A(A.direction)}),ft.create({parent:a||o,providers:r})}_removeOpenDialog(A,i){let n=this.openDialogs.indexOf(A);n>-1&&(this.openDialogs.splice(n,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,a)=>{o?a.setAttribute("aria-hidden",o):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(A){if(A.parentElement){let i=A.parentElement.children;for(let n=i.length-1;n>-1;n--){let o=i[n];o!==A&&o.nodeName!=="SCRIPT"&&o.nodeName!=="STYLE"&&!o.hasAttribute("aria-live")&&!o.hasAttribute("popover")&&(this._ariaHiddenElements.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let A=this._parentDialog;return A?A._getAfterAllClosed():this._afterAllClosedAtThisLevel}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ik(t,e){let A=t.length;for(;A--;)e(t[A])}var cz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[ok],imports:[Cl,d0,bu,d0]})}return t})();function $1A(t,e){}var a8=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;position;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;delayFocusTrap=!0;scrollStrategy;closeOnNavigation=!0;enterAnimationDuration;exitAnimationDuration},ak="mdc-dialog--open",Cz="mdc-dialog--opening",Iz="mdc-dialog--closing",AdA=150,edA=75,tdA=(()=>{class t extends nk{_animationStateChanged=new $A;_animationsEnabled=!ji();_actionSectionCount=0;_hostElement=this._elementRef.nativeElement;_enterAnimationDuration=this._animationsEnabled?Bz(this._config.enterAnimationDuration)??AdA:0;_exitAnimationDuration=this._animationsEnabled?Bz(this._config.exitAnimationDuration)??edA:0;_animationTimer=null;_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(dz,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Cz,ak)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(ak),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(ak),this._animationsEnabled?(this._hostElement.style.setProperty(dz,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Iz)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(A){this._actionSectionCount+=A,this._changeDetectorRef.markForCheck()}_finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)};_finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})};_clearAnimationClasses(){this._hostElement.classList.remove(Cz,Iz)}_waitForAnimationToComplete(A,i){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,A)}_requestAnimationFrame(A){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(A):A()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(A){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:A})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(A){let i=super.attachComponentPortal(A);return i.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),i}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(i,n){i&2&&(vo("id",n._config.id),ie("aria-modal",n._config.ariaModal)("role",n._config.role)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null),ne("_mat-animation-noopable",!n._animationsEnabled)("mat-mdc-dialog-container-with-actions",n._actionSectionCount>0))},features:[It],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,n){i&1&&(m(0,"div",0)(1,"div",1),pt(2,$1A,0,0,"ng-template",2),w()())},dependencies:[Yg],styles:[`.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 560px);min-width:var(--mat-dialog-container-min-width, 280px)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, calc(100vw - 32px))}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, none);border-radius:var(--mat-dialog-container-shape, var(--mat-sys-corner-extra-large, 4px));background-color:var(--mat-dialog-container-color, var(--mat-sys-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 6px 24px 13px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mat-dialog-subhead-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-dialog-subhead-font, var(--mat-sys-headline-small-font, inherit));line-height:var(--mat-dialog-subhead-line-height, var(--mat-sys-headline-small-line-height, 1.5rem));font-size:var(--mat-dialog-subhead-size, var(--mat-sys-headline-small-size, 1rem));font-weight:var(--mat-dialog-subhead-weight, var(--mat-sys-headline-small-weight, 400));letter-spacing:var(--mat-dialog-subhead-tracking, var(--mat-sys-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mat-dialog-supporting-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mat-dialog-supporting-text-font, var(--mat-sys-body-medium-font, inherit));line-height:var(--mat-dialog-supporting-text-line-height, var(--mat-sys-body-medium-line-height, 1.5rem));font-size:var(--mat-dialog-supporting-text-size, var(--mat-sys-body-medium-size, 1rem));font-weight:var(--mat-dialog-supporting-text-weight, var(--mat-sys-body-medium-weight, 400));letter-spacing:var(--mat-dialog-supporting-text-tracking, var(--mat-sys-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px 0)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;box-sizing:border-box;min-height:52px;margin:0;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 16px 24px);justify-content:var(--mat-dialog-actions-alignment, flex-end)}@media(forced-colors: active){.mat-mdc-dialog-actions{border-top-color:CanvasText}}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents} -`],encapsulation:2})}return t})(),dz="--mat-dialog-transition-duration";function Bz(t){return t==null?null:typeof t=="number"?t:t.endsWith("ms")?tg(t.substring(0,t.length-2)):t.endsWith("s")?tg(t.substring(0,t.length-1))*1e3:t==="0"?0:null}var o8=(function(t){return t[t.OPEN=0]="OPEN",t[t.CLOSING=1]="CLOSING",t[t.CLOSED=2]="CLOSED",t})(o8||{}),bo=class{_ref;_config;_containerInstance;componentInstance;componentRef=null;disableClose;id;_afterOpened=new ql(1);_beforeClosed=new ql(1);_result;_closeFallbackTimeout;_state=o8.OPEN;_closeInteractionType;constructor(e,A,i){this._ref=e,this._config=A,this._containerInstance=i,this.disableClose=A.disableClose,this.id=e.id,e.addPanelClass("mat-mdc-dialog-panel"),i._animationStateChanged.pipe(Ze(n=>n.state==="opened"),oo(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(Ze(n=>n.state==="closed"),oo(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),fi(this.backdropClick(),this.keydownEvents().pipe(Ze(n=>n.keyCode===27&&!this.disableClose&&!pa(n)))).subscribe(n=>{this.disableClose||(n.preventDefault(),Ez(this,n.type==="keydown"?"keyboard":"mouse"))})}close(e){let A=this._config.closePredicate;A&&!A(e,this._config,this.componentInstance)||(this._result=e,this._containerInstance._animationStateChanged.pipe(Ze(i=>i.state==="closing"),oo(1)).subscribe(i=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),i.totalTime+100)}),this._state=o8.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(e){let A=this._ref.config.positionStrategy;return e&&(e.left||e.right)?e.left?A.left(e.left):A.right(e.right):A.centerHorizontally(),e&&(e.top||e.bottom)?e.top?A.top(e.top):A.bottom(e.bottom):A.centerVertically(),this._ref.updatePosition(),this}updateSize(e="",A=""){return this._ref.updateSize(e,A),this}addPanelClass(e){return this._ref.addPanelClass(e),this}removePanelClass(e){return this._ref.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=o8.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Ez(t,e,A){return t._closeInteractionType=e,t.close(A)}var Ca=new yA("MatMdcDialogData"),idA=new yA("mat-mdc-dialog-default-options"),ndA=new yA("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>gE(t)}}),Gs=(()=>{class t{_defaultOptions=h(idA,{optional:!0});_scrollStrategy=h(ndA);_parentDialog=h(t,{optional:!0,skipSelf:!0});_idGenerator=h(an);_injector=h(ft);_dialog=h(ok);_animationsDisabled=ji();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new XA;_afterOpenedAtThisLevel=new XA;dialogConfigClass=a8;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let A=this._parentDialog;return A?A._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=i0(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(cn(void 0)));constructor(){this._dialogRefConstructor=bo,this._dialogContainerType=tdA,this._dialogDataToken=Ca}open(A,i){let n;i=cA(cA({},this._defaultOptions||new a8),i),i.id=i.id||this._idGenerator.getId("mat-mdc-dialog-"),i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();let o=this._dialog.open(A,Ge(cA({},i),{positionStrategy:G2(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||i.enterAnimationDuration?.toLocaleString()==="0"||i.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:K2,useValue:i}]},templateContext:()=>({dialogRef:n}),providers:(a,r,s)=>(n=new this._dialogRefConstructor(a,i,s),n.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:s},{provide:this._dialogDataToken,useValue:r.data},{provide:this._dialogRefConstructor,useValue:n}])}));return n.componentRef=o.componentRef,n.componentInstance=o.componentInstance,this.openDialogs.push(n),this.afterOpened.next(n),n.afterClosed().subscribe(()=>{let a=this.openDialogs.indexOf(n);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),n}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(A){return this.openDialogs.find(i=>i.id===A)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(A){let i=A.length;for(;i--;)A[i].close()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),B0=(()=>{class t{dialogRef=h(bo,{optional:!0});_elementRef=h(ge);_dialog=h(Gs);ariaLabel;type="button";dialogResult;_matDialogClose;constructor(){}ngOnInit(){this.dialogRef||(this.dialogRef=hz(this._elementRef,this._dialog.openDialogs))}ngOnChanges(A){let i=A._matDialogClose||A._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(A){Ez(this.dialogRef,A.screenX===0&&A.screenY===0?"keyboard":"mouse",this.dialogResult)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(i,n){i&1&&tA("click",function(a){return n._onButtonClick(a)}),i&2&&ie("aria-label",n.ariaLabel||null)("type",n.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[ti]})}return t})(),Qz=(()=>{class t{_dialogRef=h(bo,{optional:!0});_elementRef=h(ge);_dialog=h(Gs);constructor(){}ngOnInit(){this._dialogRef||(this._dialogRef=hz(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t})}return t})(),Da=(()=>{class t extends Qz{id=h(an).getId("mat-mdc-dialog-title-");_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(i,n){i&2&&vo("id",n.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],features:[It]})}return t})(),rr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],features:[sp([BC])]})}return t})(),Ua=(()=>{class t extends Qz{align;_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(i,n){i&2&&ne("mat-mdc-dialog-actions-align-start",n.align==="start")("mat-mdc-dialog-actions-align-center",n.align==="center")("mat-mdc-dialog-actions-align-end",n.align==="end")},inputs:{align:"align"},features:[It]})}return t})();function hz(t,e){let A=t.nativeElement.parentElement;for(;A&&!A.classList.contains("mat-mdc-dialog-container");)A=A.parentElement;return A?e.find(i=>i.id===A.id):null}var uz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[Gs],imports:[cz,Cl,d0,Gi]})}return t})();var r8=(()=>{class t{get vertical(){return this._vertical}set vertical(A){this._vertical=yr(A)}_vertical=!1;get inset(){return this._inset}set inset(A){this._inset=yr(A)}_inset=!1;static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(i,n){i&2&&(ie("aria-orientation",n.vertical?"vertical":"horizontal"),ne("mat-divider-vertical",n.vertical)("mat-divider-horizontal",!n.vertical)("mat-divider-inset",n.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(i,n){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px} -`],encapsulation:2,changeDetection:0})}return t})(),fz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();function mz(t){return Error(`Unable to find icon with the name "${t}"`)}function adA(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function pz(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function wz(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}var hC=class{url;svgText;options;svgElement=null;constructor(e,A,i){this.url=e,this.svgText=A,this.options=i}},yz=(()=>{class t{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(A,i,n,o){this._httpClient=A,this._sanitizer=i,this._errorHandler=o,this._document=n}addSvgIcon(A,i,n){return this.addSvgIconInNamespace("",A,i,n)}addSvgIconLiteral(A,i,n){return this.addSvgIconLiteralInNamespace("",A,i,n)}addSvgIconInNamespace(A,i,n,o){return this._addSvgIconConfig(A,i,new hC(n,null,o))}addSvgIconResolver(A){return this._resolvers.push(A),this}addSvgIconLiteralInNamespace(A,i,n,o){let a=this._sanitizer.sanitize(Wl.HTML,n);if(!a)throw wz(n);let r=k1(a);return this._addSvgIconConfig(A,i,new hC("",r,o))}addSvgIconSet(A,i){return this.addSvgIconSetInNamespace("",A,i)}addSvgIconSetLiteral(A,i){return this.addSvgIconSetLiteralInNamespace("",A,i)}addSvgIconSetInNamespace(A,i,n){return this._addSvgIconSetConfig(A,new hC(i,null,n))}addSvgIconSetLiteralInNamespace(A,i,n){let o=this._sanitizer.sanitize(Wl.HTML,i);if(!o)throw wz(i);let a=k1(o);return this._addSvgIconSetConfig(A,new hC("",a,n))}registerFontClassAlias(A,i=A){return this._fontCssClassesByAlias.set(A,i),this}classNameForFontAlias(A){return this._fontCssClassesByAlias.get(A)||A}setDefaultFontSetClass(...A){return this._defaultFontSetClass=A,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(A){let i=this._sanitizer.sanitize(Wl.RESOURCE_URL,A);if(!i)throw pz(A);let n=this._cachedIconsByUrl.get(i);return n?se(s8(n)):this._loadSvgIconFromConfig(new hC(A,null)).pipe(oi(o=>this._cachedIconsByUrl.set(i,o)),fe(o=>s8(o)))}getNamedSvgIcon(A,i=""){let n=Dz(i,A),o=this._svgIconConfigs.get(n);if(o)return this._getSvgFromConfig(o);if(o=this._getIconConfigFromResolvers(i,A),o)return this._svgIconConfigs.set(n,o),this._getSvgFromConfig(o);let a=this._iconSetConfigs.get(i);return a?this._getSvgFromIconSetConfigs(A,a):Zm(mz(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(A){return A.svgText?se(s8(this._svgElementFromConfig(A))):this._loadSvgIconFromConfig(A).pipe(fe(i=>s8(i)))}_getSvgFromIconSetConfigs(A,i){let n=this._extractIconWithNameFromAnySet(A,i);if(n)return se(n);let o=i.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(ta(r=>{let g=`Loading icon set URL: ${this._sanitizer.sanitize(Wl.RESOURCE_URL,a.url)} failed: ${r.message}`;return this._errorHandler.handleError(new Error(g)),se(null)})));return $m(o).pipe(fe(()=>{let a=this._extractIconWithNameFromAnySet(A,i);if(!a)throw mz(A);return a}))}_extractIconWithNameFromAnySet(A,i){for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.svgText&&o.svgText.toString().indexOf(A)>-1){let a=this._svgElementFromConfig(o),r=this._extractSvgIconFromSet(a,A,o.options);if(r)return r}}return null}_loadSvgIconFromConfig(A){return this._fetchIcon(A).pipe(oi(i=>A.svgText=i),fe(()=>this._svgElementFromConfig(A)))}_loadSvgIconSetFromConfig(A){return A.svgText?se(null):this._fetchIcon(A).pipe(oi(i=>A.svgText=i))}_extractSvgIconFromSet(A,i,n){let o=A.querySelector(`[id="${i}"]`);if(!o)return null;let a=o.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,n);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),n);let r=this._svgElementFromString(k1(""));return r.appendChild(a),this._setSvgAttributes(r,n)}_svgElementFromString(A){let i=this._document.createElement("DIV");i.innerHTML=A;let n=i.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(A){let i=this._svgElementFromString(k1("")),n=A.attributes;for(let o=0;ok1(g)),ep(()=>this._inProgressUrlFetches.delete(a)),u2());return this._inProgressUrlFetches.set(a,s),s}_addSvgIconConfig(A,i,n){return this._svgIconConfigs.set(Dz(A,i),n),this}_addSvgIconSetConfig(A,i){let n=this._iconSetConfigs.get(A);return n?n.push(i):this._iconSetConfigs.set(A,[i]),this}_svgElementFromConfig(A){if(!A.svgElement){let i=this._svgElementFromString(A.svgText);this._setSvgAttributes(i,A.options),A.svgElement=i}return A.svgElement}_getIconConfigFromResolvers(A,i){for(let n=0;n{let t=h(Xt),e=t?t.location:null;return{getPathname:()=>e?e.pathname+e.search:""}}}),vz=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],cdA=vz.map(t=>`[${t}]`).join(", "),CdA=/^url\(['"]?#(.*?)['"]?\)$/,Fn=(()=>{class t{_elementRef=h(ge);_iconRegistry=h(yz);_location=h(ldA);_errorHandler=h(tp);_defaultColor;get color(){return this._color||this._defaultColor}set color(A){this._color=A}_color;inline=!1;get svgIcon(){return this._svgIcon}set svgIcon(A){A!==this._svgIcon&&(A?this._updateSvgIcon(A):this._svgIcon&&this._clearSvgElement(),this._svgIcon=A)}_svgIcon;get fontSet(){return this._fontSet}set fontSet(A){let i=this._cleanupFontValue(A);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}_fontSet;get fontIcon(){return this._fontIcon}set fontIcon(A){let i=this._cleanupFontValue(A);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_fontIcon;_previousFontSetClass=[];_previousFontIconClass;_svgName=null;_svgNamespace=null;_previousPath;_elementsWithExternalReferences;_currentIconFetch=Jn.EMPTY;constructor(){let A=h(new Ws("aria-hidden"),{optional:!0}),i=h(gdA,{optional:!0});i&&(i.color&&(this.color=this._defaultColor=i.color),i.fontSet&&(this.fontSet=i.fontSet)),A||this._elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(A){if(!A)return["",""];let i=A.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${A}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let A=this._elementsWithExternalReferences;if(A&&A.size){let i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(A){this._clearSvgElement();let i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(A),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(A)}_clearSvgElement(){let A=this._elementRef.nativeElement,i=A.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){let n=A.childNodes[i];(n.nodeType!==1||n.nodeName.toLowerCase()==="svg")&&n.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let A=this._elementRef.nativeElement,i=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(n=>n.length>0);this._previousFontSetClass.forEach(n=>A.classList.remove(n)),i.forEach(n=>A.classList.add(n)),this._previousFontSetClass=i,this.fontIcon!==this._previousFontIconClass&&!i.includes("mat-ligature-font")&&(this._previousFontIconClass&&A.classList.remove(this._previousFontIconClass),this.fontIcon&&A.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(A){return typeof A=="string"?A.trim().split(" ")[0]:A}_prependPathToReferences(A){let i=this._elementsWithExternalReferences;i&&i.forEach((n,o)=>{n.forEach(a=>{o.setAttribute(a.name,`url('${A}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(A){let i=A.querySelectorAll(cdA),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let o=0;o{let r=i[o],s=r.getAttribute(a),g=s?s.match(CdA):null;if(g){let l=n.get(r);l||(l=[],n.set(r,l)),l.push({name:a,value:g[1]})}})}_updateSvgIcon(A){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),A){let[i,n]=this._splitIconName(A);i&&(this._svgNamespace=i),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,i).pipe(oo(1)).subscribe(o=>this._setSvgElement(o),o=>{let a=`Error retrieving icon ${i}:${n}! ${o.message}`;this._errorHandler.handleError(new Error(a))})}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(i,n){i&2&&(ie("data-mat-icon-type",n._usingFontIcon()?"font":"svg")("data-mat-icon-name",n._svgName||n.fontIcon)("data-mat-icon-namespace",n._svgNamespace||n.fontSet)("fontIcon",n._usingFontIcon()?n.fontIcon:null),Po(n.color?"mat-"+n.color:""),ne("mat-icon-inline",n.inline)("mat-icon-no-color",n.color!=="primary"&&n.color!=="accent"&&n.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",he],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],ngContentSelectors:sdA,decls:1,vars:0,template:function(i,n){i&1&&(Yt(),Ke(0))},styles:[`mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color, inherit)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto} -`],encapsulation:2,changeDetection:0})}return t})(),Il=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var bz=(()=>{class t{_animationsDisabled=ji();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(i,n){i&2&&ne("mat-pseudo-checkbox-indeterminate",n.state==="indeterminate")("mat-pseudo-checkbox-checked",n.state==="checked")("mat-pseudo-checkbox-disabled",n.disabled)("mat-pseudo-checkbox-minimal",n.appearance==="minimal")("mat-pseudo-checkbox-full",n.appearance==="full")("_mat-animation-noopable",n._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(i,n){},styles:[`.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px} -`],encapsulation:2,changeDetection:0})}return t})();var IdA=["text"],ddA=[[["mat-icon"]],"*"],BdA=["mat-icon","*"];function EdA(t,e){if(t&1&&GA(0,"mat-pseudo-checkbox",1),t&2){let A=v();$("disabled",A.disabled)("state",A.selected?"checked":"unchecked")}}function QdA(t,e){if(t&1&&GA(0,"mat-pseudo-checkbox",3),t&2){let A=v();$("disabled",A.disabled)}}function hdA(t,e){if(t&1&&(m(0,"span",4),K(1),w()),t&2){let A=v();p(),Se("(",A.group.label,")")}}var c8=new yA("MAT_OPTION_PARENT_COMPONENT"),C8=new yA("MatOptgroup");var l8=class{source;isUserInput;constructor(e,A=!1){this.source=e,this.isUserInput=A}},Hr=(()=>{class t{_element=h(ge);_changeDetectorRef=h(Dt);_parent=h(c8,{optional:!0});group=h(C8,{optional:!0});_signalDisableRipple=!1;_selected=!1;_active=!1;_mostRecentViewValue="";get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}value;id=h(an).getId("mat-option-");get disabled(){return this.group&&this.group.disabled||this._disabled()}set disabled(A){this._disabled.set(A)}_disabled=jA(!1);get disableRipple(){return this._signalDisableRipple?this._parent.disableRipple():!!this._parent?.disableRipple}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}onSelectionChange=new $A;_text;_stateChanges=new XA;constructor(){let A=h(Xn);A.load(dr),A.load(M2),this._signalDisableRipple=!!this._parent&&w1(this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(A=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),A&&this._emitSelectionChangeEvent())}deselect(A=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),A&&this._emitSelectionChangeEvent())}focus(A,i){let n=this._getHostElement();typeof n.focus=="function"&&n.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(A){(A.keyCode===13||A.keyCode===32)&&!pa(A)&&(this._selectViaInteraction(),A.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let A=this.viewValue;A!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=A)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(A=!1){this.onSelectionChange.emit(new l8(this,A))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-option"]],viewQuery:function(i,n){if(i&1&&ai(IdA,7),i&2){let o;ce(o=Ce())&&(n._text=o.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(i,n){i&1&&tA("click",function(){return n._selectViaInteraction()})("keydown",function(a){return n._handleKeydown(a)}),i&2&&(vo("id",n.id),ie("aria-selected",n.selected)("aria-disabled",n.disabled.toString()),ne("mdc-list-item--selected",n.selected)("mat-mdc-option-multiple",n.multiple)("mat-mdc-option-active",n.active)("mdc-list-item--disabled",n.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",he]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],ngContentSelectors:BdA,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,n){i&1&&(Yt(ddA),V(0,EdA,1,2,"mat-pseudo-checkbox",1),Ke(1),m(2,"span",2,0),Ke(4,1),w(),V(5,QdA,1,1,"mat-pseudo-checkbox",3),V(6,hdA,2,1,"span",4),GA(7,"div",5)),i&2&&(W(n.multiple?0:-1),p(5),W(!n.multiple&&n.selected&&!n.hideSingleSelectionIndicator?5:-1),p(),W(n.group&&n.group._inert?6:-1),p(),$("matRippleTrigger",n._getHostElement())("matRippleDisabled",n.disabled||n.disableRipple))},dependencies:[bz,ig],styles:[`.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container))}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors: active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var(--mat-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-focus-indicator::before{content:""} -`],encapsulation:2,changeDetection:0})}return t})();function rk(t,e,A){if(A.length){let i=e.toArray(),n=A.toArray(),o=0;for(let a=0;aA+i?Math.max(0,t-i+e):A}var D4=(()=>{class t{_listeners=[];notify(A,i){for(let n of this._listeners)n(A,i)}listen(A){return this._listeners.push(A),()=>{this._listeners=this._listeners.filter(i=>A!==i)}}ngOnDestroy(){this._listeners=[]}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var I8=class{applyChanges(e,A,i,n,o){e.forEachOperation((a,r,s)=>{let g,l;if(a.previousIndex==null){let C=i(a,r,s);g=A.createEmbeddedView(C.templateRef,C.context,C.index),l=rc.INSERTED}else s==null?(A.remove(r),l=rc.REMOVED):(g=A.get(r),A.move(g,s),l=rc.MOVED);o&&o({context:g?.context,operation:l,record:a})})}detach(){}};var V1=class{_multiple;_emitChanges;compareWith;_selection=new Set;_deselectedToEmit=[];_selectedToEmit=[];_selected=null;get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}changed=new XA;constructor(e=!1,A,i=!0,n){this._multiple=e,this._emitChanges=i,this.compareWith=n,A&&A.length&&(e?A.forEach(o=>this._markSelected(o)):this._markSelected(A[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(i=>this._markSelected(i));let A=this._hasQueuedChanges();return this._emitChangeEvent(),A}deselect(...e){this._verifyValueAssignment(e),e.forEach(i=>this._unmarkSelected(i));let A=this._hasQueuedChanges();return this._emitChangeEvent(),A}setSelection(...e){this._verifyValueAssignment(e);let A=this.selected,i=new Set(e.map(o=>this._getConcreteValue(o)));e.forEach(o=>this._markSelected(o)),A.filter(o=>!i.has(this._getConcreteValue(o,i))).forEach(o=>this._unmarkSelected(o));let n=this._hasQueuedChanges();return this._emitChangeEvent(),n}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let A=this._hasQueuedChanges();return e&&this._emitChangeEvent(),A}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,A){if(this.compareWith){A=A??this._selection;for(let i of A)if(this.compareWith(e,i))return i;return e}else return e}};var Mz=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var gk=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[x2,Mz,Hr,Gi]})}return t})();var udA=["trigger"],fdA=["panel"],mdA=[[["mat-select-trigger"]],"*"],pdA=["mat-select-trigger","*"];function wdA(t,e){if(t&1&&(m(0,"span",4),K(1),w()),t&2){let A=v();p(),qA(A.placeholder)}}function DdA(t,e){t&1&&Ke(0)}function ydA(t,e){if(t&1&&(m(0,"span",11),K(1),w()),t&2){let A=v(2);p(),qA(A.triggerValue)}}function vdA(t,e){if(t&1&&(m(0,"span",5),V(1,DdA,1,0)(2,ydA,2,1,"span",11),w()),t&2){let A=v();p(),W(A.customTrigger?1:2)}}function bdA(t,e){if(t&1){let A=JA();m(0,"div",12,1),tA("keydown",function(n){Z(A);let o=v();return X(o._handleKeydown(n))}),Ke(2,1),w()}if(t&2){let A=v();Po(DU("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",A._getPanelTheme())),ne("mat-select-panel-animations-enabled",!A._animationsDisabled),$("ngClass",A.panelClass),ie("id",A.id+"-panel")("aria-multiselectable",A.multiple)("aria-label",A.ariaLabel||null)("aria-labelledby",A._getPanelAriaLabelledby())}}var MdA=new yA("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>EC(t)}}),kdA=new yA("MAT_SELECT_CONFIG"),SdA=new yA("MatSelectTrigger"),lk=class{source;value;constructor(e,A){this.source=e,this.value=A}},Bl=(()=>{class t{_viewportRuler=h(Ls);_changeDetectorRef=h(Dt);_elementRef=h(ge);_dir=h(Ro,{optional:!0});_idGenerator=h(an);_renderer=h(_i);_parentFormField=h(Uu,{optional:!0});ngControl=h(eg,{self:!0,optional:!0});_liveAnnouncer=h(vu);_defaultOptions=h(kdA,{optional:!0});_animationsDisabled=ji();_popoverLocation;_initialized=new XA;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(A){let i=this.options.toArray()[A];if(i){let n=this.panel.nativeElement,o=rk(A,this.options,this.optionGroups),a=i._getHostElement();A===0&&o===1?n.scrollTop=0:n.scrollTop=sk(a.offsetTop,a.offsetHeight,n.scrollTop,n.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(A){return new lk(this,A)}_scrollStrategyFactory=h(MdA);_panelOpen=!1;_compareWith=(A,i)=>A===i;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new XA;_errorStateTracker;stateChanges=new XA;disableAutomaticLabeling=!0;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=!1;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(A){this._disableRipple.set(A)}_disableRipple=jA(!1);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(A){this._hideSingleSelectionIndicator=A,this._syncParentProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get placeholder(){return this._placeholder}set placeholder(A){this._placeholder=A,this.stateChanges.next()}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(Ag.required)??!1}set required(A){this._required=A,this.stateChanges.next()}_required;get multiple(){return this._multiple}set multiple(A){this._selectionModel,this._multiple=A}_multiple=!1;disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1;get compareWith(){return this._compareWith}set compareWith(A){this._compareWith=A,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(A){this._assignValue(A)&&this._onChange(A)}_value;ariaLabel="";ariaLabelledby;get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(A){this._errorStateTracker.matcher=A}typeaheadDebounceInterval;sortComparator;get id(){return this._id}set id(A){this._id=A||this._uid,this.stateChanges.next()}_id;get errorState(){return this._errorStateTracker.errorState}set errorState(A){this._errorStateTracker.errorState=A}panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto";canSelectNullableOptions=this._defaultOptions?.canSelectNullableOptions??!1;optionSelectionChanges=i0(()=>{let A=this.options;return A?A.changes.pipe(cn(A),Si(()=>fi(...A.map(i=>i.onSelectionChange)))):this._initialized.pipe(Si(()=>this.optionSelectionChanges))});openedChange=new $A;_openedStream=this.openedChange.pipe(Ze(A=>A),fe(()=>{}));_closedStream=this.openedChange.pipe(Ze(A=>!A),fe(()=>{}));selectionChange=new $A;valueChange=new $A;constructor(){let A=h(UB),i=h(SB,{optional:!0}),n=h(v2,{optional:!0}),o=h(new Ws("tabindex"),{optional:!0}),a=h(m4,{optional:!0});this.ngControl&&(this.ngControl.valueAccessor=this),this._defaultOptions?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=this._defaultOptions.typeaheadDebounceInterval),this._errorStateTracker=new JB(A,this.ngControl,n,i,this.stateChanges),this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=o==null?0:parseInt(o)||0,this._popoverLocation=a?.usePopover===!1?null:"inline",this.id=this.id}ngOnInit(){this._selectionModel=new V1(this.multiple),this.stateChanges.next(),this._viewportRuler.change().pipe(Bt(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Bt(this._destroy)).subscribe(A=>{A.added.forEach(i=>i.select()),A.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(cn(null),Bt(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){let A=this._getTriggerAriaLabelledby(),i=this.ngControl;if(A!==this._triggerAriaLabelledBy){let n=this._elementRef.nativeElement;this._triggerAriaLabelledBy=A,A?n.setAttribute("aria-labelledby",A):n.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(this._previousControl!==void 0&&i.disabled!==null&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(A){(A.disabled||A.userAriaDescribedBy)&&this.stateChanges.next(),A.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._cleanupDetach?.(),this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._cleanupDetach?.(),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._overlayDir.positionChange.pipe(oo(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()}),this._overlayDir.attachOverlay(),this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!0)))}_trackedModal=null;_applyModalPanelOwnership(){let A=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!A)return;let i=`${this.id}-panel`;this._trackedModal&&Gp(this._trackedModal,"aria-owns",i),u9(A,"aria-owns",i),this._trackedModal=A}_clearFromModal(){if(!this._trackedModal)return;let A=`${this.id}-panel`;Gp(this._trackedModal,"aria-owns",A),this._trackedModal=null}close(){this._panelOpen&&(this._panelOpen=!1,this._exitAndDetach(),this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!1)))}_exitAndDetach(){if(this._animationsDisabled||!this.panel){this._detachOverlay();return}this._cleanupDetach?.(),this._cleanupDetach=()=>{i(),clearTimeout(n),this._cleanupDetach=void 0};let A=this.panel.nativeElement,i=this._renderer.listen(A,"animationend",o=>{o.animationName==="_mat-select-exit"&&(this._cleanupDetach?.(),this._detachOverlay())}),n=setTimeout(()=>{this._cleanupDetach?.(),this._detachOverlay()},200);A.classList.add("mat-select-panel-exit")}_detachOverlay(){this._overlayDir.detachOverlay(),this._changeDetectorRef.markForCheck()}writeValue(A){this._assignValue(A)}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}setDisabledState(A){this.disabled=A,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){let A=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&A.reverse(),A.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return this._dir?this._dir.value==="rtl":!1}_handleKeydown(A){this.disabled||(this.panelOpen?this._handleOpenKeydown(A):this._handleClosedKeydown(A))}_handleClosedKeydown(A){let i=A.keyCode,n=i===40||i===38||i===37||i===39,o=i===13||i===32,a=this._keyManager;if(!a.isTyping()&&o&&!pa(A)||(this.multiple||A.altKey)&&n)A.preventDefault(),this.open();else if(!this.multiple){let r=this.selected;a.onKeydown(A);let s=this.selected;s&&r!==s&&this._liveAnnouncer.announce(s.viewValue,1e4)}}_handleOpenKeydown(A){let i=this._keyManager,n=A.keyCode,o=n===40||n===38,a=i.isTyping();if(o&&A.altKey)A.preventDefault(),this.close();else if(!a&&(n===13||n===32)&&i.activeItem&&!pa(A))A.preventDefault(),i.activeItem._selectViaInteraction();else if(!a&&this._multiple&&n===65&&A.ctrlKey){A.preventDefault();let r=this.options.some(s=>!s.disabled&&!s.selected);this.options.forEach(s=>{s.disabled||(r?s.select():s.deselect())})}else{let r=i.activeItemIndex;i.onKeydown(A),this._multiple&&o&&A.shiftKey&&i.activeItem&&i.activeItemIndex!==r&&i.activeItem._selectViaInteraction()}}_handleOverlayKeydown(A){A.keyCode===27&&!pa(A)&&(A.preventDefault(),this.close())}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(A){if(this.options.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&A)Array.isArray(A),A.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{let i=this._selectOptionByValue(A);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(A){let i=this.options.find(n=>{if(this._selectionModel.isSelected(n))return!1;try{return(n.value!=null||this.canSelectNullableOptions)&&this._compareWith(n.value,A)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(A){return A!==this._value||this._multiple&&Array.isArray(A)?(this.options&&this._setSelectionByValue(A),this._value=A,!0):!1}_skipPredicate=A=>this.panelOpen?!1:A.disabled;_getOverlayWidth(A){return this.panelWidth==="auto"?(A instanceof sE?A.elementRef:A||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let A of this.options)A._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new Ru(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){let A=fi(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Bt(A)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),fi(...this.options.map(i=>i._stateChanges)).pipe(Bt(A)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(A,i){let n=this._selectionModel.isSelected(A);!this.canSelectNullableOptions&&A.value==null&&!this._multiple?(A.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(A.value)):(n!==A.selected&&(A.selected?this._selectionModel.select(A):this._selectionModel.deselect(A)),i&&this._keyManager.setActiveItem(A),this.multiple&&(this._sortValues(),i&&this.focus())),n!==this._selectionModel.isSelected(A)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){let A=this.options.toArray();this._selectionModel.sort((i,n)=>this.sortComparator?this.sortComparator(i,n,A):A.indexOf(i)-A.indexOf(n)),this.stateChanges.next()}}_propagateChanges(A){let i;this.multiple?i=this.selected.map(n=>n.value):i=this.selected?this.selected.value:A,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let A=-1;for(let i=0;i0&&!!this._overlayDir}focus(A){this._elementRef.nativeElement.focus(A)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let A=this._parentFormField?.getLabelId()||null,i=A?A+" ":"";return this.ariaLabelledby?i+this.ariaLabelledby:A}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let A=this._parentFormField?.getLabelId()||"";return this.ariaLabelledby&&(A+=" "+this.ariaLabelledby),A||(A=this._valueId),A}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(A){let i=this._elementRef.nativeElement;A.length?i.setAttribute("aria-describedby",A.join(" ")):i.removeAttribute("aria-describedby")}onContainerClick(A){let i=Jr(A);i&&(i.tagName==="MAT-OPTION"||i.classList.contains("cdk-overlay-backdrop")||i.closest(".mat-mdc-select-panel"))||(this.focus(),this.open())}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-select"]],contentQueries:function(i,n,o){if(i&1&&fa(o,SdA,5)(o,Hr,5)(o,C8,5),i&2){let a;ce(a=Ce())&&(n.customTrigger=a.first),ce(a=Ce())&&(n.options=a),ce(a=Ce())&&(n.optionGroups=a)}},viewQuery:function(i,n){if(i&1&&ai(udA,5)(fdA,5)(n8,5),i&2){let o;ce(o=Ce())&&(n.trigger=o.first),ce(o=Ce())&&(n.panel=o.first),ce(o=Ce())&&(n._overlayDir=o.first)}},hostAttrs:["role","combobox","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:21,hostBindings:function(i,n){i&1&&tA("keydown",function(a){return n._handleKeydown(a)})("focus",function(){return n._onFocus()})("blur",function(){return n._onBlur()}),i&2&&(ie("id",n.id)("tabindex",n.disabled?-1:n.tabIndex)("aria-controls",n.panelOpen?n.id+"-panel":null)("aria-expanded",n.panelOpen)("aria-label",n.ariaLabel||null)("aria-required",n.required.toString())("aria-disabled",n.disabled.toString())("aria-invalid",n.errorState)("aria-activedescendant",n._getAriaActiveDescendant()),ne("mat-mdc-select-disabled",n.disabled)("mat-mdc-select-invalid",n.errorState)("mat-mdc-select-required",n.required)("mat-mdc-select-empty",n.empty)("mat-mdc-select-multiple",n.multiple)("mat-select-open",n.panelOpen))},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",he],disableRipple:[2,"disableRipple","disableRipple",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",he],placeholder:"placeholder",required:[2,"required","required",he],multiple:[2,"multiple","multiple",he],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",he],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",en],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth",canSelectNullableOptions:[2,"canSelectNullableOptions","canSelectNullableOptions",he]},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],features:[dt([{provide:Ku,useExisting:t},{provide:c8,useExisting:t}]),ti],ngContentSelectors:pdA,decls:11,vars:10,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"detach","backdropClick","overlayKeydown","cdkConnectedOverlayDisableClose","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","cdkConnectedOverlayFlexibleDimensions","cdkConnectedOverlayUsePopover"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(i,n){if(i&1){let o=JA();Yt(mdA),m(0,"div",2,0),tA("click",function(){return Z(o),X(n.open())}),m(3,"div",3),V(4,wdA,2,1,"span",4)(5,vdA,3,1,"span",5),w(),m(6,"div",6)(7,"div",7),Qt(),m(8,"svg",8),GA(9,"path",9),w()()()(),pt(10,bdA,3,10,"ng-template",10),tA("detach",function(){return Z(o),X(n.close())})("backdropClick",function(){return Z(o),X(n.close())})("overlayKeydown",function(r){return Z(o),X(n._handleOverlayKeydown(r))})}if(i&2){let o=An(1);p(3),ie("id",n._valueId),p(),W(n.empty?4:5),p(6),$("cdkConnectedOverlayDisableClose",!0)("cdkConnectedOverlayPanelClass",n._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",n._scrollStrategy)("cdkConnectedOverlayOrigin",n._preferredOverlayOrigin||o)("cdkConnectedOverlayPositions",n._positions)("cdkConnectedOverlayWidth",n._overlayWidth)("cdkConnectedOverlayFlexibleDimensions",!0)("cdkConnectedOverlayUsePopover",n._popoverLocation)}},dependencies:[sE,n8,gs],styles:[`@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-form-field-animations-enabled .mat-mdc-select-arrow{transition:transform 80ms linear}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))} -`],encapsulation:2,changeDetection:0})}return t})();var ck=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Cl,gk,Gi,C0,Yr,gk]})}return t})();var RdA=["tooltip"],NdA=20;var FdA=new yA("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>EC(t,{scrollThrottle:NdA})}}),_dA=new yA("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var kz="tooltip-panel",Sz=b2({passive:!0}),LdA=8,GdA=8,KdA=24,UdA=200,xa=(()=>{class t{_elementRef=h(ge);_ngZone=h(Oe);_platform=h(Ii);_ariaDescriber=h(PJ);_focusMonitor=h(ar);_dir=h(Ro);_injector=h(ft);_viewContainerRef=h(Oo);_mediaMatcher=h(RB);_animationsDisabled=ji();_defaultOptions=h(_dA,{optional:!0});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=!1;_disabled=!1;_tooltipClass;_viewInitialized=!1;_pointerExitEventsInitialized=!1;_tooltipComponent=xz;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=!1;_dirSubscribed=!1;get position(){return this._position}set position(A){A!==this._position&&(this._position=A,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(A){this._positionAtOrigin=yr(A),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(A){let i=yr(A);this._disabled!==i&&(this._disabled=i,i?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(A){this._showDelay=tg(A)}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(A){this._hideDelay=tg(A),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}_hideDelay;touchGestures="auto";get message(){return this._message}set message(A){let i=this._message;this._message=A!=null?String(A).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(i)}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(A){this._tooltipClass=A,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}_passiveListeners=[];_touchstartTimeout=null;_destroyed=new XA;_isDestroyed=!1;constructor(){let A=this._defaultOptions;A&&(this._showDelay=A.showDelay,this._hideDelay=A.hideDelay,A.position&&(this.position=A.position),A.positionAtOrigin&&(this.positionAtOrigin=A.positionAtOrigin),A.touchGestures&&(this.touchGestures=A.touchGestures),A.tooltipClass&&(this.tooltipClass=A.tooltipClass)),this._viewportMargin=LdA}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Bt(this._destroyed)).subscribe(A=>{A?A==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let A=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,n])=>{A.removeEventListener(i,n,Sz)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=!0,this._ariaDescriber.removeDescription(A,this.message,"tooltip"),this._focusMonitor.stopMonitoring(A)}show(A=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let n=this._createOverlay(i);this._detach(),this._portal=this._portal||new Jg(this._tooltipComponent,this._viewContainerRef);let o=this._tooltipInstance=n.attach(this._portal).instance;o._triggerElement=this._elementRef.nativeElement,o._mouseLeaveHideDelay=this._hideDelay,o.afterHidden().pipe(Bt(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),o.show(A)}hide(A=this.hideDelay){let i=this._tooltipInstance;i&&(i.isVisible()?i.hide(A):(i._cancelPendingAnimations(),this._detach()))}toggle(A){this._isTooltipVisible()?this.hide():this.show(void 0,A)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(A){if(this._overlayRef){let a=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!A)&&a._origin instanceof ge)return this._overlayRef;this._detach()}let i=this._injector.get(I0).getAncestorScrollContainers(this._elementRef),n=`${this._cssClassPrefix}-${kz}`,o=q1(this._injector,this.positionAtOrigin?A||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i).withPopoverLocation("global");return o.positionChanges.pipe(Bt(this._destroyed)).subscribe(a=>{this._updateCurrentPositionClass(a.connectionPair),this._tooltipInstance&&a.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=lc(this._injector,{direction:this._dir,positionStrategy:o,panelClass:this._overlayPanelClass?[...this._overlayPanelClass,n]:n,scrollStrategy:this._injector.get(FdA)(),disableAnimations:this._animationsDisabled}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Bt(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Bt(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Bt(this._destroyed)).subscribe(a=>{this._isTooltipVisible()&&a.keyCode===27&&!pa(a)&&(a.preventDefault(),a.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._dirSubscribed||(this._dirSubscribed=!0,this._dir.change.pipe(Bt(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(A){let i=A.getConfig().positionStrategy,n=this._getOrigin(),o=this._getOverlayPosition();i.withPositions([this._addOffset(cA(cA({},n.main),o.main)),this._addOffset(cA(cA({},n.fallback),o.fallback))])}_addOffset(A){let i=GdA,n=!this._dir||this._dir.value=="ltr";return A.originY==="top"?A.offsetY=-i:A.originY==="bottom"?A.offsetY=i:A.originX==="start"?A.offsetX=n?-i:i:A.originX==="end"&&(A.offsetX=n?i:-i),A}_getOrigin(){let A=!this._dir||this._dir.value=="ltr",i=this.position,n;i=="above"||i=="below"?n={originX:"center",originY:i=="above"?"top":"bottom"}:i=="before"||i=="left"&&A||i=="right"&&!A?n={originX:"start",originY:"center"}:(i=="after"||i=="right"&&A||i=="left"&&!A)&&(n={originX:"end",originY:"center"});let{x:o,y:a}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:o,originY:a}}}_getOverlayPosition(){let A=!this._dir||this._dir.value=="ltr",i=this.position,n;i=="above"?n={overlayX:"center",overlayY:"bottom"}:i=="below"?n={overlayX:"center",overlayY:"top"}:i=="before"||i=="left"&&A||i=="right"&&!A?n={overlayX:"end",overlayY:"center"}:(i=="after"||i=="right"&&A||i=="left"&&!A)&&(n={overlayX:"start",overlayY:"center"});let{x:o,y:a}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:o,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),Yn(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()},{injector:this._injector}))}_setTooltipClass(A){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=A,this._tooltipInstance._markForCheck())}_invertPosition(A,i){return this.position==="above"||this.position==="below"?i==="top"?i="bottom":i==="bottom"&&(i="top"):A==="end"?A="start":A==="start"&&(A="end"),{x:A,y:i}}_updateCurrentPositionClass(A){let{overlayY:i,originX:n,originY:o}=A,a;if(i==="center"?this._dir&&this._dir.value==="rtl"?a=n==="end"?"left":"right":a=n==="start"?"left":"right":a=i==="bottom"&&o==="top"?"above":"below",a!==this._currentPosition){let r=this._overlayRef;if(r){let s=`${this._cssClassPrefix}-${kz}-`;r.removePanelClass(s+this._currentPosition),r.addPanelClass(s+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._isTouchPlatform()?this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",A=>{let i=A.targetTouches?.[0],n=i?{x:i.clientX,y:i.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);let o=500;this._touchstartTimeout=setTimeout(()=>{this._touchstartTimeout=null,this.show(void 0,n)},this._defaultOptions?.touchLongPressShowDelay??o)}])):this._passiveListeners.push(["mouseenter",A=>{this._setupPointerExitEventsIfNeeded();let i;A.x!==void 0&&A.y!==void 0&&(i=A),this.show(void 0,i)}]),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;let A=[];if(!this._isTouchPlatform())A.push(["mouseleave",i=>{let n=i.relatedTarget;(!n||!this._overlayRef?.overlayElement.contains(n))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let i=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions?.touchendHideDelay)};A.push(["touchend",i],["touchcancel",i])}this._addListeners(A),this._passiveListeners.push(...A)}_addListeners(A){A.forEach(([i,n])=>{this._elementRef.nativeElement.addEventListener(i,n,Sz)})}_isTouchPlatform(){return this._platform.IOS||this._platform.ANDROID?!0:this._platform.isBrowser?!!this._defaultOptions?.detectHoverCapability&&this._mediaMatcher.matchMedia("(any-hover: none)").matches:!1}_wheelListener(A){if(this._isTooltipVisible()){let i=this._injector.get(Xt).elementFromPoint(A.clientX,A.clientY),n=this._elementRef.nativeElement;i!==n&&!n.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){let A=this.touchGestures;if(A!=="off"){let i=this._elementRef.nativeElement,n=i.style;(A==="on"||i.nodeName!=="INPUT"&&i.nodeName!=="TEXTAREA")&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),(A==="on"||!i.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}_syncAriaDescription(A){this._ariaDescriptionPending||(this._ariaDescriptionPending=!0,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,A,"tooltip"),this._isDestroyed||Yn({write:()=>{this._ariaDescriptionPending=!1,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")}},{injector:this._injector}))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mat-mdc-tooltip-disabled",n.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"]})}return t})(),xz=(()=>{class t{_changeDetectorRef=h(Dt);_elementRef=h(ge);_isMultiline=!1;message;tooltipClass;_showTimeoutId;_hideTimeoutId;_triggerElement;_mouseLeaveHideDelay;_animationsDisabled=ji();_tooltip;_closeOnInteraction=!1;_isVisible=!1;_onHide=new XA;_showAnimation="mat-mdc-tooltip-show";_hideAnimation="mat-mdc-tooltip-hide";constructor(){}show(A){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},A)}hide(A){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},A)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:A}){(!A||!this._triggerElement.contains(A))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){let A=this._elementRef.nativeElement.getBoundingClientRect();return A.height>KdA&&A.width>=UdA}_handleAnimationEnd({animationName:A}){(A===this._showAnimation||A===this._hideAnimation)&&this._finalizeAnimation(A===this._showAnimation)}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(A){A?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(A){let i=this._tooltip.nativeElement,n=this._showAnimation,o=this._hideAnimation;if(i.classList.remove(A?o:n),i.classList.add(A?n:o),this._isVisible!==A&&(this._isVisible=A,this._changeDetectorRef.markForCheck()),A&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let a=getComputedStyle(i);(a.getPropertyValue("animation-duration")==="0s"||a.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=!0)}A&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(A))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(i,n){if(i&1&&ai(RdA,7),i&2){let o;ce(o=Ce())&&(n._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostBindings:function(i,n){i&1&&tA("mouseleave",function(a){return n._handleMouseLeave(a)})},decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(i,n){if(i&1){let o=JA();m(0,"div",1,0),tA("animationend",function(r){return Z(o),X(n._handleAnimationEnd(r))}),m(2,"div",2),K(3),w()()}i&2&&(ne("mdc-tooltip--multiline",n._isMultiline),$("ngClass",n.tooltipClass),p(3),qA(n.message))},dependencies:[gs],styles:[`.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mat-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mat-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mat-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mat-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mat-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mat-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel{line-height:normal}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards} -`],encapsulation:2,changeDetection:0})}return t})();var U2=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[bu,Cl,Gi,C0]})}return t})();function JdA(t,e){if(t&1&&(m(0,"mat-option",17),K(1),w()),t&2){let A=e.$implicit;$("value",A),p(),Se(" ",A," ")}}function YdA(t,e){if(t&1){let A=JA();m(0,"mat-form-field",14)(1,"mat-select",16,0),tA("selectionChange",function(n){Z(A);let o=v(2);return X(o._changePageSize(n.value))}),Ut(3,JdA,2,2,"mat-option",17,Li),w(),m(5,"div",18),tA("click",function(){Z(A);let n=An(2);return X(n.open())}),w()()}if(t&2){let A=v(2);$("appearance",A._formFieldAppearance)("color",A.color),p(),$("value",A.pageSize)("disabled",A.disabled),cp("aria-labelledby",A._pageSizeLabelId),$("panelClass",A.selectConfig.panelClass||"")("disableOptionCentering",A.selectConfig.disableOptionCentering),p(2),Jt(A._displayedPageSizeOptions)}}function TdA(t,e){if(t&1&&(m(0,"div",15),K(1),w()),t&2){let A=v(2);p(),qA(A.pageSize)}}function HdA(t,e){if(t&1&&(m(0,"div",3)(1,"div",13),K(2),w(),V(3,YdA,6,7,"mat-form-field",14),V(4,TdA,2,1,"div",15),w()),t&2){let A=v();p(),ie("id",A._pageSizeLabelId),p(),Se(" ",A._intl.itemsPerPageLabel," "),p(),W(A._displayedPageSizeOptions.length>1?3:-1),p(),W(A._displayedPageSizeOptions.length<=1?4:-1)}}function zdA(t,e){if(t&1){let A=JA();m(0,"button",19),tA("click",function(){Z(A);let n=v();return X(n._buttonClicked(0,n._previousButtonsDisabled()))}),Qt(),m(1,"svg",8),GA(2,"path",20),w()()}if(t&2){let A=v();$("matTooltip",A._intl.firstPageLabel)("matTooltipDisabled",A._previousButtonsDisabled())("disabled",A._previousButtonsDisabled())("tabindex",A._previousButtonsDisabled()?-1:null),ie("aria-label",A._intl.firstPageLabel)}}function OdA(t,e){if(t&1){let A=JA();m(0,"button",21),tA("click",function(){Z(A);let n=v();return X(n._buttonClicked(n.getNumberOfPages()-1,n._nextButtonsDisabled()))}),Qt(),m(1,"svg",8),GA(2,"path",22),w()()}if(t&2){let A=v();$("matTooltip",A._intl.lastPageLabel)("matTooltipDisabled",A._nextButtonsDisabled())("disabled",A._nextButtonsDisabled())("tabindex",A._nextButtonsDisabled()?-1:null),ie("aria-label",A._intl.lastPageLabel)}}var B8=(()=>{class t{changes=new XA;itemsPerPageLabel="Items per page:";nextPageLabel="Next page";previousPageLabel="Previous page";firstPageLabel="First page";lastPageLabel="Last page";getRangeLabel=(A,i,n)=>{if(n==0||i==0)return`0 of ${n}`;n=Math.max(n,0);let o=A*i,a=o{class t{_intl=h(B8);_changeDetectorRef=h(Dt);_formFieldAppearance;_pageSizeLabelId=h(an).getId("mat-paginator-page-size-label-");_intlChanges;_isInitialized=!1;_initializedStream=new ql(1);color;get pageIndex(){return this._pageIndex}set pageIndex(A){this._pageIndex=Math.max(A||0,0),this._changeDetectorRef.markForCheck()}_pageIndex=0;get length(){return this._length}set length(A){this._length=A||0,this._changeDetectorRef.markForCheck()}_length=0;get pageSize(){return this._pageSize}set pageSize(A){this._pageSize=Math.max(A||0,0),this._updateDisplayedPageSizeOptions()}_pageSize;get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(A){this._pageSizeOptions=(A||[]).map(i=>en(i,0)),this._updateDisplayedPageSizeOptions()}_pageSizeOptions=[];hidePageSize=!1;showFirstLastButtons=!1;selectConfig={};disabled=!1;page=new $A;_displayedPageSizeOptions;initialized=this._initializedStream;constructor(){let A=this._intl,i=h(jdA,{optional:!0});if(this._intlChanges=A.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),i){let{pageSize:n,pageSizeOptions:o,hidePageSize:a,showFirstLastButtons:r}=i;n!=null&&(this._pageSize=n),o!=null&&(this._pageSizeOptions=o),a!=null&&(this.hidePageSize=a),r!=null&&(this.showFirstLastButtons=r)}this._formFieldAppearance=i?.formFieldAppearance||"outline"}ngOnInit(){this._isInitialized=!0,this._updateDisplayedPageSizeOptions(),this._initializedStream.next()}ngOnDestroy(){this._initializedStream.complete(),this._intlChanges.unsubscribe()}nextPage(){this.hasNextPage()&&this._navigate(this.pageIndex+1)}previousPage(){this.hasPreviousPage()&&this._navigate(this.pageIndex-1)}firstPage(){this.hasPreviousPage()&&this._navigate(0)}lastPage(){this.hasNextPage()&&this._navigate(this.getNumberOfPages()-1)}hasPreviousPage(){return this.pageIndex>=1&&this.pageSize!=0}hasNextPage(){let A=this.getNumberOfPages()-1;return this.pageIndexA-i),this._changeDetectorRef.markForCheck())}_emitPageEvent(A){this.page.emit({previousPageIndex:A,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}_navigate(A){let i=this.pageIndex;A!==i&&(this.pageIndex=A,this._emitPageEvent(i))}_buttonClicked(A,i){i||this._navigate(A)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-mdc-paginator"],inputs:{color:"color",pageIndex:[2,"pageIndex","pageIndex",en],length:[2,"length","length",en],pageSize:[2,"pageSize","pageSize",en],pageSizeOptions:"pageSizeOptions",hidePageSize:[2,"hidePageSize","hidePageSize",he],showFirstLastButtons:[2,"showFirstLastButtons","showFirstLastButtons",he],selectConfig:"selectConfig",disabled:[2,"disabled","disabled",he]},outputs:{page:"page"},exportAs:["matPaginator"],decls:14,vars:14,consts:[["selectRef",""],[1,"mat-mdc-paginator-outer-container"],[1,"mat-mdc-paginator-container"],[1,"mat-mdc-paginator-page-size"],[1,"mat-mdc-paginator-range-actions"],["aria-atomic","true","aria-live","polite","role","status",1,"mat-mdc-paginator-range-label"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","disabled","tabindex"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-previous",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["viewBox","0 0 24 24","focusable","false","aria-hidden","true",1,"mat-mdc-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-next",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","disabled","tabindex"],["aria-hidden","true",1,"mat-mdc-paginator-page-size-label"],[1,"mat-mdc-paginator-page-size-select",3,"appearance","color"],[1,"mat-mdc-paginator-page-size-value"],["hideSingleSelectionIndicator","",3,"selectionChange","value","disabled","aria-labelledby","panelClass","disableOptionCentering"],[3,"value"],[1,"mat-mdc-paginator-touch-target",3,"click"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-first",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-last",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(i,n){i&1&&(m(0,"div",1)(1,"div",2),V(2,HdA,5,4,"div",3),m(3,"div",4)(4,"div",5),K(5),w(),V(6,zdA,3,5,"button",6),m(7,"button",7),tA("click",function(){return n._buttonClicked(n.pageIndex-1,n._previousButtonsDisabled())}),Qt(),m(8,"svg",8),GA(9,"path",9),w()(),as(),m(10,"button",10),tA("click",function(){return n._buttonClicked(n.pageIndex+1,n._nextButtonsDisabled())}),Qt(),m(11,"svg",8),GA(12,"path",11),w()(),V(13,OdA,3,5,"button",12),w()()()),i&2&&(p(2),W(n.hidePageSize?-1:2),p(3),Se(" ",n._intl.getRangeLabel(n.pageIndex,n.pageSize,n.length)," "),p(),W(n.showFirstLastButtons?6:-1),p(),$("matTooltip",n._intl.previousPageLabel)("matTooltipDisabled",n._previousButtonsDisabled())("disabled",n._previousButtonsDisabled())("tabindex",n._previousButtonsDisabled()?-1:null),ie("aria-label",n._intl.previousPageLabel),p(3),$("matTooltip",n._intl.nextPageLabel)("matTooltipDisabled",n._nextButtonsDisabled())("disabled",n._nextButtonsDisabled())("tabindex",n._nextButtonsDisabled()?-1:null),ie("aria-label",n._intl.nextPageLabel),p(3),W(n.showFirstLastButtons?13:-1))},dependencies:[No,Bl,Hr,Wa,xa],styles:[`.mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer} -`],encapsulation:2,changeDetection:0})}return t})();var Nz=["*"],qdA=["content"],VdA=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],WdA=["mat-drawer","mat-drawer-content","*"];function ZdA(t,e){if(t&1){let A=JA();m(0,"div",1),tA("click",function(){Z(A);let n=v();return X(n._onBackdropClicked())}),w()}if(t&2){let A=v();ne("mat-drawer-shown",A._isShowingBackdrop())}}function XdA(t,e){t&1&&(m(0,"mat-drawer-content"),Ke(1,2),w())}var $dA=new yA("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),Fz=new yA("MAT_DRAWER_CONTAINER"),Ck=(()=>{class t extends BC{_platform=h(Ii);_changeDetectorRef=h(Dt);_container=h(dk);constructor(){let A=h(ge),i=h(I0),n=h(Oe);super(A,i,n)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:A,end:i}=this._container;return A!=null&&A.mode!=="over"&&A.opened||i!=null&&i.mode!=="over"&&i.opened}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(i,n){i&2&&(wn("margin-left",n._container._contentMargins.left,"px")("margin-right",n._container._contentMargins.right,"px"),ne("mat-drawer-content-hidden",n._shouldBeHidden()))},features:[dt([{provide:BC,useExisting:t}]),It],ngContentSelectors:Nz,decls:1,vars:0,template:function(i,n){i&1&&(Yt(),Ke(0))},encapsulation:2,changeDetection:0})}return t})(),Ik=(()=>{class t{_elementRef=h(ge);_focusTrapFactory=h(yu);_focusMonitor=h(ar);_platform=h(Ii);_ngZone=h(Oe);_renderer=h(_i);_interactivityChecker=h(NB);_doc=h(Xt);_container=h(Fz,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(A){A=A==="end"?"end":"start",A!==this._position&&(this._isAttached&&this._updatePositionInParent(A),this._position=A,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(A){this._mode=A,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(A){this._disableClose=yr(A)}_disableClose=!1;get autoFocus(){let A=this._autoFocus;return A??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(A){(A==="true"||A==="false"||A==null)&&(A=yr(A)),this._autoFocus=A}_autoFocus;get opened(){return this._opened()}set opened(A){this.toggle(yr(A))}_opened=jA(!1);_openedVia=null;_animationStarted=new XA;_animationEnd=new XA;openedChange=new $A(!0);_openedStream=this.openedChange.pipe(Ze(A=>A),fe(()=>{}));openedStart=this._animationStarted.pipe(Ze(()=>this.opened),cu(void 0));_closedStream=this.openedChange.pipe(Ze(A=>!A),fe(()=>{}));closedStart=this._animationStarted.pipe(Ze(()=>!this.opened),cu(void 0));_destroyed=new XA;onPositionChanged=new $A;_content;_modeChanged=new XA;_injector=h(ft);_changeDetectorRef=h(Dt);constructor(){this.openedChange.pipe(Bt(this._destroyed)).subscribe(A=>{A?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{let A=this._elementRef.nativeElement;nl(A,"keydown").pipe(Ze(i=>i.keyCode===27&&!this.disableClose&&!pa(i)),Bt(this._destroyed)).subscribe(i=>this._ngZone.run(()=>{this.close(),i.stopPropagation(),i.preventDefault()})),this._eventCleanups=[this._renderer.listen(A,"transitionrun",this._handleTransitionEvent),this._renderer.listen(A,"transitionend",this._handleTransitionEvent),this._renderer.listen(A,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(A,i){this._interactivityChecker.isFocusable(A)||(A.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),a(),A.removeAttribute("tabindex")},o=this._renderer.listen(A,"blur",n),a=this._renderer.listen(A,"mousedown",n)})),A.focus(i)}_focusByCssSelector(A,i){let n=this._elementRef.nativeElement.querySelector(A);n&&this._forceFocus(n,i)}_takeFocus(){if(!this._focusTrap)return;let A=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Yn(()=>{!this._focusTrap.focusInitialElement()&&typeof A.focus=="function"&&A.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(A){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,A):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let A=this._doc.activeElement;return!!A&&this._elementRef.nativeElement.contains(A)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(A=>A()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(A){return this.toggle(!0,A)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(A=!this.opened,i){A&&i&&(this._openedVia=i);let n=this._setOpen(A,!A&&this._isFocusWithinDrawer(),this._openedVia||"program");return A||(this._openedVia=null),n}_setOpen(A,i,n){return A===this.opened?Promise.resolve(A?"open":"close"):(this._opened.set(A),this._container?._transitionsEnabled?this._setIsAnimating(!0):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",A),!A&&i&&this._restoreFocus(n),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(o=>{this.openedChange.pipe(oo(1)).subscribe(a=>o(a?"open":"close"))}))}_setIsAnimating(A){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",A)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=!!this._container?.hasBackdrop&&this.opened)}_updatePositionInParent(A){if(!this._platform.isBrowser)return;let i=this._elementRef.nativeElement,n=i.parentNode;A==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),n.insertBefore(this._anchor,i)),n.appendChild(i)):this._anchor&&this._anchor.parentNode.insertBefore(i,this._anchor)}_handleTransitionEvent=A=>{let i=this._elementRef.nativeElement;A.target===i&&this._ngZone.run(()=>{A.type==="transitionrun"?this._animationStarted.next(A):(A.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(A))})};static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-drawer"]],viewQuery:function(i,n){if(i&1&&ai(qdA,5),i&2){let o;ce(o=Ce())&&(n._content=o.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(i,n){i&2&&(ie("align",null)("tabIndex",n.mode!=="side"?"-1":null),wn("visibility",!n._container&&!n.opened?"hidden":null),ne("mat-drawer-end",n.position==="end")("mat-drawer-over",n.mode==="over")("mat-drawer-push",n.mode==="push")("mat-drawer-side",n.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:Nz,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(i,n){i&1&&(Yt(),m(0,"div",1,0),Ke(2),w())},dependencies:[BC],encapsulation:2,changeDetection:0})}return t})(),dk=(()=>{class t{_dir=h(Ro,{optional:!0});_element=h(ge);_ngZone=h(Oe);_changeDetectorRef=h(Dt);_animationDisabled=ji();_transitionsEnabled=!1;_allDrawers;_drawers=new ol;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(A){this._autosize=yr(A)}_autosize=h($dA);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(A){this._backdropOverride=A==null?null:yr(A)}_backdropOverride=null;backdropClick=new $A;_start=null;_end=null;_left=null;_right=null;_destroyed=new XA;_doCheckSubject=new XA;_contentMargins={left:null,right:null};_contentMarginChanges=new XA;get scrollable(){return this._userContent||this._content}_injector=h(ft);constructor(){let A=h(Ii),i=h(Ls);this._dir?.change.pipe(Bt(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),i.change().pipe(Bt(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&A.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(cn(this._allDrawers),Bt(this._destroyed)).subscribe(A=>{this._drawers.reset(A.filter(i=>!i._container||i._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(cn(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(A=>{this._watchDrawerToggle(A),this._watchDrawerPosition(A),this._watchDrawerMode(A)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(Os(10),Bt(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(A=>A.open())}close(){this._drawers.forEach(A=>A.close())}updateContentMargins(){let A=0,i=0;if(this._left&&this._left.opened){if(this._left.mode=="side")A+=this._left._getWidth();else if(this._left.mode=="push"){let n=this._left._getWidth();A+=n,i-=n}}if(this._right&&this._right.opened){if(this._right.mode=="side")i+=this._right._getWidth();else if(this._right.mode=="push"){let n=this._right._getWidth();i+=n,A-=n}}A=A||null,i=i||null,(A!==this._contentMargins.left||i!==this._contentMargins.right)&&(this._contentMargins={left:A,right:i},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(A){A._animationStarted.pipe(Bt(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),A.mode!=="side"&&A.openedChange.pipe(Bt(this._drawers.changes)).subscribe(()=>this._setContainerClass(A.opened))}_watchDrawerPosition(A){A.onPositionChanged.pipe(Bt(this._drawers.changes)).subscribe(()=>{Yn({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(A){A._modeChanged.pipe(Bt(fi(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(A){let i=this._element.nativeElement.classList,n="mat-drawer-container-has-open";A?i.add(n):i.remove(n)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(A=>{A.position=="end"?(this._end!=null,this._end=A):(this._start!=null,this._start=A)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(A=>A&&!A.disableClose&&this._drawerHasBackdrop(A)).forEach(A=>A._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(A){return A!=null&&A.opened}_drawerHasBackdrop(A){return this._backdropOverride==null?!!A&&A.mode!=="side":this._backdropOverride}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-drawer-container"]],contentQueries:function(i,n,o){if(i&1&&fa(o,Ck,5)(o,Ik,5),i&2){let a;ce(a=Ce())&&(n._content=a.first),ce(a=Ce())&&(n._allDrawers=a)}},viewQuery:function(i,n){if(i&1&&ai(Ck,5),i&2){let o;ce(o=Ce())&&(n._userContent=o.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mat-drawer-container-explicit-backdrop",n._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[dt([{provide:Fz,useExisting:t}])],ngContentSelectors:WdA,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(i,n){i&1&&(Yt(VdA),V(0,ZdA,1,2,"div",0),Ke(1),Ke(2,1),V(3,XdA,2,0,"mat-drawer-content")),i&2&&(W(n.hasBackdrop?0:-1),p(3),W(n._content?-1:3))},dependencies:[Ck],styles:[`.mat-drawer-container{position:relative;z-index:1;color:var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));background-color:var(--mat-sidenav-content-background-color, var(--mat-sys-background));box-sizing:border-box;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible;background-color:var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent))}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}@media(forced-colors: active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-content.mat-drawer-content-hidden{opacity:0}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;color:var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));box-shadow:var(--mat-sidenav-container-elevation-shadow, none);background-color:var(--mat-sidenav-container-background-color, var(--mat-sys-surface));border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));width:var(--mat-sidenav-container-width, 360px);display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}@media(forced-colors: active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media(forced-colors: active){[dir=rtl] .mat-drawer,.mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0);border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .mat-drawer{border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-left-radius:0;border-bottom-left-radius:0;left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-transition .mat-drawer{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating){visibility:hidden;box-shadow:none}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container{display:none}.mat-drawer.mat-drawer-opened.mat-drawer-opened{transform:none}.mat-drawer-side{box-shadow:none;border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid}.mat-drawer-side.mat-drawer-end{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid;border-left:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto}.mat-sidenav-fixed{position:fixed} -`],encapsulation:2,changeDetection:0})}return t})();var ABA=["mat-internal-form-field",""],eBA=["*"],E8=(()=>{class t{labelPosition="after";static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mdc-form-field--align-end",n.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:ABA,ngContentSelectors:eBA,decls:1,vars:0,template:function(i,n){i&1&&(Yt(),Ke(0))},styles:[`.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0} -`],encapsulation:2,changeDetection:0})}return t})();var tBA=["switch"],iBA=["*"];function nBA(t,e){t&1&&(m(0,"span",11),Qt(),m(1,"svg",13),GA(2,"path",14),w(),m(3,"svg",15),GA(4,"path",16),w()())}var oBA=new yA("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),Q8=class{source;checked;constructor(e,A){this.source=e,this.checked=A}},_z=(()=>{class t{_elementRef=h(ge);_focusMonitor=h(ar);_changeDetectorRef=h(Dt);defaults=h(oBA);_onChange=A=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(A){return new Q8(this,A)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=ji();_focused=!1;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required=!1;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(A){this._checked=A,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new $A;toggleChange=new $A;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){h(Xn).load(dr);let A=h(new Ws("tabindex"),{optional:!0}),i=this.defaults;this.tabIndex=A==null?0:parseInt(A)||0,this.color=i.color||"accent",this.id=this._uniqueId=h(an).getId("mat-mdc-slide-toggle-"),this.hideIcon=i.hideIcon??!1,this.disabledInteractive=i.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(A=>{A==="keyboard"||A==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):A||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(A){A.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(A){this.checked=!!A}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}validate(A){return this.required&&A.value!==!0?{required:!0}:null}registerOnValidatorChange(A){this._validatorOnChange=A}setDisabledState(A){this.disabled=A,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new Q8(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-slide-toggle"]],viewQuery:function(i,n){if(i&1&&ai(tBA,5),i&2){let o;ce(o=Ce())&&(n._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),Po(n.color?"mat-"+n.color:""),ne("mat-mdc-slide-toggle-focused",n._focused)("mat-mdc-slide-toggle-checked",n.checked)("_mat-animation-noopable",n._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",he],color:"color",disabled:[2,"disabled","disabled",he],disableRipple:[2,"disableRipple","disableRipple",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)],checked:[2,"checked","checked",he],hideIcon:[2,"hideIcon","hideIcon",he],disabledInteractive:[2,"disabledInteractive","disabledInteractive",he]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[dt([{provide:Lg,useExisting:wr(()=>t),multi:!0},{provide:a0,useExisting:t,multi:!0}]),ti],ngContentSelectors:iBA,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,n){if(i&1){let o=JA();Yt(),m(0,"div",1)(1,"button",2,0),tA("click",function(){return Z(o),X(n._handleClick())}),GA(3,"div",3)(4,"span",4),m(5,"span",5)(6,"span",6)(7,"span",7),GA(8,"span",8),w(),m(9,"span",9),GA(10,"span",10),w(),V(11,nBA,5,0,"span",11),w()()(),m(12,"label",12),tA("click",function(r){return Z(o),X(r.stopPropagation())}),Ke(13),w()()}if(i&2){let o=An(2);$("labelPosition",n.labelPosition),p(),ne("mdc-switch--selected",n.checked)("mdc-switch--unselected",!n.checked)("mdc-switch--checked",n.checked)("mdc-switch--disabled",n.disabled)("mat-mdc-slide-toggle-disabled-interactive",n.disabledInteractive),$("tabIndex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex)("disabled",n.disabled&&!n.disabledInteractive),ie("id",n.buttonId)("name",n.name)("aria-label",n.ariaLabel)("aria-labelledby",n._getAriaLabelledBy())("aria-describedby",n.ariaDescribedby)("aria-required",n.required||null)("aria-checked",n.checked)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),p(9),$("matRippleTrigger",o)("matRippleDisabled",n.disableRipple||n.disabled)("matRippleCentered",!0),p(),W(n.hideIcon?-1:11),p(),$("for",n.buttonId),ie("id",n._labelId)}},dependencies:[ig,E8],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}label:empty{display:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)} -`],encapsulation:2,changeDetection:0})}return t})();function aBA(t,e){if(t&1){let A=JA();m(0,"div",1)(1,"button",2),tA("click",function(){Z(A);let n=v();return X(n.action())}),K(2),w()()}if(t&2){let A=v();p(2),Se(" ",A.data.action," ")}}var rBA=["label"];function sBA(t,e){}var gBA=Math.pow(2,31)-1,y4=class{_overlayRef;instance;containerInstance;_afterDismissed=new XA;_afterOpened=new XA;_onAction=new XA;_durationTimeoutId;_dismissedByAction=!1;constructor(e,A){this._overlayRef=A,this.containerInstance=e,e._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,gBA))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}},Lz=new yA("MatSnackBarData"),lE=class{politeness="polite";announcementMessage="";viewContainerRef;duration=0;panelClass;direction;data=null;horizontalPosition="center";verticalPosition="bottom"},lBA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]})}return t})(),cBA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]})}return t})(),CBA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]})}return t})(),IBA=(()=>{class t{snackBarRef=h(y4);data=h(Lz);constructor(){}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions",""],["matButton","","matSnackBarAction","",3,"click"]],template:function(i,n){i&1&&(m(0,"div",0),K(1),w(),V(2,aBA,3,1,"div",1)),i&2&&(p(),Se(" ",n.data.message,` -`),p(),W(n.hasAction?2:-1))},dependencies:[fn,lBA,cBA,CBA],styles:[`.mat-mdc-simple-snack-bar{display:flex}.mat-mdc-simple-snack-bar .mat-mdc-snack-bar-label{max-height:50vh;overflow:auto} -`],encapsulation:2,changeDetection:0})}return t})(),Bk="_mat-snack-bar-enter",Ek="_mat-snack-bar-exit",dBA=(()=>{class t extends L2{_ngZone=h(Oe);_elementRef=h(ge);_changeDetectorRef=h(Dt);_platform=h(Ii);_animationsDisabled=ji();snackBarConfig=h(lE);_document=h(Xt);_trackedModals=new Set;_enterFallback;_exitFallback;_injector=h(ft);_announceDelay=150;_announceTimeoutId;_destroyed=!1;_portalOutlet;_onAnnounce=new XA;_onExit=new XA;_onEnter=new XA;_animationState="void";_live;_label;_role;_liveElementId=h(an).getId("mat-snack-bar-container-live-");constructor(){super();let A=this.snackBarConfig;A.politeness==="assertive"&&!A.announcementMessage?this._live="assertive":A.politeness==="off"?this._live="off":this._live="polite",this._platform.FIREFOX&&(this._live==="polite"&&(this._role="status"),this._live==="assertive"&&(this._role="alert"))}attachComponentPortal(A){this._assertNotAttached();let i=this._portalOutlet.attachComponentPortal(A);return this._afterPortalAttached(),i}attachTemplatePortal(A){this._assertNotAttached();let i=this._portalOutlet.attachTemplatePortal(A);return this._afterPortalAttached(),i}attachDomPortal=A=>{this._assertNotAttached();let i=this._portalOutlet.attachDomPortal(A);return this._afterPortalAttached(),i};onAnimationEnd(A){A===Ek?this._completeExit():A===Bk&&(clearTimeout(this._enterFallback),this._ngZone.run(()=>{this._onEnter.next(),this._onEnter.complete()}))}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce(),this._animationsDisabled?Yn(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(Bk)))},{injector:this._injector}):(clearTimeout(this._enterFallback),this._enterFallback=setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-snack-bar-fallback-visible"),this.onAnimationEnd(Bk)},200)))}exit(){return this._destroyed?se(void 0):(this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._animationsDisabled?Yn(()=>{this._ngZone.run(()=>queueMicrotask(()=>this.onAnimationEnd(Ek)))},{injector:this._injector}):(clearTimeout(this._exitFallback),this._exitFallback=setTimeout(()=>this.onAnimationEnd(Ek),200))}),this._onExit)}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){clearTimeout(this._exitFallback),queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){let A=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(a=>A.classList.add(a)):A.classList.add(i)),this._exposeToModals();let n=this._label.nativeElement,o="mdc-snackbar__label";n.classList.toggle(o,!n.querySelector(`.${o}`))}_exposeToModals(){let A=this._liveElementId,i=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let n=0;n{let i=A.getAttribute("aria-owns");if(i){let n=i.replace(this._liveElementId,"").trim();n.length>0?A.setAttribute("aria-owns",n):A.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{if(this._destroyed)return;let A=this._elementRef.nativeElement,i=A.querySelector("[aria-hidden]"),n=A.querySelector("[aria-live]");if(i&&n){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&i.contains(document.activeElement)&&(o=document.activeElement),i.removeAttribute("aria-hidden"),n.appendChild(i),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-snack-bar-container"]],viewQuery:function(i,n){if(i&1&&ai(Yg,7)(rBA,7),i&2){let o;ce(o=Ce())&&(n._portalOutlet=o.first),ce(o=Ce())&&(n._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container"],hostVars:6,hostBindings:function(i,n){i&1&&tA("animationend",function(a){return n.onAnimationEnd(a.animationName)})("animationcancel",function(a){return n.onAnimationEnd(a.animationName)}),i&2&&ne("mat-snack-bar-container-enter",n._animationState==="visible")("mat-snack-bar-container-exit",n._animationState==="hidden")("mat-snack-bar-container-animations-enabled",!n._animationsDisabled)},features:[It],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface","mat-mdc-snackbar-surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(i,n){i&1&&(m(0,"div",1)(1,"div",2,0)(3,"div",3),pt(4,sBA,0,0,"ng-template",4),w(),GA(5,"div"),w()()),i&2&&(p(5),ie("aria-live",n._live)("role",n._role)("id",n._liveElementId))},dependencies:[Yg],styles:[`@keyframes _mat-snack-bar-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes _mat-snack-bar-exit{from{opacity:1}to{opacity:0}}.mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-snack-bar-container-animations-enabled{opacity:0}.mat-snack-bar-container-animations-enabled.mat-snack-bar-fallback-visible{opacity:1}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-enter{animation:_mat-snack-bar-enter 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-exit{animation:_mat-snack-bar-exit 75ms cubic-bezier(0.4, 0, 1, 1) forwards}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}@media(forced-colors: active){.mat-mdc-snackbar-surface{outline:solid 1px}}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mat-snack-bar-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-snack-bar-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-snack-bar-container-color, var(--mat-sys-inverse-surface))}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mat-snack-bar-supporting-text-font, var(--mat-sys-body-medium-font));font-size:var(--mat-snack-bar-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mat-snack-bar-supporting-text-weight, var(--mat-sys-body-medium-weight));line-height:var(--mat-snack-bar-supporting-text-line-height, var(--mat-sys-body-medium-line-height))}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){--mat-button-text-state-layer-color: currentColor;--mat-button-text-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled).mat-unthemed{color:var(--mat-snack-bar-button-color, var(--mat-sys-inverse-primary))}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1} -`],encapsulation:2})}return t})(),BBA=new yA("mat-snack-bar-default-options",{providedIn:"root",factory:()=>new lE}),J2=(()=>{class t{_live=h(vu);_injector=h(ft);_breakpointObserver=h(Du);_parentSnackBar=h(t,{optional:!0,skipSelf:!0});_defaultConfig=h(BBA);_animationsDisabled=ji();_snackBarRefAtThisLevel=null;simpleSnackBarComponent=IBA;snackBarContainerComponent=dBA;handsetCssClass="mat-mdc-snack-bar-handset";get _openedSnackBarRef(){let A=this._parentSnackBar;return A?A._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(A){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=A:this._snackBarRefAtThisLevel=A}constructor(){}openFromComponent(A,i){return this._attach(A,i)}openFromTemplate(A,i){return this._attach(A,i)}open(A,i="",n){let o=cA(cA({},this._defaultConfig),n);return o.data={message:A,action:i},o.announcementMessage===A&&(o.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,o)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(A,i){let n=i&&i.viewContainerRef&&i.viewContainerRef.injector,o=ft.create({parent:n||this._injector,providers:[{provide:lE,useValue:i}]}),a=new Jg(this.snackBarContainerComponent,i.viewContainerRef,o),r=A.attach(a);return r.instance.snackBarConfig=i,r.instance}_attach(A,i){let n=cA(cA(cA({},new lE),this._defaultConfig),i),o=this._createOverlay(n),a=this._attachSnackBarContainer(o,n),r=new y4(a,o);if(A instanceof Tn){let s=new Is(A,null,{$implicit:n.data,snackBarRef:r});r.instance=a.attachTemplatePortal(s)}else{let s=this._createInjector(n,r),g=new Jg(A,void 0,s),l=a.attachComponentPortal(g);r.instance=l.instance}return this._breakpointObserver.observe(qJ.HandsetPortrait).pipe(Bt(o.detachments())).subscribe(s=>{o.overlayElement.classList.toggle(this.handsetCssClass,s.matches)}),n.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(r,n),this._openedSnackBarRef=r,this._openedSnackBarRef}_animateSnackBar(A,i){A.afterDismissed().subscribe(()=>{this._openedSnackBarRef==A&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),i.duration&&i.duration>0&&A.afterOpened().subscribe(()=>A._dismissAfter(i.duration)),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{A.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):A.containerInstance.enter()}_createOverlay(A){let i=new sc;i.direction=A.direction;let n=G2(this._injector),o=A.direction==="rtl",a=A.horizontalPosition==="left"||A.horizontalPosition==="start"&&!o||A.horizontalPosition==="end"&&o,r=!a&&A.horizontalPosition!=="center";return a?n.left("0"):r?n.right("0"):n.centerHorizontally(),A.verticalPosition==="top"?n.top("0"):n.bottom("0"),i.positionStrategy=n,i.disableAnimations=this._animationsDisabled,lc(this._injector,i)}_createInjector(A,i){let n=A&&A.viewContainerRef&&A.viewContainerRef.injector;return ft.create({parent:n||this._injector,providers:[{provide:y4,useValue:i},{provide:Lz,useValue:A.data}]})}static \u0275fac=function(i){return new(i||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var EBA=t=>["segment",t],QBA=(t,e)=>({"segment-main":!0,expandable:t,expanded:e});function hBA(t,e){t&1&&GA(0,"div",9)}function uBA(t,e){if(t&1&&(m(0,"span",10),K(1),w()),t&2){let A=v().$implicit;p(),qA(A.description)}}function fBA(t,e){if(t&1&&(m(0,"section",11),GA(1,"ngx-json-viewer",12),w()),t&2){let A=v().$implicit,i=v();p(),$("json",A.value)("expanded",i.expanded)("depth",i.depth)("_currentDepth",i._currentDepth+1)}}function mBA(t,e){if(t&1){let A=JA();m(0,"section",2)(1,"section",3),tA("click",function(){let n=Z(A).$implicit,o=v();return X(o.toggle(n))}),pt(2,hBA,1,0,"div",4),m(3,"span",5),K(4),w(),m(5,"span",6),K(6,": "),w(),pt(7,uBA,2,1,"span",7),w(),pt(8,fBA,2,4,"section",8),w()}if(t&2){let A=e.$implicit,i=v();$("ngClass",ss(6,EBA,"segment-type-"+A.type)),p(),$("ngClass",Zl(8,QBA,i.isExpandable(A),A.expanded)),p(),$("ngIf",i.isExpandable(A)),p(2),qA(A.key),p(3),$("ngIf",!A.expanded||!i.isExpandable(A)),p(),$("ngIf",A.expanded&&i.isExpandable(A))}}var Y2=(()=>{class t{constructor(){this.expanded=!0,this.depth=-1,this._currentDepth=0,this.segments=[]}ngOnChanges(){this.segments=[],this.json=this.decycle(this.json),typeof this.json=="object"?Object.keys(this.json).forEach(A=>{this.segments.push(this.parseKeyValue(A,this.json[A]))}):this.segments.push(this.parseKeyValue(`(${typeof this.json})`,this.json))}isExpandable(A){return A.type==="object"||A.type==="array"}toggle(A){this.isExpandable(A)&&(A.expanded=!A.expanded)}parseKeyValue(A,i){let n={key:A,value:i,type:void 0,description:""+i,expanded:this.isExpanded()};switch(typeof n.value){case"number":{n.type="number";break}case"boolean":{n.type="boolean";break}case"function":{n.type="function";break}case"string":{n.type="string",n.description='"'+n.value+'"';break}case"undefined":{n.type="undefined",n.description="undefined";break}case"object":{n.value===null?(n.type="null",n.description="null"):Array.isArray(n.value)?(n.type="array",n.description="Array["+n.value.length+"] "+JSON.stringify(n.value)):n.value instanceof Date?n.type="date":(n.type="object",n.description="Object "+JSON.stringify(n.value));break}}return n}isExpanded(){return this.expanded&&!(this.depth>-1&&this._currentDepth>=this.depth)}decycle(A){let i=new WeakMap;return(function n(o,a){let r,s;return typeof o=="object"&&o!==null&&!(o instanceof Boolean)&&!(o instanceof Date)&&!(o instanceof Number)&&!(o instanceof RegExp)&&!(o instanceof String)?(r=i.get(o),r!==void 0?{$ref:r}:(i.set(o,a),Array.isArray(o)?(s=[],o.forEach(function(g,l){s[l]=n(g,a+"["+l+"]")})):(s={},Object.keys(o).forEach(function(g){s[g]=n(o[g],a+"["+JSON.stringify(g)+"]")})),s)):o})(A,"$")}}return t.\u0275fac=function(A){return new(A||t)},t.\u0275cmp=kA({type:t,selectors:[["ngx-json-viewer"]],inputs:{json:"json",expanded:"expanded",depth:"depth",_currentDepth:"_currentDepth"},standalone:!1,features:[ti],decls:2,vars:1,consts:[[1,"ngx-json-viewer"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[3,"click","ngClass"],["class","toggler",4,"ngIf"],[1,"segment-key"],[1,"segment-separator"],["class","segment-value",4,"ngIf"],["class","children",4,"ngIf"],[1,"toggler"],[1,"segment-value"],[1,"children"],[3,"json","expanded","depth","_currentDepth"]],template:function(A,i){A&1&&(m(0,"section",0),pt(1,mBA,9,11,"section",1),w()),A&2&&(p(),$("ngForOf",i.segments))},dependencies:[gs,DB,rl,t],styles:['@charset "UTF-8";.ngx-json-viewer[_ngcontent-%COMP%]{font-family:var(--ngx-json-font-family, monospace);font-size:var(--ngx-json-font-size, 1em);width:100%;height:100%;overflow:hidden;position:relative}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%]{padding:2px;margin:1px 1px 1px 12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%]{word-wrap:break-word}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]{position:absolute;margin-left:-14px;margin-top:3px;font-size:.8em;line-height:1.2em;vertical-align:middle;color:var(--ngx-json-toggler, #787878)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]:after{display:inline-block;content:"\\25ba";transition:transform .1s ease-in}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-key, #4E187C)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-separator[_ngcontent-%COMP%]{color:var(--ngx-json-separator, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-value, #000)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .children[_ngcontent-%COMP%]{margin-left:12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-string[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-string, #FF6B6B)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-number[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-number, #009688)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-boolean[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-boolean, #B938A4)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-date[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-date, #05668D)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-array, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-object, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-function[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-function, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-null, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-undefined, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-null-bg, red)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%]{white-space:nowrap}.ngx-json-viewer[_ngcontent-%COMP%] .expanded[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]:after{transform:rotate(90deg)}.ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]{cursor:pointer}']}),t})(),E0=(()=>{class t{}return t.\u0275fac=function(A){return new(A||t)},t.\u0275mod=$e({type:t}),t.\u0275inj=Xe({imports:[ma]}),t})();var zr=class t{static getBaseUrlWithoutPath(){let e=window.location.href;return new URL(e).origin+"/dev-ui/"}static getApiServerBaseUrl(){return window.runtimeConfig?.backendUrl||""}static getWSServerUrl(){let e=t.getApiServerBaseUrl();return!e||e==""?window.location.host:e.startsWith("http://")?e.slice(7):e.startsWith("https://")?e.slice(8):e}};var sg=new yA("AgentService");var Q0=new yA("AgentBuilderService");var u8=new yA("ArtifactService");var cE=new yA("DownloadService");var h0=new yA("EvalService");var CE=new yA("EventService");var Gz="import_session",Kz="edit_function_args";var Uz="a2a_card",vr=new yA("FeatureFlagService");var IE=new yA("GraphService");var f8=new yA("LocalFileService");var u0=new yA("SafeValuesService"),m8=class{openBase64InNewTab(e,A){try{if(!e)return;let i=e;if(e.startsWith("data:")&&e.includes(";base64,")&&(i=i.substring(i.indexOf(";base64,")+8)),!A||!i)return;let n=atob(i),o=new Array(n.length);for(let g=0;gthis.onResizeHandleMouseDown(e)),document.documentElement.style.setProperty("--bottom-panel-height","310px"),this.renderer.setStyle(this.el.nativeElement,"height","var(--bottom-panel-height)")}onResizeHandleMouseDown(e){this.resizingEvent={isResizing:!0,startingCursorY:e.clientY,startingHeight:this.bottomPanelHeight},e.preventDefault()}onMouseMove(e){if(!this.resizingEvent.isResizing)return;let A=this.resizingEvent.startingCursorY-e.clientY,i=this.resizingEvent.startingHeight+A;this.bottomPanelHeight=i,this.renderer.addClass(document.body,"resizing")}onMouseUp(){this.resizingEvent.isResizing=!1,this.renderer.removeClass(document.body,"resizing")}onResize(){this.bottomMaxHeight=window.innerHeight/2,this.bottomPanelHeight=this.bottomPanelHeight}set bottomPanelHeight(e){let A=Math.min(Math.max(e,this.bottomMinHeight),this.bottomMaxHeight);document.body.style.setProperty("--bottom-panel-height",`${A}px`)}get bottomPanelHeight(){let e=getComputedStyle(document.body).getPropertyValue("--bottom-panel-height"),A=parseInt(e,10);return isNaN(A)?500:A}static \u0275fac=function(A){return new(A||t)(at(ge),at(_i))};static \u0275dir=OA({type:t,selectors:[["","appResizableBottomPanel",""]],hostBindings:function(A,i){A&1&&tA("mousemove",function(o){return i.onMouseMove(o)},nC)("mouseup",function(){return i.onMouseUp()},nC)("resize",function(){return i.onResize()},m2)}})};var y8=class t{constructor(e,A){this.el=e;this.renderer=A}sideDrawerMinWidth=310;sideDrawerMaxWidth=window.innerWidth/2;resizeHandle=null;resizingEvent={isResizing:!1,startingCursorX:0,startingWidth:0};ngAfterViewInit(){this.sideDrawerMaxWidth=window.innerWidth/2,this.resizeHandle=document.getElementsByClassName("resize-handler")[0],this.resizeHandle&&this.renderer.listen(this.resizeHandle,"mousedown",e=>this.onResizeHandleMouseDown(e)),document.documentElement.style.setProperty("--side-drawer-width","570px"),this.renderer.setStyle(this.el.nativeElement,"width","var(--side-drawer-width)")}onResizeHandleMouseDown(e){this.resizingEvent={isResizing:!0,startingCursorX:e.clientX,startingWidth:this.sideDrawerWidth},e.preventDefault()}onMouseMove(e){if(!this.resizingEvent.isResizing)return;let A=e.clientX-this.resizingEvent.startingCursorX,i=this.resizingEvent.startingWidth+A;this.sideDrawerWidth=i,this.renderer.addClass(document.body,"resizing")}onMouseUp(){this.resizingEvent.isResizing=!1,this.renderer.removeClass(document.body,"resizing")}onResize(){this.sideDrawerMaxWidth=window.innerWidth/2,this.sideDrawerWidth=this.sideDrawerWidth}set sideDrawerWidth(e){let A=Math.min(Math.max(e,this.sideDrawerMinWidth),this.sideDrawerMaxWidth);document.documentElement.style.setProperty("--side-drawer-width",`${A}px`)}get sideDrawerWidth(){let e=getComputedStyle(document.documentElement).getPropertyValue("--side-drawer-width"),A=parseFloat(e);return isNaN(A)?500:A}static \u0275fac=function(A){return new(A||t)(at(ge),at(_i))};static \u0275dir=OA({type:t,selectors:[["","appResizableDrawer",""]],hostBindings:function(A,i){A&1&&tA("mousemove",function(o){return i.onMouseMove(o)},nC)("mouseup",function(){return i.onMouseUp()},nC)("resize",function(){return i.onResize()},m2)}})};var v8=Symbol.for("yaml.alias"),b8=Symbol.for("yaml.document"),cc=Symbol.for("yaml.map"),Qk=Symbol.for("yaml.pair"),Tg=Symbol.for("yaml.scalar"),fC=Symbol.for("yaml.seq"),Ks=Symbol.for("yaml.node.type"),hl=t=>!!t&&typeof t=="object"&&t[Ks]===v8,Cc=t=>!!t&&typeof t=="object"&&t[Ks]===b8,Ic=t=>!!t&&typeof t=="object"&&t[Ks]===cc,mn=t=>!!t&&typeof t=="object"&&t[Ks]===Qk,Yi=t=>!!t&&typeof t=="object"&&t[Ks]===Tg,dc=t=>!!t&&typeof t=="object"&&t[Ks]===fC;function so(t){if(t&&typeof t=="object")switch(t[Ks]){case cc:case fC:return!0}return!1}function yn(t){if(t&&typeof t=="object")switch(t[Ks]){case v8:case cc:case Tg:case fC:return!0}return!1}var M8=t=>(Yi(t)||so(t))&&!!t.anchor;var gg=Symbol("break visit"),Jz=Symbol("skip children"),f0=Symbol("remove node");function m0(t,e){let A=Yz(e);Cc(t)?BE(null,t.contents,A,Object.freeze([t]))===f0&&(t.contents=null):BE(null,t,A,Object.freeze([]))}m0.BREAK=gg;m0.SKIP=Jz;m0.REMOVE=f0;function BE(t,e,A,i){let n=Tz(t,e,A,i);if(yn(n)||mn(n))return Hz(t,i,n),BE(t,n,A,i);if(typeof n!="symbol"){if(so(e)){i=Object.freeze(i.concat(e));for(let o=0;ot.replace(/[!,[\]{}]/g,e=>pBA[e]),QE=(()=>{class t{constructor(A,i){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,A),this.tags=Object.assign({},t.defaultTags,i)}clone(){let A=new t(this.yaml,this.tags);return A.docStart=this.docStart,A}atDocument(){let A=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return A}add(A,i){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let n=A.trim().split(/[ \t]+/),o=n.shift();switch(o){case"%TAG":{if(n.length!==2&&(i(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[a,r]=n;return this.tags[a]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return i(0,"%YAML directive should contain exactly one part"),!1;let[a]=n;if(a==="1.1"||a==="1.2")return this.yaml.version=a,!0;{let r=/^\d+\.\d+$/.test(a);return i(6,`Unsupported YAML version ${a}`,r),!1}}default:return i(0,`Unknown directive ${o}`,!0),!1}}tagName(A,i){if(A==="!")return"!";if(A[0]!=="!")return i(`Not a valid tag: ${A}`),null;if(A[1]==="<"){let r=A.slice(2,-1);return r==="!"||r==="!!"?(i(`Verbatim tags aren't resolved, so ${A} is invalid.`),null):(A[A.length-1]!==">"&&i("Verbatim tags must end with a >"),r)}let[,n,o]=A.match(/^(.*!)([^!]*)$/s);o||i(`The ${A} tag has no suffix`);let a=this.tags[n];if(a)try{return a+decodeURIComponent(o)}catch(r){return i(String(r)),null}return n==="!"?A:(i(`Could not resolve tag: ${A}`),null)}tagString(A){for(let[i,n]of Object.entries(this.tags))if(A.startsWith(n))return i+wBA(A.substring(n.length));return A[0]==="!"?A:`!<${A}>`}toString(A){let i=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),o;if(A&&n.length>0&&yn(A.contents)){let a={};m0(A.contents,(r,s)=>{yn(s)&&s.tag&&(a[s.tag]=!0)}),o=Object.keys(a)}else o=[];for(let[a,r]of n)a==="!!"&&r==="tag:yaml.org,2002:"||(!A||o.some(s=>s.startsWith(r)))&&i.push(`%TAG ${a} ${r}`);return i.join(` -`)}}return t.defaultYaml={explicit:!1,version:"1.2"},t.defaultTags={"!!":"tag:yaml.org,2002:"},t})();function S8(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let A=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(A)}return!0}function hk(t){let e=new Set;return m0(t,{Value(A,i){i.anchor&&e.add(i.anchor)}}),e}function uk(t,e){for(let A=1;;++A){let i=`${t}${A}`;if(!e.has(i))return i}}function zz(t,e){let A=[],i=new Map,n=null;return{onAnchor:o=>{A.push(o),n??(n=hk(t));let a=uk(e,n);return n.add(a),a},setAnchors:()=>{for(let o of A){let a=i.get(o);if(typeof a=="object"&&a.anchor&&(Yi(a.node)||so(a.node)))a.node.anchor=a.anchor;else{let r=new Error("Failed to resolve repeated object (this should not happen)");throw r.source=o,r}}},sourceObjects:i}}function H2(t,e,A,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let n=0,o=i.length;nEr(i,String(n),A));if(t&&typeof t.toJSON=="function"){if(!A||!M8(t))return t.toJSON(e,A);let i={aliasCount:0,count:1,res:void 0};A.anchors.set(t,i),A.onCreate=o=>{i.res=o,delete A.onCreate};let n=t.toJSON(e,A);return A.onCreate&&A.onCreate(n),n}return typeof t=="bigint"&&!A?.keep?Number(t):t}var z2=class{constructor(e){Object.defineProperty(this,Ks,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:A,maxAliasCount:i,onAnchor:n,reviver:o}={}){if(!Cc(e))throw new TypeError("A document argument is required");let a={anchors:new Map,doc:e,keep:!0,mapAsMap:A===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},r=Er(this,"",a);if(typeof n=="function")for(let{count:s,res:g}of a.anchors.values())n(g,s);return typeof o=="function"?H2(o,{"":r},"",r):r}};var mC=class extends z2{constructor(e){super(v8),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,A){let i;A?.aliasResolveCache?i=A.aliasResolveCache:(i=[],m0(e,{Node:(o,a)=>{(hl(a)||M8(a))&&i.push(a)}}),A&&(A.aliasResolveCache=i));let n;for(let o of i){if(o===this)break;o.anchor===this.source&&(n=o)}return n}toJSON(e,A){if(!A)return{source:this.source};let{anchors:i,doc:n,maxAliasCount:o}=A,a=this.resolve(n,A);if(!a){let s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(s)}let r=i.get(a);if(r||(Er(a,null,A),r=i.get(a)),r?.res===void 0){let s="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(s)}if(o>=0&&(r.count+=1,r.aliasCount===0&&(r.aliasCount=x8(n,a,i)),r.count*r.aliasCount>o)){let s="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(s)}return r.res}toString(e,A,i){let n=`*${this.source}`;if(e){if(S8(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(e.implicitKey)return`${n} `}return n}};function x8(t,e,A){if(hl(e)){let i=e.resolve(t),n=A&&i&&A.get(i);return n?n.count*n.aliasCount:0}else if(so(e)){let i=0;for(let n of e.items){let o=x8(t,n,A);o>i&&(i=o)}return i}else if(mn(e)){let i=x8(t,e.key,A),n=x8(t,e.value,A);return Math.max(i,n)}return 1}var R8=t=>!t||typeof t!="function"&&typeof t!="object",zt=(()=>{class t extends z2{constructor(A){super(Tg),this.value=A}toJSON(A,i){return i?.keep?this.value:Er(this.value,A,i)}toString(){return String(this.value)}}return t.BLOCK_FOLDED="BLOCK_FOLDED",t.BLOCK_LITERAL="BLOCK_LITERAL",t.PLAIN="PLAIN",t.QUOTE_DOUBLE="QUOTE_DOUBLE",t.QUOTE_SINGLE="QUOTE_SINGLE",t})();var DBA="tag:yaml.org,2002:";function yBA(t,e,A){if(e){let i=A.filter(o=>o.tag===e),n=i.find(o=>!o.format)??i[0];if(!n)throw new Error(`Tag ${e} not found`);return n}return A.find(i=>i.identify?.(t)&&!i.format)}function pC(t,e,A){if(Cc(t)&&(t=t.contents),yn(t))return t;if(mn(t)){let C=A.schema[cc].createNode?.(A.schema,null,A);return C.items.push(t),C}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:i,onAnchor:n,onTagObj:o,schema:a,sourceObjects:r}=A,s;if(i&&t&&typeof t=="object"){if(s=r.get(t),s)return s.anchor??(s.anchor=n(t)),new mC(s.anchor);s={anchor:null,node:null},r.set(t,s)}e?.startsWith("!!")&&(e=DBA+e.slice(2));let g=yBA(t,e,a.tags);if(!g){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let C=new zt(t);return s&&(s.node=C),C}g=t instanceof Map?a[cc]:Symbol.iterator in Object(t)?a[fC]:a[cc]}o&&(o(g),delete A.onTagObj);let l=g?.createNode?g.createNode(A.schema,t,A):typeof g?.nodeClass?.from=="function"?g.nodeClass.from(A.schema,t,A):new zt(t);return e?l.tag=e:g.default||(l.tag=g.tag),s&&(s.node=l),l}function v4(t,e,A){let i=A;for(let n=e.length-1;n>=0;--n){let o=e[n];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let a=[];a[o]=i,i=a}else i=new Map([[o,i]])}return pC(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var uE=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,hE=class extends z2{constructor(e,A){super(e),Object.defineProperty(this,"schema",{value:A,configurable:!0,enumerable:!1,writable:!0})}clone(e){let A=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(A.schema=e),A.items=A.items.map(i=>yn(i)||mn(i)?i.clone(e):i),this.range&&(A.range=this.range.slice()),A}addIn(e,A){if(uE(e))this.add(A);else{let[i,...n]=e,o=this.get(i,!0);if(so(o))o.addIn(n,A);else if(o===void 0&&this.schema)this.set(i,v4(this.schema,n,A));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${n}`)}}deleteIn(e){let[A,...i]=e;if(i.length===0)return this.delete(A);let n=this.get(A,!0);if(so(n))return n.deleteIn(i);throw new Error(`Expected YAML collection at ${A}. Remaining path: ${i}`)}getIn(e,A){let[i,...n]=e,o=this.get(i,!0);return n.length===0?!A&&Yi(o)?o.value:o:so(o)?o.getIn(n,A):void 0}hasAllNullValues(e){return this.items.every(A=>{if(!mn(A))return!1;let i=A.value;return i==null||e&&Yi(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(e){let[A,...i]=e;if(i.length===0)return this.has(A);let n=this.get(A,!0);return so(n)?n.hasIn(i):!1}setIn(e,A){let[i,...n]=e;if(n.length===0)this.set(i,A);else{let o=this.get(i,!0);if(so(o))o.setIn(n,A);else if(o===void 0&&this.schema)this.set(i,v4(this.schema,n,A));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${n}`)}}};var Oz=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function ul(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var p0=(t,e,A)=>t.endsWith(` -`)?ul(A,e):A.includes(` -`)?` -`+ul(A,e):(t.endsWith(" ")?"":" ")+A;var fk="flow",N8="block",b4="quoted";function M4(t,e,A="flow",{indentAtStart:i,lineWidth:n=80,minContentWidth:o=20,onFold:a,onOverflow:r}={}){if(!n||n<0)return t;nn-Math.max(2,o)?g.push(0):C=n-i);let I,d,B=!1,E=-1,Q=-1,f=-1;A===N8&&(E=Pz(t,E,e.length),E!==-1&&(C=E+s));for(let S;S=t[E+=1];){if(A===b4&&S==="\\"){switch(Q=E,t[E+1]){case"x":E+=3;break;case"u":E+=5;break;case"U":E+=9;break;default:E+=1}f=E}if(S===` -`)A===N8&&(E=Pz(t,E,e.length)),C=E+e.length+s,I=void 0;else{if(S===" "&&d&&d!==" "&&d!==` -`&&d!==" "){let M=t[E+1];M&&M!==" "&&M!==` -`&&M!==" "&&(I=E)}if(E>=C)if(I)g.push(I),C=I+s,I=void 0;else if(A===b4){for(;d===" "||d===" ";)d=S,S=t[E+=1],B=!0;let M=E>f+1?E-2:Q-1;if(l[M])return t;g.push(M),l[M]=!0,C=M+s,I=void 0}else B=!0}d=S}if(B&&r&&r(),g.length===0)return t;a&&a();let b=t.slice(0,g[0]);for(let S=0;S({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),L8=t=>/^(%|---|\.\.\.)/m.test(t);function vBA(t,e,A){if(!e||e<0)return!1;let i=e-A,n=t.length;if(n<=i)return!1;for(let o=0,a=0;oi)return!0;if(a=o+1,n-a<=i)return!1}return!0}function k4(t,e){let A=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return A;let{implicitKey:i}=e,n=e.options.doubleQuotedMinMultiLineLength,o=e.indent||(L8(t)?" ":""),a="",r=0;for(let s=0,g=A[s];g;g=A[++s])if(g===" "&&A[s+1]==="\\"&&A[s+2]==="n"&&(a+=A.slice(r,s)+"\\ ",s+=1,r=s,g="\\"),g==="\\")switch(A[s+1]){case"u":{a+=A.slice(r,s);let l=A.substr(s+2,4);switch(l){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:l.substr(0,2)==="00"?a+="\\x"+l.substr(2):a+=A.substr(s,6)}s+=5,r=s+1}break;case"n":if(i||A[s+2]==='"'||A.length -`;let C,I;for(I=A.length;I>0;--I){let D=A[I-1];if(D!==` -`&&D!==" "&&D!==" ")break}let d=A.substring(I),B=d.indexOf(` -`);B===-1?C="-":A===d||B!==d.length-1?(C="+",o&&o()):C="",d&&(A=A.slice(0,-d.length),d[d.length-1]===` -`&&(d=d.slice(0,-1)),d=d.replace(pk,`$&${g}`));let E=!1,Q,f=-1;for(Q=0;Q{F=!0});let U=M4(`${b}${D}${d}`,g,N8,_);if(!F)return`>${M} -${g}${U}`}return A=A.replace(/\n+/g,`$&${g}`),`|${M} -${g}${b}${A}${d}`}function bBA(t,e,A,i){let{type:n,value:o}=t,{actualString:a,implicitKey:r,indent:s,indentStep:g,inFlow:l}=e;if(r&&o.includes(` -`)||l&&/[[\]{},]/.test(o))return fE(o,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return r||l||!o.includes(` -`)?fE(o,e):F8(t,e,A,i);if(!r&&!l&&n!==zt.PLAIN&&o.includes(` -`))return F8(t,e,A,i);if(L8(o)){if(s==="")return e.forceBlockIndent=!0,F8(t,e,A,i);if(r&&s===g)return fE(o,e)}let C=o.replace(/\n+/g,`$& -${s}`);if(a){let I=E=>E.default&&E.tag!=="tag:yaml.org,2002:str"&&E.test?.test(C),{compat:d,tags:B}=e.doc.schema;if(B.some(I)||d?.some(I))return fE(o,e)}return r?C:M4(C,s,fk,_8(e,!1))}function W1(t,e,A,i){let{implicitKey:n,inFlow:o}=e,a=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:r}=t;r!==zt.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(r=zt.QUOTE_DOUBLE);let s=l=>{switch(l){case zt.BLOCK_FOLDED:case zt.BLOCK_LITERAL:return n||o?fE(a.value,e):F8(a,e,A,i);case zt.QUOTE_DOUBLE:return k4(a.value,e);case zt.QUOTE_SINGLE:return mk(a.value,e);case zt.PLAIN:return bBA(a,e,A,i);default:return null}},g=s(r);if(g===null){let{defaultKeyType:l,defaultStringType:C}=e.options,I=n&&l||C;if(g=s(I),g===null)throw new Error(`Unsupported default string type ${I}`)}return g}function G8(t,e){let A=Object.assign({blockQuote:!0,commentString:Oz,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,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),i;switch(A.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:t,flowCollectionPadding:A.flowCollectionPadding?" ":"",indent:"",indentStep:typeof A.indent=="number"?" ".repeat(A.indent):" ",inFlow:i,options:A}}function MBA(t,e){if(e.tag){let n=t.filter(o=>o.tag===e.tag);if(n.length>0)return n.find(o=>o.format===e.format)??n[0]}let A,i;if(Yi(e)){i=e.value;let n=t.filter(o=>o.identify?.(i));if(n.length>1){let o=n.filter(a=>a.test);o.length>0&&(n=o)}A=n.find(o=>o.format===e.format)??n.find(o=>!o.format)}else i=e,A=t.find(n=>n.nodeClass&&i instanceof n.nodeClass);if(!A){let n=i?.constructor?.name??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${n} value`)}return A}function kBA(t,e,{anchors:A,doc:i}){if(!i.directives)return"";let n=[],o=(Yi(t)||so(t))&&t.anchor;o&&S8(o)&&(A.add(o),n.push(`&${o}`));let a=t.tag??(e.default?null:e.tag);return a&&n.push(i.directives.tagString(a)),n.join(" ")}function wC(t,e,A,i){if(mn(t))return t.toString(e,A,i);if(hl(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let n,o=yn(t)?t:e.doc.createNode(t,{onTagObj:s=>n=s});n??(n=MBA(e.doc.schema.tags,o));let a=kBA(o,n,e);a.length>0&&(e.indentAtStart=(e.indentAtStart??0)+a.length+1);let r=typeof n.stringify=="function"?n.stringify(o,e,A,i):Yi(o)?W1(o,e,A,i):o.toString(e,A,i);return a?Yi(o)||r[0]==="{"||r[0]==="["?`${a} ${r}`:`${a} -${e.indent}${r}`:r}function jz({key:t,value:e},A,i,n){let{allNullValues:o,doc:a,indent:r,indentStep:s,options:{commentString:g,indentSeq:l,simpleKeys:C}}=A,I=yn(t)&&t.comment||null;if(C){if(I)throw new Error("With simple keys, key nodes cannot have comments");if(so(t)||!yn(t)&&typeof t=="object"){let _="With simple keys, collection cannot be used as a key value";throw new Error(_)}}let d=!C&&(!t||I&&e==null&&!A.inFlow||so(t)||(Yi(t)?t.type===zt.BLOCK_FOLDED||t.type===zt.BLOCK_LITERAL:typeof t=="object"));A=Object.assign({},A,{allNullValues:!1,implicitKey:!d&&(C||!o),indent:r+s});let B=!1,E=!1,Q=wC(t,A,()=>B=!0,()=>E=!0);if(!d&&!A.inFlow&&Q.length>1024){if(C)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");d=!0}if(A.inFlow){if(o||e==null)return B&&i&&i(),Q===""?"?":d?`? ${Q}`:Q}else if(o&&!C||e==null&&d)return Q=`? ${Q}`,I&&!B?Q+=p0(Q,A.indent,g(I)):E&&n&&n(),Q;B&&(I=null),d?(I&&(Q+=p0(Q,A.indent,g(I))),Q=`? ${Q} -${r}:`):(Q=`${Q}:`,I&&(Q+=p0(Q,A.indent,g(I))));let f,b,S;yn(e)?(f=!!e.spaceBefore,b=e.commentBefore,S=e.comment):(f=!1,b=null,S=null,e&&typeof e=="object"&&(e=a.createNode(e))),A.implicitKey=!1,!d&&!I&&Yi(e)&&(A.indentAtStart=Q.length+1),E=!1,!l&&s.length>=2&&!A.inFlow&&!d&&dc(e)&&!e.flow&&!e.tag&&!e.anchor&&(A.indent=A.indent.substring(2));let M=!1,D=wC(e,A,()=>M=!0,()=>E=!0),F=" ";if(I||f||b){if(F=f?` -`:"",b){let _=g(b);F+=` -${ul(_,A.indent)}`}D===""&&!A.inFlow?F===` -`&&S&&(F=` - -`):F+=` -${A.indent}`}else if(!d&&so(e)){let _=D[0],U=D.indexOf(` -`),J=U!==-1,j=A.inFlow??e.flow??e.items.length===0;if(J||!j){let AA=!1;if(J&&(_==="&"||_==="!")){let O=D.indexOf(" ");_==="&"&&O!==-1&&Ot===U8||typeof t=="symbol"&&t.description===U8,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new zt(Symbol(U8)),{addToJSMap:Dk}),stringify:()=>U8},qz=(t,e)=>(Bc.identify(e)||Yi(e)&&(!e.type||e.type===zt.PLAIN)&&Bc.identify(e.value))&&t?.doc.schema.tags.some(A=>A.tag===Bc.tag&&A.default);function Dk(t,e,A){if(A=t&&hl(A)?A.resolve(t.doc):A,dc(A))for(let i of A.items)wk(t,e,i);else if(Array.isArray(A))for(let i of A)wk(t,e,i);else wk(t,e,A)}function wk(t,e,A){let i=t&&hl(A)?A.resolve(t.doc):A;if(!Ic(i))throw new Error("Merge sources must be maps or map aliases");let n=i.toJSON(null,t,Map);for(let[o,a]of n)e instanceof Map?e.has(o)||e.set(o,a):e instanceof Set?e.add(o):Object.prototype.hasOwnProperty.call(e,o)||Object.defineProperty(e,o,{value:a,writable:!0,enumerable:!0,configurable:!0});return e}function J8(t,e,{key:A,value:i}){if(yn(A)&&A.addToJSMap)A.addToJSMap(t,e,i);else if(qz(t,A))Dk(t,e,i);else{let n=Er(A,"",t);if(e instanceof Map)e.set(n,Er(i,n,t));else if(e instanceof Set)e.add(n);else{let o=SBA(A,n,t),a=Er(i,o,t);o in e?Object.defineProperty(e,o,{value:a,writable:!0,enumerable:!0,configurable:!0}):e[o]=a}}return e}function SBA(t,e,A){if(e===null)return"";if(typeof e!="object")return String(e);if(yn(t)&&A?.doc){let i=G8(A.doc,{});i.anchors=new Set;for(let o of A.anchors.keys())i.anchors.add(o.anchor);i.inFlow=!0,i.inStringifyKey=!0;let n=t.toString(i);if(!A.mapKeyWarned){let o=JSON.stringify(n);o.length>40&&(o=o.substring(0,36)+'..."'),K8(A.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),A.mapKeyWarned=!0}return n}return JSON.stringify(e)}function mE(t,e,A){let i=pC(t,void 0,A),n=pC(e,void 0,A);return new Ja(i,n)}var Ja=class t{constructor(e,A=null){Object.defineProperty(this,Ks,{value:Qk}),this.key=e,this.value=A}clone(e){let{key:A,value:i}=this;return yn(A)&&(A=A.clone(e)),yn(i)&&(i=i.clone(e)),new t(A,i)}toJSON(e,A){let i=A?.mapAsMap?new Map:{};return J8(A,i,this)}toString(e,A,i){return e?.doc?jz(this,e,A,i):JSON.stringify(this)}};function T8(t,e,A){return(e.inFlow??t.flow?RBA:xBA)(t,e,A)}function xBA({comment:t,items:e},A,{blockItemPrefix:i,flowChars:n,itemIndent:o,onChompKeep:a,onComment:r}){let{indent:s,options:{commentString:g}}=A,l=Object.assign({},A,{indent:o,type:null}),C=!1,I=[];for(let B=0;BQ=null,()=>C=!0);Q&&(f+=p0(f,o,g(Q))),C&&Q&&(C=!1),I.push(i+f)}let d;if(I.length===0)d=n.start+n.end;else{d=I[0];for(let B=1;BQ=null);Bl||f.includes(` -`))&&(g=!0),C.push(f),l=C.length}let{start:I,end:d}=A;if(C.length===0)return I+d;if(!g){let B=C.reduce((E,Q)=>E+Q.length+2,2);g=e.options.lineWidth>0&&B>e.options.lineWidth}if(g){let B=I;for(let E of C)B+=E?` -${o}${n}${E}`:` -`;return`${B} -${n}${d}`}else return`${I}${a}${C.join(" ")}${a}${d}`}function Y8({indent:t,options:{commentString:e}},A,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let o=ul(e(i),t);A.push(o.trimStart())}}function O2(t,e){let A=Yi(e)?e.value:e;for(let i of t)if(mn(i)&&(i.key===e||i.key===A||Yi(i.key)&&i.key.value===A))return i}var Za=class extends hE{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(cc,e),this.items=[]}static from(e,A,i){let{keepUndefined:n,replacer:o}=i,a=new this(e),r=(s,g)=>{if(typeof o=="function")g=o.call(A,s,g);else if(Array.isArray(o)&&!o.includes(s))return;(g!==void 0||n)&&a.items.push(mE(s,g,i))};if(A instanceof Map)for(let[s,g]of A)r(s,g);else if(A&&typeof A=="object")for(let s of Object.keys(A))r(s,A[s]);return typeof e.sortMapEntries=="function"&&a.items.sort(e.sortMapEntries),a}add(e,A){let i;mn(e)?i=e:!e||typeof e!="object"||!("key"in e)?i=new Ja(e,e?.value):i=new Ja(e.key,e.value);let n=O2(this.items,i.key),o=this.schema?.sortMapEntries;if(n){if(!A)throw new Error(`Key ${i.key} already set`);Yi(n.value)&&R8(i.value)?n.value.value=i.value:n.value=i.value}else if(o){let a=this.items.findIndex(r=>o(i,r)<0);a===-1?this.items.push(i):this.items.splice(a,0,i)}else this.items.push(i)}delete(e){let A=O2(this.items,e);return A?this.items.splice(this.items.indexOf(A),1).length>0:!1}get(e,A){let n=O2(this.items,e)?.value;return(!A&&Yi(n)?n.value:n)??void 0}has(e){return!!O2(this.items,e)}set(e,A){this.add(new Ja(e,A),!0)}toJSON(e,A,i){let n=i?new i:A?.mapAsMap?new Map:{};A?.onCreate&&A.onCreate(n);for(let o of this.items)J8(A,n,o);return n}toString(e,A,i){if(!e)return JSON.stringify(this);for(let n of this.items)if(!mn(n))throw new Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),T8(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:i,onComment:A})}};var Ec={collection:"map",default:!0,nodeClass:Za,tag:"tag:yaml.org,2002:map",resolve(t,e){return Ic(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,A)=>Za.from(t,e,A)};var ds=class extends hE{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(fC,e),this.items=[]}add(e){this.items.push(e)}delete(e){let A=H8(e);return typeof A!="number"?!1:this.items.splice(A,1).length>0}get(e,A){let i=H8(e);if(typeof i!="number")return;let n=this.items[i];return!A&&Yi(n)?n.value:n}has(e){let A=H8(e);return typeof A=="number"&&A=0?e:null}var Qc={collection:"seq",default:!0,nodeClass:ds,tag:"tag:yaml.org,2002:seq",resolve(t,e){return dc(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,A)=>ds.from(t,e,A)};var P2={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,A,i){return e=Object.assign({actualString:!0},e),W1(t,e,A,i)}};var Z1={identify:t=>t==null,createNode:()=>new zt(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new zt(null),stringify:({source:t},e)=>typeof t=="string"&&Z1.test.test(t)?t:e.options.nullStr};var S4={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new zt(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},A){if(t&&S4.test.test(t)){let i=t[0]==="t"||t[0]==="T";if(e===i)return t}return e?A.options.trueStr:A.options.falseStr}};function Bs({format:t,minFractionDigits:e,tag:A,value:i}){if(typeof i=="bigint")return String(i);let n=typeof i=="number"?i:Number(i);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let o=Object.is(i,-0)?"-0":JSON.stringify(i);if(!t&&e&&(!A||A==="tag:yaml.org,2002:float")&&/^\d/.test(o)){let a=o.indexOf(".");a<0&&(a=o.length,o+=".");let r=e-(o.length-a-1);for(;r-- >0;)o+="0"}return o}var z8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Bs},O8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Bs(t)}},P8={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new zt(parseFloat(t)),A=t.indexOf(".");return A!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-A-1),e},stringify:Bs};var j8=t=>typeof t=="bigint"||Number.isInteger(t),yk=(t,e,A,{intAsBigInt:i})=>i?BigInt(t):parseInt(t.substring(e),A);function Vz(t,e,A){let{value:i}=t;return j8(i)&&i>=0?A+i.toString(e):Bs(t)}var q8={identify:t=>j8(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,A)=>yk(t,2,8,A),stringify:t=>Vz(t,8,"0o")},V8={identify:j8,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,A)=>yk(t,0,10,A),stringify:Bs},W8={identify:t=>j8(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,A)=>yk(t,2,16,A),stringify:t=>Vz(t,16,"0x")};var Wz=[Ec,Qc,P2,Z1,S4,q8,V8,W8,z8,O8,P8];function Zz(t){return typeof t=="bigint"||Number.isInteger(t)}var Z8=({value:t})=>JSON.stringify(t),NBA=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:Z8},{identify:t=>t==null,createNode:()=>new zt(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Z8},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:Z8},{identify:Zz,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:A})=>A?BigInt(t):parseInt(t,10),stringify:({value:t})=>Zz(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:Z8}],FBA={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},Xz=[Ec,Qc].concat(NBA,FBA);var x4={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof atob=="function"){let A=atob(t.replace(/[\n\r]/g,"")),i=new Uint8Array(A.length);for(let n=0;n1&&e("Each pair must have its own sequence indicator");let n=i.items[0]||new Ja(new zt(null));if(i.commentBefore&&(n.key.commentBefore=n.key.commentBefore?`${i.commentBefore} -${n.key.commentBefore}`:i.commentBefore),i.comment){let o=n.value??n.key;o.comment=o.comment?`${i.comment} -${o.comment}`:i.comment}i=n}t.items[A]=mn(i)?i:new Ja(i)}}else e("Expected a sequence for this tag");return t}function bk(t,e,A){let{replacer:i}=A,n=new ds(t);n.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterator in Object(e))for(let a of e){typeof i=="function"&&(a=i.call(e,String(o++),a));let r,s;if(Array.isArray(a))if(a.length===2)r=a[0],s=a[1];else throw new TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){let g=Object.keys(a);if(g.length===1)r=g[0],s=a[r];else throw new TypeError(`Expected tuple with one key, not ${g.length} keys`)}else r=a;n.items.push(mE(r,s,A))}return n}var R4={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:vk,createNode:bk};var Mk=(()=>{class t extends ds{constructor(){super(),this.add=Za.prototype.add.bind(this),this.delete=Za.prototype.delete.bind(this),this.get=Za.prototype.get.bind(this),this.has=Za.prototype.has.bind(this),this.set=Za.prototype.set.bind(this),this.tag=t.tag}toJSON(A,i){if(!i)return super.toJSON(A);let n=new Map;i?.onCreate&&i.onCreate(n);for(let o of this.items){let a,r;if(mn(o)?(a=Er(o.key,"",i),r=Er(o.value,a,i)):a=Er(o,"",i),n.has(a))throw new Error("Ordered maps must not include duplicate keys");n.set(a,r)}return n}static from(A,i,n){let o=bk(A,i,n),a=new this;return a.items=o.items,a}}return t.tag="tag:yaml.org,2002:omap",t})(),N4={collection:"seq",identify:t=>t instanceof Map,nodeClass:Mk,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let A=vk(t,e),i=[];for(let{key:n}of A.items)Yi(n)&&(i.includes(n.value)?e(`Ordered maps must not include duplicate keys: ${n.value}`):i.push(n.value));return Object.assign(new Mk,A)},createNode:(t,e,A)=>Mk.from(t,e,A)};function $z({value:t,source:e},A){return e&&(t?kk:Sk).test.test(e)?e:t?A.options.trueStr:A.options.falseStr}var kk={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new zt(!0),stringify:$z},Sk={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new zt(!1),stringify:$z};var AO={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Bs},eO={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Bs(t)}},tO={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new zt(parseFloat(t.replace(/_/g,""))),A=t.indexOf(".");if(A!==-1){let i=t.substring(A+1).replace(/_/g,"");i[i.length-1]==="0"&&(e.minFractionDigits=i.length)}return e},stringify:Bs};var F4=t=>typeof t=="bigint"||Number.isInteger(t);function X8(t,e,A,{intAsBigInt:i}){let n=t[0];if((n==="-"||n==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),i){switch(A){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let a=BigInt(t);return n==="-"?BigInt(-1)*a:a}let o=parseInt(t,A);return n==="-"?-1*o:o}function xk(t,e,A){let{value:i}=t;if(F4(i)){let n=i.toString(e);return i<0?"-"+A+n.substr(1):A+n}return Bs(t)}var iO={identify:F4,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,A)=>X8(t,2,2,A),stringify:t=>xk(t,2,"0b")},nO={identify:F4,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,A)=>X8(t,1,8,A),stringify:t=>xk(t,8,"0")},oO={identify:F4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,A)=>X8(t,0,10,A),stringify:Bs},aO={identify:F4,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,A)=>X8(t,2,16,A),stringify:t=>xk(t,16,"0x")};var Rk=(()=>{class t extends Za{constructor(A){super(A),this.tag=t.tag}add(A){let i;mn(A)?i=A:A&&typeof A=="object"&&"key"in A&&"value"in A&&A.value===null?i=new Ja(A.key,null):i=new Ja(A,null),O2(this.items,i.key)||this.items.push(i)}get(A,i){let n=O2(this.items,A);return!i&&mn(n)?Yi(n.key)?n.key.value:n.key:n}set(A,i){if(typeof i!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof i}`);let n=O2(this.items,A);n&&!i?this.items.splice(this.items.indexOf(n),1):!n&&i&&this.items.push(new Ja(A))}toJSON(A,i){return super.toJSON(A,i,Set)}toString(A,i,n){if(!A)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},A,{allNullValues:!0}),i,n);throw new Error("Set items must all have null values")}static from(A,i,n){let{replacer:o}=n,a=new this(A);if(i&&Symbol.iterator in Object(i))for(let r of i)typeof o=="function"&&(r=o.call(i,r,r)),a.items.push(mE(r,null,n));return a}}return t.tag="tag:yaml.org,2002:set",t})(),_4={collection:"map",identify:t=>t instanceof Set,nodeClass:Rk,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,A)=>Rk.from(t,e,A),resolve(t,e){if(Ic(t)){if(t.hasAllNullValues(!0))return Object.assign(new Rk,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};function Nk(t,e){let A=t[0],i=A==="-"||A==="+"?t.substring(1):t,n=a=>e?BigInt(a):Number(a),o=i.replace(/_/g,"").split(":").reduce((a,r)=>a*n(60)+n(r),n(0));return A==="-"?n(-1)*o:o}function rO(t){let{value:e}=t,A=a=>a;if(typeof e=="bigint")A=a=>BigInt(a);else if(isNaN(e)||!isFinite(e))return Bs(t);let i="";e<0&&(i="-",e*=A(-1));let n=A(60),o=[e%n];return e<60?o.unshift(0):(e=(e-o[0])/n,o.unshift(e%n),e>=60&&(e=(e-o[0])/n,o.unshift(e))),i+o.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var $8={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:A})=>Nk(t,A),stringify:rO},Aw={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>Nk(t,!1),stringify:rO},pE={identify:t=>t 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(t){let e=t.match(pE.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,A,i,n,o,a,r]=e.map(Number),s=e[7]?Number((e[7]+"00").substr(1,3)):0,g=Date.UTC(A,i-1,n,o||0,a||0,r||0,s),l=e[8];if(l&&l!=="Z"){let C=Nk(l,!1);Math.abs(C)<30&&(C*=60),g-=6e4*C}return new Date(g)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var Fk=[Ec,Qc,P2,Z1,kk,Sk,iO,nO,oO,aO,AO,eO,tO,x4,Bc,N4,R4,_4,$8,Aw,pE];var sO=new Map([["core",Wz],["failsafe",[Ec,Qc,P2]],["json",Xz],["yaml11",Fk],["yaml-1.1",Fk]]),gO={binary:x4,bool:S4,float:P8,floatExp:O8,floatNaN:z8,floatTime:Aw,int:V8,intHex:W8,intOct:q8,intTime:$8,map:Ec,merge:Bc,null:Z1,omap:N4,pairs:R4,seq:Qc,set:_4,timestamp:pE},lO={"tag:yaml.org,2002:binary":x4,"tag:yaml.org,2002:merge":Bc,"tag:yaml.org,2002:omap":N4,"tag:yaml.org,2002:pairs":R4,"tag:yaml.org,2002:set":_4,"tag:yaml.org,2002:timestamp":pE};function ew(t,e,A){let i=sO.get(e);if(i&&!t)return A&&!i.includes(Bc)?i.concat(Bc):i.slice();let n=i;if(!n)if(Array.isArray(t))n=[];else{let o=Array.from(sO.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${o} or define customTags array`)}if(Array.isArray(t))for(let o of t)n=n.concat(o);else typeof t=="function"&&(n=t(n.slice()));return A&&(n=n.concat(Bc)),n.reduce((o,a)=>{let r=typeof a=="string"?gO[a]:a;if(!r){let s=JSON.stringify(a),g=Object.keys(gO).map(l=>JSON.stringify(l)).join(", ");throw new Error(`Unknown custom tag ${s}; use one of ${g}`)}return o.includes(r)||o.push(r),o},[])}var _BA=(t,e)=>t.keye.key?1:0,L4=class t{constructor({compat:e,customTags:A,merge:i,resolveKnownTags:n,schema:o,sortMapEntries:a,toStringDefaults:r}){this.compat=Array.isArray(e)?ew(e,"compat"):e?ew(null,e):null,this.name=typeof o=="string"&&o||"core",this.knownTags=n?lO:{},this.tags=ew(A,this.name,i),this.toStringOptions=r??null,Object.defineProperty(this,cc,{value:Ec}),Object.defineProperty(this,Tg,{value:P2}),Object.defineProperty(this,fC,{value:Qc}),this.sortMapEntries=typeof a=="function"?a:a===!0?_BA:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};function cO(t,e){let A=[],i=e.directives===!0;if(e.directives!==!1&&t.directives){let s=t.directives.toString(t);s?(A.push(s),i=!0):t.directives.docStart&&(i=!0)}i&&A.push("---");let n=G8(t,e),{commentString:o}=n.options;if(t.commentBefore){A.length!==1&&A.unshift("");let s=o(t.commentBefore);A.unshift(ul(s,""))}let a=!1,r=null;if(t.contents){if(yn(t.contents)){if(t.contents.spaceBefore&&i&&A.push(""),t.contents.commentBefore){let l=o(t.contents.commentBefore);A.push(ul(l,""))}n.forceBlockIndent=!!t.comment,r=t.contents.comment}let s=r?void 0:()=>a=!0,g=wC(t.contents,n,()=>r=null,s);r&&(g+=p0(g,"",o(r))),(g[0]==="|"||g[0]===">")&&A[A.length-1]==="---"?A[A.length-1]=`--- ${g}`:A.push(g)}else A.push(wC(t.contents,n));if(t.directives?.docEnd)if(t.comment){let s=o(t.comment);s.includes(` -`)?(A.push("..."),A.push(ul(s,""))):A.push(`... ${s}`)}else A.push("...");else{let s=t.comment;s&&a&&(s=s.replace(/^\n+/,"")),s&&((!a||r)&&A[A.length-1]!==""&&A.push(""),A.push(ul(o(s),"")))}return A.join(` -`)+` -`}var DC=class t{constructor(e,A,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Ks,{value:b8});let n=null;typeof A=="function"||Array.isArray(A)?n=A:i===void 0&&A&&(i=A,A=void 0);let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=o;let{version:a}=o;i?._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new QE({version:a}),this.setSchema(a,i),this.contents=e===void 0?null:this.createNode(e,n,i)}clone(){let e=Object.create(t.prototype,{[Ks]:{value:b8}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=yn(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){wE(this.contents)&&this.contents.add(e)}addIn(e,A){wE(this.contents)&&this.contents.addIn(e,A)}createAlias(e,A){if(!e.anchor){let i=hk(this);e.anchor=!A||i.has(A)?uk(A||"a",i):A}return new mC(e.anchor)}createNode(e,A,i){let n;if(typeof A=="function")e=A.call({"":e},"",e),n=A;else if(Array.isArray(A)){let Q=b=>typeof b=="number"||b instanceof String||b instanceof Number,f=A.filter(Q).map(String);f.length>0&&(A=A.concat(f)),n=A}else i===void 0&&A&&(i=A,A=void 0);let{aliasDuplicateObjects:o,anchorPrefix:a,flow:r,keepUndefined:s,onTagObj:g,tag:l}=i??{},{onAnchor:C,setAnchors:I,sourceObjects:d}=zz(this,a||"a"),B={aliasDuplicateObjects:o??!0,keepUndefined:s??!1,onAnchor:C,onTagObj:g,replacer:n,schema:this.schema,sourceObjects:d},E=pC(e,l,B);return r&&so(E)&&(E.flow=!0),I(),E}createPair(e,A,i={}){let n=this.createNode(e,null,i),o=this.createNode(A,null,i);return new Ja(n,o)}delete(e){return wE(this.contents)?this.contents.delete(e):!1}deleteIn(e){return uE(e)?this.contents==null?!1:(this.contents=null,!0):wE(this.contents)?this.contents.deleteIn(e):!1}get(e,A){return so(this.contents)?this.contents.get(e,A):void 0}getIn(e,A){return uE(e)?!A&&Yi(this.contents)?this.contents.value:this.contents:so(this.contents)?this.contents.getIn(e,A):void 0}has(e){return so(this.contents)?this.contents.has(e):!1}hasIn(e){return uE(e)?this.contents!==void 0:so(this.contents)?this.contents.hasIn(e):!1}set(e,A){this.contents==null?this.contents=v4(this.schema,[e],A):wE(this.contents)&&this.contents.set(e,A)}setIn(e,A){uE(e)?this.contents=A:this.contents==null?this.contents=v4(this.schema,Array.from(e),A):wE(this.contents)&&this.contents.setIn(e,A)}setSchema(e,A={}){typeof e=="number"&&(e=String(e));let i;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new QE({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new QE({version:e}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{let n=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${n}`)}}if(A.schema instanceof Object)this.schema=A.schema;else if(i)this.schema=new L4(Object.assign(i,A));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:A,mapAsMap:i,maxAliasCount:n,onAnchor:o,reviver:a}={}){let r={anchors:new Map,doc:this,keep:!e,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},s=Er(this.contents,A??"",r);if(typeof o=="function")for(let{count:g,res:l}of r.anchors.values())o(l,g);return typeof a=="function"?H2(a,{"":s},"",s):s}toJSON(e,A){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:A})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let A=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${A}`)}return cO(this,e)}};function wE(t){if(so(t))return!0;throw new Error("Expected a YAML collection as document contents")}var G4=class extends Error{constructor(e,A,i,n){super(),this.name=e,this.code=i,this.message=n,this.pos=A}},hc=class extends G4{constructor(e,A,i){super("YAMLParseError",e,A,i)}},K4=class extends G4{constructor(e,A,i){super("YAMLWarning",e,A,i)}},_k=(t,e)=>A=>{if(A.pos[0]===-1)return;A.linePos=A.pos.map(r=>e.linePos(r));let{line:i,col:n}=A.linePos[0];A.message+=` at line ${i}, column ${n}`;let o=n-1,a=t.substring(e.lineStarts[i-1],e.lineStarts[i]).replace(/[\n\r]+$/,"");if(o>=60&&a.length>80){let r=Math.min(o-39,a.length-79);a="\u2026"+a.substring(r),o-=r-1}if(a.length>80&&(a=a.substring(0,79)+"\u2026"),i>1&&/^ *$/.test(a.substring(0,o))){let r=t.substring(e.lineStarts[i-2],e.lineStarts[i-1]);r.length>80&&(r=r.substring(0,79)+`\u2026 -`),a=r+a}if(/[^ ]/.test(a)){let r=1,s=A.linePos[1];s?.line===i&&s.col>n&&(r=Math.max(1,Math.min(s.col-n,80-o)));let g=" ".repeat(o)+"^".repeat(r);A.message+=`: - -${a} -${g} -`}};function w0(t,{flow:e,indicator:A,next:i,offset:n,onError:o,parentIndent:a,startOnNewline:r}){let s=!1,g=r,l=r,C="",I="",d=!1,B=!1,E=null,Q=null,f=null,b=null,S=null,M=null,D=null;for(let U of t)switch(B&&(U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&o(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),B=!1),E&&(g&&U.type!=="comment"&&U.type!=="newline"&&o(E,"TAB_AS_INDENT","Tabs are not allowed as indentation"),E=null),U.type){case"space":!e&&(A!=="doc-start"||i?.type!=="flow-collection")&&U.source.includes(" ")&&(E=U),l=!0;break;case"comment":{l||o(U,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let J=U.source.substring(1)||" ";C?C+=I+J:C=J,I="",g=!1;break}case"newline":g?C?C+=U.source:(!M||A!=="seq-item-ind")&&(s=!0):I+=U.source,g=!0,d=!0,(Q||f)&&(b=U),l=!0;break;case"anchor":Q&&o(U,"MULTIPLE_ANCHORS","A node can have at most one anchor"),U.source.endsWith(":")&&o(U.offset+U.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),Q=U,D??(D=U.offset),g=!1,l=!1,B=!0;break;case"tag":{f&&o(U,"MULTIPLE_TAGS","A node can have at most one tag"),f=U,D??(D=U.offset),g=!1,l=!1,B=!0;break}case A:(Q||f)&&o(U,"BAD_PROP_ORDER",`Anchors and tags must be after the ${U.source} indicator`),M&&o(U,"UNEXPECTED_TOKEN",`Unexpected ${U.source} in ${e??"collection"}`),M=U,g=A==="seq-item-ind"||A==="explicit-key-ind",l=!1;break;case"comma":if(e){S&&o(U,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),S=U,g=!1,l=!1;break}default:o(U,"UNEXPECTED_TOKEN",`Unexpected ${U.type} token`),g=!1,l=!1}let F=t[t.length-1],_=F?F.offset+F.source.length:n;return B&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&o(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),E&&(g&&E.indent<=a||i?.type==="block-map"||i?.type==="block-seq")&&o(E,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:S,found:M,spaceBefore:s,comment:C,hasNewline:d,anchor:Q,tag:f,newlineAfterProp:b,end:_,start:D??_}}function j2(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(` -`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let A of e.start)if(A.type==="newline")return!0;if(e.sep){for(let A of e.sep)if(A.type==="newline")return!0}if(j2(e.key)||j2(e.value))return!0}return!1;default:return!0}}function U4(t,e,A){if(e?.type==="flow-collection"){let i=e.end[0];i.indent===t&&(i.source==="]"||i.source==="}")&&j2(e)&&A(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function tw(t,e,A){let{uniqueKeys:i}=t.options;if(i===!1)return!1;let n=typeof i=="function"?i:(o,a)=>o===a||Yi(o)&&Yi(a)&&o.value===a.value;return e.some(o=>n(o.key,A))}var CO="All mapping items must start at the same column";function IO({composeNode:t,composeEmptyNode:e},A,i,n,o){let a=o?.nodeClass??Za,r=new a(A.schema);A.atRoot&&(A.atRoot=!1);let s=i.offset,g=null;for(let l of i.items){let{start:C,key:I,sep:d,value:B}=l,E=w0(C,{indicator:"explicit-key-ind",next:I??d?.[0],offset:s,onError:n,parentIndent:i.indent,startOnNewline:!0}),Q=!E.found;if(Q){if(I&&(I.type==="block-seq"?n(s,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in I&&I.indent!==i.indent&&n(s,"BAD_INDENT",CO)),!E.anchor&&!E.tag&&!d){g=E.end,E.comment&&(r.comment?r.comment+=` -`+E.comment:r.comment=E.comment);continue}(E.newlineAfterProp||j2(I))&&n(I??C[C.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else E.found?.indent!==i.indent&&n(s,"BAD_INDENT",CO);A.atKey=!0;let f=E.end,b=I?t(A,I,E,n):e(A,f,C,null,E,n);A.schema.compat&&U4(i.indent,I,n),A.atKey=!1,tw(A,r.items,b)&&n(f,"DUPLICATE_KEY","Map keys must be unique");let S=w0(d??[],{indicator:"map-value-ind",next:B,offset:b.range[2],onError:n,parentIndent:i.indent,startOnNewline:!I||I.type==="block-scalar"});if(s=S.end,S.found){Q&&(B?.type==="block-map"&&!S.hasNewline&&n(s,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),A.options.strict&&E.startt&&(t.type==="block-map"||t.type==="block-seq");function BO({composeNode:t,composeEmptyNode:e},A,i,n,o){let a=i.start.source==="{",r=a?"flow map":"flow sequence",s=o?.nodeClass??(a?Za:ds),g=new s(A.schema);g.flow=!0;let l=A.atRoot;l&&(A.atRoot=!1),A.atKey&&(A.atKey=!1);let C=i.offset+i.start.source.length;for(let Q=0;Q0){let Q=D0(B,E,A.options.strict,n);Q.comment&&(g.comment?g.comment+=` -`+Q.comment:g.comment=Q.comment),g.range=[i.offset,E,Q.offset]}else g.range=[i.offset,E,E];return g}function Kk(t,e,A,i,n,o){let a=A.type==="block-map"?IO(t,e,A,i,o):A.type==="block-seq"?dO(t,e,A,i,o):BO(t,e,A,i,o),r=a.constructor;return n==="!"||n===r.tagName?(a.tag=r.tagName,a):(n&&(a.tag=n),a)}function EO(t,e,A,i,n){let o=i.tag,a=o?e.directives.tagName(o.source,I=>n(o,"TAG_RESOLVE_FAILED",I)):null;if(A.type==="block-seq"){let{anchor:I,newlineAfterProp:d}=i,B=I&&o?I.offset>o.offset?I:o:I??o;B&&(!d||d.offsetI.tag===a&&I.collection===r);if(!s){let I=e.schema.knownTags[a];if(I?.collection===r)e.schema.tags.push(Object.assign({},I,{default:!1})),s=I;else return I?n(o,"BAD_COLLECTION_TYPE",`${I.tag} used for ${r} collection, but expects ${I.collection??"scalar"}`,!0):n(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),Kk(t,e,A,n,a)}let g=Kk(t,e,A,n,a,s),l=s.resolve?.(g,I=>n(o,"TAG_RESOLVE_FAILED",I),e.options)??g,C=yn(l)?l:new zt(l);return C.range=g.range,C.tag=a,s?.format&&(C.format=s.format),C}function Uk(t,e,A){let i=e.offset,n=LBA(e,t.options.strict,A);if(!n)return{value:"",type:null,comment:"",range:[i,i,i]};let o=n.mode===">"?zt.BLOCK_FOLDED:zt.BLOCK_LITERAL,a=e.source?GBA(e.source):[],r=a.length;for(let E=a.length-1;E>=0;--E){let Q=a[E][1];if(Q===""||Q==="\r")r=E;else break}if(r===0){let E=n.chomp==="+"&&a.length>0?` -`.repeat(Math.max(1,a.length-1)):"",Q=i+n.length;return e.source&&(Q+=e.source.length),{value:E,type:o,comment:n.comment,range:[i,Q,Q]}}let s=e.indent+n.indent,g=e.offset+n.length,l=0;for(let E=0;Es&&(s=Q.length);else{Q.length=r;--E)a[E][0].length>s&&(r=E+1);let C="",I="",d=!1;for(let E=0;Es||f[0]===" "?(I===" "?I=` -`:!d&&I===` -`&&(I=` - -`),C+=I+Q.slice(s)+f,I=` -`,d=!0):f===""?I===` -`?C+=` -`:I=` -`:(C+=I+f,I=" ",d=!1)}switch(n.chomp){case"-":break;case"+":for(let E=r;EA(i+I,d,B);switch(n){case"scalar":r=zt.PLAIN,s=KBA(o,g);break;case"single-quoted-scalar":r=zt.QUOTE_SINGLE,s=UBA(o,g);break;case"double-quoted-scalar":r=zt.QUOTE_DOUBLE,s=JBA(o,g);break;default:return A(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${n}`),{value:"",type:null,comment:"",range:[i,i+o.length,i+o.length]}}let l=i+o.length,C=D0(a,l,e,A);return{value:s,type:r,comment:C.comment,range:[i,l,C.offset]}}function KBA(t,e){let A="";switch(t[0]){case" ":A="a tab character";break;case",":A="flow indicator character ,";break;case"%":A="directive indicator character %";break;case"|":case">":{A=`block scalar indicator ${t[0]}`;break}case"@":case"`":{A=`reserved character ${t[0]}`;break}}return A&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${A}`),QO(t)}function UBA(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),QO(t.slice(1,-1)).replace(/''/g,"'")}function QO(t){let e,A;try{e=new RegExp(`(.*?)(?o?t.slice(o,i+1):n)}else A+=n}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),A}function YBA(t,e){let A="",i=t[e+1];for(;(i===" "||i===" "||i===` -`||i==="\r")&&!(i==="\r"&&t[e+2]!==` -`);)i===` -`&&(A+=` -`),e+=1,i=t[e+1];return A||(A=" "),{fold:A,offset:e}}var TBA={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` -`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function HBA(t,e,A,i){let n=t.substr(e,A),a=n.length===A&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;if(isNaN(a)){let r=t.substr(e-2,A+2);return i(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${r}`),r}return String.fromCodePoint(a)}function Yk(t,e,A,i){let{value:n,type:o,comment:a,range:r}=e.type==="block-scalar"?Uk(t,e,i):Jk(e,t.options.strict,i),s=A?t.directives.tagName(A.source,C=>i(A,"TAG_RESOLVE_FAILED",C)):null,g;t.options.stringKeys&&t.atKey?g=t.schema[Tg]:s?g=zBA(t.schema,n,s,A,i):e.type==="scalar"?g=OBA(t,n,e,i):g=t.schema[Tg];let l;try{let C=g.resolve(n,I=>i(A??e,"TAG_RESOLVE_FAILED",I),t.options);l=Yi(C)?C:new zt(C)}catch(C){let I=C instanceof Error?C.message:String(C);i(A??e,"TAG_RESOLVE_FAILED",I),l=new zt(n)}return l.range=r,l.source=n,o&&(l.type=o),s&&(l.tag=s),g.format&&(l.format=g.format),a&&(l.comment=a),l}function zBA(t,e,A,i,n){if(A==="!")return t[Tg];let o=[];for(let r of t.tags)if(!r.collection&&r.tag===A)if(r.default&&r.test)o.push(r);else return r;for(let r of o)if(r.test?.test(e))return r;let a=t.knownTags[A];return a&&!a.collection?(t.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(n(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${A}`,A!=="tag:yaml.org,2002:str"),t[Tg])}function OBA({atKey:t,directives:e,schema:A},i,n,o){let a=A.tags.find(r=>(r.default===!0||t&&r.default==="key")&&r.test?.test(i))||A[Tg];if(A.compat){let r=A.compat.find(s=>s.default&&s.test?.test(i))??A[Tg];if(a.tag!==r.tag){let s=e.tagString(a.tag),g=e.tagString(r.tag),l=`Value may be parsed as either ${s} or ${g}`;o(n,"TAG_RESOLVE_FAILED",l,!0)}}return a}function hO(t,e,A){if(e){A??(A=e.length);for(let i=A-1;i>=0;--i){let n=e[i];switch(n.type){case"space":case"comment":case"newline":t-=n.source.length;continue}for(n=e[++i];n?.type==="space";)t+=n.source.length,n=e[++i];break}}return t}var PBA={composeNode:Tk,composeEmptyNode:iw};function Tk(t,e,A,i){let n=t.atKey,{spaceBefore:o,comment:a,anchor:r,tag:s}=A,g,l=!0;switch(e.type){case"alias":g=jBA(t,e,i),(r||s)&&i(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":g=Yk(t,e,s,i),r&&(g.anchor=r.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":g=EO(PBA,t,e,A,i),r&&(g.anchor=r.source.substring(1));break;default:{let C=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;i(e,"UNEXPECTED_TOKEN",C),g=iw(t,e.offset,void 0,null,A,i),l=!1}}return r&&g.anchor===""&&i(r,"BAD_ALIAS","Anchor cannot be an empty string"),n&&t.options.stringKeys&&(!Yi(g)||typeof g.value!="string"||g.tag&&g.tag!=="tag:yaml.org,2002:str")&&i(s??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(g.spaceBefore=!0),a&&(e.type==="scalar"&&e.source===""?g.comment=a:g.commentBefore=a),t.options.keepSourceTokens&&l&&(g.srcToken=e),g}function iw(t,e,A,i,{spaceBefore:n,comment:o,anchor:a,tag:r,end:s},g){let l={type:"scalar",offset:hO(e,A,i),indent:-1,source:""},C=Yk(t,l,r,g);return a&&(C.anchor=a.source.substring(1),C.anchor===""&&g(a,"BAD_ALIAS","Anchor cannot be an empty string")),n&&(C.spaceBefore=!0),o&&(C.comment=o,C.range[2]=s),C}function jBA({options:t},{offset:e,source:A,end:i},n){let o=new mC(A.substring(1));o.source===""&&n(e,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&n(e+A.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let a=e+A.length,r=D0(i,a,t.strict,n);return o.range=[e,a,r.offset],r.comment&&(o.comment=r.comment),o}function uO(t,e,{offset:A,start:i,value:n,end:o},a){let r=Object.assign({_directives:e},t),s=new DC(void 0,r),g={atKey:!1,atRoot:!0,directives:s.directives,options:s.options,schema:s.schema},l=w0(i,{indicator:"doc-start",next:n??o?.[0],offset:A,onError:a,parentIndent:0,startOnNewline:!0});l.found&&(s.directives.docStart=!0,n&&(n.type==="block-map"||n.type==="block-seq")&&!l.hasNewline&&a(l.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),s.contents=n?Tk(g,n,l,a):iw(g,l.end,i,null,l,a);let C=s.contents.range[2],I=D0(o,C,!1,a);return I.comment&&(s.comment=I.comment),s.range=[A,C,I.offset],s}function J4(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:A}=t;return[e,e+(typeof A=="string"?A.length:1)]}function fO(t){let e="",A=!1,i=!1;for(let n=0;n{let a=J4(A);o?this.warnings.push(new K4(a,i,n)):this.errors.push(new hc(a,i,n))},this.directives=new QE({version:e.version||"1.2"}),this.options=e}decorate(e,A){let{comment:i,afterEmptyLine:n}=fO(this.prelude);if(i){let o=e.contents;if(A)e.comment=e.comment?`${e.comment} -${i}`:i;else if(n||e.directives.docStart||!o)e.commentBefore=i;else if(so(o)&&!o.flow&&o.items.length>0){let a=o.items[0];mn(a)&&(a=a.key);let r=a.commentBefore;a.commentBefore=r?`${i} -${r}`:i}else{let a=o.commentBefore;o.commentBefore=a?`${i} -${a}`:i}}A?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:fO(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,A=!1,i=-1){for(let n of e)yield*le(this.next(n));yield*le(this.end(A,i))}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(A,i,n)=>{let o=J4(e);o[0]+=A,this.onError(o,"BAD_DIRECTIVE",i,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let A=uO(this.options,this.directives,e,this.onError);this.atDirectives&&!A.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(A,!1),this.doc&&(yield this.doc),this.doc=A,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let A=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,i=new hc(J4(e),"UNEXPECTED_TOKEN",A);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){let i="Unexpected doc-end without preceding document";this.errors.push(new hc(J4(e),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;let A=D0(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),A.comment){let i=this.doc.comment;this.doc.comment=i?`${i} -${A.comment}`:A.comment}this.doc.range[2]=A.offset;break}default:this.errors.push(new hc(J4(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,A=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let i=Object.assign({_directives:this.directives},this.options),n=new DC(void 0,i);this.atDirectives&&this.onError(A,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,A,A],this.decorate(n,!1),yield n}}};var Hk=Symbol("break visit"),qBA=Symbol("skip children"),mO=Symbol("remove item");function X1(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),pO(Object.freeze([]),t,e)}X1.BREAK=Hk;X1.SKIP=qBA;X1.REMOVE=mO;X1.itemAtPath=(t,e)=>{let A=t;for(let[i,n]of e){let o=A?.[i];if(o&&"items"in o)A=o.items[n];else return}return A};X1.parentCollection=(t,e)=>{let A=X1.itemAtPath(t,e.slice(0,-1)),i=e[e.length-1][0],n=A?.[i];if(n&&"items"in n)return n;throw new Error("Parent collection not found")};function pO(t,e,A){let i=A(e,t);if(typeof i=="symbol")return i;for(let n of["key","value"]){let o=e[n];if(o&&"items"in o){for(let a=0;a":return"block-scalar-header"}return null}function uc(t){switch(t){case void 0:case" ":case` -`:case"\r":case" ":return!0;default:return!1}}var DO=new Set("0123456789ABCDEFabcdef"),WBA=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),ow=new Set(",[]{}"),ZBA=new Set(` ,[]{} -\r `),jk=t=>!t||ZBA.has(t),T4=class{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(e,A=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!A;let i=this.next??"stream";for(;i&&(A||this.hasChars(1));)i=yield*le(this.parseNext(i))}atLineEnd(){let e=this.pos,A=this.buffer[e];for(;A===" "||A===" ";)A=this.buffer[++e];return!A||A==="#"||A===` -`?!0:A==="\r"?this.buffer[e+1]===` -`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let A=this.buffer[e];if(this.indentNext>0){let i=0;for(;A===" ";)A=this.buffer[++i+e];if(A==="\r"){let n=this.buffer[i+e+1];if(n===` -`||!n&&!this.atEnd)return e+i+1}return A===` -`||i>=this.indentNext||!A&&!this.atEnd?e+i:-1}if(A==="-"||A==="."){let i=this.buffer.substr(e,3);if((i==="---"||i==="...")&&uc(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&ethis.indentValue&&!uc(this.charAt(1))&&(this.indentNext=this.indentValue),yield*le(this.parseBlockStart())}*parseBlockStart(){let[e,A]=this.peek(2);if(!A&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&uc(A)){let i=(yield*le(this.pushCount(1)))+(yield*le(this.pushSpaces(!0)));return this.indentNext=this.indentValue+1,this.indentValue+=i,yield*le(this.parseBlockStart())}return"doc"}*parseDocument(){yield*le(this.pushSpaces(!0));let e=this.getLine();if(e===null)return this.setNext("doc");let A=yield*le(this.pushIndicators());switch(e[A]){case"#":yield*le(this.pushCount(e.length-A));case void 0:return yield*le(this.pushNewline()),yield*le(this.parseLineStart());case"{":case"[":return yield*le(this.pushCount(1)),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*le(this.pushCount(1)),"doc";case"*":return yield*le(this.pushUntil(jk)),"doc";case'"':case"'":return yield*le(this.parseQuotedScalar());case"|":case">":return A+=yield*le(this.parseBlockScalarHeader()),A+=yield*le(this.pushSpaces(!0)),yield*le(this.pushCount(e.length-A)),yield*le(this.pushNewline()),yield*le(this.parseBlockScalar());default:return yield*le(this.parsePlainScalar())}}*parseFlowCollection(){let e,A,i=-1;do e=yield*le(this.pushNewline()),e>0?(A=yield*le(this.pushSpaces(!1)),this.indentValue=i=A):A=0,A+=yield*le(this.pushSpaces(!0));while(e+A>0);let n=this.getLine();if(n===null)return this.setNext("flow");if((i!==-1&&i"0"&&A<="9")this.blockScalarIndent=Number(A)-1;else if(A!=="-")break}return yield*le(this.pushUntil(A=>uc(A)||A==="#"))}*parseBlockScalar(){let e=this.pos-1,A=0,i;A:for(let o=this.pos;i=this.buffer[o];++o)switch(i){case" ":A+=1;break;case` -`:e=o,A=0;break;case"\r":{let a=this.buffer[o+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if(a===` -`)break}default:break A}if(!i&&!this.atEnd)return this.setNext("block-scalar");if(A>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=A:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let o=this.continueScalar(e+1);if(o===-1)break;e=this.buffer.indexOf(` -`,o)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;for(i=this.buffer[n];i===" ";)i=this.buffer[++n];if(i===" "){for(;i===" "||i===" "||i==="\r"||i===` -`;)i=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)do{let o=e-1,a=this.buffer[o];a==="\r"&&(a=this.buffer[--o]);let r=o;for(;a===" ";)a=this.buffer[--o];if(a===` -`&&o>=this.pos&&o+1+A>r)e=o;else break}while(!0);return yield nw,yield*le(this.pushToIndex(e+1,!0)),yield*le(this.parseLineStart())}*parsePlainScalar(){let e=this.flowLevel>0,A=this.pos-1,i=this.pos-1,n;for(;n=this.buffer[++i];)if(n===":"){let o=this.buffer[i+1];if(uc(o)||e&&ow.has(o))break;A=i}else if(uc(n)){let o=this.buffer[i+1];if(n==="\r"&&(o===` -`?(i+=1,n=` -`,o=this.buffer[i+1]):A=i),o==="#"||e&&ow.has(o))break;if(n===` -`){let a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(e&&ow.has(n))break;A=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield nw,yield*le(this.pushToIndex(A+1,!0)),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,A){let i=this.buffer.slice(this.pos,e);return i?(yield i,this.pos+=i.length,i.length):(A&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*le(this.pushTag()))+(yield*le(this.pushSpaces(!0)))+(yield*le(this.pushIndicators()));case"&":return(yield*le(this.pushUntil(jk)))+(yield*le(this.pushSpaces(!0)))+(yield*le(this.pushIndicators()));case"-":case"?":case":":{let e=this.flowLevel>0,A=this.charAt(1);if(uc(A)||e&&ow.has(A))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*le(this.pushCount(1)))+(yield*le(this.pushSpaces(!0)))+(yield*le(this.pushIndicators()))}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,A=this.buffer[e];for(;!uc(A)&&A!==">";)A=this.buffer[++e];return yield*le(this.pushToIndex(A===">"?e+1:e,!1))}else{let e=this.pos+1,A=this.buffer[e];for(;A;)if(WBA.has(A))A=this.buffer[++e];else if(A==="%"&&DO.has(this.buffer[e+1])&&DO.has(this.buffer[e+2]))A=this.buffer[e+=3];else break;return yield*le(this.pushToIndex(e,!1))}}*pushNewline(){let e=this.buffer[this.pos];return e===` -`?yield*le(this.pushCount(1)):e==="\r"&&this.charAt(1)===` -`?yield*le(this.pushCount(2)):0}*pushSpaces(e){let A=this.pos-1,i;do i=this.buffer[++A];while(i===" "||e&&i===" ");let n=A-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=A),n}*pushUntil(e){let A=this.pos,i=this.buffer[A];for(;!e(i);)i=this.buffer[++A];return yield*le(this.pushToIndex(A,!1))}};var H4=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let A=0,i=this.lineStarts.length;for(;A>1;this.lineStarts[o]=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break A}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function vO(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!q2(e.start,"explicit-key-ind")&&!q2(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,bO(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var z4=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new T4,this.onNewLine=e}*parse(e,A=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let i of this.lexer.lex(e,A))yield*le(this.next(i));A||(yield*le(this.end()))}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*le(this.step()),this.offset+=e.length;return}let A=wO(e);if(A)if(A==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=A,yield*le(this.step()),A){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let i=`Not a YAML token: ${e}`;yield*le(this.pop({type:"error",offset:this.offset,message:i,source:e})),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*le(this.pop())}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*le(this.pop());this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*le(this.stream());switch(e.type){case"document":return yield*le(this.document(e));case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*le(this.scalar(e));case"block-scalar":return yield*le(this.blockScalar(e));case"block-map":return yield*le(this.blockMap(e));case"block-seq":return yield*le(this.blockSequence(e));case"flow-collection":return yield*le(this.flowCollection(e));case"doc-end":return yield*le(this.documentEnd(e))}yield*le(this.pop())}peek(e){return this.stack[this.stack.length-e]}*pop(e){let A=e??this.stack.pop();if(!A)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield A;else{let i=this.peek(1);switch(A.type==="block-scalar"?A.indent="indent"in i?i.indent:0:A.type==="flow-collection"&&i.type==="document"&&(A.indent=0),A.type==="flow-collection"&&vO(A),i.type){case"document":i.value=A;break;case"block-scalar":i.props.push(A);break;case"block-map":{let n=i.items[i.items.length-1];if(n.value){i.items.push({start:[],key:A,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=A;else{Object.assign(n,{key:A,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case"block-seq":{let n=i.items[i.items.length-1];n.value?i.items.push({start:[],value:A}):n.value=A;break}case"flow-collection":{let n=i.items[i.items.length-1];!n||n.value?i.items.push({start:[],key:A,sep:[]}):n.sep?n.value=A:Object.assign(n,{key:A,sep:[]});return}default:yield*le(this.pop()),yield*le(this.pop(A))}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(A.type==="block-map"||A.type==="block-seq")){let n=A.items[A.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&yO(n.start)===-1&&(A.indent===0||n.start.every(o=>o.type!=="comment"||o.indent=e.indent){let i=!this.onKeyLine&&this.indent===e.indent,n=i&&(A.sep||A.explicitKey)&&this.type!=="seq-item-ind",o=[];if(n&&A.sep&&!A.value){let a=[];for(let r=0;re.indent&&(a.length=0);break;default:a.length=0}}a.length>=2&&(o=A.sep.splice(a[1]))}switch(this.type){case"anchor":case"tag":n||A.value?(o.push(this.sourceToken),e.items.push({start:o}),this.onKeyLine=!0):A.sep?A.sep.push(this.sourceToken):A.start.push(this.sourceToken);return;case"explicit-key-ind":!A.sep&&!A.explicitKey?(A.start.push(this.sourceToken),A.explicitKey=!0):n||A.value?(o.push(this.sourceToken),e.items.push({start:o,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(A.explicitKey)if(A.sep)if(A.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(q2(A.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(bO(A.key)&&!q2(A.sep,"newline")){let a=DE(A.start),r=A.key,s=A.sep;s.push(this.sourceToken),delete A.key,delete A.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:r,sep:s}]})}else o.length>0?A.sep=A.sep.concat(o,this.sourceToken):A.sep.push(this.sourceToken);else if(q2(A.start,"newline"))Object.assign(A,{key:null,sep:[this.sourceToken]});else{let a=DE(A.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else A.sep?A.value||n?e.items.push({start:o,key:null,sep:[this.sourceToken]}):q2(A.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):A.sep.push(this.sourceToken):Object.assign(A,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let a=this.flowScalar(this.type);n||A.value?(e.items.push({start:o,key:a,sep:[]}),this.onKeyLine=!0):A.sep?this.stack.push(a):(Object.assign(A,{key:a,sep:[]}),this.onKeyLine=!0);return}default:{let a=this.startBlockValue(e);if(a){if(a.type==="block-seq"){if(!A.explicitKey&&A.sep&&!q2(A.sep,"newline")){yield*le(this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}));return}}else i&&e.items.push({start:o});this.stack.push(a);return}}}}yield*le(this.pop()),yield*le(this.step())}*blockSequence(e){let A=e.items[e.items.length-1];switch(this.type){case"newline":if(A.value){let i="end"in A.value?A.value.end:void 0;(Array.isArray(i)?i[i.length-1]:void 0)?.type==="comment"?i?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else A.start.push(this.sourceToken);return;case"space":case"comment":if(A.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(A.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,A.start),n.push(this.sourceToken),e.items.pop();return}}A.start.push(this.sourceToken)}return;case"anchor":case"tag":if(A.value||this.indent<=e.indent)break;A.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;A.value||q2(A.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):A.start.push(this.sourceToken);return}if(this.indent>e.indent){let i=this.startBlockValue(e);if(i){this.stack.push(i);return}}yield*le(this.pop()),yield*le(this.step())}*flowCollection(e){let A=e.items[e.items.length-1];if(this.type==="flow-error-end"){let i;do yield*le(this.pop()),i=this.peek(1);while(i?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!A||A.sep?e.items.push({start:[this.sourceToken]}):A.start.push(this.sourceToken);return;case"map-value-ind":!A||A.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):A.sep?A.sep.push(this.sourceToken):Object.assign(A,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!A||A.value?e.items.push({start:[this.sourceToken]}):A.sep?A.sep.push(this.sourceToken):A.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);!A||A.value?e.items.push({start:[],key:n,sep:[]}):A.sep?this.stack.push(n):Object.assign(A,{key:n,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let i=this.startBlockValue(e);i?this.stack.push(i):(yield*le(this.pop()),yield*le(this.step()))}else{let i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===e.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*le(this.pop()),yield*le(this.step());else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){let n=aw(i),o=DE(n);vO(e);let a=e.end.splice(1,e.end.length);a.push(this.sourceToken);let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:o,key:e,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*le(this.lineEnd(e))}}flowScalar(e){if(this.onNewLine){let A=this.source.indexOf(` -`)+1;for(;A!==0;)this.onNewLine(this.offset+A),A=this.source.indexOf(` -`,A)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){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;let A=aw(e),i=DE(A);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;let A=aw(e),i=DE(A);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,A){return this.type!=="comment"||this.indent<=A?!1:e.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*le(this.pop())))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*le(this.pop()),yield*le(this.step());break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*le(this.pop()))}}};function XBA(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new H4||null,prettyErrors:e}}function MO(t,e={}){let{lineCounter:A,prettyErrors:i}=XBA(e),n=new z4(A?.addNewLine),o=new Y4(e),a=null;for(let r of o.compose(n.parse(t),!0,t.length))if(!a)a=r;else if(a.options.logLevel!=="silent"){a.errors.push(new hc(r.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&A&&(a.errors.forEach(_k(t,A)),a.warnings.forEach(_k(t,A))),a}function yE(t,e,A){let i;typeof e=="function"?i=e:A===void 0&&e&&typeof e=="object"&&(A=e);let n=MO(t,A);if(!n)return null;if(n.warnings.forEach(o=>K8(n.options.logLevel,o)),n.errors.length>0){if(n.options.logLevel!=="silent")throw n.errors[0];n.errors=[]}return n.toJS(Object.assign({reviver:i},A))}function qk(t,e,A){let i=null;if(typeof e=="function"||Array.isArray(e)?i=e:A===void 0&&e&&(A=e),typeof A=="string"&&(A=A.length),typeof A=="number"){let n=Math.round(A);A=n<1?void 0:n>8?{indent:8}:{indent:n}}if(t===void 0){let{keepUndefined:n}=A??e??{};if(!n)return}return Cc(t)&&!i?t.toString(A):new DC(t,i,A).toString(A)}var y0=class t{static generateYamlFile(e,A,i,n,o=new Set){if(o.has(e.name))return;o.add(e.name);let a=e.isRoot?"root_agent.yaml":`${e.name}.yaml`,r=`${i}/${a}`,s=e.sub_agents?e.sub_agents.map(B=>({config_path:`./${B.name}.yaml`})):[],g={name:e.name,model:e.model,agent_class:e.agent_class,description:e.description||"",instruction:e.instruction,sub_agents:s,tools:t.buildToolsConfig(e.tools,n)};(!e.description||e.description.trim()==="")&&delete g.description,e.agent_class!="LlmAgent"&&(delete g.model,delete g.instruction,delete g.tools),e.agent_class==="LoopAgent"&&e.max_iterations&&(g.max_iterations=e.max_iterations);let l=t.buildCallbacksConfig(e.callbacks);Object.keys(l).length>0&&Object.assign(g,l);let C=qk(g),I=new Blob([C],{type:"application/x-yaml"}),d=new File([I],r,{type:"application/x-yaml"});A.append("files",d);for(let B of e.sub_agents??[])t.generateYamlFile(B,A,i,n,o);if(e.tools){for(let B of e.tools)if(B.toolType==="Agent Tool"){let E=B.toolAgentName||B.name;if(!E||E==="undefined"||E.trim()==="")continue;let Q=n.get(E);Q&&t.generateYamlFile(Q,A,i,n,o)}}}static buildToolsConfig(e,A){return!e||e.length===0?[]:e.map(i=>{let n={name:i.name};if(i.toolType==="Agent Tool"){n.name="AgentTool";let o=i.toolAgentName||i.name;if(!o||o==="undefined"||o.trim()==="")return null;let a=A.get(o);return n.args={agent:{config_path:`./${o}.yaml`},skip_summarization:a?.skip_summarization||!1},n}return i.args&&Object.keys(i.args).some(a=>{let r=i.args[a];return r!=null&&r!==""})&&(n.args=i.args),n}).filter(i=>i!==null)}static buildCallbacksConfig(e){if(!e||e.length===0)return{};let A={};return e.forEach(i=>{let n=`${i.type}_callbacks`;A[n]||(A[n]=[]),A[n].push({name:i.name})}),A}};function AEA(t,e){t&1&&(m(0,"mat-hint",3),K(1," Start with a letter or underscore, and contain only letters, digits, and underscores. "),w())}var rw=class t{constructor(e,A){this.data=e;this.dialogRef=A}newAppName="";agentService=h(sg);_snackBar=h(J2);router=h(Cs);isNameValid(){let e=this.newAppName.trim();return!(!e||!/^[a-zA-Z_]/.test(e)||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e))}createNewApp(){let e=this.newAppName.trim();if(!this.isNameValid()){this._snackBar.open("App name must start with a letter or underscore and can only contain letters, digits, and underscores.","OK");return}if(this.data.existingAppNames.includes(e)){this._snackBar.open("App name already exists. Please choose a different name.","OK");return}let A={agent_class:"LlmAgent",instruction:"You are the root agent that coordinates other agents.",isRoot:!0,model:"gemini-2.5-flash",name:e,sub_agents:[],tools:[]},i=new FormData,n=new Map;y0.generateYamlFile(A,i,e,n),this.agentService.agentBuildTmp(i).subscribe(o=>{o?(this.router.navigate(["/"],{queryParams:{app:e,mode:"builder"}}).then(()=>{window.location.reload()}),this.dialogRef.close(!0)):this._snackBar.open("Something went wrong, please try again","OK")})}static \u0275fac=function(A){return new(A||t)(at(Ca),at(bo))};static \u0275cmp=kA({type:t,selectors:[["app-add-item-dialog"]],decls:10,vars:3,consts:[["mat-dialog-title","",1,"new-app-title"],[2,"padding-left","20px","padding-right","24px"],["matInput","",3,"ngModelChange","keydown.enter","ngModel"],[1,"validation-hint"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click","disabled"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1,"Create a new app"),w(),m(2,"mat-form-field",1)(3,"input",2),ho("ngModelChange",function(o){return ao(i.newAppName,o)||(i.newAppName=o),o}),tA("keydown.enter",function(){return i.createNewApp()}),w(),V(4,AEA,2,0,"mat-hint",3),w(),m(5,"mat-dialog-actions",4)(6,"button",5),K(7,"Cancel"),w(),m(8,"button",6),tA("click",function(){return i.createNewApp()}),K(9," Create "),w()()),A&2&&(p(3),Qo("ngModel",i.newAppName),p(),W(i.isNameValid()?-1:4),p(4),$("disabled",!i.isNameValid()))},dependencies:[Da,No,wa,Nn,uo,fo,Sa,Ua,fn,B0,R1],styles:[".new-app-title[_ngcontent-%COMP%]{color:var(--mdc-dialog-subhead-color)!important;font-family:Google Sans;font-size:24px}.validation-hint[_ngcontent-%COMP%]{font-size:12px;color:var(--mdc-dialog-supporting-text-color)}"]})};var eEA=["audioPlayer"],vE=class t{base64data=rt("");audioPlayerRef=ca("audioPlayer");audioSrc="";constructor(){}ngOnChanges(e){e.base64data&&this.base64data()&&this.setAudioSource(this.base64data())}setAudioSource(e){e.startsWith("data:")?this.audioSrc=e:this.audioSrc=`data:audio/mpeg;base64,${e}`,this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&this.audioPlayerRef().nativeElement.load()}play(){this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&this.audioPlayerRef().nativeElement.play()}pause(){this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&this.audioPlayerRef().nativeElement.pause()}stop(){this.audioPlayerRef()&&this.audioPlayerRef().nativeElement&&(this.audioPlayerRef().nativeElement.pause(),this.audioPlayerRef().nativeElement.currentTime=0)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-audio-player"]],viewQuery:function(A,i){A&1&&rs(i.audioPlayerRef,eEA,5),A&2&&Dr()},inputs:{base64data:[1,"base64data"]},features:[ti],decls:3,vars:1,consts:[["audioPlayer",""],["controls","",3,"src"]],template:function(A,i){A&1&&(li(0,"div"),Di(1,"audio",1,0),Ei()),A&2&&(p(),vo("src",i.audioSrc))},styles:[".audio-player-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:15px;background-color:var(--audio-player-container-background-color);border-radius:8px;box-shadow:0 2px 5px var(--audio-player-container-box-shadow-color);margin:20px auto;max-width:350px}audio[_ngcontent-%COMP%]{outline:none;border-radius:5px;width:350px}.custom-controls[_ngcontent-%COMP%]{margin-top:10px;display:flex;gap:10px}.custom-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:8px 15px;border:none;border-radius:5px;background-color:var(--audio-player-custom-controls-button-background-color);color:var(--audio-player-custom-controls-button-color);cursor:pointer;font-size:14px;transition:background-color .2s ease}.custom-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:var(--audio-player-custom-controls-button-hover-background-color)}"]})};function tEA(t,e){if(t&1&&Di(0,"img",5),t&2){let A=v(2);vo("src",A.displayContent,Ka)}}function iEA(t,e){t&1&&(li(0,"div",6),K(1," No image data provided. "),Ei())}function nEA(t,e){if(t&1&&(li(0,"div",3),V(1,tEA,1,1,"img",5),V(2,iEA,2,0,"div",6),Ei()),t&2){let A=v();p(),W(A.displayContent?1:-1),p(),W(A.displayContent?-1:2)}}function oEA(t,e){if(t&1&&Di(0,"div",4),t&2){let A=v();vo("innerHTML",A.displayContent,al)}}var V2=class t{displayContent=null;isSvgContent=!1;dialogRef=h(bo);data=h(Ca);safeValuesService=h(u0);ngOnInit(){this.processImageData()}processImageData(){let e=this.data.imageData;if(!e){this.displayContent=null,this.isSvgContent=!1;return}if(e.trim().includes("0?1:-1),p(3),Se(" ",o.getArtifactName(i)," "),p(5),Qo("ngModel",o.selectedArtifacts[n]),p(),Jt(o.getSortedArtifactsFromId(i)),p(7),W((A=o.selectedArtifacts[n].mediaType)===o.MediaType.IMAGE?17:A===o.MediaType.AUDIO?18:-1)}}var cEA="default_artifact_name",$1=(n=>(n.IMAGE="image",n.AUDIO="audio",n.TEXT="text",n.UNSPECIFIED="unspecified",n))($1||{});function O4(t){let e=t.toLowerCase();for(let A of Object.values($1))if(A!=="unspecified"&&e.startsWith(A+"/"))return A;return"unspecified"}function CEA(t){return t?t.startsWith("image/"):!1}function IEA(t){return t?t.startsWith("audio/"):!1}var sw=class t{artifacts=rt([]);selectedArtifacts=[];isArtifactAudio=IEA;isArtifactImage=CEA;MediaType=$1;downloadService=h(cE);dialog=h(Gs);safeValuesService=h(u0);ngOnChanges(e){if(e.artifacts){this.selectedArtifacts=[];for(let A of this.getDistinctArtifactIds())this.selectedArtifacts.push(this.getSortedArtifactsFromId(A)[0])}}downloadArtifact(e){this.downloadService.downloadBase64Data(e.data,e.mimeType,e.id)}getArtifactName(e){return e??cEA}getDistinctArtifactIds(){return[...new Set(this.artifacts().map(e=>e.id))]}getSortedArtifactsFromId(e){return this.artifacts().filter(A=>A.id===e).sort((A,i)=>i.versionId-A.versionId)}onArtifactVersionChange(e,A){this.selectedArtifacts[A]=e.value}openViewImageDialog(e){if(!e||!e.startsWith("data:")||e.indexOf(";base64,")===-1)return;let A=this.dialog.open(V2,{maxWidth:"90vw",maxHeight:"90vh",data:{imageData:e}})}openArtifact(e,A){if(this.isArtifactImage(A)){this.openViewImageDialog(e);return}this.openBase64InNewTab(e,A)}openBase64InNewTab(e,A){}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-artifact-tab"]],inputs:{artifacts:[1,"artifacts"]},features:[ti],decls:3,vars:0,consts:[[1,"artifact-container"],[1,"artifact-box"],[1,"white-separator"],[1,"artifact-metadata"],[1,"link-style-button",3,"click"],[1,"version-select-container"],[3,"ngModelChange","selectionChange","ngModel"],[3,"value"],["mat-flat-button","",1,"download-button",3,"click"],["alt","artifact.id",1,"generated-image",3,"click","src"],[3,"base64data"]],template:function(A,i){A&1&&(m(0,"div",0),Ut(1,lEA,19,4,"div",1,Li),w()),A&2&&(p(),Jt(i.getDistinctArtifactIds()))},dependencies:[Bl,Nn,fo,Sa,Hr,fn,Fn,vE],styles:[".artifact-container[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.artifact-box[_ngcontent-%COMP%]{padding:10px;max-width:100%;margin-left:26px;display:flex;flex-direction:column}.artifact-metadata[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:5px}.download-button[_ngcontent-%COMP%]{background-color:var(--artifact-tab-download-button-background-color)!important;margin-left:35px;width:130px;height:28px;font-size:14px}.generated-image[_ngcontent-%COMP%]{max-width:60%;border-radius:8px;cursor:pointer}hr.white-separator[_ngcontent-%COMP%]{border:none;border-top:1px solid var(--artifact-tab-white-separator-border-top-color);margin-bottom:1.2em;margin-right:15px}.version-select-container[_ngcontent-%COMP%]{background-color:var(--artifact-tab-version-select-container-background-color);width:80px;margin-left:15px}.link-style-button[_ngcontent-%COMP%]{background:none;border:none;padding:0;font:inherit;color:var(--artifact-tab-link-style-button-color)!important;text-decoration:underline;cursor:pointer;outline:none}.link-style-button[_ngcontent-%COMP%]:hover{color:var(--artifact-tab-link-style-button-hover-color);text-decoration:underline}.link-style-button[_ngcontent-%COMP%]:focus{outline:1px dotted var(--artifact-tab-link-style-button-focus-outline-color)}.link-style-button[_ngcontent-%COMP%]:active{color:var(--artifact-tab-link-style-button-active-color)}.link-style-button[_ngcontent-%COMP%]:disabled{color:var(--artifact-tab-link-style-button-disabled-color);text-decoration:none;cursor:not-allowed}"]})};var dEA=["input"],BEA=["label"],EEA=["*"],Vk={color:"accent",clickAction:"check-indeterminate",disabledInteractive:!1},QEA=new yA("mat-checkbox-default-options",{providedIn:"root",factory:()=>Vk}),Es=(function(t){return t[t.Init=0]="Init",t[t.Checked=1]="Checked",t[t.Unchecked=2]="Unchecked",t[t.Indeterminate=3]="Indeterminate",t})(Es||{}),Wk=class{source;checked},bE=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(Dt);_ngZone=h(Oe);_animationsDisabled=ji();_options=h(QEA,{optional:!0});focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(A){let i=new Wk;return i.source=this,i.checked=A,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}_animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"};ariaLabel="";ariaLabelledby=null;ariaDescribedby;ariaExpanded;ariaControls;ariaOwns;_uniqueId;id;get inputId(){return`${this.id||this._uniqueId}-input`}required=!1;labelPosition="after";name=null;change=new $A;indeterminateChange=new $A;value;disableRipple=!1;_inputElement;_labelElement;tabIndex;color;disabledInteractive;_onTouched=()=>{};_currentAnimationClass="";_currentCheckState=Es.Init;_controlValueAccessorChangeFn=()=>{};_validatorChangeFn=()=>{};constructor(){h(Xn).load(dr);let A=h(new Ws("tabindex"),{optional:!0});this._options=this._options||Vk,this.color=this._options.color||Vk.color,this.tabIndex=A==null?0:parseInt(A)||0,this.id=this._uniqueId=h(an).getId("mat-mdc-checkbox-"),this.disabledInteractive=this._options?.disabledInteractive??!1}ngOnChanges(A){A.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this.indeterminate)}get checked(){return this._checked}set checked(A){A!=this.checked&&(this._checked=A,this._changeDetectorRef.markForCheck())}_checked=!1;get disabled(){return this._disabled}set disabled(A){A!==this.disabled&&(this._disabled=A,this._changeDetectorRef.markForCheck())}_disabled=!1;get indeterminate(){return this._indeterminate()}set indeterminate(A){let i=A!=this._indeterminate();this._indeterminate.set(A),i&&(A?this._transitionCheckState(Es.Indeterminate):this._transitionCheckState(this.checked?Es.Checked:Es.Unchecked),this.indeterminateChange.emit(A)),this._syncIndeterminate(A)}_indeterminate=jA(!1);_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(A){this.checked=!!A}registerOnChange(A){this._controlValueAccessorChangeFn=A}registerOnTouched(A){this._onTouched=A}setDisabledState(A){this.disabled=A}validate(A){return this.required&&A.value!==!0?{required:!0}:null}registerOnValidatorChange(A){this._validatorChangeFn=A}_transitionCheckState(A){let i=this._currentCheckState,n=this._getAnimationTargetElement();if(!(i===A||!n)&&(this._currentAnimationClass&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,A),this._currentCheckState=A,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);let o=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(o)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){let A=this._options?.clickAction;!this.disabled&&A!=="noop"?(this.indeterminate&&A!=="check"&&Promise.resolve().then(()=>{this._indeterminate.set(!1),this.indeterminateChange.emit(!1)}),this._checked=!this._checked,this._transitionCheckState(this._checked?Es.Checked:Es.Unchecked),this._emitChangeEvent()):(this.disabled&&this.disabledInteractive||!this.disabled&&A==="noop")&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate)}_onInteractionEvent(A){A.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(A,i){if(this._animationsDisabled)return"";switch(A){case Es.Init:if(i===Es.Checked)return this._animationClasses.uncheckedToChecked;if(i==Es.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case Es.Unchecked:return i===Es.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case Es.Checked:return i===Es.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case Es.Indeterminate:return i===Es.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(A){let i=this._inputElement;i&&(i.nativeElement.indeterminate=A)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(A){A.target&&this._labelElement.nativeElement.contains(A.target)&&A.stopPropagation()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-checkbox"]],viewQuery:function(i,n){if(i&1&&ai(dEA,5)(BEA,5),i&2){let o;ce(o=Ce())&&(n._inputElement=o.first),ce(o=Ce())&&(n._labelElement=o.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:16,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("tabindex",null)("aria-label",null)("aria-labelledby",null),Po(n.color?"mat-"+n.color:"mat-accent"),ne("_mat-animation-noopable",n._animationsDisabled)("mdc-checkbox--disabled",n.disabled)("mat-mdc-checkbox-disabled",n.disabled)("mat-mdc-checkbox-checked",n.checked)("mat-mdc-checkbox-disabled-interactive",n.disabledInteractive))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],ariaExpanded:[2,"aria-expanded","ariaExpanded",he],ariaControls:[0,"aria-controls","ariaControls"],ariaOwns:[0,"aria-owns","ariaOwns"],id:"id",required:[2,"required","required",he],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[2,"disableRipple","disableRipple",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?void 0:en(A)],color:"color",disabledInteractive:[2,"disabledInteractive","disabledInteractive",he],checked:[2,"checked","checked",he],disabled:[2,"disabled","disabled",he],indeterminate:[2,"indeterminate","indeterminate",he]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[dt([{provide:Lg,useExisting:wr(()=>t),multi:!0},{provide:a0,useExisting:t,multi:!0}]),ti],ngContentSelectors:EEA,decls:15,vars:23,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(i,n){if(i&1){let o=JA();Yt(),m(0,"div",3),tA("click",function(r){return Z(o),X(n._preventBubblingFromLabel(r))}),m(1,"div",4,0)(3,"div",5),tA("click",function(){return Z(o),X(n._onTouchTargetClick())}),w(),m(4,"input",6,1),tA("blur",function(){return Z(o),X(n._onBlur())})("click",function(){return Z(o),X(n._onInputClick())})("change",function(r){return Z(o),X(n._onInteractionEvent(r))}),w(),GA(6,"div",7),m(7,"div",8),Qt(),m(8,"svg",9),GA(9,"path",10),w(),as(),GA(10,"div",11),w(),GA(11,"div",12),w(),m(12,"label",13,2),Ke(14),w()()}if(i&2){let o=An(2);$("labelPosition",n.labelPosition),p(4),ne("mdc-checkbox--selected",n.checked),$("checked",n.checked)("indeterminate",n.indeterminate)("disabled",n.disabled&&!n.disabledInteractive)("id",n.inputId)("required",n.required)("tabIndex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex),ie("aria-label",n.ariaLabel||null)("aria-labelledby",n.ariaLabelledby)("aria-describedby",n.ariaDescribedby)("aria-checked",n.indeterminate?"mixed":null)("aria-controls",n.ariaControls)("aria-disabled",n.disabled&&n.disabledInteractive?!0:null)("aria-expanded",n.ariaExpanded)("aria-owns",n.ariaOwns)("name",n.name)("value",n.value),p(7),$("matRippleTrigger",o)("matRippleDisabled",n.disableRipple||n.disabled)("matRippleCentered",!0),p(),$("for",n.inputId)}},dependencies:[ig,E8],styles:[`.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox:hover>.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:hover>.mat-mdc-checkbox-ripple>.mat-ripple-element{background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control:focus+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));background-color:var(--mat-checkbox-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:active>.mdc-checkbox__native-control+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));background-color:var(--mat-checkbox-unselected-pressed-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:active>.mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-unselected-pressed-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));background-color:var(--mat-checkbox-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox .mdc-checkbox__native-control:focus:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));background-color:var(--mat-checkbox-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:active>.mdc-checkbox__native-control:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));background-color:var(--mat-checkbox-selected-pressed-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:active>.mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-pressed-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control+.mdc-checkbox__ripple{background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;width:var(--mat-checkbox-state-layer-size, 40px);height:var(--mat-checkbox-state-layer-size, 40px);top:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2);right:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2);left:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);-webkit-print-color-adjust:exact;color-adjust:exact;border-color:var(--mat-checkbox-unselected-icon-color, var(--mat-sys-on-surface-variant));top:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2)}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-icon-color, var(--mat-sys-primary))}.mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mat-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mat-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}@media(forced-colors: active){.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox:hover>.mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mdc-checkbox:hover>.mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mat-checkbox-unselected-hover-icon-color, var(--mat-sys-on-surface));background-color:rgba(0,0,0,0)}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox:hover>.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-hover-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-hover-icon-color, var(--mat-sys-primary))}.mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mat-checkbox-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-focus-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-focus-icon-color, var(--mat-sys-primary))}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:var(--mat-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--mat-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mat-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mdc-checkbox__checkmark{color:CanvasText}}.mdc-checkbox--disabled .mdc-checkbox__checkmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:var(--mat-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__checkmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:GrayText}}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mat-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:var(--mat-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:GrayText}}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mat-mdc-checkbox-touch-target,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__native-control,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__ripple,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mat-mdc-checkbox-ripple::before,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__mixedmark{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox .mat-internal-form-field{color:var(--mat-checkbox-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-checkbox-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-checkbox-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-checkbox-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-checkbox-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-checkbox-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-checkbox.mat-mdc-checkbox-disabled.mat-mdc-checkbox-disabled-interactive{pointer-events:auto}.mat-mdc-checkbox.mat-mdc-checkbox-disabled.mat-mdc-checkbox-disabled-interactive input{cursor:default}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{color:GrayText}}.mat-mdc-checkbox label:empty{display:none}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox .mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox .mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-checkbox-touch-target-size, 48px);width:var(--mat-checkbox-touch-target-size, 48px);transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display, block)}.mat-mdc-checkbox .mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus-visible~.mat-focus-indicator::before{content:""} -`],encapsulation:2,changeDetection:0})}return t})();var SO=new yA("CdkAccordion");var xO=(()=>{class t{accordion=h(SO,{optional:!0,skipSelf:!0});_changeDetectorRef=h(Dt);_expansionDispatcher=h(D4);_openCloseAllSubscription=Jn.EMPTY;closed=new $A;opened=new $A;destroyed=new $A;expandedChange=new $A;id=h(an).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(A){if(this._expanded!==A){if(this._expanded=A,this.expandedChange.emit(A),A){this.opened.emit();let i=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,i)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(A){this._disabled.set(A)}_disabled=jA(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((A,i)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===i&&this.id!==A&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(A=>{this.disabled||(this.expanded=A)})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",he],disabled:[2,"disabled","disabled",he]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[dt([{provide:SO,useValue:void 0}])]})}return t})(),RO=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({})}return t})();var hEA=["body"],uEA=["bodyWrapper"],fEA=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],mEA=["mat-expansion-panel-header","*","mat-action-row"];function pEA(t,e){}var wEA=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],DEA=["mat-panel-title","mat-panel-description","*"];function yEA(t,e){t&1&&(li(0,"span",1),Qt(),li(1,"svg",2),Di(2,"path",3),Ei()())}var NO=new yA("MAT_ACCORDION"),FO=new yA("MAT_EXPANSION_PANEL"),vEA=(()=>{class t{_template=h(Tn);_expansionPanel=h(FO,{optional:!0});constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]})}return t})(),_O=new yA("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Zk=(()=>{class t extends xO{_viewContainerRef=h(Oo);_animationsDisabled=ji();_document=h(Xt);_ngZone=h(Oe);_elementRef=h(ge);_renderer=h(_i);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(A){this._hideToggle=A}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(A){this._togglePosition=A}_togglePosition;afterExpand=new $A;afterCollapse=new $A;_inputChanges=new XA;accordion=h(NO,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=h(an).getId("mat-expansion-panel-header-");constructor(){super();let A=h(_O,{optional:!0});this._expansionDispatcher=h(D4),A&&(this.hideToggle=A.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(cn(null),Ze(()=>this.expanded&&!this._portal),oo(1)).subscribe(()=>{this._portal=new Is(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(A){this._inputChanges.next(A)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let A=this._document.activeElement,i=this._body.nativeElement;return A===i||i.contains(A)}return!1}_transitionEndListener=({target:A,propertyName:i})=>{A===this._bodyWrapper?.nativeElement&&i==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let A=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(A,"transitionend",this._transitionEndListener),A.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(i,n,o){if(i&1&&fa(o,vEA,5),i&2){let a;ce(a=Ce())&&(n._lazyContent=a.first)}},viewQuery:function(i,n){if(i&1&&ai(hEA,5)(uEA,5),i&2){let o;ce(o=Ce())&&(n._body=o.first),ce(o=Ce())&&(n._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,n){i&2&&ne("mat-expanded",n.expanded)("mat-expansion-panel-spacing",n._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",he],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[dt([{provide:NO,useValue:void 0},{provide:FO,useExisting:t}]),It,ti],ngContentSelectors:mEA,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,n){i&1&&(Yt(fEA),Ke(0),m(1,"div",2,0)(3,"div",3,1)(5,"div",4),Ke(6,1),pt(7,pEA,0,0,"ng-template",5),w(),Ke(8,2),w()()),i&2&&(p(),ie("inert",n.expanded?null:""),p(2),$("id",n.id),ie("aria-labelledby",n._headerId),p(4),$("cdkPortalOutlet",n._portal))},dependencies:[Yg],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}@media print{.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px} -`],encapsulation:2,changeDetection:0})}return t})();var LO=(()=>{class t{panel=h(Zk,{host:!0});_element=h(ge);_focusMonitor=h(ar);_changeDetectorRef=h(Dt);_parentChangeSubscription=Jn.EMPTY;constructor(){h(Xn).load(dr);let A=this.panel,i=h(_O,{optional:!0}),n=h(new Ws("tabindex"),{optional:!0}),o=A.accordion?A.accordion._stateChanges.pipe(Ze(a=>!!(a.hideToggle||a.togglePosition))):ja;this.tabIndex=parseInt(n||"")||0,this._parentChangeSubscription=fi(A.opened,A.closed,o,A._inputChanges.pipe(Ze(a=>!!(a.hideToggle||a.disabled||a.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),A.closed.pipe(Ze(()=>A._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),i&&(this.expandedHeight=i.expandedHeight,this.collapsedHeight=i.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let A=this._isExpanded();return A&&this.expandedHeight?this.expandedHeight:!A&&this.collapsedHeight?this.collapsedHeight:null}_keydown(A){switch(A.keyCode){case 32:case 13:pa(A)||(A.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(A);return}}focus(A,i){A?this._focusMonitor.focusVia(this._element,A,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(A=>{A&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(i,n){i&1&&tA("click",function(){return n._toggle()})("keydown",function(a){return n._keydown(a)}),i&2&&(ie("id",n.panel._headerId)("tabindex",n.disabled?-1:n.tabIndex)("aria-controls",n._getPanelId())("aria-expanded",n._isExpanded())("aria-disabled",n.panel.disabled),wn("height",n._getHeaderHeight()),ne("mat-expanded",n._isExpanded())("mat-expansion-toggle-indicator-after",n._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",n._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)]},ngContentSelectors:DEA,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(i,n){i&1&&(Yt(wEA),li(0,"span",0),Ke(1),Ke(2,1),Ke(3,2),Ei(),V(4,yEA,3,0,"span",1)),i&2&&(ne("mat-content-hide-toggle",!n._showToggle()),p(4),W(n._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}} -`],encapsulation:2,changeDetection:0})}return t})();var GO=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return t})();var KO=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[RO,d0,Gi]})}return t})();var bEA={google_search:"search",EnterpriseWebSearchTool:"web",VertexAiSearchTool:"search",FilesRetrieval:"find_in_page",load_memory:"memory",preload_memory:"memory",url_context:"link",VertexAiRagRetrieval:"find_in_page",exit_loop:"sync",get_user_choice:"how_to_reg",load_artifacts:"image",LongRunningFunctionTool:"data_object"};function ME(t,e){return e==="Agent Tool"?"smart_toy":e==="Built-in tool"?bEA[t]||"build":e==="Function tool"?"data_object":"build"}var fc=class t{static toolMenuTooltips=new Map([["Function tool","Build custom tools for your specific ADK agent needs."],["Built-in tool","Ready-to-use functionality such as Google Search or code executors that provide agents with common capabilities. "],["Agent tool","A sub-agent that can be invoked as a tool by another agent."]]);static toolDetailedInfo=new Map([["Function tool",{shortDescription:"Build custom tools for your specific ADK agent needs.",detailedDescription:"The ADK framework automatically inspects your Python function's signature\u2014including its name, docstring, parameters, type hints, and default values\u2014to generate a schema. This schema is what the LLM uses to understand the tool's purpose, when to use it, and what arguments it requires.",docLink:"https://google.github.io/adk-docs/tools/function-tools/"}],["Agent tool",{shortDescription:"Wraps a sub-agent as a callable tool, enabling modular and hierarchical agent architectures.",detailedDescription:"Agent tools allow you to use one agent as a tool within another agent, creating powerful multi-agent workflows.",docLink:"https://google.github.io/adk-docs/agents/multi-agents/#c-explicit-invocation-agenttool"}]]);static callbackMenuTooltips=new Map([["before_agent","Called immediately before the agent's _run_async_impl (or _run_live_impl) method is executed."],["after_agent","Called immediately after the agent's _run_async_impl (or _run_live_impl) method successfully completes."],["before_model","Called just before the generate_content_async (or equivalent) request is sent to the LLM within an LlmAgent's flow."],["after_model","Called just after a response (LlmResponse) is received from the LLM, before it's processed further by the invoking agent."],["before_tool","Called just before a specific tool's run_async method is invoked, after the LLM has generated a function call for it."],["after_tool","Called just after the tool's run_async method completes successfully."]]);static callbackDialogTooltips=new Map([["before_agent","Called immediately before the agent's _run_async_impl (or _run_live_impl) method is executed."],["after_agent","Called immediately after the agent's _run_async_impl (or _run_live_impl) method successfully completes."],["before_model","Called just before the generate_content_async (or equivalent) request is sent to the LLM within an LlmAgent's flow."],["after_model","Called just after a response (LlmResponse) is received from the LLM, before it's processed further by the invoking agent."],["before_tool","Called just before a specific tool's run_async method is invoked, after the LLM has generated a function call for it."],["after_tool","Called just after the tool's run_async method completes successfully."]]);static callbackDetailedInfo=new Map([["before_agent",{shortDescription:"Called immediately before the agent's _run_async_impl (or _run_live_impl) method is executed. It runs after the agent's InvocationContext is created but before its core logic begins.",detailedDescription:" Ideal for setting up resources or state needed only for this specific agent's run, performing validation checks on the session state (callback_context.state) before execution starts, logging the entry point of the agent's activity, or potentially modifying the invocation context before the core logic uses it.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#before-agent-callback"}],["after_agent",{shortDescription:"Called immediately after the agent's _run_async_impl (or _run_live_impl) method successfully completes.",detailedDescription:"Useful for cleanup tasks, post-execution validation, logging the completion of an agent's activity, modifying final state, or augmenting/replacing the agent's final output.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#after-agent-callback"}],["before_model",{shortDescription:"Called just before the generate_content_async (or equivalent) request is sent to the LLM within an LlmAgent's flow.",detailedDescription:"Allows inspection and modification of the request going to the LLM. Use cases include adding dynamic instructions, injecting few-shot examples based on state, modifying model config, implementing guardrails (like profanity filters), or implementing request-level caching.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#before-model-callback"}],["after_model",{shortDescription:"Called just after a response (LlmResponse) is received from the LLM, before it's processed further by the invoking agent.",detailedDescription:"Allows inspection or modification of the raw LLM response.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#after-model-callback"}],["before_tool",{shortDescription:"Called just before a specific tool's run_async method is invoked, after the LLM has generated a function call for it.",detailedDescription:"Allows inspection and modification of tool arguments, performing authorization checks before execution, logging tool usage attempts, or implementing tool-level caching.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#before-tool-callback"}],["after_tool",{shortDescription:"Called just after the tool's run_async method completes successfully.",detailedDescription:"Allows inspection and modification of the tool's result before it's sent back to the LLM (potentially after summarization). Useful for logging tool results, post-processing or formatting results, or saving specific parts of the result to the session state.",docLink:"https://google.github.io/adk-docs/callbacks/types-of-callbacks/#after-tool-callback"}]]);static getToolMenuTooltips(e){return t.toolMenuTooltips.get(e)}static getToolDetailedInfo(e){return t.toolDetailedInfo.get(e)}static getCallbackMenuTooltips(e){return t.callbackMenuTooltips.get(e)}static getCallbackDialogTooltips(e){return t.callbackDialogTooltips.get(e)}static getCallbackDetailedInfo(e){return t.callbackDetailedInfo.get(e)}};var MEA=["callbackNameInput"];function kEA(t,e){if(t&1){let A=JA();js(0),m(1,"div",8)(2,"div",9),tA("click",function(){Z(A);let n=v();return X(n.toggleCallbackInfo())}),m(3,"mat-icon",10),K(4,"info"),w(),m(5,"div",11)(6,"span"),K(7,"Callback Information"),w()(),m(8,"button",12)(9,"mat-icon"),K(10),w()()(),m(11,"div",13)(12,"div",14)(13,"div",15),K(14),w(),m(15,"div",16),K(16),w()(),m(17,"div",17)(18,"a",18)(19,"mat-icon"),K(20,"open_in_new"),w(),m(21,"span"),K(22,"View Official Documentation"),w()()()()(),qs()}if(t&2){let A,i,n,o=v();p(10),qA(o.isCallbackInfoExpanded?"expand_less":"expand_more"),p(),ne("expanded",o.isCallbackInfoExpanded),p(3),qA((A=o.getCallbackInfo())==null?null:A.shortDescription),p(2),qA((i=o.getCallbackInfo())==null?null:i.detailedDescription),p(2),$("href",(n=o.getCallbackInfo())==null?null:n.docLink,Ka)}}function SEA(t,e){if(t&1&&(m(0,"mat-option",21),K(1),w()),t&2){let A=e.$implicit;$("value",A),p(),qA(A)}}function xEA(t,e){if(t&1){let A=JA();js(0),m(1,"mat-form-field",3)(2,"mat-label"),K(3,"Callback Type"),w(),m(4,"mat-select",19),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.callbackType,n)||(o.callbackType=n),X(n)}),pt(5,SEA,2,2,"mat-option",20),w()(),qs()}if(t&2){let A=v();p(4),Qo("ngModel",A.callbackType),p(),$("ngForOf",A.availableCallbackTypes)}}function REA(t,e){t&1&&(m(0,"mat-error"),K(1,"Same callback name has been used"),w())}function NEA(t,e){t&1&&(m(0,"mat-error"),K(1,"Cannot have callback consist of two words"),w())}function FEA(t,e){t&1&&(m(0,"mat-error"),K(1,"Callback function names cannot have spaces"),w())}var Xk=class{isErrorState(e){return!!(e&&e.invalid)}},P4=class t{constructor(e,A){this.dialogRef=e;this.data=A;this.callbackType=A?.callbackType??"",this.existingCallbackNames=A?.existingCallbackNames??[],this.isEditMode=!!A?.isEditMode,this.availableCallbackTypes=A?.availableCallbackTypes??[],this.isEditMode&&A?.callback&&(this.callbackName=A.callback.name,this.callbackType=A.callback.type,this.originalCallbackName=A.callback.name,this.existingCallbackNames=this.existingCallbackNames.filter(i=>i!==this.originalCallbackName))}callbackNameInput;callbackName="";callbackType="";existingCallbackNames=[];matcher=new Xk;isEditMode=!1;availableCallbackTypes=[];originalCallbackName="";isCallbackInfoExpanded=!1;addCallback(){if(!this.callbackName.trim()||this.hasSpaces()||this.isDuplicateName())return;let e={name:this.callbackName.trim(),type:this.callbackType,isEditMode:this.isEditMode,originalName:this.originalCallbackName||this.callbackName.trim()};this.dialogRef.close(e)}cancel(){this.dialogRef.close()}isDuplicateName(){if(!Array.isArray(this.existingCallbackNames))return!1;let e=(this.callbackName||"").trim();return this.existingCallbackNames.includes(e)}hasSpaces(){return/\s/.test(this.callbackName||"")}createDisabled(){return!this.callbackName.trim()||this.isDuplicateName()||this.hasSpaces()}validate(){this.hasSpaces()?this.callbackNameInput.control.setErrors({hasSpaces:!0}):this.isDuplicateName()?this.callbackNameInput.control.setErrors({duplicateName:!0}):this.callbackNameInput.control.setErrors(null)}getCallbackInfo(){return fc.getCallbackDetailedInfo(this.callbackType)}toggleCallbackInfo(){this.isCallbackInfoExpanded=!this.isCallbackInfoExpanded}static \u0275fac=function(A){return new(A||t)(at(bo),at(Ca))};static \u0275cmp=kA({type:t,selectors:[["app-add-callback-dialog"]],viewQuery:function(A,i){if(A&1&&ai(MEA,5),A&2){let n;ce(n=Ce())&&(i.callbackNameInput=n.first)}},decls:18,vars:10,consts:[["callbackNameInput","ngModel"],["mat-dialog-title",""],[4,"ngIf"],[2,"width","100%"],["matInput","",3,"ngModelChange","keydown.enter","ngModel","errorStateMatcher"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","secondary",3,"click","disabled"],[1,"callback-info-container"],[1,"callback-info-header",3,"click"],[1,"callback-info-icon"],[1,"callback-info-title"],["mat-icon-button","","type","button","aria-label","Toggle callback information",1,"callback-info-toggle"],[1,"callback-info-body"],[1,"callback-info-content"],[1,"callback-info-short"],[1,"callback-info-detailed"],[1,"callback-info-link-container"],["target","_blank","rel","noopener noreferrer",1,"callback-info-link",3,"href"],[3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(A,i){if(A&1){let n=JA();m(0,"h2",1),K(1),w(),m(2,"mat-dialog-content"),pt(3,kEA,23,6,"ng-container",2)(4,xEA,6,2,"ng-container",2),m(5,"mat-form-field",3)(6,"mat-label"),K(7,"Callback Name"),w(),m(8,"input",4,0),ho("ngModelChange",function(a){return Z(n),ao(i.callbackName,a)||(i.callbackName=a),X(a)}),tA("ngModelChange",function(){return Z(n),X(i.validate())})("keydown.enter",function(){return Z(n),X(i.addCallback())}),w(),pt(10,REA,2,0,"mat-error",2)(11,NEA,2,0,"mat-error",2)(12,FEA,2,0,"mat-error",2),w()(),m(13,"mat-dialog-actions",5)(14,"button",6),tA("click",function(){return Z(n),X(i.cancel())}),K(15,"Cancel"),w(),m(16,"button",7),tA("click",function(){return Z(n),X(i.addCallback())}),K(17),w()()}if(A&2){let n=An(9);p(),qA(i.isEditMode?"Edit Callback":"Add "+i.callbackType+" Callback"),p(2),$("ngIf",i.getCallbackInfo()),p(),$("ngIf",i.isEditMode),p(4),Qo("ngModel",i.callbackName),$("errorStateMatcher",i.matcher),p(2),$("ngIf",n.hasError("duplicateName")),p(),$("ngIf",n.hasError("hasSpaces")),p(),$("ngIf",n.hasError("hasSpaces")),p(4),$("disabled",i.createDisabled()),p(),Se(" ",i.isEditMode?"Save":"Add"," ")}},dependencies:[ma,DB,rl,Nn,uo,fo,Sa,uz,Da,Ua,rr,Ns,fn,Wa,Yr,No,Gg,k9,gl,wa,ck,Bl,Hr,Il,Fn],styles:[".callback-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;min-width:400px;max-width:600px}.full-width[_ngcontent-%COMP%]{width:100%}mat-dialog-content[_ngcontent-%COMP%]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}mat-dialog-actions[_ngcontent-%COMP%]{padding:16px 24px;margin:0}mat-form-field[_ngcontent-%COMP%]{margin-top:8px!important}.mat-mdc-raised-button.mat-secondary[_ngcontent-%COMP%]:not([disabled]){background-color:#8ab4f8}.callback-info-container[_ngcontent-%COMP%]{background-color:#8ab4f814;border:1px solid rgba(138,180,248,.2);border-radius:8px;padding:16px;margin-bottom:16px}.callback-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.callback-info-header[_ngcontent-%COMP%]:hover .callback-info-title[_ngcontent-%COMP%]{color:#a7c8ff}.callback-info-icon[_ngcontent-%COMP%]{color:#8ab4f8;font-size:20px;width:20px;height:20px;flex-shrink:0}.callback-info-title[_ngcontent-%COMP%]{flex:1;font-weight:500;color:#8ab4f8;font-size:14px;transition:color .2s ease}.callback-info-toggle[_ngcontent-%COMP%]{color:#8ab4f8;margin:-8px}.callback-info-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease}.callback-info-body[_ngcontent-%COMP%]{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.callback-info-body.expanded[_ngcontent-%COMP%]{max-height:500px;opacity:1;margin-top:12px}.callback-info-content[_ngcontent-%COMP%]{flex:1}.callback-info-short[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-dialog-content-text-color);margin-bottom:8px;line-height:1.4}.callback-info-detailed[_ngcontent-%COMP%]{color:var(--mat-dialog-content-text-color);font-size:14px;line-height:1.5;opacity:.8}.callback-info-link-container[_ngcontent-%COMP%]{margin-top:12px}.callback-info-link[_ngcontent-%COMP%]{color:#8ab4f8;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.callback-info-link[_ngcontent-%COMP%]:hover{color:#a7c8ff}.callback-info-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}"]})};function _EA(t,e){if(t&1){let A=JA();js(0),m(1,"div",6)(2,"div",7),tA("click",function(){Z(A);let n=v();return X(n.toggleToolInfo())}),m(3,"mat-icon",8),K(4,"info"),w(),m(5,"div",9)(6,"span"),K(7,"Tool Information"),w()(),m(8,"button",10)(9,"mat-icon"),K(10),w()()(),m(11,"div",11)(12,"div",12)(13,"div",13),K(14),w(),m(15,"div",14),K(16),w()(),m(17,"div",15)(18,"a",16)(19,"mat-icon"),K(20,"open_in_new"),w(),m(21,"span"),K(22,"View Official Documentation"),w()()()()(),qs()}if(t&2){let A,i,n,o=v();p(10),qA(o.isToolInfoExpanded?"expand_less":"expand_more"),p(),ne("expanded",o.isToolInfoExpanded),p(3),qA((A=o.getToolInfo())==null?null:A.shortDescription),p(2),qA((i=o.getToolInfo())==null?null:i.detailedDescription),p(2),$("href",(n=o.getToolInfo())==null?null:n.docLink,Ka)}}function LEA(t,e){if(t&1){let A=JA();m(0,"mat-form-field",2)(1,"input",17),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.toolName,n)||(o.toolName=n),X(n)}),tA("keydown.enter",function(){Z(A);let n=v();return X(n.addTool())}),w()()}if(t&2){let A=v();p(),Qo("ngModel",A.toolName)}}function GEA(t,e){if(t&1&&(m(0,"mat-option",20),K(1),w()),t&2){let A=e.$implicit;$("value",A),p(),Se(" ",A," ")}}function KEA(t,e){if(t&1){let A=JA();m(0,"mat-form-field",2)(1,"mat-select",18),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.selectedBuiltInTool,n)||(o.selectedBuiltInTool=n),X(n)}),pt(2,GEA,2,2,"mat-option",19),w()()}if(t&2){let A=v();p(),Qo("ngModel",A.selectedBuiltInTool),p(),$("ngForOf",A.builtInTools)}}var W2=class t{constructor(e,A){this.data=e;this.dialogRef=A}toolName="";toolType="Function tool";selectedBuiltInTool="google_search";builtInTools=["EnterpriseWebSearchTool","exit_loop","FilesRetrieval","get_user_choice","google_search","load_artifacts","load_memory","LongRunningFunctionTool","preload_memory","url_context","VertexAiRagRetrieval","VertexAiSearchTool"];isEditMode=!1;isToolInfoExpanded=!1;ngOnInit(){this.toolType=this.data.toolType,this.isEditMode=this.data.isEditMode||!1,this.isEditMode&&this.data.toolName&&(this.toolType==="Function tool"?this.toolName=this.data.toolName:this.toolType==="Built-in tool"&&(this.selectedBuiltInTool=this.data.toolName))}addTool(){if(this.toolType==="Function tool"&&!this.toolName.trim())return;let e={toolType:this.toolType,isEditMode:this.isEditMode};this.toolType==="Function tool"?e.name=this.toolName.trim():this.toolType==="Built-in tool"&&(e.name=this.selectedBuiltInTool),this.dialogRef.close(e)}cancel(){this.dialogRef.close()}createDisabled(){return this.toolType==="Function tool"&&!this.toolName.trim()}getToolInfo(){return fc.getToolDetailedInfo(this.toolType)}toggleToolInfo(){this.isToolInfoExpanded=!this.isToolInfoExpanded}static \u0275fac=function(A){return new(A||t)(at(Ca),at(bo))};static \u0275cmp=kA({type:t,selectors:[["app-add-tool-dialog"]],decls:11,vars:6,consts:[["mat-dialog-title","",1,"dialog-title"],[4,"ngIf"],[2,"width","100%"],["align","end"],["mat-button","",3,"click"],["mat-button","","cdkFocusInitial","",3,"click","disabled"],[1,"tool-info-container"],[1,"tool-info-header",3,"click"],[1,"tool-info-icon"],[1,"tool-info-title"],["mat-icon-button","","type","button","aria-label","Toggle tool information",1,"tool-info-toggle"],[1,"tool-info-body"],[1,"tool-info-content"],[1,"tool-info-short"],[1,"tool-info-detailed"],[1,"tool-info-link-container"],["target","_blank","rel","noopener noreferrer",1,"tool-info-link",3,"href"],["matInput","","placeholder","Enter full function name",3,"ngModelChange","keydown.enter","ngModel"],["placeholder","Select built-in tool",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1),w(),m(2,"mat-dialog-content"),pt(3,_EA,23,6,"ng-container",1),V(4,LEA,2,1,"mat-form-field",2),V(5,KEA,3,2,"mat-form-field",2),w(),m(6,"mat-dialog-actions",3)(7,"button",4),tA("click",function(){return i.cancel()}),K(8,"Cancel"),w(),m(9,"button",5),tA("click",function(){return i.addTool()}),K(10),w()()),A&2&&(p(),qA(i.isEditMode?"Editing Tool":"Add New Tool"),p(2),$("ngIf",i.getToolInfo()),p(),W(i.toolType==="Function tool"?4:-1),p(),W(i.toolType==="Built-in tool"?5:-1),p(4),$("disabled",i.createDisabled()),p(),Se(" ",i.isEditMode?"Save":"Create"," "))},dependencies:[ma,DB,rl,Nn,uo,fo,Sa,Da,rr,No,wa,Bl,Hr,Ua,fn,Wa,Fn],styles:[".dialog-title[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;font-family:Google Sans;font-size:24px}mat-dialog-content[_ngcontent-%COMP%]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.tool-info-container[_ngcontent-%COMP%]{background-color:#8ab4f814;border:1px solid rgba(138,180,248,.2);border-radius:8px;padding:16px;margin-bottom:16px}.tool-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.tool-info-header[_ngcontent-%COMP%]:hover .tool-info-title[_ngcontent-%COMP%]{color:#a7c8ff}.tool-info-icon[_ngcontent-%COMP%]{color:#8ab4f8;font-size:20px;width:20px;height:20px;flex-shrink:0}.tool-info-title[_ngcontent-%COMP%]{flex:1;font-weight:500;color:#8ab4f8;font-size:14px;transition:color .2s ease}.tool-info-toggle[_ngcontent-%COMP%]{color:#8ab4f8;margin:-8px}.tool-info-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease}.tool-info-body[_ngcontent-%COMP%]{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.tool-info-body.expanded[_ngcontent-%COMP%]{max-height:500px;opacity:1;margin-top:12px}.tool-info-content[_ngcontent-%COMP%]{flex:1}.tool-info-short[_ngcontent-%COMP%]{font-weight:500;color:#e3e3e3;margin-bottom:8px;line-height:1.4}.tool-info-detailed[_ngcontent-%COMP%]{color:#c4c7ca;font-size:14px;line-height:1.5}.tool-info-link-container[_ngcontent-%COMP%]{margin-top:12px}.tool-info-link[_ngcontent-%COMP%]{color:#8ab4f8;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.tool-info-link[_ngcontent-%COMP%]:hover{color:#a7c8ff}.tool-info-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}"]})};function qo(t){return Array.isArray(t)}function ia(t){return t!==null&&typeof t=="object"&&(t.constructor===void 0||t.constructor.name==="Object")}function $k(t){return t&&typeof t=="object"?t.op==="add":!1}function AS(t){return t&&typeof t=="object"?t.op==="remove":!1}function gw(t){return t&&typeof t=="object"?t.op==="replace":!1}function lw(t){return t&&typeof t=="object"?t.op==="copy":!1}function Z2(t){return t&&typeof t=="object"?t.op==="move":!1}function UO(t,e){return JSON.stringify(t)===JSON.stringify(e)}function UEA(t,e){return t===e}function eS(t){return t.slice(0,t.length-1)}function JO(t){return t[t.length-1]}function YO(t,e){let A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:UEA;if(t.length{e[A]=t[A]}),e}if(ia(t)){let e=cA({},t);return Object.getOwnPropertySymbols(t).forEach(A=>{e[A]=t[A]}),e}return t}function nS(t,e,A){if(t[e]===A)return t;let i=iS(t);return i[e]=A,i}function je(t,e){let A=t,i=0;for(;i3&&arguments[3]!==void 0?arguments[3]:!1;if(e.length===0)return A;let n=e[0],o=Or(t?t[n]:void 0,e.slice(1),A,i);if(ia(t)||qo(t))return nS(t,n,o);if(i){let a=JEA.test(n)?[]:{};return a[n]=o,a}throw new Error("Path does not exist")}var JEA=/^\d+$/;function j4(t,e,A){if(e.length===0)return A(t);if(!tS(t))throw new Error("Path doesn't exist");let i=e[0],n=j4(t[i],e.slice(1),A);return nS(t,i,n)}function Ad(t,e){if(e.length===0)return t;if(!tS(t))throw new Error("Path does not exist");if(e.length===1){let n=e[0];if(!(n in t))return t;let o=iS(t);return qo(o)&&o.splice(Number.parseInt(n),1),ia(o)&&delete o[n],o}let A=e[0],i=Ad(t[A],e.slice(1));return nS(t,A,i)}function q4(t,e,A){let i=e.slice(0,e.length-1),n=e[e.length-1];return j4(t,i,o=>{if(!Array.isArray(o))throw new TypeError(`Array expected at path ${JSON.stringify(i)}`);let a=iS(o);return a.splice(Number.parseInt(n),0,A),a})}function br(t,e){return t===void 0?!1:e.length===0?!0:t===null?!1:br(t[e[0]],e.slice(1))}function Qs(t){let e=t.split("/");return e.shift(),e.map(A=>A.replace(/~1/g,"/").replace(/~0/g,"~"))}function wt(t){return t.map(TO).join("")}function TO(t){return`/${String(t).replace(/~/g,"~0").replace(/\//g,"~1")}`}function V4(t,e){return t+TO(e)}function lg(t,e,A){let i=t;for(let n=0;n{let r,s=cg(o,a.path);if(a.op==="add")r=OO(o,s);else if(a.op==="remove")r=zO(o,s);else if(a.op==="replace")r=HO(o,s);else if(a.op==="copy")r=VEA(o,s);else if(a.op==="move")r=WEA(o,s,W4(a.from));else if(a.op==="test")r=[];else throw new Error(`Unknown JSONPatch operation ${JSON.stringify(a)}`);let g;if(A?.before){let l=A.before(o,a,r);if(l?.revertOperations&&(r=l.revertOperations),l?.document&&(g=l.document),l?.json)throw new Error('Deprecation warning: returned object property ".json" has been renamed to ".document"')}if(i=r.concat(i),g!==void 0)return{document:g}}}),i}function HO(t,e){return br(t,e)?[{op:"replace",path:wt(e),value:je(t,e)}]:[]}function zO(t,e){return[{op:"add",path:wt(e),value:je(t,e)}]}function OO(t,e){return kE(t,e)||!br(t,e)?[{op:"remove",path:wt(e)}]:HO(t,e)}function VEA(t,e){return OO(t,e)}function WEA(t,e,A){if(e.length="0"&&t<="9"}function VO(t){return t>=" "}function Z4(t){return`,:[]/{}() -+`.includes(t)}function rS(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function sS(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var gS=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,lS=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function cS(t){return`,[]/{} -+`.includes(t)}function CS(t){return X4(t)||rQA.test(t)}var rQA=/^[[{\w-]$/;function WO(t){return t===` -`||t==="\r"||t===" "||t==="\b"||t==="\f"}function X2(t,e){let A=t.charCodeAt(e);return A===32||A===10||A===9||A===13}function ZO(t,e){let A=t.charCodeAt(e);return A===32||A===9||A===13}function XO(t,e){let A=t.charCodeAt(e);return A===160||A>=8192&&A<=8202||A===8239||A===8287||A===12288}function X4(t){return IS(t)||dw(t)}function IS(t){return t==='"'||t==="\u201C"||t==="\u201D"}function dS(t){return t==='"'}function dw(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function BS(t){return t==="'"}function SE(t,e){let A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=t.lastIndexOf(e);return i!==-1?t.substring(0,i)+(A?"":t.substring(i+1)):t}function fl(t,e){let A=t.length;if(!X2(t,A-1))return t+e;for(;X2(t,A-1);)A--;return t.substring(0,A)+e+t.substring(A)}function $O(t,e,A){return t.substring(0,e)+t.substring(e+A)}function AP(t){return/[,\n][ \t\r]*$/.test(t)}var sQA={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},gQA={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:` -`,r:"\r",t:" "};function ml(t){let e=0,A="";g(["```","[```","{```"]),o()||P(),g(["```","```]","```}"]);let n=C(",");for(n&&a(),CS(t[e])&&AP(A)?(n||(A=fl(A,",")),f()):n&&(A=SE(A,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return A;DA();function o(){a();let oA=E()||Q()||b()||M()||D()||_(!1)||U();return a(),oA}function a(){let oA=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,sA=e,hA=r(oA);do hA=s(),hA&&(hA=r(oA));while(hA);return e>sA}function r(oA){let sA=oA?X2:ZO,hA="";for(;;)if(sA(t,e))hA+=t[e],e++;else if(XO(t,e))hA+=" ",e++;else break;return hA.length>0?(A+=hA,!0):!1}function s(){if(t[e]==="/"&&t[e+1]==="*"){for(;e=t.length;YA||(CS(t[e])||ee?A=fl(A,":"):iA()),o()||(YA||ee?A+="null":iA())}return t[e]==="}"?(A+="}",e++):A=fl(A,"}"),!0}return!1}function Q(){if(t[e]==="["){A+="[",e++,a(),I(",")&&a();let oA=!0;for(;e0&&arguments[0]!==void 0?arguments[0]:!1,sA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,hA=t[e]==="\\";if(hA&&(e++,hA=!0),X4(t[e])){let YA=dS(t[e])?dS:BS(t[e])?BS:dw(t[e])?dw:IS,ee=e,UA=A.length,mA='"';for(e++;;){if(e>=t.length){let KA=J(e-1);return!oA&&Z4(t.charAt(KA))?(e=ee,A=A.substring(0,UA),b(!0)):(mA=fl(mA,'"'),A+=mA,!0)}if(e===sA)return mA=fl(mA,'"'),A+=mA,!0;if(YA(t[e])){let KA=e,Pe=mA.length;if(mA+='"',e++,A+=mA,a(!1),oA||e>=t.length||Z4(t[e])||X4(t[e])||$2(t[e]))return S(),!0;let Je=J(KA-1),HA=t.charAt(Je);if(HA===",")return e=ee,A=A.substring(0,UA),b(!1,Je);if(Z4(HA))return e=ee,A=A.substring(0,UA),b(!0);A=A.substring(0,UA),e=KA+1,mA=`${mA.substring(0,Pe)}\\${mA.substring(Pe)}`}else if(oA&&cS(t[e])){if(t[e-1]===":"&&gS.test(t.substring(ee+1,e+2)))for(;e=t.length?e=t.length:BA()}else mA+=KA,e+=2}else{let KA=t.charAt(e);KA==='"'&&t[e-1]!=="\\"?(mA+=`\\${KA}`,e++):WO(KA)?(mA+=sQA[KA],e++):(VO(KA)||O(KA),mA+=KA,e++)}hA&&d()}}return!1}function S(){let oA=!1;for(a();t[e]==="+";){oA=!0,e++,a(),A=SE(A,'"',!0);let sA=A.length;b()?A=$O(A,sA,1):A=fl(A,'"')}return oA}function M(){let oA=e;if(t[e]==="-"){if(e++,j())return AA(oA),!0;if(!$2(t[e]))return e=oA,!1}for(;$2(t[e]);)e++;if(t[e]==="."){if(e++,j())return AA(oA),!0;if(!$2(t[e]))return e=oA,!1;for(;$2(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,j())return AA(oA),!0;if(!$2(t[e]))return e=oA,!1;for(;$2(t[e]);)e++}if(!j())return e=oA,!1;if(e>oA){let sA=t.slice(oA,e),hA=/^0\d/.test(sA);return A+=hA?`"${sA}"`:sA,!0}return!1}function D(){return F("true","true")||F("false","false")||F("null","null")||F("True","true")||F("False","false")||F("None","null")}function F(oA,sA){return t.slice(e,e+oA.length)===oA?(A+=sA,e+=oA.length,!0):!1}function _(oA){let sA=e;if(rS(t[e])){for(;esA){for(;X2(t,e-1)&&e>0;)e--;let hA=t.slice(sA,e);return A+=hA==="undefined"?"null":JSON.stringify(hA),t[e]==='"'&&e++,!0}}function U(){if(t[e]==="/"){let oA=e;for(e++;e0&&X2(t,sA);)sA--;return sA}function j(){return e>=t.length||Z4(t[e])||X2(t,e)}function AA(oA){A+=`${t.slice(oA,e)}0`}function O(oA){throw new yC(`Invalid character ${JSON.stringify(oA)}`,e)}function DA(){throw new yC(`Unexpected character ${JSON.stringify(t[e])}`,e)}function P(){throw new yC("Unexpected end of json string",t.length)}function aA(){throw new yC("Object key expected",e)}function iA(){throw new yC("Colon expected",e)}function BA(){let oA=t.slice(e,e+6);throw new yC(`Invalid unicode character "${oA}"`,e)}}function lQA(t,e){return t[e]==="*"&&t[e+1]==="/"}var cQA=typeof global=="object"&&global&&global.Object===Object&&global,Bw=cQA;var CQA=typeof self=="object"&&self&&self.Object===Object&&self,IQA=Bw||CQA||Function("return this")(),Ya=IQA;var dQA=Ya.Symbol,Mr=dQA;var eP=Object.prototype,BQA=eP.hasOwnProperty,EQA=eP.toString,$4=Mr?Mr.toStringTag:void 0;function QQA(t){var e=BQA.call(t,$4),A=t[$4];try{t[$4]=void 0;var i=!0}catch{}var n=EQA.call(t);return i&&(e?t[$4]=A:delete t[$4]),n}var tP=QQA;var hQA=Object.prototype,uQA=hQA.toString;function fQA(t){return uQA.call(t)}var iP=fQA;var mQA="[object Null]",pQA="[object Undefined]",nP=Mr?Mr.toStringTag:void 0;function wQA(t){return t==null?t===void 0?pQA:mQA:nP&&nP in Object(t)?tP(t):iP(t)}var mc=wQA;function DQA(t){return t!=null&&typeof t=="object"}var Us=DQA;var yQA="[object Symbol]";function vQA(t){return typeof t=="symbol"||Us(t)&&mc(t)==yQA}var Hg=vQA;function bQA(t,e){for(var A=-1,i=t==null?0:t.length,n=Array(i);++A0){if(++e>=BhA)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var pP=hhA;function uhA(t){return function(){return t}}var wP=uhA;var fhA=(function(){try{var t=Cg(Object,"defineProperty");return t({},"",{}),t}catch{}})(),RE=fhA;var mhA=RE?function(t,e){return RE(t,"toString",{configurable:!0,enumerable:!1,value:wP(e),writable:!0})}:v0,DP=mhA;var phA=pP(DP),yP=phA;function whA(t,e){for(var A=-1,i=t==null?0:t.length;++A-1&&t%1==0&&t-1&&t%1==0&&t<=_hA}var FE=LhA;function GhA(t){return t!=null&&FE(t.length)&&!Ew(t)}var pl=GhA;function KhA(t,e,A){if(!Qr(A))return!1;var i=typeof e;return(i=="number"?pl(A)&&NE(e,A.length):i=="string"&&e in A)?tI(A[e],t):!1}var e3=KhA;var UhA=Object.prototype;function JhA(t){var e=t&&t.constructor,A=typeof e=="function"&&e.prototype||UhA;return t===A}var nI=JhA;function YhA(t,e){for(var A=-1,i=Array(t);++A-1}var VP=r4A;function s4A(t,e){var A=this.__data__,i=rI(A,t);return i<0?(++this.size,A.push([t,e])):A[i][1]=e,this}var WP=s4A;function UE(t){var e=-1,A=t==null?0:t.length;for(this.clear();++e0&&A(r)?e>1?gj(r,e-1,A,i,n):TE(n,r):i||(n[n.length]=r)}return n}var lj=gj;var x4A=pw(Object.getPrototypeOf,Object),vw=x4A;function R4A(t,e,A){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),A=A>n?n:A,A<0&&(A+=n),n=e>A?0:A-e>>>0,e>>>=0;for(var o=Array(n);++ir))return!1;var g=o.get(t),l=o.get(e);if(g&&l)return g==e&&l==t;var C=-1,I=!0,d=A&xfA?new Aq:void 0;for(o.set(t,e),o.set(e,t);++C=e||_<0||C&&U>=o}function f(){var F=Ow();if(Q(F))return b(F);r=setTimeout(f,E(F))}function b(F){return r=void 0,I&&i?d(F):(i=n=void 0,a)}function S(){r!==void 0&&clearTimeout(r),g=0,i=s=n=r=void 0}function M(){return r===void 0?a:b(Ow())}function D(){var F=Ow(),_=Q(F);if(i=arguments,n=this,s=F,_){if(r===void 0)return B(s);if(C)return clearTimeout(r),r=setTimeout(f,e),d(s)}return r===void 0&&(r=setTimeout(f,e)),a}return D.cancel=S,D.flush=M,D}var qE=xmA;function RmA(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var mi=RmA;function NmA(t){return typeof t=="function"?t:v0}var Pw=NmA;function FmA(t,e){for(var A=t==null?0:t.length;A--&&e(t[A],A,t)!==!1;);return t}var vq=FmA;var _mA=Jw(!0),bq=_mA;function LmA(t,e){return t&&bq(t,e,wl)}var Mq=LmA;var GmA=Tw(Mq,!0),kq=GmA;function KmA(t,e){var A=go(t)?vq:kq;return A(t,Pw(e))}var pS=KmA;function UmA(t){return t&&t.length?t[0]:void 0}var Dl=UmA;function JmA(t,e){var A=-1,i=pl(t)?Array(t.length):[];return Hw(t,function(n,o,a){i[++A]=e(n,o,a)}),i}var jw=JmA;function YmA(t,e){var A=go(t)?AI:jw;return A(t,b0(e,3))}var wS=YmA;var TmA=Object.prototype,HmA=TmA.hasOwnProperty,zmA=zw(function(t,e,A){HmA.call(t,A)?t[A].push(e):eI(t,A,[e])}),DS=zmA;function OmA(t){var e=t==null?0:t.length;return e?cj(t,0,-1):[]}var Ki=OmA;var PmA="[object Map]",jmA="[object Set]",qmA=Object.prototype,VmA=qmA.hasOwnProperty;function WmA(t){if(t==null)return!0;if(pl(t)&&(go(t)||typeof t=="string"||typeof t.splice=="function"||bC(t)||_E(t)||oI(t)))return!t.length;var e=pc(t);if(e==PmA||e==jmA)return!t.size;if(nI(t))return!ww(t).length;for(var A in t)if(VmA.call(t,A))return!1;return!0}var qi=WmA;function ZmA(t,e){return jE(t,e)}var Qi=ZmA;function XmA(t,e){return te||o&&a&&s&&!r&&!g||i&&a&&s||!A&&s||!n)return 1;if(!i&&!o&&!g&&t=r)return s;var g=A[i];return s*(g=="desc"?-1:1)}}return t.index-e.index}var Fq=npA;function opA(t,e,A){e.length?e=AI(e,function(o){return go(o)?function(a){return YE(a,o.length===1?o[0]:o)}:o}):e=[v0];var i=-1;e=AI(e,aI(b0));var n=jw(t,function(o,a,r){var s=AI(e,function(g){return g(o)});return{criteria:s,index:++i,value:o}});return Rq(n,function(o,a){return Fq(o,a,A)})}var _q=opA;var apA=zw(function(t,e,A){t[A?0:1].push(e)},function(){return[[],[]]}),vS=apA;var rpA=Math.ceil,spA=Math.max;function gpA(t,e,A,i){for(var n=-1,o=spA(rpA((e-t)/(A||1)),0),a=Array(o);o--;)a[i?o:++n]=t,t+=A;return a}var Lq=gpA;function lpA(t){return function(e,A,i){return i&&typeof i!="number"&&e3(e,A,i)&&(A=i=void 0),e=xE(e),A===void 0?(A=e,e=0):A=xE(A),i=i===void 0?e1&&e3(t,e[0],e[1])?e=[]:A>2&&e3(e[0],e[1],e[2])&&(e=[e[0]]),_q(t,lj(e,1),[])}),bS=CpA;var IpA=9007199254740991,MS=4294967295,dpA=Math.min;function BpA(t,e){if(t=IP(t),t<1||t>IpA)return[];var A=MS,i=dpA(t,MS);e=Pw(e),t-=MS;for(var n=fw(i,e);++AArray.isArray(t),hpA=t=>t!==null&&typeof t=="object"&&!dI(t),upA=t=>typeof t=="string",id=(t,e)=>t===e?!0:t!==null&&e!==null&&typeof t=="object"&&typeof e=="object"&&Object.keys(t).length===Object.keys(e).length&&Object.entries(t).every(([A,i])=>id(i,e[A])),Kq=(t,e)=>{let A=t?.[e];if(A!==void 0){if(!Object.hasOwn(t,e)||Array.isArray(t)&&!/^\d+$/.test(e)||typeof t!="object")throw new TypeError(`Unsupported property "${e}"`);return A}};function Xa(t){return(...e)=>{let A=e.map(o=>$a(o)),i=A[0],n=A[1];return A.length===1?o=>t(i(o)):A.length===2?o=>t(i(o),n(o)):o=>t(...A.map(a=>a(o)))}}var r3={boolean:0,number:1,string:2},Uq=3,Tq=(t,e)=>typeof t==typeof e&&typeof t in r3?t>e:!1,fpA=(t,e)=>id(t,e)||Tq(t,e),Hq=(t,e)=>typeof t==typeof e&&typeof t in r3?tid(t,e)||Hq(t,e),a3={pipe:(...t)=>{let e=t.map(A=>$a(A));return A=>e.reduce((i,n)=>n(i),A)},object:t=>{let e=Object.keys(t).map(A=>[A,$a(t[A])]);return A=>{let i={};for(let[n,o]of e)i[n]=o(A);return i}},array:(...t)=>{let e=t.map(A=>$a(A));return A=>e.map(i=>i(A))},get:(...t)=>{if(t.length===0)return e=>e??null;if(t.length===1){let e=t[0];return A=>Kq(A,e)??null}return e=>{let A=e;for(let i of t)A=Kq(A,i);return A??null}},map:t=>{let e=$a(t);return A=>A.map(e)},mapObject:t=>{let e=$a(t);return A=>{let i={};for(let n of Object.keys(A)){let o=e({key:n,value:A[n]});i[o.key]=o.value}return i}},mapKeys:t=>{let e=$a(t);return A=>{let i={};for(let n of Object.keys(A)){let o=e(n);i[o]=A[n]}return i}},mapValues:t=>{let e=$a(t);return A=>{let i={};for(let n of Object.keys(A))i[n]=e(A[n]);return i}},filter:t=>{let e=$a(t);return A=>A.filter(i=>Jq(e(i)))},sort:(t=["get"],e)=>{let A=$a(t),i=e==="desc"?-1:1;function n(o,a){let r=A(o),s=A(a);if(typeof r!=typeof s){let g=r3[typeof r]??Uq,l=r3[typeof s]??Uq;return g>l?i:gs?i:ro.slice().sort(n)},reverse:()=>t=>t.toReversed(),pick:(...t)=>{let e=t.map(([i,...n])=>[n[n.length-1],a3.get(...n)]),A=(i,n)=>{let o={};for(let[a,r]of n)o[a]=r(i);return o};return i=>dI(i)?i.map(n=>A(n,e)):A(i,e)},groupBy:t=>{let e=$a(t);return A=>{let i={};for(let n of A){let o=e(n);i[o]?i[o].push(n):i[o]=[n]}return i}},keyBy:t=>{let e=$a(t);return A=>{let i={};for(let n of A){let o=e(n);o in i||(i[o]=n)}return i}},flatten:()=>t=>t.flat(),join:(t="")=>e=>e.join(t),split:Xa((t,e)=>e!==void 0?t.split(e):t.trim().split(/\s+/)),substring:Xa((t,e,A)=>t.slice(Math.max(e,0),A)),uniq:()=>t=>{let e=[];for(let A of t)e.findIndex(i=>id(i,A))===-1&&e.push(A);return e},uniqBy:t=>e=>Object.values(a3.keyBy(t)(e)),limit:t=>e=>e.slice(0,Math.max(t,0)),size:()=>t=>t.length,keys:()=>Object.keys,values:()=>Object.values,prod:()=>t=>o3(t,(e,A)=>e*A),sum:()=>t=>dI(t)?t.reduce((e,A)=>e+A,0):SS(),average:()=>t=>dI(t)?t.length>0?t.reduce((e,A)=>e+A)/t.length:null:SS(),min:()=>t=>o3(t,(e,A)=>Math.min(e,A)),max:()=>t=>o3(t,(e,A)=>Math.max(e,A)),and:Xa((...t)=>o3(t,(e,A)=>!!(e&&A))),or:Xa((...t)=>o3(t,(e,A)=>!!(e||A))),not:Xa(t=>!t),exists:t=>{let e=t.slice(1),A=e.pop(),i=a3.get(...e);return n=>{let o=i(n);return!!o&&Object.hasOwnProperty.call(o,A)}},if:(t,e,A)=>{let i=$a(t),n=$a(e),o=$a(A);return a=>Jq(i(a))?n(a):o(a)},in:(t,e)=>{let A=$a(t),i=$a(e);return n=>{let o=A(n);return i(n).findIndex(a=>id(a,o))!==-1}},"not in":(t,e)=>{let A=a3.in(t,e);return i=>!A(i)},regex:(t,e,A)=>{let i=new RegExp(e,A),n=$a(t);return o=>i.test(n(o))},match:(t,e,A)=>{let i=new RegExp(e,A),n=$a(t);return o=>{let a=n(o).match(i);return a?Yq(a):null}},matchAll:(t,e,A)=>{let i=new RegExp(e,`${A??""}g`),n=$a(t);return o=>Array.from(n(o).matchAll(i)).map(Yq)},eq:Xa(id),gt:Xa(Tq),gte:Xa(fpA),lt:Xa(Hq),lte:Xa(mpA),ne:Xa((t,e)=>!id(t,e)),add:Xa((t,e)=>t+e),subtract:Xa((t,e)=>t-e),multiply:Xa((t,e)=>t*e),divide:Xa((t,e)=>t/e),mod:Xa((t,e)=>t%e),pow:Xa((t,e)=>t**e),abs:Xa(Math.abs),round:Xa((t,e=0)=>+`${Math.round(+`${t}e${e}`)}e${-e}`),number:Xa(t=>{let e=Number(t);return Number.isNaN(Number(t))?null:e}),string:Xa(String)},Jq=t=>t!==null&&t!==0&&t!==!1,o3=(t,e)=>(dI(t)||SS(),t.length===0?null:t.reduce(e)),Yq=t=>{let[e,...A]=t,i=t.groups;return A.length?i?{value:e,groups:A,namedGroups:i}:{value:e,groups:A}:{value:e}},SS=()=>{xS("Array expected")},xS=t=>{throw new TypeError(t)},Vw=[];function $a(t,e){Vw.unshift(cA(cA(cA({},a3),Vw[0]),e?.functions));try{let A=dI(t)?ppA(t,Vw[0]):hpA(t)?xS(`Function notation ["object", {...}] expected but got ${JSON.stringify(t)}`):()=>t;return i=>{try{return A(i)}catch(n){throw n.jsonquery=[{data:i,query:t},...n.jsonquery??[]],n}}}finally{Vw.shift()}}function ppA(t,e){let[A,...i]=t,n=e[A];return n||xS(`Unknown function '${A}'`),n(...i)}var zq=[{pow:"^"},{multiply:"*",divide:"/",mod:"%"},{add:"+",subtract:"-"},{gt:">",gte:">=",lt:"<",lte:"<=",in:"in","not in":"not in"},{eq:"==",ne:"!="},{and:"and"},{or:"or"},{pipe:"|"}],wpA=["|","and","or"],Oq=["|","and","or","*","/","%","+","-"];function Pq(t,e){if(!dI(e))throw new Error("Invalid custom operators");return e.reduce(DpA,t)}function DpA(t,{name:e,op:A,at:i,after:n,before:o}){if(i)return t.map(s=>Object.values(s).includes(i)?Ge(cA({},s),{[e]:A}):s);let a=n??o,r=t.findIndex(s=>Object.values(s).includes(a));if(r!==-1)return t.toSpliced(r+(n?1:0),0,{[e]:A});throw new Error("Invalid custom operator")}var ypA=/^[a-zA-Z_$][a-zA-Z\d_$]*$/,vpA=/^[a-zA-Z_$][a-zA-Z\d_$]*/,bpA=/^"(?:[^"\\]|\\.)*"/,MpA=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/,kpA=/^(0|[1-9][0-9]*)/,SpA=/^(true|false|null)/,xpA=/^[ \n\t\r]+/;function RS(t,e){let A=e?.operators??[],i=Pq(zq,A),n=Object.assign({},...i),o=wpA.concat(A.filter(j=>j.vararg).map(j=>j.op)),a=Oq.concat(A.filter(j=>j.leftAssociative).map(j=>j.op)),r=(j=i.length-1)=>{let AA=i[j];if(!AA)return g();let O=t[U]==="(",DA=r(j-1);for(;;){if(D(),t[U]==="."&&"pipe"in AA){let sA=l();DA=DA[0]==="pipe"?[...DA,sA]:["pipe",DA,sA];continue}let P=U,aA=s(AA);if(!aA)break;let iA=r(j-1),BA=DA[0],oA=aA===BA&&!O;if(oA&&!a.includes(n[aA])){U=P;break}DA=oA&&o.includes(n[aA])?[...DA,iA]:[aA,DA,iA]}return DA},s=j=>{let AA=Object.keys(j).sort((O,DA)=>DA.length-O.length);for(let O of AA){let DA=j[O];if(t.substring(U,U+DA.length)===DA)return U+=DA.length,D(),O}},g=()=>{if(D(),t[U]==="("){U++;let j=r();return F(")"),j}return l()},l=()=>{if(t[U]==="."){let j=[];for(;t[U]===".";)U++,j.push(B()??E()??f()??_("Property expected")),D();return["get",...j]}return C()},C=()=>{let j=U,AA=E();if(D(),!AA||t[U]!=="(")return U=j,I();U++,D();let O=t[U]!==")"?[r()]:[];for(;U{if(t[U]==="{"){U++,D();let j={},AA=!0;for(;U{if(t[U]==="["){U++,D();let j=[],AA=!0;for(;UM(bpA,JSON.parse),E=()=>M(vpA,j=>j),Q=()=>M(MpA,JSON.parse),f=()=>M(kpA,JSON.parse),b=()=>{let j=M(SpA,JSON.parse);if(j!==void 0)return j;_("Value expected")},S=()=>{D(),U{let O=t.substring(U).match(j);if(O)return U+=O[0].length,AA(O[0])},D=()=>M(xpA,j=>j),F=j=>{t[U]!==j&&_(`Character '${j}' expected`),U++},_=(j,AA=U)=>{throw new SyntaxError(`${j} (pos: ${AA})`)},U=0,J=r();return S(),J}var RpA=40,NpA=" ",jq=(t,e)=>{let A=e?.indentation??NpA,i=e?.operators??[],n=Pq(zq,i),o=Object.assign({},...n),a=Oq.concat(i.filter(d=>d.leftAssociative).map(d=>d.op)),r=(d,B,E=!1)=>dI(d)?s(d,B,E):JSON.stringify(d),s=(d,B,E)=>{let[Q,...f]=d;if(Q==="get"&&f.length>0)return l(f);if(Q==="object")return g(f[0],B);if(Q==="array"){let D=f.map(F=>r(F,B));return I(D,["[",", ","]"],[`[ -${B+A}`,`, -${B+A}`,` -${B}]`])}let b=o[Q];if(b){let D=E?"(":"",F=E?")":"",_=f.map((U,J)=>{let j=U?.[0],AA=n.findIndex(P=>Q in P),O=n.findIndex(P=>j in P),DA=AA0||Q===j&&!a.includes(b);return r(U,B+A,DA)});return I(_,[D,` ${b} `,F],[D,` -${B+A}${b} `,F])}let S=f.length===1?B:B+A,M=f.map(D=>r(D,S));return I(M,[`${Q}(`,", ",")"],f.length===1?[`${Q}(`,`, -${B}`,")"]:[`${Q}( -${S}`,`, -${S}`,` -${B})`])},g=(d,B)=>{let E=B+A,Q=Object.entries(d).map(([f,b])=>`${C(f)}: ${r(b,E)}`);return I(Q,["{ ",", "," }"],[`{ -${E}`,`, -${E}`,` -${B}}`])},l=d=>d.map(B=>`.${C(B)}`).join(""),C=d=>ypA.test(d)?d:JSON.stringify(d),I=(d,[B,E,Q],[f,b,S])=>B.length+d.reduce((M,D)=>M+D.length+E.length,0)-E.length+Q.length<=(e?.maxLineLength??RpA)?B+d.join(E)+Q:f+d.join(b)+S;return r(t,"")};function qq(t,e,A){return $a(upA(e)?RS(e,A):e,A)(t)}var Vq={prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256a208 208 0 1 1 -416 0 208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0 256 256 0 1 0 -512 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]};var FpA={prefix:"far",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zm230.7 89.9c7.8-10.7 22.8-13.1 33.5-5.3 10.7 7.8 13.1 22.8 5.3 33.5L211.4 366.1c-4.1 5.7-10.5 9.3-17.5 9.8-7 .5-13.9-2-18.8-6.9l-55.9-55.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36 36 105.6-145.2z"]},NS=FpA;var Wq={prefix:"far",iconName:"lightbulb",icon:[384,512,[128161],"f0eb","M296.5 291.1C321 265.2 336 230.4 336 192 336 112.5 271.5 48 192 48S48 112.5 48 192c0 38.4 15 73.2 39.5 99.1 21.3 22.4 44.9 54 53.3 92.9l102.4 0c8.4-39 32-70.5 53.3-92.9zm34.8 33C307.7 349 288 379.4 288 413.7l0 18.3c0 44.2-35.8 80-80 80l-32 0c-44.2 0-80-35.8-80-80l0-18.3C96 379.4 76.3 349 52.7 324.1 20 289.7 0 243.2 0 192 0 86 86 0 192 0S384 86 384 192c0 51.2-20 97.7-52.7 132.1zM144 184c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6 39.4-88 88-88 13.3 0 24 10.7 24 24s-10.7 24-24 24c-22.1 0-40 17.9-40 40z"]};var FS={prefix:"far",iconName:"square",icon:[448,512,[9632,9723,9724,61590],"f0c8","M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"]};var Zq={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M480.1 192l7.9 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2S477.9 .2 471 7L419.3 58.8C375 22.1 318 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1C79.2 135.5 159.3 64 256 64 300.4 64 341.2 79 373.7 104.3L327 151c-6.9 6.9-8.9 17.2-5.2 26.2S334.3 192 344 192l136.1 0zm29.4 100.5c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-44.4 0-85.2-15-117.7-40.3L185 361c6.9-6.9 8.9-17.2 5.2-26.2S177.7 320 168 320L24 320c-13.3 0-24 10.7-24 24L0 488c0 9.7 5.8 18.5 14.8 22.2S34.1 511.8 41 505l51.8-51.8C137 489.9 194 512 256 512 385 512 491.7 416.6 509.4 292.5z"]};var _S={prefix:"fas",iconName:"paste",icon:[512,512,["file-clipboard"],"f0ea","M64 0C28.7 0 0 28.7 0 64L0 384c0 35.3 28.7 64 64 64l112 0 0-224c0-61.9 50.1-112 112-112l64 0 0-48c0-35.3-28.7-64-64-64L64 0zM248 112l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24zm40 48c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-165.5c0-17-6.7-33.3-18.7-45.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7L288 160z"]};var _pA={prefix:"fas",iconName:"crop-simple",icon:[512,512,["crop-alt"],"f565","M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32l0 32-32 0C14.3 64 0 78.3 0 96s14.3 32 32 32l32 0 0 256c0 35.3 28.7 64 64 64l208 0 0-64-208 0 0-352zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-256c0-35.3-28.7-64-64-64l-208 0 0 64 208 0 0 352z"]},Xq=_pA;var s3={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M32 64C19.1 64 7.4 71.8 2.4 83.8S.2 109.5 9.4 118.6L192 301.3 192 416c0 8.5 3.4 16.6 9.4 22.6l64 64c9.2 9.2 22.9 11.9 34.9 6.9S320 492.9 320 480l0-178.7 182.6-182.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 64 480 64L32 64z"]};var LpA={prefix:"fas",iconName:"square-caret-down",icon:[448,512,["caret-square-down"],"f150","M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9S110.5 192 120 192l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z"]},$q=LpA;var WE={prefix:"fas",iconName:"caret-right",icon:[256,512,[],"f0da","M249.3 235.8c10.2 12.6 9.5 31.1-2.2 42.8l-128 128c-9.2 9.2-22.9 11.9-34.9 6.9S64.5 396.9 64.5 384l0-256c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l128 128 2.2 2.4z"]};var GpA={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},g3=GpA;var AV={prefix:"fas",iconName:"eye",icon:[576,512,[128065],"f06e","M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z"]},eV={prefix:"fas",iconName:"caret-left",icon:[256,512,[],"f0d9","M7.7 235.8c-10.3 12.6-9.5 31.1 2.2 42.8l128 128c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-256c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-128 128-2.2 2.4z"]};var tV={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M201.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 173.3 54.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]};var iV={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8-79.3 23.6-137.1 97.1-137.1 184.1 0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256 512 397.4 397.4 512 256 512S0 397.4 0 256c0-116 77.1-213.9 182.9-245.4 16.9-5 34.8 4.6 39.8 21.5z"]};var KpA={prefix:"fas",iconName:"ellipsis-vertical",icon:[128,512,["ellipsis-v"],"f142","M64 144a56 56 0 1 1 0-112 56 56 0 1 1 0 112zm0 224c30.9 0 56 25.1 56 56s-25.1 56-56 56-56-25.1-56-56 25.1-56 56-56zm56-112c0 30.9-25.1 56-56 56s-56-25.1-56-56 25.1-56 56-56 56 25.1 56 56z"]},LS=KpA;var UpA={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L368 46.1 465.9 144 490.3 119.6c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L432 177.9 334.1 80 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"]},nV=UpA;var GS={prefix:"fas",iconName:"clone",icon:[512,512,[],"f24d","M288 448l-224 0 0-224 48 0 0-64-48 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-48-64 0 0 48zm-64-96l224 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L224 0c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64z"]};var JpA={prefix:"fas",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM342 145.7c-10.7-7.8-25.7-5.4-33.5 5.3L189.1 315.2 137 263.1c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c5 5 11.9 7.5 18.8 7s13.4-4.1 17.5-9.8L347.3 179.2c7.8-10.7 5.4-25.7-5.3-33.5z"]},KS=JpA;var YpA={prefix:"fas",iconName:"square-caret-up",icon:[448,512,["caret-square-up"],"f151","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9S337.5 320 328 320l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z"]},oV=YpA;var l3={prefix:"fas",iconName:"code",icon:[576,512,[],"f121","M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"]};var US={prefix:"fas",iconName:"angle-right",icon:[256,512,[8250],"f105","M247.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L179.2 256 41.9 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"]};var TpA={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z"]},aV=TpA;var rV={prefix:"fas",iconName:"up-right-and-down-left-from-center",icon:[512,512,["expand-alt"],"f424","M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87-39-39c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2S34.1 320.2 41 327l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2S177.7 512 168 512z"]};var SC={prefix:"fas",iconName:"wrench",icon:[576,512,[128295],"f0ad","M509.4 98.6c7.6-7.6 20.3-5.7 24.1 4.3 6.8 17.7 10.5 37 10.5 57.1 0 88.4-71.6 160-160 160-17.5 0-34.4-2.8-50.2-8L146.9 498.9c-28.1 28.1-73.7 28.1-101.8 0s-28.1-73.7 0-101.8L232 210.2c-5.2-15.8-8-32.6-8-50.2 0-88.4 71.6-160 160-160 20.1 0 39.4 3.7 57.1 10.5 10 3.8 11.8 16.5 4.3 24.1l-88.7 88.7c-3 3-4.7 7.1-4.7 11.3l0 41.4c0 8.8 7.2 16 16 16l41.4 0c4.2 0 8.3-1.7 11.3-4.7l88.7-88.7z"]},Ww={prefix:"fas",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M136.7 5.9C141.1-7.2 153.3-16 167.1-16l113.9 0c13.8 0 26 8.8 30.4 21.9L320 32 416 32c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 8.7-26.1zM32 144l384 0 0 304c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-304zm88 64c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24zm104 0c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24zm104 0c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24z"]};var Zw={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"]};var sV={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]},gV=sV;var c3=sV;var nd={prefix:"fas",iconName:"pen",icon:[512,512,[128394],"f304","M352.9 21.2L308 66.1 445.9 204 490.8 159.1C504.4 145.6 512 127.2 512 108s-7.6-37.6-21.2-51.1L455.1 21.2C441.6 7.6 423.2 0 404 0s-37.6 7.6-51.1 21.2zM274.1 100L58.9 315.1c-10.7 10.7-18.5 24.1-22.6 38.7L.9 481.6c-2.3 8.3 0 17.3 6.2 23.4s15.1 8.5 23.4 6.2l127.8-35.5c14.6-4.1 27.9-11.8 38.7-22.6L412 237.9 274.1 100z"]};var lV={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]};var cV={prefix:"fas",iconName:"angle-down",icon:[384,512,[8964],"f107","M169.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 306.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]};var HpA={prefix:"fas",iconName:"arrow-down-short-wide",icon:[576,512,["sort-amount-desc","sort-amount-down-alt"],"f884","M246.6 374.6l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L96 370.7 96 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 306.7 41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM320 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]};var C3=HpA;var zpA={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 0c14.7 0 28.2 8.1 35.2 21l216 400c6.7 12.4 6.4 27.4-.8 39.5S486.1 480 472 480L40 480c-14.1 0-27.2-7.4-34.4-19.5s-7.5-27.1-.8-39.5l216-400c7-12.9 20.5-21 35.2-21zm0 352a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.5 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z"]},BI=zpA;var OpA={prefix:"fas",iconName:"scissors",icon:[512,512,[9984,9986,9988,"cut"],"f0c4","M192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6-28.3-28.3-74.1-28.3-102.4 0L256 192 216.5 152.5c4.9-12.6 7.5-26.2 7.5-40.5 0-61.9-50.1-112-112-112S0 50.1 0 112 50.1 224 112 224c14.3 0 27.9-2.7 40.5-7.5L192 256zm97.9 97.9L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0 7.1-7.1 7.1-18.5 0-25.6l-145.3-145.3-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},od=OpA;var I3={prefix:"fas",iconName:"arrow-right-arrow-left",icon:[512,512,[8644,"exchange"],"f0ec","M502.6 150.6l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 160 32 160c-17.7 0-32-14.3-32-32S14.3 96 32 96l370.7 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3zm-397.3 352l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 352 480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32l-370.7 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z"]};var JS={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M140.3 135.2c12.6-10.3 31.1-9.5 42.8 2.2l128 128c9.2 9.2 11.9 22.9 6.9 34.9S301.4 320 288.5 320l-256 0c-12.9 0-24.6-7.8-29.6-19.8S.7 274.5 9.9 265.4l128-128 2.4-2.2z"]};var CV={prefix:"fas",iconName:"down-left-and-up-right-to-center",icon:[512,512,["compress-alt"],"f422","M439.5 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2S450.2 240 440.5 240l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87zM72.5 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87-39-39c-6.9-6.9-8.9-17.2-5.2-26.2S62.8 272 72.5 272z"]};var ad={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z"]};var xC={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-200.6c0-17.4-7.1-34.1-19.7-46.2L370.6 17.8C358.7 6.4 342.8 0 326.3 0L192 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-64 0 0 16-192 0 0-256 16 0 0-64-16 0z"]};var PpA={prefix:"fas",iconName:"arrow-rotate-right",icon:[512,512,[8635,"arrow-right-rotate","arrow-rotate-forward","redo"],"f01e","M436.7 74.7L448 85.4 448 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l47.9 0-7.6-7.2c-.2-.2-.4-.4-.6-.6-75-75-196.5-75-271.5 0s-75 196.5 0 271.5 196.5 75 271.5 0c8.2-8.2 15.5-16.9 21.9-26.1 10.1-14.5 30.1-18 44.6-7.9s18 30.1 7.9 44.6c-8.5 12.2-18.2 23.8-29.1 34.7-100 100-262.1 100-362 0S-25 175 75 75c99.9-99.9 261.7-100 361.7-.3z"]};var Xw=PpA;var M0={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M140.3 376.8c12.6 10.2 31.1 9.5 42.8-2.2l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301.4 192 288.5 192l-256 0c-12.9 0-24.6 7.8-29.6 19.8S.7 237.5 9.9 246.6l128 128 2.4 2.2z"]};var jpA={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M256 64c-56.8 0-107.9 24.7-143.1 64l47.1 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 192c-17.7 0-32-14.3-32-32L0 32C0 14.3 14.3 0 32 0S64 14.3 64 32l0 54.7C110.9 33.6 179.5 0 256 0 397.4 0 512 114.6 512 256S397.4 512 256 512c-87 0-163.9-43.4-210.1-109.7-10.1-14.5-6.6-34.4 7.9-44.6s34.4-6.6 44.6 7.9c34.8 49.8 92.4 82.3 157.6 82.3 106 0 192-86 192-192S362 64 256 64z"]};var $w=jpA;var YS={prefix:"fas",iconName:"square",icon:[448,512,[9632,9723,9724,61590],"f0c8","M64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32z"]};var TS={prefix:"fas",iconName:"arrow-down",icon:[384,512,[8595],"f063","M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7-105.4-105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]};var inA=su(BV(),1);var EV=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function qpA(t,e){return!!(t===e||EV(t)&&EV(e))}function VpA(t,e){if(t.length!==e.length)return!1;for(var A=0;A{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},Qg=class t{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,A,i){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=A,i?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,A){return t.literals[e]=A,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(A=>A.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){let A=new Error(e+" at character "+this.index);throw A.index=this.index,A.description=e,A}runHook(e,A){if(t.hooks[e]){let i={context:this,node:A};return t.hooks.run(e,i),i.node}return A}searchHook(e){if(t.hooks[e]){let A={context:this};return t.hooks[e].find(function(i){return i.call(A.context,A),A.node}),A.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),A=e.length===1?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",A)}gobbleExpressions(e){let A=[],i,n;for(;this.index0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.lengtho.right_a&&C.right_a?i>C.prec:i<=C.prec;for(;n.length>2&&l(n[n.length-2]);)r=n.pop(),A=n.pop().value,a=n.pop(),e={type:t.BINARY_EXP,operator:A,left:a,right:r},n.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+g),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:t.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,A,i,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"),n)return this.runHook("after-token",n);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)n=this.gobbleArray();else{for(A=this.expr.substr(this.index,t.max_unop_len),i=A.length;i>0;){if(t.unary_ops.hasOwnProperty(A)&&(!t.isIdentifierStart(this.code)||this.index+A.length=A.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}else if(o===t.COMMA_CODE){if(this.index++,n++,n!==A.length){if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let a=A.length;a":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Qg.max_unop_len=Qg.getMaxKeyLen(Qg.unary_ops);Qg.max_binop_len=Qg.getMaxKeyLen(Qg.binary_ops);var GC=t=>new Qg(t).parse(),pyA=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(Qg).filter(t=>!pyA.includes(t)&&GC[t]===void 0).forEach(t=>{GC[t]=Qg[t]});GC.Jsep=Qg;var wyA="ConditionalExpression",DyA={name:"ternary",init(t){t.hooks.add("after-expression",function(A){if(A.node&&this.code===t.QUMARK_CODE){this.index++;let i=A.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===t.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),A.node={type:wyA,test:i,consequent:n,alternate:o},i.operator&&t.binary_ops[i.operator]<=.9){let a=i;for(;a.right.operator&&t.binary_ops[a.right.operator]<=.9;)a=a.right;A.node.test=a.right,a.right=A.node,A.node=i}}else this.throwError("Expected :")}})}};GC.plugins.register(DyA);var VZ=47,yyA=92,vyA={name:"regex",init(t){t.hooks.add("gobble-token",function(A){if(this.code===VZ){let i=++this.index,n=!1;for(;this.index=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57)a+=this.char;else break}let r;try{r=new RegExp(o,a)}catch(s){this.throwError(s.message)}return A.node={type:t.LITERAL,value:r,raw:this.expr.slice(i-1,this.index)},A.node=this.gobbleTokenProperty(A.node),A.node}this.code===t.OBRACK_CODE?n=!0:n&&this.code===t.CBRACK_CODE&&(n=!1),this.index+=this.code===yyA?2:1}this.throwError("Unclosed Regex")}})}},MR=43,byA=45,cQ={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[MR,byA],assignmentPrecedence:.9,init(t){let e=[t.IDENTIFIER,t.MEMBER_EXP];cQ.assignmentOperators.forEach(i=>t.addBinaryOp(i,cQ.assignmentPrecedence,!0)),t.hooks.add("gobble-token",function(n){let o=this.code;cQ.updateOperators.some(a=>a===o&&a===this.expr.charCodeAt(this.index+1))&&(this.index+=2,n.node={type:"UpdateExpression",operator:o===MR?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!n.node.argument||!e.includes(n.node.argument.type))&&this.throwError(`Unexpected ${n.node.operator}`))}),t.hooks.add("after-token",function(n){if(n.node){let o=this.code;cQ.updateOperators.some(a=>a===o&&a===this.expr.charCodeAt(this.index+1))&&(e.includes(n.node.type)||this.throwError(`Unexpected ${n.node.operator}`),this.index+=2,n.node={type:"UpdateExpression",operator:o===MR?"++":"--",argument:n.node,prefix:!1})}}),t.hooks.add("after-expression",function(n){n.node&&A(n.node)});function A(i){cQ.assignmentOperators.has(i.operator)?(i.type="AssignmentExpression",A(i.left),A(i.right)):i.operator||Object.values(i).forEach(n=>{n&&typeof n=="object"&&A(n)})}}};GC.plugins.register(vyA,cQ);GC.addUnaryOp("typeof");GC.addLiteral("null",null);GC.addLiteral("undefined",void 0);var MyA=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),_o={evalAst(t,e){switch(t.type){case"BinaryExpression":case"LogicalExpression":return _o.evalBinaryExpression(t,e);case"Compound":return _o.evalCompound(t,e);case"ConditionalExpression":return _o.evalConditionalExpression(t,e);case"Identifier":return _o.evalIdentifier(t,e);case"Literal":return _o.evalLiteral(t,e);case"MemberExpression":return _o.evalMemberExpression(t,e);case"UnaryExpression":return _o.evalUnaryExpression(t,e);case"ArrayExpression":return _o.evalArrayExpression(t,e);case"CallExpression":return _o.evalCallExpression(t,e);case"AssignmentExpression":return _o.evalAssignmentExpression(t,e);default:throw SyntaxError("Unexpected expression",t)}},evalBinaryExpression(t,e){return{"||":(i,n)=>i||n(),"&&":(i,n)=>i&&n(),"|":(i,n)=>i|n(),"^":(i,n)=>i^n(),"&":(i,n)=>i&n(),"==":(i,n)=>i==n(),"!=":(i,n)=>i!=n(),"===":(i,n)=>i===n(),"!==":(i,n)=>i!==n(),"<":(i,n)=>i":(i,n)=>i>n(),"<=":(i,n)=>i<=n(),">=":(i,n)=>i>=n(),"<<":(i,n)=>i<>":(i,n)=>i>>n(),">>>":(i,n)=>i>>>n(),"+":(i,n)=>i+n(),"-":(i,n)=>i-n(),"*":(i,n)=>i*n(),"/":(i,n)=>i/n(),"%":(i,n)=>i%n()}[t.operator](_o.evalAst(t.left,e),()=>_o.evalAst(t.right,e))},evalCompound(t,e){let A;for(let i=0;i-_o.evalAst(i,e),"!":i=>!_o.evalAst(i,e),"~":i=>~_o.evalAst(i,e),"+":i=>+_o.evalAst(i,e),typeof:i=>typeof _o.evalAst(i,e)}[t.operator](t.argument)},evalArrayExpression(t,e){return t.elements.map(A=>_o.evalAst(A,e))},evalCallExpression(t,e){let A=t.arguments.map(n=>_o.evalAst(n,e));return _o.evalAst(t.callee,e)(...A)},evalAssignmentExpression(t,e){if(t.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");let A=t.left.name,i=_o.evalAst(t.right,e);return e[A]=i,e[A]}},xR=class{constructor(e){this.code=e,this.ast=GC(this.code)}runInNewContext(e){let A=Object.assign(Object.create(null),e);return _o.evalAst(this.ast,A)}};function wI(t,e){return t=t.slice(),t.push(e),t}function RR(t,e){return e=e.slice(),e.unshift(t),e}var NR=class extends Error{constructor(e){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=e,this.name="NewError"}};function eo(t,e,A,i,n){if(!(this instanceof eo))try{return new eo(t,e,A,i,n)}catch(a){if(!a.avoidNew)throw a;return a.value}typeof t=="string"&&(n=i,i=A,A=e,e=t,t=null);let o=t&&typeof t=="object";if(t=t||{},this.json=t.json||A,this.path=t.path||e,this.resultType=t.resultType||"value",this.flatten=t.flatten||!1,this.wrap=Object.hasOwn(t,"wrap")?t.wrap:!0,this.sandbox=t.sandbox||{},this.eval=t.eval===void 0?"safe":t.eval,this.ignoreEvalErrors=typeof t.ignoreEvalErrors>"u"?!1:t.ignoreEvalErrors,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||i||null,this.otherTypeCallback=t.otherTypeCallback||n||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},t.autostart!==!1){let a={path:o?t.path:e};o?"json"in t&&(a.json=t.json):a.json=A;let r=this.evaluate(a);if(!r||typeof r!="object")throw new NR(r);return r}}eo.prototype.evaluate=function(t,e,A,i){let n=this.parent,o=this.parentProperty,{flatten:a,wrap:r}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,A=A||this.callback,this.currOtherTypeCallback=i||this.otherTypeCallback,e=e||this.json,t=t||this.path,t&&typeof t=="object"&&!Array.isArray(t)){if(!t.path&&t.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(t,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:e}=t),a=Object.hasOwn(t,"flatten")?t.flatten:a,this.currResultType=Object.hasOwn(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=Object.hasOwn(t,"sandbox")?t.sandbox:this.currSandbox,r=Object.hasOwn(t,"wrap")?t.wrap:r,this.currEval=Object.hasOwn(t,"eval")?t.eval:this.currEval,A=Object.hasOwn(t,"callback")?t.callback:A,this.currOtherTypeCallback=Object.hasOwn(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,n=Object.hasOwn(t,"parent")?t.parent:n,o=Object.hasOwn(t,"parentProperty")?t.parentProperty:o,t=t.path}if(n=n||null,o=o||null,Array.isArray(t)&&(t=eo.toPathString(t)),!t&&t!==""||!e)return;let s=eo.toPathArray(t);s[0]==="$"&&s.length>1&&s.shift(),this._hasParentSelector=null;let g=this._trace(s,e,["$"],n,o,A).filter(function(l){return l&&!l.isParentSelector});return g.length?!r&&g.length===1&&!g[0].hasArrExpr?this._getPreferredOutput(g[0]):g.reduce((l,C)=>{let I=this._getPreferredOutput(C);return a&&Array.isArray(I)?l=l.concat(I):l.push(I),l},[]):r?[]:void 0};eo.prototype._getPreferredOutput=function(t){let e=this.currResultType;switch(e){case"all":{let A=Array.isArray(t.path)?t.path:eo.toPathArray(t.path);return t.pointer=eo.toPointer(A),t.path=typeof t.path=="string"?t.path:eo.toPathString(t.path),t}case"value":case"parent":case"parentProperty":return t[e];case"path":return eo.toPathString(t[e]);case"pointer":return eo.toPointer(t.path);default:throw new TypeError("Unknown result type")}};eo.prototype._handleCallback=function(t,e,A){if(e){let i=this._getPreferredOutput(t);t.path=typeof t.path=="string"?t.path:eo.toPathString(t.path),e(i,A,t)}};eo.prototype._trace=function(t,e,A,i,n,o,a,r){let s;if(!t.length)return s={path:A,value:e,parent:i,parentProperty:n,hasArrExpr:a},this._handleCallback(s,o,"value"),s;let g=t[0],l=t.slice(1),C=[];function I(d){Array.isArray(d)?d.forEach(B=>{C.push(B)}):C.push(d)}if((typeof g!="string"||r)&&e&&Object.hasOwn(e,g))I(this._trace(l,e[g],wI(A,g),e,g,o,a));else if(g==="*")this._walk(e,d=>{I(this._trace(l,e[d],wI(A,d),e,d,o,!0,!0))});else if(g==="..")I(this._trace(l,e,A,i,n,o,a)),this._walk(e,d=>{typeof e[d]=="object"&&I(this._trace(t.slice(),e[d],wI(A,d),e,d,o,!0))});else{if(g==="^")return this._hasParentSelector=!0,{path:A.slice(0,-1),expr:l,isParentSelector:!0};if(g==="~")return s={path:wI(A,g),value:n,parent:i,parentProperty:null},this._handleCallback(s,o,"property"),s;if(g==="$")I(this._trace(l,e,A,null,null,o,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(g))I(this._slice(g,l,e,A,i,n,o));else if(g.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");let d=g.replace(/^\?\((.*?)\)$/u,"$1"),B=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(d);B?this._walk(e,E=>{let Q=[B[2]],f=B[1]?e[E][B[1]]:e[E];this._trace(Q,f,A,i,n,o,!0).length>0&&I(this._trace(l,e[E],wI(A,E),e,E,o,!0))}):this._walk(e,E=>{this._eval(d,e[E],E,A,i,n)&&I(this._trace(l,e[E],wI(A,E),e,E,o,!0))})}else if(g[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");I(this._trace(RR(this._eval(g,e,A.at(-1),A.slice(0,-1),i,n),l),e,A,i,n,o,a))}else if(g[0]==="@"){let d=!1,B=g.slice(1,-2);switch(B){case"scalar":(!e||!["object","function"].includes(typeof e))&&(d=!0);break;case"boolean":case"string":case"undefined":case"function":typeof e===B&&(d=!0);break;case"integer":Number.isFinite(e)&&!(e%1)&&(d=!0);break;case"number":Number.isFinite(e)&&(d=!0);break;case"nonFinite":typeof e=="number"&&!Number.isFinite(e)&&(d=!0);break;case"object":e&&typeof e===B&&(d=!0);break;case"array":Array.isArray(e)&&(d=!0);break;case"other":d=this.currOtherTypeCallback(e,A,i,n);break;case"null":e===null&&(d=!0);break;default:throw new TypeError("Unknown value type "+B)}if(d)return s={path:A,value:e,parent:i,parentProperty:n},this._handleCallback(s,o,"value"),s}else if(g[0]==="`"&&e&&Object.hasOwn(e,g.slice(1))){let d=g.slice(1);I(this._trace(l,e[d],wI(A,d),e,d,o,a,!0))}else if(g.includes(",")){let d=g.split(",");for(let B of d)I(this._trace(RR(B,l),e,A,i,n,o,!0))}else!r&&e&&Object.hasOwn(e,g)&&I(this._trace(l,e[g],wI(A,g),e,g,o,a,!0))}if(this._hasParentSelector)for(let d=0;d{e(A)})};eo.prototype._slice=function(t,e,A,i,n,o,a){if(!Array.isArray(A))return;let r=A.length,s=t.split(":"),g=s[2]&&Number.parseInt(s[2])||1,l=s[0]&&Number.parseInt(s[0])||0,C=s[1]&&Number.parseInt(s[1])||r;l=l<0?Math.max(0,l+r):Math.min(r,l),C=C<0?Math.max(0,C+r):Math.min(r,C);let I=[];for(let d=l;d{I.push(E)});return I};eo.prototype._eval=function(t,e,A,i,n,o){this.currSandbox._$_parentProperty=o,this.currSandbox._$_parent=n,this.currSandbox._$_property=A,this.currSandbox._$_root=this.json,this.currSandbox._$_v=e;let a=t.includes("@path");a&&(this.currSandbox._$_path=eo.toPathString(i.concat([A])));let r=this.currEval+"Script:"+t;if(!eo.cache[r]){let s=t.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(a&&(s=s.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)eo.cache[r]=new this.safeVm.Script(s);else if(this.currEval==="native")eo.cache[r]=new this.vm.Script(s);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){let g=this.currEval;eo.cache[r]=new g(s)}else if(typeof this.currEval=="function")eo.cache[r]={runInNewContext:g=>this.currEval(s,g)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return eo.cache[r].runInNewContext(this.currSandbox)}catch(s){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+s.message+": "+t)}};eo.cache={};eo.toPathString=function(t){let e=t,A=e.length,i="$";for(let n=1;ntypeof e[g]=="function");let o=i.map(g=>e[g]);A=n.reduce((g,l)=>{let C=e[l].toString();return/function/u.test(C)||(C="function "+C),"var "+l+"="+C+";"+g},"")+A,!/(['"])use strict\1/u.test(A)&&!i.includes("arguments")&&(A="var arguments = undefined;"+A),A=A.replace(/;\s*$/u,"");let r=A.lastIndexOf(";"),s=r!==-1?A.slice(0,r+1)+" return "+A.slice(r+1):" return "+A;return new Function(...i,s)(...o)}};eo.prototype.vm={Script:FR};var LR=[],$Z=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,A=0;e>1;if(t=$Z[i])e=i+1;else return!0;if(e==A)return!1}}function WZ(t){return t>=127462&&t<=127487}var ZZ=8205;function AX(t,e,A=!0,i=!0){return(A?eX:xyA)(t,e,i)}function eX(t,e,A){if(e==t.length)return e;e&&tX(t.charCodeAt(e))&&iX(t.charCodeAt(e-1))&&e--;let i=_R(t,e);for(e+=XZ(i);e=0&&WZ(_R(t,a));)o++,a-=2;if(o%2==0)break;e+=2}else break}return e}function xyA(t,e,A){for(;e>0;){let i=eX(t,e-2,A);if(i=56320&&t<57344}function iX(t){return t>=55296&&t<56320}function XZ(t){return t<65536?1:2}var bn=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,A,i){[e,A]=EQ(this,e,A);let n=[];return this.decompose(0,e,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(A,this.length,n,1),IQ.from(n,this.length-(A-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,A=this.length){[e,A]=EQ(this,e,A);let i=[];return this.decompose(e,A,i,0),IQ.from(i,A-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let A=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new Qd(this),o=new Qd(e);for(let a=A,r=A;;){if(n.next(a),o.next(a),a=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(r+=n.value.length,n.done||r>=i)return!0}}iter(e=1){return new Qd(this,e)}iterRange(e,A=this.length){return new T5(this,e,A)}iterLines(e,A){let i;if(e==null)i=this.iter();else{A==null&&(A=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,A==this.lines+1?this.length:A<=1?0:this.line(A-1).to))}return new H5(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new zg(e):IQ.from(zg.split(e,[]))}},zg=class t extends bn{constructor(e,A=RyA(e)){super(),this.text=e,this.length=A}get lines(){return this.text.length}get children(){return null}lineInner(e,A,i,n){for(let o=0;;o++){let a=this.text[o],r=n+a.length;if((A?i:r)>=e)return new UR(n,r,i,a);n=r+1,i++}}decompose(e,A,i,n){let o=e<=0&&A>=this.length?this:new t(nX(this.text,e,A),Math.min(A,this.length)-Math.max(0,e));if(n&1){let a=i.pop(),r=Y5(o.text,a.text.slice(),0,o.length);if(r.length<=32)i.push(new t(r,a.length+o.length));else{let s=r.length>>1;i.push(new t(r.slice(0,s)),new t(r.slice(s)))}}else i.push(o)}replace(e,A,i){if(!(i instanceof t))return super.replace(e,A,i);[e,A]=EQ(this,e,A);let n=Y5(this.text,Y5(i.text,nX(this.text,0,e)),A),o=this.length+i.length-(A-e);return n.length<=32?new t(n,o):IQ.from(t.split(n,[]),o)}sliceString(e,A=this.length,i=` -`){[e,A]=EQ(this,e,A);let n="";for(let o=0,a=0;o<=A&&ae&&a&&(n+=i),eo&&(n+=r.slice(Math.max(0,e-o),A-o)),o=s+1}return n}flatten(e){for(let A of this.text)e.push(A)}scanIdentical(){return 0}static split(e,A){let i=[],n=-1;for(let o of e)i.push(o),n+=o.length+1,i.length==32&&(A.push(new t(i,n)),i=[],n=-1);return n>-1&&A.push(new t(i,n)),A}},IQ=class t extends bn{constructor(e,A){super(),this.children=e,this.length=A,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,A,i,n){for(let o=0;;o++){let a=this.children[o],r=n+a.length,s=i+a.lines-1;if((A?s:r)>=e)return a.lineInner(e,A,i,n);n=r+1,i=s+1}}decompose(e,A,i,n){for(let o=0,a=0;a<=A&&o=a){let g=n&((a<=e?1:0)|(s>=A?2:0));a>=e&&s<=A&&!g?i.push(r):r.decompose(e-a,A-a,i,g)}a=s+1}}replace(e,A,i){if([e,A]=EQ(this,e,A),i.lines=o&&A<=r){let s=a.replace(e-o,A-o,i),g=this.lines-a.lines+s.lines;if(s.lines>4&&s.lines>g>>6){let l=this.children.slice();return l[n]=s,new t(l,this.length-(A-e)+i.length)}return super.replace(o,r,s)}o=r+1}return super.replace(e,A,i)}sliceString(e,A=this.length,i=` -`){[e,A]=EQ(this,e,A);let n="";for(let o=0,a=0;oe&&o&&(n+=i),ea&&(n+=r.sliceString(e-a,A-a,i)),a=s+1}return n}flatten(e){for(let A of this.children)A.flatten(e)}scanIdentical(e,A){if(!(e instanceof t))return 0;let i=0,[n,o,a,r]=A>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=A,o+=A){if(n==a||o==r)return i;let s=this.children[n],g=e.children[o];if(s!=g)return i+s.scanIdentical(g,A);i+=s.length+1}}static from(e,A=e.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let B of e)B.flatten(d);return new zg(d,A)}let n=Math.max(32,i>>5),o=n<<1,a=n>>1,r=[],s=0,g=-1,l=[];function C(d){let B;if(d.lines>o&&d instanceof t)for(let E of d.children)C(E);else d.lines>a&&(s>a||!s)?(I(),r.push(d)):d instanceof zg&&s&&(B=l[l.length-1])instanceof zg&&d.lines+B.lines<=32?(s+=d.lines,g+=d.length+1,l[l.length-1]=new zg(B.text.concat(d.text),B.length+1+d.length)):(s+d.lines>n&&I(),s+=d.lines,g+=d.length+1,l.push(d))}function I(){s!=0&&(r.push(l.length==1?l[0]:t.from(l,g)),g=-1,s=l.length=0)}for(let d of e)C(d);return I(),r.length==1?r[0]:new t(r,A)}};bn.empty=new zg([""],0);function RyA(t){let e=-1;for(let A of t)e+=A.length+1;return e}function Y5(t,e,A=0,i=1e9){for(let n=0,o=0,a=!0;o=A&&(s>i&&(r=r.slice(0,i-n)),n0?1:(e instanceof zg?e.text.length:e.children.length)<<1]}nextInner(e,A){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],o=this.offsets[i],a=o>>1,r=n instanceof zg?n.text.length:n.children.length;if(a==(A>0?r:0)){if(i==0)return this.done=!0,this.value="",this;A>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((o&1)==(A>0?0:1)){if(this.offsets[i]+=A,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(n instanceof zg){let s=n.text[a+(A<0?-1:0)];if(this.offsets[i]+=A,s.length>Math.max(0,e))return this.value=e==0?s:A>0?s.slice(e):s.slice(0,s.length-e),this;e-=s.length}else{let s=n.children[a+(A<0?-1:0)];e>s.length?(e-=s.length,this.offsets[i]+=A):(A<0&&this.offsets[i]--,this.nodes.push(s),this.offsets.push(A>0?1:(s instanceof zg?s.text.length:s.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},T5=class{constructor(e,A,i){this.value="",this.done=!1,this.cursor=new Qd(e,A>i?-1:1),this.pos=A>i?e.length:0,this.from=Math.min(A,i),this.to=Math.max(A,i)}nextInner(e,A){if(A<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,A<0?this.pos-this.to:this.from-this.pos);let i=A<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*A,this.value=n.length<=i?n:A<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},H5=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:A,lineBreak:i,value:n}=this.inner.next(e);return A&&this.afterBreak?(this.value="",this.afterBreak=!1):A?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(bn.prototype[Symbol.iterator]=function(){return this.iter()},Qd.prototype[Symbol.iterator]=T5.prototype[Symbol.iterator]=H5.prototype[Symbol.iterator]=function(){return this});var UR=class{constructor(e,A,i,n){this.from=e,this.to=A,this.number=i,this.text=n}get length(){return this.to-this.from}};function EQ(t,e,A){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,A))]}function Ta(t,e,A=!0,i=!0){return AX(t,e,A,i)}function NyA(t){return t>=56320&&t<57344}function FyA(t){return t>=55296&&t<56320}function Zr(t,e){let A=t.charCodeAt(e);if(!FyA(A)||e+1==t.length)return A;let i=t.charCodeAt(e+1);return NyA(i)?(A-55296<<10)+(i-56320)+65536:A}function H3(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Og(t){return t<65536?1:2}var JR=/\r\n?|\n/,qr=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(qr||(qr={})),yI=class t{constructor(e){this.sections=e}get length(){let e=0;for(let A=0;Ae)return o+(e-n);o+=r}else{if(i!=qr.Simple&&g>=e&&(i==qr.TrackDel&&ne||i==qr.TrackBefore&&ne))return null;if(g>e||g==e&&A<0&&!r)return e==n||A<0?o:o+s;o+=s}n=g}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return o}touchesRange(e,A=e){for(let i=0,n=0;i=0&&n<=A&&r>=e)return nA?"cover":!0;n=r}return!1}toString(){let e="";for(let A=0;A=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(A=>typeof A!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},Vr=class t extends yI{constructor(e,A){super(e),this.inserted=A}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return YR(this,(A,i,n,o,a)=>e=e.replace(n,n+(i-A),a),!1),e}mapDesc(e,A=!1){return TR(this,e,A,!0)}invert(e){let A=this.sections.slice(),i=[];for(let n=0,o=0;n=0){A[n]=r,A[n+1]=a;let s=n>>1;for(;i.length0&&DI(i,A,o.text),o.forward(l),r+=l}let g=e[a++];for(;r>1].toJSON()))}return e}static of(e,A,i){let n=[],o=[],a=0,r=null;function s(l=!1){if(!l&&!n.length)return;aI||C<0||I>A)throw new RangeError(`Invalid change range ${C} to ${I} (in doc of length ${A})`);let B=d?typeof d=="string"?bn.of(d.split(i||JR)):d:bn.empty,E=B.length;if(C==I&&E==0)return;Ca&&ms(n,C-a,-1),ms(n,I-C,E),DI(o,n,B),a=I}}return g(e),s(!r),r}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let A=[],i=[];for(let n=0;nr&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(o.length==1)A.push(o[0],0);else{for(;i.length=0&&A<=0&&A==t[n+1]?t[n]+=e:n>=0&&e==0&&t[n]==0?t[n+1]+=A:i?(t[n]+=e,t[n+1]+=A):t.push(e,A)}function DI(t,e,A){if(A.length==0)return;let i=e.length-2>>1;if(i>1])),!(A||a==t.sections.length||t.sections[a+1]<0);)r=t.sections[a++],s=t.sections[a++];e(n,g,o,l,C),n=g,o=l}}}function TR(t,e,A,i=!1){let n=[],o=i?[]:null,a=new hd(t),r=new hd(e);for(let s=-1;;){if(a.done&&r.len||r.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&r.ins==-1){let g=Math.min(a.len,r.len);ms(n,g,-1),a.forward(g),r.forward(g)}else if(r.ins>=0&&(a.ins<0||s==a.i||a.off==0&&(r.len=0&&s=0){let g=0,l=a.len;for(;l;)if(r.ins==-1){let C=Math.min(l,r.len);g+=C,l-=C,r.forward(C)}else if(r.ins==0&&r.lens||a.ins>=0&&a.len>s)&&(r||i.length>g),o.forward2(s),a.forward(s)}}}}var hd=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return A>=e.length?bn.empty:e[A]}textBit(e){let{inserted:A}=this.set,i=this.i-2>>1;return i>=A.length&&!e?bn.empty:A[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},CQ=class t{constructor(e,A,i){this.from=e,this.to=A,this.flags=i}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 bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,A=-1){let i,n;return this.empty?i=n=e.mapPos(this.from,A):(i=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new t(i,n,this.flags)}extend(e,A=e){if(e<=this.anchor&&A>=this.anchor)return de.range(e,A);let i=Math.abs(e-this.anchor)>Math.abs(A-this.anchor)?e:A;return de.range(this.anchor,i)}eq(e,A=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!A||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return de.range(e.anchor,e.head)}static create(e,A,i){return new t(e,A,i)}},de=class t{constructor(e,A){this.ranges=e,this.mainIndex=A}map(e,A=-1){return e.empty?this:t.create(this.ranges.map(i=>i.map(e,A)),this.mainIndex)}eq(e,A=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(A=>CQ.fromJSON(A)),e.main)}static single(e,A=e){return new t([t.range(e,A)],0)}static create(e,A=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;ne?8:0)|o)}static normalized(e,A=0){let i=e[A];e.sort((n,o)=>n.from-o.from),A=e.indexOf(i);for(let n=1;no.head?t.range(s,r):t.range(r,s))}}return new t(e,A)}};function CX(t,e){for(let A of t.ranges)if(A.to>e)throw new RangeError("Selection points outside of document")}var ZR=0,We=class t{constructor(e,A,i,n,o){this.combine=e,this.compareInput=A,this.compare=i,this.isStatic=n,this.id=ZR++,this.default=e([]),this.extensions=typeof o=="function"?o(this):o}get reader(){return this}static define(e={}){return new t(e.combine||(A=>A),e.compareInput||((A,i)=>A===i),e.compare||(e.combine?(A,i)=>A===i:XR),!!e.static,e.enables)}of(e){return new dQ([],this,0,e)}compute(e,A){if(this.isStatic)throw new Error("Can't compute a static facet");return new dQ(e,this,1,A)}computeN(e,A){if(this.isStatic)throw new Error("Can't compute a static facet");return new dQ(e,this,2,A)}from(e,A){return A||(A=i=>i),this.compute([e],i=>A(i.field(e)))}};function XR(t,e){return t==e||t.length==e.length&&t.every((A,i)=>A===e[i])}var dQ=class{constructor(e,A,i,n){this.dependencies=e,this.facet=A,this.type=i,this.value=n,this.id=ZR++}dynamicSlot(e){var A;let i=this.value,n=this.facet.compareInput,o=this.id,a=e[o]>>1,r=this.type==2,s=!1,g=!1,l=[];for(let C of this.dependencies)C=="doc"?s=!0:C=="selection"?g=!0:(((A=e[C.id])!==null&&A!==void 0?A:1)&1)==0&&l.push(e[C.id]);return{create(C){return C.values[a]=i(C),1},update(C,I){if(s&&I.docChanged||g&&(I.docChanged||I.selection)||HR(C,l)){let d=i(C);if(r?!oX(d,C.values[a],n):!n(d,C.values[a]))return C.values[a]=d,1}return 0},reconfigure:(C,I)=>{let d,B=I.config.address[o];if(B!=null){let E=P5(I,B);if(this.dependencies.every(Q=>Q instanceof We?I.facet(Q)===C.facet(Q):Q instanceof va?I.field(Q,!1)==C.field(Q,!1):!0)||(r?oX(d=i(C),E,n):n(d=i(C),E)))return C.values[a]=E,0}else d=i(C);return C.values[a]=d,1}}}};function oX(t,e,A){if(t.length!=e.length)return!1;for(let i=0;it[s.id]),n=A.map(s=>s.type),o=i.filter(s=>!(s&1)),a=t[e.id]>>1;function r(s){let g=[];for(let l=0;li===n),e);return e.provide&&(A.provides=e.provide(A)),A}create(e){let A=e.facet(K5).find(i=>i.field==this);return(A?.create||this.createF)(e)}slot(e){let A=e[this.id]>>1;return{create:i=>(i.values[A]=this.create(i),1),update:(i,n)=>{let o=i.values[A],a=this.updateF(o,n);return this.compareF(o,a)?0:(i.values[A]=a,1)},reconfigure:(i,n)=>{let o=i.facet(K5),a=n.facet(K5),r;return(r=o.find(s=>s.field==this))&&r!=a.find(s=>s.field==this)?(i.values[A]=r.create(i),1):n.config.address[this.id]!=null?(i.values[A]=n.field(this),0):(i.values[A]=this.create(i),1)}}}init(e){return[this,K5.of({field:this,create:e})]}get extension(){return this}},Bd={lowest:4,low:3,default:2,high:1,highest:0};function K3(t){return e=>new z5(e,t)}var bc={highest:K3(Bd.highest),high:K3(Bd.high),default:K3(Bd.default),low:K3(Bd.low),lowest:K3(Bd.lowest)},z5=class{constructor(e,A){this.inner=e,this.prec=A}},F0=class t{of(e){return new J3(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},J3=class{constructor(e,A){this.compartment=e,this.inner=A}},O5=class t{constructor(e,A,i,n,o,a){for(this.base=e,this.compartments=A,this.dynamicSlots=i,this.address=n,this.staticValues=o,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,A,i){let n=[],o=Object.create(null),a=new Map;for(let I of LyA(e,A,a))I instanceof va?n.push(I):(o[I.facet.id]||(o[I.facet.id]=[])).push(I);let r=Object.create(null),s=[],g=[];for(let I of n)r[I.id]=g.length<<1,g.push(d=>I.slot(d));let l=i?.config.facets;for(let I in o){let d=o[I],B=d[0].facet,E=l&&l[I]||[];if(d.every(Q=>Q.type==0))if(r[B.id]=s.length<<1|1,XR(E,d))s.push(i.facet(B));else{let Q=B.combine(d.map(f=>f.value));s.push(i&&B.compare(Q,i.facet(B))?i.facet(B):Q)}else{for(let Q of d)Q.type==0?(r[Q.id]=s.length<<1|1,s.push(Q.value)):(r[Q.id]=g.length<<1,g.push(f=>Q.dynamicSlot(f)));r[B.id]=g.length<<1,g.push(Q=>_yA(Q,B,d))}}let C=g.map(I=>I(r));return new t(e,a,C,r,s,o)}};function LyA(t,e,A){let i=[[],[],[],[],[]],n=new Map;function o(a,r){let s=n.get(a);if(s!=null){if(s<=r)return;let g=i[s].indexOf(a);g>-1&&i[s].splice(g,1),a instanceof J3&&A.delete(a.compartment)}if(n.set(a,r),Array.isArray(a))for(let g of a)o(g,r);else if(a instanceof J3){if(A.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let g=e.get(a.compartment)||a.inner;A.set(a.compartment,g),o(g,r)}else if(a instanceof z5)o(a.inner,a.prec);else if(a instanceof va)i[r].push(a),a.provides&&o(a.provides,r);else if(a instanceof dQ)i[r].push(a),a.facet.extensions&&o(a.facet.extensions,Bd.default);else{let g=a.extension;if(!g)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(g,r)}}return o(t,Bd.default),i.reduce((a,r)=>a.concat(r))}function U3(t,e){if(e&1)return 2;let A=e>>1,i=t.status[A];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;t.status[A]=4;let n=t.computeSlot(t,t.config.dynamicSlots[A]);return t.status[A]=2|n}function P5(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var aX=We.define(),GR=We.define({combine:t=>t.some(e=>e),static:!0}),IX=We.define({combine:t=>t.length?t[0]:void 0,static:!0}),dX=We.define(),BX=We.define(),EX=We.define(),rX=We.define({combine:t=>t.length?t[0]:!1}),hg=class{constructor(e,A){this.type=e,this.value=A}static define(){return new zR}},zR=class{of(e){return new hg(this,e)}},OR=class{constructor(e){this.map=e}of(e){return new Hi(this,e)}},Hi=(()=>{class t{constructor(A,i){this.type=A,this.value=i}map(A){let i=this.type.map(this.value,A);return i===void 0?void 0:i==this.value?this:new t(this.type,i)}is(A){return this.type==A}static define(A={}){return new OR(A.map||(i=>i))}static mapEffects(A,i){if(!A.length)return A;let n=[];for(let o of A){let a=o.map(i);a&&n.push(a)}return n}}return t.reconfigure=t.define(),t.appendConfig=t.define(),t})(),N0=(()=>{class t{constructor(A,i,n,o,a,r){this.startState=A,this.changes=i,this.selection=n,this.effects=o,this.annotations=a,this.scrollIntoView=r,this._doc=null,this._state=null,n&&CX(n,i.newLength),a.some(s=>s.type==t.time)||(this.annotations=a.concat(t.time.of(Date.now())))}static create(A,i,n,o,a,r){return new t(A,i,n,o,a,r)}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(A){for(let i of this.annotations)if(i.type==A)return i.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(A){let i=this.annotation(t.userEvent);return!!(i&&(i==A||i.length>A.length&&i.slice(0,A.length)==A&&i[A.length]=="."))}}return t.time=hg.define(),t.userEvent=hg.define(),t.addToHistory=hg.define(),t.remote=hg.define(),t})();function GyA(t,e){let A=[];for(let i=0,n=0;;){let o,a;if(i=t[i]))o=t[i++],a=t[i++];else if(n=0;n--){let o=i[n](t);o instanceof N0?t=o:Array.isArray(o)&&o.length==1&&o[0]instanceof N0?t=o[0]:t=hX(e,BQ(o),!1)}return t}function UyA(t){let e=t.startState,A=e.facet(EX),i=t;for(let n=A.length-1;n>=0;n--){let o=A[n](t);o&&Object.keys(o).length&&(i=QX(i,PR(e,o,t.changes.newLength),!0))}return i==t?t:N0.create(e,t.changes,t.selection,i.effects,i.annotations,i.scrollIntoView)}var JyA=[];function BQ(t){return t==null?JyA:Array.isArray(t)?t:[t]}var Lo=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Lo||(Lo={})),YyA=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,jR;try{jR=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function TyA(t){if(jR)return jR.test(t);for(let e=0;e"\x80"&&(A.toUpperCase()!=A.toLowerCase()||YyA.test(A)))return!0}return!1}function HyA(t){return e=>{if(!/\S/.test(e))return Lo.Space;if(TyA(e))return Lo.Word;for(let A=0;A-1)return Lo.Word;return Lo.Other}}var er=(()=>{class t{constructor(A,i,n,o,a,r){this.config=A,this.doc=i,this.selection=n,this.values=o,this.status=A.statusTemplate.slice(),this.computeSlot=a,r&&(r._state=this);for(let s=0;so.set(l,g)),i=null),o.set(s.value.compartment,s.value.extension)):s.is(Hi.reconfigure)?(i=null,n=s.value):s.is(Hi.appendConfig)&&(i=null,n=BQ(n).concat(s.value));let a;i?a=A.startState.values.slice():(i=O5.resolve(n,o,this),a=new t(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(g,l)=>l.reconfigure(g,this),null).values);let r=A.startState.facet(GR)?A.newSelection:A.newSelection.asSingle();new t(i,A.newDoc,r,a,(s,g)=>g.update(s,A),A)}replaceSelection(A){return typeof A=="string"&&(A=this.toText(A)),this.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:A},range:de.cursor(i.from+A.length)}))}changeByRange(A){let i=this.selection,n=A(i.ranges[0]),o=this.changes(n.changes),a=[n.range],r=BQ(n.effects);for(let s=1;sr.spec.fromJSON(s,g)))}}return t.create({doc:A.doc,selection:de.fromJSON(A.selection),extensions:i.extensions?o.concat([i.extensions]):o})}static create(A={}){let i=O5.resolve(A.extensions||[],new Map),n=A.doc instanceof bn?A.doc:bn.of((A.doc||"").split(i.staticFacet(t.lineSeparator)||JR)),o=A.selection?A.selection instanceof de?A.selection:de.single(A.selection.anchor,A.selection.head):de.single(0);return CX(o,n.length),i.staticFacet(GR)||(o=o.asSingle()),new t(i,n,o,i.dynamicSlots.map(()=>null),(a,r)=>r.create(a),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||` -`}get readOnly(){return this.facet(rX)}phrase(A,...i){for(let n of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(n,A)){A=n[A];break}return i.length&&(A=A.replace(/\$(\$|\d*)/g,(n,o)=>{if(o=="$")return"$";let a=+(o||1);return!a||a>i.length?n:i[a-1]})),A}languageDataAt(A,i,n=-1){let o=[];for(let a of this.facet(aX))for(let r of a(this,i,n))Object.prototype.hasOwnProperty.call(r,A)&&o.push(r[A]);return o}charCategorizer(A){let i=this.languageDataAt("wordChars",A);return HyA(i.length?i[0]:"")}wordAt(A){let{text:i,from:n,length:o}=this.doc.lineAt(A),a=this.charCategorizer(A),r=A-n,s=A-n;for(;r>0;){let g=Ta(i,r,!1);if(a(i.slice(g,r))!=Lo.Word)break;r=g}for(;se.length?e[0]:4}),t.lineSeparator=IX,t.readOnly=rX,t.phrases=We.define({compare(e,A){let i=Object.keys(e),n=Object.keys(A);return i.length==n.length&&i.every(o=>e[o]==A[o])}}),t.languageData=aX,t.changeFilter=dX,t.transactionFilter=BX,t.transactionExtender=EX,t})();F0.reconfigure=Hi.define();function kr(t,e,A={}){let i={};for(let n of t)for(let o of Object.keys(n)){let a=n[o],r=i[o];if(r===void 0)i[o]=a;else if(!(r===a||a===void 0))if(Object.hasOwnProperty.call(A,o))i[o]=A[o](r,a);else throw new Error("Config merge conflict for field "+o)}for(let n in e)i[n]===void 0&&(i[n]=e[n]);return i}var kl=class{eq(e){return this==e}range(e,A=e){return Y3.create(e,A,this)}};kl.prototype.startSide=kl.prototype.endSide=0;kl.prototype.point=!1;kl.prototype.mapMode=qr.TrackDel;function $R(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var Y3=class t{constructor(e,A,i){this.from=e,this.to=A,this.value=i}static create(e,A,i){return new t(e,A,i)}};function qR(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var VR=class t{constructor(e,A,i,n){this.from=e,this.to=A,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,A,i,n=0){let o=i?this.to:this.from;for(let a=n,r=o.length;;){if(a==r)return a;let s=a+r>>1,g=o[s]-e||(i?this.value[s].endSide:this.value[s].startSide)-A;if(s==a)return g>=0?a:r;g>=0?r=s:a=s+1}}between(e,A,i,n){for(let o=this.findIndex(A,-1e9,!0),a=this.findIndex(i,1e9,!1,o);od||I==d&&g.startSide>0&&g.endSide<=0)continue;(d-I||g.endSide-g.startSide)<0||(a<0&&(a=I),g.point&&(r=Math.max(r,d-I)),i.push(g),n.push(I-a),o.push(d-a))}return{mapped:i.length?new t(n,o,i,r):null,pos:a}}},to=(()=>{class t{constructor(A,i,n,o){this.chunkPos=A,this.chunk=i,this.nextLayer=n,this.maxPoint=o}static create(A,i,n,o){return new t(A,i,n,o)}get length(){let A=this.chunk.length-1;return A<0?0:Math.max(this.chunkEnd(A),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let A=this.nextLayer.size;for(let i of this.chunk)A+=i.value.length;return A}chunkEnd(A){return this.chunkPos[A]+this.chunk[A].length}update(A){let{add:i=[],sort:n=!1,filterFrom:o=0,filterTo:a=this.length}=A,r=A.filter;if(i.length==0&&!r)return this;if(n&&(i=i.slice().sort(qR)),this.isEmpty)return i.length?t.of(i):this;let s=new j5(this,null,-1).goto(0),g=0,l=[],C=new Wr;for(;s.value||g=0){let I=i[g++];C.addInner(I.from,I.to,I.value)||l.push(I)}else s.rangeIndex==1&&s.chunkIndexthis.chunkEnd(s.chunkIndex)||as.to||a=a&&A<=a+r.length&&r.between(a,A-a,i-a,n)===!1)return}this.nextLayer.between(A,i,n)}}iter(A=0){return T3.from([this]).goto(A)}get isEmpty(){return this.nextLayer==this}static iter(A,i=0){return T3.from(A).goto(i)}static compare(A,i,n,o,a=-1){let r=A.filter(I=>I.maxPoint>0||!I.isEmpty&&I.maxPoint>=a),s=i.filter(I=>I.maxPoint>0||!I.isEmpty&&I.maxPoint>=a),g=sX(r,s,n),l=new Ed(r,g,a),C=new Ed(s,g,a);n.iterGaps((I,d,B)=>gX(l,I,C,d,B,o)),n.empty&&n.length==0&&gX(l,0,C,0,0,o)}static eq(A,i,n=0,o){o==null&&(o=999999999);let a=A.filter(C=>!C.isEmpty&&i.indexOf(C)<0),r=i.filter(C=>!C.isEmpty&&A.indexOf(C)<0);if(a.length!=r.length)return!1;if(!a.length)return!0;let s=sX(a,r),g=new Ed(a,s,0).goto(n),l=new Ed(r,s,0).goto(n);for(;;){if(g.to!=l.to||!WR(g.active,l.active)||g.point&&(!l.point||!$R(g.point,l.point)))return!1;if(g.to>o)return!0;g.next(),l.next()}}static spans(A,i,n,o,a=-1){let r=new Ed(A,null,a).goto(i),s=i,g=r.openStart;for(;;){let l=Math.min(r.to,n);if(r.point){let C=r.activeForPoint(r.to),I=r.pointFroms&&(o.span(s,l,r.active,g),g=r.openEnd(l));if(r.to>n)return g+(r.point&&r.to>n?1:0);s=r.to,r.next()}}static of(A,i=!1){let n=new Wr;for(let o of A instanceof Y3?[A]:i?zyA(A):A)n.add(o.from,o.to,o.value);return n.finish()}static join(A){if(!A.length)return t.empty;let i=A[A.length-1];for(let n=A.length-2;n>=0;n--)for(let o=A[n];o!=t.empty;o=o.nextLayer)i=new t(o.chunkPos,o.chunk,i,Math.max(o.maxPoint,i.maxPoint));return i}}return t.empty=new t([],[],null,-1),t})();function zyA(t){if(t.length>1)for(let e=t[0],A=1;A0)return t.slice().sort(qR);e=i}return t}to.empty.nextLayer=to.empty;var Wr=class t{finishChunk(e){this.chunks.push(new VR(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,e&&(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(e,A,i){this.addInner(e,A,i)||(this.nextLayer||(this.nextLayer=new t)).add(e,A,i)}addInner(e,A,i){let n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(A-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=A,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,A-e)),!0)}addChunk(e,A){if((e-this.lastTo||A.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,A.maxPoint),this.chunks.push(A),this.chunkPos.push(e);let i=A.value.length-1;return this.last=A.value[i],this.lastFrom=A.from[i]+e,this.lastTo=A.to[i]+e,!0}finish(){return this.finishInner(to.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let A=to.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,A}};function sX(t,e,A){let i=new Map;for(let o of t)for(let a=0;a=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&n.push(new j5(a,A,i,o));return n.length==1?n[0]:new t(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,A=-1e9){for(let i of this.heap)i.goto(e,A);for(let i=this.heap.length>>1;i>=0;i--)KR(this.heap,i);return this.next(),this}forward(e,A){for(let i of this.heap)i.forward(e,A);for(let i=this.heap.length>>1;i>=0;i--)KR(this.heap,i);(this.to-e||this.value.endSide-A)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),KR(this.heap,0)}}};function KR(t,e){for(let A=t[e];;){let i=(e<<1)+1;if(i>=t.length)break;let n=t[i];if(i+1=0&&(n=t[i+1],i++),A.compare(n)<0)break;t[i]=A,t[e]=n,e=i}}var Ed=class{constructor(e,A,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=T3.from(e,A,i)}goto(e,A=-1e9){return this.cursor.goto(e,A),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=A,this.openStart=-1,this.next(),this}forward(e,A){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-A)<0;)this.removeActive(this.minActive);this.cursor.forward(e,A)}removeActive(e){U5(this.active,e),U5(this.activeTo,e),U5(this.activeRank,e),this.minActive=lX(this.active,this.activeTo)}addActive(e){let A=0,{value:i,to:n,rank:o}=this.cursor;for(;A0;)A++;J5(this.active,A,i),J5(this.activeTo,A,n),J5(this.activeRank,A,o),e&&J5(e,A,this.cursor.from),this.minActive=lX(this.active,this.activeTo)}next(){let e=this.to,A=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&U5(i,n)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let o=this.cursor.value;if(!o.point)this.addActive(i),this.cursor.next();else if(A&&this.cursor.to==this.to&&this.cursor.from=0&&i[n]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&A.push(this.active[i]);return A.reverse()}openEnd(e){let A=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)A++;return A}};function gX(t,e,A,i,n,o){t.goto(e),A.goto(i);let a=i+n,r=i,s=i-e,g=!!o.boundChange;for(let l=!1;;){let C=t.to+s-A.to,I=C||t.endSide-A.endSide,d=I<0?t.to+s:A.to,B=Math.min(d,a);if(t.point||A.point?(t.point&&A.point&&$R(t.point,A.point)&&WR(t.activeForPoint(t.to),A.activeForPoint(A.to))||o.comparePoint(r,B,t.point,A.point),l=!1):(l&&o.boundChange(r),B>r&&!WR(t.active,A.active)&&o.compareRange(r,B,t.active,A.active),g&&Ba)break;r=d,I<=0&&t.next(),I>=0&&A.next()}}function WR(t,e){if(t.length!=e.length)return!1;for(let A=0;A=e;i--)t[i+1]=t[i];t[e]=A}function lX(t,e){let A=-1,i=1e9;for(let n=0;n=e)return n;if(n==t.length)break;o+=t.charCodeAt(n)==9?A-o%A:1,n=Ta(t,n)}return i===!0?-1:t.length}var uX=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),AN=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),fX=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Sl=class{constructor(e,A){this.rules=[];let{finish:i}=A||{};function n(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function o(a,r,s,g){let l=[],C=/^@(\w+)\b/.exec(a[0]),I=C&&C[1]=="keyframes";if(C&&r==null)return s.push(a[0]+";");for(let d in r){let B=r[d];if(/&/.test(d))o(d.split(/,\s*/).map(E=>a.map(Q=>E.replace(/&/,Q))).reduce((E,Q)=>E.concat(Q)),B,s);else if(B&&typeof B=="object"){if(!C)throw new RangeError("The value of a property ("+d+") should be a primitive value.");o(n(d),B,l,I)}else B!=null&&l.push(d.replace(/_.*/,"").replace(/[A-Z]/g,E=>"-"+E.toLowerCase())+": "+B+";")}(l.length||I)&&s.push((i&&!C&&!g?a.map(i):a).join(", ")+" {"+l.join(" ")+"}")}for(let a in e)o(n(a),e[a],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=fX[uX]||1;return fX[uX]=e+1,"\u037C"+e.toString(36)}static mount(e,A,i){let n=e[AN],o=i&&i.nonce;n?o&&n.setNonce(o):n=new eN(e,o),n.mount(Array.isArray(A)?A:[A],e)}},mX=new Map,eN=class{constructor(e,A){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let o=mX.get(i);if(o)return e[AN]=o;this.sheet=new n.CSSStyleSheet,mX.set(i,this)}else this.styleTag=i.createElement("style"),A&&this.styleTag.setAttribute("nonce",A);this.modules=[],e[AN]=this}mount(e,A){let i=this.sheet,n=0,o=0;for(let a=0;a-1&&(this.modules.splice(s,1),o--,s=-1),s==-1){if(this.modules.splice(o++,0,r),i)for(let g=0;g",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},OyA=typeof navigator<"u"&&/Mac/.test(navigator.platform),PyA=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(sr=0;sr<10;sr++)UC[48+sr]=UC[96+sr]=String(sr);var sr;for(sr=1;sr<=24;sr++)UC[sr+111]="F"+sr;var sr;for(sr=65;sr<=90;sr++)UC[sr]=String.fromCharCode(sr+32),QQ[sr]=String.fromCharCode(sr);var sr;for(V5 in UC)QQ.hasOwnProperty(V5)||(QQ[V5]=UC[V5]);var V5;function pX(t){var e=OyA&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||PyA&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",A=!e&&t.key||(t.shiftKey?QQ:UC)[t.keyCode]||t.key||"Unidentified";return A=="Esc"&&(A="Escape"),A=="Del"&&(A="Delete"),A=="Left"&&(A="ArrowLeft"),A=="Up"&&(A="ArrowUp"),A=="Right"&&(A="ArrowRight"),A=="Down"&&(A="ArrowDown"),A}function io(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,A=arguments[1];if(A&&typeof A=="object"&&A.nodeType==null&&!Array.isArray(A)){for(var i in A)if(Object.prototype.hasOwnProperty.call(A,i)){var n=A[i];typeof n=="string"?t.setAttribute(i,n):n!=null&&(t[i]=n)}e++}for(;e2),lt={mac:vX||/Mac/.test(Ts.platform),windows:/Win/.test(Ts.platform),linux:/Linux|X11/.test(Ts.platform),ie:MD,ie_version:C$?IN.documentMode||6:BN?+BN[1]:dN?+dN[1]:0,gecko:DX,gecko_version:DX?+(/Firefox\/(\d+)/.exec(Ts.userAgent)||[0,0])[1]:0,chrome:!!tN,chrome_version:tN?+tN[1]:0,ios:vX,android:/Android\b/.test(Ts.userAgent),webkit:yX,webkit_version:yX?+(/\bAppleWebKit\/(\d+)/.exec(Ts.userAgent)||[0,0])[1]:0,safari:EN,safari_version:EN?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ts.userAgent)||[0,0])[1]:0,tabSize:IN.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function aF(t,e){for(let A in t)A=="class"&&e.class?e.class+=" "+t.class:A=="style"&&e.style?e.style+=";"+t.style:e[A]=t[A];return e}var lD=Object.create(null);function rF(t,e,A){if(t==e)return!0;t||(t=lD),e||(e=lD);let i=Object.keys(t),n=Object.keys(e);if(i.length-(A&&i.indexOf(A)>-1?1:0)!=n.length-(A&&n.indexOf(A)>-1?1:0))return!1;for(let o of i)if(o!=A&&(n.indexOf(o)==-1||t[o]!==e[o]))return!1;return!0}function jyA(t,e){for(let A=t.attributes.length-1;A>=0;A--){let i=t.attributes[A].name;e[i]==null&&t.removeAttribute(i)}for(let A in e){let i=e[A];A=="style"?t.style.cssText=i:t.getAttribute(A)!=i&&t.setAttribute(A,i)}}function bX(t,e,A){let i=!1;if(e)for(let n in e)A&&n in A||(i=!0,n=="style"?t.style.cssText="":t.removeAttribute(n));if(A)for(let n in A)e&&e[n]==A[n]||(i=!0,n=="style"?t.style.cssText=A[n]:t.setAttribute(n,A[n]));return i}function qyA(t){let e=Object.create(null);for(let A=0;A0?3e8:-4e8:A>0?1e8:-1e8,new md(e,A,A,i,e.widget||null,!1)}static replace(e){let A=!!e.block,i,n;if(e.isBlockGap)i=-5e8,n=4e8;else{let{start:o,end:a}=I$(e,A);i=(o?A?-3e8:-1:5e8)-1,n=(a?A?2e8:1:-6e8)+1}return new md(e,i,n,A,e.widget||null,!0)}static line(e){return new of(e)}static set(e,A=!1){return to.of(e,A)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};yt.none=to.empty;var nf=class t extends yt{constructor(e){let{start:A,end:i}=I$(e);super(A?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?aF(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||lD}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&rF(this.attrs,e.attrs)}range(e,A=e){if(e>=A)throw new RangeError("Mark decorations may not be empty");return super.range(e,A)}};nf.prototype.point=!1;var of=class t extends yt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&rF(this.spec.attributes,e.spec.attributes)}range(e,A=e){if(A!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,A)}};of.prototype.mapMode=qr.TrackBefore;of.prototype.point=!0;var md=class t extends yt{constructor(e,A,i,n,o,a){super(A,i,o,e),this.block=n,this.isReplace=a,this.mapMode=n?A<=0?qr.TrackBefore:qr.TrackAfter:qr.TrackDel}get type(){return this.startSide!=this.endSide?Xr.WidgetRange:this.startSide<=0?Xr.WidgetBefore:Xr.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&VyA(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,A=e){if(this.isReplace&&(e>A||e==A&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&A!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,A)}};md.prototype.point=!0;function I$(t,e=!1){let{inclusiveStart:A,inclusiveEnd:i}=t;return A==null&&(A=t.inclusive),i==null&&(i=t.inclusive),{start:A??e,end:i??e}}function VyA(t,e){return t==e||!!(t&&e&&t.compare(e))}function pQ(t,e,A,i=0){let n=A.length-1;n>=0&&A[n]+i>=t?A[n]=Math.max(A[n],e):A.push(t,e)}var cD=class t extends kl{constructor(e,A){super(),this.tagName=e,this.attributes=A}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&rF(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||lD)}static set(e,A=!1){return to.of(e,A)}};cD.prototype.startSide=cD.prototype.endSide=-1;function DQ(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function QN(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function q3(t,e){if(!e.anchorNode)return!1;try{return QN(t,e.anchorNode)}catch{return!1}}function oD(t){return t.nodeType==3?af(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function V3(t,e,A,i){return A?MX(t,e,A,i,-1)||MX(t,e,A,i,1):!1}function kI(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function CD(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function MX(t,e,A,i,n){for(;;){if(t==A&&e==i)return!0;if(e==(n<0?0:YC(t))){if(t.nodeName=="DIV")return!1;let o=t.parentNode;if(!o||o.nodeType!=1)return!1;e=kI(t)+(n<0?0:1),t=o}else if(t.nodeType==1){if(t=t.childNodes[e+(n<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=n<0?YC(t):0}else return!1}}function YC(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function ID(t,e){let A=e?t.left:t.right;return{left:A,right:A,top:t.top,bottom:t.bottom}}function WyA(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function d$(t,e){let A=e.width/t.offsetWidth,i=e.height/t.offsetHeight;return(A>.995&&A<1.005||!isFinite(A)||Math.abs(e.width-t.offsetWidth)<1)&&(A=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-t.offsetHeight)<1)&&(i=1),{scaleX:A,scaleY:i}}function ZyA(t,e,A,i,n,o,a,r){let s=t.ownerDocument,g=s.defaultView||window;for(let l=t,C=!1;l&&!C;)if(l.nodeType==1){let I,d=l==s.body,B=1,E=1;if(d)I=WyA(g);else{if(/^(fixed|sticky)$/.test(getComputedStyle(l).position)&&(C=!0),l.scrollHeight<=l.clientHeight&&l.scrollWidth<=l.clientWidth){l=l.assignedSlot||l.parentNode;continue}let b=l.getBoundingClientRect();({scaleX:B,scaleY:E}=d$(l,b)),I={left:b.left,right:b.left+l.clientWidth*B,top:b.top,bottom:b.top+l.clientHeight*E}}let Q=0,f=0;if(n=="nearest")e.top0&&e.bottom>I.bottom+f&&(f=e.bottom-I.bottom+a)):e.bottom>I.bottom&&(f=e.bottom-I.bottom+a,A<0&&e.top-f0&&e.right>I.right+Q&&(Q=e.right-I.right+o)):e.right>I.right&&(Q=e.right-I.right+o,A<0&&e.leftI.bottom||e.leftI.right)&&(e={left:Math.max(e.left,I.left),right:Math.min(e.right,I.right),top:Math.max(e.top,I.top),bottom:Math.min(e.bottom,I.bottom)}),l=l.assignedSlot||l.parentNode}else if(l.nodeType==11)l=l.host;else break}function XyA(t){let e=t.ownerDocument,A,i;for(let n=t.parentNode;n&&!(n==e.body||A&&i);)if(n.nodeType==1)!i&&n.scrollHeight>n.clientHeight&&(i=n),!A&&n.scrollWidth>n.clientWidth&&(A=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:A,y:i}}var hN=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:A,focusNode:i}=e;this.set(A,Math.min(e.anchorOffset,A?YC(A):0),i,Math.min(e.focusOffset,i?YC(i):0))}set(e,A,i,n){this.anchorNode=e,this.anchorOffset=A,this.focusNode=i,this.focusOffset=n}},ud=null;lt.safari&<.safari_version>=26&&(ud=!1);function B$(t){if(t.setActive)return t.setActive();if(ud)return t.focus(ud);let e=[];for(let A=t;A&&(e.push(A,A.scrollTop,A.scrollLeft),A!=A.ownerDocument);A=A.parentNode);if(t.focus(ud==null?{get preventScroll(){return ud={preventScroll:!0},!0}}:void 0),!ud){ud=!1;for(let A=0;AMath.max(1,t.scrollHeight-t.clientHeight-4)}function Q$(t,e){for(let A=t,i=e;;){if(A.nodeType==3&&i>0)return{node:A,offset:i};if(A.nodeType==1&&i>0){if(A.contentEditable=="false")return null;A=A.childNodes[i-1],i=YC(A)}else if(A.parentNode&&!CD(A))i=kI(A),A=A.parentNode;else return null}}function h$(t,e){for(let A=t,i=e;;){if(A.nodeType==3&&i=A){if(r.level==i)return a;(o<0||(n!=0?n<0?r.fromA:e[o].level>r.level))&&(o=a)}}if(o<0)throw new RangeError("Index out of range");return o}};function m$(t,e){if(t.length!=e.length)return!1;for(let A=0;A=0;E-=3)if(_0[E+1]==-d){let Q=_0[E+2],f=Q&2?n:Q&4?Q&1?o:n:0;f&&(Wo[C]=Wo[_0[E]]=f),r=E;break}}else{if(_0.length==189)break;_0[r++]=C,_0[r++]=I,_0[r++]=s}else if((B=Wo[C])==2||B==1){let E=B==n;s=E?0:1;for(let Q=r-3;Q>=0;Q-=3){let f=_0[Q+2];if(f&2)break;if(E)_0[Q+2]|=2;else{if(f&4)break;_0[Q+2]|=4}}}}}function avA(t,e,A,i){for(let n=0,o=i;n<=A.length;n++){let a=n?A[n-1].to:t,r=ns;)B==Q&&(B=A[--E].from,Q=E?A[E-1].to:t),Wo[--B]=d;s=l}else o=g,s++}}}function fN(t,e,A,i,n,o,a){let r=i%2?2:1;if(i%2==n%2)for(let s=e,g=0;ss&&a.push(new kc(s,E.from,d));let Q=E.direction==pd!=!(d%2);mN(t,Q?i+1:i,n,E.inner,E.from,E.to,a),s=E.to}B=E.to}else{if(B==A||(l?Wo[B]!=r:Wo[B]==r))break;B++}I?fN(t,s,B,i+1,n,I,a):se;){let l=!0,C=!1;if(!g||s>o[g-1].to){let E=Wo[s-1];E!=r&&(l=!1,C=E==16)}let I=!l&&r==1?[]:null,d=l?i:i+1,B=s;A:for(;;)if(g&&B==o[g-1].to){if(C)break A;let E=o[--g];if(!l)for(let Q=E.from,f=g;;){if(Q==e)break A;if(f&&o[f-1].to==Q)Q=o[--f].from;else{if(Wo[Q-1]==r)break A;break}}if(I)I.push(E);else{E.toWo.length;)Wo[Wo.length]=256;let i=[],n=e==pd?0:1;return mN(t,n,n,A,0,t.length,i),i}function p$(t){return[new kc(0,t,0)]}var w$="";function svA(t,e,A,i,n){var o;let a=i.head-t.from,r=kc.find(e,a,(o=i.bidiLevel)!==null&&o!==void 0?o:-1,i.assoc),s=e[r],g=s.side(n,A);if(a==g){let I=r+=n?1:-1;if(I<0||I>=e.length)return null;s=e[r=I],a=s.side(!n,A),g=s.side(n,A)}let l=Ta(t.text,a,s.forward(n,A));(ls.to)&&(l=g),w$=t.text.slice(Math.min(a,l),Math.max(a,l));let C=r==(n?e.length-1:0)?null:e[r+(n?1:-1)];return C&&l==g&&C.level+(n?0:1)t.some(e=>e)}),S$=We.define({combine:t=>t.some(e=>e)}),x$=We.define(),W3=class t{constructor(e,A="nearest",i="nearest",n=5,o=5,a=!1){this.range=e,this.y=A,this.x=i,this.yMargin=n,this.xMargin=o,this.isSnapshot=a}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(de.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},W5=Hi.define({map:(t,e)=>t.map(e)}),R$=Hi.define();function Sr(t,e,A){let i=t.facet(b$);i.length?i[0](e):window.onerror&&window.onerror(String(e),A,void 0,void 0,e)||(A?console.error(A+":",e):console.error(e))}var JC=We.define({combine:t=>t.length?t[0]:!0}),lvA=0,hQ=We.define({combine(t){return t.filter((e,A)=>{for(let i=0;i{let s=[];return a&&s.push(kD.of(g=>{let l=g.plugin(r);return l?a(l):yt.none})),o&&s.push(o(r)),s})}static fromClass(e,A){return t.define((i,n)=>new e(i,n),A)}},Z3=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let A=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(A)}catch(i){if(Sr(A.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(e,this.spec.arg)}catch(A){Sr(e.state,A,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var A;if(!((A=this.value)===null||A===void 0)&&A.destroy)try{this.value.destroy()}catch(i){Sr(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},xX=We.define(),pN=We.define(),kD=We.define(),N$=We.define(),cF=We.define(),gf=We.define(),F$=We.define();function RX(t,e){let A=t.state.facet(F$);if(!A.length)return A;let i=A.map(o=>o instanceof Function?o(t):o),n=[];return to.spans(i,e.from,e.to,{point(){},span(o,a,r,s){let g=o-e.from,l=a-e.from,C=n;for(let I=r.length-1;I>=0;I--,s--){let d=r[I].spec.bidiIsolate,B;if(d==null&&(d=gvA(e.text,g,l)),s>0&&C.length&&(B=C[C.length-1]).to==g&&B.direction==d)B.to=l,C=B.inner;else{let E={from:g,to:l,direction:d,inner:[]};C.push(E),C=E.inner}}}}),n}var _$=We.define();function CF(t){let e=0,A=0,i=0,n=0;for(let o of t.state.facet(_$)){let a=o(t);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(A=Math.max(A,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(n=Math.max(n,a.bottom)))}return{left:e,right:A,top:i,bottom:n}}var z3=We.define(),Sc=class t{constructor(e,A,i,n){this.fromA=e,this.toA=A,this.fromB=i,this.toB=n}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let A=e.length,i=this;for(;A>0;A--){let n=e[A-1];if(!(n.fromA>i.toA)){if(n.toAn.push(new Sc(o,a,r,s))),this.changedRanges=n}static create(e,A,i){return new t(e,A,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(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},cvA=[],Ha=class{constructor(e,A,i=0){this.dom=e,this.length=A,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return cvA}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let A=this.domAttrs;A&&jyA(this.dom,A)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,A=this.posAtStart){let i=A;for(let n of this.children){if(n==e)return i;i+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,A){return null}domPosFor(e,A){let i=kI(this.dom),n=this.length?e>0:A>0;return new L0(this.parent.dom,i+(n?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof vQ)return e;return null}static get(e){return e.cmTile}},yQ=class extends Ha{constructor(e){super(e,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(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let A=this.dom,i=null,n,o=e?.node==A?e:null,a=0;for(let r of this.children){if(r.sync(e),a+=r.length+r.breakAfter,n=i?i.nextSibling:A.firstChild,o&&n!=r.dom&&(o.written=!0),r.dom.parentNode==A)for(;n&&n!=r.dom;)n=NX(n);else A.insertBefore(r.dom,n);i=r.dom}for(n=i?i.nextSibling:A.firstChild,o&&n&&(o.written=!0);n;)n=NX(n);this.length=a}};function NX(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var vQ=class extends yQ{constructor(e,A){super(A),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let A=Ha.get(e);if(A&&this.owns(A))return A;e=e.parentNode}}blockTiles(e){for(let A=[],i=this,n=0,o=0;;)if(n==i.children.length){if(!A.length)return;i=i.parent,i.breakAfter&&o++,n=A.pop()}else{let a=i.children[n++];if(a instanceof bI)A.push(n),i=a,n=0;else{let r=o+a.length,s=e(a,o);if(s!==void 0)return s;o=r+a.breakAfter}}}resolveBlock(e,A){let i,n=-1,o,a=-1;if(this.blockTiles((r,s)=>{let g=s+r.length;if(e>=s&&e<=g){if(r.isWidget()&&A>=-1&&A<=1){if(r.flags&32)return!0;r.flags&16&&(i=void 0)}(se||e==s&&(A>1?r.length:r.covers(-1)))&&(!o||!r.isWidget()&&o.isWidget())&&(o=r,a=e-s)}}),!i&&!o)throw new Error("No tile at position "+e);return i&&A<0||!o?{tile:i,offset:n}:{tile:o,offset:a}}},bI=class t extends yQ{constructor(e,A){super(e),this.wrapper=A}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,A){let i=new t(A||document.createElement(e.tagName),e);return A||(i.flags|=4),i}},bQ=class t extends yQ{constructor(e,A){super(e),this.attrs=A}isLine(){return!0}static start(e,A,i){let n=new t(A||document.createElement("div"),e);return(!A||!i)&&(n.flags|=4),n}get domAttrs(){return this.attrs}resolveInline(e,A,i){let n=null,o=-1,a=null,r=-1;function s(l,C){for(let I=0,d=0;I=C&&(B.isComposite()?s(B,C-d):(!a||a.isHidden&&(A>0||i&&IvA(a,B)))&&(E>C||B.flags&32)?(a=B,r=C-d):(di&&(e=i);let n=e,o=e,a=0;e==0&&A<0||e==i&&A>=0?lt.chrome||lt.gecko||(e?(n--,a=1):o=0)?0:r.length-1];return lt.safari&&!a&&s.width==0&&(s=Array.prototype.find.call(r,g=>g.width)||s),a?ID(s,a<0):s||null}static of(e,A){let i=new t(A||document.createTextNode(e),e);return A||(i.flags|=2),i}},wd=class t extends Ha{constructor(e,A,i,n){super(e,A,n),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,A){return this.coordsInWidget(e,A,!1)}coordsInWidget(e,A,i){let n=this.widget.coordsAt(this.dom,e,A);if(n)return n;if(i)return ID(this.dom.getBoundingClientRect(),this.length?e==0:A<=0);{let o=this.dom.getClientRects(),a=null;if(!o.length)return null;let r=this.flags&16?!0:this.flags&32?!1:e>0;for(let s=r?o.length-1:0;a=o[s],!(e>0?s==0:s==o.length-1||a.top0;)if(n.isComposite())if(a){if(!e)break;i&&i.break(),e--,a=!1}else if(o==n.children.length){if(!e&&!r.length)break;i&&i.leave(n),a=!!n.breakAfter,{tile:n,index:o}=r.pop(),o++}else{let s=n.children[o],g=s.breakAfter;(A>0?s.length<=e:s.length=0;r--){let s=A.marks[r],g=n.lastChild;if(g instanceof ug&&g.mark.eq(s.mark))g.dom!=s.dom&&g.setDOM(nN(s.dom)),n=g;else{if(this.cache.reused.get(s)){let C=Ha.get(s.dom);C&&C.setDOM(nN(s.dom))}let l=ug.of(s.mark,s.dom);n.append(l),n=l}this.cache.reused.set(s,2)}let o=Ha.get(e.text);o&&this.cache.reused.set(o,2);let a=new fd(e.text,e.text.nodeValue);a.flags|=8,n.append(a)}addInlineWidget(e,A,i){let n=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);n||this.flushBuffer();let o=this.ensureMarks(A,i);!n&&!(e.flags&16)&&o.append(this.getBuffer(1)),o.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,A,i){this.flushBuffer(),this.ensureMarks(A,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let A=this.afterWidget||this.lastBlock;A.length+=e,this.pos+=e}addLineStart(e,A){var i;e||(e=L$);let n=bQ.start(e,A||((i=this.cache.find(bQ))===null||i===void 0?void 0:i.dom),!!A);this.getBlockPos().append(this.lastBlock=this.curLine=n)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,A){var i;let n=this.curLine;for(let o=e.length-1;o>=0;o--){let a=e[o],r;if(A>0&&(r=n.lastChild)&&r instanceof ug&&r.mark.eq(a))n=r,A--;else{let s=ug.of(a,(i=this.cache.find(ug,g=>g.mark.eq(a)))===null||i===void 0?void 0:i.dom);n.append(s),n=s,A=0}}return n}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!FX(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(lt.ios&&FX(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(oN,0,32)||new wd(oN.toDOM(),0,oN,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let A=new DN(e.from,e.to,e.value,e.rank),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-A.rank||this.wrappers[i-1].to-A.to)<0;)i--;this.wrappers.splice(i,0,A)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let A=this.root;for(let i of this.wrappers){let n=A.lastChild;if(i.froma.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);A.append(o),A=o}}return A}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let A=2|(e<0?16:32),i=this.cache.find(MQ,void 0,1);return i&&(i.flags=A),i||new MQ(A)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},vN=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:n,lineBreak:o,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=n;let r=this.textOff=Math.min(e,n.length);return o?null:n.slice(0,r)}let A=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,A);return this.textOff=A,i}},BD=[wd,bQ,fd,ug,MQ,bI,vQ];for(let t=0;t[]),this.index=BD.map(()=>0),this.reused=new Map}add(e){let A=e.constructor.bucket,i=this.buckets[A];i.length<6?i.push(e):i[this.index[A]=(this.index[A]+1)%6]=e}find(e,A,i=2){let n=e.bucket,o=this.buckets[n],a=this.index[n];for(let r=o.length-1;r>=0;r--){let s=(r+a)%o.length,g=o[s];if((!A||A(g))&&!this.reused.has(g))return o.splice(s,1),s{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,A){let i=A&&this.getCompositionContext(A.text);for(let n=0,o=0,a=0;;){let r=an){let g=s-n;this.preserve(g,!a,!r),n=s,o+=g}if(!r)break;A&&r.fromA<=A.range.fromA&&r.toA>=A.range.toA?(this.forward(r.fromA,A.range.fromA,A.range.fromA{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(s-r);else{let g=s>0||r{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof ug&&n.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?n.length&&(n.length=o=0):a instanceof ug&&(n.shift(),o=Math.min(o,n.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,A){let i=null,n=this.builder,o=0,a=to.spans(this.decorations,e,A,{point:(r,s,g,l,C,I)=>{if(g instanceof md){if(this.disallowBlockEffectsFor[I]){if(g.block)throw new RangeError("Block decorations may not be specified via plugins");if(s>this.view.state.doc.lineAt(r).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(o=l.length,C>l.length)n.continueWidget(s-r);else{let d=g.widget||(g.block?_X.block:_X.inline),B=dvA(g),E=this.cache.findWidget(d,s-r,B)||wd.of(d,this.view,s-r,B);g.block?(g.startSide>0&&n.addLineStartIfNotCovered(i),n.addBlockWidget(E)):(n.ensureLine(i),n.addInlineWidget(E,l,C))}i=null}else i=BvA(i,g);s>r&&this.text.skip(s-r)},span:(r,s,g,l)=>{for(let C=r;Co,this.openMarks=a}forward(e,A,i=1){A-e<=10?this.old.advance(A-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(A-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let A=[],i=null;for(let n=e.parentNode;;n=n.parentNode){let o=Ha.get(n);if(n==this.view.contentDOM)break;o instanceof ug?A.push(o):o?.isLine()?i=o:n.nodeName=="DIV"&&!i&&n!=this.view.contentDOM?i=new bQ(n,L$):A.push(ug.of(new nf({tagName:n.nodeName.toLowerCase(),attributes:qyA(n)}),n))}return{line:i,marks:A}}};function FX(t,e){let A=i=>{for(let n of i.children)if((e?n.isText():n.length)||A(n))return!0;return!1};return A(t)}function dvA(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var L$={class:"cm-line"};function BvA(t,e){let A=e.spec.attributes,i=e.spec.class;return!A&&!i||(t||(t={class:"cm-line"}),A&&aF(A,t),i&&(t.class+=" "+i)),t}function EvA(t){let e=[];for(let A=t.parents.length;A>1;A--){let i=A==t.parents.length?t.tile:t.parents[A].tile;i instanceof ug&&e.push(i.mark)}return e}function nN(t){let e=Ha.get(t);return e&&e.setDOM(t.cloneNode()),t}var _X=(()=>{class t extends fg{constructor(A){super(),this.tag=A}eq(A){return A.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(A){return A.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}return t.inline=new t("span"),t.block=new t("div"),t})(),oN=new class extends fg{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ED=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=yt.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 vQ(e,e.contentDOM),this.updateInner([new Sc(0,0,0,e.state.doc.length)],null)}update(e){var A;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:l,toA:C})=>Cthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((A=this.domChanged)===null||A===void 0)&&A.newSel?n=this.domChanged.newSel.head:!DvA(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let o=n>-1?hvA(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){let{from:l,to:C}=this.hasComposition;i=new Sc(l,C,e.changes.mapPos(l,-1),e.changes.mapPos(C,1)).addToSet(i.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(lt.ie||lt.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,r=this.blockWrappers;this.updateDeco();let s=mvA(a,this.decorations,e.changes);s.length&&(i=Sc.extendWithRanges(i,s));let g=pvA(r,this.blockWrappers,e.changes);return g.length&&(i=Sc.extendWithRanges(i,g)),o&&!i.some(l=>l.fromA<=o.range.fromA&&l.toA>=o.range.toA)&&(i=o.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,A){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(A||e.length){let a=this.tile,r=new MN(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=r.run(e,A),kN(a,r.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 o=lt.chrome||lt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(o),o&&(o.written||i.selectionRange.focusNode!=o.node||!this.tile.dom.contains(o.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let n=[];if(this.view.viewport.from||this.view.viewport.to-1)&&q3(i,this.view.observer.selectionRange)&&!(n&&i.contains(n));if(!(o||A||a))return;let r=this.forceSelection;this.forceSelection=!1;let s=this.view.state.selection.main,g,l;if(s.empty?l=g=this.inlineDOMNearPos(s.anchor,s.assoc||1):(l=this.inlineDOMNearPos(s.head,s.head==s.from?1:-1),g=this.inlineDOMNearPos(s.anchor,s.anchor==s.from?1:-1)),lt.gecko&&s.empty&&!this.hasComposition&&QvA(g)){let I=document.createTextNode("");this.view.observer.ignore(()=>g.node.insertBefore(I,g.node.childNodes[g.offset]||null)),g=l=new L0(I,0),r=!0}let C=this.view.observer.selectionRange;(r||!C.focusNode||(!V3(g.node,g.offset,C.anchorNode,C.anchorOffset)||!V3(l.node,l.offset,C.focusNode,C.focusOffset))&&!this.suppressWidgetCursorChange(C,s))&&(this.view.observer.ignore(()=>{lt.android&<.chrome&&i.contains(C.focusNode)&&wvA(C.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let I=DQ(this.view.root);if(I)if(s.empty){if(lt.gecko){let d=uvA(g.node,g.offset);if(d&&d!=3){let B=(d==1?Q$:h$)(g.node,g.offset);B&&(g=new L0(B.node,B.offset))}}I.collapse(g.node,g.offset),s.bidiLevel!=null&&I.caretBidiLevel!==void 0&&(I.caretBidiLevel=s.bidiLevel)}else if(I.extend){I.collapse(g.node,g.offset);try{I.extend(l.node,l.offset)}catch{}}else{let d=document.createRange();s.anchor>s.head&&([g,l]=[l,g]),d.setEnd(l.node,l.offset),d.setStart(g.node,g.offset),I.removeAllRanges(),I.addRange(d)}a&&this.view.root.activeElement==i&&(i.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(g,l)),this.impreciseAnchor=g.precise?null:new L0(C.anchorNode,C.anchorOffset),this.impreciseHead=l.precise?null:new L0(C.focusNode,C.focusOffset)}suppressWidgetCursorChange(e,A){return this.hasComposition&&A.empty&&V3(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==A.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,A=e.state.selection.main,i=DQ(e.root),{anchorNode:n,anchorOffset:o}=e.observer.selectionRange;if(!i||!A.empty||!A.assoc||!i.modify)return;let a=this.lineAt(A.head,A.assoc);if(!a)return;let r=a.posAtStart;if(A.head==r||A.head==r+a.length)return;let s=this.coordsAt(A.head,-1),g=this.coordsAt(A.head,1);if(!s||!g||s.bottom>g.top)return;let l=this.domAtPos(A.head+A.assoc,A.assoc);i.collapse(l.node,l.offset),i.modify("move",A.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let C=e.observer.selectionRange;e.docView.posFromDOM(C.anchorNode,C.anchorOffset)!=A.from&&i.collapse(n,o)}posFromDOM(e,A){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let n=i.posAtStart;if(i.isComposite()){let o;if(e==i.dom)o=i.dom.childNodes[A];else{let a=YC(e)==0?0:A==0?-1:1;for(;;){let r=e.parentNode;if(r==i.dom)break;a==0&&r.firstChild!=r.lastChild&&(e==r.firstChild?a=-1:a=1),e=r}a<0?o=e:o=e.nextSibling}if(o==i.dom.firstChild)return n;for(;o&&!Ha.get(o);)o=o.nextSibling;if(!o)return n+i.length;for(let a=0,r=n;;a++){let s=i.children[a];if(s.dom==o)return r;r+=s.length+s.breakAfter}}else return i.isText()?e==i.dom?n+A:n+(A?i.length:0):n}domAtPos(e,A){let{tile:i,offset:n}=this.tile.resolveBlock(e,A);return i.isWidget()?i.domPosFor(e,A):i.domIn(n,A)}inlineDOMNearPos(e,A){let i,n=-1,o=!1,a,r=-1,s=!1;return this.tile.blockTiles((g,l)=>{if(g.isWidget()){if(g.flags&32&&l>=e)return!0;g.flags&16&&(o=!0)}else{let C=l+g.length;if(l<=e&&(i=g,n=e-l,o=C=e&&!a&&(a=g,r=e-l,s=l>e),l>e&&a)return!0}}),!i&&!a?this.domAtPos(e,A):(o&&a?i=null:s&&i&&(a=null),i&&A<0||!a?i.domIn(n,A):a.domIn(r,A))}coordsAt(e,A){let{tile:i,offset:n}=this.tile.resolveBlock(e,A);return i.isWidget()?i.widget instanceof X3?null:i.coordsInWidget(n,A,!0):i.coordsIn(n,A)}lineAt(e,A){let{tile:i}=this.tile.resolveBlock(e,A);return i.isLine()?i:null}coordsForChar(e){let{tile:A,offset:i}=this.tile.resolveBlock(e,1);if(!A.isLine())return null;function n(o,a){if(o.isComposite())for(let r of o.children){if(r.length>=a){let s=n(r,a);if(s)return s}if(a-=r.length,a<0)break}else if(o.isText()&&aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,r=-1,s=this.view.textDirection==mo.LTR,g=0,l=(C,I,d)=>{for(let B=0;Bn);B++){let E=C.children[B],Q=I+E.length,f=E.dom.getBoundingClientRect(),{height:b}=f;if(d&&!B&&(g+=f.top-d.top),E instanceof bI)Q>i&&l(E,I,f);else if(I>=i&&(g>0&&A.push(-g),A.push(b+g),g=0,a)){let S=E.dom.lastChild,M=S?oD(S):[];if(M.length){let D=M[M.length-1],F=s?D.right-f.left:f.right-D.left;F>r&&(r=F,this.minWidth=o,this.minWidthFrom=I,this.minWidthTo=Q)}}d&&B==C.children.length-1&&(g+=d.bottom-f.bottom),I=Q+E.breakAfter}};return l(this.tile,0,null),A}textDirectionAt(e){let{tile:A}=this.tile.resolveBlock(e,1);return getComputedStyle(A.dom).direction=="rtl"?mo.RTL:mo.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let r=0,s;for(let g of a.children){if(!g.isText()||/[^ -~]/.test(g.text))return;let l=oD(g.dom);if(l.length!=1)return;r+=l[0].width,s=l[0].height}if(r)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:r/a.length,textHeight:s}}});if(e)return e;let A=document.createElement("div"),i,n,o;return A.className="cm-line",A.style.width="99999px",A.style.position="absolute",A.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(A);let a=oD(A.firstChild)[0];i=A.getBoundingClientRect().height,n=a&&a.width?a.width/27:7,o=a&&a.height?a.height:i,A.remove()}),{lineHeight:i,charWidth:n,textHeight:o}}computeBlockGapDeco(){let e=[],A=this.view.viewState;for(let i=0,n=0;;n++){let o=n==A.viewports.length?null:A.viewports[n],a=o?o.from-1:this.view.state.doc.length;if(a>i){let r=(A.lineBlockAt(a).bottom-A.lineBlockAt(i).top)/this.view.scaleY;e.push(yt.replace({widget:new X3(r),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!o)break;i=o.to+1}return yt.set(e)}updateDeco(){let e=1,A=this.view.state.facet(kD).map(o=>(this.dynamicDecorationMap[e++]=typeof o=="function")?o(this.view):o),i=!1,n=this.view.state.facet(cF).map((o,a)=>{let r=typeof o=="function";return r&&(i=!0),r?o(this.view):o});for(n.length&&(this.dynamicDecorationMap[e++]=i,A.push(to.join(n))),this.decorations=[this.editContextFormatting,...A,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof o=="function"?o(this.view):o)}scrollIntoView(e){if(e.isSnapshot){let g=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=g.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let g of this.view.state.facet(x$))try{if(g(this.view,e.range,e))return!0}catch(l){Sr(this.view.state,l,"scroll handler")}let{range:A}=e,i=this.coordsAt(A.head,A.empty?A.assoc:A.head>A.anchor?-1:1),n;if(!i)return;!A.empty&&(n=this.coordsAt(A.anchor,A.anchor>A.head?-1:1))&&(i={left:Math.min(i.left,n.left),top:Math.min(i.top,n.top),right:Math.max(i.right,n.right),bottom:Math.max(i.bottom,n.bottom)});let o=CF(this.view),a={left:i.left-o.left,top:i.top-o.top,right:i.right+o.right,bottom:i.bottom+o.bottom},{offsetWidth:r,offsetHeight:s}=this.view.scrollDOM;ZyA(this.view.scrollDOM,a,A.headi.isWidget()||i.children.some(A);return A(this.tile.resolveBlock(e,1).tile)}destroy(){kN(this.tile)}};function kN(t,e){let A=e?.get(t);if(A!=1){A==null&&t.destroy();for(let i of t.children)kN(i,e)}}function QvA(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function G$(t,e){let A=t.observer.selectionRange;if(!A.focusNode)return null;let i=Q$(A.focusNode,A.focusOffset),n=h$(A.focusNode,A.focusOffset),o=i||n;if(n&&i&&n.node!=i.node){let r=Ha.get(n.node);if(!r||r.isText()&&r.text!=n.node.nodeValue)o=n;else if(t.docView.lastCompositionAfterCursor){let s=Ha.get(i.node);!s||s.isText()&&s.text!=i.node.nodeValue||(o=n)}}if(t.docView.lastCompositionAfterCursor=o!=i,!o)return null;let a=e-o.offset;return{from:a,to:a+o.node.nodeValue.length,node:o.node}}function hvA(t,e,A){let i=G$(t,A);if(!i)return null;let{node:n,from:o,to:a}=i,r=n.nodeValue;if(/[\n\r]/.test(r)||t.state.doc.sliceString(i.from,i.to)!=r)return null;let s=e.invertedDesc;return{range:new Sc(s.mapPos(o),s.mapPos(a),o,a),text:n}}function uvA(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e{ie.from&&(A=!0)}),A}var X3=class extends fg{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function yvA(t,e,A=1){let i=t.charCategorizer(e),n=t.doc.lineAt(e),o=e-n.from;if(n.length==0)return de.cursor(e);o==0?A=1:o==n.length&&(A=-1);let a=o,r=o;A<0?a=Ta(n.text,o,!1):r=Ta(n.text,o);let s=i(n.text.slice(a,r));for(;a>0;){let g=Ta(n.text,a,!1);if(i(n.text.slice(g,a))!=s)break;a=g}for(;rt.defaultLineHeight*1.5){let r=t.viewState.heightOracle.textHeight,s=Math.floor((n-A.top-(t.defaultLineHeight-r)*.5)/r);o+=s*t.viewState.heightOracle.lineLength}let a=t.state.sliceDoc(A.from,A.to);return A.from+q5(a,o,t.state.tabSize)}function xN(t,e,A){let i=t.lineBlockAt(e);if(Array.isArray(i.type)){let n;for(let o of i.type){if(o.from>e)break;if(!(o.toe)return o;(!n||o.type==Xr.Text&&(n.type!=o.type||(A<0?o.frome)))&&(n=o)}}return n||i}return i}function bvA(t,e,A,i){let n=xN(t,e.head,e.assoc||-1),o=!i||n.type!=Xr.Text||!(t.lineWrapping||n.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(o){let a=t.dom.getBoundingClientRect(),r=t.textDirectionAt(n.from),s=t.posAtCoords({x:A==(r==mo.LTR)?a.right-1:a.left+1,y:(o.top+o.bottom)/2});if(s!=null)return de.cursor(s,A?-1:1)}return de.cursor(A?n.to:n.from,A?-1:1)}function LX(t,e,A,i){let n=t.state.doc.lineAt(e.head),o=t.bidiSpans(n),a=t.textDirectionAt(n.from);for(let r=e,s=null;;){let g=svA(n,o,a,r,A),l=w$;if(!g){if(n.number==(A?t.state.doc.lines:1))return r;l=` -`,n=t.state.doc.line(n.number+(A?1:-1)),o=t.bidiSpans(n),g=t.visualLineSide(n,!A)}if(s){if(!s(l))return r}else{if(!i)return g;s=i(l)}r=g}}function MvA(t,e,A){let i=t.state.charCategorizer(e),n=i(A);return o=>{let a=i(o);return n==Lo.Space&&(n=a),n==a}}function kvA(t,e,A,i){let n=e.head,o=A?1:-1;if(n==(A?t.state.doc.length:0))return de.cursor(n,e.assoc);let a=e.goalColumn,r,s=t.contentDOM.getBoundingClientRect(),g=t.coordsAtPos(n,e.assoc||-1),l=t.documentTop;if(g)a==null&&(a=g.left-s.left),r=o<0?g.top:g.bottom;else{let B=t.viewState.lineBlockAt(n);a==null&&(a=Math.min(s.right-s.left,t.defaultCharacterWidth*(n-B.from))),r=(o<0?B.top:B.bottom)+l}let C=s.left+a,I=i??t.viewState.heightOracle.textHeight>>1,d=RN(t,{x:C,y:r+I*o},!1,o);return de.cursor(d.pos,d.assoc,void 0,a)}function $3(t,e,A){for(;;){let i=0;for(let n of t)n.between(e-1,e+1,(o,a,r)=>{if(e>o&&en(t)),A.from,e.head>A.from?-1:1);return i==A.from?A:de.cursor(i,it.viewState.docHeight)return new Rl(t.state.doc.length,-1);if(g=t.elementAtHeight(s),i==null)break;if(g.type==Xr.Text){let I=t.docView.coordsAt(i<0?g.from:g.to,i);if(I&&(i<0?I.top<=s+o:I.bottom>=s+o))break}let C=t.viewState.heightOracle.textHeight/2;s=i>0?g.bottom+C:g.top-C}if(t.viewport.from>=g.to||t.viewport.to<=g.from){if(A)return null;if(g.type==Xr.Text){let C=vvA(t,n,g,a,r);return new Rl(C,C==g.from?1:-1)}}if(g.type!=Xr.Text)return s<(g.top+g.bottom)/2?new Rl(g.from,1):new Rl(g.to,-1);let l=t.docView.lineAt(g.from,2);return(!l||l.length!=g.length)&&(l=t.docView.lineAt(g.from,-2)),U$(t,l,g.from,a,r)}function U$(t,e,A,i,n){let o=-1,a=null,r=1e9,s=1e9,g=n,l=n,C=(I,d)=>{for(let B=0;Bi?E.left-i:E.rightn?E.top-n:E.bottom=g&&(g=Math.min(E.top,g),l=Math.max(E.bottom,l),f=0),(o<0||(f-s||Q-r)<0)&&(o>=0&&s&&r=g+2?s=0:(o=d,r=Q,s=f,a=E))}};if(e.isText()){for(let d=0;d(a.left+a.right)/2==(GX(t,o+A)==mo.LTR)?new Rl(A+Ta(e.text,o),-1):new Rl(A+o,1)}else{if(!e.length)return new Rl(A,1);for(let E=0;E(a.left+a.right)/2==(GX(t,o+A)==mo.LTR)?new Rl(d+I.length,-1):new Rl(d,1)}}function GX(t,e){let A=t.state.doc.lineAt(e);return t.bidiSpans(A)[kc.find(t.bidiSpans(A),e-A.from,-1,1)].dir}var O3="\uFFFF",NN=class{constructor(e,A){this.points=e,this.view=A,this.text="",this.lineSeparator=A.state.facet(er.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=O3}readRange(e,A){if(!e)return this;let i=e.parentNode;for(let n=e;;){this.findPointBefore(i,n);let o=this.text.length;this.readNode(n);let a=Ha.get(n),r=n.nextSibling;if(r==A){a?.breakAfter&&!r&&i!=this.view.contentDOM&&this.lineBreak();break}let s=Ha.get(r);(a&&s?a.breakAfter:(a?a.breakAfter:CD(n))||CD(r)&&(n.nodeName!="BR"||a?.isWidget())&&this.text.length>o)&&!xvA(r,A)&&this.lineBreak(),n=r}return this.findPointBefore(i,A),this}readTextNode(e){let A=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,A.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let o=-1,a=1,r;if(this.lineSeparator?(o=A.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(r=n.exec(A))&&(o=r.index,a=r[0].length),this.append(A.slice(i,o<0?A.length:o)),o<0)break;if(this.lineBreak(),a>1)for(let s of this.points)s.node==e&&s.pos>this.text.length&&(s.pos-=a-1);i=o+a}}readNode(e){let A=Ha.get(e),i=A&&A.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let n=i.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,A){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==A&&(i.pos=this.text.length)}findPointInside(e,A){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(SvA(e,i.node,i.offset)?A:0))}};function SvA(t,e,A){for(;;){if(!e||A-1;let{impreciseHead:o,impreciseAnchor:a}=e.docView;if(e.state.readOnly&&A>-1)this.newSel=null;else if(A>-1&&(this.bounds=J$(e.docView.tile,A,i,0))){let r=o||a?[]:NvA(e),s=new NN(r,e);s.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=s.text,this.newSel=FvA(r,this.bounds.from)}else{let r=e.observer.selectionRange,s=o&&o.node==r.focusNode&&o.offset==r.focusOffset||!QN(e.contentDOM,r.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(r.focusNode,r.focusOffset),g=a&&a.node==r.anchorNode&&a.offset==r.anchorOffset||!QN(e.contentDOM,r.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(r.anchorNode,r.anchorOffset),l=e.viewport;if((lt.ios||lt.chrome)&&e.state.selection.main.empty&&s!=g&&(l.from>0||l.to-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(de.range(g,s)):this.newSel=de.single(g,s)}}};function J$(t,e,A,i){if(t.isComposite()){let n=-1,o=-1,a=-1,r=-1;for(let s=0,g=i,l=i;sA)return J$(C,e,A,g);if(I>=e&&n==-1&&(n=s,o=g),g>A&&C.dom.parentNode==t.dom){a=s,r=l;break}l=I,g=I+C.breakAfter}return{from:o,to:r<0?i+t.length:r,startDOM:(n?t.children[n-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:a=0?t.children[a].dom:null}}else return t.isText()?{from:i,to:i+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Y$(t,e){let A,{newSel:i}=e,n=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:r}=e.bounds,s=n.from,g=null;(o===8||lt.android&&e.text.length=n.from&&A.to<=n.to&&(A.from!=n.from||A.to!=n.to)&&n.to-n.from-(A.to-A.from)<=4?A={from:n.from,to:n.to,insert:t.state.doc.slice(n.from,A.from).append(A.insert).append(t.state.doc.slice(A.to,n.to))}:t.state.doc.lineAt(n.from).toDate.now()-50?A={from:n.from,to:n.to,insert:t.state.toText(t.inputState.insertingText)}:lt.chrome&&A&&A.from==A.to&&A.from==n.head&&A.insert.toString()==` - `&&t.lineWrapping&&(i&&(i=de.single(i.main.anchor-1,i.main.head-1)),A={from:n.from,to:n.to,insert:bn.of([" "])}),A)return IF(t,A,i,o);if(i&&!hD(i,n)){let a=!1,r="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(a=!0),r=t.inputState.lastSelectionOrigin,r=="select.pointer"&&(i=K$(t.state.facet(gf).map(s=>s(t)),i))),t.dispatch({selection:i,scrollIntoView:a,userEvent:r}),!0}else return!1}function IF(t,e,A,i=-1){if(lt.ios&&t.inputState.flushIOSKey(e))return!0;let n=t.state.selection.main;if(lt.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&t.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&wQ(t.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||i==8&&e.insert.lengthn.head)&&wQ(t.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&wQ(t.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let a,r=()=>a||(a=RvA(t,e,A));return t.state.facet(M$).some(s=>s(t,e.from,e.to,o,r))||t.dispatch(r()),!0}function RvA(t,e,A){let i,n=t.state,o=n.selection.main,a=-1;if(e.from==e.to&&e.fromo.to){let s=e.fromC(t)),g,s);e.from==l&&(a=l)}if(a>-1)i={changes:e,selection:de.cursor(e.from+e.insert.length,-1)};else if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!A||A.main.empty&&A.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let s=o.frome.to?n.sliceDoc(e.to,o.to):"";i=n.replaceSelection(t.state.toText(s+e.insert.sliceString(0,void 0,t.state.lineBreak)+g))}else{let s=n.changes(e),g=A&&A.main.to<=s.newLength?A.main:void 0;if(n.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=o.to+10&&e.to>=o.to-10){let l=t.state.sliceDoc(e.from,e.to),C,I=A&&G$(t,A.main.head);if(I){let B=e.insert.length-(e.to-e.from);C={from:I.from,to:I.to-B}}else C=t.state.doc.lineAt(o.head);let d=o.to-e.to;i=n.changeByRange(B=>{if(B.from==o.from&&B.to==o.to)return{changes:s,range:g||B.map(s)};let E=B.to-d,Q=E-l.length;if(t.state.sliceDoc(Q,E)!=l||E>=C.from&&Q<=C.to)return{range:B};let f=n.changes({from:Q,to:E,insert:e.insert}),b=B.to-o.to;return{changes:f,range:g?de.range(Math.max(0,g.anchor+b),Math.max(0,g.head+b)):B.map(f)}})}else i={changes:s,selection:g&&n.selection.replaceRange(g)}}let r="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,r+=".compose",t.inputState.compositionFirstChange&&(r+=".start",t.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:r,scrollIntoView:!0})}function T$(t,e,A,i){let n=Math.min(t.length,e.length),o=0;for(;o0&&r>0&&t.charCodeAt(a-1)==e.charCodeAt(r-1);)a--,r--;if(i=="end"){let s=Math.max(0,o-Math.min(a,r));A-=a+s-o}if(a=a?o-A:0;o-=s,r=o+(r-a),a=o}else if(r=r?o-A:0;o-=s,a=o+(a-r),r=o}return{from:o,toA:a,toB:r}}function NvA(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:A,anchorOffset:i,focusNode:n,focusOffset:o}=t.observer.selectionRange;return A&&(e.push(new QD(A,i)),(n!=A||o!=i)&&e.push(new QD(n,o))),e}function FvA(t,e){if(t.length==0)return null;let A=t[0].pos,i=t.length==2?t[1].pos:A;return A>-1&&i>-1?de.single(A+e,i+e):null}function hD(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var _N=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 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=e.hasFocus,lt.safari&&e.contentDOM.addEventListener("input",()=>null),lt.gecko&&qvA(e.contentDOM.ownerDocument)}handleEvent(e){!YvA(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,A){let i=this.handlers[e];if(i){for(let n of i.observers)n(this.view,A);for(let n of i.handlers){if(A.defaultPrevented)break;if(n(this.view,A)){A.preventDefault();break}}}}ensureHandlers(e){let A=_vA(e),i=this.handlers,n=this.view.contentDOM;for(let o in A)if(o!="scroll"){let a=!A[o].handlers.length,r=i[o];r&&a!=!r.handlers.length&&(n.removeEventListener(o,this.handleEvent),r=null),r||n.addEventListener(o,this.handleEvent,{passive:a})}for(let o in i)o!="scroll"&&!A[o]&&n.removeEventListener(o,this.handleEvent);this.handlers=A}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&z$.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),lt.android&<.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let A;return lt.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((A=H$.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||LvA.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=A||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let A=this.pendingIOSKey;return!A||A.key=="Enter"&&e&&e.from0?!0:lt.safari&&!lt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function KX(t,e){return(A,i)=>{try{return e.call(t,i,A)}catch(n){Sr(A.state,n)}}}function _vA(t){let e=Object.create(null);function A(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of t){let n=i.spec,o=n&&n.plugin.domEventHandlers,a=n&&n.plugin.domEventObservers;if(o)for(let r in o){let s=o[r];s&&A(r).handlers.push(KX(i.value,s))}if(a)for(let r in a){let s=a[r];s&&A(r).observers.push(KX(i.value,s))}}for(let i in xc)A(i).handlers.push(xc[i]);for(let i in Nl)A(i).observers.push(Nl[i]);return e}var H$=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],LvA="dthko",z$=[16,17,18,20,91,92,224,225],Z5=6;function X5(t){return Math.max(0,t)*.7+8}function GvA(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var LN=class{constructor(e,A,i,n){this.view=e,this.startEvent=A,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=A,this.scrollParents=XyA(e.contentDOM),this.atoms=e.state.facet(gf).map(a=>a(e));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=A.shiftKey,this.multiple=e.state.facet(er.allowMultipleSelections)&&KvA(e,A),this.dragging=JvA(e,A)&&j$(A)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&GvA(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let A=0,i=0,n=0,o=0,a=this.view.win.innerWidth,r=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:r}=this.scrollParents.y.getBoundingClientRect());let s=CF(this.view);e.clientX-s.left<=n+Z5?A=-X5(n-e.clientX):e.clientX+s.right>=a-Z5&&(A=X5(e.clientX-a)),e.clientY-s.top<=o+Z5?i=-X5(o-e.clientY):e.clientY+s.bottom>=r-Z5&&(i=X5(e.clientY-r)),this.setScrollSpeed(A,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,A){this.scrollSpeed={x:e,y:A},e||A?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:A}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),A&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=A,A=0),(e||A)&&this.view.win.scrollBy(e,A),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:A}=this,i=K$(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(A.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(A=>A.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function KvA(t,e){let A=t.state.facet(D$);return A.length?A[0](e):lt.mac?e.metaKey:e.ctrlKey}function UvA(t,e){let A=t.state.facet(y$);return A.length?A[0](e):lt.mac?!e.altKey:!e.ctrlKey}function JvA(t,e){let{main:A}=t.state.selection;if(A.empty)return!1;let i=DQ(t.root);if(!i||i.rangeCount==0)return!0;let n=i.getRangeAt(0).getClientRects();for(let o=0;o=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function YvA(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let A=e.target,i;A!=t.contentDOM;A=A.parentNode)if(!A||A.nodeType==11||(i=Ha.get(A))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}var xc=Object.create(null),Nl=Object.create(null),O$=lt.ie&<.ie_version<15||lt.ios&<.webkit_version<604;function TvA(t){let e=t.dom.parentNode;if(!e)return;let A=e.appendChild(document.createElement("textarea"));A.style.cssText="position: fixed; left: -10000px; top: 10px",A.focus(),setTimeout(()=>{t.focus(),A.remove(),P$(t,A.value)},50)}function SD(t,e,A){for(let i of t.facet(e))A=i(A,t);return A}function P$(t,e){e=SD(t.state,gF,e);let{state:A}=t,i,n=1,o=A.toText(e),a=o.lines==A.selection.ranges.length;if(GN!=null&&A.selection.ranges.every(s=>s.empty)&&GN==o.toString()){let s=-1;i=A.changeByRange(g=>{let l=A.doc.lineAt(g.from);if(l.from==s)return{range:g};s=l.from;let C=A.toText((a?o.line(n++).text:e)+A.lineBreak);return{changes:{from:l.from,insert:C},range:de.cursor(g.from+C.length)}})}else a?i=A.changeByRange(s=>{let g=o.line(n++);return{changes:{from:s.from,to:s.to,insert:g.text},range:de.cursor(s.from+g.length)}}):i=A.replaceSelection(o);t.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Nl.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};xc.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Nl.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};Nl.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};xc.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let A=null;for(let i of t.state.facet(v$))if(A=i(t,e),A)break;if(!A&&e.button==0&&(A=zvA(t,e)),A){let i=!t.hasFocus;t.inputState.startMouseSelection(new LN(t,e,A,i)),i&&t.observer.ignore(()=>{B$(t.contentDOM);let o=t.root.activeElement;o&&!o.contains(t.contentDOM)&&o.blur()});let n=t.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function UX(t,e,A,i){if(i==1)return de.cursor(e,A);if(i==2)return yvA(t.state,e,A);{let n=t.docView.lineAt(e,A),o=t.state.doc.lineAt(n?n.posAtEnd:e),a=n?n.posAtStart:o.from,r=n?n.posAtEnd:o.to;return rDate.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(YX+1)%3:1}function zvA(t,e){let A=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=j$(e),n=t.state.selection;return{update(o){o.docChanged&&(A.pos=o.changes.mapPos(A.pos),n=n.map(o.changes))},get(o,a,r){let s=t.posAndSideAtCoords({x:o.clientX,y:o.clientY},!1),g,l=UX(t,s.pos,s.assoc,i);if(A.pos!=s.pos&&!a){let C=UX(t,A.pos,A.assoc,i),I=Math.min(C.from,l.from),d=Math.max(C.to,l.to);l=I1&&(g=OvA(n,s.pos))?g:r?n.addRange(l):de.create([l])}}}function OvA(t,e){for(let A=0;A=e)return de.create(t.ranges.slice(0,A).concat(t.ranges.slice(A+1)),t.mainIndex==A?0:t.mainIndex-(t.mainIndex>A?1:0))}return null}xc.dragstart=(t,e)=>{let{selection:{main:A}}=t.state;if(e.target.draggable){let n=t.docView.tile.nearest(e.target);if(n&&n.isWidget()){let o=n.posAtStart,a=o+n.length;(o>=A.to||a<=A.from)&&(A=de.range(o,a))}}let{inputState:i}=t;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=A,e.dataTransfer&&(e.dataTransfer.setData("Text",SD(t.state,lF,t.state.sliceDoc(A.from,A.to))),e.dataTransfer.effectAllowed="copyMove"),!1};xc.dragend=t=>(t.inputState.draggedContent=null,!1);function HX(t,e,A,i){if(A=SD(t.state,gF,A),!A)return;let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=t.inputState,a=i&&o&&UvA(t,e)?{from:o.from,to:o.to}:null,r={from:n,insert:A},s=t.state.changes(a?[a,r]:r);t.focus(),t.dispatch({changes:s,selection:{anchor:s.mapPos(n,-1),head:s.mapPos(n,1)},userEvent:a?"move.drop":"input.drop"}),t.inputState.draggedContent=null}xc.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let A=e.dataTransfer.files;if(A&&A.length){let i=Array(A.length),n=0,o=()=>{++n==A.length&&HX(t,e,i.filter(a=>a!=null).join(t.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(r.result)||(i[a]=r.result),o()},r.readAsText(A[a])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return HX(t,e,i,!0),!0}return!1};xc.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let A=O$?null:e.clipboardData;return A?(P$(t,A.getData("text/plain")||A.getData("text/uri-list")),!0):(TvA(t),!1)};function PvA(t,e){let A=t.dom.parentNode;if(!A)return;let i=A.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),t.focus()},50)}function jvA(t){let e=[],A=[],i=!1;for(let n of t.selection.ranges)n.empty||(e.push(t.sliceDoc(n.from,n.to)),A.push(n));if(!e.length){let n=-1;for(let{from:o}of t.selection.ranges){let a=t.doc.lineAt(o);a.number>n&&(e.push(a.text),A.push({from:a.from,to:Math.min(t.doc.length,a.to+1)})),n=a.number}i=!0}return{text:SD(t,lF,e.join(t.lineBreak)),ranges:A,linewise:i}}var GN=null;xc.copy=xc.cut=(t,e)=>{let A=DQ(t.root);if(A&&!q3(t.contentDOM,A))return!1;let{text:i,ranges:n,linewise:o}=jvA(t.state);if(!i&&!o)return!1;GN=o?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let a=O$?null:e.clipboardData;return a?(a.clearData(),a.setData("text/plain",i),!0):(PvA(t,i),!1)};var q$=hg.define();function V$(t,e){let A=[];for(let i of t.facet(k$)){let n=i(t,e);n&&A.push(n)}return A.length?t.update({effects:A,annotations:q$.of(!0)}):null}function W$(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let A=V$(t.state,e);A?t.dispatch(A):t.update([])}},10)}Nl.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),W$(t)};Nl.blur=t=>{t.observer.clearSelectionRange(),W$(t)};Nl.compositionstart=Nl.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Nl.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,lt.chrome&<.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Nl.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};xc.beforeinput=(t,e)=>{var A,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let o=(A=e.dataTransfer)===null||A===void 0?void 0:A.getData("text/plain"),a=e.getTargetRanges();if(o&&a.length){let r=a[0],s=t.posAtDOM(r.startContainer,r.startOffset),g=t.posAtDOM(r.endContainer,r.endOffset);return IF(t,{from:s,to:g,insert:t.state.toText(o)},null),!0}}let n;if(lt.chrome&<.android&&(n=H$.find(o=>o.inputType==e.inputType))&&(t.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let o=((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)>o+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return lt.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),lt.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Nl.compositionend(t,e),20),!1};var zX=new Set;function qvA(t){zX.has(t)||(zX.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var OX=["pre-wrap","normal","pre-line","break-spaces"],kQ=!1;function PX(){kQ=!1}var KN=class{constructor(e){this.lineWrapping=e,this.doc=bn.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,A){let i=this.doc.lineAt(A).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((A-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return OX.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let A=!1;for(let i=0;i-1,s=Math.abs(A-this.lineHeight)>.3||this.lineWrapping!=r||Math.abs(i-this.charWidth)>.1;if(this.lineWrapping=r,this.lineHeight=A,this.charWidth=i,this.textHeight=n,this.lineLength=o,s){this.heightSamples={};for(let g=0;g0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>aD&&(kQ=!0),this.height=e)}replace(e,A,i){return t.of(i)}decomposeLeft(e,A){A.push(this)}decomposeRight(e,A){A.push(this)}applyChanges(e,A,i,n){let o=this,a=i.doc;for(let r=n.length-1;r>=0;r--){let{fromA:s,toA:g,fromB:l,toB:C}=n[r],I=o.lineAt(s,oa.ByPosNoHeight,i.setDoc(A),0,0),d=I.to>=g?I:o.lineAt(g,oa.ByPosNoHeight,i,0,0);for(C+=d.to-g,g=d.to;r>0&&I.from<=n[r-1].toA;)s=n[r-1].fromA,l=n[r-1].fromB,r--,so*2){let r=e[A-1];r.break?e.splice(--A,1,r.left,null,r.right):e.splice(--A,1,r.left,r.right),i+=1+r.break,n-=r.size}else if(o>n*2){let r=e[i];r.break?e.splice(i,1,r.left,null,r.right):e.splice(i,1,r.left,r.right),i+=2+r.break,o-=r.size}else break;else if(n=o&&a(this.lineAt(0,oa.ByPos,i,n,o))}setMeasuredHeight(e){let A=e.heights[e.index++];A<0?(this.spaceAbove=-A,A=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(A)}updateHeight(e,A=0,i=!1,n){return n&&n.from<=A&&n.more&&this.setMeasuredHeight(n),this.outdated=!1,this}toString(){return`block(${this.length})`}},xl=class t extends fD{constructor(e,A,i){super(e,A,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,A){return new Mc(A,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,A,i){let n=i[0];return i.length==1&&(n instanceof t||n instanceof MI&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof MI?n=new t(n.length,this.height,this.spaceAbove):n.height=this.height,this.outdated||(n.outdated=!1),n):Pg.of(i)}updateHeight(e,A=0,i=!1,n){return n&&n.from<=A&&n.more?this.setMeasuredHeight(n):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},MI=class t extends Pg{constructor(e){super(e,0)}heightMetrics(e,A){let i=e.doc.lineAt(A).number,n=e.doc.lineAt(A+this.length).number,o=n-i+1,a,r=0;if(e.lineWrapping){let s=Math.min(this.height,e.lineHeight*o);a=s/o,this.length>o+1&&(r=(this.height-s)/(this.length-o-1))}else a=this.height/o;return{firstLine:i,lastLine:n,perLine:a,perChar:r}}blockAt(e,A,i,n){let{firstLine:o,lastLine:a,perLine:r,perChar:s}=this.heightMetrics(A,n);if(A.lineWrapping){let g=n+(e0){let o=i[i.length-1];o instanceof t?i[i.length-1]=new t(o.length+n):i.push(null,new t(n-1))}if(e>0){let o=i[0];o instanceof t?i[0]=new t(e+o.length):i.unshift(new t(e-1),null)}return Pg.of(i)}decomposeLeft(e,A){A.push(new t(e-1),null)}decomposeRight(e,A){A.push(null,new t(this.length-e-1))}updateHeight(e,A=0,i=!1,n){let o=A+this.length;if(n&&n.from<=A+this.length&&n.more){let a=[],r=Math.max(A,n.from),s=-1;for(n.from>A&&a.push(new t(n.from-A-1).updateHeight(e,A));r<=o&&n.more;){let l=e.doc.lineAt(r).length;a.length&&a.push(null);let C=n.heights[n.index++],I=0;C<0&&(I=-C,C=n.heights[n.index++]),s==-1?s=C:Math.abs(C-s)>=aD&&(s=-2);let d=new xl(l,C,I);d.outdated=!1,a.push(d),r+=l+1}r<=o&&a.push(null,new t(o-r).updateHeight(e,r));let g=Pg.of(a);return(s<0||Math.abs(g.height-this.height)>=aD||Math.abs(s-this.heightMetrics(e,A).perLine)>=aD)&&(kQ=!0),uD(this,g)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(A,A+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},JN=class extends Pg{constructor(e,A,i){super(e.length+A+i.length,e.height+i.height,A|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,A,i,n){let o=i+this.left.height;return er))return g;let l=A==oa.ByPosNoHeight?oa.ByPosNoHeight:oa.ByPos;return s?g.join(this.right.lineAt(r,l,i,a,r)):this.left.lineAt(r,l,i,n,o).join(g)}forEachLine(e,A,i,n,o,a){let r=n+this.left.height,s=o+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,A,i,r,s,a);else{let g=this.lineAt(s,oa.ByPos,i,n,o);e=e&&g.from<=A&&a(g),A>g.to&&this.right.forEachLine(g.to+1,A,i,r,s,a)}}replace(e,A,i){let n=this.left.length+this.break;if(Athis.left.length)return this.balanced(this.left,this.right.replace(e-n,A-n,i));let o=[];e>0&&this.decomposeLeft(e,o);let a=o.length;for(let r of i)o.push(r);if(e>0&&jX(o,a-1),A=i&&A.push(null)),e>i&&this.right.decomposeLeft(e-i,A)}decomposeRight(e,A){let i=this.left.length,n=i+this.break;if(e>=n)return this.right.decomposeRight(e-n,A);e2*A.size||A.size>2*e.size?Pg.of(this.break?[e,null,A]:[e,A]):(this.left=uD(this.left,e),this.right=uD(this.right,A),this.setHeight(e.height+A.height),this.outdated=e.outdated||A.outdated,this.size=e.size+A.size,this.length=e.length+this.break+A.length,this)}updateHeight(e,A=0,i=!1,n){let{left:o,right:a}=this,r=A+o.length+this.break,s=null;return n&&n.from<=A+o.length&&n.more?s=o=o.updateHeight(e,A,i,n):o.updateHeight(e,A,i),n&&n.from<=r+a.length&&n.more?s=a=a.updateHeight(e,r,i,n):a.updateHeight(e,r,i),s?this.balanced(o,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function jX(t,e){let A,i;t[e]==null&&(A=t[e-1])instanceof MI&&(i=t[e+1])instanceof MI&&t.splice(e-1,3,new MI(A.length+1+i.length))}var WvA=5,YN=class t{constructor(e,A){this.pos=e,this.oracle=A,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,A){if(this.lineStart>-1){let i=Math.min(A,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof xl?n.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new xl(i-this.pos,-1,0)),this.writtenTo=i,A>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=A}point(e,A,i){if(e=WvA)&&this.addLineDeco(n,o,a)}else A>e&&this.span(e,A);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:A}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=A,this.writtenToe&&this.nodes.push(new xl(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,A){let i=new MI(A-e);return this.oracle.doc.lineAt(e).to==A&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof xl)return e;let A=new xl(0,-1,0);return this.nodes.push(A),A}addBlock(e){this.enterLine();let A=e.deco;A&&A.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,A&&A.endSide>0&&(this.covering=e)}addLineDeco(e,A,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=A,this.writtenTo=this.pos=this.pos+i}finish(e){let A=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(A instanceof xl)&&!this.isCovered?this.nodes.push(new xl(0,-1,0)):(this.writtenTol.clientHeight||l.scrollWidth>l.clientWidth)&&C.overflow!="visible"){let I=l.getBoundingClientRect();o=Math.max(o,I.left),a=Math.min(a,I.right),r=Math.max(r,I.top),s=Math.min(g==t.parentNode?n.innerHeight:s,I.bottom)}g=C.position=="absolute"||C.position=="fixed"?l.offsetParent:l.parentNode}else if(g.nodeType==11)g=g.host;else break;return{left:o-A.left,right:Math.max(o,a)-A.left,top:r-(A.top+e),bottom:Math.max(r,s)-(A.top+e)}}function $vA(t){let e=t.getBoundingClientRect(),A=t.ownerDocument.defaultView||window;return e.left0&&e.top0}function A7A(t,e){let A=t.getBoundingClientRect();return{left:0,right:A.right-A.left,top:e,bottom:A.bottom-(A.top+e)}}var Af=class{constructor(e,A,i,n){this.from=e,this.to=A,this.size=i,this.displaySize=n}static same(e,A){if(e.length!=A.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new KN(A),this.stateDeco=VX(e),this.heightMap=Pg.empty().applyChanges(this.stateDeco,bn.empty,this.heightOracle.setDoc(e.doc),[new Sc(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=yt.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:A}=this.state.selection;for(let i=0;i<=1;i++){let n=i?A.head:A.anchor;if(!e.some(({from:o,to:a})=>n>=o&&n<=a)){let{from:o,to:a}=this.lineBlockAt(n);e.push(new uQ(o,a))}}return this.viewports=e.sort((i,n)=>i.from-n.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?qX:new zN(this.heightOracle,this.heightMap,this.viewports),e.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,e=>{this.viewportLines.push(P3(e,this.scaler))})}update(e,A=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=VX(this.state);let n=e.changedRanges,o=Sc.extendWithRanges(n,ZvA(i,this.stateDeco,e?e.changes:Vr.empty(this.state.doc.length))),a=this.heightMap.height,r=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);PX(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=a||kQ)&&(e.flags|=2),r?(this.scrollAnchorPos=e.changes.mapPos(r.from,-1),this.scrollAnchorHeight=r.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let s=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(A&&(A.range.heads.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,A));let g=s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,e.flags|=this.updateForViewport(),(g||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),A&&(this.scrollTarget=A),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(S$)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let A=e.contentDOM,i=window.getComputedStyle(A),n=this.heightOracle,o=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?mo.RTL:mo.LTR;let a=this.heightOracle.mustRefreshForWrapping(o)||this.mustMeasureContent,r=A.getBoundingClientRect(),s=a||this.mustMeasureContent||this.contentDOMHeight!=r.height;this.contentDOMHeight=r.height,this.mustMeasureContent=!1;let g=0,l=0;if(r.width&&r.height){let{scaleX:M,scaleY:D}=d$(A,r);(M>.005&&Math.abs(this.scaleX-M)>.005||D>.005&&Math.abs(this.scaleY-D)>.005)&&(this.scaleX=M,this.scaleY=D,g|=16,a=s=!0)}let C=(parseInt(i.paddingTop)||0)*this.scaleY,I=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=C||this.paddingBottom!=I)&&(this.paddingTop=C,this.paddingBottom=I,g|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,g|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=E$(e.scrollDOM);let B=(this.printing?A7A:XvA)(A,this.paddingTop),E=B.top-this.pixelViewport.top,Q=B.bottom-this.pixelViewport.bottom;this.pixelViewport=B;let f=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(f!=this.inView&&(this.inView=f,f&&(s=!0)),!this.inView&&!this.scrollTarget&&!$vA(e.dom))return 0;let b=r.width;if((this.contentDOMWidth!=b||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=r.width,this.editorHeight=e.scrollDOM.clientHeight,g|=16),s){let M=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(M)&&(a=!0),a||n.lineWrapping&&Math.abs(b-this.contentDOMWidth)>n.charWidth){let{lineHeight:D,charWidth:F,textHeight:_}=e.docView.measureTextSize();a=D>0&&n.refresh(o,D,F,_,Math.max(5,b/F),M),a&&(e.docView.minWidth=0,g|=16)}E>0&&Q>0?l=Math.max(E,Q):E<0&&Q<0&&(l=Math.min(E,Q)),PX();for(let D of this.viewports){let F=D.from==this.viewport.from?M:e.docView.measureVisibleLineHeights(D);this.heightMap=(a?Pg.empty().applyChanges(this.stateDeco,bn.empty,this.heightOracle,[new Sc(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,a,new UN(D.from,F))}kQ&&(g|=2)}let S=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return S&&(g&2&&(g|=this.updateScaler()),this.viewport=this.getViewport(l,this.scrollTarget),g|=this.updateForViewport()),(g&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),g|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),g}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,A){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,o=this.heightOracle,{visibleTop:a,visibleBottom:r}=this,s=new uQ(n.lineAt(a-i*1e3,oa.ByHeight,o,0,0).from,n.lineAt(r+(1-i)*1e3,oa.ByHeight,o,0,0).to);if(A){let{head:g}=A.range;if(gs.to){let l=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),C=n.lineAt(g,oa.ByPos,o,0,0),I;A.y=="center"?I=(C.top+C.bottom)/2-l/2:A.y=="start"||A.y=="nearest"&&g=r+Math.max(10,Math.min(i,250)))&&n>a-2*1e3&&o>1,a=n<<1;if(this.defaultTextDirection!=mo.LTR&&!i)return[];let r=[],s=(l,C,I,d)=>{if(C-ll&&ff.from>=I.from&&f.to<=I.to&&Math.abs(f.from-l)f.fromb));if(!Q){if(CS.from<=C&&S.to>=C)){let S=A.moveToLineBoundary(de.cursor(C),!1,!0).head;S>l&&(C=S)}let f=this.gapSize(I,l,C,d),b=i||f<2e6?f:2e6;Q=new Af(l,C,f,b)}r.push(Q)},g=l=>{if(l.length2e6)for(let F of e)F.from>=l.from&&F.froml.from&&s(l.from,d,l,C),BA.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let A=this.stateDeco;this.lineGaps.length&&(A=A.concat(this.lineGapDeco));let i=[];to.spans(A,this.viewport.from,this.viewport.to,{span(o,a){i.push({from:o,to:a})},point(){}},20);let n=0;if(i.length!=this.visibleRanges.length)n=12;else for(let o=0;o=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(A=>A.from<=e&&A.to>=e)||P3(this.heightMap.lineAt(e,oa.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(A=>A.top<=e&&A.bottom>=e)||P3(this.heightMap.lineAt(this.scaler.fromDOM(e),oa.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let A=this.lineBlockAtHeight(e+8);return A.from>=this.viewport.from||this.viewportLines[0].top-e>200?A:this.viewportLines[0]}elementAtHeight(e){return P3(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},uQ=class{constructor(e,A){this.from=e,this.to=A}};function e7A(t,e,A){let i=[],n=t,o=0;return to.spans(A,t,e,{span(){},point(a,r){a>n&&(i.push({from:n,to:a}),o+=a-n),n=r}},20),n=1)return e[e.length-1].to;let i=Math.floor(t*A);for(let n=0;;n++){let{from:o,to:a}=e[n],r=a-o;if(i<=r)return o+i;i-=r}}function AD(t,e){let A=0;for(let{from:i,to:n}of t.ranges){if(e<=n){A+=e-i;break}A+=n-i}return A/t.total}function t7A(t,e){for(let A of t)if(e(A))return A}var qX={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function VX(t){let e=t.facet(kD).filter(i=>typeof i!="function"),A=t.facet(cF).filter(i=>typeof i!="function");return A.length&&e.push(to.join(A)),e}var zN=class t{constructor(e,A,i){let n=0,o=0,a=0;this.viewports=i.map(({from:r,to:s})=>{let g=A.lineAt(r,oa.ByPos,e,0,0).top,l=A.lineAt(s,oa.ByPos,e,0,0).bottom;return n+=l-g,{from:r,to:s,top:g,bottom:l,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(A.height-n);for(let r of this.viewports)r.domTop=a+(r.top-o)*this.scale,a=r.domBottom=r.domTop+(r.bottom-r.top),o=r.bottom}toDOM(e){for(let A=0,i=0,n=0;;A++){let o=AA.from==e.viewports[i].from&&A.to==e.viewports[i].to):!1}};function P3(t,e){if(e.scale==1)return t;let A=e.toDOM(t.top),i=e.toDOM(t.bottom);return new Mc(t.from,t.length,A,i-A,Array.isArray(t._content)?t._content.map(n=>P3(n,e)):t._content)}var eD=We.define({combine:t=>t.join(" ")}),rN=We.define({combine:t=>t.indexOf(!0)>-1}),ON=Sl.newName(),Z$=Sl.newName(),X$=Sl.newName(),$$={"&light":"."+Z$,"&dark":"."+X$};function PN(t,e,A){return new Sl(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,n=>{if(n=="&")return t;if(!A||!A[n])throw new RangeError(`Unsupported selector: ${n}`);return A[n]}):t+" "+i}})}var i7A=PN("."+ON,{"&":{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":{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-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"}},$$),n7A={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sN=lt.ie&<.ie_version<=11,jN=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new hN,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=e.contentDOM,this.observer=new MutationObserver(A=>{for(let i of A)this.queue.push(i);(lt.ie&<.ie_version<=11||lt.ios&&e.composing)&&A.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&<.android&&e.constructor.EDIT_CONTEXT!==!1&&!(lt.chrome&<.chrome_version<126)&&(this.editContext=new qN(e),e.state.facet(JC)&&(e.contentDOM.editContext=this.editContext.editContext)),sN&&(this.onCharData=A=>{this.queue.push({target:A.target,type:"characterData",oldValue:A.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 A;((A=this.view.docView)===null||A===void 0?void 0:A.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),A.length>0&&A[A.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(A=>{A.length>0&&A[A.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((A,i)=>A!=e[i]))){this.gapIntersection.disconnect();for(let A of e)this.gapIntersection.observe(A);this.gaps=e}}onSelectionChange(e){let A=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(JC)?i.root.activeElement!=this.dom:!q3(this.dom,n))return;let o=n.anchorNode&&i.docView.tile.nearest(n.anchorNode);if(o&&o.isWidget()&&o.widget.ignoreEvent(e)){A||(this.selectionChanged=!1);return}(lt.ie&<.ie_version<=11||lt.android&<.chrome)&&!i.state.selection.main.empty&&n.focusNode&&V3(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,A=DQ(e.root);if(!A)return!1;let i=lt.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&o7A(this.view,A)||A;if(!i||this.selectionRange.eq(i))return!1;let n=q3(this.dom,i);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let o=this.delayedAndroidKey;o&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=o.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&o.force&&wQ(this.dom,o.key,o.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:A,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 e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let A=-1,i=-1,n=!1;for(let o of e){let a=this.readMutation(o);a&&(a.typeOver&&(n=!0),A==-1?{from:A,to:i}=a:(A=Math.min(a.from,A),i=Math.max(a.to,i)))}return{from:A,to:i,typeOver:n}}readChange(){let{from:e,to:A,typeOver:i}=this.processRecords(),n=this.selectionChanged&&q3(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new FN(this.view,e,A,i);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let A=this.readChange();if(!A)return this.view.requestMeasure(),!1;let i=this.view.state,n=Y$(this.view,A);return this.view.state==i&&(A.domChanged||A.newSel&&!hD(this.view.state.selection,A.newSel.main))&&this.view.update([]),n}readMutation(e){let A=this.view.docView.tile.nearest(e.target);if(!A||A.isWidget())return null;if(A.markDirty(e.type=="attributes"),e.type=="childList"){let i=WX(A,e.previousSibling||e.target.previousSibling,-1),n=WX(A,e.nextSibling||e.target.nextSibling,1);return{from:i?A.posAfter(i):A.posAtStart,to:n?A.posBefore(n):A.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:A.posAtStart,to:A.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(JC)!=e.state.facet(JC)&&(e.view.contentDOM.editContext=e.state.facet(JC)?this.editContext.editContext:null))}destroy(){var e,A,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(A=this.gapIntersection)===null||A===void 0||A.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let n of this.scrollTargets)n.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 WX(t,e,A){for(;e;){let i=Ha.get(e);if(i&&i.parent==t)return i;let n=e.parentNode;e=n!=t.dom?n:A>0?e.nextSibling:e.previousSibling}return null}function ZX(t,e){let A=e.startContainer,i=e.startOffset,n=e.endContainer,o=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor,1);return V3(a.node,a.offset,n,o)&&([A,i,n,o]=[n,o,A,i]),{anchorNode:A,anchorOffset:i,focusNode:n,focusOffset:o}}function o7A(t,e){if(e.getComposedRanges){let n=e.getComposedRanges(t.root)[0];if(n)return ZX(t,n)}let A=null;function i(n){n.preventDefault(),n.stopImmediatePropagation(),A=n.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",i,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",i,!0),A?ZX(t,A):null}var qN=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let A=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let n=e.state.selection.main,{anchor:o,head:a}=n,r=this.toEditorPos(i.updateRangeStart),s=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:r,drifted:!1});let g=s-r>i.text.length;r==this.from&&othis.to&&(s=o);let l=T$(e.state.sliceDoc(r,s),i.text,(g?n.from:n.to)-r,g?"end":null);if(!l){let I=de.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));hD(I,n)||e.dispatch({selection:I,userEvent:"select"});return}let C={from:l.from+r,to:l.toA+r,insert:bn.of(i.text.slice(l.from,l.toB).split(` -`))};if((lt.mac||lt.android)&&C.from==a-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(C={from:r,to:s,insert:bn.of([i.text.replace("."," ")])}),this.pendingContextChange=C,!e.state.readOnly){let I=this.to-this.from+(C.to-C.from+C.insert.length);IF(e,C,de.single(this.toEditorPos(i.selectionStart,I),this.toEditorPos(i.selectionEnd,I)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),C.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(A.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(A.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let n=[],o=null;for(let a=this.toEditorPos(i.rangeStart),r=this.toEditorPos(i.rangeEnd);a{let n=[];for(let o of i.getTextFormats()){let a=o.underlineStyle,r=o.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(r)){let s=this.toEditorPos(o.rangeStart),g=this.toEditorPos(o.rangeEnd);if(s{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)A.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let n=DQ(i.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let A=0,i=!1,n=this.pendingContextChange;return e.changes.iterChanges((o,a,r,s,g)=>{if(i)return;let l=g.length-(a-o);if(n&&a>=n.to)if(n.from==o&&n.to==a&&n.insert.eq(g)){n=this.pendingContextChange=null,A+=l,this.to+=l;return}else n=null,this.revertPending(e.state);if(o+=A,a+=A,a<=this.from)this.from+=l,this.to+=l;else if(othis.to||this.to-this.from+g.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(o),this.toContextPos(a),g.toString()),this.to+=l}A+=l}),n&&!i&&this.revertPending(e.state),!i}update(e){let A=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||A)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:A}=e.selection.main;this.from=Math.max(0,A-1e4),this.to=Math.min(e.doc.length,A+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let A=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(A.from),this.toContextPos(A.from+A.insert.length),e.doc.sliceString(A.from,A.to))}setSelection(e){let{main:A}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,A.anchor))),n=this.toContextPos(A.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(i,n)}rangeIsValid(e){let{head:A}=e.selection.main;return!(this.from>0&&A-this.from<500||this.to1e4*3)}toEditorPos(e,A=this.to-this.from){e=Math.min(e,A);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let A=this.composing;return A&&A.drifted?A.contextBase+(e-A.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},ii=(()=>{class t{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(A={}){var i;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),A.parent&&A.parent.appendChild(this.dom);let{dispatch:n}=A;this.dispatchTransactions=A.dispatchTransactions||n&&(o=>o.forEach(a=>n(a,this)))||(o=>this.update(o)),this.dispatch=this.dispatch.bind(this),this._root=A.root||$yA(A.parent)||document,this.viewState=new mD(A.state||er.create(A)),A.scrollTo&&A.scrollTo.is(W5)&&(this.viewState.scrollTarget=A.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(hQ).map(o=>new Z3(o));for(let o of this.plugins)o.update(this);this.observer=new jN(this),this.inputState=new _N(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ED(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent=!0,this.requestMeasure()})}dispatch(...A){let i=A.length==1&&A[0]instanceof N0?A:A.length==1&&Array.isArray(A[0])?A[0]:[this.state.update(...A)];this.dispatchTransactions(i,this)}update(A){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,n=!1,o,a=this.state;for(let d of A){if(d.startState!=a)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");a=d.state}if(this.destroyed){this.viewState.state=a;return}let r=this.hasFocus,s=0,g=null;A.some(d=>d.annotation(q$))?(this.inputState.notifiedFocused=r,s=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,g=V$(a,r),g||(s=1));let l=this.observer.delayedAndroidKey,C=null;if(l?(this.observer.clearDelayedAndroidKey(),C=this.observer.readChange(),(C&&!this.state.doc.eq(a.doc)||!this.state.selection.eq(a.selection))&&(C=null)):this.observer.clear(),a.facet(er.phrases)!=this.state.facet(er.phrases))return this.setState(a);o=dD.create(this,a,A),o.flags|=s;let I=this.viewState.scrollTarget;try{this.updateState=2;for(let d of A){if(I&&(I=I.map(d.changes)),d.scrollIntoView){let{main:B}=d.state.selection;I=new W3(B.empty?B:de.cursor(B.head,B.head>B.anchor?-1:1))}for(let B of d.effects)B.is(W5)&&(I=B.value.clip(this.state))}this.viewState.update(o,I),this.bidiCache=pD.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),i=this.docView.update(o),this.state.facet(z3)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(A),this.docView.updateSelection(i,A.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(eD)!=o.state.facet(eD)&&(this.viewState.mustMeasureContent=!0),(i||n||I||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!o.empty)for(let d of this.state.facet(iN))try{d(o)}catch(B){Sr(this.state,B,"update listener")}(g||C)&&Promise.resolve().then(()=>{g&&this.state==g.startState&&this.dispatch(g),C&&!Y$(this,C)&&l.force&&wQ(this.contentDOM,l.key,l.keyCode)})}setState(A){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=A;return}this.updateState=2;let i=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new mD(A),this.plugins=A.facet(hQ).map(n=>new Z3(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new ED(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(A){let i=A.startState.facet(hQ),n=A.state.facet(hQ);if(i!=n){let o=[];for(let a of n){let r=i.indexOf(a);if(r<0)o.push(new Z3(a));else{let s=this.plugins[r];s.mustUpdate=A,o.push(s)}}for(let a of this.plugins)a.mustUpdate!=A&&a.destroy(this);this.plugins=o,this.pluginMap.clear()}else for(let o of this.plugins)o.mustUpdate=A;for(let o=0;o-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,A&&this.observer.forceFlush();let i=null,n=this.scrollDOM,o=n.scrollTop*this.scaleY,{scrollAnchorPos:a,scrollAnchorHeight:r}=this.viewState;Math.abs(o-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let s=0;;s++){if(r<0)if(E$(n))a=-1,r=this.viewState.heightMap.height;else{let B=this.viewState.scrollAnchorAt(o);a=B.from,r=B.top}this.updateState=1;let g=this.viewState.measure(this);if(!g&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(s>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];g&4||([this.measureRequests,l]=[l,this.measureRequests]);let C=l.map(B=>{try{return B.read(this)}catch(E){return Sr(this.state,E),XX}}),I=dD.create(this,this.state,[]),d=!1;I.flags|=g,i?i.flags|=g:i=I,this.updateState=2,I.empty||(this.updatePlugins(I),this.inputState.update(I),this.updateAttrs(),d=this.docView.update(I),d&&this.docViewUpdate());for(let B=0;B1||E<-1){o=o+E,n.scrollTop=o/this.scaleY,r=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let s of this.state.facet(iN))s(i)}get themeClasses(){return ON+" "+(this.state.facet(rN)?X$:Z$)+" "+this.state.facet(eD)}updateAttrs(){let A=$X(this,xX,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(JC)?"true":"false",class:"cm-content",style:`${lt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),$X(this,pN,i);let n=this.observer.ignore(()=>{let o=bX(this.contentDOM,this.contentAttrs,i),a=bX(this.dom,this.editorAttrs,A);return o||a});return this.editorAttrs=A,this.contentAttrs=i,n}showAnnouncements(A){let i=!0;for(let n of A)for(let o of n.effects)if(o.is(t.announce)){i&&(this.announceDOM.textContent=""),i=!1;let a=this.announceDOM.appendChild(document.createElement("div"));a.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(z3);let A=this.state.facet(t.cspNonce);Sl.mount(this.root,this.styleModules.concat(i7A).reverse(),A?{nonce:A}: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(A){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),A){if(this.measureRequests.indexOf(A)>-1)return;if(A.key!=null){for(let i=0;in.plugin==A)||null),i&&i.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(A){return this.readMeasured(),this.viewState.elementAtHeight(A)}lineBlockAtHeight(A){return this.readMeasured(),this.viewState.lineBlockAtHeight(A)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(A){return this.viewState.lineBlockAt(A)}get contentHeight(){return this.viewState.contentHeight}moveByChar(A,i,n){return aN(this,A,LX(this,A,i,n))}moveByGroup(A,i){return aN(this,A,LX(this,A,i,n=>MvA(this,A.head,n)))}visualLineSide(A,i){let n=this.bidiSpans(A),o=this.textDirectionAt(A.from),a=n[i?n.length-1:0];return de.cursor(a.side(i,o)+A.from,a.forward(!i,o)?1:-1)}moveToLineBoundary(A,i,n=!0){return bvA(this,A,i,n)}moveVertically(A,i,n){return aN(this,A,kvA(this,A,i,n))}domAtPos(A,i=1){return this.docView.domAtPos(A,i)}posAtDOM(A,i=0){return this.docView.posFromDOM(A,i)}posAtCoords(A,i=!0){this.readMeasured();let n=RN(this,A,i);return n&&n.pos}posAndSideAtCoords(A,i=!0){return this.readMeasured(),RN(this,A,i)}coordsAtPos(A,i=1){this.readMeasured();let n=this.docView.coordsAt(A,i);if(!n||n.left==n.right)return n;let o=this.state.doc.lineAt(A),a=this.bidiSpans(o),r=a[kc.find(a,A-o.from,-1,i)];return ID(n,r.dir==mo.LTR==i>0)}coordsForChar(A){return this.readMeasured(),this.docView.coordsForChar(A)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(A){return!this.state.facet(SX)||Athis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(A))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(A){if(A.length>a7A)return p$(A.length);let i=this.textDirectionAt(A.from),n;for(let a of this.bidiCache)if(a.from==A.from&&a.dir==i&&(a.fresh||m$(a.isolates,n=RX(this,A))))return a.order;n||(n=RX(this,A));let o=rvA(A.text,i,n);return this.bidiCache.push(new pD(A.from,A.to,i,n,!0,o)),o}get hasFocus(){var A;return(this.dom.ownerDocument.hasFocus()||lt.safari&&((A=this.inputState)===null||A===void 0?void 0:A.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{B$(this.contentDOM),this.docView.updateSelection()})}setRoot(A){this._root!=A&&(this._root=A,this.observer.setWindow((A.nodeType==9?A:A.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let A of this.plugins)A.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(A,i={}){return W5.of(new W3(typeof A=="number"?de.cursor(A):A,i.y,i.x,i.yMargin,i.xMargin))}scrollSnapshot(){let{scrollTop:A,scrollLeft:i}=this.scrollDOM,n=this.viewState.scrollAnchorAt(A);return W5.of(new W3(de.cursor(n.from),"start","start",n.top-A,i,!0))}setTabFocusMode(A){A==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof A=="boolean"?this.inputState.tabFocusMode=A?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+A)}static domEventHandlers(A){return Go.define(()=>({}),{eventHandlers:A})}static domEventObservers(A){return Go.define(()=>({}),{eventObservers:A})}static theme(A,i){let n=Sl.newName(),o=[eD.of(n),z3.of(PN(`.${n}`,A))];return i&&i.dark&&o.push(rN.of(!0)),o}static baseTheme(A){return bc.lowest(z3.of(PN("."+ON,A,$$)))}static findFromDOM(A){var i;let n=A.querySelector(".cm-content"),o=n&&Ha.get(n)||Ha.get(A);return((i=o?.root)===null||i===void 0?void 0:i.view)||null}}return t.styleModule=z3,t.inputHandler=M$,t.clipboardInputFilter=gF,t.clipboardOutputFilter=lF,t.scrollHandler=x$,t.focusChangeEffect=k$,t.perLineTextDirection=SX,t.exceptionSink=b$,t.updateListener=iN,t.editable=JC,t.mouseSelectionStyle=v$,t.dragMovesSelection=y$,t.clickAddsSelectionRange=D$,t.decorations=kD,t.blockWrappers=N$,t.outerDecorations=cF,t.atomicRanges=gf,t.bidiIsolatedRanges=F$,t.scrollMargins=_$,t.darkTheme=rN,t.cspNonce=We.define({combine:e=>e.length?e[0]:""}),t.contentAttributes=pN,t.editorAttributes=xX,t.lineWrapping=t.contentAttributes.of({class:"cm-lineWrapping"}),t.announce=Hi.define(),t})(),a7A=4096,XX={},pD=class t{constructor(e,A,i,n,o,a){this.from=e,this.to=A,this.dir=i,this.isolates=n,this.fresh=o,this.order=a}static update(e,A){if(A.empty&&!e.some(o=>o.fresh))return e;let i=[],n=e.length?e[e.length-1].dir:mo.LTR;for(let o=Math.max(0,e.length-10);o=0;n--){let o=i[n],a=typeof o=="function"?o(t):o;a&&aF(a,A)}return A}var r7A=lt.mac?"mac":lt.windows?"win":lt.linux?"linux":"key";function s7A(t,e){let A=t.split(/-(?!$)/),i=A[A.length-1];i=="Space"&&(i=" ");let n,o,a,r;for(let s=0;si.concat(n),[]))),A}function eAA(t,e,A){return tAA(AAA(t.state),e,t,A)}var vI=null,l7A=4e3;function c7A(t,e=r7A){let A=Object.create(null),i=Object.create(null),n=(a,r)=>{let s=i[a];if(s==null)i[a]=r;else if(s!=r)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},o=(a,r,s,g,l)=>{var C,I;let d=A[a]||(A[a]=Object.create(null)),B=r.split(/ (?!$)/).map(f=>s7A(f,e));for(let f=1;f{let M=vI={view:S,prefix:b,scope:a};return setTimeout(()=>{vI==M&&(vI=null)},l7A),!0}]})}let E=B.join(" ");n(E,!1);let Q=d[E]||(d[E]={preventDefault:!1,stopPropagation:!1,run:((I=(C=d._any)===null||C===void 0?void 0:C.run)===null||I===void 0?void 0:I.slice())||[]});s&&Q.run.push(s),g&&(Q.preventDefault=!0),l&&(Q.stopPropagation=!0)};for(let a of t){let r=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let g of r){let l=A[g]||(A[g]=Object.create(null));l._any||(l._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:C}=a;for(let I in l)l[I].run.push(d=>C(d,VN))}let s=a[e]||a.key;if(s)for(let g of r)o(g,s,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(g,"Shift-"+s,a.shift,a.preventDefault,a.stopPropagation)}return A}var VN=null;function tAA(t,e,A,i){VN=e;let n=pX(e),o=Zr(n,0),a=Og(o)==n.length&&n!=" ",r="",s=!1,g=!1,l=!1;vI&&vI.view==A&&vI.scope==i&&(r=vI.prefix+" ",z$.indexOf(e.keyCode)<0&&(g=!0,vI=null));let C=new Set,I=Q=>{if(Q){for(let f of Q.run)if(!C.has(f)&&(C.add(f),f(A)))return Q.stopPropagation&&(l=!0),!0;Q.preventDefault&&(Q.stopPropagation&&(l=!0),g=!0)}return!1},d=t[i],B,E;return d&&(I(d[r+tD(n,e,!a)])?s=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(lt.windows&&e.ctrlKey&&e.altKey)&&!(lt.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(B=UC[e.keyCode])&&B!=n?(I(d[r+tD(B,e,!0)])||e.shiftKey&&(E=QQ[e.keyCode])!=n&&E!=B&&I(d[r+tD(E,e,!1)]))&&(s=!0):a&&e.shiftKey&&I(d[r+tD(n,e,!0)])&&(s=!0),!s&&I(d._any)&&(s=!0)),g&&(s=!0),s&&l&&e.stopPropagation(),VN=null,s}var rf=class t{constructor(e,A,i,n,o){this.className=e,this.left=A,this.top=i,this.width=n,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,A){return A.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,A,i){if(i.empty){let n=e.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let o=iAA(e);return[new t(A,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}else return C7A(e,A,i)}};function iAA(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==mo.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function e$(t,e,A,i){let n=t.coordsAtPos(e,A*2);if(!n)return i;let o=t.dom.getBoundingClientRect(),a=(n.top+n.bottom)/2,r=t.posAtCoords({x:o.left+1,y:a}),s=t.posAtCoords({x:o.right-1,y:a});return r==null||s==null?i:{from:Math.max(i.from,Math.min(r,s)),to:Math.min(i.to,Math.max(r,s))}}function C7A(t,e,A){if(A.to<=t.viewport.from||A.from>=t.viewport.to)return[];let i=Math.max(A.from,t.viewport.from),n=Math.min(A.to,t.viewport.to),o=t.textDirection==mo.LTR,a=t.contentDOM,r=a.getBoundingClientRect(),s=iAA(t),g=a.querySelector(".cm-line"),l=g&&window.getComputedStyle(g),C=r.left+(l?parseInt(l.paddingLeft)+Math.min(0,parseInt(l.textIndent)):0),I=r.right-(l?parseInt(l.paddingRight):0),d=xN(t,i,1),B=xN(t,n,-1),E=d.type==Xr.Text?d:null,Q=B.type==Xr.Text?B:null;if(E&&(t.lineWrapping||d.widgetLineBreaks)&&(E=e$(t,i,1,E)),Q&&(t.lineWrapping||B.widgetLineBreaks)&&(Q=e$(t,n,-1,Q)),E&&Q&&E.from==Q.from&&E.to==Q.to)return b(S(A.from,A.to,E));{let D=E?S(A.from,null,E):M(d,!1),F=Q?S(null,A.to,Q):M(B,!0),_=[];return(E||d).to<(Q||B).from-(E&&Q?1:0)||d.widgetLineBreaks>1&&D.bottom+t.defaultLineHeight/2O&&P.from=iA)break;hA>aA&&AA(Math.max(sA,aA),D==null&&sA<=O,Math.min(hA,iA),F==null&&hA>=DA,oA.dir)}if(aA=BA.to+1,aA>=iA)break}return j.length==0&&AA(O,D==null,DA,F==null,t.textDirection),{top:U,bottom:J,horizontal:j}}function M(D,F){let _=r.top+(F?D.top:D.bottom);return{top:_,bottom:_,horizontal:[]}}}function I7A(t,e){return t.constructor==e.constructor&&t.eq(e)}var WN=class{constructor(e,A){this.view=e,this.layer=A,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),A.above&&this.dom.classList.add("cm-layer-above"),A.class&&this.dom.classList.add(A.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),A.mount&&A.mount(this.dom,e)}update(e){e.startState.facet(rD)!=e.state.facet(rD)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let A=0,i=e.facet(rD);for(;A!I7A(A,this.drawn[i]))){let A=this.dom.firstChild,i=0;for(let n of e)n.update&&A&&n.constructor&&this.drawn[i].constructor&&n.update(A,this.drawn[i])?(A=A.nextSibling,i++):this.dom.insertBefore(n.draw(),A);for(;A;){let n=A.nextSibling;A.remove(),A=n}this.drawn=e,lt.safari&<.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},rD=We.define();function nAA(t){return[Go.define(e=>new WN(e,t)),rD.of(t)]}var sf=We.define({combine(t){return kr(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,A)=>Math.min(e,A),drawRangeCursor:(e,A)=>e||A})}});function oAA(t={}){return[sf.of(t),d7A,B7A,E7A,S$.of(!0)]}function aAA(t){return t.startState.facet(sf)!=t.state.facet(sf)}var d7A=nAA({above:!0,markers(t){let{state:e}=t,A=e.facet(sf),i=[];for(let n of e.selection.ranges){let o=n==e.selection.main;if(n.empty||A.drawRangeCursor){let a=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",r=n.empty?n:de.cursor(n.head,n.head>n.anchor?-1:1);for(let s of rf.forRange(t,a,r))i.push(s)}}return i},update(t,e){t.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let A=aAA(t);return A&&t$(t.state,e),t.docChanged||t.selectionSet||A},mount(t,e){t$(e.state,t)},class:"cm-cursorLayer"});function t$(t,e){e.style.animationDuration=t.facet(sf).cursorBlinkRate+"ms"}var B7A=nAA({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:rf.forRange(t,"cm-selectionBackground",e)).reduce((e,A)=>e.concat(A))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||aAA(t)},class:"cm-selectionLayer"}),E7A=bc.highest(ii.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"}}}})),rAA=Hi.define({map(t,e){return t==null?null:e.mapPos(t)}}),j3=va.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((A,i)=>i.is(rAA)?i.value:A,t)}}),Q7A=Go.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let A=t.state.field(j3);A==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(j3)!=A||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(j3),A=e!=null&&t.coordsAtPos(e);if(!A)return null;let i=t.scrollDOM.getBoundingClientRect();return{left:A.left-i.left+t.scrollDOM.scrollLeft*t.scaleX,top:A.top-i.top+t.scrollDOM.scrollTop*t.scaleY,height:A.bottom-A.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:A}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/A+"px",this.cursor.style.height=t.height/A+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(j3)!=t&&this.view.dispatch({effects:rAA.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function sAA(){return[j3,Q7A]}function i$(t,e,A,i,n){e.lastIndex=0;for(let o=t.iterRange(A,i),a=A,r;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;r=e.exec(o.value);)n(a+r.index,r)}function h7A(t,e){let A=t.visibleRanges;if(A.length==1&&A[0].from==t.viewport.from&&A[0].to==t.viewport.to)return A;let i=[];for(let{from:n,to:o}of A)n=Math.max(t.state.doc.lineAt(n).from,n-e),o=Math.min(t.state.doc.lineAt(o).to,o+e),i.length&&i[i.length-1].to>=n?i[i.length-1].to=o:i.push({from:n,to:o});return i}var ZN=class{constructor(e){let{regexp:A,decoration:i,decorate:n,boundary:o,maxLength:a=1e3}=e;if(!A.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=A,n)this.addMatch=(r,s,g,l)=>n(l,g,g+r[0].length,r,s);else if(typeof i=="function")this.addMatch=(r,s,g,l)=>{let C=i(r,s,g);C&&l(g,g+r[0].length,C)};else if(i)this.addMatch=(r,s,g,l)=>l(g,g+r[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=o,this.maxLength=a}createDeco(e){let A=new Wr,i=A.add.bind(A);for(let{from:n,to:o}of h7A(e,this.maxLength))i$(e.state.doc,this.regexp,n,o,(a,r)=>this.addMatch(r,e,a,i));return A.finish()}updateDeco(e,A){let i=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((o,a,r,s)=>{s>=e.view.viewport.from&&r<=e.view.viewport.to&&(i=Math.min(r,i),n=Math.max(s,n))}),e.viewportMoved||n-i>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,A.map(e.changes),i,n):A}updateRange(e,A,i,n){for(let o of e.visibleRanges){let a=Math.max(o.from,i),r=Math.min(o.to,n);if(r>=a){let s=e.state.doc.lineAt(a),g=s.tos.from;a--)if(this.boundary.test(s.text[a-1-s.from])){l=a;break}for(;rI.push(f.range(E,Q));if(s==g)for(this.regexp.lastIndex=l-s.from;(d=this.regexp.exec(s.text))&&d.indexthis.addMatch(Q,e,E,B));A=A.update({filterFrom:l,filterTo:C,filter:(E,Q)=>EC,add:I})}}return A}},XN=/x/.unicode!=null?"gu":"g",u7A=new RegExp(`[\0-\b --\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,XN),f7A={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"},gN=null;function m7A(){var t;if(gN==null&&typeof document<"u"&&document.body){let e=document.body.style;gN=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return gN||!1}var sD=We.define({combine(t){let e=kr(t,{render:null,specialChars:u7A,addSpecialChars:null});return(e.replaceTabs=!m7A())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,XN)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,XN)),e}});function gAA(t={}){return[sD.of(t),p7A()]}var n$=null;function p7A(){return n$||(n$=Go.fromClass(class{constructor(t){this.view=t,this.decorations=yt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(sD)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new ZN({regexp:t.specialChars,decoration:(e,A,i)=>{let{doc:n}=A.state,o=Zr(e[0],0);if(o==9){let a=n.lineAt(i),r=A.state.tabSize,s=KC(a.text,r,i-a.from);return yt.replace({widget:new AF((r-s%r)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=yt.replace({widget:new $N(t,o)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(sD);t.startState.facet(sD)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}var w7A="\u2022";function D7A(t){return t>=32?w7A:t==10?"\u2424":String.fromCharCode(9216+t)}var $N=class extends fg{constructor(e,A){super(),this.options=e,this.code=A}eq(e){return e.code==this.code}toDOM(e){let A=D7A(this.code),i=e.state.phrase("Control character")+" "+(f7A[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,A);if(n)return n;let o=document.createElement("span");return o.textContent=A,o.title=i,o.setAttribute("aria-label",i),o.className="cm-specialChar",o}ignoreEvent(){return!1}},AF=class extends fg{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function lAA(){return v7A}var y7A=yt.line({class:"cm-activeLine"}),v7A=Go.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,A=[];for(let i of t.state.selection.ranges){let n=t.lineBlockAt(i.head);n.from>e&&(A.push(y7A.range(n.from)),e=n.from)}return yt.set(A)}},{decorations:t=>t.decorations});var eF=2e3;function b7A(t,e,A){let i=Math.min(e.line,A.line),n=Math.max(e.line,A.line),o=[];if(e.off>eF||A.off>eF||e.col<0||A.col<0){let a=Math.min(e.off,A.off),r=Math.max(e.off,A.off);for(let s=i;s<=n;s++){let g=t.doc.line(s);g.length<=r&&o.push(de.range(g.from+a,g.to+r))}}else{let a=Math.min(e.col,A.col),r=Math.max(e.col,A.col);for(let s=i;s<=n;s++){let g=t.doc.line(s),l=q5(g.text,a,t.tabSize,!0);if(l<0)o.push(de.cursor(g.to));else{let C=q5(g.text,r,t.tabSize);o.push(de.range(g.from+l,g.from+C))}}}return o}function M7A(t,e){let A=t.coordsAtPos(t.viewport.from);return A?Math.round(Math.abs((A.left-e)/t.defaultCharacterWidth)):-1}function o$(t,e){let A=t.posAtCoords({x:e.clientX,y:e.clientY},!1),i=t.state.doc.lineAt(A),n=A-i.from,o=n>eF?-1:n==i.length?M7A(t,e.clientX):KC(i.text,t.state.tabSize,A-i.from);return{line:i.number,col:o,off:n}}function k7A(t,e){let A=o$(t,e),i=t.state.selection;return A?{update(n){if(n.docChanged){let o=n.changes.mapPos(n.startState.doc.line(A.line).from),a=n.state.doc.lineAt(o);A={line:a.number,col:A.col,off:Math.min(A.off,a.length)},i=i.map(n.changes)}},get(n,o,a){let r=o$(t,n);if(!r)return i;let s=b7A(t.state,A,r);return s.length?a?de.create(s.concat(i.ranges)):de.create(s):i}}:null}function cAA(t){let e=t?.eventFilter||(A=>A.altKey&&A.button==0);return ii.mouseSelectionStyle.of((A,i)=>e(i)?k7A(A,i):null)}var S7A={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},x7A={style:"cursor: crosshair"};function CAA(t={}){let[e,A]=S7A[t.key||"Alt"],i=Go.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||A(n))},keyup(n){(n.keyCode==e||!A(n))&&this.set(!1)},mousemove(n){this.set(A(n))}}});return[i,ii.contentAttributes.of(n=>{var o;return!((o=n.plugin(i))===null||o===void 0)&&o.isDown?x7A:null})]}var iD="-10000px",wD=class{constructor(e,A,i,n){this.facet=A,this.createTooltipView=i,this.removeTooltipView=n,this.input=e.state.facet(A),this.tooltips=this.input.filter(a=>a);let o=null;this.tooltipViews=this.tooltips.map(a=>o=i(a,o))}update(e,A){var i;let n=e.state.facet(this.facet),o=n.filter(s=>s);if(n===this.input){for(let s of this.tooltipViews)s.update&&s.update(e);return!1}let a=[],r=A?[]:null;for(let s=0;sA[g]=s),A.length=r.length),this.input=n,this.tooltips=o,this.tooltipViews=a,!0}};function R7A(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var lN=We.define({combine:t=>{var e,A,i;return{position:lt.ios?"absolute":((e=t.find(n=>n.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((A=t.find(n=>n.parent))===null||A===void 0?void 0:A.parent)||null,tooltipSpace:((i=t.find(n=>n.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||R7A}}}),a$=new WeakMap,dF=Go.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(lN);this.position=e.position,this.parent=e.parent,this.classes=t.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 wD(t,xQ,(A,i)=>this.createTooltip(A,i),A=>{this.resizeObserver&&this.resizeObserver.unobserve(A.dom),A.dom.remove()}),this.above=this.manager.tooltips.map(A=>!!A.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(A=>{Date.now()>this.lastTransaction-50&&A.length>0&&A[A.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.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 t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let A=e||t.geometryChanged,i=t.state.facet(lN);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let n of this.manager.tooltipViews)n.dom.style.position=this.position;A=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let n of this.manager.tooltipViews)this.container.appendChild(n.dom);A=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);A&&this.maybeMeasure()}createTooltip(t,e){let A=t.create(this.view),i=e?e.dom:null;if(A.dom.classList.add("cm-tooltip"),t.arrow&&!A.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",A.dom.appendChild(n)}return A.dom.style.position=this.position,A.dom.style.top=iD,A.dom.style.left="0px",this.container.insertBefore(A.dom,i),A.mount&&A.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(A.dom),A}destroy(){var t,e,A;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(t=i.destroy)===null||t===void 0||t.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(A=this.intersectionObserver)===null||A===void 0||A.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,A=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(lt.safari){let a=o.getBoundingClientRect();A=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else A=!!o.offsetParent&&o.offsetParent!=this.container.ownerDocument.body}if(A||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(t=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),n=CF(this.view);return{visible:{left:i.left+n.left,top:i.top+n.top,right:i.right-n.right,bottom:i.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,a)=>{let r=this.manager.tooltipViews[a];return r.getCoords?r.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(lN).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:A}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let r of this.manager.tooltipViews)r.dom.style.position="absolute"}let{visible:A,space:i,scaleX:n,scaleY:o}=t,a=[];for(let r=0;r=Math.min(A.bottom,i.bottom)||C.rightMath.min(A.right,i.right)+.1)){l.style.top=iD;continue}let d=s.arrow?g.dom.querySelector(".cm-tooltip-arrow"):null,B=d?7:0,E=I.right-I.left,Q=(e=a$.get(g))!==null&&e!==void 0?e:I.bottom-I.top,f=g.offset||F7A,b=this.view.textDirection==mo.LTR,S=I.width>i.right-i.left?b?i.left:i.right-I.width:b?Math.max(i.left,Math.min(C.left-(d?14:0)+f.x,i.right-E)):Math.min(Math.max(i.left,C.left-E+(d?14:0)-f.x),i.right-E),M=this.above[r];!s.strictSide&&(M?C.top-Q-B-f.yi.bottom)&&M==i.bottom-C.bottom>C.top-i.top&&(M=this.above[r]=!M);let D=(M?C.top-i.top:i.bottom-C.bottom)-B;if(DS&&U.topF&&(F=M?U.top-Q-2-B:U.bottom+B+2);if(this.position=="absolute"?(l.style.top=(F-t.parent.top)/o+"px",r$(l,(S-t.parent.left)/n)):(l.style.top=F/o+"px",r$(l,S/n)),d){let U=C.left+(b?f.x:-f.x)-(S+14-7);d.style.left=U/n+"px"}g.overlap!==!0&&a.push({left:S,top:F,right:_,bottom:F+Q}),l.classList.toggle("cm-tooltip-above",M),l.classList.toggle("cm-tooltip-below",!M),g.positioned&&g.positioned(t.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 t of this.manager.tooltipViews)t.dom.style.top=iD}},{eventObservers:{scroll(){this.maybeMeasure()}}});function r$(t,e){let A=parseInt(t.style.left,10);(isNaN(A)||Math.abs(e-A)>1)&&(t.style.left=e+"px")}var N7A=ii.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:"14px",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"}}}),F7A={x:0,y:0},xQ=We.define({enables:[dF,N7A]}),DD=We.define({combine:t=>t.reduce((e,A)=>e.concat(A),[])}),yD=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new wD(e,DD,(A,i)=>this.createHostedView(A,i),A=>A.dom.remove())}createHostedView(e,A){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,A?A.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let A of this.manager.tooltipViews)A.mount&&A.mount(e);this.mounted=!0}positioned(e){for(let A of this.manager.tooltipViews)A.positioned&&A.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let A of this.manager.tooltipViews)(e=A.destroy)===null||e===void 0||e.call(A)}passProp(e){let A;for(let i of this.manager.tooltipViews){let n=i[e];if(n!==void 0){if(A===void 0)A=n;else if(A!==n)return}}return A}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},_7A=xQ.compute([DD],t=>{let e=t.facet(DD);return e.length===0?null:{pos:Math.min(...e.map(A=>A.pos)),end:Math.max(...e.map(A=>{var i;return(i=A.end)!==null&&i!==void 0?i:A.pos})),create:yD.create,above:e[0].above,arrow:e.some(A=>A.arrow)}}),tF=class{constructor(e,A,i,n,o){this.view=e,this.source=A,this.field=i,this.setHover=n,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){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 e=Date.now()-this.lastMove.time;er.bottom||A.xr.right+e.defaultCharacterWidth)return;let s=e.bidiSpans(e.state.doc.lineAt(n)).find(l=>l.from<=n&&l.to>=n),g=s&&s.dir==mo.RTL?-1:1;o=A.x{this.pending==r&&(this.pending=null,s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])}))},s=>Sr(e.state,s,"hover tooltip"))}else a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])})}get tooltip(){let e=this.view.plugin(dF),A=e?e.manager.tooltips.findIndex(i=>i.create==yD.create):-1;return A>-1?e.manager.tooltipViews[A]:null}mousemove(e){var A,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:n,tooltip:o}=this;if(n.length&&o&&!L7A(o.dom,e)||this.pending){let{pos:a}=n[0]||this.pending,r=(i=(A=n[0])===null||A===void 0?void 0:A.end)!==null&&i!==void 0?i:a;(a==r?this.view.posAtCoords(this.lastMove)!=a:!G7A(this.view,a,r,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:A}=this;if(A.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let A=i=>{e.removeEventListener("mouseleave",A),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",A)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},nD=4;function L7A(t,e){let{left:A,right:i,top:n,bottom:o}=t.getBoundingClientRect(),a;if(a=t.querySelector(".cm-tooltip-arrow")){let r=a.getBoundingClientRect();n=Math.min(r.top,n),o=Math.max(r.bottom,o)}return e.clientX>=A-nD&&e.clientX<=i+nD&&e.clientY>=n-nD&&e.clientY<=o+nD}function G7A(t,e,A,i,n,o){let a=t.scrollDOM.getBoundingClientRect(),r=t.documentTop+t.documentPadding.top+t.contentHeight;if(a.left>i||a.rightn||Math.min(a.bottom,r)=e&&s<=A}function IAA(t,e={}){let A=Hi.define(),i=va.define({create(){return[]},update(n,o){if(n.length&&(e.hideOnChange&&(o.docChanged||o.selection)?n=[]:e.hideOn&&(n=n.filter(a=>!e.hideOn(o,a))),o.docChanged)){let a=[];for(let r of n){let s=o.changes.mapPos(r.pos,-1,qr.TrackDel);if(s!=null){let g=Object.assign(Object.create(null),r);g.pos=s,g.end!=null&&(g.end=o.changes.mapPos(g.end)),a.push(g)}}n=a}for(let a of o.effects)a.is(A)&&(n=a.value),a.is(K7A)&&(n=[]);return n},provide:n=>DD.from(n)});return{active:i,extension:[i,Go.define(n=>new tF(n,t,i,A,e.hoverTime||300)),_7A]}}function BF(t,e){let A=t.plugin(dF);if(!A)return null;let i=A.manager.tooltips.indexOf(e);return i<0?null:A.manager.tooltipViews[i]}var K7A=Hi.define();var s$=We.define({combine(t){let e,A;for(let i of t)e=e||i.topContainer,A=A||i.bottomContainer;return{topContainer:e,bottomContainer:A}}});function lf(t,e){let A=t.plugin(dAA),i=A?A.specs.indexOf(e):-1;return i>-1?A.panels[i]:null}var dAA=Go.fromClass(class{constructor(t){this.input=t.state.facet(Dd),this.specs=this.input.filter(A=>A),this.panels=this.specs.map(A=>A(t));let e=t.state.facet(s$);this.top=new fQ(t,!0,e.topContainer),this.bottom=new fQ(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(A=>A.top)),this.bottom.sync(this.panels.filter(A=>!A.top));for(let A of this.panels)A.dom.classList.add("cm-panel"),A.mount&&A.mount()}update(t){let e=t.state.facet(s$);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new fQ(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new fQ(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let A=t.state.facet(Dd);if(A!=this.input){let i=A.filter(s=>s),n=[],o=[],a=[],r=[];for(let s of i){let g=this.specs.indexOf(s),l;g<0?(l=s(t.view),r.push(l)):(l=this.panels[g],l.update&&l.update(t)),n.push(l),(l.top?o:a).push(l)}this.specs=i,this.panels=n,this.top.sync(o),this.bottom.sync(a);for(let s of r)s.dom.classList.add("cm-panel"),s.mount&&s.mount()}else for(let i of this.panels)i.update&&i.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>ii.scrollMargins.of(e=>{let A=e.plugin(t);return A&&{top:A.top.scrollMargin(),bottom:A.bottom.scrollMargin()}})}),fQ=class{constructor(e,A,i){this.view=e,this.top=A,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let A of this.panels)A.destroy&&e.indexOf(A)<0&&A.destroy();this.panels=e,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 A=this.container||this.view.dom;A.insertBefore(this.dom,this.top?A.firstChild:null)}let e=this.dom.firstChild;for(let A of this.panels)if(A.dom.parentNode==this.dom){for(;e!=A.dom;)e=g$(e);e=e.nextSibling}else this.dom.insertBefore(A.dom,e);for(;e;)e=g$(e)}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 e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function g$(t){let e=t.nextSibling;return t.remove(),e}var Dd=We.define({enables:dAA});function BAA(t,e){let A,i=new Promise(a=>A=a),n=a=>U7A(a,e,A);t.state.field(cN,!1)?t.dispatch({effects:EAA.of(n)}):t.dispatch({effects:Hi.appendConfig.of(cN.init(()=>[n]))});let o=QAA.of(n);return{close:o,result:i.then(a=>((t.win.queueMicrotask||(s=>t.win.setTimeout(s,10)))(()=>{t.state.field(cN).indexOf(n)>-1&&t.dispatch({effects:o})}),a))}}var cN=va.define({create(){return[]},update(t,e){for(let A of e.effects)A.is(EAA)?t=[A.value].concat(t):A.is(QAA)&&(t=t.filter(i=>i!=A.value));return t},provide:t=>Dd.computeN([t],e=>e.field(t))}),EAA=Hi.define(),QAA=Hi.define();function U7A(t,e,A){let i=e.content?e.content(t,()=>a(null)):null;if(!i){if(i=io("form"),e.input){let r=io("input",e.input);/^(text|password|number|email|tel|url)$/.test(r.type)&&r.classList.add("cm-textfield"),r.name||(r.name="input"),i.appendChild(io("label",(e.label||"")+": ",r))}else i.appendChild(document.createTextNode(e.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(io("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let n=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let r=0;r{g.keyCode==27?(g.preventDefault(),a(null)):g.keyCode==13&&(g.preventDefault(),a(s))}),s.addEventListener("submit",g=>{g.preventDefault(),a(s)})}let o=io("div",i,io("button",{onclick:()=>a(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(o.className=e.class),o.classList.add("cm-dialog");function a(r){o.contains(o.ownerDocument.activeElement)&&t.focus(),A(r)}return{dom:o,top:e.top,mount:()=>{if(e.focus){let r;typeof e.focus=="string"?r=i.querySelector(e.focus):r=i.querySelector("input")||i.querySelector("button"),r&&"select"in r?r.select():r&&"focus"in r&&r.focus()}}}}var mg=class extends kl{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};mg.prototype.elementClass="";mg.prototype.toDOM=void 0;mg.prototype.mapMode=qr.TrackBefore;mg.prototype.startSide=mg.prototype.endSide=-1;mg.prototype.point=!0;var gD=We.define(),J7A=We.define(),Y7A={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>to.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},ef=We.define();function xD(t){return[hAA(),ef.of(cA(cA({},Y7A),t))]}var iF=We.define({combine:t=>t.some(e=>e)});function hAA(t){let e=[T7A];return t&&t.fixed===!1&&e.push(iF.of(!0)),e}var T7A=Go.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.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=t.state.facet(ef).map(e=>new vD(t,e)),this.fixed=!t.state.facet(iF);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.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(t){if(this.updateGutters(t)){let e=this.prevViewport,A=t.view.viewport,i=Math.min(e.to,A.to)-Math.max(e.from,A.from);this.syncGutters(i<(A.to-A.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(iF)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let A=to.iter(this.view.state.facet(gD),this.view.viewport.from),i=[],n=this.gutters.map(o=>new oF(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(o.type)){let a=!0;for(let r of o.type)if(r.type==Xr.Text&&a){nF(A,i,r.from);for(let s of n)s.line(this.view,r,i);a=!1}else if(r.widget)for(let s of n)s.widget(this.view,r)}else if(o.type==Xr.Text){nF(A,i,o.from);for(let a of n)a.line(this.view,o,i)}else if(o.widget)for(let a of n)a.widget(this.view,o);for(let o of n)o.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(ef),A=t.state.facet(ef),i=t.docChanged||t.heightChanged||t.viewportChanged||!to.eq(t.startState.facet(gD),t.state.facet(gD),t.view.viewport.from,t.view.viewport.to);if(e==A)for(let n of this.gutters)n.update(t)&&(i=!0);else{i=!0;let n=[];for(let o of A){let a=e.indexOf(o);a<0?n.push(new vD(this.view,o)):(this.gutters[a].update(t),n.push(this.gutters[a]))}for(let o of this.gutters)o.dom.remove(),n.indexOf(o)<0&&o.destroy();for(let o of n)o.config.side=="after"?this.getDOMAfter().appendChild(o.dom):this.dom.appendChild(o.dom);this.gutters=n}return i}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>ii.scrollMargins.of(e=>{let A=e.plugin(t);if(!A||A.gutters.length==0||!A.fixed)return null;let i=A.dom.offsetWidth*e.scaleX,n=A.domAfter?A.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==mo.LTR?{left:i,right:n}:{right:i,left:n}})});function l$(t){return Array.isArray(t)?t:[t]}function nF(t,e,A){for(;t.value&&t.from<=A;)t.from==A&&e.push(t.value),t.next()}var oF=class{constructor(e,A,i){this.gutter=e,this.height=i,this.i=0,this.cursor=to.iter(e.markers,A.from)}addElement(e,A,i){let{gutter:n}=this,o=(A.top-this.height)/e.scaleY,a=A.height/e.scaleY;if(this.i==n.elements.length){let r=new bD(e,a,o,i);n.elements.push(r),n.dom.appendChild(r.dom)}else n.elements[this.i].update(e,a,o,i);this.height=A.bottom,this.i++}line(e,A,i){let n=[];nF(this.cursor,n,A.from),i.length&&(n=n.concat(i));let o=this.gutter.config.lineMarker(e,A,n);o&&n.unshift(o);let a=this.gutter;n.length==0&&!a.config.renderEmptyElements||this.addElement(e,A,n)}widget(e,A){let i=this.gutter.config.widgetMarker(e,A.widget,A),n=i?[i]:null;for(let o of e.state.facet(J7A)){let a=o(e,A.widget,A);a&&(n||(n=[])).push(a)}n&&this.addElement(e,A,n)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let A=e.elements.pop();e.dom.removeChild(A.dom),A.destroy()}}},vD=class{constructor(e,A){this.view=e,this.config=A,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 A.domEventHandlers)this.dom.addEventListener(i,n=>{let o=n.target,a;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let s=o.getBoundingClientRect();a=(s.top+s.bottom)/2}else a=n.clientY;let r=e.lineBlockAtHeight(a-e.documentTop);A.domEventHandlers[i](e,r,n)&&n.preventDefault()});this.markers=l$(A.markers(e)),A.initialSpacer&&(this.spacer=new bD(e,0,0,[A.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let A=this.markers;if(this.markers=l$(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}let i=e.view.viewport;return!to.eq(this.markers,A,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},bD=class{constructor(e,A,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,A,i,n)}update(e,A,i,n){this.height!=A&&(this.height=A,this.dom.style.height=A+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),H7A(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,A){let i="cm-gutterElement",n=this.dom.firstChild;for(let o=0,a=0;;){let r=a,s=oo(r,s,g)||a(r,s,g):a}return i}})}}),tf=class extends mg{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function CN(t,e){return t.state.facet(mQ).formatNumber(e,t.state)}var P7A=ef.compute([mQ],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(z7A)},lineMarker(e,A,i){return i.some(n=>n.toDOM)?null:new tf(CN(e,e.state.doc.lineAt(A.from).number))},widgetMarker:(e,A,i)=>{for(let n of e.state.facet(O7A)){let o=n(e,A,i);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(mQ)!=e.state.facet(mQ),initialSpacer(e){return new tf(CN(e,c$(e.state.doc.lines)))},updateSpacer(e,A){let i=CN(A.view,c$(A.view.state.doc.lines));return i==e.number?e:new tf(i)},domEventHandlers:t.facet(mQ).domEventHandlers,side:"before"}));function uAA(t={}){return[mQ.of(t),hAA(),P7A]}function c$(t){let e=9;for(;e{let e=[],A=-1;for(let i of t.selection.ranges){let n=t.doc.lineAt(i.head).from;n>A&&(A=n,e.push(j7A.range(n)))}return to.of(e)});function fAA(){return q7A}var V7A=0,cf=class{constructor(e,A){this.from=e,this.to=A}},vi=class{constructor(e={}){this.id=V7A++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ps.match(e)),A=>{let i=e(A);return i===void 0?null:[this,i]}}};vi.closedBy=new vi({deserialize:t=>t.split(" ")});vi.openedBy=new vi({deserialize:t=>t.split(" ")});vi.group=new vi({deserialize:t=>t.split(" ")});vi.isolate=new vi({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});vi.contextHash=new vi({perNode:!0});vi.lookAhead=new vi({perNode:!0});vi.mounted=new vi({perNode:!0});var yd=class{constructor(e,A,i,n=!1){this.tree=e,this.overlay=A,this.parser=i,this.bracketed=n}static get(e){return e&&e.props&&e.props[vi.mounted.id]}},W7A=Object.create(null),ps=class t{constructor(e,A,i,n=0){this.name=e,this.props=A,this.id=i,this.flags=n}static define(e){let A=e.props&&e.props.length?Object.create(null):W7A,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new t(e.name||"",A,e.id,i);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(n)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");A[o[0].id]=o[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let A=this.prop(vi.group);return A?A.indexOf(e)>-1:!1}return this.id==e}static match(e){let A=Object.create(null);for(let i in e)for(let n of i.split(" "))A[n]=e[i];return i=>{for(let n=i.prop(vi.group),o=-1;o<(n?n.length:0);o++){let a=A[o<0?i.name:n[o]];if(a)return a}}}};ps.none=new ps("",Object.create(null),0,8);var Cf=class t{constructor(e){this.types=e;for(let A=0;A0;for(let s=this.cursor(a|Ra.IncludeAnonymous);;){let g=!1;if(s.from<=o&&s.to>=n&&(!r&&s.type.isAnonymous||A(s)!==!1)){if(s.firstChild())continue;g=!0}for(;g&&i&&(r||!s.type.isAnonymous)&&i(s),!s.nextSibling();){if(!s.parent())return;g=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let A in this.props)e.push([+A,this.props[A]]);return e}balance(e={}){return this.children.length<=8?this:pF(ps.none,this.children,this.positions,0,this.children.length,0,this.length,(A,i,n)=>new t(this.type,A,i,n,this.propValues),e.makeTree||((A,i,n)=>new t(ps.none,A,i,n)))}static build(e){return X7A(e)}};za.empty=new za(ps.none,[],[],0);var EF=class t{constructor(e,A){this.buffer=e,this.index=A}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 t(this.buffer,this.index)}},SI=class t{constructor(e,A,i){this.buffer=e,this.length=A,this.set=i}get type(){return ps.none}toString(){let e=[];for(let A=0;A0));s=a[s+3]);return r}slice(e,A,i){let n=this.buffer,o=new Uint16Array(A-e),a=0;for(let r=e,s=0;r=e&&Ae;case 1:return A<=e&&i>e;case 2:return i>e;case 4:return!0}}function If(t,e,A,i){for(var n;t.from==t.to||(A<1?t.from>=e:t.from>e)||(A>-1?t.to<=e:t.to0?s.length:-1;e!=l;e+=A){let C=s[e],I=g[e]+r.from;if(!(!(o&Ra.EnterBracketed&&C instanceof za&&((a=yd.get(C))===null||a===void 0?void 0:a.overlay)===null&&(I>=i||I+C.length<=i))&&!DAA(n,i,I,I+C.length))){if(C instanceof SI){if(o&Ra.ExcludeBuffers)continue;let d=C.findChild(0,C.buffer.length,A,i-I,n);if(d>-1)return new df(new hF(r,C,e,I),null,d)}else if(o&Ra.IncludeAnonymous||!C.type.isAnonymous||mF(C)){let d;if(!(o&Ra.IgnoreMounts)&&(d=yd.get(C))&&!d.overlay)return new t(d.tree,I,e,r);let B=new t(C,I,e,r);return o&Ra.IncludeAnonymous||!B.type.isAnonymous?B:B.nextChild(A<0?C.children.length-1:0,A,i,n,o)}}}if(o&Ra.IncludeAnonymous||!r.type.isAnonymous||(r.index>=0?e=r.index+A:e=A<0?-1:r._parent._tree.children.length,r=r._parent,!r))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,A,i=0){let n;if(!(i&Ra.IgnoreOverlays)&&(n=yd.get(this._tree))&&n.overlay){let o=e-this.from,a=i&Ra.EnterBracketed&&n.bracketed;for(let{from:r,to:s}of n.overlay)if((A>0||a?r<=o:r=o:s>o))return new t(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,A,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function pAA(t,e,A,i){let n=t.cursor(),o=[];if(!n.firstChild())return o;if(A!=null){for(let a=!1;!a;)if(a=n.type.is(A),!n.nextSibling())return o}for(;;){if(i!=null&&n.type.is(i))return o;if(n.type.is(e)&&o.push(n.node),!n.nextSibling())return i==null?o:[]}}function QF(t,e,A=e.length-1){for(let i=t;A>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[A]&&e[A]!=i.name)return!1;A--}}return!0}var hF=class{constructor(e,A,i,n){this.parent=e,this.buffer=A,this.index=i,this.start=n}},df=class t extends FD{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,A,i){super(),this.context=e,this._parent=A,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,A,i){let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],e,A-this.context.start,i);return o<0?null:new t(this.context,this,o)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,A,i=0){if(i&Ra.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],A>0?1:-1,e-this.context.start,A);return o<0?null:new t(this.context,this,o)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,A=e.buffer[this.index+3];return A<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,A):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,A=this._parent?this._parent.index+4:0;return this.index==A?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(A,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],A=[],{buffer:i}=this.context,n=this.index+4,o=i.buffer[this.index+3];if(o>n){let a=i.buffer[this.index+1];e.push(i.slice(n,o,a)),A.push(0)}return new za(this.type,e,A,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function yAA(t){if(!t.length)return null;let e=0,A=t[0];for(let o=1;oA.from||a.to=e){let r=new G0(a.tree,a.overlay[0].from+o.from,-1,o);(n||(n=[i])).push(If(r,e,A,!1))}}return n?yAA(n):i}var Bf=class{get name(){return this.type.name}constructor(e,A=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=A&~Ra.EnterBracketed,e instanceof G0)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,A){this.index=e;let{start:i,buffer:n}=this.buffer;return this.type=A||n.set.types[n.buffer[e]],this.from=i+n.buffer[e+1],this.to=i+n.buffer[e+2],!0}yield(e){return e?e instanceof G0?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,A,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,A,i,this.mode));let{buffer:n}=this.buffer,o=n.findChild(this.index+4,n.buffer[this.index+3],e,A-this.buffer.start,i);return o<0?!1:(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,A,i=this.mode){return this.buffer?i&Ra.ExcludeBuffers?!1:this.enterChild(1,e,A):this.yield(this._tree.enter(e,A,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ra.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ra.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:A}=this.buffer,i=this.stack.length-1;if(e<0){let n=i<0?0:this.stack[i]+4;if(this.index!=n)return this.yieldBuf(A.findChild(n,this.index,-1,0,4))}else{let n=A.buffer[this.index+3];if(n<(i<0?A.buffer.length:A.buffer[this.stack[i]+3]))return this.yieldBuf(n)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let A,i,{buffer:n}=this;if(n){if(e>0){if(this.index-1)for(let o=A+e,a=e<0?-1:i._tree.children.length;o!=a;o+=e){let r=i._tree.children[o];if(this.mode&Ra.IncludeAnonymous||r instanceof SI||!r.type.isAnonymous||mF(r))return!1}return!0}move(e,A){if(A&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,A=0){for(;(this.from==this.to||(A<1?this.from>=e:this.from>e)||(A>-1?this.to<=e:this.to=0;){for(let a=e;a;a=a._parent)if(a.index==n){if(n==this.index)return a;A=a,i=o+1;break A}n=this.stack[--o]}for(let n=i;n=0;o--){if(o<0)return QF(this._tree,e,n);let a=i[A.buffer[this.stack[o]]];if(!a.isAnonymous){if(e[n]&&e[n]!=a.name)return!1;n--}}return!0}};function mF(t){return t.children.some(e=>e instanceof SI||!e.type.isAnonymous||mF(e))}function X7A(t){var e;let{buffer:A,nodeSet:i,maxBufferLength:n=1024,reused:o=[],minRepeatType:a=i.types.length}=t,r=Array.isArray(A)?new EF(A,A.length):A,s=i.types,g=0,l=0;function C(D,F,_,U,J,j){let{id:AA,start:O,end:DA,size:P}=r,aA=l,iA=g;if(P<0)if(r.next(),P==-1){let YA=o[AA];_.push(YA),U.push(O-D);return}else if(P==-3){g=AA;return}else if(P==-4){l=AA;return}else throw new RangeError(`Unrecognized record size: ${P}`);let BA=s[AA],oA,sA,hA=O-D;if(DA-O<=n&&(sA=Q(r.pos-F,J))){let YA=new Uint16Array(sA.size-sA.skip),ee=r.pos-sA.size,UA=YA.length;for(;r.pos>ee;)UA=f(sA.start,YA,UA);oA=new SI(YA,DA-sA.start,i),hA=sA.start-D}else{let YA=r.pos-P;r.next();let ee=[],UA=[],mA=AA>=a?AA:-1,KA=0,Pe=DA;for(;r.pos>YA;)mA>=0&&r.id==mA&&r.size>=0?(r.end<=Pe-n&&(B(ee,UA,O,KA,r.end,Pe,mA,aA,iA),KA=ee.length,Pe=r.end),r.next()):j>2500?I(O,YA,ee,UA):C(O,YA,ee,UA,mA,j+1);if(mA>=0&&KA>0&&KA-1&&KA>0){let Je=d(BA,iA);oA=pF(BA,ee,UA,0,ee.length,0,DA-O,Je,Je)}else oA=E(BA,ee,UA,DA-O,aA-DA,iA)}_.push(oA),U.push(hA)}function I(D,F,_,U){let J=[],j=0,AA=-1;for(;r.pos>F;){let{id:O,start:DA,end:P,size:aA}=r;if(aA>4)r.next();else{if(AA>-1&&DA=0;P-=3)O[aA++]=J[P],O[aA++]=J[P+1]-DA,O[aA++]=J[P+2]-DA,O[aA++]=aA;_.push(new SI(O,J[2]-DA,i)),U.push(DA-D)}}function d(D,F){return(_,U,J)=>{let j=0,AA=_.length-1,O,DA;if(AA>=0&&(O=_[AA])instanceof za){if(!AA&&O.type==D&&O.length==J)return O;(DA=O.prop(vi.lookAhead))&&(j=U[AA]+O.length+DA)}return E(D,_,U,J,j,F)}}function B(D,F,_,U,J,j,AA,O,DA){let P=[],aA=[];for(;D.length>U;)P.push(D.pop()),aA.push(F.pop()+_-J);D.push(E(i.types[AA],P,aA,j-J,O-j,DA)),F.push(J-_)}function E(D,F,_,U,J,j,AA){if(j){let O=[vi.contextHash,j];AA=AA?[O].concat(AA):[O]}if(J>25){let O=[vi.lookAhead,J];AA=AA?[O].concat(AA):[O]}return new za(D,F,_,U,AA)}function Q(D,F){let _=r.fork(),U=0,J=0,j=0,AA=_.end-n,O={size:0,start:0,skip:0};A:for(let DA=_.pos-D;_.pos>DA;){let P=_.size;if(_.id==F&&P>=0){O.size=U,O.start=J,O.skip=j,j+=4,U+=4,_.next();continue}let aA=_.pos-P;if(P<0||aA=a?4:0,BA=_.start;for(_.next();_.pos>aA;){if(_.size<0)if(_.size==-3||_.size==-4)iA+=4;else break A;else _.id>=a&&(iA+=4);_.next()}J=BA,U+=P,j+=iA}return(F<0||U==D)&&(O.size=U,O.start=J,O.skip=j),O.size>4?O:void 0}function f(D,F,_){let{id:U,start:J,end:j,size:AA}=r;if(r.next(),AA>=0&&U4){let DA=r.pos-(AA-4);for(;r.pos>DA;)_=f(D,F,_)}F[--_]=O,F[--_]=j-D,F[--_]=J-D,F[--_]=U}else AA==-3?g=U:AA==-4&&(l=U);return _}let b=[],S=[];for(;r.pos>0;)C(t.start||0,t.bufferStart||0,b,S,-1,0);let M=(e=t.length)!==null&&e!==void 0?e:b.length?S[0]+b[0].length:0;return new za(s[t.topID],b.reverse(),S.reverse(),M)}var wAA=new WeakMap;function ND(t,e){if(!t.isAnonymous||e instanceof SI||e.type!=t)return 1;let A=wAA.get(e);if(A==null){A=1;for(let i of e.children){if(i.type!=t||!(i instanceof za)){A=1;break}A+=ND(t,i)}wAA.set(e,A)}return A}function pF(t,e,A,i,n,o,a,r,s){let g=0;for(let B=i;B=l)break;F+=_}if(S==M+1){if(F>l){let _=B[M];d(_.children,_.positions,0,_.children.length,E[M]+b);continue}C.push(B[M])}else{let _=E[S-1]+B[S-1].length-D;C.push(pF(t,B,E,M,S,D,_,null,s))}I.push(D+b-o)}}return d(e,A,i,n,0),(r||s)(C,I,a)}var vd=class t{constructor(e,A,i,n,o=!1,a=!1){this.from=e,this.to=A,this.tree=i,this.offset=n,this.open=(o?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,A=[],i=!1){let n=[new t(0,e.length,e,0,!1,i)];for(let o of A)o.to>e.length&&n.push(o);return n}static applyChanges(e,A,i=128){if(!A.length)return e;let n=[],o=1,a=e.length?e[0]:null;for(let r=0,s=0,g=0;;r++){let l=r=i)for(;a&&a.from=I.from||C<=I.to||g){let d=Math.max(I.from,s)-g,B=Math.min(I.to,C)-g;I=d>=B?null:new t(d,B,I.tree,I.offset+g,r>0,!!l)}if(I&&n.push(I),a.to>C)break;a=onew cf(n.from,n.to)):[new cf(0,0)]:[new cf(0,e.length)],this.createParse(e,A||[],i)}parse(e,A,i){let n=this.startParse(e,A,i);for(;;){let o=n.advance();if(o)return o}}},fF=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,A){return this.string.slice(e,A)}};var z8e=new vi({perNode:!0});var $7A=0,Rc=class t{constructor(e,A,i,n){this.name=e,this.set=A,this.base=i,this.modified=n,this.id=$7A++}toString(){let{name:e}=this;for(let A of this.modified)A.name&&(e=`${A.name}(${e})`);return e}static define(e,A){let i=typeof e=="string"?e:"?";if(e instanceof t&&(A=e),A?.base)throw new Error("Can not derive from a modified tag");let n=new t(i,[],null,[]);if(n.set.push(n),A)for(let o of A.set)n.set.push(o);return n}static defineModifier(e){let A=new KD(e);return i=>i.modified.indexOf(A)>-1?i:KD.get(i.base||i,i.modified.concat(A).sort((n,o)=>n.id-o.id))}},AbA=0,KD=class t{constructor(e){this.name=e,this.instances=[],this.id=AbA++}static get(e,A){if(!A.length)return e;let i=A[0].instances.find(r=>r.base==e&&ebA(A,r.modified));if(i)return i;let n=[],o=new Rc(e.name,n,e,A);for(let r of A)r.instances.push(o);let a=tbA(A);for(let r of e.set)if(!r.modified.length)for(let s of a)n.push(t.get(r,s));return o}};function ebA(t,e){return t.length==e.length&&t.every((A,i)=>A==e[i])}function tbA(t){let e=[[]];for(let A=0;Ai.length-A.length)}function UD(t){let e=Object.create(null);for(let A in t){let i=t[A];Array.isArray(i)||(i=[i]);for(let n of A.split(" "))if(n){let o=[],a=2,r=n;for(let C=0;;){if(r=="..."&&C>0&&C+3==n.length){a=1;break}let I=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!I)throw new RangeError("Invalid path: "+n);if(o.push(I[0]=="*"?"":I[0][0]=='"'?JSON.parse(I[0]):I[0]),C+=I[0].length,C==n.length)break;let d=n[C++];if(C==n.length&&d=="!"){a=0;break}if(d!="/")throw new RangeError("Invalid path: "+n);r=n.slice(C)}let s=o.length-1,g=o[s];if(!g)throw new RangeError("Invalid path: "+n);let l=new Md(i,a,s>0?o.slice(0,s):null);e[g]=l.sort(e[g])}}return MAA.add(e)}var MAA=new vi({combine(t,e){let A,i,n;for(;t||e;){if(!t||e&&t.depth>=e.depth?(n=e,e=e.next):(n=t,t=t.next),A&&A.mode==n.mode&&!n.context&&!A.context)continue;let o=new Md(n.tags,n.mode,n.context);A?A.next=o:i=o,A=o}return i}}),Md=class{constructor(e,A,i,n){this.tags=e,this.mode=A,this.context=i,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let a=n;for(let r of o)for(let s of r.set){let g=A[s.id];if(g){a=a?a+" "+g:g;break}}return a},scope:i}}function ibA(t,e){let A=null;for(let i of t){let n=i.style(e);n&&(A=A?A+" "+n:n)}return A}function kAA(t,e,A,i=0,n=t.length){let o=new DF(i,Array.isArray(e)?e:[e],A);o.highlightRange(t.cursor(),i,n,"",o.highlighters),o.flush(n)}var DF=class{constructor(e,A,i){this.at=e,this.highlighters=A,this.span=i,this.class=""}startSpan(e,A){A!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=A)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,A,i,n,o){let{type:a,from:r,to:s}=e;if(r>=i||s<=A)return;a.isTop&&(o=this.highlighters.filter(d=>!d.scope||d.scope(a)));let g=n,l=nbA(e)||Md.empty,C=ibA(o,l.tags);if(C&&(g&&(g+=" "),g+=C,l.mode==1&&(n+=(n?" ":"")+C)),this.startSpan(Math.max(A,r),g),l.opaque)return;let I=e.tree&&e.tree.prop(vi.mounted);if(I&&I.overlay){let d=e.node.enter(I.overlay[0].from+r,1),B=this.highlighters.filter(Q=>!Q.scope||Q.scope(I.tree.type)),E=e.firstChild();for(let Q=0,f=r;;Q++){let b=Q=S||!e.nextSibling())););if(!b||S>i)break;f=b.to+r,f>A&&(this.highlightRange(d.cursor(),Math.max(A,b.from+r),Math.min(i,f),"",B),this.startSpan(Math.min(i,f),g))}E&&e.parent()}else if(e.firstChild()){I&&(n="");do if(!(e.to<=A)){if(e.from>=i)break;this.highlightRange(e,A,i,n,o),this.startSpan(Math.min(i,e.to),g)}while(e.nextSibling());e.parent()}}};function nbA(t){let e=t.type.prop(MAA);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var Ve=Rc.define,_D=Ve(),xI=Ve(),vAA=Ve(xI),bAA=Ve(xI),RI=Ve(),LD=Ve(RI),wF=Ve(RI),J0=Ve(),bd=Ve(J0),K0=Ve(),U0=Ve(),yF=Ve(),Ef=Ve(yF),GD=Ve(),Re={comment:_D,lineComment:Ve(_D),blockComment:Ve(_D),docComment:Ve(_D),name:xI,variableName:Ve(xI),typeName:vAA,tagName:Ve(vAA),propertyName:bAA,attributeName:Ve(bAA),className:Ve(xI),labelName:Ve(xI),namespace:Ve(xI),macroName:Ve(xI),literal:RI,string:LD,docString:Ve(LD),character:Ve(LD),attributeValue:Ve(LD),number:wF,integer:Ve(wF),float:Ve(wF),bool:Ve(RI),regexp:Ve(RI),escape:Ve(RI),color:Ve(RI),url:Ve(RI),keyword:K0,self:Ve(K0),null:Ve(K0),atom:Ve(K0),unit:Ve(K0),modifier:Ve(K0),operatorKeyword:Ve(K0),controlKeyword:Ve(K0),definitionKeyword:Ve(K0),moduleKeyword:Ve(K0),operator:U0,derefOperator:Ve(U0),arithmeticOperator:Ve(U0),logicOperator:Ve(U0),bitwiseOperator:Ve(U0),compareOperator:Ve(U0),updateOperator:Ve(U0),definitionOperator:Ve(U0),typeOperator:Ve(U0),controlOperator:Ve(U0),punctuation:yF,separator:Ve(yF),bracket:Ef,angleBracket:Ve(Ef),squareBracket:Ve(Ef),paren:Ve(Ef),brace:Ve(Ef),content:J0,heading:bd,heading1:Ve(bd),heading2:Ve(bd),heading3:Ve(bd),heading4:Ve(bd),heading5:Ve(bd),heading6:Ve(bd),contentSeparator:Ve(J0),list:Ve(J0),quote:Ve(J0),emphasis:Ve(J0),strong:Ve(J0),link:Ve(J0),monospace:Ve(J0),strikethrough:Ve(J0),inserted:Ve(),deleted:Ve(),changed:Ve(),invalid:Ve(),meta:GD,documentMeta:Ve(GD),annotation:Ve(GD),processingInstruction:Ve(GD),definition:Rc.defineModifier("definition"),constant:Rc.defineModifier("constant"),function:Rc.defineModifier("function"),standard:Rc.defineModifier("standard"),local:Rc.defineModifier("local"),special:Rc.defineModifier("special")};for(let t in Re){let e=Re[t];e instanceof Rc&&(e.name=t)}var j8e=vF([{tag:Re.link,class:"tok-link"},{tag:Re.heading,class:"tok-heading"},{tag:Re.emphasis,class:"tok-emphasis"},{tag:Re.strong,class:"tok-strong"},{tag:Re.keyword,class:"tok-keyword"},{tag:Re.atom,class:"tok-atom"},{tag:Re.bool,class:"tok-bool"},{tag:Re.url,class:"tok-url"},{tag:Re.labelName,class:"tok-labelName"},{tag:Re.inserted,class:"tok-inserted"},{tag:Re.deleted,class:"tok-deleted"},{tag:Re.literal,class:"tok-literal"},{tag:Re.string,class:"tok-string"},{tag:Re.number,class:"tok-number"},{tag:[Re.regexp,Re.escape,Re.special(Re.string)],class:"tok-string2"},{tag:Re.variableName,class:"tok-variableName"},{tag:Re.local(Re.variableName),class:"tok-variableName tok-local"},{tag:Re.definition(Re.variableName),class:"tok-variableName tok-definition"},{tag:Re.special(Re.variableName),class:"tok-variableName2"},{tag:Re.definition(Re.propertyName),class:"tok-propertyName tok-definition"},{tag:Re.typeName,class:"tok-typeName"},{tag:Re.namespace,class:"tok-namespace"},{tag:Re.className,class:"tok-className"},{tag:Re.macroName,class:"tok-macroName"},{tag:Re.propertyName,class:"tok-propertyName"},{tag:Re.operator,class:"tok-operator"},{tag:Re.comment,class:"tok-comment"},{tag:Re.meta,class:"tok-meta"},{tag:Re.invalid,class:"tok-invalid"},{tag:Re.punctuation,class:"tok-punctuation"}]);var bF,NQ=new vi;function obA(t){return We.define({combine:t?e=>e.concat(t):void 0})}var abA=new vi,Nc=(()=>{class t{constructor(A,i,n=[],o=""){this.data=A,this.name=o,er.prototype.hasOwnProperty("tree")||Object.defineProperty(er.prototype,"tree",{get(){return xr(this)}}),this.parser=i,this.extension=[NI.of(this),er.languageData.of((a,r,s)=>{let g=SAA(a,r,s),l=g.type.prop(NQ);if(!l)return[];let C=a.facet(l),I=g.type.prop(abA);if(I){let d=g.resolve(r-g.from,s);for(let B of I)if(B.test(d,a)){let E=a.facet(B.facet);return B.type=="replace"?E:E.concat(C)}}return C})].concat(n)}isActiveAt(A,i,n=-1){return SAA(A,i,n).type.prop(NQ)==this.data}findRegions(A){let i=A.facet(NI);if(i?.data==this.data)return[{from:0,to:A.doc.length}];if(!i||!i.allowsNesting)return[];let n=[],o=(a,r)=>{if(a.prop(NQ)==this.data){n.push({from:r,to:r+a.length});return}let s=a.prop(vi.mounted);if(s){if(s.tree.prop(NQ)==this.data){if(s.overlay)for(let g of s.overlay)n.push({from:g.from+r,to:g.to+r});else n.push({from:r,to:r+a.length});return}else if(s.overlay){let g=n.length;if(o(s.tree,s.overlay[0].from+r),n.length>g)return}}for(let g=0;gi.isTop?A:void 0)]}),e.name)}configure(e,A){return new t(this.data,this.parser.configure(e),A||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function xr(t){let e=t.field(Nc.state,!1);return e?e.tree:za.empty}function UF(t,e,A=50){var i;let n=(i=t.field(Nc.state,!1))===null||i===void 0?void 0:i.context;if(!n)return null;let o=n.viewport;n.updateViewport({from:0,to:e});let a=n.isDone(e)||n.work(A,e)?n.tree:null;return n.updateViewport(o),a}var xF=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,A){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,A):this.string.slice(e-i,A-i)}},Qf=null,RF=class t{constructor(e,A,i=[],n,o,a,r,s){this.parser=e,this.state=A,this.fragments=i,this.tree=n,this.treeLen=o,this.viewport=a,this.skipped=r,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,A,i){return new t(e,A,[],za.empty,0,i,[],null)}startParse(){return this.parser.startParse(new xF(this.state.doc),this.fragments)}work(e,A){return A!=null&&A>=this.state.doc.length&&(A=void 0),this.tree!=za.empty&&this.isDone(A??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),A!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>A)&&A=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(A=this.parse.advance()););}),this.treeLen=e,this.tree=A,this.fragments=this.withoutTempSkipped(vd.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let A=Qf;Qf=this;try{return e()}finally{Qf=A}}withoutTempSkipped(e){for(let A;A=this.tempSkipped.pop();)e=xAA(e,A.from,A.to);return e}changes(e,A){let{fragments:i,tree:n,treeLen:o,viewport:a,skipped:r}=this;if(this.takeTree(),!e.empty){let s=[];if(e.iterChangedRanges((g,l,C,I)=>s.push({fromA:g,toA:l,fromB:C,toB:I})),i=vd.applyChanges(i,s),n=za.empty,o=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){r=[];for(let g of this.skipped){let l=e.mapPos(g.from,1),C=e.mapPos(g.to,-1);le.from&&(this.fragments=xAA(this.fragments,n,o),this.skipped.splice(i--,1))}return this.skipped.length>=A?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,A){this.skipped.push({from:e,to:A})}static getSkippingParser(e){return new class extends RQ{createParse(A,i,n){let o=n[0].from,a=n[n.length-1].to;return{parsedPos:o,advance(){let s=Qf;if(s){for(let g of n)s.tempSkipped.push(g);e&&(s.scheduleOn=s.scheduleOn?Promise.all([s.scheduleOn,e]):e)}return this.parsedPos=a,new za(ps.none,[],[],a-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let A=this.fragments;return this.treeLen>=e&&A.length&&A[0].from==0&&A[0].to>=e}static get(){return Qf}};function xAA(t,e,A){return vd.applyChanges(t,[{fromA:e,toA:A,fromB:e,toB:A}])}var uf=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let A=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),A.viewport.to);return A.work(20,i)||A.takeTree(),new t(A)}static init(e){let A=Math.min(3e3,e.doc.length),i=RF.create(e.facet(NI).parser,e,{from:0,to:A});return i.work(20,A)||i.takeTree(),new t(i)}};Nc.state=va.define({create:uf.init,update(t,e){for(let A of e.effects)if(A.is(Nc.setState))return A.value;return e.startState.facet(NI)!=e.state.facet(NI)?uf.init(e.state):t.apply(e)}});var GAA=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(GAA=t=>{let e=-1,A=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(A):cancelIdleCallback(e)});var MF=typeof navigator<"u"&&(!((bF=navigator.scheduling)===null||bF===void 0)&&bF.isInputPending)?()=>navigator.scheduling.isInputPending():null,rbA=Go.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let A=this.view.state.field(Nc.state).context;(A.updateViewport(e.view.viewport)||this.view.viewport.to>A.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(A)}scheduleWork(){if(this.working)return;let{state:e}=this.view,A=e.field(Nc.state);(A.tree!=A.context.tree||!A.context.isDone(e.doc.length))&&(this.working=GAA(this.work))}work(e){this.working=null;let A=Date.now();if(this.chunkEndn+1e3,s=o.context.work(()=>MF&&MF()||Date.now()>a,n+(r?0:1e5));this.chunkBudget-=Date.now()-A,(s||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Nc.setState.of(new uf(o.context))})),this.chunkBudget>0&&!(s&&!r)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(A=>Sr(this.view.state,A)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),NI=We.define({combine(t){return t.length?t[0]:null},enables:t=>[Nc.state,rbA,ii.contentAttributes.compute([t],e=>{let A=e.facet(t);return A&&A.name?{"data-language":A.name}:{}})]}),YD=class{constructor(e,A=[]){this.language=e,this.support=A,this.extension=[e,A]}};var sbA=We.define(),xd=We.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(A=>A!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function _c(t){let e=t.facet(xd);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function LQ(t,e){let A="",i=t.tabSize,n=t.facet(xd)[0];if(n==" "){for(;e>=i;)A+=" ",e-=i;n=" "}for(let o=0;o=e?gbA(t,A,e):null}var kd=class{constructor(e,A={}){this.state=e,this.options=A,this.unit=_c(e)}lineAt(e,A=1){let i=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return n!=null&&n>=i.from&&n<=i.to?o&&n==e?{text:"",from:e}:(A<0?n-1&&(o+=a-this.countColumn(i,i.search(/\S|$/))),o}countColumn(e,A=e.length){return KC(e,this.state.tabSize,A)}lineIndent(e,A=1){let{text:i,from:n}=this.lineAt(e,A),o=this.options.overrideIndentation;if(o){let a=o(n);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},JF=new vi;function gbA(t,e,A){let i=e.resolveStack(A),n=e.resolveInner(A,-1).resolve(A,0).enterUnfinishedNodesBefore(A);if(n!=i.node){let o=[];for(let a=n;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)o.push(a);for(let a=o.length-1;a>=0;a--)i={node:o[a],next:i}}return KAA(i,t,A)}function KAA(t,e,A){for(let i=t;i;i=i.next){let n=cbA(i.node);if(n)return n(NF.create(e,A,i))}return 0}function lbA(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function cbA(t){let e=t.type.prop(JF);if(e)return e;let A=t.firstChild,i;if(A&&(i=A.type.prop(vi.closedBy))){let n=t.lastChild,o=n&&i.indexOf(n.name)>-1;return a=>BbA(a,!0,1,void 0,o&&!lbA(a)?n.from:void 0)}return t.parent==null?CbA:null}function CbA(){return 0}var NF=class t extends kd{constructor(e,A,i){super(e.state,e.options),this.base=e,this.pos=A,this.context=i}get node(){return this.context.node}static create(e,A,i){return new t(e,A,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let A=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(A.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(IbA(i,e))break;A=this.state.doc.lineAt(i.from)}return this.lineIndent(A.from)}continue(){return KAA(this.context.next,this.base,this.pos)}};function IbA(t,e){for(let A=e;A;A=A.parent)if(t==A)return!0;return!1}function dbA(t){let e=t.node,A=e.childAfter(e.from),i=e.lastChild;if(!A)return null;let n=t.options.simulateBreak,o=t.state.doc.lineAt(A.from),a=n==null||n<=o.from?o.to:Math.min(o.to,n);for(let r=A.to;;){let s=e.childAfter(r);if(!s||s==i)return null;if(!s.type.isSkipped){if(s.from>=a)return null;let g=/^ */.exec(o.text.slice(A.to-o.from))[0].length;return{from:A.from,to:A.to+g}}r=s.to}}function BbA(t,e,A,i,n){let o=t.textAfter,a=o.match(/^\s*/)[0].length,r=i&&o.slice(a,a+i.length)==i||n==t.pos+a,s=e?dbA(t):null;return s?r?t.column(s.from):t.column(s.to):t.baseIndent+(r?0:t.unit*A)}function YF({except:t,units:e=1}={}){return A=>{let i=t&&t.test(A.textAfter);return A.baseIndent+(i?0:e*A.unit)}}var EbA=200;function UAA(){return er.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let A=t.newDoc,{head:i}=t.newSelection.main,n=A.lineAt(i);if(i>n.from+EbA)return t;let o=A.sliceString(n.from,i);if(!e.some(g=>g.test(o)))return t;let{state:a}=t,r=-1,s=[];for(let{head:g}of a.selection.ranges){let l=a.doc.lineAt(g);if(l.from==r)continue;r=l.from;let C=HD(a,l.from);if(C==null)continue;let I=/^\s*/.exec(l.text)[0],d=LQ(a,C);I!=d&&s.push({from:l.from,to:l.from+I.length,insert:d})}return s.length?[t,{changes:s,sequential:!0}]:t})}var TF=We.define(),ff=new vi;function JAA(t){let e=t.firstChild,A=t.lastChild;return e&&e.toA)continue;if(o&&r.from=e&&g.to>A&&(o=g)}}return o}function hbA(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function FQ(t,e,A){for(let i of t.facet(TF)){let n=i(t,e,A);if(n)return n}return QbA(t,e,A)}function YAA(t,e){let A=e.mapPos(t.from,1),i=e.mapPos(t.to,-1);return A>=i?void 0:{from:A,to:i}}var GQ=Hi.define({map:YAA}),mf=Hi.define({map:YAA});function TAA(t){let e=[];for(let{head:A}of t.state.selection.ranges)e.some(i=>i.from<=A&&i.to>=A)||e.push(t.lineBlockAt(A));return e}var Sd=va.define({create(){return yt.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((A,i)=>t=RAA(t,A,i)),t=t.map(e.changes);for(let A of e.effects)if(A.is(GQ)&&!ubA(t,A.value.from,A.value.to)){let{preparePlaceholder:i}=e.state.facet(OF),n=i?yt.replace({widget:new FF(i(e.state,A.value))}):NAA;t=t.update({add:[n.range(A.value.from,A.value.to)]})}else A.is(mf)&&(t=t.update({filter:(i,n)=>A.value.from!=i||A.value.to!=n,filterFrom:A.value.from,filterTo:A.value.to}));return e.selection&&(t=RAA(t,e.selection.main.head)),t},provide:t=>ii.decorations.from(t),toJSON(t,e){let A=[];return t.between(0,e.doc.length,(i,n)=>{A.push(i,n)}),A},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let A=0;A{ne&&(i=!0)}),i?t.update({filterFrom:e,filterTo:A,filter:(n,o)=>n>=A||o<=e}):t}function TD(t,e,A){var i;let n=null;return(i=t.field(Sd,!1))===null||i===void 0||i.between(e,A,(o,a)=>{(!n||n.from>o)&&(n={from:o,to:a})}),n}function ubA(t,e,A){let i=!1;return t.between(e,e,(n,o)=>{n==e&&o==A&&(i=!0)}),i}function HAA(t,e){return t.field(Sd,!1)?e:e.concat(Hi.appendConfig.of(PAA()))}var fbA=t=>{for(let e of TAA(t)){let A=FQ(t.state,e.from,e.to);if(A)return t.dispatch({effects:HAA(t.state,[GQ.of(A),zAA(t,A)])}),!0}return!1},HF=t=>{if(!t.state.field(Sd,!1))return!1;let e=[];for(let A of TAA(t)){let i=TD(t.state,A.from,A.to);i&&e.push(mf.of(i),zAA(t,i,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function zAA(t,e,A=!0){let i=t.state.doc.lineAt(e.from).number,n=t.state.doc.lineAt(e.to).number;return ii.announce.of(`${t.state.phrase(A?"Folded lines":"Unfolded lines")} ${i} ${t.state.phrase("to")} ${n}.`)}var mbA=t=>{let{state:e}=t,A=[];for(let i=0;i{let e=t.state.field(Sd,!1);if(!e||!e.size)return!1;let A=[];return e.between(0,t.state.doc.length,(i,n)=>{A.push(mf.of({from:i,to:n}))}),t.dispatch({effects:A}),!0};var OAA=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:fbA},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:HF},{key:"Ctrl-Alt-[",run:mbA},{key:"Ctrl-Alt-]",run:zF}],pbA={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},OF=We.define({combine(t){return kr(t,pbA)}});function PAA(t){let e=[Sd,DbA];return t&&e.push(OF.of(t)),e}function jAA(t,e){let{state:A}=t,i=A.facet(OF),n=a=>{let r=t.lineBlockAt(t.posAtDOM(a.target)),s=TD(t.state,r.from,r.to);s&&t.dispatch({effects:mf.of(s)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(t,n,e);let o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",A.phrase("folded code")),o.title=A.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=n,o}var NAA=yt.replace({widget:new class extends fg{toDOM(t){return jAA(t,null)}}}),FF=class extends fg{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return jAA(e,this.value)}},wbA={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},hf=class extends mg{constructor(e,A){super(),this.config=e,this.open=A}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let A=document.createElement("span");return A.textContent=this.open?this.config.openText:this.config.closedText,A.title=e.state.phrase(this.open?"Fold line":"Unfold line"),A}};function qAA(t={}){let e=cA(cA({},wbA),t),A=new hf(e,!0),i=new hf(e,!1),n=Go.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(NI)!=a.state.facet(NI)||a.startState.field(Sd,!1)!=a.state.field(Sd,!1)||xr(a.startState)!=xr(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let r=new Wr;for(let s of a.viewportLineBlocks){let g=TD(a.state,s.from,s.to)?i:FQ(a.state,s.from,s.to)?A:null;g&&r.add(s.from,s.from,g)}return r.finish()}}),{domEventHandlers:o}=e;return[n,xD({class:"cm-foldGutter",markers(a){var r;return((r=a.plugin(n))===null||r===void 0?void 0:r.markers)||to.empty},initialSpacer(){return new hf(e,!1)},domEventHandlers:Ge(cA({},o),{click:(a,r,s)=>{if(o.click&&o.click(a,r,s))return!0;let g=TD(a.state,r.from,r.to);if(g)return a.dispatch({effects:mf.of(g)}),!0;let l=FQ(a.state,r.from,r.to);return l?(a.dispatch({effects:GQ.of(l)}),!0):!1}})}),PAA()]}var DbA=ii.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"}}),_Q=class t{constructor(e,A){this.specs=e;let i;function n(r){let s=Sl.newName();return(i||(i=Object.create(null)))["."+s]=r,s}let o=typeof A.all=="string"?A.all:A.all?n(A.all):void 0,a=A.scope;this.scope=a instanceof Nc?r=>r.prop(NQ)==a.data:a?r=>r==a:void 0,this.style=vF(e.map(r=>({tag:r.tag,class:r.class||n(Object.assign({},r,{tag:null}))})),{all:o}).style,this.module=i?new Sl(i):null,this.themeType=A.themeType}static define(e,A){return new t(e,A||{})}},_F=We.define(),VAA=We.define({combine(t){return t.length?[t[0]]:null}});function kF(t){let e=t.facet(_F);return e.length?e:t.facet(VAA)}function PF(t,e){let A=[ybA],i;return t instanceof _Q&&(t.module&&A.push(ii.styleModule.of(t.module)),i=t.themeType),e?.fallback?A.push(VAA.of(t)):i?A.push(_F.computeN([ii.darkTheme],n=>n.facet(ii.darkTheme)==(i=="dark")?[t]:[])):A.push(_F.of(t)),A}var LF=class{constructor(e){this.markCache=Object.create(null),this.tree=xr(e.state),this.decorations=this.buildDeco(e,kF(e.state)),this.decoratedTo=e.viewport.to}update(e){let A=xr(e.state),i=kF(e.state),n=i!=kF(e.startState),{viewport:o}=e.view,a=e.changes.mapPos(this.decoratedTo,1);A.length=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(A!=this.tree||e.viewportChanged||n)&&(this.tree=A,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=o.to)}buildDeco(e,A){if(!A||!this.tree.length)return yt.none;let i=new Wr;for(let{from:n,to:o}of e.visibleRanges)kAA(this.tree,A,(a,r,s)=>{i.add(a,r,this.markCache[s]||(this.markCache[s]=yt.mark({class:s})))},n,o);return i.finish()}},ybA=bc.high(Go.fromClass(LF,{decorations:t=>t.decorations})),WAA=_Q.define([{tag:Re.meta,color:"#404740"},{tag:Re.link,textDecoration:"underline"},{tag:Re.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Re.emphasis,fontStyle:"italic"},{tag:Re.strong,fontWeight:"bold"},{tag:Re.strikethrough,textDecoration:"line-through"},{tag:Re.keyword,color:"#708"},{tag:[Re.atom,Re.bool,Re.url,Re.contentSeparator,Re.labelName],color:"#219"},{tag:[Re.literal,Re.inserted],color:"#164"},{tag:[Re.string,Re.deleted],color:"#a11"},{tag:[Re.regexp,Re.escape,Re.special(Re.string)],color:"#e40"},{tag:Re.definition(Re.variableName),color:"#00f"},{tag:Re.local(Re.variableName),color:"#30a"},{tag:[Re.typeName,Re.namespace],color:"#085"},{tag:Re.className,color:"#167"},{tag:[Re.special(Re.variableName),Re.macroName],color:"#256"},{tag:Re.definition(Re.propertyName),color:"#00c"},{tag:Re.comment,color:"#940"},{tag:Re.invalid,color:"#f00"}]),vbA=ii.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ZAA=1e4,XAA="()[]{}",$AA=We.define({combine(t){return kr(t,{afterCursor:!0,brackets:XAA,maxScanDistance:ZAA,renderMatch:kbA})}}),bbA=yt.mark({class:"cm-matchingBracket"}),MbA=yt.mark({class:"cm-nonmatchingBracket"});function kbA(t){let e=[],A=t.matched?bbA:MbA;return e.push(A.range(t.start.from,t.start.to)),t.end&&e.push(A.range(t.end.from,t.end.to)),e}var SbA=va.define({create(){return yt.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let A=[],i=e.state.facet($AA);for(let n of e.state.selection.ranges){if(!n.empty)continue;let o=Fc(e.state,n.head,-1,i)||n.head>0&&Fc(e.state,n.head-1,1,i)||i.afterCursor&&(Fc(e.state,n.head,1,i)||n.headii.decorations.from(t)}),xbA=[SbA,vbA];function AeA(t={}){return[$AA.of(t),xbA]}var RbA=new vi;function GF(t,e,A){let i=t.prop(e<0?vi.openedBy:vi.closedBy);if(i)return i;if(t.name.length==1){let n=A.indexOf(t.name);if(n>-1&&n%2==(e<0?1:0))return[A[n+e]]}return null}function KF(t){let e=t.type.prop(RbA);return e?e(t.node):t}function Fc(t,e,A,i={}){let n=i.maxScanDistance||ZAA,o=i.brackets||XAA,a=xr(t),r=a.resolveInner(e,A);for(let s=r;s;s=s.parent){let g=GF(s.type,A,o);if(g&&s.from0?e>=l.from&&el.from&&e<=l.to))return NbA(t,e,A,s,l,g,o)}}return FbA(t,e,A,a,r.type,n,o)}function NbA(t,e,A,i,n,o,a){let r=i.parent,s={from:n.from,to:n.to},g=0,l=r?.cursor();if(l&&(A<0?l.childBefore(i.from):l.childAfter(i.to)))do if(A<0?l.to<=i.from:l.from>=i.to){if(g==0&&o.indexOf(l.type.name)>-1&&l.from0)return null;let g={from:A<0?e-1:e,to:A>0?e+1:e},l=t.doc.iterRange(e,A>0?t.doc.length:0),C=0;for(let I=0;!l.next().done&&I<=o;){let d=l.value;A<0&&(I+=d.length);let B=e+I*A;for(let E=A>0?0:d.length-1,Q=A>0?d.length:-1;E!=Q;E+=A){let f=a.indexOf(d[E]);if(!(f<0||i.resolveInner(B+E,1).type!=n))if(f%2==0==A>0)C++;else{if(C==1)return{start:g,end:{from:B+E,to:B+E+1},matched:f>>1==s>>1};C--}}A>0&&(I+=d.length)}return l.done?{start:g,matched:!1}:null}var _bA=Object.create(null),FAA=[ps.none];var _AA=[],LAA=Object.create(null),LbA=Object.create(null);for(let[t,e]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"]])LbA[t]=GbA(_bA,e);function SF(t,e){_AA.indexOf(t)>-1||(_AA.push(t),console.warn(e))}function GbA(t,e){let A=[];for(let r of e.split(" ")){let s=[];for(let g of r.split(".")){let l=t[g]||Re[g];l?typeof l=="function"?s.length?s=s.map(l):SF(g,`Modifier ${g} used at start of tag`):s.length?SF(g,`Tag ${g} used as modifier`):s=Array.isArray(l)?l:[l]:SF(g,`Unknown highlighting tag ${g}`)}for(let g of s)A.push(g)}if(!A.length)return 0;let i=e.replace(/ /g,"_"),n=i+" "+A.map(r=>r.id),o=LAA[n];if(o)return o.id;let a=LAA[n]=ps.define({id:FAA.length,name:i,props:[UD({[i]:A})]});return FAA.push(a),a.id}var ewe={rtl:yt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:mo.RTL}),ltr:yt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:mo.LTR}),auto:yt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var KbA=t=>{let{state:e}=t,A=e.doc.lineAt(e.selection.main.from),i=WF(t.state,A.from);return i.line?UbA(t):i.block?YbA(t):!1};function VF(t,e){return({state:A,dispatch:i})=>{if(A.readOnly)return!1;let n=t(e,A);return n?(i(A.update(n)),!0):!1}}var UbA=VF(zbA,0);var JbA=VF(geA,0);var YbA=VF((t,e)=>geA(t,e,HbA(e)),0);function WF(t,e){let A=t.languageDataAt("commentTokens",e,1);return A.length?A[0]:{}}var pf=50;function TbA(t,{open:e,close:A},i,n){let o=t.sliceDoc(i-pf,i),a=t.sliceDoc(n,n+pf),r=/\s*$/.exec(o)[0].length,s=/^\s*/.exec(a)[0].length,g=o.length-r;if(o.slice(g-e.length,g)==e&&a.slice(s,s+A.length)==A)return{open:{pos:i-r,margin:r&&1},close:{pos:n+s,margin:s&&1}};let l,C;n-i<=2*pf?l=C=t.sliceDoc(i,n):(l=t.sliceDoc(i,i+pf),C=t.sliceDoc(n-pf,n));let I=/^\s*/.exec(l)[0].length,d=/\s*$/.exec(C)[0].length,B=C.length-d-A.length;return l.slice(I,I+e.length)==e&&C.slice(B,B+A.length)==A?{open:{pos:i+I+e.length,margin:/\s/.test(l.charAt(I+e.length))?1:0},close:{pos:n-d-A.length,margin:/\s/.test(C.charAt(B-1))?1:0}}:null}function HbA(t){let e=[];for(let A of t.selection.ranges){let i=t.doc.lineAt(A.from),n=A.to<=i.to?i:t.doc.lineAt(A.to);n.from>i.from&&n.from==A.to&&(n=A.to==i.to+1?i:t.doc.lineAt(A.to-1));let o=e.length-1;o>=0&&e[o].to>i.from?e[o].to=n.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:n.to})}return e}function geA(t,e,A=e.selection.ranges){let i=A.map(o=>WF(e,o.from).block);if(!i.every(o=>o))return null;let n=A.map((o,a)=>TbA(e,i[a],o.from,o.to));if(t!=2&&!n.every(o=>o))return{changes:e.changes(A.map((o,a)=>n[a]?[]:[{from:o.from,insert:i[a].open+" "},{from:o.to,insert:" "+i[a].close}]))};if(t!=1&&n.some(o=>o)){let o=[];for(let a=0,r;an&&(o==a||a>C.from)){n=C.from;let I=/^\s*/.exec(C.text)[0].length,d=I==C.length,B=C.text.slice(I,I+g.length)==g?I:-1;Io.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:r,token:s,indent:g,empty:l,single:C}of i)(C||!l)&&o.push({from:r.from+g,insert:s+" "});let a=e.changes(o);return{changes:a,selection:e.selection.map(a,1)}}else if(t!=1&&i.some(o=>o.comment>=0)){let o=[];for(let{line:a,comment:r,token:s}of i)if(r>=0){let g=a.from+r,l=g+s.length;a.text[l-a.from]==" "&&l++,o.push({from:g,to:l})}return{changes:o}}return null}function KQ(t,e){return de.create(t.ranges.map(e),t.mainIndex)}function Lc(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Gc({state:t,dispatch:e},A){let i=KQ(t.selection,A);return i.eq(t.selection,!0)?!1:(e(Lc(t,i)),!0)}function OD(t,e){return de.cursor(e?t.to:t.from)}function leA(t,e){return Gc(t,A=>A.empty?t.moveByChar(A,e):OD(A,e))}function ws(t){return t.textDirectionAt(t.state.selection.main.head)==mo.LTR}var ceA=t=>leA(t,!ws(t)),CeA=t=>leA(t,ws(t));function IeA(t,e){return Gc(t,A=>A.empty?t.moveByGroup(A,e):OD(A,e))}var ObA=t=>IeA(t,!ws(t)),PbA=t=>IeA(t,ws(t));var cwe=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function jbA(t,e,A){if(e.type.prop(A))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function PD(t,e,A){let i=xr(t).resolveInner(e.head),n=A?vi.closedBy:vi.openedBy;for(let s=e.head;;){let g=A?i.childAfter(s):i.childBefore(s);if(!g)break;jbA(t,g,n)?i=g:s=A?g.to:g.from}let o=i.type.prop(n),a,r;return o&&(a=A?Fc(t,i.from,1):Fc(t,i.to,-1))&&a.matched?r=A?a.end.to:a.end.from:r=A?i.to:i.from,de.cursor(r,A?-1:1)}var qbA=t=>Gc(t,e=>PD(t.state,e,!ws(t))),VbA=t=>Gc(t,e=>PD(t.state,e,ws(t)));function deA(t,e){return Gc(t,A=>{if(!A.empty)return OD(A,e);let i=t.moveVertically(A,e);return i.head!=A.head?i:t.moveToLineBoundary(A,e)})}var BeA=t=>deA(t,!1),EeA=t=>deA(t,!0);function QeA(t){let e=t.scrollDOM.clientHeighta.empty?t.moveVertically(a,e,A.height):OD(a,e));if(n.eq(i.selection))return!1;let o;if(A.selfScroll){let a=t.coordsAtPos(i.selection.main.head),r=t.scrollDOM.getBoundingClientRect(),s=r.top+A.marginTop,g=r.bottom-A.marginBottom;a&&a.top>s&&a.bottomheA(t,!1),jF=t=>heA(t,!0);function FI(t,e,A){let i=t.lineBlockAt(e.head),n=t.moveToLineBoundary(e,A);if(n.head==e.head&&n.head!=(A?i.to:i.from)&&(n=t.moveToLineBoundary(e,A,!1)),!A&&n.head==i.from&&i.length){let o=/^\s*/.exec(t.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;o&&e.head!=i.from+o&&(n=de.cursor(i.from+o))}return n}var WbA=t=>Gc(t,e=>FI(t,e,!0)),ZbA=t=>Gc(t,e=>FI(t,e,!1)),XbA=t=>Gc(t,e=>FI(t,e,!ws(t))),$bA=t=>Gc(t,e=>FI(t,e,ws(t))),A9A=t=>Gc(t,e=>de.cursor(t.lineBlockAt(e.head).from,1)),e9A=t=>Gc(t,e=>de.cursor(t.lineBlockAt(e.head).to,-1));function t9A(t,e,A){let i=!1,n=KQ(t.selection,o=>{let a=Fc(t,o.head,-1)||Fc(t,o.head,1)||o.head>0&&Fc(t,o.head-1,1)||o.headt9A(t,e,!1);function Fl(t,e){let A=KQ(t.state.selection,i=>{let n=e(i);return de.range(i.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return A.eq(t.state.selection)?!1:(t.dispatch(Lc(t.state,A)),!0)}function ueA(t,e){return Fl(t,A=>t.moveByChar(A,e))}var feA=t=>ueA(t,!ws(t)),meA=t=>ueA(t,ws(t));function peA(t,e){return Fl(t,A=>t.moveByGroup(A,e))}var n9A=t=>peA(t,!ws(t)),o9A=t=>peA(t,ws(t));var a9A=t=>Fl(t,e=>PD(t.state,e,!ws(t))),r9A=t=>Fl(t,e=>PD(t.state,e,ws(t)));function weA(t,e){return Fl(t,A=>t.moveVertically(A,e))}var DeA=t=>weA(t,!1),yeA=t=>weA(t,!0);function veA(t,e){return Fl(t,A=>t.moveVertically(A,e,QeA(t).height))}var teA=t=>veA(t,!1),ieA=t=>veA(t,!0),s9A=t=>Fl(t,e=>FI(t,e,!0)),g9A=t=>Fl(t,e=>FI(t,e,!1)),l9A=t=>Fl(t,e=>FI(t,e,!ws(t))),c9A=t=>Fl(t,e=>FI(t,e,ws(t))),C9A=t=>Fl(t,e=>de.cursor(t.lineBlockAt(e.head).from)),I9A=t=>Fl(t,e=>de.cursor(t.lineBlockAt(e.head).to)),neA=({state:t,dispatch:e})=>(e(Lc(t,{anchor:0})),!0),oeA=({state:t,dispatch:e})=>(e(Lc(t,{anchor:t.doc.length})),!0),aeA=({state:t,dispatch:e})=>(e(Lc(t,{anchor:t.selection.main.anchor,head:0})),!0),reA=({state:t,dispatch:e})=>(e(Lc(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),d9A=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),B9A=({state:t,dispatch:e})=>{let A=jD(t).map(({from:i,to:n})=>de.range(i,Math.min(n+1,t.doc.length)));return e(t.update({selection:de.create(A),userEvent:"select"})),!0},E9A=({state:t,dispatch:e})=>{let A=KQ(t.selection,i=>{let n=xr(t),o=n.resolveStack(i.from,1);if(i.empty){let a=n.resolveStack(i.from,-1);a.node.from>=o.node.from&&a.node.to<=o.node.to&&(o=a)}for(let a=o;a;a=a.next){let{node:r}=a;if((r.from=i.to||r.to>i.to&&r.from<=i.from)&&a.next)return de.range(r.to,r.from)}return i});return A.eq(t.selection)?!1:(e(Lc(t,A)),!0)};function beA(t,e){let{state:A}=t,i=A.selection,n=A.selection.ranges.slice();for(let o of A.selection.ranges){let a=A.doc.lineAt(o.head);if(e?a.to0)for(let r=o;;){let s=t.moveVertically(r,e);if(s.heada.to){n.some(g=>g.head==s.head)||n.push(s);break}else{if(s.head==r.head)break;r=s}}}return n.length==i.ranges.length?!1:(t.dispatch(Lc(A,de.create(n,n.length-1))),!0)}var Q9A=t=>beA(t,!1),h9A=t=>beA(t,!0),u9A=({state:t,dispatch:e})=>{let A=t.selection,i=null;return A.ranges.length>1?i=de.create([A.main]):A.main.empty||(i=de.create([de.cursor(A.main.head)])),i?(e(Lc(t,i)),!0):!1};function wf(t,e){if(t.state.readOnly)return!1;let A="delete.selection",{state:i}=t,n=i.changeByRange(o=>{let{from:a,to:r}=o;if(a==r){let s=e(o);sa&&(A="delete.forward",s=zD(t,s,!0)),a=Math.min(a,s),r=Math.max(r,s)}else a=zD(t,a,!1),r=zD(t,r,!0);return a==r?{range:o}:{changes:{from:a,to:r},range:de.cursor(a,an(t)))i.between(e,e,(n,o)=>{ne&&(e=A?o:n)});return e}var MeA=(t,e,A)=>wf(t,i=>{let n=i.from,{state:o}=t,a=o.doc.lineAt(n),r,s;if(A&&!e&&n>a.from&&nMeA(t,!1,!0);var keA=t=>MeA(t,!0,!1),SeA=(t,e)=>wf(t,A=>{let i=A.head,{state:n}=t,o=n.doc.lineAt(i),a=n.charCategorizer(i);for(let r=null;;){if(i==(e?o.to:o.from)){i==A.head&&o.number!=(e?n.doc.lines:1)&&(i+=e?1:-1);break}let s=Ta(o.text,i-o.from,e)+o.from,g=o.text.slice(Math.min(i,s)-o.from,Math.max(i,s)-o.from),l=a(g);if(r!=null&&l!=r)break;(g!=" "||i!=A.head)&&(r=l),i=s}return i}),xeA=t=>SeA(t,!1),f9A=t=>SeA(t,!0);var m9A=t=>wf(t,e=>{let A=t.lineBlockAt(e.head).to;return e.headwf(t,e=>{let A=t.moveToLineBoundary(e,!1).head;return e.head>A?A:Math.max(0,e.head-1)}),w9A=t=>wf(t,e=>{let A=t.moveToLineBoundary(e,!0).head;return e.head{if(t.readOnly)return!1;let A=t.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:bn.of(["",""])},range:de.cursor(i.from)}));return e(t.update(A,{scrollIntoView:!0,userEvent:"input"})),!0},y9A=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let A=t.changeByRange(i=>{if(!i.empty||i.from==0||i.from==t.doc.length)return{range:i};let n=i.from,o=t.doc.lineAt(n),a=n==o.from?n-1:Ta(o.text,n-o.from,!1)+o.from,r=n==o.to?n+1:Ta(o.text,n-o.from,!0)+o.from;return{changes:{from:a,to:r,insert:t.doc.slice(n,r).append(t.doc.slice(a,n))},range:de.cursor(r)}});return A.changes.empty?!1:(e(t.update(A,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function jD(t){let e=[],A=-1;for(let i of t.selection.ranges){let n=t.doc.lineAt(i.from),o=t.doc.lineAt(i.to);if(!i.empty&&i.to==o.from&&(o=t.doc.lineAt(i.to-1)),A>=n.number){let a=e[e.length-1];a.to=o.to,a.ranges.push(i)}else e.push({from:n.from,to:o.to,ranges:[i]});A=o.number+1}return e}function ReA(t,e,A){if(t.readOnly)return!1;let i=[],n=[];for(let o of jD(t)){if(A?o.to==t.doc.length:o.from==0)continue;let a=t.doc.lineAt(A?o.to+1:o.from-1),r=a.length+1;if(A){i.push({from:o.to,to:a.to},{from:o.from,insert:a.text+t.lineBreak});for(let s of o.ranges)n.push(de.range(Math.min(t.doc.length,s.anchor+r),Math.min(t.doc.length,s.head+r)))}else{i.push({from:a.from,to:o.from},{from:o.to,insert:t.lineBreak+a.text});for(let s of o.ranges)n.push(de.range(s.anchor-r,s.head-r))}}return i.length?(e(t.update({changes:i,scrollIntoView:!0,selection:de.create(n,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var v9A=({state:t,dispatch:e})=>ReA(t,e,!1),b9A=({state:t,dispatch:e})=>ReA(t,e,!0);function NeA(t,e,A){if(t.readOnly)return!1;let i=[];for(let o of jD(t))A?i.push({from:o.from,insert:t.doc.slice(o.from,o.to)+t.lineBreak}):i.push({from:o.to,insert:t.lineBreak+t.doc.slice(o.from,o.to)});let n=t.changes(i);return e(t.update({changes:n,selection:t.selection.map(n,A?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var M9A=({state:t,dispatch:e})=>NeA(t,e,!1),k9A=({state:t,dispatch:e})=>NeA(t,e,!0),S9A=t=>{if(t.state.readOnly)return!1;let{state:e}=t,A=e.changes(jD(e).map(({from:n,to:o})=>(n>0?n--:o{let o;if(t.lineWrapping){let a=t.lineBlockAt(n.head),r=t.coordsAtPos(n.head,n.assoc||1);r&&(o=a.bottom+t.documentTop-r.bottom+t.defaultLineHeight/2)}return t.moveVertically(n,!0,o)}).map(A);return t.dispatch({changes:A,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function x9A(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let A=xr(t).resolveInner(e),i=A.childBefore(e),n=A.childAfter(e),o;return i&&n&&i.to<=e&&n.from>=e&&(o=i.type.prop(vi.closedBy))&&o.indexOf(n.name)>-1&&t.doc.lineAt(i.to).from==t.doc.lineAt(n.from).from&&!/\S/.test(t.sliceDoc(i.to,n.from))?{from:i.to,to:n.from}:null}var seA=FeA(!1),R9A=FeA(!0);function FeA(t){return({state:e,dispatch:A})=>{if(e.readOnly)return!1;let i=e.changeByRange(n=>{let{from:o,to:a}=n,r=e.doc.lineAt(o),s=!t&&o==a&&x9A(e,o);t&&(o=a=(a<=r.to?r:e.doc.lineAt(a)).to);let g=new kd(e,{simulateBreak:o,simulateDoubleBreak:!!s}),l=HD(g,o);for(l==null&&(l=KC(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));ar.from&&o{let n=[];for(let a=i.from;a<=i.to;){let r=t.doc.lineAt(a);r.number>A&&(i.empty||i.to>r.from)&&(e(r,n,i),A=r.number),a=r.to+1}let o=t.changes(n);return{changes:n,range:de.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}})}var N9A=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let A=Object.create(null),i=new kd(t,{overrideIndentation:o=>{let a=A[o];return a??-1}}),n=ZF(t,(o,a,r)=>{let s=HD(i,o.from);if(s==null)return;/\S/.test(o.text)||(s=0);let g=/^\s*/.exec(o.text)[0],l=LQ(t,s);(g!=l||r.fromt.readOnly?!1:(e(t.update(ZF(t,(A,i)=>{i.push({from:A.from,insert:t.facet(xd)})}),{userEvent:"input.indent"})),!0),LeA=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(ZF(t,(A,i)=>{let n=/^\s*/.exec(A.text)[0];if(!n)return;let o=KC(n,t.tabSize),a=0,r=LQ(t,Math.max(0,o-_c(t)));for(;a(t.setTabFocusMode(),!0);var _9A=[{key:"Ctrl-b",run:ceA,shift:feA,preventDefault:!0},{key:"Ctrl-f",run:CeA,shift:meA},{key:"Ctrl-p",run:BeA,shift:DeA},{key:"Ctrl-n",run:EeA,shift:yeA},{key:"Ctrl-a",run:A9A,shift:C9A},{key:"Ctrl-e",run:e9A,shift:I9A},{key:"Ctrl-d",run:keA},{key:"Ctrl-h",run:qF},{key:"Ctrl-k",run:m9A},{key:"Ctrl-Alt-h",run:xeA},{key:"Ctrl-o",run:D9A},{key:"Ctrl-t",run:y9A},{key:"Ctrl-v",run:jF}],L9A=[{key:"ArrowLeft",run:ceA,shift:feA,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:ObA,shift:n9A,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:XbA,shift:l9A,preventDefault:!0},{key:"ArrowRight",run:CeA,shift:meA,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:PbA,shift:o9A,preventDefault:!0},{mac:"Cmd-ArrowRight",run:$bA,shift:c9A,preventDefault:!0},{key:"ArrowUp",run:BeA,shift:DeA,preventDefault:!0},{mac:"Cmd-ArrowUp",run:neA,shift:aeA},{mac:"Ctrl-ArrowUp",run:eeA,shift:teA},{key:"ArrowDown",run:EeA,shift:yeA,preventDefault:!0},{mac:"Cmd-ArrowDown",run:oeA,shift:reA},{mac:"Ctrl-ArrowDown",run:jF,shift:ieA},{key:"PageUp",run:eeA,shift:teA},{key:"PageDown",run:jF,shift:ieA},{key:"Home",run:ZbA,shift:g9A,preventDefault:!0},{key:"Mod-Home",run:neA,shift:aeA},{key:"End",run:WbA,shift:s9A,preventDefault:!0},{key:"Mod-End",run:oeA,shift:reA},{key:"Enter",run:seA,shift:seA},{key:"Mod-a",run:d9A},{key:"Backspace",run:qF,shift:qF,preventDefault:!0},{key:"Delete",run:keA,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:xeA,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:f9A,preventDefault:!0},{mac:"Mod-Backspace",run:p9A,preventDefault:!0},{mac:"Mod-Delete",run:w9A,preventDefault:!0}].concat(_9A.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),GeA=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:qbA,shift:a9A},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:VbA,shift:r9A},{key:"Alt-ArrowUp",run:v9A},{key:"Shift-Alt-ArrowUp",run:M9A},{key:"Alt-ArrowDown",run:b9A},{key:"Shift-Alt-ArrowDown",run:k9A},{key:"Mod-Alt-ArrowUp",run:Q9A},{key:"Mod-Alt-ArrowDown",run:h9A},{key:"Escape",run:u9A},{key:"Mod-Enter",run:R9A},{key:"Alt-l",mac:"Ctrl-l",run:B9A},{key:"Mod-i",run:E9A,preventDefault:!0},{key:"Mod-[",run:LeA},{key:"Mod-]",run:_eA},{key:"Mod-Alt-\\",run:N9A},{key:"Shift-Mod-k",run:S9A},{key:"Shift-Mod-\\",run:i9A},{key:"Mod-/",run:KbA},{key:"Alt-A",run:JbA},{key:"Ctrl-m",mac:"Shift-Alt-m",run:F9A}].concat(L9A),KeA={key:"Tab",run:_eA,shift:LeA};var WD=class{constructor(e,A,i){this.from=e,this.to=A,this.diagnostic=i}},Rd=class t{constructor(e,A,i){this.diagnostics=e,this.panel=A,this.selected=i}static init(e,A,i){let n=i.facet(Y0).markerFilter;n&&(e=n(e,i));let o=e.slice().sort((d,B)=>d.from-B.from||d.to-B.to),a=new Wr,r=[],s=0,g=i.doc.iter(),l=0,C=i.doc.length;for(let d=0;;){let B=d==o.length?null:o[d];if(!B&&!r.length)break;let E,Q;if(r.length)E=s,Q=r.reduce((S,M)=>Math.min(S,M.to),B&&B.from>E?B.from:1e8);else{if(E=B.from,E>C)break;Q=B.to,r.push(B),d++}for(;dS.from||S.to==E))r.push(S),d++,Q=Math.min(S.to,Q);else{Q=Math.min(S.from,Q);break}}Q=Math.min(Q,C);let f=!1;if(r.some(S=>S.from==E&&(S.to==Q||Q==C))&&(f=E==Q,!f&&Q-E<10)){let S=E-(l+g.value.length);S>0&&(g.next(S),l=E);for(let M=E;;){if(M>=Q){f=!0;break}if(!g.lineBreak&&l+g.value.length>M)break;M=l+g.value.length,l+=g.value.length,g.next()}}let b=VeA(r);if(f)a.add(E,E,yt.widget({widget:new XF(b),diagnostics:r.slice()}));else{let S=r.reduce((M,D)=>D.markClass?M+" "+D.markClass:M,"");a.add(E,Q,yt.mark({class:"cm-lintRange cm-lintRange-"+b+S,diagnostics:r.slice(),inclusiveEnd:r.some(M=>M.to>Q)}))}if(s=Q,s==C)break;for(let S=0;S{if(!(e&&a.diagnostics.indexOf(e)<0))if(!i)i=new WD(n,o,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new WD(i.from,o,i.diagnostic)}}),i}function YeA(t,e){let A=e.pos,i=e.end||A,n=t.state.facet(Y0).hideOn(t,A,i);if(n!=null)return n;let o=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(a=>a.is($D))||t.changes.touchesRange(o.from,Math.max(o.to,i)))}function TeA(t,e){return t.field(jg,!1)?e:e.concat(Hi.appendConfig.of(ZeA))}function G9A(t,e){return{effects:TeA(t,[$D.of(e)])}}var $D=Hi.define(),A_=Hi.define(),HeA=Hi.define(),jg=va.define({create(){return new Rd(yt.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let A=t.diagnostics.map(e.changes),i=null,n=t.panel;if(t.selected){let o=e.changes.mapPos(t.selected.from,1);i=UQ(A,t.selected.diagnostic,o)||UQ(A,null,o)}!A.size&&n&&e.state.facet(Y0).autoPanel&&(n=null),t=new Rd(A,n,i)}for(let A of e.effects)if(A.is($D)){let i=e.state.facet(Y0).autoPanel?A.value.length?Df.open:null:t.panel;t=Rd.init(A.value,i,e.state)}else A.is(A_)?t=new Rd(t.diagnostics,A.value?Df.open:null,t.selected):A.is(HeA)&&(t=new Rd(t.diagnostics,t.panel,A.value));return t},provide:t=>[Dd.from(t,e=>e.panel),ii.decorations.from(t,e=>e.diagnostics)]});var K9A=yt.mark({class:"cm-lintRange cm-lintRange-active"});function U9A(t,e,A){let{diagnostics:i}=t.state.field(jg),n,o=-1,a=-1;i.between(e-(A<0?1:0),e+(A>0?1:0),(s,g,{spec:l})=>{if(e>=s&&e<=g&&(s==g||(e>s||A>0)&&(eqeA(t,A,!1)))}var J9A=t=>{let e=t.state.field(jg,!1);(!e||!e.panel)&&t.dispatch({effects:TeA(t.state,[A_.of(!0)])});let A=lf(t,Df.open);return A&&A.dom.querySelector(".cm-panel-lint ul").focus(),!0},UeA=t=>{let e=t.state.field(jg,!1);return!e||!e.panel?!1:(t.dispatch({effects:A_.of(!1)}),!0)},Y9A=t=>{let e=t.state.field(jg,!1);if(!e)return!1;let A=t.state.selection.main,i=e.diagnostics.iter(A.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==A.from&&i.to==A.to)?!1:(t.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var OeA=[{key:"Mod-Shift-m",run:J9A,preventDefault:!0},{key:"F8",run:Y9A}],T9A=Go.fromClass(class{constructor(t){this.view=t,this.timeout=-1,this.set=!0;let{delay:e}=t.state.facet(Y0);this.lintTime=Date.now()+e,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,e)}run(){clearTimeout(this.timeout);let t=Date.now();if(tPromise.resolve(i(this.view))),i=>{this.view.state.doc==e.doc&&this.view.dispatch(G9A(this.view.state,i.reduce((n,o)=>n.concat(o))))},i=>{Sr(this.view.state,i)})}}update(t){let e=t.state.facet(Y0);(t.docChanged||e!=t.startState.facet(Y0)||e.needsRefresh&&e.needsRefresh(t))&&(this.lintTime=Date.now()+e.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,e.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});function H9A(t,e,A){let i=[],n=-1;for(let o of t)o.then(a=>{i.push(a),clearTimeout(n),i.length==t.length?e(i):n=setTimeout(()=>e(i),200)},A)}var Y0=We.define({combine(t){return cA({sources:t.map(e=>e.source).filter(e=>e!=null)},kr(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:JeA,tooltipFilter:JeA,needsRefresh:(e,A)=>e?A?i=>e(i)||A(i):e:A,hideOn:(e,A)=>e?A?(i,n,o)=>e(i,n,o)||A(i,n,o):e:A,autoPanel:(e,A)=>e||A}))}});function JeA(t,e){return t?e?(A,i)=>e(t(A,i),i):t:e}function PeA(t,e={}){return[Y0.of({source:t,config:e}),T9A,ZeA]}function jeA(t){let e=[];if(t)A:for(let{name:A}of t){for(let i=0;io.toLowerCase()==n.toLowerCase())){e.push(n);continue A}}e.push("")}return e}function qeA(t,e,A){var i;let n=A?jeA(e.actions):[];return io("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},io("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((o,a)=>{let r=!1,s=d=>{if(d.preventDefault(),r)return;r=!0;let B=UQ(t.state.field(jg).diagnostics,e);B&&o.apply(t,B.from,B.to)},{name:g}=o,l=n[a]?g.indexOf(n[a]):-1,C=l<0?g:[g.slice(0,l),io("u",g.slice(l,l+1)),g.slice(l+1)],I=o.markClass?" "+o.markClass:"";return io("button",{type:"button",class:"cm-diagnosticAction"+I,onclick:s,onmousedown:s,"aria-label":` Action: ${g}${l<0?"":` (access key "${n[a]})"`}.`},C)}),e.source&&io("div",{class:"cm-diagnosticSource"},e.source))}var XF=class extends fg{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return io("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},ZD=class{constructor(e,A){this.diagnostic=A,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=qeA(e,A,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Df=class t{constructor(e){this.view=e,this.items=[];let A=n=>{if(n.keyCode==27)UeA(this.view),this.view.focus();else if(n.keyCode==38||n.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(n.keyCode==40||n.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(n.keyCode==36)this.moveSelection(0);else if(n.keyCode==35)this.moveSelection(this.items.length-1);else if(n.keyCode==13)this.view.focus();else if(n.keyCode>=65&&n.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:o}=this.items[this.selectedIndex],a=jeA(o.actions);for(let r=0;r{for(let o=0;oUeA(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(jg).selected;if(!e)return-1;for(let A=0;A{for(let l of g.diagnostics){if(a.has(l))continue;a.add(l);let C=-1,I;for(let d=i;di&&(this.items.splice(i,C-i),n=!0)),A&&I.diagnostic==A.diagnostic?I.dom.hasAttribute("aria-selected")||(I.dom.setAttribute("aria-selected","true"),o=I):I.dom.hasAttribute("aria-selected")&&I.dom.removeAttribute("aria-selected"),i++}});i({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:r,panel:s})=>{let g=s.height/this.list.offsetHeight;r.tops.bottom&&(this.list.scrollTop+=(r.bottom-s.bottom)/g)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function A(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)A();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)A()}moveSelection(e){if(this.selectedIndex<0)return;let A=this.view.state.field(jg),i=UQ(A.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:HeA.of(i)})}static open(e){return new t(e)}};function VD(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(t)}')`}function qD(t){return VD(``,'width="6" height="3"')}var z9A=ii.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:qD("#d11")},".cm-lintRange-warning":{backgroundImage:qD("orange")},".cm-lintRange-info":{backgroundImage:qD("#999")},".cm-lintRange-hint":{backgroundImage:qD("#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}}});function O9A(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function VeA(t){let e="hint",A=1;for(let i of t){let n=O9A(i.severity);n>A&&(A=n,e=i.severity)}return e}var XD=class extends mg{constructor(e){super(),this.diagnostics=e,this.severity=VeA(e)}toDOM(e){let A=document.createElement("div");A.className="cm-lint-marker cm-lint-marker-"+this.severity;let i=this.diagnostics,n=e.state.facet(Ay).tooltipFilter;return n&&(i=n(i,e.state)),i.length&&(A.onmouseover=()=>j9A(e,A,i)),A}};function P9A(t,e){let A=i=>{let n=e.getBoundingClientRect();if(!(i.clientX>n.left-10&&i.clientXn.top-10&&i.clientYe.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,P9A(t,e)}let{hoverTime:n}=t.state.facet(Ay),o=setTimeout(i,n);e.onmouseout=()=>{clearTimeout(o),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(o),o=setTimeout(i,n)}}function q9A(t,e){let A=Object.create(null);for(let n of e){let o=t.lineAt(n.from);(A[o.from]||(A[o.from]=[])).push(n)}let i=[];for(let n in A)i.push(new XD(A[n]).range(+n));return to.of(i,!0)}var V9A=xD({class:"cm-gutter-lint",markers:t=>t.state.field($F),widgetMarker:(t,e,A)=>{let i=[];return t.state.field($F).between(A.from,A.to,(n,o,a)=>{n>A.from&&ni.is(e_)?i.value:A,t)},provide:t=>xQ.from(t)}),W9A=ii.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:VD('')},".cm-lint-marker-warning":{content:VD('')},".cm-lint-marker-error":{content:VD('')}}),ZeA=[jg,ii.decorations.compute([jg],t=>{let{selected:e,panel:A}=t.field(jg);return!e||!A||e.from==e.to?yt.none:yt.set([K9A.range(e.from,e.to)])}),IAA(U9A,{hideOn:YeA}),z9A],Ay=We.define({combine(t){return kr(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function XeA(t={}){return[Ay.of(t),$F,V9A,W9A,WeA]}var i_=class t{constructor(e,A,i,n,o,a,r,s,g,l=0,C){this.p=e,this.stack=A,this.state=i,this.reducePos=n,this.pos=o,this.score=a,this.buffer=r,this.bufferBase=s,this.curContext=g,this.lookAhead=l,this.parent=C}toString(){return`[${this.stack.filter((e,A)=>A%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,A,i=0){let n=e.parser.context;return new t(e,[],A,i,i,0,[],0,n?new ey(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,A){this.stack.push(this.state,A,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var A;let i=e>>19,n=e&65535,{parser:o}=this.p,a=this.reducePos=2e3&&!(!((A=this.p.parser.nodeSet.types[n])===null||A===void 0)&&A.isAnonymous)&&(g==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizes;)this.stack.pop();this.reduceContext(n,g)}storeNode(e,A,i,n=4,o=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&a.buffer[r-4]==0&&a.buffer[r-1]>-1){if(A==i)return;if(a.buffer[r-2]>=A){a.buffer[r-2]=i;return}}}if(!o||this.pos==i)this.buffer.push(e,A,i,n);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let r=!1;for(let s=a;s>0&&this.buffer[s-2]>i;s-=4)if(this.buffer[s-1]>=0){r=!0;break}if(r)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,n>4&&(n-=4)}this.buffer[a]=e,this.buffer[a+1]=A,this.buffer[a+2]=i,this.buffer[a+3]=n}}shift(e,A,i,n){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let o=e,{parser:a}=this.p;this.pos=n,!a.stateFlag(o,1)&&(n>i||A<=a.maxNode)&&(this.reducePos=n),this.pushState(o,Math.min(i,this.reducePos)),this.shiftContext(A,i),A<=a.maxNode&&this.buffer.push(A,i,n,4)}else this.pos=n,this.shiftContext(A,i),A<=this.p.parser.maxNode&&this.buffer.push(A,i,n,4)}apply(e,A,i,n){e&65536?this.reduce(e):this.shift(e,A,i,n)}useNode(e,A){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(A,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,A=e.buffer.length;for(;A>0&&e.buffer[A-2]>e.reducePos;)A-=4;let i=e.buffer.slice(A),n=e.bufferBase+A;for(;e&&n==e.bufferBase;)e=e.parent;return new t(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,A){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,A,4),this.storeNode(0,this.pos,A,i?8:4),this.pos=this.reducePos=A,this.score-=190}canShift(e){for(let A=new n_(this);;){let i=this.p.parser.stateSlot(A.state,4)||this.p.parser.hasAction(A.state,e);if(i==0)return!1;if((i&65536)==0)return!0;A.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let A=this.p.parser.nextStates(this.state);if(A.length>8||this.stack.length>=120){let n=[];for(let o=0,a;os&1&&r==a)||n.push(A[o],a)}A=n}let i=[];for(let n=0;n>19,n=A&65535,o=this.stack.length-i*3;if(o<0||e.getGoto(this.stack[o],n,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;A=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(A),!0}findForcedReduction(){let{parser:e}=this.p,A=[],i=(n,o)=>{if(!A.includes(n))return A.push(n),e.allActions(n,a=>{if(!(a&393216))if(a&65536){let r=(a>>19)-o;if(r>1){let s=a&65535,g=this.stack.length-r*3;if(g>=0&&e.getGoto(this.stack[g],s,!1)>=0)return r<<19|65536|s}}else{let r=i(a,o+1);if(r!=null)return r}})};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:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let A=0;A0&&this.emitLookAhead()}},ey=class{constructor(e,A){this.tracker=e,this.context=A,this.hash=e.strict?e.hash(A):0}},n_=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let A=e&65535,i=e>>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 n=this.start.p.parser.getGoto(this.stack[this.base-3],A,!0);this.state=n}},o_=class t{constructor(e,A,i){this.stack=e,this.pos=A,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,A=e.bufferBase+e.buffer.length){return new t(e,A,A-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new t(this.stack,this.pos,this.index)}};function yf(t,e=Uint16Array){if(typeof t!="string")return t;let A=null;for(let i=0,n=0;i=92&&a--,a>=34&&a--;let s=a-32;if(s>=46&&(s-=46,r=!0),o+=s,r)break;o*=46}A?A[n++]=o:A=new e(o)}return A}var JQ=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},$eA=new JQ,a_=class{constructor(e,A){this.input=e,this.ranges=A,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=$eA,this.rangeIndex=0,this.pos=this.chunkPos=A[0].from,this.range=A[0],this.end=A[A.length-1].to,this.readNext()}resolveOffset(e,A){let i=this.range,n=this.rangeIndex,o=this.pos+e;for(;oi.to:o>=i.to;){if(n==this.ranges.length-1)return null;let a=this.ranges[++n];o+=a.from-i.to,i=a}return o}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,A.from);return this.end}peek(e){let A=this.chunkOff+e,i,n;if(A>=0&&A=this.chunk2Pos&&ir.to&&(this.chunk2=this.chunk2.slice(0,r.to-i)),n=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),n}acceptToken(e,A=0){let i=A?this.resolveOffset(A,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,A){if(A?(this.token=A,A.start=e,A.lookAhead=e+1,A.value=A.extended=-1):this.token=$eA,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&A<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,A-this.chunkPos);if(e>=this.chunk2Pos&&A<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,A-this.chunk2Pos);if(e>=this.range.from&&A<=this.range.to)return this.input.read(e,A);let i="";for(let n of this.ranges){if(n.from>=A)break;n.to>e&&(i+=this.input.read(Math.max(n.from,e),Math.min(n.to,A)))}return i}},_I=class{constructor(e,A){this.data=e,this.id=A}token(e,A){let{parser:i}=A.p;ntA(this.data,e,A,this.id,i.data,i.tokenPrecTable)}};_I.prototype.contextual=_I.prototype.fallback=_I.prototype.extend=!1;var r_=class{constructor(e,A,i){this.precTable=A,this.elseToken=i,this.data=typeof e=="string"?yf(e):e}token(e,A){let i=e.pos,n=0;for(;;){let o=e.next<0,a=e.resolveOffset(1,1);if(ntA(this.data,e,A,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(o||n++,a==null)break;e.reset(a,e.token)}n&&(e.reset(i,e.token),e.acceptToken(this.elseToken,n))}};r_.prototype.contextual=_I.prototype.fallback=_I.prototype.extend=!1;function ntA(t,e,A,i,n,o){let a=0,r=1<0){let B=t[d];if(s.allows(B)&&(e.token.value==-1||e.token.value==B||X9A(B,e.token.value,n,o))){e.acceptToken(B);break}}let l=e.next,C=0,I=t[a+2];if(e.next<0&&I>C&&t[g+I*3-3]==65535){a=t[g+I*3-1];continue A}for(;C>1,B=g+d+(d<<1),E=t[B],Q=t[B+1]||65536;if(l=Q)C=d+1;else{a=t[B+2],e.advance();continue A}}break}}function AtA(t,e,A){for(let i=e,n;(n=t[i])!=65535;i++)if(n==A)return i-e;return-1}function X9A(t,e,A,i){let n=AtA(A,i,e);return n<0||AtA(A,i,t)e)&&!i.type.isError)return A<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(A<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return A<0?0:t.length}}var s_=class{constructor(e,A){this.fragments=e,this.nodeSet=A,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?etA(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?etA(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=a,null;if(o instanceof za){if(a==e){if(a=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(a),this.index.push(0))}else this.index[A]++,this.nextStart=a+o.length}}},g_=class{constructor(e,A){this.stream=A,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new JQ)}getActions(e){let A=0,i=null,{parser:n}=e.p,{tokenizers:o}=n,a=n.stateSlot(e.state,3),r=e.curContext?e.curContext.hash:0,s=0;for(let g=0;gC.end+25&&(s=Math.max(C.lookAhead,s)),C.value!=0)){let I=A;if(C.extended>-1&&(A=this.addActions(e,C.extended,C.end,A)),A=this.addActions(e,C.value,C.end,A),!l.extend&&(i=C,A>I))break}}for(;this.actions.length>A;)this.actions.pop();return s&&e.setLookAhead(s),!i&&e.pos==this.stream.end&&(i=new JQ,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,A=this.addActions(e,i.value,i.end,A)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let A=new JQ,{pos:i,p:n}=e;return A.start=i,A.end=Math.min(i+1,n.stream.end),A.value=i==n.stream.end?n.parser.eofTerm:0,A}updateCachedToken(e,A,i){let n=this.stream.clipPos(i.pos);if(A.token(this.stream.reset(n,e),i),e.value>-1){let{parser:o}=i.p;for(let a=0;a=0&&i.p.parser.dialect.allows(r>>1)){(r&1)==0?e.value=r>>1:e.extended=r>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,A,i,n){for(let o=0;oe.bufferLength*4?new s_(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,A=this.minStackPos,i=this.stacks=[],n,o;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;aA)i.push(r);else{if(this.advanceStack(r,i,e))continue;{n||(n=[],o=[]),n.push(r);let s=this.tokens.getMainToken(r);o.push(s.value,s.end)}}break}}if(!i.length){let a=n&&$9A(n);if(a)return qg&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw qg&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+A);this.recovering||(this.recovering=5)}if(this.recovering&&n){let a=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,o,i);if(a)return qg&&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((r,s)=>s.score-r.score);i.length>a;)i.pop();i.some(r=>r.reducePos>A)&&this.recovering--}else if(i.length>1){A:for(let a=0;a500&&g.buffer.length>500)if((r.score-g.score||r.buffer.length-g.buffer.length)>0)i.splice(s--,1);else{i.splice(a--,1);continue A}}}i.length>12&&(i.sort((a,r)=>r.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let g=e.curContext&&e.curContext.tracker.strict,l=g?e.curContext.hash:0;for(let C=this.fragments.nodeAt(n);C;){let I=this.parser.nodeSet.types[C.type.id]==C.type?o.getGoto(e.state,C.type.id):-1;if(I>-1&&C.length&&(!g||(C.prop(vi.contextHash)||0)==l))return e.useNode(C,I),qg&&console.log(a+this.stackID(e)+` (via reuse of ${o.getName(C.type.id)})`),!0;if(!(C instanceof za)||C.children.length==0||C.positions[0]>0)break;let d=C.children[0];if(d instanceof za&&C.positions[0]==0)C=d;else break}}let r=o.stateSlot(e.state,4);if(r>0)return e.reduce(r),qg&&console.log(a+this.stackID(e)+` (via always-reduce ${o.getName(r&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let g=0;gn?A.push(B):i.push(B)}return!1}advanceFully(e,A){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return ttA(e,A),!0}}runRecovery(e,A,i){let n=null,o=!1;for(let a=0;a ":"";if(r.deadEnd&&(o||(o=!0,r.restart(),qg&&console.log(l+this.stackID(r)+" (restarted)"),this.advanceFully(r,i))))continue;let C=r.split(),I=l;for(let d=0;d<10&&C.forceReduce()&&(qg&&console.log(I+this.stackID(C)+" (via force-reduce)"),!this.advanceFully(C,i));d++)qg&&(I=this.stackID(C)+" -> ");for(let d of r.recoverByInsert(s))qg&&console.log(l+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>r.pos?(g==r.pos&&(g++,s=0),r.recoverByDelete(s,g),qg&&console.log(l+this.stackID(r)+` (via recover-delete ${this.parser.getName(s)})`),ttA(r,i)):(!n||n.scoree.topRules[r][1]),n=[];for(let r=0;r=0)o(l,s,r[g++]);else{let C=r[g+-l];for(let I=-l;I>0;I--)o(r[g++],s,C);g++}}}this.nodeSet=new Cf(A.map((r,s)=>ps.define({name:s>=this.minRepeatTerm?void 0:r,id:s,props:n[s],top:i.indexOf(s)>-1,error:s==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(s)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let a=yf(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let r=0;rtypeof r=="number"?new _I(a,r):r),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,A,i){let n=new l_(this,e,A,i);for(let o of this.wrappers)n=o(n,e,A,i);return n}getGoto(e,A,i=!1){let n=this.goto;if(A>=n[0])return-1;for(let o=n[A+1];;){let a=n[o++],r=a&1,s=n[o++];if(r&&i)return s;for(let g=o+(a>>1);o0}validAction(e,A){return!!this.allActions(e,i=>i==A?!0:null)}allActions(e,A){let i=this.stateSlot(e,4),n=i?A(i):void 0;for(let o=this.stateSlot(e,1);n==null;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=TC(this.data,o+2);else break;n=A(TC(this.data,o+1))}return n}nextStates(e){let A=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=TC(this.data,i+2);else break;if((this.data[i+2]&1)==0){let n=this.data[i+1];A.some((o,a)=>a&1&&o==n)||A.push(this.data[i],n)}}return A}configure(e){let A=Object.assign(Object.create(t.prototype),this);if(e.props&&(A.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);A.top=i}return e.tokenizers&&(A.tokenizers=this.tokenizers.map(i=>{let n=e.tokenizers.find(o=>o.from==i);return n?n.to:i})),e.specializers&&(A.specializers=this.specializers.slice(),A.specializerSpecs=this.specializerSpecs.map((i,n)=>{let o=e.specializers.find(r=>r.from==i.external);if(!o)return i;let a=Object.assign(Object.assign({},i),{external:o.to});return A.specializers[n]=itA(a),a})),e.contextTracker&&(A.context=e.contextTracker),e.dialect&&(A.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(A.strict=e.strict),e.wrap&&(A.wrappers=A.wrappers.concat(e.wrap)),e.bufferLength!=null&&(A.bufferLength=e.bufferLength),A}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let A=this.dynamicPrecedences;return A==null?0:A[e]||0}parseDialect(e){let A=Object.keys(this.dialects),i=A.map(()=>!1);if(e)for(let o of e.split(" ")){let a=A.indexOf(o);a>=0&&(i[a]=!0)}let n=null;for(let o=0;oi)&&A.p.parser.stateFlag(A.state,2)&&(!e||e.scoret.external(A,i)<<1|e}return t.get}var AMA=UD({String:Re.string,Number:Re.number,"True False":Re.bool,PropertyName:Re.propertyName,Null:Re.null,", :":Re.separator,"[ ]":Re.squareBracket,"{ }":Re.brace}),otA=ty.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:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[AMA],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});var eMA=JD.define({name:"json",parser:otA.configure({props:[JF.add({Object:YF({except:/^\s*\}/}),Array:YF({except:/^\s*\]/})}),ff.add({"Object Array":JAA})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function atA(){return new YD(eMA)}var rtA=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,GI=class{constructor(e,A,i=0,n=e.length,o,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,n),this.bufferStart=i,this.normalize=o?r=>o(rtA(r)):rtA,this.query=this.normalize(A)}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 Zr(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let A=H3(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Og(e);let n=this.normalize(A);if(n.length)for(let o=0,a=i;;o++){let r=n.charCodeAt(o),s=this.match(r,a,this.bufferPos+this.bufferStart);if(o==n.length-1){if(s)return this.value=s,this;break}a==i&&othis.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 e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let A=this.matchPos<=this.to&&this.re.exec(this.curLine);if(A){let i=this.curLineStart+A.index,n=i+A[0].length;if(this.matchPos=sy(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,n,A)))return this.value={from:i,to:n,match:A},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||n.to<=A){let r=new t(A,e.sliceString(A,i));return C_.set(e,r),r}if(n.from==A&&n.to==i)return n;let{text:o,from:a}=n;return a>A&&(o=e.sliceString(A,a)+o,a=A),n.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,A=this.re.exec(this.flat.text);if(A&&!A[0]&&A.index==e&&(this.re.lastIndex=e+1,A=this.re.exec(this.flat.text)),A){let i=this.flat.from+A.index,n=i+A[0].length;if((this.flat.to>=this.to||A.index+A[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,n,A)))return this.value={from:i,to:n,match:A},this.matchPos=sy(this.text,n+(i==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ay.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(oy.prototype[Symbol.iterator]=ry.prototype[Symbol.iterator]=function(){return this});function tMA(t){try{return new RegExp(t,h_),!0}catch{return!1}}function sy(t,e){if(e>=t.length)return e;let A=t.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}var iMA=t=>{let{state:e}=t,A=String(e.doc.lineAt(t.state.selection.main.head).number),{close:i,result:n}=BAA(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:A},focus:!0,submitLabel:e.phrase("go")});return n.then(o=>{let a=o&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(o.elements.line.value);if(!a){t.dispatch({effects:i});return}let r=e.doc.lineAt(e.selection.main.head),[,s,g,l,C]=a,I=l?+l.slice(1):0,d=g?+g:r.number;if(g&&C){let Q=d/100;s&&(Q=Q*(s=="-"?-1:1)+r.number/e.doc.lines),d=Math.round(e.doc.lines*Q)}else g&&s&&(d=d*(s=="-"?-1:1)+r.number);let B=e.doc.line(Math.max(1,Math.min(e.doc.lines,d))),E=de.cursor(B.from+Math.max(0,Math.min(I,B.length)));t.dispatch({effects:[i,ii.scrollIntoView(E.from,{y:"center"})],selection:E})}),!0},nMA={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ctA=We.define({combine(t){return kr(t,nMA,{highlightWordAroundCursor:(e,A)=>e||A,minSelectionLength:Math.min,maxMatches:Math.min})}});function CtA(t){let e=[gMA,sMA];return t&&e.push(ctA.of(t)),e}var oMA=yt.mark({class:"cm-selectionMatch"}),aMA=yt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function stA(t,e,A,i){return(A==0||t(e.sliceDoc(A-1,A))!=Lo.Word)&&(i==e.doc.length||t(e.sliceDoc(i,i+1))!=Lo.Word)}function rMA(t,e,A,i){return t(e.sliceDoc(A,A+1))==Lo.Word&&t(e.sliceDoc(i-1,i))==Lo.Word}var sMA=Go.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(ctA),{state:A}=t,i=A.selection;if(i.ranges.length>1)return yt.none;let n=i.main,o,a=null;if(n.empty){if(!e.highlightWordAroundCursor)return yt.none;let s=A.wordAt(n.head);if(!s)return yt.none;a=A.charCategorizer(n.head),o=A.sliceDoc(s.from,s.to)}else{let s=n.to-n.from;if(s200)return yt.none;if(e.wholeWords){if(o=A.sliceDoc(n.from,n.to),a=A.charCategorizer(n.head),!(stA(a,A,n.from,n.to)&&rMA(a,A,n.from,n.to)))return yt.none}else if(o=A.sliceDoc(n.from,n.to),!o)return yt.none}let r=[];for(let s of t.visibleRanges){let g=new GI(A.doc,o,s.from,s.to);for(;!g.next().done;){let{from:l,to:C}=g.value;if((!a||stA(a,A,l,C))&&(n.empty&&l<=n.from&&C>=n.to?r.push(aMA.range(l,C)):(l>=n.to||C<=n.from)&&r.push(oMA.range(l,C)),r.length>e.maxMatches))return yt.none}}return yt.set(r)}},{decorations:t=>t.decorations}),gMA=ii.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),lMA=({state:t,dispatch:e})=>{let{selection:A}=t,i=de.create(A.ranges.map(n=>t.wordAt(n.head)||de.cursor(n.head)),A.mainIndex);return i.eq(A)?!1:(e(t.update({selection:i})),!0)};function cMA(t,e){let{main:A,ranges:i}=t.selection,n=t.wordAt(A.head),o=n&&n.from==A.from&&n.to==A.to;for(let a=!1,r=new GI(t.doc,e,i[i.length-1].to);;)if(r.next(),r.done){if(a)return null;r=new GI(t.doc,e,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(s=>s.from==r.value.from))continue;if(o){let s=t.wordAt(r.value.from);if(!s||s.from!=r.value.from||s.to!=r.value.to)continue}return r.value}}var CMA=({state:t,dispatch:e})=>{let{ranges:A}=t.selection;if(A.some(o=>o.from===o.to))return lMA({state:t,dispatch:e});let i=t.sliceDoc(A[0].from,A[0].to);if(t.selection.ranges.some(o=>t.sliceDoc(o.from,o.to)!=i))return!1;let n=cMA(t,i);return n?(e(t.update({selection:t.selection.addRange(de.range(n.from,n.to),!1),effects:ii.scrollIntoView(n.to)})),!0):!1},Nd=We.define({combine(t){return kr(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new E_(e),scrollToMatch:e=>ii.scrollIntoView(e)})}});function ItA(t){return t?[Nd.of(t),Q_]:Q_}var gy=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||tMA(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(A,i)=>i=="n"?` -`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new d_(this):new I_(this)}getCursor(e,A=0,i){let n=e.doc?e:er.create({doc:e});return i==null&&(i=n.doc.length),this.regexp?TQ(this,n,A,i):YQ(this,n,A,i)}},ly=class{constructor(e){this.spec=e}};function IMA(t,e,A){return(i,n,o,a)=>{if(A&&!A(i,n,o,a))return!1;let r=i>=a&&n<=a+o.length?o.slice(i-a,n-a):e.doc.sliceString(i,n);return t(r,e,i,n)}}function YQ(t,e,A,i){let n;return t.wholeWord&&(n=dMA(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(n=IMA(t.test,e,n)),new GI(e.doc,t.unquoted,A,i,t.caseSensitive?void 0:o=>o.toLowerCase(),n)}function dMA(t,e){return(A,i,n,o)=>((o>A||o+n.length=A)return null;n.push(i.value)}return n}highlight(e,A,i,n){let o=YQ(this.spec,e,Math.max(0,A-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}};function BMA(t,e,A){return(i,n,o)=>(!A||A(i,n,o))&&t(o[0],e,i,n)}function TQ(t,e,A,i){let n;return t.wholeWord&&(n=EMA(e.charCategorizer(e.selection.main.head))),t.test&&(n=BMA(t.test,e,n)),new oy(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:n},A,i)}function cy(t,e){return t.slice(Ta(t,e,!1),e)}function Cy(t,e){return t.slice(e,Ta(t,e))}function EMA(t){return(e,A,i)=>!i[0].length||(t(cy(i.input,i.index))!=Lo.Word||t(Cy(i.input,i.index))!=Lo.Word)&&(t(Cy(i.input,i.index+i[0].length))!=Lo.Word||t(cy(i.input,i.index+i[0].length))!=Lo.Word)}var d_=class extends ly{nextMatch(e,A,i){let n=TQ(this.spec,e,i,e.doc.length).next();return n.done&&(n=TQ(this.spec,e,0,A).next()),n.done?null:n.value}prevMatchInRange(e,A,i){for(let n=1;;n++){let o=Math.max(A,i-n*1e4),a=TQ(this.spec,e,o,i),r=null;for(;!a.next().done;)r=a.value;if(r&&(o==A||r.from>o+10))return r;if(o==A)return null}}prevMatch(e,A,i){return this.prevMatchInRange(e,0,A)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(A,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let n=i.length;n>0;n--){let o=+i.slice(0,n);if(o>0&&o=A)return null;n.push(i.value)}return n}highlight(e,A,i,n){let o=TQ(this.spec,e,Math.max(0,A-250),Math.min(i+250,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}},bf=Hi.define(),u_=Hi.define(),LI=va.define({create(t){return new vf(B_(t).create(),null)},update(t,e){for(let A of e.effects)A.is(bf)?t=new vf(A.value.create(),t.panel):A.is(u_)&&(t=new vf(t.query,A.value?f_:null));return t},provide:t=>Dd.from(t,e=>e.panel)});var vf=class{constructor(e,A){this.query=e,this.panel=A}},QMA=yt.mark({class:"cm-searchMatch"}),hMA=yt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),uMA=Go.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(LI))}update(t){let e=t.state.field(LI);(e!=t.startState.field(LI)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return yt.none;let{view:A}=this,i=new Wr;for(let n=0,o=A.visibleRanges,a=o.length;no[n+1].from-500;)s=o[++n].to;t.highlight(A.state,r,s,(g,l)=>{let C=A.state.selection.ranges.some(I=>I.from==g&&I.to==l);i.add(g,l,C?hMA:QMA)})}return i.finish()}},{decorations:t=>t.decorations});function Mf(t){return e=>{let A=e.state.field(LI,!1);return A&&A.query.spec.valid?t(e,A):By(e)}}var Iy=Mf((t,{query:e})=>{let{to:A}=t.state.selection.main,i=e.nextMatch(t.state,A,A);if(!i)return!1;let n=de.single(i.from,i.to),o=t.state.facet(Nd);return t.dispatch({selection:n,effects:[m_(t,i),o.scrollToMatch(n.main,t)],userEvent:"select.search"}),BtA(t),!0}),dy=Mf((t,{query:e})=>{let{state:A}=t,{from:i}=A.selection.main,n=e.prevMatch(A,i,i);if(!n)return!1;let o=de.single(n.from,n.to),a=t.state.facet(Nd);return t.dispatch({selection:o,effects:[m_(t,n),a.scrollToMatch(o.main,t)],userEvent:"select.search"}),BtA(t),!0}),fMA=Mf((t,{query:e})=>{let A=e.matchAll(t.state,1e3);return!A||!A.length?!1:(t.dispatch({selection:de.create(A.map(i=>de.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),mMA=({state:t,dispatch:e})=>{let A=t.selection;if(A.ranges.length>1||A.main.empty)return!1;let{from:i,to:n}=A.main,o=[],a=0;for(let r=new GI(t.doc,t.sliceDoc(i,n));!r.next().done;){if(o.length>1e3)return!1;r.value.from==i&&(a=o.length),o.push(de.range(r.value.from,r.value.to))}return e(t.update({selection:de.create(o,a),userEvent:"select.search.matches"})),!0},gtA=Mf((t,{query:e})=>{let{state:A}=t,{from:i,to:n}=A.selection.main;if(A.readOnly)return!1;let o=e.nextMatch(A,i,i);if(!o)return!1;let a=o,r=[],s,g,l=[];a.from==i&&a.to==n&&(g=A.toText(e.getReplacement(a)),r.push({from:a.from,to:a.to,insert:g}),a=e.nextMatch(A,a.from,a.to),l.push(ii.announce.of(A.phrase("replaced match on line $",A.doc.lineAt(i).number)+".")));let C=t.state.changes(r);return a&&(s=de.single(a.from,a.to).map(C),l.push(m_(t,a)),l.push(A.facet(Nd).scrollToMatch(s.main,t))),t.dispatch({changes:C,selection:s,effects:l,userEvent:"input.replace"}),!0}),pMA=Mf((t,{query:e})=>{if(t.state.readOnly)return!1;let A=e.matchAll(t.state,1e9).map(n=>{let{from:o,to:a}=n;return{from:o,to:a,insert:e.getReplacement(n)}});if(!A.length)return!1;let i=t.state.phrase("replaced $ matches",A.length)+".";return t.dispatch({changes:A,effects:ii.announce.of(i),userEvent:"input.replace.all"}),!0});function f_(t){return t.state.facet(Nd).createPanel(t)}function B_(t,e){var A,i,n,o,a;let r=t.selection.main,s=r.empty||r.to>r.from+100?"":t.sliceDoc(r.from,r.to);if(e&&!s)return e;let g=t.facet(Nd);return new gy({search:((A=e?.literal)!==null&&A!==void 0?A:g.literal)?s:s.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:g.caseSensitive,literal:(n=e?.literal)!==null&&n!==void 0?n:g.literal,regexp:(o=e?.regexp)!==null&&o!==void 0?o:g.regexp,wholeWord:(a=e?.wholeWord)!==null&&a!==void 0?a:g.wholeWord})}function dtA(t){let e=lf(t,f_);return e&&e.dom.querySelector("[main-field]")}function BtA(t){let e=dtA(t);e&&e==t.root.activeElement&&e.select()}var By=t=>{let e=t.state.field(LI,!1);if(e&&e.panel){let A=dtA(t);if(A&&A!=t.root.activeElement){let i=B_(t.state,e.query.spec);i.valid&&t.dispatch({effects:bf.of(i)}),A.focus(),A.select()}}else t.dispatch({effects:[u_.of(!0),e?bf.of(B_(t.state,e.query.spec)):Hi.appendConfig.of(Q_)]});return!0},Ey=t=>{let e=t.state.field(LI,!1);if(!e||!e.panel)return!1;let A=lf(t,f_);return A&&A.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:u_.of(!1)}),!0},EtA=[{key:"Mod-f",run:By,scope:"editor search-panel"},{key:"F3",run:Iy,shift:dy,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Iy,shift:dy,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Ey,scope:"editor search-panel"},{key:"Mod-Shift-l",run:mMA},{key:"Mod-Alt-g",run:iMA},{key:"Mod-d",run:CMA,preventDefault:!0}],E_=class{constructor(e){this.view=e;let A=this.query=e.state.field(LI).query.spec;this.commit=this.commit.bind(this),this.searchField=io("input",{value:A.search,placeholder:Vg(e,"Find"),"aria-label":Vg(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=io("input",{value:A.replace,placeholder:Vg(e,"Replace"),"aria-label":Vg(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=io("input",{type:"checkbox",name:"case",form:"",checked:A.caseSensitive,onchange:this.commit}),this.reField=io("input",{type:"checkbox",name:"re",form:"",checked:A.regexp,onchange:this.commit}),this.wordField=io("input",{type:"checkbox",name:"word",form:"",checked:A.wholeWord,onchange:this.commit});function i(n,o,a){return io("button",{class:"cm-button",name:n,onclick:o,type:"button"},a)}this.dom=io("div",{onkeydown:n=>this.keydown(n),class:"cm-search"},[this.searchField,i("next",()=>Iy(e),[Vg(e,"next")]),i("prev",()=>dy(e),[Vg(e,"previous")]),i("select",()=>fMA(e),[Vg(e,"all")]),io("label",null,[this.caseField,Vg(e,"match case")]),io("label",null,[this.reField,Vg(e,"regexp")]),io("label",null,[this.wordField,Vg(e,"by word")]),...e.state.readOnly?[]:[io("br"),this.replaceField,i("replace",()=>gtA(e),[Vg(e,"replace")]),i("replaceAll",()=>pMA(e),[Vg(e,"replace all")])],io("button",{name:"close",onclick:()=>Ey(e),"aria-label":Vg(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new gy({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:bf.of(e)}))}keydown(e){eAA(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?dy:Iy)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),gtA(this.view))}update(e){for(let A of e.transactions)for(let i of A.effects)i.is(bf)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Nd).top}};function Vg(t,e){return t.state.phrase(e)}var iy=30,ny=/[\s\.,:;?!]/;function m_(t,{from:e,to:A}){let i=t.state.doc.lineAt(e),n=t.state.doc.lineAt(A).to,o=Math.max(i.from,e-iy),a=Math.min(n,A+iy),r=t.state.sliceDoc(o,a);if(o!=i.from){for(let s=0;sr.length-iy;s--)if(!ny.test(r[s-1])&&ny.test(r[s])){r=r.slice(0,s);break}}return ii.announce.of(`${t.state.phrase("current match")}. ${r} ${t.state.phrase("on line")} ${i.number}.`)}var wMA=ii.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"}}),Q_=[LI,bc.low(uMA),wMA];var hy=class{constructor(e,A,i,n){this.state=e,this.pos=A,this.explicit=i,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let A=xr(this.state).resolveInner(this.pos,-1);for(;A&&e.indexOf(A.name)<0;)A=A.parent;return A?{from:A.from,to:this.pos,text:this.state.sliceDoc(A.from,this.pos),type:A.type}:null}matchBefore(e){let A=this.state.doc.lineAt(this.pos),i=Math.max(A.from,this.pos-250),n=A.text.slice(i-A.from,this.pos-A.from),o=n.search(DtA(e,!1));return o<0?null:{from:i+o,to:this.pos,text:n.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(e,A,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(A),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function QtA(t){let e=Object.keys(t).join(""),A=/\w/.test(e);return A&&(e=e.replace(/\w/g,"")),`[${A?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function DMA(t){let e=Object.create(null),A=Object.create(null);for(let{label:n}of t){e[n[0]]=!0;for(let o=1;otypeof n=="string"?{label:n}:n),[A,i]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:DMA(e);return n=>{let o=n.matchBefore(i);return o||n.explicit?{from:o?o.from:n.pos,options:e,validFor:A}:null}}var uy=class{constructor(e,A,i,n){this.completion=e,this.source=A,this.match=i,this.score=n}};function _d(t){return t.selection.main.from}function DtA(t,e){var A;let{source:i}=t,n=e&&i[0]!="^",o=i[i.length-1]!="$";return!n&&!o?t:new RegExp(`${n?"^":""}(?:${i})${o?"$":""}`,(A=t.flags)!==null&&A!==void 0?A:t.ignoreCase?"i":"")}var ytA=hg.define();function vMA(t,e,A,i){let{main:n}=t.selection,o=A-n.from,a=i-n.from;return Ge(cA({},t.changeByRange(r=>{if(r!=n&&A!=i&&t.sliceDoc(r.from+o,r.from+a)!=t.sliceDoc(A,i))return{range:r};let s=t.toText(e);return{changes:{from:r.from+o,to:i==n.from?r.to:r.from+a,insert:s},range:de.cursor(r.from+o+s.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}var htA=new WeakMap;function bMA(t){if(!Array.isArray(t))return t;let e=htA.get(t);return e||htA.set(t,e=yMA(t)),e}var fy=Hi.define(),kf=Hi.define(),y_=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let A=0;A=48&&D<=57||D>=97&&D<=122?2:D>=65&&D<=90?1:0:(F=H3(D))!=F.toLowerCase()?1:F!=F.toUpperCase()?2:0;(!b||_==1&&Q||M==0&&_!=0)&&(A[C]==D||i[C]==D&&(I=!0)?a[C++]=b:a.length&&(f=!1)),M=_,b+=Og(D)}return C==s&&a[0]==0&&f?this.result(-100+(I?-200:0),a,e):d==s&&B==0?this.ret(-200-e.length+(E==e.length?0:-100),[0,E]):r>-1?this.ret(-700-e.length,[r,r+this.pattern.length]):d==s?this.ret(-900-e.length,[B,E]):C==s?this.result(-100+(I?-200:0)+-700+(f?0:-1100),a,e):A.length==2?null:this.result((n[0]?-700:0)+-200+-1100,n,e)}result(e,A,i){let n=[],o=0;for(let a of A){let r=a+(this.astral?Og(Zr(i,a)):1);o&&n[o-1]==a?n[o-1]=r:(n[o++]=a,n[o++]=r)}return this.ret(e-i.length,n)}},v_=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:MMA,filterStrict:!1,compareCompletions:(e,A)=>(e.sortText||e.label).localeCompare(A.sortText||A.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,A)=>e&&A,closeOnBlur:(e,A)=>e&&A,icons:(e,A)=>e&&A,tooltipClass:(e,A)=>i=>utA(e(i),A(i)),optionClass:(e,A)=>i=>utA(e(i),A(i)),addToOptions:(e,A)=>e.concat(A),filterStrict:(e,A)=>e||A})}});function utA(t,e){return t?e?t+" "+e:t:e}function MMA(t,e,A,i,n,o){let a=t.textDirection==mo.RTL,r=a,s=!1,g="top",l,C,I=e.left-n.left,d=n.right-e.right,B=i.right-i.left,E=i.bottom-i.top;if(r&&I=E||b>e.top?l=A.bottom-e.top:(g="bottom",l=e.bottom-A.top)}let Q=(e.bottom-e.top)/o.offsetHeight,f=(e.right-e.left)/o.offsetWidth;return{style:`${g}: ${l/Q}px; max-width: ${C/f}px`,class:"cm-completionInfo-"+(s?a?"left-narrow":"right-narrow":r?"left":"right")}}function kMA(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(A){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),A.type&&i.classList.add(...A.type.split(/\s+/g).map(n=>"cm-completionIcon-"+n)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(A,i,n,o){let a=document.createElement("span");a.className="cm-completionLabel";let r=A.displayLabel||A.label,s=0;for(let g=0;gs&&a.appendChild(document.createTextNode(r.slice(s,l)));let I=a.appendChild(document.createElement("span"));I.appendChild(document.createTextNode(r.slice(l,C))),I.className="cm-completionMatchedText",s=C}return sA.position-i.position).map(A=>A.render)}function p_(t,e,A){if(t<=A)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let n=Math.floor(e/A);return{from:n*A,to:(n+1)*A}}let i=Math.floor((t-e)/A);return{from:t-(i+1)*A,to:t-i*A}}var b_=class{constructor(e,A,i){this.view=e,this.stateField=A,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:s=>this.placeInfo(s),key:this},this.space=null,this.currentClass="";let n=e.state.field(A),{options:o,selected:a}=n.open,r=e.state.facet(Rr);this.optionContent=kMA(r),this.optionClass=r.optionClass,this.tooltipClass=r.tooltipClass,this.range=p_(o.length,a,r.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",s=>{let{options:g}=e.state.field(A).open;for(let l=s.target,C;l&&l!=this.dom;l=l.parentNode)if(l.nodeName=="LI"&&(C=/-(\d+)$/.exec(l.id))&&+C[1]{let g=e.state.field(this.stateField,!1);g&&g.tooltip&&e.state.facet(Rr).closeOnBlur&&s.relatedTarget!=e.contentDOM&&e.dispatch({effects:kf.of(null)})}),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(e,A){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,A,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var A;let i=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=n){let{options:o,selected:a,disabled:r}=i.open;(!n.open||n.open.options!=o)&&(this.range=p_(o.length,a,e.state.facet(Rr).maxRenderedOptions),this.showOptions(o,i.id)),this.updateSel(),r!=((A=n.open)===null||A===void 0?void 0:A.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!r)}}updateTooltipClass(e){let A=this.tooltipClass(e);if(A!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of A.split(" "))i&&this.dom.classList.add(i);this.currentClass=A}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),A=e.open;(A.selected>-1&&A.selected=this.range.to)&&(this.range=p_(A.options.length,A.selected,this.view.state.facet(Rr).maxRenderedOptions),this.showOptions(A.options,e.id));let i=this.updateSelectedOption(A.selected);if(i){this.destroyInfo();let{completion:n}=A.options[A.selected],{info:o}=n;if(!o)return;let a=typeof o=="string"?document.createTextNode(o):o(n);if(!a)return;"then"in a?a.then(r=>{r&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(r,n)}).catch(r=>Sr(this.view.state,r,"completion info")):(this.addInfoPane(a,n),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,A){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),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:n,destroy:o}=e;i.appendChild(n),this.infoDestroy=o||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let A=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)i.nodeName!="LI"||!i.id?n--:n==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),A=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return A&&xMA(this.list,A),A}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let A=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),o=this.space;if(!o){let a=this.dom.ownerDocument.documentElement;o={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return n.top>Math.min(o.bottom,A.bottom)-10||n.bottom{a.target==n&&a.preventDefault()});let o=null;for(let a=i.from;ai.from||i.from==0))if(o=I,typeof g!="string"&&g.header)n.appendChild(g.header(g));else{let d=n.appendChild(document.createElement("completion-section"));d.textContent=I}}let l=n.appendChild(document.createElement("li"));l.id=A+"-"+a,l.setAttribute("role","option");let C=this.optionClass(r);C&&(l.className=C);for(let I of this.optionContent){let d=I(r,this.view.state,this.view,s);d&&l.appendChild(d)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.tonew b_(A,t,e)}function xMA(t,e){let A=t.getBoundingClientRect(),i=e.getBoundingClientRect(),n=A.height/t.offsetHeight;i.topA.bottom&&(t.scrollTop+=(i.bottom-A.bottom)/n)}function ftA(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function RMA(t,e){let A=[],i=null,n=null,o=l=>{A.push(l);let{section:C}=l.completion;if(C){i||(i=[]);let I=typeof C=="string"?C:C.name;i.some(d=>d.name==I)||i.push(typeof C=="string"?{name:I}:C)}},a=e.facet(Rr);for(let l of t)if(l.hasResult()){let C=l.result.getMatch;if(l.result.filter===!1)for(let I of l.result.options)o(new uy(I,l.source,C?C(I):[],1e9-A.length));else{let I=e.sliceDoc(l.from,l.to),d,B=a.filterStrict?new v_(I):new y_(I);for(let E of l.result.options)if(d=B.match(E.label)){let Q=E.displayLabel?C?C(E,d.matched):[]:d.matched,f=d.score+(E.boost||0);if(o(new uy(E,l.source,Q,f)),typeof E.section=="object"&&E.section.rank==="dynamic"){let{name:b}=E.section;n||(n=Object.create(null)),n[b]=Math.max(f,n[b]||-1e9)}}}}if(i){let l=Object.create(null),C=0,I=(d,B)=>(d.rank==="dynamic"&&B.rank==="dynamic"?n[B.name]-n[d.name]:0)||(typeof d.rank=="number"?d.rank:1e9)-(typeof B.rank=="number"?B.rank:1e9)||(d.nameI.score-C.score||g(C.completion,I.completion))){let C=l.completion;!s||s.label!=C.label||s.detail!=C.detail||s.type!=null&&C.type!=null&&s.type!=C.type||s.apply!=C.apply||s.boost!=C.boost?r.push(l):ftA(l.completion)>ftA(s)&&(r[r.length-1]=l),s=l.completion}return r}var M_=class t{constructor(e,A,i,n,o,a){this.options=e,this.attrs=A,this.tooltip=i,this.timestamp=n,this.selected=o,this.disabled=a}setSelected(e,A){return e==this.selected||e>=this.options.length?this:new t(this.options,mtA(A,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,A,i,n,o,a){if(n&&!a&&e.some(g=>g.isPending))return n.setDisabled();let r=RMA(e,A);if(!r.length)return n&&e.some(g=>g.isPending)?n.setDisabled():null;let s=A.facet(Rr).selectOnOpen?0:-1;if(n&&n.selected!=s&&n.selected!=-1){let g=n.options[n.selected].completion;for(let l=0;ll.hasResult()?Math.min(g,l.from):g,1e8),create:KMA,above:o.aboveCursor},n?n.timestamp:Date.now(),s,!1)}map(e){return new t(this.options,this.attrs,Ge(cA({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},k_=class t{constructor(e,A,i){this.active=e,this.id=A,this.open=i}static start(){return new t(LMA,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:A}=e,i=A.facet(Rr),o=(i.override||A.languageDataAt("autocomplete",_d(A)).map(bMA)).map(s=>(this.active.find(l=>l.source==s)||new HC(s,this.active.some(l=>l.state!=0)?1:0)).update(e,i));o.length==this.active.length&&o.every((s,g)=>s==this.active[g])&&(o=this.active);let a=this.open,r=e.effects.some(s=>s.is(x_));a&&e.docChanged&&(a=a.map(e.changes)),e.selection||o.some(s=>s.hasResult()&&e.changes.touchesRange(s.from,s.to))||!NMA(o,this.active)||r?a=M_.build(o,A,this.id,a,i,r):a&&a.disabled&&!o.some(s=>s.isPending)&&(a=null),!a&&o.every(s=>!s.isPending)&&o.some(s=>s.hasResult())&&(o=o.map(s=>s.hasResult()?new HC(s.source,0):s));for(let s of e.effects)s.is(btA)&&(a=a&&a.setSelected(s.value,this.id));return o==this.active&&a==this.open?this:new t(o,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?FMA:_MA}};function NMA(t,e){if(t==e)return!0;for(let A=0,i=0;;){for(;A-1&&(A["aria-activedescendant"]=t+"-"+e),A}var LMA=[];function vtA(t,e){if(t.isUserEvent("input.complete")){let i=t.annotation(ytA);if(i&&e.activateOnCompletion(i))return 12}let A=t.isUserEvent("input.type");return A&&e.activateOnTyping?5:A?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var HC=class t{constructor(e,A,i=!1){this.source=e,this.state=A,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,A){let i=vtA(e,A),n=this;(i&8||i&16&&this.touches(e))&&(n=new t(n.source,0)),i&4&&n.state==0&&(n=new t(this.source,1)),n=n.updateFor(e,i);for(let o of e.effects)if(o.is(fy))n=new t(n.source,1,o.value);else if(o.is(kf))n=new t(n.source,0);else if(o.is(x_))for(let a of o.value)a.source==n.source&&(n=a);return n}updateFor(e,A){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(_d(e.state))}},my=class t extends HC{constructor(e,A,i,n,o,a){super(e,3,A),this.limit=i,this.result=n,this.from=o,this.to=a}hasResult(){return!0}updateFor(e,A){var i;if(!(A&3))return this.map(e.changes);let n=this.result;n.map&&!e.changes.empty&&(n=n.map(n,e.changes));let o=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),r=_d(e.state);if(r>a||!n||A&2&&(_d(e.startState)==this.from||rA.map(e))}}),btA=Hi.define(),pg=va.define({create(){return k_.start()},update(t,e){return t.update(e)},provide:t=>[xQ.from(t,e=>e.tooltip),ii.contentAttributes.from(t,e=>e.attrs)]});function R_(t,e){let A=e.completion.apply||e.completion.label,i=t.state.field(pg).active.find(n=>n.source==e.source);return i instanceof my?(typeof A=="string"?t.dispatch(Ge(cA({},vMA(t.state,A,i.from,i.to)),{annotations:ytA.of(e.completion)})):A(t,e.completion,i.from,i.to),!0):!1}var KMA=SMA(pg,R_);function Qy(t,e="option"){return A=>{let i=A.state.field(pg,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+n*(t?1:-1):t?0:a-1;return r<0?r=e=="page"?0:a-1:r>=a&&(r=e=="page"?a-1:0),A.dispatch({effects:btA.of(r)}),!0}}var UMA=t=>{let e=t.state.field(pg,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampt.state.field(pg,!1)?(t.dispatch({effects:fy.of(!0)}),!0):!1,JMA=t=>{let e=t.state.field(pg,!1);return!e||!e.active.some(A=>A.state!=0)?!1:(t.dispatch({effects:kf.of(null)}),!0)},S_=class{constructor(e,A){this.active=e,this.context=A,this.time=Date.now(),this.updates=[],this.done=void 0}},YMA=50,TMA=1e3,HMA=Go.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(pg).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(pg),A=t.state.facet(Rr);if(!t.selectionSet&&!t.docChanged&&t.startState.field(pg)==e)return;let i=t.transactions.some(o=>{let a=vtA(o,A);return a&8||(o.selection||o.docChanged)&&!(a&3)});for(let o=0;oYMA&&Date.now()-a.time>TMA){for(let r of a.context.abortListeners)try{r()}catch(s){Sr(this.view.state,s)}a.context.abortListeners=null,this.running.splice(o--,1)}else a.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(o=>o.effects.some(a=>a.is(fy)))&&(this.pendingStart=!0);let n=this.pendingStart?50:A.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(o=>o.isPending&&!this.running.some(a=>a.active.source==o.source))?setTimeout(()=>this.startUpdate(),n):-1,this.composing!=0)for(let o of t.transactions)o.isUserEvent("input.type")?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(pg);for(let A of e.active)A.isPending&&!this.running.some(i=>i.active.source==A.source)&&this.startQuery(A);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Rr).updateSyncTime))}startQuery(t){let{state:e}=this.view,A=_d(e),i=new hy(e,A,t.explicit,this.view),n=new S_(t,i);this.running.push(n),Promise.resolve(t.source(i)).then(o=>{n.context.aborted||(n.done=o||null,this.scheduleAccept())},o=>{this.view.dispatch({effects:kf.of(null)}),Sr(this.view.state,o)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Rr).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],A=this.view.state.facet(Rr),i=this.view.state.field(pg);for(let n=0;nr.source==o.active.source);if(a&&a.isPending)if(o.done==null){let r=new HC(o.active.source,0);for(let s of o.updates)r=r.update(s,A);r.isPending||e.push(r)}else this.startQuery(a)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:x_.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(pg,!1);if(e&&e.tooltip&&this.view.state.facet(Rr).closeOnBlur){let A=e.open&&BF(this.view,e.open.tooltip);(!A||!A.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:kf.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:fy.of(!1)}),20),this.composing=0}}}),zMA=typeof navigator=="object"&&/Win/.test(navigator.platform),OMA=bc.highest(ii.domEventHandlers({keydown(t,e){let A=e.state.field(pg,!1);if(!A||!A.open||A.open.disabled||A.open.selected<0||t.key.length>1||t.ctrlKey&&!(zMA&&t.altKey)||t.metaKey)return!1;let i=A.open.options[A.open.selected],n=A.active.find(a=>a.source==i.source),o=i.completion.commitCharacters||n.result.commitCharacters;return o&&o.indexOf(t.key)>-1&&R_(e,i),!1}})),PMA=ii.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:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".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:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var Sf={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Fd=Hi.define({map(t,e){let A=e.mapPos(t,-1,qr.TrackAfter);return A??void 0}}),N_=new class extends kl{};N_.startSide=1;N_.endSide=-1;var MtA=va.define({create(){return to.empty},update(t,e){if(t=t.map(e.changes),e.selection){let A=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:i=>i>=A.from&&i<=A.to})}for(let A of e.effects)A.is(Fd)&&(t=t.update({add:[N_.range(A.value,A.value+1)]}));return t}});function ktA(){return[qMA,MtA]}var D_="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function StA(t){for(let e=0;e{if((jMA?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let n=t.state.selection.main;if(i.length>2||i.length==2&&Og(Zr(i,0))==1||e!=n.from||A!=n.to)return!1;let o=WMA(t.state,i);return o?(t.dispatch(o),!0):!1}),VMA=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=xtA(t,t.selection.main.head).brackets||Sf.brackets,n=null,o=t.changeByRange(a=>{if(a.empty){let r=ZMA(t.doc,a.head);for(let s of i)if(s==r&&py(t.doc,a.head)==StA(Zr(s,0)))return{changes:{from:a.head-s.length,to:a.head+s.length},range:de.cursor(a.head-s.length)}}return{range:n=a}});return n||e(t.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!n},RtA=[{key:"Backspace",run:VMA}];function WMA(t,e){let A=xtA(t,t.selection.main.head),i=A.brackets||Sf.brackets;for(let n of i){let o=StA(Zr(n,0));if(e==n)return o==n?AkA(t,n,i.indexOf(n+n+n)>-1,A):XMA(t,n,o,A.before||Sf.before);if(e==o&&NtA(t,t.selection.main.from))return $MA(t,n,o)}return null}function NtA(t,e){let A=!1;return t.field(MtA).between(0,t.doc.length,i=>{i==e&&(A=!0)}),A}function py(t,e){let A=t.sliceString(e,e+2);return A.slice(0,Og(Zr(A,0)))}function ZMA(t,e){let A=t.sliceString(e-2,e);return Og(Zr(A,0))==A.length?A:A.slice(1)}function XMA(t,e,A,i){let n=null,o=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:A,from:a.to}],effects:Fd.of(a.to+e.length),range:de.range(a.anchor+e.length,a.head+e.length)};let r=py(t.doc,a.head);return!r||/\s/.test(r)||i.indexOf(r)>-1?{changes:{insert:e+A,from:a.head},effects:Fd.of(a.head+e.length),range:de.cursor(a.head+e.length)}:{range:n=a}});return n?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function $MA(t,e,A){let i=null,n=t.changeByRange(o=>o.empty&&py(t.doc,o.head)==A?{changes:{from:o.head,to:o.head+A.length,insert:A},range:de.cursor(o.head+A.length)}:i={range:o});return i?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function AkA(t,e,A,i){let n=i.stringPrefixes||Sf.stringPrefixes,o=null,a=t.changeByRange(r=>{if(!r.empty)return{changes:[{insert:e,from:r.from},{insert:e,from:r.to}],effects:Fd.of(r.to+e.length),range:de.range(r.anchor+e.length,r.head+e.length)};let s=r.head,g=py(t.doc,s),l;if(g==e){if(ptA(t,s))return{changes:{insert:e+e,from:s},effects:Fd.of(s+e.length),range:de.cursor(s+e.length)};if(NtA(t,s)){let I=A&&t.sliceDoc(s,s+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:s,to:s+I.length,insert:I},range:de.cursor(s+I.length)}}}else{if(A&&t.sliceDoc(s-2*e.length,s)==e+e&&(l=wtA(t,s-2*e.length,n))>-1&&ptA(t,l))return{changes:{insert:e+e+e+e,from:s},effects:Fd.of(s+e.length),range:de.cursor(s+e.length)};if(t.charCategorizer(s)(g)!=Lo.Word&&wtA(t,s,n)>-1&&!ekA(t,s,e,n))return{changes:{insert:e+e,from:s},effects:Fd.of(s+e.length),range:de.cursor(s+e.length)}}return{range:o=r}});return o?null:t.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function ptA(t,e){let A=xr(t).resolveInner(e+1);return A.parent&&A.from==e}function ekA(t,e,A,i){let n=xr(t).resolveInner(e,-1),o=i.reduce((a,r)=>Math.max(a,r.length),0);for(let a=0;a<5;a++){let r=t.sliceDoc(n.from,Math.min(n.to,n.from+A.length+o)),s=r.indexOf(A);if(!s||s>-1&&i.indexOf(r.slice(0,s))>-1){let l=n.firstChild;for(;l&&l.from==n.from&&l.to-l.from>A.length+s;){if(t.sliceDoc(l.to-A.length,l.to)==A)return!1;l=l.firstChild}return!0}let g=n.to==e&&n.parent;if(!g)break;n=g}return!1}function wtA(t,e,A){let i=t.charCategorizer(e);if(i(t.sliceDoc(e-1,e))!=Lo.Word)return e;for(let n of A){let o=e-n.length;if(t.sliceDoc(o,e)==n&&i(t.sliceDoc(o-1,o))!=Lo.Word)return o}return-1}function FtA(t={}){return[OMA,pg,Rr.of(t),HMA,tkA,PMA]}var F_=[{key:"Ctrl-Space",run:w_},{mac:"Alt-`",run:w_},{mac:"Alt-i",run:w_},{key:"Escape",run:JMA},{key:"ArrowDown",run:Qy(!0)},{key:"ArrowUp",run:Qy(!1)},{key:"PageDown",run:Qy(!0,"page")},{key:"PageUp",run:Qy(!1,"page")},{key:"Enter",run:UMA}],tkA=bc.highest(SQ.computeN([Rr],t=>t.facet(Rr).defaultKeymap?[F_]:[]));function ikA(t,e=t.state){let A=new Set;for(let{from:i,to:n}of t.visibleRanges){let o=i;for(;o<=n;){let a=e.doc.lineAt(o);A.has(a)||A.add(a),o=a.to+1}}return A}function __(t){let e=t.selection.main.head;return t.doc.lineAt(e)}function _tA(t,e){let A=0;A:for(let i=0;i=o.level&&this.markerType!=="codeOnly"?this.set(e,0,n.level):n.empty&&n.level===0&&o.level!==0?this.set(e,0,0):o.level>n.level?this.set(e,0,n.level+1):this.set(e,0,o.level)}let A=_tA(e.text,this.state.tabSize),i=Math.floor(A/this.unitWidth);return this.set(e,A,i)}closestNonEmpty(e,A){let i=e.number+A;for(;A===-1?i>=1:i<=this.state.doc.lines;){if(this.has(i)){let a=this.get(i);if(!a.empty)return a}let o=this.state.doc.line(i);if(o.text.trim().length){let a=_tA(o.text,this.state.tabSize),r=Math.floor(a/this.unitWidth);return this.set(o,a,r)}i+=A}let n=this.state.doc.line(A===-1?1:this.state.doc.lines);return this.set(n,0,0)}findAndSetActiveLines(){let e=__(this.state);if(!this.has(e))return;let A=this.get(e);if(this.has(A.line.number+1)){let o=this.get(A.line.number+1);o.level>A.level&&(A=o)}if(this.has(A.line.number-1)){let o=this.get(A.line.number-1);o.level>A.level&&(A=o)}if(A.level===0)return;A.active=A.level;let i,n;for(i=A.line.number;i>1;i--){if(!this.has(i-1))continue;let o=this.get(i-1);if(o.level0&&s.push(wy("--indent-marker-bg-color",i,e,r,g)),s.push(wy("--indent-marker-active-bg-color",n,e,a-1,1)),a!==o&&s.push(wy("--indent-marker-bg-color",i,e,a,o-a))}else s.push(wy("--indent-marker-bg-color",i,e,r,o-r));return s.join(",")}var G_=class{constructor(e){this.view=e,this.unitWidth=_c(e.state),this.currentLineNumber=__(e.state).number,this.generate(e.state)}update(e){let A=_c(e.state),i=A!==this.unitWidth;i&&(this.unitWidth=A);let n=__(e.state).number,o=n!==this.currentLineNumber;this.currentLineNumber=n;let a=e.state.facet(Dy).highlightActiveBlock&&o;(e.docChanged||e.viewportChanged||i||a)&&this.generate(e.state)}generate(e){let A=new Wr,i=ikA(this.view,e),{hideFirstIndent:n,markerType:o,thickness:a,activeThickness:r}=e.facet(Dy),s=new L_(i,e,this.unitWidth,o);for(let g of i){let l=s.get(g.number);if(!l?.level)continue;let C=okA(l,this.unitWidth,n,a,r);A.add(g.from,g.from,yt.line({class:"cm-indent-markers",attributes:{style:`--indent-markers: ${C}`}}))}this.decorations=A.finish()}};function LtA(t={}){return[Dy.of(t),nkA(t.colors),Go.fromClass(G_,{decorations:e=>e.decorations})]}var akA=["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment"],rkA=["mainAxis","crossAxis","limiter"];function AnA(t,e){if(t==null)return{};var A,i,n=(function(a,r){if(a==null)return{};var s={};for(var g in a)if({}.hasOwnProperty.call(a,g)){if(r.indexOf(g)!==-1)continue;s[g]=a[g]}return s})(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i{};function EkA(t){return t()}function CL(t){for(var e=0;e{t=A,e=i}),resolve:t,reject:e}}var QkA=1<<24,vh=16,uv=32,anA=64,jL=128,zc=512,As=1024,Oc=2048,r2=4096,j0=8192,bh=16384,qL=32768,Vd=65536,hkA=1<<17,rnA=1<<18,snA=1<<19,PC=1<<25,Xy=32768,IL=1<<21,XI=1<<23,q0=Symbol("$state"),gnA=Symbol("legacy props"),ukA=Symbol(""),Ah=new class extends Error{constructor(){super(...arguments),H0(this,"name","StaleReactionError"),H0(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function om(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function lnA(t){return t===this.v}function cnA(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function CnA(t){return!cnA(t,this.v)}var co=null;function Ih(t){co=t}function r1(t){return InA().get(t)}function St(t){co={p:co,i:!1,c:null,e:null,s:t,x:null,l:yh&&!(arguments.length>1&&arguments[1]!==void 0&&arguments[1])?{s:null,u:null,$:[]}:null}}function xt(t){var e=co,A=e.e;if(A!==null)for(var i of(e.e=null,A))SnA(i);return t!==void 0&&(e.x=t),e.i=!0,co=e.p,t??{}}function Mh(){return!yh||co!==null&&co.l===null}function InA(t){var e,A;return co===null&&om(),(A=(e=co).c)!==null&&A!==void 0?A:e.c=new Map((function(i){for(var n=i.p;n!==null;){var o=n.c;if(o!==null)return o;n=n.p}return null})(co)||void 0)}var Hd=[];function dnA(){var t=Hd;Hd=[],CL(t)}function Wd(t){if(Hd.length===0&&!Tf){var e=Hd;queueMicrotask(()=>{e===Hd&&dnA()})}Hd.push(t)}function fkA(){for(;Hd.length>0;)dnA()}function BnA(t){var e=jn;if(e===null)return Pn.f|=XI,t;if((e.f&qL)===0){if((e.f&jL)===0)throw t;e.b.error(t)}else dh(t,e)}function dh(t,e){for(;e!==null;){if((e.f&jL)!==0)try{return void e.b.error(t)}catch(A){t=A}e=e.parent}throw t}var zy=new Set,Uo=null,Yf=null,Jl=null,Ul=[],fv=null,dL=!1,Tf=!1,$y=new WeakMap,yy=new WeakMap,Ud=new WeakMap,Jd=new WeakMap,vy=new WeakMap,Oy=new WeakMap,Py=new WeakMap,Zg=new WeakSet,Zd=class t{constructor(){enA(this,Zg),H0(this,"committed",!1),H0(this,"current",new Map),H0(this,"previous",new Map),po(this,$y,new Set),po(this,yy,new Set),po(this,Ud,0),po(this,Jd,0),po(this,vy,null),po(this,Oy,[]),po(this,Py,[]),H0(this,"skipped_effects",new Set),H0(this,"is_fork",!1)}is_deferred(){return this.is_fork||we(Jd,this)>0}process(e){Ul=[],Yf=null,this.apply();var A,i={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(var n of e)ir(Zg,this,EnA).call(this,n,i);this.is_fork||ir(Zg,this,mkA).call(this),this.is_deferred()?(ir(Zg,this,ah).call(this,i.effects),ir(Zg,this,ah).call(this,i.render_effects),ir(Zg,this,ah).call(this,i.block_effects)):(Yf=this,Uo=null,TtA(i.render_effects),TtA(i.effects),Yf=null,(A=we(vy,this))===null||A===void 0||A.resolve()),Jl=null}capture(e,A){var i;this.previous.has(e)||this.previous.set(e,A),(e.f&XI)===0&&(this.current.set(e,e.v),(i=Jl)===null||i===void 0||i.set(e,e.v))}activate(){Uo=this,this.apply()}deactivate(){Uo===this&&(Uo=null,Jl=null)}flush(){if(this.activate(),Ul.length>0){if(hnA(),Uo!==null&&Uo!==this)return}else we(Ud,this)===0&&this.process([]);this.deactivate()}discard(){for(var e of we(yy,this))e(this);we(yy,this).clear()}increment(e){Cn(Ud,this,we(Ud,this)+1),e&&Cn(Jd,this,we(Jd,this)+1)}decrement(e){Cn(Ud,this,we(Ud,this)-1),e&&Cn(Jd,this,we(Jd,this)-1),this.revive()}revive(){for(var e of we(Oy,this))ts(e,Oc),Xd(e);for(var A of we(Py,this))ts(A,r2),Xd(A);Cn(Oy,this,[]),Cn(Py,this,[]),this.flush()}oncommit(e){we($y,this).add(e)}ondiscard(e){we(yy,this).add(e)}settled(){var e;return((e=we(vy,this))!==null&&e!==void 0?e:Cn(vy,this,onA())).promise}static ensure(){if(Uo===null){var e=Uo=new t;zy.add(Uo),Tf||t.enqueue(()=>{Uo===e&&e.flush()})}return Uo}static enqueue(e){Wd(e)}apply(){}};function EnA(t,e){t.f^=As;for(var A=t.first;A!==null;){var i,n=A.f,o=!!(96&n),a=o&&(n&As)!==0||(n&j0)!==0||this.skipped_effects.has(A);if((A.f&jL)!==0&&(i=A.b)!==null&&i!==void 0&&i.is_pending()&&(e={parent:e,effect:A,effects:[],render_effects:[],block_effects:[]}),!a&&A.fn!==null){o?A.f^=As:4&n?e.effects.push(A):xh(A)&&((A.f&vh)!==0&&e.block_effects.push(A),Qh(A));var r=A.first;if(r!==null){A=r;continue}}var s=A.parent;for(A=A.next;A===null&&s!==null;)s===e.effect&&(ir(Zg,this,ah).call(this,e.effects),ir(Zg,this,ah).call(this,e.render_effects),ir(Zg,this,ah).call(this,e.block_effects),e=e.parent),A=s.next,s=s.parent}}function ah(t){for(var e of t)((e.f&Oc)!==0?we(Oy,this):we(Py,this)).push(e),ir(Zg,this,QnA).call(this,e.deps),ts(e,As)}function QnA(t){if(t!==null)for(var e of t)2&e.f&&(e.f&Xy)!==0&&(e.f^=Xy,ir(Zg,this,QnA).call(this,e.deps))}function mkA(){if(we(Jd,this)===0){for(var t of we($y,this))t();we($y,this).clear()}we(Ud,this)===0&&ir(Zg,this,pkA).call(this)}function pkA(){if(zy.size>1){this.previous.clear();var t=Jl,e=!0,A={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(var i of zy)if(i!==this){var n=[];for(var[o,a]of this.current){if(i.current.has(o)){if(!e||a===i.current.get(o))continue;i.current.set(o,a)}n.push(o)}if(n.length!==0){var r=[...i.current.keys()].filter(d=>!this.current.has(d));if(r.length>0){var s=Ul;Ul=[];var g=new Set,l=new Map;for(var C of n)unA(C,r,g,l);if(Ul.length>0){for(var I of(Uo=i,i.apply(),Ul))ir(Zg,i,EnA).call(i,I,A);i.deactivate()}Ul=s}}}else e=!1;Uo=null,Jl=t}this.committed=!0,zy.delete(this)}function Mo(t){var e=Tf;Tf=!0;try{for(;;){var A;if(fkA(),Ul.length===0&&((A=Uo)===null||A===void 0||A.flush(),Ul.length===0))return void(fv=null);hnA()}}finally{Tf=e}}function hnA(){var t=Od;dL=!0;try{var e=0;for(Av(!0);Ul.length>0;){var A=Zd.ensure();e++>1e3&&wkA(),A.process(Ul),$I.clear()}}finally{dL=!1,Av(t),fv=null}}function wkA(){try{(function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")})()}catch(t){dh(t,fv)}}var qC=null;function TtA(t){var e=t.length;if(e!==0){for(var A=0;A0)){for(var o of($I.clear(),qC))if(!(24576&o.f)){for(var a=[o],r=o.parent;r!==null;)qC.has(r)&&(qC.delete(r),a.push(r)),r=r.parent;for(var s=a.length-1;s>=0;s--){var g=a[s];24576&g.f||Qh(g)}}qC.clear()}}qC=null}}function unA(t,e,A,i){if(!A.has(t)&&(A.add(t),t.reactions!==null))for(var n of t.reactions){var o=n.f;2&o?unA(n,e,A,i):4194320&o&&(o&Oc)===0&&fnA(n,e,i)&&(ts(n,Oc),Xd(n))}}function fnA(t,e,A){var i=A.get(t);if(i!==void 0)return i;if(t.deps!==null)for(var n of t.deps){if(e.includes(n))return!0;if(2&n.f&&fnA(n,e,A))return A.set(n,!0),!0}return A.set(t,!1),!1}function Xd(t){for(var e=fv=t;e.parent!==null;){var A=(e=e.parent).f;if(dL&&e===jn&&(A&vh)!==0&&(A&rnA)===0)return;if(96&A){if((A&As)===0)return;e.f^=As}}Ul.push(e)}var HI=new WeakMap,qI=new WeakMap,DkA=new WeakMap,Yd=new WeakMap,J_=new WeakMap,jI=new WeakMap,zI=new WeakMap,ZC=new WeakMap,KI=new WeakMap,zd=new WeakMap,rh=new WeakMap,HQ=new WeakMap,sh=new WeakMap,Rf=new WeakMap,zQ=new WeakMap,HtA=new WeakMap,JI=new WeakSet,BL=class{constructor(e,A,i){var n,o,a,r;enA(this,JI),H0(this,"parent",void 0),po(this,HI,!1),po(this,qI,void 0),po(this,DkA,null),po(this,Yd,void 0),po(this,J_,void 0),po(this,jI,void 0),po(this,zI,null),po(this,ZC,null),po(this,KI,null),po(this,zd,null),po(this,rh,null),po(this,HQ,0),po(this,sh,0),po(this,Rf,!1),po(this,zQ,null),po(this,HtA,(n=()=>(Cn(zQ,this,s2(we(HQ,this))),()=>{Cn(zQ,this,null)}),a=0,r=s2(0),()=>{zf()&&(c(r),kh(()=>(a===0&&(o=EA(()=>n(()=>Hf(r)))),a+=1,()=>{Wd(()=>{var s;(a-=1)==0&&((s=o)===null||s===void 0||s(),o=void 0,Hf(r))})})))})),Cn(qI,this,e),Cn(Yd,this,A),Cn(J_,this,i),this.parent=jn.b,Cn(HI,this,!!we(Yd,this).pending),Cn(jI,this,Sh(()=>{jn.b=this;var s=ir(JI,this,ykA).call(this);try{Cn(zI,this,V0(()=>i(s)))}catch(g){this.error(g)}return we(sh,this)>0?ir(JI,this,OtA).call(this):Cn(HI,this,!1),()=>{var g;(g=we(rh,this))===null||g===void 0||g.remove()}},589952))}is_pending(){return we(HI,this)||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!we(Yd,this).pending}update_pending_count(e){ir(JI,this,mnA).call(this,e),Cn(HQ,this,we(HQ,this)+e),we(zQ,this)&&Bh(we(zQ,this),we(HQ,this))}get_effect_pending(){return we(HtA,this).call(this),c(we(zQ,this))}error(e){var A=we(Yd,this).onerror,i=we(Yd,this).failed;if(we(Rf,this)||!A&&!i)throw e;we(zI,this)&&(es(we(zI,this)),Cn(zI,this,null)),we(ZC,this)&&(es(we(ZC,this)),Cn(ZC,this,null)),we(KI,this)&&(es(we(KI,this)),Cn(KI,this,null));var n=!1,o=!1,a=()=>{n?console.warn("https://svelte.dev/e/svelte_boundary_reset_noop"):(n=!0,o&&(function(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")})(),Zd.ensure(),Cn(HQ,this,0),we(KI,this)!==null&&Eh(we(KI,this),()=>{Cn(KI,this,null)}),Cn(HI,this,this.has_pending_snippet()),Cn(zI,this,ir(JI,this,ztA).call(this,()=>(Cn(Rf,this,!1),V0(()=>we(J_,this).call(this,we(qI,this)))))),we(sh,this)>0?ir(JI,this,OtA).call(this):Cn(HI,this,!1))},r=Pn;try{bg(null),o=!0,A?.(e,a),o=!1}catch(s){dh(s,we(jI,this)&&we(jI,this).parent)}finally{bg(r)}i&&Wd(()=>{Cn(KI,this,ir(JI,this,ztA).call(this,()=>{Zd.ensure(),Cn(Rf,this,!0);try{return V0(()=>{i(we(qI,this),()=>e,()=>a)})}catch(s){return dh(s,we(jI,this).parent),null}finally{Cn(Rf,this,!1)}}))})}};function ykA(){var t=we(qI,this);return we(HI,this)&&(Cn(rh,this,A1()),we(qI,this).before(we(rh,this)),t=we(rh,this)),t}function ztA(t){var e=jn,A=Pn,i=co;Tl(we(jI,this)),bg(we(jI,this)),Ih(we(jI,this).ctx);try{return t()}catch(n){return BnA(n),null}finally{Tl(e),bg(A),Ih(i)}}function OtA(){var t=we(Yd,this).pending;we(zI,this)!==null&&(Cn(zd,this,document.createDocumentFragment()),we(zd,this).append(we(rh,this)),KnA(we(zI,this),we(zd,this))),we(ZC,this)===null&&Cn(ZC,this,V0(()=>t(we(qI,this))))}function mnA(t){var e;this.has_pending_snippet()?(Cn(sh,this,we(sh,this)+t),we(sh,this)===0&&(Cn(HI,this,!1),we(ZC,this)&&Eh(we(ZC,this),()=>{Cn(ZC,this,null)}),we(zd,this)&&(we(qI,this).before(we(zd,this)),Cn(zd,this,null)))):this.parent&&ir(JI,e=this.parent,mnA).call(e,t)}function pnA(t,e,A,i){var n=Mh()?am:tt;if(A.length!==0||t.length!==0){var o=Uo,a=jn,r=(function(){var g=jn,l=Pn,C=co,I=Uo;return function(){var d=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];Tl(g),bg(l),Ih(C),d&&I?.activate()}})();t.length>0?Promise.all(t).then(()=>{r();try{return s()}finally{o?.deactivate(),by()}}):s()}else i(e.map(n));function s(){Promise.all(A.map(g=>(function(l){var C=jn;C===null&&(function(){throw new Error("https://svelte.dev/e/async_derived_orphan")})();var I=C.b,d=void 0,B=s2($r),E=!Pn,Q=new Map;return(function(f){jc(4718592,f,!0)})(()=>{var f=onA();d=f.promise;try{Promise.resolve(l()).then(f.resolve,f.reject).then(()=>{b===Uo&&b.committed&&b.deactivate(),by()})}catch(F){f.reject(F),by()}var b=Uo;if(E){var S,M=!I.is_pending();I.update_pending_count(1),b.increment(M),(S=Q.get(b))===null||S===void 0||S.reject(Ah),Q.delete(b),Q.set(b,f)}var D=function(F){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(b.activate(),_)_!==Ah&&(B.f|=XI,Bh(B,_));else for(var[U,J]of((B.f&XI)!==0&&(B.f^=XI),Bh(B,F),Q)){if(Q.delete(U),U===b)break;J.reject(Ah)}E&&(I.update_pending_count(-1),b.decrement(M))};f.promise.then(D,F=>D(null,F||"unknown"))}),pv(()=>{for(var f of Q.values())f.reject(Ah)}),new Promise(f=>{function b(S){function M(){S===d?f(B):b(d)}S.then(M,M)}b(d)})})(g))).then(g=>{r();try{i([...e.map(n),...g])}catch(l){(a.f&bh)===0&&dh(l,a)}o?.deactivate(),by()}).catch(g=>{dh(g,a)})}}function by(){Tl(null),bg(null),Ih(null)}function am(t){var e=Pn!==null&&2&Pn.f?Pn:null;return jn!==null&&(jn.f|=snA),{ctx:co,deps:null,effects:null,equals:lnA,f:2050,fn:t,reactions:null,rv:0,v:$r,wv:0,parent:e??jn,ac:null}}function Dg(t){var e=am(t);return UnA(e),e}function tt(t){var e=am(t);return e.equals=CnA,e}function wnA(t){var e=t.effects;if(e!==null){t.effects=null;for(var A=0;A1&&arguments[1]!==void 0&&arguments[1],n=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],o=s2(t);return i||(o.equals=CnA),yh&&n&&co!==null&&co.l!==null&&((A=(e=co.l).s)!==null&&A!==void 0?A:e.s=[]).push(o),o}function $g(t,e){return R(t,EA(()=>c(t))),e}function R(t,e){var A,i=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return Pn===null||O0&&(Pn.f&hkA)===0||!Mh()||!(4325394&Pn.f)||(A=n2)!==null&&A!==void 0&&A.includes(t)||(function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")})(),Bh(t,i?eh(e):e)}function Bh(t,e){if(!t.equals(e)){var A=t.v;oB?$I.set(t,e):$I.set(t,A),t.v=e;var i=Zd.ensure();i.capture(t,A),2&t.f&&((t.f&Oc)!==0&&VL(t),ts(t,(t.f&zc)!==0?As:r2)),t.wv=YnA(),MnA(t,Oc),!Mh()||jn===null||(jn.f&As)===0||96&jn.f||(_l===null?(function(n){_l=n})([t]):_l.push(t)),!i.is_fork&&Y_.size>0&&!PtA&&(function(){PtA=!1;var n=Od;Av(!0);var o=Array.from(Y_);try{for(var a of o)(a.f&As)!==0&&ts(a,r2),xh(a)&&Qh(a)}finally{Av(n)}Y_.clear()})()}return e}function jtA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,A=c(t),i=e===1?A++:A--;return R(t,A),i}function Hf(t){R(t,t.v+1)}function MnA(t,e){var A=t.reactions;if(A!==null)for(var i=Mh(),n=A.length,o=0;o{if(Pd===o)return r();var s=Pn,g=Pd;bg(null),ZtA(o);var l=r();return bg(s),ZtA(g),l};return i&&A.set("length",jC(t.length)),new Proxy(t,{defineProperty(r,s,g){"value"in g&&g.configurable!==!1&&g.enumerable!==!1&&g.writable!==!1||(function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")})();var l=A.get(s);return l===void 0?l=a(()=>{var C=jC(g.value);return A.set(s,C),C}):R(l,g.value,!0),!0},deleteProperty(r,s){var g=A.get(s);if(g===void 0){if(s in r){var l=a(()=>jC($r));A.set(s,l),Hf(n)}}else R(g,$r),Hf(n);return!0},get(r,s,g){var l;if(s===q0)return t;var C=A.get(s),I=s in r;if(C===void 0&&(!I||(l=t2(r,s))!==null&&l!==void 0&&l.writable)&&(C=a(()=>jC(eh(I?r[s]:$r))),A.set(s,C)),C!==void 0){var d=c(C);return d===$r?void 0:d}return Reflect.get(r,s,g)},getOwnPropertyDescriptor(r,s){var g=Reflect.getOwnPropertyDescriptor(r,s);if(g&&"value"in g){var l=A.get(s);l&&(g.value=c(l))}else if(g===void 0){var C=A.get(s),I=C?.v;if(C!==void 0&&I!==$r)return{enumerable:!0,configurable:!0,value:I,writable:!0}}return g},has(r,s){var g;if(s===q0)return!0;var l=A.get(s),C=l!==void 0&&l.v!==$r||Reflect.has(r,s);return(l!==void 0||jn!==null&&(!C||(g=t2(r,s))!==null&&g!==void 0&&g.writable))&&(l===void 0&&(l=a(()=>jC(C?eh(r[s]):$r)),A.set(s,l)),c(l)===$r)?!1:C},set(r,s,g,l){var C,I=A.get(s),d=s in r;if(i&&s==="length")for(var B=g;BjC($r)),A.set(B+"",E))}I===void 0?(!d||(C=t2(r,s))!==null&&C!==void 0&&C.writable)&&(R(I=a(()=>jC(void 0)),eh(g)),A.set(s,I)):(d=I.v!==$r,R(I,a(()=>eh(g))));var Q=Reflect.getOwnPropertyDescriptor(r,s);if(Q!=null&&Q.set&&Q.set.call(l,g),!d){if(i&&typeof s=="string"){var f=A.get("length"),b=Number(s);Number.isInteger(b)&&b>=f.v&&R(f,b+1)}Hf(n)}return!0},ownKeys(r){c(n);var s=Reflect.ownKeys(r).filter(C=>{var I=A.get(C);return I===void 0||I.v!==$r});for(var[g,l]of A)l.v===$r||g in r||s.push(g);return s},setPrototypeOf(){(function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")})()}})}function qtA(t){try{if(t!==null&&typeof t=="object"&&q0 in t)return t[q0]}catch{}return t}function vkA(t,e){return Object.is(qtA(t),qtA(e))}function A1(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return document.createTextNode(t)}function Al(t){return vnA.call(t)}function rm(t){return bnA.call(t)}function CA(t,e){return Al(t)}function At(t){var e=Al(t);return e instanceof Comment&&e.data===""?rm(e):e}function bA(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,A=t;e--;)A=rm(A);return A}var VtA=!1;function mv(t){var e=Pn,A=jn;bg(null),Tl(null);try{return t()}finally{bg(e),Tl(A)}}function bkA(t,e,A){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:A;t.addEventListener(e,()=>mv(A));var n=t.__on_r;t.__on_r=n?()=>{n(),i(!0)}:()=>i(!0),VtA||(VtA=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{if(!o.defaultPrevented)for(var a of o.target.elements){var r;(r=a.__on_r)===null||r===void 0||r.call(a)}})},{capture:!0}))}function knA(t){jn===null&&(Pn===null&&(function(){throw new Error("https://svelte.dev/e/effect_orphan")})(),(function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")})()),oB&&(function(){throw new Error("https://svelte.dev/e/effect_in_teardown")})()}function jc(t,e,A){var i=jn;i!==null&&(i.f&j0)!==0&&(t|=j0);var n={ctx:co,deps:null,nodes:null,f:t|Oc|zc,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(A)try{Qh(n),n.f|=qL}catch(s){throw es(n),s}else e!==null&&Xd(n);var o=n;if(A&&o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&(o.f&snA)===0&&(o=o.first,(t&vh)!==0&&(t&Vd)!==0&&o!==null&&(o.f|=Vd)),o!==null&&(o.parent=i,i!==null&&(function(s,g){var l=g.last;l===null?g.last=g.first=s:(l.next=s,s.prev=l,g.last=s)})(o,i),Pn!==null&&2&Pn.f&&(t&anA)===0)){var a,r=Pn;((a=r.effects)!==null&&a!==void 0?a:r.effects=[]).push(o)}return n}function zf(){return Pn!==null&&!O0}function pv(t){var e=jc(8,null,!1);return ts(e,As),e.teardown=t,e}function EL(t){knA();var e=jn.f;if(!(!Pn&&(e&uv)!==0&&(e&qL)===0))return SnA(t);var A,i=co;((A=i.e)!==null&&A!==void 0?A:i.e=[]).push(t)}function SnA(t){return jc(1048580,t,!1)}function Nr(t){return jc(4,t,!1)}function RA(t,e){var A={effect:null,ran:!1,deps:t};co.l.$.push(A),A.effect=kh(()=>{t(),A.ran||(A.ran=!0,EA(e))})}function kn(){var t=co;kh(()=>{for(var e of t.l.$){e.deps();var A=e.effect;(A.f&As)!==0&&ts(A,r2),xh(A)&&Qh(A),e.ran=!1}})}function kh(t){return jc(8|(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0),t,!0)}function ve(t){pnA(arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],e=>{jc(8,()=>t(...e.map(c)),!0)})}function Sh(t){return jc(vh|(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0),t,!0)}function xnA(t){return jc(QkA|(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0),t,!0)}function V0(t){return jc(524320,t,!0)}function RnA(t){var e=t.teardown;if(e!==null){var A=oB,i=Pn;WtA(!0),bg(null);try{e.call(null)}finally{WtA(A),bg(i)}}}function NnA(t){var e=arguments.length>1&&arguments[1]!==void 0&&arguments[1],A=t.first;t.first=t.last=null;for(var i,n=function(){var o=A.ac;o!==null&&mv(()=>{o.abort(Ah)}),i=A.next,(A.f&anA)!==0?A.parent=null:es(A,e),A=i};A!==null;)n()}function es(t){var e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],A=!1;!e&&(t.f&rnA)===0||t.nodes===null||t.nodes.end===null||(FnA(t.nodes.start,t.nodes.end),A=!0),NnA(t,e&&!A),ev(t,0),ts(t,bh);var i=t.nodes&&t.nodes.t;if(i!==null)for(var n of i)n.stop();RnA(t);var o=t.parent;o!==null&&o.first!==null&&_nA(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function FnA(t,e){for(;t!==null;){var A=t===e?null:rm(t);t.remove(),t=A}}function _nA(t){var e=t.parent,A=t.prev,i=t.next;A!==null&&(A.next=i),i!==null&&(i.prev=A),e!==null&&(e.first===t&&(e.first=i),e.last===t&&(e.last=A))}function Eh(t,e){var A=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],i=[];LnA(t,i,!0);var n=()=>{A&&es(t),e&&e()},o=i.length;if(o>0){var a=()=>--o||n();for(var r of i)r.out(a)}else n()}function LnA(t,e,A){if((t.f&j0)===0){t.f^=j0;var i=t.nodes&&t.nodes.t;if(i!==null)for(var n of i)(n.is_global||A)&&e.push(n);for(var o=t.first;o!==null;){var a=o.next;LnA(o,e,((o.f&Vd)!==0||(o.f&uv)!==0&&(t.f&vh)!==0)&&A),o=a}}}function QL(t){GnA(t,!0)}function GnA(t,e){if((t.f&j0)!==0){t.f^=j0,(t.f&As)===0&&(ts(t,Oc),Xd(t));for(var A=t.first;A!==null;){var i=A.next;GnA(A,((A.f&Vd)!==0||(A.f&uv)!==0)&&e),A=i}var n=t.nodes&&t.nodes.t;if(n!==null)for(var o of n)(o.is_global||e)&&o.in()}}function KnA(t,e){if(t.nodes)for(var A=t.nodes.start,i=t.nodes.end;A!==null;){var n=A===i?null:rm(A);e.append(A),A=n}}var MkA=null;var Od=!1;function Av(t){Od=t}var oB=!1;function WtA(t){oB=t}var Pn=null,O0=!1;function bg(t){Pn=t}var jn=null;function Tl(t){jn=t}var n2=null;function UnA(t){Pn!==null&&(n2===null?n2=[t]:n2.push(t))}var Hs=null,Wg=0,_l=null,JnA=1,Of=0,Pd=Of;function ZtA(t){Pd=t}function YnA(){return++JnA}function xh(t){var e=t.f;if((e&Oc)!==0)return!0;if(2&e&&(t.f&=-32769),(e&r2)!==0){var A=t.deps;if(A!==null)for(var i=A.length,n=0;nt.wv)return!0}(e&zc)!==0&&Jl===null&&ts(t,As)}return!1}function TnA(t,e){var A,i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],n=t.reactions;if(n!==null&&((A=n2)===null||A===void 0||!A.includes(t)))for(var o=0;o{t.ac.abort(Ah)}),t.ac=null);try{t.f|=IL;var l=(0,t.fn)(),C=t.deps;if(Hs!==null){var I;if(ev(t,Wg),C!==null&&Wg>0)for(C.length=Wg+Hs.length,I=0;I1&&arguments[1]!==void 0?arguments[1]:new Set;if(!(typeof t!="object"||t===null||t instanceof EventTarget||e.has(t))){for(var A in e.add(t),t instanceof Date&&t.getTime(),t)try{hL(t[A],e)}catch{}var i=PL(t);if(i!==Object.prototype&&i!==Array.prototype&&i!==Map.prototype&&i!==Set.prototype&&i!==Date.prototype){var n=nnA(i);for(var o in n){var a=n[o].get;if(a)try{a.call(t)}catch{}}}}}var qnA=new Set,uL=new Set;function VnA(t,e,A){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};function n(o){if(i.capture||Gf.call(e,o),!o.cancelBubble)return mv(()=>A?.call(this,o))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Wd(()=>{e.addEventListener(t,n,i)}):e.addEventListener(t,n,i),n}function ue(t,e,A,i,n){var o={capture:i,passive:n},a=VnA(t,e,A,o);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&pv(()=>{e.removeEventListener(t,a,o)})}function sm(t){for(var e=0;ea||i});var C=Pn,I=jn;bg(null),Tl(null);try{for(var d,B=[];a!==null;){var E=a.assignedSlot||a.parentNode||a.host||null;try{var Q=a["__"+n];Q==null||a.disabled&&t.target!==a||Q.call(a,t)}catch(S){d?B.push(S):d=S}if(t.cancelBubble||E===A||E===null)break;a=E}if(d){var f=function(S){queueMicrotask(()=>{throw S})};for(var b of B)f(b);throw d}}finally{t.__root=A,delete t.currentTarget,bg(C),Tl(I)}}}function WL(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("",""),e.content}function $d(t,e){var A=jn;A.nodes===null&&(A.nodes={start:t,end:e,a:null,t:null})}function FA(t,e){var A,i=!!(1&e),n=!!(2&e),o=!t.startsWith("");return()=>{A===void 0&&(A=WL(o?t:""+t),i||(A=Al(A)));var a=n||ynA?document.importNode(A,!0):A.cloneNode(!0);return i?$d(Al(a),a.lastChild):$d(a,a),a}}function s1(t,e){return(function(A,i){var n,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"svg",a=!A.startsWith(""),r=!!(1&i),s="<".concat(o,">").concat(a?A:""+A,"");return()=>{if(!n){var g=Al(WL(s));if(r)for(n=document.createDocumentFragment();Al(g);)n.appendChild(Al(g));else n=Al(g)}var l=n.cloneNode(!0);return r?$d(Al(l),l.lastChild):$d(l,l),l}})(t,e,"svg")}function ur(){var t=A1((arguments.length>0&&arguments[0]!==void 0?arguments[0]:"")+"");return $d(t,t),t}function bi(){var t=document.createDocumentFragment(),e=document.createComment(""),A=A1();return t.append(e,A),$d(e,A),t}function lA(t,e){t!==null&&t.before(e)}var xkA=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"],RkA={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"},NkA=["touchstart","touchmove"];function FkA(t){return NkA.includes(t)}function Rt(t,e){var A,i=e==null?"":typeof e=="object"?e+"":e;i!==((A=t.__t)!==null&&A!==void 0?A:t.__t=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}function _kA(t,e){return(function(A,i){var{target:n,anchor:o,props:a={},events:r,context:s,intro:g=!0}=i;(function(){if(i2===void 0){i2=window,ynA=/Firefox/.test(navigator.userAgent);var B=Element.prototype,E=Node.prototype,Q=Text.prototype;vnA=t2(E,"firstChild").get,bnA=t2(E,"nextSibling").get,YtA(B)&&(B.__click=void 0,B.__className=void 0,B.__attributes=null,B.__style=void 0,B.__e=void 0),YtA(Q)&&(Q.__t=void 0)}})();var l=new Set,C=B=>{for(var E=0;E0&&arguments[0]!==void 0?arguments[0]:{};return new Promise(f=>{Q.outro?Eh(E,()=>{es(E),f(void 0)}):(es(E),f(void 0))})}})(()=>{var B=o??n.appendChild(A1());return(function(E,Q,f){new BL(E,Q,f)})(B,{pending:()=>{}},E=>{s&&(St({}),co.c=s),r&&(a.$$events=r),I=A(E,a)||{},s&&xt()}),()=>{for(var E of l){n.removeEventListener(E,Gf);var Q=OQ.get(E);--Q===0?(document.removeEventListener(E,Gf),OQ.delete(E)):OQ.set(E,Q)}var f;uL.delete(C),B!==o&&((f=B.parentNode)===null||f===void 0||f.removeChild(B))}});return fL.set(I,d),I})(t,e)}var OQ=new Map,fL=new WeakMap,PQ,zC=new WeakMap,Ld=new WeakMap,OC=new WeakMap,Nf=new WeakMap,T_=new WeakMap,XtA=new WeakMap,LkA=new WeakMap,hh=class{constructor(e){var A=this,i=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];H0(this,"anchor",void 0),po(this,zC,new Map),po(this,Ld,new Map),po(this,OC,new Map),po(this,Nf,new Set),po(this,T_,!0),po(this,XtA,()=>{var n=Uo;if(we(zC,this).has(n)){var o=we(zC,this).get(n),a=we(Ld,this).get(o);if(a)QL(a),we(Nf,this).delete(o);else{var r=we(OC,this).get(o);r&&(we(Ld,this).set(o,r.effect),we(OC,this).delete(o),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),a=r.effect)}for(var[s,g]of we(zC,this)){if(we(zC,this).delete(s),s===n)break;var l=we(OC,this).get(g);l&&(es(l.effect),we(OC,this).delete(g))}var C=function(B,E){if(B===o||we(Nf,A).has(B))return 1;var Q=()=>{if(Array.from(we(zC,A).values()).includes(B)){var f=document.createDocumentFragment();KnA(E,f),f.append(A1()),we(OC,A).set(B,{effect:E,fragment:f})}else es(E);we(Nf,A).delete(B),we(Ld,A).delete(B)};we(T_,A)||!a?(we(Nf,A).add(B),Eh(E,Q,!1)):Q()};for(var[I,d]of we(Ld,this))C(I,d)}}),po(this,LkA,n=>{we(zC,this).delete(n);var o=Array.from(we(zC,this).values());for(var[a,r]of we(OC,this))o.includes(a)||(es(r.effect),we(OC,this).delete(a))}),this.anchor=e,Cn(T_,this,i)}ensure(e,A){var i=Uo;!A||we(Ld,this).has(e)||we(OC,this).has(e)||we(Ld,this).set(e,V0(()=>A(this.anchor))),we(zC,this).set(i,e),we(XtA,this).call(this)}};function is(t){co===null&&om(),yh&&co.l!==null?WnA(co).m.push(t):EL(()=>{var e=EA(t);if(typeof e=="function")return e})}function Hl(t){co===null&&om(),is(()=>()=>EA(t))}function GkA(){var t=co;return t===null&&om(),(e,A,i)=>{var n,o=(n=t.s.$$events)===null||n===void 0?void 0:n[e];if(o){var a=nm(o)?o.slice():[o],r=(function(g,l){var{bubbles:C=!1,cancelable:I=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return new CustomEvent(g,{detail:l,bubbles:C,cancelable:I})})(e,A,i);for(var s of a)s.call(t.x,r);return!r.defaultPrevented}return!0}}function KkA(t){co===null&&om(),co.l===null&&(function(){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")})(),WnA(co).b.push(t)}function WnA(t){var e,A=t.l;return(e=A.u)!==null&&e!==void 0?e:A.u={a:[],b:[],m:[]}}function TA(t,e){var A=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=new hh(t);function n(o,a){i.ensure(o,a)}Sh(()=>{var o=!1;e(function(a){o=!0,n(!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],a)}),o||n(!1,null)},A?Vd:0)}function ZnA(t,e,A){var i=new hh(t),n=!Mh();Sh(()=>{var o=e();n&&o!==null&&typeof o=="object"&&(o={}),i.ensure(o,A)})}function Na(t,e){return e}function H_(t){for(var e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],A=0;A5&&arguments[5]!==void 0?arguments[5]:null,a=t,r=new Map;!(4&e)||(a=t.appendChild(A1()));var s,g=null,l=tt(()=>{var E=A();return nm(E)?E:E==null?[]:Hy(E)}),C=!0;function I(){B.fallback=g,(function(E,Q,f,b,S){var M,D,F,_,U,J=!!(8&b),j=Q.length,AA=E.items,O=E.effect.first,DA=null,P=[],aA=[];if(J)for(U=0;U0){var HA=4&b&&j===0?f:null;if(J){for(U=0;U{if(be){if(be.pending.delete(ut),be.done.add(ut),be.pending.size===0){var Me=QA.outrogroups;H_(Hy(be.done)),Me.delete(be),Me.size===0&&(QA.outrogroups=null)}}else pA-=1},!1)},ht=0;ht{if(D!==void 0)for(_ of D){var QA;(QA=_.nodes)===null||QA===void 0||(QA=QA.a)===null||QA===void 0||QA.apply()}})})(B,s,a,e,i),g!==null&&(s.length===0?(g.f&PC)===0?QL(g):(g.f^=PC,Ff(g,null,a)):Eh(g,()=>{g=null}))}var d=Sh(()=>{for(var E=(s=c(l)).length,Q=new Set,f=0;fo(a)):(g=V0(()=>o(PQ??(PQ=A1())))).f|=PC),C||I(),c(l)}),B={effect:d,items:r,outrogroups:null,fallback:g};C=!1}function UkA(t,e,A,i,n,o,a,r){var s=1&a?16&a?s2(A):IA(A,!1,!1):null,g=2&a?s2(n):null;return{v:s,i:g,e:V0(()=>(o(e,s??A,g??n,r),()=>{t.delete(i)}))}}function Ff(t,e,A){if(t.nodes)for(var i=t.nodes.start,n=t.nodes.end,o=e&&(e.f&PC)===0?e.nodes.start:A;i!==null;){var a=rm(i);if(o.before(i),i===n)return;i=a}}function UI(t,e,A){e===null?t.effect.first=A:e.next=A,A===null?t.effect.last=e:A.prev=e}function XnA(t,e){var A=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=arguments.length>3&&arguments[3]!==void 0&&arguments[3],n=t,o="";ve(()=>{var a,r=jn;if(o!==(o=(a=e())!==null&&a!==void 0?a:"")&&(r.nodes!==null&&(FnA(r.nodes.start,r.nodes.end),r.nodes=null),o!=="")){var s=o+"";A?s="".concat(s,""):i&&(s="".concat(s,""));var g=WL(s);if((A||i)&&(g=Al(g)),$d(Al(g),g.lastChild),A||i)for(;Al(g);)n.before(Al(g));else n.before(g)}})}function Ea(t,e,A,i,n){var o,a=(o=e.$$slots)===null||o===void 0?void 0:o[A],r=!1;a===!0&&(a=e[A==="default"?"children":A],r=!0),a===void 0?n!==null&&n(t):a(t,r?()=>i:i)}function $nA(t,e,A){var i=new hh(t);Sh(()=>{var n,o=(n=e())!==null&&n!==void 0?n:null;i.ensure(o,o&&(a=>A(a,o)))},Vd)}function vs(t,e,A){Nr(()=>{var i=EA(()=>e(t,A?.())||{});if(A&&i!=null&&i.update){var n=!1,o={};kh(()=>{var a=A();G(a),n&&cnA(o,a)&&(o=a,i.update(a))}),n=!0}if(i!=null&&i.destroy)return()=>i.destroy()})}function JkA(t,e){var A,i=void 0;xnA(()=>{i!==(i=e())&&(A&&(es(A),A=null),i&&(A=V0(()=>{Nr(()=>i(t))})))})}function AoA(t){var e,A,i="";if(typeof t=="string"||typeof t=="number")i+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(e=0;e1&&arguments[1]!==void 0&&arguments[1]?" !important;":";",A="";for(var i in t){var n=t[i];n!=null&&n!==""&&(A+=" "+i+": "+n+e)}return A}function z_(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function $t(t,e,A,i,n,o){var a=t.__className;if(a!==A||a===void 0){var r=(function(l,C,I){var d=l==null?"":""+l;if(C&&(d=d?d+" "+C:C),I){for(var B in I)if(I[B])d=d?d+" "+B:B;else if(d.length)for(var E=B.length,Q=0;(Q=d.indexOf(B,Q))>=0;){var f=Q+E;Q!==0&&!$tA.includes(d[Q-1])||f!==d.length&&!$tA.includes(d[f])?Q=f:d=(Q===0?"":d.substring(0,Q))+d.substring(f+1)}}return d===""?null:d})(A,i,o);r==null?t.removeAttribute("class"):e?t.className=r:t.setAttribute("class",r),t.__className=A}else if(o&&n!==o)for(var s in o){var g=!!o[s];n!=null&&g===!!n[s]||t.classList.toggle(s,g)}return o}function O_(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},A=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;for(var n in A){var o=A[n];e[n]!==o&&(A[n]==null?t.style.removeProperty(n):t.style.setProperty(n,o,i))}}function Yl(t,e,A,i){if(t.__style!==e){var n=(function(o,a){if(a){var r,s,g="";if(Array.isArray(a)?(r=a[0],s=a[1]):r=a,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var l=!1,C=0,I=!1,d=[];r&&d.push(...Object.keys(r).map(z_)),s&&d.push(...Object.keys(s).map(z_));for(var B=0,E=-1,Q=o.length,f=0;f2&&arguments[2]!==void 0&&arguments[2];if(t.multiple){if(e==null)return;if(!nm(e))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var i of t.options)i.selected=e.includes(eiA(i))}else{for(i of t.options)if(vkA(eiA(i),e))return void(i.selected=!0);A&&e===void 0||(t.selectedIndex=-1)}}function YkA(t){var e=new MutationObserver(()=>{mL(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),pv(()=>{e.disconnect()})}function eiA(t){return"__value"in t?t.__value:t.value}var XQ=Symbol("class"),_f=Symbol("style"),eoA=Symbol("is custom element"),toA=Symbol("is html");function AB(t,e){var A=ZL(t);A.value!==(A.value=e??void 0)&&(t.value!==e||e===0&&t.nodeName==="PROGRESS")&&(t.value=e??"")}function Mn(t,e,A,i){var n=ZL(t);n[e]!==(n[e]=A)&&(e==="loading"&&(t[ukA]=A),A==null?t.removeAttribute(e):typeof A!="string"&&ioA(t).includes(e)?t[e]=A:t.setAttribute(e,A))}function TkA(t,e,A,i){var n,o=ZL(t),a=o[eoA],r=!o[toA],s=e||{},g=t.tagName==="OPTION";for(var l in e)l in A||(A[l]=null);A.class?A.class=n1(A.class):(i||A[XQ])&&(A.class=null),A[_f]&&((n=A.style)!==null&&n!==void 0||(A.style=null));var C,I,d,B,E,Q,f=ioA(t),b=function(M){var D=A[M];if(g&&M==="value"&&D==null)return t.value=t.__value="",s[M]=D,0;if(M==="class")return C=t.namespaceURI==="http://www.w3.org/1999/xhtml",$t(t,C,D,i,e?.[XQ],A[XQ]),s[M]=D,s[XQ]=A[XQ],0;if(M==="style")return Yl(t,D,e?.[_f],A[_f]),s[M]=D,s[_f]=A[_f],0;if(D===(I=s[M])&&(D!==void 0||!t.hasAttribute(M))||(s[M]=D,(d=M[0]+M[1])==="$$"))return 0;if(d==="on"){var F={},_="$$"+M,U=M.slice(2);if(B=(function(P){return xkA.includes(P)})(U),(function(P){return P.endsWith("capture")&&P!=="gotpointercapture"&&P!=="lostpointercapture"})(U)&&(U=U.slice(0,-7),F.capture=!0),!B&&I){if(D!=null)return 0;t.removeEventListener(U,s[_],F),s[_]=null}if(D!=null)if(B)t["__".concat(U)]=D,sm([U]);else{let P=function(aA){s[M].call(this,aA)};var DA=P;s[_]=VnA(U,t,P,F)}else B&&(t["__".concat(U)]=void 0)}else if(M==="style")Mn(t,M,D);else if(M==="autofocus")(function(P,aA){if(aA){var iA=document.body;P.autofocus=!0,Wd(()=>{document.activeElement===iA&&P.focus()})}})(t,!!D);else if(a||M!=="__value"&&(M!=="value"||D==null))if(M==="selected"&&g)(function(P,aA){aA?P.hasAttribute("selected")||P.setAttribute("selected",""):P.removeAttribute("selected")})(t,D);else if(E=M,r||(E=(function(P){var aA;return P=P.toLowerCase(),(aA=RkA[P])!==null&&aA!==void 0?aA:P})(E)),Q=E==="defaultValue"||E==="defaultChecked",D!=null||a||Q)Q||f.includes(E)&&(a||typeof D!="string")?(t[E]=D,E in o&&(o[E]=$r)):typeof D!="function"&&Mn(t,E,D);else if(o[M]=null,E==="value"||E==="checked"){var J=t,j=e===void 0;if(E==="value"){var AA=J.defaultValue;J.removeAttribute(E),J.defaultValue=AA,J.value=J.__value=j?AA:null}else{var O=J.defaultChecked;J.removeAttribute(E),J.defaultChecked=O,J.checked=!!j&&O}}else t.removeAttribute(M);else t.value=t.__value=D};for(var S in A)b(S);return s}function jy(t,e){var A=arguments.length>5?arguments[5]:void 0,i=arguments.length>6&&arguments[6]!==void 0&&arguments[6],n=arguments.length>7&&arguments[7]!==void 0&&arguments[7];pnA(arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],o=>{var a=void 0,r={},s=t.nodeName==="SELECT",g=!1;if(xnA(()=>{var C=e(...o.map(c)),I=TkA(t,a,C,A,i,n);for(var d of(g&&s&&"value"in C&&mL(t,C.value),Object.getOwnPropertySymbols(r)))C[d]||es(r[d]);for(var B of Object.getOwnPropertySymbols(C)){var E=C[B];B.description!=="@attach"||a&&E===a[B]||(r[B]&&es(r[B]),r[B]=V0(()=>JkA(t,()=>E))),I[B]=E}a=I}),s){var l=t;Nr(()=>{mL(l,a.value,!0),YkA(l)})}g=!0})}function ZL(t){var e;return(e=t.__attributes)!==null&&e!==void 0?e:t.__attributes={[eoA]:t.nodeName.includes("-"),[toA]:t.namespaceURI==="http://www.w3.org/1999/xhtml"}}var tiA=new Map;function ioA(t){var e,A=t.getAttribute("is")||t.nodeName,i=tiA.get(A);if(i)return i;tiA.set(A,i=[]);for(var n=t,o=Element.prototype;o!==n;){for(var a in e=nnA(n))e[a].set&&i.push(a);n=PL(n)}return i}function tv(t,e){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e,i=new WeakSet;bkA(t,"input",(function(){var n=Tt(function*(o){var a=o?t.defaultValue:t.value;if(a=P_(t)?j_(a):a,A(a),Uo!==null&&i.add(Uo),yield znA(),a!==(a=e())){var r=t.selectionStart,s=t.selectionEnd,g=t.value.length;if(t.value=a??"",s!==null){var l=t.value.length;r===s&&s===g&&l>g?(t.selectionStart=l,t.selectionEnd=l):(t.selectionStart=r,t.selectionEnd=Math.min(s,l))}}});return function(o){return n.apply(this,arguments)}})()),EA(e)==null&&t.value&&(A(P_(t)?j_(t.value):t.value),Uo!==null&&i.add(Uo)),kh(()=>{var n=e();if(t===document.activeElement){var o=Yf??Uo;if(i.has(o))return}P_(t)&&n===j_(t.value)||(t.type!=="date"||n||t.value)&&n!==t.value&&(t.value=n??"")})}function P_(t){var e=t.type;return e==="number"||e==="range"}function j_(t){return t===""?null:+t}function Ot(t,e,A){var i=t2(t,e);i&&i.set&&(t[e]=A,pv(()=>{t[e]=null}))}function iiA(t,e){return t===e||t?.[q0]===e}function Jo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,A=arguments.length>2?arguments[2]:void 0;return Nr(()=>{var i,n;return kh(()=>{i=n,n=[],EA(()=>{t!==A(...n)&&(e(t,...n),i&&iiA(A(...i),t)&&e(null,...i))})}),()=>{Wd(()=>{n&&iiA(A(...n),t)&&e(null,...n)})}}),t}function VC(t){return function(){for(var e=arguments.length,A=new Array(e),i=0;i0&&arguments[0]!==void 0&&arguments[0],e=co,A=e.l.u;if(A){var i,n=()=>G(e.s);if(t){var o=0,a={},r=am(()=>{var s=!1,g=e.s;for(var l in g)g[l]!==a[l]&&(a[l]=g[l],s=!0);return s&&o++,o});n=()=>c(r)}A.b.length&&(i=()=>{niA(e,n),CL(A.b)},knA(),jc(1048584,i,!0)),EL(()=>{var s=EA(()=>A.m.map(EkA));return()=>{for(var g of s)typeof g=="function"&&g()}}),A.a.length&&EL(()=>{niA(e,n),CL(A.a)})}}function niA(t,e){if(t.l.s)for(var A of t.l.s)c(A);e()}function wv(t){var e=s2(0);return function(){return arguments.length===1?(R(e,c(e)+1),arguments[0]):(c(e),t())}}function Kf(t,e){var A,i=(A=t.$$events)===null||A===void 0?void 0:A[e.type],n=nm(i)?i.slice():i==null?[]:[i];for(var o of n)o.call(this,e)}var My=!1,HkA={get(t,e){if(!t.exclude.includes(e))return c(t.version),e in t.special?t.special[e]():t.props[e]},set(t,e,A){if(!(e in t.special)){var i=jn;try{Tl(t.parent_effect),t.special[e]=N({get[e](){return t.props[e]}},e,4)}finally{Tl(i)}}return t.special[e](A),jtA(t.version),!0},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e))return e in t.props?{enumerable:!0,configurable:!0,value:t.props[e]}:void 0},deleteProperty:(t,e)=>(t.exclude.includes(e)||(t.exclude.push(e),jtA(t.version)),!0),has:(t,e)=>!t.exclude.includes(e)&&e in t.props,ownKeys:t=>Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))};function ky(t,e){return new Proxy({props:t,exclude:e,special:{},version:s2(0),parent_effect:jn},HkA)}var zkA={get(t,e){for(var A=t.props.length;A--;){var i=t.props[A];if(xf(i)&&(i=i()),typeof i=="object"&&i!==null&&e in i)return i[e]}},set(t,e,A){for(var i=t.props.length;i--;){var n=t.props[i];xf(n)&&(n=n());var o=t2(n,e);if(o&&o.set)return o.set(A),!0}return!1},getOwnPropertyDescriptor(t,e){for(var A=t.props.length;A--;){var i=t.props[A];if(xf(i)&&(i=i()),typeof i=="object"&&i!==null&&e in i){var n=t2(i,e);return n&&!n.configurable&&(n.configurable=!0),n}}},has(t,e){if(e===q0||e===gnA)return!1;for(var A of t.props)if(xf(A)&&(A=A()),A!=null&&e in A)return!0;return!1},ownKeys(t){var e=[];for(var A of t.props)if(xf(A)&&(A=A()),A){for(var i in A)e.includes(i)||e.push(i);for(var n of Object.getOwnPropertySymbols(A))e.includes(n)||e.push(n)}return e}};function e1(){for(var t=arguments.length,e=new Array(t),A=0;A(l&&(l=!1,g=s?EA(i):i),g);if(r){var I,d,B=q0 in t||gnA in t;n=(I=(d=t2(t,e))===null||d===void 0?void 0:d.set)!==null&&I!==void 0?I:B&&e in t?D=>t[e]=D:void 0}var E,Q=!1;if(r?[o,Q]=(function(D){var F=My;try{return My=!1,[D(),My]}finally{My=F}})(()=>t[e]):o=t[e],o===void 0&&i!==void 0&&(o=C(),n&&(a&&(function(){throw new Error("https://svelte.dev/e/props_invalid_value")})(),n(o))),E=a?()=>{var D=t[e];return D===void 0?C():(l=!0,D)}:()=>{var D=t[e];return D!==void 0&&(g=void 0),D===void 0?g:D},a&&!(4&A))return E;if(n){var f=t.$$legacy;return function(D,F){return arguments.length>0?(a&&F&&!f&&!Q||n(F?E():D),D):E()}}var b=!1,S=(1&A?am:tt)(()=>(b=!1,E()));r&&c(S);var M=jn;return function(D,F){if(arguments.length>0){var _=F?c(S):a&&r?eh(D):D;return R(S,_),b=!0,g!==void 0&&(g=_),D}return oB&&b||(M.f&bh)!==0?S.v:c(S)}}function Cr(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(function(i){var n=(function(o){try{if(typeof window<"u"&&window.localStorage!==void 0)return window.localStorage[o]}catch{}})("debug");return n!=null&&n.endsWith("*")?i.startsWith(n.slice(0,-1)):i===n})(t);if(!e)return OkA;var A=(function(i){for(var n=0,o=0;o9466848e5&&isFinite(t)&&Math.floor(t)===t&&!isNaN(new Date(t).valueOf());if(typeof t=="bigint")return pL(Number(t));try{var e=t&&t.valueOf();if(e!==t)return pL(e)}catch{return!1}return!1}function noA(t){(Sy=Sy||window.document.createElement("div")).style.color="",Sy.style.color=t;var e=Sy.style.color;return e!==""?e.replace(/\s+/g,"").toLowerCase():void 0}var Sy=void 0;function VkA(t){return typeof t=="string"&&t.length<99&&!!noA(t)}function $L(t,e){if(typeof t=="number"||typeof t=="string"||typeof t=="boolean"||t===void 0)return typeof t;if(typeof t=="bigint")return"number";if(t===null)return"null";if(Array.isArray(t))return"array";if(pn(t))return"object";var A=e.stringify(t);return A&&XL(A)?"number":A==="true"||A==="false"?"boolean":A==="null"?"null":"unknown"}var WkA=/^https?:\/\/\S+$/;function Dv(t){return typeof t=="string"&&WkA.test(t)}function Rh(t,e){if(t==="")return"";var A=t.trim();return A==="null"?null:A==="true"||A!=="false"&&(XL(A)?e.parse(A):t)}var ZkA=[];function aiA(t,e){if(t.length!==e.length)return!1;for(var A=0;A1&&arguments[1]!==void 0&&arguments[1],A={};if(!Array.isArray(t))throw new TypeError("Array expected");function i(a,r){(!Array.isArray(a)&&!pn(a)||e&&r.length>0)&&(A[wt(r)]=!0),pn(a)&&Object.keys(a).forEach(s=>{i(a[s],r.concat(s))})}for(var n=Math.min(t.length,1e4),o=0;oe?t.slice(0,e):t}function riA(t){return ye({},t)}function siA(t){return Object.values(t)}function giA(t,e,A,i){var n=t.slice(0),o=n.splice(e,A);return n.splice.apply(n,[e+i,0,...o]),n}function XkA(t,e,A){return t.slice(0,e).concat(A).concat(t.slice(e))}function gm(t,e){try{return e.parse(t)}catch{return e.parse(ml(t))}}function aoA(t,e){try{return gm(t,e)}catch{return}}function lm(t,e){t=t.replace(soA,"");try{return e(t)}catch{}try{return e("{"+t+"}")}catch{}try{return e("["+t+"]")}catch{}throw new Error("Failed to parse partial JSON")}function roA(t){t=t.replace(soA,"");try{return ml(t)}catch{}try{var e=ml("["+t+"]");return e.substring(1,e.length-1)}catch{}try{var A=ml("{"+t+"}");return A.substring(1,A.length-1)}catch{}throw new Error("Failed to repair partial JSON")}var soA=/,\s*$/;function uh(t,e){var A=ciA.exec(e);if(A){var i=Fr(A[2]),n=(function(d,B){for(var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:d.length,f=0,b=E;b"line ".concat(n+1," column ").concat(o+1))}}var a=tSA.exec(e),r=a?Fr(a[1]):void 0,s=r!==void 0?r-1:void 0,g=iSA.exec(e),l=g?Fr(g[1]):void 0,C=l!==void 0?l-1:void 0,I=s!==void 0&&C!==void 0?(function(d,B,E){for(var Q=d.indexOf(` -`),f=1;f1&&arguments[1]!==void 0?arguments[1]:void 0,A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:JSON;return Pf(t)?t:{text:A.stringify(t.json,null,e)}}function liA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:JSON;return jf(t)?t:{json:e.parse(t.text)}}function DL(t,e,A){return $kA(t,e,A).text}function ASA(t,e){return eSA(t,e)>e}function eSA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1/0;if(Pf(t))return t.text.length;var A=t.json,i=0;return(function n(o){if(Array.isArray(o)){if((i+=o.length-1+2)>e)return;for(var a=0;ae)return}else if(pn(o)){var r=Object.keys(o);i+=2+r.length+(r.length-1);for(var s=0;sloA(IoA(String(t))),unescapeValue:t=>doA(coA(t))},aSA={escapeValue:t=>IoA(String(t)),unescapeValue:t=>doA(t)},rSA={escapeValue:t=>loA(String(t)),unescapeValue:t=>coA(t)},sSA={escapeValue:t=>String(t),unescapeValue:t=>t};function loA(t){return t.replace(/[^\x20-\x7F]/g,e=>{var A;return e==="\b"||e==="\f"||e===` -`||e==="\r"||e===" "?e:"\\u"+("000"+((A=e.codePointAt(0))===null||A===void 0?void 0:A.toString(16))).slice(-4)})}function coA(t){return t.replace(/\\u[a-fA-F0-9]{4}/g,e=>{try{var A=JSON.parse('"'+e+'"');return CoA[A]||A}catch{return e}})}var CoA={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},gSA={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":` -`,"\\r":"\r","\\t":" "};function IoA(t){return t.replace(/["\b\f\n\r\t\\]/g,e=>CoA[e]||e)}function doA(t){return t.replace(/\\["bfnrt\\]/g,e=>gSA[e]||e)}function fh(t){return typeof t!="string"?String(t):t.endsWith(` -`)?t+` -`:t}function BoA(t,e){return Nh(t,A=>A.nodeName.toUpperCase()===e.toUpperCase())}function VI(t,e,A){return Nh(t,i=>(function(n,o,a){return typeof n.getAttribute=="function"&&n.getAttribute(o)===a})(i,e,A))}function Nh(t,e){return!!eG(t,e)}function eG(t,e){for(var A=t;A&&!e(A);)A=A.parentNode;return A}function cm(t){var e,A;return(e=t==null||(A=t.ownerDocument)===null||A===void 0?void 0:A.defaultView)!==null&&e!==void 0?e:void 0}function tG(t){var e=cm(t),A=e?.document.activeElement;return!!A&&Nh(A,i=>i===t)}function EoA(t,e){return eG(t,A=>A.nodeName===e)}function W_(t){return VI(t,"data-type","selectable-key")?no.key:VI(t,"data-type","selectable-value")?no.value:VI(t,"data-type","insert-selection-area-inside")?no.inside:VI(t,"data-type","insert-selection-area-after")?no.after:no.multi}function qy(t){return encodeURIComponent(wt(t))}function QoA(t){var e,A=eG(t,n=>!(n==null||!n.hasAttribute)&&n.hasAttribute("data-path")),i=(e=A?.getAttribute("data-path"))!==null&&e!==void 0?e:void 0;return i?Qs(decodeURIComponent(i)):void 0}function lSA(t){var{allElements:e,currentElement:A,direction:i,hasPrio:n=()=>!0,margin:o=10}=t,a=wS(e.filter(function(f){var b=f.getBoundingClientRect();return b.width>0&&b.height>0}),s),r=s(A);function s(f){var b=f.getBoundingClientRect();return{x:b.left+b.width/2,y:b.top+b.height/2,rect:b,element:f}}function g(f,b){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,M=f.x-b.x,D=(f.y-b.y)*S;return Math.sqrt(M*M+D*D)}var l=f=>g(f,r);if(i==="Left"||i==="Right"){var C=i==="Left"?a.filter(f=>{return b=r,f.rect.left+o{return b=r,f.rect.right>b.rect.right+o;var b}),I=C.filter(f=>{return b=f,S=r,Math.abs(b.y-S.y)g(f,r,10));return d?.element}if(i==="Up"||i==="Down"){var B=i==="Up"?a.filter(f=>{return b=r,f.y+o{return b=r,f.y>b.y+o;var b}),E=B.filter(f=>n(f.element)),Q=VE(E,l)||VE(B,l);return Q?.element}}function iG(){var t,e,A,i;return typeof navigator<"u"&&(t=(e=(A=navigator)===null||A===void 0||(A=A.platform)===null||A===void 0?void 0:A.toUpperCase().includes("MAC"))!==null&&e!==void 0?e:(i=navigator)===null||i===void 0||(i=i.userAgentData)===null||i===void 0||(i=i.platform)===null||i===void 0?void 0:i.toUpperCase().includes("MAC"))!==null&&t!==void 0&&t}function g2(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"+",A=[];nG(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:iG)&&A.push("Ctrl"),t.altKey&&A.push("Alt"),t.shiftKey&&A.push("Shift");var i=t.key.length===1?t.key.toUpperCase():t.key;return i in cSA||A.push(i),A.join(e)}function nG(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:iG;return t.ctrlKey||t.metaKey&&e()}var cSA={Ctrl:!0,Command:!0,Control:!0,Alt:!0,Option:!0,Shift:!0};function qt(t,e){e===void 0&&(e={});var A=e.insertAt;if(t&&typeof document<"u"){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",A==="top"&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}}qt(`.jse-absolute-popup.svelte-enkkpn { - position: relative; - left: 0; - top: 0; - width: 0; - height: 0; - z-index: 1001; -} -.jse-absolute-popup.svelte-enkkpn .jse-hidden-input:where(.svelte-enkkpn) { - position: fixed; - left: 0; - top: 0; - width: 0; - height: 0; - padding: 0; - margin: 0; - border: none; - outline: none; - overflow: hidden; -} -.jse-absolute-popup.svelte-enkkpn .jse-absolute-popup-content:where(.svelte-enkkpn) { - position: absolute; -}`);var CSA=FA('
      '),ISA=FA('
      ');function dSA(t,e){St(e,!1);var A=N(e,"popup",8),i=N(e,"closeAbsolutePopup",8),n=IA(),o=IA();function a(C){A().options&&A().options.closeOnOuterClick&&!Nh(C.target,I=>I===c(n))&&i()(A().id)}function r(C){g2(C)==="Escape"&&(C.preventDefault(),C.stopPropagation(),i()(A().id))}is(function(){c(o)&&c(o).focus()}),Ai();var s=ISA();ue("mousedown",i2,function(C){a(C)},!0),ue("keydown",i2,r,!0),ue("wheel",i2,function(C){a(C)},!0);var g=CA(s),l=C=>{var I=CSA(),d=CA(I);Jo(d,B=>R(o,B),()=>c(o)),$nA(bA(d,2),()=>A().component,(B,E)=>{E(B,e1(()=>A().props))}),ve(B=>Yl(I,B),[()=>(c(n),G(A()),EA(()=>(function(B,E){var Q=B.getBoundingClientRect(),{left:f,top:b,positionAbove:S,positionLeft:M}=(function(){if(E.anchor){var{anchor:D,width:F=0,height:_=0,offsetTop:U=0,offsetLeft:J=0,position:j}=E,{left:AA,top:O,bottom:DA,right:P}=D.getBoundingClientRect(),aA=j==="top"||O+_>window.innerHeight&&O>_,iA=j==="left"||AA+F>window.innerWidth&&AA>F;return{left:iA?P-J:AA+J,top:aA?O-U:DA+U,positionAbove:aA,positionLeft:iA}}if(typeof E.left=="number"&&typeof E.top=="number"){var{left:BA,top:oA,width:sA=0,height:hA=0}=E;return{left:BA,top:oA,positionAbove:oA+hA>window.innerHeight&&oA>hA,positionLeft:BA+sA>window.innerWidth&&BA>sA}}throw new Error('Invalid config: pass either "left" and "top", or pass "anchor"')})();return(S?"bottom: ".concat(Q.top-b,"px;"):"top: ".concat(b-Q.top,"px;"))+(M?"right: ".concat(Q.left-f,"px;"):"left: ".concat(f-Q.left,"px;"))})(c(n),A().options)))]),lA(C,I)};TA(g,C=>{c(n)&&C(l)}),Jo(s,C=>R(n,C),()=>c(n)),ue("mousedown",s,function(C){C.stopPropagation()}),ue("keydown",s,r),lA(t,s),xt()}var BSA=FA(" ",1);function yL(t,e){St(e,!1);var A=Cr("jsoneditor:AbsolutePopup"),i=IA([],!0);function n(r){var s=c(i).findIndex(l=>l.id===r);if(s!==-1){var g=c(i)[s];g.options.onClose&&g.options.onClose(),R(i,c(i).filter(l=>l.id!==r))}}(function(r,s){InA().set(r,s)})("absolute-popup",{openAbsolutePopup:function(r,s,g){A("open...",s,g);var l={id:th(),component:r,props:s||{},options:g||{}};return R(i,[...c(i),l]),l.id},closeAbsolutePopup:n}),RA(()=>c(i),()=>{A("popups",c(i))}),kn(),Ai(!0);var o=BSA(),a=At(o);Qa(a,1,()=>c(i),Na,(r,s)=>{dSA(r,{get popup(){return c(s)},closeAbsolutePopup:n})}),Ea(bA(a,2),e,"default",{},null),lA(t,o),xt()}function Cm(t,e){for(var A=new Set(e),i=t.replace(/ \(copy( \d+)?\)$/,""),n=t,o=1;A.has(n);){var a="copy"+(o>1?" "+o:"");n="".concat(i," (").concat(a,")"),o++}return n}function XC(t,e){var A=e-3;return t.length>e?t.substring(0,A)+"...":t}function ESA(t){if(t==="")return"";var e=t.toLowerCase();if(e==="null")return null;if(e==="true")return!0;if(e==="false")return!1;if(e!=="undefined"){var A=Number(t),i=parseFloat(t);return isNaN(A)||isNaN(i)?t:A}}var QSA={id:"jsonquery",name:"JSONQuery",description:` -

      - Enter a JSON Query function to filter, sort, or transform the data. - You can use functions like get, filter, - sort, pick, groupBy, uniq, etcetera. - Example query: filter(.age >= 18) -

      -`,createQuery:function(t,e){var{filter:A,sort:i,projection:n}=e,o=[];A&&A.path&&A.relation&&A.value&&o.push(["filter",[(a=A.relation,RS("1 ".concat(a," 1"))[0]),xy(A.path),ESA(A.value)]]);var a;return i&&i.path&&i.direction&&o.push(["sort",xy(i.path),i.direction==="desc"?"desc":"asc"]),n&&n.paths&&(n.paths.length>1?o.push(["pick",...n.paths.map(xy)]):o.push(["map",xy(n.paths[0])])),jq(["pipe",...o])},executeQuery:function(t,e,A){var i=goA(A,JSON)?t:(function(n){var o=A.stringify(n);return o!==void 0?JSON.parse(o):void 0})(t);return e.trim()!==""?qq(i,e):i}};function xy(t){return["get",...t]}var hSA=s1("");function uSA(t,e){St(e,!1);var A=870711,i=IA(""),n=N(e,"data",8);function o(r){if(!r||!r.raw)return"";var s=r.raw,g={};return s=s.replace(/\s(?:xml:)?id=["']?([^"')\s]+)/g,(l,C)=>{var I="fa-".concat((A+=1).toString(16));return g[C]=I,' id="'.concat(I,'"')}),s=s.replace(/#(?:([^'")\s]+)|xpointer\(id\((['"]?)([^')]+)\2\)\))/g,(l,C,I,d)=>{var B=C||d;return B&&g[B]?"#".concat(g[B]):l}),s}RA(()=>G(n()),()=>{R(i,o(n()))}),kn();var a=hSA();XnA(CA(a),()=>c(i),!0),lA(t,a),xt()}qt(` - .fa-icon.svelte-v67cny { - display: inline-block; - fill: currentColor; - } - .fa-flip-horizontal.svelte-v67cny { - transform: scale(-1, 1); - } - .fa-flip-vertical.svelte-v67cny { - transform: scale(1, -1); - } - .fa-spin.svelte-v67cny { - animation: svelte-v67cny-fa-spin 1s 0s infinite linear; - } - .fa-inverse.svelte-v67cny { - color: #fff; - } - .fa-pulse.svelte-v67cny { - animation: svelte-v67cny-fa-spin 1s infinite steps(8); - } - @keyframes svelte-v67cny-fa-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } - } -`);var fSA=s1(""),mSA=s1(""),pSA=s1(""),wSA=s1("",1);function Vi(t,e){var A=ky(e,["children","$$slots","$$events","$$legacy"]),i=ky(A,["class","data","scale","spin","inverse","pulse","flip","label","style"]);St(e,!1);var n=N(e,"class",8,""),o=N(e,"data",8),a=IA(),r=N(e,"scale",8,1),s=N(e,"spin",8,!1),g=N(e,"inverse",8,!1),l=N(e,"pulse",8,!1),C=N(e,"flip",8,void 0),I=N(e,"label",8,""),d=N(e,"style",8,""),B=IA(10),E=IA(10),Q=IA(),f=IA();function b(){var M=1;return r()!==void 0&&(M=Number(r())),isNaN(M)||M<=0?(console.warn('Invalid prop: prop "scale" should be a number over 0.'),1):1*M}function S(){return c(a)?Math.max(c(a).width,c(a).height)/16:1}RA(()=>(G(o()),G(d()),G(r())),()=>{R(a,(function(M){var D;if(M){if(!("definition"in M)){if("iconName"in M&&"icon"in M){M.iconName;var[F,_,,,U]=M.icon;D={width:F,height:_,paths:(Array.isArray(U)?U:[U]).map(J=>({d:J}))}}else D=M[Object.keys(M)[0]];return D}console.error("`import faIconName from '@fortawesome/package-name/faIconName` not supported - Please use `import { faIconName } from '@fortawesome/package-name/faIconName'` instead")}})(o())),d(),r(),R(B,c(a)?c(a).width/S()*b():0),R(E,c(a)?c(a).height/S()*b():0),R(Q,(function(){var M="";d()!==null&&(M+=d());var D=b();return D===1?M.length===0?"":M:(M===""||M.endsWith(";")||(M+="; "),"".concat(M,"font-size: ").concat(D,"em"))})()),R(f,c(a)?"0 0 ".concat(c(a).width," ").concat(c(a).height):"0 0 ".concat(c(B)," ").concat(c(E)))}),kn(),Ai(),(function(M,D){var F=ky(D,["children","$$slots","$$events","$$legacy"]),_=ky(F,["class","width","height","box","spin","inverse","pulse","flip","style","label"]),U=N(D,"class",8,""),J=N(D,"width",8),j=N(D,"height",8),AA=N(D,"box",8,"0 0 0 0"),O=N(D,"spin",8,!1),DA=N(D,"inverse",8,!1),P=N(D,"pulse",8,!1),aA=N(D,"flip",8,"none"),iA=N(D,"style",8,""),BA=N(D,"label",8,""),oA=fSA();jy(oA,()=>{var sA;return ye(ye({version:"1.1",class:"fa-icon ".concat((sA=U())!==null&&sA!==void 0?sA:""),width:J(),height:j(),"aria-label":BA(),role:BA()?"img":"presentation",viewBox:AA(),style:iA()},_),{},{[XQ]:{"fa-spin":O(),"fa-pulse":P(),"fa-inverse":DA(),"fa-flip-horizontal":aA()==="horizontal","fa-flip-vertical":aA()==="vertical"}})},void 0,void 0,void 0,"svelte-v67cny"),Ea(CA(oA),D,"default",{},null),lA(M,oA)})(t,e1({get label(){return I()},get width(){return c(B)},get height(){return c(E)},get box(){return c(f)},get style(){return c(Q)},get spin(){return s()},get flip(){return C()},get inverse(){return g()},get pulse(){return l()},get class(){return n()}},()=>i,{children:(M,D)=>{var F=bi();Ea(At(F),e,"default",{},_=>{var U=wSA(),J=At(U);Qa(J,1,()=>(c(a),EA(()=>{var DA;return((DA=c(a))===null||DA===void 0?void 0:DA.paths)||[]})),Na,(DA,P)=>{var aA=mSA();jy(aA,()=>ye({},c(P))),lA(DA,aA)});var j=bA(J);Qa(j,1,()=>(c(a),EA(()=>{var DA;return((DA=c(a))===null||DA===void 0?void 0:DA.polygons)||[]})),Na,(DA,P)=>{var aA=pSA();jy(aA,()=>ye({},c(P))),lA(DA,aA)});var AA=bA(j),O=DA=>{uSA(DA,{get data(){return c(a)},set data(P){R(a,P)},$$legacy:!0})};TA(AA,DA=>{c(a),EA(()=>{var P;return(P=c(a))===null||P===void 0?void 0:P.raw})&&DA(O)}),lA(_,U)}),lA(M,F)},$$slots:{default:!0}})),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-boolean-toggle.svelte-eli4ob { - padding: 0; - margin: 1px 0 0; - vertical-align: top; - display: inline-flex; - color: var(--jse-value-color-boolean, #ff8c00); -} - -.jse-boolean-toggle.svelte-eli4ob:not(.jse-readonly) { - cursor: pointer; -}`);var DSA=FA('
      ');function ySA(t,e){St(e,!1);var A=N(e,"path",9),i=N(e,"value",9),n=N(e,"readOnly",9),o=N(e,"onPatch",9),a=N(e,"focus",9);Ai(!0);var r,s=DSA(),g=CA(s),l=tt(()=>i()===!0?NS:FS);Vi(g,{get data(){return c(l)}}),ve(()=>{Mn(s,"aria-checked",i()===!0),r=$t(s,1,"jse-boolean-toggle svelte-eli4ob",null,r,{"jse-readonly":n()}),Mn(s,"title",n()?"Boolean value ".concat(i()):"Click to toggle this boolean value")}),ue("mousedown",s,function(C){C.stopPropagation(),n()||(o()([{op:"replace",path:wt(A()),value:!i()}]),a()())}),lA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-color-picker-popup.svelte-v77py2 .picker_wrapper.popup, -.jse-color-picker-popup.svelte-v77py2 .picker_wrapper.popup .picker_arrow::before, -.jse-color-picker-popup.svelte-v77py2 .picker_wrapper.popup .picker_arrow::after { - background: var(--jse-color-picker-background, var(--jse-panel-background, #ebebeb)); - line-height: normal; -} -.jse-color-picker-popup.svelte-v77py2 .picker_slider, -.jse-color-picker-popup.svelte-v77py2 .picker_sl, -.jse-color-picker-popup.svelte-v77py2 .picker_editor input, -.jse-color-picker-popup.svelte-v77py2 .picker_sample, -.jse-color-picker-popup.svelte-v77py2 .picker_done button { - box-shadow: var(--jse-color-picker-border-box-shadow, #cbcbcb 0 0 0 1px); -} -.jse-color-picker-popup.svelte-v77py2 .picker_editor input { - background: var(--jse-background-color, #fff); - color: var(--jse-text-color, #4d4d4d); -} -.jse-color-picker-popup.svelte-v77py2 .picker_done button { - background: var(--jse-button-background, #e0e0e0); - color: var(--jse-button-color, var(--jse-text-color, #4d4d4d)); -} -.jse-color-picker-popup.svelte-v77py2 .picker_done button:hover { - background: var(--jse-button-background-highlight, #e7e7e7); -}`);var vSA=FA('
      ');function bSA(t,e){St(e,!1);var A=N(e,"color",8),i=N(e,"onChange",8),n=N(e,"showOnTop",8),o=IA(),a=()=>{};is(Tt(function*(){var s,g=new((s=yield import("./chunk-GLGRLUIJ.js"))===null||s===void 0?void 0:s.default)({parent:c(o),color:A(),popup:n()?"top":"bottom",onDone(l){var C=l.rgba[3]===1?l.hex.substring(0,7):l.hex;i()(C)}});g.show(),a=()=>{g.destroy()}})),Hl(()=>{a()}),Ai();var r=vSA();Jo(r,s=>R(o,s),()=>c(o)),lA(t,r),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-color-picker-button.svelte-13mgyo6 { - font-size: var(--jse-font-size-mono, 14px); - width: var(--jse-color-picker-button-size, 1em); - height: var(--jse-color-picker-button-size, 1em); - box-sizing: border-box; - padding: 0; - margin: 2px 0 0 calc(0.5 * var(--jse-padding, 10px)); - display: inline-flex; - vertical-align: top; - border: 1px solid var(--jse-text-color, #4d4d4d); - border-radius: 2px; - background: inherit; - outline: none; -} - -.jse-color-picker-button.svelte-13mgyo6:not(.jse-readonly) { - cursor: pointer; -}`);var MSA=FA('');function kSA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),{openAbsolutePopup:n}=r1("absolute-popup"),o=N(e,"path",9),a=N(e,"value",9),r=N(e,"readOnly",9),s=N(e,"onPatch",9),g=N(e,"focus",9);function l(B){s()([{op:"replace",path:wt(o()),value:B}]),C()}function C(){g()()}RA(()=>G(a()),()=>{R(A,noA(a()))}),RA(()=>(G(r()),G(a())),()=>{R(i,r()?"Color ".concat(a()):"Click to open a color picker")}),kn(),Ai(!0);var I,d=MSA();ve(()=>{var B;I=$t(d,1,"jse-color-picker-button svelte-13mgyo6",null,I,{"jse-readonly":r()}),Yl(d,"background: ".concat((B=c(A))!==null&&B!==void 0?B:"")),Mn(d,"title",c(i)),Mn(d,"aria-label",c(i))}),ue("click",d,function(B){var E,Q;if(!r()){var f=B.target,b=f.getBoundingClientRect().top,S=((E=(Q=cm(f))===null||Q===void 0?void 0:Q.innerHeight)!==null&&E!==void 0?E:0)-b<300&&b>300,M={color:a(),onChange:l,showOnTop:S};n(bSA,M,{anchor:f,closeOnOuterClick:!0,onClose:C,offsetTop:18,offsetLeft:-8,height:300})}}),lA(t,d),xt()}var Z_=1e3,qf=100,Ry=100,nv=2e4,gh=[{start:0,end:qf}],SSA=1048576,xSA=1048576,X_=10485760,$_="Insert or paste contents, enter [ insert a new array, enter { to insert a new object, or start typing to insert a new value",oG="Open context menu (Click here, right click on the selection, or use the context menu button or Ctrl+Q)",Gd="hover-insert-inside",Ny="hover-insert-after",IiA="hover-collection",AL="valid",diA="repairable",$C=336,A2=260,Uf=100,BiA={[Kl.asc]:"ascending",[Kl.desc]:"descending"};function hoA(t){for(var e=bS(t,r=>r.start),A=[e[0]],i=0;i0&&arguments[0]!==void 0?arguments[0]:{expanded:!1};return{type:"array",expanded:t,visibleSections:gh,items:[]}}function sG(){var{expanded:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{expanded:!1};return{type:"object",expanded:t,properties:{}}}var gG={createObjectDocumentState:sG,createArrayDocumentState:rG,createValueDocumentState:function(){return{type:"value"}}};function foA(t,e,A,i){var{createObjectDocumentState:n,createArrayDocumentState:o,createValueDocumentState:a}=i;return(function r(s,g,l){if(Array.isArray(s)){var C=lr(g)?g:o();if(l.length===0)return C;var I=Fr(l[0]),d=r(s[I],C.items[I],l.slice(1));return Or(C,["items",l[0]],d)}if(pn(s)){var B=wg(g)?g:n();if(l.length===0)return B;var E=l[0],Q=r(s[E],B.properties[E],l.slice(1));return Or(B,["properties",E],Q)}return aG(g)?g:a()})(t,e,A)}function Xg(t,e){return Vf(t,e,arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],(A,i)=>{if(A!==void 0&&i!==void 0)return Array.isArray(A)?lr(i)?i:rG({expanded:!!eB(i)&&i.expanded}):pn(A)?wg(i)?i:sG({expanded:!!eB(i)&&i.expanded}):aG(i)?i:void 0},()=>!0)}function Vf(t,e,A,i,n){var o=i(t,e,A);if(Array.isArray(t)&&lr(o)&&n(o)){var a=[];return lG(t,o.visibleSections,s=>{var g=A.concat(String(s)),l=Vf(t[s],o.items[s],g,i,n);l!==void 0&&(a[s]=l)}),aiA(a,o.items)?o:ye(ye({},o),{},{items:a})}if(pn(t)&&wg(o)&&n(o)){var r={};return Object.keys(t).forEach(s=>{var g=A.concat(s),l=Vf(t[s],o.properties[s],g,i,n);l!==void 0&&(r[s]=l)}),aiA(Object.values(r),Object.values(o.properties))?o:ye(ye({},o),{},{properties:r})}return o}function lG(t,e,A){e.forEach(i=>{var{start:n,end:o}=i;ooA(n,Math.min(t.length,o),A)})}function Wf(t,e){for(var A=t,i=[],n=0;n{var C=eB(l)&&!l.expanded?ye(ye({},l),{},{expanded:!0}):l;return lr(C)?(function(I,d){if((function(Q,f){return Q.some(b=>f>=b.start&&f(function(g,l,C,I){return Vf(g,l,C,(d,B,E)=>Array.isArray(d)&&I(E)?lr(B)?B.expanded?B:ye(ye({},B),{},{expanded:!0}):rG({expanded:!0}):pn(d)&&I(E)?wg(B)?B.expanded?B:ye(ye({},B),{},{expanded:!0}):sG({expanded:!0}):B,d=>eB(d)&&d.expanded)})(r,s,[],i))}function piA(t,e,A,i){return mh(t,e,A,(n,o)=>i?(function(a,r,s){return Vf(a,r,s,(g,l)=>wiA(l),()=>!0)})(n,o,A):wiA(o))}function wiA(t){return lr(t)&&t.expanded?ye(ye({},t),{},{expanded:!1,visibleSections:gh}):wg(t)&&t.expanded?ye(ye({},t),{},{expanded:!1}):t}function moA(t,e,A){var i={json:t,documentState:e},n=A.reduce((o,a)=>({json:lg(o.json,[a]),documentState:LSA(o.json,o.documentState,a)}),i);return{json:n.json,documentState:Xg(n.json,n.documentState)}}function LSA(t,e,A){if($k(A))return DiA(t,e,A,void 0);if(AS(A))return yiA(t,e,A);if(gw(A)){var i=cg(t,A.path),n=P0(t,e,i);return n?yv(t,e,i,{type:"value",enforceString:n}):e}return lw(A)||Z2(A)?(function(o,a,r){if(Z2(r)&&r.from===r.path)return a;var s=a,g=cg(o,r.from),l=T0(o,s,g);return Z2(r)&&(s=yiA(o,s,{path:r.from})),s=DiA(o,s,{path:r.path},l),s})(t,e,A):e}function T0(t,e,A){try{return je(e,Wf(t,A))}catch{return}}function cG(t,e,A,i,n){var o=foA(t,e,A,n);return j4(o,Wf(t,A),a=>{var r=je(t,A);return i(r,a)})}function yv(t,e,A,i){return(function(n,o,a,r,s){var g=foA(n,o,a,s);return Or(g,Wf(n,a),r)})(t,e,A,i,gG)}function mh(t,e,A,i){return cG(t,e,A,i,gG)}function DiA(t,e,A,i){var n=cg(t,A.path),o=e;return o=mh(t,o,Ki(n),(a,r)=>{if(!lr(r))return r;var s=Fr(mi(n)),{items:g,visibleSections:l}=r;return ye(ye({},r),{},{items:s{if(!lr(r))return r;var s=Fr(mi(i)),{items:g,visibleSections:l}=r;return ye(ye({},r),{},{items:g.slice(0,s).concat(g.slice(s+1)),visibleSections:poA(l,s,-1)})}):(function(a,r,s){var g=Wf(a,s);return br(r,g)?Ad(r,Wf(a,s)):r})(t,e,i)}function poA(t,e,A){return(function(i){for(var n=i.slice(0),o=1;o({start:i.start>e?i.start+A:i.start,end:i.end>e?i.end+A:i.end})))}function P0(t,e,A){var i,n=je(t,A),o=T0(t,e,A),a=aG(o)?o.enforceString:void 0;return typeof a=="boolean"?a:typeof(i=n)=="string"&&typeof Rh(i,JSON)!="string"}function Im(t,e){var A=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=t.indexOf(e);return i!==-1?A?t.slice(i):t.slice(i+1):[]}function CG(t,e){var A=[];return(function i(n,o,a){A.push(a),qo(n)&&lr(o)&&o.expanded&&lG(n,o.visibleSections,r=>{i(n[r],o.items[r],a.concat(String(r)))}),ia(n)&&wg(o)&&o.expanded&&Object.keys(n).forEach(r=>{i(n[r],o.properties[r],a.concat(r))})})(t,e,[]),A}function woA(t,e){var A=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],i=[];return(function n(o,a){i.push({path:a,type:Uc.value});var r=T0(t,e,a);if(o&&eB(r)&&r.expanded){if(A&&i.push({path:a,type:Uc.inside}),qo(o)){var s=lr(r)?r.visibleSections:gh;lG(o,s,g=>{var l=a.concat(String(g));n(o[g],l),A&&i.push({path:l,type:Uc.after})})}ia(o)&&Object.keys(o).forEach(g=>{var l=a.concat(g);i.push({path:l,type:Uc.key}),n(o[g],l),A&&i.push({path:l,type:Uc.after})})}})(t,[]),i}function eL(t,e,A){var i=CG(t,e),n=i.map(wt).indexOf(wt(A));if(n!==-1&&n3&&arguments[3]!==void 0?arguments[3]:10240;return Kc(t,e,A,ASA({json:je(t,A)},i)?Jf:IG)}function tL(t,e,A){var i=T0(t,e,A);return eB(i)&&i.expanded?e:tB(t,e,A)}function Jf(t){return t.length===0||t.length===1&&t[0]==="0"}function kL(t){return t.length===0}function IG(){return!0}function Vy(){return!1}function yg(t){return t&&t.type===no.after||!1}function tr(t){return t&&t.type===no.inside||!1}function cr(t){return t&&t.type===no.key||!1}function In(t){return t&&t.type===no.value||!1}function lo(t){return t&&t.type===no.multi||!1}function vv(t){return lo(t)&&Qi(t.focusPath,t.anchorPath)}function Zf(t){return lo(t)||yg(t)||tr(t)||cr(t)||In(t)}function iL(t){return t&&t.type===no.text||!1}function o1(t,e){var A=[];return(function(i,n,o){if(n){var a=jd(n),r=ct(n);if(Qi(a,r))return o(a);if(i!==void 0){var s=yoA(a,r);if(a.length===s.length||r.length===s.length)return o(s);var g=Ds(a,r),l=e2(i,g),C=i1(i,g),I=a2(i,g,l),d=a2(i,g,C);if(!(I===-1||d===-1)){var B=je(i,s);if(ia(B)){for(var E=Object.keys(B),Q=I;Q<=d;Q++){var f=o(s.concat(E[Q]));if(f!==void 0)return f}return}if(qo(B)){for(var b=I;b<=d;b++){var S=o(s.concat(String(b)));if(S!==void 0)return S}return}throw new Error("Failed to create selection")}}}})(t,e,i=>{A.push(i)}),A}function DoA(t){return tr(t)?t.path:Ki(ct(t))}function e2(t,e){if(!lo(e))return e.path;var A=a2(t,e,e.anchorPath);return a2(t,e,e.focusPath)A?e.focusPath:e.anchorPath}function viA(t,e,A){var i=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(A){var n=i?ct(A):e2(t,A),o=(function(s,g,l){var C=CG(s,g),I=C.map(wt),d=wt(l),B=I.indexOf(d);if(B!==-1&&B>0)return C[B-1]})(t,e,n);if(i)return tr(A)||yg(A)?o!==void 0?Ds(n,n):void 0:o!==void 0?Ds(jd(A),o):void 0;if(yg(A)||tr(A))return Ui(n);if(cr(A)){if(o===void 0||o.length===0)return;var a=Ki(o),r=je(t,a);return Array.isArray(r)||qi(o)?Ui(o):l2(o)}return In(A),o!==void 0?Ui(o):void 0}}function biA(t,e,A,i){if(!A)return{caret:void 0,previous:void 0,next:void 0};var n=woA(t,e,i),o=n.findIndex(a=>Qi(a.path,ct(A))&&String(a.type)===String(A.type));return{caret:o!==-1?n[o]:void 0,previous:o!==-1&&o>0?n[o-1]:void 0,next:o!==-1&&oA[i].length;)i++;var n=A[i];return n===void 0||n.length===0||Array.isArray(je(t,Ki(n)))?Ui(n):l2(n)}function ph(t,e){if(e.length===1){var A=Dl(e);if(A.op==="replace")return Ui(cg(t,A.path))}if(!qi(e)&&e.every(a=>a.op==="move")){var i=Dl(e),n=e.slice(1);if((lw(i)||Z2(i))&&i.from!==i.path&&n.every(a=>(lw(a)||Z2(a))&&a.from===a.path))return l2(cg(t,i.path))}var o=e.filter(a=>a.op!=="test"&&a.op!=="remove"&&(a.op!=="move"||a.from!==a.path)&&typeof a.path=="string").map(a=>cg(t,a.path));if(!qi(o))return{type:no.multi,anchorPath:Dl(o),focusPath:mi(o)}}function yoA(t,e){for(var A=0;AA.length&&e.length>A.length;return{type:no.multi,anchorPath:i?A.concat(t[A.length]):A,focusPath:i?A.concat(e[A.length]):A}}function voA(t,e,A,i){if(cr(e))return String(mi(e.path));if(In(e)){var n=je(t,e.path);return typeof n=="string"?n:i.stringify(n,null,A)}if(lo(e)){if(qi(e.focusPath))return i.stringify(t,null,A);var o=DoA(e),a=je(t,o);if(Array.isArray(a)){if(vv(e)){var r=je(t,e.focusPath);return i.stringify(r,null,A)}return o1(t,e).map(s=>{var g=je(t,s);return"".concat(i.stringify(g,null,A),",")}).join(` -`)}return o1(t,e).map(s=>{var g=mi(s),l=je(t,s);return"".concat(i.stringify(g),": ").concat(i.stringify(l,null,A),",")}).join(` -`)}}function gr(t){return(cr(t)||In(t))&&t.edit===!0}function ih(t){return cr(t)||In(t)||lo(t)}function Fy(t){return cr(t)||In(t)||vv(t)}function SL(t){switch(t.type){case Uc.key:return l2(t.path);case Uc.value:return Ui(t.path);case Uc.after:return o2(t.path);case Uc.inside:return c2(t.path)}}function kiA(t,e){switch(t){case no.key:return l2(e);case no.value:return Ui(e);case no.after:return o2(e);case no.inside:return c2(e);case no.multi:case no.text:return Ds(e,e)}}function _y(t,e,A){if(e)return Xf(t,e,A)||W0(lo(e)?Ki(e.focusPath):e.path,A)?e:void 0}function Xf(t,e,A){if(t===void 0||!e)return!1;if(cr(e)||tr(e)||yg(e))return Qi(e.path,A);if(In(e))return W0(A,e.path);if(lo(e)){var i=e2(t,e),n=i1(t,e),o=Ki(e.focusPath);if(!W0(A,o)||A.length<=o.length)return!1;var a=a2(t,e,i),r=a2(t,e,n),s=a2(t,e,A);return s!==-1&&s>=a&&s<=r}return!1}function a2(t,e,A){var i=Ki(e.focusPath);if(!W0(A,i)||A.length<=i.length)return-1;var n=A[i.length],o=je(t,i);if(ia(o))return Object.keys(o).indexOf(n);if(qo(o)){var a=Fr(n);if(a');function MoA(t,e){St(e,!1);var A=Cr("jsoneditor:EditableDiv"),i=N(e,"value",9),n=N(e,"initialValue",9),o=N(e,"shortText",9,!1),a=N(e,"label",9),r=N(e,"onChange",9),s=N(e,"onCancel",9),g=N(e,"onFind",9),l=N(e,"onPaste",9,ya),C=N(e,"onValueClass",9,()=>""),I=IA(void 0,!0),d=IA(void 0,!0),B=!1;function E(){return c(I)?(function(b){return b.replace(/\n$/,"")})(c(I).innerText):""}function Q(b){c(I)&&$g(I,c(I).innerText=fh(b))}is(()=>{A("onMount",{value:i(),initialValue:n()}),Q(n()!==void 0?n():i()),c(I)&&(function(b){if(b.firstChild!=null){var S=document.createRange(),M=window.getSelection();S.setStart(b,1),S.collapse(!0),M?.removeAllRanges(),M?.addRange(S)}else b.focus()})(c(I))}),Hl(()=>{var b=E();A("onDestroy",{closed:B,value:i(),newValue:b}),B||b===i()||r()(b,t1.no)}),RA(()=>(G(C()),G(i())),()=>{R(d,C()(i()))}),kn(),Ai(!0);var f=GSA();Jo(f,b=>R(I,b),()=>c(I)),ve(b=>{Mn(f,"aria-label",a()),$t(f,1,b,"svelte-1r0oryi")},[()=>n1((G(Pc),c(d),G(o()),EA(()=>Pc("jse-editable-div",c(d),{"jse-short-text":o()}))))]),ue("input",f,function(){var b=E();b===""&&Q(""),R(d,C()(b))}),ue("keydown",f,function(b){b.stopPropagation();var S=g2(b);if(S==="Escape"&&(b.preventDefault(),B=!0,s()()),S==="Enter"||S==="Tab"){b.preventDefault(),B=!0;var M=E();r()(M,t1.nextInside)}S==="Ctrl+F"&&(b.preventDefault(),g()(!1)),S==="Ctrl+H"&&(b.preventDefault(),g()(!0))}),ue("paste",f,function(b){if(b.stopPropagation(),l()&&b.clipboardData){var S=b.clipboardData.getData("text/plain");l()(S)}}),ue("blur",f,function(){var b=document.hasFocus(),S=E();A("handleBlur",{hasFocus:b,closed:B,value:i(),newValue:S}),document.hasFocus()&&!B&&(B=!0,S!==i()&&r()(S,t1.self))}),lA(t,f),xt()}function KSA(t,e){St(e,!1);var A=N(e,"path",9),i=N(e,"value",9),n=N(e,"selection",9),o=N(e,"mode",9),a=N(e,"parser",9),r=N(e,"normalization",9),s=N(e,"enforceString",9),g=N(e,"onPatch",9),l=N(e,"onPasteJson",9),C=N(e,"onSelect",9),I=N(e,"onFind",9),d=N(e,"focus",9),B=N(e,"findNextInside",9);function E(S){return s()?S:Rh(S,a())}function Q(){C()(Ui(A())),d()()}Ai(!0);var f=tt(()=>(G(r()),G(i()),EA(()=>r().escapeValue(i())))),b=tt(()=>(G(gr),G(n()),EA(()=>gr(n())?n().initialValue:void 0)));MoA(t,{get value(){return c(f)},get initialValue(){return c(b)},label:"Edit value",onChange:function(S,M){g()([{op:"replace",path:wt(A()),value:E(r().unescapeValue(S))}],(D,F,_)=>{if(!_||Qi(A(),ct(_)))return{state:F,selection:M===t1.nextInside?B()(A()):Ui(A())}}),d()()},onCancel:Q,onPaste:function(S){try{var M=a().parse(S);aa(M)&&l()({path:A(),contents:M,onPasteAsJson:()=>{Q();var D=[{op:"replace",path:wt(A()),value:M}];g()(D,(F,_)=>({state:tB(F,_,A())}))}})}catch{}},get onFind(){return I()},onValueClass:function(S){return boA(E(r().unescapeValue(S)),o(),a())}}),xt()}function nh(t,e,A){var i=Ki(e),n=je(t,i);if(qo(n)){var o=Fr(mi(e));return A.map((g,l)=>({op:"add",path:wt(i.concat(String(o+l))),value:g.value}))}if(ia(n)){var a=mi(e),r=Object.keys(n),s=a!==void 0?Im(r,a,!0):[];return[...A.map(g=>{var l=Cm(g.key,r);return{op:"add",path:wt(i.concat(l)),value:g.value}}),...s.map(g=>a1(i,g))]}throw new Error("Cannot create insert operations: parent must be an Object or Array")}function xL(t,e,A){var i=je(t,e);if(Array.isArray(i)){var n=i.length;return A.map((o,a)=>({op:"add",path:wt(e.concat(String(n+a))),value:o.value}))}return A.map(o=>{var a=Cm(o.key,Object.keys(i));return{op:"add",path:wt(e.concat(a)),value:o.value}})}function dm(t,e,A,i){var n=e.filter(r=>r!==A),o=Cm(i,n),a=Im(e,A,!1);return[{op:"move",from:wt(t.concat(A)),path:wt(t.concat(o))},...a.map(r=>a1(t,r))]}function koA(t,e){var A=mi(e);if(qi(A))throw new Error("Cannot duplicate root object");var i=Ki(A),n=mi(A),o=je(t,i);if(qo(o)){var a=mi(e),r=a?Fr(mi(a))+1:0;return[...e.map((l,C)=>({op:"copy",from:wt(l),path:wt(i.concat(String(C+r)))}))]}if(ia(o)){var s=Object.keys(o),g=n!==void 0?Im(s,n,!1):[];return[...e.map(l=>{var C=Cm(mi(l),s);return{op:"copy",from:wt(l),path:wt(i.concat(C))}}),...g.map(l=>a1(i,l))]}throw new Error("Cannot create duplicate operations: parent must be an Object or Array")}function SoA(t,e){if(In(e))return[{op:"move",from:wt(e.path),path:""}];if(!lo(e))throw new Error("Cannot create extract operations: parent must be an Object or Array");var A=Ki(e.focusPath),i=je(t,A);if(qo(i)){var n=o1(t,e).map(a=>{var r=Fr(mi(a));return i[r]});return[{op:"replace",path:"",value:n}]}if(ia(i)){var o={};return o1(t,e).forEach(a=>{var r=String(mi(a));o[r]=i[r]}),[{op:"replace",path:"",value:o}]}throw new Error("Cannot extract: unsupported type of selection "+JSON.stringify(e))}function xoA(t,e,A,i){if(cr(e)){var n=aoA(A,i),o=Ki(e.path),a=je(t,o);return dm(o,Object.keys(a),mi(e.path),typeof n=="string"?n:A)}if(In(e)||lo(e)&&qi(e.focusPath))try{return[{op:"replace",path:wt(ct(e)),value:lm(A,F=>gm(F,i))}]}catch{return[{op:"replace",path:wt(ct(e)),value:A}]}if(lo(e)){var r=nL(A,i);return(function(F,_,U){var J=Dl(_),j=Ki(J),AA=je(F,j);if(qo(AA)){var O=Dl(_),DA=O?Fr(mi(O)):0;return[...gv(_),...U.map((YA,ee)=>({op:"add",path:wt(j.concat(String(ee+DA))),value:YA.value}))]}if(ia(AA)){var P=mi(_),aA=Ki(P),iA=mi(P),BA=Object.keys(AA),oA=iA!==void 0?Im(BA,iA,!1):[],sA=new Set(_.map(YA=>mi(YA))),hA=BA.filter(YA=>!sA.has(YA));return[...gv(_),...U.map(YA=>{var ee=Cm(YA.key,hA);return{op:"add",path:wt(aA.concat(ee)),value:YA.value}}),...oA.map(YA=>a1(aA,YA))]}throw new Error("Cannot create replace operations: parent must be an Object or Array")})(t,o1(t,e),r)}if(yg(e)){var s=nL(A,i),g=e.path,l=Ki(g),C=je(t,l);if(qo(C)){var I=Fr(mi(g));return nh(t,l.concat(String(I+1)),s)}if(ia(C)){var d=String(mi(g)),B=Object.keys(C);if(qi(B)||mi(B)===d)return xL(t,l,s);var E=B.indexOf(d),Q=B[E+1];return nh(t,l.concat(Q),s)}throw new Error("Cannot create insert operations: parent must be an Object or Array")}if(tr(e)){var f=nL(A,i),b=e.path,S=je(t,b);if(qo(S))return nh(t,b.concat("0"),f);if(ia(S)){var M=Object.keys(S);if(qi(M))return xL(t,b,f);var D=Dl(M);return nh(t,b.concat(D),f)}throw new Error("Cannot create insert operations: parent must be an Object or Array")}throw new Error("Cannot insert: unsupported type of selection "+JSON.stringify(e))}function gv(t){return t.map(e=>({op:"remove",path:wt(e)})).reverse()}function a1(t,e){return{op:"move",from:wt(t.concat(e)),path:wt(t.concat(e))}}function nL(t,e){var A=/^\s*{/.test(t),i=/^\s*\[/.test(t),n=aoA(t,e),o=n!==void 0?n:lm(t,a=>gm(a,e));return A&&pn(o)||i&&Array.isArray(o)?[{key:"New item",value:o}]:Array.isArray(o)?o.map((a,r)=>({key:"New item "+r,value:a})):pn(o)?Object.keys(o).map(a=>({key:a,value:o[a]})):[{key:"New item",value:o}]}function RoA(t,e){if(cr(e)){var A=Ki(e.path),i=je(t,A),n=dm(A,Object.keys(i),mi(e.path),"");return{operations:n,newSelection:ph(t,n)}}if(In(e))return{operations:[{op:"replace",path:wt(e.path),value:""}],newSelection:e};if(lo(e)){var o=o1(t,e),a=gv(o),r=mi(o);if(qi(r))return{operations:[{op:"replace",path:"",value:""}],newSelection:Ui([])};var s=Ki(r),g=je(t,s);if(qo(g)){var l=Dl(o),C=Fr(mi(l));return{operations:a,newSelection:C===0?c2(s):o2(s.concat(String(C-1)))}}if(ia(g)){var I=Object.keys(g),d=Dl(o),B=mi(d),E=I.indexOf(B),Q=I[E-1];return{operations:a,newSelection:E===0?c2(s):o2(s.concat(Q))}}throw new Error("Cannot create remove operations: parent must be an Object or Array")}throw new Error("Cannot remove: unsupported type of selection "+JSON.stringify(e))}function NoA(t,e){var A=(function(i,n){if(qi(n)||!n.every(Z2))return n;var o=[];for(var a of n){var r=SiA(Qs(a.from)),s=SiA(Qs(a.path));if(!r||!s)return n;o.push({from:r,path:s,operation:a})}var g=o[0].path.parent,l=je(i,g);if(!ia(l)||!o.every(B=>(function(E,Q){return Qi(E.from.parent,Q)&&Qi(E.path.parent,Q)})(B,g)))return n;var C=(function(B,E){var Q=Object.keys(E),f=Q.slice();for(var b of B){var S=f.indexOf(b.from.key);S!==-1&&(f.splice(S,1),f.push(b.path.key))}for(var M=0;MB.operation,d=o.filter(B=>B.operation.from!==B.operation.path);return d.some(B=>B.path.key===C)?d.map(I):[a1(g,C),...d.map(I)]})(t,e);return cw(t,A,{before:(i,n,o)=>{if(AS(n)){var a=Qs(n.path);return{revertOperations:[...o,...oL(i,a)]}}if(Z2(n)){var r=Qs(n.from);return{revertOperations:n.from===n.path?[n,...oL(i,r)]:[...o,...oL(i,r)]}}return{document:i}}})}function SiA(t){return t.length>0?{parent:Ki(t),key:mi(t)}:void 0}function oL(t,e){var A=Ki(e),i=mi(e),n=je(t,A);return ia(n)?Im(Object.keys(n),i,!1).map(o=>a1(A,o)):[]}function xiA(t){var e=t.activeIndex0?0:-1,A=t.items[e],i=t.items.map((n,o)=>ye(ye({},n),{},{active:o===e}));return ye(ye({},t),{},{items:i,activeItem:A,activeIndex:e})}function RiA(t,e){var A,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=t.toLowerCase(),o=(A=i?.maxResults)!==null&&A!==void 0?A:1/0,a=i?.columns,r=[],s=[];function g(Q){r.length>=o||r.push(Q)}function l(Q,f){if(qo(f)){var b=s.length;s.push("0");for(var S=0;S=o)return;s.pop()}else if(ia(f)){var M=Object.keys(f),D=s.length;for(var F of(s.push(""),M))if(s[D]=F,NiA(F,Q,s,Yc.key,g),l(Q,f[F]),r.length>=o)return;s.pop()}else NiA(String(f),Q,s,Yc.value,g)}if(t==="")return[];if(a){if(!Array.isArray(e))throw new Error("json must be an Array when option columns is defined");for(var C=0;CB.length+1;)s.pop();l(n,je(I,B))}if(r.length>=o)break}return r}return l(n,e),r}function NiA(t,e,A,i,n){var o=t.toLowerCase(),a=0,r=-1,s=-1;do(s=o.indexOf(e,r))!==-1&&(r=s+e.length,n({path:A.slice(0),field:i,fieldIndex:a,start:s,end:r}),a++);while(s!==-1)}function RL(t,e,A,i){return t.substring(0,A)+e+t.substring(i)}function FiA(t,e,A){var i=t;return pS(A,n=>{i=RL(i,e,n.start,n.end)}),i}function USA(t,e,A,i,n){var{field:o,path:a,start:r,end:s}=i;if(o===Yc.key){var g=Ki(a),l=je(t,g),C=mi(a),I=dm(g,Object.keys(l),C,RL(C,A,r,s));return{newSelection:ph(t,I),operations:I}}if(o===Yc.value){var d=je(t,a);if(d===void 0)throw new Error("Cannot replace: path not found ".concat(wt(a)));var B=typeof d=="string"?d:String(d),E=P0(t,e,a),Q=RL(B,A,r,s),f=[{op:"replace",path:wt(a),value:E?Q:Rh(Q,n)}];return{newSelection:ph(t,f),operations:f}}throw new Error("Cannot replace: unknown type of search result field ".concat(o))}function _iA(t){return t.path.concat(t.field,String(t.fieldIndex))}function LiA(t){var e=uoA(t)?t.searchResults.filter(A=>A.field===Yc.key):void 0;return e&&e.length>0?e:void 0}function GiA(t){var e=uoA(t)?t.searchResults.filter(A=>A.field===Yc.value):void 0;return e&&e.length>0?e:void 0}var JSA={createObjectDocumentState:()=>({type:"object",properties:{}}),createArrayDocumentState:()=>({type:"array",items:[]}),createValueDocumentState:()=>({type:"value"})};function FoA(t,e){return e.reduce((A,i)=>(function(n,o,a,r){return cG(n,o,a,r,JSA)})(t,A,i.path,(n,o)=>ye(ye({},o),{},{searchResults:o.searchResults?o.searchResults.concat(i):[i]})),void 0)}function lv(t){var e,A=(e=t?.searchResults)!==null&&e!==void 0?e:[],i=wg(t)?Object.values(t.properties).flatMap(lv):lr(t)?t.items.flatMap(lv):[];return A.concat(i)}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-highlight.svelte-19qyvy6 { - background-color: var(--jse-search-match-color, #ffe665); - outline: var(--jse-search-match-outline, none); -} -.jse-highlight.jse-active.svelte-19qyvy6 { - background-color: var(--jse-search-match-active-color, var(--jse-search-match-color, #ffe665)); - outline: var(--jse-search-match-outline, 2px solid #e0be00); -}`);var YSA=FA(" ");function _oA(t,e){St(e,!1);var A=IA(),i=N(e,"text",8),n=N(e,"searchResultItems",8);RA(()=>(G(i()),G(n())),()=>{R(A,(function(a,r){var s=[],g=0;for(var l of r){var C=a.slice(g,l.start);C!==""&&s.push({resultIndex:void 0,type:"normal",text:C,active:!1});var I=a.slice(l.start,l.end);s.push({resultIndex:l.resultIndex,type:"highlight",text:I,active:l.active}),g=l.end}var d=mi(r);return d&&d.endc(A),Na,(a,r)=>{var s=bi(),g=At(s),l=I=>{var d=ur();ve(()=>Rt(d,(c(r),EA(()=>c(r).text)))),lA(I,d)},C=I=>{var d,B=YSA(),E=CA(B);ve((Q,f)=>{d=$t(B,1,"jse-highlight svelte-19qyvy6",null,d,{"jse-active":c(r).active}),Mn(B,"data-search-result-index",Q),Rt(E,f)},[()=>(c(r),EA(()=>String(c(r).resultIndex))),()=>(G(fh),c(r),EA(()=>fh(c(r).text)))]),lA(I,B)};TA(g,I=>{c(r),EA(()=>c(r).type==="normal")?I(l):I(C,!1)}),lA(a,s)}),lA(t,o),xt()}function Wy(t){var e=1e3;if(t<900)return t.toFixed()+" B";var A=t/e;if(A<900)return A.toFixed(1)+" KB";var i=A/e;if(i<900)return i.toFixed(1)+" MB";var n=i/e;return n<900?n.toFixed(1)+" GB":(n/e).toFixed(1)+" TB"}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-tag.svelte-ubve9r { - border: none; - font-size: 80%; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - color: var(--jse-tag-color, var(--jse-text-color-inverse, #fff)); - background: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); - border-radius: 2px; - cursor: pointer; - display: inline-block; - padding: 0 4px; - line-height: normal; - margin: 1px 0; -} -.jse-tag.svelte-ubve9r:hover { - opacity: 0.8; -} -.jse-tag.disabled.svelte-ubve9r { - opacity: 0.7; - cursor: inherit; -}`);var TSA=FA('');function Zy(t,e){St(e,!0);var A,i=Dg(()=>e.onclick?o=>{o.preventDefault(),o.stopPropagation(),e.onclick()}:void 0),n=TSA();n.__click=function(){for(var o,a=arguments.length,r=new Array(a),s=0;s2?r-2:0),g=2;g{var C,I=(C=a())!==null&&C!==void 0?C:null;l.ensure(I,I&&(d=>I(d,...s)))},Vd)})(CA(n),()=>{var o;return(o=e.children)!==null&&o!==void 0?o:BkA}),ve(()=>A=$t(n,1,"jse-tag svelte-ubve9r",null,A,{disabled:!e.onclick})),lA(t,n),xt()}sm(["click"]);qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-value.jse-string.svelte-1saqp8c { - color: var(--jse-value-color-string, #008000); -} -.jse-value.jse-object.svelte-1saqp8c, .jse-value.jse-array.svelte-1saqp8c { - min-width: 16px; - color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); -} -.jse-value.jse-number.svelte-1saqp8c { - color: var(--jse-value-color-number, #ee422e); -} -.jse-value.jse-boolean.svelte-1saqp8c { - color: var(--jse-value-color-boolean, #ff8c00); -} -.jse-value.jse-null.svelte-1saqp8c { - color: var(--jse-value-color-null, #004ed0); -} -.jse-value.jse-invalid.svelte-1saqp8c { - color: var(--jse-text-color, #4d4d4d); -} -.jse-value.jse-url.svelte-1saqp8c { - color: var(--jse-value-color-url, #008000); - text-decoration: underline; -} - -.jse-value.svelte-1saqp8c { - display: inline-block; - min-width: 2em; - padding: 0 5px; - box-sizing: border-box; - outline: none; - border-radius: 1px; - vertical-align: top; - word-break: normal; - overflow-wrap: anywhere; - white-space: pre-wrap; -} -.jse-value.jse-table-cell.svelte-1saqp8c { - overflow-wrap: normal; - white-space: nowrap; -} -.jse-value.jse-empty.svelte-1saqp8c { - min-width: 4em; - outline: 1px dotted var(--jse-tag-background, rgba(0, 0, 0, 0.2)); - -moz-outline-radius: 2px; -} -.jse-value.jse-empty.svelte-1saqp8c::after { - pointer-events: none; - color: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); - content: "value"; -}`);var HSA=FA('
      ');function zSA(t,e){St(e,!0);var A=jC(!0),i=Dg(()=>c(A)&&typeof e.value=="string"&&e.value.length>e.truncateTextSize&&(!e.searchResultItems||!e.searchResultItems.some(d=>d.active&&d.end>e.truncateTextSize))),n=Dg(()=>c(i)&&typeof e.value=="string"?e.value.substring(0,e.truncateTextSize).trim():e.value),o=Dg(()=>Dv(e.value));function a(){R(A,!1)}var r=HSA();r.__click=function(d){typeof e.value=="string"&&c(o)&&nG(d)&&(d.preventDefault(),d.stopPropagation(),window.open(e.value,"_blank"))},r.__dblclick=function(d){e.readOnly||(d.preventDefault(),e.onSelect(sv(e.path)))};var s=CA(r),g=d=>{var B=Dg(()=>e.normalization.escapeValue(c(n)));_oA(d,{get text(){return c(B)},get searchResultItems(){return e.searchResultItems}})},l=d=>{var B=ur();ve(E=>Rt(B,E),[()=>fh(e.normalization.escapeValue(c(n)))]),lA(d,B)};TA(s,d=>{e.searchResultItems?d(g):d(l,!1)});var C=bA(s,2),I=d=>{Zy(d,{onclick:a,children:(B,E)=>{var Q=ur();ve(f=>Rt(Q,"Show more (".concat(f??"",")")),[()=>Wy(e.value.length)]),lA(B,Q)},$$slots:{default:!0}})};TA(C,d=>{c(i)&&typeof e.value=="string"&&d(I)}),ve(d=>{$t(r,1,d,"svelte-1saqp8c"),Mn(r,"title",c(o)?"Ctrl+Click or Ctrl+Enter to open url in new window":void 0)},[()=>n1(boA(e.value,e.mode,e.parser))]),lA(t,r),xt()}sm(["click","dblclick"]);qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-tooltip.svelte-brt1mq { - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - line-height: normal; - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); - border-radius: 3px; - background: var(--jse-context-menu-background, #656565); - color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); - white-space: nowrap; - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); -}`);var OSA=FA('
      ');function PSA(t,e){var A=N(e,"text",8),i=OSA(),n=CA(i);ve(()=>Rt(n,A())),lA(t,i)}function wh(t,e){var A,{text:i,openAbsolutePopup:n,closeAbsolutePopup:o}=e;function a(){A=n(PSA,{text:i},{position:"top",width:10*i.length,offsetTop:3,anchor:t,closeOnOuterClick:!0})}function r(){o(A)}return t.addEventListener("mouseenter",a),t.addEventListener("mouseleave",r),{destroy(){t.removeEventListener("mouseenter",a),t.removeEventListener("mouseleave",r)}}}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-timestamp.svelte-1jcpman { - padding: 0; - margin: 0; - vertical-align: middle; - display: inline-flex; - color: var(--jse-value-color-number, #ee422e); -}`);var jSA=FA('
      ');function qSA(t,e){St(e,!1);var A=IA(void 0,!0),i=r1("absolute-popup"),n=N(e,"value",9);RA(()=>G(n()),()=>{R(A,"Time: ".concat(new Date(n()).toString()))}),kn(),Ai(!0);var o=jSA();Vi(CA(o),{get data(){return Vq}}),vs(o,(a,r)=>wh?.(a,r),()=>ye({text:c(A)},i)),lA(t,o),xt()}function VSA(t){var e=[];return!t.isEditing&&qkA(t.value)&&e.push({component:ySA,props:t}),!t.isEditing&&VkA(t.value)&&e.push({component:kSA,props:t}),t.isEditing&&e.push({component:KSA,props:t}),t.isEditing||e.push({component:zSA,props:t}),!t.isEditing&&pL(t.value)&&e.push({component:qSA,props:t}),e}function vg(t){return t.map((e,A)=>ZSA.test(e)?"["+e+"]":/[.[\]]/.test(e)||e===""?'["'+(function(i){return i.replace(/"/g,'\\"')})(e)+'"]':(A>0?".":"")+e).join("")}function WSA(t){for(var e=[],A=0;Ao==='"',!0)),n('"')):e.push(i(o=>o==="]")),n("]")):e.push(i(o=>o==="."||o==="["));function i(o){for(var a=arguments.length>1&&arguments[1]!==void 0&&arguments[1],r="";A({x:t,y:t}),AxA={left:"right",right:"left",bottom:"top",top:"bottom"},exA={start:"end",end:"start"};function KiA(t,e,A){return qd(t,cv(e,A))}function bv(t,e){return typeof t=="function"?t(e):t}function iB(t){return t.split("-")[0]}function Mv(t){return t.split("-")[1]}function LoA(t){return t==="x"?"y":"x"}function GoA(t){return t==="y"?"height":"width"}var txA=new Set(["top","bottom"]);function WI(t){return txA.has(iB(t))?"y":"x"}function KoA(t){return LoA(WI(t))}function NL(t){return t.replace(/start|end/g,e=>exA[e])}var UiA=["left","right"],JiA=["right","left"],ixA=["top","bottom"],nxA=["bottom","top"];function oxA(t,e,A,i){var n=Mv(t),o=(function(a,r,s){switch(a){case"top":case"bottom":return s?r?JiA:UiA:r?UiA:JiA;case"left":case"right":return r?ixA:nxA;default:return[]}})(iB(t),A==="start",i);return n&&(o=o.map(a=>a+"-"+n),e&&(o=o.concat(o.map(NL)))),o}function Gy(t){return t.replace(/left|right|bottom|top/g,e=>AxA[e])}function axA(t){return typeof t!="number"?(function(e){return ye({top:0,right:0,bottom:0,left:0},e)})(t):{top:t,right:t,bottom:t,left:t}}function Iv(t){var{x:e,y:A,width:i,height:n}=t;return{width:i,height:n,top:A,left:e,right:e+i,bottom:A+n,x:e,y:A}}function YiA(t,e,A){var i,{reference:n,floating:o}=t,a=WI(e),r=KoA(e),s=GoA(r),g=iB(e),l=a==="y",C=n.x+n.width/2-o.width/2,I=n.y+n.height/2-o.height/2,d=n[s]/2-o[s]/2;switch(g){case"top":i={x:C,y:n.y-o.height};break;case"bottom":i={x:C,y:n.y+n.height};break;case"right":i={x:n.x+n.width,y:I};break;case"left":i={x:n.x-o.width,y:I};break;default:i={x:n.x,y:n.y}}switch(Mv(e)){case"start":i[r]-=d*(A&&l?-1:1);break;case"end":i[r]+=d*(A&&l?-1:1)}return i}var rxA=(function(){var t=Tt(function*(e,A,i){for(var{placement:n="bottom",strategy:o="absolute",middleware:a=[],platform:r}=i,s=a.filter(Boolean),g=yield r.isRTL==null?void 0:r.isRTL(A),l=yield r.getElementRects({reference:e,floating:A,strategy:o}),{x:C,y:I}=YiA(l,n,g),d=n,B={},E=0,Q=0;Q"u")&&(t instanceof ShadowRoot||t instanceof el(t).ShadowRoot)}var gxA=new Set(["inline","contents"]);function $f(t){var{overflow:e,overflowX:A,overflowY:i,display:n}=Hc(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+A)&&!gxA.has(n)}var lxA=new Set(["table","td","th"]);function cxA(t){return lxA.has(Dh(t))}var CxA=[":popover-open",":modal"];function dv(t){return CxA.some(e=>{try{return t.matches(e)}catch{return!1}})}var IxA=["transform","translate","scale","rotate","perspective"],dxA=["transform","translate","scale","rotate","perspective","filter"],BxA=["paint","layout","strict","content"];function LL(t){var e=BG(),A=Tc(t)?Hc(t):t;return IxA.some(i=>!!A[i]&&A[i]!=="none")||!!A.containerType&&A.containerType!=="normal"||!e&&!!A.backdropFilter&&A.backdropFilter!=="none"||!e&&!!A.filter&&A.filter!=="none"||dxA.some(i=>(A.willChange||"").includes(i))||BxA.some(i=>(A.contain||"").includes(i))}function BG(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}var ExA=new Set(["html","body","#document"]);function lh(t){return ExA.has(Dh(t))}function Hc(t){return el(t).getComputedStyle(t)}function Sv(t){return Tc(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ZI(t){if(Dh(t)==="html")return t;var e=t.assignedSlot||t.parentNode||TiA(t)&&t.host||X0(t);return TiA(e)?e.host:e}function YoA(t){var e=ZI(t);return lh(e)?t.ownerDocument?t.ownerDocument.body:t.body:$0(e)&&$f(e)?e:YoA(e)}function Am(t,e,A){var i;e===void 0&&(e=[]),A===void 0&&(A=!0);var n=YoA(t),o=n===((i=t.ownerDocument)==null?void 0:i.body),a=el(n);if(o){var r=GL(a);return e.concat(a,a.visualViewport||[],$f(n)?n:[],r&&A?Am(r):[])}return e.concat(n,Am(n,[],A))}function GL(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function ToA(t){var e=Hc(t),A=parseFloat(e.width)||0,i=parseFloat(e.height)||0,n=$0(t),o=n?t.offsetWidth:A,a=n?t.offsetHeight:i,r=Cv(A)!==o||Cv(i)!==a;return r&&(A=o,i=a),{width:A,height:i,$:r}}function EG(t){return Tc(t)?t:t.contextElement}function ch(t){var e=EG(t);if(!$0(e))return Z0(1);var A=e.getBoundingClientRect(),{width:i,height:n,$:o}=ToA(e),a=(o?Cv(A.width):A.width)/i,r=(o?Cv(A.height):A.height)/n;return a&&Number.isFinite(a)||(a=1),r&&Number.isFinite(r)||(r=1),{x:a,y:r}}var QxA=Z0(0);function HoA(t){var e=el(t);return BG()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:QxA}function nB(t,e,A,i){e===void 0&&(e=!1),A===void 0&&(A=!1);var n=t.getBoundingClientRect(),o=EG(t),a=Z0(1);e&&(i?Tc(i)&&(a=ch(i)):a=ch(t));var r=(function(D,F,_){return F===void 0&&(F=!1),!(!_||F&&_!==el(D))&&F})(o,A,i)?HoA(o):Z0(0),s=(n.left+r.x)/a.x,g=(n.top+r.y)/a.y,l=n.width/a.x,C=n.height/a.y;if(o)for(var I=el(o),d=i&&Tc(i)?el(i):i,B=I,E=GL(B);E&&i&&d!==B;){var Q=ch(E),f=E.getBoundingClientRect(),b=Hc(E),S=f.left+(E.clientLeft+parseFloat(b.paddingLeft))*Q.x,M=f.top+(E.clientTop+parseFloat(b.paddingTop))*Q.y;s*=Q.x,g*=Q.y,l*=Q.x,C*=Q.y,s+=S,g+=M,E=GL(B=el(E))}return Iv({width:l,height:C,x:s,y:g})}function Bv(t,e){var A=Sv(t).scrollLeft;return e?e.left+A:nB(X0(t)).left+A}function zoA(t,e){var A=t.getBoundingClientRect();return{x:A.left+e.scrollLeft-Bv(t,A),y:A.top+e.scrollTop}}var hxA=new Set(["absolute","fixed"]);function HiA(t,e,A){var i;if(e==="viewport")i=(function(o,a){var r=el(o),s=X0(o),g=r.visualViewport,l=s.clientWidth,C=s.clientHeight,I=0,d=0;if(g){l=g.width,C=g.height;var B=BG();(!B||B&&a==="fixed")&&(I=g.offsetLeft,d=g.offsetTop)}var E=Bv(s);if(E<=0){var Q=s.ownerDocument,f=Q.body,b=getComputedStyle(f),S=Q.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,M=Math.abs(s.clientWidth-f.clientWidth-S);M<=25&&(l-=M)}else E<=25&&(l+=E);return{width:l,height:C,x:I,y:d}})(t,A);else if(e==="document")i=(function(o){var a=X0(o),r=Sv(o),s=o.ownerDocument.body,g=qd(a.scrollWidth,a.clientWidth,s.scrollWidth,s.clientWidth),l=qd(a.scrollHeight,a.clientHeight,s.scrollHeight,s.clientHeight),C=-r.scrollLeft+Bv(o),I=-r.scrollTop;return Hc(s).direction==="rtl"&&(C+=qd(a.clientWidth,s.clientWidth)-g),{width:g,height:l,x:C,y:I}})(X0(t));else if(Tc(e))i=(function(o,a){var r=nB(o,!0,a==="fixed"),s=r.top+o.clientTop,g=r.left+o.clientLeft,l=$0(o)?ch(o):Z0(1);return{width:o.clientWidth*l.x,height:o.clientHeight*l.y,x:g*l.x,y:s*l.y}})(e,A);else{var n=HoA(t);i={x:e.x-n.x,y:e.y-n.y,width:e.width,height:e.height}}return Iv(i)}function OoA(t,e){var A=ZI(t);return!(A===e||!Tc(A)||lh(A))&&(Hc(A).position==="fixed"||OoA(A,e))}function uxA(t,e,A){var i=$0(e),n=X0(e),o=A==="fixed",a=nB(t,!0,o,e),r={scrollLeft:0,scrollTop:0},s=Z0(0);function g(){s.x=Bv(n)}if(i||!i&&!o)if((Dh(e)!=="body"||$f(n))&&(r=Sv(e)),i){var l=nB(e,!0,o,e);s.x=l.x+e.clientLeft,s.y=l.y+e.clientTop}else n&&g();o&&!i&&n&&g();var C=!n||i||o?Z0(0):zoA(n,r);return{x:a.left+r.scrollLeft-s.x-C.x,y:a.top+r.scrollTop-s.y-C.y,width:a.width,height:a.height}}function aL(t){return Hc(t).position==="static"}function ziA(t,e){if(!$0(t)||Hc(t).position==="fixed")return null;if(e)return e(t);var A=t.offsetParent;return X0(t)===A&&(A=A.ownerDocument.body),A}function OiA(t,e){var A=el(t);if(dv(t))return A;if(!$0(t)){for(var i=ZI(t);i&&!lh(i);){if(Tc(i)&&!aL(i))return i;i=ZI(i)}return A}for(var n=ziA(t,e);n&&cxA(n)&&aL(n);)n=ziA(n,e);return n&&lh(n)&&aL(n)&&!LL(n)?A:n||(function(o){for(var a=ZI(o);$0(a)&&!lh(a);){if(LL(a))return a;if(dv(a))return null;a=ZI(a)}return null})(t)||A}var fxA={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){var{elements:e,rect:A,offsetParent:i,strategy:n}=t,o=n==="fixed",a=X0(i),r=!!e&&dv(e.floating);if(i===a||r&&o)return A;var s={scrollLeft:0,scrollTop:0},g=Z0(1),l=Z0(0),C=$0(i);if((C||!C&&!o)&&((Dh(i)!=="body"||$f(a))&&(s=Sv(i)),$0(i))){var I=nB(i);g=ch(i),l.x=I.x+i.clientLeft,l.y=I.y+i.clientTop}var d=!a||C||o?Z0(0):zoA(a,s);return{width:A.width*g.x,height:A.height*g.y,x:A.x*g.x-s.scrollLeft*g.x+l.x+d.x,y:A.y*g.y-s.scrollTop*g.y+l.y+d.y}},getDocumentElement:X0,getClippingRect:function(t){var{element:e,boundary:A,rootBoundary:i,strategy:n}=t,o=A==="clippingAncestors"?dv(e)?[]:(function(g,l){var C=l.get(g);if(C)return C;for(var I=Am(g,[],!1).filter(b=>Tc(b)&&Dh(b)!=="body"),d=null,B=Hc(g).position==="fixed",E=B?ZI(g):g;Tc(E)&&!lh(E);){var Q=Hc(E),f=LL(E);f||Q.position!=="fixed"||(d=null),(B?!f&&!d:!f&&Q.position==="static"&&d&&hxA.has(d.position)||$f(E)&&!f&&OoA(g,E))?I=I.filter(b=>b!==E):d=Q,E=ZI(E)}return l.set(g,I),I})(e,this._c):[].concat(A),a=[...o,i],r=a[0],s=a.reduce((g,l)=>{var C=HiA(e,l,n);return g.top=qd(C.top,g.top),g.right=cv(C.right,g.right),g.bottom=cv(C.bottom,g.bottom),g.left=qd(C.left,g.left),g},HiA(e,r,n));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:OiA,getElementRects:(function(){var t=Tt(function*(e){var A=this.getOffsetParent||OiA,i=this.getDimensions,n=yield i(e.floating);return{reference:uxA(e.reference,yield A(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}});return function(e){return t.apply(this,arguments)}})(),getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){var{width:e,height:A}=ToA(t);return{width:e,height:A}},getScale:ch,isElement:Tc,isRTL:function(t){return Hc(t).direction==="rtl"}};function PiA(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function mxA(t,e,A,i){i===void 0&&(i={});var{ancestorScroll:n=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:s=!1}=i,g=EG(t),l=n||o?[...g?Am(g):[],...Am(e)]:[];l.forEach(Q=>{n&&Q.addEventListener("scroll",A,{passive:!0}),o&&Q.addEventListener("resize",A)});var C,I=g&&r?(function(Q,f){var b,S=null,M=X0(Q);function D(){var F;clearTimeout(b),(F=S)==null||F.disconnect(),S=null}return(function F(_,U){_===void 0&&(_=!1),U===void 0&&(U=1),D();var J=Q.getBoundingClientRect(),{left:j,top:AA,width:O,height:DA}=J;if(_||f(),O&&DA){var P={rootMargin:-Ly(AA)+"px "+-Ly(M.clientWidth-(j+O))+"px "+-Ly(M.clientHeight-(AA+DA))+"px "+-Ly(j)+"px",threshold:qd(0,cv(1,U))||1},aA=!0;try{S=new IntersectionObserver(iA,ye(ye({},P),{},{root:M.ownerDocument}))}catch{S=new IntersectionObserver(iA,P)}S.observe(Q)}function iA(BA){var oA=BA[0].intersectionRatio;if(oA!==U){if(!aA)return F();oA?F(!1,oA):b=setTimeout(()=>{F(!1,1e-7)},1e3)}oA!==1||PiA(J,Q.getBoundingClientRect())||F(),aA=!1}})(!0),D})(g,A):null,d=-1,B=null;a&&(B=new ResizeObserver(Q=>{var[f]=Q;f&&f.target===g&&B&&(B.unobserve(e),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var b;(b=B)==null||b.observe(e)})),A()}),g&&!s&&B.observe(g),B.observe(e));var E=s?nB(t):null;return s&&(function Q(){var f=nB(t);E&&!PiA(E,f)&&A(),E=f,C=requestAnimationFrame(Q)})(),A(),()=>{var Q;l.forEach(f=>{n&&f.removeEventListener("scroll",A),o&&f.removeEventListener("resize",A)}),I?.(),(Q=B)==null||Q.disconnect(),B=null,s&&cancelAnimationFrame(C)}}var pxA=function(t){return t===void 0&&(t=0),{name:"offset",options:t,fn:e=>Tt(function*(){var A,i,{x:n,y:o,placement:a,middlewareData:r}=e,s=yield(function(g,l){return _L.apply(this,arguments)})(e,t);return a===((A=r.offset)==null?void 0:A.placement)&&(i=r.arrow)!=null&&i.alignmentOffset?{}:{x:n+s.x,y:o+s.y,data:ye(ye({},s),{},{placement:a})}})()}},wxA=function(t){return t===void 0&&(t={}),{name:"shift",options:t,fn:e=>Tt(function*(){var{x:A,y:i,placement:n}=e,o=bv(t,e),{mainAxis:a=!0,crossAxis:r=!1,limiter:s={fn:S=>{var{x:M,y:D}=S;return{x:M,y:D}}}}=o,g=AnA(o,rkA),l={x:A,y:i},C=yield UoA(e,g),I=WI(iB(n)),d=LoA(I),B=l[d],E=l[I];if(a){var Q=d==="y"?"bottom":"right";B=KiA(B+C[d==="y"?"top":"left"],B,B-C[Q])}if(r){var f=I==="y"?"bottom":"right";E=KiA(E+C[I==="y"?"top":"left"],E,E-C[f])}var b=s.fn(ye(ye({},e),{},{[d]:B,[I]:E}));return ye(ye({},b),{},{data:{x:b.x-A,y:b.y-i,enabled:{[d]:a,[I]:r}}})})()}},DxA=function(t){return t===void 0&&(t={}),{name:"flip",options:t,fn:e=>Tt(function*(){var A,i,{placement:n,middlewareData:o,rects:a,initialPlacement:r,platform:s,elements:g}=e,l=bv(t,e),{mainAxis:C=!0,crossAxis:I=!0,fallbackPlacements:d,fallbackStrategy:B="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:Q=!0}=l,f=AnA(l,akA);if((A=o.arrow)!=null&&A.alignmentOffset)return{};var b=iB(n),S=WI(r),M=iB(r)===r,D=yield s.isRTL==null?void 0:s.isRTL(g.floating),F=d||(M||!Q?[Gy(r)]:(function(hA){var YA=Gy(hA);return[NL(hA),YA,NL(YA)]})(r)),_=E!=="none";!d&&_&&F.push(...oxA(r,Q,E,D));var U=[r,...F],J=yield UoA(e,f),j=[],AA=((i=o.flip)==null?void 0:i.overflows)||[];if(C&&j.push(J[b]),I){var O=(function(hA,YA,ee){ee===void 0&&(ee=!1);var UA=Mv(hA),mA=KoA(hA),KA=GoA(mA),Pe=mA==="x"?UA===(ee?"end":"start")?"right":"left":UA==="start"?"bottom":"top";return YA.reference[KA]>YA.floating[KA]&&(Pe=Gy(Pe)),[Pe,Gy(Pe)]})(n,a,D);j.push(J[O[0]],J[O[1]])}if(AA=[...AA,{placement:n,overflows:j}],!j.every(hA=>hA<=0)){var DA,P,aA=(((DA=o.flip)==null?void 0:DA.index)||0)+1,iA=U[aA];if(iA&&(!(I==="alignment"&&S!==WI(iA))||AA.every(hA=>WI(hA.placement)!==S||hA.overflows[0]>0)))return{data:{index:aA,overflows:AA},reset:{placement:iA}};var BA=(P=AA.filter(hA=>hA.overflows[0]<=0).sort((hA,YA)=>hA.overflows[1]-YA.overflows[1])[0])==null?void 0:P.placement;if(!BA)switch(B){case"bestFit":var oA,sA=(oA=AA.filter(hA=>{if(_){var YA=WI(hA.placement);return YA===S||YA==="y"}return!0}).map(hA=>[hA.placement,hA.overflows.filter(YA=>YA>0).reduce((YA,ee)=>YA+ee,0)]).sort((hA,YA)=>hA[1]-YA[1])[0])==null?void 0:oA[0];sA&&(BA=sA);break;case"initialPlacement":BA=r}if(n!==BA)return{reset:{placement:BA}}}return{}})()}};function yxA(t){var e,A,i={autoUpdate:!0},n=t,o=s=>ye(ye(ye({},i),t||{}),s||{}),a=s=>{e&&A&&(n=o(s),((g,l,C)=>{var I=new Map,d=ye({platform:fxA},C),B=ye(ye({},d.platform),{},{_c:I});return rxA(g,l,ye(ye({},d),{},{platform:B}))})(e,A,n).then(g=>{var l;Object.assign(A.style,{position:g.strategy,left:"".concat(g.x,"px"),top:"".concat(g.y,"px")}),!((l=n)===null||l===void 0)&&l.onComputed&&n.onComputed(g)}))},r=s=>{Hl(s.subscribe(g=>{e===void 0?(e=g,a()):(Object.assign(e,g),a())}))};return[s=>{if("subscribe"in s)return r(s),{};e=s,a()},(s,g)=>{var l;A=s,n=o(g),setTimeout(()=>a(g),0),a(g);var C=()=>{l&&(l(),l=void 0)},I=function(){var{autoUpdate:d}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:n||{};C(),d!==!1&&znA().then(()=>mxA(e,A,()=>a(n),d===!0?{}:d))};return l=I(),{update(d){a(d),l=I(d)},destroy(){C()}}},a]}function vxA(t){var{loadOptions:e,filterText:A,items:i,multiple:n,value:o,itemId:a,groupBy:r,filterSelectedItems:s,itemFilter:g,convertStringItemsToObjects:l,filterGroupedItems:C,label:I}=t;if(i&&e)return i;if(!i)return[];i&&i.length>0&&typeof i[0]!="object"&&(i=l(i));var d=i.filter(B=>{var E=g(B[I],A,B);return E&&n&&o!=null&&o.length&&(E=!o.some(Q=>!!s&&Q[a]===B[a])),E});return r&&(d=C(d)),d}function bxA(t){return PoA.apply(this,arguments)}function PoA(){return(PoA=Tt(function*(t){var{dispatch:e,loadOptions:A,convertStringItemsToObjects:i,filterText:n}=t,o=yield A(n).catch(a=>{console.warn("svelte-select loadOptions error :>> ",a),e("error",{type:"loadOptions",details:a})});if(o&&!o.cancelled)return o?(o&&o.length>0&&typeof o[0]!="object"&&(o=i(o)),e("loaded",{items:o})):o=[],{filteredItems:o,loading:!1,focused:!0,listOpen:!0}})).apply(this,arguments)}qt(` - svg.svelte-1kxu7be { - width: var(--chevron-icon-width, 20px); - height: var(--chevron-icon-width, 20px); - color: var(--chevron-icon-colour, currentColor); - } -`);var MxA=s1(``);qt(` - svg.svelte-1hraxrc { - width: var(--clear-icon-width, 20px); - height: var(--clear-icon-width, 20px); - color: var(--clear-icon-color, currentColor); - } -`);var kxA=s1(``);function rL(t){lA(t,kxA())}qt(` - .loading.svelte-y9fi5p { - width: var(--spinner-width, 20px); - height: var(--spinner-height, 20px); - color: var(--spinner-color, var(--icons-color)); - animation: svelte-y9fi5p-rotate 0.75s linear infinite; - transform-origin: center center; - transform: none; - } - - .circle_path.svelte-y9fi5p { - stroke-dasharray: 90; - stroke-linecap: round; - } - - @keyframes svelte-y9fi5p-rotate { - 100% { - transform: rotate(360deg); - } - } -`);var SxA=s1('');qt(` - .svelte-select.svelte-1ul7oo4 { - /* deprecating camelCase custom props in favour of kebab-case for v5 */ - --borderRadius: var(--border-radius); - --clearSelectColor: var(--clear-select-color); - --clearSelectWidth: var(--clear-select-width); - --disabledBackground: var(--disabled-background); - --disabledBorderColor: var(--disabled-border-color); - --disabledColor: var(--disabled-color); - --disabledPlaceholderColor: var(--disabled-placeholder-color); - --disabledPlaceholderOpacity: var(--disabled-placeholder-opacity); - --errorBackground: var(--error-background); - --errorBorder: var(--error-border); - --groupItemPaddingLeft: var(--group-item-padding-left); - --groupTitleColor: var(--group-title-color); - --groupTitleFontSize: var(--group-title-font-size); - --groupTitleFontWeight: var(--group-title-font-weight); - --groupTitlePadding: var(--group-title-padding); - --groupTitleTextTransform: var(--group-title-text-transform); - --groupTitleBorderColor: var(--group-title-border-color); - --groupTitleBorderWidth: var(--group-title-border-width); - --groupTitleBorderStyle: var(--group-title-border-style); - --indicatorColor: var(--chevron-color); - --indicatorHeight: var(--chevron-height); - --indicatorWidth: var(--chevron-width); - --inputColor: var(--input-color); - --inputLeft: var(--input-left); - --inputLetterSpacing: var(--input-letter-spacing); - --inputMargin: var(--input-margin); - --inputPadding: var(--input-padding); - --itemActiveBackground: var(--item-active-background); - --itemColor: var(--item-color); - --itemFirstBorderRadius: var(--item-first-border-radius); - --itemHoverBG: var(--item-hover-bg); - --itemHoverColor: var(--item-hover-color); - --itemIsActiveBG: var(--item-is-active-bg); - --itemIsActiveColor: var(--item-is-active-color); - --itemIsNotSelectableColor: var(--item-is-not-selectable-color); - --itemPadding: var(--item-padding); - --listBackground: var(--list-background); - --listBorder: var(--list-border); - --listBorderRadius: var(--list-border-radius); - --listEmptyColor: var(--list-empty-color); - --listEmptyPadding: var(--list-empty-padding); - --listEmptyTextAlign: var(--list-empty-text-align); - --listMaxHeight: var(--list-max-height); - --listPosition: var(--list-position); - --listShadow: var(--list-shadow); - --listZIndex: var(--list-z-index); - --multiItemBG: var(--multi-item-bg); - --multiItemBorderRadius: var(--multi-item-border-radius); - --multiItemDisabledHoverBg: var(--multi-item-disabled-hover-bg); - --multiItemDisabledHoverColor: var(--multi-item-disabled-hover-color); - --multiItemHeight: var(--multi-item-height); - --multiItemMargin: var(--multi-item-margin); - --multiItemPadding: var(--multi-item-padding); - --multiSelectInputMargin: var(--multi-select-input-margin); - --multiSelectInputPadding: var(--multi-select-input-padding); - --multiSelectPadding: var(--multi-select-padding); - --placeholderColor: var(--placeholder-color); - --placeholderOpacity: var(--placeholder-opacity); - --selectedItemPadding: var(--selected-item-padding); - --spinnerColor: var(--spinner-color); - --spinnerHeight: var(--spinner-height); - --spinnerWidth: var(--spinner-width); - - --internal-padding: 0 0 0 16px; - - border: var(--border, 1px solid #d8dbdf); - border-radius: var(--border-radius, 6px); - min-height: var(--height, 42px); - position: relative; - display: flex; - align-items: stretch; - padding: var(--padding, var(--internal-padding)); - background: var(--background, #fff); - margin: var(--margin, 0); - width: var(--width, 100%); - font-size: var(--font-size, 16px); - max-height: var(--max-height); - } - - .svelte-1ul7oo4 { - box-sizing: var(--box-sizing, border-box); - } - - .svelte-select.svelte-1ul7oo4:hover { - border: var(--border-hover, 1px solid #b2b8bf); - } - - .value-container.svelte-1ul7oo4 { - display: flex; - flex: 1 1 0%; - flex-wrap: wrap; - align-items: center; - gap: 5px 10px; - padding: var(--value-container-padding, 5px 0); - position: relative; - overflow: var(--value-container-overflow, hidden); - align-self: stretch; - } - - .prepend.svelte-1ul7oo4, - .indicators.svelte-1ul7oo4 { - display: flex; - flex-shrink: 0; - align-items: center; - } - - .indicators.svelte-1ul7oo4 { - position: var(--indicators-position); - top: var(--indicators-top); - right: var(--indicators-right); - bottom: var(--indicators-bottom); - } - - input.svelte-1ul7oo4 { - position: absolute; - cursor: default; - border: none; - color: var(--input-color, var(--item-color)); - padding: var(--input-padding, 0); - letter-spacing: var(--input-letter-spacing, inherit); - margin: var(--input-margin, 0); - min-width: 10px; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - font-size: var(--font-size, 16px); - } - - .svelte-1ul7oo4:not(.multi) > .value-container:where(.svelte-1ul7oo4) > input:where(.svelte-1ul7oo4) { - width: 100%; - height: 100%; - } - - input.svelte-1ul7oo4::placeholder { - color: var(--placeholder-color, #78848f); - opacity: var(--placeholder-opacity, 1); - } - - input.svelte-1ul7oo4:focus { - outline: none; - } - - .svelte-select.focused.svelte-1ul7oo4 { - border: var(--border-focused, 1px solid #006fe8); - border-radius: var(--border-radius-focused, var(--border-radius, 6px)); - } - - .disabled.svelte-1ul7oo4 { - background: var(--disabled-background, #ebedef); - border-color: var(--disabled-border-color, #ebedef); - color: var(--disabled-color, #c1c6cc); - } - - .disabled.svelte-1ul7oo4 input:where(.svelte-1ul7oo4)::placeholder { - color: var(--disabled-placeholder-color, #c1c6cc); - opacity: var(--disabled-placeholder-opacity, 1); - } - - .selected-item.svelte-1ul7oo4 { - position: relative; - overflow: var(--selected-item-overflow, hidden); - padding: var(--selected-item-padding, 0 20px 0 0); - text-overflow: ellipsis; - white-space: nowrap; - color: var(--selected-item-color, inherit); - font-size: var(--font-size, 16px); - } - - .multi.svelte-1ul7oo4 .selected-item:where(.svelte-1ul7oo4) { - position: absolute; - line-height: var(--height, 42px); - height: var(--height, 42px); - } - - .selected-item.svelte-1ul7oo4:focus { - outline: none; - } - - .hide-selected-item.svelte-1ul7oo4 { - opacity: 0; - } - - .icon.svelte-1ul7oo4 { - display: flex; - align-items: center; - justify-content: center; - } - - .clear-select.svelte-1ul7oo4 { - all: unset; - display: flex; - align-items: center; - justify-content: center; - width: var(--clear-select-width, 40px); - height: var(--clear-select-height, 100%); - color: var(--clear-select-color, var(--icons-color)); - margin: var(--clear-select-margin, 0); - pointer-events: all; - flex-shrink: 0; - } - - .clear-select.svelte-1ul7oo4:focus { - outline: var(--clear-select-focus-outline, 1px solid #006fe8); - } - - .loading.svelte-1ul7oo4 { - width: var(--loading-width, 40px); - height: var(--loading-height); - color: var(--loading-color, var(--icons-color)); - margin: var(--loading--margin, 0); - flex-shrink: 0; - } - - .chevron.svelte-1ul7oo4 { - width: var(--chevron-width, 40px); - height: var(--chevron-height, 40px); - background: var(--chevron-background, transparent); - pointer-events: var(--chevron-pointer-events, none); - color: var(--chevron-color, var(--icons-color)); - border: var(--chevron-border, 0 0 0 1px solid #d8dbdf); - flex-shrink: 0; - } - - .multi.svelte-1ul7oo4 { - padding: var(--multi-select-padding, var(--internal-padding)); - } - - .multi.svelte-1ul7oo4 input:where(.svelte-1ul7oo4) { - padding: var(--multi-select-input-padding, 0); - position: relative; - margin: var(--multi-select-input-margin, 5px 0); - flex: 1 1 40px; - } - - .svelte-select.error.svelte-1ul7oo4 { - border: var(--error-border, 1px solid #ff2d55); - background: var(--error-background, #fff); - } - - .a11y-text.svelte-1ul7oo4 { - z-index: 9999; - border: 0px; - clip: rect(1px, 1px, 1px, 1px); - height: 1px; - width: 1px; - position: absolute; - overflow: hidden; - padding: 0px; - white-space: nowrap; - } - - .multi-item.svelte-1ul7oo4 { - background: var(--multi-item-bg, #ebedef); - margin: var(--multi-item-margin, 0); - outline: var(--multi-item-outline, 1px solid #ddd); - border-radius: var(--multi-item-border-radius, 4px); - height: var(--multi-item-height, 25px); - line-height: var(--multi-item-height, 25px); - display: flex; - cursor: default; - padding: var(--multi-item-padding, 0 5px); - overflow: hidden; - gap: var(--multi-item-gap, 4px); - outline-offset: -1px; - max-width: var(--multi-max-width, none); - color: var(--multi-item-color, var(--item-color)); - } - - .multi-item.disabled.svelte-1ul7oo4:hover { - background: var(--multi-item-disabled-hover-bg, #ebedef); - color: var(--multi-item-disabled-hover-color, #c1c6cc); - } - - .multi-item-text.svelte-1ul7oo4 { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - - .multi-item-clear.svelte-1ul7oo4 { - display: flex; - align-items: center; - justify-content: center; - --clear-icon-color: var(--multi-item-clear-icon-color, #000); - } - - .multi-item.active.svelte-1ul7oo4 { - outline: var(--multi-item-active-outline, 1px solid #006fe8); - } - - .svelte-select-list.svelte-1ul7oo4 { - box-shadow: var(--list-shadow, 0 2px 3px 0 rgba(44, 62, 80, 0.24)); - border-radius: var(--list-border-radius, 4px); - max-height: var(--list-max-height, 252px); - overflow-y: auto; - background: var(--list-background, #fff); - position: var(--list-position, absolute); - z-index: var(--list-z-index, 2); - border: var(--list-border); - } - - .prefloat.svelte-1ul7oo4 { - opacity: 0; - pointer-events: none; - } - - .list-group-title.svelte-1ul7oo4 { - color: var(--group-title-color, #8f8f8f); - cursor: default; - font-size: var(--group-title-font-size, 16px); - font-weight: var(--group-title-font-weight, 600); - height: var(--height, 42px); - line-height: var(--height, 42px); - padding: var(--group-title-padding, 0 20px); - text-overflow: ellipsis; - overflow-x: hidden; - white-space: nowrap; - text-transform: var(--group-title-text-transform, uppercase); - border-width: var(--group-title-border-width, medium); - border-style: var(--group-title-border-style, none); - border-color: var(--group-title-border-color, color); - } - - .empty.svelte-1ul7oo4 { - text-align: var(--list-empty-text-align, center); - padding: var(--list-empty-padding, 20px 0); - color: var(--list-empty-color, #78848f); - } - - .item.svelte-1ul7oo4 { - cursor: default; - height: var(--item-height, var(--height, 42px)); - line-height: var(--item-line-height, var(--height, 42px)); - padding: var(--item-padding, 0 20px); - color: var(--item-color, inherit); - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - transition: var(--item-transition, all 0.2s); - align-items: center; - width: 100%; - } - - .item.group-item.svelte-1ul7oo4 { - padding-left: var(--group-item-padding-left, 40px); - } - - .item.svelte-1ul7oo4:active { - background: var(--item-active-background, #b9daff); - } - - .item.active.svelte-1ul7oo4 { - background: var(--item-is-active-bg, #007aff); - color: var(--item-is-active-color, #fff); - } - - .item.first.svelte-1ul7oo4 { - border-radius: var(--item-first-border-radius, 4px 4px 0 0); - } - - .item.hover.svelte-1ul7oo4:not(.active) { - background: var(--item-hover-bg, #e7f2ff); - color: var(--item-hover-color, inherit); - } - - .item.not-selectable.svelte-1ul7oo4, - .item.hover.item.not-selectable.svelte-1ul7oo4, - .item.active.item.not-selectable.svelte-1ul7oo4, - .item.not-selectable.svelte-1ul7oo4:active { - color: var(--item-is-not-selectable-color, #999); - background: transparent; - } - - .required.svelte-1ul7oo4 { - opacity: 0; - z-index: -1; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - } -`);var xxA=FA('
      '),RxA=FA('
      No options
      '),NxA=FA('
      '),FxA=FA(' ',1),_xA=FA('
      '),LxA=FA('
      '),GxA=FA("
      "),KxA=FA(''),UxA=FA(''),JxA=FA(''),YxA=FA(''),TxA=FA(''),HxA=FA('
      ');function Td(t,e){var A=(function(dA){var SA={};for(var ae in dA.children&&(SA.default=!0),dA.$$slots)SA[ae]=!0;return SA})(e);St(e,!1);var i,n=IA(),o=IA(),a=IA(),r=IA(),s=IA(),g=IA(),l=IA(),C=IA(),I=IA(),d=GkA(),B=N(e,"justValue",12,null),E=N(e,"filter",8,vxA),Q=N(e,"getItems",8,bxA),f=N(e,"id",8,null),b=N(e,"name",8,null),S=N(e,"container",12,void 0),M=N(e,"input",12,void 0),D=N(e,"multiple",8,!1),F=N(e,"multiFullItemClearable",8,!1),_=N(e,"disabled",8,!1),U=N(e,"focused",12,!1),J=N(e,"value",12,null),j=N(e,"filterText",12,""),AA=N(e,"placeholder",8,"Please select"),O=N(e,"placeholderAlwaysShow",8,!1),DA=N(e,"items",12,null),P=N(e,"label",8,"label"),aA=N(e,"itemFilter",8,(dA,SA,ae)=>"".concat(dA).toLowerCase().includes(SA.toLowerCase())),iA=N(e,"groupBy",8,void 0),BA=N(e,"groupFilter",8,dA=>dA),oA=N(e,"groupHeaderSelectable",8,!1),sA=N(e,"itemId",8,"value"),hA=N(e,"loadOptions",8,void 0),YA=N(e,"containerStyles",8,""),ee=N(e,"hasError",8,!1),UA=N(e,"filterSelectedItems",8,!0),mA=N(e,"required",8,!1),KA=N(e,"closeListOnChange",8,!0),Pe=N(e,"clearFilterTextOnBlur",8,!0),Je=N(e,"createGroupHeaderItem",8,(dA,SA)=>({value:dA,[P()]:dA})),HA=()=>c(l),uA=N(e,"searchable",8,!0),ZA=N(e,"inputStyles",8,""),QA=N(e,"clearable",8,!0),WA=N(e,"loading",12,!1),MA=N(e,"listOpen",12,!1),be=N(e,"debounce",8,function(dA){var SA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;clearTimeout(i),i=setTimeout(dA,SA)}),LA=N(e,"debounceWait",8,300),pA=N(e,"hideEmptyState",8,!1),Ft=N(e,"inputAttributes",24,()=>({})),ht=N(e,"listAutoWidth",8,!0),Ee=N(e,"showChevron",8,!1),Kt=N(e,"listOffset",8,5),Ye=N(e,"hoverItemIndex",12,0),ze=N(e,"floatingConfig",24,()=>({})),ut=N(e,"class",8,""),Me=IA(),ei=IA(),Y=IA(),z=IA(),nA=IA();function rA(dA){return dA.map((SA,ae)=>({index:ae,value:SA,label:"".concat(SA)}))}function NA(dA){var SA=[],ae={};dA.forEach(it=>{var st=iA()(it);SA.includes(st)||(SA.push(st),ae[st]=[],st&&ae[st].push(Object.assign(Je()(st,it),{id:st,groupHeader:!0,selectable:oA()}))),ae[st].push(Object.assign({groupItem:!!st},it))});var xe=[];return BA()(SA).forEach(it=>{ae[it]&&xe.push(...ae[it])}),xe}function Ie(){var dA=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,SA=arguments.length>1?arguments[1]:void 0;Ye(dA<0?0:dA),!SA&&iA()&&c(l)[Ye()]&&!c(l)[Ye()].selectable&&ci(1)}function Qe(){var dA=!0;if(J()){var SA=[],ae=[];J().forEach(xe=>{SA.includes(xe[sA()])?dA=!1:(SA.push(xe[sA()]),ae.push(xe))}),dA||J(ae)}return dA}function xA(dA){var SA=dA?dA[sA()]:J()[sA()];return DA().find(ae=>ae[sA()]===SA)}function _A(dA){return Et.apply(this,arguments)}function Et(){return(Et=Tt(function*(dA){var SA=J()[dA];J().length===1?J(void 0):J(J().filter(ae=>ae!==SA)),d("clear",SA)})).apply(this,arguments)}function et(dA){if(U())switch(dA.stopPropagation(),dA.key){case"Escape":dA.preventDefault(),_e();break;case"Enter":if(dA.preventDefault(),MA()){if(c(l).length===0)break;var SA=c(l)[Ye()];if(J()&&!D()&&J()[sA()]===SA[sA()]){_e();break}L(c(l)[Ye()])}break;case"ArrowDown":dA.preventDefault(),MA()?ci(1):(MA(!0),R(Me,void 0));break;case"ArrowUp":dA.preventDefault(),MA()?ci(-1):(MA(!0),R(Me,void 0));break;case"Tab":if(MA()&&U()){if(c(l).length===0||J()&&J()[sA()]===c(l)[Ye()][sA()])return _e();dA.preventDefault(),L(c(l)[Ye()]),_e()}break;case"Backspace":if(!D()||j().length>0)return;if(D()&&J()&&J().length>0){if(_A(c(Me)!==void 0?c(Me):J().length-1),c(Me)===0||c(Me)===void 0)break;R(Me,J().length>c(Me)?c(Me)-1:void 0)}break;case"ArrowLeft":if(!J()||!D()||j().length>0)return;c(Me)===void 0?R(Me,J().length-1):J().length>c(Me)&&c(Me)!==0&&R(Me,c(Me)-1);break;case"ArrowRight":if(!J()||!D()||j().length>0||c(Me)===void 0)return;c(Me)===J().length-1?R(Me,void 0):c(Me)0?MA(!0):void MA(!MA())}function dn(){d("clear",J()),J(void 0),_e(),Te()}function _e(){Pe()&&j(""),MA(!1)}KkA(Tt(function*(){R(ei,J()),R(Y,j()),R(z,D())})),is(()=>{MA()&&U(!0),U()&&M()&&M().focus()});var Wi=N(e,"ariaValues",8,dA=>"Option ".concat(dA,", selected.")),ui=N(e,"ariaListOpen",8,(dA,SA)=>"You are currently focused on option ".concat(dA,". There are ").concat(SA," results available.")),Mi=N(e,"ariaFocused",8,()=>"Select is focused, type to refine list, press down to open the menu."),zi,vt=IA(null);function Zi(){clearTimeout(zi),zi=setTimeout(()=>{_t=!1},100)}Hl(()=>{var dA;(dA=c(vt))===null||dA===void 0||dA.remove()});var _t=!1;function L(dA){dA&&dA.selectable!==!1&&(function(SA){if(SA){j("");var ae=Object.assign({},SA);if(ae.groupHeader&&!ae.selectable)return;J(D()?J()?J().concat([ae]):[ae]:J(ae)),setTimeout(()=>{KA()&&_e(),R(Me,void 0),d("change",J()),d("select",SA)})}})(dA)}function Ct(dA){_t||Ye(dA)}function ci(dA){if(c(l).filter(ae=>!Object.hasOwn(ae,"selectable")||ae.selectable===!0).length===0)return Ye(0);dA>0&&Ye()===c(l).length-1?Ye(0):dA<0&&Ye()===0?Ye(c(l).length-1):Ye(Ye()+dA);var SA=c(l)[Ye()];SA&&SA.selectable===!1&&(dA!==1&&dA!==-1||ci(dA))}function Bn(dA,SA,ae){if(!D())return SA&&SA[ae]===dA[ae]}var En=Yo,qn=Yo;function Yo(dA){return{update(SA){SA.scroll&&(Zi(),dA.scrollIntoView({behavior:"auto",block:"nearest"}))}}}var Co=IA({strategy:"absolute",placement:"bottom-start",middleware:[pxA(Kt()),DxA(),wxA()],autoUpdate:!1}),[ko,Zo,wo]=yxA(c(Co)),ha=IA(!0);RA(()=>(G(DA()),G(J())),()=>{DA(),J()&&(function(){if(typeof J()=="string"){var dA=(DA()||[]).find(SA=>SA[sA()]===J());J(dA||{[sA()]:J(),label:J()})}else D()&&Array.isArray(J())&&J().length>0&&J(J().map(SA=>typeof SA=="string"?{value:SA,label:SA}:SA))})()}),RA(()=>(G(Ft()),G(uA())),()=>{!Ft()&&uA()||(R(nA,Object.assign({autocapitalize:"none",autocomplete:"off",autocorrect:"off",spellcheck:!1,tabindex:0,type:"text","aria-autocomplete":"list"},Ft())),f()&&$g(nA,c(nA).id=f()),uA()||$g(nA,c(nA).readonly=!0))}),RA(()=>G(D()),()=>{D()&&J()&&(Array.isArray(J())?J([...J()]):J([J()]))}),RA(()=>(c(z),G(D())),()=>{c(z)&&!D()&&J()&&J(null)}),RA(()=>(G(D()),G(J())),()=>{D()&&J()&&J().length>1&&Qe()}),RA(()=>G(J()),()=>{J()&&(D()?JSON.stringify(J())!==JSON.stringify(c(ei))&&Qe()&&d("input",J()):c(ei)&&JSON.stringify(J()[sA()])===JSON.stringify(c(ei)[sA()])||d("input",J()))}),RA(()=>(G(J()),G(D()),c(ei)),()=>{!J()&&D()&&c(ei)&&d("input",J())}),RA(()=>(G(U()),G(M())),()=>{!U()&&M()&&_e()}),RA(()=>(G(j()),c(Y)),()=>{j()!==c(Y)&&(hA()||j().length!==0)&&(hA()?be()(Tt(function*(){WA(!0);var dA=yield Q()({dispatch:d,loadOptions:hA(),convertStringItemsToObjects:rA,filterText:j()});dA?(WA(dA.loading),MA(MA()?dA.listOpen:j().length>0),U(MA()&&dA.focused),DA(iA()?NA(dA.filteredItems):dA.filteredItems)):(WA(!1),U(!0),MA(!0))}),LA()):(MA(!0),D()&&R(Me,void 0)))}),RA(()=>(G(E()),G(hA()),G(j()),G(DA()),G(D()),G(J()),G(sA()),G(iA()),G(P()),G(UA()),G(aA())),()=>{R(l,E()({loadOptions:hA(),filterText:j(),items:DA(),multiple:D(),value:J(),itemId:sA(),groupBy:iA(),label:P(),filterSelectedItems:UA(),itemFilter:aA(),convertStringItemsToObjects:rA,filterGroupedItems:NA}))}),RA(()=>(G(D()),G(MA()),G(J()),c(l)),()=>{!D()&&MA()&&J()&&c(l)&&Ie(c(l).findIndex(dA=>dA[sA()]===J()[sA()]),!0)}),RA(()=>(G(MA()),G(D())),()=>{MA()&&D()&&Ye(0)}),RA(()=>G(j()),()=>{j()&&Ye(0)}),RA(()=>G(Ye()),()=>{var dA;dA=Ye(),d("hoverItem",dA)}),RA(()=>(G(D()),G(J())),()=>{R(n,D()?J()&&J().length>0:J())}),RA(()=>(c(n),G(j())),()=>{R(o,c(n)&&j().length>0)}),RA(()=>(c(n),G(QA()),G(_()),G(WA())),()=>{R(a,c(n)&&QA()&&!_()&&!WA())}),RA(()=>(G(O()),G(D()),G(AA()),G(J())),()=>{var dA;R(r,O()&&D()||D()&&((dA=J())===null||dA===void 0?void 0:dA.length)===0?AA():J()?"":AA())}),RA(()=>(G(J()),G(D())),()=>{var dA,SA;R(s,J()?(dA=D(),SA=void 0,SA=dA&&J().length>0?J().map(ae=>ae[P()]).join(", "):J()[P()],Wi()(SA)):"")}),RA(()=>(c(l),G(Ye()),G(U()),G(MA())),()=>{R(g,(function(){if(!c(l)||c(l).length===0)return"";var dA=c(l)[Ye()];if(MA()&&dA){var SA=c(l)?c(l).length:0;return ui()(dA[P()],SA)}return Mi()()})((c(l),Ye(),U(),MA())))}),RA(()=>G(DA()),()=>{(function(dA){dA&&dA.length!==0&&!dA.some(SA=>typeof SA!="object")&&J()&&(D()?!J().some(SA=>!SA||!SA[sA()]):J()[sA()])&&(Array.isArray(J())?J(J().map(SA=>xA(SA)||SA)):J(xA()||J()))})(DA())}),RA(()=>(G(D()),G(J()),G(sA())),()=>{B((D(),J(),sA(),D()?J()?J().map(dA=>dA[sA()]):null:J()?J()[sA()]:J()))}),RA(()=>(G(D()),c(ei),G(J())),()=>{D()||!c(ei)||J()||d("input",J())}),RA(()=>(G(MA()),c(l),G(D()),G(J())),()=>{MA()&&c(l)&&!D()&&!J()&&Ie()}),RA(()=>c(l),()=>{(function(dA){MA()&&d("filter",dA)})(c(l))}),RA(()=>(G(S()),G(ze()),c(Co)),()=>{S()&&ze()&&wo(Object.assign(c(Co),ze()))}),RA(()=>c(vt),()=>{R(C,!!c(vt))}),RA(()=>(c(vt),G(MA())),()=>{(function(dA,SA){if(!dA||!SA)return R(ha,!0);setTimeout(()=>{R(ha,!1)},0)})(c(vt),MA())}),RA(()=>(G(MA()),G(S()),c(vt)),()=>{MA()&&S()&&c(vt)&&(function(){var{width:dA}=S().getBoundingClientRect();$g(vt,c(vt).style.width=ht()?dA+"px":"auto")})()}),RA(()=>G(Ye()),()=>{R(I,Ye())}),RA(()=>(G(M()),G(MA()),G(U())),()=>{M()&&MA()&&!U()&&Te()}),RA(()=>(G(S()),G(ze())),()=>{var dA;S()&&((dA=ze())===null||dA===void 0?void 0:dA.autoUpdate)===void 0&&$g(Co,c(Co).autoUpdate=!0)}),kn();var Xo={getFilteredItems:HA,handleClear:dn};Ai();var ra,Do=HxA();ue("click",i2,function(dA){var SA;MA()||U()||!S()||S().contains(dA.target)||(SA=c(vt))!==null&&SA!==void 0&&SA.contains(dA.target)||Le()}),ue("keydown",i2,et);var re=CA(Do),di=dA=>{var SA,ae=NxA(),xe=CA(ae),it=Vt=>{var Ni=bi();Ea(At(Ni),e,"list-prepend",{},null),lA(Vt,Ni)};TA(xe,Vt=>{EA(()=>A["list-prepend"])&&Vt(it)});var st=bA(xe,2),bt=Vt=>{var Ni=bi();Ea(At(Ni),e,"list",{get filteredItems(){return c(l)}},null),lA(Vt,Ni)},Kn=Vt=>{var Ni=bi(),ka=At(Ni),Lt=Fi=>{var Oi=bi();Qa(At(Oi),1,()=>c(l),Na,(Vn,hn,Mt)=>{var sa,Ho=xxA(),u=CA(Ho);Ea(CA(u),e,"item",{get item(){return c(hn)},index:Mt},y=>{var x=ur();ve(()=>Rt(x,(c(hn),G(P()),EA(()=>{var H;return(H=c(hn))===null||H===void 0?void 0:H[P()]})))),lA(y,x)}),vs(u,(y,x)=>En?.(y),()=>({scroll:Bn(c(hn),J(),sA()),listDom:c(C)})),vs(u,(y,x)=>qn?.(y),()=>({scroll:c(I)===Mt,listDom:c(C)})),ve(y=>sa=$t(u,1,"item svelte-1ul7oo4",null,sa,y),[()=>{var y,x;return{"list-group-title":c(hn).groupHeader,active:Bn(c(hn),J(),sA()),first:(x=Mt,x===0),hover:Ye()===Mt,"group-item":c(hn).groupItem,"not-selectable":((y=c(hn))===null||y===void 0?void 0:y.selectable)===!1}}]),ue("mouseover",Ho,()=>Ct(Mt)),ue("focus",Ho,()=>Ct(Mt)),ue("click",Ho,VC(()=>(function(y){var{item:x,i:H}=y;if(x?.selectable!==!1)return J()&&!D()&&J()[sA()]===x[sA()]?_e():void((function(k){return k.groupHeader&&k.selectable||k.selectable||!k.hasOwnProperty("selectable")})(x)&&(Ye(H),L(x)))})({item:c(hn),i:Mt}))),ue("keydown",Ho,YI(VC(function(y){Kf.call(this,e,y)}))),lA(Vn,Ho)}),lA(Fi,Oi)},gt=Fi=>{var Oi=bi(),Vn=At(Oi),hn=Mt=>{var sa=bi();Ea(At(sa),e,"empty",{},Ho=>{lA(Ho,RxA())}),lA(Mt,sa)};TA(Vn,Mt=>{pA()||Mt(hn)},!0),lA(Fi,Oi)};TA(ka,Fi=>{c(l),EA(()=>c(l).length>0)?Fi(Lt):Fi(gt,!1)},!0),lA(Vt,Ni)};TA(st,Vt=>{EA(()=>A.list)?Vt(bt):Vt(Kn,!1)});var Ri=bA(st,2),Ji=Vt=>{var Ni=bi();Ea(At(Ni),e,"list-append",{},null),lA(Vt,Ni)};TA(Ri,Vt=>{EA(()=>A["list-append"])&&Vt(Ji)}),vs(ae,Vt=>Zo?.(Vt)),Jo(ae,Vt=>R(vt,Vt),()=>c(vt)),Nr(()=>ue("scroll",ae,Zi)),Nr(()=>ue("pointerup",ae,YI(VC(function(Vt){Kf.call(this,e,Vt)})))),Nr(()=>ue("mousedown",ae,YI(VC(function(Vt){Kf.call(this,e,Vt)})))),ve(()=>SA=$t(ae,1,"svelte-select-list svelte-1ul7oo4",null,SA,{prefloat:c(ha)})),lA(dA,ae)};TA(re,dA=>{MA()&&dA(di)});var ln=bA(re,2),Qn=CA(ln),To=dA=>{var SA=FxA(),ae=At(SA),xe=CA(ae),it=CA(bA(ae,2));ve(()=>{Rt(xe,c(s)),Rt(it,c(g))}),lA(dA,SA)};TA(Qn,dA=>{U()&&dA(To)});var Ma=bA(ln,2);Ea(CA(Ma),e,"prepend",{},null);var wi=bA(Ma,2),Io=CA(wi),nr=dA=>{var SA=bi(),ae=At(SA),xe=st=>{var bt=bi();Qa(At(bt),1,J,Na,(Kn,Ri,Ji)=>{var Vt,Ni=LxA(),ka=CA(Ni);Ea(CA(ka),e,"selection",{get selection(){return c(Ri)},index:Ji},Fi=>{var Oi=ur();ve(()=>Rt(Oi,(c(Ri),G(P()),EA(()=>c(Ri)[P()])))),lA(Fi,Oi)});var Lt=bA(ka,2),gt=Fi=>{var Oi=_xA();Ea(CA(Oi),e,"multi-clear-icon",{},Vn=>{rL(Vn)}),ue("pointerup",Oi,YI(VC(()=>_A(Ji)))),lA(Fi,Oi)};TA(Lt,Fi=>{_()||F()||!rL||Fi(gt)}),ve(()=>Vt=$t(Ni,1,"multi-item svelte-1ul7oo4",null,Vt,{active:c(Me)===Ji,disabled:_()})),ue("click",Ni,YI(()=>F()?_A(Ji):{})),ue("keydown",Ni,YI(VC(function(Fi){Kf.call(this,e,Fi)}))),lA(Kn,Ni)}),lA(st,bt)},it=st=>{var bt,Kn=GxA();Ea(CA(Kn),e,"selection",{get selection(){return J()}},Ri=>{var Ji=ur();ve(()=>Rt(Ji,(G(J()),G(P()),EA(()=>J()[P()])))),lA(Ri,Ji)}),ve(()=>bt=$t(Kn,1,"selected-item svelte-1ul7oo4",null,bt,{"hide-selected-item":c(o)})),lA(st,Kn)};TA(ae,st=>{D()?st(xe):st(it,!1)}),lA(dA,SA)};TA(Io,dA=>{c(n)&&dA(nr)});var yo=bA(Io,2);jy(yo,()=>ye(ye({readOnly:!uA()},c(nA)),{},{placeholder:c(r),style:ZA(),disabled:_()}),void 0,void 0,void 0,"svelte-1ul7oo4",!0),Jo(yo,dA=>M(dA),()=>M());var Pa=bA(wi,2),Gn=CA(Pa),xi=dA=>{var SA=KxA();Ea(CA(SA),e,"loading-icon",{},ae=>{(function(xe){lA(xe,SxA())})(ae)}),lA(dA,SA)};TA(Gn,dA=>{WA()&&dA(xi)});var Pt=bA(Gn,2),Sn=dA=>{var SA=UxA();Ea(CA(SA),e,"clear-icon",{},ae=>{rL(ae)}),ue("click",SA,dn),lA(dA,SA)};TA(Pt,dA=>{c(a)&&dA(Sn)});var Bo=bA(Pt,2),So=dA=>{var SA=JxA();Ea(CA(SA),e,"chevron-icon",{get listOpen(){return MA()}},ae=>{(function(xe){lA(xe,MxA())})(ae)}),lA(dA,SA)};TA(Bo,dA=>{Ee()&&dA(So)});var vA=bA(Pa,2);Ea(vA,e,"input-hidden",{get value(){return J()}},dA=>{var SA=YxA();ve(ae=>{Mn(SA,"name",b()),AB(SA,ae)},[()=>(G(J()),EA(()=>J()?JSON.stringify(J()):null))]),lA(dA,SA)});var VA=bA(vA,2),me=dA=>{var SA=bi();Ea(At(SA),e,"required",{get value(){return J()}},ae=>{lA(ae,TxA())}),lA(dA,SA)};return TA(VA,dA=>{G(mA()),G(J()),EA(()=>mA()&&(!J()||J().length===0))&&dA(me)}),Nr(()=>ue("pointerup",Do,YI(gn))),Jo(Do,dA=>S(dA),()=>S()),vs(Do,dA=>ko?.(dA)),ve(()=>{var dA;ra=$t(Do,1,"svelte-select ".concat((dA=ut())!==null&&dA!==void 0?dA:""),"svelte-1ul7oo4",ra,{multi:D(),disabled:_(),focused:U(),"list-open":MA(),"show-chevron":Ee(),error:ee()}),Yl(Do,YA())}),ue("keydown",yo,et),ue("blur",yo,Le),ue("focus",yo,Te),tv(yo,j),lA(t,Do),Ot(e,"getFilteredItems",HA),Ot(e,"handleClear",dn),xt(Xo)}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -table.jse-transform-wizard.svelte-9wqi8y { - border-collapse: collapse; - border-spacing: 0; - width: 100%; -} -table.jse-transform-wizard.svelte-9wqi8y input:where(.svelte-9wqi8y) { - font-family: inherit; - font-size: inherit; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) th:where(.svelte-9wqi8y) { - font-weight: normal; - text-align: left; - width: 60px; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) { - width: 100%; - display: flex; - flex-direction: row; - margin-bottom: calc(0.5 * var(--jse-padding, 10px)); -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select .multi-item { - align-items: center; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select .value-container { - gap: 0 !important; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-filter-path { - flex: 4; - margin-right: calc(0.5 * var(--jse-padding, 10px)); -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-filter-relation { - flex: 1.5; - margin-right: calc(0.5 * var(--jse-padding, 10px)); -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-sort-path { - flex: 3; - margin-right: calc(0.5 * var(--jse-padding, 10px)); -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-sort-direction { - flex: 1; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select.jse-projection-paths { - flex: 1; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .svelte-select input { - box-sizing: border-box; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .jse-filter-value:where(.svelte-9wqi8y) { - flex: 4; - padding: 4px 8px; - border: var(--jse-input-border, 1px solid #d8dbdf); - border-radius: var(--jse-input-radius, 3px); - outline: none; - background: var(--jse-input-background, var(--jse-background-color, #fff)); - color: inherit; -} -table.jse-transform-wizard.svelte-9wqi8y tr:where(.svelte-9wqi8y) td:where(.svelte-9wqi8y) .jse-horizontal:where(.svelte-9wqi8y) .jse-filter-value:where(.svelte-9wqi8y):focus { - border: var(--jse-input-border-focus, 1px solid var(--jse-input-border-focus, var(--jse-theme-color, #3883fa))); -}`);var zxA=FA('
      Filter
      Sort
      Pick
      ');function OxA(t,e){var A,i,n,o,a;St(e,!1);var r=IA(void 0,!0),s=IA(void 0,!0),g=IA(void 0,!0),l=IA(void 0,!0),C=IA(void 0,!0),I=IA(void 0,!0),d=Cr("jsoneditor:TransformWizard"),B=N(e,"json",9),E=N(e,"queryOptions",29,()=>({})),Q=N(e,"onChange",9),f=["==","!=","<","<=",">",">="].map(UA=>({value:UA,label:UA})),b=[{value:"asc",label:"ascending"},{value:"desc",label:"descending"}],S=IA((A=E())!==null&&A!==void 0&&(A=A.filter)!==null&&A!==void 0&&A.path?PI(E().filter.path):void 0,!0),M=IA((i=f.find(UA=>{var mA;return UA.value===((mA=E().filter)===null||mA===void 0?void 0:mA.relation)}))!==null&&i!==void 0?i:f[0],!0),D=IA(((n=E())===null||n===void 0||(n=n.filter)===null||n===void 0?void 0:n.value)||"",!0),F=IA((o=E())!==null&&o!==void 0&&(o=o.sort)!==null&&o!==void 0&&o.path?PI(E().sort.path):void 0,!0),_=IA((a=b.find(UA=>{var mA;return UA.value===((mA=E().sort)===null||mA===void 0?void 0:mA.direction)}))!==null&&a!==void 0?a:b[0],!0);RA(()=>G(B()),()=>{R(r,Array.isArray(B()))}),RA(()=>(c(r),G(B())),()=>{R(s,c(r)?wL(B()):[])}),RA(()=>(c(r),G(B())),()=>{R(g,c(r)?wL(B(),!0):[])}),RA(()=>(c(s),PI),()=>{R(l,c(s).map(PI))}),RA(()=>(c(g),PI),()=>{R(C,c(g)?c(g).map(PI):[])}),RA(()=>(G(E()),c(C),Qi),()=>{var UA;R(I,(UA=E())!==null&&UA!==void 0&&(UA=UA.projection)!==null&&UA!==void 0&&UA.paths&&c(C)?E().projection.paths.map(mA=>c(C).find(KA=>Qi(KA.value,mA))).filter(mA=>!!mA):void 0)}),RA(()=>c(S),()=>{var UA,mA,KA;mA=(UA=c(S))===null||UA===void 0?void 0:UA.value,Qi((KA=E())===null||KA===void 0||(KA=KA.filter)===null||KA===void 0?void 0:KA.path,mA)||(d("changeFilterPath",mA),E(Or(E(),["filter","path"],mA,!0)),Q()(E()))}),RA(()=>c(M),()=>{var UA,mA,KA;mA=(UA=c(M))===null||UA===void 0?void 0:UA.value,Qi((KA=E())===null||KA===void 0||(KA=KA.filter)===null||KA===void 0?void 0:KA.relation,mA)||(d("changeFilterRelation",mA),E(Or(E(),["filter","relation"],mA,!0)),Q()(E()))}),RA(()=>c(D),()=>{var UA,mA;UA=c(D),Qi((mA=E())===null||mA===void 0||(mA=mA.filter)===null||mA===void 0?void 0:mA.value,UA)||(d("changeFilterValue",UA),E(Or(E(),["filter","value"],UA,!0)),Q()(E()))}),RA(()=>c(F),()=>{var UA,mA,KA;mA=(UA=c(F))===null||UA===void 0?void 0:UA.value,Qi((KA=E())===null||KA===void 0||(KA=KA.sort)===null||KA===void 0?void 0:KA.path,mA)||(d("changeSortPath",mA),E(Or(E(),["sort","path"],mA,!0)),Q()(E()))}),RA(()=>c(_),()=>{var UA,mA,KA;mA=(UA=c(_))===null||UA===void 0?void 0:UA.value,Qi((KA=E())===null||KA===void 0||(KA=KA.sort)===null||KA===void 0?void 0:KA.direction,mA)||(d("changeSortDirection",mA),E(Or(E(),["sort","direction"],mA,!0)),Q()(E()))}),RA(()=>c(I),()=>{(function(UA){var mA;Qi((mA=E())===null||mA===void 0||(mA=mA.projection)===null||mA===void 0?void 0:mA.paths,UA)||(d("changeProjectionPaths",UA),E(Or(E(),["projection","paths"],UA,!0)),Q()(E()))})(c(I)?c(I).map(UA=>UA.value):void 0)}),kn(),Ai(!0);var U=zxA(),J=CA(U),j=CA(J),AA=bA(CA(j)),O=CA(AA),DA=CA(O);Td(DA,{class:"jse-filter-path",showChevron:!0,get items(){return c(l)},get value(){return c(S)},set value(UA){R(S,UA)},$$legacy:!0});var P=bA(DA,2);Td(P,{class:"jse-filter-relation",showChevron:!0,clearable:!1,get items(){return f},get value(){return c(M)},set value(UA){R(M,UA)},$$legacy:!0});var aA=bA(P,2),iA=bA(j),BA=bA(CA(iA)),oA=CA(BA),sA=CA(oA);Td(sA,{class:"jse-sort-path",showChevron:!0,get items(){return c(l)},get value(){return c(F)},set value(UA){R(F,UA)},$$legacy:!0}),Td(bA(sA,2),{class:"jse-sort-direction",showChevron:!0,clearable:!1,get items(){return b},get value(){return c(_)},set value(UA){R(_,UA)},$$legacy:!0});var hA=bA(iA),YA=bA(CA(hA)),ee=CA(YA);Td(CA(ee),{class:"jse-projection-paths",multiple:!0,showChevron:!0,get items(){return c(C)},get value(){return c(I)},set value(UA){R(I,UA)},$$legacy:!0}),tv(aA,()=>c(D),UA=>R(D,UA)),lA(t,U),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-select-query-language.svelte-jrd4q2 { - position: relative; - width: 32px; -} -.jse-select-query-language.svelte-jrd4q2 .jse-select-query-language-container:where(.svelte-jrd4q2) { - position: absolute; - top: 0; - right: 0; - display: flex; - flex-direction: column; - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); -} -.jse-select-query-language.svelte-jrd4q2 .jse-select-query-language-container:where(.svelte-jrd4q2) .jse-query-language:where(.svelte-jrd4q2) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - text-align: left; - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - white-space: nowrap; - color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); - background: var(--jse-context-menu-background, #656565); -} -.jse-select-query-language.svelte-jrd4q2 .jse-select-query-language-container:where(.svelte-jrd4q2) .jse-query-language:where(.svelte-jrd4q2):hover { - background: var(--jse-context-menu-background-highlight, #7a7a7a); -}`);var PxA=FA(''),jxA=FA('
      ');function qxA(t,e){St(e,!1);var A=N(e,"queryLanguages",8),i=N(e,"queryLanguageId",12),n=N(e,"onChangeQueryLanguage",8);Ai();var o=jxA();Qa(CA(o),5,A,Na,(a,r)=>{var s,g=PxA(),l=CA(g),C=B=>{Vi(B,{get data(){return NS}})},I=B=>{Vi(B,{get data(){return FS}})};TA(l,B=>{c(r),G(i()),EA(()=>c(r).id===i())?B(C):B(I,!1)});var d=bA(l);ve(()=>{var B;s=$t(g,1,"jse-query-language svelte-jrd4q2",null,s,{selected:c(r).id===i()}),Mn(g,"title",(c(r),EA(()=>"Select ".concat(c(r).name," as query language")))),Rt(d," ".concat((c(r),(B=EA(()=>c(r).name))!==null&&B!==void 0?B:"")))}),ue("click",g,()=>{return B=c(r).id,i(B),void n()(B);var B}),lA(a,g)}),lA(t,o),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-header.svelte-1k211ye { - display: flex; - background: var(--jse-theme-color, #3883fa); - color: var(--jse-menu-color, var(--jse-text-color-inverse, #fff)); -} -.jse-header.svelte-1k211ye .jse-title:where(.svelte-1k211ye) { - flex: 1; - padding: 5px; - vertical-align: middle; -} -.jse-header.svelte-1k211ye button:where(.svelte-1k211ye) { - border: none; - background: transparent; - min-width: 32px; - color: inherit; - cursor: pointer; -} -.jse-header.svelte-1k211ye button:where(.svelte-1k211ye):hover { - background: rgba(255, 255, 255, 0.1); -}`);var VxA=FA(''),WxA=FA('
      ');function Ev(t,e){St(e,!1);var A=N(e,"title",9,"Modal"),i=N(e,"fullScreenButton",9,!1),n=N(e,"fullscreen",13,!1),o=N(e,"onClose",9,void 0);Ai(!0);var a=WxA(),r=CA(a),s=CA(r),g=bA(r,2);Ea(g,e,"actions",{},null);var l=bA(g,2),C=d=>{var B=VxA(),E=CA(B),Q=tt(()=>n()?CV:rV);Vi(E,{get data(){return c(Q)}}),ue("click",B,()=>n(!n())),lA(d,B)};TA(l,d=>{i()&&d(C)});var I=bA(l,2);Vi(CA(I),{get data(){return c3}}),ve(()=>Rt(s,A())),ue("click",I,()=>{var d;return(d=o())===null||d===void 0?void 0:d()}),lA(t,a),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-config.svelte-5gkegr { - border: none; - background: transparent; - min-width: 32px; - color: inherit; - cursor: pointer; -} -.jse-config.svelte-5gkegr:hover { - background: rgba(255, 255, 255, 0.1); -} -.jse-config.hide.svelte-5gkegr { - display: none; -}`);var ZxA=FA(''),sL=Cr("jsoneditor:AutoScrollHandler");function jiA(t){var e,A;function i(r){return r<20?200:r<50?400:1200}function n(){if(t){var r=.05*(e||0);t.scrollTop+=r}}function o(r){A&&r===e||(a(),sL("startAutoScroll",r),e=r,A=setInterval(n,50))}function a(){A&&(sL("stopAutoScroll"),clearInterval(A),A=void 0,e=void 0)}return sL("createAutoScrollHandler",t),{onDrag:function(r){if(t){var s=r.clientY,{top:g,bottom:l}=t.getBoundingClientRect();sl?o(i(s-l)):a()}},onDragEnd:function(){a()}}}var XxA=(t,e,A,i)=>(t/=i/2)<1?A/2*t*t+e:-A/2*(--t*(t-2)-1)+e,joA=()=>{var t,e,A,i,n,o,a,r,s,g,l,C,I;function d(Q){return Q.getBoundingClientRect().top-(t.getBoundingClientRect?t.getBoundingClientRect().top:0)+A}function B(Q){t.scrollTo?t.scrollTo(t.scrollLeft,Q):t.scrollTop=Q}function E(Q){g||(g=Q),B(o(l=Q-g,A,r,s)),I=!0,l1&&arguments[1]!==void 0?arguments[1]:{};switch(s=1e3,n=f.offset||0,C=f.callback,o=f.easing||XxA,a=f.a11y||!1,typeof f.container){case"object":t=f.container;break;case"string":t=document.querySelector(f.container);break;default:t=window.document.documentElement}switch(A=t.scrollTop,typeof Q){case"number":e=void 0,a=!1,i=A+Q;break;case"object":i=d(e=Q);break;case"string":e=document.querySelector(Q),i=d(e)}switch(r=i-A+n,typeof f.duration){case"number":s=f.duration;break;case"function":s=f.duration(r)}I?g=0:requestAnimationFrame(E)}};function oh(t,e){var A=Date.now(),i=t();return e(Date.now()-A),i}var $Q=Cr("validation"),$xA={createObjectDocumentState:()=>({type:"object",properties:{}}),createArrayDocumentState:()=>({type:"array",items:[]}),createValueDocumentState:()=>({type:"value"})};function qiA(t,e,A,i){return cG(t,e,A,i,$xA)}function qoA(t,e,A,i){if($Q("validateJSON"),!e)return[];if(A!==i){var n=A.stringify(t);return e(n!==void 0?i.parse(n):void 0)}return e(t)}function ARA(t,e,A,i){if($Q("validateText"),t.length>104857600)return{validationErrors:[{path:[],message:"Validation turned off: the document is too large",severity:Jc.info}]};if(t.length!==0)try{var n=oh(()=>A.parse(t),s=>$Q("validate: parsed json in ".concat(s," ms")));if(!e)return;var o=A===i?n:oh(()=>i.parse(t),s=>$Q("validate: parsed json with the validationParser in ".concat(s," ms"))),a=oh(()=>e(o),s=>$Q("validate: validated json in ".concat(s," ms")));return qi(a)?void 0:{validationErrors:a}}catch(s){var r=oh(()=>(function(g,l){if(g.length>SSA)return!1;try{return l.parse(ml(g)),!0}catch{return!1}})(t,A),g=>$Q("validate: checked whether repairable in ".concat(g," ms")));return{parseError:uh(t,s.message||s.toString()),isRepairable:r}}}var Ky=Cr("jsoneditor:FocusTracker");function QG(t){var e,{onMount:A,onDestroy:i,getWindow:n,hasFocus:o,onFocus:a,onBlur:r}=t,s=!1;function g(){var C=o();C&&(clearTimeout(e),s||(Ky("focus"),a(),s=C))}function l(){s&&(clearTimeout(e),e=setTimeout(()=>{o()||(Ky("blur"),s=!1,r())}))}A(()=>{Ky("mount FocusTracker");var C=n();C&&(C.addEventListener("focusin",g,!0),C.addEventListener("focusout",l,!0))}),i(()=>{Ky("destroy FocusTracker");var C=n();C&&(C.removeEventListener("focusin",g,!0),C.removeEventListener("focusout",l,!0))})}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-message.svelte-cbvd26 { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - padding: var(--jse-padding, 10px); - display: flex; - gap: var(--jse-padding, 10px); - flex-wrap: wrap; - align-items: stretch; -} -.jse-message.jse-success.svelte-cbvd26 { - background: var(--message-success-background, #9ac45d); - color: var(--jse-message-success-color, #fff); -} -.jse-message.svelte-cbvd26 .jse-text:where(.svelte-cbvd26) { - display: flex; - flex: 1; - min-width: 60%; - align-items: center; -} -.jse-message.svelte-cbvd26 .jse-text.jse-clickable:where(.svelte-cbvd26) { - cursor: pointer; -} -.jse-message.svelte-cbvd26 .jse-text.jse-clickable:where(.svelte-cbvd26):hover { - background-color: rgba(255, 255, 255, 0.1); -} -.jse-message.jse-error.svelte-cbvd26 { - background: var(--jse-message-error-background, var(--jse-error-color, #ee5341)); - color: var(--jse-message-error-color, #fff); -} -.jse-message.jse-warning.svelte-cbvd26 { - background: var(--jse-message-warning-background, #ffde5c); - color: var(--jse-message-warning-color, #4d4d4d); -} -.jse-message.jse-info.svelte-cbvd26 { - background: var(--jse-message-info-background, #4f91ff); - color: var(--jse-message-info-color, #fff); -} -.jse-message.svelte-cbvd26 .jse-actions:where(.svelte-cbvd26) { - display: flex; - gap: var(--jse-padding, 10px); -} -.jse-message.svelte-cbvd26 .jse-actions:where(.svelte-cbvd26) button.jse-action:where(.svelte-cbvd26) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-message-action-background, rgba(255, 255, 255, 0.2)); - color: inherit; - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); -} -.jse-message.svelte-cbvd26 .jse-actions:where(.svelte-cbvd26) button.jse-action:where(.svelte-cbvd26):hover { - background: var(--jse-message-action-background-highlight, rgba(255, 255, 255, 0.3)); -}`);var eRA=FA(''),tRA=FA('
      ');function tl(t,e){St(e,!1);var A=N(e,"type",9,"success"),i=N(e,"icon",9,void 0),n=N(e,"message",9,void 0),o=N(e,"actions",25,()=>[]),a=N(e,"onClick",9,void 0),r=N(e,"onClose",9,void 0);r()&&Hl(r()),Ai(!0);var s,g=tRA(),l=CA(g),C=CA(l),I=CA(C),d=E=>{Vi(E,{get data(){return i()}})};TA(I,E=>{i()&&E(d)});var B=bA(I);Qa(bA(l,2),5,o,Na,(E,Q)=>{var f=eRA(),b=CA(f),S=D=>{Vi(D,{get data(){return c(Q),EA(()=>c(Q).icon)}})};TA(b,D=>{c(Q),EA(()=>c(Q).icon)&&D(S)});var M=bA(b);ve(()=>{var D;Mn(f,"title",(c(Q),EA(()=>c(Q).title))),f.disabled=(c(Q),EA(()=>c(Q).disabled)),Rt(M," ".concat((c(Q),(D=EA(()=>c(Q).text))!==null&&D!==void 0?D:"")))}),ue("click",f,()=>{c(Q).onClick&&c(Q).onClick()}),ue("mousedown",f,()=>{c(Q).onMouseDown&&c(Q).onMouseDown()}),lA(E,f)}),ve(()=>{var E,Q;$t(g,1,"jse-message jse-".concat((E=A())!==null&&E!==void 0?E:""),"svelte-cbvd26"),s=$t(l,1,"jse-text svelte-cbvd26",null,s,{"jse-clickable":!!a()}),Rt(B," ".concat((Q=n())!==null&&Q!==void 0?Q:""))}),ue("click",l,function(){a()&&a()()}),lA(t,g),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-validation-errors-overview.svelte-1342rh4 { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - overflow: auto; - max-height: 25%; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) { - border-collapse: collapse; - width: 100%; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) { - cursor: pointer; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-error:where(.svelte-1342rh4) { - background: var(--jse-message-error-background, var(--jse-error-color, #ee5341)); - color: var(--jse-message-error-color, #fff); -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-warning:where(.svelte-1342rh4) { - background: var(--jse-message-warning-background, #ffde5c); - color: var(--jse-message-warning-color, #4d4d4d); -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-warning:where(.svelte-1342rh4):hover { - filter: brightness(105%); -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr.jse-validation-info:where(.svelte-1342rh4) { - background: var(--jse-message-info-background, #4f91ff); - color: var(--jse-message-info-color, #fff); -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4):hover { - filter: brightness(110%); -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td:where(.svelte-1342rh4) { - padding: 4px var(--jse-padding, 10px); - vertical-align: middle; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-icon:where(.svelte-1342rh4) { - width: 36px; - box-sizing: border-box; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-action:where(.svelte-1342rh4) { - width: 36px; - box-sizing: border-box; - padding: 0; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-action:where(.svelte-1342rh4) button.jse-validation-errors-collapse:where(.svelte-1342rh4) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - width: 36px; - height: 26px; - cursor: pointer; -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td.jse-validation-error-action:where(.svelte-1342rh4) button.jse-validation-errors-collapse:where(.svelte-1342rh4):hover { - background-color: rgba(255, 255, 255, 0.2); -} -.jse-validation-errors-overview.svelte-1342rh4 table:where(.svelte-1342rh4) tr:where(.svelte-1342rh4) td:where(.svelte-1342rh4) div.jse-validation-errors-expand:where(.svelte-1342rh4) { - display: inline-block; - position: relative; - top: 3px; -}`);var iRA=FA(''),nRA=FA(' '),oRA=FA(' '),aRA=FA('
      '),rRA=FA('
      '),sRA=FA('
      ');function hG(t,e){St(e,!1);var A=IA(void 0,!0),i=N(e,"validationErrors",9),n=N(e,"selectError",9),o=IA(!0,!0);function a(){R(o,!1)}function r(){R(o,!0)}RA(()=>G(i()),()=>{R(A,i().length)}),kn(),Ai(!0);var s=bi(),g=At(s),l=C=>{var I=sRA(),d=CA(I),B=Q=>{var f=aRA(),b=CA(f),S=CA(b);Qa(S,1,()=>(G(iv),G(i()),G(Ry),EA(()=>iv(i(),Ry))),Na,(F,_,U)=>{var J=nRA(),j=CA(J);Vi(CA(j),{get data(){return BI}});var AA=bA(j),O=CA(AA),DA=bA(AA),P=CA(DA),aA=CA(bA(DA)),iA=BA=>{var oA=iRA();Vi(CA(oA),{get data(){return cV}}),ue("click",oA,VC(a)),lA(BA,oA)};TA(aA,BA=>{G(i()),EA(()=>U===0&&i().length>1)&&BA(iA)}),ve(BA=>{var oA;$t(J,1,"jse-validation-".concat((c(_),(oA=EA(()=>c(_).severity))!==null&&oA!==void 0?oA:"")),"svelte-1342rh4"),Rt(O,BA),Rt(P,(c(_),EA(()=>c(_).message)))},[()=>(G(vg),c(_),EA(()=>vg(c(_).path)))]),ue("click",J,()=>{setTimeout(()=>n()(c(_)))}),lA(F,J)});var M=bA(S),D=F=>{var _=oRA(),U=bA(CA(_),2),J=CA(U);ve(()=>Rt(J,"(and ".concat(c(A)-Ry," more errors)"))),lA(F,_)};TA(M,F=>{c(A)>Ry&&F(D)}),lA(Q,f)},E=Q=>{var f=rRA(),b=CA(f),S=CA(b),M=CA(S);Vi(CA(M),{get data(){return BI}});var D=CA(bA(M));Vi(CA(bA(D)),{get data(){return US}}),ve(F=>{var _;$t(S,1,"jse-validation-".concat(F??""),"svelte-1342rh4"),Rt(D,"".concat((_=c(A))!==null&&_!==void 0?_:""," validation errors "))},[()=>(G(i()),EA(()=>{return F=i(),[Jc.error,Jc.warning,Jc.info].find(_=>F.some(U=>U.severity===_));var F}))]),ue("click",S,r),lA(Q,f)};TA(d,Q=>{c(o)||c(A)===1?Q(B):Q(E,!1)}),lA(C,I)};TA(g,C=>{G(qi),G(i()),EA(()=>!qi(i()))&&C(l)}),lA(t,s),xt()}function Qv(t,e){if(t)return t.addEventListener("keydown",A),{destroy(){t.removeEventListener("keydown",A)}};function A(i){i.key==="Escape"&&(i.preventDefault(),i.stopPropagation(),e())}}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -dialog.jse-modal.svelte-2aoco4 { - border-radius: 3px; - font-size: var(--jse-padding, 10px); - border: none; - padding: 0; - display: flex; - min-width: 0; - margin: auto; - overflow: visible; - transition: width 0.1s ease-in-out, height 0.1s ease-in-out; -} -dialog.jse-modal.jse-sort-modal.svelte-2aoco4 { - width: 400px; -} -dialog.jse-modal.jse-repair-modal.svelte-2aoco4 { - width: 600px; - height: 500px; -} -dialog.jse-modal.jse-jsoneditor-modal.svelte-2aoco4 { - width: 800px; - height: 600px; -} -dialog.jse-modal.jse-transform-modal.svelte-2aoco4 { - width: 1200px; - height: 800px; -} -dialog.jse-modal.jse-fullscreen.svelte-2aoco4 { - width: 100%; - height: 100%; -} -dialog.jse-modal.svelte-2aoco4::backdrop { - background: var(--jse-overlay-background, rgba(0, 0, 0, 0.3)); -} -dialog.jse-modal[open].svelte-2aoco4 { - animation: svelte-2aoco4-zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); -} -dialog.jse-modal[open].svelte-2aoco4::backdrop { - animation: svelte-2aoco4-fade 0.2s ease-out; -} -dialog.jse-modal.svelte-2aoco4 .jse-modal-inner:where(.svelte-2aoco4) { - flex: 1; - display: flex; - flex-direction: column; - min-width: 0; - min-height: 0; - padding: 0; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - line-height: normal; - background: var(--jse-modal-background, #f5f5f5); - color: var(--jse-text-color, #4d4d4d); -} -@keyframes svelte-2aoco4-zoom { - from { - transform: scale(0.95); - } - to { - transform: scale(1); - } -} -@keyframes svelte-2aoco4-fade { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -dialog.jse-modal.svelte-2aoco4 .svelte-select { - --border: var(--jse-svelte-select-border, 1px solid #d8dbdf); - --item-is-active-bg: var(--jse-item-is-active-bg, #3883fa); - --border-radius: var(--jse-svelte-select-border-radius, 3px); - --background: var(--jse-svelte-select-background, #fff); - --padding: var(--jse-svelte-select-padding, 0 10px); - --multi-select-padding: var(--jse-svelte-select-multi-select-padding, 0 10px); - --font-size: var(--jse-svelte-select-font-size, var(--jse-font-size, 16px)); - --height: 36px; - --multi-item-height: 28px; - --multi-item-margin: 2px; - --multi-item-padding: 2px 8px; - --multi-item-border-radius: 6px; - --indicator-top: 8px; -}`);var gRA=FA('
      ');function em(t,e){St(e,!1);var A=N(e,"className",8,void 0),i=N(e,"fullscreen",8,!1),n=N(e,"onClose",8),o=IA();function a(){n()()}is(()=>c(o).showModal()),Hl(()=>c(o).close()),Ai();var r,s=gRA(),g=CA(s);Ea(CA(g),e,"default",{},null),Jo(s,l=>R(o,l),()=>c(o)),Nr(()=>ue("close",s,a)),Nr(()=>{return ue("pointerdown",s,(l=a,function(){for(var C=arguments.length,I=new Array(C),d=0;due("cancel",s,YI(function(l){Kf.call(this,e,l)}))),vs(s,(l,C)=>Qv?.(l,C),()=>a),ve(l=>r=$t(s,1,l,"svelte-2aoco4",r,{"jse-fullscreen":i()}),[()=>n1((G(Pc),G(A()),EA(()=>Pc("jse-modal",A()))))]),lA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-modal-contents.svelte-10a6ob6 { - flex: 1; - display: flex; - flex-direction: column; - padding: 20px; - overflow: auto; - min-width: 0; - min-height: 0; -} -.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) { - display: flex; - flex-direction: row; - justify-content: flex-end; - padding-top: var(--jse-padding, 10px); -} -.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) button.jse-primary:where(.svelte-10a6ob6) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); - color: var(--jse-button-primary-color, #fff); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) button.jse-primary:where(.svelte-10a6ob6):hover { - background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); -} -.jse-modal-contents.svelte-10a6ob6 .jse-actions:where(.svelte-10a6ob6) button.jse-primary:where(.svelte-10a6ob6):disabled { - background: var(--jse-button-primary-background-disabled, #9d9d9d); -} - -.jse-shortcuts.svelte-10a6ob6 { - display: flex; - flex-wrap: wrap; - justify-content: space-around; - margin: calc(2 * var(--jse-padding, 10px)) 0; -} -.jse-shortcuts.svelte-10a6ob6 .jse-shortcut:where(.svelte-10a6ob6) .jse-key:where(.svelte-10a6ob6) { - font-size: 200%; - color: var(--jse-theme-color, #3883fa); -}`);var lRA=FA('
      Clipboard permission is disabled by your browser. You can use:
      for copy
      for cut
      for paste
      ',1);function VoA(t,e){St(e,!1);var A=N(e,"onClose",9),i=iG()?"\u2318":"Ctrl";Ai(!0),em(t,{get onClose(){return A()},className:"jse-copy-paste",children:(n,o)=>{var a=lRA(),r=At(a);Ev(r,{title:"Copying and pasting",get onClose(){return A()}});var s=bA(r,2),g=bA(CA(s),2),l=CA(g),C=CA(l),I=CA(C),d=bA(l,2),B=CA(d),E=CA(B),Q=CA(bA(d,2)),f=CA(Q),b=CA(bA(g,2));ve(()=>{Rt(I,"".concat(i,"+C")),Rt(E,"".concat(i,"+X")),Rt(f,"".concat(i,"+V"))}),ue("click",b,function(){for(var S,M=arguments.length,D=new Array(M),F=0;F'),CRA=FA('
      '),IRA=FA(''),dRA=FA('
      ');function xv(t,e){St(e,!1);var A=N(e,"items",25,()=>[]);Ai(!0);var i=dRA(),n=CA(i);Ea(n,e,"left",{},null);var o=bA(n,2);Qa(o,1,A,Na,(a,r)=>{var s=bi(),g=At(s),l=I=>{lA(I,cRA())},C=I=>{var d=bi(),B=At(d),E=f=>{lA(f,CRA())},Q=f=>{var b=bi(),S=At(b),M=F=>{var _=IRA(),U=CA(_),J=O=>{Vi(O,{get data(){return c(r),EA(()=>c(r).icon)}})};TA(U,O=>{c(r),EA(()=>c(r).icon)&&O(J)});var j=bA(U,2),AA=O=>{var DA=ur();ve(()=>Rt(DA,(c(r),EA(()=>c(r).text)))),lA(O,DA)};TA(j,O=>{c(r),EA(()=>c(r).text)&&O(AA)}),ve(()=>{var O;$t(_,1,"jse-button ".concat((c(r),(O=EA(()=>c(r).className))!==null&&O!==void 0?O:"")),"svelte-3erbu0"),Mn(_,"title",(c(r),EA(()=>c(r).title))),_.disabled=(c(r),EA(()=>c(r).disabled||!1))}),ue("click",_,function(){for(var O,DA=arguments.length,P=new Array(DA),aA=0;aA{var _=ur();ve(U=>Rt(_,U),[()=>(c(r),EA(()=>(function(U){return console.error("Unknown type of menu item",U),"???"})(c(r))))]),lA(F,_)};TA(S,F=>{G(WC),c(r),EA(()=>WC(c(r)))?F(M):F(D,!1)},!0),lA(f,b)};TA(B,f=>{G(bL),c(r),EA(()=>bL(c(r)))?f(E):f(Q,!1)},!0),lA(I,d)};TA(g,I=>{G(OI),c(r),EA(()=>OI(c(r)))?I(l):I(C,!1)}),lA(a,s)}),Ea(bA(o,2),e,"right",{},null),lA(t,i),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-json-repair-component.svelte-16jv58j { - flex: 1; - display: flex; - flex-direction: column; - background: var(--jse-background-color, #fff); - color: var(--jse-text-color, #4d4d4d); -} -.jse-json-repair-component.svelte-16jv58j .jse-info:where(.svelte-16jv58j) { - padding: calc(0.5 * var(--jse-padding, 10px)); - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - vertical-align: center; -} -.jse-json-repair-component.svelte-16jv58j .jse-json-text:where(.svelte-16jv58j) { - flex: 1; - border: none; - padding: 2px; - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - background: var(--jse-input-background, var(--jse-background-color, #fff)); - color: var(--jse-text-color, #4d4d4d); - resize: none; - outline: none; -}`);var BRA=FA('
      Repair invalid JSON, then click apply
      '),ERA=FA('
      ');function QRA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=IA(void 0,!0),a=IA(void 0,!0),r=IA(void 0,!0),s=N(e,"text",13,""),g=N(e,"readOnly",9,!1),l=N(e,"onParse",9),C=N(e,"onRepair",9),I=N(e,"onChange",9,void 0),d=N(e,"onApply",9),B=N(e,"onCancel",9),E=Cr("jsoneditor:JSONRepair"),Q=IA(void 0,!0);function f(){if(c(Q)&&c(A)){var AA=c(A).position!==void 0?c(A).position:0;c(Q).setSelectionRange(AA,AA),c(Q).focus()}}function b(){d()(s())}function S(){try{s(C()(s())),I()&&I()(s())}catch{}}var M=IA(void 0,!0);RA(()=>G(s()),()=>{R(A,(function(AA){try{return void l()(AA)}catch(O){return uh(AA,O.message)}})(s()))}),RA(()=>G(s()),()=>{R(i,(function(AA){try{return C()(AA),!0}catch{return!1}})(s()))}),RA(()=>c(A),()=>{E("error",c(A))}),RA(()=>G(B()),()=>{R(M,[{type:"space"},{type:"button",icon:c3,title:"Cancel repair",className:"jse-cancel",onClick:B()}])}),RA(()=>TS,()=>{R(n,{icon:TS,text:"Show me",title:"Scroll to the error location",onClick:f})}),RA(()=>SC,()=>{R(o,{icon:SC,text:"Auto repair",title:"Automatically repair JSON",onClick:S})}),RA(()=>(c(i),c(n),c(o)),()=>{R(a,c(i)?[c(n),c(o)]:[c(n)])}),RA(()=>G(g()),()=>{R(r,[{icon:Zw,text:"Apply",title:"Apply fixed JSON",disabled:g(),onClick:b}])}),kn(),Ai(!0);var D=ERA(),F=CA(D);xv(F,{get items(){return c(M)},$$slots:{left:(AA,O)=>{lA(AA,BRA())}}});var _=bA(F,2),U=AA=>{var O=tt(()=>(c(A),EA(()=>"Cannot parse JSON: ".concat(c(A).message))));tl(AA,{type:"error",get icon(){return BI},get message(){return c(O)},get actions(){return c(a)}})},J=AA=>{tl(AA,{type:"success",message:"JSON is valid now and can be parsed.",get actions(){return c(r)}})};TA(_,AA=>{c(A)?AA(U):AA(J,!1)});var j=bA(_,2);Jo(j,AA=>R(Q,AA),()=>c(Q)),ve(()=>{j.readOnly=g(),AB(j,s())}),ue("input",j,function(AA){E("handleChange");var O=AA.target.value;s()!==O&&(s(O),I()&&I()(s()))}),lA(t,D),xt()}function WoA(t,e){St(e,!1);var A=N(e,"text",13),i=N(e,"onParse",9),n=N(e,"onRepair",9),o=N(e,"onApply",9),a=N(e,"onClose",9);function r(g){o()(g),a()()}function s(){a()()}Ai(!0),em(t,{get onClose(){return a()},className:"jse-repair-modal",children:(g,l)=>{QRA(g,{get onParse(){return i()},get onRepair(){return n()},onApply:r,onCancel:s,get text(){return A()},set text(C){A(C)},$$legacy:!0})},$$slots:{default:!0}}),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -div.jse-collapsed-items.svelte-1v6dhm4 { - margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - color: var(--jse-collapsed-items-link-color, rgba(0, 0, 0, 0.38)); - padding: calc(0.5 * var(--jse-padding, 10px)); - border: 8px solid transparent; - border-width: 8px 0; - background-color: var(--jse-contents-background-color, transparent); - background-image: linear-gradient(var(--jse-collapsed-items-background-color, #f5f5f5), var(--jse-collapsed-items-background-color, #f5f5f5)), linear-gradient(to bottom right, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%), linear-gradient(to bottom left, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%), linear-gradient(to top right, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%), linear-gradient(to top left, transparent 50.5%, var(--jse-collapsed-items-background-color, #f5f5f5) 50.5%); - background-repeat: repeat, repeat-x, repeat-x, repeat-x, repeat-x; - background-position: 0 0, 8px 0, 8px 0, 8px 100%, 8px 100%; - background-size: auto auto, 16px 16px, 16px 16px, 16px 16px, 16px 16px; - background-clip: padding-box, border-box, border-box, border-box, border-box; - background-origin: padding-box, border-box, border-box, border-box, border-box; - display: flex; -} -div.jse-collapsed-items.jse-selected.svelte-1v6dhm4 { - background-color: var(--jse-selection-background-color, #d3d3d3); - --jse-collapsed-items-background-color: var(--jse-collapsed-items-selected-background-color, #c2c2c2); -} -div.jse-collapsed-items.svelte-1v6dhm4 div.jse-text:where(.svelte-1v6dhm4), -div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4) { - margin: 0 calc(0.5 * var(--jse-padding, 10px)); -} -div.jse-collapsed-items.svelte-1v6dhm4 div.jse-text:where(.svelte-1v6dhm4) { - display: inline; -} -div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4) { - font-family: inherit; - font-size: inherit; - color: var(--jse-collapsed-items-link-color, rgba(0, 0, 0, 0.38)); - background: none; - border: none; - padding: 0; - text-decoration: underline; - cursor: pointer; -} -div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4):hover, div.jse-collapsed-items.svelte-1v6dhm4 button.jse-expand-items:where(.svelte-1v6dhm4):focus { - color: var(--jse-collapsed-items-link-color-highlight, #ee5341); -}`);var hRA=FA(''),uRA=FA('
      ');function fRA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=IA(void 0,!0),a=IA(void 0,!0),r=N(e,"visibleSections",9),s=N(e,"sectionIndex",9),g=N(e,"total",9),l=N(e,"path",9),C=N(e,"selection",9),I=N(e,"onExpandSection",9),d=N(e,"context",9);RA(()=>(G(r()),G(s())),()=>{R(A,r()[s()])}),RA(()=>c(A),()=>{R(i,c(A).end)}),RA(()=>(G(r()),G(s()),G(g())),()=>{R(n,r()[s()+1]?r()[s()+1].start:g())}),RA(()=>(G(d()),G(C()),G(l()),c(i)),()=>{R(o,Xf(d().getJson(),C(),l().concat(String(c(i)))))}),RA(()=>(c(i),c(n)),()=>{R(a,(function(M,D){var F={start:M,end:Math.min(vL(M),D)},_=Math.max(ov((M+D)/2),M),U={start:_,end:Math.min(vL(_),D)},J=ov(D),j=J===D?J-qf:J,AA={start:Math.max(j,M),end:D},O=[F],DA=U.start>=F.end&&U.end<=AA.start;return DA&&O.push(U),AA.start>=(DA?U.end:F.end)&&O.push(AA),O})(c(i),c(n)))}),kn(),Ai(!0);var B,E,Q=uRA(),f=CA(Q),b=CA(f),S=CA(b);Qa(bA(b,2),1,()=>c(a),Na,(M,D)=>{var F=hRA(),_=CA(F);ve(()=>{var U,J;return Rt(_,"show ".concat((c(D),(U=EA(()=>c(D).start))!==null&&U!==void 0?U:""),"-").concat((c(D),(J=EA(()=>c(D).end))!==null&&J!==void 0?J:"")))}),ue("click",F,()=>I()(l(),c(D))),lA(M,F)}),ve(()=>{var M,D;B=$t(Q,1,"jse-collapsed-items svelte-1v6dhm4",null,B,{"jse-selected":c(o)}),E=Yl(Q,"",E,{"--level":(G(l()),EA(()=>l().length+2))}),Rt(S,"Items ".concat((M=c(i))!==null&&M!==void 0?M:"","-").concat((D=c(n))!==null&&D!==void 0?D:""))}),ue("mousemove",Q,function(M){M.stopPropagation()}),lA(t,Q),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-context-menu-pointer.svelte-10ijtzr { - position: absolute; - top: calc(-0.5 * var(--jse-context-menu-pointer-size, calc(1em + 4px))); - right: calc(-0.5 * var(--jse-context-menu-pointer-size, calc(1em + 4px))); - width: var(--jse-context-menu-pointer-size, calc(1em + 4px)); - height: var(--jse-context-menu-pointer-size, calc(1em + 4px)); - padding: 0; - margin: 0; - cursor: pointer; - background: transparent; - border-radius: 2px; - background: var(--jse-context-menu-pointer-hover-background, #b2b2b2); - color: var(--jse-context-menu-pointer-color, var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff))); - border: none; - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); -} -.jse-context-menu-pointer.jse-root.svelte-10ijtzr { - top: 0; - right: calc(-2px - var(--jse-context-menu-pointer-size, calc(1em + 4px))); -} -.jse-context-menu-pointer.jse-insert.svelte-10ijtzr { - right: -1px; -} -.jse-context-menu-pointer.svelte-10ijtzr:hover { - background: var(--jse-context-menu-pointer-background-highlight, var(--jse-context-menu-background-highlight, #7a7a7a)); -} -.jse-context-menu-pointer.jse-selected.svelte-10ijtzr { - background: var(--jse-context-menu-pointer-background, var(--jse-context-menu-background, #656565)); -} -.jse-context-menu-pointer.jse-selected.svelte-10ijtzr:hover { - background: var(--jse-context-menu-pointer-background-highlight, var(--jse-context-menu-background-highlight, #7a7a7a)); -}`);var mRA=FA('');function TI(t,e){St(e,!1);var A=N(e,"root",9,!1),i=N(e,"insert",9,!1),n=N(e,"selected",9),o=N(e,"onContextMenu",9);Ai(!0);var a,r=mRA();Vi(CA(r),{get data(){return M0}}),ve(()=>{a=$t(r,1,"jse-context-menu-pointer svelte-10ijtzr",null,a,{"jse-root":A(),"jse-insert":i(),"jse-selected":n()}),Mn(r,"title",oG)}),ue("click",r,function(s){for(var g=s.target;g&&g.nodeName!=="BUTTON";)g=g.parentNode;g&&o()({anchor:g,left:0,top:0,width:A2,height:$C,offsetTop:2,offsetLeft:0,showTip:!0})}),lA(t,r),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-key.svelte-1n4cez4 { - display: inline-block; - min-width: 2em; - padding: 0 5px; - box-sizing: border-box; - outline: none; - border-radius: 1px; - vertical-align: top; - color: var(--jse-key-color, #1a1a1a); - word-break: normal; - overflow-wrap: normal; - white-space: pre-wrap; -} -.jse-key.jse-empty.svelte-1n4cez4 { - min-width: 3em; - outline: 1px dotted var(--jse-tag-background, rgba(0, 0, 0, 0.2)); - -moz-outline-radius: 2px; -} -.jse-key.jse-empty.svelte-1n4cez4::after { - pointer-events: none; - color: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); - content: "key"; -}`);var pRA=FA('
      '),wRA=FA(" ",1),DRA=FA('
      ');function ZoA(t,e){St(e,!0);var A=Dg(()=>In(e.selection)&&gr(e.selection)),i=Dg(()=>e.context.onRenderValue({path:e.path,value:e.value,mode:e.context.mode,truncateTextSize:e.context.truncateTextSize,readOnly:e.context.readOnly,enforceString:e.enforceString,isEditing:c(A),parser:e.context.parser,normalization:e.context.normalization,selection:e.selection,searchResultItems:e.searchResultItems,onPatch:e.context.onPatch,onPasteJson:e.context.onPasteJson,onSelect:e.context.onSelect,onFind:e.context.onFind,findNextInside:e.context.findNextInside,focus:e.context.focus})),n=bi();Qa(At(n),17,()=>c(i),Na,(o,a)=>{var r=bi(),s=At(r),g=C=>{var I=Dg(()=>c(a).action),d=DRA();vs(d,(B,E)=>{var Q;return(Q=c(I))===null||Q===void 0?void 0:Q(B,E)},()=>c(a).props),lA(C,d)},l=C=>{var I=Dg(()=>c(a).component),d=bi();$nA(At(d),()=>c(I),(B,E)=>{E(B,e1(()=>c(a).props))}),lA(C,d)};TA(s,C=>{_SA(c(a))?C(g):C(l,!1)}),lA(o,r)}),lA(t,n),xt()}var yRA={selecting:!1,selectionAnchor:void 0,selectionAnchorType:void 0,selectionFocus:void 0,dragging:!1};function gL(t){var{json:e,selection:A,deltaY:i,items:n}=t;if(!A)return{operations:void 0,updatedSelection:void 0,offset:0};var o=i<0?(function(l){for(var{json:C,items:I,selection:d,deltaY:B}=l,E=e2(C,d),Q=I.findIndex(F=>Qi(F.path,E)),f=()=>{var F;return(F=I[b-1])===null||F===void 0?void 0:F.height},b=Q,S=0;f()!==void 0&&Math.abs(B)>S+f()/2;)S+=f(),b-=1;var M=I[b].path,D=b-Q;return b!==Q&&I[b]!==void 0?{beforePath:M,offset:D}:void 0})({json:e,selection:A,deltaY:i,items:n}):(function(l){for(var C,{json:I,items:d,selection:B,deltaY:E}=l,Q=i1(I,B),f=d.findIndex(j=>Qi(j.path,Q)),b=0,S=f,M=()=>{var j;return(j=d[S+1])===null||j===void 0?void 0:j.height};M()!==void 0&&Math.abs(E)>b+M()/2;)b+=M(),S+=1;var D=Ki(Q),F=je(I,D),_=Array.isArray(F)?S:S+1,U=(C=d[_])===null||C===void 0?void 0:C.path,J=S-f;return U?{beforePath:U,offset:J}:{append:!0,offset:J}})({json:e,selection:A,deltaY:i,items:n});if(!o||o.offset===0)return{operations:void 0,updatedSelection:void 0,offset:0};var a=(function(l,C,I){if(!C)return[];var d="beforePath"in I?I.beforePath:void 0,B="append"in I?I.append:void 0,E=Ki(ct(C)),Q=je(l,E);if(!(B||d&&W0(d,E)&&d.length>E.length))return[];var f=e2(l,C),b=i1(l,C),S=mi(f),M=mi(b),D=d?d[E.length]:void 0;if(!ia(Q)){if(qo(Q)){var F=Fr(S),_=Fr(M),U=D!==void 0?Fr(D):Q.length;return kS(_-F+1,U({op:"move",from:wt(E.concat(String(F+DA))),path:wt(E.concat(String(U+DA)))}):()=>({op:"move",from:wt(E.concat(String(F))),path:wt(E.concat(String(U)))}))}throw new Error("Cannot create move operations: parent must be an Object or Array")}var J=Object.keys(Q),j=J.indexOf(S),AA=J.indexOf(M),O=B?J.length:D!==void 0?J.indexOf(D):-1;return j!==-1&&AA!==-1&&O!==-1?O>j?[...J.slice(j,AA+1),...J.slice(O,J.length)].map(DA=>a1(E,DA)):[...J.slice(O,j),...J.slice(AA+1,J.length)].map(DA=>a1(E,DA)):[]})(e,A,o),r=Ki(e2(e,A)),s=je(e,r);if(Array.isArray(s)){var g=(function(l){var C,I,{items:d,json:B,selection:E,offset:Q}=l,f=e2(B,E),b=i1(B,E),S=d.findIndex(_=>Qi(_.path,f)),M=d.findIndex(_=>Qi(_.path,b)),D=(C=d[S+Q])===null||C===void 0?void 0:C.path,F=(I=d[M+Q])===null||I===void 0?void 0:I.path;return Ds(D,F)})({items:n,json:e,selection:A,offset:o.offset});return{operations:a,updatedSelection:g,offset:o.offset}}return{operations:a,updatedSelection:void 0,offset:o.offset}}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -button.jse-validation-error.svelte-q6a061 { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - padding: 0; - margin: 0; - vertical-align: top; - display: inline-flex; - color: var(--jse-error-color, #ee5341); -} - -button.jse-validation-info.svelte-q6a061 { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - padding: 0; - margin: 0; - vertical-align: top; - display: inline-flex; - color: var(--jse-info-color, #4f91ff); -} - -button.jse-validation-warning.svelte-q6a061 { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - padding: 0; - margin: 0; - vertical-align: top; - display: inline-flex; - color: var(--jse-warning-color, #fdc539); -}`);var vRA=FA('');function Ch(t,e){St(e,!1);var A=IA(),i=r1("absolute-popup"),n=N(e,"validationError",8),o=N(e,"onExpand",8);RA(()=>G(n()),()=>{R(A,FSA(n())&&n().isChildError?"Contains invalid data":n().message)}),kn(),Ai();var a=vRA();Vi(CA(a),{get data(){return BI}}),Nr(()=>ue("click",a,function(){for(var r,s=arguments.length,g=new Array(s),l=0;lwh?.(r,s),()=>ye({text:c(A)},i)),ve(()=>{var r;return $t(a,1,"jse-validation-".concat((G(n()),(r=EA(()=>n().severity))!==null&&r!==void 0?r:"")),"svelte-q6a061")}),lA(t,a),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-expand.svelte-1qi6rc1 { - width: var(--jse-indent-size, calc(1em + 4px)); - padding: 0; - margin: 0; - border: none; - cursor: pointer; - background: transparent; - color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); - font-size: var(--jse-font-size-mono, 14px); - height: var(--jse-line-height, calc(1em + 4px)); -} -.jse-expand.svelte-1qi6rc1:hover { - opacity: 0.8; -} - -.jse-meta.svelte-1qi6rc1, -.jse-separator.svelte-1qi6rc1, -.jse-index.svelte-1qi6rc1, -.jse-bracket.svelte-1qi6rc1 { - vertical-align: top; - color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); -} - -.jse-index.svelte-1qi6rc1 { - padding: 0 calc(0.5 * var(--jse-padding, 10px)); -} - -.jse-bracket.svelte-1qi6rc1 { - padding: 0 2px; -} -.jse-bracket.jse-expanded.svelte-1qi6rc1 { - padding-right: var(--jse-padding, 10px); -} - -.jse-identifier.svelte-1qi6rc1 { - vertical-align: top; - position: relative; -} - -.jse-json-node.svelte-1qi6rc1 { - position: relative; - color: var(--jse-text-color, #4d4d4d); -} -.jse-json-node.jse-root.svelte-1qi6rc1 { - min-height: 100%; - padding-bottom: 2px; - box-sizing: border-box; -} -.jse-json-node.jse-root.svelte-1qi6rc1 > .jse-contents-outer:where(.svelte-1qi6rc1) > .jse-contents:where(.svelte-1qi6rc1) { - padding-left: 0; -} -.jse-json-node.svelte-1qi6rc1 .jse-props:where(.svelte-1qi6rc1), -.jse-json-node.svelte-1qi6rc1 .jse-items:where(.svelte-1qi6rc1) { - position: relative; -} -.jse-json-node.svelte-1qi6rc1 .jse-header-outer:where(.svelte-1qi6rc1), -.jse-json-node.svelte-1qi6rc1 .jse-footer-outer:where(.svelte-1qi6rc1) { - display: flex; - margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); -} -.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1) { - position: relative; -} -.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1) .jse-meta:where(.svelte-1qi6rc1) > .jse-meta-inner:where(.svelte-1qi6rc1) { - display: flex; - justify-content: center; -} -.jse-json-node.svelte-1qi6rc1 .jse-contents-outer:where(.svelte-1qi6rc1) { - display: flex; - margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); -} -.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1), -.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1) { - display: flex; - flex-direction: row; - align-items: flex-start; -} -.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1) { - padding-left: var(--jse-indent-size, calc(1em + 4px)); - cursor: var(--jse-contents-cursor, pointer); -} -.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1) .jse-value-outer:where(.svelte-1qi6rc1) { - display: inline-flex; -} -.jse-json-node.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1) { - display: inline-flex; - padding-left: calc(var(--jse-indent-size, calc(1em + 4px)) + 5px); -} -.jse-json-node.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1), -.jse-json-node.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1), -.jse-json-node.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1) { - background: var(--jse-contents-background-color, transparent); -} -.jse-json-node.svelte-1qi6rc1 .jse-insert-selection-area:where(.svelte-1qi6rc1) { - padding: 0 calc(0.5 * var(--jse-padding, 10px)); - flex: 1; -} -.jse-json-node.svelte-1qi6rc1 .jse-insert-selection-area.jse-inside:where(.svelte-1qi6rc1) { - display: inline-flex; - align-items: center; -} -.jse-json-node.svelte-1qi6rc1 .jse-insert-selection-area.jse-after:where(.svelte-1qi6rc1) { - display: flex; - align-items: flex-end; -} -.jse-json-node.svelte-1qi6rc1 .jse-context-menu-pointer-anchor:where(.svelte-1qi6rc1) { - position: relative; -} -.jse-json-node.svelte-1qi6rc1 .jse-insert-area:where(.svelte-1qi6rc1) { - display: flex; - position: relative; - z-index: 1; - margin-left: calc(var(--level) * var(--jse-indent-size, calc(1em + 4px))); - max-width: 250px; - min-width: 100px; - height: 0; - margin-right: calc(0.5 * var(--jse-padding, 10px)); - outline: 1px solid; -} -.jse-json-node.svelte-1qi6rc1 .jse-insert-area.jse-hovered:where(.svelte-1qi6rc1) { - outline-color: var(--jse-context-menu-pointer-hover-background, #b2b2b2); -} -.jse-json-node.svelte-1qi6rc1 .jse-key-outer:where(.svelte-1qi6rc1) { - position: relative; -} -.jse-json-node.svelte-1qi6rc1 .jse-key-outer:where(.svelte-1qi6rc1):hover, -.jse-json-node.svelte-1qi6rc1 .jse-value-outer:where(.svelte-1qi6rc1):hover, -.jse-json-node.svelte-1qi6rc1 .jse-meta:where(.svelte-1qi6rc1):hover, -.jse-json-node.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1):hover { - background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); - cursor: var(--jse-contents-cursor, pointer); -} -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-header, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-contents, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-header, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-contents, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-footer { - background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); - cursor: var(--jse-contents-cursor, pointer); -} -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-value-outer .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-value-outer .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-meta .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-meta .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-header .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-header .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-contents .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-items .jse-contents .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-header .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-header .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-contents .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-props .jse-contents .jse-meta, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-footer .jse-value-outer, -.jse-json-node.jse-hovered.svelte-1qi6rc1:not(.jse-selected):not(.jse-selected-value) .jse-footer .jse-meta { - background: none; -} -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-header:where(.svelte-1qi6rc1), -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-contents:where(.svelte-1qi6rc1), -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1) { - background: var(--jse-selection-background-color, #d3d3d3); - cursor: var(--jse-contents-selected-cursor, grab); -} -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-key-outer:where(.svelte-1qi6rc1):hover, -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-value-outer:where(.svelte-1qi6rc1):hover, -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-meta:where(.svelte-1qi6rc1):hover, -.jse-json-node.jse-selected.svelte-1qi6rc1 .jse-footer:where(.svelte-1qi6rc1):hover { - background: inherit; - cursor: inherit; -} -.jse-json-node.svelte-1qi6rc1 .jse-key-outer.jse-selected-key:where(.svelte-1qi6rc1) { - background: var(--jse-selection-background-color, #d3d3d3); - cursor: var(--jse-contents-selected-cursor, grab); -} -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-value-outer, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-meta, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-header, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-contents, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-header, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-contents, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-footer { - background: var(--jse-selection-background-color, #d3d3d3); - cursor: var(--jse-contents-selected-cursor, grab); -} -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-value-outer .jse-key-outer:hover, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-meta .jse-key-outer:hover, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-header .jse-key-outer:hover, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-items .jse-contents .jse-key-outer:hover, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-header .jse-key-outer:hover, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-props .jse-contents .jse-key-outer:hover, -.jse-json-node.jse-selected-value.svelte-1qi6rc1 .jse-footer .jse-key-outer:hover { - background: inherit; - cursor: inherit; -} -.jse-json-node.jse-readonly.svelte-1qi6rc1 { - --jse-contents-selected-cursor: pointer; -} -.jse-json-node.svelte-1qi6rc1 .jse-insert-area.jse-selected:where(.svelte-1qi6rc1) { - outline-color: var(--jse-context-menu-pointer-background, var(--jse-context-menu-background, #656565)); -}`);var Ko=wv(()=>yRA),bRA=FA('
      :
      '),MRA=FA('
      [
       ',1),kRA=FA('
      [
      ]
      ',1),SRA=FA('
      '),xRA=FA('
      '),RRA=FA('
      '),NRA=FA('
      '),FRA=FA('
      '),_RA=FA(" ",1),LRA=FA('
      '),GRA=FA('
      ',1),KRA=FA('
      ',1),URA=FA('
      :
      '),JRA=FA('
      {
      '),YRA=FA('
      {
      }
      ',1),TRA=FA('
      '),HRA=FA('
      '),zRA=FA('
      '),ORA=FA('
      '),PRA=FA('
      '),jRA=FA('
      '),qRA=FA('
      ',1),VRA=FA('
      ',1),WRA=FA('
      :
      '),ZRA=FA('
      '),XRA=FA('
      '),$RA=FA('
      '),ANA=FA('
      '),eNA=FA('
      ');function KL(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=N(e,"pointer",9),o=N(e,"value",9),a=N(e,"state",9),r=N(e,"validationErrors",9),s=N(e,"searchResults",9),g=N(e,"selection",9),l=N(e,"context",9),C=N(e,"onDragSelectionStart",9),I=Cr("jsoneditor:JSONNode"),d=IA(void 0,!0),B=void 0,E=IA(void 0,!0),Q=IA(void 0,!0),f=IA(void 0,!0),b=IA(void 0,!0),S=IA(void 0,!0),M=IA(void 0,!0),D=IA(void 0,!0);function F(HA){HA.stopPropagation();var uA=nG(HA);l().onExpand(c(Q),!c(f),uA)}function _(){l().onExpand(c(Q),!0)}function U(HA,uA){var ZA=dm(c(Q),Object.keys(o()),HA,uA);return l().onPatch(ZA),mi(Qs(ZA[0].path))}function J(HA){l().onDrag(HA)}function j(HA){Ko().selecting&&(Ko(Ko().selecting=!1),HA.stopPropagation()),l().onDragEnd(),document.removeEventListener("mousemove",J,!0),document.removeEventListener("mouseup",j)}function AA(){var HA;return((HA=l().findElement([]))===null||HA===void 0||(HA=HA.getBoundingClientRect())===null||HA===void 0?void 0:HA.top)||0}function O(HA,uA){var ZA=AA()-HA.initialContentTop;return uA.clientY-HA.initialClientY-ZA}function DA(HA){if(!l().readOnly&&g()){var uA=Ki(ct(g()));if(Qi(c(Q),uA)){var ZA=(function(LA,pA){var Ft=[];function ht(z){var nA=c(Q).concat(z),rA=l().findElement(nA);rA!==void 0&&Ft.push({path:nA,height:rA.clientHeight})}if(Array.isArray(o())){var Ee=l().getJson();if(Ee===void 0)return;var Kt=e2(Ee,LA),Ye=i1(Ee,LA),ze=parseInt(mi(Kt),10),ut=parseInt(mi(Ye),10),Me=pA.find(z=>ze>=z.start&&ut<=z.end);if(!Me)return;var{start:ei,end:Y}=Me;ooA(ei,Math.min(o().length,Y),z=>ht(String(z)))}else Object.keys(o()).forEach(ht);return Ft})(g(),c(S)||gh);if(I("dragSelectionStart",{selection:g(),items:ZA}),ZA){var QA=l().getJson();if(QA!==void 0){var WA=e2(QA,g()),MA=ZA.findIndex(LA=>Qi(LA.path,WA)),{offset:be}=gL({json:QA,selection:l().getSelection(),deltaY:0,items:ZA});R(E,{initialTarget:HA.target,initialClientY:HA.clientY,initialContentTop:AA(),selectionStartIndex:MA,selectionItemsCount:o1(QA,g()).length,items:ZA,offset:be,didMoveItems:!1}),Ko(Ko().dragging=!0),document.addEventListener("mousemove",P,!0),document.addEventListener("mouseup",aA)}}else I("Cannot drag the current selection (probably spread over multiple sections)")}else C()(HA)}}function P(HA){if(c(E)){var uA=l().getJson();if(uA===void 0)return;var ZA=O(c(E),HA),{offset:QA}=gL({json:uA,selection:l().getSelection(),deltaY:ZA,items:c(E).items});QA!==c(E).offset&&(I("drag selection",QA,ZA),R(E,ye(ye({},c(E)),{},{offset:QA,didMoveItems:!0})))}}function aA(HA){if(c(E)){var uA=l().getJson();if(uA===void 0)return;var ZA=O(c(E),HA),{operations:QA,updatedSelection:WA}=gL({json:uA,selection:l().getSelection(),deltaY:ZA,items:c(E).items});if(QA)l().onPatch(QA,(LA,pA)=>({state:pA,selection:WA??g()}));else if(HA.target===c(E).initialTarget&&!c(E).didMoveItems){var MA=W_(HA.target),be=QoA(HA.target);be&&l().onSelect(kiA(MA,be))}R(E,void 0),Ko(Ko().dragging=!1),document.removeEventListener("mousemove",P,!0),document.removeEventListener("mouseup",aA)}}function iA(HA){HA.shiftKey||(HA.stopPropagation(),HA.preventDefault(),l().onSelect(c2(c(Q))))}function BA(HA){HA.shiftKey||(HA.stopPropagation(),HA.preventDefault(),l().onSelect(o2(c(Q))))}function oA(HA){l().onSelect(c2(c(Q))),Mo(),l().onContextMenu(HA)}function sA(HA){l().onSelect(o2(c(Q))),Mo(),l().onContextMenu(HA)}RA(()=>G(n()),()=>{R(Q,Qs(n()))}),RA(()=>G(n()),()=>{R(A,encodeURIComponent(n()))}),RA(()=>G(a()),()=>{R(f,!!eB(a())&&a().expanded)}),RA(()=>(G(o()),G(a())),()=>{R(b,P0(o(),a(),[]))}),RA(()=>G(a()),()=>{R(S,lr(a())?a().visibleSections:void 0)}),RA(()=>G(r()),()=>{var HA;R(M,(HA=r())===null||HA===void 0?void 0:HA.validationError)}),RA(()=>(G(l()),G(g()),c(Q)),()=>{R(D,Xf(l().getJson(),g(),c(Q)))}),RA(()=>c(Q),()=>{R(i,c(Q).length===0)}),kn(),Ai(!0);var hA,YA,ee=eNA(),UA=CA(ee),mA=HA=>{var uA=KRA(),ZA=At(uA),QA=CA(ZA),WA=CA(QA),MA=CA(WA),be=xA=>{Vi(xA,{get data(){return M0}})},LA=xA=>{Vi(xA,{get data(){return WE}})};TA(MA,xA=>{c(f)?xA(be):xA(LA,!1)});var pA=bA(WA,2);Ea(pA,e,"identifier",{},null);var Ft=bA(pA,2),ht=xA=>{lA(xA,bRA())};TA(Ft,xA=>{c(i)||xA(ht)});var Ee=bA(Ft,2),Kt=CA(Ee),Ye=CA(Kt),ze=xA=>{var _A=MRA();Zy(bA(At(_A),2),{children:(Et,et)=>{var Te=ur();ve(()=>{var Le,si;return Rt(Te,"".concat((G(o()),(Le=EA(()=>o().length))!==null&&Le!==void 0?Le:""),` - `).concat((G(o()),(si=EA(()=>o().length===1?"item":"items"))!==null&&si!==void 0?si:"")))}),lA(Et,Te)},$$slots:{default:!0}}),lA(xA,_A)},ut=xA=>{var _A=kRA();Zy(bA(At(_A),2),{onclick:_,children:(Et,et)=>{var Te=ur();ve(()=>{var Le,si;return Rt(Te,"".concat((G(o()),(Le=EA(()=>o().length))!==null&&Le!==void 0?Le:""),` - `).concat((G(o()),(si=EA(()=>o().length===1?"item":"items"))!==null&&si!==void 0?si:"")))}),lA(Et,Te)},$$slots:{default:!0}}),lA(xA,_A)};TA(Ye,xA=>{c(f)?xA(ze):xA(ut,!1)});var Me=bA(Ee,2),ei=xA=>{var _A=SRA();TI(CA(_A),{get root(){return c(i)},selected:!0,get onContextMenu(){return G(l()),EA(()=>l().onContextMenu)}}),lA(xA,_A)};TA(Me,xA=>{G(l()),c(D),G(g()),G(In),G(lo),G(gr),G(Qi),G(ct),c(Q),EA(()=>!l().readOnly&&c(D)&&g()&&(In(g())||lo(g()))&&!gr(g())&&Qi(ct(g()),c(Q)))&&xA(ei)});var Y=bA(QA,2),z=xA=>{Ch(xA,{get validationError(){return c(M)},onExpand:_})};TA(Y,xA=>{c(M),c(f),EA(()=>c(M)&&(!c(f)||!c(M).isChildError))&&xA(z)});var nA=bA(Y,2),rA=xA=>{var _A=xRA();ue("click",_A,iA),lA(xA,_A)},NA=xA=>{var _A=RRA();ue("click",_A,BA),lA(xA,_A)};TA(nA,xA=>{c(f)?xA(rA):xA(NA,!1)});var Ie=bA(ZA,2),Qe=xA=>{var _A=GRA(),Et=At(_A),et=CA(Et),Te=dn=>{var _e,Wi,ui=NRA(),Mi=CA(ui),zi=tt(()=>(c(D),G(tr),G(g()),EA(()=>c(D)&&tr(g()))));TI(Mi,{insert:!0,get selected(){return c(zi)},onContextMenu:oA}),ve(vt=>{_e=$t(ui,1,"jse-insert-area jse-inside svelte-1qi6rc1",null,_e,vt),Mn(ui,"title",$_),Wi=Yl(ui,"",Wi,{"--level":(c(Q),EA(()=>c(Q).length+1))})},[()=>({"jse-hovered":c(d)===Gd,"jse-selected":c(D)&&tr(g())})]),lA(dn,ui)};TA(et,dn=>{G(l()),c(d),G(Gd),c(D),G(tr),G(g()),EA(()=>!l().readOnly&&(c(d)===Gd||c(D)&&tr(g())))&&dn(Te)}),Qa(bA(et,2),1,()=>c(S)||gh,Na,(dn,_e,Wi)=>{var ui=_RA(),Mi=At(ui);Qa(Mi,1,()=>(G(o()),c(_e),c(E),EA(()=>(function(Zi,_t,L){var Ct=_t.start,ci=Math.min(_t.end,Zi.length),Bn=qw(Ct,ci);return L&&L.offset!==0?giA(Bn,L.selectionStartIndex,L.selectionItemsCount,L.offset).map((En,qn)=>({index:En,gutterIndex:qn})):Bn.map(En=>({index:En,gutterIndex:En}))})(o(),c(_e),c(E)))),Zi=>Zi.index,(Zi,_t)=>{var L=tt(()=>(G(lr),G(r()),c(_t),EA(()=>lr(r())?r().items[c(_t).index]:void 0))),Ct=tt(()=>(G(_y),G(l()),G(g()),c(Q),c(_t),EA(()=>_y(l().getJson(),g(),c(Q).concat(String(c(_t).index)))))),ci=bi(),Bn=At(ci),En=tt(()=>(G(V4),G(n()),c(_t),EA(()=>V4(n(),c(_t).index)))),qn=tt(()=>(G(lr),G(a()),c(_t),EA(()=>lr(a())?a().items[c(_t).index]:void 0))),Yo=tt(()=>(G(lr),G(s()),c(_t),EA(()=>lr(s())?s().items[c(_t).index]:void 0)));KL(Bn,{get value(){return G(o()),c(_t),EA(()=>o()[c(_t).index])},get pointer(){return c(En)},get state(){return c(qn)},get validationErrors(){return c(L)},get searchResults(){return c(Yo)},get selection(){return c(Ct)},get context(){return l()},onDragSelectionStart:DA,$$slots:{identifier:(Co,ko)=>{var Zo=FRA(),wo=CA(Zo),ha=CA(wo);ve(()=>Rt(ha,(c(_t),EA(()=>c(_t).gutterIndex)))),lA(Co,Zo)}}}),lA(Zi,ci)});var zi=bA(Mi,2),vt=Zi=>{var _t=tt(()=>c(S)||gh);fRA(Zi,{get visibleSections(){return c(_t)},sectionIndex:Wi,get total(){return G(o()),EA(()=>o().length)},get path(){return c(Q)},get onExpandSection(){return G(l()),EA(()=>l().onExpandSection)},get selection(){return g()},get context(){return l()}})};TA(zi,Zi=>{c(_e),G(o()),EA(()=>c(_e).end{var _e=LRA();ue("click",_e,BA),lA(dn,_e)};TA(si,dn=>{c(i)||dn(gn)}),lA(xA,_A)};TA(Ie,xA=>{c(f)&&xA(Qe)}),ue("click",WA,F),lA(HA,uA)},KA=HA=>{var uA=bi(),ZA=At(uA),QA=MA=>{var be=VRA(),LA=At(be),pA=CA(LA),Ft=CA(pA),ht=CA(Ft),Ee=Le=>{Vi(Le,{get data(){return M0}})},Kt=Le=>{Vi(Le,{get data(){return WE}})};TA(ht,Le=>{c(f)?Le(Ee):Le(Kt,!1)});var Ye=bA(Ft,2);Ea(Ye,e,"identifier",{},null);var ze=bA(Ye,2),ut=Le=>{lA(Le,URA())};TA(ze,Le=>{c(i)||Le(ut)});var Me=bA(ze,2),ei=CA(Me),Y=CA(ei),z=Le=>{lA(Le,JRA())},nA=Le=>{var si=YRA();Zy(bA(At(si),2),{onclick:_,children:(gn,dn)=>{var _e=ur();ve((Wi,ui)=>Rt(_e,"".concat(Wi??"",` - `).concat(ui??"")),[()=>(G(o()),EA(()=>Object.keys(o()).length)),()=>(G(o()),EA(()=>Object.keys(o()).length===1?"prop":"props"))]),lA(gn,_e)},$$slots:{default:!0}}),lA(Le,si)};TA(Y,Le=>{c(f)?Le(z):Le(nA,!1)});var rA=bA(Me,2),NA=Le=>{var si=TRA();TI(CA(si),{get root(){return c(i)},selected:!0,get onContextMenu(){return G(l()),EA(()=>l().onContextMenu)}}),lA(Le,si)};TA(rA,Le=>{G(l()),c(D),G(g()),G(In),G(lo),G(gr),G(Qi),G(ct),c(Q),EA(()=>!l().readOnly&&c(D)&&g()&&(In(g())||lo(g()))&&!gr(g())&&Qi(ct(g()),c(Q)))&&Le(NA)});var Ie=bA(pA,2),Qe=Le=>{Ch(Le,{get validationError(){return c(M)},onExpand:_})};TA(Ie,Le=>{c(M),c(f),EA(()=>c(M)&&(!c(f)||!c(M).isChildError))&&Le(Qe)});var xA=bA(Ie,2),_A=Le=>{var si=HRA();ue("click",si,iA),lA(Le,si)},Et=Le=>{var si=bi(),gn=At(si),dn=_e=>{var Wi=zRA();ue("click",Wi,BA),lA(_e,Wi)};TA(gn,_e=>{c(i)||_e(dn)},!0),lA(Le,si)};TA(xA,Le=>{c(f)?Le(_A):Le(Et,!1)});var et=bA(LA,2),Te=Le=>{var si=qRA(),gn=At(si),dn=CA(gn),_e=zi=>{var vt,Zi,_t=ORA(),L=CA(_t),Ct=tt(()=>(c(D),G(tr),G(g()),EA(()=>c(D)&&tr(g()))));TI(L,{insert:!0,get selected(){return c(Ct)},onContextMenu:oA}),ve(ci=>{vt=$t(_t,1,"jse-insert-area jse-inside svelte-1qi6rc1",null,vt,ci),Mn(_t,"title",$_),Zi=Yl(_t,"",Zi,{"--level":(c(Q),EA(()=>c(Q).length+1))})},[()=>({"jse-hovered":c(d)===Gd,"jse-selected":c(D)&&tr(g())})]),lA(zi,_t)};TA(dn,zi=>{G(l()),c(d),G(Gd),c(D),G(tr),G(g()),EA(()=>!l().readOnly&&(c(d)===Gd||c(D)&&tr(g())))&&zi(_e)}),Qa(bA(dn,2),1,()=>(G(o()),c(E),EA(()=>(function(zi,vt){var Zi=Object.keys(zi);return vt&&vt.offset!==0?giA(Zi,vt.selectionStartIndex,vt.selectionItemsCount,vt.offset):Zi})(o(),c(E)))),Na,(zi,vt)=>{var Zi=tt(()=>(G(V4),G(n()),c(vt),EA(()=>V4(n(),c(vt))))),_t=tt(()=>(G(wg),G(s()),c(vt),EA(()=>wg(s())?s().properties[c(vt)]:void 0))),L=tt(()=>(G(wg),G(r()),c(vt),EA(()=>wg(r())?r().properties[c(vt)]:void 0))),Ct=tt(()=>(c(Q),c(vt),EA(()=>c(Q).concat(c(vt))))),ci=tt(()=>(G(_y),G(l()),G(g()),G(c(Ct)),EA(()=>_y(l().getJson(),g(),c(Ct))))),Bn=bi(),En=At(Bn),qn=tt(()=>(G(wg),G(a()),c(vt),EA(()=>wg(a())?a().properties[c(vt)]:void 0)));KL(En,{get value(){return G(o()),c(vt),EA(()=>o()[c(vt)])},get pointer(){return c(Zi)},get state(){return c(qn)},get validationErrors(){return c(L)},get searchResults(){return c(_t)},get selection(){return c(ci)},get context(){return l()},onDragSelectionStart:DA,$$slots:{identifier:(Yo,Co)=>{var ko,Zo=PRA(),wo=CA(Zo),ha=tt(()=>(G(LiA),G(c(_t)),EA(()=>LiA(c(_t)))));(function(Xo,ra){St(ra,!1);var Do=IA(void 0,!0),re=IA(void 0,!0),di=N(ra,"pointer",9),ln=N(ra,"key",9),Qn=N(ra,"selection",9),To=N(ra,"searchResultItems",9),Ma=N(ra,"onUpdateKey",9),wi=N(ra,"context",9),Io=IA(void 0,!0);function nr(vA){c(re)||wi().readOnly||(vA.preventDefault(),wi().onSelect(dG(c(Io))))}function yo(vA,VA){var me=Ma()(ln(),wi().normalization.unescapeValue(vA)),dA=Ki(c(Io)).concat(me);wi().onSelect(VA===t1.nextInside?Ui(dA):l2(dA)),VA!==t1.self&&wi().focus()}function Pa(){wi().onSelect(l2(c(Io))),wi().focus()}RA(()=>G(di()),()=>{R(Io,Qs(di()))}),RA(()=>(G(Qn()),c(Io)),()=>{R(Do,cr(Qn())&&Qi(Qn().path,c(Io)))}),RA(()=>(c(Do),G(Qn())),()=>{R(re,c(Do)&&gr(Qn()))}),kn(),Ai(!0);var Gn=wRA(),xi=At(Gn),Pt=vA=>{var VA=tt(()=>(G(wi()),G(ln()),EA(()=>wi().normalization.escapeValue(ln())))),me=tt(()=>(G(gr),G(Qn()),EA(()=>gr(Qn())?Qn().initialValue:void 0)));MoA(vA,{get value(){return c(VA)},get initialValue(){return c(me)},label:"Edit key",shortText:!0,onChange:yo,onCancel:Pa,get onFind(){return G(wi()),EA(()=>wi().onFind)}})},Sn=vA=>{var VA,me=pRA(),dA=CA(me),SA=xe=>{var it=tt(()=>(G(wi()),G(ln()),EA(()=>wi().normalization.escapeValue(ln()))));_oA(xe,{get text(){return c(it)},get searchResultItems(){return To()}})},ae=xe=>{var it=ur();ve(st=>Rt(it,st),[()=>(G(fh),G(wi()),G(ln()),EA(()=>fh(wi().normalization.escapeValue(ln()))))]),lA(xe,it)};TA(dA,xe=>{To()?xe(SA):xe(ae,!1)}),ve(()=>VA=$t(me,1,"jse-key svelte-1n4cez4",null,VA,{"jse-empty":ln()===""})),ue("dblclick",me,nr),lA(vA,me)};TA(xi,vA=>{G(wi()),c(re),EA(()=>!wi().readOnly&&c(re))?vA(Pt):vA(Sn,!1)});var Bo=bA(xi,2),So=vA=>{TI(vA,{selected:!0,get onContextMenu(){return G(wi()),EA(()=>wi().onContextMenu)}})};TA(Bo,vA=>{G(wi()),c(Do),c(re),EA(()=>!wi().readOnly&&c(Do)&&!c(re))&&vA(So)}),lA(Xo,Gn),xt()})(wo,{get pointer(){return c(Zi)},get key(){return c(vt)},get selection(){return c(ci)},get searchResultItems(){return c(ha)},get context(){return l()},onUpdateKey:U}),ve(Xo=>ko=$t(Zo,1,"jse-key-outer svelte-1qi6rc1",null,ko,Xo),[()=>({"jse-selected-key":cr(c(ci))&&Qi(c(ci).path,c(Ct))})]),lA(Yo,Zo)}}}),lA(zi,Bn)});var Wi=bA(gn,2),ui=bA(CA(Wi),2),Mi=zi=>{var vt=jRA();ue("click",vt,BA),lA(zi,vt)};TA(ui,zi=>{c(i)||zi(Mi)}),lA(Le,si)};TA(et,Le=>{c(f)&&Le(Te)}),ue("click",Ft,F),lA(MA,be)},WA=MA=>{var be=$RA(),LA=CA(be),pA=CA(LA);Ea(pA,e,"identifier",{},null);var Ft=bA(pA,2),ht=rA=>{lA(rA,WRA())};TA(Ft,rA=>{c(i)||rA(ht)});var Ee=bA(Ft,2),Kt=CA(Ee),Ye=tt(()=>c(D)?g():void 0),ze=tt(()=>(G(GiA),G(s()),EA(()=>GiA(s()))));ZoA(Kt,{get path(){return c(Q)},get value(){return o()},get enforceString(){return c(b)},get selection(){return c(Ye)},get searchResultItems(){return c(ze)},get context(){return l()}});var ut=bA(Ee,2),Me=rA=>{var NA=ZRA();TI(CA(NA),{get root(){return c(i)},selected:!0,get onContextMenu(){return G(l()),EA(()=>l().onContextMenu)}}),lA(rA,NA)};TA(ut,rA=>{G(l()),c(D),G(g()),G(In),G(lo),G(gr),G(Qi),G(ct),c(Q),EA(()=>!l().readOnly&&c(D)&&g()&&(In(g())||lo(g()))&&!gr(g())&&Qi(ct(g()),c(Q)))&&rA(Me)});var ei=bA(LA,2),Y=rA=>{Ch(rA,{get validationError(){return c(M)},onExpand:_})};TA(ei,rA=>{c(M)&&rA(Y)});var z=bA(ei,2),nA=rA=>{var NA=XRA();ue("click",NA,BA),lA(rA,NA)};TA(z,rA=>{c(i)||rA(nA)}),lA(MA,be)};TA(ZA,MA=>{G(pn),G(o()),EA(()=>pn(o()))?MA(QA):MA(WA,!1)},!0),lA(HA,uA)};TA(UA,HA=>{G(o()),EA(()=>Array.isArray(o()))?HA(mA):HA(KA,!1)});var Pe=bA(UA,2),Je=HA=>{var uA,ZA=ANA(),QA=CA(ZA),WA=tt(()=>(c(D),G(yg),G(g()),EA(()=>c(D)&&yg(g()))));TI(QA,{insert:!0,get selected(){return c(WA)},onContextMenu:sA}),ve(MA=>{uA=$t(ZA,1,"jse-insert-area jse-after svelte-1qi6rc1",null,uA,MA),Mn(ZA,"title",$_)},[()=>({"jse-hovered":c(d)===Ny,"jse-selected":c(D)&&yg(g())})]),lA(HA,ZA)};TA(Pe,HA=>{G(l()),c(d),G(Ny),c(D),G(yg),G(g()),EA(()=>!l().readOnly&&(c(d)===Ny||c(D)&&yg(g())))&&HA(Je)}),ve((HA,uA)=>{hA=$t(ee,1,HA,"svelte-1qi6rc1",hA,uA),Mn(ee,"data-path",c(A)),Mn(ee,"aria-selected",c(D)),YA=Yl(ee,"",YA,{"--level":(c(Q),EA(()=>c(Q).length))})},[()=>n1((G(Pc),c(f),G(l()),c(Q),G(o()),EA(()=>Pc("jse-json-node",{"jse-expanded":c(f)},l().onClassName(c(Q),o()))))),()=>({"jse-root":c(i),"jse-selected":c(D)&&lo(g()),"jse-selected-value":c(D)&&In(g()),"jse-readonly":l().readOnly,"jse-hovered":c(d)===IiA})]),ue("mousedown",ee,function(HA){if((HA.buttons===1||HA.buttons===2)&&!((uA=HA.target).nodeName==="DIV"&&uA.contentEditable==="true"||HA.buttons===1&&BoA(HA.target,"BUTTON"))){var uA;HA.stopPropagation(),HA.preventDefault(),l().focus(),document.addEventListener("mousemove",J,!0),document.addEventListener("mouseup",j);var ZA=W_(HA.target),QA=l().getJson(),WA=l().getDocumentState();if(!g()||ZA===no.after||ZA===no.inside||g().type!==ZA&&g().type!==no.multi||!Xf(QA,g(),c(Q)))if(Ko(Ko().selecting=!0),Ko(Ko().selectionAnchor=c(Q)),Ko(Ko().selectionAnchorType=ZA),Ko(Ko().selectionFocus=c(Q)),HA.shiftKey){var MA=l().getSelection();MA&&l().onSelect(Ds(jd(MA),c(Q)))}else if(ZA===no.multi)if(c(i)&&HA.target.hasAttribute("data-path")){var be=mi(woA(o(),WA));l().onSelect(SL(be))}else l().onSelect(Ds(c(Q),c(Q)));else QA!==void 0&&l().onSelect(kiA(ZA,c(Q)));else HA.button===0&&C()(HA)}}),ue("mousemove",ee,function(HA){if(Ko().selecting){HA.preventDefault(),HA.stopPropagation(),Ko().selectionFocus===void 0&&window.getSelection&&window.getSelection().empty();var uA=W_(HA.target);Qi(c(Q),Ko().selectionFocus)&&uA===Ko().selectionAnchorType||(Ko(Ko().selectionFocus=c(Q)),Ko(Ko().selectionAnchorType=uA),l().onSelect(Ds(Ko().selectionAnchor||Ko().selectionFocus,Ko().selectionFocus)))}}),ue("mouseover",ee,function(HA){Ko().selecting||Ko().dragging||(HA.stopPropagation(),VI(HA.target,"data-type","selectable-value")?R(d,IiA):VI(HA.target,"data-type","selectable-key")?R(d,void 0):VI(HA.target,"data-type","insert-selection-area-inside")?R(d,Gd):VI(HA.target,"data-type","insert-selection-area-after")&&R(d,Ny),clearTimeout(B))}),ue("mouseout",ee,function(HA){HA.stopPropagation(),B=window.setTimeout(()=>R(d,void 0))}),lA(t,ee),xt()}var XoA={prefix:"fas",iconName:"jsoneditor-expand",icon:[512,512,[],"","M 0,448 V 512 h 512 v -64 z M 0,0 V 64 H 512 V 0 Z M 256,96 128,224 h 256 z M 256,416 384,288 H 128 Z"]},$oA={prefix:"fas",iconName:"jsoneditor-collapse",icon:[512,512,[],"","m 0,224 v 64 h 512 v -64 z M 256,192 384,64 H 128 Z M 256,320 128,448 h 256 z"]},ViA={prefix:"fas",iconName:"jsoneditor-format",icon:[512,512,[],"","M 0,32 v 64 h 416 v -64 z M 160,160 v 64 h 352 v -64 z M 160,288 v 64 h 288 v -64 z M 0,416 v 64 h 320 v -64 z"]},tNA={prefix:"fas",iconName:"jsoneditor-compact",icon:[512,512,[],"","M 0,32 v 64 h 512 v -64 z M 0,160 v 64 h 512 v -64 z M 0,288 v 64 h 352 v -64 z"]};qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-welcome.svelte-1lhnan { - flex: 1; - overflow: auto; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - display: flex; - flex-direction: column; - align-items: center; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-welcome.svelte-1lhnan:last-child { - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-welcome.svelte-1lhnan .jse-space.jse-before:where(.svelte-1lhnan) { - flex: 1; -} -.jse-welcome.svelte-1lhnan .jse-space.jse-after:where(.svelte-1lhnan) { - flex: 2; -} -.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) { - display: flex; - flex-direction: column; - max-width: 300px; - margin: 2em var(--jse-padding, 10px); - gap: var(--jse-padding, 10px); -} -.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) .jse-welcome-info:where(.svelte-1lhnan) { - color: var(--jse-panel-color-readonly, #b2b2b2); -} -.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) button:where(.svelte-1lhnan) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); - color: var(--jse-button-primary-color, #fff); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) button:where(.svelte-1lhnan):hover { - background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); -} -.jse-welcome.svelte-1lhnan .jse-contents:where(.svelte-1lhnan) button:where(.svelte-1lhnan):disabled { - background: var(--jse-button-primary-background-disabled, #9d9d9d); -}`);var iNA=FA('
      You can paste clipboard data using Ctrl+V, or use the following options:
      ',1),nNA=FA('
      Empty document
      ');function UL(t,e){var A=typeof t=="string"?t.toLowerCase():t,i=typeof e=="string"?e.toLowerCase():e;return(0,inA.default)(A,i)}function AaA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,n=je(t,e);if(qo(n)){if(A===void 0)throw new Error("Cannot sort: no property selected by which to sort the array");return(function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,g=(function(C,I){var d={boolean:0,number:1,string:2,undefined:4},B=3;return function(E,Q){var f=je(E,C),b=je(Q,C);if(typeof f!=typeof b){var S,M,D=(S=d[typeof f])!==null&&S!==void 0?S:B,F=(M=d[typeof b])!==null&&M!==void 0?M:B;return D>F?I:Db?I:f1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=je(o,a),g=Object.keys(s).slice();g.sort((C,I)=>r*UL(C,I));var l={};return g.forEach(C=>l[C]=s[C]),[{op:"replace",path:wt(a),value:l}]})(t,e,i);throw new Error("Cannot sort: no array or object")}sm(["click"]);qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-navigation-bar-dropdown.svelte-1k47orx { - position: absolute; - top: 100%; - left: 0; - z-index: 3; - background: var(--jse-navigation-bar-background, var(--jse-background-color, #fff)); - color: var(--jse-navigation-bar-dropdown-color, #656565); - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); - display: flex; - flex-direction: column; - max-height: 300px; - overflow: auto; - min-width: 80px; -} -.jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item:where(.svelte-1k47orx) { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - border: none; - background: transparent; - color: inherit; - cursor: pointer; - outline: none; - text-align: left; - white-space: nowrap; - box-sizing: border-box; - padding: calc(0.5 * var(--jse-padding, 10px)) 36px; -} -.jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item:where(.svelte-1k47orx):focus, .jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item:where(.svelte-1k47orx):hover { - background: var(--jse-navigation-bar-background-highlight, #e5e5e5); -} -.jse-navigation-bar-dropdown.svelte-1k47orx button.jse-navigation-bar-dropdown-item.jse-selected:where(.svelte-1k47orx) { - background: var(--jse-navigation-bar-dropdown-color, #656565); - color: var(--jse-navigation-bar-background, var(--jse-background-color, #fff)); -}`);var oNA=FA(''),aNA=FA(''),rNA=FA('
      ');function sNA(t,e){St(e,!1);var A=N(e,"items",9),i=N(e,"selectedItem",9),n=N(e,"onSelect",9);Ai(!0);var o=rNA(),a=CA(o);Qa(a,1,()=>(G(iv),G(A()),EA(()=>iv(A(),100))),g=>g,(g,l)=>{var C,I=oNA(),d=CA(I);ve((B,E)=>{C=$t(I,1,"jse-navigation-bar-dropdown-item svelte-1k47orx",null,C,{"jse-selected":c(l)===i()}),Mn(I,"title",B),Rt(d,E)},[()=>(c(l),EA(()=>c(l).toString())),()=>(G(XC),c(l),EA(()=>XC(c(l).toString(),30)))]),ue("click",I,VC(()=>n()(c(l)))),lA(g,I)});var r=bA(a,2),s=g=>{var l=aNA();Mn(l,"title","Limited to 100 items"),lA(g,l)};TA(r,g=>{G(A()),EA(()=>A().length>100)&&g(s)}),lA(t,o),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-navigation-bar-item.svelte-13sijxb { - position: relative; - display: flex; -} -.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button:where(.svelte-13sijxb) { - font-family: inherit; - font-size: inherit; - padding: calc(0.5 * var(--jse-padding, 10px)) 2px; - border: none; - background: transparent; - color: inherit; - cursor: pointer; - outline: none; - min-width: 2em; - white-space: nowrap; -} -.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button:where(.svelte-13sijxb):focus, .jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button:where(.svelte-13sijxb):hover { - background: var(--jse-panel-button-background-highlight, #e0e0e0); - color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); -} -.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button.jse-navigation-bar-arrow:where(.svelte-13sijxb) { - padding: 2px var(--jse-padding, 10px) 0; -} -.jse-navigation-bar-item.svelte-13sijxb button.jse-navigation-bar-button.jse-navigation-bar-arrow.jse-open:where(.svelte-13sijxb) { - background: var(--jse-navigation-bar-background, var(--jse-background-color, #fff)); - color: var(--jse-navigation-bar-dropdown-color, #656565); -} -.jse-navigation-bar-item.svelte-13sijxb:last-child { - padding-right: var(--jse-padding, 10px); -}`);var gNA=FA(''),lNA=FA('
      ');function WiA(t,e){St(e,!1);var A,i=IA(void 0,!0),n=IA(void 0,!0),{openAbsolutePopup:o,closeAbsolutePopup:a}=r1("absolute-popup"),r=N(e,"path",9),s=N(e,"index",9),g=N(e,"onSelect",9),l=N(e,"getItems",9),C=IA(void 0,!0),I=IA(!1,!0);function d(S){a(A),g()(c(i).concat(S))}RA(()=>(G(r()),G(s())),()=>{R(i,r().slice(0,s()))}),RA(()=>(G(r()),G(s())),()=>{R(n,r()[s()])}),kn(),Ai(!0);var B,E=lNA(),Q=CA(E);Vi(CA(Q),{get data(){return US}});var f=bA(Q,2),b=S=>{var M=gNA(),D=CA(M);ve(()=>Rt(D,c(n))),ue("click",M,()=>d(c(n))),lA(S,M)};TA(f,S=>{c(n)!==void 0&&S(b)}),Jo(E,S=>R(C,S),()=>c(C)),ve(()=>B=$t(Q,1,"jse-navigation-bar-button jse-navigation-bar-arrow svelte-13sijxb",null,B,{"jse-open":c(I)})),ue("click",Q,function(){if(c(C)){R(I,!0);var S={items:l()(c(i)),selectedItem:c(n),onSelect:d};A=o(sNA,S,{anchor:c(C),closeOnOuterClick:!0,onClose:()=>{R(I,!1)}})}}),lA(t,E),xt()}function uG(t){var e,A;if(navigator.clipboard)return navigator.clipboard.writeText(t);if((e=(A=document).queryCommandSupported)!==null&&e!==void 0&&e.call(A,"copy")){var i=document.createElement("textarea");i.value=t,i.style.position="fixed",i.style.opacity="0",document.body.appendChild(i),i.select();try{document.execCommand("copy")}catch(n){console.error(n)}finally{document.body.removeChild(i)}return Promise.resolve()}return console.error("Copy failed."),Promise.resolve()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-navigation-bar-path-editor.svelte-uyexy4 { - flex: 1; - display: flex; - border: var(--jse-edit-outline, 2px solid #656565); - background: var(--jse-background-color, #fff); -} -.jse-navigation-bar-path-editor.svelte-uyexy4 input.jse-navigation-bar-text:where(.svelte-uyexy4) { - flex: 1; - font-family: inherit; - font-size: inherit; - padding: 0 5px 1px; - background: var(--jse-background-color, #fff); - color: var(--jse-text-color, #4d4d4d); - border: none; - outline: none; -} -.jse-navigation-bar-path-editor.svelte-uyexy4 button:where(.svelte-uyexy4) { - border: none; - background: var(--jse-background-color, #fff); - cursor: pointer; - font-family: inherit; - font-size: 80%; - color: inherit; -} -.jse-navigation-bar-path-editor.svelte-uyexy4 button.jse-navigation-bar-copy.copied:where(.svelte-uyexy4) { - color: var(--message-success-background, #9ac45d); -} -.jse-navigation-bar-path-editor.svelte-uyexy4 button.jse-navigation-bar-validation-error:where(.svelte-uyexy4) { - color: var(--jse-error-color, #ee5341); -} -.jse-navigation-bar-path-editor.error.svelte-uyexy4 { - border-color: var(--jse-error-color, #ee5341); -} -.jse-navigation-bar-path-editor.error.svelte-uyexy4 input.jse-navigation-bar-text:where(.svelte-uyexy4) { - color: var(--jse-error-color, #ee5341); -} -.jse-navigation-bar-path-editor.svelte-uyexy4 .jse-copied-text:where(.svelte-uyexy4) { - background: var(--message-success-background, #9ac45d); - color: var(--jse-message-success-color, #fff); - position: relative; - margin: 2px; - padding: 0 5px; - border-radius: 3px; -}`);var cNA=FA(''),CNA=FA('
      Copied!
      '),INA=FA('
      ');function dNA(t,e){St(e,!1);var A=IA(),i=r1("absolute-popup"),n=N(e,"path",8),o=N(e,"pathParser",8),a=N(e,"onChange",8),r=N(e,"onClose",8),s=N(e,"onError",8),g=N(e,"pathExists",8),l=IA(),C=IA(),I=IA(!1),d=void 0,B=IA(!1);function E(){c(l).focus()}function Q(j){try{var AA=o().parse(j);return(function(O){if(!g()(O))throw new Error("Path does not exist in current document")})(AA),{path:AA,error:void 0}}catch(O){return{path:void 0,error:O}}}is(()=>{E()}),Hl(()=>{clearTimeout(d)}),RA(()=>(G(o()),G(n())),()=>{R(C,o().stringify(n()))}),RA(()=>(c(I),c(C)),()=>{R(A,c(I)?Q(c(C)).error:void 0)}),kn(),Ai();var f,b=INA(),S=CA(b);Jo(S,j=>R(l,j),()=>c(l));var M=bA(S,2),D=j=>{var AA=cNA();Vi(CA(AA),{get data(){return BI}}),vs(AA,(O,DA)=>wh?.(O,DA),()=>ye({text:String(c(A)||"")},i)),lA(j,AA)};TA(M,j=>{c(A)&&j(D)});var F=bA(M,2),_=j=>{lA(j,CNA())};TA(F,j=>{c(B)&&j(_)});var U,J=bA(F,2);Vi(CA(J),{get data(){return xC}}),ve(()=>{f=$t(b,1,"jse-navigation-bar-path-editor svelte-uyexy4",null,f,{error:c(A)}),AB(S,c(C)),U=$t(J,1,"jse-navigation-bar-copy svelte-uyexy4",null,U,{copied:c(B)})}),ue("keydown",S,VC(function(j){var AA=g2(j);if(AA==="Escape"&&(j.preventDefault(),r()()),AA==="Enter"){j.preventDefault(),R(I,!0);var O=Q(c(C));O.path!==void 0?a()(O.path):s()(O.error)}})),ue("input",S,function(j){R(C,j.currentTarget.value)}),ue("click",J,function(){uG(c(C)),R(B,!0),d=window.setTimeout(()=>R(B,!1),1e3),E()}),lA(t,b),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-navigation-bar.svelte-hjhal6 { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - background: var(--jse-panel-background, #ebebeb); - color: var(--jse-panel-button-color, inherit); - padding: 0; - margin: 0; - display: flex; - overflow: auto; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6) { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); - color: var(--jse-panel-color-readonly, #b2b2b2); - background: transparent; - border: none; - display: flex; - cursor: pointer; - outline: none; - align-items: center; -} -.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit.flex:where(.svelte-hjhal6) { - flex: 1; -} -.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6):focus, .jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6):hover, .jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit.editing:where(.svelte-hjhal6) { - background: var(--jse-panel-button-background-highlight, #e0e0e0); - color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); - transition: color 0.2s ease-in, background 0.2s ease-in; -} -.jse-navigation-bar.svelte-hjhal6 .jse-navigation-bar-edit:where(.svelte-hjhal6) .jse-navigation-bar-space:where(.svelte-hjhal6) { - flex: 1; - text-align: left; -}`);var BNA=FA(" ",1),ENA=FA('
      ');function QNA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=Cr("jsoneditor:NavigationBar"),o=N(e,"json",9),a=N(e,"selection",9),r=N(e,"onSelect",9),s=N(e,"onError",9),g=N(e,"pathParser",9),l=IA(void 0,!0),C=IA(!1,!0);function I(AA){n("get items for path",AA);var O=je(o(),AA);if(Array.isArray(O))return qw(0,O.length).map(String);if(pn(O)){var DA=Object.keys(O).slice(0);return DA.sort(UL),DA}return[]}function d(AA){return br(o(),AA)}function B(AA){n("select path",JSON.stringify(AA)),r()(Ds(AA,AA))}function E(){R(C,!1)}function Q(AA){E(),B(AA)}RA(()=>(G(a()),ct),()=>{R(A,a()?ct(a()):[])}),RA(()=>(G(o()),c(A)),()=>{R(i,aa(je(o(),c(A))))}),RA(()=>c(A),()=>{c(A),setTimeout(()=>{if(c(l)&&c(l).scrollTo){var AA=c(l).scrollWidth-c(l).clientWidth;AA>0&&(n("scrollTo ",AA),c(l).scrollTo({left:AA,behavior:"smooth"}))}})}),kn(),Ai(!0);var f=ENA(),b=CA(f),S=AA=>{var O=BNA(),DA=At(O);Qa(DA,1,()=>c(A),Na,(iA,BA,oA)=>{WiA(iA,{getItems:I,get path(){return c(A)},index:oA,onSelect:B})});var P=bA(DA,2),aA=iA=>{WiA(iA,{getItems:I,get path(){return c(A)},get index(){return c(A),EA(()=>c(A).length)},onSelect:B})};TA(P,iA=>{c(i)&&iA(aA)}),lA(AA,O)},M=AA=>{dNA(AA,{get path(){return c(A)},onClose:E,onChange:Q,get onError(){return s()},pathExists:d,get pathParser(){return g()}})};TA(b,AA=>{c(C)?AA(M,!1):AA(S)});var D,F=bA(b,2),_=CA(F),U=CA(_),J=bA(_,2),j=tt(()=>c(C)?gV:nV);Vi(J,{get data(){return c(j)}}),Jo(f,AA=>R(l,AA),()=>c(l)),ve(AA=>{D=$t(F,1,"jse-navigation-bar-edit svelte-hjhal6",null,D,{flex:!c(C),editing:c(C)}),Mn(F,"title",c(C)?"Cancel editing the selected path":"Edit the selected path"),Rt(U,AA)},[()=>(G(aa),G(o()),c(C),EA(()=>aa(o())||c(C)?"\xA0":"Navigation bar"))]),ue("click",F,function(){R(C,!c(C))}),lA(t,f),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-search-box.svelte-1x1x8q0 { - border: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); - border-radius: 3px; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - background: var(--jse-panel-background, #ebebeb); - color: var(--jse-panel-color-readonly, #b2b2b2); - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); - display: inline-block; - width: 400px; - max-width: 100%; - overflow: auto; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) { - display: flex; - align-items: stretch; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0), -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) input:where(.svelte-1x1x8q0) { - font-family: inherit; - font-size: inherit; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0) { - display: block; - text-align: center; - border: none; - padding: 0 5px; - margin: 0; - cursor: pointer; - color: var(--jse-panel-button-color, inherit); - background: var(--jse-panel-button-background, transparent); -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0):hover { - color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); - background: var(--jse-panel-button-background-highlight, #e0e0e0); -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) input:where(.svelte-1x1x8q0) { - color: var(--jse-panel-color, var(--jse-text-color, #4d4d4d)); - border: var(--jse-input-border, 1px solid #d8dbdf); - border-radius: 3px; - background: var(--jse-input-background, var(--jse-background-color, #fff)); - height: 28px; - padding: 0 5px; - margin: 0; - flex: 1; - width: 0; - min-width: 50px; - outline: none; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-replace-toggle:where(.svelte-1x1x8q0) { - padding: var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)); - min-width: 20px; - background: var(--jse-panel-button-background-highlight, #e0e0e0); -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) { - flex: 1; - display: flex; - flex-direction: column; - padding: calc(0.5 * var(--jse-padding, 10px)); - gap: calc(0.5 * var(--jse-padding, 10px)); -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) { - flex: 1; - display: flex; - align-items: center; - position: relative; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) .jse-search-icon:where(.svelte-1x1x8q0) { - color: inherit; - cursor: inherit; - background: inherit; - width: 32px; - text-align: center; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) label.jse-search-input-label:where(.svelte-1x1x8q0) { - flex: 1; - display: flex; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) .jse-search-count:where(.svelte-1x1x8q0) { - color: inherit; - font-size: 80%; - visibility: hidden; - padding: 0 5px; - min-width: 36px; - text-align: center; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-search-section:where(.svelte-1x1x8q0) .jse-search-count.jse-visible:where(.svelte-1x1x8q0) { - visibility: visible; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-replace-section:where(.svelte-1x1x8q0) { - flex: 1; - display: flex; - padding-left: 32px; -} -.jse-search-box.svelte-1x1x8q0 .jse-search-form:where(.svelte-1x1x8q0) .jse-search-contents:where(.svelte-1x1x8q0) .jse-replace-section:where(.svelte-1x1x8q0) button:where(.svelte-1x1x8q0) { - width: auto; -}`);var hNA=FA(''),uNA=FA('
      '),fNA=FA('');function eaA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=Cr("jsoneditor:SearchBox"),a=N(e,"json",9),r=N(e,"documentState",9),s=N(e,"parser",9),g=N(e,"showSearch",9),l=N(e,"showReplace",13),C=N(e,"readOnly",9),I=N(e,"columns",9),d=N(e,"onSearch",9),B=N(e,"onFocus",9),E=N(e,"onPatch",9),Q=N(e,"onClose",9),f=IA("",!0),b="",S=IA("",!0),M=IA(!1,!0),D=IA(void 0,!0),F=qE(function(MA){return KA.apply(this,arguments)},300),_=qE(function(MA){return Pe.apply(this,arguments)},300);function U(){l(!l()&&!C())}function J(MA){MA.stopPropagation();var be=g2(MA);be==="Enter"&&(MA.preventDefault(),c(f)!==b?F.flush():oA()),be==="Shift+Enter"&&(MA.preventDefault(),hA()),be==="Ctrl+Enter"&&(MA.preventDefault(),l()?DA():oA()),be==="Ctrl+H"&&(MA.preventDefault(),U()),be==="Escape"&&(MA.preventDefault(),uA())}function j(MA){g2(MA)==="Enter"&&(MA.preventDefault(),MA.stopPropagation(),DA())}function AA(){return O.apply(this,arguments)}function O(){return(O=Tt(function*(){Mo(),yield F.flush()})).apply(this,arguments)}function DA(){return P.apply(this,arguments)}function P(){return(P=Tt(function*(){var MA;if(!C()){var be=(MA=c(D))===null||MA===void 0?void 0:MA.activeItem;if(o("handleReplace",{replaceText:c(S),activeItem:be}),c(D)&&be&&a()!==void 0){R(D,ye(ye({},xiA(c(D))),{},{activeIndex:c(i)}));var{operations:LA,newSelection:pA}=USA(a(),r(),c(S),be,s());E()(LA,(Ft,ht)=>({state:ht,selection:pA})),Mo(),yield _.flush(),yield ee()}}})).apply(this,arguments)}function aA(){return iA.apply(this,arguments)}function iA(){return(iA=Tt(function*(){if(!C()){o("handleReplaceAll",{text:c(f),replaceText:c(S)});var{operations:MA,newSelection:be}=(function(LA,pA,Ft,ht,Ee){for(var Kt=RiA(Ft,LA,{maxResults:1/0}),Ye=[],ze=0;zez.field!==nA.field?z.field===Yc.key?1:-1:nA.path.length-z.path.length);var ei,Y=[];return Ye.forEach(z=>{var{field:nA,path:rA,items:NA}=z;if(nA===Yc.key){var Ie=Ki(rA),Qe=je(LA,Ie),xA=mi(rA),_A=dm(Ie,Object.keys(Qe),xA,FiA(xA,ht,NA));Y=Y.concat(_A),ei=ph(LA,_A)}else{if(nA!==Yc.value)throw new Error("Cannot replace: unknown type of search result field ".concat(nA));var Et=je(LA,rA);if(Et===void 0)throw new Error("Cannot replace: path not found ".concat(wt(rA)));var et=typeof Et=="string"?Et:String(Et),Te=P0(LA,pA,rA),Le=FiA(et,ht,NA),si=[{op:"replace",path:wt(rA),value:Te?Le:Rh(Le,Ee)}];Y=Y.concat(si),ei=ph(LA,si)}}),{operations:Y,newSelection:ei}})(a(),r(),c(f),c(S),s());E()(MA,(LA,pA)=>({state:pA,selection:be})),yield ee()}})).apply(this,arguments)}function BA(MA){MA.select()}function oA(){return sA.apply(this,arguments)}function sA(){return(sA=Tt(function*(){R(D,c(D)?xiA(c(D)):void 0),yield ee()})).apply(this,arguments)}function hA(){return YA.apply(this,arguments)}function YA(){return YA=Tt(function*(){R(D,c(D)?(function(MA){var be=MA.activeIndex>0?MA.activeIndex-1:MA.items.length-1,LA=MA.items[be],pA=MA.items.map((Ft,ht)=>ye(ye({},Ft),{},{active:ht===be}));return ye(ye({},MA),{},{items:pA,activeItem:LA,activeIndex:be})})(c(D)):void 0),yield ee()}),YA.apply(this,arguments)}function ee(){return UA.apply(this,arguments)}function UA(){return(UA=Tt(function*(){var MA;o("handleFocus",c(D));var be=(MA=c(D))===null||MA===void 0?void 0:MA.activeItem;be&&a()!==void 0&&(yield B()(be.path,be.resultIndex))})).apply(this,arguments)}function mA(){return mA=Tt(function*(MA){yield Je(MA,c(f),a())}),mA.apply(this,arguments)}function KA(){return KA=Tt(function*(MA){yield Je(g(),MA,a()),yield ee()}),KA.apply(this,arguments)}function Pe(){return Pe=Tt(function*(MA){yield Je(g(),c(f),MA)}),Pe.apply(this,arguments)}function Je(MA,be,LA){return HA.apply(this,arguments)}function HA(){return HA=Tt(function*(MA,be,LA){return MA?(o("applySearch",{showSearch:MA,text:be}),be===""?(o("clearing search result"),c(D)!==void 0&&R(D,void 0),Promise.resolve()):(b=be,R(M,!0),new Promise(pA=>{setTimeout(()=>{var Ft=RiA(be,LA,{maxResults:Z_,columns:I()});R(D,(function(ht,Ee){var Kt=Ee!=null&&Ee.activeItem?_iA(Ee.activeItem):void 0,Ye=ht.findIndex(Me=>Qi(Kt,_iA(Me))),ze=Ye!==-1?Ye:Ee?.activeIndex!==void 0&&Ee?.activeIndex0?0:-1,ut=ht.map((Me,ei)=>ye(ye({resultIndex:ei},Me),{},{active:ei===ze}));return{items:ut,activeItem:ut[ze],activeIndex:ze}})(Ft,c(D))),R(M,!1),pA()})}))):(c(D)&&R(D,void 0),Promise.resolve())}),HA.apply(this,arguments)}function uA(){o("handleClose"),F.cancel(),_.cancel(),Je(!1,c(f),a()),Q()()}RA(()=>c(D),()=>{var MA;R(A,((MA=c(D))===null||MA===void 0||(MA=MA.items)===null||MA===void 0?void 0:MA.length)||0)}),RA(()=>c(D),()=>{var MA;R(i,((MA=c(D))===null||MA===void 0?void 0:MA.activeIndex)||0)}),RA(()=>(c(A),Z_),()=>{R(n,c(A)>=Z_?"".concat(999,"+"):String(c(A)))}),RA(()=>(G(d()),c(D)),()=>{d()(c(D))}),RA(()=>G(g()),()=>{(function(MA){mA.apply(this,arguments)})(g())}),RA(()=>c(f),()=>{F(c(f))}),RA(()=>G(a()),()=>{_(a())}),kn(),Ai(!0);var ZA=bi(),QA=At(ZA),WA=MA=>{var be=fNA(),LA=CA(be),pA=CA(LA),Ft=xA=>{var _A=hNA(),Et=CA(_A),et=tt(()=>l()?M0:WE);Vi(Et,{get data(){return c(et)}}),ue("click",_A,U),lA(xA,_A)};TA(pA,xA=>{C()||xA(Ft)});var ht=CA(bA(pA,2)),Ee=CA(ht),Kt=CA(Ee),Ye=xA=>{Vi(xA,{get data(){return iV},spin:!0})},ze=xA=>{Vi(xA,{get data(){return g3}})};TA(Kt,xA=>{c(M)?xA(Ye):xA(ze,!1)});var ut=bA(Ee,2),Me=CA(ut);Nr(()=>tv(Me,()=>c(f),xA=>R(f,xA))),vs(Me,xA=>BA?.(xA)),Nr(()=>ue("paste",Me,AA));var ei,Y=bA(ut,2),z=CA(Y),nA=bA(Y,2);Vi(CA(nA),{get data(){return lV}});var rA=bA(nA,2);Vi(CA(rA),{get data(){return tV}});var NA=bA(rA,2);Vi(CA(NA),{get data(){return c3}});var Ie=bA(ht,2),Qe=xA=>{var _A=uNA(),Et=CA(_A),et=bA(Et,2),Te=bA(et,2);tv(Et,()=>c(S),Le=>R(S,Le)),ue("keydown",Et,j),ue("click",et,DA),ue("click",Te,aA),lA(xA,_A)};TA(Ie,xA=>{l()&&!C()&&xA(Qe)}),ve(()=>{var xA;ei=$t(Y,1,"jse-search-count svelte-1x1x8q0",null,ei,{"jse-visible":c(f)!==""}),Rt(z,"".concat(c(i)!==-1&&c(i){g()&&MA(WA)}),lA(t,ZA),xt()}var tm=Symbol("path");function mNA(t,e){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,i={};Array.isArray(t)&&(function(o,a,r){if(o.length1?(o.length-1)/(a-1):o.length,g=0;g{pn(o)?taA(o,i,e):i[tm]=!0});var n=[];return tm in i&&n.push([]),iaA(i,[],n,e),n}function taA(t,e,A){for(var i in t){var n=t[i],o=e[i]||(e[i]={});pn(n)&&A?taA(n,o,A):o[tm]===void 0&&(o[tm]=!0)}}function iaA(t,e,A,i){for(var n in t){var o=e.concat(n),a=t[n];a&&a[tm]===!0&&A.push(o),ia(a)&&i&&iaA(a,o,A,i)}}function pNA(t,e,A,i,n,o){for(var a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:80,r=qo(A)?A.length:0,s=(function(b,S){var M=Object.values(b);if(qi(M))return S;var D=(F,_)=>F+_;return M.reduce(D)/M.length})(i,n),g=t-a,l=e+2*a,C=b=>i[b]||n,I=0,d=o;d0&&(d-=C(--I));for(var B=I,E=0;EW0(i,o))}}function Kd(t,e){var{rowIndex:A,columnIndex:i}=t;return[String(A),...e[i]]}function wNA(t,e){var[A,i]=vS(t,a=>XL(a.path[0])),n=DS(A,DNA),o=yS(n,a=>{var r={row:[],columns:{}};return a.forEach(s=>{var g=(function(l,C){var I=Ll(l.path,C);return I.columnIndex!==-1?I.columnIndex:-1})(s,e);g!==-1?(r.columns[g]===void 0&&(r.columns[g]=[]),r.columns[g].push(s)):r.row.push(s)}),r});return{root:i,rows:o}}function VQ(t,e){if(e&&e.length!==0)return e.length===1?e[0]:{path:t,message:"Multiple validation issues: "+e.map(A=>vg(A.path)+" "+A.message).join(", "),severity:Jc.warning}}function DNA(t){return parseInt(t.path[0],10)}function yNA(t,e,A){var i=e.some(n=>(function(o,a,r){if(!o)return!1;if(a.op==="replace"){var s=Qs(a.path),{rowIndex:g,columnIndex:l}=Ll(s,r),C=r.findIndex(I=>Qi(I,o.path));if(g!==-1&&l!==-1&&l!==C)return!1}return!0})(t,n,A));return i?void 0:t}var ys=Cr("jsoneditor:actions");function naA(t){return JL.apply(this,arguments)}function JL(){return JL=Tt(function*(t){var{json:e,selection:A,indentation:i,readOnly:n,parser:o,onPatch:a}=t;if(!n&&e!==void 0&&A&&ih(A)){var r=voA(e,A,i,o);if(r!==void 0){ys("cut",{selection:A,clipboard:r,indentation:i}),yield uG(r);var{operations:s,newSelection:g}=RoA(e,A);a(s,(l,C)=>({state:C,selection:g}))}}}),JL.apply(this,arguments)}function oaA(t){return YL.apply(this,arguments)}function YL(){return YL=Tt(function*(t){var{json:e,selection:A,indentation:i,parser:n}=t,o=voA(e,A,i,n);o!==void 0&&(ys("copy",{clipboard:o,indentation:i}),yield uG(o))}),YL.apply(this,arguments)}function aaA(t){var{clipboardText:e,json:A,selection:i,readOnly:n,parser:o,onPatch:a,onChangeText:r,onPasteMultilineText:s,openRepairModal:g}=t;if(!n)try{l(e)}catch{g(e,I=>{ys("repaired pasted text: ",I),l(I)})}function l(C){if(A!==void 0){var I=i||Ui([]),d=xoA(A,I,C,o),B=(function(E,Q,f){var b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:xSA;if(E.length>b)return!1;var S=/\n/.test(E);if(!S)return!1;var M=Q.some(F=>F.op==="replace"&&Array.isArray(F.value)),D=Q.filter(F=>F.op==="add").length>1;if(!M&&!D)return!1;try{return lm(E,f.parse),!1}catch{return!0}})(e,d,o);ys("paste",{pastedText:C,operations:d,ensureSelection:I,pasteMultilineText:B}),a(d,(E,Q)=>{var f=Q;return d.filter(b=>($k(b)||gw(b))&&aa(b.value)).forEach(b=>{var S=cg(A,b.path);f=tB(E,f,S)}),{state:f}}),B&&s(C)}else ys("paste text",{pastedText:C}),r(e,(E,Q)=>{if(E)return{state:tB(E,Q,[])}})}}function raA(t){var{json:e,text:A,selection:i,keepSelection:n,readOnly:o,onChange:a,onPatch:r}=t;if(!o&&i){var s=e!==void 0&&(cr(i)||In(i))?Ds(i.path,i.path):i;if(qi(ct(i)))ys("remove root",{selection:i}),a&&a({text:"",json:void 0},e!==void 0?{text:void 0,json:e}:{text:A||"",json:e},{contentErrors:void 0,patchResult:void 0});else if(e!==void 0){var{operations:g,newSelection:l}=RoA(e,s);ys("remove",{operations:g,selection:i,newSelection:l}),r(g,(C,I)=>({state:I,selection:n?i:l}))}}}function hv(t){var{insertType:e,selectInside:A,initialValue:i,json:n,selection:o,readOnly:a,parser:r,onPatch:s,onReplaceJson:g}=t;if(!a){var l=(function(E,Q,f){if(f==="object")return{};if(f==="array")return[];if(f==="structure"&&E!==void 0){var b=Q?DoA(Q):[],S=je(E,b);if(Array.isArray(S)&&!qi(S)){var M=Dl(S);return aa(M)?fS(M,D=>Array.isArray(D)?[]:pn(D)?void 0:""):""}}return""})(n,o,e);if(n!==void 0){var C=r.stringify(l),I=xoA(n,o,C,r);ys("onInsert",{insertType:e,operations:I,newValue:l,data:C});var d=mi(I.filter(E=>E.op==="add"||E.op==="replace"));s(I,(E,Q,f)=>{if(d){var b=cg(E,d.path);if(aa(l))return{state:Kc(E,Q,b,IG),selection:A?c2(b):f};if(l===""){var S=qi(b)?void 0:je(E,Ki(b));return{state:Kc(E,Q,b,Vy),selection:pn(S)?dG(b,i):sv(b,i)}}}}),ys("after patch")}else{ys("onInsert",{insertType:e,newValue:l});var B=[];g(l,(E,Q)=>({state:tB(E,Q,B),selection:aa(l)?c2(B):sv(B)}))}}}function saA(t){return TL.apply(this,arguments)}function TL(){return TL=Tt(function*(t){var{char:e,selectInside:A,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s,onSelect:g}=t;o||(cr(n)?g(ye(ye({},n),{},{edit:!0,initialValue:e})):e==="{"?hv({insertType:"object",selectInside:A,initialValue:void 0,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s}):e==="["?hv({insertType:"array",selectInside:A,initialValue:void 0,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s}):In(n)&&i!==void 0?aa(je(i,n.path))||g(ye(ye({},n),{},{edit:!0,initialValue:e})):(ys("onInsertValueWithCharacter",{char:e}),yield(function(l){return HL.apply(this,arguments)})({char:e,json:i,selection:n,readOnly:o,parser:a,onPatch:r,onReplaceJson:s})))}),TL.apply(this,arguments)}function HL(){return HL=Tt(function*(t){var{char:e,json:A,selection:i,readOnly:n,parser:o,onPatch:a,onReplaceJson:r}=t;n||hv({insertType:"value",selectInside:!1,initialValue:e,json:A,selection:i,readOnly:n,parser:o,onPatch:a,onReplaceJson:r})}),HL.apply(this,arguments)}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-json-preview.svelte-25xmyd { - flex: 1; - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - color: var(--jse-panel-color-readonly, #b2b2b2); - overflow: auto; - white-space: pre-wrap; - padding: 2px; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -}`);var vNA=FA('
      ');function gaA(t,e){St(e,!1);var A=IA(),i=IA(),n=N(e,"text",8),o=N(e,"json",8),a=N(e,"indentation",8),r=N(e,"parser",8);RA(()=>(G(o()),G(n())),()=>{R(A,o()!==void 0?{json:o()}:{text:n()||""})}),RA(()=>(c(A),G(a()),G(r()),nv),()=>{R(i,XC(DL(c(A),a(),r()),nv))}),kn(),Ai();var s=vNA(),g=CA(s);ve(()=>Rt(g,c(i))),lA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -button.jse-context-menu-button.svelte-16jz6ui { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - flex: 1; - white-space: nowrap; - padding: var(--jse-padding, 10px); - color: inherit; -} -button.jse-context-menu-button.svelte-16jz6ui:hover { - background: var(--jse-context-menu-background-highlight, #7a7a7a); -} -button.jse-context-menu-button.svelte-16jz6ui:focus { - background: var(--jse-context-menu-background-highlight, #7a7a7a); - z-index: 1; -} -button.jse-context-menu-button.svelte-16jz6ui:disabled { - color: var(--jse-context-menu-color-disabled, #9d9d9d); - background: unset; -} -button.jse-context-menu-button.left.svelte-16jz6ui { - text-align: left; -} -button.jse-context-menu-button.svelte-16jz6ui svg { - width: 16px; -}`);var bNA=FA('');function lL(t,e){St(e,!1);var A=N(e,"item",8),i=N(e,"className",8,void 0),n=N(e,"onRequestClose",8);Ai();var o=bNA(),a=CA(o),r=l=>{Vi(l,{get data(){return G(A()),EA(()=>A().icon)}})};TA(a,l=>{G(A()),EA(()=>A().icon)&&l(r)});var s=bA(a,2),g=l=>{var C=ur();ve(()=>Rt(C,(G(A()),EA(()=>A().text)))),lA(l,C)};TA(s,l=>{G(A()),EA(()=>A().text)&&l(g)}),ve(l=>{$t(o,1,l,"svelte-16jz6ui"),Mn(o,"title",(G(A()),EA(()=>A().title))),o.disabled=(G(A()),EA(()=>A().disabled||!1))},[()=>n1((G(Pc),G(i()),G(A()),EA(()=>Pc("jse-context-menu-button",i(),A().className))))]),ue("click",o,l=>{n()(),A().onClick(l)}),lA(t,o),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-dropdown-button.svelte-bov1j6 { - flex: 1; - line-height: normal; - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - position: relative; - padding: 0; - display: flex; -} -.jse-dropdown-button.svelte-bov1j6 ul:where(.svelte-bov1j6) { - margin: 0; - padding: 0; -} -.jse-dropdown-button.svelte-bov1j6 ul:where(.svelte-bov1j6) li:where(.svelte-bov1j6) { - margin: 0; - padding: 0; - list-style-type: none; -} -.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - width: 2em; - background: var(--jse-context-menu-background, #656565); - color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); - border-radius: 0; -} -.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown.jse-visible:where(.svelte-bov1j6) { - background: var(--jse-context-menu-background, #656565); -} -.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6):hover { - background: var(--jse-context-menu-background-highlight, #7a7a7a); -} -.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6):focus { - z-index: 1; -} -.jse-dropdown-button.svelte-bov1j6 button.jse-open-dropdown:where(.svelte-bov1j6):disabled { - color: var(--jse-context-menu-color-disabled, #9d9d9d); - background: unset; -} -.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) { - display: none; - position: absolute; - top: 100%; - left: 0; - z-index: 1; - background: var(--jse-context-menu-background, #656565); - color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); -} -.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items.jse-visible:where(.svelte-bov1j6) { - display: block; -} -.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) button:where(.svelte-bov1j6) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - width: 100%; - text-align: left; - padding: var(--jse-padding, 10px); - margin: 0; -} -.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) button:where(.svelte-bov1j6):hover { - background: var(--jse-context-menu-background-highlight, #7a7a7a); -} -.jse-dropdown-button.svelte-bov1j6 .jse-dropdown-items:where(.svelte-bov1j6) button:where(.svelte-bov1j6):disabled { - color: var(--jse-context-menu-color-disabled, #9d9d9d); - background: unset; -}`);var MNA=FA('
    • '),kNA=FA('
        ');qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -button.jse-context-menu-button.svelte-1y5l9l1 { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - flex: 1; - white-space: nowrap; - padding: var(--jse-padding, 10px); - color: inherit; -} -button.jse-context-menu-button.svelte-1y5l9l1:hover { - background: var(--jse-context-menu-background-highlight, #7a7a7a); -} -button.jse-context-menu-button.svelte-1y5l9l1:focus { - background: var(--jse-context-menu-background-highlight, #7a7a7a); - z-index: 1; -} -button.jse-context-menu-button.svelte-1y5l9l1:disabled { - color: var(--jse-context-menu-color-disabled, #9d9d9d); - background: unset; -} -button.jse-context-menu-button.left.svelte-1y5l9l1 { - text-align: left; -} -button.jse-context-menu-button.svelte-1y5l9l1 svg { - width: 16px; -}`);var SNA=FA('');function cL(t,e){St(e,!1);var A=IA(),i=N(e,"item",8),n=N(e,"className",8,void 0),o=N(e,"onRequestClose",8);RA(()=>(G(i()),G(o())),()=>{R(A,i().items.map(a=>ye(ye({},a),{},{onClick:r=>{o()(),a.onClick(r)}})))}),kn(),Ai(),(function(a,r){St(r,!1);var s=IA(void 0,!0),g=N(r,"items",25,()=>[]),l=N(r,"title",9,void 0),C=N(r,"width",9,"120px"),I=IA(!1,!0);function d(){R(I,!1)}function B(D){g2(D)==="Escape"&&(D.preventDefault(),R(I,!1))}is(()=>{document.addEventListener("click",d),document.addEventListener("keydown",B)}),Hl(()=>{document.removeEventListener("click",d),document.removeEventListener("keydown",B)}),RA(()=>G(g()),()=>{R(s,g().every(D=>D.disabled===!0))}),kn(),Ai(!0);var E=kNA(),Q=CA(E);Ea(Q,r,"defaultItem",{},null);var f,b=bA(Q,2);Vi(CA(b),{get data(){return M0}});var S,M=bA(b,2);Qa(CA(M),5,g,Na,(D,F)=>{var _=MNA(),U=CA(_),J=CA(U),j=O=>{Vi(O,{get data(){return c(F),EA(()=>c(F).icon)}})};TA(J,O=>{c(F),EA(()=>c(F).icon)&&O(j)});var AA=bA(J);ve(()=>{var O;Mn(U,"title",(c(F),EA(()=>c(F).title))),U.disabled=(c(F),EA(()=>c(F).disabled)),$t(U,1,n1((c(F),EA(()=>c(F).className))),"svelte-bov1j6"),Rt(AA," ".concat((c(F),(O=EA(()=>c(F).text))!==null&&O!==void 0?O:"")))}),ue("click",U,O=>c(F).onClick(O)),lA(D,_)}),ve(()=>{var D;Mn(E,"title",l()),f=$t(b,1,"jse-open-dropdown svelte-bov1j6",null,f,{"jse-visible":c(I)}),b.disabled=c(s),S=$t(M,1,"jse-dropdown-items svelte-bov1j6",null,S,{"jse-visible":c(I)}),Yl(M,"width: ".concat((D=C())!==null&&D!==void 0?D:"",";"))}),ue("click",b,function(){var D=c(I);setTimeout(()=>R(I,!D))}),ue("click",E,d),lA(a,E),xt()})(t,{get width(){return G(i()),EA(()=>i().width)},get items(){return c(A)},$$slots:{defaultItem:(a,r)=>{var s=SNA(),g=CA(s),l=I=>{Vi(I,{get data(){return G(i()),EA(()=>i().main.icon)}})};TA(g,I=>{G(i()),EA(()=>i().main.icon)&&I(l)});var C=bA(g);ve(I=>{var d;$t(s,1,I,"svelte-1y5l9l1"),Mn(s,"title",(G(i()),EA(()=>i().main.title))),s.disabled=(G(i()),EA(()=>i().main.disabled||!1)),Rt(C," ".concat((G(i()),(d=EA(()=>i().main.text))!==null&&d!==void 0?d:"")))},[()=>n1((G(Pc),G(n()),G(i()),EA(()=>Pc("jse-context-menu-button",n(),i().main.className))))]),ue("click",s,I=>{o()(),i().main.onClick(I)}),lA(a,s)}}}),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-contextmenu.svelte-1shjn02 { - box-shadow: var(--jse-controls-box-shadow, 0 2px 6px 0 rgba(0, 0, 0, 0.24)); - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - background: var(--jse-context-menu-background, #656565); - color: var(--jse-context-menu-color, var(--jse-text-color-inverse, #fff)); -} -.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) { - display: flex; - flex-direction: row; - align-items: flex-start; - justify-content: stretch; -} -.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) div.jse-label:where(.svelte-1shjn02) { - flex: 1; - white-space: nowrap; - padding: var(--jse-padding, 10px); - color: var(--jse-context-menu-color-disabled, #9d9d9d); - line-height: normal; -} -.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) div.jse-tip:where(.svelte-1shjn02) { - flex: 1; - background: var(--jse-context-menu-tip-background, rgba(255, 255, 255, 0.2)); - color: var(--context-menu-tip-color, inherit); - margin: calc(0.5 * var(--jse-padding, 10px)); - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); - font-size: 80%; - line-height: 1.3em; - display: flex; - flex-direction: row; - align-items: flex-start; - gap: var(--jse-padding, 10px); - border-radius: 3px; -} -.jse-contextmenu.svelte-1shjn02 .jse-row:where(.svelte-1shjn02) div.jse-tip:where(.svelte-1shjn02) div.jse-tip-icon:where(.svelte-1shjn02) { - padding-top: calc(0.5 * var(--jse-padding, 10px)); -} -.jse-contextmenu.svelte-1shjn02 .jse-column:where(.svelte-1shjn02) { - flex: 1; - display: flex; - flex-direction: column; - align-items: stretch; -} -.jse-contextmenu.svelte-1shjn02 .jse-column:where(.svelte-1shjn02):not(:last-child) { - border-right: 1px solid var(--jse-context-menu-separator-color, #7a7a7a); -} -.jse-contextmenu.svelte-1shjn02 .jse-separator:where(.svelte-1shjn02) { - width: 100%; - height: 1px; - background: var(--jse-context-menu-separator-color, #7a7a7a); -}`);var xNA=FA('
        '),RNA=FA('
        '),NNA=FA('
        '),FNA=FA('
        '),_NA=FA('
        '),LNA=FA('
        '),GNA=FA('
        '),KNA=FA('');function laA(t,e){St(e,!1);var A=N(e,"items",9),i=N(e,"onRequestClose",9),n=N(e,"tip",9),o=IA(void 0,!0);is(()=>{var I=Array.from(c(o).querySelectorAll("button")).find(d=>!d.disabled);I&&I.focus()});var a={ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right"};function r(I){return console.error("Unknown type of context menu item",I),"???"}Ai(!0);var s=KNA(),g=CA(s);Qa(g,1,A,Na,(I,d)=>{var B=bi(),E=At(B),Q=b=>{lL(b,{get item(){return c(d)},get onRequestClose(){return i()}})},f=b=>{var S=bi(),M=At(S),D=_=>{cL(_,{get item(){return c(d)},get onRequestClose(){return i()}})},F=_=>{var U=bi(),J=At(U),j=O=>{var DA=_NA();Qa(DA,5,()=>(c(d),EA(()=>c(d).items)),Na,(P,aA)=>{var iA=bi(),BA=At(iA),oA=hA=>{lL(hA,{get item(){return c(aA)},get onRequestClose(){return i()}})},sA=hA=>{var YA=bi(),ee=At(YA),UA=KA=>{cL(KA,{get item(){return c(aA)},get onRequestClose(){return i()}})},mA=KA=>{var Pe=bi(),Je=At(Pe),HA=ZA=>{var QA=NNA();Qa(QA,5,()=>(c(aA),EA(()=>c(aA).items)),Na,(WA,MA)=>{var be=bi(),LA=At(be),pA=ht=>{lL(ht,{className:"left",get item(){return c(MA)},get onRequestClose(){return i()}})},Ft=ht=>{var Ee=bi(),Kt=At(Ee),Ye=ut=>{cL(ut,{className:"left",get item(){return c(MA)},get onRequestClose(){return i()}})},ze=ut=>{var Me=bi(),ei=At(Me),Y=nA=>{lA(nA,xNA())},z=nA=>{var rA=bi(),NA=At(rA),Ie=xA=>{var _A=RNA(),Et=CA(_A);ve(()=>Rt(Et,(c(MA),EA(()=>c(MA).text)))),lA(xA,_A)},Qe=xA=>{var _A=ur();ve(Et=>Rt(_A,Et),[()=>(c(MA),EA(()=>r(c(MA))))]),lA(xA,_A)};TA(NA,xA=>{G(EiA),c(MA),EA(()=>EiA(c(MA)))?xA(Ie):xA(Qe,!1)},!0),lA(nA,rA)};TA(ei,nA=>{G(OI),c(MA),EA(()=>OI(c(MA)))?nA(Y):nA(z,!1)},!0),lA(ut,Me)};TA(Kt,ut=>{G(jQ),c(MA),EA(()=>jQ(c(MA)))?ut(Ye):ut(ze,!1)},!0),lA(ht,Ee)};TA(LA,ht=>{G(WC),c(MA),EA(()=>WC(c(MA)))?ht(pA):ht(Ft,!1)}),lA(WA,be)}),lA(ZA,QA)},uA=ZA=>{var QA=bi(),WA=At(QA),MA=LA=>{lA(LA,FNA())},be=LA=>{var pA=ur();ve(Ft=>Rt(pA,Ft),[()=>(c(aA),EA(()=>r(c(aA))))]),lA(LA,pA)};TA(WA,LA=>{G(OI),c(aA),EA(()=>OI(c(aA)))?LA(MA):LA(be,!1)},!0),lA(ZA,QA)};TA(Je,ZA=>{G(hiA),c(aA),EA(()=>hiA(c(aA)))?ZA(HA):ZA(uA,!1)},!0),lA(KA,Pe)};TA(ee,KA=>{G(jQ),c(aA),EA(()=>jQ(c(aA)))?KA(UA):KA(mA,!1)},!0),lA(hA,YA)};TA(BA,hA=>{G(WC),c(aA),EA(()=>WC(c(aA)))?hA(oA):hA(sA,!1)}),lA(P,iA)}),lA(O,DA)},AA=O=>{var DA=bi(),P=At(DA),aA=BA=>{lA(BA,LNA())},iA=BA=>{var oA=ur();ve(sA=>Rt(oA,sA),[()=>(c(d),EA(()=>r(c(d))))]),lA(BA,oA)};TA(P,BA=>{G(OI),c(d),EA(()=>OI(c(d)))?BA(aA):BA(iA,!1)},!0),lA(O,DA)};TA(J,O=>{G(QiA),c(d),EA(()=>QiA(c(d)))?O(j):O(AA,!1)},!0),lA(_,U)};TA(M,_=>{G(jQ),c(d),EA(()=>jQ(c(d)))?_(D):_(F,!1)},!0),lA(b,S)};TA(E,b=>{G(WC),c(d),EA(()=>WC(c(d)))?b(Q):b(f,!1)}),lA(I,B)});var l=bA(g,2),C=I=>{var d=GNA(),B=CA(d),E=CA(B);Vi(CA(E),{get data(){return Wq}});var Q=CA(bA(E,2));ve(()=>Rt(Q,n())),lA(I,d)};TA(l,I=>{n()&&I(C)}),Jo(s,I=>R(o,I),()=>c(o)),ue("keydown",s,function(I){var d=g2(I),B=a[d];if(B&&I.target){I.preventDefault();var E=lSA({allElements:Array.from(c(o).querySelectorAll("button:not([disabled])")),currentElement:I.target,direction:B,hasPrio:Q=>Q.getAttribute("data-type")!=="jse-open-dropdown"});E&&E.focus()}}),lA(t,s),xt()}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-value.jse-string.svelte-1htmvf1 { - color: var(--jse-value-color-string, #008000); -} -.jse-value.jse-object.svelte-1htmvf1, .jse-value.jse-array.svelte-1htmvf1 { - min-width: 16px; - color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); -} -.jse-value.jse-number.svelte-1htmvf1 { - color: var(--jse-value-color-number, #ee422e); -} -.jse-value.jse-boolean.svelte-1htmvf1 { - color: var(--jse-value-color-boolean, #ff8c00); -} -.jse-value.jse-null.svelte-1htmvf1 { - color: var(--jse-value-color-null, #004ed0); -} -.jse-value.jse-invalid.svelte-1htmvf1 { - color: var(--jse-text-color, #4d4d4d); -} -.jse-value.jse-url.svelte-1htmvf1 { - color: var(--jse-value-color-url, #008000); - text-decoration: underline; -} - -.jse-enum-value.svelte-1htmvf1 { - background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); - border: none; - padding: 0; - font-family: inherit; - font-size: inherit; - cursor: pointer; - outline: none; -} -.jse-enum-value.jse-selected.svelte-1htmvf1 { - background: var(--jse-selection-background-color, #d3d3d3); - color: inherit; -} -.jse-enum-value.jse-value.svelte-1htmvf1:focus { - color: var(--jse-text-color, #4d4d4d); -}`);var s5e=FA(""),g5e=FA("");var Uy,Jy;function Yy(t,e){return Uy||(Jy=new WeakMap,Uy=new ResizeObserver(A=>{for(var i of A){var n=Jy.get(i.target);n&&n(i.target)}})),Jy.set(t,e),Uy.observe(t),{destroy:()=>{Jy.delete(t),Uy.unobserve(t)}}}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-tree-mode.svelte-10mlrw4 { - flex: 1; - display: flex; - flex-direction: column; - position: relative; - background: var(--jse-background-color, #fff); - min-width: 0; - min-height: 0; - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - color: var(--jse-text-color, #4d4d4d); - line-height: var(--jse-line-height, calc(1em + 4px)); -} -.jse-tree-mode.svelte-10mlrw4 .jse-hidden-input-label:where(.svelte-10mlrw4) .jse-hidden-input:where(.svelte-10mlrw4) { - position: fixed; - top: -10px; - left: -10px; - width: 1px; - height: 1px; - padding: 0; - border: 0; - outline: none; -} -.jse-tree-mode.no-main-menu.svelte-10mlrw4 { - border-top: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-tree-mode.svelte-10mlrw4 .jse-search-box-container:where(.svelte-10mlrw4) { - position: relative; - height: 0; - top: var(--jse-padding, 10px); - margin-right: calc(var(--jse-padding, 10px) + 20px); - margin-left: var(--jse-padding, 10px); - text-align: right; - z-index: 3; -} -.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) { - flex: 1; - overflow: auto; - position: relative; - padding: 2px; - display: flex; - flex-direction: column; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4):last-child { - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) .jse-loading-space:where(.svelte-10mlrw4) { - flex: 1; -} -.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) .jse-loading:where(.svelte-10mlrw4) { - flex: 2; - text-align: center; - color: var(--jse-panel-color-readonly, #b2b2b2); - box-sizing: border-box; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); -} -.jse-tree-mode.svelte-10mlrw4 .jse-contents:where(.svelte-10mlrw4) .jse-search-box-background:where(.svelte-10mlrw4) { - border: 50px solid var(--jse-modal-background, #f5f5f5); - margin: -2px; - margin-bottom: 2px; - display: inline-block; -}`);var UNA=FA(" ",1),JNA=FA('
        '),YNA=FA('
        ',1),TNA=FA(' ',1),HNA=FA('
        loading...
        '),zNA=FA('
        ',1);function zL(t,e){St(e,!1);var A=IA(void 0,!0),i=Cr("jsoneditor:TreeMode"),n=typeof window>"u";i("isSSR:",n);var o=II(),a=II(),{openAbsolutePopup:r,closeAbsolutePopup:s}=r1("absolute-popup"),g=IA(void 0,!0),l=IA(void 0,!0),C=IA(void 0,!0),I=!1,d=joA(),B=N(e,"readOnly",9),E=N(e,"externalContent",9),Q=N(e,"externalSelection",9),f=N(e,"history",9),b=N(e,"truncateTextSize",9),S=N(e,"mainMenuBar",9),M=N(e,"navigationBar",9),D=N(e,"escapeControlCharacters",9),F=N(e,"escapeUnicodeCharacters",9),_=N(e,"parser",9),U=N(e,"parseMemoizeOne",9),J=N(e,"validator",9),j=N(e,"validationParser",9),AA=N(e,"pathParser",9),O=N(e,"indentation",9),DA=N(e,"onError",9),P=N(e,"onChange",9),aA=N(e,"onChangeMode",9),iA=N(e,"onSelect",9),BA=N(e,"onUndo",9),oA=N(e,"onRedo",9),sA=N(e,"onRenderValue",9),hA=N(e,"onRenderMenu",9),YA=N(e,"onRenderContextMenu",9),ee=N(e,"onClassName",9),UA=N(e,"onFocus",9),mA=N(e,"onBlur",9),KA=N(e,"onSortModal",9),Pe=N(e,"onTransformModal",9),Je=N(e,"onJSONEditorModal",9),HA=!1,uA=IA(!1,!0),ZA=IA(void 0,!0);QG({onMount:is,onDestroy:Hl,getWindow:()=>cm(c(C)),hasFocus:()=>HA&&document.hasFocus()||tG(c(C)),onFocus:()=>{I=!0,UA()&&UA()()},onBlur:()=>{I=!1,mA()&&mA()()}});var QA=IA(void 0,!0),WA=IA(void 0,!0),MA=void 0,be=!1,LA=IA(ML({json:c(QA)}),!0),pA=IA(Zf(Q())?Q():void 0,!0);function Ft(q){R(pA,q)}is(()=>{if(c(pA)){var q=ct(c(pA));R(LA,Kc(c(QA),c(LA),q,Vy)),setTimeout(()=>So(q))}});var ht,Ee=IA(void 0,!0),Kt=IA(void 0,!0),Ye=IA(void 0,!0),ze=IA(void 0,!0),ut=IA(!1,!0),Me=IA(!1,!0);function ei(q){R(ze,(ht=q)?FoA(c(QA),ht.items):void 0)}function Y(q,fA){return z.apply(this,arguments)}function z(){return(z=Tt(function*(q,fA){R(LA,Kc(c(QA),c(LA),q,Vy));var PA=Bo(fA);yield xi(q,{element:PA})})).apply(this,arguments)}function nA(){R(ut,!1),R(Me,!1),Mt()}function rA(q){i("select validation error",q),R(pA,Ui(q.path)),xi(q.path)}function NA(q){var fA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kL;i("expand"),R(LA,Kc(c(QA),c(LA),q,fA))}function Ie(q,fA){R(LA,piA(c(QA),c(LA),q,fA)),c(pA)&&(function(PA,Fe){return W0(ct(PA),Fe)&&(ct(PA).length>Fe.length||tr(PA))})(c(pA),q)&&R(pA,void 0)}var Qe=IA(!1,!0),xA=IA([],!0),_A=IA(void 0,!0),Et=ZE(qoA);function et(q,fA,PA,Fe){oh(()=>{var pe;try{pe=Et(q,fA,PA,Fe)}catch(De){pe=[{path:[],message:"Failed to validate: "+De.message,severity:Jc.warning}]}Qi(pe,c(xA))||(i("validationErrors changed:",pe),R(xA,pe),R(_A,(function(De,ot){var jt;return ot.forEach(ki=>{jt=qiA(De,jt,ki.path,(xn,Pi)=>ye(ye({},Pi),{},{validationError:ki}))}),ot.forEach(ki=>{for(var xn=ki.path;xn.length>0;)xn=Ki(xn),jt=qiA(De,jt,xn,(Pi,Eo)=>Eo.validationError?Eo:ye(ye({},Eo),{},{validationError:{isChildError:!0,path:xn,message:"Contains invalid data",severity:Jc.warning}}))}),jt})(q,c(xA))))},pe=>i("validationErrors updated in ".concat(pe," ms")))}function Te(){return i("validate"),MA?{parseError:MA,isRepairable:!1}:(et(c(QA),J(),_(),j()),qi(c(xA))?void 0:{validationErrors:c(xA)})}function Le(){return c(QA)}function si(){return c(LA)}function gn(){return c(pA)}function dn(q){i("applyExternalContent",{updatedContent:q}),jf(q)?(function(fA){if(fA!==void 0){var PA=!Qi(c(QA),fA);if(i("update external json",{isChanged:PA,currentlyText:c(QA)===void 0}),!!PA){var Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(WA),textIsRepaired:c(Qe)};R(QA,fA),R(LA,Xg(fA,c(LA))),_e(c(QA)),R(WA,void 0),R(Qe,!1),MA=void 0,Wi(c(QA)),ui(Fe)}}})(q.json):Pf(q)&&(function(fA){if(!(fA===void 0||jf(E()))){var PA=fA!==c(WA);if(i("update external text",{isChanged:PA}),!!PA){var Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(WA),textIsRepaired:c(Qe)};try{R(QA,U()(fA)),R(LA,Xg(c(QA),c(LA))),_e(c(QA)),R(WA,fA),R(Qe,!1),MA=void 0}catch(pe){try{R(QA,U()(ml(fA))),R(LA,Xg(c(QA),c(LA))),_e(c(QA)),R(WA,fA),R(Qe,!0),MA=void 0,Wi(c(QA))}catch{R(QA,void 0),R(LA,void 0),R(WA,E().text),R(Qe,!1),MA=c(WA)!==void 0&&c(WA)!==""?uh(c(WA),pe.message||String(pe)):void 0}}Wi(c(QA)),ui(Fe)}}})(q.text)}function _e(q){be||(be=!0,R(LA,tB(q,c(LA),[])))}function Wi(q){c(pA)&&(br(q,jd(c(pA)))&&br(q,ct(c(pA)))||(i("clearing selection: path does not exist anymore",c(pA)),R(pA,qQ(q,c(LA)))))}function ui(q){if(q.json!==void 0||q.text!==void 0){var fA=c(QA)!==void 0&&q.json!==void 0;f().add({type:"tree",undo:{patch:fA?[{op:"replace",path:"",value:q.json}]:void 0,json:q.json,text:q.text,documentState:q.documentState,textIsRepaired:q.textIsRepaired,selection:z0(q.selection),sortedColumn:void 0},redo:{patch:fA?[{op:"replace",path:"",value:c(QA)}]:void 0,json:c(QA),text:c(WA),documentState:c(LA),textIsRepaired:c(Qe),selection:z0(c(pA)),sortedColumn:void 0}})}}function Mi(q,fA){var PA;if(i("patch",q,fA),c(QA)===void 0)throw new Error("Cannot apply patch: no JSON");var Fe=c(QA),pe={json:void 0,text:c(WA),documentState:c(LA),selection:z0(c(pA)),textIsRepaired:c(Qe),sortedColumn:void 0},De=NoA(c(QA),q),ot=moA(c(QA),c(LA),q),jt=(PA=ph(c(QA),q))!==null&&PA!==void 0?PA:c(pA),ki=typeof fA=="function"?fA(ot.json,ot.documentState,jt):void 0;return R(QA,ki?.json!==void 0?ki.json:ot.json),R(LA,ki?.state!==void 0?ki.state:ot.documentState),R(pA,ki?.selection!==void 0?ki.selection:jt),R(WA,void 0),R(Qe,!1),R(Kt,void 0),R(Ye,void 0),MA=void 0,Wi(c(QA)),f().add({type:"tree",undo:ye({patch:De},pe),redo:{patch:q,json:void 0,text:c(WA),documentState:c(LA),selection:z0(c(pA)),sortedColumn:void 0,textIsRepaired:c(Qe)}}),{json:c(QA),previousJson:Fe,undo:De,redo:q}}function zi(){!B()&&c(pA)&&R(pA,dG(ct(c(pA))))}function vt(){if(!B()&&c(pA)){var q=ct(c(pA)),fA=je(c(QA),q);aa(fA)?(function(PA,Fe){i("openJSONEditorModal",{path:PA,value:Fe}),HA=!0,Je()({content:{json:Fe},path:PA,onPatch:c(y).onPatch,onClose:()=>{HA=!1,setTimeout(Mt)}})})(q,fA):R(pA,sv(q))}}function Zi(){if(!B()&&In(c(pA))){var q=ct(c(pA)),fA=wt(q),PA=je(c(QA),q),Fe=!P0(c(QA),c(LA),q),pe=Fe?String(PA):Rh(String(PA),_());i("handleToggleEnforceString",{enforceString:Fe,value:PA,updatedValue:pe}),VA([{op:"replace",path:fA,value:pe}],(De,ot)=>({state:yv(c(QA),ot,q,{type:"value",enforceString:Fe})}))}}function _t(){return c(Qe)&&c(QA)!==void 0&&me(c(QA)),c(QA)!==void 0?{json:c(QA)}:{text:c(WA)||""}}function L(){return Ct.apply(this,arguments)}function Ct(){return Ct=Tt(function*(){var q=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];yield naA({json:c(QA),selection:c(pA),indentation:q?O():void 0,readOnly:B(),parser:_(),onPatch:VA})}),Ct.apply(this,arguments)}function ci(){return Bn.apply(this,arguments)}function Bn(){return Bn=Tt(function*(){var q=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];c(QA)!==void 0&&(yield oaA({json:c(QA),selection:c(pA),indentation:q?O():void 0,parser:_()}))}),Bn.apply(this,arguments)}function En(q){var fA;q.preventDefault(),Co((fA=q.clipboardData)===null||fA===void 0?void 0:fA.getData("text/plain"))}function qn(){return Yo.apply(this,arguments)}function Yo(){return(Yo=Tt(function*(){try{Co(yield navigator.clipboard.readText())}catch(q){console.error(q),R(uA,!0)}})).apply(this,arguments)}function Co(q){q!==void 0&&aaA({clipboardText:q,json:c(QA),selection:c(pA),readOnly:B(),parser:_(),onPatch:VA,onChangeText:dA,onPasteMultilineText:Kn,openRepairModal:ko})}function ko(q,fA){R(ZA,{text:q,onParse:PA=>lm(PA,Fe=>gm(Fe,_())),onRepair:roA,onApply:fA,onClose:Mt})}function Zo(){raA({json:c(QA),text:c(WA),selection:c(pA),keepSelection:!1,readOnly:B(),onChange:P(),onPatch:VA})}function wo(){!B()&&c(QA)!==void 0&&c(pA)&&ih&&!qi(ct(c(pA)))&&(i("duplicate",{selection:c(pA)}),VA(koA(c(QA),o1(c(QA),c(pA)))))}function ha(){B()||!c(pA)||!lo(c(pA))&&!In(c(pA))||qi(ct(c(pA)))||(i("extract",{selection:c(pA)}),VA(SoA(c(QA),c(pA)),(q,fA)=>{if(aa(q))return{state:tL(q,fA,[])}}))}function Xo(q){hv({insertType:q,selectInside:!0,initialValue:void 0,json:c(QA),selection:c(pA),readOnly:B(),parser:_(),onPatch:VA,onReplaceJson:me})}function ra(q){cr(c(pA))&&R(pA,Ui(c(pA).path)),c(pA)||R(pA,qQ(c(QA),c(LA))),Xo(q)}function Do(q){if(!B()&&c(pA))if(Fy(c(pA)))try{var fA=jd(c(pA)),PA=je(c(QA),fA),Fe=(function(De,ot,jt){if(ot==="array"){if(Array.isArray(De))return De;if(pn(De))return siA(De);if(typeof De=="string")try{var ki=jt.parse(De);if(Array.isArray(ki))return ki;if(pn(ki))return siA(ki)}catch{return[De]}return[De]}if(ot==="object"){if(Array.isArray(De))return riA(De);if(pn(De))return De;if(typeof De=="string")try{var xn=jt.parse(De);if(pn(xn))return xn;if(Array.isArray(xn))return riA(xn)}catch{return{value:De}}return{value:De}}if(ot==="value")return aa(De)?jt.stringify(De):De;throw new Error("Cannot convert ".concat($L(De,jt)," to ").concat(ot))})(PA,q,_());if(Fe===PA)return;var pe=[{op:"replace",path:wt(fA),value:Fe}];i("handleConvert",{selection:c(pA),path:fA,type:q,operations:pe}),VA(pe,(De,ot)=>({state:c(pA)?tB(De,ot,ct(c(pA))):c(LA)}))}catch(De){DA()(De)}else DA()(new Error("Cannot convert current selection to ".concat(q)))}function re(){if(c(pA)){var q=viA(c(QA),c(LA),c(pA),!1),fA=Ki(ct(c(pA)));q&&!qi(ct(q))&&Qi(fA,Ki(ct(q)))?R(pA,o2(ct(q))):R(pA,c2(fA)),i("insert before",{selection:c(pA),selectionBefore:q,parentPath:fA}),Mo(),Ji()}}function di(){if(c(pA)){var q=i1(c(QA),c(pA));i("insert after",q),R(pA,o2(q)),Mo(),Ji()}}function ln(q){return Qn.apply(this,arguments)}function Qn(){return(Qn=Tt(function*(q){yield saA({char:q,selectInside:!0,json:c(QA),selection:c(pA),readOnly:B(),parser:_(),onPatch:VA,onReplaceJson:me,onSelect:Ft})})).apply(this,arguments)}function To(){if(!B()&&f().canUndo){var q=f().undo();if(av(q)){var fA={json:c(QA),text:c(WA)};R(QA,q.undo.patch?lg(c(QA),q.undo.patch):q.undo.json),R(LA,q.undo.documentState),R(pA,q.undo.selection),R(WA,q.undo.text),R(Qe,q.undo.textIsRepaired),MA=void 0,i("undo",{item:q,json:c(QA),documentState:c(LA),selection:c(pA)}),vA(fA,q.undo.patch&&q.redo.patch?{json:c(QA),previousJson:fA.json,redo:q.undo.patch,undo:q.redo.patch}:void 0),Mt(),c(pA)&&xi(ct(c(pA)),{scrollToWhenVisible:!1})}else BA()(q)}}function Ma(){if(!B()&&f().canRedo){var q=f().redo();if(av(q)){var fA={json:c(QA),text:c(WA)};R(QA,q.redo.patch?lg(c(QA),q.redo.patch):q.redo.json),R(LA,q.redo.documentState),R(pA,q.redo.selection),R(WA,q.redo.text),R(Qe,q.redo.textIsRepaired),MA=void 0,i("redo",{item:q,json:c(QA),documentState:c(LA),selection:c(pA)}),vA(fA,q.undo.patch&&q.redo.patch?{json:c(QA),previousJson:fA.json,redo:q.redo.patch,undo:q.undo.patch}:void 0),Mt(),c(pA)&&xi(ct(c(pA)),{scrollToWhenVisible:!1})}else oA()(q)}}function wi(q){var fA;B()||c(QA)===void 0||(HA=!0,KA()({id:o,json:c(QA),rootPath:q,onSort:(fA=Tt(function*(PA){var{operations:Fe}=PA;i("onSort",q,Fe),VA(Fe,(pe,De)=>({state:tL(pe,De,q),selection:Ui(q)}))}),function(PA){return fA.apply(this,arguments)}),onClose:()=>{HA=!1,setTimeout(Mt)}}))}function Io(){c(pA)&&wi(MiA(c(QA),c(pA)))}function nr(){wi([])}function yo(q){if(c(QA)!==void 0){var{id:fA,onTransform:PA,onClose:Fe}=q,pe=q.rootPath||[];HA=!0,Pe()({id:fA||a,json:c(QA),rootPath:pe,onTransform:De=>{PA?PA({operations:De,json:c(QA),transformedJson:lg(c(QA),De)}):(i("onTransform",pe,De),VA(De,(ot,jt)=>({state:tL(ot,jt,pe),selection:Ui(pe)})))},onClose:()=>{HA=!1,setTimeout(Mt),Fe&&Fe()}})}}function Pa(){c(pA)&&yo({rootPath:MiA(c(QA),c(pA))})}function Gn(){yo({rootPath:[]})}function xi(q){return Pt.apply(this,arguments)}function Pt(){return Pt=Tt(function*(q){var{scrollToWhenVisible:fA=!0,element:PA}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};R(LA,Kc(c(QA),c(LA),q,Vy));var Fe=PA??Sn(q);if(i("scrollTo",{path:q,elem:Fe,refContents:c(g)}),!Fe||!c(g))return Promise.resolve();var pe=c(g).getBoundingClientRect(),De=Fe.getBoundingClientRect();if(!fA&&De.bottom>pe.top&&De.top{d(Fe,{container:c(g),offset:ot,duration:300,callback:()=>jt()})})}),Pt.apply(this,arguments)}function Sn(q){var fA,PA;return Mo(),(fA=(PA=c(g))===null||PA===void 0?void 0:PA.querySelector('div[data-path="'.concat(qy(q),'"]')))!==null&&fA!==void 0?fA:void 0}function Bo(q){var fA,PA;return Mo(),(fA=(PA=c(g))===null||PA===void 0?void 0:PA.querySelector('span[data-search-result-index="'.concat(q,'"]')))!==null&&fA!==void 0?fA:void 0}function So(q){var fA=Sn(q);if(fA&&c(g)){var PA=c(g).getBoundingClientRect(),Fe=fA.getBoundingClientRect(),pe=aa(je(c(QA),q))?20:Fe.height;Fe.topPA.bottom-20&&d(fA,{container:c(g),offset:-(PA.height-pe-20),duration:0})}}function vA(q,fA){if(q.json!==void 0||q?.text!==void 0){if(c(WA)!==void 0){var PA,Fe={text:c(WA),json:void 0};(PA=P())===null||PA===void 0||PA(Fe,q,{contentErrors:Te(),patchResult:fA})}else if(c(QA)!==void 0){var pe,De={text:void 0,json:c(QA)};(pe=P())===null||pe===void 0||pe(De,q,{contentErrors:Te(),patchResult:fA})}}}function VA(q,fA){i("handlePatch",q,fA);var PA={json:c(QA),text:c(WA)},Fe=Mi(q,fA);return vA(PA,Fe),Fe}function me(q,fA){var PA={json:c(QA),text:c(WA)},Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(WA),textIsRepaired:c(Qe)},pe=Kc(c(QA),Xg(q,c(LA)),[],Jf),De=typeof fA=="function"?fA(q,pe,c(pA)):void 0;R(QA,De?.json!==void 0?De.json:q),R(LA,De?.state!==void 0?De.state:pe),R(pA,De?.selection!==void 0?De.selection:c(pA)),R(WA,void 0),R(Qe,!1),MA=void 0,Wi(c(QA)),ui(Fe),vA(PA,void 0)}function dA(q,fA){i("handleChangeText");var PA={json:c(QA),text:c(WA)},Fe={documentState:c(LA),selection:c(pA),json:c(QA),text:c(WA),textIsRepaired:c(Qe)};try{R(QA,U()(q)),R(LA,Kc(c(QA),Xg(c(QA),c(LA)),[],Jf)),R(WA,void 0),R(Qe,!1),MA=void 0}catch(De){try{R(QA,U()(ml(q))),R(LA,Kc(c(QA),Xg(c(QA),c(LA)),[],Jf)),R(WA,q),R(Qe,!0),MA=void 0}catch{R(QA,void 0),R(LA,ML({json:c(QA),expand:Jf})),R(WA,q),R(Qe,!1),MA=c(WA)!==""?uh(c(WA),De.message||String(De)):void 0}}if(typeof fA=="function"){var pe=fA(c(QA),c(LA),c(pA));R(QA,pe?.json!==void 0?pe.json:c(QA)),R(LA,pe?.state!==void 0?pe.state:c(LA)),R(pA,pe?.selection!==void 0?pe.selection:c(pA))}Wi(c(QA)),ui(Fe),vA(PA,void 0)}function SA(q,fA){var PA=arguments.length>2&&arguments[2]!==void 0&&arguments[2];i("handleExpand",{path:q,expanded:fA,recursive:PA}),fA?NA(q,PA?IG:kL):Ie(q,PA),Mt()}function ae(){SA([],!0,!0)}function xe(){SA([],!1,!0)}function it(q){i("openFind",{findAndReplace:q}),R(ut,!1),R(Me,!1),Mo(),R(ut,!0),R(Me,q)}function st(q,fA){i("handleExpandSection",q,fA),R(LA,(function(PA,Fe,pe,De){return mh(PA,Fe,pe,(ot,jt)=>{if(!lr(jt))return jt;var ki=hoA(jt.visibleSections.concat(De));return ye(ye({},jt),{},{visibleSections:ki})})})(c(QA),c(LA),q,fA))}function bt(q){i("pasted json as text",q),R(Kt,q)}function Kn(q){i("pasted multiline text",{pastedText:q}),R(Ye,q)}function Ri(q){var fA,{anchor:PA,left:Fe,top:pe,width:De,height:ot,offsetTop:jt,offsetLeft:ki,showTip:xn}=q,Pi=(function(Wn){var{json:Aa,documentState:un,selection:Gt,readOnly:Xi,onEditKey:Zt,onEditValue:mt,onToggleEnforceString:gi,onCut:ga,onCopy:Zn,onPaste:ea,onRemove:ua,onDuplicate:mr,onExtract:tC,onInsertBefore:xg,onInsert:Pl,onConvert:A0,onInsertAfter:jl,onSort:os,onTransform:pr}=Wn,Rg=Aa!==void 0,iC=!!Gt,Ng=!!Gt&&qi(ct(Gt)),Rn=Gt?je(Aa,ct(Gt)):void 0,Fa=Array.isArray(Rn)?"Edit array":pn(Rn)?"Edit object":"Edit value",_a=Rg&&(lo(Gt)||cr(Gt)||In(Gt)),Q1=Gt&&!Ng?je(Aa,Ki(ct(Gt))):void 0,QB=!Xi&&Rg&&rv(Gt)&&!Ng&&!Array.isArray(Q1),h1=!Xi&&Rg&&Gt!==void 0&&rv(Gt),tu=h1&&!aa(Rn),hB=!Xi&&_a,iu=_a,Lb=!Xi&&iC,Gb=!Xi&&Rg&&_a&&!Ng,Kb=!Xi&&Rg&&Gt!==void 0&&(lo(Gt)||In(Gt))&&!Ng,e0=_a,u1=e0?"Convert to:":"Insert:",La=!Xi&&(tr(Gt)&&Array.isArray(Rn)||yg(Gt)&&Array.isArray(Q1)),il=!Xi&&(e0?Fy(Gt)&&!pn(Rn):iC),nu=!Xi&&(e0?Fy(Gt)&&!Array.isArray(Rn):iC),ou=!Xi&&(e0?Fy(Gt)&&aa(Rn):iC),f1=Gt!==void 0&&P0(Aa,un,ct(Gt));function Lr(au){_a?au!=="structure"&&A0(au):Pl(au)}return[{type:"row",items:[{type:"button",onClick:()=>Zt(),icon:nd,text:"Edit key",title:"Edit the key (Double-click on the key)",disabled:!QB},{type:"dropdown-button",main:{type:"button",onClick:()=>mt(),icon:nd,text:Fa,title:"Edit the value (Double-click on the value)",disabled:!h1},width:"11em",items:[{type:"button",icon:nd,text:Fa,title:"Edit the value (Double-click on the value)",onClick:()=>mt(),disabled:!h1},{type:"button",icon:f1?KS:YS,text:"Enforce string",title:"Enforce keeping the value as string when it contains a numeric value",onClick:()=>gi(),disabled:!tu}]}]},{type:"separator"},{type:"row",items:[{type:"dropdown-button",main:{type:"button",onClick:()=>ga(!0),icon:od,text:"Cut",title:"Cut selected contents, formatted with indentation (Ctrl+X)",disabled:!hB},width:"10em",items:[{type:"button",icon:od,text:"Cut formatted",title:"Cut selected contents, formatted with indentation (Ctrl+X)",onClick:()=>ga(!0),disabled:!hB},{type:"button",icon:od,text:"Cut compacted",title:"Cut selected contents, without indentation (Ctrl+Shift+X)",onClick:()=>ga(!1),disabled:!hB}]},{type:"dropdown-button",main:{type:"button",onClick:()=>Zn(!0),icon:xC,text:"Copy",title:"Copy selected contents, formatted with indentation (Ctrl+C)",disabled:!iu},width:"12em",items:[{type:"button",icon:xC,text:"Copy formatted",title:"Copy selected contents, formatted with indentation (Ctrl+C)",onClick:()=>Zn(!0),disabled:!iu},{type:"button",icon:xC,text:"Copy compacted",title:"Copy selected contents, without indentation (Ctrl+Shift+C)",onClick:()=>Zn(!1),disabled:!iu}]},{type:"button",onClick:()=>ea(),icon:_S,text:"Paste",title:"Paste clipboard contents (Ctrl+V)",disabled:!Lb}]},{type:"separator"},{type:"row",items:[{type:"column",items:[{type:"button",onClick:()=>mr(),icon:GS,text:"Duplicate",title:"Duplicate selected contents (Ctrl+D)",disabled:!Gb},{type:"button",onClick:()=>tC(),icon:Xq,text:"Extract",title:"Extract selected contents",disabled:!Kb},{type:"button",onClick:()=>os(),icon:C3,text:"Sort",title:"Sort array or object contents",disabled:Xi||!_a},{type:"button",onClick:()=>pr(),icon:s3,text:"Transform",title:"Transform array or object contents (filter, sort, project)",disabled:Xi||!_a},{type:"button",onClick:()=>ua(),icon:Ww,text:"Remove",title:"Remove selected contents (Delete)",disabled:Xi||!_a}]},{type:"column",items:[{type:"label",text:u1},{type:"button",onClick:()=>Lr("structure"),icon:e0?I3:ad,text:"Structure",title:u1+" structure like the first item in the array",disabled:!La},{type:"button",onClick:()=>Lr("object"),icon:e0?I3:ad,text:"Object",title:u1+" object",disabled:!il},{type:"button",onClick:()=>Lr("array"),icon:e0?I3:ad,text:"Array",title:u1+" array",disabled:!nu},{type:"button",onClick:()=>Lr("value"),icon:e0?I3:ad,text:"Value",title:u1+" value",disabled:!ou}]}]},{type:"separator"},{type:"row",items:[{type:"button",onClick:()=>xg(),icon:oV,text:"Insert before",title:"Select area before current entry to insert or paste contents",disabled:Xi||!_a||Ng},{type:"button",onClick:()=>jl(),icon:$q,text:"Insert after",title:"Select area after current entry to insert or paste contents",disabled:Xi||!_a||Ng}]}]})({json:c(QA),documentState:c(LA),selection:c(pA),readOnly:B(),onEditKey:zi,onEditValue:vt,onToggleEnforceString:Zi,onCut:L,onCopy:ci,onPaste:qn,onRemove:Zo,onDuplicate:wo,onExtract:ha,onInsertBefore:re,onInsert:ra,onInsertAfter:di,onConvert:Do,onSort:Io,onTransform:Pa}),Eo=(fA=YA()(Pi))!==null&&fA!==void 0?fA:Pi;if(Eo!==!1){var Wt={left:Fe,top:pe,offsetTop:jt,offsetLeft:ki,width:De,height:ot,anchor:PA,closeOnOuterClick:!0,onClose:()=>{HA=!1,Mt()}};HA=!0;var $o=r(laA,{tip:xn?"Tip: you can open this context menu via right-click or with Ctrl+Q":void 0,items:Eo,onRequestClose:()=>s($o)},Wt)}}function Ji(q){if(!gr(c(pA)))if(q&&(q.stopPropagation(),q.preventDefault()),q&&q.type==="contextmenu"&&q.target!==c(l))Ri({left:q.clientX,top:q.clientY,width:A2,height:$C,showTip:!1});else{var fA,PA=(fA=c(g))===null||fA===void 0?void 0:fA.querySelector(".jse-context-menu-pointer.jse-selected");if(PA)Ri({anchor:PA,offsetTop:2,width:A2,height:$C,showTip:!1});else{var Fe,pe=(Fe=c(g))===null||Fe===void 0?void 0:Fe.getBoundingClientRect();pe&&Ri({top:pe.top+2,left:pe.left+2,width:A2,height:$C,showTip:!1})}}}function Vt(q){Ri({anchor:EoA(q.target,"BUTTON"),offsetTop:0,width:A2,height:$C,showTip:!0})}function Ni(){return ka.apply(this,arguments)}function ka(){return(ka=Tt(function*(){if(i("apply pasted json",c(Kt)),c(Kt)){var{onPasteAsJson:q}=c(Kt);R(Kt,void 0),q(),setTimeout(Mt)}})).apply(this,arguments)}function Lt(){return gt.apply(this,arguments)}function gt(){return(gt=Tt(function*(){i("apply pasted multiline text",c(Ye)),c(Ye)&&(Co(JSON.stringify(c(Ye))),setTimeout(Mt))})).apply(this,arguments)}function Fi(){i("clear pasted json"),R(Kt,void 0),Mt()}function Oi(){i("clear pasted multiline text"),R(Ye,void 0),Mt()}function Vn(){aA()(ba.text)}function hn(q){R(pA,q),Mt(),xi(ct(q))}function Mt(){i("focus"),c(l)&&(c(l).focus(),c(l).select())}function sa(q){return(function(fA,PA,Fe){var pe=Ki(Fe),De=[mi(Fe)],ot=je(fA,pe),jt=ot?eL(ot,PA,De):void 0;return jt?Ui(pe.concat(jt)):o2(Fe)})(c(QA),c(LA),q)}function Ho(q){c(A)&&c(A).onDrag(q)}function u(){c(A)&&c(A).onDragEnd()}var y=IA(void 0,!0);RA(()=>c(pA),()=>{var q;q=c(pA),Qi(q,Q())||(i("onSelect",q),iA()(q))}),RA(()=>(G(D()),G(F())),()=>{R(Ee,AG({escapeControlCharacters:D(),escapeUnicodeCharacters:F()}))}),RA(()=>c(ut),()=>{(function(q){c(g)&&q&&c(g).scrollTop===0&&($g(g,c(g).style.overflowAnchor="none"),$g(g,c(g).scrollTop+=Uf),setTimeout(()=>{c(g)&&$g(g,c(g).style.overflowAnchor="")}))})(c(ut))}),RA(()=>G(E()),()=>{dn(E())}),RA(()=>G(Q()),()=>{(function(q){Qi(c(pA),q)||(i("applyExternalSelection",{selection:c(pA),externalSelection:q}),Zf(q)&&R(pA,q))})(Q())}),RA(()=>(c(QA),G(J()),G(_()),G(j())),()=>{et(c(QA),J(),_(),j())}),RA(()=>(c(g),jiA),()=>{R(A,c(g)?jiA(c(g)):void 0)}),RA(()=>(G(B()),G(b()),G(_()),c(Ee),G(sA()),G(ee())),()=>{R(y,{mode:ba.tree,readOnly:B(),truncateTextSize:b(),parser:_(),normalization:c(Ee),getJson:Le,getDocumentState:si,getSelection:gn,findElement:Sn,findNextInside:sa,focus:Mt,onPatch:VA,onInsert:Xo,onExpand:SA,onSelect:Ft,onFind:it,onExpandSection:st,onPasteJson:bt,onRenderValue:sA(),onContextMenu:Ri,onClassName:ee()||(()=>{}),onDrag:Ho,onDragEnd:u})}),RA(()=>c(y),()=>{i("context changed",c(y))}),kn();var x={expand:NA,collapse:Ie,validate:Te,getJson:Le,patch:Mi,acceptAutoRepair:_t,openTransformModal:yo,scrollTo:xi,findElement:Sn,findSearchResult:Bo,focus:Mt};Ai(!0);var H=zNA();ue("mousedown",i2,function(q){!Nh(q.target,fA=>fA===c(C))&&gr(c(pA))&&(i("click outside the editor, exit edit mode"),R(pA,z0(c(pA))),I&&c(l)&&(c(l).focus(),c(l).blur()),i("blur (outside editor)"),c(l)&&c(l).blur())});var k,T=At(H),eA=CA(T),gA=q=>{(function(fA,PA){St(PA,!1);var Fe=IA(void 0,!0),pe=IA(void 0,!0),De=IA(void 0,!0),ot=N(PA,"json",9),jt=N(PA,"selection",9),ki=N(PA,"readOnly",9),xn=N(PA,"showSearch",13,!1),Pi=N(PA,"history",9),Eo=N(PA,"onExpandAll",9),Wt=N(PA,"onCollapseAll",9),$o=N(PA,"onUndo",9),Wn=N(PA,"onRedo",9),Aa=N(PA,"onSort",9),un=N(PA,"onTransform",9),Gt=N(PA,"onContextMenu",9),Xi=N(PA,"onCopy",9),Zt=N(PA,"onRenderMenu",9);function mt(){xn(!xn())}var gi=IA(void 0,!0),ga=IA(void 0,!0),Zn=IA(void 0,!0),ea=IA(void 0,!0);RA(()=>G(ot()),()=>{R(Fe,ot()!==void 0)}),RA(()=>(c(Fe),G(jt()),In),()=>{R(pe,c(Fe)&&(lo(jt())||cr(jt())||In(jt())))}),RA(()=>(G(Eo()),G(ot())),()=>{R(gi,{type:"button",icon:XoA,title:"Expand all",className:"jse-expand-all",onClick:Eo(),disabled:!aa(ot())})}),RA(()=>(G(Wt()),G(ot())),()=>{R(ga,{type:"button",icon:$oA,title:"Collapse all",className:"jse-collapse-all",onClick:Wt(),disabled:!aa(ot())})}),RA(()=>G(ot()),()=>{R(Zn,{type:"button",icon:g3,title:"Search (Ctrl+F)",className:"jse-search",onClick:mt,disabled:ot()===void 0})}),RA(()=>(G(ki()),c(gi),c(ga),G(Aa()),G(ot()),G(un()),c(Zn),G(Gt()),G($o()),G(Pi()),G(Wn()),G(Xi()),c(pe)),()=>{R(ea,ki()?[c(gi),c(ga),{type:"separator"},{type:"button",icon:xC,title:"Copy (Ctrl+C)",className:"jse-copy",onClick:Xi(),disabled:!c(pe)},{type:"separator"},c(Zn),{type:"space"}]:[c(gi),c(ga),{type:"separator"},{type:"button",icon:C3,title:"Sort",className:"jse-sort",onClick:Aa(),disabled:ki()||ot()===void 0},{type:"button",icon:s3,title:"Transform contents (filter, sort, project)",className:"jse-transform",onClick:un(),disabled:ki()||ot()===void 0},c(Zn),{type:"button",icon:LS,title:oG,className:"jse-contextmenu",onClick:Gt()},{type:"separator"},{type:"button",icon:$w,title:"Undo (Ctrl+Z)",className:"jse-undo",onClick:$o(),disabled:!Pi().canUndo},{type:"button",icon:Xw,title:"Redo (Ctrl+Shift+Z)",className:"jse-redo",onClick:Wn(),disabled:!Pi().canRedo},{type:"space"}])}),RA(()=>(G(Zt()),c(ea)),()=>{R(De,Zt()(c(ea))||c(ea))}),kn(),Ai(!0),xv(fA,{get items(){return c(De)}}),xt()})(q,{get json(){return c(QA)},get selection(){return c(pA)},get readOnly(){return B()},get history(){return f()},onExpandAll:ae,onCollapseAll:xe,onUndo:To,onRedo:Ma,onSort:nr,onTransform:Gn,onContextMenu:Vt,onCopy:ci,get onRenderMenu(){return hA()},get showSearch(){return c(ut)},set showSearch(fA){R(ut,fA)},$$legacy:!0})};TA(eA,q=>{S()&&q(gA)});var wA=bA(eA,2),Ae=q=>{QNA(q,{get json(){return c(QA)},get selection(){return c(pA)},onSelect:hn,get onError(){return DA()},get pathParser(){return AA()}})};TA(wA,q=>{M()&&q(Ae)});var oe=bA(wA,2),Be=q=>{var fA=TNA(),PA=At(fA),Fe=CA(PA);Fe.readOnly=!0,Jo(Fe,jt=>R(l,jt),()=>c(l));var pe=bA(PA,2),De=jt=>{var ki=bi(),xn=At(ki),Pi=Wt=>{(function($o,Wn){function Aa(gi){gi.stopPropagation(),Wn.onCreateObject()}function un(gi){gi.stopPropagation(),Wn.onCreateArray()}St(Wn,!0);var Gt=nNA();Gt.__click=()=>Wn.onClick();var Xi=bA(CA(Gt),2),Zt=bA(CA(Xi),2),mt=gi=>{var ga=iNA(),Zn=bA(At(ga),2);Mn(Zn,"title","Create an empty JSON object (press '{')"),Zn.__click=Aa;var ea=bA(Zn,2);Mn(ea,"title","Create an empty JSON array (press '[')"),ea.__click=un,lA(gi,ga)};TA(Zt,gi=>{Wn.readOnly||gi(mt)}),lA($o,Gt),xt()})(Wt,{get readOnly(){return B()},onCreateObject:()=>{Mt(),ln("{")},onCreateArray:()=>{Mt(),ln("[")},onClick:()=>{Mt()}})},Eo=Wt=>{var $o=UNA(),Wn=At($o),Aa=tt(()=>B()?[]:[{icon:l3,text:"Repair manually",title:'Open the document in "code" mode and repair it manually',onClick:Vn}]);tl(Wn,{type:"error",message:"The loaded JSON document is invalid and could not be repaired automatically.",get actions(){return c(Aa)}}),gaA(bA(Wn,2),{get text(){return c(WA)},get json(){return c(QA)},get indentation(){return O()},get parser(){return _()}}),lA(Wt,$o)};TA(xn,Wt=>{c(WA)===""||c(WA)===void 0?Wt(Pi):Wt(Eo,!1)}),lA(jt,ki)},ot=jt=>{var ki=YNA(),xn=At(ki);eaA(CA(xn),{get json(){return c(QA)},get documentState(){return c(LA)},get parser(){return _()},get showSearch(){return c(ut)},get showReplace(){return c(Me)},get readOnly(){return B()},columns:void 0,onSearch:ei,onFocus:Y,onPatch:VA,onClose:nA});var Pi=bA(xn,2);Mn(Pi,"data-jsoneditor-scrollable-contents",!0);var Eo=CA(Pi),Wt=Zt=>{lA(Zt,JNA())};TA(Eo,Zt=>{c(ut)&&Zt(Wt)}),KL(bA(Eo,2),{get value(){return c(QA)},pointer:"",get state(){return c(LA)},get validationErrors(){return c(_A)},get searchResults(){return c(ze)},get selection(){return c(pA)},get context(){return c(y)},get onDragSelectionStart(){return ya}}),Jo(Pi,Zt=>R(g,Zt),()=>c(g));var $o=bA(Pi,2),Wn=Zt=>{var mt=tt(()=>(c(Kt),EA(()=>"You pasted a JSON ".concat(Array.isArray(c(Kt).contents)?"array":"object"," as text")))),gi=tt(()=>[{icon:SC,text:"Paste as JSON instead",title:"Replace the value with the pasted JSON",onMouseDown:Ni},{text:"Leave as is",title:"Keep the JSON embedded in the value",onClick:Fi}]);tl(Zt,{type:"info",get message(){return c(mt)},get actions(){return c(gi)}})};TA($o,Zt=>{c(Kt)&&Zt(Wn)});var Aa=bA($o,2),un=Zt=>{var mt=tt(()=>[{icon:SC,text:"Paste as string instead",title:"Paste the clipboard data as a single string value instead of an array",onClick:Lt},{text:"Leave as is",title:"Keep the pasted array",onClick:Oi}]);tl(Zt,{type:"info",message:"Multiline text was pasted as array",get actions(){return c(mt)}})};TA(Aa,Zt=>{c(Ye)&&Zt(un)});var Gt=bA(Aa,2),Xi=Zt=>{var mt=tt(()=>B()?[]:[{icon:Zw,text:"Ok",title:"Accept the repaired document",onClick:_t},{icon:l3,text:"Repair manually instead",title:"Leave the document unchanged and repair it manually instead",onClick:Vn}]);tl(Zt,{type:"success",message:"The loaded JSON document was invalid but is successfully repaired.",get actions(){return c(mt)},onClose:Mt})};TA(Gt,Zt=>{c(Qe)&&Zt(Xi)}),hG(bA(Gt,2),{get validationErrors(){return c(xA)},selectError:rA}),lA(jt,ki)};TA(pe,jt=>{c(QA)===void 0?jt(De):jt(ot,!1)}),ue("paste",Fe,En),lA(q,fA)},He=q=>{lA(q,HNA())};TA(oe,q=>{n?q(He,!1):q(Be)}),Jo(T,q=>R(C,q),()=>c(C));var ke=bA(T,2),Ne=q=>{VoA(q,{onClose:()=>R(uA,!1)})};TA(ke,q=>{c(uA)&&q(Ne)});var ni=bA(ke,2),Un=q=>{WoA(q,e1(()=>c(ZA),{onClose:()=>{var fA;(fA=c(ZA))===null||fA===void 0||fA.onClose(),R(ZA,void 0)}}))};return TA(ni,q=>{c(ZA)&&q(Un)}),ve(()=>k=$t(T,1,"jse-tree-mode svelte-10mlrw4",null,k,{"no-main-menu":!S()})),ue("keydown",T,function(q){var fA=g2(q),PA=q.shiftKey;if(i("keydown",{combo:fA,key:q.key}),fA==="Ctrl+X"&&(q.preventDefault(),L(!0)),fA==="Ctrl+Shift+X"&&(q.preventDefault(),L(!1)),fA==="Ctrl+C"&&(q.preventDefault(),ci(!0)),fA==="Ctrl+Shift+C"&&(q.preventDefault(),ci(!1)),fA==="Ctrl+D"&&(q.preventDefault(),wo()),fA!=="Delete"&&fA!=="Backspace"||(q.preventDefault(),Zo()),fA==="Insert"&&(q.preventDefault(),Xo("structure")),fA==="Ctrl+A"&&(q.preventDefault(),R(pA,Ui([]))),fA==="Ctrl+Q"&&Ji(q),fA==="ArrowUp"||fA==="Shift+ArrowUp"){q.preventDefault();var Fe=c(pA)?viA(c(QA),c(LA),c(pA),PA)||c(pA):qQ(c(QA),c(LA));R(pA,Fe),So(ct(Fe))}if(fA==="ArrowDown"||fA==="Shift+ArrowDown"){q.preventDefault();var pe=c(pA)?(function(Pi,Eo,Wt){var $o=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(Wt){var Wn=$o?ct(Wt):i1(Pi,Wt),Aa=aa(je(Pi,Wn))?piA(Pi,Eo,Wn,!0):Eo,un=eL(Pi,Eo,Wn),Gt=eL(Pi,Aa,Wn);if($o)return tr(Wt)?un!==void 0?Ds(un,un):void 0:yg(Wt)?Gt!==void 0?Ds(Gt,Gt):void 0:Gt!==void 0?Ds(jd(Wt),Gt):void 0;if(yg(Wt))return Gt!==void 0?Ui(Gt):void 0;if(tr(Wt)||In(Wt))return un!==void 0?Ui(un):void 0;if(cr(Wt)){if(un===void 0||un.length===0)return;var Xi=Ki(un),Zt=je(Pi,Xi);return Array.isArray(Zt)?Ui(un):l2(un)}return lo(Wt)?Gt!==void 0?Ui(Gt):un!==void 0?Ui(un):void 0:void 0}})(c(QA),c(LA),c(pA),PA)||c(pA):qQ(c(QA),c(LA));R(pA,pe),So(ct(pe))}if(fA==="ArrowLeft"||fA==="Shift+ArrowLeft"){q.preventDefault();var De=c(pA)?(function(Pi,Eo,Wt){var $o=arguments.length>3&&arguments[3]!==void 0&&arguments[3],Wn=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4];if(Wt){var{caret:Aa,previous:un}=biA(Pi,Eo,Wt,Wn);if($o)return lo(Wt)?void 0:Ds(Wt.path,Wt.path);if(Aa&&un)return SL(un);var Gt=Ki(ct(Wt)),Xi=je(Pi,Gt);return In(Wt)&&Array.isArray(Xi)?Ds(Wt.path,Wt.path):lo(Wt)&&!Array.isArray(Xi)?l2(Wt.focusPath):void 0}})(c(QA),c(LA),c(pA),PA,!B())||c(pA):qQ(c(QA),c(LA));R(pA,De),So(ct(De))}if(fA==="ArrowRight"||fA==="Shift+ArrowRight"){q.preventDefault();var ot=c(pA)&&c(QA)!==void 0?(function(Pi,Eo,Wt){var $o=arguments.length>3&&arguments[3]!==void 0&&arguments[3],Wn=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4];if(Wt){var{caret:Aa,next:un}=biA(Pi,Eo,Wt,Wn);return $o?lo(Wt)?void 0:Ds(Wt.path,Wt.path):Aa&&un?SL(un):lo(Wt)?Ui(Wt.focusPath):void 0}})(c(QA),c(LA),c(pA),PA,!B())||c(pA):qQ(c(QA),c(LA));R(pA,ot),So(ct(ot))}if(fA==="Enter"&&c(pA)){if(vv(c(pA))){var jt=c(pA).focusPath,ki=je(c(QA),Ki(jt));Array.isArray(ki)&&(q.preventDefault(),R(pA,Ui(jt)))}cr(c(pA))&&(q.preventDefault(),R(pA,ye(ye({},c(pA)),{},{edit:!0}))),In(c(pA))&&(q.preventDefault(),aa(je(c(QA),c(pA).path))?SA(c(pA).path,!0):R(pA,ye(ye({},c(pA)),{},{edit:!0})))}if(fA.replace(/^Shift\+/,"").length===1&&c(pA))return q.preventDefault(),void ln(q.key);if(fA==="Enter"&&(yg(c(pA))||tr(c(pA))))return q.preventDefault(),void ln("");if(fA==="Ctrl+Enter"&&In(c(pA))){var xn=je(c(QA),c(pA).path);Dv(xn)&&window.open(String(xn),"_blank")}fA==="Escape"&&c(pA)&&(q.preventDefault(),R(pA,void 0)),fA==="Ctrl+F"&&(q.preventDefault(),it(!1)),fA==="Ctrl+H"&&(q.preventDefault(),it(!0)),fA==="Ctrl+Z"&&(q.preventDefault(),To()),fA==="Ctrl+Shift+Z"&&(q.preventDefault(),Ma())}),ue("mousedown",T,function(q){i("handleMouseDown",q);var fA=q.target;BoA(fA,"BUTTON")||fA.isContentEditable||(Mt(),c(pA)||c(QA)!==void 0||c(WA)!==""&&c(WA)!==void 0||(i("createDefaultSelection"),R(pA,Ui([]))))}),ue("contextmenu",T,Ji),lA(t,H),Ot(e,"expand",NA),Ot(e,"collapse",Ie),Ot(e,"validate",Te),Ot(e,"getJson",Le),Ot(e,"patch",Mi),Ot(e,"acceptAutoRepair",_t),Ot(e,"openTransformModal",yo),Ot(e,"scrollTo",xi),Ot(e,"findElement",Sn),Ot(e,"findSearchResult",Bo),Ot(e,"focus",Mt),xt(x)}function caA(t){return typeof(e=t)!="object"||e===null?t:new Proxy(t,{get:(A,i,n)=>caA(Reflect.get(A,i,n)),set:()=>!1,deleteProperty:()=>!1});var e}var Ty=Cr("jsoneditor:History");function CaA(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.maxItems||1e3,A=[],i=0;function n(){return i0}function a(){return{canUndo:n(),canRedo:o(),items:()=>A.slice().reverse(),add:s,undo:l,redo:C,clear:g}}function r(){t.onChange&&t.onChange(a())}function s(I){Ty("add",I),A=[I].concat(A.slice(i)).slice(0,e),i=0,r()}function g(){Ty("clear"),A=[],i=0,r()}function l(){if(n()){var I=A[i];return i+=1,Ty("undo",I),r(),I}}function C(){if(o())return Ty("redo",A[i-=1]),r(),A[i]}return{get:a}}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-transform-modal-inner.svelte-lta8xm { - flex: 1; - display: flex; - flex-direction: column; - min-width: 0; - min-height: 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) { - color: inherit; - flex: 1; - display: flex; - flex-direction: column; - padding: 0; - overflow: auto; - min-width: 0; - min-height: 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) { - display: flex; - flex-direction: row; - justify-content: flex-end; - padding-top: var(--jse-padding, 10px); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) button.jse-primary:where(.svelte-lta8xm) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); - color: var(--jse-button-primary-color, #fff); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) button.jse-primary:where(.svelte-lta8xm):hover { - background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) button.jse-primary:where(.svelte-lta8xm):disabled { - background: var(--jse-button-primary-background-disabled, #9d9d9d); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) { - flex: 1; - display: flex; - gap: calc(2 * var(--jse-padding, 10px)); - min-height: 0; - box-sizing: border-box; - padding: 0 calc(2 * var(--jse-padding, 10px)) var(--jse-padding, 10px); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) { - flex: 1; - display: flex; - flex-direction: column; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) p { - margin: var(--jse-padding, 10px) 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) p:first-child { - margin-top: 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) p:last-child { - margin-bottom: 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .jse-description:where(.svelte-lta8xm) code { - background: var(--jse-modal-code-background, rgba(0, 0, 0, 0.05)); - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) .query-error:where(.svelte-lta8xm) { - color: var(--jse-error-color, #ee5341); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) textarea.jse-query:where(.svelte-lta8xm) { - flex: 1; - outline: none; - resize: vertical; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) { - flex: 1; - display: flex; - flex-direction: column; - gap: calc(2 * var(--jse-padding, 10px)); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-original-data:where(.svelte-lta8xm) { - flex: 1; - display: flex; - flex-direction: column; - min-height: 0; - box-sizing: border-box; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-original-data.jse-hide:where(.svelte-lta8xm) { - flex: none; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-preview-data:where(.svelte-lta8xm) { - flex: 1; - display: flex; - flex-direction: column; - min-height: 0; - box-sizing: border-box; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents.jse-hide-original-data:where(.svelte-lta8xm) { - flex-direction: column; - gap: 0; - margin-bottom: 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-actions:where(.svelte-lta8xm) { - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)) calc(2 * var(--jse-padding, 10px)); -} -@media screen and (max-width: 1200px) { - .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) { - flex-direction: column; - overflow: auto; - } - .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-query-contents:where(.svelte-lta8xm) textarea.jse-query:where(.svelte-lta8xm) { - min-height: 150px; - flex: none; - } - .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-tree-mode { - height: 300px; - flex: none; - } - .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-original-data:where(.svelte-lta8xm), - .jse-transform-modal-inner.svelte-lta8xm .jse-modal-contents:where(.svelte-lta8xm) .jse-main-contents:where(.svelte-lta8xm) .jse-data-contents:where(.svelte-lta8xm) .jse-preview-data:where(.svelte-lta8xm) { - flex: unset; - } -} -.jse-transform-modal-inner.svelte-lta8xm .jse-label:where(.svelte-lta8xm) { - font-weight: bold; - display: block; - box-sizing: border-box; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-label:where(.svelte-lta8xm) .jse-label-inner:where(.svelte-lta8xm) { - margin-top: calc(2 * var(--jse-padding, 10px)); - margin-bottom: calc(0.5 * var(--jse-padding, 10px)); - box-sizing: border-box; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-label:where(.svelte-lta8xm) .jse-label-inner:where(.svelte-lta8xm) button:where(.svelte-lta8xm) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - font-weight: bold; - padding: 0; -} -.jse-transform-modal-inner.svelte-lta8xm .jse-tree-mode { - flex: 1; - background: var(--jse-input-background-readonly, transparent); - box-shadow: none; - box-sizing: border-box; - --jse-main-border: var(--jse-input-border, 1px solid #d8dbdf); -} -.jse-transform-modal-inner.svelte-lta8xm input:where(.svelte-lta8xm), -.jse-transform-modal-inner.svelte-lta8xm textarea:where(.svelte-lta8xm) { - border: var(--jse-input-border, 1px solid #d8dbdf); - outline: none; - box-sizing: border-box; - padding: calc(0.5 * var(--jse-padding, 10px)); - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - color: inherit; - background: var(--jse-input-background, var(--jse-background-color, #fff)); -} -.jse-transform-modal-inner.svelte-lta8xm input:where(.svelte-lta8xm):focus, -.jse-transform-modal-inner.svelte-lta8xm textarea:where(.svelte-lta8xm):focus { - border: var(--jse-input-border-focus, 1px solid var(--jse-input-border-focus, var(--jse-theme-color, #3883fa))); -} -.jse-transform-modal-inner.svelte-lta8xm input:where(.svelte-lta8xm):read-only, -.jse-transform-modal-inner.svelte-lta8xm textarea:where(.svelte-lta8xm):read-only { - background: var(--jse-input-background-readonly, transparent); -} -.jse-transform-modal-inner.svelte-lta8xm .jse-preview.jse-error:where(.svelte-lta8xm) { - flex: 1; - background: var(--jse-input-background-readonly, transparent); - border: var(--jse-input-border, 1px solid #d8dbdf); - color: var(--jse-error-color, #ee5341); - padding: calc(0.5 * var(--jse-padding, 10px)); -} -.jse-transform-modal-inner.svelte-lta8xm a { - color: var(--jse-a-color, #156fc5); -} -.jse-transform-modal-inner.svelte-lta8xm a:hover { - color: var(--jse-a-color-highlight, #0f508d); -}`);var Lf=wv(()=>XSA),WQ=wv(()=>$SA),ONA=FA('
        '),PNA=FA(" ",1),jNA=FA('
        '),qNA=FA('
        Language
        Path
        Query
        Preview
        ',1),VNA=FA('
        ');function WNA(t,e){var A,i,n;St(e,!1);var o=Cr("jsoneditor:TransformModal"),a=N(e,"id",25,()=>"transform-modal-"+th()),r=N(e,"json",9),s=N(e,"rootPath",25,()=>[]),g=N(e,"indentation",9),l=N(e,"truncateTextSize",9),C=N(e,"escapeControlCharacters",9),I=N(e,"escapeUnicodeCharacters",9),d=N(e,"parser",9),B=N(e,"parseMemoizeOne",9),E=N(e,"validationParser",9),Q=N(e,"pathParser",9),f=N(e,"queryLanguages",9),b=N(e,"queryLanguageId",13),S=N(e,"onChangeQueryLanguage",9),M=N(e,"onRenderValue",9),D=N(e,"onRenderMenu",9),F=N(e,"onRenderContextMenu",9),_=N(e,"onClassName",9),U=N(e,"onTransform",9),J=N(e,"onClose",9),j=IA(void 0,!0),AA=IA(CaA({onChange:LA=>R(AA,LA)}).get(),!0),O=IA(void 0,!0),DA=IA(void 0,!0),P=IA(!1,!0),aA="".concat(a(),":").concat(wt(s())),iA=(A=Lf()[aA])!==null&&A!==void 0?A:{},BA=IA(WQ().showWizard!==!1,!0),oA=IA(WQ().showOriginal!==!1,!0),sA=IA((i=iA.queryOptions)!==null&&i!==void 0?i:{},!0),hA=IA(b()===iA.queryLanguageId&&iA.query?iA.query:"",!0),YA=IA((n=iA.isManual)!==null&&n!==void 0&&n,!0),ee=IA(void 0,!0),UA=IA(void 0,!0),mA=IA({text:""},!0);function KA(LA){var pA;return(pA=f().find(Ft=>Ft.id===LA))!==null&&pA!==void 0?pA:f()[0]}function Pe(LA){try{R(sA,LA),R(hA,KA(b()).createQuery(c(O),LA)),R(ee,void 0),R(YA,!1),o("updateQueryByWizard",{queryOptions:c(sA),query:c(hA),isManual:c(YA)})}catch(pA){R(ee,String(pA))}}function Je(LA){R(hA,LA.target.value),R(YA,!0),o("handleChangeQuery",{query:c(hA),isManual:c(YA)})}c(YA)||Pe(c(sA)),is(()=>{var LA;(LA=c(j))===null||LA===void 0||LA.focus()});var HA=qE(function(LA,pA){if(LA===void 0)return R(mA,{text:""}),void R(UA,"Error: No JSON");if(pA.trim()!=="")try{o("previewTransform",{query:pA});var Ft=KA(b()).executeQuery(LA,pA,d());R(mA,{json:Ft}),R(UA,void 0)}catch(ht){R(mA,{text:""}),R(UA,String(ht))}else R(mA,{json:LA})},300);function uA(){if(c(O)===void 0)return R(mA,{text:""}),void R(UA,"Error: No JSON");try{o("handleTransform",{query:c(hA)});var LA=KA(b()).executeQuery(c(O),c(hA),d());U()([{op:"replace",path:wt(s()),value:LA}]),J()()}catch(pA){console.error(pA),R(mA,{text:""}),R(UA,String(pA))}}function ZA(){R(BA,!c(BA)),WQ(WQ().showWizard=c(BA))}function QA(){R(oA,!c(oA)),WQ(WQ().showOriginal=c(oA))}function WA(LA){LA.focus()}function MA(LA){o("handleChangeQueryLanguage",LA),b(LA),S()(LA),Pe(c(sA))}function be(){c(P)?R(P,!c(P)):J()()}RA(()=>(G(r()),G(s())),()=>{R(O,caA(je(r(),s())))}),RA(()=>c(O),()=>{R(DA,c(O)?{json:c(O)}:{text:""})}),RA(()=>(c(O),c(hA)),()=>{HA(c(O),c(hA))}),RA(()=>(Lf(),c(sA),c(hA),G(b()),c(YA)),()=>{Lf(Lf()[aA]={queryOptions:c(sA),query:c(hA),queryLanguageId:b(),isManual:c(YA)}),o("store state in memory",aA,Lf()[aA])}),kn(),Ai(!0),em(t,{get onClose(){return J()},className:"jse-transform-modal",get fullscreen(){return c(P)},children:(LA,pA)=>{var Ft=VNA();yL(CA(Ft),{children:(ht,Ee)=>{var Kt=qNA(),Ye=At(Kt);(function(L,Ct){St(Ct,!1);var ci,Bn=N(Ct,"queryLanguages",9),En=N(Ct,"queryLanguageId",9),qn=N(Ct,"fullscreen",13),Yo=N(Ct,"onChangeQueryLanguage",9),Co=N(Ct,"onClose",9),ko=IA(void 0,!0),{openAbsolutePopup:Zo,closeAbsolutePopup:wo}=r1("absolute-popup");function ha(){var Xo={queryLanguages:Bn(),queryLanguageId:En(),onChangeQueryLanguage:ra=>{wo(ci),Yo()(ra)}};ci=Zo(qxA,Xo,{offsetTop:-2,offsetLeft:0,anchor:c(ko),closeOnOuterClick:!0})}Ai(!0),Ev(L,{title:"Transform",fullScreenButton:!0,get onClose(){return Co()},get fullscreen(){return qn()},set fullscreen(Xo){qn(Xo)},$$slots:{actions:(Xo,ra)=>{var Do,re=ZxA();Vi(CA(re),{get data(){return aV}}),Jo(re,di=>R(ko,di),()=>c(ko)),ve(()=>Do=$t(re,1,"jse-config svelte-5gkegr",null,Do,{hide:Bn().length<=1})),ue("click",re,ha),lA(Xo,re)}},$$legacy:!0}),xt()})(Ye,{get queryLanguages(){return f()},get queryLanguageId(){return b()},onChangeQueryLanguage:MA,get onClose(){return J()},get fullscreen(){return c(P)},set fullscreen(L){R(P,L)},$$legacy:!0});var ze=CA(bA(Ye,2)),ut=CA(ze),Me=bA(CA(ut),2);XnA(CA(Me),()=>(G(b()),EA(()=>KA(b()).description)));var ei=bA(Me,4),Y=bA(ei,2),z=CA(Y),nA=CA(z),rA=CA(nA),NA=tt(()=>c(BA)?M0:WE);Vi(rA,{get data(){return c(NA)}});var Ie=bA(Y,2),Qe=L=>{var Ct=bi(),ci=At(Ct),Bn=qn=>{var Yo=PNA(),Co=At(Yo);OxA(Co,{get queryOptions(){return c(sA)},get json(){return c(O)},onChange:Pe});var ko=bA(Co,2),Zo=wo=>{var ha=ONA(),Xo=CA(ha);ve(()=>Rt(Xo,c(ee))),lA(wo,ha)};TA(ko,wo=>{c(ee)&&wo(Zo)}),lA(qn,Yo)},En=qn=>{lA(qn,ur("(Only available for arrays, not for objects)"))};TA(ci,qn=>{c(O),EA(()=>Array.isArray(c(O)))?qn(Bn):qn(En,!1)}),lA(L,Ct)};TA(Ie,L=>{c(BA)&&L(Qe)});var xA=bA(Ie,4);Jo(xA,L=>R(j,L),()=>c(j));var _A,Et,et=bA(ut,2),Te=CA(et),Le=CA(Te),si=CA(Le),gn=CA(si),dn=CA(gn),_e=tt(()=>c(oA)?M0:WE);Vi(dn,{get data(){return c(_e)}});var Wi=bA(Le,2),ui=L=>{zL(L,{get externalContent(){return c(DA)},externalSelection:void 0,get history(){return c(AA)},readOnly:!0,get truncateTextSize(){return l()},mainMenuBar:!1,navigationBar:!1,get indentation(){return g()},get escapeControlCharacters(){return C()},get escapeUnicodeCharacters(){return I()},get parser(){return d()},get parseMemoizeOne(){return B()},get onRenderValue(){return M()},get onRenderMenu(){return D()},get onRenderContextMenu(){return F()},onError:EA(()=>console.error),get onChange(){return ya},get onChangeMode(){return ya},get onSelect(){return ya},get onUndo(){return ya},get onRedo(){return ya},get onFocus(){return ya},get onBlur(){return ya},get onSortModal(){return ya},get onTransformModal(){return ya},get onJSONEditorModal(){return ya},get onClassName(){return _()},validator:void 0,get validationParser(){return E()},get pathParser(){return Q()}})};TA(Wi,L=>{c(oA)&&L(ui)});var Mi=bA(Te,2),zi=bA(CA(Mi),2),vt=L=>{zL(L,{get externalContent(){return c(mA)},externalSelection:void 0,get history(){return c(AA)},readOnly:!0,get truncateTextSize(){return l()},mainMenuBar:!1,navigationBar:!1,get indentation(){return g()},get escapeControlCharacters(){return C()},get escapeUnicodeCharacters(){return I()},get parser(){return d()},get parseMemoizeOne(){return B()},get onRenderValue(){return M()},get onRenderMenu(){return D()},get onRenderContextMenu(){return F()},onError:EA(()=>console.error),get onChange(){return ya},get onChangeMode(){return ya},get onSelect(){return ya},get onUndo(){return ya},get onRedo(){return ya},get onFocus(){return ya},get onBlur(){return ya},get onSortModal(){return ya},get onTransformModal(){return ya},get onJSONEditorModal(){return ya},get onClassName(){return _()},validator:void 0,get validationParser(){return E()},get pathParser(){return Q()}})},Zi=L=>{var Ct=jNA(),ci=CA(Ct);ve(()=>Rt(ci,c(UA))),lA(L,Ct)};TA(zi,L=>{c(UA)?L(Zi,!1):L(vt)});var _t=CA(bA(ze,2));Nr(()=>ue("click",_t,uA)),vs(_t,L=>WA?.(L)),ve(L=>{AB(ei,L),AB(xA,c(hA)),_A=$t(et,1,"jse-data-contents svelte-lta8xm",null,_A,{"jse-hide-original-data":!c(oA)}),Et=$t(Te,1,"jse-original-data svelte-lta8xm",null,Et,{"jse-hide":!c(oA)}),_t.disabled=!!c(UA)},[()=>(G(qi),G(s()),G(vg),EA(()=>qi(s())?"(document root)":vg(s())))]),ue("click",nA,ZA),ue("input",xA,Je),ue("click",gn,QA),lA(ht,Kt)},$$slots:{default:!0}}),vs(Ft,(ht,Ee)=>Qv?.(ht,Ee),()=>be),lA(LA,Ft)},$$slots:{default:!0}}),xt()}function Gl(){}var ZNA=0,hr=class{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.id=ZNA++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=im.match(e)),A=>{var i=e(A);return i===void 0?null:[this,i]}}};hr.closedBy=new hr({deserialize:t=>t.split(" ")}),hr.openedBy=new hr({deserialize:t=>t.split(" ")}),hr.group=new hr({deserialize:t=>t.split(" ")}),hr.isolate=new hr({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}}),hr.contextHash=new hr({perNode:!0}),hr.lookAhead=new hr({perNode:!0}),hr.mounted=new hr({perNode:!0});var XiA,XNA=Object.create(null),im=class t{constructor(e,A,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;this.name=e,this.props=A,this.id=i,this.flags=n}static define(e){var A=e.props&&e.props.length?Object.create(null):XNA,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new t(e.name||"",A,e.id,i);if(e.props){for(var o of e.props)if(Array.isArray(o)||(o=o(n)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");A[o[0].id]=o[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;var A=this.prop(hr.group);return!!A&&A.indexOf(e)>-1}return this.id==e}static match(e){var A=Object.create(null);for(var i in e)for(var n of i.split(" "))A[n]=e[i];return o=>{for(var a=o.prop(hr.group),r=-1;r<(a?a.length:0);r++){var s=A[r<0?o.name:a[r]];if(s)return s}}}};im.none=new im("",Object.create(null),0,8),(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(XiA||(XiA={})),new hr({perNode:!0});qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-status-bar.svelte-1pmgv9j { - background: var(--jse-panel-background, #ebebeb); - color: var(--jse-panel-color-readonly, #b2b2b2); - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - margin: 0; - border-top: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); - display: flex; - gap: var(--jse-padding, 10px); -} -.jse-status-bar.svelte-1pmgv9j:last-child { - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-status-bar.svelte-1pmgv9j .jse-status-bar-info:where(.svelte-1pmgv9j) { - padding: 2px; -}`);var $NA=FA('
        '),AFA=FA('
        '),eFA=FA('
        '),tFA=FA('
        '),fG=_Q.define([{tag:Re.propertyName,color:"var(--internal-key-color)"},{tag:Re.number,color:"var(--internal-value-color-number)"},{tag:Re.bool,color:"var(--internal-value-color-boolean)"},{tag:Re.string,color:"var(--internal-value-color-string)"},{tag:Re.keyword,color:"var(--internal-value-color-null)"}]),iFA=PF(fG),nFA=fG.style;fG.style=t=>nFA(t||[]);var oFA=[Go.fromClass(class{constructor(t){this.view=t,this.indentUnit=_c(t.state),this.initialPaddingLeft=null,this.isChrome=window?.navigator.userAgent.includes("Chrome"),this.generate(t.state)}update(t){var e=_c(t.state);(e!==this.indentUnit||t.docChanged||t.viewportChanged)&&(this.indentUnit=e,this.generate(t.state))}generate(t){var e=new Wr;this.initialPaddingLeft?this.addStyleToBuilder(e,t,this.initialPaddingLeft):this.view.requestMeasure({read:A=>{var i=A.contentDOM.querySelector(".cm-line");i&&(this.initialPaddingLeft=window.getComputedStyle(i).getPropertyValue("padding-left"),this.addStyleToBuilder(e,A.state,this.initialPaddingLeft)),this.decorations=e.finish()}}),this.decorations=e.finish()}addStyleToBuilder(t,e,A){var i=this.getVisibleLines(e);for(var n of i){var{numColumns:o,containsTab:a}=this.numColumns(n.text,e.tabSize),r="calc(".concat(o+this.indentUnit,"ch + ").concat(A,")"),s=this.isChrome?"calc(-".concat(o+this.indentUnit,"ch - ").concat(a?1:0,"px)"):"-".concat(o+this.indentUnit,"ch");t.add(n.from,n.from,yt.line({attributes:{style:"padding-left: ".concat(r,"; text-indent: ").concat(s,";")}}))}}getVisibleLines(t){var e=new Set,A=null;for(var{from:i,to:n}of this.view.visibleRanges)for(var o=i;o<=n;){var a=t.doc.lineAt(o);A!==a&&(e.add(a),A=a),o=a.to+1}return e}numColumns(t,e){var A=0,i=!1;A:for(var n=0;nt.decorations})];qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-text-mode.svelte-k2b9e6 { - --internal-key-color: var(--jse-key-color, #1a1a1a); - --internal-value-color-number: var(--jse-value-color-number, #ee422e); - --internal-value-color-boolean: var(--jse-value-color-boolean, #ff8c00); - --internal-value-color-string: var(--jse-value-color-string, #008000); - --internal-value-color-null: var(--jse-value-color-null, #004ed0); - flex: 1; - box-sizing: border-box; - display: flex; - flex-direction: column; - background: var(--jse-background-color, #fff); -} -.jse-text-mode.no-main-menu.svelte-k2b9e6 { - border-top: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) { - flex: 1; - display: flex; - position: relative; - flex-direction: column; - overflow: hidden; - min-width: 0; - min-height: 0; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6):last-child { - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents.jse-hidden:where(.svelte-k2b9e6) { - visibility: hidden; - position: absolute; - top: 0; - left: 0; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor { - flex: 1; - overflow: hidden; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-scroller { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - line-height: var(--jse-line-height, calc(1em + 4px)); - color: var(--jse-delimiter-color, rgba(0, 0, 0, 0.38)); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-gutters { - background: var(--jse-panel-background, #ebebeb); - color: var(--jse-panel-color-readonly, #b2b2b2); - border-right: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-activeLine, -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-activeLineGutter { - background: var(--jse-active-line-background-color, rgba(0, 0, 0, 0.06)); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-selectionBackground { - background: var(--jse-selection-background-color, #d3d3d3); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-searchMatch { - background-color: var(--jse-search-match-color, #ffe665); - outline: var(--jse-search-match-outline, none); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-searchMatch.cm-searchMatch-selected { - background-color: var(--jse-search-match-active-color, var(--jse-search-match-color, #ffe665)); - outline: var(--jse-search-match-outline, 2px solid #e0be00); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-selectionMatch { - background-color: var(--jse-search-match-background-color, rgba(153, 255, 119, 0.5019607843)); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-foldPlaceholder { - background: var(--jse-tag-background, rgba(0, 0, 0, 0.2)); - color: var(--jse-tag-color, var(--jse-text-color-inverse, #fff)); - border: none; - padding: 0 var(--jse-padding, 10px); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-tooltip { - font-size: var(--jse-font-size, 16px); - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - color: var(--jse-tooltip-color, var(--jse-text-color, #4d4d4d)); - background: var(--jse-tooltip-background, var(--jse-modal-background, #f5f5f5)); - border: var(--jse-tooltip-border, var(--jse-main-border, 1px solid #d7d7d7)); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-diagnosticAction { - background: var(--jse-tooltip-action-button-color, var(--jse-text-color-inverse, #fff)); - background: var(--jse-tooltip-action-button-background, #4d4d4d); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-panels { - border-bottom: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search { - background: var(--jse-panel-background, #ebebeb); - color: var(--jse-panel-color, var(--jse-text-color, #4d4d4d)); - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search input { - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size-text-mode-search, 80%); - color: var(--jse-input-color, var(--jse-text-color, #4d4d4d)); - border: var(--jse-input-border, 1px solid #d8dbdf); - background: var(--jse-input-background, var(--jse-background-color, #fff)); - margin-right: 2px; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search button { - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size-text-mode-search, 80%); - color: var(--jse-panel-button-color, inherit); - background: var(--jse-panel-button-background, transparent); - border: none; - cursor: pointer; - text-transform: capitalize; - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px); - margin: 0; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search button:hover { - color: var(--panel-button-color-highlight, var(--jse-text-color, #4d4d4d)); - background: var(--jse-panel-button-background-highlight, #e0e0e0); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search label { - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size-text-mode-search, 80%); - padding-left: var(--jse-padding, 10px); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search label input { - margin-right: 2px; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-search button[name='close'] { - width: 32px; - height: 32px; - font-size: 24px; - line-height: 24px; - padding: 0; - right: 0; - top: -4px; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .cm-editor .cm-cursor-primary { - border-color: var(--jse-text-color, #4d4d4d); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .jse-loading-space:where(.svelte-k2b9e6) { - flex: 1; -} -.jse-text-mode.svelte-k2b9e6 .jse-contents:where(.svelte-k2b9e6) .jse-loading:where(.svelte-k2b9e6) { - flex: 2; - text-align: center; - color: var(--jse-panel-color-readonly, #b2b2b2); - box-sizing: border-box; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); -} -.jse-text-mode.svelte-k2b9e6 .jse-contents.jse-preview:where(.svelte-k2b9e6) { - flex: 1; - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - color: var(--jse-panel-color-readonly, #b2b2b2); - overflow: auto; - white-space: pre-wrap; - word-break: break-word; - padding: 2px; -} -.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) { - display: flex; - align-items: center; - gap: 8px; - padding: 8px 12px; - background: var(--jse-background-color, #fff); - border-top: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); - border-bottom: var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); -} -.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-tip:where(.svelte-k2b9e6) { - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size-mono, 14px); - color: var(--jse-panel-color-readonly, #b2b2b2); -} -.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-progress-track:where(.svelte-k2b9e6) { - flex: 1; - height: 6px; - background: var(--jse-panel-background, #ebebeb); - border-radius: 3px; - overflow: hidden; - border: 1px solid var(--jse-panel-border, var(--jse-main-border, 1px solid #d7d7d7)); -} -.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-progress-fill:where(.svelte-k2b9e6) { - height: 100%; - background: linear-gradient(90deg, var(--jse-theme-color, #3883fa), var(--jse-theme-color-highlight, #5f9dff)); - border-radius: 2px; - transition: width 0.1s ease; - min-width: 2px; -} -.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-cancel-button:where(.svelte-k2b9e6) { - padding: 4px 12px; - font-size: 12px; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - background: var(--jse-theme-color, #3883fa); - color: #fff; - border-radius: 3px; - cursor: pointer; - transition: background-color 0.2s ease; - flex-shrink: 0; - border: 1px solid var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-text-mode.svelte-k2b9e6 .jse-fold-progress:where(.svelte-k2b9e6) .jse-fold-cancel-button:where(.svelte-k2b9e6):hover { - background: var(--jse-theme-color-highlight, #5f9dff); - color: #fff; -}`);var aFA=FA('
        Collapsing
        '),rFA=FA('
        ',1),sFA=FA(" ",1),gFA=FA("
        ",1),lFA=FA('
        loading...
        '),cFA=FA("
        ");function CFA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=N(e,"readOnly",9),o=N(e,"mainMenuBar",9),a=N(e,"statusBar",9),r=N(e,"askToFormat",9),s=N(e,"externalContent",9),g=N(e,"externalSelection",9),l=N(e,"history",9),C=N(e,"indentation",9),I=N(e,"tabSize",9),d=N(e,"escapeUnicodeCharacters",9),B=N(e,"parser",9),E=N(e,"validator",9),Q=N(e,"validationParser",9),f=N(e,"onChange",9),b=N(e,"onChangeMode",9),S=N(e,"onSelect",9),M=N(e,"onUndo",9),D=N(e,"onRedo",9),F=N(e,"onError",9),_=N(e,"onFocus",9),U=N(e,"onBlur",9),J=N(e,"onRenderMenu",9),j=N(e,"onSortModal",9),AA=N(e,"onTransformModal",9),O=Cr("jsoneditor:TextMode"),DA={key:"Mod-i",run:Qe,shift:xA,preventDefault:!0},P=typeof window>"u";O("isSSR:",P);var aA,iA=IA(void 0,!0),BA=IA(void 0,!0),oA=IA(void 0,!0),sA=IA(!1,!0),hA=IA(r(),!0),YA=IA([],!0),ee=IA(!1,!0),UA=IA(0,!0),mA=IA(0,!0),KA=null,Pe=new F0,Je=new F0,HA=new F0,uA=new F0,ZA=new F0,QA=s(),WA=IA(DL(QA,C(),B()),!0),MA=hg.define(),be=null;function LA(){if(!be||be.length===0)return!1;var vA=be[0].startState,VA=be[be.length-1].state,me=be.map(SA=>SA.changes).reduce((SA,ae)=>SA.compose(ae)),dA={type:"text",undo:{changes:me.invert(vA.doc).toJSON(),selection:ra(vA.selection)},redo:{changes:me.toJSON(),selection:ra(VA.selection)}};return O("add history item",dA),l().add(dA),be=null,!0}var pA=IA(d(),!0);is(Tt(function*(){if(!P)try{aA=(function(vA){var{target:VA,initialText:me,readOnly:dA,indentation:SA}=vA;O("Create CodeMirror editor",{readOnly:dA,indentation:SA});var ae=(function(it,st){return iL(it)?it.ranges.every(bt=>bt.anchor{R(oA,it.state),it.docChanged&&(it.transactions.some(st=>!!st.annotation(MA))||(be=[...be??[],it]),Zo()),it.selectionSet&&Xo()}),atA(),ItA({top:!0}),ii.lineWrapping,Je.of(er.readOnly.of(dA)),uA.of(er.tabSize.of(I())),HA.of(ko(SA)),ZA.of(ii.theme({},{dark:Zi()}))]});return aA=new ii({state:xe,parent:VA}),ae&&aA.dispatch(aA.state.update({selection:ae.main,scrollIntoView:!0})),aA})({target:c(iA),initialText:Do(c(WA),c(sA))?"":c(A).escapeValue(c(WA)),readOnly:n(),indentation:C()})}catch(vA){console.error(vA)}})),Hl(()=>{wo(),aA&&(O("Destroy CodeMirror editor"),aA.destroy()),ei()});var Ft=II(),ht=II();function Ee(){aA&&(O("focus"),aA.focus())}function Kt(vA,VA){if(aA)try{(function(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],dA=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],SA=aA.state,ae=SA.doc.length,xe=UF(SA,ae,1/0);if(xe){var it=[];if(me.length===0)it=ut(xe,SA,void 0,dA);else{var{from:st}=q_(c(A).escapeValue(c(WA)),me);st!==void 0&&st!==0&&(it=ut(xe,SA,st,dA))}it.length>0&&(function(bt){Me.apply(this,arguments)})(it)}})(vA,VA)}catch(me){F()(me)}}function Ye(){return TF.of((vA,VA,me)=>{var dA=UF(vA,vA.doc.length,1/0);if(!dA||dA.lengthme)){if(SA&&xe.from=VA&&st.to>me&&(SA=st)}}}return SA})}function ze(vA){var VA=vA.lastChild;return VA&&VA.to==vA.to&&VA.type.isError}function ut(vA,VA,me){var dA=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],SA=[],ae=new Set;return vA.iterate({enter(xe){if(me===void 0||xe.from>=me){var it=FQ(VA,xe.from,xe.to);if(it){var st="".concat(it.from,"-").concat(it.to);if(!ae.has(st))if(dA)SA.push({from:it.from,to:it.to}),ae.add(st);else{var bt=SA.some(Kn=>Kn.from<=it.from&&Kn.to>=it.to);bt||(SA.push({from:it.from,to:it.to}),ae.add(st))}}}}}),SA}function Me(){return Me=Tt(function*(vA){if(vA.length!==0){var VA=vA.length>5e3;VA&&(R(ee,!0),R(UA,0),R(mA,vA.length),KA=new AbortController);var me=dA=>new Promise(SA=>{var ae;VA&&(ae=KA)!==null&&ae!==void 0&&ae.signal.aborted?SA():requestAnimationFrame(()=>{var xe=Math.min(dA+100,vA.length),it=vA.slice(dA,xe);aA.dispatch({effects:it.map(st=>GQ.of({from:st.from,to:st.to}))}),VA&&R(UA,xe),xe1&&arguments[1]!==void 0?arguments[1]:kL;if(aA)try{if(vA&&vA.length>0){var{from:me}=q_(c(A).escapeValue(c(WA)),vA);me!==void 0&&(aA.dispatch({selection:{anchor:me,head:me}}),HF(aA))}else zF(aA);VA?.(vA)}catch(dA){F()(dA)}}function z(){Y([],()=>!0)}function nA(){Kt([],!0)}var rA=!1;function NA(vA){return Ie(vA,!1)}function Ie(vA,VA){O("handlePatch",vA,VA);var me=B().parse(c(WA)),dA=lg(me,vA),SA=cw(me,vA);return ci({text:B().stringify(dA,null,C())},VA,!1),{json:dA,previousJson:me,undo:SA,redo:vA}}function Qe(){if(O("format"),n())return!1;try{var vA=B().parse(c(WA));return ci({text:B().stringify(vA,null,C())},!0,!1),R(hA,r()),!0}catch(VA){F()(VA)}return!1}function xA(){if(O("compact"),n())return!1;try{var vA=B().parse(c(WA));return ci({text:B().stringify(vA)},!0,!1),R(hA,!1),!0}catch(VA){F()(VA)}return!1}function _A(){if(O("repair"),!n())try{ci({text:ml(c(WA))},!0,!1),R(re,AL),R(di,void 0)}catch(vA){F()(vA)}}function Et(){var vA;if(!n())try{var VA=B().parse(c(WA));rA=!0,j()({id:Ft,json:VA,rootPath:[],onSort:(vA=Tt(function*(me){var{operations:dA}=me;O("onSort",dA),Ie(dA,!0)}),function(me){return vA.apply(this,arguments)}),onClose:()=>{rA=!1,Ee()}})}catch(me){F()(me)}}function et(vA){var{id:VA,rootPath:me,onTransform:dA,onClose:SA}=vA;try{var ae=B().parse(c(WA));rA=!0,AA()({id:VA||ht,json:ae,rootPath:me||[],onTransform:xe=>{dA?dA({operations:xe,json:ae,transformedJson:lg(ae,xe)}):(O("onTransform",xe),Ie(xe,!0))},onClose:()=>{rA=!1,Ee(),SA&&SA()}})}catch(xe){F()(xe)}}function Te(){n()||et({rootPath:[]})}function Le(){aA&&(c(iA)&&c(iA).querySelector(".cm-search")?Ey(aA):By(aA))}function si(){if(n())return!1;wo();var vA=l().undo();return O("undo",vA),fiA(vA)?(aA.dispatch({annotations:MA.of("undo"),changes:Vr.fromJSON(vA.undo.changes),selection:de.fromJSON(vA.undo.selection),scrollIntoView:!0}),!0):(M()(vA),!1)}function gn(){if(n())return!1;wo();var vA=l().redo();return O("redo",vA),fiA(vA)?(aA.dispatch({annotations:MA.of("redo"),changes:Vr.fromJSON(vA.redo.changes),selection:de.fromJSON(vA.redo.selection),scrollIntoView:!0}),!0):(D()(vA),!1)}function dn(){R(sA,!0),ci(s(),!0,!0)}function _e(){b()(ba.tree)}function Wi(){Yo()}function ui(vA){O("select validation error",vA);var{from:VA,to:me}=_t(vA);VA!==void 0&&me!==void 0&&(Mi(VA,me),Ee())}function Mi(vA,VA){O("setSelection",{anchor:vA,head:VA}),aA&&aA.dispatch(aA.state.update({selection:{anchor:vA,head:VA},scrollIntoView:!0}))}function zi(vA,VA){if(VA.state.selection.ranges.length===1){var me=VA.state.selection.ranges[0],dA=c(WA).slice(me.from,me.to);if(dA==="{"||dA==="["){var SA=OL.default.parse(c(WA)),ae=Object.keys(SA.pointers).find(it=>{var st;return((st=SA.pointers[it].value)===null||st===void 0?void 0:st.pos)===me.from}),xe=SA.pointers[ae];ae&&xe&&xe.value&&xe.valueEnd&&(O("pointer found, selecting inner contents of path:",ae,xe),Mi(xe.value.pos+1,xe.valueEnd.pos-1))}}}function vt(){return PeA(ln,{delay:300})}function Zi(){return!!c(iA)&&getComputedStyle(c(iA)).getPropertyValue("--jse-theme").includes("dark")}function _t(vA){var{path:VA,message:me,severity:dA}=vA,{line:SA,column:ae,from:xe,to:it}=q_(c(A).escapeValue(c(WA)),VA);return{path:VA,line:SA,column:ae,from:xe,to:it,message:me,severity:dA,actions:[]}}function L(vA,VA){var{line:me,column:dA,position:SA,message:ae}=vA;return{path:[],line:me,column:dA,from:SA,to:SA,severity:Jc.error,message:ae,actions:VA&&!n()?[{name:"Auto repair",apply:()=>_A()}]:void 0}}function Ct(vA){return{from:vA.from||0,to:vA.to||0,message:vA.message||"",actions:vA.actions,severity:vA.severity}}function ci(vA,VA,me){var dA=DL(vA,C(),B()),SA=!Qi(vA,QA),ae=QA;O("setCodeMirrorContent",{isChanged:SA,emitChange:VA,forceUpdate:me}),aA&&(SA||me)&&(QA=vA,R(WA,dA),Do(c(WA),c(sA))||aA.dispatch({changes:{from:0,to:aA.state.doc.length,insert:c(A).escapeValue(c(WA))}}),LA(),SA&&VA&&ha(QA,ae))}function Bn(vA){return iL(vA)?de.fromJSON(vA):void 0}function En(){return qn.apply(this,arguments)}function qn(){return qn=Tt(function*(){O("refresh"),yield(function(){return Co.apply(this,arguments)})()}),qn.apply(this,arguments)}function Yo(){if(aA){var vA=aA?c(A).unescapeValue(aA.state.doc.toString()):"",VA=vA!==c(WA);if(O("onChangeCodeMirrorValue",{isChanged:VA}),VA){var me=QA;R(WA,vA),QA={text:c(WA)},LA(),ha(QA,me),Mo(),Xo()}}}function Co(){return(Co=Tt(function*(){if(Mo(),aA){var vA=Zi();return O("updateTheme",{dark:vA}),aA.dispatch({effects:[ZA.reconfigure(ii.theme({},{dark:vA}))]}),new Promise(VA=>setTimeout(VA))}return Promise.resolve()})).apply(this,arguments)}function ko(vA){var VA=xd.of(typeof vA=="number"?" ".repeat(vA):vA);return vA===" "?[VA]:[VA,oFA]}QG({onMount:is,onDestroy:Hl,getWindow:()=>cm(c(BA)),hasFocus:()=>rA&&document.hasFocus()||tG(c(BA)),onFocus:_(),onBlur:()=>{wo(),U()()}});var Zo=qE(Yo,300);function wo(){Zo.flush()}function ha(vA,VA){f()&&f()(vA,VA,{contentErrors:Qn(),patchResult:void 0})}function Xo(){S()(ra(c(oA).selection))}function ra(vA){return ye({type:no.text},vA.toJSON())}function Do(vA,VA){return!!vA&&vA.length>X_&&!VA}var re=IA(AL,!0),di=IA(void 0,!0);function ln(){if(Do(c(WA),c(sA)))return[];var vA=Qn();if(uiA(vA)){var{parseError:VA,isRepairable:me}=vA;return[Ct(L(VA,me))]}return RSA(vA)?vA.validationErrors.map(_t).map(Ct):[]}function Qn(){O("validate:start"),wo();var vA=To(c(A).escapeValue(c(WA)),E(),B(),Q());return uiA(vA)?(R(re,vA.isRepairable?diA:"invalid"),R(di,vA.parseError),R(YA,[])):(R(re,AL),R(di,void 0),R(YA,vA?.validationErrors||[])),O("validate:end"),vA}var To=ZE(ARA);function Ma(){c(di)&&(function(vA){O("select parse error",vA);var VA=L(vA,!1);Mi(VA.from!=null?VA.from:0,VA.to!=null?VA.to:0),Ee()})(c(di))}var wi={icon:AV,text:"Show me",title:"Move to the parse error location",onClick:Ma};RA(()=>G(d()),()=>{R(A,AG({escapeControlCharacters:!1,escapeUnicodeCharacters:d()}))}),RA(()=>G(s()),()=>{ci(s(),!1,!1)}),RA(()=>G(g()),()=>{(function(vA){if(iL(vA)){var VA=Bn(vA);!aA||!VA||c(oA)&&c(oA).selection.eq(VA)||(O("applyExternalSelection",VA),aA.dispatch({selection:VA}))}})(g())}),RA(()=>G(E()),()=>{(function(vA){O("updateLinter",vA),aA&&aA.dispatch({effects:Pe.reconfigure(vt())})})(E())}),RA(()=>G(C()),()=>{(function(vA){aA&&(O("updateIndentation",vA),aA.dispatch({effects:HA.reconfigure(ko(vA))}))})(C())}),RA(()=>G(I()),()=>{(function(vA){aA&&(O("updateTabSize",vA),aA.dispatch({effects:uA.reconfigure(er.tabSize.of(vA))}))})(I())}),RA(()=>G(n()),()=>{(function(vA){aA&&(O("updateReadOnly",vA),aA.dispatch({effects:[Je.reconfigure(er.readOnly.of(vA))]}))})(n())}),RA(()=>(c(pA),G(d())),()=>{c(pA)!==d()&&(R(pA,d()),O("forceUpdateText",{escapeUnicodeCharacters:d()}),aA&&aA.dispatch({changes:{from:0,to:aA.state.doc.length,insert:c(A).escapeValue(c(WA))}}))}),RA(()=>(c(re),G(n()),SC),()=>{R(i,c(re)!==diA||n()?[wi]:[{icon:SC,text:"Auto repair",title:"Automatically repair JSON",onClick:_A},wi])}),kn();var Io={focus:Ee,collapse:Kt,expand:Y,patch:NA,handlePatch:Ie,openTransformModal:et,refresh:En,flush:wo,validate:Qn};Ai(!0);var nr,yo=cFA(),Pa=CA(yo),Gn=vA=>{var VA=tt(()=>(c(WA),EA(()=>c(WA).length===0))),me=tt(()=>!c(VA)),dA=tt(()=>!c(VA)),SA=tt(()=>!c(VA)),ae=tt(()=>!c(VA)),xe=tt(()=>!c(VA)),it=tt(()=>!c(VA));(function(st,bt){St(bt,!1);var Kn=IA(void 0,!0),Ri=N(bt,"readOnly",9,!1),Ji=N(bt,"onExpandAll",9),Vt=N(bt,"onCollapseAll",9),Ni=N(bt,"onFormat",9),ka=N(bt,"onCompact",9),Lt=N(bt,"onSort",9),gt=N(bt,"onTransform",9),Fi=N(bt,"onToggleSearch",9),Oi=N(bt,"onUndo",9),Vn=N(bt,"onRedo",9),hn=N(bt,"canExpandAll",9),Mt=N(bt,"canCollapseAll",9),sa=N(bt,"canUndo",9),Ho=N(bt,"canRedo",9),u=N(bt,"canFormat",9),y=N(bt,"canCompact",9),x=N(bt,"canSort",9),H=N(bt,"canTransform",9),k=N(bt,"onRenderMenu",9),T=IA(void 0,!0),eA=IA(void 0,!0),gA={type:"button",icon:g3,title:"Search (Ctrl+F)",className:"jse-search",onClick:Fi()},wA=IA(void 0,!0);RA(()=>(G(Ji()),G(hn())),()=>{R(T,{type:"button",icon:XoA,title:"Expand all",className:"jse-expand-all",onClick:Ji(),disabled:!hn()})}),RA(()=>(G(Vt()),G(Mt())),()=>{R(eA,{type:"button",icon:$oA,title:"Collapse all",className:"jse-collapse-all",onClick:Vt(),disabled:!Mt()})}),RA(()=>(G(Ri()),c(T),c(eA),G(Ni()),G(u()),G(ka()),G(y()),G(Lt()),G(x()),G(gt()),G(H()),G(Oi()),G(sa()),G(Vn()),G(Ho())),()=>{R(wA,Ri()?[c(T),c(eA),{type:"separator"},gA,{type:"space"}]:[c(T),c(eA),{type:"separator"},{type:"button",icon:ViA,title:"Format JSON: add proper indentation and new lines (Ctrl+I)",className:"jse-format",onClick:Ni(),disabled:Ri()||!u()},{type:"button",icon:tNA,title:"Compact JSON: remove all white spacing and new lines (Ctrl+Shift+I)",className:"jse-compact",onClick:ka(),disabled:Ri()||!y()},{type:"separator"},{type:"button",icon:C3,title:"Sort",className:"jse-sort",onClick:Lt(),disabled:Ri()||!x()},{type:"button",icon:s3,title:"Transform contents (filter, sort, project)",className:"jse-transform",onClick:gt(),disabled:Ri()||!H()},gA,{type:"separator"},{type:"button",icon:$w,title:"Undo (Ctrl+Z)",className:"jse-undo",onClick:Oi(),disabled:!sa()},{type:"button",icon:Xw,title:"Redo (Ctrl+Shift+Z)",className:"jse-redo",onClick:Vn(),disabled:!Ho()},{type:"space"}])}),RA(()=>(G(k()),c(wA)),()=>{R(Kn,k()(c(wA))||c(wA))}),kn(),Ai(!0),xv(st,{get items(){return c(Kn)}}),xt()})(vA,{get readOnly(){return n()},onExpandAll:z,onCollapseAll:nA,onFormat:Qe,onCompact:xA,onSort:Et,onTransform:Te,onToggleSearch:Le,onUndo:si,onRedo:gn,get canExpandAll(){return c(me)},get canCollapseAll(){return c(dA)},get canFormat(){return c(SA)},get canCompact(){return c(ae)},get canSort(){return c(xe)},get canTransform(){return c(it)},get canUndo(){return G(l()),EA(()=>l().canUndo)},get canRedo(){return G(l()),EA(()=>l().canRedo)},get onRenderMenu(){return J()}})};TA(Pa,vA=>{o()&&vA(Gn)});var xi=bA(Pa,2),Pt=vA=>{var VA=aFA(),me=bA(CA(VA),2),dA=CA(me),SA=bA(me,2);ve(()=>Yl(dA,"width: ".concat(c(mA)>0?c(UA)/c(mA)*100:0,"%"))),ue("click",SA,ei),lA(vA,VA)};TA(xi,vA=>{c(ee)&&vA(Pt)});var Sn=bA(xi,2),Bo=vA=>{var VA,me=tt(()=>(c(WA),c(sA),EA(()=>Do(c(WA),c(sA))))),dA=gFA(),SA=At(dA);Jo(SA,bt=>R(iA,bt),()=>c(iA));var ae=bA(SA,2),xe=bt=>{var Kn=rFA(),Ri=At(Kn),Ji=tt(()=>(G(Wy),G(X_),c(WA),EA(()=>"The JSON document is larger than ".concat(Wy(X_),", ")+"and may crash your browser when loading it in text mode. Actual size: ".concat(Wy(c(WA).length),"."))));tl(Ri,{get icon(){return BI},type:"error",get message(){return c(Ji)},actions:[{text:"Open anyway",title:"Open the document in text mode. This may freeze or crash your browser.",onClick:dn},{text:"Open in tree mode",title:"Open the document in tree mode. Tree mode can handle large documents.",onClick:_e},{text:"Cancel",title:"Cancel opening this large document.",onClick:Wi}],onClose:Ee});var Vt=CA(bA(Ri,2));ve(Ni=>Rt(Vt,Ni),[()=>(G(XC),c(WA),G(nv),EA(()=>XC(c(WA)||"",nv)))]),lA(bt,Kn)};TA(ae,bt=>{c(me)&&bt(xe)});var it=bA(ae,2),st=bt=>{var Kn=sFA(),Ri=At(Kn),Ji=gt=>{(function(Fi,Oi){St(Oi,!1);var Vn=N(Oi,"editorState",8),hn=IA(),Mt=IA(),sa=IA(),Ho=IA(),u=IA();RA(()=>G(Vn()),()=>{var wA;R(hn,(wA=Vn())===null||wA===void 0||(wA=wA.selection)===null||wA===void 0||(wA=wA.main)===null||wA===void 0?void 0:wA.head)}),RA(()=>(c(hn),G(Vn())),()=>{var wA;R(Mt,c(hn)!==void 0?(wA=Vn())===null||wA===void 0||(wA=wA.doc)===null||wA===void 0?void 0:wA.lineAt(c(hn)):void 0)}),RA(()=>c(Mt),()=>{R(sa,c(Mt)!==void 0?c(Mt).number:void 0)}),RA(()=>(c(Mt),c(hn)),()=>{R(Ho,c(Mt)!==void 0&&c(hn)!==void 0?c(hn)-c(Mt).from+1:void 0)}),RA(()=>G(Vn()),()=>{var wA;R(u,(wA=Vn())===null||wA===void 0||(wA=wA.selection)===null||wA===void 0||(wA=wA.ranges)===null||wA===void 0?void 0:wA.reduce((Ae,oe)=>Ae+oe.to-oe.from,0))}),kn(),Ai();var y=tFA(),x=CA(y),H=wA=>{var Ae=$NA(),oe=CA(Ae);ve(()=>{var Be;return Rt(oe,"Line: ".concat((Be=c(sa))!==null&&Be!==void 0?Be:""))}),lA(wA,Ae)};TA(x,wA=>{c(sa)!==void 0&&wA(H)});var k=bA(x,2),T=wA=>{var Ae=AFA(),oe=CA(Ae);ve(()=>{var Be;return Rt(oe,"Column: ".concat((Be=c(Ho))!==null&&Be!==void 0?Be:""))}),lA(wA,Ae)};TA(k,wA=>{c(Ho)!==void 0&&wA(T)});var eA=bA(k,2),gA=wA=>{var Ae=eFA(),oe=CA(Ae);ve(()=>{var Be;return Rt(oe,"Selection: ".concat((Be=c(u))!==null&&Be!==void 0?Be:""," characters"))}),lA(wA,Ae)};TA(eA,wA=>{c(u)!==void 0&&c(u)>0&&wA(gA)}),lA(Fi,y),xt()})(gt,{get editorState(){return c(oA)}})};TA(Ri,gt=>{a()&>(Ji)});var Vt=bA(Ri,2),Ni=gt=>{tl(gt,{type:"error",get icon(){return BI},get message(){return c(di),EA(()=>c(di).message)},get actions(){return c(i)},onClick:Ma,onClose:Ee})};TA(Vt,gt=>{c(di)&>(Ni)});var ka=bA(Vt,2),Lt=gt=>{var Fi=tt(()=>[{icon:ViA,text:"Format",title:"Format JSON: add proper indentation and new lines (Ctrl+I)",onClick:Qe},{icon:c3,text:"No thanks",title:"Close this message",onClick:()=>R(hA,!1)}]);tl(gt,{type:"success",message:"Do you want to format the JSON?",get actions(){return c(Fi)},onClose:Ee})};TA(ka,gt=>{c(di),c(hA),G(CiA),c(WA),EA(()=>!c(di)&&c(hA)&&CiA(c(WA)))&>(Lt)}),hG(bA(ka,2),{get validationErrors(){return c(YA)},selectError:ui}),lA(bt,Kn)};TA(it,bt=>{c(me)||bt(st)}),ve(()=>VA=$t(SA,1,"jse-contents svelte-k2b9e6",null,VA,{"jse-hidden":c(me)})),lA(vA,dA)},So=vA=>{lA(vA,lFA())};return TA(Sn,vA=>{P?vA(So,!1):vA(Bo)}),Jo(yo,vA=>R(BA,vA),()=>c(BA)),ve(()=>nr=$t(yo,1,"jse-text-mode svelte-k2b9e6",null,nr,{"no-main-menu":!o()})),lA(t,yo),Ot(e,"focus",Ee),Ot(e,"collapse",Kt),Ot(e,"expand",Y),Ot(e,"patch",NA),Ot(e,"handlePatch",Ie),Ot(e,"openTransformModal",et),Ot(e,"refresh",En),Ot(e,"flush",wo),Ot(e,"validate",Qn),xt(Io)}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-inline-value.svelte-1jv89ui { - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - line-height: var(--jse-line-height, calc(1em + 4px)); - border: none; - padding: 0 calc(0.5 * var(--jse-padding, 10px)); - background: transparent; - color: inherit; - cursor: inherit; -} -.jse-inline-value.jse-highlight.svelte-1jv89ui { - background-color: var(--jse-search-match-color, #ffe665); - outline: var(--jse-search-match-outline, none); -} -.jse-inline-value.jse-highlight.jse-active.svelte-1jv89ui { - background-color: var(--jse-search-match-active-color, var(--jse-search-match-color, #ffe665)); - outline: var(--jse-search-match-outline, 2px solid #e0be00); -}`);var IFA=FA('');qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-column-header.svelte-5pxwfq { - background: none; - border: none; - font-family: inherit; - font-size: inherit; - color: inherit; - display: flex; - gap: var(--jse-padding, 10px); - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)) calc(0.5 * var(--jse-padding, 10px)); - width: 100%; -} -.jse-column-header.svelte-5pxwfq:hover { - background: var(--jse-table-header-background-highlight, #e8e8e8); -} -.jse-column-header.svelte-5pxwfq:not(.jse-column-header.jse-readonly) { - cursor: pointer; -} -.jse-column-header.svelte-5pxwfq span.jse-column-sort-icon:where(.svelte-5pxwfq) { - height: 1em; -}`);var dFA=FA(''),BFA=FA('');qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-table-mode-welcome.svelte-1b9gnk8 { - flex: 1; - display: flex; - flex-direction: column; - overflow: auto; - align-items: center; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-table-mode-welcome.svelte-1b9gnk8:last-child { - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-space.jse-before:where(.svelte-1b9gnk8) { - flex: 1; -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) { - display: flex; - flex-direction: column; - gap: var(--jse-padding, 10px); - max-width: 400px; - margin: 2em var(--jse-padding, 10px); - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-arrays-info:where(.svelte-1b9gnk8) { - color: var(--jse-panel-color-readonly, #b2b2b2); -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-property:where(.svelte-1b9gnk8) { - display: flex; - align-items: center; - gap: var(--jse-padding, 10px); -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-property:where(.svelte-1b9gnk8) .jse-nested-property-path:where(.svelte-1b9gnk8) { - flex: 1; -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) .jse-nested-property:where(.svelte-1b9gnk8) .jse-nested-property-path:where(.svelte-1b9gnk8) .jse-nested-property-count:where(.svelte-1b9gnk8) { - opacity: 0.5; - white-space: nowrap; -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) button.jse-nested-array-action:where(.svelte-1b9gnk8) { - text-align: left; - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); - color: var(--jse-button-primary-color, #fff); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) button.jse-nested-array-action:where(.svelte-1b9gnk8):hover { - background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-nested-arrays:where(.svelte-1b9gnk8) button.jse-nested-array-action:where(.svelte-1b9gnk8):disabled { - background: var(--jse-button-primary-background-disabled, #9d9d9d); -} -.jse-table-mode-welcome.svelte-1b9gnk8 .jse-space.jse-after:where(.svelte-1b9gnk8) { - flex: 2; -}`);var EFA=FA(`An empty document cannot be opened in table mode. You can go to tree mode instead, or paste - a JSON Array using Ctrl+V.`,1),QFA=FA(''),hFA=FA('
        '),uFA=FA('
        ');function fFA(t,e){St(e,!0);var A=Dg(()=>e.json?(function(E){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,f=[];return(function b(S,M){ia(S)&&M.length{b(S[D],M.concat(D))}),qo(S)&&f.push(M)})(E,[]),f})(e.json).slice(0,99).filter(E=>E.length>0):[]),i=Dg(()=>!qi(c(A))),n=Dg(()=>e.json===void 0&&(e.text===""||e.text===void 0)),o=Dg(()=>c(i)?"Object with nested arrays":c(n)?"An empty document":ia(e.json)?"An object":qo(e.json)?"An empty array":"A ".concat($L(e.json,e.parser))),a=uFA();a.__click=()=>e.onClick();var r=bA(CA(a),2),s=CA(r),g=CA(s),l=bA(s,2),C=CA(l),I=E=>{lA(E,ur(`An object cannot be opened in table mode. You can open a nested array instead, or open the - document in tree mode.`))},d=E=>{var Q=bi(),f=At(Q),b=M=>{lA(M,EFA())},S=M=>{var D=ur();ve(()=>{var F;return Rt(D,"".concat((F=c(o))!==null&&F!==void 0?F:""," cannot be opened in table mode. You can open the document in tree mode instead."))}),lA(M,D)};TA(f,M=>{c(n)&&!e.readOnly?M(b):M(S,!1)},!0),lA(E,Q)};TA(C,E=>{c(i)?E(I):E(d,!1)});var B=bA(l,2);Qa(B,17,()=>c(A),Na,(E,Q)=>{var f=Dg(()=>(function(j){return je(e.json,j).length})(c(Q))),b=hFA(),S=CA(b),M=CA(S),D=CA(bA(M)),F=bA(S,2);F.__click=()=>e.openJSONEditorModal(c(Q));var _=CA(F),U=bA(F,2),J=j=>{var AA=QFA();AA.__click=()=>e.extractPath(c(Q)),lA(j,AA)};TA(U,j=>{e.readOnly||j(J)}),ve(j=>{var AA;Rt(M,'"'.concat(j??"",'" ')),Rt(D,"(".concat((AA=c(f))!==null&&AA!==void 0?AA:""," ").concat(c(f)!==1?"items":"item",")")),Rt(_,e.readOnly?"View":"Edit")},[()=>vg(c(Q))]),lA(E,b)}),bA(B,2).__click=()=>e.onChangeMode(ba.tree),ve(()=>Rt(g,c(o))),lA(t,a),xt()}sm(["click"]);qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-column-header.svelte-1wgrwv3 { - background: none; - border: none; - font-family: inherit; - font-size: inherit; - color: inherit; - display: flex; - gap: var(--jse-padding, 10px); - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)) calc(0.5 * var(--jse-padding, 10px)); - width: 100%; -} -.jse-column-header.svelte-1wgrwv3:hover { - background: var(--jse-table-header-background-highlight, #e8e8e8); -} -.jse-column-header.svelte-1wgrwv3:not(.jse-column-header.jse-readonly) { - cursor: pointer; -}`);var mFA=FA('');qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-table-mode.svelte-1p86y3c { - flex: 1; - display: flex; - flex-direction: column; - position: relative; - background: var(--jse-background-color, #fff); - min-width: 0; - min-height: 0; - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - color: var(--jse-text-color, #4d4d4d); - line-height: var(--jse-line-height, calc(1em + 4px)); -} -.jse-table-mode.no-main-menu.svelte-1p86y3c { - border-top: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-table-mode.svelte-1p86y3c .jse-search-box-container:where(.svelte-1p86y3c) { - position: relative; - height: 0; - top: calc(var(--jse-line-height, calc(1em + 4px)) + 2 * var(--jse-padding, 10px)); - margin-right: calc(var(--jse-padding, 10px) + 20px); - margin-left: var(--jse-padding, 10px); - text-align: right; - z-index: 3; -} -.jse-table-mode.svelte-1p86y3c .jse-hidden-input-label:where(.svelte-1p86y3c) { - position: fixed; - right: 0; - top: 0; - width: 0; - height: 0; -} -.jse-table-mode.svelte-1p86y3c .jse-hidden-input-label:where(.svelte-1p86y3c) .jse-hidden-input:where(.svelte-1p86y3c) { - width: 0; - height: 0; - padding: 0; - border: 0; - outline: none; -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) { - flex: 1; - align-items: flex-start; - flex-direction: column; - display: flex; - overflow: auto; - overflow-anchor: none; - scrollbar-gutter: stable; - border-left: var(--jse-main-border, 1px solid #d7d7d7); - border-right: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c):last-child { - border-bottom: var(--jse-main-border, 1px solid #d7d7d7); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) { - border-collapse: collapse; - border-spacing: 0; -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-invisible-start-section:where(.svelte-1p86y3c) td:where(.svelte-1p86y3c), -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-invisible-end-section:where(.svelte-1p86y3c) td:where(.svelte-1p86y3c) { - margin: 0; - padding: 0; -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-search-box-background:where(.svelte-1p86y3c) { - background: var(--jse-table-header-background, #f5f5f5); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-invisible-end-section:where(.svelte-1p86y3c) td:where(.svelte-1p86y3c) { - padding-bottom: var(--jse-padding, 10px); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c):hover { - background-color: var(--jse-table-row-odd-background, rgba(0, 0, 0, 0.05)); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) { - padding: 0 var(--jse-padding, 10px) 0 0; - vertical-align: top; - white-space: nowrap; - height: var(--jse-line-height, calc(1em + 4px)); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-header:where(.svelte-1p86y3c), .jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-gutter:where(.svelte-1p86y3c) { - font-weight: normal; - text-align: left; - color: var(--jse-text-readonly, #8d8d8d); - background: var(--jse-table-header-background, #f5f5f5); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-header:where(.svelte-1p86y3c) { - padding: 0; - position: sticky; - top: 0; -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-header:where(.svelte-1p86y3c) .jse-table-root-error:where(.svelte-1p86y3c) { - padding: calc(0.5 * var(--jse-padding, 10px)) var(--jse-padding, 10px) calc(0.5 * var(--jse-padding, 10px)) calc(0.5 * var(--jse-padding, 10px)); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell.jse-table-cell-gutter:where(.svelte-1p86y3c) { - padding: 0 var(--jse-padding, 10px) 0 calc(0.5 * var(--jse-padding, 10px)); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-value-outer:where(.svelte-1p86y3c) { - display: inline-block; - cursor: var(--jse-contents-cursor, pointer); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-value-outer:where(.svelte-1p86y3c):hover { - background: var(--jse-hover-background-color, rgba(0, 0, 0, 0.06)); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-value-outer.jse-selected-value:where(.svelte-1p86y3c) { - background: var(--jse-selection-background-color, #d3d3d3); -} -.jse-table-mode.svelte-1p86y3c .jse-contents:where(.svelte-1p86y3c) table.jse-table-main:where(.svelte-1p86y3c) .jse-table-row:where(.svelte-1p86y3c) .jse-table-cell:where(.svelte-1p86y3c) .jse-context-menu-anchor:where(.svelte-1p86y3c) { - display: inline-flex; - position: relative; - vertical-align: top; -} -.jse-table-mode.svelte-1p86y3c .jse-contents.jse-contents-loading:where(.svelte-1p86y3c) { - align-items: unset; -} -.jse-table-mode.svelte-1p86y3c .jse-contents.jse-contents-loading:where(.svelte-1p86y3c) .jse-loading-space:where(.svelte-1p86y3c) { - flex: 1; -} -.jse-table-mode.svelte-1p86y3c .jse-contents.jse-contents-loading:where(.svelte-1p86y3c) .jse-loading:where(.svelte-1p86y3c) { - flex: 2; - text-align: center; - color: var(--jse-panel-color-readonly, #b2b2b2); - box-sizing: border-box; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); -}`);var pFA=FA('
        '),wFA=FA(''),DFA=FA(''),yFA=FA(' '),vFA=FA('
        '),bFA=FA('
        '),MFA=FA(''),kFA=FA(''),SFA=FA('
        ',1),xFA=FA(" ",1),RFA=FA(' ',1),NFA=FA('
        loading...
        '),FFA=FA('
        ',1);function _FA(t,e){St(e,!1);var A=IA(void 0,!0),i=IA(void 0,!0),n=IA(void 0,!0),o=Cr("jsoneditor:TableMode"),{openAbsolutePopup:a,closeAbsolutePopup:r}=r1("absolute-popup"),s=joA(),g=II(),l=II(),C=typeof window>"u";o("isSSR:",C);var I=N(e,"readOnly",9),d=N(e,"externalContent",9),B=N(e,"externalSelection",9),E=N(e,"history",9),Q=N(e,"truncateTextSize",9),f=N(e,"mainMenuBar",9),b=N(e,"escapeControlCharacters",9),S=N(e,"escapeUnicodeCharacters",9),M=N(e,"flattenColumns",9),D=N(e,"parser",9),F=N(e,"parseMemoizeOne",9),_=N(e,"validator",9),U=N(e,"validationParser",9),J=N(e,"indentation",9),j=N(e,"onChange",9),AA=N(e,"onChangeMode",9),O=N(e,"onSelect",9),DA=N(e,"onUndo",9),P=N(e,"onRedo",9),aA=N(e,"onRenderValue",9),iA=N(e,"onRenderMenu",9),BA=N(e,"onRenderContextMenu",9),oA=N(e,"onFocus",9),sA=N(e,"onBlur",9),hA=N(e,"onSortModal",9),YA=N(e,"onTransformModal",9),ee=N(e,"onJSONEditorModal",9),UA=IA(void 0,!0),mA=IA(void 0,!0),KA=IA(void 0,!0),Pe=IA(void 0,!0),Je=IA(void 0,!0);QG({onMount:is,onDestroy:Hl,getWindow:()=>cm(c(mA)),hasFocus:()=>Me&&document.hasFocus()||tG(c(mA)),onFocus:()=>{ei=!0,oA()&&oA()()},onBlur:()=>{ei=!1,sA()&&sA()()}});var HA,uA=IA(void 0,!0),ZA=IA(void 0,!0),QA=IA(void 0,!0),WA=IA(void 0,!0),MA=IA(void 0,!0),be=IA(void 0,!0),LA=IA(!1,!0),pA=IA(!1,!0);function Ft(k){R(be,(HA=k)?FoA(c(uA),HA.items):void 0)}function ht(k){return Ee.apply(this,arguments)}function Ee(){return(Ee=Tt(function*(k){R(_A,void 0),yield En(k)})).apply(this,arguments)}function Kt(){R(LA,!1),R(pA,!1),L()}var Ye=IA(1e4,!0),ze=IA([],!0),ut=IA(void 0,!0),Me=!1,ei=!1,Y=IA(!1,!0),z=IA({},!0),nA=IA(600,!0),rA=IA(0,!0),NA=18;function Ie(k){R(_A,k)}function Qe(k){c(_A)&&k!==void 0&&(br(k,jd(c(_A)))&&br(k,ct(c(_A)))||(o("clearing selection: path does not exist anymore",c(_A)),R(_A,void 0)))}var xA=IA(c(uA)!==void 0?ML({json:c(uA)}):void 0,!0),_A=IA(Zf(B())?B():void 0,!0),Et=IA(void 0,!0),et=IA(!1,!0);function Te(k){if(!I()){o("onSortByHeader",k);var T=k.sortDirection===Kl.desc?-1:1;Mi(AaA(c(uA),[],k.path,T),(eA,gA)=>({state:gA,sortedColumn:k}))}}is(()=>{c(_A)&&Yo(ct(c(_A)))});var Le=IA(void 0,!0);function si(k){if(k.json!==void 0||k.text!==void 0){var T=c(uA)!==void 0&&k.json!==void 0;E().add({type:"tree",undo:{patch:T?[{op:"replace",path:"",value:k.json}]:void 0,json:k.json,text:k.text,documentState:k.documentState,textIsRepaired:k.textIsRepaired,selection:z0(k.selection),sortedColumn:k.sortedColumn},redo:{patch:T?[{op:"replace",path:"",value:c(uA)}]:void 0,json:c(uA),text:c(ZA),documentState:c(xA),textIsRepaired:c(et),selection:z0(c(_A)),sortedColumn:c(Et)}})}}var gn=IA([],!0),dn=ZE(qoA);function _e(k,T,eA,gA){oh(()=>{var wA;try{wA=dn(k,T,eA,gA)}catch(Ae){wA=[{path:[],message:"Failed to validate: "+Ae.message,severity:Jc.warning}]}Qi(wA,c(gn))||(o("validationErrors changed:",wA),R(gn,wA))},wA=>o("validationErrors updated in ".concat(wA," ms")))}function Wi(){return o("validate"),c(QA)?{parseError:c(QA),isRepairable:!1}:(_e(c(uA),_(),D(),U()),qi(c(gn))?void 0:{validationErrors:c(gn)})}function ui(k,T){if(o("patch",k,T),c(uA)===void 0)throw new Error("Cannot apply patch: no JSON");var eA=c(uA),gA={json:void 0,text:c(ZA),documentState:c(xA),selection:z0(c(_A)),sortedColumn:c(Et),textIsRepaired:c(et)},wA=NoA(c(uA),k),Ae=moA(c(uA),c(xA),k),oe=yNA(c(Et),k,c(ze)),Be=typeof T=="function"?T(Ae.json,Ae.documentState,c(_A)):void 0;return R(uA,Be?.json!==void 0?Be.json:Ae.json),R(xA,Be?.state!==void 0?Be.state:Ae.documentState),R(_A,Be?.selection!==void 0?Be.selection:c(_A)),R(Et,Be?.sortedColumn!==void 0?Be.sortedColumn:oe),R(ZA,void 0),R(et,!1),R(WA,void 0),R(MA,void 0),R(QA,void 0),E().add({type:"tree",undo:ye({patch:wA},gA),redo:{patch:k,json:void 0,text:void 0,documentState:c(xA),selection:z0(c(_A)),sortedColumn:c(Et),textIsRepaired:c(et)}}),{json:c(uA),previousJson:eA,undo:wA,redo:k}}function Mi(k,T){o("handlePatch",k,T);var eA={json:c(uA),text:c(ZA)},gA=ui(k,T);return zi(eA,gA),gA}function zi(k,T){if((k.json!==void 0||k?.text!==void 0)&&j()){if(c(ZA)!==void 0){var eA={text:c(ZA),json:void 0};j()(eA,k,{contentErrors:Wi(),patchResult:T})}else if(c(uA)!==void 0){var gA={text:void 0,json:c(uA)};j()(gA,k,{contentErrors:Wi(),patchResult:T})}}}function vt(k){o("pasted json as text",k),R(WA,k)}function Zi(k){o("pasted multiline text",{pastedText:k}),R(MA,k)}function _t(k){var T=parseInt(k[0],10),eA=[String(T+1),...k.slice(1)];return br(c(uA),eA)?Ui(eA):Ui(k)}function L(){o("focus"),c(Pe)&&(c(Pe).focus(),c(Pe).select())}function Ct(k){R(rA,k.target.scrollTop)}function ci(){c(_A)||R(_A,(function(){if(qo(c(uA))&&!qi(c(uA))&&!qi(c(ze)))return Ui(["0",...c(ze)[0]])})())}function Bn(){if(c(et)&&c(uA)!==void 0){var k={json:c(uA),text:c(ZA)},T={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(ZA),textIsRepaired:c(et)};R(ZA,void 0),R(et,!1),Qe(c(uA)),si(T),zi(k,void 0)}return{json:c(uA),text:c(ZA)}}function En(k){var{scrollToWhenVisible:T=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},eA=c(LA)?Uf:0,gA=ZiA(k,c(ze),z,NA),wA=gA-c(rA)+eA+NA,Ae=Co(k);if(o("scrollTo",{path:k,top:gA,scrollTop:c(rA),elem:Ae}),!c(KA))return Promise.resolve();var oe=c(KA).getBoundingClientRect();if(Ae&&!T){var Be=Ae.getBoundingClientRect();if(Be.bottom>oe.top&&Be.top{s(Ae,{container:c(KA),offset:He,duration:300,callback:()=>{qn(k),ke()}})}:ke=>{s(wA,{container:c(KA),offset:He,duration:300,callback:()=>{Mo(),qn(k),ke()}})})}function qn(k){var T=Co(k);if(T&&c(KA)){var eA=c(KA).getBoundingClientRect(),gA=T.getBoundingClientRect();if(gA.right>eA.right){var wA=gA.right-eA.right;$g(KA,c(KA).scrollLeft+=wA)}if(gA.leftHe){var ke=wA-He;$g(KA,c(KA).scrollTop+=ke)}if(gAW0(k.slice(1),Ae)),wA=gA?k.slice(0,1).concat(gA):k;return(T=(eA=c(KA))===null||eA===void 0?void 0:eA.querySelector('td[data-path="'.concat(qy(wA),'"]')))!==null&&T!==void 0?T:void 0}function ko(k){var T,{anchor:eA,left:gA,top:wA,width:Ae,height:oe,offsetTop:Be,offsetLeft:He,showTip:ke}=k,Ne=(function(fA){var{json:PA,documentState:Fe,selection:pe,readOnly:De,onEditValue:ot,onEditRow:jt,onToggleEnforceString:ki,onCut:xn,onCopy:Pi,onPaste:Eo,onRemove:Wt,onDuplicateRow:$o,onInsertBeforeRow:Wn,onInsertAfterRow:Aa,onRemoveRow:un}=fA,Gt=PA!==void 0,Xi=!!pe,Zt=PA!==void 0&&pe?je(PA,ct(pe)):void 0,mt=Gt&&(lo(pe)||cr(pe)||In(pe)),gi=!De&&Gt&&pe!==void 0&&rv(pe),ga=gi&&!aa(Zt),Zn=!De&&mt,ea=pe!==void 0&&P0(PA,Fe,ct(pe));return[{type:"separator"},{type:"row",items:[{type:"column",items:[{type:"label",text:"Table cell:"},{type:"dropdown-button",main:{type:"button",onClick:()=>ot(),icon:nd,text:"Edit",title:"Edit the value (Double-click on the value)",disabled:!gi},width:"11em",items:[{type:"button",icon:nd,text:"Edit",title:"Edit the value (Double-click on the value)",onClick:()=>ot(),disabled:!gi},{type:"button",icon:ea?KS:YS,text:"Enforce string",title:"Enforce keeping the value as string when it contains a numeric value",onClick:()=>ki(),disabled:!ga}]},{type:"dropdown-button",main:{type:"button",onClick:()=>xn(!0),icon:od,text:"Cut",title:"Cut selected contents, formatted with indentation (Ctrl+X)",disabled:!Zn},width:"10em",items:[{type:"button",icon:od,text:"Cut formatted",title:"Cut selected contents, formatted with indentation (Ctrl+X)",onClick:()=>xn(!0),disabled:De||!mt},{type:"button",icon:od,text:"Cut compacted",title:"Cut selected contents, without indentation (Ctrl+Shift+X)",onClick:()=>xn(!1),disabled:De||!mt}]},{type:"dropdown-button",main:{type:"button",onClick:()=>Pi(!0),icon:xC,text:"Copy",title:"Copy selected contents, formatted with indentation (Ctrl+C)",disabled:!mt},width:"12em",items:[{type:"button",icon:xC,text:"Copy formatted",title:"Copy selected contents, formatted with indentation (Ctrl+C)",onClick:()=>Pi(!1),disabled:!mt},{type:"button",icon:xC,text:"Copy compacted",title:"Copy selected contents, without indentation (Ctrl+Shift+C)",onClick:()=>Pi(!1),disabled:!mt}]},{type:"button",onClick:()=>Eo(),icon:_S,text:"Paste",title:"Paste clipboard contents (Ctrl+V)",disabled:De||!Xi},{type:"button",onClick:()=>Wt(),icon:Ww,text:"Remove",title:"Remove selected contents (Delete)",disabled:De||!mt}]},{type:"column",items:[{type:"label",text:"Table row:"},{type:"button",onClick:()=>jt(),icon:nd,text:"Edit row",title:"Edit the current row",disabled:De||!Xi||!Gt},{type:"button",onClick:()=>$o(),icon:GS,text:"Duplicate row",title:"Duplicate the current row (Ctrl+D)",disabled:De||!Xi||!Gt},{type:"button",onClick:()=>Wn(),icon:ad,text:"Insert before",title:"Insert a row before the current row",disabled:De||!Xi||!Gt},{type:"button",onClick:()=>Aa(),icon:ad,text:"Insert after",title:"Insert a row after the current row",disabled:De||!Xi||!Gt},{type:"button",onClick:()=>un(),icon:Ww,text:"Remove row",title:"Remove current row",disabled:De||!Xi||!Gt}]}]}]})({json:c(uA),documentState:c(xA),selection:c(_A),readOnly:I(),onEditValue:ha,onEditRow:Xo,onToggleEnforceString:ra,onCut:nr,onCopy:Pa,onPaste:di,onRemove:xi,onDuplicateRow:Sn,onInsertBeforeRow:Bo,onInsertAfterRow:So,onRemoveRow:vA}),ni=(T=BA()(Ne))!==null&&T!==void 0?T:Ne;if(ni!==!1){var Un={left:gA,top:wA,offsetTop:Be,offsetLeft:He,width:Ae,height:oe,anchor:eA,closeOnOuterClick:!0,onClose:()=>{Me=!1,L()}};Me=!0;var q=a(laA,{tip:ke?"Tip: you can open this context menu via right-click or with Ctrl+Q":void 0,items:ni,onRequestClose(){r(q),L()}},Un)}}function Zo(k){if(!gr(c(_A)))if(k&&(k.stopPropagation(),k.preventDefault()),k&&k.type==="contextmenu"&&k.target!==c(Pe))ko({left:k.clientX,top:k.clientY,width:A2,height:$C,showTip:!1});else{var T,eA=(T=c(KA))===null||T===void 0?void 0:T.querySelector(".jse-table-cell.jse-selected-value");if(eA)ko({anchor:eA,offsetTop:2,width:A2,height:$C,showTip:!1});else{var gA,wA=(gA=c(KA))===null||gA===void 0?void 0:gA.getBoundingClientRect();wA&&ko({top:wA.top+2,left:wA.left+2,width:A2,height:$C,showTip:!1})}}}function wo(k){ko({anchor:EoA(k.target,"BUTTON"),offsetTop:0,width:A2,height:$C,showTip:!0})}function ha(){if(!I()&&c(_A)){var k=ct(c(_A));aa(je(c(uA),k))?st(k):R(_A,Ui(k))}}function Xo(){!I()&&c(_A)&&st(ct(c(_A)).slice(0,1))}function ra(){if(!I()&&In(c(_A))){var k=c(_A).path,T=wt(k),eA=je(c(uA),k),gA=!P0(c(uA),c(xA),k),wA=gA?String(eA):Rh(String(eA),D());o("handleToggleEnforceString",{enforceString:gA,value:eA,updatedValue:wA}),Mi([{op:"replace",path:T,value:wA}],(Ae,oe)=>({state:yv(c(uA),oe,k,{type:"value",enforceString:gA})}))}}function Do(){return re.apply(this,arguments)}function re(){return(re=Tt(function*(){if(o("apply pasted json",c(WA)),c(WA)){var{onPasteAsJson:k}=c(WA);k(),setTimeout(L)}})).apply(this,arguments)}function di(){return ln.apply(this,arguments)}function ln(){return(ln=Tt(function*(){try{dA(yield navigator.clipboard.readText())}catch(k){console.error(k),R(Y,!0)}})).apply(this,arguments)}function Qn(){return To.apply(this,arguments)}function To(){return(To=Tt(function*(){o("apply pasted multiline text",c(MA)),c(MA)&&(dA(JSON.stringify(c(MA))),setTimeout(L))})).apply(this,arguments)}function Ma(){o("clear pasted json"),R(WA,void 0),L()}function wi(){o("clear pasted multiline text"),R(MA,void 0),L()}function Io(){AA()(ba.text)}function nr(k){return yo.apply(this,arguments)}function yo(){return(yo=Tt(function*(k){yield naA({json:c(uA),selection:c(_A),indentation:k?J():void 0,readOnly:I(),parser:D(),onPatch:Mi})})).apply(this,arguments)}function Pa(){return Gn.apply(this,arguments)}function Gn(){return Gn=Tt(function*(){var k=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];c(uA)!==void 0&&(yield oaA({json:c(uA),selection:c(_A),indentation:k?J():void 0,parser:D()}))}),Gn.apply(this,arguments)}function xi(){raA({json:c(uA),text:c(ZA),selection:c(_A),keepSelection:!0,readOnly:I(),onChange:j(),onPatch:Mi})}function Pt(k){I()||(o("extract",{path:k}),Mi(SoA(c(uA),Ui(k))))}function Sn(){(function(k){var{json:T,selection:eA,columns:gA,readOnly:wA,onPatch:Ae}=k;if(!wA&&T!==void 0&&eA&&ih(eA)){var{rowIndex:oe,columnIndex:Be}=Ll(ct(eA),gA);ys("duplicate row",{rowIndex:oe});var He=[String(oe)];Ae(koA(T,[He]),(ke,Ne)=>({state:Ne,selection:Ui(Kd({rowIndex:oe({state:Un,selection:Ui(Kd({rowIndex:He,columnIndex:Be},gA))}))}})({json:c(uA),selection:c(_A),columns:c(ze),readOnly:I(),onPatch:Mi})}function vA(){(function(k){var{json:T,selection:eA,columns:gA,readOnly:wA,onPatch:Ae}=k;if(!wA&&T!==void 0&&eA&&ih(eA)){var{rowIndex:oe,columnIndex:Be}=Ll(ct(eA),gA);ys("remove row",{rowIndex:oe}),Ae(gv([[String(oe)]]),(He,ke)=>{var Ne=oe0?oe-1:void 0,ni=Ne!==void 0?Ui(Kd({rowIndex:Ne,columnIndex:Be},gA)):void 0;return ys("remove row new selection",{rowIndex:oe,newRowIndex:Ne,newSelection:ni}),{state:ke,selection:ni}})}})({json:c(uA),selection:c(_A),columns:c(ze),readOnly:I(),onPatch:Mi})}function VA(){return(VA=Tt(function*(k){yield saA({char:k,selectInside:!1,json:c(uA),selection:c(_A),readOnly:I(),parser:D(),onPatch:Mi,onReplaceJson:SA,onSelect:Ie})})).apply(this,arguments)}function me(k){var T;k.preventDefault(),dA((T=k.clipboardData)===null||T===void 0?void 0:T.getData("text/plain"))}function dA(k){k!==void 0&&aaA({clipboardText:k,json:c(uA),selection:c(_A),readOnly:I(),parser:D(),onPatch:Mi,onChangeText:ae,onPasteMultilineText:Zi,openRepairModal:bt})}function SA(k,T){var eA={json:c(uA),text:c(ZA)},gA={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(ZA),textIsRepaired:c(et)},wA=Xg(k,c(xA)),Ae=typeof T=="function"?T(k,wA,c(_A)):void 0;R(uA,Ae?.json!==void 0?Ae.json:k),R(xA,Ae?.state!==void 0?Ae.state:wA),R(_A,Ae?.selection!==void 0?Ae.selection:c(_A)),R(Et,void 0),R(ZA,void 0),R(et,!1),R(QA,void 0),Qe(c(uA)),si(gA),zi(eA,void 0)}function ae(k,T){o("handleChangeText");var eA={json:c(uA),text:c(ZA)},gA={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(ZA),textIsRepaired:c(et)};try{R(uA,F()(k)),R(xA,Xg(c(uA),c(xA))),R(ZA,void 0),R(et,!1),R(QA,void 0)}catch(Ae){try{R(uA,F()(ml(k))),R(xA,Xg(c(uA),c(xA))),R(ZA,k),R(et,!0),R(QA,void 0)}catch{R(uA,void 0),R(xA,void 0),R(ZA,k),R(et,!1),R(QA,c(ZA)!==""?uh(c(ZA),Ae.message||String(Ae)):void 0)}}if(typeof T=="function"){var wA=T(c(uA),c(xA),c(_A));R(uA,wA?.json!==void 0?wA.json:c(uA)),R(xA,wA?.state!==void 0?wA.state:c(xA)),R(_A,wA?.selection!==void 0?wA.selection:c(_A))}Qe(c(uA)),si(gA),zi(eA,void 0)}function xe(k){o("select validation error",k),R(_A,Ui(k.path)),En(k.path)}function it(k){if(c(uA)!==void 0){var{id:T,onTransform:eA,onClose:gA}=k,wA=k.rootPath||[];Me=!0,YA()({id:T||l,json:c(uA),rootPath:wA||[],onTransform:Ae=>{eA?eA({operations:Ae,json:c(uA),transformedJson:lg(c(uA),Ae)}):(o("onTransform",wA,Ae),Mi(Ae))},onClose:()=>{Me=!1,setTimeout(L),gA&&gA()}})}}function st(k){o("openJSONEditorModal",{path:k}),Me=!0,ee()({content:{json:je(c(uA),k)},path:k,onPatch:Mi,onClose:()=>{Me=!1,setTimeout(L)}})}function bt(k,T){R(Je,{text:k,onParse:eA=>lm(eA,gA=>gm(gA,D())),onRepair:roA,onApply:T,onClose:L})}function Kn(){(function(k){I()||c(uA)===void 0||(Me=!0,hA()({id:g,json:c(uA),rootPath:k,onSort:T=>{var{operations:eA,itemPath:gA,direction:wA}=T;o("onSort",eA,k,gA,wA),Mi(eA,(Ae,oe)=>({state:oe,sortedColumn:{path:gA,sortDirection:wA===-1?Kl.desc:Kl.asc}}))},onClose:()=>{Me=!1,setTimeout(L)}}))})([])}function Ri(){it({rootPath:[]})}function Ji(k){o("openFind",{findAndReplace:k}),R(LA,!1),R(pA,!1),Mo(),R(LA,!0),R(pA,k)}function Vt(){if(!I()&&E().canUndo){var k=E().undo();if(av(k)){var T={json:c(uA),text:c(ZA)};R(uA,k.undo.patch?lg(c(uA),k.undo.patch):k.undo.json),R(xA,k.undo.documentState),R(_A,k.undo.selection),R(Et,k.undo.sortedColumn),R(ZA,k.undo.text),R(et,k.undo.textIsRepaired),R(QA,void 0),o("undo",{item:k,json:c(uA)}),zi(T,k.undo.patch&&k.redo.patch?{json:c(uA),previousJson:T.json,redo:k.undo.patch,undo:k.redo.patch}:void 0),L(),c(_A)&&En(ct(c(_A)),{scrollToWhenVisible:!1})}else DA()(k)}}function Ni(){if(!I()&&E().canRedo){var k=E().redo();if(av(k)){var T={json:c(uA),text:c(ZA)};R(uA,k.redo.patch?lg(c(uA),k.redo.patch):k.redo.json),R(xA,k.redo.documentState),R(_A,k.redo.selection),R(Et,k.redo.sortedColumn),R(ZA,k.redo.text),R(et,k.redo.textIsRepaired),R(QA,void 0),o("redo",{item:k,json:c(uA)}),zi(T,k.undo.patch&&k.redo.patch?{json:c(uA),previousJson:T.json,redo:k.redo.patch,undo:k.undo.patch}:void 0),L(),c(_A)&&En(ct(c(_A)),{scrollToWhenVisible:!1})}else P()(k)}}function ka(k){R(nA,k.getBoundingClientRect().height)}RA(()=>(G(b()),G(S())),()=>{R(UA,AG({escapeControlCharacters:b(),escapeUnicodeCharacters:S()}))}),RA(()=>c(LA),()=>{(function(k){if(c(KA)){var T=k?Uf:-100;c(KA).scrollTo({top:$g(KA,c(KA).scrollTop+=T),left:c(KA).scrollLeft})}})(c(LA))}),RA(()=>G(d()),()=>{(function(k){var T={json:c(uA)},eA=Pf(k)?k.text!==c(ZA):!Qi(T.json,k.json);if(o("update external content",{isChanged:eA}),eA){var gA={json:c(uA),documentState:c(xA),selection:c(_A),sortedColumn:c(Et),text:c(ZA),textIsRepaired:c(et)};if(Pf(k))try{R(uA,F()(k.text)),R(xA,Xg(c(uA),c(xA))),R(ZA,k.text),R(et,!1),R(QA,void 0)}catch(wA){try{R(uA,F()(ml(k.text))),R(xA,Xg(c(uA),c(xA))),R(ZA,k.text),R(et,!0),R(QA,void 0)}catch{R(uA,void 0),R(xA,void 0),R(ZA,k.text),R(et,!1),R(QA,c(ZA)!==""?uh(c(ZA),wA.message||String(wA)):void 0)}}else R(uA,k.json),R(xA,Xg(c(uA),c(xA))),R(ZA,void 0),R(et,!1),R(QA,void 0);Qe(c(uA)),R(Et,void 0),si(gA)}})(d())}),RA(()=>G(B()),()=>{(function(k){Qi(c(_A),k)||(o("applyExternalSelection",{selection:c(_A),externalSelection:k}),Zf(k)&&R(_A,k))})(B())}),RA(()=>(c(ze),c(uA),G(M()),c(Ye)),()=>{R(ze,qo(c(uA))?(function(k,T){var eA=new Set(T.map(wt)),gA=new Set(k.map(wt));for(var wA of eA)gA.has(wA)||eA.delete(wA);for(var Ae of gA)eA.has(Ae)||eA.add(Ae);return[...eA].map(Qs)})(mNA(c(uA),M(),c(Ye)),c(ze)):[])}),RA(()=>(c(uA),c(ze)),()=>{R(ut,!(!c(uA)||qi(c(ze))))}),RA(()=>(c(uA),c(Ye)),()=>{R(A,Array.isArray(c(uA))&&c(uA).length>c(Ye))}),RA(()=>(c(rA),c(nA),c(uA),c(LA),Uf),()=>{R(i,pNA(c(rA),c(nA),c(uA),z,NA,c(LA)?Uf:0))}),RA(()=>c(uA),()=>{c(uA),c(KA)&&c(KA).scrollTo({top:c(KA).scrollTop,left:c(KA).scrollLeft})}),RA(()=>c(_A),()=>{var k;k=c(_A),Qi(k,B())||(o("onSelect",k),O()(k))}),RA(()=>(G(I()),G(Q()),G(D()),c(UA),c(uA),c(xA),G(aA())),()=>{R(Le,{mode:ba.table,readOnly:I(),truncateTextSize:Q(),parser:D(),normalization:c(UA),getJson:()=>c(uA),getDocumentState:()=>c(xA),findElement:Co,findNextInside:_t,focus:L,onPatch:(k,T)=>Mi((function(eA,gA){return eA.flatMap(wA=>{if(gw(wA)){var Ae=Qs(wA.path);if(Ae.length>0){for(var oe=[wA],Be=Ki(Ae);Be.length>0&&!br(gA,Be);)oe.unshift({op:"add",path:wt(Be),value:{}}),Be=Ki(Be);return oe}}return wA})})(k,c(uA)),T),onSelect:Ie,onFind:Ji,onPasteJson:vt,onRenderValue:aA()})}),RA(()=>(c(uA),G(_()),G(D()),G(U())),()=>{_e(c(uA),_(),D(),U())}),RA(()=>(c(gn),c(ze)),()=>{R(n,wNA(c(gn),c(ze)))}),kn();var Lt={validate:Wi,patch:ui,focus:L,acceptAutoRepair:Bn,scrollTo:En,findElement:Co,openTransformModal:it};Ai(!0);var gt=FFA();ue("mousedown",i2,function(k){!Nh(k.target,T=>T===c(mA))&&gr(c(_A))&&(o("click outside the editor, exit edit mode"),R(_A,z0(c(_A))),ei&&c(Pe)&&(c(Pe).focus(),c(Pe).blur()),o("blur (outside editor)"),c(Pe)&&c(Pe).blur())});var Fi,Oi=At(gt),Vn=CA(Oi),hn=k=>{(function(T,eA){St(eA,!1);var gA=N(eA,"containsValidArray",9),wA=N(eA,"readOnly",9),Ae=N(eA,"showSearch",13,!1),oe=N(eA,"history",9),Be=N(eA,"onSort",9),He=N(eA,"onTransform",9),ke=N(eA,"onContextMenu",9),Ne=N(eA,"onUndo",9),ni=N(eA,"onRedo",9),Un=N(eA,"onRenderMenu",9);function q(){Ae(!Ae())}var fA=IA(void 0,!0),PA=IA(void 0,!0);RA(()=>(G(wA()),G(Be()),G(gA()),G(He()),G(ke()),G(Ne()),G(oe()),G(ni())),()=>{R(fA,wA()?[{type:"space"}]:[{type:"button",icon:C3,title:"Sort",className:"jse-sort",onClick:Be(),disabled:wA()||!gA()},{type:"button",icon:s3,title:"Transform contents (filter, sort, project)",className:"jse-transform",onClick:He(),disabled:wA()||!gA()},{type:"button",icon:g3,title:"Search (Ctrl+F)",className:"jse-search",onClick:q,disabled:!gA()},{type:"button",icon:LS,title:oG,className:"jse-contextmenu",onClick:ke()},{type:"separator"},{type:"button",icon:$w,title:"Undo (Ctrl+Z)",className:"jse-undo",onClick:Ne(),disabled:!oe().canUndo},{type:"button",icon:Xw,title:"Redo (Ctrl+Shift+Z)",className:"jse-redo",onClick:ni(),disabled:!oe().canRedo},{type:"space"}])}),RA(()=>(G(Un()),c(fA)),()=>{R(PA,Un()(c(fA))||c(fA))}),kn(),Ai(!0),xv(T,{get items(){return c(PA)}}),xt()})(k,{get containsValidArray(){return c(ut)},get readOnly(){return I()},get history(){return E()},onSort:Kn,onTransform:Ri,onUndo:Vt,onRedo:Ni,onContextMenu:wo,get onRenderMenu(){return iA()},get showSearch(){return c(LA)},set showSearch(T){R(LA,T)},$$legacy:!0})};TA(Vn,k=>{f()&&k(hn)});var Mt=bA(Vn,2),sa=k=>{var T=RFA(),eA=At(T),gA=CA(eA);gA.readOnly=!0,Jo(gA,Be=>R(Pe,Be),()=>c(Pe));var wA=bA(eA,2),Ae=Be=>{var He=SFA(),ke=At(He);eaA(CA(ke),{get json(){return c(uA)},get documentState(){return c(xA)},get parser(){return D()},get showSearch(){return c(LA)},get showReplace(){return c(pA)},get readOnly(){return I()},get columns(){return c(ze)},onSearch:Ft,onFocus:ht,onPatch:Mi,onClose:Kt});var Ne=bA(ke,2),ni=CA(Ne),Un=CA(ni),q=CA(Un),fA=CA(q),PA=CA(fA),Fe=mt=>{var gi=tt(()=>(G(VQ),c(n),EA(()=>{var ua;return VQ([],(ua=c(n))===null||ua===void 0?void 0:ua.root)}))),ga=bi(),Zn=At(ga),ea=ua=>{var mr=pFA();Ch(CA(mr),{get validationError(){return c(gi)},get onExpand(){return Gl}}),lA(ua,mr)};TA(Zn,ua=>{c(gi)&&ua(ea)}),lA(mt,ga)};TA(PA,mt=>{G(qi),c(n),EA(()=>{var gi;return!qi((gi=c(n))===null||gi===void 0?void 0:gi.root)})&&mt(Fe)});var pe=bA(fA);Qa(pe,1,()=>c(ze),Na,(mt,gi)=>{var ga=wFA();(function(Zn,ea){St(ea,!1);var ua=IA(void 0,!0),mr=IA(void 0,!0),tC=IA(void 0,!0),xg=N(ea,"path",9),Pl=N(ea,"sortedColumn",9),A0=N(ea,"readOnly",9),jl=N(ea,"onSort",9);RA(()=>(G(xg()),vg),()=>{R(ua,qi(xg())?"values":vg(xg()))}),RA(()=>(G(Pl()),G(xg())),()=>{var Fa;R(mr,Pl()&&Qi(xg(),(Fa=Pl())===null||Fa===void 0?void 0:Fa.path)?Pl().sortDirection:void 0)}),RA(()=>(c(mr),BiA),()=>{R(tC,c(mr)?BiA[c(mr)]:void 0)}),kn(),Ai(!0);var os,pr=BFA(),Rg=CA(pr),iC=CA(Rg),Ng=bA(Rg,2),Rn=Fa=>{var _a=dFA(),Q1=CA(_a),QB=tt(()=>(c(mr),G(Kl),G(M0),G(JS),EA(()=>c(mr)===Kl.asc?M0:JS)));Vi(Q1,{get data(){return c(QB)}}),ve(()=>Mn(_a,"title","Currently sorted in ".concat(c(tC)," order"))),lA(Fa,_a)};TA(Ng,Fa=>{c(mr)!==void 0&&Fa(Rn)}),ve(Fa=>{os=$t(pr,1,"jse-column-header svelte-5pxwfq",null,os,{"jse-readonly":A0()}),Mn(pr,"title",A0()?c(ua):c(ua)+" (Click to sort the data by this column)"),Rt(iC,Fa)},[()=>(G(XC),c(ua),G(50),EA(()=>XC(c(ua),50)))]),ue("click",pr,function(){A0()||jl()({path:xg(),sortDirection:c(mr)===Kl.asc?Kl.desc:Kl.asc})}),lA(Zn,pr),xt()})(CA(ga),{get path(){return c(gi)},get sortedColumn(){return c(Et)},get readOnly(){return I()},onSort:Te}),lA(mt,ga)});var De=bA(pe),ot=mt=>{var gi=DFA(),ga=CA(gi),Zn=tt(()=>(c(uA),EA(()=>Array.isArray(c(uA))?c(uA).length:0)));(function(ea,ua){St(ua,!1);var mr=N(ua,"count",9),tC=N(ua,"maxSampleCount",9),xg=N(ua,"readOnly",9),Pl=N(ua,"onRefresh",9);Ai(!0);var A0,jl=mFA();Vi(CA(jl),{get data(){return Zq}}),ve(()=>{A0=$t(jl,1,"jse-column-header svelte-1wgrwv3",null,A0,{"jse-readonly":xg()}),Mn(jl,"title","The Columns are created by sampling ".concat(tC()," items out of ").concat(mr(),". ")+"If you're missing a column, click here to sample all of the items instead of a subset. This is slower.")}),ue("click",jl,()=>Pl()()),lA(ea,jl),xt()})(ga,{get count(){return c(Zn)},get maxSampleCount(){return c(Ye)},get readOnly(){return I()},onRefresh:()=>R(Ye,1/0)}),lA(mt,gi)};TA(De,mt=>{c(A)&&mt(ot)});var jt,ki,xn=bA(q),Pi=CA(xn),Eo=bA(xn);Qa(Eo,1,()=>(c(i),EA(()=>c(i).visibleItems)),Na,(mt,gi,ga)=>{var Zn=tt(()=>(c(i),EA(()=>c(i).startIndex+ga))),ea=tt(()=>(c(n),G(c(Zn)),EA(()=>c(n).rows[c(Zn)]))),ua=tt(()=>(G(VQ),G(c(Zn)),G(c(ea)),EA(()=>{var os;return VQ([String(c(Zn))],(os=c(ea))===null||os===void 0?void 0:os.row)}))),mr=tt(()=>(G(T0),c(uA),c(be),G(c(Zn)),EA(()=>T0(c(uA),c(be),[String(c(Zn))])))),tC=kFA(),xg=CA(tC);ZnA(xg,()=>c(Zn),os=>{var pr=yFA(),Rg=CA(pr),iC=bA(Rg),Ng=Rn=>{Ch(Rn,{get validationError(){return c(ua)},get onExpand(){return Gl}})};TA(iC,Rn=>{c(ua)&&Rn(Ng)}),vs(pr,(Rn,Fa)=>Yy?.(Rn,Fa),()=>Rn=>(function(Fa,_a){z[_a]=Fa.getBoundingClientRect().height})(Rn,c(Zn))),ve(()=>{var Rn;return Rt(Rg,"".concat((Rn=c(Zn))!==null&&Rn!==void 0?Rn:""," "))}),lA(os,pr)});var Pl=bA(xg);Qa(Pl,1,()=>c(ze),Na,(os,pr,Rg,iC)=>{var Ng,Rn=tt(()=>(G(c(Zn)),c(pr),EA(()=>[String(c(Zn))].concat(c(pr))))),Fa=tt(()=>(G(je),c(gi),c(pr),EA(()=>je(c(gi),c(pr))))),_a=tt(()=>(G(In),c(_A),G(W0),G(c(Rn)),EA(()=>In(c(_A))&&W0(c(_A).path,c(Rn))))),Q1=tt(()=>(G(c(ea)),EA(()=>{var La;return(La=c(ea))===null||La===void 0?void 0:La.columns[Rg]}))),QB=tt(()=>(G(VQ),G(c(Rn)),G(c(Q1)),EA(()=>VQ(c(Rn),c(Q1))))),h1=bFA(),tu=CA(h1),hB=CA(tu),iu=La=>{var il=tt(()=>(G(lv),G(T0),c(gi),G(c(mr)),c(pr),EA(()=>lv(T0(c(gi),c(mr),c(pr)))))),nu=tt(()=>(G(c(il)),EA(()=>!!c(il)&&c(il).some(f1=>f1.active)))),ou=tt(()=>(G(qi),G(c(il)),EA(()=>!qi(c(il)))));(function(f1,Lr){St(Lr,!1);var au=N(Lr,"path",9),$K=N(Lr,"value",9),AU=N(Lr,"parser",9),rcA=N(Lr,"isSelected",9),scA=N(Lr,"containsSearchResult",9),gcA=N(Lr,"containsActiveSearchResult",9),lcA=N(Lr,"onEdit",9);Ai(!0);var eU,Vm=IFA(),ccA=CA(Vm);ve(ru=>{eU=$t(Vm,1,"jse-inline-value svelte-1jv89ui",null,eU,{"jse-selected":rcA(),"jse-highlight":scA(),"jse-active":gcA()}),Rt(ccA,ru)},[()=>(G(XC),G(AU()),G($K()),G(50),EA(()=>{var ru;return XC((ru=AU().stringify($K()))!==null&&ru!==void 0?ru:"",50)}))]),ue("dblclick",Vm,()=>lcA()(au())),lA(f1,Vm),xt()})(La,{get path(){return c(Rn)},get value(){return c(Fa)},get parser(){return D()},get isSelected(){return c(_a)},get containsSearchResult(){return c(ou)},get containsActiveSearchResult(){return c(nu)},onEdit:st})},Lb=La=>{var il=tt(()=>(G(T0),c(uA),c(be),G(c(Rn)),EA(()=>{var Lr;return(Lr=T0(c(uA),c(be),c(Rn)))===null||Lr===void 0?void 0:Lr.searchResults}))),nu=tt(()=>c(Fa)!==void 0?c(Fa):""),ou=tt(()=>(G(P0),c(uA),c(xA),G(c(Rn)),EA(()=>P0(c(uA),c(xA),c(Rn))))),f1=tt(()=>c(_a)?c(_A):void 0);ZoA(La,{get path(){return c(Rn)},get value(){return c(nu)},get enforceString(){return c(ou)},get selection(){return c(f1)},get searchResultItems(){return c(il)},get context(){return c(Le)}})};TA(hB,La=>{G(aa),G(c(Fa)),EA(()=>aa(c(Fa)))?La(iu):La(Lb,!1)});var Gb=bA(hB),Kb=La=>{var il=vFA();TI(CA(il),{selected:!0,onContextMenu:ko}),lA(La,il)};TA(Gb,La=>{G(I()),G(c(_a)),G(gr),c(_A),EA(()=>!I()&&c(_a)&&!gr(c(_A)))&&La(Kb)});var e0=bA(tu,2),u1=La=>{Ch(La,{get validationError(){return c(QB)},get onExpand(){return Gl}})};TA(e0,La=>{c(QB)&&La(u1)}),ve(La=>{Mn(h1,"data-path",La),Ng=$t(tu,1,"jse-value-outer svelte-1p86y3c",null,Ng,{"jse-selected-value":c(_a)})},[()=>(G(qy),G(c(Rn)),EA(()=>qy(c(Rn))))]),lA(os,h1)});var A0=bA(Pl),jl=os=>{lA(os,MFA())};TA(A0,os=>{c(A)&&os(jl)}),lA(mt,tC)});var Wt,$o=CA(bA(Eo));Jo(Ne,mt=>R(KA,mt),()=>c(KA)),vs(Ne,(mt,gi)=>Yy?.(mt,gi),()=>ka),Nr(()=>ue("scroll",Ne,Ct));var Wn=bA(Ne,2),Aa=mt=>{var gi=tt(()=>(c(WA),EA(()=>"You pasted a JSON ".concat(Array.isArray(c(WA).contents)?"array":"object"," as text")))),ga=tt(()=>[{icon:SC,text:"Paste as JSON instead",title:"Paste the text as JSON instead of a single value",onMouseDown:Do},{text:"Leave as is",title:"Keep the pasted content as a single value",onClick:Ma}]);tl(mt,{type:"info",get message(){return c(gi)},get actions(){return c(ga)}})};TA(Wn,mt=>{c(WA)&&mt(Aa)});var un=bA(Wn,2),Gt=mt=>{var gi=tt(()=>[{icon:SC,text:"Paste as string instead",title:"Paste the clipboard data as a single string value instead of an array",onClick:Qn},{text:"Leave as is",title:"Keep the pasted array",onClick:wi}]);tl(mt,{type:"info",message:"Multiline text was pasted as array",get actions(){return c(gi)}})};TA(un,mt=>{c(MA)&&mt(Gt)});var Xi=bA(un,2),Zt=mt=>{var gi=tt(()=>I()?[]:[{icon:Zw,text:"Ok",title:"Accept the repaired document",onClick:Bn},{icon:l3,text:"Repair manually instead",title:"Leave the document unchanged and repair it manually instead",onClick:Io}]);tl(mt,{type:"success",message:"The loaded JSON document was invalid but is successfully repaired.",get actions(){return c(gi)},onClose:L})};TA(Xi,mt=>{c(et)&&mt(Zt)}),hG(bA(Xi,2),{get validationErrors(){return c(gn)},selectError:xe}),ve(()=>{jt=$t(xn,1,"jse-table-invisible-start-section svelte-1p86y3c",null,jt,{"jse-search-box-background":c(LA)}),Mn(Pi,"colspan",(c(ze),EA(()=>c(ze).length))),ki=Yl(Pi,"",ki,{height:(c(i),EA(()=>c(i).startHeight+"px"))}),Mn($o,"colspan",(c(ze),EA(()=>c(ze).length))),Wt=Yl($o,"",Wt,{height:(c(i),EA(()=>c(i).endHeight+"px"))})}),lA(Be,He)},oe=Be=>{var He=bi(),ke=At(He),Ne=Un=>{var q=xFA(),fA=At(q),PA=tt(()=>I()?[]:[{icon:l3,text:"Repair manually",title:'Open the document in "code" mode and repair it manually',onClick:Io}]);tl(fA,{type:"error",message:"The loaded JSON document is invalid and could not be repaired automatically.",get actions(){return c(PA)}}),gaA(bA(fA,2),{get text(){return c(ZA)},get json(){return c(uA)},get indentation(){return J()},get parser(){return D()}}),lA(Un,q)},ni=Un=>{fFA(Un,{get text(){return c(ZA)},get json(){return c(uA)},get readOnly(){return I()},get parser(){return D()},openJSONEditorModal:st,extractPath:Pt,get onChangeMode(){return AA()},onClick:()=>{L()}})};TA(ke,Un=>{c(QA)&&c(ZA)!==void 0&&c(ZA)!==""?Un(Ne):Un(ni,!1)},!0),lA(Be,He)};TA(wA,Be=>{c(ut)?Be(Ae):Be(oe,!1)}),ue("paste",gA,me),lA(k,T)},Ho=k=>{lA(k,NFA())};TA(Mt,k=>{C?k(Ho,!1):k(sa)}),Jo(Oi,k=>R(mA,k),()=>c(mA));var u=bA(Oi,2),y=k=>{VoA(k,{onClose:()=>R(Y,!1)})};TA(u,k=>{c(Y)&&k(y)});var x=bA(u,2),H=k=>{WoA(k,e1(()=>c(Je),{onClose:()=>{var T;(T=c(Je))===null||T===void 0||T.onClose(),R(Je,void 0)}}))};return TA(x,k=>{c(Je)&&k(H)}),ve(()=>Fi=$t(Oi,1,"jse-table-mode svelte-1p86y3c",null,Fi,{"no-main-menu":!f()})),ue("mousedown",Oi,function(k){if(k.buttons===1||k.buttons===2){var T=k.target;T.isContentEditable||L();var eA=QoA(T);if(eA){if(gr(c(_A))&&Xf(c(uA),c(_A),eA))return;R(_A,Ui(eA)),k.preventDefault()}}}),ue("keydown",Oi,function(k){var T=g2(k);if(o("keydown",{combo:T,key:k.key}),T==="Ctrl+X"&&(k.preventDefault(),nr(!0)),T==="Ctrl+Shift+X"&&(k.preventDefault(),nr(!1)),T==="Ctrl+C"&&(k.preventDefault(),Pa(!0)),T==="Ctrl+Shift+C"&&(k.preventDefault(),Pa(!1)),T==="Ctrl+D"&&(k.preventDefault(),Sn()),T!=="Delete"&&T!=="Backspace"||(k.preventDefault(),xi()),T==="Insert"&&k.preventDefault(),T==="Ctrl+A"&&k.preventDefault(),T==="Ctrl+Q"&&Zo(k),T==="ArrowLeft"&&(k.preventDefault(),ci(),c(_A))){var eA=(function(He,ke){var{rowIndex:Ne,columnIndex:ni}=Ll(ct(ke),He);return ni>0?Ui(Kd({rowIndex:Ne,columnIndex:ni-1},He)):ke})(c(ze),c(_A));R(_A,eA),Yo(ct(eA))}if(T==="ArrowRight"&&(k.preventDefault(),ci(),c(_A))){var gA=(function(He,ke){var{rowIndex:Ne,columnIndex:ni}=Ll(ct(ke),He);return ni0?Ui(Kd({rowIndex:Ne-1,columnIndex:ni},He)):ke})(c(ze),c(_A));R(_A,wA),Yo(ct(wA))}if(T==="ArrowDown"&&(k.preventDefault(),ci(),c(_A))){var Ae=(function(He,ke,Ne){var{rowIndex:ni,columnIndex:Un}=Ll(ct(Ne),ke);return niR(UA,z)}).get()),mA=IA(s());function KA(z){if(miA(z)){R(mA,z.undo.mode);var nA=c(UA).items(),rA=nA.findIndex(Ie=>Ie===z),NA=rA!==-1?nA[rA-1]:void 0;ee("handleUndo",{index:rA,item:z,items:nA,prevItem:NA}),NA&&i(NA.redo.selection),_()(c(mA))}}function Pe(z){if(miA(z)){R(mA,z.redo.mode);var nA=c(UA).items(),rA=nA.findIndex(Ie=>Ie===z),NA=rA!==-1?nA[rA+1]:void 0;ee("handleRedo",{index:rA,item:z,items:nA,nextItem:NA}),NA&&i(NA.undo.selection),_()(c(mA))}}var Je=IA(),HA={type:"separator"},uA=IA(),ZA=IA();function QA(z){if(c(sA))return c(sA).patch(z);if(c(hA))return c(hA).patch(z);if(c(YA))return c(YA).patch(z);throw new Error('Method patch is not available in mode "'.concat(c(mA),'"'))}function WA(z,nA){if(c(sA))return c(sA).expand(z,nA);if(c(YA))return c(YA).expand(z,nA);throw new Error('Method expand is not available in mode "'.concat(c(mA),'"'))}function MA(z,nA){if(c(sA))return c(sA).collapse(z,nA);if(c(YA))return c(YA).collapse(z,nA);throw new Error('Method collapse is not available in mode "'.concat(c(mA),'"'))}function be(z){if(c(YA))c(YA).openTransformModal(z);else if(c(sA))c(sA).openTransformModal(z);else{if(!c(hA))throw new Error('Method transform is not available in mode "'.concat(c(mA),'"'));c(hA).openTransformModal(z)}}function LA(){if(c(YA))return c(YA).validate();if(c(sA))return c(sA).validate();if(c(hA))return c(hA).validate();throw new Error('Method validate is not available in mode "'.concat(c(mA),'"'))}function pA(){return c(sA)?c(sA).acceptAutoRepair():A()}function Ft(z){if(c(sA))return c(sA).scrollTo(z);if(c(hA))return c(hA).scrollTo(z);throw new Error('Method scrollTo is not available in mode "'.concat(c(mA),'"'))}function ht(z){if(c(sA))return c(sA).findElement(z);if(c(hA))return c(hA).findElement(z);throw new Error('Method findElement is not available in mode "'.concat(c(mA),'"'))}function Ee(){c(YA)?c(YA).focus():c(sA)?c(sA).focus():c(hA)&&c(hA).focus()}function Kt(){return Ye.apply(this,arguments)}function Ye(){return(Ye=Tt(function*(){c(YA)&&(yield c(YA).refresh())})).apply(this,arguments)}RA(()=>G(s()),()=>{(function(z){if(z!==c(mA)){var nA={type:"mode",undo:{mode:c(mA),selection:void 0},redo:{mode:z,selection:void 0}};c(mA)==="text"&&c(YA)&&c(YA).flush(),ee("add history item",nA),c(UA).add(nA),R(mA,z)}})(s())}),RA(()=>(c(mA),G(_())),()=>{R(Je,[{type:"button",text:"text",title:"Switch to text mode (current mode: ".concat(c(mA),")"),className:"jse-group-button jse-first"+(c(mA)===ba.text?" jse-selected":""),onClick:()=>_()(ba.text)},{type:"button",text:"tree",title:"Switch to tree mode (current mode: ".concat(c(mA),")"),className:"jse-group-button "+(c(mA)===ba.tree?" jse-selected":""),onClick:()=>_()(ba.tree)},{type:"button",text:"table",title:"Switch to table mode (current mode: ".concat(c(mA),")"),className:"jse-group-button jse-last"+(c(mA)===ba.table?" jse-selected":""),onClick:()=>_()(ba.table)}])}),RA(()=>(c(Je),G(AA()),c(mA),G(D()),G(n())),()=>{R(uA,z=>{var nA=bL(z[0])?c(Je).concat(z):c(Je).concat(HA,z),rA=n3(nA);return AA()(nA,{mode:c(mA),modal:D(),readOnly:n()})||rA})}),RA(()=>(G(O()),c(mA),G(D()),G(n()),G(i())),()=>{R(ZA,z=>{var nA,rA=n3(z);return(nA=O()(z,{mode:c(mA),modal:D(),readOnly:n(),selection:i()}))!==null&&nA!==void 0?nA:!n()&&rA})}),kn();var ze={patch:QA,expand:WA,collapse:MA,transform:be,validate:LA,acceptAutoRepair:pA,scrollTo:Ft,findElement:ht,focus:Ee,refresh:Kt};Ai();var ut=bi(),Me=At(ut),ei=z=>{Jo(CFA(z,{get externalContent(){return A()},get externalSelection(){return i()},get history(){return c(UA)},get readOnly(){return n()},get indentation(){return o()},get tabSize(){return a()},get mainMenuBar(){return g()},get statusBar(){return C()},get askToFormat(){return I()},get escapeUnicodeCharacters(){return B()},get parser(){return Q()},get validator(){return b()},get validationParser(){return S()},get onChange(){return F()},get onChangeMode(){return _()},get onSelect(){return U()},onUndo:KA,onRedo:Pe,get onError(){return DA()},get onFocus(){return P()},get onBlur(){return aA()},get onRenderMenu(){return c(uA)},get onSortModal(){return iA()},get onTransformModal(){return BA()},$$legacy:!0}),nA=>R(YA,nA),()=>c(YA))},Y=z=>{var nA=bi(),rA=At(nA),NA=Qe=>{Jo(_FA(Qe,{get externalContent(){return A()},get externalSelection(){return i()},get history(){return c(UA)},get readOnly(){return n()},get truncateTextSize(){return r()},get mainMenuBar(){return g()},get escapeControlCharacters(){return d()},get escapeUnicodeCharacters(){return B()},get flattenColumns(){return E()},get parser(){return Q()},get parseMemoizeOne(){return f()},get validator(){return b()},get validationParser(){return S()},get indentation(){return o()},get onChange(){return F()},get onChangeMode(){return _()},get onSelect(){return U()},onUndo:KA,onRedo:Pe,get onRenderValue(){return J()},get onFocus(){return P()},get onBlur(){return aA()},get onRenderMenu(){return c(uA)},get onRenderContextMenu(){return c(ZA)},get onSortModal(){return iA()},get onTransformModal(){return BA()},get onJSONEditorModal(){return oA()},$$legacy:!0}),xA=>R(hA,xA),()=>c(hA))},Ie=Qe=>{Jo(zL(Qe,{get externalContent(){return A()},get externalSelection(){return i()},get history(){return c(UA)},get readOnly(){return n()},get indentation(){return o()},get truncateTextSize(){return r()},get mainMenuBar(){return g()},get navigationBar(){return l()},get escapeControlCharacters(){return d()},get escapeUnicodeCharacters(){return B()},get parser(){return Q()},get parseMemoizeOne(){return f()},get validator(){return b()},get validationParser(){return S()},get pathParser(){return M()},get onError(){return DA()},get onChange(){return F()},get onChangeMode(){return _()},get onSelect(){return U()},onUndo:KA,onRedo:Pe,get onRenderValue(){return J()},get onClassName(){return j()},get onFocus(){return P()},get onBlur(){return aA()},get onRenderMenu(){return c(uA)},get onRenderContextMenu(){return c(ZA)},get onSortModal(){return iA()},get onTransformModal(){return BA()},get onJSONEditorModal(){return oA()},$$legacy:!0}),xA=>R(sA,xA),()=>c(sA))};TA(rA,Qe=>{c(mA),G(ba),EA(()=>c(mA)===ba.table)?Qe(NA):Qe(Ie,!1)},!0),lA(z,nA)};return TA(Me,z=>{c(mA),G(ba),EA(()=>c(mA)===ba.text||String(c(mA))==="code")?z(ei):z(Y,!1)}),lA(t,ut),Ot(e,"patch",QA),Ot(e,"expand",WA),Ot(e,"collapse",MA),Ot(e,"transform",be),Ot(e,"validate",LA),Ot(e,"acceptAutoRepair",pA),Ot(e,"scrollTo",Ft),Ot(e,"findElement",ht),Ot(e,"focus",Ee),Ot(e,"refresh",Kt),xt(ze)}qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-modal-wrapper.svelte-t4zsk3 { - flex: 1; - display: flex; - min-width: 0; - min-height: 0; - flex-direction: column; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) { - flex: 1; - display: flex; - flex-direction: column; - padding: 20px; - overflow: auto; - min-width: 0; - min-height: 0; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) { - display: flex; - flex-direction: row; - justify-content: flex-end; - padding-top: var(--jse-padding, 10px); -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) button.jse-primary:where(.svelte-t4zsk3) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); - color: var(--jse-button-primary-color, #fff); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) button.jse-primary:where(.svelte-t4zsk3):hover { - background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-actions:where(.svelte-t4zsk3) button.jse-primary:where(.svelte-t4zsk3):disabled { - background: var(--jse-button-primary-background-disabled, #9d9d9d); -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-label:where(.svelte-t4zsk3) { - font-weight: bold; - display: block; - box-sizing: border-box; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-label:where(.svelte-t4zsk3) .jse-label-inner:where(.svelte-t4zsk3) { - margin-top: calc(2 * var(--jse-padding, 10px)); - margin-bottom: calc(0.5 * var(--jse-padding, 10px)); - box-sizing: border-box; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-modal-contents:where(.svelte-t4zsk3) .jse-modal-inline-editor:where(.svelte-t4zsk3) { - flex: 1; - min-height: 150px; - min-width: 0; - max-width: 100%; - display: flex; - --jse-theme-color: var(--jse-modal-editor-theme-color, #707070); - --jse-theme-color-highlight: var(--jse-modal-editor-theme-color-highlight, #646464); -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) { - gap: var(--jse-padding, 10px); - align-items: center; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) .jse-error:where(.svelte-t4zsk3) { - flex: 1; - color: var(--jse-error-color, #ee5341); -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) button.jse-secondary:where(.svelte-t4zsk3) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-secondary-background, #d3d3d3); - color: var(--jse-button-secondary-color, var(--jse-text-color, #4d4d4d)); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) button.jse-secondary:where(.svelte-t4zsk3):hover { - background: var(--jse-button-secondary-background-highlight, #e1e1e1); -} -.jse-modal-wrapper.svelte-t4zsk3 .jse-actions:where(.svelte-t4zsk3) button.jse-secondary:where(.svelte-t4zsk3):disabled { - background: var(--jse-button-secondary-background-disabled, #9d9d9d); -} -.jse-modal-wrapper.svelte-t4zsk3 input:where(.svelte-t4zsk3) { - border: var(--jse-input-border, 1px solid #d8dbdf); - outline: none; - box-sizing: border-box; - padding: calc(0.5 * var(--jse-padding, 10px)); - font-family: var(--jse-font-family-mono, consolas, menlo, monaco, "Ubuntu Mono", "source-code-pro", monospace); - font-size: var(--jse-font-size-mono, 14px); - color: inherit; - background: var(--jse-input-background, var(--jse-background-color, #fff)); -} -.jse-modal-wrapper.svelte-t4zsk3 input:where(.svelte-t4zsk3):focus { - border: var(--jse-input-border-focus, 1px solid var(--jse-input-border-focus, var(--jse-theme-color, #3883fa))); -} -.jse-modal-wrapper.svelte-t4zsk3 input:where(.svelte-t4zsk3):read-only { - background: var(--jse-input-background-readonly, transparent); -}`);var LFA=FA('
        '),GFA=FA(''),KFA=FA(''),UFA=FA(''),JFA=FA('
        Path
        Contents
        ',1),YFA=FA('
        '),TFA={};qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-modal-contents.svelte-lwzlls { - flex: 1; - display: flex; - flex-direction: column; - padding: 20px; - overflow: auto; - min-width: 0; - min-height: 0; -} -.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) { - display: flex; - flex-direction: row; - justify-content: flex-end; - padding-top: var(--jse-padding, 10px); -} -.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) button.jse-primary:where(.svelte-lwzlls) { - border: none; - background: transparent; - color: inherit; - cursor: pointer; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - padding: 5px; - margin: 0; - background: var(--jse-button-primary-background, var(--jse-theme-color, #3883fa)); - color: var(--jse-button-primary-color, #fff); - padding: var(--jse-padding, 10px) calc(2 * var(--jse-padding, 10px)); - border-radius: 3px; -} -.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) button.jse-primary:where(.svelte-lwzlls):hover { - background: var(--jse-button-primary-background-highlight, var(--jse-theme-color-highlight, #5f9dff)); -} -.jse-modal-contents.svelte-lwzlls .jse-actions:where(.svelte-lwzlls) button.jse-primary:where(.svelte-lwzlls):disabled { - background: var(--jse-button-primary-background-disabled, #9d9d9d); -} -.jse-modal-contents.svelte-lwzlls table:where(.svelte-lwzlls) { - width: 100%; - border-collapse: collapse; - border-spacing: 0; -} -.jse-modal-contents.svelte-lwzlls table:where(.svelte-lwzlls) th:where(.svelte-lwzlls), -.jse-modal-contents.svelte-lwzlls table:where(.svelte-lwzlls) td:where(.svelte-lwzlls) { - text-align: left; - vertical-align: middle; - font-weight: normal; - padding-bottom: var(--jse-padding, 10px); -} -.jse-modal-contents.svelte-lwzlls input.jse-path:where(.svelte-lwzlls) { - width: 100%; - box-sizing: border-box; - padding: 5px 10px; - border: var(--jse-input-border, 1px solid #d8dbdf); - border-radius: var(--jse-input-radius, 3px); - font-family: inherit; - font-size: inherit; - background: inherit; - background: var(--jse-input-background-readonly, transparent); - color: inherit; - outline: none; -} -.jse-modal-contents.svelte-lwzlls .svelte-select input { - box-sizing: border-box; -} -.jse-modal-contents.svelte-lwzlls .jse-space:where(.svelte-lwzlls) { - height: 200px; -} -.jse-modal-contents.svelte-lwzlls .jse-space:where(.svelte-lwzlls) .jse-error:where(.svelte-lwzlls) { - color: var(--jse-error-color, #ee5341); -}`);var ZQ=wv(()=>TFA),HFA=FA('Property'),zFA=FA('
        '),OFA=FA('
        Path
        Direction
        ',1);qt(`/* over all fonts, sizes, and colors */ -/* "consolas" for Windows, "menlo" for Mac with fallback to "monaco", 'Ubuntu Mono' for Ubuntu */ -/* (at Mac this font looks too large at 14px, but 13px is too small for the font on Windows) */ -/* main, menu, modal */ -/* jsoneditor modal */ -/* tooltip in text mode */ -/* panels: navigation bar, gutter, search box */ -/* navigation-bar */ -/* context menu */ -/* contents: json key and values */ -/* contents: selected or hovered */ -/* contents: section of collapsed items in an array */ -/* contents: highlighting of search matches */ -/* contents: inline tags inside the JSON document */ -/* contents: table */ -/* controls in modals: inputs, buttons, and \`a\` */ -/* messages */ -/* svelte-select */ -/* color picker */ -.jse-main.svelte-1l55585 { - width: 100%; - height: 100%; - min-width: 0; - min-height: 150px; - font-family: var(--jse-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); - font-size: var(--jse-font-size, 16px); - line-height: normal; - position: relative; - display: flex; - flex-direction: row; -} -.jse-main.svelte-1l55585:not(.jse-focus) { - --jse-selection-background-color: var(--jse-selection-background-inactive-color, #e8e8e8); - --jse-context-menu-pointer-background: var(--jse-context-menu-pointer-hover-background, #b2b2b2); -}`);var PFA=FA('
        ',1);function jFA(t,e){St(e,!1);var A=IA(void 0,!0),i=Cr("jsoneditor:JSONEditor"),n={text:""},o=void 0,a=!1,r=ba.tree,s=!0,g=!0,l=!0,C=!0,I=!1,d=!1,B=!0,E=JSON,Q=void 0,f=JSON,b={parse:WSA,stringify:vg},S=[QSA],M=S[0].id,D=Gl,F=void 0,_=void 0,U=VSA,J=Gl,j=Gl,AA=Gl,O=Gl,DA=re=>{console.error(re),alert(re.toString())},P=Gl,aA=Gl,iA=N(e,"content",13,n),BA=N(e,"selection",13,o),oA=N(e,"readOnly",13,a),sA=N(e,"indentation",13,2),hA=N(e,"tabSize",13,4),YA=N(e,"truncateTextSize",13,1e3),ee=N(e,"mode",13,r),UA=N(e,"mainMenuBar",13,s),mA=N(e,"navigationBar",13,g),KA=N(e,"statusBar",13,l),Pe=N(e,"askToFormat",13,C),Je=N(e,"escapeControlCharacters",13,I),HA=N(e,"escapeUnicodeCharacters",13,d),uA=N(e,"flattenColumns",13,B),ZA=N(e,"parser",13,E),QA=N(e,"validator",13,Q),WA=N(e,"validationParser",13,f),MA=N(e,"pathParser",13,b),be=N(e,"queryLanguages",13,S),LA=N(e,"queryLanguageId",13,M),pA=N(e,"onChangeQueryLanguage",13,D),Ft=N(e,"onChange",13,F),ht=N(e,"onSelect",13,_),Ee=N(e,"onRenderValue",13,U),Kt=N(e,"onClassName",13,J),Ye=N(e,"onRenderMenu",13,j),ze=N(e,"onRenderContextMenu",13,AA),ut=N(e,"onChangeMode",13,O),Me=N(e,"onError",13,DA),ei=N(e,"onFocus",13,P),Y=N(e,"onBlur",13,aA),z=IA(th(),!0),nA=IA(!1,!0),rA=IA(void 0,!0),NA=IA(void 0,!0),Ie=IA(void 0,!0),Qe=IA(void 0,!0),xA=IA(ZA(),!0);function _A(){return iA()}function Et(re){i("set");var di=V_(re);if(di)throw new Error(di);R(z,th()),iA(re),Mo()}function et(re){i("update");var di=V_(re);if(di)throw new Error(di);iA(re),Mo()}function Te(re){var di=c(rA).patch(re);return Mo(),di}function Le(re){BA(re),Mo()}function si(re,di){c(rA).expand(re,di),Mo()}function gn(re){var di=arguments.length>1&&arguments[1]!==void 0&&arguments[1];c(rA).collapse(re,di),Mo()}function dn(){var re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};c(rA).transform(re),Mo()}function _e(){return c(rA).validate()}function Wi(){var re=c(rA).acceptAutoRepair();return Mo(),re}function ui(re){return Mi.apply(this,arguments)}function Mi(){return(Mi=Tt(function*(re){yield c(rA).scrollTo(re)})).apply(this,arguments)}function zi(re){return c(rA).findElement(re)}function vt(){c(rA).focus(),Mo()}function Zi(){return _t.apply(this,arguments)}function _t(){return(_t=Tt(function*(){yield c(rA).refresh()})).apply(this,arguments)}function L(re){var di,ln,Qn,To,Ma,wi,Io,nr,yo,Pa,Gn,xi,Pt,Sn,Bo,So,vA,VA,me,dA,SA,ae,xe,it,st,bt,Kn,Ri,Ji,Vt,Ni,ka=Object.keys(re);for(var Lt of ka)switch(Lt){case"content":iA((di=re[Lt])!==null&&di!==void 0?di:n);break;case"selection":BA((ln=re[Lt])!==null&&ln!==void 0?ln:o);break;case"readOnly":oA((Qn=re[Lt])!==null&&Qn!==void 0?Qn:a);break;case"indentation":sA((To=re[Lt])!==null&&To!==void 0?To:2);break;case"tabSize":hA((Ma=re[Lt])!==null&&Ma!==void 0?Ma:4);break;case"truncateTextSize":YA((wi=re[Lt])!==null&&wi!==void 0?wi:1e3);break;case"mode":ee((Io=re[Lt])!==null&&Io!==void 0?Io:r);break;case"mainMenuBar":UA((nr=re[Lt])!==null&&nr!==void 0?nr:s);break;case"navigationBar":mA((yo=re[Lt])!==null&&yo!==void 0?yo:g);break;case"statusBar":KA((Pa=re[Lt])!==null&&Pa!==void 0?Pa:l);break;case"askToFormat":Pe((Gn=re[Lt])!==null&&Gn!==void 0?Gn:C);break;case"escapeControlCharacters":Je((xi=re[Lt])!==null&&xi!==void 0?xi:I);break;case"escapeUnicodeCharacters":HA((Pt=re[Lt])!==null&&Pt!==void 0?Pt:d);break;case"flattenColumns":uA((Sn=re[Lt])!==null&&Sn!==void 0?Sn:B);break;case"parser":ZA((Bo=re[Lt])!==null&&Bo!==void 0?Bo:E);break;case"validator":QA((So=re[Lt])!==null&&So!==void 0?So:Q);break;case"validationParser":WA((vA=re[Lt])!==null&&vA!==void 0?vA:f);break;case"pathParser":MA((VA=re[Lt])!==null&&VA!==void 0?VA:b);break;case"queryLanguages":be((me=re[Lt])!==null&&me!==void 0?me:S);break;case"queryLanguageId":LA((dA=re[Lt])!==null&&dA!==void 0?dA:M);break;case"onChangeQueryLanguage":pA((SA=re[Lt])!==null&&SA!==void 0?SA:D);break;case"onChange":Ft((ae=re[Lt])!==null&&ae!==void 0?ae:F);break;case"onRenderValue":Ee((xe=re[Lt])!==null&&xe!==void 0?xe:U);break;case"onClassName":Kt((it=re[Lt])!==null&&it!==void 0?it:J);break;case"onRenderMenu":Ye((st=re[Lt])!==null&&st!==void 0?st:j);break;case"onRenderContextMenu":ze((bt=re[Lt])!==null&&bt!==void 0?bt:AA);break;case"onChangeMode":ut((Kn=re[Lt])!==null&&Kn!==void 0?Kn:O);break;case"onSelect":ht((Ri=re[Lt])!==null&&Ri!==void 0?Ri:_);break;case"onError":Me((Ji=re[Lt])!==null&&Ji!==void 0?Ji:DA);break;case"onFocus":ei((Vt=re[Lt])!==null&&Vt!==void 0?Vt:P);break;case"onBlur":Y((Ni=re[Lt])!==null&&Ni!==void 0?Ni:aA);break;default:gt(Lt)}function gt(Fi){i('Unknown property "'.concat(Fi,'"'))}be().some(Fi=>Fi.id===LA())||LA(be()[0].id),Mo()}function Ct(){return ci.apply(this,arguments)}function ci(){return(ci=Tt(function*(){throw new Error("class method destroy() is deprecated. It is replaced with a method destroy() in the vanilla library.")})).apply(this,arguments)}function Bn(re,di,ln){iA(re),Ft()&&Ft()(re,di,ln)}function En(re){BA(re),ht()&&ht()(n3(re))}function qn(){R(nA,!0),ei()&&ei()()}function Yo(){R(nA,!1),Y()&&Y()()}function Co(re){return ko.apply(this,arguments)}function ko(){return(ko=Tt(function*(re){ee()!==re&&(ee(re),Mo(),vt(),ut()(re))})).apply(this,arguments)}function Zo(re){i("handleChangeQueryLanguage",re),LA(re),pA()(re)}function wo(re){var{id:di,json:ln,rootPath:Qn,onTransform:To,onClose:Ma}=re;oA()||R(Qe,{id:di,json:ln,rootPath:Qn,indentation:sA(),truncateTextSize:YA(),escapeControlCharacters:Je(),escapeUnicodeCharacters:HA(),parser:ZA(),parseMemoizeOne:c(A),validationParser:WA(),pathParser:MA(),queryLanguages:be(),queryLanguageId:LA(),onChangeQueryLanguage:Zo,onRenderValue:Ee(),onRenderMenu:wi=>Ye()(wi,{mode:ee(),modal:!0,readOnly:oA()}),onRenderContextMenu:wi=>ze()(wi,{mode:ee(),modal:!0,readOnly:oA(),selection:BA()}),onClassName:Kt(),onTransform:To,onClose:Ma})}function ha(re){oA()||R(Ie,re)}function Xo(re){var{content:di,path:ln,onPatch:Qn,onClose:To}=re;i("onJSONEditorModal",{content:di,path:ln}),R(NA,{content:di,path:ln,onPatch:Qn,readOnly:oA(),indentation:sA(),tabSize:hA(),truncateTextSize:YA(),mainMenuBar:UA(),navigationBar:mA(),statusBar:KA(),askToFormat:Pe(),escapeControlCharacters:Je(),escapeUnicodeCharacters:HA(),flattenColumns:uA(),parser:ZA(),validator:void 0,validationParser:WA(),pathParser:MA(),onRenderValue:Ee(),onClassName:Kt(),onRenderMenu:Ye(),onRenderContextMenu:ze(),onSortModal:ha,onTransformModal:wo,onClose:To})}function ra(re){re.stopPropagation()}RA(()=>(G(ZA()),c(xA),G(iA()),th),()=>{if(!goA(ZA(),c(xA))){if(i("parser changed, recreate editor"),jf(iA())){var re=c(xA).stringify(iA().json);iA({json:re!==void 0?ZA().parse(re):void 0})}R(xA,ZA()),R(z,th())}}),RA(()=>G(iA()),()=>{var re=V_(iA());re&&console.error("Error: "+re)}),RA(()=>G(BA()),()=>{BA()===null&&console.warn("selection is invalid: it is null but should be undefined")}),RA(()=>G(ZA()),()=>{R(A,ZE(ZA().parse))}),RA(()=>G(ee()),()=>{i("mode changed to",ee())}),kn();var Do={get:_A,set:Et,update:et,patch:Te,select:Le,expand:si,collapse:gn,transform:dn,validate:_e,acceptAutoRepair:Wi,scrollTo:ui,findElement:zi,focus:vt,refresh:Zi,updateProps:L,destroy:Ct};return Ai(!0),yL(t,{children:(re,di)=>{var ln,Qn=PFA(),To=At(Qn);ZnA(CA(To),()=>c(z),Gn=>{Jo($iA(Gn,{get externalMode(){return ee()},get content(){return iA()},get selection(){return BA()},get readOnly(){return oA()},get indentation(){return sA()},get tabSize(){return hA()},get truncateTextSize(){return YA()},get statusBar(){return KA()},get askToFormat(){return Pe()},get mainMenuBar(){return UA()},get navigationBar(){return mA()},get escapeControlCharacters(){return Je()},get escapeUnicodeCharacters(){return HA()},get flattenColumns(){return uA()},get parser(){return ZA()},get parseMemoizeOne(){return c(A)},get validator(){return QA()},get validationParser(){return WA()},get pathParser(){return MA()},insideModal:!1,get onError(){return Me()},onChange:Bn,onChangeMode:Co,onSelect:En,get onRenderValue(){return Ee()},get onClassName(){return Kt()},onFocus:qn,onBlur:Yo,get onRenderMenu(){return Ye()},get onRenderContextMenu(){return ze()},onSortModal:ha,onTransformModal:wo,onJSONEditorModal:Xo,$$legacy:!0}),xi=>R(rA,xi),()=>c(rA))});var Ma=bA(To,2),wi=Gn=>{(function(xi,Pt){var Sn,Bo;St(Pt,!1);var So=IA(void 0,!0),vA=IA(void 0,!0),VA=IA(void 0,!0),me=IA(void 0,!0),dA=Cr("jsoneditor:SortModal"),SA=N(Pt,"id",9),ae=N(Pt,"json",9),xe=N(Pt,"rootPath",9),it=N(Pt,"onSort",9),st=N(Pt,"onClose",9),bt={value:1,label:"ascending"},Kn=[bt,{value:-1,label:"descending"}],Ri="".concat(SA(),":").concat(wt(xe())),Ji=IA((Sn=ZQ()[Ri])===null||Sn===void 0?void 0:Sn.selectedProperty,!0),Vt=IA(((Bo=ZQ()[Ri])===null||Bo===void 0?void 0:Bo.selectedDirection)||bt,!0),Ni=IA(void 0,!0);function ka(){try{var gt,Fi,Oi;R(Ni,void 0);var Vn=((gt=c(Ji))===null||gt===void 0?void 0:gt.value)||((Fi=c(me))===null||Fi===void 0||(Fi=Fi[0])===null||Fi===void 0?void 0:Fi.value)||[],hn=(Oi=c(Vt))===null||Oi===void 0?void 0:Oi.value,Mt=AaA(ae(),xe(),Vn,hn);it()!==void 0&&xe()!==void 0&&it()({operations:Mt,rootPath:xe(),itemPath:Vn,direction:hn}),st()()}catch(sa){R(Ni,String(sa))}}function Lt(gt){gt.focus()}RA(()=>(G(ae()),G(xe())),()=>{R(So,je(ae(),xe()))}),RA(()=>c(So),()=>{R(vA,Array.isArray(c(So)))}),RA(()=>(c(vA),c(So)),()=>{R(VA,c(vA)?wL(c(So)):void 0)}),RA(()=>(c(VA),PI),()=>{R(me,c(VA)?c(VA).map(PI):void 0)}),RA(()=>(ZQ(),c(Ji),c(Vt)),()=>{ZQ(ZQ()[Ri]={selectedProperty:c(Ji),selectedDirection:c(Vt)}),dA("store state in memory",Ri,ZQ()[Ri])}),kn(),Ai(!0),em(xi,{get onClose(){return st()},className:"jse-sort-modal",children:(gt,Fi)=>{var Oi=OFA(),Vn=At(Oi),hn=tt(()=>c(vA)?"Sort array items":"Sort object keys");Ev(Vn,{get title(){return c(hn)},get onClose(){return st()}});var Mt=CA(bA(Vn,2)),sa=bA(CA(Mt)),Ho=CA(sa),u=bA(CA(Ho)),y=CA(u),x=bA(Ho),H=oe=>{var Be=HFA(),He=bA(CA(Be));Td(CA(He),{showChevron:!0,get items(){return c(me)},get value(){return c(Ji)},set value(ke){R(Ji,ke)},$$legacy:!0}),lA(oe,Be)};TA(x,oe=>{c(vA),c(me),EA(()=>{var Be;return c(vA)&&c(me)&&((Be=c(me))===null||Be===void 0?void 0:Be.length)>1})&&oe(H)});var k=bA(x),T=bA(CA(k));Td(CA(T),{showChevron:!0,clearable:!1,get items(){return Kn},get value(){return c(Vt)},set value(oe){R(Vt,oe)},$$legacy:!0});var eA=bA(Mt,2),gA=CA(eA),wA=oe=>{var Be=zFA(),He=CA(Be);ve(()=>Rt(He,c(Ni))),lA(oe,Be)};TA(gA,oe=>{c(Ni)&&oe(wA)});var Ae=CA(bA(eA,2));Nr(()=>ue("click",Ae,ka)),vs(Ae,oe=>Lt?.(oe)),ve(oe=>{AB(y,oe),Ae.disabled=(c(vA),c(me),c(Ji),EA(()=>{var Be;return!!(c(vA)&&c(me)&&((Be=c(me))===null||Be===void 0?void 0:Be.length)>1)&&!c(Ji)}))},[()=>(G(xe()),G(qi),G(vg),EA(()=>xe()&&!qi(xe())?vg(xe()):"(document root)"))]),lA(gt,Oi)},$$slots:{default:!0}}),xt()})(Gn,e1(()=>c(Ie),{onClose:()=>{var xi;(xi=c(Ie))===null||xi===void 0||xi.onClose(),R(Ie,void 0)}}))};TA(Ma,Gn=>{c(Ie)&&Gn(wi)});var Io=bA(Ma,2),nr=Gn=>{WNA(Gn,e1(()=>c(Qe),{onClose:()=>{var xi;(xi=c(Qe))===null||xi===void 0||xi.onClose(),R(Qe,void 0)}}))};TA(Io,Gn=>{c(Qe)&&Gn(nr)});var yo=bA(Io,2),Pa=Gn=>{(function(xi,Pt){St(Pt,!1);var Sn=IA(void 0,!0),Bo=IA(void 0,!0),So=IA(void 0,!0),vA=IA(void 0,!0),VA=Cr("jsoneditor:JSONEditorModal"),me=N(Pt,"content",9),dA=N(Pt,"path",9),SA=N(Pt,"onPatch",9),ae=N(Pt,"readOnly",9),xe=N(Pt,"indentation",9),it=N(Pt,"tabSize",9),st=N(Pt,"truncateTextSize",9),bt=N(Pt,"mainMenuBar",9),Kn=N(Pt,"navigationBar",9),Ri=N(Pt,"statusBar",9),Ji=N(Pt,"askToFormat",9),Vt=N(Pt,"escapeControlCharacters",9),Ni=N(Pt,"escapeUnicodeCharacters",9),ka=N(Pt,"flattenColumns",9),Lt=N(Pt,"parser",9),gt=N(Pt,"validator",9),Fi=N(Pt,"validationParser",9),Oi=N(Pt,"pathParser",9),Vn=N(Pt,"onRenderValue",9),hn=N(Pt,"onClassName",9),Mt=N(Pt,"onRenderMenu",9),sa=N(Pt,"onRenderContextMenu",9),Ho=N(Pt,"onSortModal",9),u=N(Pt,"onTransformModal",9),y=N(Pt,"onClose",9),x=IA(void 0,!0),H=IA(void 0,!0),k={mode:gA(me()),content:me(),selection:void 0,relativePath:dA()},T=IA([k],!0),eA=IA(void 0,!0);function gA(fA){return jf(fA)&&qo(fA.json)?ba.table:ba.tree}function wA(){var fA,PA=(fA=mi(c(T)))===null||fA===void 0?void 0:fA.selection;Zf(PA)&&c(x).scrollTo(ct(PA))}function Ae(){if(VA("handleApply"),!ae())try{R(eA,void 0);var fA=c(Sn).relativePath,PA=c(Sn).content,Fe=[{op:"replace",path:wt(fA),value:liA(PA,Lt()).json}];if(c(T).length>1){var pe=liA(c(T)[c(T).length-2].content,Lt()).json,De={json:lg(pe,Fe)},ot=ye(ye({},c(T)[c(T).length-2]||k),{},{content:De});R(T,[...c(T).slice(0,c(T).length-2),ot]),Mo(),wA()}else SA()(Fe),y()()}catch(jt){R(eA,String(jt))}}function oe(){if(VA("handleClose"),c(H))R(H,!1);else if(c(T).length>1){var fA;R(T,Ki(c(T))),Mo(),(fA=c(x))===null||fA===void 0||fA.focus(),wA(),R(eA,void 0)}else y()()}function Be(fA){VA("handleChange",fA),Ne(PA=>ye(ye({},PA),{},{content:fA}))}function He(fA){VA("handleChangeSelection",fA),Ne(PA=>ye(ye({},PA),{},{selection:fA}))}function ke(fA){VA("handleChangeMode",fA),Ne(PA=>ye(ye({},PA),{},{mode:fA}))}function Ne(fA){var PA=fA(mi(c(T)));R(T,[...Ki(c(T)),PA])}function ni(fA){R(eA,fA.toString()),console.error(fA)}function Un(fA){var PA,{content:Fe,path:pe}=fA;VA("handleJSONEditorModal",{content:Fe,path:pe});var De={mode:gA(Fe),content:Fe,selection:void 0,relativePath:pe};R(T,[...c(T),De]),Mo(),(PA=c(x))===null||PA===void 0||PA.focus()}function q(fA){fA.focus()}is(()=>{var fA;(fA=c(x))===null||fA===void 0||fA.focus()}),RA(()=>c(T),()=>{R(Sn,mi(c(T))||k)}),RA(()=>c(T),()=>{R(Bo,c(T).flatMap(fA=>fA.relativePath))}),RA(()=>(c(Bo),vg),()=>{R(So,qi(c(Bo))?"(document root)":vg(c(Bo)))}),RA(()=>G(Lt()),()=>{R(vA,ZE(Lt().parse))}),kn(),Ai(!0),em(xi,{onClose:oe,className:"jse-jsoneditor-modal",get fullscreen(){return c(H)},children:(fA,PA)=>{var Fe=YFA();yL(CA(Fe),{children:(pe,De)=>{var ot=JFA(),jt=At(ot),ki=tt(()=>(c(T),EA(()=>c(T).length>1?" (".concat(c(T).length,")"):"")));Ev(jt,{get title(){var Zt;return"Edit nested content ".concat((Zt=c(ki))!==null&&Zt!==void 0?Zt:"")},fullScreenButton:!0,onClose:oe,get fullscreen(){return c(H)},set fullscreen(Zt){R(H,Zt)},$$legacy:!0});var xn=bA(jt,2),Pi=bA(CA(xn),2),Eo=bA(Pi,4);Jo($iA(CA(Eo),{get externalMode(){return c(Sn),EA(()=>c(Sn).mode)},get content(){return c(Sn),EA(()=>c(Sn).content)},get selection(){return c(Sn),EA(()=>c(Sn).selection)},get readOnly(){return ae()},get indentation(){return xe()},get tabSize(){return it()},get truncateTextSize(){return st()},get statusBar(){return Ri()},get askToFormat(){return Ji()},get mainMenuBar(){return bt()},get navigationBar(){return Kn()},get escapeControlCharacters(){return Vt()},get escapeUnicodeCharacters(){return Ni()},get flattenColumns(){return ka()},get parser(){return Lt()},get parseMemoizeOne(){return c(vA)},get validator(){return gt()},get validationParser(){return Fi()},get pathParser(){return Oi()},insideModal:!0,onError:ni,onChange:Be,onChangeMode:ke,onSelect:He,get onRenderValue(){return Vn()},get onClassName(){return hn()},get onFocus(){return Gl},get onBlur(){return Gl},get onRenderMenu(){return Mt()},get onRenderContextMenu(){return sa()},get onSortModal(){return Ho()},get onTransformModal(){return u()},onJSONEditorModal:Un,$$legacy:!0}),Zt=>R(x,Zt),()=>c(x));var Wt=CA(bA(Eo,2)),$o=Zt=>{var mt=LFA(),gi=CA(mt);ve(()=>Rt(gi,c(eA))),lA(Zt,mt)};TA(Wt,Zt=>{c(eA)&&Zt($o)});var Wn=bA(Wt,2),Aa=Zt=>{var mt=GFA();Vi(CA(mt),{get data(){return eV}}),ue("click",mt,oe),lA(Zt,mt)};TA(Wn,Zt=>{c(T),EA(()=>c(T).length>1)&&Zt(Aa)});var un=bA(Wn,2),Gt=Zt=>{var mt=KFA();Nr(()=>ue("click",mt,Ae)),vs(mt,gi=>q?.(gi)),lA(Zt,mt)},Xi=Zt=>{var mt=UFA();ue("click",mt,oe),lA(Zt,mt)};TA(un,Zt=>{ae()?Zt(Xi,!1):Zt(Gt)}),ve(()=>AB(Pi,c(So))),lA(pe,ot)},$$slots:{default:!0}}),lA(fA,Fe)},$$slots:{default:!0}}),xt()})(Gn,e1(()=>c(NA),{onClose:()=>{var xi;(xi=c(NA))===null||xi===void 0||xi.onClose(),R(NA,void 0)}}))};TA(yo,Gn=>{c(NA)&&Gn(Pa)}),ve(()=>ln=$t(To,1,"jse-main svelte-1l55585",null,ln,{"jse-focus":c(nA)})),ue("keydown",To,ra),lA(re,Qn)},$$slots:{default:!0}}),Ot(e,"get",_A),Ot(e,"set",Et),Ot(e,"update",et),Ot(e,"patch",Te),Ot(e,"select",Le),Ot(e,"expand",si),Ot(e,"collapse",gn),Ot(e,"transform",dn),Ot(e,"validate",_e),Ot(e,"acceptAutoRepair",Wi),Ot(e,"scrollTo",ui),Ot(e,"findElement",zi),Ot(e,"focus",vt),Ot(e,"refresh",Zi),Ot(e,"updateProps",L),Ot(e,"destroy",Ct),xt(Do)}function IaA(t){var{target:e,props:A}=t,i=_kA(jFA,{target:e,props:A});return i.destroy=Tt(function*(){return(function(n,o){var a=fL.get(n);return a?(fL.delete(n),a(o)):Promise.resolve()})(i)}),Mo(),i}var qc=class t{constructor(e){this.el=e}jsonString;editor=null;ngAfterViewInit(){let e={text:this.jsonString};setTimeout(()=>{this.editor=IaA({target:document.getElementById("json-editor"),props:{content:e,mode:ba.text,mainMenuBar:!1,statusBar:!1}})})}getJsonString(){return this.editor?.get().text}static \u0275fac=function(A){return new(A||t)(at(ge))};static \u0275cmp=kA({type:t,selectors:[["app-json-editor"]],inputs:{jsonString:"jsonString"},decls:1,vars:0,consts:[["id","json-editor",1,"json-editor-container","jse-theme-dark"]],template:function(A,i){A&1&&Di(0,"div",0)},styles:[".jse-theme-dark[_ngcontent-%COMP%]{--jse-theme: dark;--jse-theme-color: #2f6dd0;--jse-theme-color-highlight: #467cd2;--jse-background-color: #1e1e1e;--jse-text-color: #d4d4d4;--jse-text-color-inverse: #4d4d4d;--jse-main-border: 1px solid #4f4f4f;--jse-menu-color: #fff;--jse-modal-background: #2f2f2f;--jse-modal-overlay-background: rgba(0, 0, 0, .5);--jse-modal-code-background: #2f2f2f;--jse-tooltip-color: var(--jse-text-color);--jse-tooltip-background: #4b4b4b;--jse-tooltip-border: 1px solid #737373;--jse-tooltip-action-button-color: inherit;--jse-tooltip-action-button-background: #737373;--jse-panel-background: #333333;--jse-panel-background-border: 1px solid #464646;--jse-panel-color: var(--jse-text-color);--jse-panel-color-readonly: #737373;--jse-panel-border: 1px solid #3c3c3c;--jse-panel-button-color-highlight: #e5e5e5;--jse-panel-button-background-highlight: #464646;--jse-navigation-bar-background: #656565;--jse-navigation-bar-background-highlight: #7e7e7e;--jse-navigation-bar-dropdown-color: var(--jse-text-color);--jse-context-menu-background: #4b4b4b;--jse-context-menu-background-highlight: #595959;--jse-context-menu-separator-color: #595959;--jse-context-menu-color: var(--jse-text-color);--jse-context-menu-pointer-background: #737373;--jse-context-menu-pointer-background-highlight: #818181;--jse-context-menu-pointer-color: var(--jse-context-menu-color);--jse-key-color: #9cdcfe;--jse-value-color: var(--jse-text-color);--jse-value-color-number: #b5cea8;--jse-value-color-boolean: #569cd6;--jse-value-color-null: #569cd6;--jse-value-color-string: #ce9178;--jse-value-color-url: #ce9178;--jse-delimiter-color: #949494;--jse-edit-outline: 2px solid var(--jse-text-color);--jse-selection-background-color: #464646;--jse-selection-background-inactive-color: #333333;--jse-hover-background-color: #343434;--jse-active-line-background-color: rgba(255, 255, 255, .06);--jse-search-match-background-color: #343434;--jse-collapsed-items-background-color: #333333;--jse-collapsed-items-selected-background-color: #565656;--jse-collapsed-items-link-color: #b2b2b2;--jse-collapsed-items-link-color-highlight: #ec8477;--jse-search-match-color: #724c27;--jse-search-match-outline: 1px solid #966535;--jse-search-match-active-color: #9f6c39;--jse-search-match-active-outline: 1px solid #bb7f43;--jse-tag-background: #444444;--jse-tag-color: #bdbdbd;--jse-table-header-background: #333333;--jse-table-header-background-highlight: #424242;--jse-table-row-odd-background: rgba(255, 255, 255, .1);--jse-input-background: #3d3d3d;--jse-input-border: var(--jse-main-border);--jse-button-background: #808080;--jse-button-background-highlight: #7a7a7a;--jse-button-color: #e0e0e0;--jse-button-secondary-background: #494949;--jse-button-secondary-background-highlight: #5d5d5d;--jse-button-secondary-background-disabled: #9d9d9d;--jse-button-secondary-color: var(--jse-text-color);--jse-a-color: #55abff;--jse-a-color-highlight: #4387c9;--jse-svelte-select-background: #3d3d3d;--jse-svelte-select-border: 1px solid #4f4f4f;--list-background: #3d3d3d;--item-hover-bg: #505050;--multi-item-bg: #5b5b5b;--input-color: #d4d4d4;--multi-clear-bg: #8a8a8a;--multi-item-clear-icon-color: #d4d4d4;--multi-item-outline: 1px solid #696969;--list-shadow: 0 2px 8px 0 rgba(0, 0, 0, .4);--jse-color-picker-background: #656565;--jse-color-picker-border-box-shadow: #8c8c8c 0 0 0 1px}.json-editor-container[_ngcontent-%COMP%]{height:100%} .jse-message.jse-error{display:none} .cm-gutters.cm-gutters-before{display:none} .jse-text-mode{border-radius:10px} .jse-contents{border-radius:10px;border-bottom:1px solid #4f4f4f}"]})};var qFA=(t,e)=>e.name;function VFA(t,e){if(t&1&&K(0),t&2){let A=v();Se(" Configure ",A.selectedBuiltInTool," ")}}function WFA(t,e){if(t&1&&K(0),t&2){let A=v();Se(" ",A.isEditMode?"Edit Built-in Tool":"Add Built-in Tool"," ")}}function ZFA(t,e){if(t&1){let A=JA();m(0,"div",8),tA("click",function(){let n=Z(A).$implicit,o=v(3);return X(o.onToolSelected(n))}),m(1,"mat-icon",9),K(2),w(),m(3,"span",10),K(4),w()()}if(t&2){let A=e.$implicit,i=v(3);ne("selected",i.selectedBuiltInTool===A),p(2),qA(i.getToolIcon(A)),p(2),qA(A)}}function XFA(t,e){if(t&1&&(m(0,"div",4)(1,"h3",5),K(2),w(),m(3,"div",6),Ut(4,ZFA,5,4,"div",7,Li),w()()),t&2){let A=e.$implicit;p(2),qA(A.name),p(2),Jt(A.tools)}}function $FA(t,e){if(t&1&&(m(0,"div",1),Ut(1,XFA,6,1,"div",4,qFA),w()),t&2){let A=v();p(),Jt(A.toolCategories)}}function A_A(t,e){if(t&1&&(m(0,"div",2)(1,"h3",11),K(2,"Configure Tool Arguments"),w(),GA(3,"app-json-editor",12),w()),t&2){let A=v();p(3),$("jsonString",A.toolArgsString)}}function e_A(t,e){if(t&1){let A=JA();m(0,"button",14),tA("click",function(){Z(A);let n=v(2);return X(n.backToToolSelection())}),K(1,"Back"),w()}}function t_A(t,e){if(t&1){let A=JA();V(0,e_A,2,0,"button",13),m(1,"button",14),tA("click",function(){Z(A);let n=v();return X(n.saveArgs())}),K(2),w()}if(t&2){let A=v();W(A.isEditMode?-1:0),p(2),qA(A.isEditMode?"Save":"Create")}}function i_A(t,e){if(t&1){let A=JA();m(0,"button",14),tA("click",function(){Z(A);let n=v();return X(n.cancel())}),K(1,"Cancel"),w(),m(2,"button",15),tA("click",function(){Z(A);let n=v();return X(n.addTool())}),K(3),w()}if(t&2){let A=v();p(3),Se(" ",A.isEditMode?"Save":"Create"," ")}}var aB=class t{constructor(e,A){this.data=e;this.dialogRef=A}jsonEditorComponent;selectedBuiltInTool="google_search";toolCategories=[{name:"Search Tools",tools:["google_search","EnterpriseWebSearchTool","VertexAiSearchTool"]},{name:"Context Tools",tools:["FilesRetrieval","load_memory","preload_memory","url_context","VertexAiRagRetrieval"]},{name:"Agent Function Tools",tools:["exit_loop","get_user_choice","load_artifacts","LongRunningFunctionTool"]}];builtInToolArgs=new Map([["EnterpriseWebSearchTool",[]],["exit_loop",[]],["FilesRetrieval",["name","description","input_dir"]],["get_user_choice",[]],["google_search",[]],["load_artifacts",[]],["load_memory",[]],["LongRunningFunctionTool",["func"]],["preload_memory",[]],["url_context",[]],["VertexAiRagRetrieval",["name","description","rag_corpora","rag_resources","similarity_top_k","vector_distance_threshold"]],["VertexAiSearchTool",["data_store_id","data_store_specs","search_engine_id","filter","max_results"]]]);isEditMode=!1;showArgsEditor=!1;toolArgs={};toolArgsString="";ngOnInit(){if(this.isEditMode=this.data.isEditMode||!1,this.isEditMode&&this.data.toolName){this.selectedBuiltInTool=this.data.toolName;let e=this.builtInToolArgs.get(this.data.toolName);if(e&&e.length>0){if(this.data.toolArgs)this.toolArgs=cA({},this.data.toolArgs),delete this.toolArgs.skip_summarization;else{this.toolArgs={};for(let A of e)this.toolArgs[A]=""}this.toolArgsString=JSON.stringify(this.toolArgs,null,2),this.showArgsEditor=!0}}}onToolSelected(e){this.selectedBuiltInTool=e;let A=this.builtInToolArgs.get(e);A&&A.length>0&&(this.initializeToolArgs(e,A),this.showArgsEditor=!0)}initializeToolArgs(e,A){this.toolArgs={};for(let i of A)this.toolArgs[i]="";this.toolArgsString=JSON.stringify(this.toolArgs,null,2)}backToToolSelection(){this.showArgsEditor=!1,this.toolArgs={},this.toolArgsString=""}saveArgs(){if(this.jsonEditorComponent)try{this.toolArgsString=this.jsonEditorComponent.getJsonString(),this.toolArgs=JSON.parse(this.toolArgsString)}catch(e){alert("Invalid JSON: "+e);return}this.addTool()}addTool(){let e={toolType:"Built-in tool",name:this.selectedBuiltInTool,isEditMode:this.isEditMode};Object.keys(this.toolArgs).length>0&&(e.args=this.toolArgs),this.dialogRef.close(e)}cancel(){this.dialogRef.close()}getToolIcon(e){return ME(e,"Built-in tool")}static \u0275fac=function(A){return new(A||t)(at(Ca),at(bo))};static \u0275cmp=kA({type:t,selectors:[["app-built-in-tool-dialog"]],viewQuery:function(A,i){if(A&1&&ai(qc,5),A&2){let n;ce(n=Ce())&&(i.jsonEditorComponent=n.first)}},decls:9,vars:3,consts:[["mat-dialog-title","",1,"dialog-title"],[1,"tool-categories-container"],[1,"args-editor-container"],["align","end"],[1,"tool-category"],[1,"category-title"],[1,"tool-list"],[1,"tool-item",3,"selected"],[1,"tool-item",3,"click"],[1,"tool-icon"],[1,"tool-name"],[1,"args-editor-title"],[3,"jsonString"],["mat-button",""],["mat-button","",3,"click"],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"h2",0),V(1,VFA,1,1)(2,WFA,1,1),w(),m(3,"mat-dialog-content"),V(4,$FA,3,0,"div",1)(5,A_A,4,1,"div",2),w(),m(6,"mat-dialog-actions",3),V(7,t_A,3,2)(8,i_A,4,1),w()),A&2&&(p(),W(i.showArgsEditor?1:2),p(3),W(i.showArgsEditor?5:4),p(3),W(i.showArgsEditor?7:8))},dependencies:[ma,Nn,Da,rr,Fn,Ua,fn,qc],styles:[".dialog-title[_ngcontent-%COMP%]{color:var(--mdc-dialog-subhead-color)!important;font-family:Google Sans;font-size:24px}.tool-categories-container[_ngcontent-%COMP%]{padding:16px 0}.tool-category[_ngcontent-%COMP%]{margin-bottom:24px}.tool-category[_ngcontent-%COMP%]:last-child{margin-bottom:0}.category-title[_ngcontent-%COMP%]{font-family:Google Sans;font-size:16px;font-weight:500;color:var(--mdc-dialog-supporting-text-color);margin:0 0 12px;padding-left:8px}.tool-list[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tool-item[_ngcontent-%COMP%]{display:flex;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:var(--builder-tool-item-background-color);border:1px solid var(--builder-tool-item-border-color);min-width:0}.tool-item[_ngcontent-%COMP%]:hover{background-color:var(--builder-tool-item-hover-background-color)}.tool-item.selected[_ngcontent-%COMP%]{background-color:#8ab4f833;border:1px solid #8ab4f8}.tool-item[_ngcontent-%COMP%] .tool-icon[_ngcontent-%COMP%]{color:#8ab4f8;margin-right:12px;font-size:20px;width:20px;height:20px;flex-shrink:0}.tool-item[_ngcontent-%COMP%] .tool-name[_ngcontent-%COMP%]{font-family:Google Sans;font-size:14px;color:var(--mdc-dialog-supporting-text-color)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.args-editor-container[_ngcontent-%COMP%]{padding:16px 0}.args-editor-title[_ngcontent-%COMP%]{font-family:Google Sans;font-size:16px;font-weight:500;color:var(--mdc-dialog-supporting-text-color);margin:0 0 16px}"]})};function n_A(t,e){if(t&1){let A=JA();js(0),m(1,"div",6)(2,"div",7),tA("click",function(){Z(A);let n=v();return X(n.toggleToolInfo())}),m(3,"mat-icon",8),K(4,"info"),w(),m(5,"div",9)(6,"span"),K(7,"Tool Information"),w()(),m(8,"button",10)(9,"mat-icon"),K(10),w()()(),m(11,"div",11)(12,"div",12)(13,"div",13),K(14),w(),m(15,"div",14),K(16),w()(),m(17,"div",15)(18,"a",16)(19,"mat-icon"),K(20,"open_in_new"),w(),m(21,"span"),K(22,"View Official Documentation"),w()()()()(),qs()}if(t&2){let A,i,n,o=v();p(10),qA(o.isToolInfoExpanded?"expand_less":"expand_more"),p(),ne("expanded",o.isToolInfoExpanded),p(3),qA((A=o.getToolInfo())==null?null:A.shortDescription),p(2),qA((i=o.getToolInfo())==null?null:i.detailedDescription),p(2),$("href",(n=o.getToolInfo())==null?null:n.docLink,Ka)}}function o_A(t,e){t&1&&(m(0,"mat-hint",19),K(1," Start with a letter or underscore, and contain only letters, digits, and underscores. "),w())}function a_A(t,e){if(t&1){let A=JA();m(0,"mat-form-field",2)(1,"mat-label"),K(2),w(),m(3,"input",17),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.inputValue,n)||(o.inputValue=n),X(n)}),tA("keydown",function(n){Z(A);let o=v();return X(o.onKeyDown(n))}),w(),pt(4,o_A,2,0,"mat-hint",18),w()}if(t&2){let A=v();p(2),qA(A.data.inputLabel||"Input"),p(),Qo("ngModel",A.inputValue),$("placeholder",A.data.inputPlaceholder||"Enter value"),p(),$("ngIf",!A.isInputValid())}}var Vc=class t{constructor(e,A){this.dialogRef=e;this.data=A;this.inputValue=A.inputValue||""}inputValue="";isToolInfoExpanded=!1;isInputValid(){let e=this.inputValue.trim();return!(!e||!/^[a-zA-Z_]/.test(e)||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e))}onCancel(){this.dialogRef.close()}onConfirm(){if(this.data.showInput){let e=this.inputValue.trim();if(!this.isInputValid())return;this.dialogRef.close(e)}else this.dialogRef.close("confirm")}onKeyDown(e){e.key==="Enter"&&this.data.showInput&&this.onConfirm()}getToolInfo(){if(this.data.toolType)return fc.getToolDetailedInfo(this.data.toolType)}toggleToolInfo(){this.isToolInfoExpanded=!this.isToolInfoExpanded}static \u0275fac=function(A){return new(A||t)(at(bo),at(Ca))};static \u0275cmp=kA({type:t,selectors:[["app-confirmation-dialog"]],decls:12,vars:6,consts:[["mat-dialog-title",""],[4,"ngIf"],[2,"width","100%","margin-top","16px"],["align","end"],["mat-button","",3,"click"],["mat-button","","color","primary","cdkFocusInitial","",3,"click","disabled"],[1,"tool-info-container"],[1,"tool-info-header",3,"click"],[1,"tool-info-icon"],[1,"tool-info-title"],["mat-icon-button","","type","button","aria-label","Toggle tool information",1,"tool-info-toggle"],[1,"tool-info-body"],[1,"tool-info-content"],[1,"tool-info-short"],[1,"tool-info-detailed"],[1,"tool-info-link-container"],["target","_blank","rel","noopener noreferrer",1,"tool-info-link",3,"href"],["matInput","","cdkFocusInitial","",3,"ngModelChange","keydown","ngModel","placeholder"],["style","font-size: 11px; color: #666;",4,"ngIf"],[2,"font-size","11px","color","#666"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1),w(),m(2,"mat-dialog-content"),pt(3,n_A,23,6,"ng-container",1),m(4,"p"),K(5),w(),V(6,a_A,5,4,"mat-form-field",2),w(),m(7,"mat-dialog-actions",3)(8,"button",4),tA("click",function(){return i.onCancel()}),K(9,"Cancel"),w(),m(10,"button",5),tA("click",function(){return i.onConfirm()}),K(11),w()()),A&2&&(p(),qA(i.data.title),p(2),$("ngIf",i.data.showToolInfo&&i.getToolInfo()),p(2),qA(i.data.message),p(),W(i.data.showInput?6:-1),p(4),$("disabled",i.data.showInput&&!i.isInputValid()),p(),Se(" ",i.data.confirmButtonText||"Confirm"," "))},dependencies:[ma,rl,Ns,fn,Wa,Fn,Da,rr,Ua,Yr,No,Gg,R1,gl,wa,Nn,uo,fo,Sa],styles:["mat-dialog-content[_ngcontent-%COMP%]{padding:20px 24px;display:flex;flex-direction:column;gap:16px;color:var(--mdc-dialog-supporting-text-color)}mat-dialog-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)}[_nghost-%COMP%] .mat-mdc-form-field{--mat-form-field-filled-container-color: var(--builder-form-field-background-color);--mat-form-field-filled-label-text-color: var(--mdc-dialog-supporting-text-color);--mat-form-field-filled-focus-label-text-color: var(--builder-text-link-color);--mat-form-field-filled-hover-label-text-color: var(--mdc-dialog-supporting-text-color)}[_nghost-%COMP%] .mat-mdc-input-element{color:var(--mdc-dialog-supporting-text-color)!important;caret-color:var(--mdc-dialog-supporting-text-color)!important}[_nghost-%COMP%] .mat-mdc-input-element::placeholder{color:var(--builder-text-muted-color)!important;opacity:0!important}[_nghost-%COMP%] .mat-mdc-input-element:focus::placeholder{opacity:.6!important}[_nghost-%COMP%] .mat-mdc-form-field-hint{color:var(--builder-text-muted-color)!important}.tool-info-container[_ngcontent-%COMP%]{background-color:#8ab4f814;border:1px solid rgba(138,180,248,.2);border-radius:8px;padding:16px;margin-bottom:16px}.tool-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.tool-info-header[_ngcontent-%COMP%]:hover .tool-info-title[_ngcontent-%COMP%]{color:#a7c8ff}.tool-info-icon[_ngcontent-%COMP%]{color:#8ab4f8;font-size:20px;width:20px;height:20px;flex-shrink:0}.tool-info-title[_ngcontent-%COMP%]{flex:1;font-weight:500;color:#8ab4f8;font-size:14px;transition:color .2s ease}.tool-info-toggle[_ngcontent-%COMP%]{color:#8ab4f8;margin:-8px}.tool-info-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease}.tool-info-body[_ngcontent-%COMP%]{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.tool-info-body.expanded[_ngcontent-%COMP%]{max-height:500px;opacity:1;margin-top:12px}.tool-info-content[_ngcontent-%COMP%]{flex:1}.tool-info-short[_ngcontent-%COMP%]{font-weight:500;color:var(--mdc-dialog-supporting-text-color)!important;margin-bottom:8px;line-height:1.4}.tool-info-detailed[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;font-size:14px;line-height:1.5}.tool-info-link-container[_ngcontent-%COMP%]{margin-top:12px}.tool-info-link[_ngcontent-%COMP%]{color:#8ab4f8;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.tool-info-link[_ngcontent-%COMP%]:hover{color:#a7c8ff}.tool-info-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}"]})};var r_A=["mat-menu-item",""],s_A=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],g_A=["mat-icon, [matMenuItemIcon]","*"];function l_A(t,e){t&1&&(Qt(),m(0,"svg",2),GA(1,"polygon",3),w())}var c_A=["*"];function C_A(t,e){if(t&1){let A=JA();li(0,"div",0),p2("click",function(){Z(A);let n=v();return X(n.closed.emit("click"))})("animationstart",function(n){Z(A);let o=v();return X(o._onAnimationStart(n.animationName))})("animationend",function(n){Z(A);let o=v();return X(o._onAnimationDone(n.animationName))})("animationcancel",function(n){Z(A);let o=v();return X(o._onAnimationDone(n.animationName))}),li(1,"div",1),Ke(2),Ei()()}if(t&2){let A=v();Po(A._classList),ne("mat-menu-panel-animations-disabled",A._animationsDisabled)("mat-menu-panel-exit-animation",A._panelAnimationState==="void")("mat-menu-panel-animating",A._isAnimating()),vo("id",A.panelId),ie("aria-label",A.ariaLabel||null)("aria-labelledby",A.ariaLabelledby||null)("aria-describedby",A.ariaDescribedby||null)}}var pG=new yA("MAT_MENU_PANEL"),C2=(()=>{class t{_elementRef=h(ge);_document=h(Xt);_focusMonitor=h(ar);_parentMenu=h(pG,{optional:!0});_changeDetectorRef=h(Dt);role="menuitem";disabled=!1;disableRipple=!1;_hovered=new XA;_focused=new XA;_highlighted=!1;_triggersSubmenu=!1;constructor(){h(Xn).load(dr),this._parentMenu?.addItem?.(this)}focus(A,i){this._focusMonitor&&A?this._focusMonitor.focusVia(this._getHostElement(),A,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(A){this.disabled&&(A.preventDefault(),A.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let A=this._elementRef.nativeElement.cloneNode(!0),i=A.querySelectorAll("mat-icon, .material-icons");for(let n=0;n({overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"})}),mG="_mat-menu-enter",Rv="_mat-menu-exit",AC=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(Dt);_injector=h(ft);_keyManager;_xPosition;_yPosition;_firstItemFocusRef;_exitFallbackTimeout;_animationsDisabled=ji();_allItems;_directDescendantItems=new ol;_classList={};_panelAnimationState="void";_animationDone=new XA;_isAnimating=jA(!1);parentMenu;direction;overlayPanelClass;backdropClass;ariaLabel;ariaLabelledby;ariaDescribedby;get xPosition(){return this._xPosition}set xPosition(A){this._xPosition=A,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(A){this._yPosition=A,this.setPositionClasses()}templateRef;items;lazyContent;overlapTrigger=!1;hasBackdrop;set panelClass(A){let i=this._previousPanelClass,n=cA({},this._classList);i&&i.length&&i.split(" ").forEach(o=>{n[o]=!1}),this._previousPanelClass=A,A&&A.length&&(A.split(" ").forEach(o=>{n[o]=!0}),this._elementRef.nativeElement.className=""),this._classList=n}_previousPanelClass;get classList(){return this.panelClass}set classList(A){this.panelClass=A}closed=new $A;close=this.closed;panelId=h(an).getId("mat-menu-panel-");constructor(){let A=h(d_A);this.overlayPanelClass=A.overlayPanelClass||"",this._xPosition=A.xPosition,this._yPosition=A.yPosition,this.backdropClass=A.backdropClass,this.overlapTrigger=A.overlapTrigger,this.hasBackdrop=A.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new s0(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(cn(this._directDescendantItems),Si(A=>fi(...A.map(i=>i._focused)))).subscribe(A=>this._keyManager.updateActiveItem(A)),this._directDescendantItems.changes.subscribe(A=>{let i=this._keyManager;if(this._panelAnimationState==="enter"&&i.activeItem?._hasFocus()){let n=A.toArray(),o=Math.max(0,Math.min(n.length-1,i.activeItemIndex||0));n[o]&&!n[o].disabled?i.setActiveItem(o):i.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy(),clearTimeout(this._exitFallbackTimeout)}_hovered(){return this._directDescendantItems.changes.pipe(cn(this._directDescendantItems),Si(i=>fi(...i.map(n=>n._hovered))))}addItem(A){}removeItem(A){}_handleKeydown(A){let i=A.keyCode,n=this._keyManager;switch(i){case 27:pa(A)||(A.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(i===38||i===40)&&n.setFocusOrigin("keyboard"),n.onKeydown(A);return}}focusFirstItem(A="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=Yn(()=>{let i=this._resolvePanel();if(!i||!i.contains(document.activeElement)){let n=this._keyManager;n.setFocusOrigin(A).setFirstItemActive(),!n.activeItem&&i&&i.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(A){}setPositionClasses(A=this.xPosition,i=this.yPosition){this._classList=Ge(cA({},this._classList),{"mat-menu-before":A==="before","mat-menu-after":A==="after","mat-menu-above":i==="above","mat-menu-below":i==="below"}),this._changeDetectorRef.markForCheck()}_onAnimationDone(A){let i=A===Rv;(i||A===mG)&&(i&&(clearTimeout(this._exitFallbackTimeout),this._exitFallbackTimeout=void 0),this._animationDone.next(i?"void":"enter"),this._isAnimating.set(!1))}_onAnimationStart(A){(A===mG||A===Rv)&&this._isAnimating.set(!0)}_setIsOpen(A){if(this._panelAnimationState=A?"enter":"void",A){if(this._keyManager.activeItemIndex===0){let i=this._resolvePanel();i&&(i.scrollTop=0)}}else this._animationsDisabled||(this._exitFallbackTimeout=setTimeout(()=>this._onAnimationDone(Rv),200));this._animationsDisabled&&setTimeout(()=>{this._onAnimationDone(A?mG:Rv)}),this._changeDetectorRef.markForCheck()}_updateDirectDescendants(){this._allItems.changes.pipe(cn(this._allItems)).subscribe(A=>{this._directDescendantItems.reset(A.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}_resolvePanel(){let A=null;return this._directDescendantItems.length&&(A=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),A}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-menu"]],contentQueries:function(i,n,o){if(i&1&&fa(o,I_A,5)(o,C2,5)(o,C2,4),i&2){let a;ce(a=Ce())&&(n.lazyContent=a.first),ce(a=Ce())&&(n._allItems=a),ce(a=Ce())&&(n.items=a)}},viewQuery:function(i,n){if(i&1&&ai(Tn,5),i&2){let o;ce(o=Ce())&&(n.templateRef=o.first)}},hostVars:3,hostBindings:function(i,n){i&2&&ie("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",he],hasBackdrop:[2,"hasBackdrop","hasBackdrop",A=>A==null?null:he(A)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],features:[dt([{provide:pG,useExisting:t}])],ngContentSelectors:c_A,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel",3,"click","animationstart","animationend","animationcancel","id"],[1,"mat-mdc-menu-content"]],template:function(i,n){i&1&&(Yt(),gp(0,C_A,3,12,"ng-template"))},styles:[`mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none} -`],encapsulation:2,changeDetection:0})}return t})(),B_A=new yA("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let t=h(ft);return()=>EC(t)}});var Fh=new WeakMap,E_A=(()=>{class t{_canHaveBackdrop;_element=h(ge);_viewContainerRef=h(Oo);_menuItemInstance=h(C2,{optional:!0,self:!0});_dir=h(Ro,{optional:!0});_focusMonitor=h(ar);_ngZone=h(Oe);_injector=h(ft);_scrollStrategy=h(B_A);_changeDetectorRef=h(Dt);_animationsDisabled=ji();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=Jn.EMPTY;_menuCloseSubscription=Jn.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(A){A!==this._menuInternal&&(this._menuInternal=A,this._menuCloseSubscription.unsubscribe(),A&&(this._parentMaterialMenu,this._menuCloseSubscription=A.close.subscribe(i=>{this._destroyMenu(i),(i==="click"||i==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(A){this._canHaveBackdrop=A;let i=h(pG,{optional:!0});this._parentMaterialMenu=i instanceof AC?i:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&Fh.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(A){if(this._triggerIsAriaDisabled())return;let i=this._menu;if(this._menuOpen||!i)return;this._pendingRemoval?.unsubscribe();let n=Fh.get(i);Fh.set(i,this),n&&n!==this&&n._closeMenu();let o=this._createOverlay(i),a=o.getConfig(),r=a.positionStrategy;this._setPosition(i,r),this._canHaveBackdrop?a.hasBackdrop=i.hasBackdrop==null?!this._triggersSubmenu():i.hasBackdrop:a.hasBackdrop=!1,o.hasAttached()||(o.attach(this._getPortal(i)),i.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),i.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,i.direction=this.dir,A&&i.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),i instanceof AC&&(i._setIsOpen(!0),i._directDescendantItems.changes.pipe(Bt(i.close)).subscribe(()=>{r.withLockedPosition(!1).reapplyLastPosition(),r.withLockedPosition(!0)}))}focus(A,i){this._focusMonitor&&A?this._focusMonitor.focusVia(this._element,A,i):this._element.nativeElement.focus(i)}_destroyMenu(A){let i=this._overlayRef,n=this._menu;!i||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),n instanceof AC&&this._ownsMenu(n)?(this._pendingRemoval=n._animationDone.pipe(oo(1)).subscribe(()=>{i.detach(),Fh.has(n)||n.lazyContent?.detach()}),n._setIsOpen(!1)):(i.detach(),n?.lazyContent?.detach()),n&&this._ownsMenu(n)&&Fh.delete(n),this.restoreFocus&&(A==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(A){A!==this._menuOpen&&(this._menuOpen=A,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(A),this._changeDetectorRef.markForCheck())}_createOverlay(A){if(!this._overlayRef){let i=this._getOverlayConfig(A);this._subscribeToPositions(A,i.positionStrategy),this._overlayRef=lc(this._injector,i),this._overlayRef.keydownEvents().subscribe(n=>{this._menu instanceof AC&&this._menu._handleKeydown(n)})}return this._overlayRef}_getOverlayConfig(A){return new sc({positionStrategy:q1(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:A.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:A.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(A,i){A.setPositionClasses&&i.positionChanges.subscribe(n=>{this._ngZone.run(()=>{let o=n.connectionPair.overlayX==="start"?"after":"before",a=n.connectionPair.overlayY==="top"?"below":"above";A.setPositionClasses(o,a)})})}_setPosition(A,i){let[n,o]=A.xPosition==="before"?["end","start"]:["start","end"],[a,r]=A.yPosition==="above"?["bottom","top"]:["top","bottom"],[s,g]=[a,r],[l,C]=[n,o],I=0;if(this._triggersSubmenu()){if(C=n=A.xPosition==="before"?"start":"end",o=l=n==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let d=this._parentMaterialMenu.items.first;this._parentInnerPadding=d?d._getHostElement().offsetTop:0}I=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else A.overlapTrigger||(s=a==="top"?"bottom":"top",g=r==="top"?"bottom":"top");i.withPositions([{originX:n,originY:s,overlayX:l,overlayY:a,offsetY:I},{originX:o,originY:s,overlayX:C,overlayY:a,offsetY:I},{originX:n,originY:g,overlayX:l,overlayY:r,offsetY:-I},{originX:o,originY:g,overlayX:C,overlayY:r,offsetY:-I}])}_menuClosingActions(){let A=this._getOutsideClickStream(this._overlayRef),i=this._overlayRef.detachments(),n=this._parentMaterialMenu?this._parentMaterialMenu.closed:se(),o=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(Ze(a=>this._menuOpen&&a!==this._menuItemInstance)):se();return fi(A,n,o,i)}_getPortal(A){return(!this._portal||this._portal.templateRef!==A.templateRef)&&(this._portal=new Is(A.templateRef,this._viewContainerRef)),this._portal}_ownsMenu(A){return Fh.get(A)===this}_triggerIsAriaDisabled(){return he(this._element.nativeElement.getAttribute("aria-disabled"))}static \u0275fac=function(i){ap()};static \u0275dir=OA({type:t})}return t})(),_h=(()=>{class t extends E_A{_cleanupTouchstart;_hoverSubscription=Jn.EMPTY;get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(A){this.menu=A}get menu(){return this._menu}set menu(A){this._menu=A}menuData;restoreFocus=!0;menuOpened=new $A;onMenuOpen=this.menuOpened;menuClosed=new $A;onMenuClose=this.menuClosed;constructor(){super(!0);let A=h(_i);this._cleanupTouchstart=A.listen(this._element.nativeElement,"touchstart",i=>{M1(i)||(this._openedBy="touch")},{passive:!0})}triggersSubmenu(){return super._triggersSubmenu()}toggleMenu(){return this.menuOpen?this.closeMenu():this.openMenu()}openMenu(){this._openMenu(!0)}closeMenu(){this._closeMenu()}updatePosition(){this._overlayRef?.updatePosition()}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTouchstart(),this._hoverSubscription.unsubscribe()}_getOverlayOrigin(){return this._element}_getOutsideClickStream(A){return A.backdropClick()}_handleMousedown(A){b1(A)||(this._openedBy=A.button===0?"mouse":void 0,this.triggersSubmenu()&&A.preventDefault())}_handleKeydown(A){let i=A.keyCode;(i===13||i===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(i===39&&this.dir==="ltr"||i===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(A){this.triggersSubmenu()?(A.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&this._parentMaterialMenu&&(this._hoverSubscription=this._parentMaterialMenu._hovered().subscribe(A=>{A===this._menuItemInstance&&!A.disabled&&this._parentMaterialMenu?._panelAnimationState!=="void"&&(this._openedBy="mouse",this._openMenu(!1))}))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(i,n){i&1&&tA("click",function(a){return n._handleClick(a)})("mousedown",function(a){return n._handleMousedown(a)})("keydown",function(a){return n._handleKeydown(a)}),i&2&&ie("aria-haspopup",n.menu?"menu":null)("aria-expanded",n.menuOpen)("aria-controls",n.menuOpen?n.menu==null?null:n.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],features:[It]})}return t})();var daA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[x2,Cl,Gi,C0]})}return t})();var QaA=["*",[["mat-chip-avatar"],["","matChipAvatar",""]],[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],haA=["*","mat-chip-avatar, [matChipAvatar]","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function h_A(t,e){t&1&&(m(0,"span",3),Ke(1,1),w())}function u_A(t,e){t&1&&(m(0,"span",6),Ke(1,2),w())}function f_A(t,e){t&1&&(m(0,"span",3),Ke(1,1),m(2,"span",7),Qt(),m(3,"svg",8),GA(4,"path",9),w()()())}function m_A(t,e){t&1&&(m(0,"span",6),Ke(1,2),w())}var p_A=`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:focus::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:hover::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus-visible .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}img.mdc-evolution-chip__icon{min-height:0} -`;var uaA=["*"],w_A=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0} -`,vG=new yA("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),wG=new yA("MatChipAvatar"),BaA=new yA("MatChipTrailingIcon"),EaA=new yA("MatChipEdit"),DG=new yA("MatChipRemove"),bG=new yA("MatChip"),faA=(()=>{class t{_elementRef=h(ge);_parentChip=h(bG);_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(A){this._disabled=A}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}constructor(){h(Xn).load(dr),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matChipContent",""]],hostAttrs:[1,"mat-mdc-chip-action","mdc-evolution-chip__action","mdc-evolution-chip__action--presentational"],hostVars:8,hostBindings:function(i,n){i&2&&(ie("disabled",n._getDisabledAttribute())("aria-disabled",n.disabled),ne("mdc-evolution-chip__action--primary",n._isPrimary)("mdc-evolution-chip__action--secondary",!n._isPrimary)("mdc-evolution-chip__action--trailing",!n._isPrimary&&!n._isLeading))},inputs:{disabled:[2,"disabled","disabled",he],tabIndex:[2,"tabIndex","tabIndex",A=>A==null?-1:en(A)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return t})(),MG=(()=>{class t extends faA{_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled?null:this.tabIndex.toString()}_handleClick(A){!this.disabled&&this._isPrimary&&(A.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(A){(A.keyCode===13||A.keyCode===32)&&!this.disabled&&this._isPrimary&&!this._parentChip._isEditing&&(A.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matChipAction",""]],hostVars:3,hostBindings:function(i,n){i&1&&tA("click",function(a){return n._handleClick(a)})("keydown",function(a){return n._handleKeydown(a)}),i&2&&(ie("tabindex",n._getTabindex()),ne("mdc-evolution-chip__action--presentational",!1))},features:[It]})}return t})(),maA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["mat-chip-avatar"],["","matChipAvatar",""]],hostAttrs:["role","img",1,"mat-mdc-chip-avatar","mdc-evolution-chip__icon","mdc-evolution-chip__icon--primary"],features:[dt([{provide:wG,useExisting:t}])]})}return t})();var paA=(()=>{class t extends MG{_isPrimary=!1;_handleClick(A){this.disabled||(A.stopPropagation(),A.preventDefault(),this._parentChip.remove())}_handleKeydown(A){(A.keyCode===13||A.keyCode===32)&&!this.disabled&&(A.stopPropagation(),A.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(i,n){i&2&&ie("aria-hidden",null)},features:[dt([{provide:DG,useExisting:t}]),It]})}return t})(),Bm=(()=>{class t{_changeDetectorRef=h(Dt);_elementRef=h(ge);_tagName=h(SU);_ngZone=h(Oe);_focusMonitor=h(ar);_globalRippleOptions=h(S2,{optional:!0});_document=h(Xt);_onFocus=new XA;_onBlur=new XA;_isBasicChip=!1;role=null;_hasFocusInternal=!1;_pendingFocus=!1;_actionChanges;_animationsDisabled=ji();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=h(an).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(A){this._value=A}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(A){this._disabled=A}_disabled=!1;removed=new $A;destroyed=new $A;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=h(Yp);_injector=h(ft);constructor(){let A=h(Xn);A.load(dr),A.load(M2),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=fi(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),this.destroyed.complete()}remove(){this.removable&&(this._hadFocusOnRemove=this._hasFocus(),this.removed.emit({chip:this}))}_isRippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||this._isBasicChip||!this._hasInteractiveActions()||!!this._globalRippleOptions?.disabled}_hasTrailingIcon(){return!!(this.trailingIcon||this.removeIcon)}_handleKeydown(A){(A.keyCode===8&&!A.repeat||A.keyCode===46)&&(A.preventDefault(),this.remove())}focus(){this.disabled||(this.primaryAction?this.primaryAction.focus():this._pendingFocus=!0)}_getSourceAction(A){return this._getActions().find(i=>{let n=i._elementRef.nativeElement;return n===A||n.contains(A)})}_getActions(){let A=[];return this.editIcon&&A.push(this.editIcon),this.primaryAction&&A.push(this.primaryAction),this.removeIcon&&A.push(this.removeIcon),A}_handlePrimaryActionInteraction(){}_hasInteractiveActions(){return this._getActions().length>0}_edit(A){}_monitorFocus(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(A=>{let i=A!==null;i!==this._hasFocusInternal&&(this._hasFocusInternal=i,i?this._onFocus.next({chip:this}):(this._changeDetectorRef.markForCheck(),setTimeout(()=>this._ngZone.run(()=>this._onBlur.next({chip:this})))))})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(i,n,o){if(i&1&&fa(o,wG,5)(o,EaA,5)(o,BaA,5)(o,DG,5)(o,wG,5)(o,BaA,5)(o,EaA,5)(o,DG,5),i&2){let a;ce(a=Ce())&&(n.leadingIcon=a.first),ce(a=Ce())&&(n.editIcon=a.first),ce(a=Ce())&&(n.trailingIcon=a.first),ce(a=Ce())&&(n.removeIcon=a.first),ce(a=Ce())&&(n._allLeadingIcons=a),ce(a=Ce())&&(n._allTrailingIcons=a),ce(a=Ce())&&(n._allEditIcons=a),ce(a=Ce())&&(n._allRemoveIcons=a)}},viewQuery:function(i,n){if(i&1&&ai(MG,5),i&2){let o;ce(o=Ce())&&(n.primaryAction=o.first)}},hostAttrs:[1,"mat-mdc-chip"],hostVars:31,hostBindings:function(i,n){i&1&&tA("keydown",function(a){return n._handleKeydown(a)}),i&2&&(vo("id",n.id),ie("role",n.role)("aria-label",n.ariaLabel),Po("mat-"+(n.color||"primary")),ne("mdc-evolution-chip",!n._isBasicChip)("mdc-evolution-chip--disabled",n.disabled)("mdc-evolution-chip--with-trailing-action",n._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",n.leadingIcon)("mdc-evolution-chip--with-primary-icon",n.leadingIcon)("mdc-evolution-chip--with-avatar",n.leadingIcon)("mat-mdc-chip-with-avatar",n.leadingIcon)("mat-mdc-chip-highlighted",n.highlighted)("mat-mdc-chip-disabled",n.disabled)("mat-mdc-basic-chip",n._isBasicChip)("mat-mdc-standard-chip",!n._isBasicChip)("mat-mdc-chip-with-trailing-icon",n._hasTrailingIcon())("_mat-animation-noopable",n._animationsDisabled))},inputs:{role:"role",id:"id",ariaLabel:[0,"aria-label","ariaLabel"],ariaDescription:[0,"aria-description","ariaDescription"],value:"value",color:"color",removable:[2,"removable","removable",he],highlighted:[2,"highlighted","highlighted",he],disableRipple:[2,"disableRipple","disableRipple",he],disabled:[2,"disabled","disabled",he]},outputs:{removed:"removed",destroyed:"destroyed"},exportAs:["matChip"],features:[dt([{provide:bG,useExisting:t}])],ngContentSelectors:haA,decls:8,vars:2,consts:[[1,"mat-mdc-chip-focus-overlay"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary"],["matChipContent",""],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],[1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"]],template:function(i,n){i&1&&(Yt(QaA),GA(0,"span",0),m(1,"span",1)(2,"span",2),V(3,h_A,2,0,"span",3),m(4,"span",4),Ke(5),GA(6,"span",5),w()()(),V(7,u_A,2,0,"span",6)),i&2&&(p(3),W(n.leadingIcon?3:-1),p(4),W(n._hasTrailingIcon()?7:-1))},dependencies:[faA],styles:[`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:focus::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:focus::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-edit:hover::after,.mat-mdc-chip.cdk-focused .mat-mdc-chip-remove:hover::after{opacity:calc(var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity)) + var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity)))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus-visible .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}img.mdc-evolution-chip__icon{min-height:0} -`],encapsulation:2,changeDetection:0})}return t})();var kG=(()=>{class t extends Bm{_defaultOptions=h(vG,{optional:!0});chipListSelectable=!0;_chipListMultiple=!1;_chipListHideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get selectable(){return this._selectable&&this.chipListSelectable}set selectable(A){this._selectable=A,this._changeDetectorRef.markForCheck()}_selectable=!0;get selected(){return this._selected}set selected(A){this._setSelectedState(A,!1,!0)}_selected=!1;get ariaSelected(){return this.selectable?this.selected.toString():null}basicChipAttrName="mat-basic-chip-option";selectionChange=new $A;ngOnInit(){super.ngOnInit(),this.role="presentation"}select(){this._setSelectedState(!0,!1,!0)}deselect(){this._setSelectedState(!1,!1,!0)}selectViaInteraction(){this._setSelectedState(!0,!0,!0)}toggleSelected(A=!1){return this._setSelectedState(!this.selected,A,!0),this.selected}_handlePrimaryActionInteraction(){this.disabled||(this.focus(),this.selectable&&this.toggleSelected(!0))}_hasLeadingGraphic(){return this.leadingIcon?!0:!this._chipListHideSingleSelectionIndicator||this._chipListMultiple}_setSelectedState(A,i,n){A!==this.selected&&(this._selected=A,n&&this.selectionChange.emit({source:this,isUserInput:i,selected:this.selected}),this._changeDetectorRef.markForCheck())}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-basic-chip-option"],["","mat-basic-chip-option",""],["mat-chip-option"],["","mat-chip-option",""]],hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-option"],hostVars:37,hostBindings:function(i,n){i&2&&(vo("id",n.id),ie("tabindex",null)("aria-label",null)("aria-description",null)("role",n.role),ne("mdc-evolution-chip",!n._isBasicChip)("mdc-evolution-chip--filter",!n._isBasicChip)("mdc-evolution-chip--selectable",!n._isBasicChip)("mat-mdc-chip-selected",n.selected)("mat-mdc-chip-multiple",n._chipListMultiple)("mat-mdc-chip-disabled",n.disabled)("mat-mdc-chip-with-avatar",n.leadingIcon)("mdc-evolution-chip--disabled",n.disabled)("mdc-evolution-chip--selected",n.selected)("mdc-evolution-chip--selecting",!n._animationsDisabled)("mdc-evolution-chip--with-trailing-action",n._hasTrailingIcon())("mdc-evolution-chip--with-primary-icon",n.leadingIcon)("mdc-evolution-chip--with-primary-graphic",n._hasLeadingGraphic())("mdc-evolution-chip--with-avatar",n.leadingIcon)("mat-mdc-chip-highlighted",n.highlighted)("mat-mdc-chip-with-trailing-icon",n._hasTrailingIcon()))},inputs:{selectable:[2,"selectable","selectable",he],selected:[2,"selected","selected",he]},outputs:{selectionChange:"selectionChange"},features:[dt([{provide:Bm,useExisting:t},{provide:bG,useExisting:t}]),It],ngContentSelectors:haA,decls:8,vars:6,consts:[[1,"mat-mdc-chip-focus-overlay"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary"],["matChipAction","","role","option",3,"_allowFocusWhenDisabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],[1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],[1,"mdc-evolution-chip__checkmark"],["viewBox","-2 -3 30 30","focusable","false","aria-hidden","true",1,"mdc-evolution-chip__checkmark-svg"],["fill","none","stroke","currentColor","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-evolution-chip__checkmark-path"]],template:function(i,n){i&1&&(Yt(QaA),GA(0,"span",0),m(1,"span",1)(2,"button",2),V(3,f_A,5,0,"span",3),m(4,"span",4),Ke(5),GA(6,"span",5),w()()(),V(7,m_A,2,0,"span",6)),i&2&&(p(2),$("_allowFocusWhenDisabled",!0),ie("aria-description",n.ariaDescription)("aria-label",n.ariaLabel)("aria-selected",n.ariaSelected),p(),W(n._hasLeadingGraphic()?3:-1),p(4),W(n._hasTrailingIcon()?7:-1))},dependencies:[MG],styles:[p_A],encapsulation:2,changeDetection:0})}return t})();var SG=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(Dt);_dir=h(Ro,{optional:!0});_lastDestroyedFocusedChipIndex=null;_keyManager;_destroyed=new XA;_defaultRole="presentation";get chipFocusChanges(){return this._getChipStream(A=>A._onFocus)}get chipDestroyedChanges(){return this._getChipStream(A=>A.destroyed)}get chipRemovedChanges(){return this._getChipStream(A=>A.removed)}get disabled(){return this._disabled}set disabled(A){this._disabled=A,this._syncChipsState()}_disabled=!1;get empty(){return!this._chips||this._chips.length===0}get role(){return this._explicitRole?this._explicitRole:this.empty?null:this._defaultRole}tabIndex=0;set role(A){this._explicitRole=A}_explicitRole=null;get focused(){return this._hasFocusedChip()}_chips;_chipActions=new ol;constructor(){}ngAfterViewInit(){this._setUpFocusManagement(),this._trackChipSetChanges(),this._trackDestroyedFocusedChip()}ngOnDestroy(){this._keyManager?.destroy(),this._chipActions.destroy(),this._destroyed.next(),this._destroyed.complete()}_hasFocusedChip(){return this._chips&&this._chips.some(A=>A._hasFocus())}_syncChipsState(){this._chips?.forEach(A=>{A._chipListDisabled=this._disabled,A._changeDetectorRef.markForCheck()})}focus(){}_handleKeydown(A){this._originatesFromChip(A)&&this._keyManager.onKeydown(A)}_isValidIndex(A){return A>=0&&Athis._elementRef.nativeElement.tabIndex=A))}_getChipStream(A){return this._chips.changes.pipe(cn(null),Si(()=>fi(...this._chips.map(A))))}_originatesFromChip(A){let i=A.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-mdc-chip"))return!0;i=i.parentElement}return!1}_setUpFocusManagement(){this._chips.changes.pipe(cn(this._chips)).subscribe(A=>{let i=[];A.forEach(n=>n._getActions().forEach(o=>i.push(o))),this._chipActions.reset(i),this._chipActions.notifyOnChanges()}),this._keyManager=new s0(this._chipActions).withVerticalOrientation().withHorizontalOrientation(this._dir?this._dir.value:"ltr").withHomeAndEnd().skipPredicate(A=>this._skipPredicate(A)),this.chipFocusChanges.pipe(Bt(this._destroyed)).subscribe(({chip:A})=>{let i=A._getSourceAction(document.activeElement);i&&this._keyManager.updateActiveItem(i)}),this._dir?.change.pipe(Bt(this._destroyed)).subscribe(A=>this._keyManager.withHorizontalOrientation(A))}_skipPredicate(A){return A.disabled}_trackChipSetChanges(){this._chips.changes.pipe(cn(null),Bt(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>this._syncChipsState()),this._redirectDestroyedChipFocus()})}_trackDestroyedFocusedChip(){this.chipDestroyedChanges.pipe(Bt(this._destroyed)).subscribe(A=>{let n=this._chips.toArray().indexOf(A.chip),o=A.chip._hasFocus(),a=A.chip._hadFocusOnRemove&&this._keyManager.activeItem&&A.chip._getActions().includes(this._keyManager.activeItem),r=o||a;this._isValidIndex(n)&&r&&(this._lastDestroyedFocusedChipIndex=n)})}_redirectDestroyedChipFocus(){if(this._lastDestroyedFocusedChipIndex!=null){if(this._chips.length){let A=Math.min(this._lastDestroyedFocusedChipIndex,this._chips.length-1),i=this._chips.toArray()[A];i.disabled?this._chips.length===1?this.focus():this._keyManager.setPreviousItemActive():i.focus()}else this.focus();this._lastDestroyedFocusedChipIndex=null}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-chip-set"]],contentQueries:function(i,n,o){if(i&1&&fa(o,Bm,5),i&2){let a;ce(a=Ce())&&(n._chips=a)}},hostAttrs:[1,"mat-mdc-chip-set","mdc-evolution-chip-set"],hostVars:1,hostBindings:function(i,n){i&1&&tA("keydown",function(a){return n._handleKeydown(a)}),i&2&&ie("role",n.role)},inputs:{disabled:[2,"disabled","disabled",he],role:"role",tabIndex:[2,"tabIndex","tabIndex",A=>A==null?0:en(A)]},ngContentSelectors:uaA,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(i,n){i&1&&(Yt(),li(0,"div",0),Ke(1),Ei())},styles:[`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0} -`],encapsulation:2,changeDetection:0})}return t})(),yG=class{source;value;constructor(e,A){this.source=e,this.value=A}},D_A={provide:Lg,useExisting:wr(()=>xG),multi:!0},xG=(()=>{class t extends SG{_onTouched=()=>{};_onChange=()=>{};_defaultRole="listbox";_defaultOptions=h(vG,{optional:!0});get multiple(){return this._multiple}set multiple(A){this._multiple=A,this._syncListboxProperties()}_multiple=!1;get selected(){let A=this._chips.toArray().filter(i=>i.selected);return this.multiple?A:A[0]}ariaOrientation="horizontal";get selectable(){return this._selectable}set selectable(A){this._selectable=A,this._syncListboxProperties()}_selectable=!0;compareWith=(A,i)=>A===i;required=!1;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(A){this._hideSingleSelectionIndicator=A,this._syncListboxProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get chipSelectionChanges(){return this._getChipStream(A=>A.selectionChange)}get chipBlurChanges(){return this._getChipStream(A=>A._onBlur)}get value(){return this._value}set value(A){this._chips&&this._chips.length&&this._setSelectionByValue(A,!1),this._value=A}_value;change=new $A;_chips=void 0;ngAfterContentInit(){this._chips.changes.pipe(cn(null),Bt(this._destroyed)).subscribe(()=>{this.value!==void 0&&Promise.resolve().then(()=>{this._setSelectionByValue(this.value,!1)}),this._syncListboxProperties()}),this.chipBlurChanges.pipe(Bt(this._destroyed)).subscribe(()=>this._blur()),this.chipSelectionChanges.pipe(Bt(this._destroyed)).subscribe(A=>{this.multiple||this._chips.forEach(i=>{i!==A.source&&i._setSelectedState(!1,!1,!1)}),A.isUserInput&&this._propagateChanges()})}focus(){if(this.disabled)return;let A=this._getFirstSelectedChip();A&&!A.disabled?A.focus():this._chips.length>0?this._keyManager.setFirstItemActive():this._elementRef.nativeElement.focus()}writeValue(A){A!=null?this.value=A:this.value=void 0}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}setDisabledState(A){this.disabled=A}_setSelectionByValue(A,i=!0){this._clearSelection(),Array.isArray(A)?A.forEach(n=>this._selectValue(n,i)):this._selectValue(A,i)}_blur(){this.disabled||setTimeout(()=>{this.focused||this._markAsTouched()})}_keydown(A){A.keyCode===9&&super._allowFocusEscape()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck()}_propagateChanges(){let A=null;Array.isArray(this.selected)?A=this.selected.map(i=>i.value):A=this.selected?this.selected.value:void 0,this._value=A,this.change.emit(new yG(this,A)),this._onChange(A),this._changeDetectorRef.markForCheck()}_clearSelection(A){this._chips.forEach(i=>{i!==A&&i.deselect()})}_selectValue(A,i){let n=this._chips.find(o=>o.value!=null&&this.compareWith(o.value,A));return n&&(i?n.selectViaInteraction():n.select()),n}_syncListboxProperties(){this._chips&&Promise.resolve().then(()=>{this._chips.forEach(A=>{A._chipListMultiple=this.multiple,A.chipListSelectable=this._selectable,A._chipListHideSingleSelectionIndicator=this.hideSingleSelectionIndicator,A._changeDetectorRef.markForCheck()})})}_getFirstSelectedChip(){return Array.isArray(this.selected)?this.selected.length?this.selected[0]:void 0:this.selected}_skipPredicate(A){return!1}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-chip-listbox"]],contentQueries:function(i,n,o){if(i&1&&fa(o,kG,5),i&2){let a;ce(a=Ce())&&(n._chips=a)}},hostAttrs:[1,"mdc-evolution-chip-set","mat-mdc-chip-listbox"],hostVars:10,hostBindings:function(i,n){i&1&&tA("focus",function(){return n.focus()})("blur",function(){return n._blur()})("keydown",function(a){return n._keydown(a)}),i&2&&(vo("tabIndex",n.disabled||n.empty?-1:n.tabIndex),ie("role",n.role)("aria-required",n.role?n.required:null)("aria-disabled",n.disabled.toString())("aria-multiselectable",n.multiple)("aria-orientation",n.ariaOrientation),ne("mat-mdc-chip-list-disabled",n.disabled)("mat-mdc-chip-list-required",n.required))},inputs:{multiple:[2,"multiple","multiple",he],ariaOrientation:[0,"aria-orientation","ariaOrientation"],selectable:[2,"selectable","selectable",he],compareWith:"compareWith",required:[2,"required","required",he],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",he],value:"value"},outputs:{change:"change"},features:[dt([D_A]),It],ngContentSelectors:uaA,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(i,n){i&1&&(Yt(),li(0,"div",0),Ke(1),Ei())},styles:[w_A],encapsulation:2,changeDetection:0})}return t})();var Nv=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({providers:[UB,{provide:vG,useValue:{separatorKeyCodes:[13]}}],imports:[x2,Gi]})}return t})();var Fv=new yA("ThemeService");var Lh=class t{themeService=h(Fv);get currentTheme(){return this.themeService.currentTheme()}get themeIcon(){return this.currentTheme==="light"?"dark_mode":"light_mode"}get themeTooltip(){return this.currentTheme==="light"?"Switch to dark mode":"Switch to light mode"}toggleTheme(){this.themeService.toggleTheme()}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-theme-toggle"]],decls:3,vars:2,consts:[["mat-icon-button","","aria-label","Toggle theme",1,"theme-toggle-button",3,"click","matTooltip"]],template:function(A,i){A&1&&(m(0,"button",0),tA("click",function(){return i.toggleTheme()}),m(1,"mat-icon"),K(2),w()()),A&2&&($("matTooltip",i.themeTooltip),p(2),qA(i.themeIcon))},dependencies:[Il,Fn,Ns,Wa,U2,xa],styles:[".theme-toggle-button[_ngcontent-%COMP%]{color:var(--side-panel-mat-icon-color)}.theme-toggle-button[_ngcontent-%COMP%]:hover{opacity:.8}.builder-mode-action-button[_nghost-%COMP%] .theme-toggle-button[_ngcontent-%COMP%]{background-color:var(--builder-secondary-background-color);color:var(--builder-text-tertiary-color);border-radius:50%;transition:all .2s ease;margin-right:0!important}.builder-mode-action-button[_nghost-%COMP%] .theme-toggle-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-hover-background-color);color:var(--builder-text-primary-color);opacity:1}.builder-mode-action-button[_nghost-%COMP%] .theme-toggle-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px}"]})};var DaA=(t,e)=>e.name;function y_A(t,e){if(t&1&&K(0),t&2){let A=v().$implicit;Se(" AgentTool: ",A.name," ")}}function v_A(t,e){if(t&1&&K(0),t&2){let A=v().$implicit;Se(" ",A.name," ")}}function b_A(t,e){t&1&&(m(0,"mat-icon",28),K(1,"chevron_right"),w())}function M_A(t,e){if(t&1){let A=JA();m(0,"div",27),tA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.selectAgentFromBreadcrumb(n))}),V(1,y_A,1,1)(2,v_A,1,1),w(),V(3,b_A,2,0,"mat-icon",28)}if(t&2){let A=e.$implicit,i=e.$index,n=v(2);ne("current-agent",(n.currentSelectedAgent==null?null:n.currentSelectedAgent.name)===A.name),p(),W(i===0&&n.isInAgentToolContext()?1:2),p(2),W(i0?0:-1)}}function J_A(t,e){if(t&1){let A=JA();m(0,"div",15)(1,"div",16)(2,"div"),K(3," Tools "),w(),m(4,"div")(5,"button",40,2)(7,"mat-icon"),K(8,"add"),w()(),m(9,"mat-menu",null,3)(11,"button",23),tA("click",function(){Z(A);let n=v();return X(n.addTool("Function tool"))}),m(12,"span"),K(13,"Function tool"),w()(),m(14,"button",23),tA("click",function(){Z(A);let n=v();return X(n.addTool("Built-in tool"))}),m(15,"span"),K(16,"Built-in tool"),w()(),m(17,"button",23),tA("click",function(){Z(A);let n=v();return X(n.createAgentTool())}),m(18,"span"),K(19,"Agent tool"),w()()()()(),V(20,U_A,1,1),ri(21,"async"),w()}if(t&2){let A,i=An(10),n=v();p(5),$("matMenuTriggerFor",i),p(6),$("matTooltip",n.toolMenuTooltips("Function tool")),p(3),$("matTooltip",n.toolMenuTooltips("Built-in tool")),p(3),$("matTooltip",n.toolMenuTooltips("Agent tool")),p(3),W((A=Ci(21,5,n.toolsMap$))?20:-1,A)}}function Y_A(t,e){if(t&1){let A=JA();m(0,"mat-chip",43),tA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.selectAgent(n))}),m(1,"mat-icon",44),K(2),w(),m(3,"span",45),K(4),w(),m(5,"button",48),tA("click",function(n){let o=Z(A).$implicit;return v(2).deleteSubAgent(o.name),X(n.stopPropagation())}),m(6,"mat-icon"),K(7,"cancel"),w()()()}if(t&2){let A=e.$implicit,i=v(2);p(2),qA(i.getAgentIcon(A.agent_class)),p(2),qA(A.name)}}function T_A(t,e){if(t&1&&(m(0,"div",20)(1,"mat-chip-set",47),Ut(2,Y_A,8,2,"mat-chip",42,DaA),w()()),t&2){let A=v();p(2),Jt(A.agentConfig.sub_agents)}}function H_A(t,e){if(t&1){let A=JA();GA(0,"mat-divider"),m(1,"div",22),K(2,"Model (LLM) Interaction"),w(),m(3,"button",23),tA("click",function(){Z(A);let n=v();return X(n.addCallback("before_model"))}),m(4,"span"),K(5,"Before Model"),w()(),m(6,"button",23),tA("click",function(){Z(A);let n=v();return X(n.addCallback("after_model"))}),m(7,"span"),K(8,"After Model"),w()(),GA(9,"mat-divider"),m(10,"div",22),K(11,"Tool Execution"),w(),m(12,"button",23),tA("click",function(){Z(A);let n=v();return X(n.addCallback("before_tool"))}),m(13,"span"),K(14,"Before Tool"),w()(),m(15,"button",23),tA("click",function(){Z(A);let n=v();return X(n.addCallback("after_tool"))}),m(16,"span"),K(17,"After Tool"),w()()}if(t&2){let A=v();p(3),$("matTooltip",A.callbackMenuTooltips("before_model")),p(3),$("matTooltip",A.callbackMenuTooltips("after_model")),p(6),$("matTooltip",A.callbackMenuTooltips("before_tool")),p(3),$("matTooltip",A.callbackMenuTooltips("after_tool"))}}function z_A(t,e){if(t&1){let A=JA();m(0,"div",52),tA("click",function(){let n=Z(A).$implicit,o=v(3);return X(o.editCallback(n))}),m(1,"mat-chip",53)(2,"span",54)(3,"span",55),K(4),w(),m(5,"span",56),K(6),w()()(),m(7,"button",57),tA("click",function(n){let o=Z(A).$implicit,a=v(3);return a.deleteCallback(a.agentConfig.name,o),X(n.stopPropagation())}),m(8,"mat-icon"),K(9,"remove"),w()()()}if(t&2){let A=e.$implicit;p(4),qA(A.type),p(2),qA(A.name)}}function O_A(t,e){if(t&1&&(m(0,"div",49)(1,"mat-chip-set",50),Ut(2,z_A,10,2,"div",51,Li),w()()),t&2){let A=v(),i=v();p(2),Jt(A.get(i.agentConfig.name))}}function P_A(t,e){if(t&1&&V(0,O_A,4,0,"div",49),t&2){let A=e,i=v();W(i.agentConfig&&A.get(i.agentConfig.name)&&A.get(i.agentConfig.name).length>0?0:-1)}}var _v=class t{CALLBACKS_TAB_INDEX=3;jsonEditorComponent;appNameInput="";exitBuilderMode=new $A;closePanel=new $A;featureFlagService=h(vr);isAlwaysOnSidePanelEnabledObs=this.featureFlagService.isAlwaysOnSidePanelEnabled();toolArgsString=jA("");editingToolArgs=jA(!1);editingTool=null;selectedTabIndex=0;agentConfig={isRoot:!1,name:"",agent_class:"",model:"",instruction:"",sub_agents:[],tools:[],callbacks:[]};hierarchyPath=[];currentSelectedAgent=void 0;isRootAgentEditable=!0;models=["gemini-2.5-flash","gemini-2.5-pro"];agentTypes=["LlmAgent","LoopAgent","ParallelAgent","SequentialAgent"];agentBuilderService=h(Q0);dialog=h(Gs);agentService=h(sg);snackBar=h(J2);router=h(Cs);cdr=h(Dt);selectedTool=void 0;toolAgentName="";toolTypes=["Custom tool","Function tool","Built-in tool","Agent Tool"];editingCallback=null;selectedCallback=void 0;callbackTypes=["before_agent","before_model","before_tool","after_tool","after_model","after_agent"];builtInTools=["EnterpriseWebSearchTool","exit_loop","FilesRetrieval","get_user_choice","google_search","load_artifacts","load_memory","LongRunningFunctionTool","preload_memory","url_context","VertexAiRagRetrieval","VertexAiSearchTool"];builtInToolArgs=new Map([["EnterpriseWebSearchTool",[]],["exit_loop",[]],["FilesRetrieval",["name","description","input_dir"]],["get_user_choice",[]],["google_search",[]],["load_artifacts",[]],["load_memory",[]],["LongRunningFunctionTool",["func"]],["preload_memory",[]],["url_context",[]],["VertexAiRagRetrieval",["name","description","rag_corpora","rag_resources","similarity_top_k","vector_distance_threshold"]],["VertexAiSearchTool",["data_store_id","data_store_specs","search_engine_id","filter","max_results"]]]);header="Select an agent or tool to edit";toolsMap$;callbacksMap$;getJsonStringForEditor(e){if(!e)return"{}";let A=cA({},e);return delete A.skip_summarization,JSON.stringify(A,null,2)}constructor(){this.toolsMap$=this.agentBuilderService.getAgentToolsMap(),this.callbacksMap$=this.agentBuilderService.getAgentCallbacksMap(),this.agentBuilderService.getSelectedNode().subscribe(e=>{this.agentConfig=e,this.currentSelectedAgent=e,e&&(this.editingTool=null,this.editingCallback=null,this.header="Agent configuration",this.updateBreadcrumb(e)),this.cdr.markForCheck()}),this.agentBuilderService.getSelectedTool().subscribe(e=>{this.selectedTool=e,!(e&&e.toolType==="Agent Tool")&&(e?(this.editingTool=e,this.editingToolArgs.set(!1),setTimeout(()=>{let A=e.toolType=="Function tool"?"Function tool":e.name;if(e.toolType=="Function tool"&&!e.name&&(e.name="Function tool"),e.toolType==="Custom tool")e.args||(e.args={}),this.toolArgsString.set(this.getJsonStringForEditor(e.args)),this.editingToolArgs.set(!0);else{let i=this.builtInToolArgs.get(A);if(i){e.args||(e.args={});for(let n of i)e.args&&(e.args[n]="")}this.toolArgsString.set(this.getJsonStringForEditor(e.args)),e.args&&this.getObjectKeys(e.args).length>0&&this.editingToolArgs.set(!0)}this.cdr.markForCheck()}),this.selectedTabIndex=2):this.editingTool=null,this.cdr.markForCheck())}),this.agentBuilderService.getSelectedCallback().subscribe(e=>{this.selectedCallback=e,e?(this.selectCallback(e),this.selectedTabIndex=this.CALLBACKS_TAB_INDEX):this.editingCallback=null,this.cdr.markForCheck()}),this.agentBuilderService.getAgentCallbacks().subscribe(e=>{this.agentConfig&&e&&this.agentConfig.name===e.agentName&&(this.agentConfig=Ge(cA({},this.agentConfig),{callbacks:e.callbacks}),this.cdr.markForCheck())}),this.agentBuilderService.getSideTabChangeRequest().subscribe(e=>{e==="tools"?this.selectedTabIndex=2:e==="config"&&(this.selectedTabIndex=0)})}getObjectKeys(e){return e?Object.keys(e).filter(A=>A!=="skip_summarization"):[]}getCallbacksByType(){let e=new Map;return this.callbackTypes.forEach(A=>{e.set(A,[])}),this.agentConfig?.callbacks&&this.agentConfig.callbacks.forEach(A=>{let i=e.get(A.type);i&&i.push(A)}),e}updateBreadcrumb(e){this.hierarchyPath=this.buildHierarchyPath(e)}buildHierarchyPath(e){let A=[],i=this.findContextualRoot(e);return i?e.name===i.name?[i]:this.findPathToAgent(i,e,[i])||[e]:[e]}isInAgentToolContext(){return!this.hierarchyPath||this.hierarchyPath.length===0?!1:this.hierarchyPath[0]?.isAgentTool===!0}findContextualRoot(e){if(e.isAgentTool)return e;let A=this.agentBuilderService.getNodes();for(let n of A)if(n.isAgentTool&&this.findPathToAgent(n,e,[n]))return n;let i=this.agentBuilderService.getRootNode();if(i&&this.findPathToAgent(i,e,[i]))return i;if(e.isRoot)return e;for(let n of A)if(n.isRoot&&this.findPathToAgent(n,e,[n]))return n;return i}findPathToAgent(e,A,i){if(e.name===A.name)return i;for(let n of e.sub_agents){let o=[...i,n],a=this.findPathToAgent(n,A,o);if(a)return a}return null}selectAgentFromBreadcrumb(e){this.agentBuilderService.setSelectedNode(e),this.selectedTabIndex=0}selectAgent(e){this.agentBuilderService.setSelectedNode(e),this.selectedTabIndex=0}selectTool(e){if(e.toolType==="Agent Tool"){let A=e.name;this.agentBuilderService.requestNewTab(A);return}if(e.toolType==="Function tool"||e.toolType==="Built-in tool"){this.editTool(e);return}this.agentBuilderService.setSelectedTool(e)}editTool(e){if(!this.agentConfig)return;let A;e.toolType==="Built-in tool"?A=this.dialog.open(aB,{width:"700px",maxWidth:"90vw",data:{toolName:e.name,isEditMode:!0,toolArgs:e.args}}):A=this.dialog.open(W2,{width:"500px",data:{toolType:e.toolType,toolName:e.name,isEditMode:!0}}),A.afterClosed().subscribe(i=>{if(i&&i.isEditMode){let n=this.agentConfig.tools?.findIndex(o=>o.name===e.name);n!==void 0&&n!==-1&&this.agentConfig.tools&&(this.agentConfig.tools[n].name=i.name,i.args&&(this.agentConfig.tools[n].args=i.args),this.agentBuilderService.setAgentTools(this.agentConfig.name,this.agentConfig.tools))}})}addTool(e){if(this.agentConfig){let A;e==="Built-in tool"?A=this.dialog.open(aB,{width:"700px",maxWidth:"90vw",data:{}}):A=this.dialog.open(W2,{width:"500px",data:{toolType:e}}),A.afterClosed().subscribe(i=>{if(i){let n={toolType:i.toolType,name:i.name};this.agentBuilderService.addTool(this.agentConfig.name,n),this.agentBuilderService.setSelectedTool(n)}})}}addCallback(e){if(this.agentConfig){let A=this.agentConfig?.callbacks?.map(n=>n.name)??[];this.dialog.open(P4,{width:"500px",data:{callbackType:e,existingCallbackNames:A}}).afterClosed().subscribe(n=>{if(n){let o={name:n.name,type:n.type};this.agentBuilderService.addCallback(this.agentConfig.name,o)}})}}editCallback(e){if(!this.agentConfig)return;let A=this.agentConfig.callbacks?.map(n=>n.name)??[];this.dialog.open(P4,{width:"500px",data:{callbackType:e.type,existingCallbackNames:A,isEditMode:!0,callback:e,availableCallbackTypes:this.callbackTypes}}).afterClosed().subscribe(n=>{if(n&&n.isEditMode){let o=this.agentBuilderService.updateCallback(this.agentConfig.name,e.name,Ge(cA({},e),{name:n.name,type:n.type}));o.success?this.cdr.markForCheck():console.error("Failed to update callback:",o.error)}})}deleteCallback(e,A){this.dialog.open(Vc,{data:{title:"Delete Callback",message:`Are you sure you want to delete ${A.name}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(n=>{if(n==="confirm"){let o=this.agentBuilderService.deleteCallback(e,A);o.success?this.cdr.markForCheck():console.error("Failed to delete callback:",o.error)}})}addSubAgent(e){e&&this.agentBuilderService.setAddSubAgentSubject(e)}deleteSubAgent(e){this.agentBuilderService.setDeleteSubAgentSubject(e)}deleteTool(e,A){let i=A.toolType==="Agent Tool",n=i&&A.toolAgentName||A.name;this.dialog.open(Vc,{data:{title:i?"Delete Agent Tool":"Delete Tool",message:i?`Are you sure you want to delete the agent tool "${n}"? This will also delete the corresponding board.`:`Are you sure you want to delete ${n}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(a=>{if(a==="confirm")if(A.toolType==="Agent Tool"){let r=A.toolAgentName||A.name;this.deleteAgentToolAndBoard(e,A,r)}else this.agentBuilderService.deleteTool(e,A)})}deleteAgentToolAndBoard(e,A,i){this.agentBuilderService.deleteTool(e,A),this.agentBuilderService.requestTabDeletion(i)}backToToolList(){this.editingTool=null,this.agentBuilderService.setSelectedTool(void 0)}editToolArgs(){this.editingToolArgs.set(!0)}cancelEditToolArgs(e){this.editingToolArgs.set(!1),this.toolArgsString.set(this.getJsonStringForEditor(e?.args))}saveToolArgs(e){if(this.jsonEditorComponent&&e)try{let A=JSON.parse(this.jsonEditorComponent.getJsonString()),i=e.args?e.args.skip_summarization:!1;e.args=A,e.args.skip_summarization=i,this.toolArgsString.set(JSON.stringify(e.args,null,2)),this.editingToolArgs.set(!1)}catch(A){console.error("Error parsing tool arguments JSON",A)}}onToolTypeSelectionChange(e){e?.toolType==="Built-in tool"?(e.name="google_search",this.onBuiltInToolSelectionChange(e)):e?.toolType==="Custom tool"?(e.args={},this.toolArgsString.set(this.getJsonStringForEditor(e.args)),this.editingToolArgs.set(!0)):e&&(e.name="",e.args={skip_summarization:!1},this.toolArgsString.set("{}"),this.editingToolArgs.set(!1))}onBuiltInToolSelectionChange(e){e&&(this.editingToolArgs.set(!1),setTimeout(()=>{e.args={skip_summarization:!1};let A=this.builtInToolArgs.get(e.name);if(A)for(let i of A)e.args&&(e.args[i]="");this.toolArgsString.set(this.getJsonStringForEditor(e.args)),e.args&&this.getObjectKeys(e.args).length>0&&this.editingToolArgs.set(!0),this.cdr.markForCheck()}))}selectCallback(e){this.editingCallback=e}backToCallbackList(){this.editingCallback=null}onCallbackTypeChange(e){}createAgentTool(){this.dialog.open(Vc,{width:"750px",height:"450px",data:{title:"Create Agent Tool",message:"Please enter a name for the agent tool:",confirmButtonText:"Create",showInput:!0,inputLabel:"Agent Tool Name",inputPlaceholder:"Enter agent tool name",showToolInfo:!0,toolType:"Agent tool"}}).afterClosed().subscribe(A=>{if(A&&typeof A=="string"){let i=this.agentConfig?.name||"root_agent";this.agentBuilderService.requestNewTab(A,i)}})}saveChanges(){if(!this.agentBuilderService.getRootNode()){this.snackBar.open("Please create an agent first.","OK");return}this.appNameInput?this.saveAgent(this.appNameInput):this.agentService.getApp().subscribe(A=>{A?this.saveAgent(A):this.snackBar.open("No agent selected. Please select an agent first.","OK")})}cancelChanges(){this.agentService.agentChangeCancel(this.appNameInput).subscribe(e=>{}),this.exitBuilderMode.emit()}saveAgent(e){let A=this.agentBuilderService.getRootNode();if(!A){this.snackBar.open("Please create an agent first.","OK");return}let i=new FormData,n=this.agentBuilderService.getCurrentAgentToolBoards();y0.generateYamlFile(A,i,e,n),this.agentService.agentBuildTmp(i).subscribe(o=>{o&&this.agentService.agentBuild(i).subscribe(a=>{a?this.router.navigate(["/"],{queryParams:{app:e}}).then(()=>{window.location.reload()}):this.snackBar.open("Something went wrong, please try again","OK")})})}getToolIcon(e){return ME(e.name,e.toolType)}getAgentIcon(e){switch(e){case"SequentialAgent":return"more_horiz";case"LoopAgent":return"sync";case"ParallelAgent":return"density_medium";default:return"psychology"}}addSubAgentWithType(e){if(!this.agentConfig?.name)return;let A=this.agentConfig.agent_class!=="LlmAgent";this.agentBuilderService.setAddSubAgentSubject(this.agentConfig.name,e,A)}callbackMenuTooltips(e){return fc.getCallbackMenuTooltips(e)}toolMenuTooltips(e){return fc.getToolMenuTooltips(e)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-builder-tabs"]],viewQuery:function(A,i){if(A&1&&ai(qc,5),A&2){let n;ce(n=Ce())&&(i.jsonEditorComponent=n.first)}},inputs:{appNameInput:"appNameInput"},outputs:{exitBuilderMode:"exitBuilderMode",closePanel:"closePanel"},decls:77,vars:12,consts:[["subAgentMenu","matMenu"],["callbacksMenu","matMenu"],["agentMenuTrigger","matMenuTrigger"],["toolsMenu","matMenu"],[2,"margin-top","20px","margin-left","20px","display","flex"],[2,"width","100%"],[1,"drawer-header"],[1,"drawer-logo"],["src","assets/ADK-512-color.svg","width","32px","height","32px"],[2,"display","flex","align-items","center","gap","8px","margin-right","15px"],["matTooltip","Collapse panel",1,"material-symbols-outlined",2,"color","#c4c7c5","cursor","pointer",3,"click"],[1,"builder-tabs-container"],[1,"builder-tab-content"],[1,"agent-breadcrumb-container"],[1,"content-wrapper"],[1,"builder-panel-wrapper"],[1,"panel-title"],[1,"config-form"],["mat-icon-button","","type","button","aria-label","Add sub agent",1,"panel-action-button",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],[1,"tools-chips-container"],["mat-icon-button","","type","button","aria-label","Add callback",1,"panel-action-button",3,"matMenuTriggerFor"],[1,"menu-header"],["mat-menu-item","","matTooltipPosition","right",3,"click","matTooltip"],[1,"action-buttons"],["mat-raised-button","","color","secondary",1,"save-button",3,"click"],["mat-button","",1,"cancel-button",3,"click"],[1,"breadcrumb-chip",3,"click"],[1,"breadcrumb-arrow"],[1,"form-row"],[1,"agent-name-field"],["matInput","",3,"ngModelChange","ngModel","disabled"],[1,"agent-type-field"],["disabled","",3,"ngModelChange","ngModel"],[3,"value"],[3,"ngModel"],[3,"ngModelChange","ngModel"],["matInput","","rows","5",3,"ngModelChange","ngModel"],["matInput","","rows","3",3,"ngModelChange","ngModel"],["matInput","","type","number","min","1",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","aria-label","Add tool",1,"panel-action-button",3,"matMenuTriggerFor"],["aria-label","Tools"],[1,"tool-chip"],[1,"tool-chip",3,"click"],["matChipAvatar","",1,"tool-icon"],[1,"tool-chip-name"],["matChipRemove","","aria-label","Remove tool",3,"click"],["aria-label","Sub Agents"],["matChipRemove","","aria-label","Remove sub agent",3,"click"],[1,"tools-chips-container","callbacks-list"],["aria-label","Callbacks"],[1,"callback-row"],[1,"callback-row",3,"click"],[1,"callback-chip"],[1,"chip-content"],[1,"chip-type"],[1,"chip-name"],["mat-icon-button","","aria-label","Remove callback",1,"callback-remove",3,"click"]],template:function(A,i){if(A&1){let n=JA();m(0,"div",4)(1,"div",5)(2,"div",6)(3,"div",7),GA(4,"img",8),K(5," Agent Development Kit "),w(),m(6,"div",9),GA(7,"app-theme-toggle"),m(8,"span",10),tA("click",function(){return Z(n),X(i.closePanel.emit())}),K(9,"left_panel_close"),w()()()()(),m(10,"div",11)(11,"div",12),V(12,k_A,3,0,"div",13),m(13,"div",14)(14,"div",15)(15,"div",16),K(16," Configuration "),w(),m(17,"div"),V(18,L_A,16,7,"div",17),w()(),V(19,J_A,22,7,"div",15),m(20,"div",15)(21,"div",16)(22,"div"),K(23," Sub Agents "),w(),m(24,"div")(25,"button",18)(26,"mat-icon"),K(27,"add"),w()(),m(28,"mat-menu",null,0)(30,"button",19),tA("click",function(){return Z(n),X(i.addSubAgentWithType("LlmAgent"))}),m(31,"mat-icon"),K(32,"psychology"),w(),m(33,"span"),K(34,"LLM Agent"),w()(),m(35,"button",19),tA("click",function(){return Z(n),X(i.addSubAgentWithType("SequentialAgent"))}),m(36,"mat-icon"),K(37,"more_horiz"),w(),m(38,"span"),K(39,"Sequential Agent"),w()(),m(40,"button",19),tA("click",function(){return Z(n),X(i.addSubAgentWithType("LoopAgent"))}),m(41,"mat-icon"),K(42,"sync"),w(),m(43,"span"),K(44,"Loop Agent"),w()(),m(45,"button",19),tA("click",function(){return Z(n),X(i.addSubAgentWithType("ParallelAgent"))}),m(46,"mat-icon"),K(47,"density_medium"),w(),m(48,"span"),K(49,"Parallel Agent"),w()()()()(),V(50,T_A,4,0,"div",20),w(),m(51,"div",15)(52,"div",16)(53,"div"),K(54," Callbacks "),w(),m(55,"div")(56,"button",21)(57,"mat-icon"),K(58,"add"),w()(),m(59,"mat-menu",null,1)(61,"div",22),K(62,"Agent Lifecycle"),w(),m(63,"button",23),tA("click",function(){return Z(n),X(i.addCallback("before_agent"))}),m(64,"span"),K(65,"Before Agent"),w()(),m(66,"button",23),tA("click",function(){return Z(n),X(i.addCallback("after_agent"))}),m(67,"span"),K(68,"After Agent"),w()(),V(69,H_A,18,4),w()()(),V(70,P_A,1,1),ri(71,"async"),w()(),m(72,"div",24)(73,"button",25),tA("click",function(){return Z(n),X(i.saveChanges())}),K(74," Save "),w(),m(75,"button",26),tA("click",function(){return Z(n),X(i.cancelChanges())}),K(76," Cancel "),w()()()()}if(A&2){let n,o=An(29),a=An(60);p(12),W(i.hierarchyPath.length>0?12:-1),p(6),W(i.agentConfig?18:-1),p(),W((i.agentConfig==null?null:i.agentConfig.agent_class)==="LlmAgent"?19:-1),p(6),$("matMenuTriggerFor",o),p(25),W(i.agentConfig&&i.agentConfig.sub_agents&&i.agentConfig.sub_agents.length>0?50:-1),p(6),$("matMenuTriggerFor",a),p(7),$("matTooltip",i.callbackMenuTooltips("before_agent")),p(3),$("matTooltip",i.callbackMenuTooltips("after_agent")),p(3),W((i.agentConfig==null?null:i.agentConfig.agent_class)==="LlmAgent"?69:-1),p(),W((n=Ci(71,10,i.callbacksMap$))?70:-1,n)}},dependencies:[ma,Nn,uo,a9,fo,g9,Sa,fn,bE,KO,No,Fn,wa,Wa,Gg,Hr,Bl,xa,AC,_h,C2,Nv,Bm,maA,paA,SG,fz,r8,Lh,ls],styles:[".builder-tabs-container[_ngcontent-%COMP%]{width:100%;margin-top:40px;height:calc(95vh - 20px);display:flex;flex-direction:column}.agent-breadcrumb-container[_ngcontent-%COMP%]{padding:2px 20px 8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--builder-border-color)}.breadcrumb-chip[_ngcontent-%COMP%]{background-color:transparent;color:var(--builder-text-muted-color);font-family:Google Sans;font-size:16px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;padding:4px 8px;border-radius:4px;display:inline-block;-webkit-user-select:none;user-select:none}.breadcrumb-chip[_ngcontent-%COMP%]:hover{color:var(--builder-text-link-color)}.breadcrumb-chip.current-agent[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-weight:500}.breadcrumb-arrow[_ngcontent-%COMP%]{color:var(--builder-breadcrumb-separator-color);font-size:16px;width:16px;height:16px}.builder-tab-content[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);display:flex;flex-direction:column;flex:1;overflow:hidden}.builder-tab-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:8px 0;font-size:14px;line-height:1.5}.builder-tab-content[_ngcontent-%COMP%]{--mat-form-field-filled-container-color: var(--builder-form-field-background-color);--mat-form-field-filled-focus-active-indicator-color: var(--builder-form-field-background-color);--mat-form-field-filled-active-indicator-color: var(--builder-form-field-background-color);--mat-form-field-filled-hover-active-indicator-color: var(--builder-form-field-background-color);--mat-form-field-filled-label-text-color: var(--builder-text-secondary-color);--mat-form-field-filled-focus-label-text-color: var(--builder-text-link-color);--mat-form-field-filled-hover-label-text-color: var(--builder-text-secondary-color)}[_nghost-%COMP%] .mat-mdc-text-field-wrapper{border:none!important}.components-section[_ngcontent-%COMP%]{margin-bottom:32px}.components-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:14px;font-weight:500;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.config-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;margin-top:20px}.config-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;gap:16px;align-items:flex-start}.config-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] .agent-name-field[_ngcontent-%COMP%]{flex:1}.config-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] .agent-type-field[_ngcontent-%COMP%]{width:32%}.config-form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.config-form[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-bottom:8px}.config-form[_ngcontent-%COMP%] .tool-code-section[_ngcontent-%COMP%]{margin-top:16px}.config-form[_ngcontent-%COMP%] .tool-code-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px;color:var(--builder-text-secondary-color);font-size:14px;font-weight:500}.config-form[_ngcontent-%COMP%] .tool-args-header[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.json-editor-wrapper[_ngcontent-%COMP%]{height:300px;max-height:300px}.tab-content-container[_ngcontent-%COMP%]{margin-top:20px;overflow-y:auto}.agent-list-row[_ngcontent-%COMP%]{display:flex;margin-top:10px}.sub-agent-list-row[_ngcontent-%COMP%]{display:flex;margin-top:10px;margin-left:16px}.tree-view[_ngcontent-%COMP%] mat-tree[_ngcontent-%COMP%]{background-color:inherit!important}.tree-view[_ngcontent-%COMP%] expand-button[_ngcontent-%COMP%]{background-color:transparent;border:0}.node-item[_ngcontent-%COMP%]{display:flex;align-items:center}.node-icon[_ngcontent-%COMP%]{margin-right:14px}.node-name[_ngcontent-%COMP%]{margin-top:2px;display:flex;align-items:center}.no-tools-message[_ngcontent-%COMP%]{display:block;color:var(--builder-text-secondary-color);font-size:16px;margin-top:16px;margin-bottom:16px;text-align:center}.tools-list[_ngcontent-%COMP%]{list-style:none;padding:0}.tool-name[_ngcontent-%COMP%]{cursor:pointer;padding:11px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;background-color:var(--builder-card-background-color);color:var(--builder-text-primary-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.tool-name[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{visibility:hidden}.tool-name[_ngcontent-%COMP%]:hover{background-color:var(--builder-hover-background-color)}.tool-name[_ngcontent-%COMP%]:hover button[_ngcontent-%COMP%]{visibility:visible}.tool-list-item-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:8px} .tools-chips-container .mat-mdc-chip-set{width:100%} .tools-chips-container.callbacks-list .mat-mdc-chip-set{display:flex;flex-direction:column;gap:8px;width:100%} .tools-chips-container .mat-mdc-chip.tool-chip{background-color:var(--builder-tool-chip-background-color);color:var(--builder-text-primary-color);font-family:Google Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;margin:4px} .tools-chips-container .mat-mdc-chip.tool-chip:hover{background-color:var(--builder-tool-chip-hover-color)} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-action-label{display:flex;align-items:center;gap:6px} .tools-chips-container .mat-mdc-chip.tool-chip .tool-chip-name{display:inline-flex;align-items:center} .tools-chips-container .mat-mdc-chip.tool-chip .tool-icon{font-size:18px;width:18px;height:18px} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-remove{opacity:1;color:var(--builder-text-secondary-color)} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-remove mat-icon{font-size:18px;width:18px;height:18px} .tools-chips-container .mat-mdc-chip.tool-chip .mat-mdc-chip-remove:hover{color:var(--builder-text-primary-color)} .tools-chips-container .mat-mdc-chip.callback-chip{background:var(--builder-callback-chip-background-color);background-color:var(--builder-callback-chip-background-color);color:var(--builder-callback-chip-text-color);font-family:Google Sans,sans-serif;font-size:14px;display:flex;flex-direction:row;align-items:center;gap:12px;width:auto;height:40px;border-radius:8px;border:none;box-shadow:none;outline:none;--mdc-chip-outline-width: 0;--mdc-chip-outline-color: transparent;--mdc-chip-elevated-container-color: var(--builder-callback-chip-background-color);--mdc-chip-flat-container-color: var(--builder-callback-chip-background-color);flex:1 1 auto;min-width:0} .tools-chips-container .mat-mdc-chip.callback-chip:before, .tools-chips-container .mat-mdc-chip.callback-chip:after, .tools-chips-container .mat-mdc-chip.callback-chip .mat-mdc-chip-focus-overlay{border:none;box-shadow:none} .tools-chips-container .mat-mdc-chip.callback-chip .mat-mdc-chip-action-label{display:flex;flex:1;align-items:center;width:100%;gap:12px} .tools-chips-container .mat-mdc-chip.callback-chip .chip-content{display:flex;flex-direction:row;align-items:center;gap:12px;flex:1;min-width:0} .tools-chips-container .mat-mdc-chip.callback-chip .chip-type{color:var(--builder-callback-chip-type-color);font-size:13px;font-weight:500;white-space:nowrap} .tools-chips-container .mat-mdc-chip.callback-chip .chip-name{color:var(--builder-callback-chip-name-color);font-size:15px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tools-chips-container[_ngcontent-%COMP%]{margin-top:12px;padding:0 4px}.tools-chips-container.callbacks-list[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.callback-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;width:100%;cursor:pointer}.callback-remove[_ngcontent-%COMP%]{color:var(--builder-icon-color);cursor:pointer;width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0}.callback-remove[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;line-height:1;display:flex;align-items:center;justify-content:center;transform:translateY(.5px)}.back-button[_ngcontent-%COMP%]{margin-bottom:16px}.add-tool-button[_ngcontent-%COMP%]{width:100%;background:linear-gradient(0deg,var(--builder-add-button-background-color) 0%,var(--builder-add-button-background-color) 100%),var(--builder-panel-background-color);border:none;border-radius:4px;margin-top:12px;cursor:pointer}.add-tool-button-detail[_ngcontent-%COMP%]{display:flex;padding:8px 16px 8px 12px;justify-content:center}.add-tool-button-text[_ngcontent-%COMP%]{padding-top:2px;color:var(--builder-add-button-text-color);font-family:Google Sans;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.agent-tool-section[_ngcontent-%COMP%]{margin-top:16px;padding:16px;border:1px solid var(--builder-border-color);border-radius:8px;background-color:var(--builder-secondary-background-color)}.agent-tool-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:16px;font-weight:500;margin:0 0 8px}.agent-tool-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:14px;margin:0 0 16px;line-height:1.5}.agent-tool-section[_ngcontent-%COMP%] .create-agent-tool-btn[_ngcontent-%COMP%]{background-color:var(--builder-button-primary-background-color);color:var(--builder-button-primary-text-color);font-weight:500}.agent-tool-section[_ngcontent-%COMP%] .create-agent-tool-btn[_ngcontent-%COMP%]:hover{background-color:var(--builder-button-primary-hover-color)}.no-callbacks-message[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:16px;margin-top:16px;text-align:center}.callback-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:8px}.callback-section[_ngcontent-%COMP%]{margin-top:16px}.callback-section[_ngcontent-%COMP%] .callback-section-label[_ngcontent-%COMP%]{margin:0 0 8px;color:var(--builder-text-secondary-color);font-size:14px;font-weight:500;text-transform:none}.callback-groups-wrapper[_ngcontent-%COMP%]{margin-top:16px}.callback-group[_ngcontent-%COMP%]{margin-top:5px;--mat-expansion-container-background-color: var(--builder-expansion-background-color);--mat-expansion-header-focus-state-layer-color: red;--mat-expansion-header-description-color: var(--builder-expansion-header-description-color);--mat-expansion-header-text-size: 15}.callback-list[_ngcontent-%COMP%]{padding:8px 0}.no-callbacks-in-type[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:14px;font-style:italic;padding:12px;text-align:center}.callback-item[_ngcontent-%COMP%]{cursor:pointer;padding:8px 12px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;background-color:var(--builder-card-background-color);color:var(--builder-text-primary-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.callback-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{visibility:hidden}.callback-item[_ngcontent-%COMP%]:hover{background-color:var(--builder-expansion-hover-color)}.callback-item[_ngcontent-%COMP%]:hover button[_ngcontent-%COMP%]{visibility:visible}.add-callback-icon[_ngcontent-%COMP%]{color:var(--builder-button-primary-background-color)}.add-callback-icon[_ngcontent-%COMP%]:hover{background-color:var(--builder-add-button-background-color)} .callback-group .mat-expansion-panel-header.mat-expanded:focus{background-color:var(--builder-expansion-hover-color)!important} .callback-group .mat-expansion-panel-header.mat-expanded{background-color:var(--builder-expansion-hover-color)!important} .callback-group .mat-expansion-panel-header.mat-expanded:hover{background-color:var(--builder-expansion-hover-color)!important} .callback-group .mat-expansion-panel-header-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}mat-tab-group[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px 20px 0;min-height:0} .mat-mdc-tab-body-wrapper{flex:1;overflow:hidden;min-height:0} .mat-mdc-tab-body-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}mat-tab-group[_ngcontent-%COMP%]{flex:1;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden} .mat-mdc-tab-body-wrapper{flex:1;overflow:hidden} .mat-mdc-tab-body-content{height:100%;overflow:hidden} .mat-drawer-inner-container{overflow:hidden}.action-buttons[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-top:1px solid var(--builder-border-color);flex-shrink:0;margin-top:auto;background-color:var(--builder-panel-background-color)}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{background-color:var(--builder-button-primary-background-color);color:var(--builder-button-primary-text-color);font-weight:500}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-button-primary-hover-color)}.action-buttons[_ngcontent-%COMP%] .cancel-button[_ngcontent-%COMP%]{color:var(--builder-button-secondary-text-color);border:1px solid var(--builder-button-secondary-border-color)}.action-buttons[_ngcontent-%COMP%] .cancel-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-button-secondary-hover-background-color);color:var(--builder-button-secondary-hover-text-color)}.builder-panel-wrapper[_ngcontent-%COMP%]{border-bottom:1px solid var(--builder-border-color);padding:12px 24px}.panel-title[_ngcontent-%COMP%]{color:var(--builder-text-tertiary-color);font-family:Google Sans;font-size:16px;font-style:normal;font-weight:500;line-height:24px;display:flex;justify-content:space-between}.panel-title[_ngcontent-%COMP%] .panel-action-button[_ngcontent-%COMP%]{color:var(--builder-icon-color);width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0}.panel-title[_ngcontent-%COMP%] .panel-action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;line-height:1;display:flex;align-items:center;justify-content:center}.content-wrapper[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:9px}.drawer-logo[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:500;line-height:24px;letter-spacing:.1px}.drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center;--mat-button-filled-container-color: var(--side-panel-button-filled-container-color);--mat-button-filled-label-text-color: var(--side-panel-button-filled-label-text-color)}.drawer-header[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;color:var(--side-panel-mat-icon-color);cursor:pointer;display:flex;align-items:center;justify-content:center} .mat-mdc-menu-panel{background-color:var(--builder-menu-background-color)!important} .mat-mdc-menu-panel .menu-header{color:var(--builder-text-secondary-color);font-size:12px;padding:8px 16px;font-weight:500;text-transform:uppercase;pointer-events:none} .mat-mdc-menu-panel .mat-mdc-menu-item{color:var(--builder-text-primary-color)} .mat-mdc-menu-panel .mat-mdc-menu-item:hover{background-color:var(--builder-menu-item-hover-color)} .mat-mdc-menu-panel mat-divider{border-top-color:var(--builder-menu-divider-color);margin:4px 0}"],changeDetection:0})};var Gh=new yA("MARKDOWN_COMPONENT");var j_A=["chatMessages"],q_A=(t,e)=>({"user-message":t,"bot-message":e}),V_A=t=>({text:t,thought:!1});function W_A(t,e){t&1&&(m(0,"div",7)(1,"mat-icon",12),K(2,"smart_toy"),w(),m(3,"h3"),K(4,"Assistant Ready"),w(),m(5,"p"),K(6,"Your builder assistant is ready to help you build agents."),w()())}function Z_A(t,e){t&1&&(m(0,"div",15)(1,"span",16),K(2,"\u30FB\u30FB\u30FB"),w()())}function X_A(t,e){if(t&1&&(m(0,"div",18),K(1,"Assistant"),w(),on(2,19)),t&2){let A=v(2).$implicit,i=v(2);p(2),$("ngComponentOutlet",i.markdownComponent)("ngComponentOutletInputs",ss(2,V_A,A.text))}}function $_A(t,e){if(t&1&&(m(0,"div",17),K(1),w()),t&2){let A=v(2).$implicit;p(),qA(A.text)}}function ALA(t,e){if(t&1&&V(0,X_A,3,4)(1,$_A,2,1,"div",17),t&2){let A=v().$implicit;W(A.role==="bot"?0:1)}}function eLA(t,e){if(t&1&&(m(0,"div",13)(1,"mat-card",14),V(2,Z_A,3,0,"div",15)(3,ALA,2,1),w()()),t&2){let A=e.$implicit;$("ngClass",Zl(2,q_A,A.role==="user",A.role==="bot")),p(2),W(A.isLoading?2:3)}}function tLA(t,e){if(t&1&&Ut(0,eLA,4,5,"div",13,Li),t&2){let A=v();Jt(A.messages)}}var Lv=class t{isVisible=!0;appName="";closePanel=new $A;reloadCanvas=new $A;assistantAppName="__adk_agent_builder_assistant";userId="user";currentSession="";userMessage="";messages=[];shouldAutoScroll=!1;isGenerating=!1;chatMessages;markdownComponent=h(Gh);agentService=h(sg);sessionService=h(El);agentBuilderService=h(Q0);constructor(){}ngOnInit(){this.sessionService.createSession(this.userId,this.assistantAppName).subscribe(e=>{this.currentSession=e.id;let A={appName:this.assistantAppName,userId:this.userId,sessionId:e.id,newMessage:{role:"user",parts:[{text:"hello"}]},streaming:!1,stateDelta:{root_directory:`${this.appName}/tmp/${this.appName}`}};this.messages.push({role:"bot",text:"",isLoading:!0}),this.shouldAutoScroll=!0,this.isGenerating=!0,this.agentService.runSse(A).subscribe({next:i=>nt(this,null,function*(){if(i.content){let n="";for(let o of i.content.parts)o.text&&(n+=o.text);if(n){let o=this.messages[this.messages.length-1];o.role==="bot"&&o.isLoading&&(o.text=n,o.isLoading=!1,this.shouldAutoScroll=!0)}}}),error:i=>{console.error("SSE error:",i);let n=this.messages[this.messages.length-1];n.role==="bot"&&n.isLoading&&(n.text="Sorry, I encountered an error. Please try again.",n.isLoading=!1,this.shouldAutoScroll=!0),this.isGenerating=!1},complete:()=>{this.isGenerating=!1}})})}onClosePanel(){this.closePanel.emit()}sendMessage(e){if(e.trim()){this.saveAgent(this.appName),e!="____Something went wrong, please try again"&&this.messages.push({role:"user",text:e});let A=e;this.userMessage="",this.messages.push({role:"bot",text:"",isLoading:!0}),this.shouldAutoScroll=!0,this.isGenerating=!0;let i={appName:this.assistantAppName,userId:this.userId,sessionId:this.currentSession,newMessage:{role:"user",parts:[{text:A}]},streaming:!1};this.agentService.runSse(i).subscribe({next:n=>nt(this,null,function*(){if(n.errorCode&&(n.errorCode=="MALFORMED_FUNCTION_CALL"||n.errorCode=="STOP")){this.sendMessage("____Something went wrong, please try again");return}if(n.content){let o="";for(let a of n.content.parts)a.text&&(o+=a.text);if(o){let a=this.messages[this.messages.length-1];a.role==="bot"&&a.isLoading&&(a.text=o,a.isLoading=!1,this.shouldAutoScroll=!0,this.reloadCanvas.emit())}}}),error:n=>{console.error("SSE error:",n);let o=this.messages[this.messages.length-1];o.role==="bot"&&o.isLoading&&(o.text="Sorry, I encountered an error. Please try again.",o.isLoading=!1,this.shouldAutoScroll=!0),this.isGenerating=!1},complete:()=>{this.isGenerating=!1}})}}ngAfterViewChecked(){this.shouldAutoScroll&&(this.scrollToBottom(),this.shouldAutoScroll=!1)}scrollToBottom(){try{this.chatMessages&&setTimeout(()=>{this.chatMessages.nativeElement.scrollTop=this.chatMessages.nativeElement.scrollHeight},50)}catch(e){console.error("Error scrolling to bottom:",e)}}onKeyDown(e){if(e.key==="Enter"){if(e.shiftKey)return;this.userMessage?.trim()&&this.currentSession&&(e.preventDefault(),this.sendMessage(this.userMessage))}}saveAgent(e){let A=this.agentBuilderService.getRootNode();if(!A)return;let i=new FormData,n=this.agentBuilderService.getCurrentAgentToolBoards();y0.generateYamlFile(A,i,e,n),this.agentService.agentBuildTmp(i).subscribe(o=>{console.log(o?"save to tmp":"something went wrong")})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-builder-assistant"]],viewQuery:function(A,i){if(A&1&&ai(j_A,5),A&2){let n;ce(n=Ce())&&(i.chatMessages=n.first)}},inputs:{isVisible:"isVisible",appName:"appName"},outputs:{closePanel:"closePanel",reloadCanvas:"reloadCanvas"},decls:21,vars:6,consts:[["chatMessages",""],[1,"builder-assistant-panel"],[1,"panel-header"],[1,"panel-title"],["mat-icon-button","","matTooltip","Close assistant panel",1,"close-btn",3,"click"],[1,"panel-content"],[1,"chat-messages"],[1,"assistant-placeholder"],[1,"chat-input-container"],[1,"input-wrapper"],["cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","5","placeholder","Ask Gemini to build your agent",1,"assistant-input-box",3,"ngModelChange","keydown","ngModel","disabled"],["mat-icon-button","","matTooltip","Send message",1,"send-button",3,"click","disabled"],[1,"large-icon"],[3,"ngClass"],[1,"message-card"],[1,"loading-message"],[1,"dots"],[1,"message-text"],[1,"bot-label"],[3,"ngComponentOutlet","ngComponentOutletInputs"]],template:function(A,i){if(A&1){let n=JA();m(0,"div",1)(1,"div",2)(2,"div",3)(3,"mat-icon"),K(4,"auto_awesome"),w(),m(5,"span"),K(6,"Assistant"),w()(),m(7,"button",4),tA("click",function(){return Z(n),X(i.onClosePanel())}),m(8,"mat-icon"),K(9,"close"),w()()(),m(10,"div",5)(11,"div",6,0),V(13,W_A,7,0,"div",7)(14,tLA,2,0),w(),m(15,"div",8)(16,"div",9)(17,"textarea",10),ho("ngModelChange",function(a){return Z(n),ao(i.userMessage,a)||(i.userMessage=a),X(a)}),tA("keydown",function(a){return Z(n),X(i.onKeyDown(a))}),w(),m(18,"button",11),tA("click",function(){return Z(n),X(i.sendMessage(i.userMessage.trim()))}),m(19,"mat-icon"),K(20,"send"),w()()()()()()}A&2&&(ne("hidden",!i.isVisible),p(13),W(i.messages.length===0?13:14),p(4),Qo("ngModel",i.userMessage),$("disabled",i.isGenerating),p(),$("disabled",!i.userMessage.trim()||i.isGenerating))},dependencies:[ma,gs,D2,Nn,uo,fo,Sa,Fn,Wa,xa,aE,KB,Op],styles:[".builder-assistant-panel[_ngcontent-%COMP%]{position:fixed;right:0;top:72px;width:400px;height:calc(100vh - 72px);background:var(--builder-assistant-panel-background-color);border-left:1px solid var(--builder-assistant-panel-border-color);box-shadow:-2px 0 10px #0006;z-index:999;display:flex;flex-direction:column;transition:transform .3s ease}.builder-assistant-panel.hidden[_ngcontent-%COMP%]{transform:translate(100%)}.panel-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--builder-assistant-panel-border-color);background:var(--builder-assistant-panel-header-background-color)}.panel-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-weight:400;font-size:16px;color:var(--builder-text-primary-color);font-family:Google Sans,Helvetica Neue,sans-serif}.panel-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:20px;width:20px;height:20px}.close-btn[_ngcontent-%COMP%]{color:var(--builder-text-tertiary-color)}.close-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-add-button-background-color)}.panel-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;background:var(--builder-assistant-panel-background-color);overflow:hidden}.assistant-placeholder[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:300px;color:var(--builder-text-secondary-color)}.assistant-placeholder[_ngcontent-%COMP%] .large-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;margin-bottom:16px;color:var(--builder-button-primary-background-color)}.assistant-placeholder[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;font-size:20px;font-weight:500;color:var(--builder-text-primary-color);font-family:Google Sans,Helvetica Neue,sans-serif}.assistant-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;line-height:1.5;color:var(--builder-text-secondary-color)}.chat-messages[_ngcontent-%COMP%]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.chat-input-container[_ngcontent-%COMP%]{padding:16px 20px 20px;border-top:none;background:var(--builder-assistant-panel-background-color)}.input-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:var(--builder-assistant-input-background-color);border-radius:50px;padding:10px 6px 10px 18px;gap:8px}.assistant-input-box[_ngcontent-%COMP%]{flex:1;color:var(--builder-assistant-input-text-color);border:none;padding:0;background:transparent;resize:none;overflow:hidden;font-family:Google Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:20px;min-height:20px;max-height:120px}.assistant-input-box[_ngcontent-%COMP%]::placeholder{color:var(--builder-assistant-input-placeholder-color);font-size:14px}.assistant-input-box[_ngcontent-%COMP%]:focus{outline:none}.assistant-input-box[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.assistant-input-box[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--builder-border-color);border-radius:4px}.send-button[_ngcontent-%COMP%]{background-color:transparent;color:var(--builder-assistant-send-button-color);width:36px;height:36px;min-width:36px;flex-shrink:0;margin:0;padding:0}.send-button[_ngcontent-%COMP%] .mat-mdc-button-touch-target{display:none}.send-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple{display:none}.send-button[_ngcontent-%COMP%]:disabled{background-color:transparent;color:var(--builder-assistant-send-button-disabled-color)}.send-button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:var(--builder-add-button-background-color);color:var(--builder-assistant-send-button-hover-color);border-radius:50%}.send-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.message-card[_ngcontent-%COMP%]{padding:10px 16px;margin:6px 0;font-size:14px;font-weight:400;position:relative;display:block;box-shadow:none;line-height:1.5;width:100%}.user-message[_ngcontent-%COMP%]{display:block;width:100%;margin-bottom:12px}.user-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--builder-assistant-user-message-background-color);border:1px solid var(--builder-assistant-user-message-border-color);border-radius:4px;color:var(--builder-assistant-user-message-text-color);padding:8px 12px}.bot-message[_ngcontent-%COMP%]{display:block;width:100%;margin-bottom:0}.bot-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:transparent;border:none;border-radius:0;color:var(--builder-assistant-bot-message-text-color);padding:0;margin:0}.bot-label[_ngcontent-%COMP%]{font-size:12px;font-weight:500;color:var(--builder-text-secondary-color);margin-bottom:8px;font-family:Google Sans,Helvetica Neue,sans-serif}.message-text[_ngcontent-%COMP%]{white-space:pre-line;word-break:break-word;overflow-wrap:break-word;font-family:Google Sans,Helvetica Neue,sans-serif}.message-text[_ngcontent-%COMP%] p{margin:0;line-height:1.4}.message-text[_ngcontent-%COMP%] p:first-child{margin-top:0}.message-text[_ngcontent-%COMP%] p:last-child{margin-bottom:0}.message-text[_ngcontent-%COMP%] ul, .message-text[_ngcontent-%COMP%] ol{margin:0;padding-left:1.5em}.message-text[_ngcontent-%COMP%] li{margin:0}.message-text[_ngcontent-%COMP%] code{background-color:#ffffff1a;padding:2px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.message-text[_ngcontent-%COMP%] pre{background-color:#ffffff0d;padding:8px 12px;border-radius:6px;overflow-x:auto;margin:.5em 0}.message-text[_ngcontent-%COMP%] pre code{background:none;padding:0}.message-text[_ngcontent-%COMP%] blockquote{border-left:3px solid var(--builder-button-primary-background-color);padding-left:12px;margin:.5em 0;font-style:italic;color:var(--builder-text-tertiary-color)}.message-text[_ngcontent-%COMP%] strong{font-weight:600}.message-text[_ngcontent-%COMP%] em{font-style:italic}.loading-message[_ngcontent-%COMP%]{display:flex;align-items:center;color:var(--builder-text-secondary-color);font-family:Google Sans,Helvetica Neue,sans-serif;padding:0;margin:0}.loading-message[_ngcontent-%COMP%] .dots[_ngcontent-%COMP%]{font-size:24px;letter-spacing:-12px;animation:_ngcontent-%COMP%_pulse 1.4s ease-in-out infinite;display:inline-block;line-height:1}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:.3}50%{opacity:1}}"]})};var Kh=class t{constructor(e,A){this.http=e;this.zone=A}apiServerDomain=zr.getApiServerBaseUrl();_currentApp=new Ht("");currentApp=this._currentApp.asObservable();isLoading=new Ht(!1);getApp(){return this.currentApp}setApp(e){this._currentApp.next(e)}getLoadingState(){return this.isLoading}runSse(e){let A=this.apiServerDomain+"/run_sse";return this.isLoading.next(!0),new $i(i=>{let n=this;fetch(A,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e)}).then(o=>{let a=o.body?.getReader(),r=new TextDecoder("utf-8"),s="",g=()=>{a?.read().then(({done:l,value:C})=>{if(this.isLoading.next(!0),l)return this.isLoading.next(!1),i.complete();let I=r.decode(C,{stream:!0});s+=I;try{s.split(/\r?\n/).filter(B=>B.startsWith("data:")).forEach(B=>{let E=B.replace(/^data:\s*/,""),Q=JSON.parse(E);n.zone.run(()=>i.next(Q))}),s=""}catch(d){d instanceof SyntaxError&&g()}g()}).catch(l=>{n.zone.run(()=>i.error(l))})};g()}).catch(o=>{n.zone.run(()=>i.error(o))})})}listApps(){if(this.apiServerDomain!=null){let e=this.apiServerDomain+"/list-apps?relative_path=./";return this.http.get(e)}return new $i}agentBuild(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+"/builder/save";return this.http.post(A,e)}return new $i}agentBuildTmp(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+"/builder/save?tmp=true";return this.http.post(A,e)}return new $i}getAgentBuilder(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/builder/app/${e}?ts=${Date.now()}`;return this.http.get(A,{responseType:"text"})}return new $i}getAgentBuilderTmp(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/builder/app/${e}?ts=${Date.now()}&tmp=true`;return this.http.get(A,{responseType:"text"})}return new $i}getSubAgentBuilder(e,A){if(this.apiServerDomain!=null){let i=this.apiServerDomain+`/builder/app/${e}?ts=${Date.now()}&file_path=${A}&tmp=true`;return this.http.get(i,{responseType:"text"})}return new $i}agentChangeCancel(e){if(this.apiServerDomain!=null){let A=this.apiServerDomain+`/builder/app/${e}/cancel`;return this.http.post(A,{})}return new $i}static \u0275fac=function(A){return new(A||t)(xo(Xs),xo(Oe))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Gv="http://www.w3.org/1999/xhtml",RG={svg:"http://www.w3.org/2000/svg",xhtml:Gv,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function I2(t){var e=t+="",A=e.indexOf(":");return A>=0&&(e=t.slice(0,A))!=="xmlns"&&(t=t.slice(A+1)),RG.hasOwnProperty(e)?{space:RG[e],local:t}:t}function nLA(t){return function(){var e=this.ownerDocument,A=this.namespaceURI;return A===Gv&&e.documentElement.namespaceURI===Gv?e.createElement(t):e.createElementNS(A,t)}}function oLA(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Kv(t){var e=I2(t);return(e.local?oLA:nLA)(e)}function aLA(){}function rB(t){return t==null?aLA:function(){return this.querySelector(t)}}function yaA(t){typeof t!="function"&&(t=rB(t));for(var e=this._groups,A=e.length,i=new Array(A),n=0;n=S&&(S=b+1);!(D=Q[S])&&++S=0;)(a=i[n])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function GaA(t){t||(t=uLA);function e(C,I){return C&&I?t(C.__data__,I.__data__):!C-!I}for(var A=this._groups,i=A.length,n=new Array(i),o=0;oe?1:t>=e?0:NaN}function KaA(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function UaA(){return Array.from(this)}function JaA(){for(var t=this._groups,e=0,A=t.length;e1?this.each((e==null?vLA:typeof e=="function"?MLA:bLA)(t,e,A??"")):g1(this.node(),t)}function g1(t,e){return t.style.getPropertyValue(e)||Yv(t).getComputedStyle(t,null).getPropertyValue(e)}function kLA(t){return function(){delete this[t]}}function SLA(t,e){return function(){this[t]=e}}function xLA(t,e){return function(){var A=e.apply(this,arguments);A==null?delete this[t]:this[t]=A}}function PaA(t,e){return arguments.length>1?this.each((e==null?kLA:typeof e=="function"?xLA:SLA)(t,e)):this.node()[t]}function jaA(t){return t.trim().split(/^|\s+/)}function FG(t){return t.classList||new qaA(t)}function qaA(t){this._node=t,this._names=jaA(t.getAttribute("class")||"")}qaA.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function VaA(t,e){for(var A=FG(t),i=-1,n=e.length;++i=0&&(A=e.slice(i+1),e=e.slice(0,i)),{type:e,name:A}})}function VLA(t){return function(){var e=this.__on;if(e){for(var A=0,i=-1,n=e.length,o;A{}};function drA(){for(var t=0,e=arguments.length,A={},i;t=0&&(i=A.slice(n+1),A=A.slice(0,n)),A&&!e.hasOwnProperty(A))throw new Error("unknown type: "+A);return{type:A,name:i}})}Tv.prototype=drA.prototype={constructor:Tv,on:function(t,e){var A=this._,i=eGA(t+"",A),n,o=-1,a=i.length;if(arguments.length<2){for(;++o0)for(var A=new Array(n),i=0,n,o;i()=>t;function pm(t,{sourceEvent:e,subject:A,target:i,identifier:n,active:o,x:a,y:r,dx:s,dy:g,dispatch:l}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:A,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:n,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:g,enumerable:!0,configurable:!0},_:{value:l}})}pm.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function iGA(t){return!t.ctrlKey&&!t.button}function nGA(){return this.parentNode}function oGA(t,e){return e??{x:t.x,y:t.y}}function aGA(){return navigator.maxTouchPoints||"ontouchstart"in this}function zv(){var t=iGA,e=nGA,A=oGA,i=aGA,n={},o=sB("start","drag","end"),a=0,r,s,g,l,C=0;function I(M){M.on("mousedown.drag",d).filter(i).on("touchstart.drag",Q).on("touchmove.drag",f,BrA).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(M,D){if(!(l||!t.call(this,M,D))){var F=S(this,e.call(this,M,D),M,D,"mouse");F&&(_r(M.view).on("mousemove.drag",B,gB).on("mouseup.drag",E,gB),um(M.view),Hv(M),g=!1,r=M.clientX,s=M.clientY,F("start",M))}}function B(M){if(l1(M),!g){var D=M.clientX-r,F=M.clientY-s;g=D*D+F*F>C}n.mouse("drag",M)}function E(M){_r(M.view).on("mousemove.drag mouseup.drag",null),fm(M.view,g),l1(M),n.mouse("end",M)}function Q(M,D){if(t.call(this,M,D)){var F=M.changedTouches,_=e.call(this,M,D),U=F.length,J,j;for(J=0;J>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):A===8?Pv(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):A===4?Pv(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=sGA.exec(t))?new Mg(e[1],e[2],e[3],1):(e=gGA.exec(t))?new Mg(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=lGA.exec(t))?Pv(e[1],e[2],e[3],e[4]):(e=cGA.exec(t))?Pv(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=CGA.exec(t))?prA(e[1],e[2]/100,e[3]/100,1):(e=IGA.exec(t))?prA(e[1],e[2]/100,e[3]/100,e[4]):ErA.hasOwnProperty(t)?urA(ErA[t]):t==="transparent"?new Mg(NaN,NaN,NaN,0):null}function urA(t){return new Mg(t>>16&255,t>>8&255,t&255,1)}function Pv(t,e,A,i){return i<=0&&(t=e=A=NaN),new Mg(t,e,A,i)}function EGA(t){return t instanceof ym||(t=c1(t)),t?(t=t.rgb(),new Mg(t.r,t.g,t.b,t.opacity)):new Mg}function Jh(t,e,A,i){return arguments.length===1?EGA(t):new Mg(t,e,A,i??1)}function Mg(t,e,A,i){this.r=+t,this.g=+e,this.b=+A,this.opacity=+i}Ov(Mg,Jh,LG(ym,{brighter(t){return t=t==null?qv:Math.pow(qv,t),new Mg(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?wm:Math.pow(wm,t),new Mg(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Mg(cB(this.r),cB(this.g),cB(this.b),Vv(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:frA,formatHex:frA,formatHex8:QGA,formatRgb:mrA,toString:mrA}));function frA(){return`#${lB(this.r)}${lB(this.g)}${lB(this.b)}`}function QGA(){return`#${lB(this.r)}${lB(this.g)}${lB(this.b)}${lB((isNaN(this.opacity)?1:this.opacity)*255)}`}function mrA(){let t=Vv(this.opacity);return`${t===1?"rgb(":"rgba("}${cB(this.r)}, ${cB(this.g)}, ${cB(this.b)}${t===1?")":`, ${t})`}`}function Vv(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function cB(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function lB(t){return t=cB(t),(t<16?"0":"")+t.toString(16)}function prA(t,e,A,i){return i<=0?t=e=A=NaN:A<=0||A>=1?t=e=NaN:e<=0&&(t=NaN),new Wc(t,e,A,i)}function DrA(t){if(t instanceof Wc)return new Wc(t.h,t.s,t.l,t.opacity);if(t instanceof ym||(t=c1(t)),!t)return new Wc;if(t instanceof Wc)return t;t=t.rgb();var e=t.r/255,A=t.g/255,i=t.b/255,n=Math.min(e,A,i),o=Math.max(e,A,i),a=NaN,r=o-n,s=(o+n)/2;return r?(e===o?a=(A-i)/r+(A0&&s<1?0:a,new Wc(a,r,s,t.opacity)}function yrA(t,e,A,i){return arguments.length===1?DrA(t):new Wc(t,e,A,i??1)}function Wc(t,e,A,i){this.h=+t,this.s=+e,this.l=+A,this.opacity=+i}Ov(Wc,yrA,LG(ym,{brighter(t){return t=t==null?qv:Math.pow(qv,t),new Wc(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?wm:Math.pow(wm,t),new Wc(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,A=this.l,i=A+(A<.5?A:1-A)*e,n=2*A-i;return new Mg(GG(t>=240?t-240:t+120,n,i),GG(t,n,i),GG(t<120?t+240:t-120,n,i),this.opacity)},clamp(){return new Wc(wrA(this.h),jv(this.s),jv(this.l),Vv(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(){let t=Vv(this.opacity);return`${t===1?"hsl(":"hsla("}${wrA(this.h)}, ${jv(this.s)*100}%, ${jv(this.l)*100}%${t===1?")":`, ${t})`}`}}));function wrA(t){return t=(t||0)%360,t<0?t+360:t}function jv(t){return Math.max(0,Math.min(1,t||0))}function GG(t,e,A){return(t<60?e+(A-e)*t/60:t<180?A:t<240?e+(A-e)*(240-t)/60:e)*255}function KG(t,e,A,i,n){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*A+(1+3*t+3*o-3*a)*i+a*n)/6}function vrA(t){var e=t.length-1;return function(A){var i=A<=0?A=0:A>=1?(A=1,e-1):Math.floor(A*e),n=t[i],o=t[i+1],a=i>0?t[i-1]:2*n-o,r=i()=>t;function hGA(t,e){return function(A){return t+A*e}}function uGA(t,e,A){return t=Math.pow(t,A),e=Math.pow(e,A)-t,A=1/A,function(i){return Math.pow(t+i*e,A)}}function MrA(t){return(t=+t)==1?Wv:function(e,A){return A-e?uGA(e,A,t):UG(isNaN(e)?A:e)}}function Wv(t,e){var A=e-t;return A?hGA(t,A):UG(isNaN(t)?e:t)}var Zv=(function t(e){var A=MrA(e);function i(n,o){var a=A((n=Jh(n)).r,(o=Jh(o)).r),r=A(n.g,o.g),s=A(n.b,o.b),g=Wv(n.opacity,o.opacity);return function(l){return n.r=a(l),n.g=r(l),n.b=s(l),n.opacity=g(l),n+""}}return i.gamma=t,i})(1);function krA(t){return function(e){var A=e.length,i=new Array(A),n=new Array(A),o=new Array(A),a,r;for(a=0;aA&&(o=e.slice(A,o),r[a]?r[a]+=o:r[++a]=o),(i=i[0])===(n=n[0])?r[a]?r[a]+=n:r[++a]=n:(r[++a]=null,s.push({i:a,x:Ol(i,n)})),A=JG.lastIndex;return A180?l+=360:l-g>180&&(g+=360),I.push({i:C.push(n(C)+"rotate(",null,i)-2,x:Ol(g,l)})):l&&C.push(n(C)+"rotate("+l+i)}function r(g,l,C,I){g!==l?I.push({i:C.push(n(C)+"skewX(",null,i)-2,x:Ol(g,l)}):l&&C.push(n(C)+"skewX("+l+i)}function s(g,l,C,I,d,B){if(g!==C||l!==I){var E=d.push(n(d)+"scale(",null,",",null,")");B.push({i:E-4,x:Ol(g,C)},{i:E-2,x:Ol(l,I)})}else(C!==1||I!==1)&&d.push(n(d)+"scale("+C+","+I+")")}return function(g,l){var C=[],I=[];return g=t(g),l=t(l),o(g.translateX,g.translateY,l.translateX,l.translateY,C,I),a(g.rotate,l.rotate,C,I),r(g.skewX,l.skewX,C,I),s(g.scaleX,g.scaleY,l.scaleX,l.scaleY,C,I),g=l=null,function(d){for(var B=-1,E=I.length,Q;++B=0&&t._call.call(void 0,e),t=t._next;--Yh}function _rA(){CB=(e7=km.now())+t7,Yh=bm=0;try{KrA()}finally{Yh=0,kGA(),CB=0}}function MGA(){var t=km.now(),e=t-e7;e>LrA&&(t7-=e,e7=t)}function kGA(){for(var t,e=A7,A,i=1/0;e;)e._call?(i>e._time&&(i=e._time),t=e,e=e._next):(A=e._next,e._next=null,e=t?t._next=A:A7=A);Mm=t,jG(i)}function jG(t){if(!Yh){bm&&(bm=clearTimeout(bm));var e=t-CB;e>24?(t<1/0&&(bm=setTimeout(_rA,t-km.now()-t7)),vm&&(vm=clearInterval(vm))):(vm||(e7=km.now(),vm=setInterval(MGA,LrA)),Yh=1,GrA(_rA))}}function n7(t,e,A){var i=new Sm;return e=e==null?0:+e,i.restart(n=>{i.stop(),t(n+e)},e,A),i}var SGA=sB("start","end","cancel","interrupt"),xGA=[],YrA=0,UrA=1,a7=2,o7=3,JrA=4,r7=5,Rm=6;function C1(t,e,A,i,n,o){var a=t.__transition;if(!a)t.__transition={};else if(A in a)return;RGA(t,A,{name:e,index:i,group:n,on:SGA,tween:xGA,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:YrA})}function Nm(t,e){var A=fr(t,e);if(A.state>YrA)throw new Error("too late; already scheduled");return A}function ns(t,e){var A=fr(t,e);if(A.state>o7)throw new Error("too late; already running");return A}function fr(t,e){var A=t.__transition;if(!A||!(A=A[e]))throw new Error("transition not found");return A}function RGA(t,e,A){var i=t.__transition,n;i[e]=A,A.timer=i7(o,0,A.time);function o(g){A.state=UrA,A.timer.restart(a,A.delay,A.time),A.delay<=g&&a(g-A.delay)}function a(g){var l,C,I,d;if(A.state!==UrA)return s();for(l in i)if(d=i[l],d.name===A.name){if(d.state===o7)return n7(a);d.state===JrA?(d.state=Rm,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[l]):+la7&&i.state=0&&(e=e.slice(0,A)),!e||e==="start"})}function XGA(t,e,A){var i,n,o=ZGA(e)?Nm:ns;return function(){var a=o(this,t),r=a.on;r!==i&&(n=(i=r).copy()).on(e,A),a.on=n}}function XrA(t,e){var A=this._id;return arguments.length<2?fr(this.node(),A).on.on(t):this.each(XGA(A,t,e))}function $GA(t){return function(){var e=this.parentNode;for(var A in this.__transition)if(+A!==t)return;e&&e.removeChild(this)}}function $rA(){return this.on("end.remove",$GA(this._id))}function AsA(t){var e=this._name,A=this._id;typeof t!="function"&&(t=rB(t));for(var i=this._groups,n=i.length,o=new Array(n),a=0;a()=>t;function qG(t,{sourceEvent:e,target:A,transform:i,dispatch:n}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:A,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:n}})}function Zc(t,e,A){this.k=t,this.x=e,this.y=A}Zc.prototype={constructor:Zc,scale:function(t){return t===1?this:new Zc(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Zc(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var I1=new Zc(1,0,0);VG.prototype=Zc.prototype;function VG(t){for(;!t.__zoom;)if(!(t=t.parentNode))return I1;return t.__zoom}function c7(t){t.stopImmediatePropagation()}function Hh(t){t.preventDefault(),t.stopImmediatePropagation()}function dKA(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function BKA(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function CsA(){return this.__zoom||I1}function EKA(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function QKA(){return navigator.maxTouchPoints||"ontouchstart"in this}function hKA(t,e,A){var i=t.invertX(e[0][0])-A[0][0],n=t.invertX(e[1][0])-A[1][0],o=t.invertY(e[0][1])-A[0][1],a=t.invertY(e[1][1])-A[1][1];return t.translate(n>i?(i+n)/2:Math.min(0,i)||Math.max(0,n),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function WG(){var t=dKA,e=BKA,A=hKA,i=EKA,n=QKA,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],r=250,s=PG,g=sB("start","zoom","end"),l,C,I,d=500,B=150,E=0,Q=10;function f(P){P.property("__zoom",CsA).on("wheel.zoom",U,{passive:!1}).on("mousedown.zoom",J).on("dblclick.zoom",j).filter(n).on("touchstart.zoom",AA).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",DA).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}f.transform=function(P,aA,iA,BA){var oA=P.selection?P.selection():P;oA.property("__zoom",CsA),P!==oA?D(P,aA,iA,BA):oA.interrupt().each(function(){F(this,arguments).event(BA).start().zoom(null,typeof aA=="function"?aA.apply(this,arguments):aA).end()})},f.scaleBy=function(P,aA,iA,BA){f.scaleTo(P,function(){var oA=this.__zoom.k,sA=typeof aA=="function"?aA.apply(this,arguments):aA;return oA*sA},iA,BA)},f.scaleTo=function(P,aA,iA,BA){f.transform(P,function(){var oA=e.apply(this,arguments),sA=this.__zoom,hA=iA==null?M(oA):typeof iA=="function"?iA.apply(this,arguments):iA,YA=sA.invert(hA),ee=typeof aA=="function"?aA.apply(this,arguments):aA;return A(S(b(sA,ee),hA,YA),oA,a)},iA,BA)},f.translateBy=function(P,aA,iA,BA){f.transform(P,function(){return A(this.__zoom.translate(typeof aA=="function"?aA.apply(this,arguments):aA,typeof iA=="function"?iA.apply(this,arguments):iA),e.apply(this,arguments),a)},null,BA)},f.translateTo=function(P,aA,iA,BA,oA){f.transform(P,function(){var sA=e.apply(this,arguments),hA=this.__zoom,YA=BA==null?M(sA):typeof BA=="function"?BA.apply(this,arguments):BA;return A(I1.translate(YA[0],YA[1]).scale(hA.k).translate(typeof aA=="function"?-aA.apply(this,arguments):-aA,typeof iA=="function"?-iA.apply(this,arguments):-iA),sA,a)},BA,oA)};function b(P,aA){return aA=Math.max(o[0],Math.min(o[1],aA)),aA===P.k?P:new Zc(aA,P.x,P.y)}function S(P,aA,iA){var BA=aA[0]-iA[0]*P.k,oA=aA[1]-iA[1]*P.k;return BA===P.x&&oA===P.y?P:new Zc(P.k,BA,oA)}function M(P){return[(+P[0][0]+ +P[1][0])/2,(+P[0][1]+ +P[1][1])/2]}function D(P,aA,iA,BA){P.on("start.zoom",function(){F(this,arguments).event(BA).start()}).on("interrupt.zoom end.zoom",function(){F(this,arguments).event(BA).end()}).tween("zoom",function(){var oA=this,sA=arguments,hA=F(oA,sA).event(BA),YA=e.apply(oA,sA),ee=iA==null?M(YA):typeof iA=="function"?iA.apply(oA,sA):iA,UA=Math.max(YA[1][0]-YA[0][0],YA[1][1]-YA[0][1]),mA=oA.__zoom,KA=typeof aA=="function"?aA.apply(oA,sA):aA,Pe=s(mA.invert(ee).concat(UA/mA.k),KA.invert(ee).concat(UA/KA.k));return function(Je){if(Je===1)Je=KA;else{var HA=Pe(Je),uA=UA/HA[2];Je=new Zc(uA,ee[0]-HA[0]*uA,ee[1]-HA[1]*uA)}hA.zoom(null,Je)}})}function F(P,aA,iA){return!iA&&P.__zooming||new _(P,aA)}function _(P,aA){this.that=P,this.args=aA,this.active=0,this.sourceEvent=null,this.extent=e.apply(P,aA),this.taps=0}_.prototype={event:function(P){return P&&(this.sourceEvent=P),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(P,aA){return this.mouse&&P!=="mouse"&&(this.mouse[1]=aA.invert(this.mouse[0])),this.touch0&&P!=="touch"&&(this.touch0[1]=aA.invert(this.touch0[0])),this.touch1&&P!=="touch"&&(this.touch1[1]=aA.invert(this.touch1[0])),this.that.__zoom=aA,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(P){var aA=_r(this.that).datum();g.call(P,this.that,new qG(P,{sourceEvent:this.sourceEvent,target:f,type:P,transform:this.that.__zoom,dispatch:g}),aA)}};function U(P,...aA){if(!t.apply(this,arguments))return;var iA=F(this,aA).event(P),BA=this.__zoom,oA=Math.max(o[0],Math.min(o[1],BA.k*Math.pow(2,i.apply(this,arguments)))),sA=zl(P);if(iA.wheel)(iA.mouse[0][0]!==sA[0]||iA.mouse[0][1]!==sA[1])&&(iA.mouse[1]=BA.invert(iA.mouse[0]=sA)),clearTimeout(iA.wheel);else{if(BA.k===oA)return;iA.mouse=[sA,BA.invert(sA)],IB(this),iA.start()}Hh(P),iA.wheel=setTimeout(hA,B),iA.zoom("mouse",A(S(b(BA,oA),iA.mouse[0],iA.mouse[1]),iA.extent,a));function hA(){iA.wheel=null,iA.end()}}function J(P,...aA){if(I||!t.apply(this,arguments))return;var iA=P.currentTarget,BA=F(this,aA,!0).event(P),oA=_r(P.view).on("mousemove.zoom",ee,!0).on("mouseup.zoom",UA,!0),sA=zl(P,iA),hA=P.clientX,YA=P.clientY;um(P.view),c7(P),BA.mouse=[sA,this.__zoom.invert(sA)],IB(this),BA.start();function ee(mA){if(Hh(mA),!BA.moved){var KA=mA.clientX-hA,Pe=mA.clientY-YA;BA.moved=KA*KA+Pe*Pe>E}BA.event(mA).zoom("mouse",A(S(BA.that.__zoom,BA.mouse[0]=zl(mA,iA),BA.mouse[1]),BA.extent,a))}function UA(mA){oA.on("mousemove.zoom mouseup.zoom",null),fm(mA.view,BA.moved),Hh(mA),BA.event(mA).end()}}function j(P,...aA){if(t.apply(this,arguments)){var iA=this.__zoom,BA=zl(P.changedTouches?P.changedTouches[0]:P,this),oA=iA.invert(BA),sA=iA.k*(P.shiftKey?.5:2),hA=A(S(b(iA,sA),BA,oA),e.apply(this,aA),a);Hh(P),r>0?_r(this).transition().duration(r).call(D,hA,BA,P):_r(this).call(f.transform,hA,BA,P)}}function AA(P,...aA){if(t.apply(this,arguments)){var iA=P.touches,BA=iA.length,oA=F(this,aA,P.changedTouches.length===BA).event(P),sA,hA,YA,ee;for(c7(P),hA=0;hA{let A=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),i=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(A*i)};function ksA(t){if(t.length===0)return{x:0,y:0,width:0,height:0};let e={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return t.forEach(A=>{let i=JUA(A);e=TUA(e,i)}),YUA(e)}function UUA(t,e,A){let i=e.find(o=>o.rawNode.id===t);if(!i)return[];let n=I7(i);return e.filter(o=>{if(o.rawNode.id===t)return!1;let a=KUA(I7(o),n);return A?.partially?a>0:a>=n.width*n.height})}function JUA(t){return{x:t.point().x,y:t.point().y,x2:t.point().x+t.size().width,y2:t.point().y+t.size().height}}function I7(t){return{x:t.globalPoint().x,y:t.globalPoint().y,width:t.width(),height:t.height()}}function YUA({x:t,y:e,x2:A,y2:i}){return{x:t,y:e,width:A-t,height:i-e}}function TUA(t,e){return{x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}}var d7=class{constructor(e){this.settings=e,this.curve=e.curve??"bezier",this.type=e.type??"default",this.mode=e.mode??"strict";let A=this.getValidators(e);this.validator=i=>A.every(n=>n(i))}getValidators(e){let A=[];return A.push(HUA),this.mode==="loose"&&A.push(zUA),e.validator&&A.push(e.validator),A}},HUA=t=>t.source!==t.target,zUA=t=>t.sourceHandle!==void 0&&t.targetHandle!==void 0;function Oh(t){return t.split("").reduce((e,A)=>(e=(e<<5)-e+A.charCodeAt(0),e&e),0)}var Sg=(()=>{class t{constructor(){this.nodes=jA([],{equal:(A,i)=>!A.length&&!i.length?!0:A===i}),this.rawNodes=Ue(()=>this.nodes().map(A=>A.rawNode)),this.edges=jA([],{equal:(A,i)=>!A.length&&!i.length?!0:A===i}),this.rawEdges=Ue(()=>this.edges().map(A=>A.edge)),this.validEdges=Ue(()=>{let A=this.nodes();return this.edges().filter(i=>A.includes(i.source())&&A.includes(i.target()))}),this.connection=jA(new d7({})),this.markers=Ue(()=>{let A=new Map;this.validEdges().forEach(n=>{if(n.edge.markers?.start){let o=Oh(JSON.stringify(n.edge.markers.start));A.set(o,n.edge.markers.start)}if(n.edge.markers?.end){let o=Oh(JSON.stringify(n.edge.markers.end));A.set(o,n.edge.markers.end)}});let i=this.connection().settings.marker;if(i){let n=Oh(JSON.stringify(i));A.set(n,i)}return A}),this.entities=Ue(()=>[...this.nodes(),...this.edges()]),this.minimap=jA(null)}getNode(A){return this.nodes().find(({rawNode:i})=>i.id===A)}getDetachedEdges(){return this.edges().filter(A=>A.detached())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function OUA(t,e,A,i,n,o){let a=e/(t.width*(1+o)),r=A/(t.height*(1+o)),s=Math.min(a,r),g=PUA(s,i,n),l=t.x+t.width/2,C=t.y+t.height/2,I=e/2-l*g,d=A/2-C*g;return{x:I,y:d,zoom:g}}function PUA(t,e=0,A=1){return Math.min(Math.max(t,e),A)}function jUA(t,e,A){let i=t.zoom;return{x:-t.x/i,y:-t.y/i,width:e/i,height:A/i}}function qUA(t,e,A,i){let n=jUA(e,A,i);return!(t.x+t.widthn.x+n.width||t.y+t.heightn.y+n.height)}var VUA={detachedGroupsLayer:!1,virtualization:!1,virtualizationZoomThreshold:.5,lazyLoadTrigger:"immediate"},bs=(()=>{class t{constructor(){this.entitiesSelectable=jA(!0),this.elevateNodesOnSelect=jA(!0),this.elevateEdgesOnSelect=jA(!0),this.view=jA([400,400]),this.computedFlowWidth=jA(0),this.computedFlowHeight=jA(0),this.minZoom=jA(.5),this.maxZoom=jA(3),this.background=jA({type:"solid",color:"#fff"}),this.snapGrid=jA([1,1]),this.optimization=jA(VUA)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),dB=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.flowSettingsService=h(bs),this.writableViewport=jA({changeType:"initial",state:t.getDefaultViewport(),duration:0}),this.readableViewport=jA(t.getDefaultViewport()),this.viewportChangeEnd$=new XA}static getDefaultViewport(){return{zoom:1,x:0,y:0}}fitView(A={padding:.1,duration:0,nodes:[]}){let i=this.getBoundsNodes(A.nodes??[]),n=OUA(ksA(i),this.flowSettingsService.computedFlowWidth(),this.flowSettingsService.computedFlowHeight(),this.flowSettingsService.minZoom(),this.flowSettingsService.maxZoom(),A.padding??.1),o=A.duration??0;this.writableViewport.set({changeType:"absolute",state:n,duration:o})}triggerViewportChangeEvent(A){A==="end"&&this.viewportChangeEnd$.next()}getBoundsNodes(A){return A?.length?A.map(i=>this.entitiesService.nodes().find(({rawNode:n})=>n.id===i)).filter(i=>!!i):this.entitiesService.nodes()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function E2(t){return t!==void 0}var w7=(()=>{class t{constructor(){this.element=h(ge).nativeElement}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","rootSvgRef",""]]})}}return t})();function IsA(){let t=window.navigator.userAgent.toLowerCase(),e=/(macintosh|macintel|macppc|mac68k|macos)/i,A=/(win32|win64|windows|wince)/i,i=/(iphone|ipad|ipod)/i,n=null;return e.test(t)?n="macos":i.test(t)?n="ios":A.test(t)?n="windows":/android/.test(t)?n="android":!n&&/linux/.test(t)&&(n="linux"),n}var AK=(()=>{class t{constructor(){this.actions=jA({multiSelection:[IsA()==="macos"?"MetaLeft":"ControlLeft",IsA()==="macos"?"MetaRight":"ControlRight"]}),this.actionsActive={multiSelection:!1},$n(this.actions).pipe(Si(()=>fi(nl(document,"keydown").pipe(oi(A=>{for(let i in this.actions())(this.actions()[i]??[]).includes(A.code)&&(this.actionsActive[i]=!0)})),nl(document,"keyup").pipe(oi(A=>{for(let i in this.actions())(this.actions()[i]??[]).includes(A.code)&&(this.actionsActive[i]=!1)})))),Tr()).subscribe()}setShortcuts(A){this.actions.update(i=>cA(cA({},i),A))}isActiveAction(A){return this.actionsActive[A]}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),Um=(()=>{class t{constructor(){this.flowEntitiesService=h(Sg),this.keyboardService=h(AK),this.viewport$=new XA,this.resetSelection=this.viewport$.pipe(oi(({start:A,end:i,target:n})=>{if(A&&i&&n){let o=t.delta,a=Math.abs(i.x-A.x),r=Math.abs(i.y-A.y),s=ai.selected.set(!1)),A&&A.selected.set(!0))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),ZG=(()=>{class t{constructor(){this.rootSvg=h(w7).element,this.host=h(ge).nativeElement,this.selectionService=h(Um),this.viewportService=h(dB),this.flowSettingsService=h(bs),this.zone=h(Oe),this.rootSvgSelection=_r(this.rootSvg),this.transform=jA(""),this.viewportForSelection={},this.manualViewportChangeEffect=Ga(()=>{let A=this.viewportService.writableViewport(),i=A.state;if(A.changeType!=="initial"){if(E2(i.zoom)&&!E2(i.x)&&!E2(i.y)){this.rootSvgSelection.transition().duration(A.duration).call(this.zoomBehavior.scaleTo,i.zoom);return}if(E2(i.x)&&E2(i.y)&&!E2(i.zoom)){let n=la(this.viewportService.readableViewport).zoom;this.rootSvgSelection.transition().duration(A.duration).call(this.zoomBehavior.transform,I1.translate(i.x,i.y).scale(n));return}if(E2(i.x)&&E2(i.y)&&E2(i.zoom)){this.rootSvgSelection.transition().duration(A.duration).call(this.zoomBehavior.transform,I1.translate(i.x,i.y).scale(i.zoom));return}}},{allowSignalWrites:!0}),this.handleZoom=({transform:A})=>{this.viewportService.readableViewport.set(XG(A)),this.transform.set(A.toString())},this.handleZoomStart=({transform:A})=>{this.viewportForSelection={start:XG(A)}},this.handleZoomEnd=({transform:A,sourceEvent:i})=>{this.zone.run(()=>{this.viewportForSelection=Ge(cA({},this.viewportForSelection),{end:XG(A),target:WUA(i)}),this.viewportService.triggerViewportChangeEvent("end"),this.selectionService.setViewport(this.viewportForSelection)})},this.filterCondition=A=>A.type==="mousedown"||A.type==="touchstart"?A.target.closest(".vflow-node")===null:!0}ngOnInit(){this.zone.runOutsideAngular(()=>{this.zoomBehavior=WG().scaleExtent([this.flowSettingsService.minZoom(),this.flowSettingsService.maxZoom()]).filter(this.filterCondition).on("start",this.handleZoomStart).on("zoom",this.handleZoom).on("end",this.handleZoomEnd),this.rootSvgSelection.call(this.zoomBehavior).on("dblclick.zoom",null)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["g","mapContext",""]],hostVars:1,hostBindings:function(i,n){i&2&&ie("transform",n.transform())}})}}return t})(),XG=t=>({zoom:t.k,x:t.x,y:t.y}),WUA=t=>{if(t instanceof Event&&t.target instanceof Element)return t.target},B7=t=>Math.round(t*100)/100;function kg(t,e){return Math.ceil(t/e)*e}var d1=(()=>{class t{constructor(){this.status=jA({state:"idle",payload:null})}setIdleStatus(){this.status.set({state:"idle",payload:null})}setConnectionStartStatus(A,i){this.status.set({state:"connection-start",payload:{source:A,sourceHandle:i}})}setReconnectionStartStatus(A,i,n){this.status.set({state:"reconnection-start",payload:{source:A,sourceHandle:i,oldEdge:n}})}setConnectionValidationStatus(A,i,n,o,a){this.status.set({state:"connection-validation",payload:{source:i,target:n,sourceHandle:o,targetHandle:a,valid:A}})}setReconnectionValidationStatus(A,i,n,o,a,r){this.status.set({state:"reconnection-validation",payload:{source:i,target:n,sourceHandle:o,targetHandle:a,valid:A,oldEdge:r}})}setConnectionEndStatus(A,i,n,o){this.status.set({state:"connection-end",payload:{source:A,target:i,sourceHandle:n,targetHandle:o}})}setReconnectionEndStatus(A,i,n,o,a){this.status.set({state:"reconnection-end",payload:{source:A,target:i,sourceHandle:n,targetHandle:o,oldEdge:a}})}setNodeDragStartStatus(A){this.status.set({state:"node-drag-start",payload:{node:A}})}setNodeDragEndStatus(A){this.status.set({state:"node-drag-end",payload:{node:A}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function dsA(t){return t.state==="node-drag-start"}function ZUA(t){return t.state==="node-drag-end"}var SsA=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.settingsService=h(bs),this.flowStatusService=h(d1)}enable(A,i){_r(A).call(this.getDragBehavior(i))}disable(A){_r(A).call(zv().on("drag",null))}destroy(A){_r(A).on(".drag",null)}getDragBehavior(A){let i=[],n=[],o=a=>A.dragHandlesCount()?!!a.target.closest(".vflow-drag-handle"):!0;return zv().filter(o).on("start",a=>{i=this.getDragNodes(A),this.flowStatusService.setNodeDragStartStatus(A),n=i.map(r=>({x:r.point().x-a.x,y:r.point().y-a.y}))}).on("drag",a=>{i.forEach((r,s)=>{let g={x:B7(a.x+n[s].x),y:B7(a.y+n[s].y)};this.moveNode(r,g)})}).on("end",()=>{this.flowStatusService.setNodeDragEndStatus(A)})}getDragNodes(A){return A.selected()?this.entitiesService.nodes().filter(i=>i.selected()&&i.draggable()):[A]}moveNode(A,i){i=this.alignToGrid(i);let n=A.parent();n&&(i.x=Math.min(n.width()-A.width(),i.x),i.x=Math.max(0,i.x),i.y=Math.min(n.height()-A.height(),i.y),i.y=Math.max(0,i.y)),A.setPoint(i)}alignToGrid(A){let[i,n]=this.settingsService.snapGrid();return i>1&&(A.x=kg(A.x,i)),n>1&&(A.y=kg(A.y,n)),A}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),BsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","edge",""]]})}}return t})(),EsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","connection",""]]})}}return t})(),QsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","edgeLabelHtml",""]]})}}return t})(),E7=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","nodeHtml",""]]})}}return t})(),hsA=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","nodeSvg",""]]})}}return t})(),Q7=(()=>{class t{constructor(){this.templateRef=h(Tn)}static ngTemplateContextGuard(A,i){return!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["ng-template","groupNode",""]]})}}return t})();function usA(t,e){let A=t.reduce((i,n)=>(i[n.rawNode.id]=n,i),{});e.forEach(i=>{i.source.set(A[i.edge.source]),i.target.set(A[i.edge.target])})}function Gm(t){try{return new Proxy(t,{apply:()=>{}})(),!0}catch{return!1}}var eK=(()=>{class t{constructor(){this._event$=new XA,this.event$=this._event$.asObservable()}pushEvent(A){this._event$.next(A)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),Ph=(()=>{class t{constructor(){this.model=jA(null)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),xsA=(()=>{class t{constructor(){this.eventBus=h(eK),this.nodeService=h(Ph),this.destroyRef=h(qa),this.selected=this.nodeService.model().selected,this.data=jA(void 0)}ngOnInit(){this.trackEvents().pipe(Tr(this.destroyRef)).subscribe()}trackEvents(){let A=Object.getOwnPropertyNames(this),i=new Map;for(let n of A){let o=this[n];o instanceof $A&&i.set(o,n),o instanceof bU&&i.set(XUA(o),n)}return fi(...Array.from(i.keys()).map(n=>n.pipe(oi(o=>{this.eventBus.pushEvent({nodeId:this.nodeService.model()?.rawNode.id??"",eventName:i.get(n),eventPayload:o})}))))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,standalone:!1})}}return t})();function XUA(t){return new $i(e=>{let A=t.subscribe(i=>{e.next(i)});return()=>{A.unsubscribe()}})}var $UA=(()=>{class t extends xsA{constructor(){super(...arguments),this.node=rt.required()}ngOnInit(){let A=this.node().data;A&&(this.data=A),super.ngOnInit()}static{this.\u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})()}static{this.\u0275dir=OA({type:t,inputs:{node:[1,"node"]},standalone:!1,features:[It]})}}return t})(),AJA=(()=>{class t extends xsA{constructor(){super(...arguments),this.node=rt.required()}ngOnInit(){this.node().data&&this.data.set(this.node().data),super.ngOnInit()}static{this.\u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})()}static{this.\u0275dir=OA({type:t,inputs:{node:[1,"node"]},standalone:!1,features:[It]})}}return t})();function RsA(t){return Object.prototype.isPrototypeOf.call(AJA,t)}function NsA(t){return Object.prototype.isPrototypeOf.call($UA,t)}function eJA(t){return typeof t.point=="function"}function tJA(t){return RsA(t.type)?!0:Gm(t.type)&&!Gm(t.point)}function iJA(t){return NsA(t.type)?!0:Gm(t.type)&&Gm(t.point)}var h7=2;function nJA(t){return eJA(t)?t:Ge(cA({},oJA(t)),{id:t.id,type:t.type})}function oJA(t){let e={};for(let A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=jA(t[A]));return e}function aJA(t,e,A){!e&&BU(t);let i=e??h(ft);return A?or(i,A):i}function Km(t,e){let A=aJA(Km,e?.injector),i;return Ue(()=>(i||(i=la(()=>Fs(t,Ge(cA({},e),{injector:A})))),i()))}function rJA(t){return t.rawNode.type==="default-group"||t.rawNode.type==="template-group"}var BB=(()=>{class t{constructor(){this.flowEntitiesService=h(Sg),this.flowSettingsService=h(bs),this.viewportService=h(dB),this.nodes=Ue(()=>this.flowSettingsService.optimization().virtualization?this.viewportNodesAfterInteraction().sort((A,i)=>A.renderOrder()-i.renderOrder()):[...this.flowEntitiesService.nodes()].sort((A,i)=>A.renderOrder()-i.renderOrder())),this.groups=Ue(()=>this.nodes().filter(A=>!!A.children().length||rJA(A))),this.nonGroups=Ue(()=>this.nodes().filter(A=>!this.groups().includes(A))),this.viewportNodes=Ue(()=>{let A=this.flowEntitiesService.nodes(),i=this.viewportService.readableViewport(),n=this.flowSettingsService.computedFlowWidth(),o=this.flowSettingsService.computedFlowHeight();return A.filter(a=>{let{x:r,y:s}=a.globalPoint(),g=a.width(),l=a.height();return qUA({x:r,y:s,width:g,height:l},i,n,o)})}),this.viewportNodesAfterInteraction=Km(fi($n(this.flowEntitiesService.nodes).pipe(fB(Wm),Ze(A=>!!A.length)),this.viewportService.viewportChangeEnd$.pipe(Os(300))).pipe(fe(()=>{let A=this.viewportService.readableViewport(),i=this.flowSettingsService.optimization().virtualizationZoomThreshold;return A.zoomMath.max(...this.flowEntitiesService.nodes().map(A=>A.renderOrder())))}pullNode(A){A.renderOrder.set(this.maxOrder()+1),A.children().forEach(i=>this.pullNode(i))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function u7(t,e){e||(e={equal:Object.is});let A;return Ue(()=>A=t(A),e)}var sJA=(()=>{class t{static{this.defaultWidth=100}static{this.defaultHeight=50}static{this.defaultColor="#1b262c"}constructor(A){this.rawNode=A,this.entitiesService=h(Sg),this.settingsService=h(bs),this.nodeRenderingService=h(BB),this.isVisible=jA(!1),this.point=jA({x:0,y:0}),this.width=jA(t.defaultWidth),this.height=jA(t.defaultHeight),this.size=Ue(()=>({width:this.width(),height:this.height()})),this.styleWidth=Ue(()=>this.controlledByResizer()?`${this.width()}px`:"100%"),this.styleHeight=Ue(()=>this.controlledByResizer()?`${this.height()}px`:"100%"),this.foWidth=Ue(()=>this.width()+h7),this.foHeight=Ue(()=>this.height()+h7),this.renderOrder=jA(0),this.selected=jA(!1),this.preview=jA({style:{}}),this.globalPoint=Ue(()=>{let n=this.parent(),o=this.point().x,a=this.point().y;for(;n!==null;)o+=n.point().x,a+=n.point().y,n=n.parent();return{x:o,y:a}}),this.pointTransform=Ue(()=>`translate(${this.globalPoint().x}, ${this.globalPoint().y})`),this.handles=jA([]),this.draggable=jA(!0),this.dragHandlesCount=jA(0),this.magnetRadius=20,this.isComponentType=tJA(this.rawNode)||iJA(this.rawNode),this.shouldLoad=u7(n=>{if(n||this.settingsService.optimization().lazyLoadTrigger==="immediate")return!0;if(this.settingsService.optimization().lazyLoadTrigger==="viewport"){if(RsA(this.rawNode.type)||NsA(this.rawNode.type))return!0;if(Gm(this.rawNode.type)||this.rawNode.type==="html-template"||this.rawNode.type==="svg-template"||this.rawNode.type==="template-group")return this.nodeRenderingService.viewportNodes().includes(this)}return!0}),this.componentInstance$=$n(this.shouldLoad).pipe(Ze(Boolean),Si(()=>this.rawNode.type()),ta(()=>se(this.rawNode.type)),Ps(1)),this.text=jA(""),this.componentTypeInputs={node:this.rawNode},this.parent=Ue(()=>this.entitiesService.nodes().find(n=>n.rawNode.id===this.parentId())??null),this.children=Ue(()=>this.entitiesService.nodes().filter(n=>n.parentId()===this.rawNode.id)),this.color=jA(t.defaultColor),this.controlledByResizer=jA(!1),this.resizable=jA(!1),this.resizing=jA(!1),this.resizerTemplate=jA(null),this.context={$implicit:{}},this.parentId=jA(null);let i=nJA(A);i.point&&(this.point=i.point),i.width&&(this.width=i.width),i.height&&(this.height=i.height),i.draggable&&(this.draggable=i.draggable),i.parentId&&(this.parentId=i.parentId),i.preview&&(this.preview=i.preview),i.type==="default-group"&&i.color&&(this.color=i.color),i.type==="default-group"&&i.resizable&&(this.resizable=i.resizable),i.type==="default"&&i.text&&(this.text=i.text),i.type==="html-template"&&(this.context={$implicit:{node:A,selected:this.selected.asReadonly(),shouldLoad:this.shouldLoad}}),i.type==="svg-template"&&(this.context={$implicit:{node:A,selected:this.selected.asReadonly(),width:this.width.asReadonly(),height:this.height.asReadonly(),shouldLoad:this.shouldLoad}}),i.type==="template-group"&&(this.context={$implicit:{node:A,selected:this.selected.asReadonly(),width:this.width.asReadonly(),height:this.height.asReadonly(),shouldLoad:this.shouldLoad}}),this.point$=$n(this.point),this.width$=$n(this.width),this.height$=$n(this.height),this.size$=$n(this.size),this.selected$=$n(this.selected),this.handles$=$n(this.handles)}setPoint(A){this.point.set(A)}}return t})(),_m=class{constructor(e){this.edgeLabel=e,this.size=jA({width:0,height:0})}};function Q2(t,e,A){return{x:(1-A)*t.x+A*e.x,y:(1-A)*t.y+A*e.y}}function tK({sourcePoint:t,targetPoint:e}){return{path:`M ${t.x},${t.y}L ${e.x},${e.y}`,labelPoints:{start:Q2(t,e,.15),center:Q2(t,e,.5),end:Q2(t,e,.85)}}}function iK({sourcePoint:t,targetPoint:e,sourcePosition:A,targetPosition:i}){let n={x:t.x-e.x,y:t.y-e.y},o=fsA(t,A,n),a=fsA(e,i,n),r=`M${t.x},${t.y} C${o.x},${o.y} ${a.x},${a.y} ${e.x},${e.y}`;return gJA(r,t,e,o,a)}function fsA(t,e,A){let i={x:0,y:0};switch(e){case"top":i.y=1;break;case"bottom":i.y=-1;break;case"right":i.x=1;break;case"left":i.x=-1;break}let n={x:A.x*Math.abs(i.x),y:A.y*Math.abs(i.y)},a=.25*25*Math.sqrt(Math.abs(n.x+n.y));return{x:t.x+i.x*a,y:t.y-i.y*a}}function gJA(t,e,A,i,n){return{path:t,labelPoints:{start:$G(e,A,i,n,.1),center:$G(e,A,i,n,.5),end:$G(e,A,i,n,.9)}}}function $G(t,e,A,i,n){let o=Q2(t,A,n),a=Q2(A,i,n),r=Q2(i,e,n);return Q2(Q2(o,a,n),Q2(a,r,n),n)}var msA={left:{x:-1,y:0},right:{x:1,y:0},top:{x:0,y:-1},bottom:{x:0,y:1}};function lJA(t,e){let A=Math.abs(e.x-t.x)/2,i=e.xe==="left"||e==="right"?t.xMath.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function CJA({source:t,sourcePosition:e="bottom",target:A,targetPosition:i="top",offset:n}){let o=msA[e],a=msA[i],r={x:t.x+o.x*n,y:t.y+o.y*n},s={x:A.x+a.x*n,y:A.y+a.y*n},g=cJA({source:r,sourcePosition:e,target:s}),l=g.x!==0?"x":"y",C=g[l],I=[],d,B,E={x:0,y:0},Q={x:0,y:0},[f,b]=lJA(t,A);if(o[l]*a[l]===-1){d=f,B=b;let M=[{x:d,y:r.y},{x:d,y:s.y}],D=[{x:r.x,y:B},{x:s.x,y:B}];o[l]===C?I=l==="x"?M:D:I=l==="x"?D:M}else{let M=[{x:r.x,y:s.y}],D=[{x:s.x,y:r.y}];if(l==="x"?I=o.x===C?D:M:I=o.y===C?M:D,e===i){let j=Math.abs(t[l]-A[l]);if(j<=n){let AA=Math.min(n-1,n-j);o[l]===C?E[l]=(r[l]>t[l]?-1:1)*AA:Q[l]=(s[l]>A[l]?-1:1)*AA}}if(e!==i){let j=l==="x"?"y":"x",AA=o[l]===a[j],O=r[j]>s[j],DA=r[j]=J?(d=(F.x+_.x)/2,B=I[0].y):(d=I[0].x,B=(F.y+_.y)/2)}return[[t,{x:r.x+E.x,y:r.y+E.y},...I,{x:s.x+Q.x,y:s.y+Q.y},A],d,B]}function IJA(t,e,A,i){let n=Math.min(psA(t,e)/2,psA(e,A)/2,i),{x:o,y:a}=e;if(t.x===o&&o===A.x||t.y===a&&a===A.y)return`L${o} ${a}`;if(t.y===a){let g=t.x{let f="";return Q>0&&Q{let E=I*B;if(E<=0)return o[0];if(E>=I)return o[g-1];let Q=0,f=g-1;for(;Q>>1;C[_](this.source()?.shouldLoad()??!1)&&(this.target()?.shouldLoad()??!1)),this.renderOrder=jA(0),this.detached=Ue(()=>{let A=this.source(),i=this.target();if(!A||!i)return!0;let n=!1,o=!1;return this.edge.sourceHandle?n=!!A.handles().find(a=>a.rawHandle.id===this.edge.sourceHandle):n=!!A.handles().find(a=>a.rawHandle.type==="source"),this.edge.targetHandle?o=!!i.handles().find(a=>a.rawHandle.id===this.edge.targetHandle):o=!!i.handles().find(a=>a.rawHandle.type==="target"),!n||!o}),this.detached$=$n(this.detached),this.path=Ue(()=>{let A=this.sourceHandle(),i=this.targetHandle();if(!A||!i)return{path:""};let n=this.getPathFactoryParams(A,i);switch(this.curve){case"straight":return tK(n);case"bezier":return iK(n);case"smooth-step":return zh(n);case"step":return zh(n,0);default:return this.curve(n)}}),this.sourceHandle=u7(A=>{let i=null;return this.floating?i=this.closestHandles().sourceHandle:this.edge.sourceHandle?i=this.source()?.handles().find(n=>n.rawHandle.id===this.edge.sourceHandle)??null:i=this.source()?.handles().find(n=>n.rawHandle.type==="source")??null,i===null?A:i}),this.targetHandle=u7(A=>{let i=null;return this.floating?i=this.closestHandles().targetHandle:this.edge.targetHandle?i=this.target()?.handles().find(n=>n.rawHandle.id===this.edge.targetHandle)??null:i=this.target()?.handles().find(n=>n.rawHandle.type==="target")??null,i===null?A:i}),this.closestHandles=Ue(()=>{let A=this.source(),i=this.target();if(!A||!i)return{sourceHandle:null,targetHandle:null};let n=this.flowEntitiesService.connection().mode==="strict"?A.handles().filter(g=>g.rawHandle.type==="source"):A.handles(),o=this.flowEntitiesService.connection().mode==="strict"?i.handles().filter(g=>g.rawHandle.type==="target"):i.handles();if(n.length===0||o.length===0)return{sourceHandle:null,targetHandle:null};let a=1/0,r=null,s=null;for(let g of n)for(let l of o){let C=g.pointAbsolute(),I=l.pointAbsolute(),d=Math.sqrt(Math.pow(C.x-I.x,2)+Math.pow(C.y-I.y,2));d{let A=this.edge.markers?.start;return A?`url(#${Oh(JSON.stringify(A))})`:""}),this.markerEndUrl=Ue(()=>{let A=this.edge.markers?.end;return A?`url(#${Oh(JSON.stringify(A))})`:""}),this.context={$implicit:{edge:this.edge,path:Ue(()=>this.path().path),markerStart:this.markerStartUrl,markerEnd:this.markerEndUrl,selected:this.selected.asReadonly(),shouldLoad:this.shouldLoad}},this.edgeLabels={},this.type=e.type??"default",this.curve=e.curve??"bezier",this.reconnectable=e.reconnectable??!1,this.floating=e.floating??!1,e.edgeLabels?.start&&(this.edgeLabels.start=new _m(e.edgeLabels.start)),e.edgeLabels?.center&&(this.edgeLabels.center=new _m(e.edgeLabels.center)),e.edgeLabels?.end&&(this.edgeLabels.end=new _m(e.edgeLabels.end))}getPathFactoryParams(e,A){return{mode:"edge",edge:this.edge,sourcePoint:e.pointAbsolute(),targetPoint:A.pointAbsolute(),sourcePosition:e.rawHandle.position,targetPosition:A.rawHandle.position,allEdges:this.flowEntitiesService.rawEdges(),allNodes:this.flowEntitiesService.rawNodes()}}},f7=class{static nodes(e,A){let i=new Map;return A.forEach(n=>i.set(n.rawNode,n)),e.map(n=>i.get(n)??new sJA(n))}static edges(e,A){let i=new Map;return A.forEach(n=>i.set(n.edge,n)),e.map(n=>i.has(n)?i.get(n):new nK(n))}},dJA=25,oK=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.nodesPositionChange$=$n(this.entitiesService.nodes).pipe(Si(A=>fi(...A.map(i=>i.point$.pipe(Fg(1),fe(()=>i))))),fe(A=>[{type:"position",id:A.rawNode.id,point:A.point()},...this.entitiesService.nodes().filter(i=>i!==A&&i.selected()).map(i=>({type:"position",id:i.rawNode.id,point:i.point()}))])),this.nodeSizeChange$=$n(this.entitiesService.nodes).pipe(Si(A=>fi(...A.map(i=>i.size$.pipe(Fg(1),fe(()=>i))))),fe(A=>[{type:"size",id:A.rawNode.id,size:A.size()}])),this.nodeAddChange$=$n(this.entitiesService.nodes).pipe(h2(),fe(([A,i])=>i.filter(n=>!A.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(i=>({type:"add",id:i.rawNode.id})))),this.nodeRemoveChange$=$n(this.entitiesService.nodes).pipe(h2(),fe(([A,i])=>A.filter(n=>!i.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(i=>({type:"remove",id:i.rawNode.id})))),this.nodeSelectedChange$=$n(this.entitiesService.nodes).pipe(Si(A=>fi(...A.map(i=>i.selected$.pipe(Vl(),Fg(1),fe(()=>i))))),fe(A=>[{type:"select",id:A.rawNode.id,selected:A.selected()}])),this.changes$=fi(this.nodesPositionChange$,this.nodeSizeChange$,this.nodeAddChange$,this.nodeRemoveChange$,this.nodeSelectedChange$).pipe(fB(Wm,dJA))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),BJA=(t,e)=>t.length===e.length&&[...new Set([...t,...e])].every(A=>t.filter(i=>i===A).length===e.filter(i=>i===A).length),aK=(()=>{class t{constructor(){this.entitiesService=h(Sg),this.edgeDetachedChange$=fi($n(Ue(()=>{let A=this.entitiesService.nodes();return la(this.entitiesService.edges).filter(({source:n,target:o})=>!A.includes(n())||!A.includes(o()))})),$n(this.entitiesService.edges).pipe(Si(A=>lU(...A.map(i=>i.detached$.pipe(fe(()=>i))))),fe(A=>A.filter(i=>i.detached())),Fg(2))).pipe(Vl(BJA),Ze(A=>!!A.length),fe(A=>A.map(({edge:i})=>({type:"detached",id:i.id})))),this.edgeAddChange$=$n(this.entitiesService.edges).pipe(h2(),fe(([A,i])=>i.filter(n=>!A.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(({edge:i})=>({type:"add",id:i.id})))),this.edgeRemoveChange$=$n(this.entitiesService.edges).pipe(h2(),fe(([A,i])=>A.filter(n=>!i.includes(n))),Ze(A=>!!A.length),fe(A=>A.map(({edge:i})=>({type:"remove",id:i.id})))),this.edgeSelectChange$=$n(this.entitiesService.edges).pipe(Si(A=>fi(...A.map(i=>i.selected$.pipe(Vl(),Fg(1),fe(()=>i))))),fe(A=>[{type:"select",id:A.edge.id,selected:A.selected()}])),this.changes$=fi(this.edgeDetachedChange$,this.edgeAddChange$,this.edgeRemoveChange$,this.edgeSelectChange$).pipe(fB(Wm))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),EJA=(()=>{class t{constructor(){this.nodesChangeService=h(oK),this.edgesChangeService=h(aK),this.onNodesChange=Dn(this.nodesChangeService.changes$),this.onNodesChangePosition=Dn(this.nodeChangesOfType("position"),{alias:"onNodesChange.position"}),this.onNodesChangePositionSignle=Dn(this.singleChange(this.nodeChangesOfType("position")),{alias:"onNodesChange.position.single"}),this.onNodesChangePositionMany=Dn(this.manyChanges(this.nodeChangesOfType("position")),{alias:"onNodesChange.position.many"}),this.onNodesChangeSize=Dn(this.nodeChangesOfType("size"),{alias:"onNodesChange.size"}),this.onNodesChangeSizeSingle=Dn(this.singleChange(this.nodeChangesOfType("size")),{alias:"onNodesChange.size.single"}),this.onNodesChangeSizeMany=Dn(this.manyChanges(this.nodeChangesOfType("size")),{alias:"onNodesChange.size.many"}),this.onNodesChangeAdd=Dn(this.nodeChangesOfType("add"),{alias:"onNodesChange.add"}),this.onNodesChangeAddSingle=Dn(this.singleChange(this.nodeChangesOfType("add")),{alias:"onNodesChange.add.single"}),this.onNodesChangeAddMany=Dn(this.manyChanges(this.nodeChangesOfType("add")),{alias:"onNodesChange.add.many"}),this.onNodesChangeRemove=Dn(this.nodeChangesOfType("remove"),{alias:"onNodesChange.remove"}),this.onNodesChangeRemoveSingle=Dn(this.singleChange(this.nodeChangesOfType("remove")),{alias:"onNodesChange.remove.single"}),this.onNodesChangeRemoveMany=Dn(this.manyChanges(this.nodeChangesOfType("remove")),{alias:"onNodesChange.remove.many"}),this.onNodesChangeSelect=Dn(this.nodeChangesOfType("select"),{alias:"onNodesChange.select"}),this.onNodesChangeSelectSingle=Dn(this.singleChange(this.nodeChangesOfType("select")),{alias:"onNodesChange.select.single"}),this.onNodesChangeSelectMany=Dn(this.manyChanges(this.nodeChangesOfType("select")),{alias:"onNodesChange.select.many"}),this.onEdgesChange=Dn(this.edgesChangeService.changes$),this.onNodesChangeDetached=Dn(this.edgeChangesOfType("detached"),{alias:"onEdgesChange.detached"}),this.onNodesChangeDetachedSingle=Dn(this.singleChange(this.edgeChangesOfType("detached")),{alias:"onEdgesChange.detached.single"}),this.onNodesChangeDetachedMany=Dn(this.manyChanges(this.edgeChangesOfType("detached")),{alias:"onEdgesChange.detached.many"}),this.onEdgesChangeAdd=Dn(this.edgeChangesOfType("add"),{alias:"onEdgesChange.add"}),this.onEdgeChangeAddSingle=Dn(this.singleChange(this.edgeChangesOfType("add")),{alias:"onEdgesChange.add.single"}),this.onEdgeChangeAddMany=Dn(this.manyChanges(this.edgeChangesOfType("add")),{alias:"onEdgesChange.add.many"}),this.onEdgeChangeRemove=Dn(this.edgeChangesOfType("remove"),{alias:"onEdgesChange.remove"}),this.onEdgeChangeRemoveSingle=Dn(this.singleChange(this.edgeChangesOfType("remove")),{alias:"onEdgesChange.remove.single"}),this.onEdgeChangeRemoveMany=Dn(this.manyChanges(this.edgeChangesOfType("remove")),{alias:"onEdgesChange.remove.many"}),this.onEdgeChangeSelect=Dn(this.edgeChangesOfType("select"),{alias:"onEdgesChange.select"}),this.onEdgeChangeSelectSingle=Dn(this.singleChange(this.edgeChangesOfType("select")),{alias:"onEdgesChange.select.single"}),this.onEdgeChangeSelectMany=Dn(this.manyChanges(this.edgeChangesOfType("select")),{alias:"onEdgesChange.select.many"})}nodeChangesOfType(A){return this.nodesChangeService.changes$.pipe(fe(i=>i.filter(n=>n.type===A)),Ze(i=>!!i.length))}edgeChangesOfType(A){return this.edgesChangeService.changes$.pipe(fe(i=>i.filter(n=>n.type===A)),Ze(i=>!!i.length))}singleChange(A){return A.pipe(Ze(i=>i.length===1),fe(([i])=>i))}manyChanges(A){return A.pipe(Ze(i=>i.length>1))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","changesController",""]],outputs:{onNodesChange:"onNodesChange",onNodesChangePosition:"onNodesChange.position",onNodesChangePositionSignle:"onNodesChange.position.single",onNodesChangePositionMany:"onNodesChange.position.many",onNodesChangeSize:"onNodesChange.size",onNodesChangeSizeSingle:"onNodesChange.size.single",onNodesChangeSizeMany:"onNodesChange.size.many",onNodesChangeAdd:"onNodesChange.add",onNodesChangeAddSingle:"onNodesChange.add.single",onNodesChangeAddMany:"onNodesChange.add.many",onNodesChangeRemove:"onNodesChange.remove",onNodesChangeRemoveSingle:"onNodesChange.remove.single",onNodesChangeRemoveMany:"onNodesChange.remove.many",onNodesChangeSelect:"onNodesChange.select",onNodesChangeSelectSingle:"onNodesChange.select.single",onNodesChangeSelectMany:"onNodesChange.select.many",onEdgesChange:"onEdgesChange",onNodesChangeDetached:"onEdgesChange.detached",onNodesChangeDetachedSingle:"onEdgesChange.detached.single",onNodesChangeDetachedMany:"onEdgesChange.detached.many",onEdgesChangeAdd:"onEdgesChange.add",onEdgeChangeAddSingle:"onEdgesChange.add.single",onEdgeChangeAddMany:"onEdgesChange.add.many",onEdgeChangeRemove:"onEdgesChange.remove",onEdgeChangeRemoveSingle:"onEdgesChange.remove.single",onEdgeChangeRemoveMany:"onEdgesChange.remove.many",onEdgeChangeSelect:"onEdgesChange.select",onEdgeChangeSelectSingle:"onEdgesChange.select.single",onEdgeChangeSelectMany:"onEdgesChange.select.many"}})}}return t})(),D7=(()=>{class t{constructor(){this.host=h(ge).nativeElement,this.initialTouch$=new XA,this.prevTouchEvent=null,this.mouseMovement$=nl(this.host,"mousemove").pipe(fe(A=>({x:A.clientX,y:A.clientY,movementX:A.movementX,movementY:A.movementY,target:A.target,originalEvent:A})),fB(uB),u2()),this.touchMovement$=fi(this.initialTouch$,nl(this.host,"touchmove")).pipe(oi(A=>A.preventDefault()),fe(A=>{let i=A.touches[0]?.clientX??0,n=A.touches[0]?.clientY??0,o=this.prevTouchEvent?A.touches[0].pageX-this.prevTouchEvent.touches[0].pageX:0,a=this.prevTouchEvent?A.touches[0].pageY-this.prevTouchEvent.touches[0].pageY:0,r=document.elementFromPoint(i,n);return{x:i,y:n,movementX:o,movementY:a,target:r,originalEvent:A}}),oi(A=>this.prevTouchEvent=A.originalEvent),fB(uB),u2()),this.pointerMovement$=fi(this.mouseMovement$,this.touchMovement$),this.touchEnd$=nl(this.host,"touchend").pipe(fe(A=>{let i=A.changedTouches[0]?.clientX??0,n=A.changedTouches[0]?.clientY??0,o=document.elementFromPoint(i,n);return{x:i,y:n,target:o,originalEvent:A}}),oi(()=>this.prevTouchEvent=null),u2()),this.mouseUp$=nl(this.host,"mouseup").pipe(fe(A=>{let i=A.clientX,n=A.clientY,o=A.target;return{x:i,y:n,target:o,originalEvent:A}}),u2()),this.documentPointerEnd$=fi(nl(document,"mouseup"),nl(document,"touchend")).pipe(u2())}setInitialTouch(A){this.initialTouch$.next(A)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","rootPointer",""]]})}}return t})(),Lm=(()=>{class t{constructor(){this.pointerMovementDirective=h(D7),this.rootSvg=h(w7).element,this.host=h(ge).nativeElement,this.svgCurrentSpacePoint=Ue(()=>{let A=this.pointerMovement();return A?this.documentPointToFlowPoint({x:A.x,y:A.y}):{x:0,y:0}}),this.pointerMovement=Fs(this.pointerMovementDirective.pointerMovement$)}documentPointToFlowPoint(A){let i=this.rootSvg.createSVGPoint();return i.x=A.x,i.y=A.y,i.matrixTransform(this.host.getScreenCTM().inverse())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["g","spacePointContext",""]]})}}return t})();function QJA(t){return typeof t=="string"?{type:"solid",color:t}:t}function m7(t,e,A){let i=A.value;return A.value=function(...n){queueMicrotask(()=>{i?.apply(this,n)})},A}var FsA=(()=>{class t{constructor(){this.toolbars=jA([]),this.nodeToolbarsMap=Ue(()=>{let A=new Map;return this.toolbars().forEach(i=>{let n=A.get(i.node)??[];A.set(i.node,[...n,i])}),A})}addToolbar(A){this.toolbars.update(i=>[...i,A])}removeToolbar(A){this.toolbars.update(i=>i.filter(n=>n!==A))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return gu([m7],t.prototype,"addToolbar",null),gu([m7],t.prototype,"removeToolbar",null),t})();function y7(t,e){return new $i(A=>{let i=new ResizeObserver(n=>{e.run(()=>A.next(n))});return t.forEach(n=>i.observe(n)),()=>i.disconnect()})}var hJA=(()=>{class t{constructor(){this.zone=h(Oe),this.destroyRef=h(qa),this.settingsService=h(bs),this.model=rt.required(),this.edgeModel=rt.required(),this.point=rt({x:0,y:0}),this.htmlTemplate=rt(),this.edgeLabelWrapperRef=ca.required("edgeLabelWrapper"),this.edgeLabelPoint=Ue(()=>{let A=this.point(),{width:i,height:n}=this.model().size();return{x:A.x-i/2,y:A.y-n/2}}),this.edgeLabelStyle=Ue(()=>{let A=this.model().edgeLabel;if(A.type==="default"&&A.style){let i=this.settingsService.background(),n="transparent";return i.type==="dots"&&(n=i.backgroundColor??"#fff"),i.type==="solid"&&(n=i.color),A.style.backgroundColor=A.style.backgroundColor??n,A.style}return null})}ngAfterViewInit(){let A=this.edgeLabelWrapperRef().nativeElement;y7([A],this.zone).pipe(cn(null),oi(()=>{let i=A.clientWidth+h7,n=A.clientHeight+h7;this.model().size.set({width:i,height:n})}),Tr(this.destroyRef)).subscribe()}getLabelContext(){return{$implicit:{edge:this.edgeModel().edge,label:this.model().edgeLabel}}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","edgeLabel",""]],viewQuery:function(i,n){i&1&&rs(n.edgeLabelWrapperRef,uKA,5),i&2&&Dr()},inputs:{model:[1,"model"],edgeModel:[1,"edgeModel"],point:[1,"point"],htmlTemplate:[1,"htmlTemplate"]},attrs:fKA,decls:1,vars:1,consts:[["edgeLabelWrapper",""],[1,"edge-label-wrapper"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,n){if(i&1&&V(0,yKA,2,2),i&2){let o;W((o=n.model())?0:-1,o)}},dependencies:[sl],styles:[".edge-label-wrapper[_ngcontent-%COMP%]{width:max-content;margin-top:1px;margin-left:1px}"],changeDetection:0})}}return t})();function _sA(t){let e={};return t.sourceHandle.rawHandle.type==="source"?(e.source=t.source,e.sourceHandle=t.sourceHandle):(e.source=t.target,e.sourceHandle=t.targetHandle),t.targetHandle.rawHandle.type==="target"?(e.target=t.target,e.targetHandle=t.targetHandle):(e.target=t.source,e.targetHandle=t.sourceHandle),e}var LsA=(()=>{class t{constructor(){this.statusService=h(d1),this.flowEntitiesService=h(Sg),this.onConnect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="connection-end"),fe(A=>C7(A,this.isStrictMode())),oi(()=>this.statusService.setIdleStatus()),Ze(A=>this.flowEntitiesService.connection().validator(A)))),this.connect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="connection-end"),fe(A=>C7(A,this.isStrictMode())),oi(()=>this.statusService.setIdleStatus()),Ze(A=>this.flowEntitiesService.connection().validator(A)))),this.onReconnect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="reconnection-end"),fe(A=>{let i=C7(A,this.isStrictMode()),n=A.payload.oldEdge.edge;return{connection:i,oldEdge:n}}),oi(()=>this.statusService.setIdleStatus()),Ze(({connection:A})=>this.flowEntitiesService.connection().validator(A)))),this.reconnect=Dn($n(this.statusService.status).pipe(Ze(A=>A.state==="reconnection-end"),fe(A=>{let i=C7(A,this.isStrictMode()),n=A.payload.oldEdge.edge;return{connection:i,oldEdge:n}}),oi(()=>this.statusService.setIdleStatus()),Ze(({connection:A})=>this.flowEntitiesService.connection().validator(A)))),this.isStrictMode=Ue(()=>this.flowEntitiesService.connection().mode==="strict")}startConnection(A){this.statusService.setConnectionStartStatus(A.parentNode,A)}startReconnection(A,i){this.statusService.setReconnectionStartStatus(A.parentNode,A,i)}validateConnection(A){let i=this.statusService.status();if(i.state==="connection-start"||i.state==="reconnection-start"){let n=i.state==="reconnection-start",o=i.payload.source,a=A.parentNode,r=i.payload.sourceHandle,s=A;if(this.isStrictMode()){let l=_sA({source:i.payload.source,sourceHandle:i.payload.sourceHandle,target:A.parentNode,targetHandle:A});o=l.source,a=l.target,r=l.sourceHandle,s=l.targetHandle}let g=this.flowEntitiesService.connection().validator({source:o.rawNode.id,target:a.rawNode.id,sourceHandle:r.rawHandle.id,targetHandle:s.rawHandle.id});A.state.set(g?"valid":"invalid"),n?this.statusService.setReconnectionValidationStatus(g,i.payload.source,A.parentNode,i.payload.sourceHandle,A,i.payload.oldEdge):this.statusService.setConnectionValidationStatus(g,i.payload.source,A.parentNode,i.payload.sourceHandle,A)}}resetValidateConnection(A){A.state.set("idle");let i=this.statusService.status();(i.state==="connection-validation"||i.state==="reconnection-validation")&&(i.state==="reconnection-validation"?this.statusService.setReconnectionStartStatus(i.payload.source,i.payload.sourceHandle,i.payload.oldEdge):this.statusService.setConnectionStartStatus(i.payload.source,i.payload.sourceHandle))}endConnection(){let A=this.statusService.status();if(A.state==="connection-validation"||A.state==="reconnection-validation"){let i=A.state==="reconnection-validation",n=A.payload.source,o=A.payload.sourceHandle,a=A.payload.target,r=A.payload.targetHandle;i?this.statusService.setReconnectionEndStatus(n,a,o,r,A.payload.oldEdge):this.statusService.setConnectionEndStatus(n,a,o,r)}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","onConnect",""],["","onReconnect",""],["","connect",""],["","reconnect",""]],outputs:{onConnect:"onConnect",connect:"connect",onReconnect:"onReconnect",reconnect:"reconnect"}})}}return t})();function C7(t,e){let A=t.payload.source,i=t.payload.target,n=t.payload.sourceHandle,o=t.payload.targetHandle;if(e){let l=_sA({source:t.payload.source,sourceHandle:t.payload.sourceHandle,target:t.payload.target,targetHandle:t.payload.targetHandle});A=l.source,i=l.target,n=l.sourceHandle,o=l.targetHandle}let a=A.rawNode.id,r=i.rawNode.id,s=n.rawHandle.id,g=o.rawHandle.id;return{source:a,target:r,sourceHandle:s,targetHandle:g}}var p7=(()=>{class t{constructor(){this.flowEntitiesService=h(Sg),this.flowSettingsService=h(bs),this.edges=Ue(()=>this.flowSettingsService.optimization().virtualization?this.viewportEdges().sort((A,i)=>A.renderOrder()-i.renderOrder()):[...this.flowEntitiesService.validEdges()].sort((A,i)=>A.renderOrder()-i.renderOrder())),this.viewportEdges=Ue(()=>this.flowEntitiesService.validEdges().filter(A=>{let i=A.sourceHandle(),n=A.targetHandle();return i&&n})),this.maxOrder=Ue(()=>Math.max(...this.flowEntitiesService.validEdges().map(A=>A.renderOrder())))}pull(A){A.renderOrder()!==0&&this.maxOrder()===A.renderOrder()||A.renderOrder.set(this.maxOrder()+1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function uJA(t){return window.TouchEvent&&t instanceof TouchEvent}var lK=(()=>{class t{constructor(){this.hostElement=h(ge).nativeElement,this.pointerMovementDirective=h(D7),this.pointerOver=jo(),this.pointerOut=jo(),this.pointerStart=jo(),this.pointerEnd=jo(),this.wasPointerOver=!1,this.touchEnd=this.pointerMovementDirective.touchEnd$.pipe(Ze(({target:A})=>A===this.hostElement),oi(({originalEvent:A})=>this.pointerEnd.emit(A)),Tr()).subscribe(),this.touchOverOut=this.pointerMovementDirective.touchMovement$.pipe(oi(({target:A,originalEvent:i})=>{this.handleTouchOverAndOut(A,i)}),Tr()).subscribe()}onPointerStart(A){this.pointerStart.emit(A),uJA(A)&&this.pointerMovementDirective.setInitialTouch(A)}onPointerEnd(A){this.pointerEnd.emit(A)}onMouseOver(A){this.pointerOver.emit(A)}onMouseOut(A){this.pointerOut.emit(A)}handleTouchOverAndOut(A,i){A===this.hostElement?(this.pointerOver.emit(i),this.wasPointerOver=!0):(this.wasPointerOver&&this.pointerOut.emit(i),this.wasPointerOver=!1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","pointerStart",""],["","pointerEnd",""],["","pointerOver",""],["","pointerOut",""]],hostBindings:function(i,n){i&1&&tA("mousedown",function(a){return n.onPointerStart(a)})("touchstart",function(a){return n.onPointerStart(a)})("mouseup",function(a){return n.onPointerEnd(a)})("mouseover",function(a){return n.onMouseOver(a)})("mouseout",function(a){return n.onMouseOut(a)})},outputs:{pointerOver:"pointerOver",pointerOut:"pointerOut",pointerStart:"pointerStart",pointerEnd:"pointerEnd"}})}}return t})(),GsA=(()=>{class t{constructor(){this.injector=h(ft),this.selectionService=h(Um),this.flowSettingsService=h(bs),this.flowStatusService=h(d1),this.edgeRenderingService=h(p7),this.connectionController=h(LsA,{optional:!0}),this.model=rt.required(),this.edgeTemplate=rt(),this.edgeLabelHtmlTemplate=rt(),this.isReconnecting=Ue(()=>{let A=this.flowStatusService.status();return(A.state==="reconnection-start"||A.state==="reconnection-validation")&&A.payload.oldEdge===this.model()})}select(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.model())}pull(){this.flowSettingsService.elevateEdgesOnSelect()&&this.edgeRenderingService.pull(this.model())}startReconnection(A,i){A.stopPropagation(),this.connectionController?.startReconnection(i,this.model())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","edge",""]],hostAttrs:[1,"selectable"],hostVars:2,hostBindings:function(i,n){i&2&&wn("visibility",n.isReconnecting()?"hidden":"visible")},inputs:{model:[1,"model"],edgeTemplate:[1,"edgeTemplate"],edgeLabelHtmlTemplate:[1,"edgeLabelHtmlTemplate"]},attrs:vKA,decls:6,vars:6,consts:[[1,"edge"],[1,"interactive-edge",3,"click"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],["edgeLabel","",3,"model","point","edgeModel","htmlTemplate"],["r","10",1,"reconnect-handle"],["r","10",1,"reconnect-handle",3,"pointerStart"]],template:function(i,n){if(i&1&&(V(0,bKA,2,6),V(1,kKA,1,1),V(2,xKA,1,1),V(3,NKA,1,1),V(4,_KA,1,1),V(5,KKA,2,2)),i&2){let o,a,r;W(n.model().type==="default"?0:-1),p(),W(n.model().type==="template"&&n.edgeTemplate()?1:-1),p(),W((o=n.model().edgeLabels.start)?2:-1,o),p(),W((a=n.model().edgeLabels.center)?3:-1,a),p(),W((r=n.model().edgeLabels.end)?4:-1,r),p(),W(n.model().sourceHandle()&&n.model().targetHandle()?5:-1)}},dependencies:[sl,hJA,lK],styles:[".edge[_ngcontent-%COMP%]{fill:none;stroke-width:2;stroke:#b1b1b7}.edge_selected[_ngcontent-%COMP%]{stroke-width:2.5;stroke:#0f4c75}.interactive-edge[_ngcontent-%COMP%]{fill:none;stroke-width:20;stroke:transparent}.reconnect-handle[_ngcontent-%COMP%]{fill:transparent;cursor:move}"],changeDetection:0})}}return t})(),rK=(()=>{class t{constructor(){this.node=jA(null)}createHandle(A){let i=this.node();i&&i.handles.update(n=>[...n,A])}destroyHandle(A){let i=this.node();i&&i.handles.update(n=>n.filter(o=>o!==A))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return gu([m7],t.prototype,"createHandle",null),t})(),fJA=(()=>{class t{constructor(){this.handleModel=rt.required({alias:"handleSizeController"}),this.handleWrapper=h(ge)}ngAfterViewInit(){let A=this.handleWrapper.nativeElement,i=A.getBBox(),n=mJA(A);this.handleModel().size.set({width:i.width+n,height:i.height+n})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","handleSizeController",""]],inputs:{handleModel:[1,"handleSizeController","handleModel"]}})}}return t})();function mJA(t){let e=t.firstElementChild;if(e){let A=getComputedStyle(e).strokeWidth,i=Number(A.replace("px",""));return isNaN(i)?0:i}return 0}var pJA=(()=>{class t{constructor(){this.selected=rt(!1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["default-node"]],hostVars:2,hostBindings:function(i,n){i&2&&ne("selected",n.selected())},inputs:{selected:[1,"selected"]},ngContentSelectors:MsA,decls:1,vars:0,template:function(i,n){i&1&&(Yt(),Ke(0))},styles:["[_nghost-%COMP%]{border:1.5px solid #1b262c;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000;background-color:#fff}.selected[_nghost-%COMP%]{border-width:2px}"],changeDetection:0})}}return t})(),wJA=(()=>{class t{get model(){return this.nodeAccessor.model()}constructor(){this.nodeAccessor=h(Ph),this.rootPointer=h(D7),this.viewportService=h(dB),this.spacePointContext=h(Lm),this.settingsService=h(bs),this.hostRef=h(ge),this.resizable=rt(),this.resizerColor=rt("#2e414c"),this.gap=rt(1.5),this.resizer=ca.required("resizer"),this.lineGap=3,this.handleSize=6,this.resizeSide=null,this.zoom=Ue(()=>this.viewportService.readableViewport().zoom??0),this.minWidth=0,this.minHeight=0,this.maxWidth=1/0,this.maxHeight=1/0,this.resizeOnGlobalMouseMove=this.rootPointer.pointerMovement$.pipe(Ze(()=>this.resizeSide!==null),Ze(A=>A.movementX!==0||A.movementY!==0),oi(A=>this.resize(A)),Tr()).subscribe(),this.endResizeOnGlobalMouseUp=this.rootPointer.documentPointerEnd$.pipe(oi(()=>this.endResize()),Tr()).subscribe(),Ga(()=>{let A=this.resizable();typeof A=="boolean"?this.model.resizable.set(A):this.model.resizable.set(!0)},{allowSignalWrites:!0})}ngOnInit(){this.model.controlledByResizer.set(!0),this.model.resizerTemplate.set(this.resizer())}ngOnDestroy(){this.model.controlledByResizer.set(!1)}ngAfterViewInit(){this.minWidth=+getComputedStyle(this.hostRef.nativeElement).minWidth.replace("px","")||0,this.minHeight=+getComputedStyle(this.hostRef.nativeElement).minHeight.replace("px","")||0,this.maxWidth=+getComputedStyle(this.hostRef.nativeElement).maxWidth.replace("px","")||1/0,this.maxHeight=+getComputedStyle(this.hostRef.nativeElement).maxHeight.replace("px","")||1/0}startResize(A,i){i.stopPropagation(),this.resizeSide=A,this.model.resizing.set(!0)}resize(A){if(!this.resizeSide)return;let i=DJA(A.movementX,A.movementY,this.zoom()),n=this.applyResize(this.resizeSide,this.model,i,this.getDistanceToEdge(A)),{x:o,y:a,width:r,height:s}=yJA(n,this.model,this.resizeSide,this.minWidth,this.minHeight,this.maxWidth,this.maxHeight);this.model.setPoint({x:o,y:a}),this.model.width.set(r),this.model.height.set(s)}endResize(){this.resizeSide=null,this.model.resizing.set(!1)}getDistanceToEdge(A){let i=this.spacePointContext.documentPointToFlowPoint({x:A.x,y:A.y}),{x:n,y:o}=this.model.globalPoint();return{left:i.x-n,right:i.x-(n+this.model.width()),top:i.y-o,bottom:i.y-(o+this.model.height())}}applyResize(A,i,n,o){let{x:a,y:r}=i.point(),s=i.width(),g=i.height(),[l,C]=this.settingsService.snapGrid();switch(A){case"left":{let I=n.x+o.left,d=kg(a+I,l),B=d-a;return{x:d,y:r,width:s-B,height:g}}case"right":{let I=n.x+o.right,d=kg(s+I,l);return{x:a,y:r,width:d,height:g}}case"top":{let I=n.y+o.top,d=kg(r+I,C),B=d-r;return{x:a,y:d,width:s,height:g-B}}case"bottom":{let I=n.y+o.bottom,d=kg(g+I,C);return{x:a,y:r,width:s,height:d}}case"top-left":{let I=n.x+o.left,d=n.y+o.top,B=kg(a+I,l),E=kg(r+d,C),Q=B-a,f=E-r;return{x:B,y:E,width:s-Q,height:g-f}}case"top-right":{let I=n.x+o.right,d=n.y+o.top,B=kg(r+d,C),E=B-r;return{x:a,y:B,width:kg(s+I,l),height:g-E}}case"bottom-left":{let I=n.x+o.left,d=n.y+o.bottom,B=kg(a+I,l),E=B-a;return{x:B,y:r,width:s-E,height:kg(g+d,C)}}case"bottom-right":{let I=n.x+o.right,d=n.y+o.bottom;return{x:a,y:r,width:kg(s+I,l),height:kg(g+d,C)}}}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["","resizable",""]],viewQuery:function(i,n){i&1&&rs(n.resizer,UKA,5),i&2&&Dr()},inputs:{resizable:[1,"resizable"],resizerColor:[1,"resizerColor"],gap:[1,"gap"]},attrs:JKA,ngContentSelectors:MsA,decls:3,vars:0,consts:[["resizer",""],["stroke-width","2",1,"top",3,"pointerStart"],["stroke-width","2",1,"left",3,"pointerStart"],["stroke-width","2",1,"bottom",3,"pointerStart"],["stroke-width","2",1,"right",3,"pointerStart"],[1,"top-left",3,"pointerStart"],[1,"top-right",3,"pointerStart"],[1,"bottom-left",3,"pointerStart"],[1,"bottom-right",3,"pointerStart"]],template:function(i,n){i&1&&(Yt(),pt(0,YKA,9,40,"ng-template",null,0,w2),Ke(2))},dependencies:[lK],styles:[".top[_ngcontent-%COMP%]{cursor:n-resize}.left[_ngcontent-%COMP%]{cursor:w-resize}.right[_ngcontent-%COMP%]{cursor:e-resize}.bottom[_ngcontent-%COMP%]{cursor:s-resize}.top-left[_ngcontent-%COMP%]{cursor:nw-resize}.top-right[_ngcontent-%COMP%]{cursor:ne-resize}.bottom-left[_ngcontent-%COMP%]{cursor:sw-resize}.bottom-right[_ngcontent-%COMP%]{cursor:se-resize}"],changeDetection:0})}}return gu([m7],t.prototype,"ngAfterViewInit",null),t})();function DJA(t,e,A){return{x:B7(t/A),y:B7(e/A)}}function yJA(t,e,A,i,n,o,a){let{x:r,y:s,width:g,height:l}=t;g=Math.max(g,0),l=Math.max(l,0),g=Math.max(i,g),l=Math.max(n,l),g=Math.min(o,g),l=Math.min(a,l),r=Math.min(r,e.point().x+e.width()-i),s=Math.min(s,e.point().y+e.height()-n),r=Math.max(r,e.point().x+e.width()-o),s=Math.max(s,e.point().y+e.height()-a);let C=e.parent();if(C){let d=C.width(),B=C.height(),E=e.point().x,Q=e.point().y;r=Math.max(r,0),s=Math.max(s,0),A.includes("left")&&r===0&&(g=Math.min(g,E+e.width())),A.includes("top")&&s===0&&(l=Math.min(l,Q+e.height())),g=Math.min(g,d-r),l=Math.min(l,B-s)}let I=ksA(e.children());return I&&(A.includes("left")&&(r=Math.min(r,e.point().x+e.width()-(I.x+I.width)),g=Math.max(g,I.x+I.width)),A.includes("right")&&(g=Math.max(g,I.x+I.width)),A.includes("bottom")&&(l=Math.max(l,I.y+I.height)),A.includes("top")&&(s=Math.min(s,e.point().y+e.height()-(I.y+I.height)),l=Math.max(l,I.y+I.height))),{x:r,y:s,width:g,height:l}}var sK=class{constructor(e,A){this.rawHandle=e,this.parentNode=A,this.strokeWidth=2,this.size=jA({width:10+2*this.strokeWidth,height:10+2*this.strokeWidth}),this.pointAbsolute=Ue(()=>({x:this.parentNode.globalPoint().x+this.hostOffset().x+this.sizeOffset().x,y:this.parentNode.globalPoint().y+this.hostOffset().y+this.sizeOffset().y})),this.state=jA("idle"),this.updateHostSizeAndPosition$=new XA,this.hostSize=Fs(this.updateHostSizeAndPosition$.pipe(fe(()=>this.getHostSize())),{initialValue:{width:0,height:0}}),this.hostPosition=Fs(this.updateHostSizeAndPosition$.pipe(fe(()=>({x:this.hostReference instanceof HTMLElement?this.hostReference.offsetLeft:0,y:this.hostReference instanceof HTMLElement?this.hostReference.offsetTop:0}))),{initialValue:{x:0,y:0}}),this.hostOffset=Ue(()=>{switch(this.rawHandle.position){case"left":return{x:-this.rawHandle.userOffsetX,y:-this.rawHandle.userOffsetY+this.hostPosition().y+this.hostSize().height/2};case"right":return{x:-this.rawHandle.userOffsetX+this.parentNode.size().width,y:-this.rawHandle.userOffsetY+this.hostPosition().y+this.hostSize().height/2};case"top":return{x:-this.rawHandle.userOffsetX+this.hostPosition().x+this.hostSize().width/2,y:-this.rawHandle.userOffsetY};case"bottom":return{x:-this.rawHandle.userOffsetX+this.hostPosition().x+this.hostSize().width/2,y:-this.rawHandle.userOffsetY+this.parentNode.size().height}}}),this.sizeOffset=Ue(()=>{switch(this.rawHandle.position){case"left":return{x:-(this.size().width/2),y:0};case"right":return{x:this.size().width/2,y:0};case"top":return{x:0,y:-(this.size().height/2)};case"bottom":return{x:0,y:this.size().height/2}}}),this.hostReference=this.rawHandle.hostReference,this.template=this.rawHandle.template,this.templateContext={$implicit:{point:this.hostOffset,state:this.state,node:this.parentNode.rawNode}}}updateHost(){this.updateHostSizeAndPosition$.next()}getHostSize(){return this.hostReference instanceof HTMLElement?{width:this.hostReference.offsetWidth,height:this.hostReference.offsetHeight}:this.hostReference instanceof SVGGraphicsElement?this.hostReference.getBBox():{width:0,height:0}}},cK=(()=>{class t{constructor(){this.injector=h(ft),this.handleService=h(rK),this.element=h(ge).nativeElement,this.destroyRef=h(qa),this.position=rt.required(),this.type=rt.required(),this.id=rt(),this.template=rt(),this.offsetX=rt(0),this.offsetY=rt(0)}ngOnInit(){or(this.injector,()=>{let A=this.handleService.node();if(A){let i=new sK({position:this.position(),type:this.type(),id:this.id(),hostReference:this.element.parentElement,template:this.template(),userOffsetX:this.offsetX(),userOffsetY:this.offsetY()},A);this.handleService.createHandle(i),requestAnimationFrame(()=>i.updateHost()),this.destroyRef.onDestroy(()=>this.handleService.destroyHandle(i))}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["handle"]],inputs:{position:[1,"position"],type:[1,"type"],id:[1,"id"],template:[1,"template"],offsetX:[1,"offsetX"],offsetY:[1,"offsetY"]},decls:0,vars:0,template:function(i,n){},encapsulation:2,changeDetection:0})}}return t})(),vJA=(()=>{class t{constructor(){this.nodeAccessor=h(Ph),this.zone=h(Oe),this.destroyRef=h(qa),this.hostElementRef=h(ge)}ngOnInit(){this.nodeAccessor.model().handles$.pipe(Si(i=>y7([...i.map(n=>n.hostReference),this.hostElementRef.nativeElement],this.zone).pipe(fe(()=>i))),oi(i=>{i.forEach(n=>n.updateHost())}),Tr(this.destroyRef)).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","nodeHandlesController",""]]})}}return t})(),bJA=(()=>{class t{constructor(){this.nodeAccessor=h(Ph),this.zone=h(Oe),this.destroyRef=h(qa),this.hostElementRef=h(ge)}ngOnInit(){let A=this.nodeAccessor.model(),i=this.hostElementRef.nativeElement;fi(y7([i],this.zone)).pipe(cn(null),Ze(()=>!A.resizing()),oi(()=>{A.width.set(i.clientWidth),A.height.set(i.clientHeight)}),Tr(this.destroyRef)).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","nodeResizeController",""]]})}}return t})(),KsA=(()=>{class t{constructor(){this.injector=h(ft),this.handleService=h(rK),this.draggableService=h(SsA),this.flowStatusService=h(d1),this.nodeRenderingService=h(BB),this.flowSettingsService=h(bs),this.selectionService=h(Um),this.hostRef=h(ge),this.nodeAccessor=h(Ph),this.overlaysService=h(FsA),this.connectionController=h(LsA,{optional:!0}),this.model=rt.required(),this.nodeTemplate=rt(),this.nodeSvgTemplate=rt(),this.groupNodeTemplate=rt(),this.showMagnet=Ue(()=>this.flowStatusService.status().state==="connection-start"||this.flowStatusService.status().state==="connection-validation"||this.flowStatusService.status().state==="reconnection-start"||this.flowStatusService.status().state==="reconnection-validation"),this.toolbars=Ue(()=>this.overlaysService.nodeToolbarsMap().get(this.model()))}ngOnInit(){this.model().isVisible.set(!0),this.nodeAccessor.model.set(this.model()),this.handleService.node.set(this.model()),Ga(()=>{this.model().draggable()?this.draggableService.enable(this.hostRef.nativeElement,this.model()):this.draggableService.disable(this.hostRef.nativeElement)},{injector:this.injector})}ngOnDestroy(){this.model().isVisible.set(!1),this.draggableService.destroy(this.hostRef.nativeElement)}startConnection(A,i){A.stopPropagation(),this.connectionController?.startConnection(i)}validateConnection(A){this.connectionController?.validateConnection(A)}resetValidateConnection(A){this.connectionController?.resetValidateConnection(A)}endConnection(){this.connectionController?.endConnection()}pullNode(){this.flowSettingsService.elevateNodesOnSelect()&&this.nodeRenderingService.pullNode(this.model())}selectNode(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.model())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","node",""]],hostAttrs:[1,"vflow-node"],inputs:{model:[1,"model"],nodeTemplate:[1,"nodeTemplate"],nodeSvgTemplate:[1,"nodeSvgTemplate"],groupNodeTemplate:[1,"groupNodeTemplate"]},features:[dt([rK,Ph])],attrs:TKA,decls:11,vars:7,consts:[[1,"selectable"],["nodeHandlesController","",1,"selectable"],["rx","5","ry","5",1,"default-group-node",3,"resizable","gap","resizerColor","default-group-node_selected","stroke","fill"],[1,"selectable",3,"click"],["nodeHandlesController","",3,"selected"],[3,"outerHTML"],["type","source","position","right"],["type","target","position","left"],["nodeHandlesController","","nodeResizeController","",1,"wrapper"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],["nodeHandlesController","",1,"selectable",3,"click"],[3,"ngComponentOutlet","ngComponentOutletInputs","ngComponentOutletInjector"],["rx","5","ry","5",1,"default-group-node",3,"click","resizable","gap","resizerColor"],[3,"ngTemplateOutlet"],["r","5",1,"default-handle"],[3,"handleSizeController"],[1,"magnet"],["r","5",1,"default-handle",3,"pointerStart","pointerEnd"],[3,"pointerStart","pointerEnd","handleSizeController"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"magnet",3,"pointerEnd","pointerOver","pointerOut"]],template:function(i,n){if(i&1&&(V(0,HKA,5,12,":svg:foreignObject",0),V(1,zKA,3,9,":svg:foreignObject",0),V(2,OKA,2,3,":svg:g",1),V(3,jKA,2,3),V(4,qKA,1,11,":svg:rect",2),V(5,VKA,2,3,":svg:g",1),V(6,XKA,1,1),Ut(7,nUA,4,4,null,null,Li),Ut(9,oUA,2,4,":svg:foreignObject",null,Li)),i&2){let o;W(n.model().rawNode.type==="default"?0:-1),p(),W(n.model().rawNode.type==="html-template"&&n.nodeTemplate()?1:-1),p(),W(n.model().rawNode.type==="svg-template"&&n.nodeSvgTemplate()?2:-1),p(),W(n.model().isComponentType?3:-1),p(),W(n.model().rawNode.type==="default-group"?4:-1),p(),W(n.model().rawNode.type==="template-group"&&n.groupNodeTemplate()?5:-1),p(),W((o=n.model().resizerTemplate())?6:-1,o),p(),Jt(n.model().handles()),p(2),Jt(n.toolbars())}},dependencies:[lK,pJA,cK,sl,D2,wJA,fJA,vJA,bJA,ls],styles:[".magnet[_ngcontent-%COMP%]{opacity:0}.wrapper[_ngcontent-%COMP%]{display:table-cell}.default-group-node[_ngcontent-%COMP%]{stroke-width:1.5px;fill-opacity:.05}.default-group-node_selected[_ngcontent-%COMP%]{stroke-width:2px}.default-handle[_ngcontent-%COMP%]{stroke:#fff;fill:#1b262c}"],changeDetection:0})}}return t})(),MJA=(()=>{class t{constructor(){this.flowStatusService=h(d1),this.spacePointContext=h(Lm),this.flowEntitiesService=h(Sg),this.model=rt.required(),this.template=rt(),this.path=Ue(()=>{let A=this.flowStatusService.status(),i=this.model().curve;if(A.state==="connection-start"||A.state==="reconnection-start"){let n=A.payload.sourceHandle,o=n.pointAbsolute(),a=n.rawHandle.position,r=this.spacePointContext.svgCurrentSpacePoint(),s=wsA(n.rawHandle.position),g=this.getPathFactoryParams(o,r,a,s);switch(i){case"straight":return tK(g).path;case"bezier":return iK(g).path;case"smooth-step":return zh(g).path;case"step":return zh(g,0).path;default:return i(g).path}}if(A.state==="connection-validation"||A.state==="reconnection-validation"){let n=A.payload.sourceHandle,o=n.pointAbsolute(),a=n.rawHandle.position,r=A.payload.targetHandle,s=A.payload.valid?r.pointAbsolute():this.spacePointContext.svgCurrentSpacePoint(),g=A.payload.valid?r.rawHandle.position:wsA(n.rawHandle.position),l=this.getPathFactoryParams(o,s,a,g);switch(i){case"straight":return tK(l).path;case"bezier":return iK(l).path;case"smooth-step":return zh(l).path;case"step":return zh(l,0).path;default:return i(l).path}}return null}),this.markerUrl=Ue(()=>{let A=this.model().settings.marker;return A?`url(#${Oh(JSON.stringify(A))})`:""}),this.defaultColor="rgb(177, 177, 183)"}getContext(){return{$implicit:{path:this.path,marker:this.markerUrl}}}getPathFactoryParams(A,i,n,o){return{mode:"connection",sourcePoint:A,targetPoint:i,sourcePosition:n,targetPosition:o,allEdges:this.flowEntitiesService.rawEdges(),allNodes:this.flowEntitiesService.rawNodes()}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","connection",""]],inputs:{model:[1,"model"],template:[1,"template"]},attrs:aUA,decls:2,vars:2,consts:[["fill","none","stroke-width","2"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,n){i&1&&(V(0,sUA,1,1),V(1,cUA,1,1)),i&2&&(W(n.model().type==="default"?0:-1),p(),W(n.model().type==="template"?1:-1))},dependencies:[sl],encapsulation:2,changeDetection:0})}}return t})();function wsA(t){switch(t){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}function kJA(){return String.fromCharCode(65+Math.floor(Math.random()*26))+Date.now()}var SJA="#fff",xJA=20,RJA=2,DsA="rgb(177, 177, 183)",ysA=.1,NJA=!0,FJA=(()=>{class t{constructor(){this.viewportService=h(dB),this.rootSvg=h(w7).element,this.settingsService=h(bs),this.backgroundSignal=this.settingsService.background,this.scaledGap=Ue(()=>{let A=this.backgroundSignal();return A.type==="dots"?this.viewportService.readableViewport().zoom*(A.gap??xJA):0}),this.x=Ue(()=>this.viewportService.readableViewport().x%this.scaledGap()),this.y=Ue(()=>this.viewportService.readableViewport().y%this.scaledGap()),this.patternColor=Ue(()=>{let A=this.backgroundSignal();return A.type==="dots"?A.color??DsA:DsA}),this.patternSize=Ue(()=>{let A=this.backgroundSignal();return A.type==="dots"?this.viewportService.readableViewport().zoom*(A.size??RJA)/2:0}),this.bgImageSrc=Ue(()=>{let A=this.backgroundSignal();return A.type==="image"?A.src:""}),this.imageSize=Km($n(this.backgroundSignal).pipe(Si(()=>_JA(this.bgImageSrc())),fe(A=>({width:A.naturalWidth,height:A.naturalHeight}))),{initialValue:{width:0,height:0}}),this.scaledImageWidth=Ue(()=>{let A=this.backgroundSignal();if(A.type==="image"){let i=A.fixed?1:this.viewportService.readableViewport().zoom;return this.imageSize().width*i*(A.scale??ysA)}return 0}),this.scaledImageHeight=Ue(()=>{let A=this.backgroundSignal();if(A.type==="image"){let i=A.fixed?1:this.viewportService.readableViewport().zoom;return this.imageSize().height*i*(A.scale??ysA)}return 0}),this.imageX=Ue(()=>{let A=this.backgroundSignal();return A.type==="image"?A.repeat?A.fixed?0:this.viewportService.readableViewport().x%this.scaledImageWidth():A.fixed?0:this.viewportService.readableViewport().x:0}),this.imageY=Ue(()=>{let A=this.backgroundSignal();return A.type==="image"?A.repeat?A.fixed?0:this.viewportService.readableViewport().y%this.scaledImageHeight():A.fixed?0:this.viewportService.readableViewport().y:0}),this.repeated=Ue(()=>{let A=this.backgroundSignal();return A.type==="image"&&(A.repeat??NJA)}),this.patternId=kJA(),this.patternUrl=`url(#${this.patternId})`,Ga(()=>{let A=this.backgroundSignal();A.type==="dots"&&(this.rootSvg.style.backgroundColor=A.backgroundColor??SJA),A.type==="solid"&&(this.rootSvg.style.backgroundColor=A.color)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","background",""]],attrs:CUA,decls:2,vars:2,consts:[["patternUnits","userSpaceOnUse"],["x","0","y","0","width","100%","height","100%"]],template:function(i,n){i&1&&(V(0,IUA,3,10),V(1,EUA,2,2)),i&2&&(W(n.backgroundSignal().type==="dots"?0:-1),p(),W(n.backgroundSignal().type==="image"?1:-1))},encapsulation:2,changeDetection:0})}}return t})();function _JA(t){let e=new Image;return e.src=t,new Promise(A=>{e.onload=()=>A(e)})}var LJA=(()=>{class t{constructor(){this.markers=rt.required(),this.defaultColor="rgb(177, 177, 183)"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["defs","flowDefs",""]],inputs:{markers:[1,"markers"]},attrs:QUA,decls:3,vars:2,consts:[["viewBox","-10 -10 20 20","refX","0","refY","0"],["points","-5,-4 1,0 -5,4 -5,-4",1,"marker__arrow_closed",3,"stroke","stroke-width","fill"],["points","-5,-4 0,0 -5,4",1,"marker__arrow_default",3,"stroke","stroke-width"],["points","-5,-4 1,0 -5,4 -5,-4",1,"marker__arrow_closed"],["points","-5,-4 0,0 -5,4",1,"marker__arrow_default"]],template:function(i,n){i&1&&(Ut(0,fUA,3,7,":svg:marker",0,Li),ri(2,"keyvalue")),i&2&&Jt(Ci(2,0,n.markers()))},dependencies:[Bp],styles:[".marker__arrow_default[_ngcontent-%COMP%]{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;fill:none}.marker__arrow_closed[_ngcontent-%COMP%]{stroke-linecap:round;stroke-linejoin:round}"],changeDetection:0})}}return t})(),GJA=(()=>{class t{constructor(){this.host=h(ge),this.flowSettingsService=h(bs),this.flowWidth=Ue(()=>{let A=this.flowSettingsService.view();return A==="auto"?"100%":A[0]}),this.flowHeight=Ue(()=>{let A=this.flowSettingsService.view();return A==="auto"?"100%":A[1]}),y7([this.host.nativeElement],h(Oe)).pipe(oi(([A])=>{this.flowSettingsService.computedFlowWidth.set(A.contentRect.width),this.flowSettingsService.computedFlowHeight.set(A.contentRect.height)}),Tr()).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","flowSizeController",""]],hostVars:2,hostBindings:function(i,n){i&2&&ie("width",n.flowWidth())("height",n.flowHeight())}})}}return t})(),KJA=(()=>{class t{constructor(){this.flowStatusService=h(d1)}resetConnection(){let A=this.flowStatusService.status();(A.state==="connection-start"||A.state==="reconnection-start")&&this.flowStatusService.setIdleStatus()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["svg","rootSvgContext",""]],hostBindings:function(i,n){i&1&&tA("mouseup",function(){return n.resetConnection()},nC)("touchend",function(){return n.resetConnection()},nC)("contextmenu",function(){return n.resetConnection()})}})}}return t})();function gK(t,e){let A=[];for(let i of e){let{x:n,y:o}=i.globalPoint();t.x>=n&&t.x<=n+i.width()&&t.y>=o&&t.y<=o+i.height()&&A.push({x:t.x-n,y:t.y-o,spaceNodeId:i.rawNode.id})}return A.reverse(),A.push({spaceNodeId:null,x:t.x,y:t.y}),A}var CK=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})(),UJA=(()=>{class t extends CK{shouldRenderNode(A){return!A.isVisible()}static{this.\u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})()}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function JJA(t,e){if(Object.keys(e.preview().style).length){HJA(t,e);return}if(e.rawNode.type==="default"){YJA(t,e);return}if(e.rawNode.type==="default-group"){TJA(t,e);return}zJA(t,e)}function YJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height();UsA(t,e,5),t.fillStyle="white",t.fill(),t.strokeStyle="#1b262c",t.lineWidth=1.5,t.stroke(),t.fillStyle="black",t.font="14px Arial",t.textAlign="center",t.textBaseline="middle";let o=A.x+i/2,a=A.y+n/2;t.fillText(e.text(),o,a)}function TJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height();t.globalAlpha=.05,t.fillStyle=e.color(),t.fillRect(A.x,A.y,i,n),t.globalAlpha=1,t.strokeStyle=e.color(),t.lineWidth=1.5,t.strokeRect(A.x,A.y,i,n)}function HJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height(),o=e.preview().style;if(o.borderRadius){let a=parseFloat(o.borderRadius);UsA(t,e,a)}else t.beginPath(),t.rect(A.x,A.y,i,n),t.closePath();o.backgroundColor&&(t.fillStyle=o.backgroundColor),o.borderColor&&(t.strokeStyle=o.borderColor),o.borderWidth&&(t.lineWidth=parseFloat(o.borderWidth)),t.fill(),t.stroke()}function zJA(t,e){let A=e.globalPoint(),i=e.width(),n=e.height();t.fillStyle="rgb(0 0 0 / 10%)",t.fillRect(A.x,A.y,i,n)}function UsA(t,e,A){let i=e.globalPoint(),n=e.width(),o=e.height();t.beginPath(),t.moveTo(i.x+A,i.y),t.lineTo(i.x+n-A,i.y),t.quadraticCurveTo(i.x+n,i.y,i.x+n,i.y+A),t.lineTo(i.x+n,i.y+o-A),t.quadraticCurveTo(i.x+n,i.y+o,i.x+n-A,i.y+o),t.lineTo(i.x+A,i.y+o),t.quadraticCurveTo(i.x,i.y+o,i.x,i.y+o-A),t.lineTo(i.x,i.y+A),t.quadraticCurveTo(i.x,i.y,i.x+A,i.y),t.closePath()}var OJA=(()=>{class t{constructor(){this.viewportService=h(dB),this.renderStrategy=h(CK),this.nodeRenderingService=h(BB),this.renderer2=h(_i),this.element=h(ge).nativeElement,this.ctx=this.element.getContext("2d"),this.width=rt(0),this.height=rt(0),this.dpr=window.devicePixelRatio,Ga(()=>{this.renderer2.setProperty(this.element,"width",this.width()*this.dpr),this.renderer2.setProperty(this.element,"height",this.height()*this.dpr),this.renderer2.setStyle(this.element,"width",`${this.width()}px`),this.renderer2.setStyle(this.element,"height",`${this.height()}px`),this.ctx.scale(this.dpr,this.dpr)}),Ga(()=>{let A=this.viewportService.readableViewport();this.ctx.clearRect(0,0,this.width(),this.height()),this.ctx.save(),this.ctx.setTransform(A.zoom*this.dpr,0,0,A.zoom*this.dpr,A.x*this.dpr,A.y*this.dpr);for(let i=0;i{class t{constructor(){this.nodeRenderingService=h(BB),this.edgeRenderingService=h(p7),this.flowEntitiesService=h(Sg),this.settingsService=h(bs),this.flowInitialized=jA(!1),h(Oe).runOutsideAngular(()=>nt(this,null,function*(){yield PJA(2),this.flowInitialized.set(!0)}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=zA({token:t,factory:t.\u0275fac})}}return t})();function PJA(t){return new Promise(e=>{let A=0;function i(){A++,A{class t{constructor(){this.nodeRenderingService=h(BB),this.flowStatus=h(d1),this.tolerance=rt(10),this.lineColor=rt("#1b262c"),this.isNodeDragging=Ue(()=>dsA(this.flowStatus.status())),this.intersections=u7(A=>{let i=this.flowStatus.status();if(dsA(i)){let n=i.payload.node,o=bsA(I7(n)),a=this.nodeRenderingService.viewportNodes().filter(I=>I!==n).filter(I=>!n.children().includes(I)).map(I=>bsA(I7(I))),r=[],s=o.x,g=o.y,l=1/0,C=1/0;return a.forEach(I=>{let d=o.left+o.width/2,B=I.left+I.width/2;for(let[f,b,S,M]of[[d,B,B-o.width/2,!0],[o.left,I.left,I.left,!1],[o.left,I.right,I.right,!1],[o.right,I.left,I.left-o.width,!1],[o.right,I.right,I.right-o.width,!1]]){let D=Math.abs(f-b);if(D<=this.tolerance()){let F=Math.min(o.top,I.top),_=Math.max(o.bottom,I.bottom);if(r.push({x:b,y:F,x2:b,y2:_,isCenter:M}),DA.payload.node),fe(A=>[A,this.intersections()]),oi(([A,i])=>{if(i){let n={x:i.snappedX,y:i.snappedY},o=A.parent()?[A.parent()]:[];A.setPoint(gK(n,o)[0])}}),Tr()).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["g","alignmentHelper",""]],inputs:{tolerance:[1,"tolerance"],lineColor:[1,"lineColor"]},attrs:pUA,decls:1,vars:1,template:function(i,n){i&1&&V(0,yUA,1,1),i&2&&W(n.isNodeDragging()?0:-1)},encapsulation:2,changeDetection:0})}}return t})();var JsA=(()=>{class t{constructor(){this.viewportService=h(dB),this.flowEntitiesService=h(Sg),this.nodesChangeService=h(oK),this.edgesChangeService=h(aK),this.nodeRenderingService=h(BB),this.edgeRenderingService=h(p7),this.flowSettingsService=h(bs),this.componentEventBusService=h(eK),this.keyboardService=h(AK),this.injector=h(ft),this.flowRenderingService=h(vsA),this.alignmentHelper=rt(!1),this.nodeModels=this.nodeRenderingService.nodes,this.groups=this.nodeRenderingService.groups,this.nonGroups=this.nodeRenderingService.nonGroups,this.edgeModels=this.edgeRenderingService.edges,this.onComponentNodeEvent=Dn(this.componentEventBusService.event$),this.nodeTemplateDirective=rC(E7),this.nodeSvgTemplateDirective=rC(hsA),this.groupNodeTemplateDirective=rC(Q7),this.edgeTemplateDirective=rC(BsA),this.edgeLabelHtmlDirective=rC(QsA),this.connectionTemplateDirective=rC(EsA),this.mapContext=ca(ZG),this.spacePointContext=ca.required(Lm),this.viewport=this.viewportService.readableViewport.asReadonly(),this.nodesChange=Km(this.nodesChangeService.changes$,{initialValue:[]}),this.edgesChange=Km(this.edgesChangeService.changes$,{initialValue:[]}),this.initialized=this.flowRenderingService.flowInitialized.asReadonly(),this.viewportChange$=$n(this.viewportService.readableViewport).pipe(Fg(1)),this.nodesChange$=this.nodesChangeService.changes$,this.edgesChange$=this.edgesChangeService.changes$,this.initialized$=$n(this.flowRenderingService.flowInitialized),this.markers=this.flowEntitiesService.markers,this.minimap=this.flowEntitiesService.minimap,this.flowOptimization=this.flowSettingsService.optimization,this.flowWidth=this.flowSettingsService.computedFlowWidth,this.flowHeight=this.flowSettingsService.computedFlowHeight}set view(A){this.flowSettingsService.view.set(A)}set minZoom(A){this.flowSettingsService.minZoom.set(A)}set maxZoom(A){this.flowSettingsService.maxZoom.set(A)}set background(A){this.flowSettingsService.background.set(QJA(A))}set optimization(A){this.flowSettingsService.optimization.update(i=>cA(cA({},i),A))}set entitiesSelectable(A){this.flowSettingsService.entitiesSelectable.set(A)}set keyboardShortcuts(A){this.keyboardService.setShortcuts(A)}set connection(A){this.flowEntitiesService.connection.set(A)}get connection(){return this.flowEntitiesService.connection()}set snapGrid(A){this.flowSettingsService.snapGrid.set(A)}set elevateNodesOnSelect(A){this.flowSettingsService.elevateNodesOnSelect.set(A)}set elevateEdgesOnSelect(A){this.flowSettingsService.elevateEdgesOnSelect.set(A)}set nodes(A){let i=or(this.injector,()=>f7.nodes(A,this.flowEntitiesService.nodes()));usA(i,this.flowEntitiesService.edges()),this.flowEntitiesService.nodes.set(i),i.forEach(n=>this.nodeRenderingService.pullNode(n))}set edges(A){let i=or(this.injector,()=>f7.edges(A,this.flowEntitiesService.edges()));usA(this.flowEntitiesService.nodes(),i),this.flowEntitiesService.edges.set(i)}viewportTo(A){this.viewportService.writableViewport.set({changeType:"absolute",state:A,duration:0})}zoomTo(A){this.viewportService.writableViewport.set({changeType:"absolute",state:{zoom:A},duration:0})}panTo(A){this.viewportService.writableViewport.set({changeType:"absolute",state:A,duration:0})}fitView(A){this.viewportService.fitView(A)}getNode(A){return this.flowEntitiesService.getNode(A)?.rawNode}getDetachedEdges(){return this.flowEntitiesService.getDetachedEdges().map(A=>A.edge)}documentPointToFlowPoint(A,i){let n=this.spacePointContext().documentPointToFlowPoint(A);return i?.spaces?gK(n,this.nodeRenderingService.groups()):n}getIntesectingNodes(A,i={partially:!0}){return UUA(A,this.nodeModels(),i).map(n=>n.rawNode)}toNodeSpace(A,i){let n=this.nodeModels().find(a=>a.rawNode.id===A);if(!n)return{x:1/0,y:1/0};if(i===null)return n.globalPoint();let o=this.nodeModels().find(a=>a.rawNode.id===i);return o?gK(n.globalPoint(),[o])[0]:{x:1/0,y:1/0}}trackNodes(A,{rawNode:i}){return i}trackEdges(A,{edge:i}){return i}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=kA({type:t,selectors:[["vflow"]],contentQueries:function(i,n,o){i&1&&Cp(o,n.nodeTemplateDirective,E7,5)(o,n.nodeSvgTemplateDirective,hsA,5)(o,n.groupNodeTemplateDirective,Q7,5)(o,n.edgeTemplateDirective,BsA,5)(o,n.edgeLabelHtmlDirective,QsA,5)(o,n.connectionTemplateDirective,EsA,5),i&2&&Dr(6)},viewQuery:function(i,n){i&1&&rs(n.mapContext,ZG,5)(n.spacePointContext,Lm,5),i&2&&Dr(2)},inputs:{view:"view",minZoom:"minZoom",maxZoom:"maxZoom",background:"background",optimization:"optimization",entitiesSelectable:"entitiesSelectable",keyboardShortcuts:"keyboardShortcuts",connection:[2,"connection","connection",A=>new d7(A)],snapGrid:"snapGrid",elevateNodesOnSelect:"elevateNodesOnSelect",elevateEdgesOnSelect:"elevateEdgesOnSelect",nodes:"nodes",alignmentHelper:[1,"alignmentHelper"],edges:"edges"},outputs:{onComponentNodeEvent:"onComponentNodeEvent"},features:[dt([SsA,dB,d1,Sg,oK,aK,BB,p7,Um,bs,eK,AK,FsA,{provide:CK,useClass:UJA},vsA]),sp([{directive:EJA,outputs:["onNodesChange","onNodesChange","onNodesChange.position","onNodesChange.position","onNodesChange.position.single","onNodesChange.position.single","onNodesChange.position.many","onNodesChange.position.many","onNodesChange.size","onNodesChange.size","onNodesChange.size.single","onNodesChange.size.single","onNodesChange.size.many","onNodesChange.size.many","onNodesChange.add","onNodesChange.add","onNodesChange.add.single","onNodesChange.add.single","onNodesChange.add.many","onNodesChange.add.many","onNodesChange.remove","onNodesChange.remove","onNodesChange.remove.single","onNodesChange.remove.single","onNodesChange.remove.many","onNodesChange.remove.many","onNodesChange.select","onNodesChange.select","onNodesChange.select.single","onNodesChange.select.single","onNodesChange.select.many","onNodesChange.select.many","onEdgesChange","onEdgesChange","onEdgesChange.detached","onEdgesChange.detached","onEdgesChange.detached.single","onEdgesChange.detached.single","onEdgesChange.detached.many","onEdgesChange.detached.many","onEdgesChange.add","onEdgesChange.add","onEdgesChange.add.single","onEdgesChange.add.single","onEdgesChange.add.many","onEdgesChange.add.many","onEdgesChange.remove","onEdgesChange.remove","onEdgesChange.remove.single","onEdgesChange.remove.single","onEdgesChange.remove.many","onEdgesChange.remove.many","onEdgesChange.select","onEdgesChange.select","onEdgesChange.select.single","onEdgesChange.select.single","onEdgesChange.select.many","onEdgesChange.select.many"]}])],decls:11,vars:8,consts:[["flow",""],["rootSvgRef","","rootSvgContext","","rootPointer","","flowSizeController","",1,"root-svg"],["flowDefs","",3,"markers"],["background",""],["mapContext","","spacePointContext",""],["connection","",3,"model","template"],[3,"ngTemplateOutlet"],["previewFlow","",1,"preview-flow",3,"width","height"],["alignmentHelper",""],["alignmentHelper","",3,"tolerance","lineColor"],["node","",3,"model","groupNodeTemplate"],["edge","",3,"model","edgeTemplate","edgeLabelHtmlTemplate"],["node","",3,"model","nodeTemplate","nodeSvgTemplate"],["node","",3,"model","nodeTemplate","nodeSvgTemplate","groupNodeTemplate"]],template:function(i,n){if(i&1&&(Qt(),m(0,"svg",1,0),GA(2,"defs",2)(3,"g",3),m(4,"g",4),V(5,MUA,2,1),GA(6,"g",5),V(7,RUA,6,0),V(8,_UA,4,0),w(),V(9,LUA,1,1,":svg:ng-container",6),w(),V(10,GUA,1,2,"canvas",7)),i&2){let o,a,r;p(2),$("markers",n.markers()),p(3),W((o=n.alignmentHelper())?5:-1,o),p(),$("model",n.connection)("template",(a=n.connectionTemplateDirective())==null?null:a.templateRef),p(),W(n.flowOptimization().detachedGroupsLayer?7:-1),p(),W(n.flowOptimization().detachedGroupsLayer?-1:8),p(),W((r=n.minimap())?9:-1,r),p(),W(n.flowOptimization().virtualization?10:-1)}},dependencies:[w7,KJA,D7,GJA,LJA,FJA,ZG,Lm,MJA,KsA,GsA,sl,OJA,jJA],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:1fr;width:100%;height:100%;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] *{box-sizing:border-box}.root-svg[_ngcontent-%COMP%]{grid-row-start:1;grid-column-start:1}.preview-flow[_ngcontent-%COMP%]{pointer-events:none;grid-row-start:1;grid-column-start:1}"],changeDetection:0})}}return t})();var YsA=(()=>{class t{constructor(){this.flowSettingsService=h(bs),this.selectionService=h(Um),this.parentEdge=h(GsA,{optional:!0}),this.parentNode=h(KsA,{optional:!0}),this.host=h(ge),this.selectOnEvent=this.getEvent$().pipe(oi(()=>this.select()),Tr()).subscribe()}select(){let A=this.entity();A&&this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(A)}entity(){return this.parentNode?this.parentNode.model():this.parentEdge?this.parentEdge.model():null}getEvent$(){return nl(this.host.nativeElement,"click")}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=OA({type:t,selectors:[["","selectable",""]]})}}return t})();var VJA=["canvas"],WJA=["svgCanvas"],ZJA=()=>({type:"dots",color:"#424242",size:1,gap:12}),XJA=()=>[12,12],$JA=(t,e)=>e.name;function AYA(t,e){if(t&1){let A=JA();m(0,"div",6)(1,"div",11)(2,"button",12),tA("click",function(){Z(A);let n=v();return X(n.backToMainCanvas())}),m(3,"mat-icon"),K(4,"arrow_back"),w()(),m(5,"div",13)(6,"span",14),K(7,"smart_toy"),w(),m(8,"div",15)(9,"h3",16),K(10),w(),m(11,"p",17),K(12,"Agent Tool"),w()()()()()}if(t&2){let A=v();p(2),$("matTooltip",A.getBackButtonTooltip()),p(8),qA(A.currentAgentTool())}}function eYA(t,e){if(t&1){let A=JA();m(0,"span",18),tA("click",function(){Z(A);let n=v();return X(n.toggleSidePanelRequest.emit())}),K(1,"left_panel_open"),w()}}function tYA(t,e){if(t&1){let A=JA();Qt(),m(0,"foreignObject"),as(),m(1,"div",27),tA("click",function(n){return Z(A),X(n.stopPropagation())}),m(2,"button",28,0),tA("click",function(n){return Z(A),X(n.stopPropagation())}),m(4,"mat-icon"),K(5,"add"),w()(),m(6,"span",29),K(7,"Add sub-agent"),w(),m(8,"mat-menu",null,1)(10,"button",30),tA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LlmAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(11,"mat-icon"),K(12,"psychology"),w(),m(13,"span"),K(14,"LLM Agent"),w()(),m(15,"button",30),tA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("SequentialAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(16,"mat-icon"),K(17,"more_horiz"),w(),m(18,"span"),K(19,"Sequential Agent"),w()(),m(20,"button",30),tA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LoopAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(21,"mat-icon"),K(22,"sync"),w(),m(23,"span"),K(24,"Loop Agent"),w()(),m(25,"button",30),tA("click",function(n){let o;Z(A);let a=An(3),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("ParallelAgent",r.node.data==null||(o=r.node.data())==null?null:o.name,a,n,!0))}),m(26,"mat-icon"),K(27,"density_medium"),w(),m(28,"span"),K(29,"Parallel Agent"),w()()()()()}if(t&2){let A=An(9),i=v().$implicit;ie("width",200)("height",100)("x",i.width()/2-100)("y",i.height()/2-40),p(2),$("matMenuTriggerFor",A)}}function iYA(t,e){t&1&&(Qt(),GA(0,"handle",26))}function nYA(t,e){if(t&1){let A=JA();Qt(),m(0,"g")(1,"rect",21),tA("click",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onGroupClick(o.node,n))})("pointerdown",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onGroupPointerDown(o.node,n))}),w(),m(2,"foreignObject",22),as(),m(3,"div",23)(4,"mat-icon",24),K(5),w(),m(6,"span",25),K(7),w()()(),V(8,tYA,30,5,":svg:foreignObject"),V(9,iYA,1,0,":svg:handle",26),w()}if(t&2){let A,i,n=e.$implicit,o=v(2);p(),wn("stroke",o.isGroupSelected(n.node)?"rgba(0, 187, 234, 0.8)":"rgba(0, 187, 234, 0.3)")("fill",o.isGroupSelected(n.node)?"rgba(0, 187, 234, 0.1)":"rgba(0, 187, 234, 0.03)")("stroke-width",o.isGroupSelected(n.node)?3:2),ie("width",n.width())("height",n.height()),p(),ie("width",200)("height",32),p(3),qA(o.getAgentIcon(n.node.data==null||(A=n.node.data())==null?null:A.agent_class)),p(2),qA(n.node.data==null||(i=n.node.data())==null?null:i.agent_class),p(),W(o.isGroupEmpty(n.node.id)?8:-1),p(),W(o.shouldShowTopHandle(n.node)?9:-1)}}function oYA(t,e){t&1&&(m(0,"span",35),K(1,"Root"),w())}function aYA(t,e){if(t&1){let A=JA();m(0,"button",43),tA("click",function(n){Z(A),v();let o=Vs(0);return v(2).openDeleteSubAgentDialog(o),X(n.stopPropagation())}),m(1,"mat-icon"),K(2,"delete"),w()()}}function rYA(t,e){if(t&1){let A=JA();m(0,"div",46),tA("click",function(n){let o=Z(A).$implicit,a=v(2).$implicit;return v(2).selectTool(o,a.node),X(n.stopPropagation())}),m(1,"mat-icon",47),K(2),w(),m(3,"span",48),K(4),w()()}if(t&2){let A=e.$implicit,i=v(4);p(2),qA(i.getToolIcon(A)),p(2),qA(A.name)}}function sYA(t,e){if(t&1&&(m(0,"div",38)(1,"div",44),Ut(2,rYA,5,2,"div",45,$JA),w()()),t&2){v();let A=Vs(3);p(2),Jt(A)}}function gYA(t,e){if(t&1){let A=JA();m(0,"div",39)(1,"button",49,2),tA("click",function(n){return Z(A),X(n.stopPropagation())}),m(3,"span",50),K(4,"+"),w()(),m(5,"mat-menu",null,3)(7,"button",30),tA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LlmAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(8,"mat-icon"),K(9,"psychology"),w(),m(10,"span"),K(11,"LLM Agent"),w()(),m(12,"button",30),tA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("SequentialAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(13,"mat-icon"),K(14,"more_horiz"),w(),m(15,"span"),K(16,"Sequential Agent"),w()(),m(17,"button",30),tA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("LoopAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(18,"mat-icon"),K(19,"sync"),w(),m(20,"span"),K(21,"Loop Agent"),w()(),m(22,"button",30),tA("click",function(n){let o;Z(A);let a=An(2),r=v().$implicit,s=v(2);return X(s.handleAgentTypeSelection("ParallelAgent",(o=r.node.data())==null?null:o.name,a,n))}),m(23,"mat-icon"),K(24,"density_medium"),w(),m(25,"span"),K(26,"Parallel Agent"),w()()()()}if(t&2){let A=An(6);p(),$("matMenuTriggerFor",A)}}function lYA(t,e){t&1&&GA(0,"handle",40)}function cYA(t,e){t&1&&GA(0,"handle",26)}function CYA(t,e){t&1&&GA(0,"handle",41)}function IYA(t,e){t&1&&GA(0,"handle",42)}function dYA(t,e){if(t&1){let A=JA();Ur(0)(1),ri(2,"async"),Ur(3),m(4,"div",31),tA("click",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onCustomTemplateNodeClick(o.node,n))})("pointerdown",function(n){let o=Z(A).$implicit,a=v(2);return X(a.onNodePointerDown(o.node,n))}),m(5,"div",32)(6,"div",33)(7,"mat-icon",34),K(8),w(),K(9),V(10,oYA,2,0,"span",35),w(),m(11,"div",36),V(12,aYA,3,0,"button",37),w()(),V(13,sYA,4,0,"div",38),V(14,gYA,27,1,"div",39),V(15,lYA,1,0,"handle",40),V(16,cYA,1,0,"handle",26),V(17,CYA,1,0,"handle",41),V(18,IYA,1,0,"handle",42),w()}if(t&2){let A=e.$implicit,i=v(2),n=A.node.data==null?null:A.node.data(),o=_g((n==null?null:n.name)||"root_agent"),a=Ci(2,17,i.toolsMap$);p(3);let s=_g(i.getToolsForNode(o,a)).length>0;p(),ne("custom-node_selected",i.isNodeSelected(A.node))("custom-node_has-tools",s)("in-group",A.node.parentId&&A.node.parentId()),p(4),qA(i.getAgentIcon(n==null?null:n.agent_class)),p(),Se(" ",o," "),p(),W(i.isRootAgent(o)?10:-1),p(2),W(i.isRootAgentForCurrentTab(o)?-1:12),p(),W(s?13:-1),p(),W(i.shouldShowAddButton(A.node)?14:-1),p(),W(i.shouldShowLeftHandle(A.node)?15:-1),p(),W(i.shouldShowTopHandle(A.node)?16:-1),p(),W(i.shouldShowRightHandle(A.node)?17:-1),p(),W(i.shouldShowBottomHandle(A.node)?18:-1)}}function BYA(t,e){if(t&1&&(m(0,"vflow",8),pt(1,nYA,10,14,"ng-template",19)(2,dYA,19,20,"ng-template",20),w()),t&2){let A=v();$("nodes",A.vflowNodes())("edges",A.edges())("background",Cu(4,ZJA))("snapGrid",Cu(5,XJA))}}function EYA(t,e){t&1&&(m(0,"div",9)(1,"div",51)(2,"mat-icon",52),K(3,"touch_app"),w(),m(4,"h4"),K(5,"Start Building Your ADK"),w(),m(6,"p"),K(7,"Drag components from the left panel to create your workflow"),w(),m(8,"div",53)(9,"div",54)(10,"mat-icon"),K(11,"drag_indicator"),w(),m(12,"span"),K(13,"Drag to move nodes"),w()(),m(14,"div",54)(15,"mat-icon"),K(16,"link"),w(),m(17,"span"),K(18,"Shift + Click to connect nodes"),w()()()()())}var jh=class t{constructor(e,A,i){this.dialog=e;this.agentService=A;this.router=i;this.toolsMap$=this.agentBuilderService.getAgentToolsMap(),this.agentBuilderService.getSelectedTool().subscribe(n=>{this.selectedTool=n})}_snackBar=h(J2);canvasRef;svgCanvasRef;agentBuilderService=h(Q0);cdr=h(Dt);showSidePanel=!0;showBuilderAssistant=!1;appNameInput="";toggleSidePanelRequest=new $A;builderAssistantCloseRequest=new $A;ctx;connections=jA([]);nodeId=1;edgeId=1;callbackId=1;toolId=1;appName="";nodes=jA([]);edges=jA([]);workflowShellWidth=340;workflowGroupWidth=420;workflowGroupHeight=220;workflowGroupYOffset=180;workflowGroupXOffset=-40;workflowInnerNodePoint={x:40,y:80};groupNodes=jA([]);vflowNodes=Ue(()=>[...this.groupNodes(),...this.nodes()]);selectedAgents=[];selectedTool;selectedCallback;currentAgentTool=jA(null);agentToolBoards=jA(new Map);isAgentToolMode=!1;navigationStack=[];existingAgent=void 0;toolsMap$;nodePositions=new Map;ngOnInit(){this.agentService.getApp().subscribe(e=>{e&&(this.appName=e)}),this.appNameInput&&(this.appName=this.appNameInput),this.agentBuilderService.getNewTabRequest().subscribe(e=>{if(e){let{tabName:A,currentAgentName:i}=e;this.switchToAgentToolBoard(A,i)}}),this.agentBuilderService.getTabDeletionRequest().subscribe(e=>{e&&this.deleteAgentToolBoard(e)}),this.agentBuilderService.getSelectedCallback().subscribe(e=>{this.selectedCallback=e}),this.agentBuilderService.getAgentCallbacks().subscribe(e=>{if(e){let A=this.nodes().find(i=>i.data?i.data().name===e.agentName:void 0);if(A&&A.data){let i=A.data();i.callbacks=e.callbacks,A.data.set(i)}}}),this.agentBuilderService.getDeleteSubAgentSubject().subscribe(e=>{e&&this.openDeleteSubAgentDialog(e)}),this.agentBuilderService.getAddSubAgentSubject().subscribe(e=>{e.parentAgentName&&this.addSubAgent(e.parentAgentName,e.agentClass,e.isFromEmptyGroup)}),this.agentBuilderService.getSelectedNode().subscribe(e=>{this.selectedAgents=this.nodes().filter(A=>A.data&&A.data().name===e?.name)}),this.toolsMap$.subscribe(e=>{this.nodes().some(i=>i.parentId&&i.parentId())&&this.groupNodes().length>0&&this.updateGroupDimensions()})}ngOnChanges(e){e.appNameInput&&e.appNameInput.currentValue&&(this.appName=e.appNameInput.currentValue)}ngAfterViewInit(){}onCustomTemplateNodeClick(e,A){this.shouldIgnoreNodeInteraction(A.target)||this.selectAgentNode(e,{openConfig:!0})}onNodePointerDown(e,A){this.shouldIgnoreNodeInteraction(A.target)||this.selectAgentNode(e,{openConfig:!1})}onGroupClick(e,A){if(A.stopPropagation(),!e?.data)return;let i=e.data().name,n=this.nodes().find(o=>o.data&&o.data().name===i);n&&this.selectAgentNode(n,{openConfig:!0})}onGroupPointerDown(e,A){if(A.stopPropagation(),!e?.data)return;let i=e.data().name,n=this.nodes().find(o=>o.data&&o.data().name===i);n&&this.selectAgentNode(n,{openConfig:!1})}onCanvasClick(e){let A=e.target;if(!A)return;let i=[".custom-node",".action-button-bar",".add-subagent-btn",".open-panel-btn",".agent-tool-banner",".mat-mdc-menu-panel"];A.closest(i.join(","))||this.clearCanvasSelection()}shouldIgnoreNodeInteraction(e){return e?!!e.closest("mat-chip, .add-subagent-btn, .mat-mdc-menu-panel"):!1}selectAgentNode(e,A={}){if(!e?.data)return;let i=this.agentBuilderService.getNode(e.data().name);i&&(this.agentBuilderService.setSelectedTool(void 0),this.agentBuilderService.setSelectedNode(i),this.nodePositions.set(i.name,cA({},e.point())),A.openConfig&&this.agentBuilderService.requestSideTabChange("config"))}handleAgentTypeSelection(e,A,i,n,o=!1){n.stopPropagation(),i?.closeMenu(),this.onAgentTypeSelected(e,A,o)}clearCanvasSelection(){!this.selectedAgents.length&&!this.selectedTool&&!this.selectedCallback||(this.selectedAgents=[],this.selectedTool=void 0,this.selectedCallback=void 0,this.agentBuilderService.setSelectedNode(void 0),this.agentBuilderService.setSelectedTool(void 0),this.agentBuilderService.setSelectedCallback(void 0),this.cdr.markForCheck())}onAddResource(e){}onAgentTypeSelected(e,A,i=!1){A&&this.addSubAgent(A,e,i)}generateNodeId(){return this.nodeId+=1,this.nodeId.toString()}generateEdgeId(){return this.edgeId+=1,this.edgeId.toString()}createNode(e,A,i){let n=jA(e),a={id:this.generateNodeId(),point:jA(cA({},A)),type:"html-template",data:n};return i&&(a.parentId=jA(i)),this.nodePositions.set(e.name,cA({},a.point())),a}createWorkflowGroup(e,A,i,n,o,a){let r,s=null;if(n){let d=(o||this.groupNodes()).find(B=>B.id===n);if(d){let B=d.point(),E=d.height?d.height():this.workflowGroupHeight;if(a&&o){let Q=a.filter(f=>f.parentId&&f.parentId()===d.id);if(Q.length>0){let U=0;for(let J of Q){let j=J.data?J.data():void 0,AA=120;j&&j.tools&&j.tools.length>0&&(AA+=20+j.tools.length*36),U=Math.max(U,AA)}E=Math.max(220,80+U+40)}}r={x:B.x,y:B.y+E+60},s=null}else r={x:i.x+this.workflowGroupXOffset,y:i.y+this.workflowGroupYOffset}}else r={x:i.x+this.workflowGroupXOffset,y:i.y+this.workflowGroupYOffset};let g=this.generateNodeId(),l={id:g,point:jA(r),type:"template-group",data:jA(e),parentId:jA(s),width:jA(this.workflowGroupWidth),height:jA(this.workflowGroupHeight)},C=e.agent_class==="SequentialAgent"?{id:this.generateEdgeId(),source:A.id,sourceHandle:"source-bottom",target:g,targetHandle:"target-top"}:null;return{groupNode:l,edge:C}}calculateWorkflowChildPosition(e,A){let r=(A-20)/2;return{x:45+e*428,y:r}}createAgentNodeWithGroup(e,A,i,n,o){let a=this.createNode(e,A,i),r=null,s=null;if(this.isWorkflowAgent(e.agent_class)){let g=this.createWorkflowGroup(e,a,A,i,n,o);r=g.groupNode,s=g.edge}return{shellNode:a,groupNode:r,groupEdge:s}}createWorkflowChildEdge(e,A){return this.createWorkflowChildEdgeFromArrays(e,A,this.nodes(),this.groupNodes())}createWorkflowChildEdgeFromArrays(e,A,i,n){if(!A)return null;let o=n.find(r=>r.id===A);if(!o||!o.data)return null;let a=o.data().agent_class;if(a==="LoopAgent"||a==="ParallelAgent"){let r=i.find(s=>s.data&&s.data().name===o.data().name);if(r)return{id:this.generateEdgeId(),source:r.id,sourceHandle:"source-bottom",target:e.id,targetHandle:"target-top"}}if(a==="SequentialAgent"){let r=i.filter(l=>l.parentId&&l.parentId()===A);if(r.length===0)return null;r.sort((l,C)=>l.point().x-C.point().x);let s=r.findIndex(l=>l.id===e.id);if(s<=0)return null;let g=r[s-1];return{id:this.generateEdgeId(),source:g.id,sourceHandle:"source-right",target:e.id,targetHandle:"target-left"}}return null}isWorkflowAgent(e){return e?e==="SequentialAgent"||e==="ParallelAgent"||e==="LoopAgent":!1}addSubAgent(e,A="LlmAgent",i=!1){let n=this.nodes().find(C=>C.data&&C.data().name===e);if(!n||!n.data)return;let a={name:this.agentBuilderService.getNextSubAgentName(),agent_class:A,model:"gemini-2.5-flash",instruction:"You are a sub-agent that performs specialized tasks.",isRoot:!1,sub_agents:[],tools:[]},r=this.isWorkflowAgent(n.data().agent_class),s=n.parentId&&n.parentId()&&this.groupNodes().some(C=>C.id===n.parentId()),g,l=null;if(i&&r){let C=n.data();if(!C)return;let I=this.groupNodes().find(b=>b.data&&b.data()?.name===C.name);if(!I){console.error("Could not find group for workflow node");return}let d=this.agentBuilderService.getNode(n.data().name);if(!d){console.error("Could not find clicked agent data");return}let B=d.sub_agents.length,E=I.height?I.height():this.workflowGroupHeight,Q=this.calculateWorkflowChildPosition(B,E),f=this.createAgentNodeWithGroup(a,Q,I.id);g=f.shellNode,l=f.groupNode,d.sub_agents.push(a),l&&this.groupNodes.set([...this.groupNodes(),l]),f.groupEdge&&this.edges.set([...this.edges(),f.groupEdge])}else if(s){let C=n.parentId()??void 0,I=this.groupNodes().find(S=>S.id===C);if(!I||!I.data){console.error("Could not find parent group node");return}let d=I.data().name,B=this.agentBuilderService.getNode(d);if(!B){console.error("Could not find workflow parent agent");return}let E=B.sub_agents.length,Q=I.height?I.height():this.workflowGroupHeight,f=this.calculateWorkflowChildPosition(E,Q),b=this.createAgentNodeWithGroup(a,f,C);g=b.shellNode,l=b.groupNode,B.sub_agents.push(a),l&&this.groupNodes.set([...this.groupNodes(),l]),b.groupEdge&&this.edges.set([...this.edges(),b.groupEdge])}else{let C=n.data().sub_agents.length,I={x:n.point().x+C*400,y:n.point().y+300},d=this.createAgentNodeWithGroup(a,I);g=d.shellNode,l=d.groupNode;let B=this.agentBuilderService.getNode(n.data().name);B&&B.sub_agents.push(a),l&&this.groupNodes.set([...this.groupNodes(),l]),d.groupEdge&&this.edges.set([...this.edges(),d.groupEdge])}if(this.agentBuilderService.addNode(a),this.nodes.set([...this.nodes(),g]),this.selectedAgents=[g],(s||r)&&this.updateGroupDimensions(),r||s){let C=g.parentId?g.parentId()??void 0:void 0,I=this.createWorkflowChildEdge(g,C);I&&this.edges.set([...this.edges(),I])}else{let C={id:this.generateEdgeId(),source:n.id,sourceHandle:"source-bottom",target:g.id,targetHandle:"target-top"};this.edges.set([...this.edges(),C])}this.agentBuilderService.setSelectedNode(a),this.agentBuilderService.requestSideTabChange("config")}addTool(e){let A=this.nodes().find(o=>o.id===e);if(!A||!A.data)return;let i=A.data();if(!i)return;this.dialog.open(W2,{width:"500px"}).afterClosed().subscribe(o=>{if(o)if(o.toolType==="Agent Tool")this.createAgentTool(i.name);else{let a={toolType:o.toolType,name:o.name};this.agentBuilderService.addTool(i.name,a),this.agentBuilderService.setSelectedTool(a)}})}addCallback(e){let A=this.nodes().find(o=>o.id===e);if(!A||!A.data)return;let i={name:`callback_${this.callbackId}`,type:"before_agent",code:`def callback_function(callback_context): - # Add your callback logic here - return None`,description:"Auto-generated callback"};this.callbackId++;let n=this.agentBuilderService.addCallback(A.data().name,i);n.success||this._snackBar.open(n.error||"Failed to add callback","Close",{duration:3e3,panelClass:["error-snackbar"]})}createAgentTool(e){this.dialog.open(Vc,{width:"750px",height:"310px",data:{title:"Create Agent Tool",message:"Please enter a name for the agent tool:",confirmButtonText:"Create",showInput:!0,inputLabel:"Agent Tool Name",inputPlaceholder:"Enter agent tool name"}}).afterClosed().subscribe(i=>{i&&typeof i=="string"&&this.agentBuilderService.requestNewTab(i,e)})}deleteTool(e,A){let i=A.toolType==="Agent Tool",n=i&&A.toolAgentName||A.name;this.dialog.open(Vc,{data:{title:i?"Delete Agent Tool":"Delete Tool",message:i?`Are you sure you want to delete the agent tool "${n}"? This will also delete the corresponding board.`:`Are you sure you want to delete ${n}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(a=>{a==="confirm"&&this.deleteToolWithoutDialog(e,A)})}deleteToolWithoutDialog(e,A){if(A.toolType==="Agent Tool"){let i=A.toolAgentName||A.name;this.deleteAgentToolAndBoard(e,A,i)}else this.agentBuilderService.deleteTool(e,A)}deleteAgentToolAndBoard(e,A,i){this.agentBuilderService.deleteTool(e,A),this.agentBuilderService.requestTabDeletion(i)}deleteCallback(e,A){this.dialog.open(Vc,{data:{title:"Delete Callback",message:`Are you sure you want to delete ${A.name}?`,confirmButtonText:"Delete"}}).afterClosed().subscribe(n=>{if(n==="confirm"){let o=this.agentBuilderService.deleteCallback(e,A);o.success||this._snackBar.open(o.error||"Failed to delete callback","Close",{duration:3e3,panelClass:["error-snackbar"]}),this.cdr.detectChanges()}})}openDeleteSubAgentDialog(e){this.dialog.open(Vc,{data:{title:"Delete sub agent",message:`Are you sure you want to delete ${e}? This will also delete all the underlying sub agents and tools.`,confirmButtonText:"Delete"}}).afterClosed().subscribe(i=>{i==="confirm"&&this.deleteSubAgent(e)})}deleteSubAgent(e){let A=this.agentBuilderService.getNode(e);if(!A)return;let i=this.agentBuilderService.getParentNode(this.agentBuilderService.getRootNode(),A,void 0,this.agentToolBoards());i&&(this.deleteSubAgentHelper(A,i),this.agentBuilderService.getSelectedNode().pipe(oo(1),Ze(n=>!!n)).subscribe(n=>{this.agentBuilderService.getNodes().includes(n)||this.agentBuilderService.setSelectedNode(i)}))}isNodeInSequentialWorkflow(e){if(!e.parentId||!e.parentId())return!1;let A=e.parentId(),i=this.groupNodes().find(n=>n.id===A);return!i||!i.data?!1:i.data().agent_class==="SequentialAgent"}getSequentialSiblings(e){if(!e.parentId||!e.parentId())return{previous:void 0,next:void 0};let A=e.parentId(),i=this.nodes().filter(o=>o.parentId&&o.parentId()===A);i.sort((o,a)=>o.point().x-a.point().x);let n=i.findIndex(o=>o.id===e.id);return n===-1?{previous:void 0,next:void 0}:{previous:n>0?i[n-1]:void 0,next:nn.data&&n.data().name===e.name);if(i){let n=this.isNodeInSequentialWorkflow(i),o,a;if(n){let s=this.getSequentialSiblings(i);o=s.previous,a=s.next}this.nodes.set(this.nodes().filter(s=>s.id!==i.id));let r=this.groupNodes().find(s=>s.data&&s.data().name===e.name);if(r){this.groupNodes.set(this.groupNodes().filter(g=>g.id!==r.id));let s=this.edges().filter(g=>g.target!==i.id&&g.source!==i.id&&g.target!==r.id&&g.source!==r.id);this.edges.set(s)}else{let s=this.edges().filter(g=>g.target!==i.id&&g.source!==i.id);this.edges.set(s)}if(n&&o&&a){let s={id:this.generateEdgeId(),source:o.id,sourceHandle:"source-right",target:a.id,targetHandle:"target-left"};this.edges.set([...this.edges(),s])}}this.nodePositions.delete(e.name),A.sub_agents=A.sub_agents.filter(n=>n.name!==e.name),this.agentBuilderService.deleteNode(e),i&&i.parentId&&i.parentId()&&this.updateGroupDimensions()}selectTool(e,A){if(e.toolType==="Agent Tool"){let i=e.name;this.switchToAgentToolBoard(i);return}if(e.toolType==="Function tool"||e.toolType==="Built-in tool"){if(A.data){let i=this.agentBuilderService.getNode(A.data().name);i&&this.editTool(e,i)}return}if(A.data){let i=this.agentBuilderService.getNode(A.data().name);i&&this.agentBuilderService.setSelectedNode(i)}this.agentBuilderService.setSelectedTool(e)}editTool(e,A){let i;e.toolType==="Built-in tool"?i=this.dialog.open(aB,{width:"700px",maxWidth:"90vw",data:{toolName:e.name,isEditMode:!0,toolArgs:e.args}}):i=this.dialog.open(W2,{width:"500px",data:{toolType:e.toolType,toolName:e.name,isEditMode:!0}}),i.afterClosed().subscribe(n=>{if(n&&n.isEditMode){let o=A.tools?.findIndex(a=>a.name===e.name);o!==void 0&&o!==-1&&A.tools&&(A.tools[o].name=n.name,n.args&&(A.tools[o].args=n.args),this.agentBuilderService.setAgentTools(A.name,A.tools))}})}selectCallback(e,A){if(A.data){let i=this.agentBuilderService.getNode(A.data().name);i&&this.agentBuilderService.setSelectedNode(i)}this.agentBuilderService.setSelectedCallback(e)}openToolsTab(e){if(e.data){let A=this.agentBuilderService.getNode(e.data().name);A&&this.agentBuilderService.setSelectedNode(A)}this.agentBuilderService.requestSideTabChange("tools")}saveAgent(e){let A=this.agentBuilderService.getRootNode();if(!A){this._snackBar.open("Please create an agent first.","OK");return}let i=new FormData,n=this.agentToolBoards();y0.generateYamlFile(A,i,e,n),this.agentService.agentBuild(i).subscribe(o=>{o?this.router.navigate(["/"],{queryParams:{app:e}}).then(()=>{window.location.reload()}):this._snackBar.open("Something went wrong, please try again","OK")})}isRootAgent(e){let A=this.agentBuilderService.getRootNode();return A?A.name===e:!1}isRootAgentForCurrentTab(e){return this.isAgentToolMode&&this.currentAgentTool()?e===this.currentAgentTool():this.isRootAgent(e)}shouldShowHorizontalHandle(e,A){if(!e.parentId||!e.parentId())return!1;let i=e.parentId(),n=this.groupNodes().find(s=>s.id===i);if(!n||!n.data||n.data().agent_class!=="SequentialAgent")return!1;let a=this.nodes().filter(s=>s.parentId&&s.parentId()===i);if(a.length<=1)return!1;a.sort((s,g)=>s.point().x-g.point().x);let r=a.findIndex(s=>s.id===e.id);return A==="left"?r>0:r0):!1}shouldShowTopHandle(e){let A=e.data?e.data():void 0,i=A?.name,n=i?this.isRootAgent(i):!1;if(e.type==="template-group")return A?.agent_class==="SequentialAgent";if(n)return!1;if(e.parentId&&e.parentId()){let a=e.parentId(),r=this.groupNodes().find(s=>s.id===a);if(r&&r.data){let s=r.data().agent_class;if(s==="LoopAgent"||s==="ParallelAgent")return!0}return!1}return!0}getToolsForNode(e,A){return!e||!A?[]:A.get(e)??[]}loadFromYaml(e,A){try{let i=yE(e);this.agentBuilderService.clear(),this.nodePositions.clear(),this.agentToolBoards.set(new Map),this.agentBuilderService.setAgentToolBoards(new Map),this.currentAgentTool.set(null),this.isAgentToolMode=!1,this.navigationStack=[];let n=Ge(cA({name:i.name||"root_agent",agent_class:i.agent_class||"LlmAgent",model:i.model||"gemini-2.5-flash",instruction:i.instruction||"",description:i.description||""},i.max_iterations&&{max_iterations:i.max_iterations}),{isRoot:!0,sub_agents:i.sub_agents||[],tools:this.parseToolsFromYaml(i.tools||[]),callbacks:this.parseCallbacksFromYaml(i)});this.agentBuilderService.addNode(n),this.agentBuilderService.setSelectedNode(n),this.processAgentToolsFromYaml(n.tools||[],A),this.loadAgentBoard(n)}catch(i){console.error("Error parsing YAML:",i)}}parseToolsFromYaml(e){return e.map(A=>{let i={name:A.name,toolType:this.determineToolType(A),toolAgentName:A.name};if(A.name==="AgentTool"&&A.args&&A.args.agent&&A.args.agent.config_path){i.toolType="Agent Tool";let o=A.args.agent.config_path.replace("./","").replace(".yaml","");i.name=o,i.toolAgentName=o,i.args=A.args}else A.args&&(i.args=A.args);return i})}parseCallbacksFromYaml(e){let A=[];return Object.keys(e).forEach(i=>{if(i.endsWith("_callback")&&Array.isArray(e[i])){let n=i.replace("_callback","");e[i].forEach(o=>{o.name&&A.push({name:o.name,type:n})})}}),A}determineToolType(e){return e.name==="AgentTool"&&e.args&&e.args.agent?"Agent Tool":e.name&&e.name.includes(".")&&e.args?"Custom tool":e.name&&e.name.includes(".")&&!e.args?"Function tool":"Built-in tool"}processAgentToolsFromYaml(e,A){let i=e.filter(n=>n.toolType==="Agent Tool");for(let n of i)this.agentToolBoards().has(n.name)||this.loadAgentToolConfiguration(n,A)}loadAgentToolConfiguration(e,A){let i=e.name;this.agentService.getSubAgentBuilder(A,`${i}.yaml`).subscribe({next:n=>{if(n)try{let o=yE(n),a=Ge(cA({name:o.name||i,agent_class:o.agent_class||"LlmAgent",model:o.model||"gemini-2.5-flash",instruction:o.instruction||`You are the ${i} agent that can be used as a tool by other agents.`,description:o.description||""},o.max_iterations&&{max_iterations:o.max_iterations}),{isRoot:!1,sub_agents:o.sub_agents||[],tools:this.parseToolsFromYaml(o.tools||[]),callbacks:this.parseCallbacksFromYaml(o),isAgentTool:!0,skip_summarization:!!e.args?.skip_summarization}),r=this.agentToolBoards();if(r.set(i,a),this.agentToolBoards.set(r),this.agentBuilderService.setAgentToolBoards(r),this.agentBuilderService.addNode(a),this.processAgentToolsFromYaml(a.tools||[],A),a.sub_agents&&a.sub_agents.length>0)for(let s of a.sub_agents)s.config_path&&this.agentService.getSubAgentBuilder(A,s.config_path).subscribe(g=>{if(g){let l=yE(g);this.processAgentToolsFromYaml(this.parseToolsFromYaml(l.tools||[]),A)}})}catch(o){console.error(`Error parsing YAML for agent tool ${i}:`,o),this.createDefaultAgentToolConfiguration(e)}else this.createDefaultAgentToolConfiguration(e)},error:n=>{console.error(`Error loading agent tool configuration for ${i}:`,n),this.createDefaultAgentToolConfiguration(e)}})}createDefaultAgentToolConfiguration(e){let A=e.name,i={name:A,agent_class:"LlmAgent",model:"gemini-2.5-flash",instruction:`You are the ${A} agent that can be used as a tool by other agents.`,isRoot:!1,sub_agents:[],tools:[],isAgentTool:!0,skip_summarization:!!e.args?.skip_summarization},n=this.agentToolBoards();n.set(A,i),this.agentToolBoards.set(n),this.agentBuilderService.setAgentToolBoards(n),this.agentBuilderService.addNode(i)}loadAgentTools(e){e.tools?(e.tools=e.tools.filter(A=>A.name&&A.name.trim()!==""),e.tools.forEach(A=>{A.toolType!=="Agent Tool"&&(A.name.includes(".")&&A.args?A.toolType="Custom tool":A.name.includes(".")&&!A.args?A.toolType="Function tool":A.toolType="Built-in tool")})):e.tools=[]}isNodeSelected(e){return this.selectedAgents.includes(e)}isGroupSelected(e){if(!e.data)return!1;let A=e.data().name,i=this.nodes().find(n=>n.data&&n.data().name===A);return i?this.isNodeSelected(i):!1}loadSubAgents(e,A){return nt(this,null,function*(){let i=[{node:A,depth:1,index:1,parentShellId:void 0,parentAgent:void 0,parentGroupId:void 0}],n=[],o=[],a=[];for(;i.length>0;){let{node:r,depth:s,index:g,parentShellId:l,parentAgent:C,parentGroupId:I}=i.shift(),d=r;if(r.config_path)try{let M=yield sU(this.agentService.getSubAgentBuilder(e,r.config_path));d=yE(M),d.tools&&(d.tools=this.parseToolsFromYaml(d.tools||[])),this.processAgentToolsFromYaml(d.tools||[],e)}catch(M){console.error(`Failed to load agent from ${r.config_path}`,M);continue}if(C&&C.sub_agents){let M=C.sub_agents.indexOf(r);M!==-1&&(C.sub_agents[M]=d,this.agentBuilderService.addNode(C))}this.agentBuilderService.addNode(d);let B=this.nodePositions.get(d.name),E=this.isWorkflowAgent(d.agent_class),Q=C?this.isWorkflowAgent(C.agent_class):!1,f,b,S=null;if(Q&&!d.isRoot){let M=C?.sub_agents.indexOf(d)??g,D=o.find(U=>U.id===I),F=D?.height?D.height():this.workflowGroupHeight;f=B??this.calculateWorkflowChildPosition(M,F);let _=this.createAgentNodeWithGroup(d,f,I??void 0,o,n);b=_.shellNode,S=_.groupNode,n.push(b),S&&o.push(S),_.groupEdge&&a.push(_.groupEdge)}else{if(B)f=B;else if(!l)f={x:100,y:150};else{let D=n.find(F=>F.id===l);D?f={x:D.point().x+(g-1)*400,y:D.point().y+300}:f={x:100,y:s*150+50}}let M=this.createAgentNodeWithGroup(d,f,void 0,o,n);b=M.shellNode,S=M.groupNode,n.push(b),E&&!d.isRoot&&(S&&o.push(S),M.groupEdge&&a.push(M.groupEdge))}if(l)if(I){let M=this.createWorkflowChildEdgeFromArrays(b,I,n,o);M&&a.push(M)}else{let M={id:this.generateEdgeId(),source:l,sourceHandle:"source-bottom",target:b.id,targetHandle:"target-top"};a.push(M)}if(d.sub_agents&&d.sub_agents.length>0){let M=1,D=E&&S?S.id:I;for(let F of d.sub_agents)i.push({node:F,parentShellId:b.id,depth:s+1,index:M,parentAgent:d,parentGroupId:D}),M++}}this.nodes.set(n),this.groupNodes.set(o),this.edges.set(a),this.updateGroupDimensions()})}switchToAgentToolBoard(e,A){let i=this.currentAgentTool()||"main";i!==e&&this.navigationStack.push(i);let n=this.agentToolBoards(),o=n.get(e);if(!o){o={isRoot:!1,name:e,agent_class:"LlmAgent",model:"gemini-2.5-flash",instruction:`You are the ${e} agent that can be used as a tool by other agents.`,sub_agents:[],tools:[],isAgentTool:!0,skip_summarization:!1};let a=new Map(n);a.set(e,o),this.agentToolBoards.set(a),this.agentBuilderService.setAgentToolBoards(a),A?this.addAgentToolToAgent(e,A):this.addAgentToolToRoot(e)}this.currentAgentTool.set(e),this.isAgentToolMode=!0,this.loadAgentBoard(o),this.agentBuilderService.setSelectedNode(o),this.agentBuilderService.requestSideTabChange("config")}backToMainCanvas(){if(this.navigationStack.length>0){let e=this.navigationStack.pop();if(e==="main"){this.currentAgentTool.set(null),this.isAgentToolMode=!1;let A=this.agentBuilderService.getRootNode();A&&(this.loadAgentBoard(A),this.agentBuilderService.setSelectedNode(A),this.agentBuilderService.requestSideTabChange("config"))}else{let i=this.agentToolBoards().get(e);i&&(this.currentAgentTool.set(e),this.isAgentToolMode=!0,this.loadAgentBoard(i),this.agentBuilderService.setSelectedNode(i),this.agentBuilderService.requestSideTabChange("config"))}}else{this.currentAgentTool.set(null),this.isAgentToolMode=!1;let e=this.agentBuilderService.getRootNode();e&&(this.loadAgentBoard(e),this.agentBuilderService.setSelectedNode(e),this.agentBuilderService.requestSideTabChange("config"))}}loadAgentBoard(e){return nt(this,null,function*(){if(this.captureCurrentNodePositions(),this.nodes.set([]),this.groupNodes.set([]),this.edges.set([]),this.nodeId=0,this.edgeId=0,this.loadAgentTools(e),this.agentBuilderService.addNode(e),e.tools&&e.tools.length>0?this.agentBuilderService.setAgentTools(e.name,e.tools):this.agentBuilderService.setAgentTools(e.name,[]),e.sub_agents&&e.sub_agents.length>0)yield this.loadSubAgents(this.appName,e);else{let A=this.nodePositions.get(e.name)??{x:100,y:150},i=this.createNode(e,A);if(this.nodes.set([i]),this.isWorkflowAgent(e.agent_class)){let{groupNode:n,edge:o}=this.createWorkflowGroup(e,i,A);this.groupNodes.set([n]),o&&this.edges.set([o])}}this.agentBuilderService.setSelectedNode(e)})}addAgentToolToAgent(e,A){let i=this.agentBuilderService.getNode(A);if(i){if(i.tools&&i.tools.some(o=>o.name===e))return;let n={name:e,toolType:"Agent Tool",toolAgentName:e};i.tools||(i.tools=[]),i.tools.push(n),i.tools=i.tools.filter(o=>o.name&&o.name.trim()!==""),this.agentBuilderService.setAgentTools(A,i.tools)}}addAgentToolToRoot(e){let A=this.agentBuilderService.getRootNode();if(A){if(A.tools&&A.tools.some(n=>n.name===e))return;let i={name:e,toolType:"Agent Tool",toolAgentName:e};A.tools||(A.tools=[]),A.tools.push(i),this.agentBuilderService.setAgentTools("root_agent",A.tools)}}deleteAgentToolBoard(e){let A=this.agentToolBoards(),i=new Map(A);i.delete(e),this.agentToolBoards.set(i),this.agentBuilderService.setAgentToolBoards(i);let n=this.agentBuilderService.getNodes();for(let o of n)o.tools&&(o.tools=o.tools.filter(a=>!(a.toolType==="Agent Tool"&&(a.toolAgentName===e||a.name===e))),this.agentBuilderService.setAgentTools(o.name,o.tools));this.navigationStack=this.navigationStack.filter(o=>o!==e),this.currentAgentTool()===e&&this.backToMainCanvas()}getBackButtonTooltip(){if(this.navigationStack.length>0){let e=this.navigationStack[this.navigationStack.length-1];return e==="main"?"Back to Main Canvas":`Back to ${e}`}return"Back to Main Canvas"}onBuilderAssistantClose(){this.builderAssistantCloseRequest.emit()}reloadCanvasFromYaml(){this.appNameInput&&this.agentService.getAgentBuilderTmp(this.appNameInput).subscribe({next:e=>{e&&this.loadFromYaml(e,this.appNameInput)},error:e=>{console.error("Error reloading canvas:",e)}})}captureCurrentNodePositions(){for(let e of this.nodes()){if(!e?.data)continue;let A=e.data();A&&this.nodePositions.set(A.name,cA({},e.point()))}}updateGroupDimensions(){for(let s of this.groupNodes()){if(!s.data)continue;let g=s.data().name,l=this.nodes().filter(f=>f.parentId&&f.parentId()===s.id);if(l.length===0){s.width&&s.width.set(480),s.height&&s.height.set(220);continue}l.sort((f,b)=>f.point().x-b.point().x),l.forEach((f,b)=>{let _={x:45+b*428,y:80};if(f.point.set(_),f.data){let U=f.data();U&&this.nodePositions.set(U.name,_)}});let C=1/0,I=1/0,d=-1/0,B=-1/0;for(let f of l){let b=f.point(),S=f.data?f.data():void 0,M=120;S&&S.tools&&S.tools.length>0&&(M+=20+S.tools.length*36),C=Math.min(C,b.x),I=Math.min(I,b.y),d=Math.max(d,b.x+340+68),B=Math.max(B,b.y+M)}let E=d-C+80,Q=B-I+80;s.width&&s.width.set(Math.max(480,E)),s.height&&s.height.set(Math.max(220,Q))}}getToolIcon(e){return ME(e.name,e.toolType)}getAgentIcon(e){switch(e){case"SequentialAgent":return"more_horiz";case"LoopAgent":return"sync";case"ParallelAgent":return"density_medium";default:return"psychology"}}isGroupEmpty(e){return!this.nodes().some(i=>i.parentId&&i.parentId()===e)}shouldShowAddButton(e){let A=e.data?e.data():void 0;if(!A)return!1;let i=this.isWorkflowAgent(A.agent_class),n=e.parentId&&e.parentId();if(i&&!n||!this.isNodeSelected(e))return!1;if(n&&e.parentId){let o=e.parentId(),a=this.nodes().filter(s=>s.parentId&&s.parentId()===o);if(a.length===0)return!0;let r=a.reduce((s,g)=>g.point().x>s.point().x?g:s,a[0]);return e.id===r.id}return!0}static \u0275fac=function(A){return new(A||t)(at(Gs),at(Kh),at(Cs))};static \u0275cmp=kA({type:t,selectors:[["app-canvas"]],viewQuery:function(A,i){if(A&1&&ai(VJA,5)(WJA,5),A&2){let n;ce(n=Ce())&&(i.canvasRef=n.first),ce(n=Ce())&&(i.svgCanvasRef=n.first)}},inputs:{showSidePanel:"showSidePanel",showBuilderAssistant:"showBuilderAssistant",appNameInput:"appNameInput"},outputs:{toggleSidePanelRequest:"toggleSidePanelRequest",builderAssistantCloseRequest:"builderAssistantCloseRequest"},features:[ti],decls:7,vars:8,consts:[["emptyGroupMenuTrigger","matMenuTrigger"],["emptyGroupMenu","matMenu"],["agentMenuTrigger","matMenuTrigger"],["agentMenu","matMenu"],[1,"canvas-container"],[1,"canvas-workspace",3,"click"],[1,"agent-tool-banner"],["matTooltip","Open panel",1,"material-symbols-outlined","open-panel-btn"],["view","auto",3,"nodes","edges","background","snapGrid"],[1,"canvas-instructions"],[3,"closePanel","reloadCanvas","isVisible","appName"],[1,"banner-content"],["mat-icon-button","",1,"back-to-main-btn",3,"click","matTooltip"],[1,"banner-info"],[1,"material-symbols-outlined","banner-icon"],[1,"banner-text"],[1,"agent-tool-name"],[1,"banner-subtitle"],["matTooltip","Open panel",1,"material-symbols-outlined","open-panel-btn",3,"click"],["groupNode",""],["nodeHtml",""],["selectable","","rx","12","ry","12",3,"click","pointerdown"],["x","12","y","12"],[1,"workflow-group-chip"],[1,"workflow-chip-icon"],[1,"workflow-chip-label"],["type","target","position","top","id","target-top"],[1,"empty-group-placeholder",3,"click"],["mat-icon-button","","matTooltip","Add sub-agent","aria-label","Add sub-agent",3,"click","matMenuTriggerFor"],[1,"empty-group-label"],["mat-menu-item","",3,"click"],["selectable","",1,"custom-node",3,"click","pointerdown"],[1,"node-title-wrapper"],[1,"node-title"],[2,"margin-right","5px"],[1,"node-badge"],[1,"action-button-bar"],["matIconButton","","matTooltip","Delete sub-agent","aria-label","Delete sub-agent",1,"action-btn","delete-subagent-btn"],[1,"tools-container"],[1,"add-subagent-container"],["type","target","position","left","id","target-left"],["type","source","position","right","id","source-right"],["type","source","position","bottom","id","source-bottom"],["matIconButton","","matTooltip","Delete sub-agent","aria-label","Delete sub-agent",1,"action-btn","delete-subagent-btn",3,"click"],[1,"tools-list"],[1,"tool-item"],[1,"tool-item",3,"click"],[1,"tool-item-icon"],[1,"tool-item-name"],["matIconButton","","matTooltip","Add sub-agent","aria-label","Add sub-agent",1,"add-subagent-btn",3,"click","matMenuTriggerFor"],[1,"add-subagent-symbol"],[1,"instruction-content"],[1,"instruction-icon"],[1,"instruction-tips"],[1,"tip"]],template:function(A,i){A&1&&(m(0,"div",4)(1,"div",5),tA("click",function(o){return i.onCanvasClick(o)}),V(2,AYA,13,2,"div",6),V(3,eYA,2,0,"span",7),V(4,BYA,3,6,"vflow",8),V(5,EYA,19,0,"div",9),w(),m(6,"app-builder-assistant",10),tA("closePanel",function(){return i.onBuilderAssistantClose()})("reloadCanvas",function(){return i.reloadCanvasFromYaml()}),w()()),A&2&&(p(),ne("has-banner",i.currentAgentTool()),p(),W(i.currentAgentTool()?2:-1),p(),W(i.showSidePanel?-1:3),p(),W(i.vflowNodes().length>0?4:-1),p(),W(i.vflowNodes().length===0?5:-1),p(),$("isVisible",i.showBuilderAssistant)("appName",i.appName))},dependencies:[JsA,cK,YsA,E7,Q7,Fn,xa,AC,C2,_h,Lv,ls],styles:['[_nghost-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;flex:1;min-height:0}.canvas-container[_ngcontent-%COMP%]{width:100%;height:100%;background:var(--builder-canvas-container-background);display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:var(--builder-canvas-shadow);flex:1;min-height:0;position:relative}.canvas-header[_ngcontent-%COMP%]{background:var(--builder-canvas-header-background);padding:16px 24px;border-bottom:2px solid var(--builder-border-color);display:flex;justify-content:space-between;align-items:center}.canvas-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:var(--builder-text-primary-color);font-size:18px;font-weight:600;font-family:Google Sans,Helvetica Neue,sans-serif;background:var(--builder-canvas-header-title-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.canvas-controls[_ngcontent-%COMP%]{display:flex;gap:8px}.canvas-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:var(--builder-button-background-color);border:1px solid var(--builder-button-border-color);color:var(--builder-button-text-color);transition:all .3s ease}.canvas-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--builder-button-hover-background-color);border-color:var(--builder-button-hover-border-color);transform:translateY(-1px)}.canvas-workspace[_ngcontent-%COMP%]{flex:1;position:relative;overflow:hidden;background-color:var(--builder-canvas-workspace-background);min-height:0;width:100%;height:100%}.agent-tool-banner[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-bottom:2px solid rgba(59,130,246,.3);box-shadow:0 4px 16px #0000004d}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%]{padding:12px 20px;display:flex;align-items:center;gap:16px}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .back-to-main-btn[_ngcontent-%COMP%]{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .back-to-main-btn[_ngcontent-%COMP%]:hover{background:#fff3;transform:scale(1.05)}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .back-to-main-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex:1}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%] .banner-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px;color:#ffffffe6}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%] .banner-text[_ngcontent-%COMP%] .agent-tool-name[_ngcontent-%COMP%]{margin:0;color:#fff;font-size:18px;font-weight:600;font-family:Google Sans,Helvetica Neue,sans-serif;line-height:1.2}.agent-tool-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%] .banner-info[_ngcontent-%COMP%] .banner-text[_ngcontent-%COMP%] .banner-subtitle[_ngcontent-%COMP%]{margin:0;color:#fffc;font-size:12px;font-weight:400;line-height:1}.canvas-workspace[_ngcontent-%COMP%]:has(.agent-tool-banner) vflow[_ngcontent-%COMP%]{padding-top:68px}.canvas-workspace.has-banner[_ngcontent-%COMP%] vflow{padding-top:68px!important} vflow{width:100%!important;height:100%!important;display:block!important} vflow .root-svg{background-color:var(--builder-canvas-workspace-background)!important;color:var(--builder-text-primary-color)!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important}.diagram-canvas[_ngcontent-%COMP%]{display:block;width:100%;height:100%;cursor:crosshair;transition:cursor .2s ease;object-fit:contain;image-rendering:pixelated}.diagram-canvas[_ngcontent-%COMP%]:active{cursor:grabbing}.canvas-instructions[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:1}.instruction-content[_ngcontent-%COMP%]{background:var(--builder-canvas-instruction-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--builder-canvas-instruction-border);border-radius:16px;padding:32px;box-shadow:var(--builder-canvas-shadow)}.instruction-content[_ngcontent-%COMP%] .instruction-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:var(--builder-button-text-color);margin-bottom:16px;animation:_ngcontent-%COMP%_pulse 2s infinite}.instruction-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:var(--builder-text-primary-color);font-size:20px;font-weight:600;margin:0 0 12px;font-family:Google Sans,Helvetica Neue,sans-serif}.instruction-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-size:14px;margin:0 0 24px;line-height:1.5}.instruction-tips[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.tip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;color:var(--builder-accent-color);font-size:13px}.tip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.connection-mode-indicator[_ngcontent-%COMP%]{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10;animation:_ngcontent-%COMP%_slideDown .3s ease-out}.connection-indicator-content[_ngcontent-%COMP%]{background:linear-gradient(135deg,#1b73e8,#4285f4);color:#fff;padding:12px 20px;border-radius:24px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px #1b73e866;border:1px solid rgba(255,255,255,.2)}.connection-indicator-content[_ngcontent-%COMP%] .connection-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;animation:_ngcontent-%COMP%_pulse 1.5s infinite}.connection-indicator-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-weight:500;white-space:nowrap}.connection-indicator-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);width:32px;height:32px;min-width:32px}.connection-indicator-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#ffffff4d;transform:scale(1.1)}.connection-indicator-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.canvas-footer[_ngcontent-%COMP%]{background:var(--builder-canvas-header-background);padding:12px 24px;border-top:1px solid var(--builder-border-color);display:flex;justify-content:space-between;align-items:center}.node-count[_ngcontent-%COMP%], .connection-count[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;color:var(--builder-text-secondary-color);font-size:13px;font-weight:500}.node-count[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .connection-count[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:var(--builder-accent-color)}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.canvas-workspace.drag-over[_ngcontent-%COMP%]{background:radial-gradient(circle at 20% 50%,rgba(66,133,244,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(52,168,83,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(251,188,4,.1) 0%,transparent 50%),#131314}.canvas-workspace.drag-over[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;border:2px dashed #00bbea;border-radius:8px;margin:16px;animation:_ngcontent-%COMP%_dashMove 1s linear infinite}@keyframes _ngcontent-%COMP%_dashMove{0%{border-color:#8ab4f84d}50%{border-color:#8ab4f8cc}to{border-color:#8ab4f84d}}@media(max-width:768px){.canvas-header[_ngcontent-%COMP%]{padding:12px 16px}.canvas-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:16px}.instruction-content[_ngcontent-%COMP%]{padding:24px;margin:16px}.instruction-content[_ngcontent-%COMP%] .instruction-icon[_ngcontent-%COMP%]{font-size:36px;width:36px;height:36px}.instruction-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:18px}.canvas-footer[_ngcontent-%COMP%]{padding:8px 16px;flex-direction:column;gap:8px}}.custom-node[_ngcontent-%COMP%]{width:340px;background:var(--builder-canvas-node-background);border:1px solid var(--builder-canvas-node-border);border-radius:8px;align-items:center;position:relative;max-height:none;padding-bottom:0;overflow:visible}.custom-node[_ngcontent-%COMP%]:hover{border-color:var(--builder-canvas-node-hover-border)}.custom-node_selected[_ngcontent-%COMP%]{border:2px solid;border-color:var(--builder-accent-color)}.custom-node_selected[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{--mdc-chip-outline-color: var(--builder-canvas-node-chip-outline)}.custom-node_selected[_ngcontent-%COMP%]:hover{border-color:var(--builder-accent-color)}[_nghost-%COMP%] .default-group-node{background-color:var(--builder-canvas-group-background)!important;border:2px solid var(--builder-canvas-group-border)!important}.node-title-wrapper[_ngcontent-%COMP%]{padding-top:12px;padding-bottom:12px;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}.node-title[_ngcontent-%COMP%]{padding-left:12px;padding-right:12px;display:flex;align-items:center;color:var(--builder-text-primary-color);font-weight:500}.node-badge[_ngcontent-%COMP%]{margin-left:8px;padding:2px 6px;border-radius:999px;background:var(--builder-canvas-node-badge-background);color:var(--builder-accent-color);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tools-container[_ngcontent-%COMP%]{padding:8px 12px;border-top:1px solid var(--builder-border-color)}.tools-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.tool-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:var(--builder-text-primary-color)}.tool-item[_ngcontent-%COMP%]:hover{background-color:var(--builder-item-hover-color)}.tool-item[_ngcontent-%COMP%] .tool-item-icon[_ngcontent-%COMP%]{font-size:22px;width:22px;height:22px;color:var(--builder-text-primary-color);flex-shrink:0}.tool-item[_ngcontent-%COMP%] .tool-item-name[_ngcontent-%COMP%]{font-family:Google Sans,sans-serif;font-size:15px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-item.more-tools[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-style:italic}.tool-item.more-tools[_ngcontent-%COMP%] .tool-item-icon[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color)}.custom-node_selected[_ngcontent-%COMP%] .node-title-wrapper[_ngcontent-%COMP%]{border-bottom-color:var(--builder-canvas-node-chip-outline)}.custom-node_selected[_ngcontent-%COMP%] .node-title-wrapper[_ngcontent-%COMP%] .node-title[_ngcontent-%COMP%]{color:var(--builder-accent-color)}.tools-header[_ngcontent-%COMP%]{font-family:Google Sans;color:var(--builder-text-muted-color);margin-bottom:10px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:space-between}.callbacks-container[_ngcontent-%COMP%]{padding:12px 6px 12px 12px}.callbacks-header[_ngcontent-%COMP%]{font-family:Google Sans;color:var(--builder-text-muted-color);margin-bottom:10px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:space-between}.callback-type[_ngcontent-%COMP%]{font-size:11px;background:var(--builder-chip-background-color);color:var(--builder-accent-color);padding:2px 6px;border-radius:4px;margin-left:4px;font-weight:500}.add-callback-btn[_ngcontent-%COMP%]{background:none;border:none;cursor:pointer;border-radius:4px;width:28px;height:28px;padding:0}.add-callback-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0;font-size:18px;width:18px;height:18px}.add-callback-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-item-hover-color);transform:scale(1.1)}.instruction-title[_ngcontent-%COMP%]{font-family:Google Sans;color:var(--builder-text-muted-color);margin-bottom:10px}.instructions[_ngcontent-%COMP%]{font-family:Google Sans;margin-bottom:10px}.agent-resources[_ngcontent-%COMP%]{padding:8px 12px}.empty-resource[_ngcontent-%COMP%]{margin-top:8px;color:var(--builder-text-secondary-color);margin-bottom:8px;display:flex;font-size:13px}.empty-resource[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:none}.action-button-bar[_ngcontent-%COMP%]{display:flex;gap:8px;margin-right:4px}.action-button-bar[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{background:none;color:var(--builder-text-secondary-color);border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;pointer-events:auto;border-radius:4px}.action-button-bar[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-item-hover-color);transform:scale(1.1)}.action-button-bar[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.action-button-bar[_ngcontent-%COMP%] .delete-subagent-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color)}.add-tool-btn[_ngcontent-%COMP%]{background:none;border:none;cursor:pointer;border-radius:4px;width:28px;height:28px;padding:0}.add-tool-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0;font-size:18px;width:18px;height:18px}.add-tool-btn[_ngcontent-%COMP%]:hover{color:var(--builder-text-primary-color);background-color:var(--builder-item-hover-color);transform:scale(1.1)}.add-subagent-container[_ngcontent-%COMP%]{position:absolute;left:50%;bottom:-68px;transform:translate(-50%);display:flex;justify-content:center;pointer-events:none}.custom-node.in-group[_ngcontent-%COMP%] .add-subagent-container[_ngcontent-%COMP%]{left:auto;right:-68px;bottom:50%;transform:translateY(50%)}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:50%;border:2px solid var(--builder-accent-color);background:var(--builder-canvas-add-btn-background);color:var(--builder-accent-color);display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;pointer-events:auto}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%] .add-subagent-symbol[_ngcontent-%COMP%]{font-size:28px;line-height:1;font-weight:400}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%]:hover{transform:scale(1.05);box-shadow:var(--builder-canvas-add-btn-shadow);background:var(--builder-canvas-add-btn-hover-background)}.add-subagent-container[_ngcontent-%COMP%] .add-subagent-btn[_ngcontent-%COMP%]:focus-visible{outline:none;box-shadow:var(--builder-canvas-add-btn-shadow)}.open-panel-btn[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;color:var(--builder-text-tertiary-color);cursor:pointer;margin-left:20px;margin-top:20px;z-index:9999}.custom-node[_ngcontent-%COMP%]:hover .action-button-bar[_ngcontent-%COMP%], .custom-node.custom-node_selected[_ngcontent-%COMP%] .action-button-bar[_ngcontent-%COMP%]{opacity:1;pointer-events:auto}[_nghost-%COMP%] div[nodehandlescontroller][noderesizecontroller].wrapper{height:0px!important;overflow:visible!important}[_nghost-%COMP%] foreignObject.selectable, [_nghost-%COMP%] foreignObject.selectable>div{overflow:visible!important}[_nghost-%COMP%] .interactive-edge{stroke:var(--builder-accent-color)!important;stroke-width:2!important}[_nghost-%COMP%] .default-handle{stroke:var(--builder-accent-color)!important;stroke-width:1!important;fill:var(--builder-canvas-handle-fill)!important}[_nghost-%COMP%] .reconnect-handle{stroke:var(--builder-accent-color)!important;stroke-width:2!important;fill:var(--builder-canvas-reconnect-handle-fill)!important}[_nghost-%COMP%] .workflow-group-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--builder-canvas-workflow-chip-background);border:1px solid var(--builder-canvas-workflow-chip-border);border-radius:16px;color:var(--builder-accent-color);font-family:Google Sans,sans-serif;font-size:12px;font-weight:500;height:32px;box-sizing:border-box;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[_nghost-%COMP%] .workflow-group-chip .workflow-chip-icon{font-size:16px;width:16px;height:16px;line-height:16px}[_nghost-%COMP%] .workflow-group-chip .workflow-chip-label{color:var(--builder-text-primary-color);font-weight:500;font-size:12px;line-height:1}[_nghost-%COMP%] .empty-group-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:8px;text-align:center;background:var(--builder-canvas-empty-group-background);border:2px dashed var(--builder-canvas-empty-group-border);transition:all .3s ease}[_nghost-%COMP%] .empty-group-placeholder:hover{background:var(--builder-canvas-empty-group-hover-background);border-color:var(--builder-canvas-empty-group-hover-border)}[_nghost-%COMP%] .empty-group-placeholder button{border:2px solid var(--builder-accent-color);background-color:var(--builder-canvas-empty-group-btn-background);color:var(--builder-accent-color);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}[_nghost-%COMP%] .empty-group-placeholder button:hover{background-color:var(--builder-canvas-empty-group-btn-hover-background);transform:scale(1.1);box-shadow:var(--builder-canvas-add-btn-shadow)}[_nghost-%COMP%] .empty-group-placeholder button mat-icon{font-size:24px;width:24px;height:24px}[_nghost-%COMP%] .empty-group-placeholder .empty-group-label{font-size:13px;font-weight:500;color:var(--builder-text-secondary-color);font-family:Google Sans,sans-serif}']})};function QYA(t,e){t&1&&Di(0,"div",2)}var hYA=new yA("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");var v7=(()=>{class t{_elementRef=h(ge);_ngZone=h(Oe);_changeDetectorRef=h(Dt);_renderer=h(_i);_cleanupTransitionEnd;constructor(){let A=Nu(),i=h(hYA,{optional:!0});this._isNoopAnimation=A==="di-disabled",A==="reduced-motion"&&this._elementRef.nativeElement.classList.add("mat-progress-bar-reduced-motion"),i&&(i.color&&(this.color=this._defaultColor=i.color),this.mode=i.mode||this.mode)}_isNoopAnimation;get color(){return this._color||this._defaultColor}set color(A){this._color=A}_color;_defaultColor="primary";get value(){return this._value}set value(A){this._value=TsA(A||0),this._changeDetectorRef.markForCheck()}_value=0;get bufferValue(){return this._bufferValue||0}set bufferValue(A){this._bufferValue=TsA(A||0),this._changeDetectorRef.markForCheck()}_bufferValue=0;animationEnd=new $A;get mode(){return this._mode}set mode(A){this._mode=A,this._changeDetectorRef.markForCheck()}_mode="determinate";ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{this._cleanupTransitionEnd=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._transitionendHandler)})}ngOnDestroy(){this._cleanupTransitionEnd?.()}_getPrimaryBarTransform(){return`scaleX(${this._isIndeterminate()?1:this.value/100})`}_getBufferBarFlexBasis(){return`${this.mode==="buffer"?this.bufferValue:100}%`}_isIndeterminate(){return this.mode==="indeterminate"||this.mode==="query"}_transitionendHandler=A=>{this.animationEnd.observers.length===0||!A.target||!A.target.classList.contains("mdc-linear-progress__primary-bar")||(this.mode==="determinate"||this.mode==="buffer")&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))};static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-progress-bar"]],hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-mdc-progress-bar","mdc-linear-progress"],hostVars:10,hostBindings:function(i,n){i&2&&(ie("aria-valuenow",n._isIndeterminate()?null:n.value)("mode",n.mode),Po("mat-"+n.color),ne("_mat-animation-noopable",n._isNoopAnimation)("mdc-linear-progress--animation-ready",!n._isNoopAnimation)("mdc-linear-progress--indeterminate",n._isIndeterminate()))},inputs:{color:"color",value:[2,"value","value",en],bufferValue:[2,"bufferValue","bufferValue",en],mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],decls:7,vars:5,consts:[["aria-hidden","true",1,"mdc-linear-progress__buffer"],[1,"mdc-linear-progress__buffer-bar"],[1,"mdc-linear-progress__buffer-dots"],["aria-hidden","true",1,"mdc-linear-progress__bar","mdc-linear-progress__primary-bar"],[1,"mdc-linear-progress__bar-inner"],["aria-hidden","true",1,"mdc-linear-progress__bar","mdc-linear-progress__secondary-bar"]],template:function(i,n){i&1&&(li(0,"div",0),Di(1,"div",1),V(2,QYA,1,0,"div",2),Ei(),li(3,"div",3),Di(4,"span",4),Ei(),li(5,"div",5),Di(6,"span",4),Ei()),i&2&&(p(),wn("flex-basis",n._getBufferBarFlexBasis()),p(),W(n.mode==="buffer"?2:-1),p(),wn("transform",n._getPrimaryBarTransform()))},styles:[`.mat-mdc-progress-bar{--mat-progress-bar-animation-multiplier: 1;display:block;text-align:start}.mat-mdc-progress-bar[mode=query]{transform:scaleX(-1)}.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__buffer-dots,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__primary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__secondary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__bar-inner.mdc-linear-progress__bar-inner{animation:none}.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__primary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__buffer-bar{transition:transform 1ms}.mat-progress-bar-reduced-motion{--mat-progress-bar-animation-multiplier: 2}.mdc-linear-progress{position:relative;width:100%;transform:translateZ(0);outline:1px solid rgba(0,0,0,0);overflow-x:hidden;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);height:max(var(--mat-progress-bar-track-height, 4px),var(--mat-progress-bar-active-indicator-height, 4px))}@media(forced-colors: active){.mdc-linear-progress{outline-color:CanvasText}}.mdc-linear-progress__bar{position:absolute;top:0;bottom:0;margin:auto 0;width:100%;animation:none;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);height:var(--mat-progress-bar-active-indicator-height, 4px)}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}[dir=rtl] .mdc-linear-progress__bar{right:0;transform-origin:center right}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid;border-color:var(--mat-progress-bar-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-progress-bar-active-indicator-height, 4px)}.mdc-linear-progress__buffer{display:flex;position:absolute;top:0;bottom:0;margin:auto 0;width:100%;overflow:hidden;height:var(--mat-progress-bar-track-height, 4px);border-radius:var(--mat-progress-bar-track-shape, var(--mat-sys-corner-none))}.mdc-linear-progress__buffer-dots{background-image:radial-gradient(circle, var(--mat-progress-bar-track-color, var(--mat-sys-surface-variant)) calc(var(--mat-progress-bar-track-height, 4px) / 2), transparent 0);background-repeat:repeat-x;background-size:calc(calc(var(--mat-progress-bar-track-height, 4px) / 2)*5);background-position:left;flex:auto;transform:rotate(180deg);animation:mdc-linear-progress-buffering calc(250ms*var(--mat-progress-bar-animation-multiplier)) infinite linear}@media(forced-colors: active){.mdc-linear-progress__buffer-dots{background-color:ButtonBorder}}[dir=rtl] .mdc-linear-progress__buffer-dots{animation:mdc-linear-progress-buffering-reverse calc(250ms*var(--mat-progress-bar-animation-multiplier)) infinite linear;transform:rotate(0)}.mdc-linear-progress__buffer-bar{flex:0 1 100%;transition:flex-basis 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);background-color:var(--mat-progress-bar-track-color, var(--mat-sys-surface-variant))}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation:mdc-linear-progress-primary-indeterminate-translate calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-primary-indeterminate-scale calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation-name:mdc-linear-progress-primary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}.mdc-linear-progress__secondary-bar{display:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;display:block}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation:mdc-linear-progress-secondary-indeterminate-translate calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-secondary-indeterminate-scale calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation-name:mdc-linear-progress-secondary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}@keyframes mdc-linear-progress-buffering{from{transform:rotate(180deg) translateX(calc(var(--mat-progress-bar-track-height, 4px) * -2.5))}}@keyframes mdc-linear-progress-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mdc-linear-progress-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mdc-linear-progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(-83.67142%)}100%{transform:translateX(-200.611057%)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(-37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(-84.386165%)}100%{transform:translateX(-160.277782%)}}@keyframes mdc-linear-progress-buffering-reverse{from{transform:translateX(-10px)}} -`],encapsulation:2,changeDetection:0})}return t})();function TsA(t,e=0,A=100){return Math.max(e,Math.min(A,t))}var HsA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var fYA=["determinateSpinner"];function mYA(t,e){if(t&1&&(Qt(),m(0,"svg",11),GA(1,"circle",12),w()),t&2){let A=v();ie("viewBox",A._viewBox()),p(),wn("stroke-dasharray",A._strokeCircumference(),"px")("stroke-dashoffset",A._strokeCircumference()/2,"px")("stroke-width",A._circleStrokeWidth(),"%"),ie("r",A._circleRadius())}}var pYA=new yA("mat-progress-spinner-default-options",{providedIn:"root",factory:()=>({diameter:zsA})}),zsA=100,wYA=10,B1=(()=>{class t{_elementRef=h(ge);_noopAnimations;get color(){return this._color||this._defaultColor}set color(A){this._color=A}_color;_defaultColor="primary";_determinateCircle;constructor(){let A=h(pYA),i=Nu(),n=this._elementRef.nativeElement;this._noopAnimations=i==="di-disabled"&&!!A&&!A._forceAnimations,this.mode=n.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",!this._noopAnimations&&i==="reduced-motion"&&n.classList.add("mat-progress-spinner-reduced-motion"),A&&(A.color&&(this.color=this._defaultColor=A.color),A.diameter&&(this.diameter=A.diameter),A.strokeWidth&&(this.strokeWidth=A.strokeWidth))}mode;get value(){return this.mode==="determinate"?this._value:0}set value(A){this._value=Math.max(0,Math.min(100,A||0))}_value=0;get diameter(){return this._diameter}set diameter(A){this._diameter=A||0}_diameter=zsA;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(A){this._strokeWidth=A||0}_strokeWidth;_circleRadius(){return(this.diameter-wYA)/2}_viewBox(){let A=this._circleRadius()*2+this.strokeWidth;return`0 0 ${A} ${A}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(i,n){if(i&1&&ai(fYA,5),i&2){let o;ce(o=Ce())&&(n._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(i,n){i&2&&(ie("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",n.mode==="determinate"?n.value:null)("mode",n.mode),Po("mat-"+n.color),wn("width",n.diameter,"px")("height",n.diameter,"px")("--mat-progress-spinner-size",n.diameter+"px")("--mat-progress-spinner-active-indicator-width",n.diameter+"px"),ne("_mat-animation-noopable",n._noopAnimations)("mdc-circular-progress--indeterminate",n.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",en],diameter:[2,"diameter","diameter",en],strokeWidth:[2,"strokeWidth","strokeWidth",en]},exportAs:["matProgressSpinner"],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(i,n){if(i&1&&(pt(0,mYA,2,8,"ng-template",null,0,w2),m(2,"div",2,1),Qt(),m(4,"svg",3),GA(5,"circle",4),w()(),as(),m(6,"div",5)(7,"div",6)(8,"div",7),on(9,8),w(),m(10,"div",9),on(11,8),w(),m(12,"div",10),on(13,8),w()()()),i&2){let o=An(1);p(4),ie("viewBox",n._viewBox()),p(),wn("stroke-dasharray",n._strokeCircumference(),"px")("stroke-dashoffset",n._strokeDashOffset(),"px")("stroke-width",n._circleStrokeWidth(),"%"),ie("r",n._circleRadius()),p(4),$("ngTemplateOutlet",o),p(2),$("ngTemplateOutlet",o),p(2),$("ngTemplateOutlet",o)}},dependencies:[sl],styles:[`.mat-mdc-progress-spinner{--mat-progress-spinner-animation-multiplier: 1;display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity 250ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-progress-spinner circle{stroke-width:var(--mat-progress-spinner-active-indicator-width, 4px)}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}@media(forced-colors: active){.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}}.mat-progress-spinner-reduced-motion{--mat-progress-spinner-animation-multiplier: 1.25}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1;animation:mdc-circular-progress-container-rotate calc(1568.2352941176ms*var(--mat-progress-spinner-animation-multiplier)) linear infinite}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mat-progress-spinner-active-indicator-color, var(--mat-sys-primary))}@media(forced-colors: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin calc(1333ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin calc(1333ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate calc(5332ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}} -`],encapsulation:2,changeDetection:0})}return t})();var OsA=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[Gi]})}return t})();var b7=class t{constructor(e){this.sanitizer=e}set json(e){this.formattedJson=this.syntaxHighlight(e)}formattedJson="";syntaxHighlight(e){if(!e)return"";try{let A=JSON.parse(e);e=JSON.stringify(A,null,0)}catch{return this.sanitizer.bypassSecurityTrustHtml(this.escapeHtml(e))}return e=e.replace(/&/g,"&").replace(//g,">"),e=e.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,A=>{let i="json-number";return/^"/.test(A)?/:$/.test(A)?i="json-key":i="json-string":/true|false/.test(A)?i="json-boolean":/null/.test(A)&&(i="json-null"),''+A+""}),this.sanitizer.bypassSecurityTrustHtml(e)}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}static \u0275fac=function(A){return new(A||t)(at($s))};static \u0275cmp=kA({type:t,selectors:[["app-json-tooltip"]],inputs:{json:"json"},decls:1,vars:1,consts:[[3,"innerHTML"]],template:function(A,i){A&1&&Di(0,"div",0),A&2&&vo("innerHTML",i.formattedJson,al)},styles:["[_nghost-%COMP%]{display:block;font-family:Courier New,monospace;font-size:12px;line-height:1.4;white-space:pre-wrap;max-width:800px}"]})};var M7=class t{json="";overlayRef=null;overlay=h(i8);elementRef=h(ge);show(){if(!this.json)return;let e=this.overlay.position().flexibleConnectedTo(this.elementRef).withPositions([{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-8}]);this.overlayRef=this.overlay.create({positionStrategy:e,scrollStrategy:this.overlay.scrollStrategies.close(),panelClass:"json-tooltip-panel"});let A=new Jg(b7),i=this.overlayRef.attach(A);i.instance.json=this.json}hide(){this.overlayRef&&(this.overlayRef.dispose(),this.overlayRef=null)}ngOnDestroy(){this.hide()}static \u0275fac=function(A){return new(A||t)};static \u0275dir=OA({type:t,selectors:[["","appJsonTooltip",""]],hostBindings:function(A,i){A&1&&tA("mouseenter",function(){return i.show()})("mouseleave",function(){return i.hide()})},inputs:{json:[0,"appJsonTooltip","json"]}})};function yYA(t,e){if(t&1&&GA(0,"a2ui-surface",0),t&2){let A=v();$("surfaceId",A.surfaceId())("surface",A.surface())}}var k7=class t{processor=h(HU);beginRendering=null;surfaceUpdate=null;dataModelUpdate=null;surfaceId=jA(null);activeSurface=jA(null);surface=Ue(()=>this.activeSurface());constructor(){}ngOnChanges(e){let A=[],i=null;e.beginRendering&&this.beginRendering&&Object.keys(this.beginRendering).length>0&&(A.push(this.beginRendering),i=this.beginRendering?.beginRendering?.surfaceId??i),e.surfaceUpdate&&this.surfaceUpdate&&Object.keys(this.surfaceUpdate).length>0&&(A.push(this.surfaceUpdate),i=this.surfaceUpdate?.surfaceUpdate?.surfaceId??i),e.dataModelUpdate&&this.dataModelUpdate&&Object.keys(this.dataModelUpdate).length>0&&(A.push(this.dataModelUpdate),i=this.dataModelUpdate?.dataModelUpdate?.surfaceId??i),A.length>0&&this.processor.processMessages(A),i&&this.surfaceId.set(i);let n=this.surfaceId();if(n){let o=this.processor.getSurfaces();o.has(n)&&this.activeSurface.set(o.get(n))}}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-a2ui-canvas"]],inputs:{beginRendering:"beginRendering",surfaceUpdate:"surfaceUpdate",dataModelUpdate:"dataModelUpdate"},features:[ti],decls:1,vars:1,consts:[[3,"surfaceId","surface"]],template:function(A,i){A&1&&V(0,yYA,1,2,"a2ui-surface",0),A&2&&W(i.surface()?0:-1)},dependencies:[ma,PU],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%;overflow:auto}[_nghost-%COMP%] *{box-sizing:border-box}.canvas[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;padding:16px;box-sizing:border-box;min-height:100%}"],changeDetection:0})};var S7=new yA("FeedbackService");var vYA={goodResponseTooltip:"Good response",badResponseTooltip:"Bad response",feedbackAdditionalLabel:"Additional feedback (Optional)",feedbackCommentPlaceholderDown:"Share what could be improved in the response",feedbackCommentPlaceholderUp:"Share what you liked about the response",feedbackCancelButton:"Cancel",feedbackSubmitButton:"Submit",feedbackDialogTitle:"Reasons for feedback (Select all that apply)",feedbackReasonHallucination:"Hallucinated libraries / APIs etc",feedbackReasonIncomplete:"Incomplete answer",feedbackReasonFollowup:"Didn't understand followup",feedbackReasonFactual:"Factual errors",feedbackReasonLinks:"Broken/incorrect links",feedbackReasonIrrelevant:"Irrelevant information",feedbackReasonRepetitive:"Repetitive",feedbackReasonAccurate:"Accurate info",feedbackReasonHelpful:"Helpful",feedbackReasonConcise:"Concise",feedbackReasonUnderstanding:"Good understanding",feedbackReasonClear:"Clear and easy to follow"},PsA=new yA("Message Feedback Messages",{factory:()=>vYA});function bYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_up_filled"),w())}function MYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_up"),w())}function kYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_down_filled"),w())}function SYA(t,e){t&1&&(m(0,"mat-icon"),K(1,"thumb_down"),w())}function xYA(t,e){if(t&1&&(m(0,"mat-chip-option",7),K(1),w()),t&2){let A=e.$implicit;$("value",A),p(),Se(" ",A," ")}}function RYA(t,e){if(t&1){let A=JA();m(0,"div",4)(1,"div",5)(2,"h3"),K(3),w(),m(4,"mat-chip-listbox",6),Ut(5,xYA,2,2,"mat-chip-option",7,Li),w()(),m(7,"div",8)(8,"h3"),K(9),w(),m(10,"mat-form-field",9)(11,"textarea",10),K(12," "),w()()(),m(13,"div",11)(14,"button",12),tA("click",function(){Z(A);let n=v();return X(n.onDetailedFeedbackCancelled())}),K(15),w(),m(16,"button",13),tA("click",function(){Z(A);let n=v();return X(n.onDetailedFeedbackSubmitted())}),K(17),w()()()}if(t&2){let A=v();p(3),qA(A.i18n.feedbackDialogTitle),p(),$("formControl",A.selectedReasons),p(),Jt(A.reasons()),p(4),qA(A.i18n.feedbackAdditionalLabel),p(2),$("formControl",A.comment)("placeholder",A.feedbackPlaceholder()),p(4),Se(" ",A.i18n.feedbackCancelButton," "),p(2),Se(" ",A.i18n.feedbackSubmitButton," ")}}var x7=class t{sessionName=rt.required();eventId=rt.required();i18n=h(PsA);feedbackService=h(S7);existingFeedback=C6({params:()=>({sessionName:this.sessionName(),eventId:this.eventId()}),stream:({params:e})=>this.feedbackService.getFeedback(e.sessionName,e.eventId)});selectedFeedbackDirection=jA(void 0);feedbackDirection=Ue(()=>this.selectedFeedbackDirection()??this.existingFeedback.value()?.direction);isDetailedFeedbackVisible=jA(!1);feedbackPlaceholder=Ue(()=>this.feedbackDirection()==="up"?this.i18n.feedbackCommentPlaceholderUp:this.i18n.feedbackCommentPlaceholderDown);positiveReasonsResource=C6({stream:()=>this.feedbackService.getPositiveFeedbackReasons()});negativeReasonsResource=C6({stream:()=>this.feedbackService.getNegativeFeedbackReasons()});reasons=Ue(()=>this.feedbackDirection()==="up"?this.positiveReasonsResource.value():this.negativeReasonsResource.value());selectedReasons=new ks([]);comment=new ks("");isLoading=jA(!1);sendFeedback(e){this.feedbackDirection()===e?(this.isLoading.set(!0),this.feedbackService.deleteFeedback(this.sessionName(),this.eventId()).subscribe(()=>{this.isLoading.set(!1),this.selectedFeedbackDirection.set(void 0),this.resetDetailedFeedback()})):(this.selectedReasons.reset(),this.isLoading.set(!0),this.feedbackService.sendFeedback(this.sessionName(),this.eventId(),{direction:e}).subscribe(()=>{this.isLoading.set(!1),this.isDetailedFeedbackVisible.set(!0),this.selectedFeedbackDirection.set(e)}))}onDetailedFeedbackSubmitted(){let e=this.feedbackDirection();e&&(this.isLoading.set(!0),this.feedbackService.sendFeedback(this.sessionName(),this.eventId(),{direction:e,reasons:this.selectedReasons.value??[],comment:this.comment.value??void 0}).subscribe(()=>{this.isLoading.set(!1),this.resetDetailedFeedback()}))}onDetailedFeedbackCancelled(){this.selectedFeedbackDirection.set(void 0),this.resetDetailedFeedback()}resetDetailedFeedback(){this.isDetailedFeedbackVisible.set(!1),this.comment.reset(),this.selectedReasons.reset([])}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-message-feedback"]],inputs:{sessionName:[1,"sessionName"],eventId:[1,"eventId"]},decls:9,vars:7,consts:[[1,"message-feedback-container"],[1,"feedback-buttons"],["mat-icon-button","",3,"click","matTooltip","disabled"],["class","feedback-details-container",4,"ngIf"],[1,"feedback-details-container"],[1,"reasons-chips"],["multiple","",3,"formControl"],[3,"value"],[1,"additional-feedback"],["appearance","outline"],["matInput","",3,"formControl","placeholder"],[1,"actions"],["mat-stroked-button","",3,"click"],["mat-flat-button","","color","primary",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"div",1)(2,"button",2),tA("click",function(){return i.sendFeedback("up")}),V(3,bYA,2,0,"mat-icon")(4,MYA,2,0,"mat-icon"),w(),m(5,"button",2),tA("click",function(){return i.sendFeedback("down")}),V(6,kYA,2,0,"mat-icon")(7,SYA,2,0,"mat-icon"),w()(),pt(8,RYA,18,7,"div",3),w()),A&2&&(p(2),$("matTooltip",i.i18n.goodResponseTooltip)("disabled",i.isLoading()),p(),W(i.feedbackDirection()==="up"?3:4),p(2),$("matTooltip",i.i18n.badResponseTooltip)("disabled",i.isLoading()),p(),W(i.feedbackDirection()==="down"?6:7),p(2),$("ngIf",i.isDetailedFeedbackVisible()))},dependencies:[ma,rl,r0,uo,fo,v1,Ns,fn,Wa,Nv,xG,kG,Yr,No,Il,Fn,gl,wa,U2,xa],styles:[".message-feedback-container[_ngcontent-%COMP%]{display:block}.feedback-buttons[_ngcontent-%COMP%]{--mat-icon-button-touch-target-size: 32px;--button-size: 32px;--icon-size: 12px;margin-left:54px;display:flex}.feedback-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:var(--button-size);height:var(--button-size);transition:all .2s ease}.feedback-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:var(--icon-size);height:var(--icon-size);width:var(--icon-size);transition:all .2s ease}.feedback-buttons[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%]{background-color:var(--side-panel-button-filled-container-color, var(--mat-sys-primary));color:var(--side-panel-button-filled-label-text-color, white)}.feedback-buttons[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit}.reasons-chips[_ngcontent-%COMP%]{margin-bottom:20px}.feedback-details-container[_ngcontent-%COMP%]{margin-left:54px;max-width:500px;padding:16px;background-color:var(--builder-card-background-color);border-radius:8px;margin-top:8px;border:1px solid var(--builder-border-color)}.feedback-details-container[_ngcontent-%COMP%] .additional-feedback[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:500;margin-bottom:8px;margin-top:0;color:var(--builder-text-secondary-color)}.feedback-details-container[_ngcontent-%COMP%] .additional-feedback[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.feedback-details-container[_ngcontent-%COMP%] .additional-feedback[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:60px;resize:vertical}.feedback-details-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.feedback-details-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:18px;padding:0 16px;height:32px;line-height:32px;font-weight:500}"]})};function R7(t){if(!t)return!1;if(t.name==="computer"){let i=t.args?.action,n=t.args?.coordinate;return["left_click","right_click","middle_click","double_click"].includes(i)&&Array.isArray(n)&&n.length===2}let e=["click_at","hover_at","type_text_at","scroll_at","drag_and_drop","mouse_move","scroll_document"].includes(t.name),A=t.args?.x!=null&&t.args?.y!=null||Array.isArray(t.args?.coordinate)&&t.args?.coordinate.length===2;return e&&A}function qh(t){return t?!!t.response?.image?.data:!1}function NYA(t,e){if(t&1&&K(0),t&2){let A=v(3);Se(" (",A.functionCall.args.action,") ")}}function FYA(t,e){if(t&1&&(m(0,"span",5),K(1),w()),t&2){v();let A=Vs(5);$("matTooltip",A.isVirtual?"Virtual (1000x1000)":"Hardware Mapping"),p(),wU(" [@ ",A.x,"",A.isVirtual?"v":"px",", ",A.y,"",A.isVirtual?"v":"px","] ")}}function _YA(t,e){if(t&1){let A=JA();m(0,"div",2),tA("click",function(){Z(A);let n=v(2);return X(n.clickEvent.emit(n.index))}),m(1,"div",3)(2,"span",4),K(3),V(4,NYA,1,1),Ur(5),V(6,FYA,2,5,"span",5),w()(),m(7,"div",6)(8,"img",7),tA("load",function(n){Z(A);let o=v(2);return X(o.onImageLoad(n))}),w(),GA(9,"div",8),w()()}if(t&2){v();let A=Vs(0),i=v();p(3),Se(" ",i.functionCall.name," "),p(),W(i.functionCall.args&&i.functionCall.args.action?4:-1),p();let n=_g(i.getActualPixelCoordinates());p(),W(n?6:-1),p(2),$("src",A,Ka),p(),$("ngStyle",i.getClickBoxStyle())}}function LYA(t,e){if(t&1&&(Ur(0),V(1,_YA,10,6,"div",1)),t&2){let A=_g(v().getPreviousComputerUseScreenshot());p(),W(A?1:-1)}}function GYA(t,e){if(t&1){let A=JA();m(0,"div",9),tA("click",function(){Z(A);let n=v();return X(n.clickEvent.emit(n.index))}),m(1,"div",3)(2,"span",4),K(3),w()(),GA(4,"img",10),m(5,"div",11)(6,"mat-icon",12),K(7,"computer"),w(),m(8,"span",13),K(9),w()()()}if(t&2){let A=v();p(3),qA(A.functionResponse.name),p(),$("src",A.getComputerUseScreenshot(),Ka),p(5),qA(A.getComputerUseUrl())}}var N7=class t{functionCall;functionResponse;allMessages=[];index=0;clickEvent=new $A;imageDimensions=new Map;VIRTUAL_WIDTH=1e3;VIRTUAL_HEIGHT=1e3;isComputerUseResponse(){return!!this.functionResponse&&qh(this.functionResponse)}isComputerUseClick(){return!!this.functionCall&&R7(this.functionCall)}getComputerUseScreenshot(){return this.getScreenshotFromPayload(this.functionResponse?.response)}getComputerUseUrl(){return this.isComputerUseResponse()&&(this.functionResponse?.response).url||""}getPreviousComputerUseScreenshot(){for(let e=this.index-1;e>=0;e--){let A=this.allMessages[e];if(this.isMsgComputerUseResponse(A)&&A.functionResponses&&A.functionResponses.length>0)for(let i=A.functionResponses.length-1;i>=0;i--){let n=A.functionResponses[i];if(qh(n)){let o=n.response;return this.getScreenshotFromPayload(o)}}}return""}getClickCoordinates(){if(!this.isComputerUseClick())return null;let e=this.functionCall.args;return e?e.coordinate?{x:Number(e.coordinate[0]),y:Number(e.coordinate[1])}:e.x!=null&&e.y!=null?{x:Number(e.x),y:Number(e.y)}:null:null}getActualPixelCoordinates(){let e=this.getClickCoordinates();if(!e)return null;let A=this.imageDimensions.get(this.index);return A?{x:Math.round(e.x/this.VIRTUAL_WIDTH*A.width),y:Math.round(e.y/this.VIRTUAL_HEIGHT*A.height),isVirtual:!1}:Ge(cA({},e),{isVirtual:!0})}getClickBoxStyle(){let e=this.getClickCoordinates();if(!e)return{display:"none"};let A=e.x/this.VIRTUAL_WIDTH*100,i=e.y/this.VIRTUAL_HEIGHT*100;return{left:`${A}%`,top:`${i}%`}}onImageLoad(e){let A=e.target;A.naturalWidth&&A.naturalHeight&&this.imageDimensions.set(this.index,{width:A.naturalWidth,height:A.naturalHeight})}isMsgComputerUseResponse(e){return e.functionResponses&&e.functionResponses.length>0?e.functionResponses.some(A=>qh(A)):!1}getScreenshotFromPayload(e){let A=e?.image;if(!A?.data)return"";let i=A.data;return i.startsWith("data:")?i:`data:${A.mimetype||"image/png"};base64,${i}`}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-computer-action"]],inputs:{functionCall:"functionCall",functionResponse:"functionResponse",allMessages:"allMessages",index:"index"},outputs:{clickEvent:"clickEvent"},decls:2,vars:1,consts:[[1,"computer-use-container"],[1,"computer-use-container","click-visualization-container"],[1,"computer-use-container","click-visualization-container",3,"click"],[1,"computer-use-header"],[1,"computer-use-tool-name"],[1,"actual-pixels",3,"matTooltip"],[1,"image-wrapper"],["alt","Computer Use Screenshot",1,"computer-use-screenshot",3,"load","src"],[1,"click-overlay-box",3,"ngStyle"],[1,"computer-use-container",3,"click"],["alt","Computer Use Screenshot",1,"computer-use-screenshot",3,"src"],[1,"computer-use-footprint"],[1,"computer-icon"],[1,"url-text"]],template:function(A,i){A&1&&V(0,LYA,2,2)(1,GYA,10,3,"div",0),A&2&&W(i.isComputerUseClick()?0:i.isComputerUseResponse()?1:-1)},dependencies:[ma,dp,Il,Fn,U2,xa],styles:['[_nghost-%COMP%]{display:block}.computer-use-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-width:600px;border-radius:12px;border:1px solid var(--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color);overflow:hidden;cursor:pointer;margin:5px 5px 10px;background-color:var(--chat-panel-bot-message-message-card-background-color);transition:opacity .2s}.computer-use-container[_ngcontent-%COMP%]:hover{opacity:.9}.computer-use-tool-name[_ngcontent-%COMP%]{font-size:12px;font-family:monospace;font-weight:600;color:var(--chat-panel-input-field-textarea-color);opacity:.9;padding:12px}.computer-use-tool-name[_ngcontent-%COMP%] .actual-pixels[_ngcontent-%COMP%]{opacity:.6;margin-left:8px;font-weight:400}.computer-use-screenshot[_ngcontent-%COMP%]{width:100%;height:auto;display:block;border-bottom:1px solid var(--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color)}.computer-use-footprint[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 12px;gap:8px;background-color:var(--chat-panel-thought-chip-background-color)}.computer-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;flex-shrink:0}.url-text[_ngcontent-%COMP%]{font-size:11px;font-family:monospace;white-space:normal;word-break:break-all;color:var(--chat-panel-input-field-textarea-color);opacity:.8;min-width:0}.image-wrapper[_ngcontent-%COMP%]{position:relative;width:100%}.click-overlay-box[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;border:1px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%);background-color:#ff00004d;box-shadow:0 0 4px #00000080;pointer-events:none;z-index:10;display:flex;align-items:center;justify-content:center}.click-overlay-box[_ngcontent-%COMP%]:before{content:"";width:2px;height:2px;background-color:red;border-radius:50%;box-shadow:0 0 2px #fff;z-index:11}.click-overlay-box[_ngcontent-%COMP%]:after{content:"";position:absolute;width:100%;height:100%;background:linear-gradient(to right,transparent 48%,rgba(255,255,255,.6) 48%,rgba(255,255,255,.6) 52%,transparent 52%),linear-gradient(to bottom,transparent 48%,rgba(255,255,255,.6) 48%,rgba(255,255,255,.6) 52%,transparent 52%);border-radius:50%}']})};var KYA={cancelEditingTooltip:"Cancel editing",saveEvalMessageTooltip:"Save eval case message",thoughtChipLabel:"Thought",outcomeLabel:"Outcome",outputLabel:"Output",actualToolUsesLabel:"Actual tool uses:",expectedToolUsesLabel:"Expected tool uses:",actualResponseLabel:"Actual response:",expectedResponseLabel:"Expected response:",matchScoreLabel:"Match score",thresholdLabel:"Threshold",evalPassLabel:"Pass",evalFailLabel:"Fail",editEvalMessageTooltip:"Edit eval case message",deleteEvalMessageTooltip:"Delete eval case message",editFunctionArgsTooltip:"Edit function arguments",typeMessagePlaceholder:"Type a Message...",uploadFileTooltip:"Upload local file",moreOptionsTooltip:"More options",updateStateMenuLabel:"Update state",updateStateMenuTooltip:"Update the session state",turnOffMicTooltip:"Turn off microphone",useMicTooltip:"Use microphone",turnOffCamTooltip:"Turn off camera",useCamTooltip:"Use camera",updatedSessionStateChipLabel:"Updated session state"},jsA=new yA("Chat Panel Messages",{factory:()=>KYA});var UYA=["videoContainer"],JYA=["autoScroll"],YYA=["messageTextarea"],TYA=t=>({selected:t}),HYA=(t,e)=>({"user-message":t,"bot-message":e}),zYA=(t,e)=>({"eval-pass":t,"eval-fail":e}),OYA=t=>({hidden:t}),PYA=(t,e)=>({"eval-fail":t,"message-card--highlighted":e}),jYA=(t,e)=>({text:t,thought:e}),F7=t=>({"function-event-button-highlight":t}),IK=t=>({hidden:t});function qYA(t,e){t&1&&(m(0,"div",8),GA(1,"mat-progress-bar",10),w())}function VYA(t,e){if(t&1&&(m(0,"div",22),K(1),w()),t&2){let A=v(2).$index,i=v(2);p(),Se(" #",i.getOverallEventNumber(A)," ")}}function WYA(t,e){t&1&&GA(0,"div",23)}function ZYA(t,e){if(t&1&&(m(0,"div",12),V(1,VYA,2,1,"div",22)(2,WYA,1,0,"div",23),w()),t&2){let A=v().$index,i=v(2);p(),W(i.isFirstUserMessageInGroup(A)?1:2)}}function XYA(t,e){if(t&1&&(m(0,"div",22),K(1),w()),t&2){let A=v(2).$index,i=v(2);p(),Se(" #",i.getOverallEventNumber(A)," ")}}function $YA(t,e){t&1&&GA(0,"div",23)}function ATA(t,e){if(t&1&&(m(0,"div",14),V(1,XYA,2,1,"div",22)(2,$YA,1,0,"div",23),w()),t&2){let A=v().$index,i=v(2);p(),W(i.isFirstMessageInEventGroup(A)?1:2)}}function eTA(t,e){if(t&1&&(m(0,"button",24)(1,"mat-icon",25),K(2,"robot_2"),w()()),t&2){let A=v(),i=A.$implicit,n=A.$index,o=v(2);Po(o.customIconColorClass(n)),$("disabled",!i.eventId)("matTooltip",o.getAgentNameFromEvent(n))("ngClass",ss(5,OYA,!o.getAgentNameFromEvent(n)))}}function tTA(t,e){t&1&&GA(0,"mat-progress-bar",26)}function iTA(t,e){if(t&1&&GA(0,"img",32),t&2){let A=v().$implicit;$("src",A.url,Ka)}}function nTA(t,e){if(t&1&&(m(0,"a",33),K(1),w()),t&2){let A=v(2).$implicit;$("href",A.url,Ka),p(),qA(A.file.name)}}function oTA(t,e){if(t&1&&K(0),t&2){let A=v(2).$implicit;Se(" ",A.file.name," ")}}function aTA(t,e){if(t&1&&(m(0,"mat-icon"),K(1,"insert_drive_file"),w(),V(2,nTA,2,2,"a",33)(3,oTA,1,1)),t&2){let A=v().$implicit;p(2),W(A.url?2:3)}}function rTA(t,e){if(t&1&&(m(0,"div",31),V(1,iTA,1,1,"img",32),V(2,aTA,4,1),w()),t&2){let A=e.$implicit;p(),W(A.file.type.startsWith("image/")?1:-1),p(),W(A.file.type.startsWith("image/")?-1:2)}}function sTA(t,e){if(t&1&&(m(0,"div",27),Ut(1,rTA,3,2,"div",31,Li),w()),t&2){let A=v(2).$implicit;p(),Jt(A.attachments)}}function gTA(t,e){if(t&1&&(m(0,"div",28),K(1),w()),t&2){let A=v(4);p(),qA(A.i18n.thoughtChipLabel)}}function lTA(t,e){if(t&1){let A=JA();m(0,"div",34)(1,"textarea",36,2),tA("ngModelChange",function(n){Z(A);let o=v(5);return X(o.userEditEvalCaseMessageChange.emit(n))})("keydown",function(n){Z(A);let o=v(3).$implicit,a=v(2);return X(a.handleKeydown.emit({event:n,message:o}))}),w(),m(3,"div",37)(4,"span",38),tA("click",function(){Z(A);let n=v(3).$implicit,o=v(2);return X(o.cancelEditMessage.emit(n))}),K(5," close "),w(),m(6,"span",39),tA("click",function(){Z(A);let n=v(3).$implicit,o=v(2);return X(o.saveEditMessage.emit(n))}),K(7," check "),w()()()}if(t&2){let A=v(5);p(),$("ngModel",A.userEditEvalCaseMessage),p(3),$("matTooltip",A.i18n.cancelEditingTooltip),p(2),$("matTooltip",A.i18n.saveEvalMessageTooltip)}}function cTA(t,e){if(t&1&&on(0,35),t&2){let A=v(3).$implicit,i=v(2);$("ngComponentOutlet",i.markdownComponent)("ngComponentOutletInputs",Zl(2,jYA,A.text,A.thought))}}function CTA(t,e){if(t&1&&V(0,lTA,8,3,"div",34)(1,cTA,1,5,"ng-container",35),t&2){let A=v(2).$implicit;W(A.isEditing?0:1)}}function ITA(t,e){if(t&1&&(m(0,"div"),GA(1,"div",40),w()),t&2){let A=v(2).$implicit,i=v(2);p(),$("innerHTML",i.renderGooglerSearch(A.renderedContent),al)}}function dTA(t,e){if(t&1&&GA(0,"app-a2ui-canvas",29),t&2){let A=v(2).$implicit;$("beginRendering",A.a2uiData.beginRendering)("surfaceUpdate",A.a2uiData.surfaceUpdate)("dataModelUpdate",A.a2uiData.dataModelUpdate)}}function BTA(t,e){if(t&1&&(m(0,"code"),K(1),w()),t&2){let A=v(2).$implicit;p(),Se(" ",A.executableCode.code," ")}}function ETA(t,e){if(t&1&&(m(0,"div")(1,"div"),K(2),w(),m(3,"div"),K(4),w()()),t&2){let A=v(2).$implicit,i=v(2);p(2),n0("",i.i18n.outcomeLabel,": ",A.codeExecutionResult.outcome),p(2),n0("",i.i18n.outputLabel,": ",A.codeExecutionResult.output)}}function QTA(t,e){if(t&1){let A=JA();m(0,"div",41)(1,"img",42),tA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openViewImageDialog.emit(n.inlineData.data))}),w()()}if(t&2){let A=v(4).$implicit;p(),$("src",A.inlineData.data,Ka)}}function hTA(t,e){if(t&1&&(m(0,"div"),GA(1,"app-audio-player",43),w()),t&2){let A=v(4).$implicit;p(),$("base64data",A.inlineData.data)}}function uTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",44)(2,"mat-icon"),K(3,"description"),w(),m(4,"button",45),tA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openBase64InNewTab.emit({data:n.inlineData.data,mimeType:n.inlineData.mimeType}))}),K(5),w()()()}if(t&2){let A=v(4).$implicit;p(5),Se(" ",A.inlineData.name," ")}}function fTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"button",45),tA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openBase64InNewTab.emit({data:n.inlineData.data,mimeType:n.inlineData.mimeType}))}),K(2),w()()}if(t&2){let A=v(4).$implicit;p(2),Se(" ",A.inlineData.name," ")}}function mTA(t,e){if(t&1&&(m(0,"div")(1,"div"),V(2,QTA,2,1,"div",41)(3,hTA,2,1,"div")(4,uTA,6,1,"div")(5,fTA,3,1,"div"),w()()),t&2){let A,i=v(3).$implicit,n=v(2);p(2),W((A=i.inlineData.mediaType)===n.MediaType.IMAGE?2:A===n.MediaType.AUDIO?3:A===n.MediaType.TEXT?4:5)}}function pTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"img",46),tA("click",function(){Z(A);let n=v(4).$implicit,o=v(2);return X(o.openViewImageDialog.emit(n.inlineData.data))}),w()()}if(t&2){let A=v(4).$implicit;p(),$("src",A.inlineData.data,Ka)}}function wTA(t,e){if(t&1&&(m(0,"div",31)(1,"mat-icon"),K(2,"insert_drive_file"),w(),m(3,"a",33),K(4),w()()),t&2){let A=v(4).$implicit;p(3),$("href",A.inlineData.data,Ka),p(),qA(A.inlineData.displayName)}}function DTA(t,e){if(t&1&&(m(0,"div"),V(1,pTA,2,1,"div")(2,wTA,5,2,"div",31),w()),t&2){let A=v(3).$implicit;p(),W(A.inlineData.mimeType.startsWith("image/")?1:2)}}function yTA(t,e){if(t&1&&V(0,mTA,6,1,"div")(1,DTA,3,1,"div"),t&2){let A=v(2).$implicit;W(A.role==="bot"?0:1)}}function vTA(t,e){if(t&1&&(m(0,"div",49)(1,"div",50),K(2),w(),GA(3,"ngx-json-viewer",51),w(),m(4,"div",52)(5,"div",53),K(6),w(),GA(7,"ngx-json-viewer",51),w()),t&2){let A=v(3).$implicit,i=v(2);p(2),qA(i.i18n.actualToolUsesLabel),p(),$("json",A.actualInvocationToolUses),p(3),qA(i.i18n.expectedToolUsesLabel),p(),$("json",A.expectedInvocationToolUses)}}function bTA(t,e){if(t&1&&(m(0,"div",49)(1,"div",50),K(2),w(),m(3,"div"),K(4),w()(),m(5,"div",52)(6,"div",53),K(7),w(),m(8,"div"),K(9),w()()),t&2){let A=v(3).$implicit,i=v(2);p(2),qA(i.i18n.actualResponseLabel),p(2),qA(A.actualFinalResponse),p(3),qA(i.i18n.expectedResponseLabel),p(2),qA(A.expectedFinalResponse)}}function MTA(t,e){if(t&1&&(m(0,"div",48)(1,"span",54),K(2),w(),m(3,"span",55),K(4),w()()),t&2){let A=v(3).$implicit,i=v(2);p(2),n0("",i.i18n.matchScoreLabel,": ",A.evalScore),p(2),n0("",i.i18n.thresholdLabel,": ",A.evalThreshold)}}function kTA(t,e){if(t&1&&(m(0,"div",30)(1,"div",47),V(2,vTA,8,4)(3,bTA,10,4),w(),V(4,MTA,5,4,"div",48),w()),t&2){let A=v(2).$implicit;p(2),W(A.actualInvocationToolUses?2:A.actualFinalResponse?3:-1),p(2),W(A.evalScore!==void 0&&A.evalThreshold!==void 0?4:-1)}}function STA(t,e){if(t&1&&(m(0,"mat-card",16),V(1,tTA,1,0,"mat-progress-bar",26),V(2,sTA,3,0,"div",27),m(3,"div"),V(4,gTA,2,1,"div",28),m(5,"div"),V(6,CTA,2,1),w(),V(7,ITA,2,1,"div"),V(8,dTA,1,3,"app-a2ui-canvas",29),w(),V(9,BTA,2,1,"code"),V(10,ETA,5,4,"div"),V(11,yTA,2,1),V(12,kTA,5,2,"div",30),w()),t&2){let A=v(),i=A.$implicit,n=A.$index,o=v(2);$("ngClass",Zl(11,PYA,i.evalStatus===2,o.shouldMessageHighlighted(n))),p(),W(i.isLoading?1:-1),p(),W(i.attachments?2:-1),p(2),W(i.thought?4:-1),p(2),W(i.text?6:-1),p(),W(i.renderedContent?7:-1),p(),W(i.a2uiData?8:-1),p(),W(i.executableCode?9:-1),p(),W(i.codeExecutionResult?10:-1),p(),W(i.inlineData?11:-1),p(),W(i.failedMetric&&i.evalStatus===2?12:-1)}}function xTA(t,e){if(t&1){let A=JA();m(0,"app-computer-action",58),tA("clickEvent",function(n){Z(A);let o=v(5);return X(o.clickEvent.emit(n))}),w()}if(t&2){let A=v().$implicit,i=v(2).$index,n=v(2);$("functionCall",A)("allMessages",n.messages)("index",i)}}function RTA(t,e){if(t&1&&(m(0,"button",57)(1,"mat-icon"),K(2,"bolt"),w(),K(3),w()),t&2){let A=v().$implicit,i=v(2).$index,n=v(2);$("ngClass",ss(3,F7,n.shouldMessageHighlighted(i)))("appJsonTooltip",A.args?n.JSON.stringify(A.args):""),p(3),Se(" ",A.name," ")}}function NTA(t,e){if(t&1&&V(0,xTA,1,3,"app-computer-action",56)(1,RTA,4,5,"button",57),t&2){let A=e.$implicit,i=v(4);W(i.isComputerUseClick(A)?0:1)}}function FTA(t,e){if(t&1&&Ut(0,NTA,2,1,null,null,Li),t&2){let A=v().$implicit;Jt(A.functionCalls)}}function _TA(t,e){if(t&1){let A=JA();m(0,"app-computer-action",60),tA("clickEvent",function(n){Z(A);let o=v(5);return X(o.clickEvent.emit(n))}),w()}if(t&2){let A=v().$implicit,i=v(2).$index,n=v(2);$("functionResponse",A)("allMessages",n.messages)("index",i)}}function LTA(t,e){if(t&1&&(m(0,"button",57)(1,"mat-icon"),K(2,"check"),w(),K(3),w()),t&2){let A=v().$implicit,i=v(2).$index,n=v(2);$("ngClass",ss(3,F7,n.shouldMessageHighlighted(i)))("appJsonTooltip",A.response?n.JSON.stringify(A.response):""),p(3),Se(" ",A.name," ")}}function GTA(t,e){if(t&1&&V(0,_TA,1,3,"app-computer-action",59)(1,LTA,4,5,"button",57),t&2){let A=e.$implicit,i=v(4);W(i.isComputerUseResponse(A)?0:1)}}function KTA(t,e){if(t&1&&Ut(0,GTA,2,1,null,null,Li),t&2){let A=v().$implicit;Jt(A.functionResponses)}}function UTA(t,e){if(t&1&&(m(0,"button",17)(1,"mat-icon"),K(2,"data_object"),w(),K(3," State "),w()),t&2){let A=v().$index,i=v(2);$("ngClass",ss(2,F7,i.shouldMessageHighlighted(A)))("appJsonTooltip",i.getStateDeltaTooltip(A))}}function JTA(t,e){if(t&1&&(m(0,"button",18)(1,"mat-icon"),K(2,"attachment"),w(),K(3," Artifact "),w()),t&2){let A=v().$index,i=v(2);$("ngClass",ss(2,F7,i.shouldMessageHighlighted(A)))("appJsonTooltip",i.getArtifactDeltaTooltip(A))}}function YTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"span",61),tA("click",function(){Z(A);let n=v(2).$implicit,o=v(2);return X(o.editEvalCaseMessage.emit(n))}),K(2," edit "),w(),m(3,"span",61),tA("click",function(){Z(A);let n=v(2),o=n.$implicit,a=n.$index,r=v(2);return X(r.deleteEvalCaseMessage.emit({message:o,index:a}))}),K(4," delete "),w()()}if(t&2){let A=v(4);p(),$("ngClass",ss(4,IK,A.isEvalCaseEditing))("matTooltip",A.i18n.editEvalMessageTooltip),p(2),$("ngClass",ss(6,IK,A.isEvalCaseEditing))("matTooltip",A.i18n.deleteEvalMessageTooltip)}}function TTA(t,e){if(t&1){let A=JA();m(0,"div")(1,"span",61),tA("click",function(){Z(A);let n=v(2).$implicit,o=v(2);return X(o.editFunctionArgs.emit(n))}),K(2," edit "),w()()}if(t&2){let A=v(4);p(),$("ngClass",ss(2,IK,A.isEvalCaseEditing))("matTooltip",A.i18n.editFunctionArgsTooltip)}}function HTA(t,e){if(t&1&&V(0,YTA,5,8,"div")(1,TTA,3,4,"div"),t&2){let A=v().$implicit,i=v(2);W(A.text?0:i.isEditFunctionArgsEnabled&&A.functionCalls&&A.functionCalls.length>0?1:-1)}}function zTA(t,e){t&1&&(m(0,"button",20)(1,"mat-icon"),K(2,"person"),w()())}function OTA(t,e){if(t&1&&GA(0,"app-message-feedback",21),t&2){let A=v().$implicit,i=v(2);$("sessionName",i.sessionName())("eventId",A.eventId)}}function PTA(t,e){if(t&1){let A=JA();m(0,"div",11),tA("click",function(n){let o=Z(A),a=o.$implicit,r=o.$index,s=v(2);return X(s.handleRowClick(n,a,r))}),V(1,ZYA,3,1,"div",12),m(2,"div",13),V(3,ATA,3,1,"div",14),V(4,eTA,3,7,"button",15),V(5,STA,13,14,"mat-card",16),V(6,FTA,2,0),V(7,KTA,2,0),V(8,UTA,4,4,"button",17),V(9,JTA,4,4,"button",18),m(10,"div",13)(11,"span",19),K(12),w(),m(13,"span"),K(14),w()(),V(15,HTA,2,1),V(16,zTA,3,0,"button",20),w(),V(17,OTA,1,2,"app-message-feedback",21),w()}if(t&2){let A=e.$implicit,i=e.$index,n=v(2);$("ngClass",ss(16,TYA,n.isMessageEventSelected(i))),p(),W(A.role==="user"?1:-1),p(),$("ngClass",Zl(18,HYA,A.role==="user",A.role==="bot")),p(),W(A.role==="bot"&&!A.isLoading?3:-1),p(),W(A.role==="bot"?4:-1),p(),W(n.shouldShowMessageCard(A)?5:-1),p(),W(A.functionCalls&&A.functionCalls.length>0?6:-1),p(),W(A.functionResponses&&A.functionResponses.length>0?7:-1),p(),W(A.role==="bot"&&n.hasStateDelta(i)?8:-1),p(),W(A.role==="bot"&&n.hasArtifactDelta(i)?9:-1),p(),$("ngClass",Zl(21,zYA,A.evalStatus===1,A.evalStatus===2)),p(2),qA(A.evalStatus===1?"check":A.evalStatus===2?"close":""),p(2),qA(A.evalStatus===1?n.i18n.evalPassLabel:A.evalStatus===2?n.i18n.evalFailLabel:""),p(),W(n.evalCase&&A.role==="bot"&&n.isEvalEditMode?15:-1),p(),W(A.role==="user"?16:-1),p(),W(n.isUserFeedbackEnabled()&&!n.isLoadingAgentResponse()&&A.role==="bot"?17:-1)}}function jTA(t,e){if(t&1){let A=JA();m(0,"div",7,0),tA("scroll",function(n){Z(A);let o=v();return X(o.onScroll.next(n))}),V(2,qYA,2,0,"div",8),ri(3,"async"),ri(4,"async"),GA(5,"div",null,1),Ut(7,PTA,18,24,"div",9,Li),w()}if(t&2){let A=v();p(2),W(Ci(3,1,A.uiStateService.isMessagesLoading())&&Ci(4,3,A.featureFlagService.isInfinityMessageScrollingEnabled())?2:-1),p(5),Jt(A.messages)}}function qTA(t,e){if(t&1){let A=JA();m(0,"div",74),GA(1,"img",75),m(2,"button",76),tA("click",function(){Z(A);let n=v().$index,o=v(4);return X(o.removeFile.emit(n))}),m(3,"mat-icon",77),K(4,"close"),w()()()}if(t&2){let A=v().$implicit;p(),$("src",A.url,Ka)}}function VTA(t,e){if(t&1){let A=JA();m(0,"div",73)(1,"button",76),tA("click",function(){Z(A);let n=v().$index,o=v(4);return X(o.removeFile.emit(n))}),m(2,"mat-icon",77),K(3,"close"),w()(),m(4,"div",78)(5,"mat-icon"),K(6,"insert_drive_file"),w(),m(7,"span"),K(8),w()()()}if(t&2){let A=v().$implicit;p(8),qA(A.file.name)}}function WTA(t,e){if(t&1&&(m(0,"div"),V(1,qTA,5,1,"div",74)(2,VTA,9,1,"div",73),w()),t&2){let A=e.$implicit;p(),W(A.file.type.startsWith("image/")?1:A.file.type.startsWith("image/")?-1:2)}}function ZTA(t,e){if(t&1){let A=JA();m(0,"div",73)(1,"button",76),tA("click",function(){Z(A);let n=v(4);return X(n.removeStateUpdate.emit())}),m(2,"mat-icon",77),K(3,"close"),w()(),m(4,"div",78)(5,"span"),K(6),w()()()}if(t&2){let A=v(4);p(6),qA(A.i18n.updatedSessionStateChipLabel)}}function XTA(t,e){if(t&1&&(m(0,"div",65),Ut(1,WTA,3,1,"div",null,Li),V(3,ZTA,7,1,"div",73),w()),t&2){let A=v(3);p(),Jt(A.selectedFiles),p(2),W(A.updatedSessionState?3:-1)}}function $TA(t,e){if(t&1){let A=JA();m(0,"div",62)(1,"input",63,3),tA("change",function(n){Z(A);let o=v(2);return X(o.fileSelect.emit(n))}),w(),m(3,"mat-form-field",64),V(4,XTA,4,1,"div",65),m(5,"textarea",66),tA("ngModelChange",function(n){Z(A);let o=v(2);return X(o.userInputChange.emit(n))})("keydown.enter",function(n){Z(A);let o=v(2);return X(o.sendMessage.emit(n))}),w(),m(6,"div",67)(7,"div")(8,"button",68),ri(9,"async"),tA("click",function(){Z(A);let n=An(2);return X(n.click())}),m(10,"mat-icon"),K(11,"attach_file"),w()(),m(12,"button",69),ri(13,"async"),m(14,"mat-icon"),K(15,"more_vert"),w()(),m(16,"mat-menu",null,4)(18,"span",70),tA("click",function(){Z(A);let n=v(2);return X(n.updateState.emit())}),K(19),w()()(),m(20,"div")(21,"button",71),ri(22,"async"),tA("click",function(){Z(A);let n=v(2);return X(n.toggleAudioRecording.emit())}),m(23,"mat-icon"),K(24,"mic"),w()(),m(25,"button",72),ri(26,"async"),tA("click",function(){Z(A);let n=v(2);return X(n.toggleVideoRecording.emit())}),m(27,"mat-icon"),K(28,"videocam"),w()()()()()()}if(t&2){let A=An(17),i=v(2);p(4),W(i.selectedFiles.length&&i.appName!=""||i.updatedSessionState?4:-1),p(),$("ngModel",i.userInput)("placeholder",i.i18n.typeMessagePlaceholder),p(3),$("matTooltip",i.i18n.uploadFileTooltip)("disabled",!Ci(9,18,i.isMessageFileUploadEnabledObs)),p(4),$("matMenuTriggerFor",A)("matTooltip",i.i18n.moreOptionsTooltip)("disabled",!Ci(13,20,i.isManualStateUpdateEnabledObs)),p(6),$("matTooltip",i.i18n.updateStateMenuTooltip),p(),Se(" ",i.i18n.updateStateMenuLabel," "),p(2),ne("recording",i.isAudioRecording),$("matTooltip",i.isAudioRecording?i.i18n.turnOffMicTooltip:i.i18n.useMicTooltip)("disabled",!Ci(22,22,i.isBidiStreamingEnabledObs)),p(4),ne("recording",i.isVideoRecording),$("matTooltip",i.isVideoRecording?i.i18n.turnOffCamTooltip:i.i18n.useCamTooltip)("disabled",!Ci(26,24,i.isBidiStreamingEnabledObs))}}function AHA(t,e){if(t&1&&V(0,$TA,29,26,"div",62),t&2){let A=v();W(A.canEditSession()?0:-1)}}function eHA(t,e){t&1&&(m(0,"div",6),GA(1,"mat-progress-spinner",79),w())}var qsA="root_agent",Vh=class t{constructor(e){this.sanitizer=e;Ga(()=>{let A=this.sessionName();A&&(this.nextPageToken="",this.uiStateService.lazyLoadMessages(A,{pageSize:100,pageToken:this.nextPageToken}).pipe(zo()).subscribe())})}appName="";sessionName=rt("");messages=[];isChatMode=!0;evalCase=null;isEvalEditMode=!1;isEvalCaseEditing=!1;isEditFunctionArgsEnabled=!1;userInput="";userEditEvalCaseMessage="";selectedFiles=[];updatedSessionState=null;eventData=new Map;selectedEvent=void 0;isAudioRecording=!1;isVideoRecording=!1;hoveredEventMessageIndices=[];userInputChange=new $A;userEditEvalCaseMessageChange=new $A;clickEvent=new $A;handleKeydown=new $A;cancelEditMessage=new $A;saveEditMessage=new $A;openViewImageDialog=new $A;openBase64InNewTab=new $A;editEvalCaseMessage=new $A;deleteEvalCaseMessage=new $A;editFunctionArgs=new $A;fileSelect=new $A;removeFile=new $A;removeStateUpdate=new $A;sendMessage=new $A;updateState=new $A;toggleAudioRecording=new $A;toggleVideoRecording=new $A;videoContainer;scrollContainer;textarea;scrollInterrupted=!1;scrollHeight=0;lastMessageRef=null;nextPageToken="";i18n=h(jsA);uiStateService=h(Ql);stringToColorService=h(dE);markdownComponent=h(Gh);featureFlagService=h(vr);agentService=h(sg);sessionService=h(El);destroyRef=h(qa);MediaType=$1;JSON=JSON;isMessageFileUploadEnabledObs=this.featureFlagService.isMessageFileUploadEnabled();isManualStateUpdateEnabledObs=this.featureFlagService.isManualStateUpdateEnabled();isBidiStreamingEnabledObs=this.featureFlagService.isBidiStreamingEnabled();canEditSession=jA(!0);isUserFeedbackEnabled=Fs(this.featureFlagService.isFeedbackServiceEnabled());isLoadingAgentResponse=Fs(this.agentService.getLoadingState());onScroll=new XA;ngOnInit(){this.featureFlagService.isInfinityMessageScrollingEnabled().pipe(zo(),Ze(e=>e),Si(()=>fi(this.uiStateService.onNewMessagesLoaded().pipe(oi(e=>{this.nextPageToken=e.nextPageToken??"",e.isBackground||this.restoreScrollPosition()})),this.onScroll.pipe(Si(e=>{let A=e.target;return A.scrollTop!==0?ja:this.nextPageToken?(this.scrollHeight=A.scrollHeight,this.uiStateService.lazyLoadMessages(this.sessionName(),{pageSize:100,pageToken:this.nextPageToken}).pipe(zo(),ta(()=>gU))):ja})))),Tr(this.destroyRef)).subscribe()}ngAfterViewInit(){this.scrollContainer?.nativeElement&&(this.scrollContainer.nativeElement.addEventListener("wheel",()=>{this.scrollInterrupted=!0}),this.scrollContainer.nativeElement.addEventListener("touchmove",()=>{this.scrollInterrupted=!0}))}ngOnChanges(e){if(e.messages){let A=this.messages[this.messages.length-1];A!==this.lastMessageRef&&((A?.role==="user"||A?.isLoading===!0)&&(this.scrollInterrupted=!1),this.scrollToBottom()),this.lastMessageRef=A}}scrollToBottom(){this.scrollInterrupted||setTimeout(()=>{this.scrollContainer?.nativeElement.scrollTo({top:this.scrollContainer.nativeElement.scrollHeight,behavior:"auto"})},50)}getAgentNameFromEvent(e){let A=this.messages[e].eventId;return this.eventData.get(A)?.author??qsA}customIconColorClass(e){let A=this.getAgentNameFromEvent(e);return A!==qsA?`custom-icon-color-${this.stringToColorService.stc(A).replace("#","")}`:""}shouldMessageHighlighted(e){return this.hoveredEventMessageIndices.includes(e)}isMessageEventSelected(e){let A=this.messages[e];return A.eventId&&this.selectedEvent&&A.eventId===this.selectedEvent.id}shouldShowMessageCard(e){return!!(e.text||e.attachments||e.inlineData||e.executableCode||e.codeExecutionResult||e.a2uiData||e.renderedContent||e.isLoading||e.failedMetric&&e.evalStatus===2)}getBotEventNumber(e){let A=this.messages[e];if(A.role!=="bot"||!A.eventId)return-1;let i=[];for(let n=0;n<=e;n++){let o=this.messages[n];o.role==="bot"&&o.eventId&&!i.includes(o.eventId)&&i.push(o.eventId)}return i.indexOf(A.eventId)+1}getOverallEventNumber(e){let A=0,i=null,n=null;for(let o=0;o<=e;o++){let a=this.messages[o];if(a.role==="user"){if(i!=="user"&&(A++,i="user"),o===e)return A}else if(a.role==="bot"&&a.eventId&&(a.eventId!==n&&(A++,n=a.eventId,i="bot"),o===e))return A}return-1}isFirstUserMessageInGroup(e){return this.messages[e].role!=="user"?!1:e===0?!0:this.messages[e-1].role!=="user"}isFirstMessageInEventGroup(e){let A=this.messages[e];return A.role!=="bot"||!A.eventId?!1:e===0?!0:this.messages[e-1].eventId!==A.eventId}hasStateDelta(e){let A=this.messages[e];if(!A.eventId)return!1;let n=this.eventData.get(A.eventId)?.actions?.stateDelta;return n&&Object.keys(n).length>0}hasArtifactDelta(e){let A=this.messages[e];if(!A.eventId)return!1;let n=this.eventData.get(A.eventId)?.actions?.artifactDelta;return n&&Object.keys(n).length>0}renderGooglerSearch(e){return this.sanitizer.bypassSecurityTrustHtml(e)}restoreScrollPosition(){if(!this.scrollHeight){this.scrollInterrupted=!1,this.scrollToBottom();return}let e=this.scrollContainer?.nativeElement;e&&(e.scrollTop=e.scrollHeight-this.scrollHeight,this.scrollHeight=0)}isComputerUseClick(e){return R7(e)}isComputerUseResponse(e){return qh(e)}getFunctionCallArgsTooltip(e){if(!e.functionCall||!e.functionCall.args)return"";try{return JSON.stringify(e.functionCall.args)}catch{return String(e.functionCall.args)}}getFunctionResponseTooltip(e){if(!e.functionResponse||!e.functionResponse.response)return"";try{return JSON.stringify(e.functionResponse.response)}catch{return String(e.functionResponse.response)}}getStateDeltaTooltip(e){let A=this.messages[e];if(!A.eventId)return"";let n=this.eventData.get(A.eventId)?.actions?.stateDelta;if(!n)return"";try{return JSON.stringify(n)}catch{return String(n)}}getArtifactDeltaTooltip(e){let A=this.messages[e];if(!A.eventId)return"";let n=this.eventData.get(A.eventId)?.actions?.artifactDelta;if(!n)return"";try{return JSON.stringify(n)}catch{return String(n)}}handleRowClick(e,A,i){let n=window.getSelection();n&&n.toString().length>0||this.clickEvent.emit(i)}handleKeyboardNavigation(e){if(!this.selectedEvent||e.key!=="ArrowUp"&&e.key!=="ArrowDown")return;e.preventDefault();let A=new Map;for(let a=0;athis.messages[a].eventId===this.selectedEvent.id);if(n===-1)return;let o;e.key==="ArrowDown"?o=n+1>=i.length?0:n+1:o=n-1<0?i.length-1:n-1,this.clickEvent.emit(i[o]),setTimeout(()=>{if(!this.scrollContainer?.nativeElement)return;let a=this.scrollContainer.nativeElement.querySelectorAll(".message-column-container");a&&a[i[o]]&&a[i[o]].scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},0)}static \u0275fac=function(A){return new(A||t)(at($s))};static \u0275cmp=kA({type:t,selectors:[["app-chat-panel"]],viewQuery:function(A,i){if(A&1&&ai(UYA,5,ge)(JYA,5)(YYA,5),A&2){let n;ce(n=Ce())&&(i.videoContainer=n.first),ce(n=Ce())&&(i.scrollContainer=n.first),ce(n=Ce())&&(i.textarea=n.first)}},hostBindings:function(A,i){A&1&&tA("keydown",function(o){return i.handleKeyboardNavigation(o)},m2)},inputs:{appName:"appName",sessionName:[1,"sessionName"],messages:"messages",isChatMode:"isChatMode",evalCase:"evalCase",isEvalEditMode:"isEvalEditMode",isEvalCaseEditing:"isEvalCaseEditing",isEditFunctionArgsEnabled:"isEditFunctionArgsEnabled",userInput:"userInput",userEditEvalCaseMessage:"userEditEvalCaseMessage",selectedFiles:"selectedFiles",updatedSessionState:"updatedSessionState",eventData:"eventData",selectedEvent:"selectedEvent",isAudioRecording:"isAudioRecording",isVideoRecording:"isVideoRecording",hoveredEventMessageIndices:"hoveredEventMessageIndices"},outputs:{userInputChange:"userInputChange",userEditEvalCaseMessageChange:"userEditEvalCaseMessageChange",clickEvent:"clickEvent",handleKeydown:"handleKeydown",cancelEditMessage:"cancelEditMessage",saveEditMessage:"saveEditMessage",openViewImageDialog:"openViewImageDialog",openBase64InNewTab:"openBase64InNewTab",editEvalCaseMessage:"editEvalCaseMessage",deleteEvalCaseMessage:"deleteEvalCaseMessage",editFunctionArgs:"editFunctionArgs",fileSelect:"fileSelect",removeFile:"removeFile",removeStateUpdate:"removeStateUpdate",sendMessage:"sendMessage",updateState:"updateState",toggleAudioRecording:"toggleAudioRecording",toggleVideoRecording:"toggleVideoRecording"},features:[ti],decls:5,vars:5,consts:[["autoScroll",""],["videoContainer",""],["messageTextarea",""],["fileInput",""],["moreMenu","matMenu"],[1,"chat-messages"],[1,"loading-spinner-container"],[1,"chat-messages",3,"scroll"],[1,"messages-loading-container"],[1,"message-column-container",3,"ngClass"],["mode","indeterminate"],[1,"message-column-container",3,"click","ngClass"],[1,"event-number-container","user-event-number"],[3,"ngClass"],[1,"event-number-container"],["mat-mini-fab","",3,"disabled","matTooltip","class","ngClass"],[1,"message-card",3,"ngClass"],["mat-stroked-button","",1,"function-event-button","state-delta-button",3,"ngClass","appJsonTooltip"],["mat-stroked-button","",1,"function-event-button","artifact-delta-button",3,"ngClass","appJsonTooltip"],[1,"material-symbols-outlined"],["mat-mini-fab",""],[3,"sessionName","eventId"],[1,"event-number-label"],[1,"event-number-placeholder"],["mat-mini-fab","",3,"disabled","matTooltip","ngClass"],["fontSet","material-symbols-outlined"],["mode","buffer",1,"loading-bar"],[1,"attachments"],[1,"thought-chip"],[3,"beginRendering","surfaceUpdate","dataModelUpdate"],[1,"eval-compare-container"],[1,"attachment"],["alt","attachment",1,"image-preview-chat",3,"src"],["download","",3,"href"],[1,"edit-message-container"],[3,"ngComponentOutlet","ngComponentOutletInputs"],["rows","4","cols","80",1,"message-textarea",3,"ngModelChange","keydown","ngModel"],[1,"edit-message-buttons-container"],[1,"material-symbols-outlined","cancel-edit-button",3,"click","matTooltip"],[1,"material-symbols-outlined","save-edit-button",3,"click","matTooltip"],[3,"innerHTML"],[1,"generated-image-container"],["alt","image",1,"generated-image",3,"click","src"],[3,"base64data"],[1,"html-artifact-container"],[1,"link-style-button",3,"click"],["alt","image",1,"image-preview-chat",3,"click","src"],[1,"actual-expected-compare-container"],[1,"score-threshold-container"],[1,"actual-result"],[1,"eval-response-header","header-actual"],[3,"json"],[1,"expected-result"],[1,"eval-response-header","header-expected"],[1,"header-actual"],[1,"header-expected"],[3,"functionCall","allMessages","index"],["mat-stroked-button","",1,"function-event-button",3,"ngClass","appJsonTooltip"],[3,"clickEvent","functionCall","allMessages","index"],[3,"functionResponse","allMessages","index"],[3,"clickEvent","functionResponse","allMessages","index"],[1,"material-symbols-outlined","eval-case-edit-button",3,"click","ngClass","matTooltip"],[1,"chat-input"],["type","file","multiple","","hidden","",3,"change"],["appearance","outline",1,"input-field"],[1,"file-preview"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","10",1,"chat-input-box",3,"ngModelChange","keydown.enter","ngModel","placeholder"],[1,"chat-input-actions"],["mat-icon-button","",1,"function-event-button",3,"click","matTooltip","disabled"],["mat-icon-button","",1,"function-event-button",3,"matMenuTriggerFor","matTooltip","disabled"],["mat-menu-item","",3,"click","matTooltip"],["mat-icon-button","","matSuffix","",1,"audio-rec-btn",3,"click","matTooltip","disabled"],["mat-icon-button","","matSuffix","",1,"video-rec-btn",3,"click","matTooltip","disabled"],[1,"file-container"],[1,"image-container"],["alt","preview",1,"image-preview",3,"src"],["mat-icon-button","",1,"delete-button",3,"click"],["color","warn"],[1,"file-info"],["mode","indeterminate","diameter","50"]],template:function(A,i){if(A&1&&(Ur(0),ri(1,"async"),V(2,jTA,9,5,"div",5),V(3,AHA,1,1),V(4,eHA,2,0,"div",6)),A&2){let n=Ci(1,3,i.uiStateService.isSessionLoading());p(2),W(i.appName!=""&&!n?2:-1),p(),W(i.appName!=""&&i.isChatMode&&!n?3:-1),p(),W(n?4:-1)}},dependencies:[ma,gs,D2,Nn,uo,fo,Sa,Il,Fn,jH,aE,HsA,v7,Ns,fn,Tp,Wa,gl,wa,No,x9,Op,KB,Yr,daA,AC,C2,_h,OsA,B1,E0,Y2,k7,vE,x7,U2,xa,M7,N7,ls],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.generated-image-container[_ngcontent-%COMP%]{max-width:400px}.generated-image[_ngcontent-%COMP%]{max-width:100%;min-width:40px;border-radius:8px}.html-artifact-container[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:flex-start;align-items:center}.loading-bar[_ngcontent-%COMP%]{width:100px;margin:15px}.chat-messages[_ngcontent-%COMP%]{flex-grow:1;overflow-y:auto;padding:20px;margin-top:16px}.message-card[_ngcontent-%COMP%]{padding:5px 20px;margin:5px;border-radius:20px;max-width:80%;font-size:14px;font-weight:400;position:relative;display:inline-block}.message-card.message-card--highlighted[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-highlight-background-color)}.function-event-button[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-background-color);margin:5px 5px 10px;font-size:13px!important;padding:6px 12px!important;min-height:32px!important;height:32px!important}.function-event-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px!important;width:18px!important;height:18px!important}.state-delta-button[_ngcontent-%COMP%], .artifact-delta-button[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-background-color)!important}.function-event-button-highlight[_ngcontent-%COMP%]{background-color:var(--chat-panel-function-event-button-highlight-background-color);border-color:var(--chat-panel-function-event-button-highlight-border-color)!important;color:var(--chat-panel-function-event-button-highlight-color)!important}.message-column-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin-left:-20px;margin-right:-20px;padding:8px 20px;border:2px solid transparent;border-radius:4px;background-color:transparent;transition:background-color .2s ease;cursor:pointer}.message-column-container[_ngcontent-%COMP%]:hover{background-color:#4285f414}.message-column-container.selected[_ngcontent-%COMP%]{background-color:#4285f433!important;border:2px solid rgba(66,133,244,.6);border-radius:4px}.user-message[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;flex-grow:1}.user-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-panel-user-message-message-card-background-color);align-self:flex-end;color:var(--chat-panel-user-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;flex-grow:1}.bot-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-panel-bot-message-message-card-background-color);align-self:flex-start;color:var(--chat-panel-bot-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]:focus-within .message-card[_ngcontent-%COMP%]{background-color:var(--chat-panel-bot-message-focus-within-message-card-background-color);border:1px solid var(--chat-panel-bot-message-focus-within-message-card-border-color)}.message-textarea[_ngcontent-%COMP%]{background-color:var(--chat-panel-message-textarea-background-color);max-width:100%;border:none;font-family:Google Sans,Helvetica Neue,sans-serif}.message-textarea[_ngcontent-%COMP%]:focus{background-color:var(--chat-panel-message-textarea-focus-background-color);outline:none}.edit-message-buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%]{visibility:hidden;position:absolute;left:10px;z-index:10;background-color:var(--chat-panel-eval-compare-container-background-color);overflow:hidden;border-radius:20px;padding:5px 20px;margin-bottom:10px;font-size:16px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .actual-result[_ngcontent-%COMP%]{border-right:2px solid var(--chat-panel-actual-result-border-right-color);padding-right:8px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .expected-result[_ngcontent-%COMP%]{padding-left:12px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%]:hover .eval-compare-container[_ngcontent-%COMP%]{visibility:visible}.actual-expected-compare-container[_ngcontent-%COMP%]{display:flex}.score-threshold-container[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:10px;align-items:center;margin-top:15px;font-size:14px;font-weight:600}.eval-response-header[_ngcontent-%COMP%]{padding-bottom:5px;border-bottom:2px solid var(--chat-panel-eval-response-header-border-bottom-color);font-style:italic;font-weight:700}.header-expected[_ngcontent-%COMP%]{color:var(--chat-panel-header-expected-color)}.header-actual[_ngcontent-%COMP%]{color:var(--chat-panel-header-actual-color)}.eval-case-edit-button[_ngcontent-%COMP%]{cursor:pointer;margin-left:4px;margin-right:4px}.eval-pass[_ngcontent-%COMP%]{display:flex;color:var(--chat-panel-eval-pass-color)}.eval-fail[_ngcontent-%COMP%]{display:flex;color:var(--chat-panel-eval-fail-color)}.hidden[_ngcontent-%COMP%]{visibility:hidden}.chat-input[_ngcontent-%COMP%]{display:flex;padding:10px;width:60%;margin:0 auto;position:relative;z-index:1}.input-field[_ngcontent-%COMP%]{flex-grow:1;position:relative;z-index:1}.input-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{color:var(--chat-panel-input-field-textarea-color);border:none;padding:10px;box-sizing:content-box;caret-color:var(--chat-panel-input-field-textarea-caret-color)}.input-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:var(--chat-panel-input-field-textarea-placeholder-color)}.input-field[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:var(--chat-panel-input-field-button-color);background-color:var(--chat-panel-input-field-button-background-color)}.chat-input-actions[_ngcontent-%COMP%]{width:106%;margin-top:10px;display:flex;justify-content:space-between;align-items:center;max-width:100%}.chat-input-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:10px;margin-right:10px}.file-preview[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;margin-bottom:8px}.image-preview-chat[_ngcontent-%COMP%]{max-width:90%;max-height:70vh;width:auto;height:auto;border-radius:8px;cursor:pointer;transition:transform .2s ease-in-out}.attachment[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .mat-mdc-mini-fab{background-color:var(--chat-panel-mat-mdc-mini-fab-background-color, #4285f4)}[_nghost-%COMP%] .mat-mdc-mini-fab mat-icon{color:var(--chat-panel-mat-mdc-mini-fab-mat-icon-color, white)}[_nghost-%COMP%] .mat-mdc-mini-fab.mat-mdc-button-disabled{background-color:#fff3!important}[_nghost-%COMP%] .mat-mdc-mini-fab.mat-mdc-button-disabled mat-icon{color:#fff9!important}[_nghost-%COMP%] .message-text p{white-space:pre-line;word-break:break-word;overflow-wrap:break-word}[_nghost-%COMP%] .input-field .mat-mdc-text-field-wrapper{border:1px solid var(--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color);border-radius:16px}.image-container[_ngcontent-%COMP%]{position:relative;display:inline-block;border-radius:12px;overflow:hidden}.image-preview[_ngcontent-%COMP%]{display:block;width:100%;height:auto;border-radius:12px;width:80px;height:80px}.delete-button[_ngcontent-%COMP%]{position:absolute;top:1px;right:1px;background-color:var(--chat-panel-delete-button-background-color);border:none;border-radius:50%;padding:8px;cursor:pointer;color:var(--chat-panel-delete-button-color);display:flex;align-items:center;justify-content:center;margin-right:0;scale:.7}.delete-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px}.file-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:8px;height:80px;background-color:var(--chat-panel-file-container-background-color);border-radius:12px}.file-info[_ngcontent-%COMP%]{margin-right:60px;padding-top:20px;padding-left:16px}.thought-chip[_ngcontent-%COMP%]{border-radius:5px;background-color:var(--chat-panel-thought-chip-background-color);width:80px;text-align:center;margin-top:5px}.event-number-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-self:center;min-width:30px}.bot-message[_ngcontent-%COMP%] .event-number-container[_ngcontent-%COMP%]{margin-right:8px}.user-event-number[_ngcontent-%COMP%]{margin-right:8px;align-self:center}.event-number-label[_ngcontent-%COMP%], .event-number-placeholder[_ngcontent-%COMP%]{font-size:14px;font-weight:600;text-align:center;display:inline-block}.event-number-label[_ngcontent-%COMP%]{color:var(--chat-panel-event-number-label-color, #5f6368)}.event-number-placeholder[_ngcontent-%COMP%]{visibility:hidden}[_nghost-%COMP%] pre{white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-width:100%}.link-style-button[_ngcontent-%COMP%]{background:none;border:none;padding:0;font:inherit;color:var(--chat-panel-link-style-button-color)!important;text-decoration:underline;cursor:pointer;outline:none;font-size:14px}.cancel-edit-button[_ngcontent-%COMP%]{width:24px;height:24px;color:var(--chat-mat-mdc-text-field-wrapper-border-color);cursor:pointer;margin-right:16px}.save-edit-button[_ngcontent-%COMP%]{width:24px;height:24px;color:var(--mat-sys-primary);cursor:pointer;margin-right:16px}.chat-input-box[_ngcontent-%COMP%]{caret-color:#fff}button.audio-rec-btn[_ngcontent-%COMP%], button.video-rec-btn[_ngcontent-%COMP%]{background-color:var(--chat-card-background-color)}button.audio-rec-btn.recording[_ngcontent-%COMP%], button.video-rec-btn.recording[_ngcontent-%COMP%]{background-color:var(--chat-panel-eval-fail-color)}.loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}.messages-loading-container[_ngcontent-%COMP%]{margin-top:1em;margin-bottom:1em}"]})};var tHA={cancelButton:"Cancel",saveButton:"Save",invalidJsonAlert:"Invalid JSON: "},VsA=new yA("Edit Json Dialog Messages",{factory:()=>tHA});var Jm=class t{constructor(e,A){this.dialogRef=e;this.data=A;this.jsonString=JSON.stringify(A.jsonContent,null,2),this.functionName=A.functionName||""}jsonEditorComponent=ca(qc);jsonString="";functionName="";i18n=h(VsA);ngOnInit(){}onSave(){try{this.jsonString=this.jsonEditorComponent().getJsonString();let e=JSON.parse(this.jsonString);this.dialogRef.close(e)}catch(e){alert(this.i18n.invalidJsonAlert+e)}}onCancel(){this.dialogRef.close(null)}static \u0275fac=function(A){return new(A||t)(at(bo),at(Ca))};static \u0275cmp=kA({type:t,selectors:[["app-edit-json-dialog"]],viewQuery:function(A,i){A&1&&rs(i.jsonEditorComponent,qc,5),A&2&&Dr()},decls:11,vars:5,consts:[[1,"dialog-container"],["mat-dialog-title",""],[1,"editor"],[3,"jsonString"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"h2",1),K(2),w(),m(3,"mat-dialog-content",2),K(4),GA(5,"app-json-editor",3),w(),m(6,"mat-dialog-actions",4)(7,"button",5),K(8),w(),m(9,"button",6),tA("click",function(){return i.onSave()}),K(10),w()()()),A&2&&(p(2),qA(i.data.dialogHeader),p(2),Se(" ",i.functionName," "),p(),$("jsonString",i.jsonString),p(3),qA(i.i18n.cancelButton),p(2),qA(i.i18n.saveButton))},dependencies:[Da,rr,qc,Ua,fn,B0],styles:[".dialog-container[_ngcontent-%COMP%]{border-radius:12px;padding:18px;width:500px;box-shadow:0 8px 16px var(--edit-json-dialog-container-box-shadow-color)}.editor[_ngcontent-%COMP%]{padding-top:12px;height:300px}"]})};var iHA=[[["caption"]],[["colgroup"],["col"]],"*"],nHA=["caption","colgroup, col","*"];function oHA(t,e){t&1&&Ke(0,2)}function aHA(t,e){t&1&&(m(0,"thead",0),on(1,1),w(),m(2,"tbody",0),on(3,2)(4,3),w(),m(5,"tfoot",0),on(6,4),w())}function rHA(t,e){t&1&&on(0,1)(1,2)(2,3)(3,4)}var Xc=new yA("CDK_TABLE");var G7=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkCellDef",""]]})}return t})(),K7=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkHeaderCellDef",""]]})}return t})(),XsA=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkFooterCellDef",""]]})}return t})(),Wh=(()=>{class t{_table=h(Xc,{optional:!0});_hasStickyChanged=!1;get name(){return this._name}set name(A){this._setNameInput(A)}_name;get sticky(){return this._sticky}set sticky(A){A!==this._sticky&&(this._sticky=A,this._hasStickyChanged=!0)}_sticky=!1;get stickyEnd(){return this._stickyEnd}set stickyEnd(A){A!==this._stickyEnd&&(this._stickyEnd=A,this._hasStickyChanged=!0)}_stickyEnd=!1;cell;headerCell;footerCell;cssClassFriendlyName;_columnCssClassName;constructor(){}hasStickyChanged(){let A=this._hasStickyChanged;return this.resetStickyChanged(),A}resetStickyChanged(){this._hasStickyChanged=!1}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(A){A&&(this._name=A,this.cssClassFriendlyName=A.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkColumnDef",""]],contentQueries:function(i,n,o){if(i&1&&fa(o,G7,5)(o,K7,5)(o,XsA,5),i&2){let a;ce(a=Ce())&&(n.cell=a.first),ce(a=Ce())&&(n.headerCell=a.first),ce(a=Ce())&&(n.footerCell=a.first)}},inputs:{name:[0,"cdkColumnDef","name"],sticky:[2,"sticky","sticky",he],stickyEnd:[2,"stickyEnd","stickyEnd",he]},features:[dt([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}])]})}return t})(),L7=class{constructor(e,A){A.nativeElement.classList.add(...e._columnCssClassName)}},$sA=(()=>{class t extends L7{constructor(){super(h(Wh),h(ge))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[It]})}return t})();var AgA=(()=>{class t extends L7{constructor(){let A=h(Wh),i=h(ge);super(A,i);let n=A._table?._getCellRole();n&&i.nativeElement.setAttribute("role",n)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[It]})}return t})();var BK=(()=>{class t{template=h(Tn);_differs=h(y1);columns;_columnsDiffer;constructor(){}ngOnChanges(A){if(!this._columnsDiffer){let i=A.columns&&A.columns.currentValue||[];this._columnsDiffer=this._differs.find(i).create(),this._columnsDiffer.diff(i)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(A){return this instanceof Tm?A.headerCell.template:this instanceof EK?A.footerCell.template:A.cell.template}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,features:[ti]})}return t})(),Tm=(()=>{class t extends BK{_table=h(Xc,{optional:!0});_hasStickyChanged=!1;get sticky(){return this._sticky}set sticky(A){A!==this._sticky&&(this._sticky=A,this._hasStickyChanged=!0)}_sticky=!1;constructor(){super(h(Tn),h(y1))}ngOnChanges(A){super.ngOnChanges(A)}hasStickyChanged(){let A=this._hasStickyChanged;return this.resetStickyChanged(),A}resetStickyChanged(){this._hasStickyChanged=!1}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:[0,"cdkHeaderRowDef","columns"],sticky:[2,"cdkHeaderRowDefSticky","sticky",he]},features:[It,ti]})}return t})(),EK=(()=>{class t extends BK{_table=h(Xc,{optional:!0});_hasStickyChanged=!1;get sticky(){return this._sticky}set sticky(A){A!==this._sticky&&(this._sticky=A,this._hasStickyChanged=!0)}_sticky=!1;constructor(){super(h(Tn),h(y1))}ngOnChanges(A){super.ngOnChanges(A)}hasStickyChanged(){let A=this._hasStickyChanged;return this.resetStickyChanged(),A}resetStickyChanged(){this._hasStickyChanged=!1}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:[0,"cdkFooterRowDef","columns"],sticky:[2,"cdkFooterRowDefSticky","sticky",he]},features:[It,ti]})}return t})(),U7=(()=>{class t extends BK{_table=h(Xc,{optional:!0});when;constructor(){super(h(Tn),h(y1))}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkRowDef",""]],inputs:{columns:[0,"cdkRowDefColumns","columns"],when:[0,"cdkRowDefWhen","when"]},features:[It]})}return t})(),EB=(()=>{class t{_viewContainer=h(Oo);cells;context;static mostRecentCellOutlet=null;constructor(){t.mostRecentCellOutlet=this}ngOnDestroy(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","cdkCellOutlet",""]]})}return t})(),QK=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})();var hK=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})(),egA=(()=>{class t{templateRef=h(Tn);_contentClassNames=["cdk-no-data-row","cdk-row"];_cellClassNames=["cdk-cell","cdk-no-data-cell"];_cellSelector="td, cdk-cell, [cdk-cell], .cdk-cell";constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["ng-template","cdkNoDataRow",""]]})}return t})(),WsA=["top","bottom","left","right"],dK=class{_isNativeHtmlTable;_stickCellCss;_isBrowser;_needsPositionStickyOnElement;direction;_positionListener;_tableInjector;_elemSizeCache=new WeakMap;_resizeObserver=globalThis?.ResizeObserver?new globalThis.ResizeObserver(e=>this._updateCachedSizes(e)):null;_updatedStickyColumnsParamsToReplay=[];_stickyColumnsReplayTimeout=null;_cachedCellWidths=[];_borderCellCss;_destroyed=!1;constructor(e,A,i=!0,n=!0,o,a,r){this._isNativeHtmlTable=e,this._stickCellCss=A,this._isBrowser=i,this._needsPositionStickyOnElement=n,this.direction=o,this._positionListener=a,this._tableInjector=r,this._borderCellCss={top:`${A}-border-elem-top`,bottom:`${A}-border-elem-bottom`,left:`${A}-border-elem-left`,right:`${A}-border-elem-right`}}clearStickyPositioning(e,A){(A.includes("left")||A.includes("right"))&&this._removeFromStickyColumnReplayQueue(e);let i=[];for(let n of e)n.nodeType===n.ELEMENT_NODE&&i.push(n,...Array.from(n.children));Yn({write:()=>{for(let n of i)this._removeStickyStyle(n,A)}},{injector:this._tableInjector})}updateStickyColumns(e,A,i,n=!0,o=!0){if(!e.length||!this._isBrowser||!(A.some(Q=>Q)||i.some(Q=>Q))){this._positionListener?.stickyColumnsUpdated({sizes:[]}),this._positionListener?.stickyEndColumnsUpdated({sizes:[]});return}let a=e[0],r=a.children.length,s=this.direction==="rtl",g=s?"right":"left",l=s?"left":"right",C=A.lastIndexOf(!0),I=i.indexOf(!0),d,B,E;o&&this._updateStickyColumnReplayQueue({rows:[...e],stickyStartStates:[...A],stickyEndStates:[...i]}),Yn({earlyRead:()=>{d=this._getCellWidths(a,n),B=this._getStickyStartColumnPositions(d,A),E=this._getStickyEndColumnPositions(d,i)},write:()=>{for(let Q of e)for(let f=0;f!!Q)&&(this._positionListener.stickyColumnsUpdated({sizes:C===-1?[]:d.slice(0,C+1).map((Q,f)=>A[f]?Q:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:I===-1?[]:d.slice(I).map((Q,f)=>i[f+I]?Q:null).reverse()}))}},{injector:this._tableInjector})}stickRows(e,A,i){if(!this._isBrowser)return;let n=i==="bottom"?e.slice().reverse():e,o=i==="bottom"?A.slice().reverse():A,a=[],r=[],s=[];Yn({earlyRead:()=>{for(let g=0,l=0;g{let g=o.lastIndexOf(!0);for(let l=0;l{let i=e.querySelector("tfoot");i&&(A.some(n=>!n)?this._removeStickyStyle(i,["bottom"]):this._addStickyStyle(i,"bottom",0,!1))}},{injector:this._tableInjector})}destroy(){this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._resizeObserver?.disconnect(),this._destroyed=!0}_removeStickyStyle(e,A){if(!e.classList.contains(this._stickCellCss))return;for(let n of A)e.style[n]="",e.classList.remove(this._borderCellCss[n]);WsA.some(n=>A.indexOf(n)===-1&&e.style[n])?e.style.zIndex=this._getCalculatedZIndex(e):(e.style.zIndex="",this._needsPositionStickyOnElement&&(e.style.position=""),e.classList.remove(this._stickCellCss))}_addStickyStyle(e,A,i,n){e.classList.add(this._stickCellCss),n&&e.classList.add(this._borderCellCss[A]),e.style[A]=`${i}px`,e.style.zIndex=this._getCalculatedZIndex(e),this._needsPositionStickyOnElement&&(e.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(e){let A={top:100,bottom:10,left:1,right:1},i=0;for(let n of WsA)e.style[n]&&(i+=A[n]);return i?`${i}`:""}_getCellWidths(e,A=!0){if(!A&&this._cachedCellWidths.length)return this._cachedCellWidths;let i=[],n=e.children;for(let o=0;o0;o--)A[o]&&(i[o]=n,n+=e[o]);return i}_retrieveElementSize(e){let A=this._elemSizeCache.get(e);if(A)return A;let i=e.getBoundingClientRect(),n={width:i.width,height:i.height};return this._resizeObserver&&(this._elemSizeCache.set(e,n),this._resizeObserver.observe(e,{box:"border-box"})),n}_updateStickyColumnReplayQueue(e){this._removeFromStickyColumnReplayQueue(e.rows),this._stickyColumnsReplayTimeout||this._updatedStickyColumnsParamsToReplay.push(e)}_removeFromStickyColumnReplayQueue(e){let A=new Set(e);for(let i of this._updatedStickyColumnsParamsToReplay)i.rows=i.rows.filter(n=>!A.has(n));this._updatedStickyColumnsParamsToReplay=this._updatedStickyColumnsParamsToReplay.filter(i=>!!i.rows.length)}_updateCachedSizes(e){let A=!1;for(let i of e){let n=i.borderBoxSize?.length?{width:i.borderBoxSize[0].inlineSize,height:i.borderBoxSize[0].blockSize}:{width:i.contentRect.width,height:i.contentRect.height};n.width!==this._elemSizeCache.get(i.target)?.width&&sHA(i.target)&&(A=!0),this._elemSizeCache.set(i.target,n)}A&&this._updatedStickyColumnsParamsToReplay.length&&(this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._stickyColumnsReplayTimeout=setTimeout(()=>{if(!this._destroyed){for(let i of this._updatedStickyColumnsParamsToReplay)this.updateStickyColumns(i.rows,i.stickyStartStates,i.stickyEndStates,!0,!1);this._updatedStickyColumnsParamsToReplay=[],this._stickyColumnsReplayTimeout=null}},0))}};function sHA(t){return["cdk-cell","cdk-header-cell","cdk-footer-cell"].some(e=>t.classList.contains(e))}var Ym=new yA("STICKY_POSITIONING_LISTENER");var uK=(()=>{class t{viewContainer=h(Oo);elementRef=h(ge);constructor(){let A=h(Xc);A._rowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","rowOutlet",""]]})}return t})(),fK=(()=>{class t{viewContainer=h(Oo);elementRef=h(ge);constructor(){let A=h(Xc);A._headerRowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","headerRowOutlet",""]]})}return t})(),mK=(()=>{class t{viewContainer=h(Oo);elementRef=h(ge);constructor(){let A=h(Xc);A._footerRowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","footerRowOutlet",""]]})}return t})(),pK=(()=>{class t{viewContainer=h(Oo);elementRef=h(ge);constructor(){let A=h(Xc);A._noDataRowOutlet=this,A._outletAssigned()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","noDataRowOutlet",""]]})}return t})(),wK=(()=>{class t{_differs=h(y1);_changeDetectorRef=h(Dt);_elementRef=h(ge);_dir=h(Ro,{optional:!0});_platform=h(Ii);_viewRepeater;_viewportRuler=h(Ls);_injector=h(ft);_virtualScrollViewport=h(qH,{optional:!0,host:!0});_positionListener=h(Ym,{optional:!0})||h(Ym,{optional:!0,skipSelf:!0});_document=h(Xt);_data;_renderedRange;_onDestroy=new XA;_renderRows;_renderChangeSubscription=null;_columnDefsByName=new Map;_rowDefs;_headerRowDefs;_footerRowDefs;_dataDiffer;_defaultRowDef=null;_customColumnDefs=new Set;_customRowDefs=new Set;_customHeaderRowDefs=new Set;_customFooterRowDefs=new Set;_customNoDataRow=null;_headerRowDefChanged=!0;_footerRowDefChanged=!0;_stickyColumnStylesNeedReset=!0;_forceRecalculateCellWidths=!0;_cachedRenderRowsMap=new Map;_isNativeHtmlTable;_stickyStyler;stickyCssClass="cdk-table-sticky";needsPositionStickyOnElement=!0;_isServer;_isShowingNoDataRow=!1;_hasAllOutlets=!1;_hasInitialized=!1;_headerRowStickyUpdates=new XA;_footerRowStickyUpdates=new XA;_disableVirtualScrolling=!1;_getCellRole(){if(this._cellRoleInternal===void 0){let A=this._elementRef.nativeElement.getAttribute("role");return A==="grid"||A==="treegrid"?"gridcell":"cell"}return this._cellRoleInternal}_cellRoleInternal=void 0;get trackBy(){return this._trackByFn}set trackBy(A){this._trackByFn=A}_trackByFn;get dataSource(){return this._dataSource}set dataSource(A){this._dataSource!==A&&(this._switchDataSource(A),this._changeDetectorRef.markForCheck())}_dataSource;_dataSourceChanges=new XA;_dataStream=new XA;get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(A){this._multiTemplateDataRows=A,this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}_multiTemplateDataRows=!1;get fixedLayout(){return this._virtualScrollEnabled()?!0:this._fixedLayout}set fixedLayout(A){this._fixedLayout=A,this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}_fixedLayout=!1;recycleRows=!1;contentChanged=new $A;viewChange=new Ht({start:0,end:Number.MAX_VALUE});_rowOutlet;_headerRowOutlet;_footerRowOutlet;_noDataRowOutlet;_contentColumnDefs;_contentRowDefs;_contentHeaderRowDefs;_contentFooterRowDefs;_noDataRow;constructor(){h(new Ws("role"),{optional:!0})||this._elementRef.nativeElement.setAttribute("role","table"),this._isServer=!this._platform.isBrowser,this._isNativeHtmlTable=this._elementRef.nativeElement.nodeName==="TABLE",this._dataDiffer=this._differs.find([]).create((i,n)=>this.trackBy?this.trackBy(n.dataIndex,n.data):n)}ngOnInit(){this._setupStickyStyler(),this._viewportRuler.change().pipe(Bt(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentInit(){this._viewRepeater=this.recycleRows||this._virtualScrollEnabled()?new q6:new I8,this._virtualScrollEnabled()&&this._setupVirtualScrolling(this._virtualScrollViewport),this._hasInitialized=!0}ngAfterContentChecked(){this._canRender()&&this._render()}ngOnDestroy(){this._stickyStyler?.destroy(),[this._rowOutlet?.viewContainer,this._headerRowOutlet?.viewContainer,this._footerRowOutlet?.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(A=>{A?.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._headerRowStickyUpdates.complete(),this._footerRowStickyUpdates.complete(),this._onDestroy.next(),this._onDestroy.complete(),Q4(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();let A=this._dataDiffer.diff(this._renderRows);if(!A){this._updateNoDataRow(),this.contentChanged.next();return}let i=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(A,i,(n,o,a)=>this._getEmbeddedViewArgs(n.item,a),n=>n.item.data,n=>{n.operation===rc.INSERTED&&n.context&&this._renderCellTemplateForItem(n.record.item.rowDef,n.context)}),this._updateRowIndexContext(),A.forEachIdentityChange(n=>{let o=i.get(n.currentIndex);o.context.$implicit=n.item.data}),this._updateNoDataRow(),this.contentChanged.next(),this.updateStickyColumnStyles()}addColumnDef(A){this._customColumnDefs.add(A)}removeColumnDef(A){this._customColumnDefs.delete(A)}addRowDef(A){this._customRowDefs.add(A)}removeRowDef(A){this._customRowDefs.delete(A)}addHeaderRowDef(A){this._customHeaderRowDefs.add(A),this._headerRowDefChanged=!0}removeHeaderRowDef(A){this._customHeaderRowDefs.delete(A),this._headerRowDefChanged=!0}addFooterRowDef(A){this._customFooterRowDefs.add(A),this._footerRowDefChanged=!0}removeFooterRowDef(A){this._customFooterRowDefs.delete(A),this._footerRowDefChanged=!0}setNoDataRow(A){this._customNoDataRow=A}updateStickyHeaderRowStyles(){let A=this._getRenderedRows(this._headerRowOutlet);if(this._isNativeHtmlTable){let n=ZsA(this._headerRowOutlet,"thead");n&&(n.style.display=A.length?"":"none")}let i=this._headerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(A,["top"]),this._stickyStyler.stickRows(A,i,"top"),this._headerRowDefs.forEach(n=>n.resetStickyChanged())}updateStickyFooterRowStyles(){let A=this._getRenderedRows(this._footerRowOutlet);if(this._isNativeHtmlTable){let n=ZsA(this._footerRowOutlet,"tfoot");n&&(n.style.display=A.length?"":"none")}let i=this._footerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(A,["bottom"]),this._stickyStyler.stickRows(A,i,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,i),this._footerRowDefs.forEach(n=>n.resetStickyChanged())}updateStickyColumnStyles(){let A=this._getRenderedRows(this._headerRowOutlet),i=this._getRenderedRows(this._rowOutlet),n=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this.fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...A,...i,...n],["left","right"]),this._stickyColumnStylesNeedReset=!1),A.forEach((o,a)=>{this._addStickyColumnStyles([o],this._headerRowDefs[a])}),this._rowDefs.forEach(o=>{let a=[];for(let r=0;r{this._addStickyColumnStyles([o],this._footerRowDefs[a])}),Array.from(this._columnDefsByName.values()).forEach(o=>o.resetStickyChanged())}stickyColumnsUpdated(A){this._positionListener?.stickyColumnsUpdated(A)}stickyEndColumnsUpdated(A){this._positionListener?.stickyEndColumnsUpdated(A)}stickyHeaderRowsUpdated(A){this._headerRowStickyUpdates.next(A),this._positionListener?.stickyHeaderRowsUpdated(A)}stickyFooterRowsUpdated(A){this._footerRowStickyUpdates.next(A),this._positionListener?.stickyFooterRowsUpdated(A)}_outletAssigned(){!this._hasAllOutlets&&this._rowOutlet&&this._headerRowOutlet&&this._footerRowOutlet&&this._noDataRowOutlet&&(this._hasAllOutlets=!0,this._canRender()&&this._render())}_canRender(){return this._hasAllOutlets&&this._hasInitialized}_render(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;let i=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||i,this._forceRecalculateCellWidths=i,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}_getAllRenderRows(){if(!Array.isArray(this._data)||!this._renderedRange)return[];let A=[],i=Math.min(this._data.length,this._renderedRange.end),n=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let o=this._renderedRange.start;o{let r=n&&n.has(a)?n.get(a):[];if(r.length){let s=r.shift();return s.dataIndex=i,s}else return{data:A,rowDef:a,dataIndex:i}})}_cacheColumnDefs(){this._columnDefsByName.clear(),_7(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(i=>{this._columnDefsByName.has(i.name),this._columnDefsByName.set(i.name,i)})}_cacheRowDefs(){this._headerRowDefs=_7(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=_7(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=_7(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);let A=this._rowDefs.filter(i=>!i.when);!this.multiTemplateDataRows&&A.length>1,this._defaultRowDef=A[0]}_renderUpdatedColumns(){let A=(a,r)=>{let s=!!r.getColumnsDiff();return a||s},i=this._rowDefs.reduce(A,!1);i&&this._forceRenderDataRows();let n=this._headerRowDefs.reduce(A,!1);n&&this._forceRenderHeaderRows();let o=this._footerRowDefs.reduce(A,!1);return o&&this._forceRenderFooterRows(),i||n||o}_switchDataSource(A){this._data=[],Q4(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),A||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet&&this._rowOutlet.viewContainer.clear()),this._dataSource=A}_observeRenderChanges(){if(!this.dataSource)return;let A;Q4(this.dataSource)?A=this.dataSource.connect(this):mB(this.dataSource)?A=this.dataSource:Array.isArray(this.dataSource)&&(A=se(this.dataSource)),this._renderChangeSubscription=Ir([A,this.viewChange]).pipe(Bt(this._onDestroy)).subscribe(([i,n])=>{this._data=i||[],this._renderedRange=n,this._dataStream.next(i),this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((A,i)=>this._renderRow(this._headerRowOutlet,A,i)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((A,i)=>this._renderRow(this._footerRowOutlet,A,i)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(A,i){let n=Array.from(i?.columns||[]).map(r=>{let s=this._columnDefsByName.get(r);return s}),o=n.map(r=>r.sticky),a=n.map(r=>r.stickyEnd);this._stickyStyler.updateStickyColumns(A,o,a,!this.fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(A){let i=[];for(let n=0;n!o.when||o.when(i,A));else{let o=this._rowDefs.find(a=>a.when&&a.when(i,A))||this._defaultRowDef;o&&n.push(o)}return n.length,n}_getEmbeddedViewArgs(A,i){let n=A.rowDef,o={$implicit:A.data};return{templateRef:n.template,context:o,index:i}}_renderRow(A,i,n,o={}){let a=A.viewContainer.createEmbeddedView(i.template,o,n);return this._renderCellTemplateForItem(i,o),a}_renderCellTemplateForItem(A,i){for(let n of this._getCellTemplates(A))EB.mostRecentCellOutlet&&EB.mostRecentCellOutlet._viewContainer.createEmbeddedView(n,i);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){let A=this._rowOutlet.viewContainer;for(let i=0,n=A.length;i{let n=this._columnDefsByName.get(i);return A.extractCellTemplate(n)})}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){let A=(i,n)=>i||n.hasStickyChanged();this._headerRowDefs.reduce(A,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(A,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(A,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){let A=this._dir?this._dir.value:"ltr",i=this._injector;this._stickyStyler=new dK(this._isNativeHtmlTable,this.stickyCssClass,this._platform.isBrowser,this.needsPositionStickyOnElement,A,this,i),(this._dir?this._dir.change:se()).pipe(Bt(this._onDestroy)).subscribe(n=>{this._stickyStyler.direction=n,this.updateStickyColumnStyles()})}_setupVirtualScrolling(A){let i=typeof requestAnimationFrame<"u"?uB:Ub;this.viewChange.next({start:0,end:0}),A.renderedRangeStream.pipe(m1(0,i),Bt(this._onDestroy)).subscribe(this.viewChange),A.attach({dataStream:this._dataStream,measureRangeSize:(n,o)=>this._measureRangeSize(n,o)}),Ir([A.renderedContentOffset,this._headerRowStickyUpdates]).pipe(Bt(this._onDestroy)).subscribe(([n,o])=>{if(!(!o.sizes||!o.offsets||!o.elements))for(let a=0;a{if(!(!o.sizes||!o.offsets||!o.elements))for(let a=0;a!i._table||i._table===this)}_updateNoDataRow(){let A=this._customNoDataRow||this._noDataRow;if(!A)return;let i=this._rowOutlet.viewContainer.length===0;if(i===this._isShowingNoDataRow)return;let n=this._noDataRowOutlet.viewContainer;if(i){let o=n.createEmbeddedView(A.templateRef),a=o.rootNodes[0];if(o.rootNodes.length===1&&a?.nodeType===this._document.ELEMENT_NODE){a.setAttribute("role","row"),a.classList.add(...A._contentClassNames);let r=a.querySelectorAll(A._cellSelector);for(let s=0;s=A.end||i!=="vertical")return 0;let n=this.viewChange.value,o=this._rowOutlet.viewContainer;A.startn.end;let a=A.start-n.start,r=A.end-A.start,s,g;for(let I=0;I-1;I--){let d=o.get(I+a);if(d&&d.rootNodes.length){g=d.rootNodes[d.rootNodes.length-1];break}}let l=s?.getBoundingClientRect?.(),C=g?.getBoundingClientRect?.();return l&&C?C.bottom-l.top:0}_virtualScrollEnabled(){return!this._disableVirtualScrolling&&this._virtualScrollViewport!=null}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(i,n,o){if(i&1&&fa(o,egA,5)(o,Wh,5)(o,U7,5)(o,Tm,5)(o,EK,5),i&2){let a;ce(a=Ce())&&(n._noDataRow=a.first),ce(a=Ce())&&(n._contentColumnDefs=a),ce(a=Ce())&&(n._contentRowDefs=a),ce(a=Ce())&&(n._contentHeaderRowDefs=a),ce(a=Ce())&&(n._contentFooterRowDefs=a)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(i,n){i&2&&ne("cdk-table-fixed-layout",n.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:[2,"multiTemplateDataRows","multiTemplateDataRows",he],fixedLayout:[2,"fixedLayout","fixedLayout",he],recycleRows:[2,"recycleRows","recycleRows",he]},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[dt([{provide:Xc,useExisting:t},{provide:Ym,useValue:null}])],ngContentSelectors:nHA,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(i,n){i&1&&(Yt(iHA),Ke(0),Ke(1,1),V(2,oHA,1,0),V(3,aHA,7,0)(4,rHA,4,0)),i&2&&(p(2),W(n._isServer?2:-1),p(),W(n._isNativeHtmlTable?3:4))},dependencies:[fK,uK,pK,mK],styles:[`.cdk-table-fixed-layout{table-layout:fixed} -`],encapsulation:2})}return t})();function _7(t,e){return t.concat(Array.from(e))}function ZsA(t,e){let A=e.toUpperCase(),i=t.viewContainer.element.nativeElement;for(;i;){let n=i.nodeType===1?i.nodeName:null;if(n===A)return i;if(n==="TABLE")break;i=i.parentNode}return null}var gHA=[[["caption"]],[["colgroup"],["col"]],"*"],lHA=["caption","colgroup, col","*"];function cHA(t,e){t&1&&Ke(0,2)}function CHA(t,e){t&1&&(m(0,"thead",0),on(1,1),w(),m(2,"tbody",2),on(3,3)(4,4),w(),m(5,"tfoot",0),on(6,5),w())}function IHA(t,e){t&1&&on(0,1)(1,3)(2,4)(3,5)}var tgA=(()=>{class t extends wK{stickyCssClass="mat-mdc-table-sticky";needsPositionStickyOnElement=!1;static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-mdc-table","mdc-data-table__table"],hostVars:2,hostBindings:function(i,n){i&2&&ne("mat-table-fixed-layout",n.fixedLayout)},exportAs:["matTable"],features:[dt([{provide:wK,useExisting:t},{provide:Xc,useExisting:t},{provide:Ym,useValue:null}]),It],ngContentSelectors:lHA,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["role","rowgroup",1,"mdc-data-table__content"],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(i,n){i&1&&(Yt(gHA),Ke(0),Ke(1,1),V(2,cHA,1,0),V(3,CHA,7,0)(4,IHA,4,0)),i&2&&(p(2),W(n._isServer?2:-1),p(),W(n._isNativeHtmlTable?3:4))},dependencies:[fK,uK,pK,mK],styles:[`.mat-mdc-table-sticky{position:sticky !important}mat-table{display:block}mat-header-row{min-height:var(--mat-table-header-container-height, 56px)}mat-row{min-height:var(--mat-table-row-item-container-height, 52px)}mat-footer-row{min-height:var(--mat-table-footer-container-height, 52px)}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}.mat-mdc-table{min-width:100%;border:0;border-spacing:0;table-layout:auto;white-space:normal;background-color:var(--mat-table-background-color, var(--mat-sys-surface))}.mat-table-fixed-layout{table-layout:fixed}.mdc-data-table__cell{box-sizing:border-box;overflow:hidden;text-align:start;text-overflow:ellipsis}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 16px}.mat-mdc-header-row{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:var(--mat-table-header-container-height, 56px);color:var(--mat-table-header-headline-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-table-header-headline-font, var(--mat-sys-title-small-font, Roboto, sans-serif));line-height:var(--mat-table-header-headline-line-height, var(--mat-sys-title-small-line-height));font-size:var(--mat-table-header-headline-size, var(--mat-sys-title-small-size, 14px));font-weight:var(--mat-table-header-headline-weight, var(--mat-sys-title-small-weight, 500))}.mat-mdc-row{height:var(--mat-table-row-item-container-height, 52px);color:var(--mat-table-row-item-label-text-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)))}.mat-mdc-row,.mdc-data-table__content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-table-row-item-label-text-font, var(--mat-sys-body-medium-font, Roboto, sans-serif));line-height:var(--mat-table-row-item-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-table-row-item-label-text-size, var(--mat-sys-body-medium-size, 14px));font-weight:var(--mat-table-row-item-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-footer-row{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:var(--mat-table-footer-container-height, 52px);color:var(--mat-table-row-item-label-text-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-table-footer-supporting-text-font, var(--mat-sys-body-medium-font, Roboto, sans-serif));line-height:var(--mat-table-footer-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-table-footer-supporting-text-size, var(--mat-sys-body-medium-size, 14px));font-weight:var(--mat-table-footer-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mat-table-footer-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mat-mdc-header-cell{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, 0.12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid;letter-spacing:var(--mat-table-header-headline-tracking, var(--mat-sys-title-small-tracking));font-weight:inherit;line-height:inherit;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;outline:none;text-align:start}.mdc-data-table__row:last-child>.mat-mdc-header-cell{border-bottom:none}.mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, 0.12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid;letter-spacing:var(--mat-table-row-item-label-text-tracking, var(--mat-sys-body-medium-tracking));line-height:inherit}.mdc-data-table__row:last-child>.mat-mdc-cell{border-bottom:none}.mat-mdc-footer-cell{letter-spacing:var(--mat-table-row-item-label-text-tracking, var(--mat-sys-body-medium-tracking))}mat-row.mat-mdc-row,mat-header-row.mat-mdc-header-row,mat-footer-row.mat-mdc-footer-row{border-bottom:none}.mat-mdc-table tbody,.mat-mdc-table tfoot,.mat-mdc-table thead,.mat-mdc-cell,.mat-mdc-footer-cell,.mat-mdc-header-row,.mat-mdc-row,.mat-mdc-footer-row,.mat-mdc-table .mat-mdc-header-cell{background:inherit}.mat-mdc-table mat-header-row.mat-mdc-header-row,.mat-mdc-table mat-row.mat-mdc-row,.mat-mdc-table mat-footer-row.mat-mdc-footer-cell{height:unset}mat-header-cell.mat-mdc-header-cell,mat-cell.mat-mdc-cell,mat-footer-cell.mat-mdc-footer-cell{align-self:stretch} -`],encapsulation:2})}return t})(),igA=(()=>{class t extends G7{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matCellDef",""]],features:[dt([{provide:G7,useExisting:t}]),It]})}return t})(),ngA=(()=>{class t extends K7{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matHeaderCellDef",""]],features:[dt([{provide:K7,useExisting:t}]),It]})}return t})();var ogA=(()=>{class t extends Wh{get name(){return this._name}set name(A){this._setNameInput(A)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[dt([{provide:Wh,useExisting:t},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),It]})}return t})(),agA=(()=>{class t extends $sA{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[It]})}return t})();var rgA=(()=>{class t extends AgA{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[It]})}return t})();var sgA=(()=>{class t extends Tm{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",he]},features:[dt([{provide:Tm,useExisting:t}]),It]})}return t})();var ggA=(()=>{class t extends U7{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[dt([{provide:U7,useExisting:t}]),It]})}return t})(),lgA=(()=>{class t extends QK{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[dt([{provide:QK,useExisting:t}]),It],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})();var cgA=(()=>{class t extends hK{static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[dt([{provide:hK,useExisting:t}]),It],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(i,n){i&1&&on(0,0)},dependencies:[EB],encapsulation:2})}return t})();var dHA=9007199254740991,Hm=class extends E4{_data;_renderData=new Ht([]);_filter=new Ht("");_internalPageChanges=new XA;_renderChangesSubscription=null;filteredData;get data(){return this._data.value}set data(e){e=Array.isArray(e)?e:[],this._data.next(e),this._renderChangesSubscription||this._filterData(e)}get filter(){return this._filter.value}set filter(e){this._filter.next(e),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(e){this._sort=e,this._updateChangeSubscription()}_sort;get paginator(){return this._paginator}set paginator(e){this._paginator=e,this._updateChangeSubscription()}_paginator;sortingDataAccessor=(e,A)=>{let i=e[A];if(Mp(i)){let n=Number(i);return n{let i=A.active,n=A.direction;return!i||n==""?e:e.sort((o,a)=>{let r=this.sortingDataAccessor(o,i),s=this.sortingDataAccessor(a,i),g=typeof r,l=typeof s;g!==l&&(g==="number"&&(r+=""),l==="number"&&(s+=""));let C=0;return r!=null&&s!=null?r>s?C=1:r{let i=A.trim().toLowerCase();return Object.values(e).some(n=>`${n}`.toLowerCase().includes(i))};constructor(e=[]){super(),this._data=new Ht(e),this._updateChangeSubscription()}_updateChangeSubscription(){let e=this._sort?fi(this._sort.sortChange,this._sort.initialized):se(null),A=this._paginator?fi(this._paginator.page,this._internalPageChanges,this._paginator.initialized):se(null),i=this._data,n=Ir([i,this._filter]).pipe(fe(([r])=>this._filterData(r))),o=Ir([n,e]).pipe(fe(([r])=>this._orderData(r))),a=Ir([o,A]).pipe(fe(([r])=>this._pageData(r)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=a.subscribe(r=>this._renderData.next(r))}_filterData(e){return this.filteredData=this.filter==null||this.filter===""?e:e.filter(A=>this.filterPredicate(A,this.filter)),this.paginator&&this._updatePaginator(this.filteredData.length),this.filteredData}_orderData(e){return this.sort?this.sortData(e.slice(),this.sort):e}_pageData(e){if(!this.paginator)return e;let A=this.paginator.pageIndex*this.paginator.pageSize;return e.slice(A,A+this.paginator.pageSize)}_updatePaginator(e){Promise.resolve().then(()=>{let A=this.paginator;if(A&&(A.length=e,A.pageIndex>0)){let i=Math.ceil(A.length/A.pageSize)-1||0,n=Math.min(A.pageIndex,i);n!==A.pageIndex&&(A.pageIndex=n,this._internalPageChanges.next())}})}connect(){return this._renderChangesSubscription||this._updateChangeSubscription(),this._renderData}disconnect(){this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=null}};var CgA=[{metricName:"tool_trajectory_avg_score",threshold:1},{metricName:"response_match_score",threshold:.7}];var J7="0123456789abcdef",Y7=class t{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new t(e)}static fromFieldsV7(e,A,i,n){if(!Number.isInteger(e)||!Number.isInteger(A)||!Number.isInteger(i)||!Number.isInteger(n)||e<0||A<0||i<0||n<0||e>0xffffffffffff||A>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=e/2**40,o[1]=e/2**32,o[2]=e/2**24,o[3]=e/2**16,o[4]=e/2**8,o[5]=e,o[6]=112|A>>>8,o[7]=A,o[8]=128|i>>>24,o[9]=i>>>16,o[10]=i>>>8,o[11]=i,o[12]=n>>>24,o[13]=n>>>16,o[14]=n>>>8,o[15]=n,new t(o)}static parse(e){var A,i,n,o;let a;switch(e.length){case 32:a=(A=/^[0-9a-f]{32}$/i.exec(e))===null||A===void 0?void 0:A[0];break;case 36:a=(i=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||i===void 0?void 0:i.slice(1,6).join("");break;case 38:a=(n=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||n===void 0?void 0:n.slice(1,6).join("");break;case 45:a=(o=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||o===void 0?void 0:o.slice(1,6).join("");break;default:break}if(a){let r=new Uint8Array(16);for(let s=0;s<16;s+=4){let g=parseInt(a.substring(2*s,2*s+8),16);r[s+0]=g>>>24,r[s+1]=g>>>16,r[s+2]=g>>>8,r[s+3]=g}return new t(r)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let A=0;A>>4),e+=J7.charAt(this.bytes[A]&15),(A===3||A===5||A===7||A===9)&&(e+="-");return e}toHex(){let e="";for(let A=0;A>>4),e+=J7.charAt(this.bytes[A]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(A=>A===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(A=>A===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new t(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let A=0;A<16;A++){let i=this.bytes[A]-e.bytes[A];if(i!==0)return Math.sign(i)}return 0}},DK=class{constructor(e){this.timestamp_biased=0,this.counter=0,this.random=e??BHA()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,A){let i=this.generateOrAbortCore(e,A);return i===void 0&&(this.timestamp_biased=0,i=this.generateOrAbortCore(e,A)),i}generateOrAbortCore(e,A){if(!Number.isInteger(e)||e<0||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit unsigned integer");if(A<0||A>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e++,e>this.timestamp_biased)this.timestamp_biased=e,this.resetCounter();else if(e+A>=this.timestamp_biased)this.counter++,this.counter>4398046511103&&(this.timestamp_biased++,this.resetCounter());else return;return Y7.fromFieldsV7(this.timestamp_biased-1,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,Y7.ofInner(e)}},BHA=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new yK;if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},yK=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},IgA;var T7=()=>EHA().toString(),EHA=()=>(IgA||(IgA=new DK)).generateV4();var H7=class t{evalService=h(h0);data=h(Ca);dialogRef=h(bo);newCaseId="case"+T7().slice(0,6);constructor(){}createNewEvalCase(){!this.newCaseId||this.newCaseId==""?alert("Cannot create eval set with empty id!"):this.evalService.addCurrentSession(this.data.appName,this.data.evalSetId,this.newCaseId,this.data.sessionId,this.data.userId).subscribe(e=>{this.dialogRef.close(!0)})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-add-eval-session-dialog"]],decls:11,vars:1,consts:[["mat-dialog-title",""],[2,"padding-left","20px","padding-right","24px"],["matInput","",3,"ngModelChange","keydown.enter","ngModel"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1,"Add Current Session To Eval Set"),w(),m(2,"mat-dialog-content"),K(3,` Please enter the eval case name -`),w(),m(4,"mat-form-field",1)(5,"input",2),ho("ngModelChange",function(o){return ao(i.newCaseId,o)||(i.newCaseId=o),o}),tA("keydown.enter",function(){return i.createNewEvalCase()}),w()(),m(6,"mat-dialog-actions",3)(7,"button",4),K(8,"Cancel"),w(),m(9,"button",5),tA("click",function(){return i.createNewEvalCase()}),K(10,"Create"),w()()),A&2&&(p(5),Qo("ngModel",i.newCaseId))},dependencies:[Da,rr,No,wa,Nn,uo,fo,Sa,Ua,fn,B0],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-dialog-content[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}button[mat-button][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;caret-color:var(--mdc-dialog-supporting-text-color)!important;background-color:transparent!important}html.darkmode [_nghost-%COMP%] .mat-mdc-text-field-wrapper{background-color:#3f3f42}"]})};var QHA={allEvalSetsHeader:"All eval sets",createNewEvalSetTooltip:"Create new evaluation set",createNewEvalSetTitle:"Create New Evaluation Set",evalSetDescription:"An evaluation set is a curated collection of evaluation cases, where each case includes input-output examples for assessing agent performance.",createEvalSetButton:"Create Evaluation Set",runEvaluationButton:"Run Evaluation",viewEvalRunHistoryTooltip:"View eval run history",caseIdHeader:"Case ID",resultHeader:"Result",viewEvalRunResultTooltip:"View eval run result",passStatus:"Pass",failStatus:"Fail",passStatusCaps:"PASS",failStatusCaps:"FAIL",passedSuffix:"Passed",failedSuffix:"Failed",addSessionToSetButtonPrefix:"Add current session to"},dgA=new yA("Eval Tab Messages",{factory:()=>QHA});var z7=class t{evalService=h(h0);data=h(Ca);dialogRef=h(bo);newSetId="evalset"+T7().slice(0,6);constructor(){}createNewEvalSet(){!this.newSetId||this.newSetId==""?alert("Cannot create eval set with empty id!"):this.evalService.createNewEvalSet(this.data.appName,this.newSetId).subscribe(e=>{this.dialogRef.close(!0)})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-new-eval-set-dialog-component"]],decls:11,vars:1,consts:[["mat-dialog-title",""],[2,"padding-left","20px","padding-right","24px"],["matInput","",3,"ngModelChange","keydown.enter","ngModel"],["align","end"],["mat-button","","mat-dialog-close",""],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"h2",0),K(1,"Create New Eval Set"),w(),m(2,"mat-dialog-content"),K(3,` Please enter the eval set name -`),w(),m(4,"mat-form-field",1)(5,"input",2),ho("ngModelChange",function(o){return ao(i.newSetId,o)||(i.newSetId=o),o}),tA("keydown.enter",function(){return i.createNewEvalSet()}),w()(),m(6,"mat-dialog-actions",3)(7,"button",4),K(8,"Cancel"),w(),m(9,"button",5),tA("click",function(){return i.createNewEvalSet()}),K(10,"Create"),w()()),A&2&&(p(5),Qo("ngModel",i.newSetId))},dependencies:[Da,rr,No,wa,Nn,uo,fo,Sa,Ua,fn,B0],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-dialog-content[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}button[mat-button][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important;caret-color:var(--mdc-dialog-supporting-text-color)!important;background-color:transparent!important}[_nghost-%COMP%] .mat-mdc-text-field-wrapper{background-color:#3f3f42}"]})};var hHA=["knob"],uHA=["valueIndicatorContainer"];function fHA(t,e){if(t&1&&(m(0,"div",2,1)(2,"div",5)(3,"span",6),K(4),w()()()),t&2){let A=v();p(4),qA(A.valueIndicatorText)}}var mHA=["trackActive"],pHA=["*"];function wHA(t,e){if(t&1&&GA(0,"div"),t&2){let A=e.$implicit,i=e.$index,n=v(3);Po(A===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),wn("transform",n._calcTickMarkTransform(i))}}function DHA(t,e){if(t&1&&Ut(0,wHA,1,4,"div",8,wB),t&2){let A=v(2);Jt(A._tickMarks)}}function yHA(t,e){if(t&1&&(m(0,"div",6,1),V(2,DHA,2,0),w()),t&2){let A=v();p(2),W(A._cachedWidth?2:-1)}}function vHA(t,e){if(t&1&&GA(0,"mat-slider-visual-thumb",7),t&2){let A=v();$("discrete",A.discrete)("thumbPosition",1)("valueIndicatorText",A.startValueIndicatorText)}}var pi=(function(t){return t[t.START=1]="START",t[t.END=2]="END",t})(pi||{}),Zh=(function(t){return t[t.ACTIVE=0]="ACTIVE",t[t.INACTIVE=1]="INACTIVE",t})(Zh||{}),vK=new yA("_MatSlider"),BgA=new yA("_MatSliderThumb"),bHA=new yA("_MatSliderRangeThumb"),EgA=new yA("_MatSliderVisualThumb");var MHA=(()=>{class t{_cdr=h(Dt);_ngZone=h(Oe);_slider=h(vK);_renderer=h(_i);_listenerCleanups;discrete=!1;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=!1;_isActive=!1;_isValueIndicatorVisible=!1;_hostElement=h(ge).nativeElement;_platform=h(Ii);constructor(){}ngAfterViewInit(){let A=this._slider._getInput(this.thumbPosition);A&&(this._ripple.radius=24,this._sliderInput=A,this._sliderInputEl=this._sliderInput._hostElement,this._ngZone.runOutsideAngular(()=>{let i=this._sliderInputEl,n=this._renderer;this._listenerCleanups=[n.listen(i,"pointermove",this._onPointerMove),n.listen(i,"pointerdown",this._onDragStart),n.listen(i,"pointerup",this._onDragEnd),n.listen(i,"pointerleave",this._onMouseLeave),n.listen(i,"focus",this._onFocus),n.listen(i,"blur",this._onBlur)]}))}ngOnDestroy(){this._listenerCleanups?.forEach(A=>A())}_onPointerMove=A=>{if(this._sliderInput._isFocused)return;let i=this._hostElement.getBoundingClientRect(),n=this._slider._isCursorOnSliderThumb(A,i);this._isHovered=n,n?this._showHoverRipple():this._hideRipple(this._hoverRippleRef)};_onMouseLeave=()=>{this._isHovered=!1,this._hideRipple(this._hoverRippleRef)};_onFocus=()=>{this._hideRipple(this._hoverRippleRef),this._showFocusRipple(),this._hostElement.classList.add("mdc-slider__thumb--focused")};_onBlur=()=>{this._isActive||this._hideRipple(this._focusRippleRef),this._isHovered&&this._showHoverRipple(),this._hostElement.classList.remove("mdc-slider__thumb--focused")};_onDragStart=A=>{A.button===0&&(this._isActive=!0,this._showActiveRipple())};_onDragEnd=()=>{this._isActive=!1,this._hideRipple(this._activeRippleRef),this._sliderInput._isFocused||this._hideRipple(this._focusRippleRef),this._platform.SAFARI&&this._showHoverRipple()};_showHoverRipple(){this._isShowingRipple(this._hoverRippleRef)||(this._hoverRippleRef=this._showRipple({enterDuration:0,exitDuration:0}),this._hoverRippleRef?.element.classList.add("mat-mdc-slider-hover-ripple"))}_showFocusRipple(){this._isShowingRipple(this._focusRippleRef)||(this._focusRippleRef=this._showRipple({enterDuration:0,exitDuration:0},!0),this._focusRippleRef?.element.classList.add("mat-mdc-slider-focus-ripple"))}_showActiveRipple(){this._isShowingRipple(this._activeRippleRef)||(this._activeRippleRef=this._showRipple({enterDuration:225,exitDuration:400}),this._activeRippleRef?.element.classList.add("mat-mdc-slider-active-ripple"))}_isShowingRipple(A){return A?.state===Rs.FADING_IN||A?.state===Rs.VISIBLE}_showRipple(A,i){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===pi.START?pi.END:pi.START)._showValueIndicator(),!(this._slider._globalRippleOptions?.disabled&&!i)))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:A,centered:!0,persistent:!0})}_hideRipple(A){if(A?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();let i=this._getSibling();i._isShowingAnyRipple()||(this._hideValueIndicator(),i._hideValueIndicator())}_showValueIndicator(){this._hostElement.classList.add("mdc-slider__thumb--with-indicator")}_hideValueIndicator(){this._hostElement.classList.remove("mdc-slider__thumb--with-indicator")}_getSibling(){return this._slider._getThumb(this.thumbPosition===pi.START?pi.END:pi.START)}_getValueIndicatorContainer(){return this._valueIndicatorContainer?.nativeElement}_getKnob(){return this._knob.nativeElement}_isShowingAnyRipple(){return this._isShowingRipple(this._hoverRippleRef)||this._isShowingRipple(this._focusRippleRef)||this._isShowingRipple(this._activeRippleRef)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(i,n){if(i&1&&ai(ig,5)(hHA,5)(uHA,5),i&2){let o;ce(o=Ce())&&(n._ripple=o.first),ce(o=Ce())&&(n._knob=o.first),ce(o=Ce())&&(n._valueIndicatorContainer=o.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[dt([{provide:EgA,useExisting:t}])],decls:4,vars:2,consts:[["knob",""],["valueIndicatorContainer",""],[1,"mdc-slider__value-indicator-container"],[1,"mdc-slider__thumb-knob"],["matRipple","",1,"mat-focus-indicator",3,"matRippleDisabled"],[1,"mdc-slider__value-indicator"],[1,"mdc-slider__value-indicator-text"]],template:function(i,n){i&1&&(V(0,fHA,5,1,"div",2),GA(1,"div",3,0)(3,"div",4)),i&2&&(W(n.discrete?0:-1),p(3),$("matRippleDisabled",!0))},dependencies:[ig],styles:[`.mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}.mat-mdc-slider .mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive{position:absolute;left:2px} -`],encapsulation:2,changeDetection:0})}return t})(),QgA=(()=>{class t{_ngZone=h(Oe);_cdr=h(Dt);_elementRef=h(ge);_dir=h(Ro,{optional:!0});_globalRippleOptions=h(S2,{optional:!0});_trackActive;_thumbs;_input;_inputs;get disabled(){return this._disabled}set disabled(A){this._disabled=A;let i=this._getInput(pi.END),n=this._getInput(pi.START);i&&(i.disabled=this._disabled),n&&(n.disabled=this._disabled)}_disabled=!1;get discrete(){return this._discrete}set discrete(A){this._discrete=A,this._updateValueIndicatorUIs()}_discrete=!1;get showTickMarks(){return this._showTickMarks}set showTickMarks(A){this._showTickMarks=A,this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI())}_showTickMarks=!1;get min(){return this._min}set min(A){let i=A==null||isNaN(A)?this._min:A;this._min!==i&&this._updateMin(i)}_min=0;color;disableRipple=!1;_updateMin(A){let i=this._min;this._min=A,this._isRange?this._updateMinRange({old:i,new:A}):this._updateMinNonRange(A),this._onMinMaxOrStepChange()}_updateMinRange(A){let i=this._getInput(pi.END),n=this._getInput(pi.START),o=i.value,a=n.value;n.min=A.new,i.min=Math.max(A.new,n.value),n.max=Math.min(i.max,i.value),n._updateWidthInactive(),i._updateWidthInactive(),A.newA.old?this._onTranslateXChangeBySideEffect(n,i):this._onTranslateXChangeBySideEffect(i,n),o!==i.value&&this._onValueChange(i),a!==n.value&&this._onValueChange(n)}_updateMaxNonRange(A){let i=this._getInput(pi.END);if(i){let n=i.value;i.max=A,i._updateThumbUIByValue(),this._updateTrackUI(i),n!==i.value&&this._onValueChange(i)}}get step(){return this._step}set step(A){let i=isNaN(A)?this._step:A;this._step!==i&&this._updateStep(i)}_step=1;_updateStep(A){this._step=A,this._isRange?this._updateStepRange():this._updateStepNonRange(),this._onMinMaxOrStepChange()}_updateStepRange(){let A=this._getInput(pi.END),i=this._getInput(pi.START),n=A.value,o=i.value,a=i.value;A.min=this._min,i.max=this._max,A.step=this._step,i.step=this._step,this._platform.SAFARI&&(A.value=A.value,i.value=i.value),A.min=Math.max(this._min,i.value),i.max=Math.min(this._max,A.value),i._updateWidthInactive(),A._updateWidthInactive(),A.value`${A}`;_tickMarks;_noopAnimations=ji();_dirChangeSubscription;_resizeObserver=null;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=!1;_isRtl=!1;_hasViewInitialized=!1;_tickMarkTrackWidth=0;_hasAnimation=!1;_resizeTimer=null;_platform=h(Ii);constructor(){h(Xn).load(dr),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>this._onDirChange()),this._isRtl=this._dir.value==="rtl")}_knobRadius=8;_inputPadding;ngAfterViewInit(){this._platform.isBrowser&&this._updateDimensions();let A=this._getInput(pi.END),i=this._getInput(pi.START);this._isRange=!!A&&!!i,this._cdr.detectChanges();let n=this._getThumb(pi.END);this._rippleRadius=n._ripple.radius,this._inputPadding=this._rippleRadius-this._knobRadius,this._isRange?this._initUIRange(A,i):this._initUINonRange(A),this._updateTrackUI(A),this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._observeHostResize(),this._cdr.detectChanges()}_initUINonRange(A){A.initProps(),A.initUI(),this._updateValueIndicatorUI(A),this._hasViewInitialized=!0,A._updateThumbUIByValue()}_initUIRange(A,i){A.initProps(),A.initUI(),i.initProps(),i.initUI(),A._updateMinMax(),i._updateMinMax(),A._updateStaticStyles(),i._updateStaticStyles(),this._updateValueIndicatorUIs(),this._hasViewInitialized=!0,A._updateThumbUIByValue(),i._updateThumbUIByValue()}ngOnDestroy(){this._dirChangeSubscription?.unsubscribe(),this._resizeObserver?.disconnect(),this._resizeObserver=null}_onDirChange(){this._isRtl=this._dir?.value==="rtl",this._isRange?this._onDirChangeRange():this._onDirChangeNonRange(),this._updateTickMarkUI()}_onDirChangeRange(){let A=this._getInput(pi.END),i=this._getInput(pi.START);A._setIsLeftThumb(),i._setIsLeftThumb(),A.translateX=A._calcTranslateXByValue(),i.translateX=i._calcTranslateXByValue(),A._updateStaticStyles(),i._updateStaticStyles(),A._updateWidthInactive(),i._updateWidthInactive(),A._updateThumbUIByValue(),i._updateThumbUIByValue()}_onDirChangeNonRange(){this._getInput(pi.END)._updateThumbUIByValue()}_observeHostResize(){typeof ResizeObserver>"u"||!ResizeObserver||this._ngZone.runOutsideAngular(()=>{this._resizeObserver=new ResizeObserver(()=>{this._isActive()||(this._resizeTimer&&clearTimeout(this._resizeTimer),this._onResize())}),this._resizeObserver.observe(this._elementRef.nativeElement)})}_isActive(){return this._getThumb(pi.START)._isActive||this._getThumb(pi.END)._isActive}_getValue(A=pi.END){let i=this._getInput(A);return i?i.value:this.min}_skipUpdate(){return!!(this._getInput(pi.START)?._skipUIUpdate||this._getInput(pi.END)?._skipUIUpdate)}_updateDimensions(){this._cachedWidth=this._elementRef.nativeElement.offsetWidth,this._cachedLeft=this._elementRef.nativeElement.getBoundingClientRect().left}_setTrackActiveStyles(A){let i=this._trackActive.nativeElement.style;i.left=A.left,i.right=A.right,i.transformOrigin=A.transformOrigin,i.transform=A.transform}_calcTickMarkTransform(A){let i=A*(this._tickMarkTrackWidth/(this._tickMarks.length-1));return`translateX(${this._isRtl?this._cachedWidth-6-i:i}px)`}_onTranslateXChange(A){this._hasViewInitialized&&(this._updateThumbUI(A),this._updateTrackUI(A),this._updateOverlappingThumbUI(A))}_onTranslateXChangeBySideEffect(A,i){this._hasViewInitialized&&(A._updateThumbUIByValue(),i._updateThumbUIByValue())}_onValueChange(A){this._hasViewInitialized&&(this._updateValueIndicatorUI(A),this._updateTickMarkUI(),this._cdr.detectChanges())}_onMinMaxOrStepChange(){this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.markForCheck())}_onResize(){if(this._hasViewInitialized){if(this._updateDimensions(),this._isRange){let A=this._getInput(pi.END),i=this._getInput(pi.START);A._updateThumbUIByValue(),i._updateThumbUIByValue(),A._updateStaticStyles(),i._updateStaticStyles(),A._updateMinMax(),i._updateMinMax(),A._updateWidthInactive(),i._updateWidthInactive()}else{let A=this._getInput(pi.END);A&&A._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_thumbsOverlap=!1;_areThumbsOverlapping(){let A=this._getInput(pi.START),i=this._getInput(pi.END);return!A||!i?!1:i.translateX-A.translateX<20}_updateOverlappingThumbClassNames(A){let i=A.getSibling(),n=this._getThumb(A.thumbPosition);this._getThumb(i.thumbPosition)._hostElement.classList.remove("mdc-slider__thumb--top"),n._hostElement.classList.toggle("mdc-slider__thumb--top",this._thumbsOverlap)}_updateOverlappingThumbUI(A){!this._isRange||this._skipUpdate()||this._thumbsOverlap!==this._areThumbsOverlapping()&&(this._thumbsOverlap=!this._thumbsOverlap,this._updateOverlappingThumbClassNames(A))}_updateThumbUI(A){if(this._skipUpdate())return;let i=this._getThumb(A.thumbPosition===pi.END?pi.END:pi.START);i._hostElement.style.transform=`translateX(${A.translateX}px)`}_updateValueIndicatorUI(A){if(this._skipUpdate())return;let i=this.displayWith(A.value);if(this._hasViewInitialized?A._valuetext.set(i):A._hostElement.setAttribute("aria-valuetext",i),this.discrete){A.thumbPosition===pi.START?this.startValueIndicatorText=i:this.endValueIndicatorText=i;let n=this._getThumb(A.thumbPosition);i.length<3?n._hostElement.classList.add("mdc-slider__thumb--short-value"):n._hostElement.classList.remove("mdc-slider__thumb--short-value")}}_updateValueIndicatorUIs(){let A=this._getInput(pi.END),i=this._getInput(pi.START);A&&this._updateValueIndicatorUI(A),i&&this._updateValueIndicatorUI(i)}_updateTickMarkTrackUI(){if(!this.showTickMarks||this._skipUpdate())return;let A=this._step&&this._step>0?this._step:1,n=(Math.floor(this.max/A)*A-this.min)/(this.max-this.min);this._tickMarkTrackWidth=(this._cachedWidth-6)*n}_updateTrackUI(A){this._skipUpdate()||(this._isRange?this._updateTrackUIRange(A):this._updateTrackUINonRange(A))}_updateTrackUIRange(A){let i=A.getSibling();if(!i||!this._cachedWidth)return;let n=Math.abs(i.translateX-A.translateX)/this._cachedWidth;A._isLeftThumb&&this._cachedWidth?this._setTrackActiveStyles({left:"auto",right:`${this._cachedWidth-i.translateX}px`,transformOrigin:"right",transform:`scaleX(${n})`}):this._setTrackActiveStyles({left:`${i.translateX}px`,right:"auto",transformOrigin:"left",transform:`scaleX(${n})`})}_updateTrackUINonRange(A){this._isRtl?this._setTrackActiveStyles({left:"auto",right:"0px",transformOrigin:"right",transform:`scaleX(${1-A.fillPercentage})`}):this._setTrackActiveStyles({left:"0px",right:"auto",transformOrigin:"left",transform:`scaleX(${A.fillPercentage})`})}_updateTickMarkUI(){if(!this.showTickMarks||this.step===void 0||this.min===void 0||this.max===void 0)return;let A=this.step>0?this.step:1;this._isRange?this._updateTickMarkUIRange(A):this._updateTickMarkUINonRange(A)}_updateTickMarkUINonRange(A){let i=this._getValue(),n=Math.max(Math.round((i-this.min)/A),0)+1,o=Math.max(Math.round((this.max-i)/A),0)-1;this._isRtl?n++:o++,this._tickMarks=Array(n).fill(Zh.ACTIVE).concat(Array(o).fill(Zh.INACTIVE))}_updateTickMarkUIRange(A){let i=this._getValue(),n=this._getValue(pi.START),o=Math.max(Math.round((n-this.min)/A),0),a=Math.max(Math.round((i-n)/A)+1,0),r=Math.max(Math.round((this.max-i)/A),0);this._tickMarks=Array(o).fill(Zh.INACTIVE).concat(Array(a).fill(Zh.ACTIVE),Array(r).fill(Zh.INACTIVE))}_getInput(A){if(A===pi.END&&this._input)return this._input;if(this._inputs?.length)return A===pi.START?this._inputs.first:this._inputs.last}_getThumb(A){return A===pi.END?this._thumbs?.last:this._thumbs?.first}_setTransition(A){this._hasAnimation=!this._platform.IOS&&A&&!this._noopAnimations,this._elementRef.nativeElement.classList.toggle("mat-mdc-slider-with-animation",this._hasAnimation)}_isCursorOnSliderThumb(A,i){let n=i.width/2,o=i.x+n,a=i.y+n,r=A.clientX-o,s=A.clientY-a;return Math.pow(r,2)+Math.pow(s,2)bK),multi:!0};var bK=(()=>{class t{_ngZone=h(Oe);_elementRef=h(ge);_cdr=h(Dt);_slider=h(vK);_platform=h(Ii);_listenerCleanups;get value(){return en(this._hostElement.value,0)}set value(A){A===null&&(A=this._getDefaultValue()),A=isNaN(A)?0:A;let i=A+"";if(!this._hasSetInitialValue){this._initialValue=i;return}this._isActive||this._setValue(i)}_setValue(A){this._hostElement.value=A,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges(),this._slider._cdr.markForCheck()}valueChange=new $A;dragStart=new $A;dragEnd=new $A;get translateX(){return this._slider.min>=this._slider.max?(this._translateX=this._tickMarkOffset,this._translateX):(this._translateX===void 0&&(this._translateX=this._calcTranslateXByValue()),this._translateX)}set translateX(A){this._translateX=A}_translateX;thumbPosition=pi.END;get min(){return en(this._hostElement.min,0)}set min(A){this._hostElement.min=A+"",this._cdr.detectChanges()}get max(){return en(this._hostElement.max,0)}set max(A){this._hostElement.max=A+"",this._cdr.detectChanges()}get step(){return en(this._hostElement.step,0)}set step(A){this._hostElement.step=A+"",this._cdr.detectChanges()}get disabled(){return he(this._hostElement.disabled)}set disabled(A){this._hostElement.disabled=A,this._cdr.detectChanges(),this._slider.disabled!==this.disabled&&(this._slider.disabled=this.disabled)}get percentage(){return this._slider.min>=this._slider.max?this._slider._isRtl?1:0:(this.value-this._slider.min)/(this._slider.max-this._slider.min)}get fillPercentage(){return this._slider._cachedWidth?this._translateX===0?0:this.translateX/this._slider._cachedWidth:this._slider._isRtl?1:0}_hostElement=this._elementRef.nativeElement;_valuetext=jA("");_knobRadius=8;_tickMarkOffset=3;_isActive=!1;_isFocused=!1;_setIsFocused(A){this._isFocused=A}_hasSetInitialValue=!1;_initialValue;_formControl;_destroyed=new XA;_skipUIUpdate=!1;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=!1;constructor(){let A=h(_i);this._ngZone.runOutsideAngular(()=>{this._listenerCleanups=[A.listen(this._hostElement,"pointerdown",this._onPointerDown.bind(this)),A.listen(this._hostElement,"pointermove",this._onPointerMove.bind(this)),A.listen(this._hostElement,"pointerup",this._onPointerUp.bind(this))]})}ngOnDestroy(){this._listenerCleanups.forEach(A=>A()),this._destroyed.next(),this._destroyed.complete(),this.dragStart.complete(),this.dragEnd.complete()}initProps(){this._updateWidthInactive(),this.disabled!==this._slider.disabled&&(this._slider.disabled=!0),this.step=this._slider.step,this.min=this._slider.min,this.max=this._slider.max,this._initValue()}initUI(){this._updateThumbUIByValue()}_initValue(){this._hasSetInitialValue=!0,this._initialValue===void 0?this.value=this._getDefaultValue():(this._hostElement.value=this._initialValue,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges())}_getDefaultValue(){return this.min}_onBlur(){this._setIsFocused(!1),this._onTouchedFn()}_onFocus(){this._slider._setTransition(!1),this._slider._updateTrackUI(this),this._setIsFocused(!0)}_onChange(){this.valueChange.emit(this.value),this._isActive&&this._updateThumbUIByValue({withAnimation:!0})}_onInput(){this._onChangeFn?.(this.value),(this._slider.step||!this._isActive)&&this._updateThumbUIByValue({withAnimation:!0}),this._slider._onValueChange(this)}_onNgControlValueChange(){(!this._isActive||!this._isFocused)&&(this._slider._onValueChange(this),this._updateThumbUIByValue()),this._slider.disabled=this._formControl.disabled}_onPointerDown(A){if(!(this.disabled||A.button!==0)){if(this._platform.IOS){let i=this._slider._isCursorOnSliderThumb(A,this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());this._isActive=i,this._updateWidthActive(),this._slider._updateDimensions();return}this._isActive=!0,this._setIsFocused(!0),this._updateWidthActive(),this._slider._updateDimensions(),this._slider.step||this._updateThumbUIByPointerEvent(A,{withAnimation:!0}),this.disabled||(this._handleValueCorrection(A),this.dragStart.emit({source:this,parent:this._slider,value:this.value}))}}_handleValueCorrection(A){this._skipUIUpdate=!0,setTimeout(()=>{this._skipUIUpdate=!1,this._fixValue(A)},0)}_fixValue(A){let i=A.clientX-this._slider._cachedLeft,n=this._slider._cachedWidth,o=this._slider.step===0?1:this._slider.step,a=Math.floor((this._slider.max-this._slider.min)/o),r=this._slider._isRtl?1-i/n:i/n,g=Math.round(r*a)/a*(this._slider.max-this._slider.min)+this._slider.min,l=Math.round(g/o)*o,C=this.value;if(l===C){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(A,{withAnimation:this._slider._hasAnimation});return}this.value=l,this.valueChange.emit(this.value),this._onChangeFn?.(this.value),this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(A,{withAnimation:this._slider._hasAnimation})}_onPointerMove(A){!this._slider.step&&this._isActive&&this._updateThumbUIByPointerEvent(A)}_onPointerUp(){this._isActive&&(this._isActive=!1,this._platform.SAFARI&&this._setIsFocused(!1),this.dragEnd.emit({source:this,parent:this._slider,value:this.value}),setTimeout(()=>this._updateWidthInactive(),this._platform.IOS?10:0))}_clamp(A){let i=this._tickMarkOffset,n=this._slider._cachedWidth-this._tickMarkOffset;return Math.max(Math.min(A,n),i)}_calcTranslateXByValue(){return this._slider._isRtl?(1-this.percentage)*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset:this.percentage*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset}_calcTranslateXByPointerEvent(A){return A.clientX-this._slider._cachedLeft}_updateWidthActive(){}_updateWidthInactive(){this._hostElement.style.padding=`0 ${this._slider._inputPadding}px`,this._hostElement.style.width=`calc(100% + ${this._slider._inputPadding-this._tickMarkOffset*2}px)`,this._hostElement.style.left=`-${this._slider._rippleRadius-this._tickMarkOffset}px`}_updateThumbUIByValue(A){this.translateX=this._clamp(this._calcTranslateXByValue()),this._updateThumbUI(A)}_updateThumbUIByPointerEvent(A,i){this.translateX=this._clamp(this._calcTranslateXByPointerEvent(A)),this._updateThumbUI(i)}_updateThumbUI(A){this._slider._setTransition(!!A?.withAnimation),this._slider._onTranslateXChange(this)}writeValue(A){(this._isControlInitialized||A!==null)&&(this.value=A)}registerOnChange(A){this._onChangeFn=A,this._isControlInitialized=!0}registerOnTouched(A){this._onTouchedFn=A}setDisabledState(A){this.disabled=A}focus(){this._hostElement.focus()}blur(){this._hostElement.blur()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["input","matSliderThumb",""]],hostAttrs:["type","range",1,"mdc-slider__input"],hostVars:1,hostBindings:function(i,n){i&1&&tA("change",function(){return n._onChange()})("input",function(){return n._onInput()})("blur",function(){return n._onBlur()})("focus",function(){return n._onFocus()}),i&2&&ie("aria-valuetext",n._valuetext())},inputs:{value:[2,"value","value",en]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[dt([kHA,{provide:BgA,useExisting:t}])]})}return t})();var O7=class t{constructor(e,A,i){this.dialogRef=e;this.fb=A;this.data=i;this.evalMetrics=this.data.evalMetrics,this.evalForm=this.fb.group({tool_trajectory_avg_score_threshold:[this.getEvalMetricThresholdFromData("tool_trajectory_avg_score"),[Ag.required,Ag.min(0),Ag.max(1)]],response_match_score_threshold:[this.getEvalMetricThresholdFromData("response_match_score"),[Ag.required,Ag.min(0),Ag.max(1)]]})}evalForm;evalMetrics=[];getEvalMetricThresholdFromData(e){return this.evalMetrics.find(A=>A.metricName===e)?.threshold??0}onStart(){if(this.evalForm.valid){let{tool_trajectory_avg_score_threshold:e,response_match_score_threshold:A}=this.evalForm.value;for(let i of this.evalMetrics)i.metricName==="tool_trajectory_avg_score"?i.threshold=e:i.metricName==="response_match_score"&&(i.threshold=A);this.dialogRef.close(this.evalMetrics)}}onCancel(){this.dialogRef.close(null)}static \u0275fac=function(A){return new(A||t)(at(bo),at(mJ),at(Ca))};static \u0275cmp=kA({type:t,selectors:[["app-run-eval-config-dialog"]],decls:26,vars:3,consts:[[1,"dialog-container"],["mat-dialog-title","",1,"dialog-title"],[1,"eval-form",3,"formGroup"],[1,"metric-row"],[1,"metric-name"],[1,"flex-1","pl-4"],["min","0","max","1","step","0.1","thumbLabel","",1,"threshold-slider"],["matSliderThumb","","formControlName","tool_trajectory_avg_score_threshold"],[1,"threshold-value"],["matSliderThumb","","formControlName","response_match_score_threshold"],["align","end",1,"dialog-actions"],["mat-button","",1,"cancel-button",3,"click"],["mat-button","",1,"save-button",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"h2",1),K(2,"EVALUATION METRIC"),w(),m(3,"mat-dialog-content")(4,"form",2)(5,"div",3)(6,"div",4),K(7,"Tool trajectory avg score: "),w(),m(8,"div",5)(9,"mat-slider",6),GA(10,"input",7),w(),m(11,"span",8),K(12),w()()(),m(13,"div",3)(14,"div",4),K(15,"Response match score: "),w(),m(16,"div",5)(17,"mat-slider",6),GA(18,"input",9),w(),m(19,"span",8),K(20),w()()()()(),m(21,"mat-dialog-actions",10)(22,"button",11),tA("click",function(){return i.onCancel()}),K(23,"Cancel"),w(),m(24,"button",12),tA("click",function(){return i.onStart()}),K(25,"Start"),w()()()),A&2&&(p(4),$("formGroup",i.evalForm),p(8),Se(" ",i.evalForm.controls.tool_trajectory_avg_score_threshold.value," "),p(8),Se(" ",i.evalForm.controls.response_match_score_threshold.value," "))},dependencies:[Da,rr,Nn,uJ,uo,fo,CJ,r0,v2,s9,QgA,bK,Ua,fn],styles:["build.dialog-container[_ngcontent-%COMP%]{border-radius:12px;padding:18px;width:500px;box-shadow:0 8px 16px var(--run-eval-config-dialog-container-box-shadow-color)}.threshold-slider[_ngcontent-%COMP%]{--mdc-slider-active-track-color: var(--run-eval-config-dialog-threshold-slider-active-track-color);--mdc-slider-inactive-track-color: var(--run-eval-config-dialog-threshold-slider-inactive-track-color);--mdc-slider-handle-color: var(--run-eval-config-dialog-threshold-slider-handle-color);--mdc-slider-ripple-color: var(--run-eval-config-dialog-threshold-slider-ripple-color);width:100px}.metric-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center}.metric-name[_ngcontent-%COMP%]{width:250px}.threshold-value[_ngcontent-%COMP%]{margin-left:20px}.mdc-slider__thumb--with-indicator[_ngcontent-%COMP%]{background-color:var(--mdc-slider-handle-color, var(--run-eval-config-dialog-mdc-slider-thumb-background-color));border:none!important;box-shadow:none!important}h2[mat-dialog-title][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}mat-dialog-content[_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}button[mat-button][_ngcontent-%COMP%]{color:var(--mdc-dialog-supporting-text-color)!important}"]})};function SHA(t,e){if(t&1){let A=JA();m(0,"div",1)(1,"div"),K(2),w(),m(3,"mat-icon",2),tA("click",function(){Z(A);let n=v();return X(n.openNewEvalSetDialog())}),K(4,"add"),w()()}if(t&2){let A=v();p(2),qA(A.i18n.allEvalSetsHeader),p(),$("matTooltip",A.i18n.createNewEvalSetTooltip)}}function xHA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",3)(2,"div",4),K(3),w(),m(4,"div",5),K(5),w(),m(6,"div",6),tA("click",function(){Z(A);let n=v();return X(n.openNewEvalSetDialog())}),K(7),w()()()}if(t&2){let A=v();p(3),Se(" ",A.i18n.createNewEvalSetTitle," "),p(2),Se(" ",A.i18n.evalSetDescription," "),p(2),Se(" ",A.i18n.createEvalSetButton," ")}}function RHA(t,e){if(t&1){let A=JA();m(0,"div",8),tA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.selectEvalSet(n))}),m(1,"div",9)(2,"span",10),K(3,"folder"),w(),m(4,"div",11),K(5),w()(),m(6,"div")(7,"mat-icon",12),K(8,"chevron_right"),w()()()}if(t&2){let A=e.$implicit;p(5),qA(A)}}function NHA(t,e){if(t&1&&(m(0,"div"),Ut(1,RHA,9,1,"div",7,Li),w()),t&2){let A=v();p(),Jt(A.evalsets)}}function FHA(t,e){if(t&1){let A=JA();m(0,"th",29)(1,"mat-checkbox",30),tA("change",function(n){Z(A);let o=v(4);return X(n?o.toggleAllRows():null)}),w()()}if(t&2){let A=v(4);p(),$("checked",A.selection.hasValue()&&A.isAllSelected())("indeterminate",A.selection.hasValue()&&!A.isAllSelected())}}function _HA(t,e){if(t&1){let A=JA();m(0,"td",31)(1,"mat-checkbox",32),tA("click",function(n){return Z(A),X(n.stopPropagation())})("change",function(n){let o=Z(A).$implicit,a=v(4);return X(n?a.selection.toggle(o):null)}),w()()}if(t&2){let A=e.$implicit,i=v(4);p(),$("checked",i.selection.isSelected(A))}}function LHA(t,e){if(t&1&&(m(0,"th",29),K(1),w()),t&2){let A=v(4);p(),Se(" ",A.i18n.caseIdHeader," ")}}function GHA(t,e){if(t&1){let A=JA();m(0,"td",33),tA("click",function(){let n=Z(A).$implicit,o=v(4);return X(o.getEvalCase(n))}),K(1),w()}if(t&2){let A,i=e.$implicit,n=v(4);ne("selected-eval-case",i===((A=n.selectedEvalCase())==null?null:A.evalId)),p(),Se(" ",i," ")}}function KHA(t,e){if(t&1&&(m(0,"th",29),K(1),w()),t&2){let A=v(4);p(),Se(" ",A.i18n.resultHeader," ")}}function UHA(t,e){if(t&1){let A=JA();m(0,"button",35),tA("click",function(){Z(A);let n=v().$implicit,o=v(4);return X(o.getSession(n))}),m(1,"span",36),K(2),w(),m(3,"div",37),K(4),w()()}if(t&2){let A=v().$implicit,i=v(4);$("ngClass",i.getEvalResultForCase(A)==1?"result-btn pass":"result-btn fail")("matTooltip",i.i18n.viewEvalRunResultTooltip),p(2),Se(" ",i.getEvalResultForCase(A)==1?"check":"close"," "),p(2),Se("",i.getEvalResultForCase(A)==1?i.i18n.passStatus:i.i18n.failStatus," ")}}function JHA(t,e){if(t&1&&(m(0,"td",31),V(1,UHA,5,4,"button",34),w()),t&2){let A=e.$implicit,i=v(4);p(),W(i.getEvalResultForCase(A)?1:-1)}}function YHA(t,e){t&1&&GA(0,"tr",38)}function THA(t,e){t&1&&GA(0,"tr",39)}function HHA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",16)(2,"button",17),tA("click",function(){Z(A);let n=v(3);return X(n.openEvalConfigDialog())}),K(3),w(),m(4,"mat-icon",18),tA("click",function(){Z(A);let n=v(3);return X(n.toggleEvalHistoryButton())}),K(5,"history"),w()(),m(6,"div",19)(7,"table",20),js(8,21),pt(9,FHA,2,2,"th",22)(10,_HA,2,1,"td",23),qs(),js(11,24),pt(12,LHA,2,1,"th",22)(13,GHA,2,3,"td",25),qs(),js(14,26),pt(15,KHA,2,1,"th",22)(16,JHA,2,1,"td",23),qs(),pt(17,YHA,1,0,"tr",27)(18,THA,1,0,"tr",28),w()()()}if(t&2){let A=v(3);p(3),qA(A.i18n.runEvaluationButton),p(),$("matTooltip",A.i18n.viewEvalRunHistoryTooltip),p(3),$("dataSource",A.dataSource),p(10),$("matHeaderRowDef",A.displayedColumns),p(),$("matRowDefColumns",A.displayedColumns)}}function zHA(t,e){if(t&1&&(m(0,"div")(1,"span",50),K(2,"|"),w(),m(3,"span",51),K(4),w()()),t&2){let A=v().$implicit,i=v(4);p(4),n0("",i.getFailCountForCurrentResult(A.evaluationResults.evaluationResults)," ",i.i18n.failedSuffix)}}function OHA(t,e){if(t&1&&(m(0,"span",52),K(1),w()),t&2){let A=e.$implicit;p(),n0(" ",A.metricName,": ",A.threshold," ")}}function PHA(t,e){if(t&1&&(m(0,"div",46),Ut(1,OHA,2,2,"span",52,Li),w()),t&2){let A=v().$implicit,i=v(4);p(),Jt(i.getEvalMetrics(A))}}function jHA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",53)(2,"span"),K(3),w(),m(4,"button",54),tA("click",function(){let n=Z(A).$implicit,o=v(6);return X(o.getHistorySession(n))}),m(5,"span",36),K(6),w(),m(7,"div",37),K(8),w()()()()}if(t&2){let A=e.$implicit,i=v(6);p(3),Se(" ",A.evalId," "),p(),$("ngClass",A.finalEvalStatus==1?"result-btn pass":"result-btn fail"),p(2),Se(" ",A.finalEvalStatus==1?"check":"close"," "),p(2),Se("",A.finalEvalStatus==1?i.i18n.passStatusCaps:i.i18n.failStatusCaps," ")}}function qHA(t,e){if(t&1&&(m(0,"div",49),Ut(1,jHA,9,4,"div",null,Li),w()),t&2){let A=v().$implicit,i=v(4);p(),Jt(i.generateHistoryEvaluationDatasource(A.timestamp))}}function VHA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",40)(2,"div",41)(3,"div",42)(4,"div",43),K(5),w(),m(6,"div",44)(7,"span",45),K(8),w(),V(9,zHA,5,2,"div"),w(),V(10,PHA,3,0,"div",46),w(),m(11,"div",47)(12,"mat-icon",48),tA("click",function(){let n=Z(A).$implicit,o=v(4);return X(o.toggleHistoryStatusCard(n.timestamp))}),K(13),w()()(),V(14,qHA,3,0,"div",49),w()()}if(t&2){let A=e.$implicit,i=v(4);p(5),qA(i.formatTimestamp(A.timestamp)),p(3),n0("",i.getPassCountForCurrentResult(A.evaluationResults.evaluationResults)," ",i.i18n.passedSuffix),p(),W(i.getFailCountForCurrentResult(A.evaluationResults.evaluationResults)>0?9:-1),p(),W(i.getEvalMetrics(A)?10:-1),p(3),qA(i.getEvaluationStatusCardActionButtonIcon(A.timestamp)),p(),W(i.isEvaluationStatusCardToggled(A.timestamp)?14:-1)}}function WHA(t,e){if(t&1&&(m(0,"div"),Ut(1,VHA,15,7,"div",null,Li),w()),t&2){let A=v(3);p(),Jt(A.getEvalHistoryOfCurrentSetSorted())}}function ZHA(t,e){if(t&1&&(m(0,"div"),V(1,HHA,19,5,"div"),V(2,WHA,3,0,"div"),w()),t&2){let A=v(2);p(),W(A.showEvalHistory()?-1:1),p(),W(A.showEvalHistory()?2:-1)}}function XHA(t,e){if(t&1){let A=JA();m(0,"button",55),tA("click",function(){Z(A);let n=v(2);return X(n.openNewEvalCaseDialog())}),m(1,"div",56)(2,"mat-icon"),K(3,"add"),w(),m(4,"div",57),K(5),w()()()}if(t&2){let A=v(2);p(5),n0(" ",A.i18n.addSessionToSetButtonPrefix," ",A.selectedEvalSet," ")}}function $HA(t,e){t&1&&(m(0,"div"),GA(1,"mat-spinner",58),w()),t&2&&(p(),$("diameter",28)("strokeWidth",3))}function AzA(t,e){if(t&1){let A=JA();m(0,"div")(1,"div",9)(2,"mat-icon",13),tA("click",function(){Z(A);let n=v();return X(n.clearSelectedEvalSet())}),K(3,"chevron_left"),w(),m(4,"div",14),tA("click",function(){Z(A);let n=v();return X(n.clearSelectedEvalSet())}),K(5),w()(),V(6,ZHA,3,2,"div"),V(7,XHA,6,2,"button",15),V(8,$HA,2,2,"div"),w()}if(t&2){let A=v();p(5),Se(" ",A.selectedEvalSet," "),p(),W(A.evalCases.length>0&&!A.evalRunning()?6:-1),p(),W(!A.evalRunning()&&!A.showEvalHistory()?7:-1),p(),W(A.evalRunning()?8:-1)}}var P7=new yA("EVAL_TAB_COMPONENT"),$c=class t{checkboxes=xU(bE);appName=rt("");userId=rt("");sessionId=rt("");sessionSelected=jo();shouldShowTab=jo();evalNotInstalledMsg=jo();evalCaseSelected=jo();evalSetIdSelected=jo();shouldReturnToSession=jo();evalCasesSubject=new Ht([]);changeDetectorRef=h(Dt);flagService=h(vr);i18n=h(dgA);displayedColumns=["select","evalId","finalEvalStatus"];evalsets=[];selectedEvalSet="";evalCases=[];selectedEvalCase=jA(null);deletedEvalCaseIndex=-1;dataSource=new Hm(this.evalCases);selection=new V1(!0,[]);showEvalHistory=jA(!1);evalRunning=jA(!1);evalMetrics=CgA;currentEvalResultBySet=new Map;dialog=h(Gs);appEvaluationResults={};evalService=h(h0);sessionService=h(El);constructor(){this.evalCasesSubject.subscribe(e=>{!this.selectedEvalCase()&&this.deletedEvalCaseIndex>=0&&e.length>0?(this.selectNewEvalCase(e),this.deletedEvalCaseIndex=-1):e.length===0&&this.shouldReturnToSession.emit(!0)})}ngOnChanges(e){e.appName&&(this.selectedEvalSet="",this.evalCases=[],this.getEvalSet(),this.getEvaluationResult())}ngOnInit(){}selectNewEvalCase(e){let A=this.deletedEvalCaseIndex;this.deletedEvalCaseIndex===e.length&&(A=0),this.getEvalCase(e[A])}getEvalSet(){this.appName()!==""&&this.evalService.getEvalSets(this.appName()).pipe(ta(e=>e.status===404&&e.statusText==="Not Found"?(this.shouldShowTab.emit(!1),se(null)):se([]))).subscribe(e=>{e!==null&&(this.shouldShowTab.emit(!0),this.evalsets=e,this.changeDetectorRef.detectChanges())})}openNewEvalSetDialog(){this.dialog.open(z7,{width:"600px",data:{appName:this.appName()}}).afterClosed().subscribe(A=>{A&&(this.getEvalSet(),this.changeDetectorRef.detectChanges())})}openNewEvalCaseDialog(){this.dialog.open(H7,{width:"600px",data:{appName:this.appName(),userId:this.userId(),sessionId:this.sessionId(),evalSetId:this.selectedEvalSet}}).afterClosed().subscribe(A=>{A&&(this.listEvalCases(),this.changeDetectorRef.detectChanges())})}listEvalCases(){this.evalCases=[],this.evalService.listEvalCases(this.appName(),this.selectedEvalSet).subscribe(e=>{this.evalCases=e,this.dataSource=new Hm(this.evalCases),this.evalCasesSubject.next(this.evalCases),this.changeDetectorRef.detectChanges()})}runEval(){if(this.evalRunning.set(!0),this.selection.selected.length==0){alert("No case selected!"),this.evalRunning.set(!1);return}this.evalService.runEval(this.appName(),this.selectedEvalSet,this.selection.selected,this.evalMetrics).pipe(ta(e=>(e.error?.detail?.includes("not installed")&&this.evalNotInstalledMsg.emit(e.error.detail),se([])))).subscribe(e=>{this.evalRunning.set(!1),this.currentEvalResultBySet.set(this.selectedEvalSet,e),this.getEvaluationResult(),this.changeDetectorRef.detectChanges()})}selectEvalSet(e){this.selectedEvalSet=e,this.listEvalCases()}clearSelectedEvalSet(){if(this.showEvalHistory()){this.toggleEvalHistoryButton();return}this.selectedEvalSet=""}isAllSelected(){let e=this.selection.selected.length,A=this.dataSource.data.length;return e===A}toggleAllRows(){if(this.isAllSelected()){this.selection.clear();return}this.selection.select(...this.dataSource.data)}getEvalResultForCase(e){let A=this.currentEvalResultBySet.get(this.selectedEvalSet)?.filter(i=>i.evalId==e);if(!(!A||A.length==0))return A[0].finalEvalStatus}formatToolUses(e){let A=[];for(let i of e)A.push({name:i.name,args:i.args});return A}addEvalCaseResultToEvents(e,A){let i=A.evalMetricResultPerInvocation,n=-1;if(i)for(let o=0;on.evalId==e)[0],i=A.sessionId;this.sessionService.getSession(this.userId(),this.appName(),i).subscribe(n=>{this.addEvalCaseResultToEvents(n,A);let o=this.fromApiResultToSession(n);this.sessionSelected.emit(o)})}toggleEvalHistoryButton(){this.showEvalHistory.set(!this.showEvalHistory())}getEvalHistoryOfCurrentSet(){return this.appEvaluationResults[this.appName()][this.selectedEvalSet]}getEvalHistoryOfCurrentSetSorted(){let e=this.getEvalHistoryOfCurrentSet();return Object.keys(e).sort((n,o)=>o.localeCompare(n)).map(n=>({timestamp:n,evaluationResults:e[n]}))}getPassCountForCurrentResult(e){return e.filter(A=>A.finalEvalStatus==1).length}getFailCountForCurrentResult(e){return e.filter(A=>A.finalEvalStatus==2).length}formatTimestamp(e){let A=Number(e);if(isNaN(A))return"Invalid timestamp provided";let i=new Date(A*1e3);if(isNaN(i.getTime()))return"Invalid date created from timestamp";let n={month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0};return new Intl.DateTimeFormat("en-US",n).format(i)}getEvaluationStatusCardActionButtonIcon(e){return this.getEvalHistoryOfCurrentSet()[e].isToggled?"keyboard_arrow_up":"keyboard_arrow_down"}toggleHistoryStatusCard(e){this.getEvalHistoryOfCurrentSet()[e].isToggled=!this.getEvalHistoryOfCurrentSet()[e].isToggled}isEvaluationStatusCardToggled(e){return this.getEvalHistoryOfCurrentSet()[e].isToggled}generateHistoryEvaluationDatasource(e){return this.getEvalHistoryOfCurrentSet()[e].evaluationResults}getHistorySession(e){this.addEvalCaseResultToEvents(e.sessionDetails,e);let A=this.fromApiResultToSession(e.sessionDetails);this.sessionSelected.emit(A)}getEvalCase(e){this.evalService.getEvalCase(this.appName(),this.selectedEvalSet,e).subscribe(A=>{this.selectedEvalCase.set(A),this.evalCaseSelected.emit(A),this.evalSetIdSelected.emit(this.selectedEvalSet)})}resetEvalCase(){this.selectedEvalCase.set(null)}resetEvalResults(){this.currentEvalResultBySet.clear()}deleteEvalCase(e){this.evalService.deleteEvalCase(this.appName(),this.selectedEvalSet,e).subscribe(A=>{this.deletedEvalCaseIndex=this.evalCases.indexOf(e),this.selectedEvalCase.set(null),this.listEvalCases(),this.changeDetectorRef.detectChanges()})}getEvaluationResult(){this.evalService.listEvalResults(this.appName()).pipe(ta(e=>e.status===404&&e.statusText==="Not Found"?(this.shouldShowTab.emit(!1),se(null)):se([]))).subscribe(e=>{for(let A of e)this.evalService.getEvalResult(this.appName(),A).subscribe(i=>{this.appEvaluationResults[this.appName()]||(this.appEvaluationResults[this.appName()]={}),this.appEvaluationResults[this.appName()][i.evalSetId]||(this.appEvaluationResults[this.appName()][i.evalSetId]={});let n=i.creationTimestamp;this.appEvaluationResults[this.appName()][i.evalSetId][n]||(this.appEvaluationResults[this.appName()][i.evalSetId][n]={isToggled:!1,evaluationResults:[]});let o={isToggled:!1,evaluationResults:i.evalCaseResults.map(a=>({setId:a.id,evalId:a.evalId,finalEvalStatus:a.finalEvalStatus,evalMetricResults:a.evalMetricResults,evalMetricResultPerInvocation:a.evalMetricResultPerInvocation,sessionId:a.sessionId,sessionDetails:a.sessionDetails,overallEvalMetricResults:a.overallEvalMetricResults??[]}))};this.appEvaluationResults[this.appName()][i.evalSetId][n]=o,this.changeDetectorRef.detectChanges()})})}openEvalConfigDialog(){if(this.selection.selected.length==0){alert("No case selected!");return}this.dialog.open(O7,{maxWidth:"90vw",maxHeight:"90vh",data:{evalMetrics:this.evalMetrics}}).afterClosed().subscribe(A=>{A&&(this.evalMetrics=A,this.runEval())})}getEvalMetrics(e){if(!e||!e.evaluationResults||!e.evaluationResults.evaluationResults)return this.evalMetrics;let A=e.evaluationResults.evaluationResults;return A.length===0?this.evalMetrics:typeof A[0].overallEvalMetricResults>"u"||!A[0].overallEvalMetricResults||A[0].overallEvalMetricResults.length===0?this.evalMetrics:A[0].overallEvalMetricResults.map(n=>({metricName:n.metricName,threshold:n.threshold}))}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-eval-tab"]],viewQuery:function(A,i){A&1&&rs(i.checkboxes,bE,5),A&2&&Dr()},inputs:{appName:[1,"appName"],userId:[1,"userId"],sessionId:[1,"sessionId"]},outputs:{sessionSelected:"sessionSelected",shouldShowTab:"shouldShowTab",evalNotInstalledMsg:"evalNotInstalledMsg",evalCaseSelected:"evalCaseSelected",evalSetIdSelected:"evalSetIdSelected",shouldReturnToSession:"shouldReturnToSession"},features:[ti],decls:5,vars:4,consts:[[1,"eval-container"],[1,"eval-set-actions"],[2,"cursor","pointer",3,"click","matTooltip"],[1,"empty-eval-info"],[1,"info-title"],[1,"info-detail"],[1,"info-create",3,"click"],[1,"eval-set-row"],[1,"eval-set-row",3,"click"],[2,"display","flex"],[1,"material-symbols-outlined",2,"margin-right","10px","padding-top","16px"],[2,"font-family","Roboto","font-size","14px","padding","16px","padding-top","20px"],[2,"padding-top","20px","color","#9AA0A6"],[2,"color","white","cursor","pointer",3,"click"],[2,"color","#9AA0A6","padding-top","2px","cursor","pointer",3,"click"],[1,"save-session-btn"],[1,"evaluation-tab-header"],[1,"run-eval-btn",3,"click"],[1,"evaluation-history-icon",3,"click","matTooltip"],[1,"mat-table-container",2,"margin-top","16px"],["mat-table","",3,"dataSource"],["matColumnDef","select"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","evalId"],["mat-cell","","class","eval-case-id",3,"selected-eval-case","click",4,"matCellDef"],["matColumnDef","finalEvalStatus"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],[3,"change","checked","indeterminate"],["mat-cell",""],[3,"click","change","checked"],["mat-cell","",1,"eval-case-id",3,"click"],[3,"ngClass","matTooltip"],[3,"click","ngClass","matTooltip"],[1,"material-symbols-outlined"],[2,"padding-top","4px"],["mat-header-row",""],["mat-row",""],[1,"status-card"],[1,"status-card__overview"],[1,"status-card__info"],[1,"status-card__timestamp"],[1,"status-card__summary"],[1,"status-card__passed"],[1,"status-card__metrics"],[1,"status-card__action"],[3,"click"],[1,"status-card__history-cases"],[1,"status-card__separator"],[1,"status-card__failed"],[1,"status-card__metric"],[1,"status-card__history-case"],[3,"click","ngClass"],[1,"save-session-btn",3,"click"],[1,"save-session-btn-detail"],[1,"save-session-btn-text"],[1,"eval-spinner",3,"diameter","strokeWidth"]],template:function(A,i){A&1&&(m(0,"div",0),V(1,SHA,5,2,"div",1),V(2,xHA,8,3,"div"),V(3,NHA,3,0,"div"),V(4,AzA,9,4,"div"),w()),A&2&&(p(),W(i.selectedEvalSet==""?1:-1),p(),W(i.evalsets.length==0?2:-1),p(),W(i.evalsets.length>0&&i.selectedEvalSet==""?3:-1),p(),W(i.selectedEvalSet!=""?4:-1))},dependencies:[Fn,xa,tgA,ogA,ngA,agA,bE,igA,rgA,gs,sgA,lgA,ggA,cgA,B1],styles:[".eval-container[_ngcontent-%COMP%]{margin-top:20px;padding-left:25px;padding-right:25px}.eval-case-id[_ngcontent-%COMP%]{cursor:pointer}.eval-set-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between;color:var(--eval-tab-eval-set-actions-color);font-style:normal;font-weight:700;font-size:14px}.empty-eval-info[_ngcontent-%COMP%]{margin-top:12px;background-color:var(--eval-tab-empty-eval-info-background-color);border-radius:8px;box-shadow:0 2px 6px 2px var(--eval-tab-empty-eval-info-box-shadow-color1),0 1px 2px 0 var(--eval-tab-empty-eval-info-box-shadow-color2)}.info-title[_ngcontent-%COMP%]{color:var(--eval-tab-info-title-color);font-family:Roboto;font-size:14px;font-weight:500;padding-top:13px;padding-right:16px;padding-left:16px}.info-detail[_ngcontent-%COMP%]{color:var(--eval-tab-info-detail-color);font-family:Roboto;font-size:14px;font-weight:400;padding-top:13px;padding-right:16px;padding-left:16px;letter-spacing:.2px}.info-create[_ngcontent-%COMP%]{color:var(--eval-tab-info-create-color);font-size:14px;font-style:normal;font-weight:500;padding-right:16px;padding-left:16px;margin-top:19px;padding-bottom:16px;cursor:pointer}.eval-set-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;cursor:pointer}.selected-eval-case[_ngcontent-%COMP%]{font-weight:900;color:var(--eval-tab-selected-eval-case-color)}.save-session-btn[_ngcontent-%COMP%]{width:100%;background:linear-gradient(0deg,var(--eval-tab-save-session-btn-background-color1) 0%,var(--eval-tab-save-session-btn-background-color1) 100%),var(--eval-tab-save-session-btn-background-color2);border:none;border-radius:4px;margin-top:12px;cursor:pointer}.save-session-btn-detail[_ngcontent-%COMP%]{display:flex;padding:8px 16px 8px 12px;justify-content:center}.save-session-btn-text[_ngcontent-%COMP%]{padding-top:2px;color:var(--eval-tab-save-session-btn-text-color);font-family:Google Sans;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.run-eval-btn[_ngcontent-%COMP%]{border-radius:4px;border:1px solid var(--eval-tab-run-eval-btn-border-color);background-color:transparent;padding:8px 24px;margin-top:16px;color:var(--eval-tab-run-eval-btn-color);cursor:pointer}.run-eval-btn[_ngcontent-%COMP%]:hover{background-color:var(--eval-tab-run-eval-btn-hover-background-color)}.result-btn[_ngcontent-%COMP%]{display:flex;background-color:transparent;border-radius:4px;border:1px solid var(--eval-tab-result-btn-border-color);margin-top:4px;cursor:pointer}.result-btn[_ngcontent-%COMP%]:hover{background-color:var(--eval-tab-result-btn-hover-background-color)}.result-btn.pass[_ngcontent-%COMP%]{color:var(--eval-tab-result-btn-pass-color)}.result-btn.fail[_ngcontent-%COMP%]{color:var(--eval-tab-result-btn-fail-color)}.evaluation-tab-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.evaluation-history-icon[_ngcontent-%COMP%]{cursor:pointer;margin-top:4px}.status-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;border-radius:8px;background-color:var(--eval-tab-status-card-background-color);padding:12px 16px;margin-top:12px}.status-card__overview[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.status-card__info[_ngcontent-%COMP%]{display:flex;flex-direction:column}.status-card__timestamp[_ngcontent-%COMP%]{font-size:.9em;color:var(--eval-tab-status-card-timestamp-color);margin-bottom:5px}.status-card__summary[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:.95em;font-weight:500}.status-card__metrics[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:.75em;font-weight:300;margin-top:3px}.status-card__metric[_ngcontent-%COMP%]{width:180px;color:var(--eval-tab-status-card-metric-color)}.status-card__failed[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-failed-color)}.status-card__separator[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-separator-color);margin:0 8px}.status-card__passed[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-passed-color)}.status-card__action[_ngcontent-%COMP%]{display:flex;align-items:center}.status-card__action[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-action-mat-icon-color);cursor:pointer;transition:transform .2s ease-in-out}.status-card__action[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:hover{opacity:.8}.status-card__action[_ngcontent-%COMP%] .status-card__icon[_ngcontent-%COMP%]{color:var(--eval-tab-status-card-icon-color);font-size:1.2em;cursor:pointer}.status-card__action[_ngcontent-%COMP%] .status-card__icon[_ngcontent-%COMP%]:hover{opacity:.8}.status-card__history-cases[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-top:3px;justify-content:flex-start;width:100%}.status-card__history-case[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:15px}.eval-spinner[_ngcontent-%COMP%]{margin-top:12px}"]})};var q7=new yA("PendingEventService"),j7=class{};function ezA(t,e){t&1&&(m(0,"h2",0),K(1,"Events List"),w())}function tzA(t,e){t&1&&(m(0,"h2",0),K(1,"Send Response To Pending Event"),w())}function izA(t,e){t&1&&(m(0,"h2",4),K(1,"Events List"),w())}function nzA(t,e){t&1&&(m(0,"h2",4),K(1,"Send Response To Pending Event"),w())}function ozA(t,e){if(t&1){let A=JA();m(0,"div")(1,"p"),K(2,"Name"),w(),m(3,"p"),K(4),w(),m(5,"p"),K(6,"Args"),w(),m(7,"p"),K(8),w(),m(9,"mat-form-field",5)(10,"mat-label"),K(11,"Response"),w(),m(12,"textarea",6),ho("ngModelChange",function(n){Z(A);let o=v();return ao(o.selectedEvent.response,n)||(o.selectedEvent.response=n),X(n)}),w()()()}if(t&2){let A=v();p(4),qA(A.selectedEvent.name),p(4),qA(A.argsToJson(A.selectedEvent.args)),p(4),Qo("ngModel",A.selectedEvent.response)}}function azA(t,e){if(t&1){let A=JA();m(0,"button",7),tA("click",function(){Z(A);let n=v();return X(n.sendResponse())}),K(1),w()}if(t&2){let A=v();$("disabled",A.sending),p(),Se(" ",A.sending?"Sending...":"Send"," ")}}var V7=class t{dialogRef=h(bo);data=h(Ca);agentService=h(sg);pendingEventService=h(q7);selectedEvent=this.data.event;appName=this.data.appName;userId=this.data.userId;sessionId=this.data.sessionId;functionCallEventId=this.data.functionCallEventId;sending=!1;response=[];constructor(){}argsToJson(e){return JSON.stringify(e)}sendResponse(){this.sending=!0;let e={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:{role:"user",parts:[]},invocationId:this.data.invocationId};this.selectedEvent.response&&(e.functionCallEventId=this.functionCallEventId,e.newMessage.parts.push(this.pendingEventService.createFunctionResponse(this.selectedEvent.id,this.selectedEvent.name,{response:this.selectedEvent.response}))),this.agentService.runSse(e).subscribe({next:A=>nt(this,null,function*(){this.response.push(A)}),error:A=>console.error("SSE error:",A),complete:()=>{this.sending=!1,this.dialogRef.close({response:this.response,events:[this.selectedEvent]})}})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-pending-event-dialog"]],decls:10,vars:6,consts:[["mat-dialog-title",""],["mat-dialog-title","","class","dialog-title",4,"ngIf"],["mat-button","",3,"disabled"],["mat-button","","mat-dialog-close",""],["mat-dialog-title","",1,"dialog-title"],["appearance","outline",1,"response-textarea"],["matInput","",3,"ngModelChange","ngModel"],["mat-button","",3,"click","disabled"]],template:function(A,i){A&1&&(V(0,ezA,2,0,"h2",0),V(1,tzA,2,0,"h2",0),pt(2,izA,2,0,"h2",1)(3,nzA,2,0,"h2",1),m(4,"mat-dialog-content"),V(5,ozA,13,3,"div"),w(),m(6,"mat-dialog-actions"),V(7,azA,2,2,"button",2),m(8,"button",3),K(9,"Close"),w()()),A&2&&(W(i.selectedEvent?-1:0),p(),W(i.selectedEvent?1:-1),p(),$("ngIf",!i.selectedEvent),p(),$("ngIf",i.selectedEvent),p(2),W(i.selectedEvent?5:-1),p(2),W(i.selectedEvent&&i.selectedEvent.response?7:-1))},dependencies:[Da,rl,rr,No,Gg,wa,Nn,uo,fo,Sa,Ua,fn,B0],styles:[".response-textarea[_ngcontent-%COMP%]{min-width:500px;margin-top:15px}.dialog-title[_ngcontent-%COMP%]{font-weight:700;font-size:large}"]})};var zm=class t{constructor(e,A){this.dialogRef=e;this.data=A}onConfirm(){this.dialogRef.close(!0)}onCancel(){this.dialogRef.close(!1)}static \u0275fac=function(A){return new(A||t)(at(bo),at(Ca))};static \u0275cmp=kA({type:t,selectors:[["app-delete-session-dialog"]],decls:11,vars:4,consts:[[1,"confirm-delete-wrapper"],["mat-dialog-title",""],["align","end"],["mat-button","",3,"click"],["mat-button","","cdkFocusInitial","",3,"click"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"h2",1),K(2),w(),m(3,"mat-dialog-content")(4,"p"),K(5),w()(),m(6,"mat-dialog-actions",2)(7,"button",3),tA("click",function(){return i.onCancel()}),K(8),w(),m(9,"button",4),tA("click",function(){return i.onConfirm()}),K(10),w()()()),A&2&&(p(2),qA(i.data.title),p(3),qA(i.data.message),p(3),qA(i.data.cancelButtonText),p(2),qA(i.data.confirmButtonText))},dependencies:[Da,rr,Ua,fn],encapsulation:2})};var RK=["*"];function rzA(t,e){t&1&&Ke(0)}var szA=["tabListContainer"],gzA=["tabList"],lzA=["tabListInner"],czA=["nextPaginator"],CzA=["previousPaginator"],IzA=["content"];function dzA(t,e){}var BzA=["tabBodyWrapper"],EzA=["tabHeader"];function QzA(t,e){}function hzA(t,e){if(t&1&&pt(0,QzA,0,0,"ng-template",12),t&2){let A=v().$implicit;$("cdkPortalOutlet",A.templateLabel)}}function uzA(t,e){if(t&1&&K(0),t&2){let A=v().$implicit;qA(A.textLabel)}}function fzA(t,e){if(t&1){let A=JA();m(0,"div",7,2),tA("click",function(){let n=Z(A),o=n.$implicit,a=n.$index,r=v(),s=An(1);return X(r._handleClick(o,s,a))})("cdkFocusChange",function(n){let o=Z(A).$index,a=v();return X(a._tabFocusChanged(n,o))}),GA(2,"span",8)(3,"div",9),m(4,"span",10)(5,"span",11),V(6,hzA,1,1,null,12)(7,uzA,1,1),w()()()}if(t&2){let A=e.$implicit,i=e.$index,n=An(1),o=v();Po(A.labelClass),ne("mdc-tab--active",o.selectedIndex===i),$("id",o._getTabLabelId(A,i))("disabled",A.disabled)("fitInkBarToContent",o.fitInkBarToContent),ie("tabIndex",o._getTabIndex(i))("aria-posinset",i+1)("aria-setsize",o._tabs.length)("aria-controls",o._getTabContentId(i))("aria-selected",o.selectedIndex===i)("aria-label",A.ariaLabel||null)("aria-labelledby",!A.ariaLabel&&A.ariaLabelledby?A.ariaLabelledby:null),p(3),$("matRippleTrigger",n)("matRippleDisabled",A.disabled||o.disableRipple),p(3),W(A.templateLabel?6:7)}}function mzA(t,e){t&1&&Ke(0)}function pzA(t,e){if(t&1){let A=JA();m(0,"mat-tab-body",13),tA("_onCentered",function(){Z(A);let n=v();return X(n._removeTabBodyWrapperHeight())})("_onCentering",function(n){Z(A);let o=v();return X(o._setTabBodyWrapperHeight(n))})("_beforeCentering",function(n){Z(A);let o=v();return X(o._bodyCentered(n))}),w()}if(t&2){let A=e.$implicit,i=e.$index,n=v();Po(A.bodyClass),$("id",n._getTabContentId(i))("content",A.content)("position",A.position)("animationDuration",n.animationDuration)("preserveContent",n.preserveContent),ie("tabindex",n.contentTabIndex!=null&&n.selectedIndex===i?n.contentTabIndex:null)("aria-labelledby",n._getTabLabelId(A,i))("aria-hidden",n.selectedIndex!==i)}}var wzA=new yA("MatTabContent"),DzA=(()=>{class t{template=h(Tn);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matTabContent",""]],features:[dt([{provide:wzA,useExisting:t}])]})}return t})(),yzA=new yA("MatTabLabel"),mgA=new yA("MAT_TAB"),NK=(()=>{class t extends VH{_closestTab=h(mgA,{optional:!0});static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[dt([{provide:yzA,useExisting:t}]),It]})}return t})(),pgA=new yA("MAT_TAB_GROUP"),Om=(()=>{class t{_viewContainerRef=h(Oo);_closestTabGroup=h(pgA,{optional:!0});disabled=!1;get templateLabel(){return this._templateLabel}set templateLabel(A){this._setTemplateLabelInput(A)}_templateLabel;_explicitContent=void 0;_implicitContent;textLabel="";ariaLabel;ariaLabelledby;labelClass;bodyClass;id=null;_contentPortal=null;get content(){return this._contentPortal}_stateChanges=new XA;position=null;origin=null;isActive=!1;constructor(){h(Xn).load(dr)}ngOnChanges(A){(A.hasOwnProperty("textLabel")||A.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Is(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(A){A&&A._closestTab===this&&(this._templateLabel=A)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tab"]],contentQueries:function(i,n,o){if(i&1&&fa(o,NK,5)(o,DzA,7,Tn),i&2){let a;ce(a=Ce())&&(n.templateLabel=a.first),ce(a=Ce())&&(n._explicitContent=a.first)}},viewQuery:function(i,n){if(i&1&&ai(Tn,7),i&2){let o;ce(o=Ce())&&(n._implicitContent=o.first)}},hostAttrs:["hidden",""],hostVars:1,hostBindings:function(i,n){i&2&&ie("id",null)},inputs:{disabled:[2,"disabled","disabled",he],textLabel:[0,"label","textLabel"],ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass",id:"id"},exportAs:["matTab"],features:[dt([{provide:mgA,useExisting:t}]),ti],ngContentSelectors:RK,decls:1,vars:0,template:function(i,n){i&1&&(Yt(),gp(0,rzA,1,0,"ng-template"))},encapsulation:2})}return t})(),MK="mdc-tab-indicator--active",hgA="mdc-tab-indicator--no-transition",kK=class{_items;_currentItem;constructor(e){this._items=e}hide(){this._items.forEach(e=>e.deactivateInkBar()),this._currentItem=void 0}alignToElement(e){let A=this._items.find(n=>n.elementRef.nativeElement===e),i=this._currentItem;if(A!==i&&(i?.deactivateInkBar(),A)){let n=i?.elementRef.nativeElement.getBoundingClientRect?.();A.activateInkBar(n),this._currentItem=A}}},vzA=(()=>{class t{_elementRef=h(ge);_inkBarElement=null;_inkBarContentElement=null;_fitToContent=!1;get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(A){this._fitToContent!==A&&(this._fitToContent=A,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(A){let i=this._elementRef.nativeElement;if(!A||!i.getBoundingClientRect||!this._inkBarContentElement){i.classList.add(MK);return}let n=i.getBoundingClientRect(),o=A.width/n.width,a=A.left-n.left;i.classList.add(hgA),this._inkBarContentElement.style.setProperty("transform",`translateX(${a}px) scaleX(${o})`),i.getBoundingClientRect(),i.classList.remove(hgA),i.classList.add(MK),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this._elementRef.nativeElement.classList.remove(MK)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){let A=this._elementRef.nativeElement.ownerDocument||document,i=this._inkBarElement=A.createElement("span"),n=this._inkBarContentElement=A.createElement("span");i.className="mdc-tab-indicator",n.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",i.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){this._inkBarElement;let A=this._fitToContent?this._elementRef.nativeElement.querySelector(".mdc-tab__content"):this._elementRef.nativeElement;A.appendChild(this._inkBarElement)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",he]}})}return t})();var wgA=(()=>{class t extends vzA{elementRef=h(ge);disabled=!1;focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275dir=OA({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(i,n){i&2&&(ie("aria-disabled",!!n.disabled),ne("mat-mdc-tab-disabled",n.disabled))},inputs:{disabled:[2,"disabled","disabled",he]},features:[It]})}return t})(),ugA={passive:!0},bzA=650,MzA=100,kzA=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(Dt);_viewportRuler=h(Ls);_dir=h(Ro,{optional:!0});_ngZone=h(Oe);_platform=h(Ii);_sharedResizeObserver=h(Hp);_injector=h(ft);_renderer=h(_i);_animationsDisabled=ji();_eventCleanups;_scrollDistance=0;_selectedIndexChanged=!1;_destroyed=new XA;_showPaginationControls=!1;_disableScrollAfter=!0;_disableScrollBefore=!0;_tabLabelCount;_scrollDistanceChanged=!1;_keyManager;_currentTextContent;_stopScrolling=new XA;disablePagination=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(A){let i=isNaN(A)?0:A;this._selectedIndex!=i&&(this._selectedIndexChanged=!0,this._selectedIndex=i,this._keyManager&&this._keyManager.updateActiveItem(i))}_selectedIndex=0;selectFocusedIndex=new $A;indexFocused=new $A;constructor(){this._eventCleanups=this._ngZone.runOutsideAngular(()=>[this._renderer.listen(this._elementRef.nativeElement,"mouseleave",()=>this._stopInterval())])}ngAfterViewInit(){this._eventCleanups.push(this._renderer.listen(this._previousPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("before"),ugA),this._renderer.listen(this._nextPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("after"),ugA))}ngAfterContentInit(){let A=this._dir?this._dir.change:se("ltr"),i=this._sharedResizeObserver.observe(this._elementRef.nativeElement).pipe(Os(32),Bt(this._destroyed)),n=this._viewportRuler.change(150).pipe(Bt(this._destroyed)),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new s0(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(Math.max(this._selectedIndex,0)),Yn(o,{injector:this._injector}),fi(A,n,i,this._items.changes,this._itemsResized()).pipe(Bt(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager?.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(a=>{this.indexFocused.emit(a),this._setTabFocus(a)})}_itemsResized(){return typeof ResizeObserver!="function"?ja:this._items.changes.pipe(cn(this._items),Si(A=>new $i(i=>this._ngZone.runOutsideAngular(()=>{let n=new ResizeObserver(o=>i.next(o));return A.forEach(o=>n.observe(o.elementRef.nativeElement)),()=>{n.disconnect()}}))),Fg(1),Ze(A=>A.some(i=>i.contentRect.width>0&&i.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._eventCleanups.forEach(A=>A()),this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(A){if(!pa(A))switch(A.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){let i=this._items.get(this.focusIndex);i&&!i.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(A))}break;default:this._keyManager?.onKeydown(A)}}_onContentChanges(){let A=this._elementRef.nativeElement.textContent;A!==this._currentTextContent&&(this._currentTextContent=A||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(A){!this._isValidIndex(A)||this.focusIndex===A||!this._keyManager||this._keyManager.setActiveItem(A)}_isValidIndex(A){return this._items?!!this._items.toArray()[A]:!0}_setTabFocus(A){if(this._showPaginationControls&&this._scrollToLabel(A),this._items&&this._items.length){this._items.toArray()[A].focus();let i=this._tabListContainer.nativeElement;this._getLayoutDirection()=="ltr"?i.scrollLeft=0:i.scrollLeft=i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;let A=this.scrollDistance,i=this._getLayoutDirection()==="ltr"?-A:A;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(A){this._scrollTo(A)}_scrollHeader(A){let i=this._tabListContainer.nativeElement.offsetWidth,n=(A=="before"?-1:1)*i/3;return this._scrollTo(this._scrollDistance+n)}_handlePaginatorClick(A){this._stopInterval(),this._scrollHeader(A)}_scrollToLabel(A){if(this.disablePagination)return;let i=this._items?this._items.toArray()[A]:null;if(!i)return;let n=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:o,offsetWidth:a}=i.elementRef.nativeElement,r,s;this._getLayoutDirection()=="ltr"?(r=o,s=r+a):(s=this._tabListInner.nativeElement.offsetWidth-o,r=s-a);let g=this.scrollDistance,l=this.scrollDistance+n;rl&&(this.scrollDistance+=Math.min(s-l,r-g))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{let A=this._tabListInner.nativeElement.scrollWidth,i=this._elementRef.nativeElement.offsetWidth,n=A-i>=5;n||(this.scrollDistance=0),n!==this._showPaginationControls&&(this._showPaginationControls=n,this._changeDetectorRef.markForCheck())}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=this.scrollDistance==0,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){let A=this._tabListInner.nativeElement.scrollWidth,i=this._tabListContainer.nativeElement.offsetWidth;return A-i||0}_alignInkBarToSelectedTab(){let A=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=A?A.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(A,i){i&&i.button!=null&&i.button!==0||(this._stopInterval(),Ap(bzA,MzA).pipe(Bt(fi(this._stopScrolling,this._destroyed))).subscribe(()=>{let{maxScrollDistance:n,distance:o}=this._scrollHeader(A);(o===0||o>=n)&&this._stopInterval()}))}_scrollTo(A){if(this.disablePagination)return{maxScrollDistance:0,distance:0};let i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,A)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,inputs:{disablePagination:[2,"disablePagination","disablePagination",he],selectedIndex:[2,"selectedIndex","selectedIndex",en]},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"}})}return t})(),SzA=(()=>{class t extends kzA{_items;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;ariaLabel;ariaLabelledby;disableRipple=!1;ngAfterContentInit(){this._inkBar=new kK(this._items),super.ngAfterContentInit()}_itemSelected(A){A.preventDefault()}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Bi(t)))(n||t)}})();static \u0275cmp=kA({type:t,selectors:[["mat-tab-header"]],contentQueries:function(i,n,o){if(i&1&&fa(o,wgA,4),i&2){let a;ce(a=Ce())&&(n._items=a)}},viewQuery:function(i,n){if(i&1&&ai(szA,7)(gzA,7)(lzA,7)(czA,5)(CzA,5),i&2){let o;ce(o=Ce())&&(n._tabListContainer=o.first),ce(o=Ce())&&(n._tabList=o.first),ce(o=Ce())&&(n._tabListInner=o.first),ce(o=Ce())&&(n._nextPaginator=o.first),ce(o=Ce())&&(n._previousPaginator=o.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(i,n){i&2&&ne("mat-mdc-tab-header-pagination-controls-enabled",n._showPaginationControls)("mat-mdc-tab-header-rtl",n._getLayoutDirection()=="rtl")},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],disableRipple:[2,"disableRipple","disableRipple",he]},features:[It],ngContentSelectors:RK,decls:13,vars:10,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-labels"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(i,n){if(i&1){let o=JA();Yt(),m(0,"div",5,0),tA("click",function(){return Z(o),X(n._handlePaginatorClick("before"))})("mousedown",function(r){return Z(o),X(n._handlePaginatorPress("before",r))})("touchend",function(){return Z(o),X(n._stopInterval())}),GA(2,"div",6),w(),m(3,"div",7,1),tA("keydown",function(r){return Z(o),X(n._handleKeydown(r))}),m(5,"div",8,2),tA("cdkObserveContent",function(){return Z(o),X(n._onContentChanges())}),m(7,"div",9,3),Ke(9),w()()(),m(10,"div",10,4),tA("mousedown",function(r){return Z(o),X(n._handlePaginatorPress("after",r))})("click",function(){return Z(o),X(n._handlePaginatorClick("after"))})("touchend",function(){return Z(o),X(n._stopInterval())}),GA(12,"div",6),w()}i&2&&(ne("mat-mdc-tab-header-pagination-disabled",n._disableScrollBefore),$("matRippleDisabled",n._disableScrollBefore||n.disableRipple),p(3),ne("_mat-animation-noopable",n._animationsDisabled),p(2),ie("aria-label",n.ariaLabel||null)("aria-labelledby",n.ariaLabelledby||null),p(5),ne("mat-mdc-tab-header-pagination-disabled",n._disableScrollAfter),$("matRippleDisabled",n._disableScrollAfter||n.disableRipple))},dependencies:[ig,FJ],styles:[`.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-divider-height, 1px);border-bottom-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-group-inverted-header .mat-mdc-tab-label-container{border-bottom:none;border-top-style:solid;border-top-width:var(--mat-tab-divider-height, 1px);border-top-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-labels,.mat-mdc-tab-labels.cdk-drop-list{min-height:var(--mat-tab-container-height, 48px)}.mat-mdc-tab::before{margin:5px}@media(forced-colors: active){.mat-mdc-tab[aria-disabled=true]{color:GrayText}} -`],encapsulation:2})}return t})(),xzA=new yA("MAT_TABS_CONFIG"),fgA=(()=>{class t extends Yg{_host=h(SK);_ngZone=h(Oe);_centeringSub=Jn.EMPTY;_leavingSub=Jn.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(cn(this._host._isCenterPosition())).subscribe(A=>{this._host._content&&A&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=OA({type:t,selectors:[["","matTabBodyHost",""]],features:[It]})}return t})(),SK=(()=>{class t{_elementRef=h(ge);_dir=h(Ro,{optional:!0});_ngZone=h(Oe);_injector=h(ft);_renderer=h(_i);_diAnimationsDisabled=ji();_eventCleanups;_initialized=!1;_fallbackTimer;_positionIndex;_dirChangeSubscription=Jn.EMPTY;_position;_previousPosition;_onCentering=new $A;_beforeCentering=new $A;_afterLeavingCenter=new $A;_onCentered=new $A(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(A){this._positionIndex=A,this._computePositionAnimationState()}constructor(){if(this._dir){let A=h(Dt);this._dirChangeSubscription=this._dir.change.subscribe(i=>{this._computePositionAnimationState(i),A.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),Yn(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(A=>A()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let A=this._elementRef.nativeElement,i=n=>{n.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),n.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(A,"transitionstart",n=>{n.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(A,"transitionend",i),this._renderer.listen(A,"transitioncancel",i)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let A=this._position==="center";this._beforeCentering.emit(A),A&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(A){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",A)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(A=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=A=="ltr"?"left":"right":this._positionIndex>0?this._position=A=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),Yn(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tab-body"]],viewQuery:function(i,n){if(i&1&&ai(fgA,5)(IzA,5),i&2){let o;ce(o=Ce())&&(n._portalHost=o.first),ce(o=Ce())&&(n._contentElement=o.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(i,n){i&2&&ie("inert",n._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(i,n){i&1&&(m(0,"div",1,0),pt(2,dzA,0,0,"ng-template",2),w()),i&2&&ne("mat-tab-body-content-left",n._position==="left")("mat-tab-body-content-right",n._position==="right")("mat-tab-body-content-can-animate",n._position==="center"||n._previousPosition==="center")},dependencies:[fgA,BC],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto;transform:none;visibility:hidden}.mat-tab-body-animating>.mat-mdc-tab-body-content,.mat-mdc-tab-body-active>.mat-mdc-tab-body-content{visibility:visible}.mat-tab-body-animating>.mat-mdc-tab-body-content{min-height:1px}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-tab-body-content-can-animate{transition:transform var(--mat-tab-animation-duration) 1ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable .mat-tab-body-content-can-animate{transition:none}.mat-tab-body-content-left{transform:translate3d(-100%, 0, 0)}.mat-tab-body-content-right{transform:translate3d(100%, 0, 0)} -`],encapsulation:2})}return t})(),W7=(()=>{class t{_elementRef=h(ge);_changeDetectorRef=h(Dt);_ngZone=h(Oe);_tabsSubscription=Jn.EMPTY;_tabLabelSubscription=Jn.EMPTY;_tabBodySubscription=Jn.EMPTY;_diAnimationsDisabled=ji();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new ol;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(A){this._fitInkBarToContent=A,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(A){this._indexToSelect=isNaN(A)?null:A}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(A){let i=A+"";this._animationDuration=/^\d+$/.test(i)?A+"ms":i}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(A){this._contentTabIndex=isNaN(A)?null:A}_contentTabIndex=null;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(A){let i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),A&&i.add("mat-tabs-with-background",`mat-background-${A}`),this._backgroundColor=A}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new $A;focusChange=new $A;animationDone=new $A;selectedTabChange=new $A(!0);_groupId;_isServer=!h(Ii).isBrowser;constructor(){let A=h(xzA,{optional:!0});this._groupId=h(an).getId("mat-tab-group-"),this.animationDuration=A&&A.animationDuration?A.animationDuration:"500ms",this.disablePagination=A&&A.disablePagination!=null?A.disablePagination:!1,this.dynamicHeight=A&&A.dynamicHeight!=null?A.dynamicHeight:!1,A?.contentTabIndex!=null&&(this.contentTabIndex=A.contentTabIndex),this.preserveContent=!!A?.preserveContent,this.fitInkBarToContent=A&&A.fitInkBarToContent!=null?A.fitInkBarToContent:!1,this.stretchTabs=A&&A.stretchTabs!=null?A.stretchTabs:!0,this.alignTabs=A&&A.alignTabs!=null?A.alignTabs:null}ngAfterContentChecked(){let A=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=A){let i=this._selectedIndex==null;if(!i){this.selectedTabChange.emit(this._createChangeEvent(A));let n=this._tabBodyWrapper.nativeElement;n.style.minHeight=n.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((n,o)=>n.isActive=o===A),i||(this.selectedIndexChange.emit(A),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,n)=>{i.position=n-A,this._selectedIndex!=null&&i.position==0&&!i.origin&&(i.origin=A-this._selectedIndex)}),this._selectedIndex!==A&&(this._selectedIndex=A,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let A=this._clampTabIndex(this._indexToSelect);if(A===this._selectedIndex){let i=this._tabs.toArray(),n;for(let o=0;o{i[A].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(A))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(cn(this._allTabs)).subscribe(A=>{this._tabs.reset(A.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(A){let i=this._tabHeader;i&&(i.focusIndex=A)}_focusChanged(A){this._lastFocusedTabIndex=A,this.focusChange.emit(this._createChangeEvent(A))}_createChangeEvent(A){let i=new xK;return i.index=A,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[A]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=fi(...this._tabs.map(A=>A._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(A){return Math.min(this._tabs.length-1,Math.max(A||0,0))}_getTabLabelId(A,i){return A.id||`${this._groupId}-label-${i}`}_getTabContentId(A){return`${this._groupId}-content-${A}`}_setTabBodyWrapperHeight(A){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=A;return}let i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=A+"px")}_removeTabBodyWrapperHeight(){let A=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=A.clientHeight,A.style.height="",this._ngZone.run(()=>this.animationDone.emit())}_handleClick(A,i,n){i.focusIndex=n,A.disabled||(this.selectedIndex=n)}_getTabIndex(A){let i=this._lastFocusedTabIndex??this.selectedIndex;return A===i?0:-1}_tabFocusChanged(A,i){A&&A!=="mouse"&&A!=="touch"&&(this._tabHeader.focusIndex=i)}_bodyCentered(A){A&&this._tabBodies?.forEach((i,n)=>i._setActiveClass(n===this._selectedIndex))}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0"||this.animationDuration==="0ms"}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=kA({type:t,selectors:[["mat-tab-group"]],contentQueries:function(i,n,o){if(i&1&&fa(o,Om,5),i&2){let a;ce(a=Ce())&&(n._allTabs=a)}},viewQuery:function(i,n){if(i&1&&ai(BzA,5)(EzA,5)(SK,5),i&2){let o;ce(o=Ce())&&(n._tabBodyWrapper=o.first),ce(o=Ce())&&(n._tabHeader=o.first),ce(o=Ce())&&(n._tabBodies=o)}},hostAttrs:[1,"mat-mdc-tab-group"],hostVars:11,hostBindings:function(i,n){i&2&&(ie("mat-align-tabs",n.alignTabs),Po("mat-"+(n.color||"primary")),wn("--mat-tab-animation-duration",n.animationDuration),ne("mat-mdc-tab-group-dynamic-height",n.dynamicHeight)("mat-mdc-tab-group-inverted-header",n.headerPosition==="below")("mat-mdc-tab-group-stretch-tabs",n.stretchTabs))},inputs:{color:"color",fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",he],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",he],alignTabs:[0,"mat-align-tabs","alignTabs"],dynamicHeight:[2,"dynamicHeight","dynamicHeight",he],selectedIndex:[2,"selectedIndex","selectedIndex",en],headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:[2,"contentTabIndex","contentTabIndex",en],disablePagination:[2,"disablePagination","disablePagination",he],disableRipple:[2,"disableRipple","disableRipple",he],preserveContent:[2,"preserveContent","preserveContent",he],backgroundColor:"backgroundColor",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"]},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},exportAs:["matTabGroup"],features:[dt([{provide:pgA,useExisting:t}])],ngContentSelectors:RK,decls:9,vars:8,consts:[["tabHeader",""],["tabBodyWrapper",""],["tabNode",""],[3,"indexFocused","selectFocusedIndex","selectedIndex","disableRipple","disablePagination","aria-label","aria-labelledby"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"id","mdc-tab--active","class","disabled","fitInkBarToContent"],[1,"mat-mdc-tab-body-wrapper"],["role","tabpanel",3,"id","class","content","position","animationDuration","preserveContent"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"click","cdkFocusChange","id","disabled","fitInkBarToContent"],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"cdkPortalOutlet"],["role","tabpanel",3,"_onCentered","_onCentering","_beforeCentering","id","content","position","animationDuration","preserveContent"]],template:function(i,n){if(i&1){let o=JA();Yt(),m(0,"mat-tab-header",3,0),tA("indexFocused",function(r){return Z(o),X(n._focusChanged(r))})("selectFocusedIndex",function(r){return Z(o),X(n.selectedIndex=r)}),Ut(2,fzA,8,17,"div",4,Li),w(),V(4,mzA,1,0),m(5,"div",5,1),Ut(7,pzA,1,10,"mat-tab-body",6,Li),w()}i&2&&($("selectedIndex",n.selectedIndex||0)("disableRipple",n.disableRipple)("disablePagination",n.disablePagination),cp("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby),p(2),Jt(n._tabs),p(2),W(n._isServer?4:-1),p(),ne("_mat-animation-noopable",n._animationsDisabled()),p(2),Jt(n._tabs))},dependencies:[SzA,wgA,d9,ig,Yg,SK],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:100ms}._mat-animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._mat-animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mat-mdc-tab-ripple.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mat-tab-container-height, 48px);font-family:var(--mat-tab-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-tab-active-indicator-height, 2px);border-radius:var(--mat-tab-active-indicator-shape, 0)}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-hover-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-active-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-focus-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-disabled-ripple-color, var(--mat-sys-on-surface-variant))}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-inactive-label-text-color, var(--mat-sys-on-surface));display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-focus-indicator::before{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important} -`],encapsulation:2})}return t})(),xK=class{index;tab};var Z7=new yA("LOGO_COMPONENT");var RzA={noSessionsFound:"No sessions found",readonlyChip:"Read-only",filterSessionsLabel:"Search using session ID"},DgA=new yA("Session Tab Messages",{factory:()=>RzA});function NzA(t,e){if(t&1&&(m(0,"div",1)(1,"mat-form-field",4)(2,"mat-label"),K(3),w(),m(4,"mat-icon",5),K(5,"filter_list"),w(),GA(6,"input",6),w()()),t&2){let A=v();p(3),qA(A.i18n.filterSessionsLabel),p(3),$("formControl",A.filterControl)}}function FzA(t,e){t&1&&(m(0,"div",2),GA(1,"mat-progress-bar",7),w())}function _zA(t,e){if(t&1&&(m(0,"div",3),K(1),w()),t&2){let A=v();p(),qA(A.i18n.noSessionsFound)}}function LzA(t,e){if(t&1&&(m(0,"div",14)(1,"mat-icon"),K(2,"visibility"),w(),K(3),w()),t&2){let A=v(3);p(3),Se(" ",A.i18n.readonlyChip," ")}}function GzA(t,e){if(t&1){let A=JA();m(0,"div",10),tA("click",function(){let n=Z(A).$implicit,o=v(2);return X(o.getSession(n.id))}),m(1,"div",11)(2,"div",12),K(3),w(),m(4,"div",13),K(5),w()(),V(6,LzA,4,1,"div",14),ri(7,"async"),w()}if(t&2){let A=e.$implicit,i=v(2);$("ngClass",A.id===i.sessionId?"session-item current":"session-item"),p(3),qA(A.id),p(2),qA(i.getDate(A)),p(),W(Ci(7,4,i.sessionService.canEdit(i.userId,A))===!1?6:-1)}}function KzA(t,e){t&1&&(m(0,"div",2),GA(1,"mat-progress-bar",7),w())}function UzA(t,e){if(t&1){let A=JA();V(0,KzA,2,0,"div",2),m(1,"div",15)(2,"button",16),tA("click",function(){Z(A);let n=v(2);return X(n.loadMoreSessions())}),K(3,"Load more"),w()()}if(t&2){v(2);let A=Vs(3);W(A?0:-1)}}function JzA(t,e){if(t&1&&(m(0,"div",8),Ut(1,GzA,8,6,"div",9,Li),w(),V(3,UzA,4,1),ri(4,"async")),t&2){let A=v();p(),Jt(A.sessionList),p(2),W(Ci(4,1,A.isSessionFilteringEnabled)&&A.canLoadMoreSessions?3:-1)}}var Xh=class t{userId="";appName="";sessionId="";sessionSelected=new $A;sessionReloaded=new $A;SESSIONS_PAGE_LIMIT=100;sessionList=[];canLoadMoreSessions=!1;pageToken="";filterControl=new ks("");refreshSessionsSubject=new XA;getSessionSubject=new XA;reloadSessionSubject=new XA;route=h(ag);changeDetectorRef=h(Dt);sessionService=h(El);uiStateService=h(Ql);i18n=h(DgA);featureFlagService=h(vr);isSessionFilteringEnabled=this.featureFlagService.isSessionFilteringEnabled();isLoadingMoreInProgress=jA(!1);constructor(){this.filterControl.valueChanges.pipe(Os(300)).subscribe(()=>{this.pageToken="",this.sessionList=[],this.refreshSessionsSubject.next()}),this.refreshSessionsSubject.pipe(oi(()=>{this.uiStateService.setIsSessionListLoading(!0)}),Si(()=>{let e=this.filterControl.value||void 0;return this.isSessionFilteringEnabled?this.sessionService.listSessions(this.userId,this.appName,{filter:e,pageToken:this.pageToken,pageSize:this.SESSIONS_PAGE_LIMIT}).pipe(ta(()=>se({items:[],nextPageToken:""}))):this.sessionService.listSessions(this.userId,this.appName).pipe(ta(()=>se({items:[],nextPageToken:""})))}),oi(({items:e,nextPageToken:A})=>{this.sessionList=Array.from(new Map([...this.sessionList,...e].map(i=>[i.id,i])).values()).sort((i,n)=>Number(n.lastUpdateTime)-Number(i.lastUpdateTime)),this.pageToken=A??"",this.canLoadMoreSessions=!!A,this.changeDetectorRef.markForCheck()})).subscribe(()=>{this.isLoadingMoreInProgress.set(!1),this.uiStateService.setIsSessionListLoading(!1)},()=>{this.isLoadingMoreInProgress.set(!1),this.uiStateService.setIsSessionListLoading(!1)}),this.getSessionSubject.pipe(oi(()=>{this.uiStateService.setIsSessionLoading(!0)}),f2(this.featureFlagService.isInfinityMessageScrollingEnabled()),Si(([e,A])=>this.sessionService.getSession(this.userId,this.appName,e).pipe(fe(i=>({response:i,isInfinityScrollingEnabled:A}))).pipe(ta(()=>se(null)))),oi(e=>{if(!e)return;let A=this.fromApiResultToSession(e.response);e.isInfinityScrollingEnabled&&A.id&&this.uiStateService.lazyLoadMessages(A.id,{pageSize:100,pageToken:""}).pipe(zo()).subscribe(),this.sessionSelected.emit(A),this.changeDetectorRef.markForCheck()})).subscribe(e=>{this.uiStateService.setIsSessionLoading(!1)},e=>{this.uiStateService.setIsSessionLoading(!1)}),this.reloadSessionSubject.pipe(f2(this.featureFlagService.isInfinityMessageScrollingEnabled()),Si(([e,A])=>this.sessionService.getSession(this.userId,this.appName,e).pipe(fe(i=>({response:i,isInfinityScrollingEnabled:A}))).pipe(ta(()=>se(null)))),oi(e=>{if(!e)return;let A=this.fromApiResultToSession(e.response);e.isInfinityScrollingEnabled&&A.id&&this.uiStateService.lazyLoadMessages(A.id,{pageSize:100,pageToken:""},!0).pipe(zo()).subscribe(),this.sessionReloaded.emit(A),this.changeDetectorRef.markForCheck()})).subscribe()}ngOnInit(){this.featureFlagService.isSessionFilteringEnabled().subscribe(e=>{if(e){let A=this.route.snapshot.queryParams.session;A&&this.filterControl.setValue(A)}}),setTimeout(()=>{this.refreshSessionsSubject.next()},500)}getSession(e){this.getSessionSubject.next(e)}loadMoreSessions(){this.isLoadingMoreInProgress.set(!0),this.refreshSessionsSubject.next()}getDate(e){let A=e.lastUpdateTime;return new Date(A*1e3).toLocaleString()}fromApiResultToSession(e){return{id:e?.id??"",appName:e?.appName??"",userId:e?.userId??"",state:e?.state??[],events:e?.events??[]}}reloadSession(e){this.reloadSessionSubject.next(e)}refreshSession(e){let A=null;if(this.sessionList.length>0){let i=this.sessionList.findIndex(n=>n.id==e);i==this.sessionList.length-1&&(i=-1),A=this.sessionList[i+1]}return this.isSessionFilteringEnabled?this.filterControl.setValue(""):(this.sessionList=[],this.refreshSessionsSubject.next()),A}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-session-tab"]],inputs:{userId:"userId",appName:"appName",sessionId:"sessionId"},outputs:{sessionSelected:"sessionSelected",sessionReloaded:"sessionReloaded"},decls:8,vars:7,consts:[[1,"session-wrapper"],[1,"session-filter-container"],[1,"loading-spinner-container"],[1,"empty-state"],["appearance","outline",1,"session-filter"],["matPrefix",""],["matInput","",3,"formControl"],["mode","indeterminate"],[1,"session-tab-container",2,"margin-top","16px"],[3,"ngClass"],[3,"click","ngClass"],[1,"session-info"],[1,"session-id"],[1,"session-date"],[1,"readonly-badge"],[1,"load-more"],["mat-button","","color","primary",3,"click"]],template:function(A,i){if(A&1&&(m(0,"div",0),V(1,NzA,7,2,"div",1),ri(2,"async"),Ur(3),ri(4,"async"),V(5,FzA,2,0,"div",2)(6,_zA,2,1,"div",3)(7,JzA,5,3),w()),A&2){p(),W(Ci(2,2,i.isSessionFilteringEnabled)?1:-1),p(2);let n=_g(Ci(4,4,i.uiStateService.isSessionListLoading()));p(2),W(n&&!i.isLoadingMoreInProgress()?5:!n&&i.sessionList.length===0?6:7)}},dependencies:[gs,v7,Fn,Yr,No,Gg,S9,gl,wa,Nn,uo,fo,r0,v1,Ns,fn,Il,ls],styles:[".session-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px;font-size:14px;font-weight:700;color:var(--session-tab-session-wrapper-color);display:flex;flex-direction:column;overflow:hidden;height:100%}.session-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:initial;padding-top:1em;text-align:center;font-weight:400;font-style:italic}.session-wrapper[_ngcontent-%COMP%] .session-filter-container[_ngcontent-%COMP%]{background-color:var(--session-tab-session-filter-container-background-color);border-radius:8px;padding:16px;margin-bottom:16px;margin-top:16px}.session-wrapper[_ngcontent-%COMP%] .session-filter[_ngcontent-%COMP%]{width:100%}.session-wrapper[_ngcontent-%COMP%] .session-filter[_ngcontent-%COMP%] .mdc-floating-label--float-above{background-color:var(--session-tab-session-filter-container-background-color)}.session-tab-container[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.session-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;border:none;background-color:var(--session-tab-session-item-background-color);border-radius:8px;margin-bottom:4px;cursor:pointer}.session-item[_ngcontent-%COMP%]:hover{background-color:var(--session-tab-session-item-hover-background-color)}.session-item.current[_ngcontent-%COMP%]{background-color:var(--session-tab-session-item-current-background-color)}.session-item[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{margin-right:11px}.session-id[_ngcontent-%COMP%]{color:var(--session-tab-session-id-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.25px}.session-date[_ngcontent-%COMP%]{color:var(--session-tab-session-date-color);font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.3px}.session-info[_ngcontent-%COMP%]{padding:11px}.loading-spinner-container[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;margin-top:2em;width:100%}.load-more[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-top:1em}.readonly-badge[_ngcontent-%COMP%]{color:var(--chat-readonly-badge-color);background-color:var(--chat-readonly-badge-background-color);border-radius:4px;padding:1px 6px;display:flex;align-items:center;margin-right:8px;font-size:12px;line-height:16px;gap:4px;white-space:nowrap}.readonly-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;padding-top:1px;flex-shrink:0}"]})};var YzA={stateIsEmpty:"State is empty"},ygA=new yA("State Tab Messages",{factory:()=>YzA});function TzA(t,e){if(t&1&&(m(0,"div",1),K(1),w()),t&2){let A=v();p(),qA(A.i18n.stateIsEmpty)}}function HzA(t,e){if(t&1&&(m(0,"div"),GA(1,"ngx-json-viewer",2),w()),t&2){let A=v();p(),$("json",A.sessionState)}}var X7=class t{sessionState={};i18n=h(ygA);get isEmptyState(){return!this.sessionState||Object.keys(this.sessionState).length===0}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-state-tab"]],inputs:{sessionState:"sessionState"},decls:3,vars:1,consts:[[1,"state-wrapper"],[1,"empty-state"],[3,"json"]],template:function(A,i){A&1&&(m(0,"div",0),V(1,TzA,2,1,"div",1)(2,HzA,2,1,"div"),w()),A&2&&(p(),W(i.isEmptyState?1:2))},dependencies:[E0,Y2],styles:[".state-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px;margin-top:16px}.state-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;font-style:italic}"]})};function zzA(t,e){t&1&&Di(0,"div",8)}function OzA(t,e){if(t&1&&(li(0,"span",14),K(1),Ei()),t&2){let A=v().$implicit,i=v();wn("left",i.getRelativeStart(A.span)+5,"%"),p(),Se("",(i.toMs(A.span.end_time)-i.toMs(A.span.start_time)).toFixed(2),"ms")}}function PzA(t,e){if(t&1){let A=JA();li(0,"div",5),p2("click",function(){let n=Z(A).$implicit,o=v();return X(o.selectRow(n))})("mouseenter",function(){let n=Z(A).$implicit,o=v();return X(o.onHover(n))})("mouseleave",function(){Z(A);let n=v();return X(n.onHoverOut())}),li(1,"div",6)(2,"div",7),Ut(3,zzA,1,0,"div",8,wB),Ei(),li(5,"span",9),K(6),Ei(),li(7,"div",10),K(8),Ei()(),li(9,"div",11)(10,"div",12),K(11),Ei(),V(12,OzA,2,3,"span",13),Ei()()}if(t&2){let A=e.$implicit,i=v();ne("selected",i.rowSelected(A)),p(3),Jt(i.getArray(A.level)),p(2),ne("is-event-row",i.isEventRow(A)),p(),Se(" ",i.getSpanIcon(A.span.name)," "),p(),wn("width",400-A.level*20,"px"),ne("is-event-row",i.isEventRow(A)),p(),Se(" ",A.span.name," "),p(2),wn("left",i.getRelativeStart(A.span),"%")("width",i.getRelativeWidth(A.span),"%"),p(),Se(" ",(i.toMs(A.span.end_time)-i.toMs(A.span.start_time)).toFixed(2),"ms "),p(),W(i.getRelativeWidth(A.span)<10?12:-1)}}var $7=class t{spans=[];invocationId="";tree=[];eventData;baseStartTimeMs=0;totalDurationMs=1;flatTree=[];traceLabelIconMap=new Map([["Invocation","start"],["agent_run","robot"],["invoke_agent","robot_2"],["tool","build"],["execute_tool","build"],["call_llm","chat"]]);selectedRow=void 0;traceService=h(T2);constructor(){}ngOnInit(){this.tree=this.buildSpanTree(this.spans),this.flatTree=this.flattenTree(this.tree);let e=this.getGlobalTimes(this.spans);this.baseStartTimeMs=e.start,this.totalDurationMs=e.duration,this.traceService.selectedTraceRow$.subscribe(A=>this.selectedRow=A),this.traceService.eventData$.subscribe(A=>this.eventData=A)}buildSpanTree(e){let A=e.map(o=>cA({},o)),i=new Map,n=[];return A.forEach(o=>i.set(o.span_id,o)),A.forEach(o=>{if(o.parent_span_id&&i.has(o.parent_span_id)){let a=i.get(o.parent_span_id);a.children=a.children||[],a.children.push(o)}else n.push(o)}),n}getGlobalTimes(e){let A=Math.min(...e.map(n=>this.toMs(n.start_time))),i=Math.max(...e.map(n=>this.toMs(n.end_time)));return{start:A,duration:i-A}}toMs(e){return e/1e6}getRelativeStart(e){return(this.toMs(e.start_time)-this.baseStartTimeMs)/this.totalDurationMs*100}getRelativeWidth(e){return(this.toMs(e.end_time)-this.toMs(e.start_time))/this.totalDurationMs*100}flattenTree(e,A=0){return e.flatMap(n=>[{span:n,level:A},...n.children?this.flattenTree(n.children,A+1):[]])}getSpanIcon(e){for(let[A,i]of this.traceLabelIconMap.entries())if(e.startsWith(A))return i;return"start"}getArray(e){return Array.from({length:e})}selectRow(e){if(this.selectedRow&&this.selectedRow.span_id==e.span.span_id){this.traceService.selectedRow(void 0),this.traceService.setHoveredMessages(void 0,this.invocationId);return}this.traceService.selectedRow(e.span),this.traceService.setHoveredMessages(e.span,this.invocationId)}rowSelected(e){return this.selectedRow==e.span}isEventRow(e){if(!e.span.attributes)return!1;let A=e?.span.attributes["gcp.vertex.agent.event_id"];return!!(A&&this.eventData&&this.eventData.has(A))}onHover(e){this.traceService.setHoveredMessages(e.span,this.invocationId)}onHoverOut(){this.traceService.setHoveredMessages(void 0,this.invocationId),this.selectedRow&&this.traceService.setHoveredMessages(this.selectedRow,this.invocationId)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-trace-tree"]],inputs:{spans:"spans",invocationId:"invocationId"},decls:8,vars:1,consts:[[2,"margin-top","15px"],[1,"invocation-id-container"],[1,"invocation-id"],[1,"trace-container"],[1,"trace-row",3,"selected"],[1,"trace-row",3,"click","mouseenter","mouseleave"],[1,"trace-row-left"],[1,"trace-indent"],[1,"indent-connector"],[1,"material-symbols-outlined",2,"margin-right","8px"],[1,"trace-label"],[1,"trace-bar-container"],[1,"trace-bar"],[1,"short-trace-bar-duration",3,"left"],[1,"short-trace-bar-duration"]],template:function(A,i){A&1&&(li(0,"div",0)(1,"div",1),K(2,"Invocation ID: "),li(3,"div",2),K(4),Ei()(),li(5,"div",3),Ut(6,PzA,13,16,"div",4,Li),Ei()()),A&2&&(p(4),qA(i.invocationId),p(2),Jt(i.flatTree))},styles:[".trace-container[_ngcontent-%COMP%]{width:100%;white-space:nowrap;font-size:12px}.trace-label[_ngcontent-%COMP%]{width:400px;color:var(--trace-tree-trace-label-color);font-family:Google Sans Mono,monospace;font-size:13px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:0px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-bar-container[_ngcontent-%COMP%]{width:100%;position:relative;height:16px}.trace-bar[_ngcontent-%COMP%]{position:absolute;height:18px;background-color:var(--trace-tree-trace-bar-background-color);border-radius:4px;padding-left:4px;overflow:hidden;font-size:11px;line-height:16px;color:var(--trace-tree-trace-bar-color);font-family:Google Sans}.short-trace-bar-duration[_ngcontent-%COMP%]{position:absolute;color:var(--trace-tree-short-trace-bar-duration-color)}.trace-duration[_ngcontent-%COMP%]{color:var(--trace-tree-trace-duration-color);font-weight:400;margin-left:4px}.trace-row[_ngcontent-%COMP%]{display:flex;align-items:stretch;position:relative;height:32px;align-items:center;cursor:pointer}.trace-row[_ngcontent-%COMP%]:hover{background-color:var(--trace-tree-trace-row-hover-background-color)}.trace-row.selected[_ngcontent-%COMP%]{background-color:var(--trace-tree-trace-row-selected-background-color)}.trace-indent[_ngcontent-%COMP%]{display:flex;flex-shrink:0;height:100%}.indent-connector[_ngcontent-%COMP%]{width:20px;position:relative;height:100%}.vertical-line[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:9px;width:1px;background-color:var(--trace-tree-vertical-line-background-color)}.horizontal-line[_ngcontent-%COMP%]{position:absolute;top:50%;left:9px;width:10px;height:1px;background-color:var(--trace-tree-horizontal-line-background-color)}.trace-row-left[_ngcontent-%COMP%]{display:flex;width:50%}.invocation-id-container[_ngcontent-%COMP%]{color:var(--trace-tree-invocation-id-container-color);font-size:14px;font-style:normal;font-weight:700;line-height:20px;letter-spacing:0px;margin-bottom:5px}.invocation-id[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace}.trace-row-left[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .trace-row-left[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{color:var(--trace-tree-trace-row-left-span-div-color)}.trace-row-left[_ngcontent-%COMP%] .is-event-row[_ngcontent-%COMP%]{color:var(--trace-tree-trace-row-left-is-event-row-color)}"]})};var jzA={noInvocationsFound:"No invocations found",invocationsTitle:"Invocations"},vgA=new yA("Trace Tab Messages",{factory:()=>jzA});function qzA(t,e){if(t&1&&(m(0,"div",1),K(1),w()),t&2){let A=v();p(),qA(A.i18n.noInvocationsFound)}}function VzA(t,e){if(t&1&&(m(0,"div",4)(1,"mat-expansion-panel")(2,"mat-expansion-panel-header")(3,"mat-panel-title"),K(4),w()(),GA(5,"app-trace-tree",5),w()()),t&2){let A=e.$implicit,i=v(2);p(4),Se(" ",i.invocToUserMsg.get(A.key)," "),p(),$("spans",A.value)("invocationId",i.findInvocIdFromTraceId(A.key))}}function WzA(t,e){if(t&1&&(m(0,"h2",2),K(1),w(),m(2,"div",3),Ut(3,VzA,6,3,"div",4,Li),ri(5,"keyvalue"),w()),t&2){let A=v();p(),qA(A.i18n.invocationsTitle),p(2),Jt(yU(5,1,A.invocTraces,A.mapOrderPreservingSort))}}var Ab=class t{traceData=[];invocTraces=new Map;invocToUserMsg=new Map;i18n=h(vgA);constructor(){}ngOnInit(){}ngOnChanges(e){"traceData"in e&&this.rebuildTrace()}rebuildTrace(){this.invocTraces=this.traceData.reduce((e,A)=>{let i=A.trace_id,n=e.get(i);return n?(n.push(A),n.sort((o,a)=>o.start_time-a.start_time)):e.set(i,[A]),e},new Map);for(let[e,A]of this.invocTraces)this.invocToUserMsg.set(e,this.findUserMsgFromInvocGroup(A))}getArray(e){return Array.from({length:e})}findUserMsgFromInvocGroup(e){let A=e?.find(i=>i.attributes!==void 0&&"gcp.vertex.agent.invocation_id"in i.attributes&&"gcp.vertex.agent.llm_request"in i.attributes);if(!A)return"[no invocation id found]";try{return JSON.parse(A.attributes["gcp.vertex.agent.llm_request"]).contents.filter(o=>o.role=="user").at(-1)?.parts[0]?.text??"[attachment]"}catch{return"[error parsing request]"}}findInvocIdFromTraceId(e){return this.invocTraces.get(e)?.find(i=>i.attributes!==void 0&&"gcp.vertex.agent.invocation_id"in i.attributes).attributes["gcp.vertex.agent.invocation_id"]}mapOrderPreservingSort=(e,A)=>0;static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-trace-tab"]],inputs:{traceData:"traceData"},features:[ti],decls:3,vars:1,consts:[[1,"trace-wrapper"],[1,"empty-state"],["mat-dialog-title","",1,"trace-title"],[1,"trace-list-wrapper"],[1,"trace-item"],[3,"spans","invocationId"]],template:function(A,i){A&1&&(m(0,"div",0),V(1,qzA,2,1,"div",1)(2,WzA,6,4),w()),A&2&&(p(),W(i.invocTraces.size===0?1:2))},dependencies:[Da,Zk,LO,GO,$7,Bp],styles:[".trace-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px}.trace-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{padding-top:1em;text-align:center;font-style:italic}.trace-container[_ngcontent-%COMP%]{width:100%;white-space:nowrap;font-size:12px}.trace-title[_ngcontent-%COMP%]{color:var(--trace-tab-trace-title-color);font-size:14px;font-style:normal;font-weight:700;line-height:20px;letter-spacing:0px}.trace-label[_ngcontent-%COMP%]{width:400px;color:var(--trace-tab-trace-label-color);text-overflow:ellipsis;font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:0px}.trace-bar-container[_ngcontent-%COMP%]{width:50vw;position:relative;height:16px}.trace-bar[_ngcontent-%COMP%]{position:absolute;height:18px;background-color:var(--trace-tab-trace-bar-background-color);border-radius:4px;padding-left:4px;overflow:hidden;font-size:11px;line-height:16px;color:var(--trace-tab-trace-bar-color);font-family:Google Sans}.trace-duration[_ngcontent-%COMP%]{color:var(--trace-tab-trace-duration-color);font-weight:400;margin-left:4px}.trace-row[_ngcontent-%COMP%]{display:flex;align-items:stretch;position:relative;height:32px}.trace-indent[_ngcontent-%COMP%]{display:flex;flex-shrink:0;height:100%}.indent-connector[_ngcontent-%COMP%]{width:20px;position:relative;height:100%}.vertical-line[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:9px;width:1px;background-color:var(--trace-tab-vertical-line-background-color)}.horizontal-line[_ngcontent-%COMP%]{position:absolute;top:50%;left:9px;width:10px;height:1px;background-color:var(--trace-tab-horizontal-line-background-color)}.trace-item[_ngcontent-%COMP%]{margin-top:5px;--mat-expansion-container-background-color: var(--trace-tab-trace-item-container-background-color);--mat-expansion-header-focus-state-layer-color: var(--trace-tab-trace-item-header-focus-state-layer-color);--mat-expansion-header-description-color: var(--trace-tab-trace-item-header-description-color);--mat-expansion-header-text-size: 15}.trace-item[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded:focus{background-color:var(--trace-tab-mat-expansion-panel-header-focus-background-color)}.trace-item[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded{background-color:var(--trace-tab-mat-expansion-panel-header-background-color)}.trace-item[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded:hover{background-color:var(--trace-tab-mat-expansion-panel-header-hover-background-color)} .mat-expansion-panel-header-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden} .mat-expansion-panel-header-description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}"]})};var ZzA={agentDevelopmentKitLabel:"Agent Development Kit",collapsePanelTooltip:"Collapse panel",traceTabLabel:"Trace",eventsTabLabel:"Events",stateTabLabel:"State",artifactsTabLabel:"Artifacts",sessionsTabLabel:"Sessions",evalTabLabel:"Eval",selectEventAriaLabel:"Select event",eventDetailsTabLabel:"Event",requestDetailsTabLabel:"Request",responseDetailsTabLabel:"Response",responseIsNotAvailable:"Response is not available",requestIsNotAvailable:"Request is not available"},bgA=new yA("Side Panel Messages",{factory:()=>ZzA});var XzA=["evalTabContainer"];function $zA(t,e){t&1&&on(0)}function AOA(t,e){if(t&1&&(m(0,"div"),pt(1,$zA,1,0,"ng-container",13),m(2,"div",14),K(3,"Powered by Agent Development Kit"),w()()),t&2){let A=v(2);p(),$("ngComponentOutlet",A.logoComponent)}}function eOA(t,e){if(t&1&&(GA(0,"img",15),K(1)),t&2){let A=v(2);p(),Se(" ",A.i18n.agentDevelopmentKitLabel," ")}}function tOA(t,e){if(t&1&&(m(0,"mat-option",21),K(1),w()),t&2){let A=e.$implicit;$("value",A),p(),qA(A)}}function iOA(t,e){t&1&&Ut(0,tOA,2,2,"mat-option",21,Li),t&2&&Jt(e)}function nOA(t,e){if(t&1&&(m(0,"mat-option",21),K(1),w()),t&2){let A=v(3);$("value",A.selectedAppControl().value),p(),qA(A.selectedAppControl().value)}}function oOA(t,e){if(t&1){let A=JA();m(0,"div",22)(1,"mat-icon",23),tA("click",function(){Z(A);let n=v(3);return X(n.openAddItemDialog.emit(!0))}),K(2,"add"),w(),m(3,"mat-icon",24),tA("click",function(){Z(A);let n=v(3);return X(!n.disableBuilderIcon()&&n.enterBuilderMode.emit(!0))}),K(4,"edit"),w()()}if(t&2){let A=v(3);p(3),wn("cursor",A.disableBuilderIcon()?"not-allowed":"pointer")("opacity",A.disableBuilderIcon()?"0.5":"1")("margin-right",32,"px"),$("matTooltip",A.disableBuilderIcon()?"This agent was not built by builder":"Edit in Builder Mode")}}function aOA(t,e){if(t&1){let A=JA();m(0,"div",12)(1,"div",16)(2,"mat-select",17),tA("selectionChange",function(n){Z(A);let o=v(2);return X(o.appSelectionChange.emit(n))})("openedChange",function(){Z(A);let n=v(2);return X(n.agentSearchControl.setValue(""))}),m(3,"mat-option",18),tA("click",function(n){return Z(A),X(n.stopPropagation())}),m(4,"mat-form-field",19),tA("click",function(n){return Z(A),X(n.stopPropagation())}),m(5,"input",20),tA("click",function(n){return Z(A),X(n.stopPropagation())})("keydown",function(n){return Z(A),X(n.stopPropagation())}),w()()(),V(6,iOA,2,0),ri(7,"async"),V(8,nOA,2,2,"mat-option",21),w()(),V(9,oOA,5,7,"div",22),w()}if(t&2){let A,i=v(2);p(2),$("placeholder",i.isLoadingApps()()?"Loading...":"Select an agent")("formControl",i.selectedAppControl()),p(),$("value",null),p(2),$("formControl",i.agentSearchControl),p(),W((A=Ci(7,7,i.filteredApps$))?6:-1,A),p(2),W(i.selectedAppControl().value&&i.isLoadingApps()()?8:-1),p(),W(i.isBuilderMode()?-1:9)}}function rOA(t,e){if(t&1){let A=JA();m(0,"div",6)(1,"div",7)(2,"div",8)(3,"div",9),V(4,AOA,4,1,"div")(5,eOA,2,1),w(),m(6,"div",10),GA(7,"app-theme-toggle"),m(8,"span",11),tA("click",function(){Z(A);let n=v();return X(n.closePanel.emit())}),K(9,"left_panel_close"),w()()()()(),V(10,aOA,10,9,"div",12),ri(11,"async")}if(t&2){let A=v();p(4),W(A.logoComponent?4:5),p(4),$("matTooltip",D1(A.i18n.collapsePanelTooltip)),p(2),W(Ci(11,4,A.isApplicationSelectorEnabledObs())?10:-1)}}function sOA(t,e){t&1&&(m(0,"div",2),GA(1,"mat-progress-spinner",25),w())}function gOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.sessionsTabLabel)}}function lOA(t,e){t&1&&on(0)}function cOA(t,e){if(t&1&&(m(0,"mat-tab",27),pt(1,gOA,2,1,"ng-template",28)(2,lOA,1,0,"ng-container",30),w()),t&2){v();let A=An(16);p(2),$("ngTemplateOutlet",A)}}function COA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.traceTabLabel)}}function IOA(t,e){if(t&1&&(m(0,"mat-tab",27),pt(1,COA,2,1,"ng-template",28),GA(2,"app-trace-tab",32),w()),t&2){let A=v(2);p(2),$("traceData",A.traceData())}}function dOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(2);p(),qA(A.i18n.stateTabLabel)}}function BOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.artifactsTabLabel)}}function EOA(t,e){if(t&1&&(m(0,"mat-tab"),pt(1,BOA,2,1,"ng-template",28),GA(2,"app-artifact-tab",33),w()),t&2){let A=v(2);p(2),$("artifacts",A.artifacts())}}function QOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.sessionsTabLabel)}}function hOA(t,e){t&1&&on(0)}function uOA(t,e){if(t&1&&(m(0,"mat-tab",27),pt(1,QOA,2,1,"ng-template",28)(2,hOA,1,0,"ng-container",30),w()),t&2){v();let A=An(16);p(2),$("ngTemplateOutlet",A)}}function fOA(t,e){if(t&1&&(m(0,"span",31),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.evalTabLabel)}}function mOA(t,e){t&1&&(m(0,"mat-tab"),pt(1,fOA,2,1,"ng-template",28),on(2,null,1),w())}function pOA(t,e){if(t&1){let A=JA();m(0,"app-session-tab",34),tA("sessionSelected",function(n){Z(A);let o=v(2);return X(o.sessionSelected.emit(n))})("sessionReloaded",function(n){Z(A);let o=v(2);return X(o.sessionReloaded.emit(n))}),w()}if(t&2){let A=v(2);$("userId",A.userId())("appName",A.appName())("sessionId",A.sessionId())}}function wOA(t,e){if(t&1){let A=JA();m(0,"div",3)(1,"mat-tab-group",26),tA("selectedTabChange",function(n){Z(A);let o=v();return X(o.tabChange.emit(n))}),Ur(2),ri(3,"async"),V(4,cOA,3,1,"mat-tab",27),V(5,IOA,3,1,"mat-tab",27),ri(6,"async"),m(7,"mat-tab"),pt(8,dOA,2,1,"ng-template",28),GA(9,"app-state-tab",29),w(),V(10,EOA,3,1,"mat-tab"),ri(11,"async"),V(12,uOA,3,1,"mat-tab",27),V(13,mOA,4,0,"mat-tab"),ri(14,"async"),w(),pt(15,pOA,1,3,"ng-template",null,0,w2),w()}if(t&2){let A=v(),i=Vs(2);$("hidden",i);let n=Ci(3,7,A.isSessionsTabReorderingEnabledObs);p(4),W(n?4:-1),p(),W(Ci(6,9,A.isTraceEnabledObs)?5:-1),p(4),$("sessionState",A.currentSessionState()),p(),W(Ci(11,11,A.isArtifactsTabEnabledObs)?10:-1),p(2),W(n?-1:12),p(),W(Ci(14,13,A.isEvalEnabledObs)?13:-1)}}function DOA(t,e){if(t&1){let A=JA();m(0,"div",47),tA("click",function(){Z(A);let n=v(3);return X(n.openImageDialog.emit(n.rawSvgString()))}),w()}if(t&2){let A=v(3);$("innerHtml",A.renderedEventGraph(),al)}}function yOA(t,e){if(t&1&&(m(0,"div",41),V(1,DOA,1,1,"div",46),w()),t&2){let A=v(2);p(),W(A.renderedEventGraph()?1:-1)}}function vOA(t,e){t&1&&(m(0,"div",48),GA(1,"mat-progress-spinner",25),w())}function bOA(t,e){if(t&1&&(m(0,"div",49),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.requestIsNotAvailable)}}function MOA(t,e){if(t&1&&(m(0,"div",42),GA(1,"ngx-json-viewer",43),w()),t&2){let A=v(3);p(),$("json",A.llmRequest())}}function kOA(t,e){if(t&1&&(m(0,"mat-tab",40),V(1,vOA,2,0,"div",48),ri(2,"async"),aC(3,bOA,2,1,"div",49)(4,MOA,2,1,"div",42),w()),t&2){let A=v(2);$("label",D1(A.i18n.requestDetailsTabLabel)),p(),W(Ci(2,3,A.uiStateService.isEventRequestResponseLoading())===!0?1:A.llmRequest()?4:3)}}function SOA(t,e){t&1&&(m(0,"div",48),GA(1,"mat-progress-spinner",25),w())}function xOA(t,e){if(t&1&&(m(0,"div",49),K(1),w()),t&2){let A=v(3);p(),qA(A.i18n.responseIsNotAvailable)}}function ROA(t,e){if(t&1&&(m(0,"div",42),GA(1,"ngx-json-viewer",43),w()),t&2){let A=v(3);p(),$("json",A.llmResponse())}}function NOA(t,e){if(t&1&&(m(0,"mat-tab",40),V(1,SOA,2,0,"div",48),ri(2,"async"),aC(3,xOA,2,1,"div",49)(4,ROA,2,1,"div",42),w()),t&2){let A=v(2);$("label",D1(A.i18n.responseDetailsTabLabel)),p(),W(Ci(2,3,A.uiStateService.isEventRequestResponseLoading())===!0?1:A.llmResponse()?4:3)}}function FOA(t,e){if(t&1&&(m(0,"mat-tab",44)(1,"div",42),GA(2,"ngx-json-viewer",43),w()()),t&2){let A,i=v(2);p(2),$("json",(A=i.selectedEvent())==null||A.actions==null?null:A.actions.stateDelta)}}function _OA(t,e){if(t&1&&(m(0,"mat-tab",45),GA(1,"app-artifact-tab",33),w()),t&2){let A=v(2);p(),$("artifacts",A.artifactDeltaArray())}}function LOA(t,e){if(t&1){let A=JA();m(0,"div",4)(1,"div",35)(2,"div",36)(3,"mat-paginator",37),tA("page",function(n){Z(A);let o=v();return X(o.page.emit(n))}),w(),m(4,"button",38)(5,"mat-icon",39),tA("click",function(){Z(A);let n=v();return X(n.closeSelectedEvent.emit())}),K(6,"close"),w()()()(),m(7,"div")(8,"mat-tab-group")(9,"mat-tab",40),V(10,yOA,2,1,"div",41),m(11,"div",42),GA(12,"ngx-json-viewer",43),w()(),V(13,kOA,5,5,"mat-tab",40),ri(14,"async"),V(15,NOA,5,5,"mat-tab",40),ri(16,"async"),V(17,FOA,3,1,"mat-tab",44),V(18,_OA,2,1,"mat-tab",45),w()()()}if(t&2){let A,i,n,o=v(),a=Vs(2);$("hidden",a),p(3),$("length",o.eventData().size)("pageSize",1)("pageIndex",o.selectedEventIndex()),ie("aria-label",o.i18n.selectEventAriaLabel),p(6),$("label",D1(o.i18n.eventDetailsTabLabel)),p(),W(((A=o.selectedEvent())==null?null:A.author)!=="user"?10:-1),p(2),$("json",o.selectedEvent()),p(),W(Ci(14,13,o.uiStateService.isEventRequestResponseLoading())===!0||o.llmRequest()&&o.Object.keys(o.llmRequest()).length>0?13:-1),p(2),W(Ci(16,15,o.uiStateService.isEventRequestResponseLoading())===!0||o.llmResponse()&&o.Object.keys(o.llmResponse()).length>0?15:-1),p(2),W(!((i=o.selectedEvent())==null||i.actions==null)&&i.actions.stateDelta&&o.Object.keys((i=o.selectedEvent())==null||i.actions==null?null:i.actions.stateDelta).length>0?17:-1),p(),W(!((n=o.selectedEvent())==null||n.actions==null)&&n.actions.artifactDelta&&o.Object.keys((n=o.selectedEvent())==null||n.actions==null?null:n.actions.artifactDelta).length>0?18:-1)}}var $h=class t{Object=Object;appName=rt("");userId=rt("");sessionId=rt("");traceData=rt([]);eventData=rt(new Map);currentSessionState=rt();artifacts=rt([]);selectedEvent=rt();selectedEventIndex=rt();renderedEventGraph=rt();rawSvgString=rt(null);llmRequest=rt();llmResponse=rt();showSidePanel=rt(!1);isApplicationSelectorEnabledObs=rt(se(!1));apps$=rt(se([]));isLoadingApps=rt(jA(!1));selectedAppControl=rt(new ks("",{nonNullable:!0}));isBuilderMode=rt(!1);disableBuilderIcon=rt(!1);closePanel=jo();appSelectionChange=jo();tabChange=jo();sessionSelected=jo();sessionReloaded=jo();evalCaseSelected=jo();evalSetIdSelected=jo();returnToSession=jo();evalNotInstalled=jo();page=jo();closeSelectedEvent=jo();openImageDialog=jo();openAddItemDialog=jo();enterBuilderMode=jo();sessionTabComponent=ca(Xh);evalTabComponent=ca($c);evalTabContainer=ca("evalTabContainer",{read:Oo});logoComponent=h(Z7,{optional:!0});i18n=h(bgA);featureFlagService=h(vr);evalTabComponentClass=h(P7,{optional:!0});environmentInjector=h(Gr);uiStateService=h(Ql);destroyRef=h(qa);isAlwaysOnSidePanelEnabledObs=this.featureFlagService.isAlwaysOnSidePanelEnabled();isTraceEnabledObs=this.featureFlagService.isTraceEnabled();isArtifactsTabEnabledObs=this.featureFlagService.isArtifactsTabEnabled();isEvalEnabledObs=this.featureFlagService.isEvalEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isMessageFileUploadEnabledObs=this.featureFlagService.isMessageFileUploadEnabled();isManualStateUpdateEnabledObs=this.featureFlagService.isManualStateUpdateEnabled();isBidiStreamingEnabledObs=this.featureFlagService.isBidiStreamingEnabled;isSessionsTabReorderingEnabledObs=this.featureFlagService.isSessionsTabReorderingEnabled();agentSearchControl=new ks("",{nonNullable:!0});filteredApps$=$n(this.apps$).pipe(Si(e=>Ir([e,this.agentSearchControl.valueChanges.pipe(cn(""))])),fe(([e,A])=>{if(!e||!A||A.trim()==="")return e;let i=A.toLowerCase().trim();return e.filter(n=>n.toLowerCase().startsWith(i))}));artifactDeltaArray=Ue(()=>{let e=this.selectedEvent()?.actions?.artifactDelta;if(!e||Object.keys(e).length===0)return[];let A=[];for(let[i,n]of Object.entries(e))A.push({id:i,versionId:1,data:n.data||"",mimeType:n.mimeType||"",mediaType:O4(n.mimeType||"")});return A});ngAfterViewInit(){setTimeout(()=>{this.initEvalTab()},500)}initEvalTab(){this.isEvalEnabledObs.pipe(zo()).subscribe(e=>{if(e){let A=this.evalTabContainer()?.createComponent(this.evalTabComponentClass??$c,{environmentInjector:this.environmentInjector});if(!A)return;or(this.environmentInjector,()=>{Ga(()=>{A.setInput("appName",this.appName()),A.setInput("userId",this.userId()),A.setInput("sessionId",this.sessionId())})}),A.instance.sessionSelected.subscribe(i=>{this.sessionSelected.emit(i)}),A.instance.evalCaseSelected.subscribe(i=>{this.evalCaseSelected.emit(i)}),A.instance.evalSetIdSelected.subscribe(i=>{this.evalSetIdSelected.emit(i)}),A.instance.shouldReturnToSession.subscribe(i=>{this.returnToSession.emit(i)}),A.instance.evalNotInstalledMsg.subscribe(i=>{this.evalNotInstalled.emit(i)})}})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-side-panel"]],viewQuery:function(A,i){A&1&&rs(i.sessionTabComponent,Xh,5)(i.evalTabComponent,$c,5)(i.evalTabContainer,XzA,5,Oo),A&2&&Dr(3)},inputs:{appName:[1,"appName"],userId:[1,"userId"],sessionId:[1,"sessionId"],traceData:[1,"traceData"],eventData:[1,"eventData"],currentSessionState:[1,"currentSessionState"],artifacts:[1,"artifacts"],selectedEvent:[1,"selectedEvent"],selectedEventIndex:[1,"selectedEventIndex"],renderedEventGraph:[1,"renderedEventGraph"],rawSvgString:[1,"rawSvgString"],llmRequest:[1,"llmRequest"],llmResponse:[1,"llmResponse"],showSidePanel:[1,"showSidePanel"],isApplicationSelectorEnabledObs:[1,"isApplicationSelectorEnabledObs"],apps$:[1,"apps$"],isLoadingApps:[1,"isLoadingApps"],selectedAppControl:[1,"selectedAppControl"],isBuilderMode:[1,"isBuilderMode"],disableBuilderIcon:[1,"disableBuilderIcon"]},outputs:{closePanel:"closePanel",appSelectionChange:"appSelectionChange",tabChange:"tabChange",sessionSelected:"sessionSelected",sessionReloaded:"sessionReloaded",evalCaseSelected:"evalCaseSelected",evalSetIdSelected:"evalSetIdSelected",returnToSession:"returnToSession",evalNotInstalled:"evalNotInstalled",page:"page",closeSelectedEvent:"closeSelectedEvent",openImageDialog:"openImageDialog",openAddItemDialog:"openAddItemDialog",enterBuilderMode:"enterBuilderMode"},decls:8,vars:9,consts:[["sessionsTabBody",""],["evalTabContainer",""],[1,"loading-spinner-container"],[1,"tabs-container",3,"hidden"],[1,"details-panel-container",3,"hidden"],[1,"resize-handler"],[2,"margin-top","20px","margin-left","20px","display","flex"],[2,"width","100%"],[1,"drawer-header"],[1,"drawer-logo"],[2,"display","flex","align-items","center","gap","8px"],[1,"material-symbols-outlined",2,"color","#c4c7c5","cursor","pointer","margin-right","15px",3,"click","matTooltip"],[1,"app-actions"],[4,"ngComponentOutlet"],[1,"powered-by-adk"],["src","assets/ADK-512-color.svg","width","32px","height","32px"],[1,"app-select-container"],["panelClass","wide-agent-dropdown-panel",1,"app-select",3,"selectionChange","openedChange","placeholder","formControl"],[1,"search-option",3,"click","value"],["subscriptSizing","dynamic",1,"agent-search-field",3,"click"],["matInput","","placeholder","Search agents...",3,"click","keydown","formControl"],[1,"app-name-option",3,"value"],[1,"mode-toggle-container"],["matTooltip","Create new agent","matTooltipPosition","below",2,"cursor","pointer","margin-right","16px",3,"click"],[3,"click","matTooltip"],["mode","indeterminate","diameter","50"],[3,"selectedTabChange"],[1,"tabs-header"],["mat-tab-label",""],[3,"sessionState"],[4,"ngTemplateOutlet"],[1,"tab-label"],[3,"traceData"],[3,"artifacts"],[3,"sessionSelected","sessionReloaded","userId","appName","sessionId"],[1,"details-content"],[2,"display","flex","justify-content","flex-end","margin-top","10px"],[1,"event-paginator",3,"page","length","pageSize","pageIndex"],["mat-mini-fab",""],[3,"click"],[3,"label"],[1,"event-graph-container"],[1,"json-viewer-container"],[3,"json"],["label","State"],["label","Artifact"],[3,"innerHtml"],[3,"click","innerHtml"],[1,"request-response-loading-spinner-container"],[1,"request-response-empty-state"]],template:function(A,i){if(A&1&&(V(0,rOA,12,6),ri(1,"async"),Ur(2),ri(3,"async"),V(4,sOA,2,0,"div",2),V(5,wOA,17,15,"div",3),V(6,LOA,19,17,"div",4),GA(7,"div",5)),A&2){W(Ci(1,4,i.isAlwaysOnSidePanelEnabledObs)===!1?0:-1),p(2);let n=_g(Ci(3,6,i.uiStateService.isSessionLoading()));p(2),W(n?4:-1),p(),W(i.appName()!=""&&i.showSidePanel()?5:-1),p(),W(i.selectedEvent()&&i.showSidePanel()?6:-1)}},dependencies:[Nn,uo,fo,D2,sl,xa,W7,Om,NK,Lh,Ab,X7,sw,Xh,Rz,Tp,Fn,E0,Y2,Hr,Bl,r0,v1,B1,No,wa,ls],styles:[".drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center;--mat-button-filled-container-color: var(--side-panel-button-filled-container-color);--mat-button-filled-label-text-color: var(--side-panel-button-filled-label-text-color)}.drawer-header[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;color:var(--side-panel-mat-icon-color);cursor:pointer;display:flex;align-items:center;justify-content:center}.tabs-container[_ngcontent-%COMP%]{width:100%;margin-top:20px}.tab-label[_ngcontent-%COMP%]{font-size:14px}.resize-handler[_ngcontent-%COMP%]{background:var(--side-panel-resize-handler-background-color);width:4px;border-radius:4px;position:absolute;display:block;height:20%;top:40%;right:0;z-index:9999;cursor:ew-resize}.json-viewer-container[_ngcontent-%COMP%]{margin:10px}.event-paginator[_ngcontent-%COMP%]{margin-top:-8px;margin-right:auto;background-color:inherit;display:flex;justify-content:center}[_nghost-%COMP%] .mat-mdc-paginator-page-size{display:none}.details-panel-container[_ngcontent-%COMP%]{position:absolute;width:100%;height:98%;left:0;right:0;bottom:0;background:var(--side-panel-details-panel-container-background-color);display:inline-block;justify-content:center;align-items:center;z-index:10}.details-content[_ngcontent-%COMP%]{color:var(--side-panel-details-content-color);font-size:14px}.event-graph-container[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:16px;display:flex;justify-content:center;max-height:33%;cursor:pointer}.event-graph-container[_ngcontent-%COMP%] svg{width:100%;height:100%;display:block;object-fit:contain}.event-graph-container[_ngcontent-%COMP%] svg text{font-family:Google Sans Mono,monospace;font-size:11px}.drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:9px}.drawer-logo[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:500;line-height:24px;letter-spacing:.1px}.powered-by-adk[_ngcontent-%COMP%]{font-size:10px;color:var(--side-panel-powered-by-adk-color);text-align:right;margin-top:-5px}.app-select[_ngcontent-%COMP%]{width:100%}.app-select-container[_ngcontent-%COMP%]{width:60%;margin-top:12px;background-color:var(--side-panel-app-select-container-background-color);margin-left:10px;height:30px;display:flex;justify-content:space-between;padding-left:20px;padding-right:20px;border-radius:10px;padding-top:5px}.app-select-container[_ngcontent-%COMP%]{--mat-select-placeholder-text-color: var(--side-panel-select-placeholder-text-color);--mat-select-enabled-trigger-text-color: var(--side-panel-select-enabled-trigger-text-color);--mat-select-enabled-arrow-color: var(--side-panel-select-enabled-arrow-color)}.app-name-option[_ngcontent-%COMP%]{color:var(--side-panel-app-name-option-color);font-family:Google Sans Mono,monospace;font-style:normal;font-weight:400;padding-left:12px;padding-right:12px}.app-select[_ngcontent-%COMP%]{color:var(--side-panel-app-name-option-color);font-family:Google Sans Mono,monospace;font-style:normal;font-weight:400;padding-left:unset}.mode-toggle-container[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:20px}.build-mode-button[_ngcontent-%COMP%]{margin:0 4px}.build-mode-button.mat-mdc-unelevated-button[_ngcontent-%COMP%]{height:30px}.app-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:12px;margin-left:10px}.loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}.request-response-loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em}.request-response-empty-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em;font-style:italic}[_nghost-%COMP%] .mat-mdc-tooltip .mdc-tooltip__surface{max-width:250px;white-space:wrap;font-size:11px}[_nghost-%COMP%] .wide-agent-dropdown-panel{min-width:300px;max-width:600px;max-height:400px}[_nghost-%COMP%] .wide-agent-dropdown-panel .mat-mdc-option{white-space:normal;line-height:1.4;height:auto;min-height:48px;padding:8px 16px}[_nghost-%COMP%] .wide-agent-dropdown-panel .search-option{position:sticky!important;top:0!important;z-index:1000!important;background-color:var(--mat-select-panel-background-color, white)!important;padding:8px 16px!important;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));min-height:auto!important;height:auto!important;box-shadow:0 2px 4px #0000001a;opacity:1!important}[_nghost-%COMP%] .wide-agent-dropdown-panel .search-option:hover{background-color:var(--mat-select-panel-background-color, white)!important}[_nghost-%COMP%] .wide-agent-dropdown-panel .search-option.mat-mdc-option.mat-mdc-option-active{background-color:var(--mat-select-panel-background-color, white)!important}.agent-search-field[_ngcontent-%COMP%]{width:100%}.agent-search-field[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper[_ngcontent-%COMP%]{display:none}"]})};function GOA(t,e){t&1&&GA(0,"mat-progress-spinner",6)}function KOA(t,e){t&1&&(m(0,"div"),K(1,"Request is not available."),w())}function UOA(t,e){if(t&1&&(m(0,"div",3),GA(1,"ngx-json-viewer",4),w()),t&2){let A=v();p(),$("json",A.llmRequest)}}function JOA(t,e){t&1&&GA(0,"mat-progress-spinner",6)}function YOA(t,e){t&1&&(m(0,"div"),K(1,"Response is not available."),w())}function TOA(t,e){if(t&1&&(m(0,"div",3),GA(1,"ngx-json-viewer",4),w()),t&2){let A=v();p(),$("json",A.llmResponse)}}function HOA(t,e){if(t&1){let A=JA();m(0,"div",12),tA("click",function(){Z(A);let n=v();return X(n.openViewImageDialog(n.rawSvgString))}),w()}if(t&2){let A=v();$("innerHtml",A.renderedEventGraph,al)}}var eb=class t{userId="";sessionId="";appName="";panelClosed=new $A;renderedEventGraph;eventData;selectedRow=void 0;rawSvgString=null;llmRequest=void 0;llmResponse=void 0;llmRequestKey="gcp.vertex.agent.llm_request";llmResponseKey="gcp.vertex.agent.llm_response";dialog=h(Gs);traceService=h(T2);eventService=h(CE);graphService=h(IE);featureFlagService=h(vr);sanitizer=h($s);uiStateService=h(Ql);isEventFilteringEnabled=Fs(this.featureFlagService.isEventFilteringEnabled());constructor(){}ngOnInit(){this.traceService.selectedTraceRow$.subscribe(e=>{this.selectedRow=e;let A=this.getEventIdFromSpan();if(A){let i;this.isEventFilteringEnabled()&&this.selectedRow?.invoc_id&&this.selectedRow?.start_time&&(i={invocationId:this.selectedRow.invoc_id,timestamp:this.selectedRow.start_time/1e6});let n=cA({id:A},i);this.eventService.getEventTrace(n).pipe(oi(()=>{this.uiStateService.setIsEventRequestResponseLoading(!0)})).subscribe(o=>{this.llmRequest=JSON.parse(o[this.llmRequestKey]),this.llmResponse=JSON.parse(o[this.llmResponseKey]),this.uiStateService.setIsEventRequestResponseLoading(!1)},()=>{this.uiStateService.setIsEventRequestResponseLoading(!1)}),this.getEventGraph(A)}}),this.traceService.eventData$.subscribe(e=>this.eventData=e)}openViewImageDialog(e){let A=this.dialog.open(V2,{maxWidth:"90vw",maxHeight:"90vh",data:{imageData:e}})}getEventDetails(){if(this.eventData&&this.selectedRow)return this.eventData.get(this.getEventIdFromSpan())}getEventIdFromSpan(){if(this.selectedRow)return this.selectedRow.attributes["gcp.vertex.agent.event_id"]}getEventGraph(e){this.eventService.getEvent(this.userId,this.appName,this.sessionId,e).subscribe(A=>nt(this,null,function*(){if(!A.dotSrc){this.renderedEventGraph=void 0;return}let i=A.dotSrc,n=yield this.graphService.render(i);this.rawSvgString=n,this.renderedEventGraph=this.sanitizer.bypassSecurityTrustHtml(n)}))}closePanel(){this.panelClosed.emit(!0)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-trace-event"]],inputs:{userId:"userId",sessionId:"sessionId",appName:"appName"},outputs:{panelClosed:"panelClosed"},decls:21,vars:8,consts:[[1,"wrapper"],["mat-stretch-tabs","false","mat-align-tabs","start"],["label","Event"],[1,"json-viewer-container"],[3,"json"],["label","Request"],["mode","indeterminate"],["label","Response"],["label","Graph"],[1,"event-graph-container"],[3,"innerHtml"],["mat-icon-button","",1,"tab-header-action",3,"click"],[3,"click","innerHtml"]],template:function(A,i){A&1&&(m(0,"div",0)(1,"mat-tab-group",1)(2,"mat-tab",2)(3,"div",3),GA(4,"ngx-json-viewer",4),w()(),m(5,"mat-tab",5),V(6,GOA,1,0,"mat-progress-spinner",6),ri(7,"async"),aC(8,KOA,2,0,"div")(9,UOA,2,1,"div",3),w(),m(10,"mat-tab",7),V(11,JOA,1,0,"mat-progress-spinner",6),ri(12,"async"),aC(13,YOA,2,0,"div")(14,TOA,2,1,"div",3),w(),m(15,"mat-tab",8)(16,"div",9),V(17,HOA,1,1,"div",10),w()()(),m(18,"button",11),tA("click",function(){return i.closePanel()}),m(19,"mat-icon"),K(20,"close"),w()()()),A&2&&(p(4),$("json",i.getEventDetails()),p(2),W(Ci(7,4,i.uiStateService.isEventRequestResponseLoading())===!0?6:i.llmRequest?9:8),p(5),W(Ci(12,6,i.uiStateService.isEventRequestResponseLoading())===!0?11:i.llmResponse?14:13),p(6),W(i.renderedEventGraph?17:-1))},dependencies:[W7,Om,E0,Y2,Wa,Fn,B1,ls],styles:[".json-viewer-container[_ngcontent-%COMP%]{padding-top:8px;padding-left:12px;padding-right:12px;background-color:var(--trace-event-json-viewer-container-background-color)}.event-graph-container[_ngcontent-%COMP%]{text-align:center;padding-top:20px}.event-graph-container[_ngcontent-%COMP%] svg text{font-family:Google Sans Mono,monospace;font-size:11px}.wrapper[_ngcontent-%COMP%]{position:relative}.tab-header-action[_ngcontent-%COMP%]{position:absolute;top:0;right:0;height:48px;z-index:2;margin-right:10px}"]})};var zOA={openPanelTooltip:"Open panel",evalCaseIdLabel:"Eval Case ID",cancelButton:"Cancel",saveButton:"Save",editEvalCaseTooltip:"Edit current eval case",deleteEvalCaseTooltip:"Delete current eval case",sessionIdLabel:"Session ID",userIdLabel:"User ID",loadingSessionLabel:"Loading session...",tokenStreamingLabel:"Token Streaming",createNewSessionTooltip:"Create a new Session",newSessionButton:"New Session",deleteSessionTooltip:"Delete current session",exportSessionTooltip:"Export current session",importSessionTooltip:"Import session",loadingAgentsLabel:"Loading agents, please wait...",welcomeMessage:"Welcome to ADK!",selectAgentMessage:"Select an agent on the left to begin with.",failedToLoadAgentsMessage:"Failed to load agents. To get started, run",errorMessageLabel:"Error message:",noAgentsFoundWarning:"Warning: No agents found in current folder.",cannotEditSessionMessage:"Chat is disabled to prevent changes to the end user's session.",readOnlyBadgeLabel:"Read-only",disclosureTooltip:"ADK Web is for development purposes. It has access to all the data and should not be used in production.",adkWebDeveloperUiMessage:"ADK Web Developer UI"},MgA=new yA("Chat Messages",{factory:()=>zOA});var OOA=["sideDrawer"],POA=["bottomPanel"],jOA=[[["","adk-web-chat-container-top",""]]],qOA=["[adk-web-chat-container-top]"],VOA=t=>({"edit-mode":t}),WOA=()=>[];function ZOA(t,e){if(t&1){let A=JA();m(0,"span",8),tA("click",function(){Z(A);let n=v();return X(n.toggleSidePanel())}),K(1,"left_panel_open"),w()}if(t&2){let A=v();$("matTooltip",A.i18n.openPanelTooltip)}}function XOA(t,e){if(t&1){let A=JA();m(0,"app-side-panel",9),tA("closePanel",function(){Z(A);let n=v();return X(n.toggleSidePanel())})("tabChange",function(n){Z(A);let o=v();return X(o.handleTabChange(n))})("sessionSelected",function(n){Z(A);let o=v();return X(o.updateWithSelectedSession(n))})("sessionReloaded",function(n){Z(A);let o=v();return X(o.updateWithSelectedSession(n))})("evalCaseSelected",function(n){Z(A);let o=v();return X(o.updateWithSelectedEvalCase(n))})("evalSetIdSelected",function(n){Z(A);let o=v();return X(o.updateSelectedEvalSetId(n))})("returnToSession",function(n){Z(A);let o=v();return X(o.handleReturnToSession(n))})("evalNotInstalled",function(n){Z(A);let o=v();return X(o.handleEvalNotInstalled(n))})("page",function(n){Z(A);let o=v();return X(o.handlePageEvent(n))})("closeSelectedEvent",function(){Z(A);let n=v();return X(n.closeSelectedEvent())})("openImageDialog",function(n){Z(A);let o=v();return X(o.openViewImageDialog(n))})("appSelectionChange",function(n){Z(A);let o=v();return X(o.onAppSelection(n))})("openAddItemDialog",function(){Z(A);let n=v();return X(n.openAddItemDialog())})("enterBuilderMode",function(){Z(A);let n=v();return X(n.enterBuilderMode())}),w()}if(t&2){let A=v();$("isApplicationSelectorEnabledObs",A.isApplicationSelectorEnabledObs)("apps$",A.apps$)("isLoadingApps",A.isLoadingApps)("selectedAppControl",A.selectedAppControl)("showSidePanel",A.showSidePanel)("appName",A.appName)("userId",A.userId)("sessionId",A.sessionId)("traceData",A.traceData)("eventData",A.eventData)("currentSessionState",A.currentSessionState)("artifacts",A.artifacts)("selectedEvent",A.selectedEvent)("selectedEventIndex",A.selectedEventIndex)("renderedEventGraph",A.renderedEventGraph)("rawSvgString",A.rawSvgString)("llmRequest",A.llmRequest)("llmResponse",A.llmResponse)("disableBuilderIcon",A.disableBuilderSwitch)}}function $OA(t,e){if(t&1){let A=JA();m(0,"app-builder-tabs",10),tA("exitBuilderMode",function(){Z(A);let n=v();return X(n.exitBuilderMode())})("closePanel",function(){Z(A);let n=v();return X(n.toggleSidePanel())}),w(),GA(1,"div",11)}if(t&2){let A=v();$("appNameInput",A.appName)}}function APA(t,e){if(t&1){let A=JA();m(0,"div",6)(1,"div",12)(2,"button",13),tA("click",function(){Z(A);let n=v();return X(n.saveAgentBuilder())}),m(3,"mat-icon"),K(4,"check"),w()(),m(5,"button",14),tA("click",function(){Z(A);let n=v();return X(n.exitBuilderMode())}),m(6,"mat-icon"),K(7,"close"),w()(),m(8,"button",15),tA("click",function(){Z(A);let n=v();return X(n.toggleBuilderAssistant())}),m(9,"mat-icon"),K(10,"assistant"),w()()(),m(11,"app-canvas",16),tA("toggleSidePanelRequest",function(){Z(A);let n=v();return X(n.toggleSidePanel())})("builderAssistantCloseRequest",function(){Z(A);let n=v();return X(n.toggleBuilderAssistant())}),w()()}if(t&2){let A=v();p(8),ne("active",A.showBuilderAssistant),p(3),$("showSidePanel",A.showSidePanel)("showBuilderAssistant",A.showBuilderAssistant)("appNameInput",A.appName)}}function ePA(t,e){if(t&1){let A=JA();m(0,"span",24),tA("click",function(){Z(A);let n=v(3);return X(n.toggleSidePanel())}),K(1,"left_panel_open"),w()}if(t&2){let A=v(3);$("matTooltip",A.i18n.openPanelTooltip)}}function tPA(t,e){if(t&1){let A=JA();m(0,"button",29),tA("click",function(){Z(A);let n=v(4);return X(n.cancelEditEvalCase())}),K(1),w(),m(2,"button",30),tA("click",function(){Z(A);let n=v(4);return X(n.saveEvalCase())}),K(3),w()}if(t&2){let A=v(4);p(),Se(" ",A.i18n.cancelButton," "),p(),$("disabled",!A.hasEvalCaseChanged()||A.isEvalCaseEditing()),p(),Se(" ",A.i18n.saveButton," ")}}function iPA(t,e){if(t&1){let A=JA();m(0,"span",31),tA("click",function(){Z(A);let n=v(4);return X(n.editEvalCase())}),K(1," edit "),w(),m(2,"span",31),tA("click",function(){Z(A);let n=v(4);return X(n.deleteEvalCase())}),K(3," delete "),w()}if(t&2){let A=v(4);$("matTooltip",A.i18n.editEvalCaseTooltip),p(2),$("matTooltip",A.i18n.deleteEvalCaseTooltip)}}function nPA(t,e){if(t&1&&(m(0,"div",25)(1,"div",26),K(2),w(),m(3,"div",27),K(4),w()(),m(5,"div",28),V(6,tPA,4,3)(7,iPA,4,2),w()),t&2){let A=v(3);p(2),qA(A.i18n.evalCaseIdLabel),p(2),qA(A.evalCase.evalId),p(2),W(A.isEvalEditMode()?6:7)}}function oPA(t,e){if(t&1&&(m(0,"div",33),K(1),w(),m(2,"div",27),K(3),w()),t&2){let A=v(5);p(),qA(A.i18n.userIdLabel),p(2),qA(A.userId)}}function aPA(t,e){if(t&1&&(m(0,"div",34)(1,"mat-icon"),K(2,"visibility"),w(),K(3),w(),m(4,"div",35),K(5),w()),t&2){let A=v(5);p(3),Se(" ",A.i18n.readOnlyBadgeLabel," "),p(2),qA(A.i18n.cannotEditSessionMessage)}}function rPA(t,e){if(t&1&&(m(0,"div",26),K(1),w(),m(2,"div",27),K(3),w(),V(4,oPA,4,2),ri(5,"async"),V(6,aPA,6,2)),t&2){let A=v(4);p(),qA(A.i18n.sessionIdLabel),p(2),qA(A.sessionId),p(),W(Ci(5,4,A.isUserIdOnToolbarEnabledObs)?4:-1),p(2),W(A.canEditSession()?-1:6)}}function sPA(t,e){if(t&1&&(m(0,"div",26),K(1),w()),t&2){let A=v(4);p(),qA(A.i18n.loadingSessionLabel)}}function gPA(t,e){if(t&1){let A=JA();m(0,"span",43),tA("click",function(){Z(A);let n=v(5);return X(n.deleteSession(n.sessionId))}),K(1," delete "),w()}if(t&2){let A=v(5);$("matTooltip",A.i18n.deleteSessionTooltip)}}function lPA(t,e){if(t&1){let A=JA();m(0,"span",44),tA("click",function(){Z(A);let n=v(5);return X(n.exportSession())}),K(1," download "),w()}if(t&2){let A=v(5);$("matTooltip",A.i18n.exportSessionTooltip)}}function cPA(t,e){if(t&1){let A=JA();m(0,"span",45),tA("click",function(){Z(A);let n=v(5);return X(n.importSession())}),K(1," upload "),w()}if(t&2){let A=v(5);$("matTooltip",A.i18n.importSessionTooltip)}}function CPA(t,e){if(t&1){let A=JA();m(0,"div",28)(1,"div",36)(2,"mat-slide-toggle",37),ri(3,"async"),tA("change",function(){Z(A);let n=v(4);return X(n.toggleSse())}),K(4),w()(),GA(5,"mat-divider",38),m(6,"div",32)(7,"div",39),tA("click",function(){Z(A);let n=v(4);return X(n.onNewSessionClick())}),m(8,"mat-icon"),K(9,"add"),w(),K(10),w(),V(11,gPA,2,1,"span",40),ri(12,"async"),V(13,lPA,2,1,"span",41),ri(14,"async"),V(15,cPA,2,1,"span",42),ri(16,"async"),w()()}if(t&2){let A=v(4);p(2),$("checked",A.enableSseIndicator())("disabled",!Ci(3,9,A.isTokenStreamingEnabledObs)),p(2),Se(" ",A.i18n.tokenStreamingLabel," "),p(),$("vertical",!0),p(2),$("matTooltip",A.i18n.createNewSessionTooltip),p(3),Se(" ",A.i18n.newSessionButton," "),p(),W(Ci(12,11,A.isDeleteSessionEnabledObs)?11:-1),p(2),W(Ci(14,13,A.isExportSessionEnabledObs)?13:-1),p(2),W(Ci(16,15,A.importSessionEnabledObs)?15:-1)}}function IPA(t,e){if(t&1&&(m(0,"div",32),Ur(1),ri(2,"async"),V(3,rPA,7,6)(4,sPA,2,1,"div",26),w(),V(5,CPA,17,17,"div",28)),t&2){let A=Ci(2,2,v(3).uiStateService.isSessionLoading());p(3),W(A===!1?3:4),p(2),W(A===!1?5:-1)}}function dPA(t,e){if(t&1&&(m(0,"div",17),V(1,ePA,2,1,"span",23),V(2,nPA,8,3)(3,IPA,6,4),w()),t&2){let A=v(2);$("ngClass",ss(3,VOA,A.isEvalEditMode())),p(),W(A.showSidePanel?-1:1),p(),W(A.evalCase?2:3)}}function BPA(t,e){if(t&1&&(m(0,"div",46)(1,"span"),K(2),w()()),t&2){let A=v(3);p(2),qA(A.i18n.loadingAgentsLabel)}}function EPA(t,e){if(t&1&&(m(0,"span"),K(1),GA(2,"br"),K(3),w()),t&2){let A=v(4);p(),qA(A.i18n.welcomeMessage),p(2),Se(" ",A.i18n.selectAgentMessage)}}function QPA(t,e){if(t&1&&(K(0),GA(1,"br"),m(2,"pre",48),K(3),w()),t&2){let A=v(5);Se(" ",A.i18n.errorMessageLabel," "),p(3),qA(A.loadingError())}}function hPA(t,e){if(t&1&&(m(0,"pre",47),K(1),w()),t&2){let A=v(5);p(),qA(A.i18n.noAgentsFoundWarning)}}function uPA(t,e){if(t&1&&(m(0,"div"),K(1),m(2,"pre"),K(3,"adk web"),w(),K(4," in the folder that contains the agents."),GA(5,"br"),V(6,QPA,4,2)(7,hPA,2,1,"pre",47),w()),t&2){let A=v(4);p(),Se(" ",A.i18n.failedToLoadAgentsMessage," "),p(5),W(A.loadingError()?6:7)}}function fPA(t,e){if(t&1&&(m(0,"div",46),V(1,EPA,4,2,"span"),ri(2,"async"),aC(3,uPA,8,2,"div"),w()),t&2){let A=v(3);p(),W((Ci(2,1,A.apps$)||Cu(3,WOA)).length>0?1:3)}}function mPA(t,e){if(t&1&&(V(0,BPA,3,1,"div",46),ri(1,"async"),aC(2,fPA,4,4,"div",46)),t&2){let A=v(2);W(A.isLoadingApps()?0:Ci(1,1,A.isApplicationSelectorEnabledObs)?2:-1)}}function pPA(t,e){if(t&1){let A=JA();m(0,"button",49),tA("click",function(){Z(A);let n=v(2);return X(n.openDialog())}),m(1,"mat-icon"),K(2,"priority_high"),w()()}}function wPA(t,e){if(t&1){let A=JA();m(0,"app-chat-panel",50),ri(1,"async"),ho("userInputChange",function(n){Z(A);let o=v(2);return ao(o.userInput,n)||(o.userInput=n),X(n)})("userEditEvalCaseMessageChange",function(n){Z(A);let o=v(2);return ao(o.userEditEvalCaseMessage,n)||(o.userEditEvalCaseMessage=n),X(n)}),tA("clickEvent",function(n){Z(A);let o=v(2);return X(o.clickEvent(n))})("handleKeydown",function(n){Z(A);let o=v(2);return X(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){Z(A);let o=v(2);return X(o.cancelEditMessage(n))})("saveEditMessage",function(n){Z(A);let o=v(2);return X(o.saveEditMessage(n))})("openViewImageDialog",function(n){Z(A);let o=v(2);return X(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){Z(A);let o=v(2);return X(o.openBase64InNewTab(n.data,n.mimeType))})("editEvalCaseMessage",function(n){Z(A);let o=v(2);return X(o.editEvalCaseMessage(n))})("deleteEvalCaseMessage",function(n){Z(A);let o=v(2);return X(o.deleteEvalCaseMessage(n.message,n.index))})("editFunctionArgs",function(n){Z(A);let o=v(2);return X(o.editFunctionArgs(n))})("fileSelect",function(n){Z(A);let o=v(2);return X(o.onFileSelect(n))})("removeFile",function(n){Z(A);let o=v(2);return X(o.removeFile(n))})("removeStateUpdate",function(){Z(A);let n=v(2);return X(n.removeStateUpdate())})("sendMessage",function(n){Z(A);let o=v(2);return X(o.sendMessage(n))})("updateState",function(){Z(A);let n=v(2);return X(n.updateState())})("toggleAudioRecording",function(){Z(A);let n=v(2);return X(n.toggleAudioRecording())})("toggleVideoRecording",function(){Z(A);let n=v(2);return X(n.toggleVideoRecording())}),w()}if(t&2){let A=v(2);$("appName",A.appName)("messages",A.messages())("isChatMode",A.isChatMode())("evalCase",A.evalCase)("isEvalEditMode",A.isEvalEditMode())("isEvalCaseEditing",A.isEvalCaseEditing())("isEditFunctionArgsEnabled",Ci(1,17,A.isEditFunctionArgsEnabledObs)??!1),Qo("userInput",A.userInput)("userEditEvalCaseMessage",A.userEditEvalCaseMessage),$("selectedFiles",A.selectedFiles)("updatedSessionState",A.updatedSessionState())("eventData",A.eventData)("selectedEvent",A.selectedEvent)("isAudioRecording",A.isAudioRecording)("isVideoRecording",A.isVideoRecording)("hoveredEventMessageIndices",A.hoveredEventMessageIndices)("sessionName",A.sessionId)}}function DPA(t,e){if(t&1){let A=JA();m(0,"div",21,1),GA(2,"div",51),m(3,"app-trace-event",52),tA("panelClosed",function(){Z(A);let n=v(2);return X(n.closeTraceEventDetailPanel())}),w()()}if(t&2){let A=v(2);p(3),$("userId",A.userId)("appName",A.appName)("sessionId",A.sessionId)}}function yPA(t,e){if(t&1&&(m(0,"div",22),K(1),w()),t&2){let A=v(2);$("matTooltip",A.i18n.disclosureTooltip),p(),Se(" ",A.i18n.adkWebDeveloperUiMessage," ")}}function vPA(t,e){if(t&1&&(m(0,"div",7),Ke(1),V(2,dPA,4,5,"div",17),m(3,"mat-card",18),V(4,mPA,3,3),V(5,pPA,3,0,"button",19),V(6,wPA,2,19,"app-chat-panel",20),w(),V(7,DPA,4,3,"div",21),V(8,yPA,2,2,"div",22),ri(9,"async"),w()),t&2){let A=v();p(2),W(A.appName!=""?2:-1),p(2),W(A.selectedAppControl.value?-1:4),p(),W(A.longRunningEvents.length>0?5:-1),p(),W(A.appName!=""?6:-1),p(),W(A.bottomPanelVisible?7:-1),p(),W(Ci(9,6,A.isDeveloperUiDisclaimerEnabledObs)?8:-1)}}var bPA="root_agent",tb="q",MPA="hideSidePanel",FK="",_K="",LK="application/json+a2ui";function GK(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");t.length%4!==0;)t+="=";return t}var KK=class t extends B8{nextPageLabel="Next Event";previousPageLabel="Previous Event";firstPageLabel="First Event";lastPageLabel="Last Event";getRangeLabel=(e,A,i)=>i===0?`Event 0 of ${i}`:(i=Math.max(i,0),`Event ${e*A+1} of ${i}`);static \u0275fac=(()=>{let e;return function(i){return(e||(e=Bi(t)))(i||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac})},kgA="Restarting bidirectional streaming is not currently supported. Please refresh the page or start a new session.",ib=class t{i18n=h(MgA);_snackBar=h(J2);activatedRoute=h(ag);agentService=h(sg);artifactService=h(u8);changeDetectorRef=h(Dt);dialog=h(Gs);document=h(Xt);downloadService=h(cE);evalService=h(h0);eventService=h(CE);featureFlagService=h(vr);graphService=h(IE);localFileService=h(f8);location=h(w8);renderer=h(_i);router=h(Cs);safeValuesService=h(u0);sessionService=h(El);streamChatService=h(p8);stringToColorService=h(dE);traceService=h(T2);uiStateService=h(Ql);agentBuilderService=h(Q0);chatPanel=ca.required(Vh);canvasComponent=ca.required(jh);sideDrawer=ca.required("sideDrawer");sidePanel=ca.required($h);evalTab=ca($c);bottomPanelRef=ca.required("bottomPanel");enableSseIndicator=jA(!1);isChatMode=jA(!0);isEvalCaseEditing=jA(!1);hasEvalCaseChanged=jA(!1);isEvalEditMode=jA(!1);isBuilderMode=jA(!1);videoElement;currentMessage="";messages=jA([]);lastTextChunk="";streamingTextMessage=null;latestThought="";artifacts=[];userInput="";userEditEvalCaseMessage="";userId="user";appName="";sessionId="";sessionIdOfLoadedMessages="";evalCase=null;updatedEvalCase=null;evalSetId="";isAudioRecording=!1;isVideoRecording=!1;longRunningEvents=[];functionCallEventId="";redirectUri=zr.getBaseUrlWithoutPath();showSidePanel=!0;showBuilderAssistant=!0;useSse=!1;currentSessionState={};root_agent=bPA;updatedSessionState=jA(null);isModelThinkingSubject=new Ht(!1);canEditSession=jA(!0);sessionHasUsedBidi=new Set;eventData=new Map;traceData=[];renderedEventGraph;rawSvgString=null;selectedEvent=void 0;selectedEventIndex=void 0;llmRequest=void 0;llmResponse=void 0;llmRequestKey="gcp.vertex.agent.llm_request";llmResponseKey="gcp.vertex.agent.llm_response";getMediaTypeFromMimetype=O4;selectedFiles=[];MediaType=$1;selectedAppControl=new ks("",{nonNullable:!0});openBase64InNewTab(e,A){this.safeValuesService.openBase64InNewTab(e,A)}isLoadingApps=jA(!1);loadingError=jA("");apps$=se([]).pipe(oi(()=>{this.isLoadingApps.set(!0),this.selectedAppControl.disable()}),Si(()=>this.agentService.listApps().pipe(ta(e=>(this.loadingError.set(e.message),se(void 0))))),oo(1),oi(e=>{this.isLoadingApps.set(!1),this.selectedAppControl.enable(),e?.length==1&&this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{app:e[0]}})}),Ps());importSessionEnabledObs=this.featureFlagService.isImportSessionEnabled();isEditFunctionArgsEnabledObs=this.featureFlagService.isEditFunctionArgsEnabled();isSessionUrlEnabledObs=this.featureFlagService.isSessionUrlEnabled();isApplicationSelectorEnabledObs=this.featureFlagService.isApplicationSelectorEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isExportSessionEnabledObs=this.featureFlagService.isExportSessionEnabled();isEventFilteringEnabled=Fs(this.featureFlagService.isEventFilteringEnabled());isApplicationSelectorEnabled=Fs(this.featureFlagService.isApplicationSelectorEnabled());isDeleteSessionEnabledObs=this.featureFlagService.isDeleteSessionEnabled();isUserIdOnToolbarEnabledObs=this.featureFlagService.isUserIdOnToolbarEnabled();isDeveloperUiDisclaimerEnabledObs=this.featureFlagService.isDeveloperUiDisclaimerEnabled();bottomPanelVisible=!1;hoveredEventMessageIndices=[];disableBuilderSwitch=!1;constructor(){}ngOnInit(){if(this.syncSelectedAppFromUrl(),this.updateSelectedAppUrl(),this.hideSidePanelIfNeeded(),Ir([this.agentService.getApp(),this.activatedRoute.queryParams]).pipe(Ze(([i,n])=>!!i&&!!n[tb]),zo(),fe(([,i])=>i[tb])).subscribe(i=>{setTimeout(()=>{this.userInput=i})}),this.streamChatService.onStreamClose().subscribe(i=>{let n=`Please check server log for full details: -`+i;this.openSnackBar(n,"OK")}),new URL(window.location.href).searchParams.has("code")){let i=window.location.href;window.opener?.postMessage({authResponseUrl:i},window.origin),window.close()}this.agentService.getApp().subscribe(i=>{this.appName=i}),Ir([this.agentService.getLoadingState(),this.isModelThinkingSubject]).subscribe(([i,n])=>{let o=this.messages()[this.messages().length-1];i?!o?.isLoading&&!this.streamingTextMessage&&this.messages.update(a=>[...a,{role:"bot",isLoading:!0}]):o?.isLoading&&!n&&(this.messages.update(a=>a.slice(0,-1)),this.changeDetectorRef.detectChanges())}),this.traceService.selectedTraceRow$.subscribe(i=>{let n=i?.attributes["gcp.vertex.agent.event_id"];n&&this.eventData.has(n)?this.bottomPanelVisible=!0:this.bottomPanelVisible=!1}),this.traceService.hoveredMessageIndices$.subscribe(i=>this.hoveredEventMessageIndices=i),this.featureFlagService.isInfinityMessageScrollingEnabled().pipe(zo()).subscribe(i=>{i&&(this.uiStateService.onNewMessagesLoaded().subscribe(n=>{this.populateMessages(n.items,!0,!n.isBackground),this.loadTraceData()}),this.uiStateService.onNewMessagesLoadingFailed().subscribe(n=>{this.openSnackBar(n.message,"OK")}))})}get sessionTab(){return this.sidePanel().sessionTabComponent()}ngAfterViewInit(){this.showSidePanel&&this.sideDrawer()?.open(),this.isApplicationSelectorEnabled()||this.loadSessionByUrlOrReset()}selectApp(e){e!=this.appName&&(this.agentService.setApp(e),this.loadSessionByUrlOrReset())}loadSessionByUrlOrReset(){this.isSessionUrlEnabledObs.subscribe(e=>{let A=this.activatedRoute.snapshot.queryParams,i=A.session,n=A.userId;if(n&&(this.userId=n),!e||!i){this.createSessionAndReset();return}i&&this.sessionService.getSession(this.userId,this.appName,i).pipe(oo(1),ta(o=>(this.openSnackBar("Cannot find specified session. Creating a new one.","OK"),this.createSessionAndReset(),se(null)))).subscribe(o=>{o&&this.updateWithSelectedSession(o)})})}hideSidePanelIfNeeded(){this.activatedRoute.queryParams.pipe(Ze(e=>e[MPA]==="true"),oo(1)).subscribe(()=>{this.showSidePanel=!1,this.sideDrawer()?.close()})}createSessionAndReset(){this.createSession(),this.eventData=new Map,this.messages.set([]),this.artifacts=[],this.userInput="",this.longRunningEvents=[]}createSession(){this.uiStateService.setIsSessionListLoading(!0),this.sessionService.createSession(this.userId,this.appName).subscribe(e=>{this.currentSessionState=e.state,this.sessionId=e.id??"",this.sessionTab?.refreshSession(),this.sessionTab?.reloadSession(this.sessionId),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()})},()=>{this.uiStateService.setIsSessionListLoading(!1)})}sendMessage(e){return nt(this,null,function*(){if(e.preventDefault(),!this.userInput.trim()&&this.selectedFiles.length<=0||e instanceof KeyboardEvent&&(e.isComposing||e.keyCode===229))return;let A=`user_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,i=[],n={role:"user",eventId:A};if(this.userInput.trim()&&(i.push({text:this.userInput}),n.text=this.userInput),this.selectedFiles.length>0){let s=this.selectedFiles.map(g=>({file:g.file,url:g.url}));for(let g of this.selectedFiles){let l=yield this.localFileService.createMessagePartFromFile(g.file);i.push(l)}n.attachments=s}this.messages.update(s=>[...s,n]);let o={id:A,author:"user",content:{parts:i}};this.eventData.set(A,o),this.eventData=new Map(this.eventData);let a={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:{role:"user",parts:yield this.getUserMessageParts()},streaming:this.useSse,stateDelta:this.updatedSessionState()};this.selectedFiles=[],this.streamingTextMessage=null,this.agentService.runSse(a).subscribe({next:s=>nt(this,null,function*(){if(s.error){this.openSnackBar(s.error,"OK");return}if(s.content){let g=this.combineTextParts(s.content.parts);this.isEventA2aResponse(s)&&(g=this.combineA2uiDataParts(g));for(let l of g)this.processPart(s,l),this.traceService.setEventData(this.eventData)}else s.errorMessage&&this.processErrorMessage(s);s.actions&&(this.processActionArtifact(s),this.processActionStateDelta(s)),this.changeDetectorRef.detectChanges()}),error:s=>{console.error("Send message error:",s),this.openSnackBar(s,"OK")},complete:()=>{this.updatedSessionState()&&(this.currentSessionState=this.updatedSessionState(),this.updatedSessionState.set(null)),this.streamingTextMessage=null,this.featureFlagService.isSessionReloadOnNewMessageEnabled().pipe(zo()).subscribe(s=>{s&&this.sessionTab?.reloadSession(this.sessionId)}),this.eventService.getTrace(this.sessionId).pipe(zo(),ta(s=>se([]))).subscribe(s=>{this.traceData=s,this.changeDetectorRef.detectChanges()}),this.traceService.setMessages(this.messages()),this.changeDetectorRef.detectChanges()}}),this.userInput="";let r=this.router.parseUrl(this.location.path());r.queryParams[tb]&&(delete r.queryParams[tb],this.location.replaceState(r.toString())),this.changeDetectorRef.detectChanges()})}processErrorMessage(e){this.storeEvents(e,e),this.insertMessageBeforeLoadingMessage({text:e.errorMessage,role:"bot"})}processPart(e,A){let i=e.groundingMetadata?.searchEntryPoint?.renderedContent;if(A.text){this.isModelThinkingSubject.next(!1);let n=A.text;if(A.thought){if(n!==this.latestThought){this.storeEvents(A,e);let o={role:"bot",text:this.processThoughtText(n),thought:!0,eventId:e.id};this.insertMessageBeforeLoadingMessage(o)}this.latestThought=n}else if(this.streamingTextMessage){if(i&&(this.streamingTextMessage.renderedContent=e.groundingMetadata.searchEntryPoint.renderedContent),n==this.streamingTextMessage.text){this.storeEvents(A,e);let o={role:"bot",text:this.processThoughtText(n),thought:!!A.thought,eventId:e.id};this.insertMessageBeforeLoadingMessage(o),this.streamingTextMessage=null;return}this.streamingTextMessage.text+=n}else if(this.streamingTextMessage={role:"bot",text:this.processThoughtText(n),thought:!!A.thought,eventId:e.id},i&&(this.streamingTextMessage.renderedContent=e.groundingMetadata.searchEntryPoint.renderedContent),!this.useSse){this.insertMessageBeforeLoadingMessage(this.streamingTextMessage),this.storeEvents(A,e),this.streamingTextMessage=null;return}}else if(A.thought)this.isModelThinkingSubject.next(!0);else{if(this.isA2aDataPart(A)){let a=this.extractA2aDataPartJson(A),s=a&&a.kind==="data"&&a.metadata?.mimeType===LK?{a2ui:a.data}:{text:a};this.isModelThinkingSubject.next(!1),this.storeEvents(A,e),this.storeMessage(s,e,e.author==="user"?"user":"bot");return}this.isModelThinkingSubject.next(!1),this.storeEvents(A,e);let o=this.messages().findIndex(a=>a.eventId===e.id&&a.role==="bot");o!==-1?this.messages.update(a=>{let r=[...a];return this.processPartIntoMessage(A,e,r[o]),r}):this.storeMessage(A,e,e.author==="user"?"user":"bot")}}getUserMessageParts(){return nt(this,null,function*(){let e=[];if(this.userInput.trim()&&e.push({text:`${this.userInput}`}),this.selectedFiles.length>0)for(let A of this.selectedFiles)e.push(yield this.localFileService.createMessagePartFromFile(A.file));return e})}processActionArtifact(e){e.actions&&e.actions.artifactDelta&&Object.keys(e.actions.artifactDelta).length>0&&(this.storeEvents(null,e),this.storeMessage(null,e,"bot"))}processActionStateDelta(e){e.actions&&e.actions.stateDelta&&Object.keys(e.actions.stateDelta).length>0&&(this.currentSessionState=e.actions.stateDelta)}combineTextParts(e){let A=[],i;for(let n of e)n.text&&!n.thought?i?i.text+=n.text:(i={text:n.text},A.push(i)):(i=void 0,A.push(n));return A}isEventA2aResponse(e){return!!e?.customMetadata?.["a2a:response"]}isA2aDataPart(e){if(!e.inlineData||e.inlineData.mimeType!=="text/plain")return!1;let A=atob(GK(e.inlineData.data));return A.startsWith(FK)&&A.endsWith(_K)}isA2uiDataPart(e){let A=this.extractA2aDataPartJson(e);return A&&A.kind==="data"&&A.metadata?.mimeType===LK}extractA2aDataPartJson(e){if(!this.isA2aDataPart(e))return null;let A=atob(GK(e.inlineData.data)),i=A.substring(FK.length,A.length-_K.length),n;try{n=JSON.parse(i)}catch{return null}return n}combineA2uiDataParts(e){let A=[],i=[],n;for(let o of e)this.isA2uiDataPart(o)?(i.push(this.extractA2aDataPartJson(o)),n||(n={inlineData:{mimeType:"text/plain",data:o.inlineData.data}},A.push(n))):A.push(o);if(n?.inlineData){let a=FK+JSON.stringify({kind:"data",metadata:{mimeType:LK},data:i})+_K;n.inlineData.data=btoa(a)}return A}processA2uiPartIntoMessage(e){let A={};return e.a2ui.forEach(i=>{i.data.beginRendering?A.beginRendering=i.data:i.data.surfaceUpdate?A.surfaceUpdate=i.data:i.data.dataModelUpdate&&(A.dataModelUpdate=i.data)}),A}updateRedirectUri(e,A){try{let i=new URL(e);return i.searchParams.set("redirect_uri",A),i.toString()}catch(i){return console.warn("Failed to update redirect URI: ",i),e}}storeMessage(e,A,i,n,o,a=!1){if(A?.author&&this.createAgentIconColorClass(A.author),A?.longRunningToolIds&&A.longRunningToolIds.length>0){this.getAsyncFunctionsFromParts(A.longRunningToolIds,A.content.parts,A.invocationId);let s=this.longRunningEvents[0].function;if(s.args.authConfig&&s.args.authConfig.exchangedAuthCredential&&s.args.authConfig.exchangedAuthCredential.oauth2){let g=s.args.authConfig.exchangedAuthCredential.oauth2.authUri,l=this.updateRedirectUri(g,this.redirectUri);this.openOAuthPopup(l).then(C=>{this.functionCallEventId=A.id,this.sendOAuthResponse(s,C,this.redirectUri)}).catch(C=>{console.error("OAuth Error:",C)})}else this.functionCallEventId=A.id}if(A?.actions&&A.actions.artifactDelta)for(let s in A.actions.artifactDelta)A.actions.artifactDelta.hasOwnProperty(s)&&this.renderArtifact(s,A.actions.artifactDelta[s],a);A?.evalStatus&&this.isChatMode.set(!1);let r={role:i,evalStatus:A?.evalStatus,failedMetric:A?.failedMetric,evalScore:A?.evalScore,evalThreshold:A?.evalThreshold,actualInvocationToolUses:A?.actualInvocationToolUses,expectedInvocationToolUses:A?.expectedInvocationToolUses,actualFinalResponse:A?.actualFinalResponse,expectedFinalResponse:A?.expectedFinalResponse,invocationIndex:n!==void 0?n:void 0,finalResponsePartIndex:o?.finalResponsePartIndex!==void 0?o.finalResponsePartIndex:void 0,toolUseIndex:o?.toolUseIndex!==void 0?o.toolUseIndex:void 0};if(e){if(e.inlineData){let s=this.formatBase64Data(e.inlineData.data,e.inlineData.mimeType);r.inlineData={displayName:e.inlineData.displayName,data:s,mimeType:e.inlineData.mimeType}}else if(e.a2ui)r.a2uiData=this.processA2uiPartIntoMessage(e);else if(e.text)r.text=e.text,r.thought=!!e.thought,A?.groundingMetadata&&A.groundingMetadata.searchEntryPoint&&A.groundingMetadata.searchEntryPoint.renderedContent&&(r.renderedContent=A.groundingMetadata.searchEntryPoint.renderedContent),r.eventId=A?.id;else if(e.functionCall)r.functionCalls=[e.functionCall],r.eventId=A?.id;else if(e.functionResponse)r.functionResponses=[e.functionResponse],r.eventId=A?.id;else if(e.executableCode)r.executableCode=e.executableCode;else if(e.codeExecutionResult&&(r.codeExecutionResult=e.codeExecutionResult,A.actions&&A.actions.artifact_delta))for(let s in A.actions.artifact_delta)A.actions.artifact_delta.hasOwnProperty(s)&&this.renderArtifact(s,A.actions.artifact_delta[s],a)}e&&Object.keys(e).length>0&&(a?this.messages.update(s=>[r,...s]):this.insertMessageBeforeLoadingMessage(r))}insertMessageBeforeLoadingMessage(e){this.messages.update(A=>{let i=A[A.length-1];return i?.isLoading?[...A.slice(0,-1),e,i]:[...A,e]})}formatBase64Data(e,A){let i=GK(e);return`data:${A};base64,${i}`}processPartIntoMessage(e,A,i){if(e)if(e.text)i.text=e.text,i.thought=!!e.thought,A?.groundingMetadata&&A.groundingMetadata.searchEntryPoint&&A.groundingMetadata.searchEntryPoint.renderedContent&&(i.renderedContent=A.groundingMetadata.searchEntryPoint.renderedContent),A?.id&&(i.eventId=A.id);else if(e.inlineData){let n=this.formatBase64Data(e.inlineData.data,e.inlineData.mimeType);i.inlineData={displayName:e.inlineData.displayName,data:n,mimeType:e.inlineData.mimeType},i.role==="user"&&A?.id&&(i.eventId=A.id)}else e.functionCall?(i.functionCalls||(i.functionCalls=[]),i.functionCalls.push(e.functionCall),A?.id&&(i.eventId=A.id)):e.functionResponse?(i.functionResponses||(i.functionResponses=[]),i.functionResponses.push(e.functionResponse),A?.id&&(i.eventId=A.id)):e.executableCode?i.executableCode=e.executableCode:e.codeExecutionResult?i.codeExecutionResult=e.codeExecutionResult:e.a2ui&&(i.a2uiData=this.processA2uiPartIntoMessage(e))}handleArtifactFetchFailure(e,A,i){this.openSnackBar("Failed to fetch artifact data","OK"),this.messages.update(n=>n.filter(o=>o!==e)),this.artifacts=this.artifacts.filter(n=>n.id!==A||n.versionId!==i)}renderArtifact(e,A,i=!1){if(this.artifacts.some(r=>r.id===e&&r.versionId===A))return;let o={role:"bot",inlineData:{data:"",mimeType:"image/png"}};i?this.messages.update(r=>[o,...r]):this.insertMessageBeforeLoadingMessage(o);let a={id:e,versionId:A,data:"",mimeType:"image/png",mediaType:"image"};this.artifacts=[...this.artifacts,a],this.artifactService.getArtifactVersion(this.userId,this.appName,this.sessionId,e,A).subscribe({next:r=>{let{mimeType:s,data:g}=r.inlineData??{};if(!s||!g){this.handleArtifactFetchFailure(o,e,A);return}let l=this.formatBase64Data(g,s),C=O4(s),I={name:this.createDefaultArtifactName(s),data:l,mimeType:s,mediaType:C};this.messages.update(d=>d.map(B=>B===o?{role:"bot",inlineData:I}:B)),this.artifacts=this.artifacts.map(d=>d.id===e&&d.versionId===A?{id:e,versionId:A,data:l,mimeType:s,mediaType:C}:d)},error:r=>{this.handleArtifactFetchFailure(o,e,A)}})}storeEvents(e,A){let i="";e==null&&A.actions.artifactDelta?i+="eventAction: artifact":e&&(e.text?i+="text:"+e.text:e.functionCall?i+="functionCall:"+e.functionCall.name:e.functionResponse?i+="functionResponse:"+e.functionResponse.name:e.executableCode?i+="executableCode:"+e.executableCode.code.slice(0,10):e.codeExecutionResult?i+="codeExecutionResult:"+e.codeExecutionResult.outcome:e.errorMessage&&(i+="errorMessage:"+e.errorMessage)),A.title=i,this.eventData.set(A.id,A),this.eventData=new Map(this.eventData)}sendOAuthResponse(e,A,i){this.longRunningEvents.pop();let n={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:{role:"user",parts:[]}};var o=structuredClone(e.args.authConfig);o.exchangedAuthCredential.oauth2.authResponseUri=A,o.exchangedAuthCredential.oauth2.redirectUri=i,n.functionCallEventId=this.functionCallEventId,n.newMessage.parts.push({function_response:{id:e.id,name:e.name,response:o}});let a=[];this.agentService.runSse(n).subscribe({next:r=>nt(this,null,function*(){a.push(r)}),error:r=>console.error("SSE error:",r),complete:()=>{this.processRunSseResponse(a)}})}processRunSseResponse(e){for(let A of e)if(A.content)for(let i of A.content.parts)this.processPart(A,i)}openDialog(){this.dialog.open(V7,{width:"600px",data:{event:this.longRunningEvents[0].function,appName:this.appName,userId:this.userId,sessionId:this.sessionId,functionCallEventId:this.functionCallEventId,invocationId:this.longRunningEvents[0].invocationId}}).afterClosed().subscribe(A=>{A&&(this.removeFinishedLongRunningEvents(A.events),this.processRunSseResponse(A.response),this.changeDetectorRef.detectChanges())})}removeFinishedLongRunningEvents(e){let A=new Set(e.map(i=>i.id));this.longRunningEvents=this.longRunningEvents.filter(i=>!A.has(i.id))}createAgentIconColorClass(e){let A=this.stringToColorService.stc(e),i=`custom-icon-color-${A.replace("#","")}`;this.injectCustomIconColorStyle(i,A)}clickEvent(e){let A=this.messages()[e],i=A.eventId;if(i){if(this.selectedEvent&&this.selectedEvent.id===i){this.selectedEvent=void 0,this.selectedEventIndex=void 0;return}if(A.role==="user"){this.selectedEvent=this.eventData.get(i),this.selectedEventIndex=this.getIndexOfKeyInMap(i),this.llmRequest=void 0,this.llmResponse=void 0,this.sideDrawer()?.open(),this.showSidePanel=!0;return}this.sideDrawer()?.open(),this.showSidePanel=!0,this.selectEvent(i)}}ngOnDestroy(){this.streamChatService.closeStream()}onAppSelection(e){this.isAudioRecording&&(this.stopAudioRecording(),this.isAudioRecording=!1),this.isVideoRecording&&(this.stopVideoRecording(),this.isVideoRecording=!1),this.evalTab()?.resetEvalResults(),this.traceData=[],this.bottomPanelVisible=!1}toggleAudioRecording(){this.isAudioRecording?this.stopAudioRecording():this.startAudioRecording()}startAudioRecording(){if(this.sessionHasUsedBidi.has(this.sessionId)){this.openSnackBar(kgA,"OK");return}this.isAudioRecording=!0,this.streamChatService.startAudioChat({appName:this.appName,userId:this.userId,sessionId:this.sessionId}),this.messages.update(e=>[...e,{role:"user",text:"Speaking..."},{role:"bot",text:"Speaking..."}]),this.sessionHasUsedBidi.add(this.sessionId)}stopAudioRecording(){this.streamChatService.stopAudioChat(),this.isAudioRecording=!1}toggleVideoRecording(){this.isVideoRecording?this.stopVideoRecording():this.startVideoRecording()}startVideoRecording(){if(this.sessionHasUsedBidi.has(this.sessionId)){this.openSnackBar(kgA,"OK");return}let e=this.chatPanel()?.videoContainer;e&&(this.isVideoRecording=!0,this.streamChatService.startVideoChat({appName:this.appName,userId:this.userId,sessionId:this.sessionId,videoContainer:e}),this.messages.update(A=>[...A,{role:"user",text:"Speaking..."}]),this.sessionHasUsedBidi.add(this.sessionId))}stopVideoRecording(){let e=this.chatPanel()?.videoContainer;e&&(this.streamChatService.stopVideoChat(e),this.isVideoRecording=!1)}getAsyncFunctionsFromParts(e,A,i){for(let n of A)n.functionCall&&e.includes(n.functionCall.id)&&this.longRunningEvents.push({function:n.functionCall,invocationId:i})}openOAuthPopup(e){return new Promise((A,i)=>{if(!this.safeValuesService.windowOpen(window,e,"oauthPopup","width=600,height=700")){i("Popup blocked!");return}let o=a=>{if(a.origin!==window.location.origin)return;let{authResponseUrl:r}=a.data;r?(A(r),window.removeEventListener("message",o)):console.log("OAuth failed",a)};window.addEventListener("message",o)})}toggleSidePanel(){this.showSidePanel?(this.sideDrawer()?.close(),this.selectedEvent=void 0,this.selectedEventIndex=void 0):this.sideDrawer()?.open(),this.showSidePanel=!this.showSidePanel}handleTabChange(e){this.isChatMode()||(this.resetEditEvalCaseVars(),this.handleReturnToSession(!0))}handleReturnToSession(e){this.sessionTab?.getSession(this.sessionId),this.evalTab()?.resetEvalCase(),this.isChatMode.set(!0)}handleEvalNotInstalled(e){e&&this.openSnackBar(e,"OK")}resetEventsAndMessages({keepMessages:e}={}){e||(this.eventData.clear(),this.messages.set([])),this.artifacts=[]}loadTraceData(){this.eventService.getTrace(this.sessionId).pipe(zo(),ta(()=>se([]))).subscribe(e=>{this.traceData=e,this.traceService.setEventData(this.eventData),this.traceService.setMessages(this.messages())}),this.bottomPanelVisible=!1,this.changeDetectorRef.detectChanges()}populateMessages(e,A=!1,i=!1){this.resetEventsAndMessages({keepMessages:i&&this.sessionIdOfLoadedMessages===this.sessionId}),e.forEach(n=>{let o=this.isEventA2aResponse(n),a=o?this.combineA2uiDataParts(n.content?.parts):n.content?.parts||[],r=A?[...a].reverse():a;if(n.author==="user"){let s={role:"user",eventId:n.id};r.forEach(g=>{this.processPartIntoMessage(g,n,s)}),A?this.messages.update(g=>[s,...g]):this.messages.update(g=>[...g,s]),this.eventData.has(n.id)||(this.eventData.set(n.id,n),this.eventData=new Map(this.eventData))}else{let s={role:"bot",eventId:n.id};r.forEach(g=>{o&&this.isA2uiDataPart(g)&&(g={a2ui:this.extractA2aDataPartJson(g).data}),this.processPartIntoMessage(g,n,s)}),A?this.messages.update(g=>[s,...g]):this.messages.update(g=>[...g,s]),this.eventData.has(n.id)||(this.eventData.set(n.id,n),this.eventData=new Map(this.eventData))}}),this.sessionIdOfLoadedMessages=this.sessionId}updateWithSelectedSession(e){!e||!e.id||!e.events||!e.state||(this.traceService.resetTraceService(),this.sessionId=e.id,this.currentSessionState=e.state,this.evalCase=null,this.isChatMode.set(!0),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()}),this.resetEventsAndMessages(),e.events.forEach(A=>{if(A.author==="user"){let i={role:"user",eventId:A.id};A.content?.parts?.forEach(n=>{this.processPartIntoMessage(n,A,i)}),this.messages.update(n=>[...n,i]),this.eventData.has(A.id)||(this.eventData.set(A.id,A),this.eventData=new Map(this.eventData))}else{let i={role:"bot",eventId:A.id};A.content?.parts?.forEach(n=>{this.processPartIntoMessage(n,A,i)}),this.messages.update(n=>[...n,i]),this.eventData.has(A.id)||(this.eventData.set(A.id,A),this.eventData=new Map(this.eventData))}}),this.eventService.getTrace(this.sessionId).pipe(zo(),ta(()=>se([]))).subscribe(A=>{this.traceData=A,this.traceService.setEventData(this.eventData),this.traceService.setMessages(this.messages())}),this.sessionService.canEdit(this.userId,e).pipe(zo(),ta(()=>se(!0))).subscribe(A=>{this.chatPanel()?.canEditSession.set(A),this.canEditSession.set(A)}),this.featureFlagService.isInfinityMessageScrollingEnabled().pipe(zo()).subscribe(A=>{A||this.populateMessages(e.events||[]),this.loadTraceData()}))}updateWithSelectedEvalCase(e){this.evalCase=e,this.isChatMode.set(!1),this.resetEventsAndMessages();let A=0;for(let i of e.conversation){if(i.userContent?.parts)for(let n of i.userContent.parts)this.storeMessage(n,null,"user");if(i.intermediateData?.toolUses){let n=0;for(let o of i.intermediateData.toolUses){let a={functionCall:{name:o.name,args:o.args}};this.storeMessage(a,null,"bot",A,{toolUseIndex:n}),n++;let r={functionResponse:{name:o.name}};this.storeMessage(r,null,"bot")}}if(i.finalResponse?.parts){let n=0;for(let o of i.finalResponse.parts)this.storeMessage(o,null,"bot",A,{finalResponsePartIndex:n}),n++}A++}}updateSelectedEvalSetId(e){this.evalSetId=e}editEvalCaseMessage(e){this.isEvalCaseEditing.set(!0),this.userEditEvalCaseMessage=e.text,e.isEditing=!0,setTimeout(()=>{let A=this.chatPanel()?.textarea?.nativeElement;if(!A)return;A.focus();let i=A.value.length;e.text.charAt(i-1)===` -`&&i--,A.setSelectionRange(i,i)},0)}editFunctionArgs(e){this.isEvalCaseEditing.set(!0),this.dialog.open(Jm,{maxWidth:"90vw",maxHeight:"90vh",data:{dialogHeader:"Edit function arguments",functionName:e.functionCall.name,jsonContent:e.functionCall.args}}).afterClosed().subscribe(i=>{this.isEvalCaseEditing.set(!1),i&&(this.hasEvalCaseChanged.set(!0),e.functionCall.args=i,this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].intermediateData.toolUses[e.toolUseIndex].args=i)})}saveEvalCase(){this.evalService.updateEvalCase(this.appName,this.evalSetId,this.updatedEvalCase.evalId,this.updatedEvalCase).subscribe(e=>{this.openSnackBar("Eval case updated","OK"),this.resetEditEvalCaseVars()})}cancelEditEvalCase(){this.resetEditEvalCaseVars(),this.updateWithSelectedEvalCase(this.evalCase)}resetEditEvalCaseVars(){this.hasEvalCaseChanged.set(!1),this.isEvalCaseEditing.set(!1),this.isEvalEditMode.set(!1),this.updatedEvalCase=null}cancelEditMessage(e){e.isEditing=!1,this.isEvalCaseEditing.set(!1)}saveEditMessage(e){this.hasEvalCaseChanged.set(!0),this.isEvalCaseEditing.set(!1),e.isEditing=!1,e.text=this.userEditEvalCaseMessage?this.userEditEvalCaseMessage:" ",this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].finalResponse.parts[e.finalResponsePartIndex]={text:this.userEditEvalCaseMessage},this.userEditEvalCaseMessage=""}handleKeydown(e,A){e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),this.saveEditMessage(A)):e.key==="Escape"&&this.cancelEditMessage(A)}deleteEvalCaseMessage(e,A){this.hasEvalCaseChanged.set(!0),this.messages.update(i=>i.filter((n,o)=>o!==A)),this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].finalResponse.parts.splice(e.finalResponsePartIndex,1)}editEvalCase(){this.isEvalEditMode.set(!0)}deleteEvalCase(){let e={title:"Confirm delete",message:`Are you sure you want to delete ${this.evalCase.evalId}?`,confirmButtonText:"Delete",cancelButtonText:"Cancel"};this.dialog.open(zm,{width:"600px",data:e}).afterClosed().subscribe(i=>{i&&(this.evalTab()?.deleteEvalCase(this.evalCase.evalId),this.openSnackBar("Eval case deleted","OK"))})}onNewSessionClick(){this.createSession(),this.eventData.clear(),this.messages.set([]),this.artifacts=[],this.traceData=[],this.bottomPanelVisible=!1,this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.evalTab()?.showEvalHistory&&this.evalTab()?.toggleEvalHistoryButton()}onFileSelect(e){let A=e.target;if(A.files)for(let i=0;i{e&&this.canvasComponent()?.loadFromYaml(e,this.appName)},error:e=>{console.error("Error loading agent configuration:",e),this._snackBar.open("Error loading agent configuration","OK")}})}exitBuilderMode(){let e=this.router.createUrlTree([],{queryParams:{mode:null},queryParamsHandling:"merge"}).toString();this.location.replaceState(e),this.isBuilderMode.set(!1),this.agentBuilderService.clear()}toggleBuilderAssistant(){this.showBuilderAssistant=!this.showBuilderAssistant}openAddItemDialog(){this.apps$.pipe(oo(1)).subscribe(e=>{let A=this.dialog.open(rw,{width:"600px",data:{existingAppNames:e??[]}})})}saveAgentBuilder(){this.canvasComponent()?.saveAgent(this.appName)}selectEvent(e){this.selectedEvent=this.eventData.get(e),this.selectedEventIndex=this.getIndexOfKeyInMap(e);let A;this.isEventFilteringEnabled()&&this.selectedEvent.invocationId&&(this.selectedEvent.timestamp||this.selectedEvent.timestampInMillis)&&(A={invocationId:this.selectedEvent.invocationId,timestamp:this.selectedEvent.timestamp??this.selectedEvent.timestampInMillis});let i=cA({id:this.selectedEvent.id},A);this.uiStateService.setIsEventRequestResponseLoading(!0),this.eventService.getEventTrace(i).subscribe(n=>{n[this.llmRequestKey]&&(this.llmRequest=JSON.parse(n[this.llmRequestKey])),n[this.llmResponseKey]&&(this.llmResponse=JSON.parse(n[this.llmResponseKey])),this.uiStateService.setIsEventRequestResponseLoading(!1)},()=>{this.uiStateService.setIsEventRequestResponseLoading(!1)}),this.eventService.getEvent(this.userId,this.appName,this.sessionId,this.selectedEvent.id).subscribe(n=>nt(this,null,function*(){if(!n.dotSrc){this.renderedEventGraph=void 0;return}let o=yield this.graphService.render(n.dotSrc);this.rawSvgString=o,this.renderedEventGraph=this.safeValuesService.bypassSecurityTrustHtml(o)}))}deleteSession(e){let A={title:"Confirm delete",message:`Are you sure you want to delete this session ${this.sessionId}?`,confirmButtonText:"Delete",cancelButtonText:"Cancel"};this.dialog.open(zm,{width:"600px",data:A}).afterClosed().subscribe(n=>{n&&this.sessionService.deleteSession(this.userId,this.appName,e).subscribe(o=>{let a=this.sessionTab?.refreshSession(e);a?this.sessionTab?.getSession(a.id):window.location.reload()})})}syncSelectedAppFromUrl(){Ir([this.activatedRoute.queryParams,this.apps$]).subscribe(([e,A])=>{let i=e.app;if(A&&A.length&&i){if(!A.includes(i)){this.openSnackBar(`Agent '${i}' not found`,"OK");return}this.selectedAppControl.setValue(i,{emitEvent:!1}),this.selectApp(i),this.agentService.getAgentBuilder(i).subscribe(n=>{!n||n==""?(this.disableBuilderSwitch=!0,this.agentBuilderService.setLoadedAgentData(void 0)):(this.disableBuilderSwitch=!1,this.agentBuilderService.setLoadedAgentData(n))}),this.isBuilderMode.set(!1)}e.mode==="builder"&&this.enterBuilderMode()})}updateSelectedAppUrl(){this.selectedAppControl.valueChanges.pipe(Vl(),Ze(Boolean)).subscribe(e=>{this.selectApp(e);let A=this.activatedRoute.snapshot.queryParams.app;e!==A&&this.router.navigate([],{queryParams:{app:e,mode:null},queryParamsHandling:"merge"})})}updateSelectedSessionUrl(){let e=this.router.createUrlTree([],{queryParams:{session:this.sessionId,userId:this.userId},queryParamsHandling:"merge"}).toString();this.location.replaceState(e)}handlePageEvent(e){if(e.pageIndex>=0){let A=this.getKeyAtIndexInMap(e.pageIndex);A&&(this.selectEvent(A),setTimeout(()=>{let i=this.messages().findIndex(n=>n.eventId===A);if(i!==-1){let n=this.chatPanel()?.scrollContainer?.nativeElement;if(!n)return;let o=n.querySelectorAll(".message-column-container");o&&o[i]&&o[i].scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}},0))}}closeSelectedEvent(){this.selectedEvent=void 0,this.selectedEventIndex=void 0}handleEscapeKey(e){e.key==="Escape"&&this.selectedEvent&&(e.preventDefault(),this.selectedEvent=void 0,this.selectedEventIndex=void 0)}getIndexOfKeyInMap(e){let A=0,i=(o,a)=>0,n=Array.from(this.eventData.keys()).sort(i);for(let o of n){if(o===e)return A;A++}}getKeyAtIndexInMap(e){let A=(n,o)=>0,i=Array.from(this.eventData.keys()).sort(A);if(e>=0&&e{console.log(e),this.downloadService.downloadObjectAsJson(e,`session-${this.sessionId}.json`)})}updateState(){this.dialog.open(Jm,{maxWidth:"90vw",maxHeight:"90vh",data:{dialogHeader:"Update state",jsonContent:this.currentSessionState}}).afterClosed().subscribe(A=>{A&&this.updatedSessionState.set(A)})}removeStateUpdate(){this.updatedSessionState.set(null)}closeTraceEventDetailPanel(){this.bottomPanelVisible=!1,this.traceService.selectedRow(void 0),this.traceService.setHoveredMessages(void 0,"")}importSession(){let e=document.createElement("input");e.type="file",e.accept="application/json",e.onchange=()=>{if(!e.files||e.files.length===0)return;let A=e.files[0],i=new FileReader;i.onload=n=>{if(n.target?.result)try{let o=JSON.parse(n.target.result);if(!o.userId||!o.appName||!o.events){this.openSnackBar("Invalid session file format","OK");return}this.sessionService.importSession(o.userId,o.appName,o.events).subscribe(a=>{this.openSnackBar("Session imported","OK"),this.sessionTab?.refreshSession()})}catch{this.openSnackBar("Error parsing session file","OK")}},i.readAsText(A)},e.click()}injectCustomIconColorStyle(e,A){if(this.document.getElementById(e))return;let i=this.renderer.createElement("style");this.renderer.setAttribute(i,"id",e),this.renderer.setAttribute(i,"type","text/css");let n=` - .${e} { - background-color: ${A} !important; - } - `;this.renderer.appendChild(i,this.renderer.createText(n)),this.renderer.appendChild(this.document.head,i)}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-chat"]],viewQuery:function(A,i){A&1&&rs(i.chatPanel,Vh,5)(i.canvasComponent,jh,5)(i.sideDrawer,OOA,5)(i.sidePanel,$h,5)(i.evalTab,$c,5)(i.bottomPanelRef,POA,5),A&2&&Dr(6)},hostBindings:function(A,i){A&1&&tA("keydown",function(o){return i.handleEscapeKey(o)},m2)},features:[dt([{provide:B8,useClass:KK}])],ngContentSelectors:qOA,decls:8,vars:3,consts:[["sideDrawer",""],["bottomPanel",""],["autosize","",1,"drawer-container"],[1,"material-symbols-outlined",2,"position","absolute","width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","20px","z-index","9999",3,"matTooltip"],["mode","side","appResizableDrawer","",1,"side-drawer"],[3,"isApplicationSelectorEnabledObs","apps$","isLoadingApps","selectedAppControl","showSidePanel","appName","userId","sessionId","traceData","eventData","currentSessionState","artifacts","selectedEvent","selectedEventIndex","renderedEventGraph","rawSvgString","llmRequest","llmResponse","disableBuilderIcon"],[1,"builder-mode-container"],[1,"chat-container"],[1,"material-symbols-outlined",2,"position","absolute","width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","20px","z-index","9999",3,"click","matTooltip"],[3,"closePanel","tabChange","sessionSelected","sessionReloaded","evalCaseSelected","evalSetIdSelected","returnToSession","evalNotInstalled","page","closeSelectedEvent","openImageDialog","appSelectionChange","openAddItemDialog","enterBuilderMode","isApplicationSelectorEnabledObs","apps$","isLoadingApps","selectedAppControl","showSidePanel","appName","userId","sessionId","traceData","eventData","currentSessionState","artifacts","selectedEvent","selectedEventIndex","renderedEventGraph","rawSvgString","llmRequest","llmResponse","disableBuilderIcon"],[3,"exitBuilderMode","closePanel","appNameInput"],[1,"resize-handler"],[1,"builder-exit-button"],["mat-icon-button","","matTooltip","Accept",1,"builder-mode-action-button",3,"click"],["mat-icon-button","","matTooltip","Exit Builder Mode",1,"builder-mode-action-button",3,"click"],["mat-icon-button","","matTooltip","Builder Assistant",1,"builder-mode-action-button",3,"click"],[3,"toggleSidePanelRequest","builderAssistantCloseRequest","showSidePanel","showBuilderAssistant","appNameInput"],[1,"chat-toolbar",3,"ngClass"],[1,"chat-card"],["mat-fab","","color","primary",1,"fab-button"],[3,"appName","messages","isChatMode","evalCase","isEvalEditMode","isEvalCaseEditing","isEditFunctionArgsEnabled","userInput","userEditEvalCaseMessage","selectedFiles","updatedSessionState","eventData","selectedEvent","isAudioRecording","isVideoRecording","hoveredEventMessageIndices","sessionName"],["appResizableBottomPanel","",1,"trace-detail-container"],["matTooltipPosition","left",1,"adk-web-developer-ui-disclaimer",2,"align-self","flex-end",3,"matTooltip"],[1,"material-symbols-outlined",2,"width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","-2px","z-index","9999",3,"matTooltip"],[1,"material-symbols-outlined",2,"width","24px","height","24px","color","#c4c7c5","cursor","pointer","margin-left","20px","margin-top","-2px","z-index","9999",3,"click","matTooltip"],[2,"display","flex"],[1,"toolbar-session-text"],[1,"toolbar-session-id"],[1,"toolbar-actions"],["mat-button","",2,"height","30px",3,"click"],["mat-flat-button","",2,"height","30px",3,"click","disabled"],[1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],[2,"display","flex","align-items","center"],[1,"toolbar-session-text",2,"margin-left","16px"],[1,"readonly-badge"],[1,"readonly-session-message"],[1,"toolbar-sse-toggle"],[1,"example-margin",3,"change","checked","disabled"],[2,"margin-left","8px","margin-right","8px","height","22px",3,"vertical"],["id","toolbar-new-session-button",3,"click","matTooltip"],["id","toolbar-delete-session-button",1,"material-symbols-outlined","toolbar-icon",3,"matTooltip"],["id","toolbar-export-session-button",1,"material-symbols-outlined","toolbar-icon",3,"matTooltip"],["id","toolbar-import-session-button",1,"material-symbols-outlined","toolbar-icon",3,"matTooltip"],["id","toolbar-delete-session-button",1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],["id","toolbar-export-session-button",1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],["id","toolbar-import-session-button",1,"material-symbols-outlined","toolbar-icon",3,"click","matTooltip"],[1,"empty-state-container"],[1,"warning"],[1,"error"],["mat-fab","","color","primary",1,"fab-button",3,"click"],[3,"userInputChange","userEditEvalCaseMessageChange","clickEvent","handleKeydown","cancelEditMessage","saveEditMessage","openViewImageDialog","openBase64InNewTab","editEvalCaseMessage","deleteEvalCaseMessage","editFunctionArgs","fileSelect","removeFile","removeStateUpdate","sendMessage","updateState","toggleAudioRecording","toggleVideoRecording","appName","messages","isChatMode","evalCase","isEvalEditMode","isEvalCaseEditing","isEditFunctionArgsEnabled","userInput","userEditEvalCaseMessage","selectedFiles","updatedSessionState","eventData","selectedEvent","isAudioRecording","isVideoRecording","hoveredEventMessageIndices","sessionName"],[1,"bottom-resize-handler"],[3,"panelClosed","userId","appName","sessionId"]],template:function(A,i){A&1&&(Yt(jOA),m(0,"mat-drawer-container",2),V(1,ZOA,2,1,"span",3),m(2,"mat-drawer",4,0),V(4,XOA,1,19,"app-side-panel",5)(5,$OA,2,1),w(),V(6,APA,12,5,"div",6)(7,vPA,10,8,"div",7),w()),A&2&&(p(),W(!i.showSidePanel&&i.appName===""?1:-1),p(3),W(i.isBuilderMode()?5:4),p(2),W(i.isBuilderMode()?6:7))},dependencies:[dk,xa,Ik,y8,Nn,r0,Fn,E0,gs,fn,_z,r8,aE,oY,D8,eb,Vh,$h,jh,_v,ls],styles:[".expand-side-drawer[_ngcontent-%COMP%]{position:relative;top:4%;left:1%}.drawer-container[_ngcontent-%COMP%]{height:100%;background-color:var(--chat-drawer-container-background-color)}.drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center;--mat-button-filled-container-color: #89b4f8;--mat-button-filled-label-text-color: black}.drawer-header[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;color:#bdc1c6;cursor:pointer;display:flex;align-items:center;justify-content:center}.drawer-header[_ngcontent-%COMP%] .drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-header[_ngcontent-%COMP%] .drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:9px}.drawer-header[_ngcontent-%COMP%] .drawer-logo[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:500;line-height:24px;letter-spacing:.1px}.chat-container[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%;margin:auto;display:flex;flex-direction:column;flex:1}.event-container[_ngcontent-%COMP%]{color:var(--chat-event-container-color)}.chat-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:12%;box-shadow:none;background-color:var(--chat-card-background-color)}.function-event-button[_ngcontent-%COMP%] .mdc-button__label[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace}.loading-bar[_ngcontent-%COMP%]{width:100px;margin:15px}.chat-messages[_ngcontent-%COMP%]{flex-grow:1;overflow-y:auto;padding:20px;margin-top:16px}.message-card[_ngcontent-%COMP%]{padding:5px 20px;margin:5px;border-radius:20px;max-width:80%;font-size:14px;font-weight:400;position:relative;display:inline-block}.function-event-button[_ngcontent-%COMP%]{background-color:var(--chat-function-event-button-background-color);margin:5px 5px 10px}.function-event-button-highlight[_ngcontent-%COMP%]{background-color:var(--chat-function-event-button-highlight-background-color);border-color:var(--chat-function-event-button-highlight-border-color)!important;color:var(--chat-function-event-button-highlight-color)!important}.user-message[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center}.user-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-user-message-message-card-background-color);align-self:flex-end;color:var(--chat-user-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]{display:flex;align-items:center}.bot-message[_ngcontent-%COMP%] .message-card[_ngcontent-%COMP%]{background-color:var(--chat-bot-message-message-card-background-color);align-self:flex-start;color:var(--chat-bot-message-message-card-color);box-shadow:none}.bot-message[_ngcontent-%COMP%]:focus-within .message-card[_ngcontent-%COMP%]{background-color:var(--chat-bot-message-focus-within-message-card-background-color);border:1px solid var(--chat-bot-message-focus-within-message-card-border-color)}.message-textarea[_ngcontent-%COMP%]{background-color:var(--chat-message-textarea-background-color);max-width:100%;border:none;font-family:Google Sans,Helvetica Neue,sans-serif}.message-textarea[_ngcontent-%COMP%]:focus{background-color:var(--chat-message-textarea-focus-background-color);outline:none}.edit-message-buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%]{visibility:hidden;position:absolute;left:10px;z-index:10;background-color:var(--chat-eval-compare-container-background-color);overflow:hidden;border-radius:20px;padding:5px 20px;margin-bottom:10px;font-size:16px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .actual-result[_ngcontent-%COMP%]{border-right:2px solid var(--chat-actual-result-border-right-color);padding-right:8px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%] .eval-compare-container[_ngcontent-%COMP%] .expected-result[_ngcontent-%COMP%]{padding-left:12px;min-width:350px;max-width:350px}.message-card[_ngcontent-%COMP%]:hover .eval-compare-container[_ngcontent-%COMP%]{visibility:visible}.actual-expected-compare-container[_ngcontent-%COMP%]{display:flex}.score-threshold-container[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:10px;align-items:center;margin-top:15px;font-size:14px;font-weight:600}.eval-response-header[_ngcontent-%COMP%]{padding-bottom:5px;border-bottom:2px solid var(--chat-eval-response-header-border-bottom-color);font-style:italic;font-weight:700}.header-expected[_ngcontent-%COMP%]{color:var(--chat-header-expected-color)}.header-actual[_ngcontent-%COMP%]{color:var(--chat-header-actual-color)}.eval-case-edit-button[_ngcontent-%COMP%]{cursor:pointer;margin-left:4px;margin-right:4px}.eval-pass[_ngcontent-%COMP%]{display:flex;color:var(--chat-eval-pass-color)}.eval-fail[_ngcontent-%COMP%]{display:flex;color:var(--chat-eval-fail-color)}.navigation-button-sidepanel[_ngcontent-%COMP%]{margin-left:auto;margin-right:20px}.fab-button[_ngcontent-%COMP%]{position:fixed;bottom:200px;right:100px;z-index:1000}.sidepanel-toggle[_ngcontent-%COMP%]{position:relative;top:100px;z-index:1000}.side-drawer[_ngcontent-%COMP%]{background-color:var(--chat-side-drawer-background-color);color:var(--chat-side-drawer-color);border-radius:0}.file-preview[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;margin-bottom:8px}.file-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;background:var(--chat-file-item-background-color);padding:5px;border-radius:4px}button[_ngcontent-%COMP%]{margin-left:20px;margin-right:20px}.empty-state-container[_ngcontent-%COMP%]{color:var(--chat-empty-state-container-color);height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Google Sans,sans-serif;font-weight:400;letter-spacing:normal;line-height:24px;font-size:18px}.empty-state-container[_ngcontent-%COMP%] pre.warning[_ngcontent-%COMP%]{color:var(--chat-warning-color)}.empty-state-container[_ngcontent-%COMP%] pre.error[_ngcontent-%COMP%]{color:var(--chat-error-color)}[_nghost-%COMP%] .mat-mdc-unelevated-button:not(:disabled){color:var(--chat-mat-mdc-unelevated-button-color);background-color:var(--chat-mat-mdc-unelevated-button-background-color)}[_nghost-%COMP%] .mdc-linear-progress__buffer-dots{background-image:radial-gradient(circle,var(--chat-mdc-linear-progress-buffer-dots-background-color, var(--mat-sys-surface-variant)) calc(var(--mat-progress-bar-track-height, 4px) / 2),transparent 0)}[_nghost-%COMP%] .mat-mdc-select-arrow-wrapper{margin-left:4px}[_nghost-%COMP%] .mat-mdc-text-field-wrapper{border:1px solid var(--chat-mat-mdc-text-field-wrapper-border-color)}[_nghost-%COMP%] .mdc-notched-outline__leading, [_nghost-%COMP%] .mdc-notched-outline__notch, [_nghost-%COMP%] .mdc-notched-outline__trailing{border:none}[_nghost-%COMP%] .mat-mdc-form-field-icon-suffix{padding:0 10px 0 40px}[_nghost-%COMP%] .segment-key{color:var(--chat-segment-key-color)!important}.mat-mdc-select-placeholder[_ngcontent-%COMP%]{margin-left:20px}.bottom-resize-handler[_ngcontent-%COMP%]{background:var(--chat-bottom-resize-handler-background-color);height:5px;border-radius:4px;position:absolute;display:block;width:20%;left:40%;top:0;right:0;z-index:9999;cursor:ns-resize}.trace-detail-container[_ngcontent-%COMP%]{position:relative;background-color:var(--chat-trace-detail-container-background-color)}.trace-detail-container[_ngcontent-%COMP%] app-trace-event[_ngcontent-%COMP%]{padding-top:8px}.new-session-button[_ngcontent-%COMP%]{margin-top:0;margin-left:50px;width:130px;height:28px;font-size:14px}.app-select-container[_ngcontent-%COMP%]{width:35%;background-color:#212123;height:30px;display:flex;justify-content:space-between;padding-left:20px;padding-right:20px;border-radius:10px;padding-top:5px}.app-select-container[_ngcontent-%COMP%]{--mat-select-placeholder-text-color: #8ab4f8;--mat-select-enabled-trigger-text-color: #8ab4f8;--mat-select-enabled-arrow-color: #8ab4f8}.adk-checkbox[_ngcontent-%COMP%]{position:fixed;bottom:0;left:0;right:0;margin-bottom:20px;margin-left:20px}.chat-toolbar[_ngcontent-%COMP%]{position:sticky;top:0;height:48px;background:var(--chat-toolbar-background-color);display:flex;align-items:center;z-index:10}.chat-toolbar.edit-mode[_ngcontent-%COMP%]{background:var(--chat-toolbar-edit-mode-background-color)}.toolbar-actions[_ngcontent-%COMP%]{margin-left:auto;display:flex;align-items:center;flex-shrink:0}.toolbar-session-text[_ngcontent-%COMP%]{color:var(--chat-toolbar-session-text-color);font-family:Roboto;font-size:12px;font-style:normal;font-weight:500;line-height:12px;letter-spacing:.8px;text-transform:uppercase;margin-left:20px;padding-top:4px;flex-shrink:0}.toolbar-session-id[_ngcontent-%COMP%]{color:var(--chat-toolbar-session-id-color);font-family:Google Sans Mono,monospace;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;margin-left:5px;flex-shrink:0}.toolbar-icon[_ngcontent-%COMP%]{width:24px;height:24px;color:var(--chat-toolbar-icon-color);cursor:pointer;margin-right:16px}#toolbar-new-session-button[_ngcontent-%COMP%]{font-size:14px;margin-right:16px;color:var(--chat-toolbar-new-session-color);cursor:pointer;display:flex;align-items:center}.toolbar-sse-toggle[_ngcontent-%COMP%]{--mat-slide-toggle-label-text-size: 14px;--mat-slide-toggle-label-text-color: var(--chat-toolbar-sse-toggle-label-text-color);--mat-slide-toggle-unselected-track-color: var(--chat-toolbar-sse-toggle-unselected-track-color);--mat-slide-toggle-unselected-focus-track-color: var(--chat-toolbar-sse-toggle-unselected-track-color);--mat-slide-toggle-unselected-hover-track-color: var(--chat-toolbar-sse-toggle-unselected-track-color);--mat-slide-toggle-unselected-handle-color: var(--chat-toolbar-sse-toggle-unselected-handle-color);--mat-slide-toggle-unselected-focus-handle-color: var(--chat-toolbar-sse-toggle-unselected-handle-color);--mat-slide-toggle-unselected-hover-handle-color: var(--chat-toolbar-sse-toggle-unselected-handle-color);--mat-slide-toggle-selected-track-color: var(--chat-toolbar-sse-toggle-selected-track-color);--mat-slide-toggle-selected-focus-track-color: var(--chat-toolbar-sse-toggle-selected-track-color);--mat-slide-toggle-selected-hover-track-color: var(--chat-toolbar-sse-toggle-selected-track-color);--mat-slide-toggle-selected-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color);--mat-slide-toggle-selected-focus-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color);--mat-slide-toggle-selected-hover-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color);--mat-slide-toggle-track-height: 24px;--mat-slide-toggle-track-width: 46px;--mat-slide-toggle-track-outline-color: var(--chat-toolbar-sse-toggle-track-outline-color);--mat-slide-toggle-with-icon-handle-size: 20px}[_nghost-%COMP%] pre{white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-width:100%}.readonly-badge[_ngcontent-%COMP%]{color:var(--chat-readonly-badge-color);background-color:var(--chat-readonly-badge-background-color);border-radius:4px;padding:1px 6px;display:flex;align-items:center;margin-left:8px;font-size:12px;line-height:16px;gap:4px;white-space:nowrap}.readonly-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;padding-top:1px;flex-shrink:0}.readonly-session-message[_ngcontent-%COMP%]{display:block;color:var(--chat-toolbar-session-text-color);margin-left:1em;font-weight:400;line-height:16px;letter-spacing:.3px;flex-shrink:1} .mat-drawer-content{display:flex!important} .mat-drawer{border-right:1px solid var(--chat-mat-drawer-border-right-color)!important}.builder-mode-container[_ngcontent-%COMP%]{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;background-color:var(--builder-container-background-color)}.builder-exit-button[_ngcontent-%COMP%]{position:absolute;top:20px;right:20px;z-index:1000;display:flex;gap:8px}.builder-mode-action-button[_ngcontent-%COMP%]{background-color:var(--builder-secondary-background-color)!important;color:var(--builder-text-tertiary-color)!important;border-radius:50%!important;transition:all .2s ease!important;margin:0!important;padding:0!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;border:1px solid var(--builder-tool-item-border-color)!important;box-shadow:0 2px 4px #0000001a!important;display:flex!important;align-items:center!important;justify-content:center!important}.builder-mode-action-button[_ngcontent-%COMP%]:hover{background-color:var(--builder-tool-item-hover-background-color)!important;box-shadow:0 4px 8px #00000026!important}.builder-mode-action-button.active[_ngcontent-%COMP%]{background-color:var(--builder-button-primary-background-color)!important;color:#fff!important;border-color:var(--builder-button-primary-background-color)!important}.builder-mode-action-button[_ngcontent-%COMP%] .mat-mdc-button-touch-target[_ngcontent-%COMP%]{display:none!important}.builder-mode-action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}app-canvas[_ngcontent-%COMP%]{width:100%!important;height:100%!important;flex:1!important;display:flex!important;flex-direction:column!important;min-height:0!important}.build-mode-container[_ngcontent-%COMP%]{display:flex;width:100%;height:100%;background-color:var(--builder-container-background-color)}.build-left-panel[_ngcontent-%COMP%], .build-right-panel[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;background-color:var(--builder-tertiary-background-color);border:1px solid var(--builder-border-color);margin:10px;border-radius:8px}.build-panel-header[_ngcontent-%COMP%]{background-color:var(--builder-secondary-background-color);padding:16px 20px;border-bottom:1px solid var(--builder-border-color);border-radius:8px 8px 0 0}.build-panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:var(--builder-text-primary-color);font-size:16px;font-weight:500;font-family:Google Sans,Helvetica Neue,sans-serif}.build-panel-content[_ngcontent-%COMP%]{flex:1;padding:20px;color:var(--builder-text-secondary-color);overflow-y:auto}.build-panel-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;line-height:1.5}.app-name-option[_ngcontent-%COMP%], .app-select[_ngcontent-%COMP%]{color:var(--builder-text-secondary-color);font-family:Google Sans Mono,monospace;font-style:normal;font-weight:400;padding-left:unset}.adk-web-developer-ui-disclaimer[_ngcontent-%COMP%]{padding-left:4px;padding-bottom:4px;font-size:10px;color:var(--adk-web-text-color-light-gray)}"]})};var Au=class t{static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(A,i){A&1&&GA(0,"app-chat")},dependencies:[ib],encapsulation:2})};var kPA=[{path:"",component:Au}],nb=class t{static \u0275fac=function(A){return new(A||t)};static \u0275mod=$e({type:t});static \u0275inj=Xe({imports:[j6.forRoot(kPA),j6]})};var ob=class{static getRuntimeConfig(){return window.runtimeConfig}};function SPA(t,e){if(t&1&&(li(0,"a",0),Di(1,"img",1),K(2),Ei()),t&2){v();let A=Vs(0),i=Vs(1);p(),vo("src",D1(A),Ka),p(),Se(" ",i," ")}}function xPA(t,e){t&1&&(li(0,"div"),K(1," Invalid custom logo config. Make sure that your runtime config specifies both imgUrl and text in the logo field. "),Ei())}var ab=class t{logoConfig=ob.getRuntimeConfig().logo;static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-custom-logo"]],decls:4,vars:3,consts:[["href","/"],["width","32px","height","32px",1,"orcas-logo",3,"src"]],template:function(A,i){if(A&1&&(Ur(0)(1),V(2,SPA,3,3,"a",0)(3,xPA,2,0,"div")),A&2){let n=_g(i.logoConfig==null?null:i.logoConfig.imageUrl);p();let o=_g(i.logoConfig==null?null:i.logoConfig.text);p(),W(n&&o?2:3)}},styles:[`a[_ngcontent-%COMP%]{color:inherit;text-decoration:none;display:flex;align-items:center;gap:8px} - - - - - - - - - - - - - - - - -`]})};var RPA=(t,e)=>({"font-style":t,color:e}),rb=class t{text=rt("");thought=rt(!1);static \u0275fac=function(A){return new(A||t)};static \u0275cmp=kA({type:t,selectors:[["app-markdown"]],inputs:{text:[1,"text"],thought:[1,"thought"]},features:[dt([e4()])],decls:1,vars:5,consts:[[3,"data","ngStyle"]],template:function(A,i){A&1&&GA(0,"markdown",0),A&2&&$("data",i.text())("ngStyle",Zl(2,RPA,i.thought()?"italic":"normal",i.thought()?"#9aa0a6":"inherit"))},dependencies:[ma,dp,YT,JT],encapsulation:2})};var NPA={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-500":!0,"layout-as-n":!0,"layout-dis-iflx":!0,"layout-al-c":!0},FPA={"layout-w-100":!0},_PA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-mt-0":!0,"layout-mb-2":!0,"typography-sz-bm":!0,"color-c-n10":!0},LPA={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-500":!0,"layout-pt-3":!0,"layout-pb-3":!0,"layout-pl-5":!0,"layout-pr-5":!0,"layout-mb-1":!0,"border-br-16":!0,"border-bw-0":!0,"border-c-n70":!0,"border-bs-s":!0,"color-bgc-s30":!0,"color-c-n100":!0,"behavior-ho-80":!0},UK={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mb-2":!0,"color-c-n10":!0},GPA=Ge(cA({},UK),{"typography-sz-tl":!0}),KPA=Ge(cA({},UK),{"typography-sz-tm":!0}),UPA=Ge(cA({},UK),{"typography-sz-ts":!0}),JPA={"behavior-sw-n":!0},_gA={"typography-f-sf":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-pl-4":!0,"layout-pr-4":!0,"layout-pt-2":!0,"layout-pb-2":!0,"border-br-6":!0,"border-bw-1":!0,"color-bc-s70":!0,"border-bs-s":!0,"layout-as-n":!0,"color-c-n10":!0},YPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0,"color-c-n10":!0},TPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0},HPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0},zPA={"typography-f-s":!0,"typography-fs-n":!0,"typography-w-400":!0,"layout-m-0":!0,"typography-sz-bm":!0,"layout-as-n":!0},OPA={"typography-f-c":!0,"typography-fs-n":!0,"typography-w-400":!0,"typography-sz-bm":!0,"typography-ws-p":!0,"layout-as-n":!0},PPA=Ge(cA({},_gA),{"layout-r-none":!0,"layout-fs-c":!0}),jPA={"layout-el-cv":!0},SgA=Zs.merge(NPA,{"color-c-p30":!0}),qPA=Zs.merge(_gA,{"color-c-n5":!0}),VPA=Zs.merge(PPA,{"color-c-n5":!0}),WPA=Zs.merge(LPA,{"color-c-n100":!0}),xgA=Zs.merge(GPA,{"color-c-n5":!0}),RgA=Zs.merge(KPA,{"color-c-n5":!0}),NgA=Zs.merge(UPA,{"color-c-n5":!0}),ZPA=Zs.merge(_PA,{"color-c-n5":!0}),FgA=Zs.merge(YPA,{"color-c-n60":!0}),XPA=Zs.merge(OPA,{"color-c-n35":!0}),$PA=Zs.merge(TPA,{"color-c-n35":!0}),AjA=Zs.merge(HPA,{"color-c-n35":!0}),ejA=Zs.merge(zPA,{"color-c-n35":!0}),LgA={additionalStyles:{Card:{},Button:{"--n-60":"var(--n-100)"},Image:{"max-width":"120px","max-height":"120px",marginLeft:"auto",marginRight:"auto"}},components:{AudioPlayer:{},Button:{"layout-pt-2":!0,"layout-pb-2":!0,"layout-pl-5":!0,"layout-pr-5":!0,"border-br-2":!0,"border-bw-0":!0,"border-bs-s":!0,"color-bgc-p30":!0,"color-c-n100":!0,"behavior-ho-70":!0},Card:{"border-br-4":!0,"color-bgc-p100":!0,"color-bc-n90":!0,"border-bw-1":!0,"border-bs-s":!0,"layout-pt-4":!0,"layout-pb-4":!0,"layout-pl-4":!0,"layout-pr-4":!0},CheckBox:{element:{"layout-m-0":!0,"layout-mr-2":!0,"layout-p-2":!0,"border-br-12":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bgc-p100":!0,"color-bc-p60":!0,"color-c-n30":!0,"color-c-p30":!0},label:{"color-c-p30":!0,"typography-f-sf":!0,"typography-v-r":!0,"typography-w-400":!0,"layout-flx-1":!0,"typography-sz-ll":!0},container:{"layout-dsp-iflex":!0,"layout-al-c":!0}},Column:{},DateTimeInput:{container:{},label:{},element:{"layout-pt-2":!0,"layout-pb-2":!0,"layout-pl-3":!0,"layout-pr-3":!0,"border-br-12":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bgc-p100":!0,"color-bc-p60":!0,"color-c-n30":!0}},Divider:{"color-bgc-n90":!0,"layout-mt-6":!0,"layout-mb-6":!0},Image:{all:{"border-br-50pc":!0,"layout-el-cv":!0,"layout-w-100":!0,"layout-h-100":!0,"layout-dsp-flexhor":!0,"layout-al-c":!0,"layout-sp-c":!0,"layout-mb-3":!0},avatar:{},header:{},icon:{},largeFeature:{},mediumFeature:{},smallFeature:{}},Icon:{"border-br-1":!0,"layout-p-2":!0,"color-bgc-n98":!0,"layout-dsp-flexhor":!0,"layout-al-c":!0,"layout-sp-c":!0},List:{"layout-g-4":!0,"layout-p-2":!0},Modal:{backdrop:{"color-bbgc-p60_20":!0},element:{"border-br-2":!0,"color-bgc-p100":!0,"layout-p-4":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bc-p80":!0}},MultipleChoice:{container:{},label:{},element:{}},Row:{"layout-g-4":!0},Slider:{container:{},label:{},element:{}},Tabs:{container:{},controls:{all:{},selected:{}},element:{}},Text:{all:{"layout-w-100":!0,"layout-g-2":!0,"color-c-p30":!0},h1:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-2":!0,"layout-p-0":!0,"typography-sz-tl":!0},h2:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-2":!0,"layout-p-0":!0,"typography-sz-tl":!0},h3:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-0":!0,"layout-p-0":!0,"typography-sz-ts":!0},h4:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-0":!0,"layout-p-0":!0,"typography-sz-bl":!0},h5:{"typography-f-sf":!0,"typography-ta-c":!0,"typography-v-r":!0,"typography-w-500":!0,"layout-mt-0":!0,"layout-mr-0":!0,"layout-ml-0":!0,"layout-mb-0":!0,"layout-p-0":!0,"color-c-n30":!0,"typography-sz-bm":!0,"layout-mb-1":!0},body:{},caption:{}},TextField:{container:{"typography-sz-bm":!0,"layout-w-100":!0,"layout-g-2":!0,"layout-dsp-flexhor":!0,"layout-al-c":!0},label:{"layout-flx-0":!0},element:{"typography-sz-bm":!0,"layout-pt-2":!0,"layout-pb-2":!0,"layout-pl-3":!0,"layout-pr-3":!0,"border-br-12":!0,"border-bw-1":!0,"border-bs-s":!0,"color-bgc-p100":!0,"color-bc-p60":!0,"color-c-n30":!0,"color-c-p30":!0}},Video:{"border-br-5":!0,"layout-el-cv":!0}},elements:{a:SgA,audio:FPA,body:ZPA,button:WPA,h1:xgA,h2:RgA,h3:NgA,h4:{},h5:{},iframe:JPA,input:qPA,p:FgA,pre:XPA,textarea:VPA,video:jPA},markdown:{p:[...Object.keys(FgA)],h1:[...Object.keys(xgA)],h2:[...Object.keys(RgA)],h3:[...Object.keys(NgA)],h4:[],h5:[],ul:[...Object.keys(AjA)],ol:[...Object.keys($PA)],li:[...Object.keys(ejA)],a:[...Object.keys(SgA)],strong:[],em:[]}};var sb=class t{nodes=[];subAgentIdCounter=1;selectedToolSubject=new Ht(void 0);selectedNodeSubject=new Ht(void 0);selectedCallbackSubject=new Ht(void 0);loadedAgentDataSubject=new Ht(void 0);agentToolsMapSubject=new Ht(new Map);agentToolsSubject=new Ht(void 0);newAgentToolBoardSubject=new Ht(void 0);agentCallbacksMapSubject=new Ht(new Map);agentCallbacksSubject=new Ht(void 0);agentToolDeletionSubject=new Ht(void 0);deleteSubAgentSubject=new Ht("");addSubAgentSubject=new Ht({parentAgentName:""});tabChangeSubject=new Ht(void 0);agentToolBoardsSubject=new Ht(new Map);constructor(){}getNode(e){return this.nodes.find(i=>i.name===e)}getRootNode(){return this.nodes.find(A=>!!A.isRoot)}addNode(e){let A=this.nodes.findIndex(g=>g.name===e.name);A!==-1?this.nodes[A]=e:this.nodes.push(e);let i=/^sub_agent_(\d+)$/,n=e.name.match(i);if(n){let g=parseInt(n[1],10);g>=this.subAgentIdCounter&&(this.subAgentIdCounter=g+1)}let o=this.agentToolsMapSubject.value,a=new Map(o);a.set(e.name,e.tools||[]),this.agentToolsMapSubject.next(a);let r=this.agentCallbacksMapSubject.value,s=new Map(r);s.set(e.name,e.callbacks||[]),this.agentCallbacksMapSubject.next(s),this.setSelectedNode(this.selectedNodeSubject.value)}getNodes(){return this.nodes}clear(){this.nodes=[],this.subAgentIdCounter=1,this.setSelectedNode(void 0),this.setSelectedTool(void 0),this.agentToolsMapSubject.next(new Map),this.agentCallbacksMapSubject.next(new Map),this.setSelectedCallback(void 0),this.setAgentTools(),this.setAgentCallbacks()}getSelectedNode(){return this.selectedNodeSubject.asObservable()}setSelectedNode(e){this.selectedNodeSubject.next(e)}getSelectedTool(){return this.selectedToolSubject.asObservable()}setSelectedTool(e){this.selectedToolSubject.next(e)}getSelectedCallback(){return this.selectedCallbackSubject.asObservable()}setSelectedCallback(e){this.selectedCallbackSubject.next(e)}getNextSubAgentName(){return`sub_agent_${this.subAgentIdCounter++}`}addTool(e,A){let i=this.getNode(e);if(i){let n=i.tools||[];i.tools=[A,...n];let o=this.agentToolsMapSubject.value,a=new Map(o);a.set(e,i.tools),this.agentToolsMapSubject.next(a)}}deleteTool(e,A){let i=this.getNode(e);if(i&&i.tools){let n=i.tools.length;if(i.tools=i.tools.filter(o=>o.name!==A.name),i.tools.lengthr.name===A.name))return{success:!1,error:`Callback with name '${A.name}' already exists`};i.callbacks.push(A),this.agentCallbacksSubject.next({agentName:e,callbacks:i.callbacks});let o=this.agentCallbacksMapSubject.value,a=new Map(o);return a.set(e,i.callbacks),this.agentCallbacksMapSubject.next(a),{success:!0}}catch(i){return{success:!1,error:"Failed to add callback: "+i.message}}}updateCallback(e,A,i){try{let n=this.getNode(e);if(!n)return{success:!1,error:"Agent not found"};if(!n.callbacks)return{success:!1,error:"No callbacks found for this agent"};let o=n.callbacks.findIndex(l=>l.name===A);if(o===-1)return{success:!1,error:"Callback not found"};if(n.callbacks.some((l,C)=>C!==o&&l.name===i.name))return{success:!1,error:`Callback with name '${i.name}' already exists`};let r=cA(cA({},n.callbacks[o]),i);n.callbacks[o]=r,this.agentCallbacksSubject.next({agentName:e,callbacks:n.callbacks});let s=this.agentCallbacksMapSubject.value,g=new Map(s);return g.set(e,n.callbacks),this.agentCallbacksMapSubject.next(g),this.selectedCallbackSubject.value?.name===A&&this.setSelectedCallback(r),{success:!0}}catch(n){return{success:!1,error:"Failed to update callback: "+n.message}}}deleteCallback(e,A){try{let i=this.getNode(e);if(!i)return{success:!1,error:"Agent not found"};if(!i.callbacks)return{success:!1,error:"No callbacks found for this agent"};let n=i.callbacks.findIndex(r=>r.name===A.name);if(n===-1)return{success:!1,error:"Callback not found"};i.callbacks.splice(n,1),this.agentCallbacksSubject.next({agentName:e,callbacks:i.callbacks});let o=this.agentCallbacksMapSubject.value,a=new Map(o);return a.set(e,i.callbacks),this.agentCallbacksMapSubject.next(a),this.selectedCallbackSubject.value?.name===A.name&&this.setSelectedCallback(void 0),{success:!0}}catch(i){return{success:!1,error:"Failed to delete callback: "+i.message}}}setLoadedAgentData(e){this.loadedAgentDataSubject.next(e)}getLoadedAgentData(){return this.loadedAgentDataSubject.asObservable()}getAgentToolsMap(){return this.agentToolsMapSubject.asObservable()}getAgentCallbacksMap(){return this.agentCallbacksMapSubject.asObservable()}requestSideTabChange(e){this.tabChangeSubject.next(e)}getSideTabChangeRequest(){return this.tabChangeSubject.asObservable()}requestNewTab(e,A){this.newAgentToolBoardSubject.next({toolName:e,currentAgentName:A})}getNewTabRequest(){return this.newAgentToolBoardSubject.asObservable().pipe(fe(A=>A?{tabName:A.toolName,currentAgentName:A.currentAgentName}:void 0))}requestTabDeletion(e){this.agentToolDeletionSubject.next(e)}getTabDeletionRequest(){return this.agentToolDeletionSubject.asObservable()}setAgentToolBoards(e){this.agentToolBoardsSubject.next(e)}getAgentToolBoards(){return this.agentToolBoardsSubject.asObservable()}getCurrentAgentToolBoards(){return this.agentToolBoardsSubject.value}getAgentTools(){return this.agentToolsSubject.asObservable()}getDeleteSubAgentSubject(){return this.deleteSubAgentSubject.asObservable()}setDeleteSubAgentSubject(e){this.deleteSubAgentSubject.next(e)}getAddSubAgentSubject(){return this.addSubAgentSubject.asObservable()}setAddSubAgentSubject(e,A,i){this.addSubAgentSubject.next({parentAgentName:e,agentClass:A,isFromEmptyGroup:i})}setAgentTools(e,A){if(e&&A){this.agentToolsSubject.next({agentName:e,tools:A});let i=this.agentToolsMapSubject.value,n=new Map(i);n.set(e,A),this.agentToolsMapSubject.next(n)}else this.agentToolsSubject.next(void 0)}getAgentCallbacks(){return this.agentCallbacksSubject.asObservable()}setAgentCallbacks(e,A){e&&A?this.agentCallbacksSubject.next({agentName:e,callbacks:A}):this.agentCallbacksSubject.next(void 0)}getParentNode(e,A,i,n){if(e){if(e.name===A.name)return i;for(let o of e.sub_agents){let a=this.getParentNode(o,A,e,n);if(a)return a}if(e.tools){for(let o of e.tools)if(o.toolType==="Agent Tool"){let a=n.get(o.toolAgentName||o.name);if(a){let r=this.getParentNode(a,A,e,n);if(r)return r}}}}}deleteNode(e){this.nodes=this.nodes.filter(A=>A.name!==e.name),this.setSelectedNode(this.selectedNodeSubject.value)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var gb=class t{constructor(e){this.http=e}apiServerDomain=zr.getApiServerBaseUrl();getLatestArtifact(e,A,i,n){let o=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}/artifacts/${n}`;return this.http.get(o)}getArtifactVersion(e,A,i,n,o){let a=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}/artifacts/${n}/versions/${o}`;return this.http.get(a)}static \u0275fac=function(A){return new(A||t)(xo(Xs))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var lb=class t{audioContext=new AudioContext({sampleRate:22e3});lastAudioTime=0;scheduledAudioSources=new Set;playAudio(e){let A=this.combineAudioBuffer(e);A&&this.playPCM(A)}stopAudio(){for(let e of this.scheduledAudioSources)e.onended=null,e.stop();this.scheduledAudioSources.clear(),this.lastAudioTime=this.audioContext.currentTime}combineAudioBuffer(e){if(e.length===0)return;let A=e.reduce((o,a)=>o+a.length,0),i=new Uint8Array(A),n=0;for(let o of e)i.set(o,n),n+=o.length;return i}playPCM(e){let A=new Float32Array(e.length/2);for(let r=0;r=32768&&(s-=65536),A[r]=s/32768}let i=this.audioContext.createBuffer(1,A.length,22e3);i.copyToChannel(A,0);let n=this.audioContext.createBufferSource();n.buffer=i,n.connect(this.audioContext.destination),n.onended=()=>{this.scheduledAudioSources.delete(n)},this.scheduledAudioSources.add(n);let o=this.audioContext.currentTime,a=Math.max(this.lastAudioTime,o);n.start(a),this.lastAudioTime=a+i.duration}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var cb=new yA("AudioRecordingService"),Cb=new yA("AudioWorkletModulePath");var Ib=class t{audioWorkletModulePath=h(Cb);stream;audioContext;source;audioBuffer=[];startRecording(){return nt(this,null,function*(){try{this.stream=yield navigator.mediaDevices.getUserMedia({audio:!0}),this.audioContext=new AudioContext,yield this.audioContext.audioWorklet.addModule(this.audioWorkletModulePath),this.source=this.audioContext.createMediaStreamSource(this.stream);let e=new AudioWorkletNode(this.audioContext,"audio-processor");e.port.onmessage=A=>{let i=A.data,n=this.float32ToPCM(i);this.audioBuffer.push(n)},this.source.connect(e),e.connect(this.audioContext.destination)}catch(e){console.error("Error accessing microphone:",e)}})}stopRecording(){this.source&&this.source.disconnect(),this.audioContext&&this.audioContext.close(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())}getCombinedAudioBuffer(){if(this.audioBuffer.length===0)return;let e=this.audioBuffer.reduce((n,o)=>n+o.length,0),A=new Uint8Array(e),i=0;for(let n of this.audioBuffer)A.set(n,i),i+=n.length;return A}cleanAudioBuffer(){this.audioBuffer=[]}float32ToPCM(e){let A=new ArrayBuffer(e.length*2),i=new DataView(A);for(let n=0;ne[Gz]==="true"))}isEditFunctionArgsEnabled(){return this.route.queryParams.pipe(fe(e=>e[Kz]==="true"))}isSessionUrlEnabled(){return se(!0)}isA2ACardEnabled(){return this.route.queryParams.pipe(fe(e=>e[Uz]==="true"))}isApplicationSelectorEnabled(){return se(!0)}isAlwaysOnSidePanelEnabled(){return se(!1)}isTraceEnabled(){return se(!0)}isArtifactsTabEnabled(){return se(!0)}isEvalEnabled(){return se(!0)}isTokenStreamingEnabled(){return se(!0)}isMessageFileUploadEnabled(){return se(!0)}isManualStateUpdateEnabled(){return se(!0)}isBidiStreamingEnabled(){return se(!0)}isExportSessionEnabled(){return se(!0)}isEventFilteringEnabled(){return se(!1)}isDeleteSessionEnabled(){return se(!0)}isLoadingAnimationsEnabled(){return se(!0)}isSessionsTabReorderingEnabled(){return se(!1)}isSessionFilteringEnabled(){return se(!1)}isSessionReloadOnNewMessageEnabled(){return se(!1)}isUserIdOnToolbarEnabled(){return se(!0)}isDeveloperUiDisclaimerEnabled(){return se(!0)}isFeedbackServiceEnabled(){return se(!1)}isInfinityMessageScrollingEnabled(){return se(!1)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var tjA=(()=>{var t=import.meta.url;return function(e={}){var A,i=e,n,o,a=new Promise((u,y)=>{n=u,o=y});i.agerrMessages=[],i.stderrMessages=[],B=u=>i.stderrMessages.push(u);var r=Object.assign({},i),s="./this.program",g=(u,y)=>{throw y},l="",C,I;typeof document<"u"&&document.currentScript&&(l=document.currentScript.src),t&&(l=t),l.startsWith("blob:")?l="":l=l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1),C=u=>fetch(u,{credentials:"same-origin"}).then(y=>y.ok?y.arrayBuffer():Promise.reject(new Error(y.status+" : "+y.url)));var d=console.log.bind(console),B=console.error.bind(console);Object.assign(i,r),r=null;var E;function Q(u){for(var y=atob(u),x=new Uint8Array(y.length),H=0;Hu.startsWith(Pe);function HA(){var u="data:application/octet-stream;base64,AGFzbQEAAAABmAd0YAJ/fwF/YAF/AGABfwF/YAN/f38Bf2ACf38AYAN/f38AYAR/f39/AX9gBH9/f38AYAV/f39/fwF/YAZ/f39/f38Bf2AFf39/f38AYAZ/f39/f38AYAAAYAh/f39/f39/fwF/YAABf2AHf39/f39/fwF/YAF8AXxgAn9/AXxgAX8BfGAHf39/f39/fwBgA39/fwF8YAd/f39/fHx/AGACf3wAYAR8fHx/AXxgAnx8AXxgA398fABgBX9+fn5+AGAEf39/fABgCn9/f39/f39/f38Bf2ADf35/AX5gBH9/fHwBf2ADfHx8AXxgCX9/f39/f39/fwBgA39/fgBgAAF8YAR/f39/AXxgAn9/AX5gBX9/f39+AX9gA39/fgF/YAp/f39/f39/f39/AGAEf35+fwBgBH9/fH8AYAJ/fgBgAnx/AXxgBH9/f3wBf2ABfwF+YAJ/fgF/YAJ/fAF/YAN8fH8BfGADf3x/AGAIf39/f39/f38AYAV/f39/fAF/YAt/f39/f39/f39/fwF/YAN/f3wAYAV/f35/fwBgBH9/fH8Bf2AAAX5gB39/f398f38Bf2AFf39/f3wAYAN/f3wBf2ADf35/AX9gAn19AX1gBH9/fX8AYAZ/fHx8fHwBfGADf39/AX5gDH9/f39/f39/f39/fwF/YAV/f3x/fwF/YAd/f398fH9/AGAGf39/fH9/AGAGf39/f35/AX9gD39/f39/f39/f39/f39/fwBgBH9/f38BfmAGf3x/f39/AX9gB39/f39/fn4Bf2AGf39/f35+AX9gB39/f39+f38Bf2AGf39/f39+AX9gAn5/AGAEf35/fwF/YAR/f3x8AXxgBX9/fH9/AGAJf39/f39/f39/AX9gBH9/fHwAYAR+fn5+AX9gAn99AX9gAn5/AX9gCH9/f398fHx/AGADf31/AGAGf39+fn5/AGABfAF/YAJ+fgF9YAJ/fQBgBH9/f34BfmAGf31/f39/AGADf3x8AX9gBX9/f3x/AGAFf398fH8AYAZ8fHx/f38AYAJ+fgF8YAJ8fwF/YAR/fHx8AGAGf39/f398AGAEf3x/fwBgBnx8f3x8fwBgB398fHx8fHwAYAV/fHx8fAF/YAF/AX1gA39/fwF9YAN+fn4Bf2AEf35+fgBgBH98f38Bf2AKf3x/f39/f39/fwBg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g+cDIAJBEGoQHxoQLAALFwBBAUF/IAAgASABED8iABChAiAARhsLJQEBfyAAKAIsIgBBAEGAASAAKAIAEQMAIgAEfyAAKAIQBUEACws0AQF/AkAgACABEOUBIgFFDQAgACgCLCIAIAFBCCAAKAIAEQMAIgBFDQAgACgCECECCyACC28BAX8jAEEgayIDJAAgA0IANwMYIANCADcDECADIAI2AgwCQCADQRBqIAEgAhC0CiIBQQBIBEAgA0GQhgsoAgAQswU2AgBBmP0DIAMQNwwBCyAAIANBEGoiABCOBSABEKECGiAAEFwLIANBIGokAAskAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhDLCyADQRBqJAALMwEBfyACBEAgACEDA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAAC6QBAQN/IwBBEGsiAiQAAkAgABAuIgMgACgCAEEDcSAAKQMIEOYJIgEEfyABKAIYBUEACyIBDQAgAygCTCIBKAIAKAIMIgMEQCABKAIIIAAoAgBBA3EgACkDCCADESYAIgENAQtBACEBIAAoAgBBA3FBAkYNACACIAApAwg3AwggAkElNgIAQZDbCiEBQZDbCkEgQY4YIAIQpgEaCyACQRBqJAAgAQsPACAAIAEgAiADQQAQ7wsLQwAgACAAIAGlIAG9Qv///////////wCDQoCAgICAgID4/wBWGyABIAC9Qv///////////wCDQoCAgICAgID4/wBYGwsVACAAEKMBBEAgACgCBA8LIAAQpQMLFAAgABAoBEAgAC0ADw8LIAAoAgQLJgAgACABEK0HIgFFBEBBAA8LIAAQ7QEoAgwgASgCEEECdGooAgALogEBAn8CQAJAIAAEQCAAKAIIIgMgACgCDCICRgRAIAAgA0EBdEEBIAMbIAEQqgIgACgCDCECCyACRQ0BIAAoAggiAyACTw0CIAAgACgCBCADaiACcCICIAEQ3gEaIAAgACgCCEEBajYCCCACDwtBvdIBQbS3AUE3Qc3CARAAAAtB2pMDQbS3AUE/Qc3CARAAAAtBpAxBtLcBQcAAQc3CARAAAAsuACAALQAPIgBBAWpB/wFxQRFPBEBBqrkDQZ38AEHcAEHKlwEQAAALIABB/wFHC0MAIAAgACABpCABvUL///////////8Ag0KA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AEEQayIDJAAgAyACNgIMIAAgASACEMkLIANBEGokAAsIAEEBIAAQGgsMACAAIAFBHGoQ2goLGQEBfyMAQRBrIgEkACAAEKcLIAFBEGokAAsbAQF/QQohASAAEKMBBH8gABD2AkEBawVBCgsL0wECA38CfgJAIAApA3AiBFBFIAQgACkDeCAAKAIEIgEgACgCLCICa6x8IgVXcUUEQCAAEL0FIgNBAE4NASAAKAIsIQIgACgCBCEBCyAAQn83A3AgACABNgJoIAAgBSACIAFrrHw3A3hBfw8LIAVCAXwhBSAAKAIEIQEgACgCCCECAkAgACkDcCIEUA0AIAQgBX0iBCACIAFrrFkNACABIASnaiECCyAAIAI2AmggACAFIAAoAiwiACABa6x8NwN4IAAgAU8EQCABQQFrIAM6AAALIAMLygECAn8BfCMAQRBrIgEkAAJAIAC9QiCIp0H/////B3EiAkH7w6T/A00EQCACQYCAwPIDSQ0BIABEAAAAAAAAAABBABCwBCEADAELIAJBgIDA/wdPBEAgACAAoSEADAELIAAgARCoByECIAErAwghACABKwMAIQMCQAJAAkACQCACQQNxQQFrDgMBAgMACyADIABBARCwBCEADAMLIAMgABCxBCEADAILIAMgAEEBELAEmiEADAELIAMgABCxBJohAAsgAUEQaiQAIAALewEDfwJAIAEQuAohAiAAEPsGIQMgABAkIQQgAiADTQRAIAAQRiIDIAEgAhCoCyMAQRBrIgEkACAAECQaIAAgAhCfAyABQQA2AgwgAyACQQJ0aiABQQxqENsBIAFBEGokAAwBCyAAIAMgAiADayAEQQAgBCACIAEQsQoLC08BA38CQCABED8hAiAAEFUhAyAAECQhBCACIANNBEAgABBGIgMgASACEKoLIAAgAyACEMUKDAELIAAgAyACIANrIARBACAEIAIgARC1CgsLEAAgABCgCyABEKALc0EBcwsQACAAEKELIAEQoQtzQQFzCxUAIAAtAA9B/wFGBEAgACgCABAYCwsLACAAIAFBOBCgCguVBQIDfwJ+IwBB4ABrIgUkAAJAAkACQAJAAkACQCAAQQIgAyAFQdgAakEAEJQDRQRAIAMNAiAEBEAgABDcBUUNBAsgBUIANwNQIAVCADcDSAwBCyAFQgA3A0ggBSAFKQNYNwNQIAVB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CCEBIARBiPIIQRgQzgFFDQJBoPIIIQEgBEGg8ghBGBDOAUUNAkEAIQBBkJ8LLQAARQRAA0AgAEECdEHgngtqIABBlYAFEJ8HNgIAIABBAWoiAEEGRw0AC0GQnwtBAToAAEH4ngtB4J4LKAIANgIAC0HgngshASACQQhqIgBB4J4LQRgQzgFFDQJB+J4LIQEgAEH4ngtBGBDOAUUNAkEYEE0iAUUNAQsgASACKQIINwIAIAEgAikCGDcCECABIAIpAhA3AggMAQtBACEBCyACQSBqJABBhKELQQE6AABBgKELIAE2AgAgAQutAQIBfwJ+AkACQCAABEAgAQRAIABBABDAAiIDKAL0Aw0CIAMpA7AEIgQgAUEIayIBKAIAQQhqrSIFVA0DIAMgBCAFfSIENwOwBCADKALABEECTwRAIANBLSAFIAQgAykDuAQgAhCSBAsgASAAKAIUEQEACw8LQZ3TAUG+vAFBiwdB254BEAAAC0Gn0QFBvrwBQZIHQdueARAAAAtBlqgBQb68AUGbB0HbngEQAAALCQAgAEEAENcGC78KAgV/D34jAEHgAGsiBSQAIARC////////P4MhDCACIASFQoCAgICAgICAgH+DIQogAkL///////8/gyINQiCIIQ4gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyILQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAtCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASALhEIAIQFQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIAuEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyALQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIGG3kgBkEGdK18pyIGQQ9rELMBQRAgBmsh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IABBACAHELgFDAELIAUgAiADIAAgBEEQahCgBwsgAEEBRgRAIARBCGpBARC3BUEADAELIARBCGogBhC3BUEBCyEAIAQgBCgCCEEBciIGNgIIIAIgBWoiBSABSQ0ACwsgBSACIAMgBEEIaiAAQQAgBEEQahC4BQJAIABBAUcNACAEKAIIQQFHDQAgBCgCDEUNAQsDQAJ/IABBAUwEQCAEQQhqIgEgARDfCyIBELkFIAAgAWoMAQsgBEEIaiIBQQIQtwUgBCAEKAIIQQdzNgIIIAFBARC5BSAFIAlqIgggBEEQaiIHIABBAmsiBkECdGooAgBrIAIgAyABIABBAWtBASAHELgFIAFBARC3BSAEIAQoAghBAXI2AgggCCACIAMgASAGQQEgBxC4BSAGCyEAIAUgCWohBSAAQQFHDQAgBCgCCEEBRw0AIAQoAgwNAAsLIARB0AFqJAALxAEBA38CfwJAIAEoAkwiAkEATgRAIAJFDQFBnIgLKAIAIAJB/////wNxRw0BCwJAIABB/wFxIgIgASgCUEYNACABKAIUIgMgASgCEEYNACABIANBAWo2AhQgAyAAOgAAIAIMAgsgASACEKQHDAELIAFBzABqIgQQ6QsaAkACQCAAQf8BcSICIAEoAlBGDQAgASgCFCIDIAEoAhBGDQAgASADQQFqNgIUIAMgADoAAAwBCyABIAIQpAchAgsgBBDpAxogAgsLqwMCBX8BfiAAvUL///////////8Ag0KBgICAgICA+P8AVCABvUL///////////8Ag0KAgICAgICA+P8AWHFFBEAgACABoA8LIAG9IgdCIIinIgJBgIDA/wNrIAenIgVyRQRAIAAQwAUPCyACQR52QQJxIgYgAL0iB0I/iKdyIQMCQCAHQiCIp0H/////B3EiBCAHp3JFBEACQAJAIANBAmsOAgABAwtEGC1EVPshCUAPC0QYLURU+yEJwA8LIAJB/////wdxIgIgBXJFBEBEGC1EVPsh+T8gAKYPCwJAIAJBgIDA/wdGBEAgBEGAgMD/B0cNASADQQN0QYDKCGorAwAPCyAEQYCAwP8HRyACQYCAgCBqIARPcUUEQEQYLURU+yH5PyAApg8LAnwgBgRARAAAAAAAAAAAIARBgICAIGogAkkNARoLIAAgAaOZEMAFCyEAAkACQAJAIANBAWsOAwABAgQLIACaDwtEGC1EVPshCUAgAEQHXBQzJqahvKChDwsgAEQHXBQzJqahvKBEGC1EVPshCcCgDwsgA0EDdEGgyghqKwMAIQALIAALlgECAX8BfgJAIAAQOSABEDlHDQACQAJAAkAgASgCAEEDcQ4CAAECCwNAIAAgAUYiAg0DIAEoAkQiAQ0ACwwCCwJAIAAgASkDCCIDEL8DIgFBAXINAEEAIQEgACAAEDkiAkYNACACIAMQvwMiAkUNACAAIAJBARCDARogAiEBCyABQQBHDwsgACABQQAQ1gJBAEchAgsgAgtEAgJ/AXwgAEEAIABBAEobIQADQCAAIANGRQRAIAEgA0EDdCIEaisDACACIARqKwMAoiAFoCEFIANBAWohAwwBCwsgBQs7AQJ/IAAoAgQiAQRAIAEhAANAIAAiASgCACIADQALIAEPCwNAIAAgACgCCCIBKAIARyABIQANAAsgAAs6AQF/AkAgAUUNACAAEL4DKAIAIAFBARCYBCICRSACQQhqIAFHcg0AIAAgARDVAg8LIAAgAUEAEMsICwwAQYjdChDtCzYCAAuZAgEGfyAAKAIIIgVBgCBxBEAgACgCDA8LAkAgBUEBcQRAIAAoAhAiAiAAKAIUQQJ0aiEGA0AgAiAGTw0CIAIoAgAiBARAAkAgAUUEQCAEIgMhAQwBCyABIAQ2AgALA0AgASIEKAIAIgENAAsgAiAENgIAIAQhAQsgAkEEaiECDAALAAsgACgCDCIDRQRAQQAhAwwBCwNAIAMoAgQiAQRAIAMgASgCADYCBCABIAM2AgAgASEDDAELCyADIQEDQCABIgQoAgAiAQRAIAEoAgQiAkUNAQNAIAEgAigCADYCBCACIAE2AgAgAiIBKAIEIgINAAsgBCABNgIADAELCyAAKAIIIQULIAAgAzYCDCAAIAVBgCByNgIIIAMLoQEBAn8CQCAAECRFIAIgAWtBBUhyDQAgASACEJcFIAJBBGshBCAAEEYiAiAAECRqIQUCQANAAkAgAiwAACEAIAEgBE8NACAAQQBMIABB/wBOckUEQCABKAIAIAIsAABHDQMLIAFBBGohASACIAUgAmtBAUpqIQIMAQsLIABBAEwgAEH/AE5yDQEgAiwAACAEKAIAQQFrSw0BCyADQQQ2AgALC4QBAQJ/IwBBEGsiAiQAIAAQowEEQCAAKAIAIAAQ9gIaEKEFCyABECQaIAEQowEhAyAAIAEoAgg2AgggACABKQIANwIAIAFBABDTASACQQA6AA8gASACQQ9qENIBAkAgACABRiIBIANyRQ0ACyAAEKMBIAFyRQRAIAAQpQMaCyACQRBqJAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLzgkCBH8EfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAKQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBRshBEIAIAEgBRshAwwCCyADIAlCgICAgICAwP//AIWEUA0BIAEgCoRQBEAgAyAJhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAJhFBFDQAgASEDIAIhBAwBCyADIAEgASADVCAJIApWIAkgClEbIggbIQogBCACIAgbIgxC////////P4MhCSACIAQgCBsiC0IwiKdB//8BcSEHIAxCMIinQf//AXEiBUUEQCAGQeAAaiAKIAkgCiAJIAlQIgUbeSAFQQZ0rXynIgVBD2sQswEgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3kgB0EGdK18pyIHQQ9rELMBQRAgB2shByAGKQNQIQMgBikDWAtCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCACIASFIQQCfiADQgOGIgIgBSAHRg0AGiAFIAdrIgdB/wBLBEBCACEBQgEMAQsgBkFAayACIAFBgAEgB2sQ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ABCCASIGEP4BRQ0AGiADIAYQ1gMhAQNAAkAgABCVARogAUEwayEBIAAgBUEMahBbIARBAkhyDQAgA0HAACAAEIIBIgYQ/gFFDQMgBEEBayEEIAMgBhDWAyABQQpsaiEBDAELCyAAIAVBDGoQW0UNAUECCyACKAIAcjYCAAsgBUEQaiQAIAELlQEBA38jAEEQayIEJAAgBCABNgIMIAQgAzYCCCAEQQRqIARBDGoQjgIgBCgCCCEDIwBBEGsiASQAIAEgAzYCDCABIAM2AghBfyEFAkBBAEEAIAIgAxBjIgNBAEgNACAAIANBAWoiAxBNIgA2AgAgAEUNACAAIAMgAiABKAIMEGMhBQsgAUEQaiQAEI0CIARBEGokACAFC2MAIAIoAgRBsAFxIgJBIEYEQCABDwsCQCACQRBHDQACQAJAIAAtAAAiAkEraw4DAAEAAQsgAEEBag8LIAJBMEcgASAAa0ECSHINACAALQABQSByQfgARw0AIABBAmohAAsgAAsuAAJAIAAoAgRBygBxIgAEQCAAQcAARgRAQQgPCyAAQQhHDQFBEA8LQQAPC0EKC0YBAX8gACgCACECIAEQbyEAIAJBCGoiARDFAiAASwR/IAEgABCeAygCAEEARwVBAAtFBEAQkAEACyACQQhqIAAQngMoAgALTQEBfyMAQRBrIgMkACAAIAEgAhCLByIABEAgAyAAELMFNgIIIAMgAjYCBCADIAE2AgBBqPMIKAIAQfv7AyADEB8aECwACyADQRBqJAALfQECfyMAQRBrIgQkACMAQSBrIgMkACADQRhqIAEgASACahCkBSADQRBqIAMoAhggAygCHCAAEKsLIAMgASADKAIQEKMFNgIMIAMgACADKAIUEKQDNgIIIARBCGogA0EMaiADQQhqEPwBIANBIGokACAEKAIMGiAEQRBqJAAL4wECBH4CfyMAQRBrIgYkACABvSIFQv////////8HgyECIAACfiAFQjSIQv8PgyIDUEUEQCADQv8PUgRAIAJCBIghBCADQoD4AHwhAyACQjyGDAILIAJCBIghBEL//wEhAyACQjyGDAELIAJQBEBCACEDQgAMAQsgBiACQgAgBadnQSByIAJCIIinZyACQoCAgIAQVBsiB0ExahCzAUGM+AAgB2utIQMgBikDCEKAgICAgIDAAIUhBCAGKQMACzcD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DCABNgJIIAEoAgRBAUcNACAMKAIAEBggDEH23gEQZDYCAAsgCSgCjAEgCUGQAWokAEUNAQJAAkACQCAAEJICDgMAAQIECyATIB0QITYCAEHA9QMgExB/DAMLIBMgHhAhNgIQQcn5AyATQRBqEH8MAgsgGUEwQQAgGSgCAEEDcUEDRxtqKAIoECEhACAUEIECIQEgEyAZQVBBACAZKAIAQQNxQQJHG2ooAigQITYCKCATQbbfAUHUngMgARs2AiQgEyAANgIgQfzuAyATQSBqEH8MAQsgASAAQQAQ8wghAAJ/IAVBAUYEQCAAEJsEDAELIAAgFBDRBgshASAAEBggDCABNgIAIBQoAhAoApABIAwQ9AgLIBNBMGokACAMDwtBwNUBQdH7AEEMQf47EAAACwgAIAAQmQEaC44BAQN/AkAgACgCCCIBQQxxBEAgACgCDCECDAELAkAgAUEBcQRAIAAQsAEhAiAAKAIQIgEgACgCFEECdGohAwNAIAEgA08NAiABQQA2AgAgAUEEaiEBDAALAAsgACgCECECIABBADYCEAwBCyAAKAIIIQELIABBADYCGCAAQQA2AgwgACABQf9fcTYCCCACC78CAgN/AXwjAEEwayICJAAgACgAnAEhAyAAKAKUASACIAApApwBNwMIIAIgACkClAE3AwAgAiADQQFrEBlBAnRqKAIAIQMgAiABKQMYNwMoIAIgASkDEDcDICACIAEpAwg3AxggAiABKQMANwMQIABBlAFqAkAgA0UNAAJAIAIoAhQNACADKAIEIgRFDQAgAiAENgIUCwJAIAIrAyBEAAAAAAAAAABjRQ0AIAMrAxAiBUQAAAAAAAAAAGZFDQAgAiAFOQMgCwJAIAIoAhANACADKAIAIgRFDQAgAiAENgIQCyADKAIYQf8AcSIDRQ0AIAIgAigCKCADcjYCKAsgACAAKAKsASgCiAEiAyACQRBqQQEgAygCABEDADYCqAFBBBAnIQEgACgClAEgAUECdGogACgCqAE2AgAgAkEwaiQAC28BAX8jAEEgayIDJAAgA0IANwMYIANCADcDCCADQoCAgICAgID4v383AxAgAyACNgIYIANCADcDACABBEAgACADQbCbCkEDIAFBqt4BEJAECyAAKAI8KAKIASIAIANBASAAKAIAEQMAIANBIGokAAsLACAAQeXMBBCg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CQoLDA0ODxAREhMUFRYXGBkLIAJBAWoiE0EQEBohEUEBIQMDQCACIANGBEAgESAQIAJBMGxqIgFBGGopAwA3AwggESABKQMQNwMAIBEgAkEEdGoiAyABQRBrIgJBCGopAwA3AwggAyACKQMANwMAIAAgESATIAQQSCAREBggDyACKQMINwMoIA8gAikDADcDICAPIAEpAxg3AzggDyABKQMQNwMwIA8gDysDMCAPKwMgIAErAwChoDkDQCAPIA8rAzggDysDKCABKwMIoaA5A0ggACAPQTBqQQIQPSAPIA8pA0g3AzggDyAPKQNANwMwIAAgD0EgakECED0MGgUgESADQQR0IhJqIhQgASASaiISKQMANwMAIBQgEikDCDcDCCADQQFqIQMMAQsACwALIAJBAmoiA0EQEBoiAiABKQMINwMIIAIgASkDADcDACACIBApAyA3AxAgAiAQKQMoNwMYIAIgECsDICAQKwMwIgYgECsDQKFEAAAAAAAACECjIgegOQMgIBArAyghCCAQKwNIIQkgECsDOCEFIAIgBiAHoDkDMCACIAUgBSAJoUQAAAAAAAAIQKMiBaA5AzggAiAIIAWgOQMoQQQgAyADQQRNGyERIAFBIGshE0EEIQEDQCABIBFGBEAgACACIAMgBBBIIAIQGCAPIBApAzg3AyggDyAQKQMwNwMgIA8gECkDKDcDOCAPIBApAyA3AzAgACAPQSBqQQIQPQwZBSACIAFBBHQiEmoiFCASIBNqIhIpAwA3AwAgFCASKQMINwMIIAFBAWohAQwBCwALAAsgAkEDaiIDQRAQGiICIAFBCGopAwA3AwggAiABKQMANwMAIAIgASsDACIFIAUgECsDEKEiBkQAAAAAAADQv6KgOQMQIAErAwghCCAQKwNIIQkgAiAQKwM4Igc5AzggAiAFIAZEAAAAAAAAAsCioDkDMCACIAUgBiAGoKE5AyAgAiAIIAcgCaFEAAAAAAAACECjoCIFOQMoIAIgBTkDGCAQKwMwIQUgAiAHOQNIIAIgBTkDQEEEIAMgA0EETRshESABQTBrIRNBBCEBA0AgASARRgRAIAAgAiADIAQQSCACEBgMGAUgAiABQQR0IhJqIhQgEiATaiISKQMANwMAIBQgEikDCDcDCCABQQFqIQEMAQsACwALIAJBBEcNG0EGQRAQGiICIAEp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ASkDADcDACAAIAEpAwg3AwgLCgAgAEEIahDTAwsNACAAKAIAIAFBAnRqCxkAIAAQowEEQCAAIAEQvgEPCyAAIAEQ0wELYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBAWsiATYCCCAAIAFPDQEgAigCDCACKAIIEPcKIAIgAigCDEEBaiIANgIMIAIoAgghAQwACwALIAJBEGokAAuxAQEDfyMAQRBrIgckAAJAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQ4QMgCEcNAQsgBiADIAFrQQJ1IgFrQQAgASAGSBsiAUEASgRAIAAgB0EEaiABIAUQgAsiBRBGIAEQ4QMhBiAFEHYaIAEgBkcNAQsgAyACa0ECdSIBQQBKBEAgACACIAEQ4QMgAUcNAQsgBBCDCwwBC0EAIQALIAdBEGokACAAC6gBAQN/IwBBEGsiByQAAkACQCAARQ0AIAQoAgwhBiACIAFrIghBAEoEQCAAIAEgCBDhAyAIRw0BCyAGIAMgAWsiAWtBACABIAZIGyIBQQBKBEAgACAHQQRqIAEgBRCECyIFEEYgARDhAyEGIAUQNBogASAGRw0BCyADIAJrIgFBAEoEQCAAIAIgARDhAyABRw0BCyAEEIMLDAELQQAhAAsgB0EQaiQAIAALDgAgACABKAIANgIAIAALCgAgACABIABragsLACAALQALQf8AcQsIACAAQf8BcQtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAECxYAIABFBEBBAA8LQZCGCyAANgIAQX8LCwAgACABIAIRAAAL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ACEAIAggAUEEajYCACABIAA2AgAMAQtBfyEAIAkgCUEaaiAKQQ9qEIUHIAlrIgVBF0oNAQJAAkACQCABQQhrDgMAAgABCyABIAVKDQEMAwsgAUEQRyAFQRZIcg0AIAMoAgAiASACRiABIAJrQQJKcg0CIAFBAWstAABBMEcNAkEAIQAgBEEANgIAIAMgAUEBajYCACABIAVB4K4Jai0AADoAAAwCCyADIAMoAgAiAEEBajYCACAAIAVB4K4Jai0AADoAACAEIAQoAgBBAWo2AgBBACEADAELQQAhACAEQQA2AgALIApBEGokACAACwsAIABB+KILEKkCC18BAn8jAEEQayIDJAADQAJAIAAoAgggAk0EQEF/IQIMAQsgAyAAKQIINwMIIAMgACkCADcDACABIAAgAyACEBkQlQtBBBDOAUUNACACQQFqIQIMAQsLIANBEGokACACCxQAIABB3wBxIAAgAEHhAGtBGkkbCxsBAX8gAUEBEKILIQIgACABNgIEIAAgAjYCAAskACAAQQtPBH8gAEEIakF4cSIAIABBAWsiACAAQQtGGwVBCgsLJAECfyMAQRBrIgIkACAAIAEQnwUhAyACQRBqJAAgASAAIAMbCxMAIAAgASACIAAoAgAoAjARAwALZwIBfwF+IwBBEGsiAiQAIAACfiABRQRAQgAMAQsgAiABrUIAQfAAIAFnIgFBH3NrELMBIAIpAwhCgICAgICAwACFQZ6AASABa61CMIZ8IQMgAikDAAs3AwAgACADNwMIIAJBEGokAAtSAQJ/QYzXCigCACIBIABBB2pBeHEiAmohAAJAIAJBACAAIAFNG0UEQCAAPwBBEHRNDQEgABAKDQELQZCGC0EwNgIAQX8PC0GM1wogADYCACABC38CAX4DfwJAIABCgICAgBBUBEAgACECDAELA0AgAUEBayIBIAAgAEIKgCICQgp+fadBMHI6AAAgAEL/////nwFWIAIhAA0ACwsgAlBFBEAgAqchAwNAIAFBAWsiASADIANBCm4iBEEKbGtBMHI6AAAgA0EJSyAEIQMNAAsLIAELHAAgAEGBYE8Ef0GQhgtBACAAazYCAEF/BSAACws2ACAAIAEQqwMiAEUEQEEADwsgACgCACEBIAIEQCAAIAJBCCABEQMADwsgAEEAQYABIAERAwALPAAgACgCTEEATgRA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MyADEDgFIBggCCgCACADQQR0aiIEKQM4NwMIIBggBCkDMDcDACACQbAVakEQECchBCACKAKwFSAEQQR0aiIEIBgpAwA3AwAgBCAYKQMINwMIIANBAWohAwwBCwsLIAgoAgAQGCAIEBgLIAxBAWohDCACKAKoDiEDDAALAAUgAkG4FWoiDgJ/IAMgFEsEQCACIAJBqA5qIgMpAwA3A5gEIAIgAikDoA43A5AEIAIoAqAOIAJBkARqIBQQGUHIAGxqKAIAIRYgAiADKQMANwOIBCACIAIpA6AONwOABCACKAKgDiACQYAEaiAUEBlByABsakEIagwBCyACKALAFCACKALEFEEBayIWQQR0agsiAykDCDcDACACIAMpAwA3A7AVIAJBkAhqQgA3AwAgAkGICGoiC0IANwMAIAJCADcDgAggEyAPKQMANwMIIBMgAikDgBU3AwAgAkGACGpBEBAnIQMgAigCgAggA0EEdGoiAyATKQMANwMAIAMgEykDCDcDCCAFIQQDQCAWIARBAWoiBEsEQEEAIQMgAigCwBQhCANAIAIoAqgOIANLBEAgAiACQagOaikDADcDmAMgAiACKQOgDjcDkAMgCCACKAKgDiACQZADaiADEBlByABsaigCAEEEdGohCiADQQFqIQMgAigCwBQiByEIIAcgBEEEdGoiBysDACAKKwMAoSAHKwMIIAorAwihEEpEexSuR+F6hD9jRQ0BDAMLCyATIAggBEEEdGoiAykDADcDACATIAMpAwg3AwggAkGACGpBEBAnIQMgAigCgAggA0EEdGoiAyATKQMANwMAIAMgEykDCDcDCAwBCwsgEyACKQOwFTcDACATIA4pAwA3AwggAkGACGpBEBAnIQMgAigCgAggA0EEdGoiAyATKQMANwMAIAMgEykDCDcDCCACIAspAwA3A/gDIAIgAikDgAg3A/ADQQAhAyAAIAIoAoAIIAJB8ANqQQAQGUEEdGogCygCABA9AkADQAJAIAIoAogIIANNBEAgAkGACGoiA0EQEDMgAxA4IBQgAigCqA5PDQMgAiACQagOaiIKKQMANwPoAyACIAIpA6AONwPgAyACKAKgDiACQeADaiAUEBlByABsaigCACEFA0BBACEDIAVBAWoiBSACKALEFE8NAgNAIAMgAigCqA5PDQMgAiAKKQMANwPIAyACIAIpA6AONwPAAyACKALAFCEOIAIoAqAOIQggAkHAA2ogAxAZIQQgA0EBaiEDIAIoAsAUIAVBBHRqIgcrAwAgDiAIIARByABsaigCAEEEdGoiBCsDAKEgBysDCCAEKwMIoRBKRHsUrkfheoQ/Y0UNAAsMAAsACyACIAspAwA3A7gDIAIgAikDgAg3A7ADIAJBsANqIAMQGSEEAkACQCACKAKQCCIHDgIBDgALIAIgAigCgAggBEEEdGoiBCkDCDcDqAMgAiAEKQMANwOgAyACQaADaiAHEQEACyADQQFqIQMMAQsLIAIgCikDADcD2AMgAiACKQOgDjcD0AMgDyACKAKgDiACQdADaiAUEBlByABsaiIDKQMgNwMAIAIgAykDGDcDgBULIBRBAWohFAwBCwALAAsgACACKALAFCACKALEFEEAEPEBDAILIAAgAigCwBQgAigCxBRBABDxAQtBACEDA0AgAigCqA4gA00EQCACQaAOaiIDQcgAEDMgAxA4BSACIAJBqA5qKQMANwP4ASACIAIpA6AONwPwASACQfABaiADEBkhBwJAAkAgAigCsA4iBQ4CAQgACyACQagBaiIEIAIoAqAOIAdByABsakHIABAgGiAEIAURAQALIANBAWohAwwBCwsLIAIoAsgUIgQEQCACIBUpAwg3A7gCIAIgFSkDADcDsAIgAiACKALAFCIDKQMINwOoAiACIAMpAwA3A6ACIABBAiACQbACaiACQaACaiAoICUgBBDqAgsgAigCzBQiBARAIAIgECkDCDcDmAIgAiAQKQMANwOQAiACIAIoAsAUIAIoAsQUQQR0akEQayIDKQMINwOIAiACIAMpAwA3A4ACIABBAyACQZACaiACQYACaiAoICUgBBDqAgsCQCAXRSABKAIQKAIIKAIEQQJJcg0AIAIoAsgUIAIoAswUckUNACAAIA0Q5AELIBlBAWohGQwACwALIBoQ7AIQGCAaEBggAkHoB2oQXCAAKAIQIgcoAgghCQJAIAcoAtgBRQRAIActAIwCQQFxRQ0BCyAAEJcCIAcoApwCIgtFDQAgBygCoAIiBCgCACEIQQEhBQNAIAUgC08NASAHIAQgBUECdCIBaigCADYClAIgByAHKAKkAiAIQQR0ajYCmAIgACAHKALYASAHKALsASAHKAL8ASAHKALcARDDASAAEJcCIAVBAWohBSABIAcoAqACIgRqKAIAIAhqIQggBygCnAIhCwwACwALIAdCADcClAIgACAJKAIQIgMoAggiAQR/IAcoAuQBIQMgBy8BjAIhBCACIAEoAgAiAUEQaiABKAIAIAEoAggbIgEpAwg3AyAgAiABKQMANwMYIAAgAkEYaiAEQYABcUEHdiADIARBAnFBAXYQ3gggBygC6AEhAyAHLwGMAiEEIAIgCSgCECgCCCIBKAIAIAEoAgRBMGxqIgEgAUEwaygCACABQSxrKAIAQQR0aiABQSRrKAIAG0EQayIBKQMINwMQIAIgASkDADcDCCAAIAJBCGogBEGAAnFBCHYgAyAEQQRxQQJ2EN4IIAkoAhAFIAMLKAJgQQsgBy8BjAJBA3ZBAXEgBygC4AEgBygC8AEgBygCgAIgBygC3AEgCUGQ2gooAgBB6pMBEHoQaQR/IAkoAhAoAggFQQALEN4EIAAgCSgCECgCbEELIAcvAYwCQQN2QQFxIAcoAuABIAcoAvABIAcoAoACIAcoAtwBIAlBkNoKKAIAQeqTARB6EGkEfyAJKAIQKAIIBUEACxDeBCAAIAkoAhAoAmRBByAHLwGMAkECdkEBcSAHKALoASAHKAL4ASAHKAKIAiAHKALcAUEAEN4EIAAgCSgCECgCaEEGIAcvAYwCQQF2QQFxIAcoAuQBIAcoAvQBIAcoAoQCIAcoAtwBQQAQ3gQCQCAAKAI8IgFFDQAgASgCRCIBRQ0AIAAgAREBAAsgABCNBAsgAkHgFWokAA8LQb6ABEHCAEEBQajzCCgCABA7GhA8AAvOBgECfyMAQYACayIDJAAgA0HQAWoiBEGovwhBMBAgGiABQgA3AgACQAJAAkACQCAAIAQQ4gQNACADKALYAUECSQ0AIAMgAykD2AE3A8gBIAMgAykD0AE3A8ABIAMoAtABIANBwAFqQQAQGUEYbGooAgANAQtBACEAQQAhAQNAIAEgAygC2AFPDQIgAyADKQPYATcDICADIAMpA9ABNwMYIANBGGogARAZIQICQAJAIAMoAuABIgQOAgEFAAsgAyADKALQASACQRhsaiICKQMINwMIIAMgAikDEDcDECADIAIpAwA3AwAgAyAEEQEACyABQQFqIQEMAAsACyADKALYAUEDTwRAQYWWBEEAECoLIAMgAykD2AE3A7gBIAMgAykD0AE3A7ABIAEgAygC0AEgA0GwAWpBABAZQRhsaigCABBkNgIAIAMgAykD2AE3A6gBIAMgAykD0AE3A6ABIAMoAtABIANBoAFqQQEQGUEYbGooAgAEQCADIAMpA9gBNwOYASADIAMpA9ABNwOQASABIAMoAtABIANBkAFqQQEQGUEYbGooAgAQZDYCBAsgAyADKQPYATcDiAEgAyADKQPQATcDgAEgAygC0AEhASADQYABakEAEBkhBCADKALQASEAIAICfCABIARBGGxqLQAQQQFGBEAgAyADKQPYATcDWCADIAMpA9ABNwNQIAAgA0HQAGpBABAZQRhsaisDCAwBCyADIAMpA9gBNwN4IAMgAykD0AE3A3BEAAAAAAAAAAAgACADQfAAakEBEBlBGGxqLQAQQQFHDQAaIAMgAykD2AE3A2ggAyADKQPQATcDYEQAAAAAAADwPyADKALQASADQeAAakEBEBlBGGxqKwMIoQs5AwBBACEBQQEhAANAIAEgAygC2AFPDQEgAyADKQPYATcDSCADIAMpA9ABNwNAIANBQGsgARAZIQICQAJAIAMoAuABIgQOAgEEAAsgAyADKALQASACQRhsaiICKQMINwMwIAMgAikDEDcDOCADIAIpAwA3AyggA0EoaiAEEQEACyABQQFqIQEMAAsACyADQdABaiIBQRgQMyABEDggA0GAAmokACAADwtBvoAEQcIAQQFBqPMIKAIAEDsaEDwAC68BAQF/IAAoAhAiAUUEQEG39QBBo7gBQYcBQc+RARAAAAsgASgC3AEQGCABKALYARAYIAEoAuABEBggASgC5AEQGCABKALoARAYIAEoAuwBEBggASgC8AEQGCABKAL0ARAYIAEoAvgBEBggASgC/AEQGCABKAKAAhAYIAEoAoQCEBggASgCiAIQGCABKAKYAhAYIAEoAqQCEBggASgCoAIQGCAAIAEoAgA2AhAgARAYC54BAQJ/QbgCEMYDIgEgACgCECICNgIAIAAgATYCECACBEAgAUEQaiACQRBqQSgQIBogAUE4aiACQThqQSgQIBogASACKAKYATYCmAEgASACKAKcATYCnAEgASACKwOgATkDoAEgASACKAKIATYCiAEgAUHgAGogAkHgAGpBKBAgGiABDwsgAUKAgICAgICA+D83A6ABIAFCAzcDmAEgAQvjAwIIfwJ+IwBBIGsiBiQAQYTdCigCACEDAkACQAJAIAAoAgQiBUEDbEECayIHQYDdCigCACIESwRAIARB/////wBPDQEgB0GAgICAAU8NAiADIAdBBHQiAhBmIgNFDQMgBEEEdCIEIAJJBEAgAyAEakEAIAIgBGsQNhoLQYDdCiAHNgIAQYTdCiADNgIACyADIAAoAgAiACkDADcDACADIAApAwg3AwggACkDACEKIAMgACkDCDcDGCADIAo3AxBBAiEEQQIgBSAFQQJNG0EBayEJQQEhBQNAIAUgCUZFBEAgAyAEQQR0aiICIAAgBUEEdGoiCCkDADcDACACIAgpAwg3AwggCCkDACEKIAIgCCkDCCILNwMYIAIgCjcDECACIAo3AyAgAiALNwMoIARBA2ohBCAFQQFqIQUMAQsLIAMgBEEEdGoiAiAAIAlBBHRqIgApAwA3AwAgAiAAKQMINwMIIAApAwAhCiACIAApAwg3AxggAiAKNwMQIAEgAzYCACABIAc2AgQgBkEgaiQADwtBoL0DQc/8AEHNAEHtsgEQAAALIAZBEDYCBCAGIAc2AgBBqPMIKAIAQbTnAyAGEB8aECwACyAGIAI2AhBBqPMIKAIAQYPnAyAGQRBqEB8aECwAC3gBBH8jAEEQayIGJAADQCAEKAIAIgcEQCAEKAIEIQggBEEIaiEEIAACfyAHIAIgA0EIQeIBEO0DIgkEQCABIAggCSgCBBEAACAAKAIgcgwBCyAGIAU2AgQgBiAHNgIAQeO1BCAGECpBAQs2AiAMAQsLIAZBEGokAAtFAQN/A0AgACgCACECIAAoAhAhAyABIAAoAghPRQRAIAMgAiABQQJ0aigCAEH5PRBoIAFBAWohAQwBCwsgAyACQfo9EGgLawIBfwF+IwBBQGoiBiQAIAApA5AEIQcgBiAFNgI4IAYgBDcDKCAGIAM3AyAgBiACNwMYIAYgATYCECAGIAO1IAe1lbs5AzAgBiAHNwMIIAYgADYCAEGo8wgoAgBB2fEEIAYQMiAGQUBrJAALSwECf0F/IQECQCAAQQh1IgJB2AFrQQhJDQACQCACQf8BRwRAIAINASAAQZj+B2otAAANAQwCCyAAQX5xQf7/A0YNAQsgACEBCyABC9EBAQF/AkAgAEEASA0AIABB/wBNBEAgASAAOgAAQQEPCyAAQf8PTQRAIAEgAEE/cUGAAXI6AAEgASAAQQZ2QcABcjoAAEECDwsgAEH//wNNBEAgASAAQT9xQYABcjoAAiABIABBDHZB4AFyOgAAIAEgAEEGdkE/cUGAAXI6AAFBAw8LIABB///DAEsNACABIABBP3FBgAFyOgADIAEgAEESdkHwAXI6AAAgASAAQQZ2QT9xQYABcjoAAiABIABBDHZBP3FBgAFyOgABQQQhAgsgAguxAwIDfwJ8AkAgAEHV8AAQJiIBRQ0AIAEtAABFDQAgACgCSCgCECICIAItAHFBCHI6AHEgACABIAEQdUEAR0EAIAAgAEEAQZuHAUEAECJEAAAAAAAALEBEAAAAAAAA8D8QTyAAIABBAEGmmAFBABAiQYPqABCNASAAIABBAEHvNkEAECJBmPUAEI0BENsCIQEgACgCECABNgIMIABBybIBECYhAQJ/AkACQCAAEDkgAEcEQCABRQ0CIAEtAABB4gBGDQEMAgsgAUUNACABLQAAQfQARg0BC0EADAELQQELIQECQCAAQcYZECYiAkUNACACLQAAIgJB8gBHBEAgAkHsAEcNASABQQJyIQEMAQsgAUEEciEBCyAAKAIQIAE6AJMCIAAQOSAARg0AIAAoAhAoAgwiASsDIEQAAAAAAAAgQKAhBCABKwMYRAAAAAAAADBAoCEFIAAQOSAAKAIQIgBBMGohASAALQCTAiECKAIQLQB0QQFxRQRAIAEgAkEFdEEgcWoiACAEOQMIIAAgBTkDAA8LIAFBEEEwIAJBAXEbIgJqIAQ5AwAgACACaiAFOQM4CwtaAQJ/IAAoApgBIQEDQCABBEAgASgCBCABKALIBBAYIAEoAswEEBggARAYIQEMAQsLQazcCkEANgIAQbDcCkEANgIAIABBADYCuAEgAEIANwOYASAAQQA2AhwLnwwCCH8IfCMAQTBrIgYkAAJAIAEEQCABKwMQIQ4gASsDACERIAYgASsDCCIVIAErAxgiE6BEAAAAAAAA4D+iIhI5AyggBiARIA6gRAAAAAAAAOA/oiIUOQMgDAELIAZCADcDKCAGQgA3AyAgABAuIQcgACgCECIIKwNYIg8gCCsDUEQAAAAAAADgP6IiECAHKAIQLQB0QQFxIgcbIRMgECAPIAcbIQ4gD5oiDyAQmiIQIAcbIRUgECAPIAcbIRELIAFBAEchDSAOIBMQIyEQQQEhC0QAAAAAAAAAACEPAkACQCADRQ0AIAMtAAAiDEUNACAQRAAAAAAAABBAoiEQQQAhCEEAIQcCQAJ/AkACQAJAAkACQAJAAkACQCAMQd8Aaw4HBAcHBwsHAQALIAxB8wBrDgUBBgYGAgQLIAMtAAENBQJAIAUEQCAGQSBqIAUgEiAQEOQCDAELIAYgDjkDIAsgBEECcSEHQQEhCQwHCyAGIBU5AyggAy0AASIDQfcARwRAIANB5QBHBEAgAw0FIAUEQCAGQSBqIAUgEJogFBDkAgtBASEJIARBAXEhB0QYLURU+yH5vyEPDAgLAkAgBQRAIAZBIGogBSAQmiAQEOQCDAELIAYgDjkDIAsgBEEDcSEHQQEhCUQYLURU+yHpvyEPDAcLAkAgBQRAIAZBIGogBSAQmiIOIA4Q5AIMAQsgBiAROQMgCyAEQQlxIQdBASEJRNIhM3982QLAIQ8MBgsgAy0AAQ0DAkAgBQRAIAZBIGogBSASIBCaEOQCDAELIAYgETkDIAsgBEEIcSEHQQEhCUQYLURU+yEJQCEPDAULQQEhCiAEDAMLIAxB7gBHDQEgBiATOQMoIAMtAAEiA0H3AEcEQCADQeUARwRAIAMNAiAFBEAgBkEgaiAFIBAgFBDkAgsgBEEEcSEHQQEhCUQYLURU+yH5PyEPDAULAkAgBQRAIAZBIGogBSAQIBAQ5AIMAQsgBiAOOQMgCyAEQQZxIQdBASEJRBgtRFT7Iek/IQ8MBAsCQCAFBEAgBkEgaiAFIBAgEJoQ5AIMAQsgBiAROQMgCyAEQQxxIQdBASEJRNIhM3982QJAIQ8MAwsgBiASOQMoC0EBIQhBAAshBwwCC0EAIQtBASENDAELQQAhCEEAIQcLIAAQLigCECgCdCEDIAYgBikDKDcDCCAGIAYpAyA3AwAgBkEQaiAGIANBA3FB2gBsEIoKIAYgBikDGDcDKCAGIAYpAxA3AyACQCAKDQACQAJAAkAgABAuKAIQKAJ0QQNxQQFrDgMBAAIDCwJAAkAgB0EBaw4EAQQEAAQLQQEhBwwDC0EEIQcMAgsgB0EBayIDQf8BcSIEQQhPQYsBIAR2QQFxRXINAUKIgoiQoMCAgQQgA0EDdK1C+AGDiKchBwwBCyAHQQFrIgNB/wFxIgRBCE9BiwEgBHZBAXFFcg0AQoiIiJCgwICBASADQQN0rUL4AYOIpyEHCyACIAE2AhggAiAHOgAhIAIgBikDIDcDACACIAYpAyg3AwggDyEOAkACQAJAAkAgABAuKAIQKAJ0QQNxQQFrDgMBAAIDCyAPmiEODAILIA9EGC1EVPsh+b+gIQ4MAQsgD0QYLURU+yEJQGEEQEQYLURU+yH5vyEODAELIA9E0iEzf3zZAkBhBEBEGC1EVPsh6b8hDgwBC0QYLURU+yH5PyEOIA9EGC1EVPsh+T9hBEBEAAAAAAAAAAAhDgwBCyAPRAAAAAAAAAAAYQ0AIA9EGC1EVPsh6b9hBEBE0iEzf3zZAkAhDgwBCyAPIg5EGC1EVPsh+b9iDQBEGC1EVPshCUAhDgsgAiAOOQMQIAYrAyghDgJ/IAYrAyAiD0QAAAAAAAAAAGEEQEGAASAORAAAAAAAAAAAYQ0BGgsgDiAPEKoBRNIhM3982RJAoCIORBgtRFT7IRnAoCAOIA5EGC1EVPshGUBmG0QAAAAAAABwQKJEGC1EVPshGUCjIg6ZRAAAAAAAAOBBYwRAIA6qDAELQYCAgIB4CyEBIAIgCToAHSACIAE6ACAgAiAKOgAfIAIgCzoAHiACIA06ABwgBkEwaiQAIAgLpAEBBn8CQCAABEAgAUUNASABIAIQvgYhBSAAKAIAIgYEQEEBIAAoAgh0IQQLIARBAWshBwNAAkBBACEAIAMgBEYNAAJAAkAgBiADIAVqIAdxQQJ0aigCACIIQQFqDgIBAgALIAEgAiAIIgAQjQkNAQsgA0EBaiEDDAELCyAADwtB29IBQcG5AUHiAUGlpAEQAAALQfTSAUHBuQFB4wFBpaQBEAAAC1QBAXwgACgCECIAIABBKEEgIAEbaisDAEQAAAAAAABSQKJEAAAAAAAA4D+iIgI5A1ggACACOQNgIAAgAEEgQSggARtqKwMARAAAAAAAAFJAojkDUAtoAQN/IAAoAhAiASgCCCICBH9BACEBA38gAigCACEDIAIoAgQgAU0EfyADEBggACgCECgCCBAYIAAoAhAFIAMgAUEwbGooAgAQGCABQQFqIQEgACgCECgCCCECDAELCwUgAQtBADYCCAvQAQECfyMAQSBrIgEkACABQgA3AxAgAUIANwMIA0AgASAAQQFqNgIcIAAtAAAiAARAAkACQCAAQSZHDQAgAUEcahDtCSIADQBBJiEADAELIABB/gBNDQAgAEH+D00EQCABQQhqIABBBnZBQHIQmAEgAEE/cUGAf3IhAAwBCyABQQhqIgIgAEEMdkFgchCYASACIABBBnZBP3FBgH9yEJgBIABBP3FBgH9yIQALIAFBCGogAMAQmAEgASgCHCEADAELCyABQQhqEJcDIAFBIGokAAt3AQJ/IAEgABBOIgFqIgIgAUEBdEGACCABGyIDIAIgA0sbIQIgABAlIQMCQCAALQAPQf8BRgRAIAAoAgAgASACQQEQ8wEhAQwBCyACQQEQGiIBIAAgAxAgGiAAIAM2AgQLIABB/wE6AA8gACACNgIIIAAgATYCAAswACABEC4gASACQQBBARBeIgFBnSZBuAFBARA1GiAAIAEQpQUgASgCEEEBOgBxIAELCQAgAEEEEKYLCwsAIAQgAjYCAEEDC/cGAQt/IwBBMGsiBiQAIAEtAAAiAUEEcSELIAFBCHEhDCABQQFxIQogAUECcSENA0AgACIHLQAAIgQEQCAIIQkgBMAhCCAHQQFqIQACfwJAAkACQAJAAkACQCAEQTxrDgMBBAIACyAEQS1GDQIgBEEmRw0DAkAgCg0AIAAtAAAiBUE7Rg0AIAAhAQJAIAVBI0YEQCAHLQACQSByQfgARwRAIAdBAmohAQNAIAEsAAAhBSABQQFqIQEgBUEwa0EKSQ0ACwwCCyAHQQNqIQEDQAJAIAEtAAAiBcBBMGtBCkkNACAFQf8BcSIOQeEAa0EGSQ0AIA5BwQBrQQVLDQMLIAFBAWohAQwACwALA0AgAS0AACEFIAFBAWohASAFQd8BccBBwQBrQRpJDQALCyAFQf8BcUE7Rg0ECyADQeDfASACEQAADAULIANB1t8BIAIRAAAMBAsgA0Hb3wEgAhEAAAwDCyANRQ0BIANB8d8BIAIRAAAMAgsgCUH/AXFBIEcgCEEgR3JFBEAgC0UNASADQYPgASACEQAADAILAkACQAJAAkAgBEEKaw4EAQMDAgALIARBJ0cEQCAEQSJHDQMgA0HP3wEgAhEAAAwFCyADQevfASACEQAADAQLIApFDQIgA0GK4AEgAhEAAAwDCyAKRQ0BIANB/d8BIAIRAAAMAgsgDEUgCEEATnINAAJ/QQIgBEHgAXFBwAFGDQAaQQMgBEHwAXFB4AFGDQAaIARB+AFxQfABRkECdAsiCUUhBUEBIQEDQCAFQQFxIgRFIAEgCUlxBEAgASAHai0AAEUhBSABQQFqIQEMAQUgBEUEQCAGAn8CQAJAAkACQCAJQQJrDgMDAAECCyAHLQACQT9xIActAAFBP3FBBnRyIAhBD3FBDHRyDAMLIActAANBP3EgBy0AAkE/cUEGdHIgBy0AAUE/cUEMdHIgCEEHcUESdHIMAgsgBkGhATYCBCAGQYG7ATYCAEGo8wgoAgBB5rwEIAYQHxoQPAALIAAtAABBP3EgCEEfcUEGdHILNgIQIAZBI2oiAUENQcjfASAGQRBqEKYBGiAAIAlqQQFrIQAgAyABIAIRAAAMBAsLC0Hk3wRBLUEBQajzCCgCABA7GhAsAAsgBkEAOgAkIAYgCDoAIyADIAZBI2ogAhEAAAtBAE4NAQsLIAZBMGokAAuvBAEEfyMAQRBrIgQkAAJAAkAgAARAIAFFDQECQCABQfw7EGINACABQdO+ARBiDQAgAUGcFxBiDQAgAUHEvgEQYkUNAwsgAS0AACECIARBtgM2AgACQCAAQcGEIEGAgCAgAkH3AEYbIAQQ4AsiA0EASA0AIwBBIGsiAiQAAn8CQAJAQcS/ASABLAAAEM0BRQRAQZCGC0EcNgIADAELQZgJEE0iAA0BC0EADAELIABBAEGQARA2GiABQSsQzQFFBEAgAEEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgACgCACEBDAELIANBA0EAEAYiAUGACHFFBEAgAiABQYAIcqw3AxAgA0EEIAJBEGoQBhoLIAAgACgCAEGAAXIiATYCAAsgAEF/NgJQIABBgAg2AjAgACADNgI8IAAgAEGYAWo2AiwCQCABQQhxDQAgAiACQRhqrTcDACADQZOoASACEAkNACAAQQo2AlALIABBggQ2AiggAEGDBDYCJCAAQYQENgIgIABBhQQ2AgxBpYYLLQAARQRAIABBfzYCTAsgAEGAiAsoAgAiATYCOCABBEAgASAANgI0C0GAiAsgADYCACAACyEFIAJBIGokACAFDQBBkIYLKAIAIQAgAxCpB0GQhgsgADYCAEEAIQULIARBEGokACAFDwtBrNQBQdC6AUEhQfblABAAAAtB1tQBQdC6AUEiQfblABAAAAtBk6kDQdC6AUEkQfblABAAAAvPAwIFfwF+IwBB0ABrIgMkAAJ/QQAgAkUNABogA0HIAGogAkE6ENABIAAgAUECdGooAkAhBAJAIAMoAkwiByADKAJIai0AAEE6RgRAIAQhAUEBIQYDQCABBEAgA0FAayABKAIEQToQ0AFBACEFIAQhAgNAIAEgAkYEQAJAIAVBAXENACAHBEAgAyADKQJINwMwIAMgAykCQDcDKCADQTBqIANBKGoQ+QZFDQELIAEoAgQhACADIAEoAgwoAgg2AiQgAyAANgIgQbjbCkGsMyADQSBqEI4BQQAhBgsgASgCACEBDAMFQQAhACABKAIEIAIoAgQQLwR/QQEFIAEoAgwoAgggAigCDCgCCBAvC0UgBUEBcXIhBSACKAIAIQIMAQsACwALCyAGRQ0BCyADQgA3A0BBASEBQQAhAgNAIAQEQCADQThqIAQoAgRBOhDQAQJAIAIEQCADIAMpA0A3AxggAyADKQM4NwMQIANBGGogA0EQahD5Bg0BCyADIAMpAzhCIIk3AwBBuNsKQcsyIAMQjgFBACEBCyADIAMpAzgiCDcDQCAIpyECIAQoAgAhBAwBCwtBlYAFIAFBAXENARoLQbjbChDTAgsgA0HQAGokAAurAQEBfyMAQRBrIgIkAAJAAkAgAARAIAAoAghFDQEgAUUNAiACIAApAgg3AwggAiAAKQIANwMAIAEgACACQQAQGUEEEN4BQQQQIBogACAAKAIIQQFrNgIIIAAgACgCBEEBaiAAKAIMcDYCBCACQRBqJAAPC0G90gFBtLcBQfgCQfjCARAAAAtBn5UDQbS3AUH5AkH4wgEQAAALQejTAUG0twFB+gJB+MIBEAAACzkBAn8jAEEQayIDJAAgA0EMaiIEIAEQUyACIAQQ2QMiARDJATYCACAAIAEQyAEgBBBQIANBEGokAAs3AQJ/IwBBEGsiAiQAIAJBDGoiAyAAEFMgAxDLAUHgrglB+q4JIAEQyAIgAxBQIAJBEGokACABCzkBAn8jAEEQayIDJAAgA0EMaiIEIAEQUyACIAQQ2wMiARDJAToAACAAIAEQyAEgBBBQIANBEGokAAvrAQEDfyMAQTBrIgIkAAJAAkAgAARAIAEgACgCCCIDTw0BA0AgAUEBaiIEIANPDQMgAiAAKQIINwMYIAIgACkCADcDECAAIAJBEGogARAZQQQQ3gEgAiAAKQIINwMIIAIgACkCADcDACAAIAIgBBAZQQQQ3gFBBBAgGiAAKAIIIQMgBCEBDAALAAtBvdIBQbS3AUHYAUH5wwEQAAALQd6HAUG0twFB2QFB+cMBEAAACyACIAApAgg3AyggAiAAKQIANwMgIAAgAkEgaiADQQFrEBlBBBDeARogACAAKAIIQQFrNgIIIAJBMGokAAunAQEEfyMAQRBrIgUkACABED8hAiMAQRBrIgMkAAJAIAJB9////wdNBEACQCACEKAFBEAgACACENMBIAAhBAwBCyADQQhqIAIQ3wNBAWoQ3gMgAygCDBogACADKAIIIgQQ+wEgACADKAIMEPoBIAAgAhC+AQsgBCABIAIQqwIgA0EAOgAHIAIgBGogA0EHahDSASADQRBqJAAMAQsQygEACyAFQRBqJAALFwAgACADNgIQIAAgAjYCDCAAIAE2AggLDQAgACABIAJBARChBwsSACAAIAEgAkL/////DxCwBacLzAEBA38jAEEgayIDQgA3AxggA0IANwMQIANCADcDCCADQgA3AwAgAS0AACICRQRAQQAPCyABLQABRQRAIAAhAQNAIAEiA0EBaiEBIAMtAAAgAkYNAAsgAyAAaw8LA0AgAyACQQN2QRxxaiIEIAQoAgBBASACdHI2AgAgAS0AASECIAFBAWohASACDQALAkAgACIBLQAAIgJFDQADQCADIAJBA3ZBHHFqKAIAIAJ2QQFxRQ0BIAEtAAEhAiABQQFqIQEgAg0ACwsgASAAawuAAQEEfyAAIABBPRC0BSIBRgRAQQAPCwJAIAAgASAAayIEai0AAA0AQaCGCygCACIBRQ0AIAEoAgAiAkUNAANAAkAgACACIAQQ6QFFBEAgASgCACAEaiICLQAAQT1GDQELIAEoAgQhAiABQQRqIQEgAg0BDAILCyACQQFqIQMLIAMLTgEBf0EBQRwQGiIGIAU6ABQgBiAAIAEQrgE2AggCfyADBEAgACACENUCDAELIAAgAhCuAQshBSAGIAA2AhggBiAENgIQIAYgBTYCDCAGCwkAIAC9QjSIpwuZAQEDfCAAIACiIgMgAyADoqIgA0R81c9aOtnlPaJE65wriublWr6goiADIANEff6xV+Mdxz6iRNVhwRmgASq/oKJEpvgQERERgT+goCEFIAAgA6IhBCACRQRAIAQgAyAFokRJVVVVVVXFv6CiIACgDwsgACADIAFEAAAAAAAA4D+iIAQgBaKh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IAAQ9gJBAWshASAAKAIECyIDIAFGBEAgACABQQEgASABEP0GIAAQRhoMAQsgABBGGiAEDQAgACIBIANBAWoQ0wEMAQsgACgCACEBIAAgA0EBahC+AQsgASADaiIAIAJBD2oQ0gEgAkEAOgAOIABBAWogAkEOahDSASACQRBqJAALDQAgAEHI6Ak2AgAgAAsHACAAQQhqCwcAIABBAkkLOwACQCAAECgEQCAAECVBD0YNAQsgAEEAEMoDCwJAIAAQKARAIABBADoADwwBCyAAQQA2AgQLIAAQiAULBABBBAslAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhC0ChogA0EQaiQAC6EBAQJ/AkACQCABED8iAkUNACAAEE4gABAlayACSQRAIAAgAhC9AQsgABAlIQMgABAoBEAgACADaiABIAIQIBogAkGAAk8NAiAAIAAtAA8gAmo6AA8gABAlQRBJDQFBibQDQZ38AEGXAkHd6gAQAAALIAAoAgAgA2ogASACECAaIAAgACgCBCACajYCBAsPC0GJzQFBnfwAQZUCQd3qABAAAAsdACAAQQRqEPgGQX9GBEAgACAAKAIAKAIIEQEACwsRACAAIAEgASgCACgCKBEEAAtpAQF/IwBBEGsiAiQAAkAgACgCAARAIAEoAgBFDQEgAiAAKQIANwMIIAIgASkCADcDACACQQhqIAIQ8wogAkEQaiQARQ8LQa3VAUGG+wBB2wBBhDwQAAALQZ7VAUGG+wBB3ABBhDwQAAALCABB/////wcLBQBB/wALYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBBGsiATYCCCAAIAFPDQEgAigCDCACKAIIEKYFIAIgAigCDEEEaiIANgIMIAIoAgghAQwACwALIAJBEGokAAvQAQECfyACQYAQcQRAIABBKzoAACAAQQFqIQALIAJBgAhxBEAgAEEjOgAAIABBAWohAAsgAkGEAnEiA0GEAkcEQCAAQa7UADsAACAAQQJqIQALIAJBgIABcSECA0AgAS0AACIEBEAgACAEOgAAIABBAWohACABQQFqIQEMAQsLIAACfwJAIANBgAJHBEAgA0EERw0BQcYAQeYAIAIbDAILQcUAQeUAIAIbDAELQcEAQeEAIAIbIANBhAJGDQAaQccAQecAIAIbCzoAACADQYQCRwvxAQEEfyMAQRBrIgQkAAJAAkACQCAABEAgACABEIwCIAAoAgwiBSAAKAIIIgJLBEAgAUUNAiAFQX8gAW5PDQMgACgCACEDAkAgASACbCICRQRAIAMQGEEAIQMMAQsgAyACEGYiA0UNBSACIAEgBWwiAU0NACABIANqQQAgAiABaxA2GgsgACADNgIAIAAgACgCCDYCDAsgBEEQaiQADwtBvdIBQbS3AUHnAkGLwwEQAAALQdGvA0HP/ABBzABB7bIBEAAAC0GgvQNBz/wAQc0AQe2yARAAAAsgBCACNgIAQajzCCgCAEGD5wMgBBAfGhAsAAuqAQEBfwJAIANBgBBxRQ0AIAJFIANBygBxIgRBCEYgBEHAAEZycg0AIABBKzoAACAAQQFqIQALIANBgARxBEAgAEEjOgAAIABBAWohAAsDQCABLQAAIgQEQCAAIAQ6AAAgAEEBaiEAIAFBAWohAQwBCwsgAAJ/Qe8AIANBygBxIgFBwABGDQAaQdgAQfgAIANBgIABcRsgAUEIRg0AGkHkAEH1ACACGws6AAALDAAgABBGIAFBAnRqC5wEAQt/IwBBgAFrIgwkACAMIAE2AnwgAiADEJQLIQggDEEKNgIQIAxBCGpBACAMQRBqIgkQfSEPAkACQAJAIAhB5QBPBEAgCBBNIglFDQEgDyAJEI8BCyAJIQcgAiEBA0AgASADRgRAQQAhCwNAIAAgDEH8AGoiARBaQQEgCBsEQCAAIAEQWgRAIAUgBSgCAEECcjYCAAsDQCACIANGDQYgCS0AAEECRg0HIAlBAWohCSACQQxqIQIMAAsACyAAEIEBIQ0gBkUEQCAEIA0QmwEhDQsgC0EBaiEQQQAhDiAJIQcgAiEBA0AgASADRgRAIBAhCyAORQ0CIAAQlAEaIAkhByACIQEgCCAKakECSQ0CA0AgASADRgRADAQFAkAgBy0AAEECRw0AIAEQJCALRg0AIAdBADoAACAKQQFrIQoLIAdBAWohByABQQxqIQEMAQsACwAFAkAgBy0AAEEBRw0AIAEgCxCbBSgCACERAkAgBgR/IBEFIAQgERCbAQsgDUYEQEEBIQ4gARAkIBBHDQIgB0ECOgAAIApBAWohCgwBCyAHQQA6AAALIAhBAWshCAsgB0EBaiEHIAFBDGohAQwBCwALAAsABSAHQQJBASABEPcBIgsbOgAAIAdBAWohByABQQxqIQEgCiALaiEKIAggC2shCAwBCwALAAsQkAEACyAFIAUoAgBBBHI2AgALIA8QfCAMQYABaiQAIAILEQAgACABIAAoAgAoAgwRAAALmwQBC38jAEGAAWsiDCQAIAwgATYCfCACIAMQlAshCCAMQQo2AhAgDEEIakEAIAxBEGoiCRB9IQ8CQAJAAkAgCEHlAE8EQCAIEE0iCUUNASAPIAkQjwELIAkhByACIQEDQCABIANGBEBBACELA0AgACAMQfwAaiIBEFtBASAIGwRAIAAgARBbBEAgBSAFKAIAQQJyNgIACwNAIAIgA0YNBiAJLQAAQQJGDQcgCUEBaiEJIAJBDGohAgwACwALIAAQggEhDSAGRQRAIAQgDRCdBSENCyALQQFqIRBBACEOIAkhByACIQEDQCABIANGBEAgECELIA5FDQIgABCVARogCSEHIAIhASAIIApqQQJJDQIDQCABIANGBEAMBAUCQCAHLQAAQQJHDQAgARAkIAtGDQAgB0EAOgAAIApBAWshCgsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASALEEIsAAAhEQJAIAYEfyARBSAEIBEQnQULIA1GBEBBASEOIAEQJCAQRw0CIAdBAjoAACAKQQFqIQoMAQsgB0EAOgAACyAIQQFrIQgLIAdBAWohByABQQxqIQEMAQsACwALAAUgB0ECQQEgARD3ASILGzoAACAHQQFqIQcgAUEMaiEBIAogC2ohCiAIIAtrIQgMAQsACwALEJABAAsgBSAFKAIAQQRyNgIACyAPEHwgDEGAAWokACACCw0AIAAoAgAgASgCAEkLBwAgAEELSQsJACAAQQEQpgsLFgAgACABKAIANgIAIAAgAigCADYCBAsJACAAIAEQpAMLMQEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIAAgA0EMaiADQQhqEKIFIANBEGokAAtvAQR/IAAQLiEFAkAgACgCACICIAEoAgBzQQNxDQADQCAFIAJBA3EgAxDmAyIDRQ0BIAEgAygCCBCtByICRQ0BAkAgACADEEQiBBB1BEAgASACIAQQqgQMAQsgASACIAQQcQsgACgCACECDAALAAsLHAEBfyAAKAIAIQIgACABKAIANgIAIAEgAjYCAAsIACAAKAIARQuNAQEB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AUEsQfEjEAAACxoAIAArAwAgASsDAKEgACsDCCABKwMIoRBKC4EBAgJ/AXwgASACNgIQIAEgAyACKwMIoDkDGCAAKAIAIAAgARDfDEEobGohBANAAkAgBCIFKAIgIgRFDQAgASsDGCIGIAQrAxgiA2QNASADIAZkDQAgAisDACAEKAIQKwMAZA0BCwsgASAENgIgIAUgATYCICAAIAAoAghBAWo2AggLtQECA38CfAJAIABB5CYQJiIEBEAgBBCQAiIEQQJKDQELQRQhBAsgBBDNAiEFIAMgACgCECIAKwMoRAAAAAAAAOA/oqAhAyACIAArAyBEAAAAAAAA4D+ioCECIAS4IQhBACEAA38gACAERgR/IAEgBDYCACAFBSAFIABBBHRqIgYgALggCKNEGC1EVPshCUCiIgcgB6AiBxBXIAOiOQMIIAYgBxBLIAKiOQMAIABBAWohAAwBCwsLIgAgACABKwMAIAIrAwCgOQMAIAAgASsDCCACKwMIoDkDCAumEQIRfwh8IwBBEGsiDSQAIAAoAgggACgCBGoiB0EgEBohECAHIAUoAjAiCUEBdEEAIAlBAEobayIVQQAgFUEAShshDiABIAFDRwOAP5QgAxu7IRcDQCAGIA5HBEAgECAGQQV0aiIIIAUrAxhEAAAAAAAA4D+iIhggBSgCKCAGQQR0aiIRKwMAIBeiRAAAAAAAAOA/oiIZIAZBAnQiEiACKAIAaioCALsiGqCgOQMQIAggGiAZoSAYoTkDACAIIAUrAyBEAAAAAAAA4D+iIhggESsDCCAXokQAAAAAAADgP6IiGSACKAIEIBJqKgIAuyIaoKA5AxggCCAaIBmhIBihOQMIIAZBAWohBgwBCwsCQCAJQQBKBEAgCUEBakEEEBohEUEAIRIgBSgCMEEBakEEEBohDkEAIQIDQCAFKAIwIgYgAkoEQEEAIQYgAkECdCIKIAUoAjRqKAIAIghBACAIQQBKGyETRP///////+9/IRdE////////7/8hGCAIQQJqIgxBBBAaIQcgDEEgEBohCUT////////v/yEZRP///////+9/IRoDQCAGIBNHBEAgByAGQQJ0IgtqIAAoAhAgBSgCOCAKaigCACALaigCACIPQQJ0aigCADYCACAJIAZBBXRqIgsgECAPQQV0aiIPKwMAIhs5AwAgCyAPKwMIIhw5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QQAhBwNAIAgoAgAgB00EQCACIAIoAgBBAWs2AgAgAUGSgAUQGxogASACKAIAEEMgAUH1xwEQGxogCBCMCgwDCyAHBEAgAUHH6gQQGxoLIAgoAgghAyACIAIoAgAiBkEBajYCACABIAYQQyABQf7VAxAbGiABIAIoAgAQQwJAAkACQAJAAkACQAJAAkACQAJAAkACQCADIAdB0ABsaiIDKAIAIgYOEAoKAAABAQIDBAQGBwsFBQgJCyAEQdAAQfAAIAZBAkYbNgJQIAFB/ekEIARB0ABqEB4gASACKAIAEEMgASADQQhqELIIDAoLIARBwgBB4gAgBkEERhs2AmAgAUH96QQgBEHgAGoQHiABIAIoAgAQQyABIANBCGoQsggMCQsgAUGy6gRBABAeIAEgAigCABBDIAEgA0EIahCyCAwICyABQZrqBEEAEB4gASACKAIAEEMgAysDCCELIAQgAysDEDkDmAEgBCALOQOQASABQYXoBCAEQZABahAeIAEgAigCABBDIARB4wBB8gAgAygCGCIGQQFGG0HsACAGGzYCgAEgAUGK6gQgBEGAAWoQHiABIAIoAgAQQyAEIAMrAyA5A3AgAUHJ5wQgBEHwAGoQHiABIAIoAgAQQyABQeXJAxAbGiADKAIoIAIgARC8AiABQQoQZQwHCyAEQcMAQeMAIAZBCEYbNgKgASABQf3pBCAEQaABahAeIAEgAigCABBDIAFBsekEQQAQHiABIAIoAgAQQyABQf7JAxAbGiADKAIIIAIgARC8AiABQQoQZQwGCyAEQcMAQeMAIAZBDUYbNgKQAiABQf3pBCAEQZACahAeIAEgAigCABBDAkACQAJAIAMoAggOAgABAgsgAUGx6QRBABAeIAEgAigCABBDIAFB/skDEBsaIAMoAhAgAiABELwCIAFBChBlDAcLIAFBi+kEQQAQHiABIAIoAgAQQyABIAIoAgAQQyADKwMQIQsgBCADKwMYOQOIAiAEIAs5A4ACIAFBsegEIARBgAJqEB4gASACKAIAEEMgAysDICELIAQgAysDKDkD+AEgBCALOQPwASABQZvoBCAEQfABahAeIAEgAigCABBDIAEgAygCMCADKAI0IAIQjw8MBgsgAUGe6QRBABAeIAEgAigCABBDIAEgAigCABBDIAMrAxAhCyADKwMYIQwgBCADKwMgOQPgASAEIAw5A9gBIAQgCzkD0AEgAUHj6AQgBEHQAWoQHiABIAIoAgAQQyADKwMoIQsgAysDMCEMIAQgAysDODkDwAEgBCAMOQO4ASAEIAs5A7ABIAFBx+gEIARBsAFqEB4gASACKAIAEEMgASADKAJAIAMoAkQgAhCPDwwFCyABQb7qBEEAEB4gASACKAIAEEMgBCADKwMIOQOgAiABQdrnBCAEQaACahAeIAEgAigCABBDIAFBm8oDEBsaIAMoAhAgAiABELwCIAFBChBlDAQLIAFBpuoEQQAQHiABIAIoAgAQQyABQZHKAxAbGiADKAIIIAIgARC8AiABQQoQZQwDCyABQf/oBEEAEB4gASACKAIAEEMgBCADKAIINgKwAiABQfzEBCAEQbACahAeDAILIARBsgI2AhQgBEGkugE2AhBBqPMIKAIAQea8BCAEQRBqEB8aEDwACyAEQeUAQcUAIAYbNgJAIAFB/ekEIARBQGsQHiABIAIoAgAQQyADKwMIIQsgAysDECEMIAMrAxghDSAEIAMrAyA5AzggBCANOQMwIAQgDDkDKCAEIAs5AyAgAUHXxwQgBEEgahAeCyACIAIoAgBBAWsiAzYCACABIAMQQyABQa8IEBsaIAdBAWohBwwACwALIAAgBRBEIAIgARC8AgsgCSAKIAUQ5gMhBQwACwALIARBwAJqJAAL/AIBA38jAEFAaiIDJAACQCABmUT8qfHSTWJAP2MEQCAAQbLhARAbGgwBCyABRAAAAAAAAPC/oJlE/Knx0k1iQD9jBEAgAEGO4QEQGxoMAQsgAyABOQMwIABB5uABIANBMGoQHgsgAigCACEEAkACQAJAAkACQCACKAIgIgJBAWsOBAECAgACCyAEQanBCBBMDQIgAEGQwQgQGxoMAwsgAyAEQf8BcTYCICADIARBEHZB/wFxNgIoIAMgBEEIdkH/AXE2AiQgAEHLEyADQSBqEB4MAgsgA0GhATYCBCADQd27ATYCAEGo8wgoAgBB5rwEIAMQHxoQPAALIAAgBBAbGgsgAEGQ4AEQGxoCQAJAIAJBAUcNACAEQRh2IgVB/wFGDQAgAyAFuEQAAAAAAOBvQKM5AxAgAEGChwEgA0EQahAeDAELAkAgAkEERw0AIARBqcEIEEwNACAAQZKdAxAbGgwBCyAAQbmeAxAbGgsgAEHZ0QQQGxogA0FAayQAC7ECAgR/AnwjAEHwAGsiASQAQZz5CkGc+QooAgAiBEEBajYCAAJ8IAAoAhAiAygCiAEiAkUEQEQAAAAAAABJQCEFRAAAAAAAAElADAELIAK3RBgtRFT7IQlAokQAAAAAAIBmQKMiBRBLRAAAAAAAAPA/IAUQV6FEAAAAAAAASUCiEDEhBUQAAAAAAADwP6BEAAAAAAAASUCiEDELIQYgAEGhwgMQGxogAygC3AEiAgRAIAAgAhCIASAAQd8AEGULIAEgBTkDYCABIAY5A1ggASAENgJQIABB5tIEIAFB0ABqEB4gAUEoaiICIANBOGpBKBAgGiAARAAAAAAAAAAAIAIQggYgAEQAAAAAAADwPyABIANB4ABqQSgQICIBEIIGIABB388EEBsaIAFB8ABqJAAgBAuAAwIEfwF8IwBBgAFrIgMkAEGY+QpBmPkKKAIAIgVBAWo2AgAgACgCECIEKAKIASEGIANCADcDeCADQgA3A3AgA0IANwNoIANCADcDYCABIANB4ABqIAIgBrdEGC1EVPshCUCiRAAAAAAAgGZAo0EAENAGIABBhcIDEBsaIAQoAtwBIgEEQCAAIAEQiAEgAEHfABBlCyADIAU2AlAgAEG6ygMgA0HQAGoQHiAAQenCAxAbGiAAIAMrA2AQeyAAQeLCAxAbGiAAIAMrA2gQeyAAQdvCAxAbGiAAIAMrA3AQeyAAQdTCAxAbGiAAIAMrA3gQeyAAQaPTBBAbGiAEKwOQASEHIANBKGoiASAEQThqQSgQIBogACAHRPyp8dJNYlC/oEQAAAAAAAAAACAHRAAAAAAAAAAAZBsgARCCBiAAIAQrA5ABIgdEAAAAAAAA8D8gB0QAAAAAAAAAAGQbIAMgBEHgAGpBKBAgIgEQggYgAEHEzwQQGxogAUGAAWokACAFCwsAIABB/KwEEBsaC6gIAgJ/BHwjAEGwAmsiCCQAAkACQCACRSADRXINACAAKAJAIgkgBEVyRQRAIAQtAABFDQECQAJAAkACQCABDgMAAQIDCyACKwMAIQogAisDGCELIAIrAxAhDCAIIAIrAwg5AzAgCCAMOQMoIAggCzkDICAIIAo5AxggCCAENgIQIABB9KMEIAhBEGoQHgwECyACKwMQIQsgAisDACEKIAggAisDCDkDUCAIIAsgCqE5A1ggCCAKOQNIIAggBDYCQCAAQdqjBCAIQUBrEB4MAwsgCCAENgJwIABBgDQgCEHwAGoQHkEAIQQDQCADIARGBEAgAEGSgAUQGxoMBAUgAiAEQQR0aiIBKwMAIQogCCABKwMIOQNoIAggCjkDYCAAQbCGASAIQeAAahAeIARBAWohBAwBCwALAAsgCEE7NgIEIAhBgboBNgIAQajzCCgCAEHmvAQgCBAfGhA8AAsgBEUgCUEBR3JFBEAgBC0AAEUNASABRQRAIAIrAwAhCiACKwMYIQsgAisDECEMIAIrAwghDSAIIAU2AqQBIAggBDYCoAEgCCANOQOYASAIIAw5A5ABIAggCzkDiAEgCCAKOQOAASAAQdPvAyAIQYABahAeDAILIAhBxgA2ArQBIAhBgboBNgKwAUGo8wgoAgBB5rwEIAhBsAFqEB8aEDwACyAJQX5xQQJHDQAgAUEDTw0BIAAgAUECdEH0wAhqKAIAEBsaAkAgB0UNACAHLQAARQ0AIABBycIDEBsaIAAgBxC2CCAAQaHEAxAbGgsCQCAERQ0AIAQtAABFDQAgAEHRwQMQGxogACAEELYIIABBocQDEBsaCwJAIAZFDQAgBi0AAEUNACAAQePAAxAbGiAAIAYQiAEgAEGhxAMQGxoLAkAgBUUNACAFLQAARQ0AIABB8cEDEBsaIAAgBRCIASAAQaHEAxAbGgsgAEGbxAMQGxogAEH3wAMQGxogAisDACEKAkACQAJAAkAgAUEBaw4CAgEACyACKwMYIQsgAisDECEMIAggAisDCDkD+AEgCCAMOQPwASAIIAs5A+gBIAggCjkD4AEgAEGchgEgCEHgAWoQHgwCCyAIIAIrAwg5A5gCIAggCjkDkAIgAEGxhgEgCEGQAmoQHkEBIQQDQCADIARGDQIgAiAEQQR0aiIBKwMAIQogCCABKwMIOQOIAiAIIAo5A4ACIABBpYYBIAhBgAJqEB4gBEEBaiEEDAALAAsgAisDCCELIAIrAxAhDCAIIAo5A8ABIAggDCAKoTkD0AEgCCALOQPIASAAQaGGASAIQcABahAeCyAAKAJAQQNGBEAgAEHa0QQQGxoMAQsgAEGf0wQQGxoLIAhBsAJqJAAPCyAIQdUANgKkAiAIQYG6ATYCoAJBqPMIKAIAQea8BCAIQaACahAfGhA8AAsLAEGA4QpBAjYCAAs9AQF/IwBBEGsiAyQAIAMgATkDACAAQdOFASADEI4BIAAQjAYgAEEgENkBIABBlYAFIAIQugggA0EQaiQACxMAIABBn8gDIAAoAhBBOGoQuwgL/QICBX8BfCMAQTBrIgEkACABQgA3AyggAUIANwMgAkAgACgCECICKwOgASIGIAIoAgxBA3RB0KEKaiIDKwMAoZlE/Knx0k1iQD9mBH8gAyAGOQMAIAFBIGoiAkGFqgMQ8gEgASAAKAIQKwOgATkDECACQYyGASABQRBqEI4BIAIQjAYgAkEpENkBIABBjcgDIAIQwQEQwAMgACgCEAUgAgsoAqgBIgRFDQADQCAEKAIAIgNFDQEgBEEEaiEEIANB4awBEGINACADQfykARBiDQAgA0Hu9wAQYg0AIAFBIGogAxDyAQNAIAMtAAAgA0EBaiICIQMNAAsgAi0AAARAIAFBIGpBKBDZAUGVgAUhAwNAIAItAAAEQCABIAI2AgQgASADNgIAIAFBIGpB0TIgARCOAQNAIAItAAAgAkEBaiECDQALQdieAyEDDAEFIAFBIGpBKRDZAQsLCyAAQY3IAyABQSBqEMEBEMADDAALAAsgAUEgahBcIAFBMGokAAtrAQJ/IwBBEGsiAyQAIANCADcDCCADQgA3AwADQAJAIAItAAAiBEHcAEcEQCAEDQEgACABIAMQwQEQcSADEFwgA0EQaiQADwsgA0HcABDZASACLQAAIQQLIAMgBMAQ2QEgAkEBaiECDAALAAuSAgEFfyAAEIgFIQMgABAlIQECQAJAAkADQCABIgJFDQEgAyABQQFrIgFqLQAAQS5HDQALIAAQJSEBA0AgAUEBayEFIAEgAkcEQCADIAVqLQAAQTBHDQILAkAgABAoBEAgAC0ADyIERQ0EIAAgBEEBazoADwwBCyAAIAAoAgRBAWs2AgQLIAEgAkcgBSEBDQALIAAQJSIBQQJJDQAgASADaiIBQQJrIgItAABBLUcNACABQQFrLQAAQTBHDQAgAkEwOgAAIAAQKARAIAAtAA8iAUUNAyAAIAFBAWs6AA8PCyAAIAAoAgRBAWs2AgQLDwtBjY4DQZ38AEGSA0GWKxAAAAtBjY4DQZ38AEGoA0GWKxAAAAvHAQEDfyMAQRBrIgIkACABQVBBACABKAIAQQNxQQJHG2oiAUFQQQAgASgCAEEDcSIDQQJHG2ooAighBCABQTBBACADQQNHG2ooAighAyACIAEpAwg3AwggAiABKQMANwMAAkAgACADIAQgAhDZAkUNACAAEDkgAEYEQCAALQAYQSBxBEAgARDFCwsgACABEM4HIAEQsgcgAEECIAEpAwgQvwYLIAAgAUEPQQBBABDIAw0AIAAQOSAARgRAIAEQGAsLIAJBEGokAAsaACAAIAEQrgEiASACEMEDIAAgAUEAEIoBGgtFACAAIAFBzMsDIAIrAwBEAAAAAAAAUkCjEI4DIAAgAUHMywMgAyACKwMIIgOhIANB2NgKLQAAG0QAAAAAAABSQKMQjgMLfQEDfyMAQTBrIgIkACAAECEhAyAAEC4hBAJAAkAgAwRAQX8hACAEIAEgAxCSBkF/Rw0BDAILIAIgACkDCDcDACACQRBqIgNBHkHLzgEgAhCmARpBfyEAIAEgAyAEKAJMKAIEKAIEEQAAQX9GDQELQQAhAAsgAkEwaiQAIAALzQQBBn8jAEEwayIHJAAgBEUEQCADQQAQ6AIhCQsgA0EAQYABIAMoAgARAwAhCAJAAkADQCAIBEACQAJAIAgoAgwiBgRAIAYtAAANAQsgCC0AFg0AIAlFDQEgCSAIQQQgCSgCABEDACIGRQ0FIAYoAgwiCwRAIAstAAANAQsgBi0AFg0BCwJAIApFBEAgByAFKQIINwMYIAcgBSkCADcDEEF/IQYgACABIAdBEGoQ2AJBf0YNBSABIAIgACgCTCgCBCgCBBEAAEF/Rg0FIAFBjsgBIAAoAkwoAgQoAgQRAABBf0YNBSAFIAUoAgxBAWo2AgwMAQtBfyEGIAFBx+oEIAAoAkwoAgQoAgQRAABBf0YNBCAHIAUpAgg3AyggByAFKQIANwMgIAAgASAHQSBqENgCQX9GDQQLIAAgASAIKAIIQQEQvQJBf0YNAyABQcTfASAAKAJMKAIEKAIEEQAAQX9GDQMgACABIAgoAgxBARC9AkF/Rg0DIApBAWohCgsgAyAIQQggAygCABEDACEIDAELCwJAIApBAEoEQEF/IQYgBSAFKAIMQQFrNgIMIApBAUcEQCABQZKABSAAKAJMKAIEKAIEEQAAQX9GDQMgByAFKQIINwMIIAcgBSkCADcDACAAIAEgBxDYAkF/Rg0DC0F/QQAgAUHS1AQgACgCTCgCBCgCBBEAAEF/RiIAGyEGIAQNAiAARQ0BDAILQQAhBiAEDQELIAMgCRDoAhpBACEGCyAHQTBqJAAgBg8LQerrAEGrvAFBkwJB5iMQAAALHgAgACABIAAgAhCuASICQQEQvQIgACACQQAQigEaCxcAIAAoAgAQGCAAKAIEEBggACgCCBAYC6UhAgl/A3wjAEHQAmsiBiQAAn8gACACENQJQecHRgRAIAYgAEEBIAIQogQ2AgQgBiACNgIAQc3tAyAGEDdBfwwBCyMAQRBrIgkkACABQZAmQZgCQQEQNRogASgCECAANgKQASABEDkgAUcEQCABEDlBkCZBmAJBARA1GiABEDkoAhAgADYCkAELAn8CQAJAAkAgAUGlGRAmIgJFDQAgAEEANgKkASAAIAIQ1AlB5wdHDQAgCSAAQQEgAhCiBDYCBCAJIAI2AgBBze0DIAkQNwwBCyAAKAKkASIKDQELQX8MAQtBARDaAiAAKAKsASgCAEEBcSELIwBBQGoiAiQAQQFB4AAQGiEAIAEoAhAgADYCCCABQYnjABAmIgAEQCACQgA3AzggAkIANwMwIAEQgQIhBCACIAA2AiQgAkG0+QBBhfoAIAQbNgIgIAJBMGohACMAQTBrIgQkACAEIAJBIGoiBTYCDCAEIAU2AiwgBCAFNgIQAkACQAJAAkACQAJAQQBBAEGnCCAFEGMiB0EASA0AIAdBAWohBQJAIAAQTiAAECVrIgggB0sNACAFIAhrIQggABAoBEBBASEDIAhBAUYNAQsgACAIENIJQQAhAwsgBEIANwMYIARCADcDECADIAdBEE9xDQEgBEEQaiEIIAcgAwR/IAgFIAAQeQsgBUGnCCAEKAIsEGMiBUcgBUEATnENAiAFQQBMDQAgABAoBEAgBUGAAk8NBCADBEAgABB5IARBEGogBRAgGgsgACAALQAPIAVqOgAPIAAQJUEQSQ0BQYm0A0Gd/ABB6gFBph8QAAALIAMNBCAAIAAoAgQgBWo2AgQLIARBMGokAAwEC0G8pANBnfwAQd0BQaYfEAAAC0HLnANBnfwAQeIBQaYfEAAAC0HwzAFBnfwAQeUBQaYfEAAAC0HWnQFBnfwAQewBQaYfEAAACwJAIAAQKARAIAAQJUEPRg0BCyAAECUgABBOTwRAIABBARDSCQsgABAlIQMgABAoBEAgACADakEAOgAAIAAgAC0AD0EBajoADyAAECVBEEkNAUGJtANBnfwAQa8CQfexARAAAAsgACgCACADakEAOgAAIAAgACgCBEEBajYCBAsCQCAAECgEQCAAQQA6AA8MAQsgAEEANgIECyABIAAQKAR/IAAFIAAoAgALENYNGiAAEFwLAkAgAUGF+AAQJiIARQRAQdXXARCtBCIARQ0BCwJAAkBB4dcBQT0QtAUiA0Hh1wFHBEAgA0Hh1wFrIgNB4dcBai0AAEUNAQtBkIYLQRw2AgAMAQsgAyAAED8iBWpBAmoQTSIERQ0AIARB4dcBIAMQIBogAyAEaiIHQT06AAAgB0EBaiAAIAVBAWoQIBoCQAJAAkACQEGghgsoAgAiAEUEQEEAIQAMAQsgACgCACIFDQELQQAhAwwBCyADQQFqIQdBACEDA0AgBCAFIAcQ6QFFBEAgACgCACAAIAQ2AgAgBBDcCwwDCyADQQFqIQMgACgCBCEFIABBBGohACAFDQALQaCGCygCACEACyADQQJ0IgdBCGohBQJAAkAgAEGQiQsoAgAiCEYEQCAIIAUQZiIADQEMAgsgBRBNIgBFDQEgAwRAIABBoIYLKAIAIAcQIBoLQZCJCygCABAYCyAAIANBAnRqIgMgBDYCACADQQA2AgRBoIYLIAA2AgBBkIkLIAA2AgAgBARAQQAgBBDcCwsMAQsgBBAYCwsLQQEhAAJAIAEgAUEAQdohQQAQIkHY8AEQjQEiA0H3igMQL0UNACADQbbuAhAvRQ0AIANBn+8CEC9FDQAgA0GUiwMQL0UNACADQf+KAxAvRQ0AIANBiosDEC9FDQAgA0GzkwMQL0UNAEECIQAgA0HJmwIQL0UNACADQciKAhAvRQ0AQQAhACADQdjwARAvRQ0AIANB9+cBEC9FDQAgAiADNgIQQc7WBCACQRBqECoLIAEoAhAgADoAcwJAQZDYCigCAA0AQYjYCiABQaH4ABAmIgA2AgAgAA0AQYjYCkGE2AooAgA2AgALIAEgAUEAQYDsAEEAECJEAAAAAAAAAABEAAAAAAAAAAAQTyEMIAEoAhAoAgggDDkDAAJ/QQAgAUHANxAmIgBFDQAaQQEgAEGwzwEQRQ0AGkECIABB2c4BEEUNABpBA0EAIABBl9EBEEUbCyEAIAEoAhAgAEEFbCAAQQJ0IAsbNgJ0IAIgASABQQBBrdsAQQAQIkQAAAAAAADQP0R7FK5H4XqUPxBPIgw5AzAgASgCEAJ/IAxEAAAAAAAAUkCiIgxEAAAAAAAA4D9EAAAAAAAA4L8gDEQAAAAAAAAAAGYboCIMmUQAAAAAAADgQWMEQCAMqgwBC0GAgICAeAs2AvgBAkAgASABQQBBpdsAQQAQIkEAEHoiAwRAIAIgAkEwajYCAAJAAkAgA0HtgwEgAhBRRQRARAAAAAAAAOA/IQwMAQtEexSuR+F6lD8hDCACKwMwIg1EexSuR+F6lD9jRQ0BCyACIAw5AzAgDCENCyABKAIQIQAgA0HIDhCyBUUNASAAQQE6AJQCDAELIAJCgICAgICAgPA/NwMwIAEoAhAhAEQAAAAAAADgPyENCyAAAn8gDUQAAAAAAABSQKIiDEQAAAAAAADgP0QAAAAAAADgvyAMRAAAAAAAAAAAZhugIgyZRAAAAAAAAOBBYwRAIAyqDAELQYCAgIB4CzYC/AEgASABQQBBlS5BABAiQQBBABBhIQAgASgCEEH/ASAAIABB/wFOGzoA8QEgASABQQBBiy9BABAiQQAQekGwmApBwJgKENUGIQAgASgCECAANgL0AQJAIAFB0N4AECYiA0UEQCABKAIQIQAMAQsgA0Hk3QAQRQRAIAEoAhAiACgCCEEENgJUDAELIANBhCkQRQRAIAEoAhAiACgCCEEDNgJUDAELIANBzaQBEEUEQCABKAIQIgAoAghBBTYCVAwBCyADQcbuABBFBEAgASgCECIAKAIIQQI2AlQMAQsgASgCECEAIAMQkQIiDEQAAAAAAAAAAGRFDQAgACgCCCIDIAw5AxAgA0EBNgJUCyABQeSIASAAKAIIQUBrENMJIQAgASgCECgCCCIDIAA6AFAgAUHnnQEgA0EwahDTCRogAUGlOBAmEGkhACABKAIQKAIIIAA6AFICQAJ/IAFB4ZEBECYiAARAIAAQkAJB2gBGDAELIAFBneMAECYiAARAIAAtAABB3wFxQcwARgwBCyABQYiWARAmIgBFDQEgABBpCyEAIAEoAhAoAgggADoAUQtBqNgKIAFBh/QAECZBkJgKQaCYChDVBjYCAEGs2AogAUHokQEQJhBpOgAAQcDYCkEANgIAQcTYCkEANgIAIAEoAhAoAghCADcDGAJAAkAgAUHg9QAQJiIABEAgAC0AAA0BCyABQZviABAmIgBFDQEgAC0AAEUNAQsgASgCECgCCCAAEJECOQMYCyABEJUEQcjYCkKb0t2ahPeFz8cANwMAQdzYCiABQQBB6v4AQQAQIjYCAEHo2AogAUEAQbOaAUEAECI2AgBB7NgKIAFBAEHw5ABBABAiNgIAQfDYCiABQQFBsSFBABAiNgIAQfTYCiABQQFB9fcAQQAQIjYCAEH42AogAUEBQYKWAUEAECI2AgBB/NgKIAFBAUGON0EAECI2AgBBgNkKIAFBAUGCN0EAECI2AgBBnNkKIAFBAUGomQFBABAiNgIAQYTZCiABQQFBm4cBQQAQIjYCAEGI2QogAUEBQaaYAUEAECI2AgBBjNkKIAFBAUHvNkEAECI2AgBBkNkKIAFBAUHV8ABBABAiIgA2AgAgAEUEQEGQ2QogAUEBQdXwAEG00AEQIjYCAAtBlNkKIAFBAUG08ABBABAiNgIAQaDZCiABQQFBlS5BABAiNgIAQdzZCiABQQFB3vcAQQAQIjYCAEGs2QogAUEBQer+AEEAECI2AgBBpNkKIAFBAUG2MUEAECI2AgBBqNkKIAFBAUH1L0EAECI2AgBBtNkKIAFBAUH4FkEAECI2AgBBsNkKIAFBAUGd4wBBABAiNgIAQbjZCiABQQFBpuIAQQAQIjYCAEG82QogAUEBQa+HAUEAECI2AgBBwNkKIAFBAUGVnAFBABAiNgIAQcTZCiABQQFBtStBABAiNgIAQZjZCiABQQFB+A5BABAiNgIAQcjZCiABQQFB0DdBABAiNgIAQczZCiABQQFB2dgAQQAQIjYCAEHQ2QogAUEBQZAgQQAQIjYCAEHU2QogAUEBQcMxQQAQIjYCAEHY2QogAUEBQfkIQQAQIjYCAEHg2QogAUEBQbOaAUEAECI2AgBB5NkKIAFBAkGpIUEAECI2AgBB7NkKIAFBAkGON0EAECI2AgBB8NkKIAFBAkGCN0EAECI2AgBB9NkKIAFBAkGbhwFBABAiNgIAQfjZCiABQQJBppgBQQAQIjYCAEH82QogAUECQe82QQAQIjYCAEGA2gogAUECQdXwAEEAECI2AgBBhNoKIAFBAkG08ABBABAiNgIAQajaCiABQQJBuSVBABAiNgIAQYjaCiABQQJBzDdBABAiNgIAQbTaCiABQQJBxfAAQQAQIjYCAEG42gogAUECQbvwAEEAECI2AgBBvNoKIAFBAkGWhwFBABAiNgIAQcDaCiABQQJBoZgBQQAQIjYCAEHE2gogAUECQeo2QQAQIjYCAEHI2gogAUECQYGhAUEAECI2AgBBzNoKIAFBAkHVmgFBABAiNgIAQejZCiABQQJBtuYAQQAQIjYCAEGU2gogAUECQZUuQQAQIjYCAEGM2gogAUECQaiZAUEAECI2AgBBkNoKIAFBAkH0kQFBABAiNgIAQZjaCiABQQJBjIcBQQAQIjYCAEGc2gogAUECQd4fQQAQIjYCAEGg2gogAUECQdA3QQAQIjYCAEGk2gogAUECQZAgQQAQIjYCAEHQ2gogAUECQcnaAEEAECI2AgBB1NoKIAFBAkHS2gBBABAiNgIAQdjaCiABQQJB3vcAQQAQIjYCAEEAIQAjAEEgayIDJAACQAJAIAFBjKMBECYiBARAIAQtAAANAQsgAUG4wgEQJiIERQ0BIAQtAABFDQELIARB+AAQjgoiAA0AIAMgARAhNgIQQYv1AyADQRBqECogAyAENgIAQaD7BCADEH9BACEACyADQSBqJAAgASgCECgCCCAANgJYAkAgAUHopgEQJiIARQ0AIAAtAABFDQAgACABEIABIQAgASgCECgCCCAANgJcCyACQUBrJAAgASgCECgCCCEAIAEQOSgCECAANgIIAkAgCigCACIARQ0AIAEgABEBACAKKAIEIgBFDQAgASgCECAANgKUAQtBABDaAkEACyEAIAlBEGokAEF/IABBf0YNABoCQCABKAIQIgAoAggtAFFBAUYEQCAAKwMYIQwgACsDECENIAArAyghDiAGIAArAyAQMTkDKCAGIA4QMTkDICAGIA0QMTkDGCAGIAwQMTkDECAGQdAAakGAAkG7hgEgBkEQahCmARoMAQsgACsDECEMIAArAxghDSAAKwMgIQ4gBiAAKwMoEDE5A0ggBkFAayAOEDE5AwAgBiANEDE5AzggBiAMEDE5AzAgBkHQAGpBgAJBu4YBIAZBMGoQpgEaCyABQZu/ASAGQdAAahCPB0EACyAGQdACaiQAC50FAQ1/QQBBAUHV8ABBtNABECIaENQIIgBBADYCJCAAQaDTCjYCICAAQZ8CNgIQIABByJ0KNgIAAkAgACICKAIgIgVFDQADQCAFKAIAIgBFDQECQCAALQAAQecARw0AIABBgA4QsgVFDQAgBSgCBCEDIwBBEGsiByQAIAMoAgAhAAJAQQFBDBBHIgQEQCAEQQA2AgQgBCAAEGQ2AgggBCACKAJoNgIAIAIgBDYCaCADKAIEIQYDQEEAIQggBigCBCILBEADQCALIAhBFGxqIgkoAgQiAwRAIAYoAgAhACAJKAIIIQojAEEwayIBJAAgAxClASIMBEAgAUEoaiADQToQ0AEgAiAAQQJ0akFAayEDA0ACQCADKAIAIgBFDQAgAUEgaiAAKAIEQToQ0AEgASABKQIoNwMYIAEgASkCIDcDECABQRhqIAFBEGoQ8wpBAEwNACADKAIAIQMMAQsLA0ACQCADKAIAIgBFDQAgAUEgaiAAKAIEQToQ0AEgASABKQIoNwMIIAEgASkCIDcDACABQQhqIAEQlAVFDQAgCiADKAIAIgAoAghODQAgACEDDAELC0EBQRQQGiIAIAMoAgA2AgAgAyAANgIAIAAgCTYCECAAIAQ2AgwgACAKNgIIIAAgDDYCBAsgAUEwaiQAIAhBAWohCAwBCwsgBkEIaiEGDAELCyAHQRBqJAAMAQsgB0EMNgIAQajzCCgCAEGD5wMgBxAfGhAsAAsLIAVBCGohBQwACwALIAJBADoALCACQQJBiRlBABDSAyIABEAgAiAAKAIQKAIMNgKMAQsgAkEjNgKEASACQSQ2AoABIAJBJTYCfCACQX82AnggAkKAgICAgAQ3A3AgAiACQfAAakG06wkoAgAQkgE2AogBIAIL4gEBBH9BjN0KKAIAIgEEQCABEJkBGkGM3QpBADYCAAsgACgCOCEBA0AgAQRAIAEoAgQgARAYIQEMAQsLIAAoAmghAQNAIAEEQCABKAIAIAEoAgQQGCABKAIIEBggARAYIQEMAQsLIAAQlgQgACgCKBAYIAAoAjAQGCAAKAKIARCZARogAEFAayEEA0AgA0EFRwRAIAQgA0ECdGooAgAhAQNAIAEEQCABKAIAIAEoAgQQGCABEBghAQwBCwsgA0EBaiEDDAELCyAAKAKsAhAYIAAQGEGU2AooAgAaQfjaCigCABoLEgAgACgCuAEiAARAIAAQiAQLC8cBAQZ/IwBBEGsiAyQAIAFBUEEAIAEoAgBBA3EiBEECRxtqIgUoAighBiABQTBBACAEQQNHG2oiBCgCKCEHA0ACQCAARQ0AIAMgASkDCDcDCCADIAEpAwA3AwAgACAHIAYgAxDZAg0AIAAgBxDlASECIAAoAjQgAkEgaiAFENgEIAAoAjggAkEYaiAFENgEIAAgBhDlASECIAAoAjQgAkEcaiAEENgEIAAoAjggAkEUaiAEENgEIAAoAkQhAAwBCwsgA0EQaiQAC7kBAQN/IwBBMGsiAyQAAkAgAigCACIERQ0AIAQtAABFDQAgACgCPCEEIAAoAhAiBQRAIAUoApgBRQ0BCwJAIAAtAJkBQSBxBEAgAyABKQMINwMoIAMgASkDADcDIAwBCyADIAEpAwg3AxggAyABKQMANwMQIANBIGogACADQRBqEJ0GCyAERQ0AIAQoAlgiAUUNACADIAMpAyg3AwggAyADKQMgNwMAIAAgAyACIAERBQALIANBMGokAAsiAQF/AkAgACgCPCIBRQ0AIAEoAjAiAUUNACAAIAERAQALCyIBAX8CQCAAKAI8IgFFDQAgASgCLCIBRQ0AIAAgAREBAAsLIgEBfwJAIAAoAjwiAUUNACABKAIoIgFFDQAgACABEQEACwt7AQZ8IAErA5AEIQcgASsDiAQhCCABKwPgAiEEIAErA4AEIQMgASsD+AMhBQJ8IAEoAugCBEAgBSACKwMAoCEGIAMgAisDCKCaDAELIAMgAisDCKAhBiAFIAIrAwCgCyEDIAAgBCAHoiAGojkDCCAAIAQgCKIgA6I5AwALgQEBAX8CQCABQdzuABBFDQAgASEDA0AgAywAACECIANBAWohAyACQTprQXVLDQALIAJFBEAgARCQAg8LQX8hAiAAKAKsAkUNAEEBIQMDfyADIAAoArACSg0BIAEgACgCrAIgA0ECdGooAgAQRQR/IAMFIANBAWohAwwBCwshAgsgAgvuMwMMfwp8AX4jAEGABWsiAyQAQYzYCi0AAARAEK8BCwJAAkAgAUGQJkEAQQEQNQRAIAEoAhAoAggNAQtBxfwEQQAQN0F/IQJBjNgKLQAARQ0BQajzCCgCACIGEOwBIAMQ1AE3A8AEIANBwARqEOoBIgcoAhQhCCAHKAIQIQUgBygCDCEEIAcoAgghACADIAcoAgA2AiggAyAANgIkIAMgBDYCICADQeggNgIUIANBo7gBNgIQIAMgBUEBajYCHCADIAhB7A5qNgIYIAZBuMkDIANBEGoQHxogARAhIQAgAxCMATkDCCADIAA2AgAgBkGcnQMgAxAyQQogBhCpARogBhDrAQwBCyABEBwhBwJAA0AgBwRAIAcoAhAiAiACKwMQIg4gAisDWKE5AzAgAiAOIAIrA2CgOQNAIAIgAisDGCITIAIrA1BEAAAAAAAA4D+iIg6hOQM4IAIgEyAOoDkDSCABIAcQLSEGA0AgBgRAIAYoAhAoAggiCARAIAgoAgRFDQUgA0HABGogCCgCACIEQTAQIBogA0HwA2oiAiAEQTAQIBogA0GgBGogAhDdCCADKwO4BCERIAMrA7AEIRAgAysDqAQhDyADKwOgBCESQQAhAgNAIAgoAgQgAksEQCACBEAgA0HABGogCCgCACACQTBsaiIFQTAQIBogA0HAA2oiBCAFQTAQIBogA0GgBGogBBDdCCADKwOgBCEUIAMrA6gEIRMgAysDsAQhDiARIAMrA7gEECMhESAQIA4QIyEQIA8gExApIQ8gEiAUECkhEgsgAygCyAQEQCADIAMpA9gENwO4AyADIAMpA9AENwOwAyADIAMoAsAEIgQpAwg3A6gDIAMgBCkDADcDoAMgA0GgBGogA0GwA2ogA0GgA2oQzAMgAysDoAQhFCADKwOoBCETIAMrA7AEIQ4gESADKwO4BBAjIREgECAOECMhECAPIBMQKSEPIBIgFBApIRILIAMoAswEBEAgAyADKQPoBDcDmAMgAyADKQPgBDcDkAMgAyADKALABCADKALEBEEEdGpBEGsiBCkDCDcDiAMgAyAEKQMANwOAAyADQaAEaiADQZADaiADQYADahDMAyADKwOgBCEUIAMrA6gEIRMgAysDsAQhDiARIAMrA7gEECMhESAQIA4QIyEQIA8gExApIQ8gEiAUECkhEgsgAkEBaiECDAELCyAIIBE5AyAgCCAQOQMYIAggDzkDECAIIBI5AwgLIAEgBhAwIQYMAQsLIAEgBxAdIQcMAQsLIABBADoAnQIgACABNgKgAQJAIAFB8OQAECYiAkUNACADIANBoARqNgL0AiADIANBwARqNgLwAiACQdmDASADQfACahBRIgJBAEwNACAAIAMrA8AERAAAAAAAAFJAoiIOOQPAASAAIA45A8gBIAJBAUcEQCAAIAMrA6AERAAAAAAAAFJAojkDyAELIABBAToAnQILIABBADoAnAICQCABQaOwARAmIgJFDQAgAyADQaAEajYC5AIgAyADQcAEajYC4AIgAkHZgwEgA0HgAmoQUSICQQBMDQAgACADKwPABEQAAAAAAABSQKIiDjkD0AEgACAOOQPYASACQQFHBEAgACADKwOgBEQAAAAAAABSQKI5A9gBCyAAQQE6AJwCCyAAQQA6AJ4CIAAgASgCECgCCCICKQMwNwPgASAAIAIpAzg3A+gBAkAgASgCECgCCCICKwMwRPyp8dJNYlA/ZEUNACACKwM4RPyp8dJNYlA/ZEUNACAAQQE6AJ4CCyACLQBRIQIgAEGb1gE2ArwBIABB2gBBACACGzYCmAICQCABQcg3ECYiAkUNACACLQAARQ0AIAAgAjYCvAELIAAgASgCECICKQMQNwP4ASAAIAIpAyg3A5ACIAAgAikDIDcDiAIgACACKQMYNwOAAkHg2AogAUEAQfUvQQAQIjYCAEHk2AogAUEAQd73AEEAECI2AgAgAEEAQYjZCigCAEGD6gAQjQE2ArgCQQBBhNkKKAIARAAAAAAAACxARAAAAAAAAPA/EE8hDiAAQbydCjYCyAIgACAOOQPAAiAAIAEQITYCtAEgACgCqAIQGCAAQQA2AqgCIAAoAqwCEBggAEEANgKsAiAAKAK0AhAYIABBADYCtAICQAJAIAFB2CkQJiIFBEAgACABQZbbABAmIgJByssDIAIbNgKgAiAAIAFBidsAECYiAkHYngMgAhsiBDYCpAIgACgCoAIiAiAEEPkCIAJqIgJBACACLQAAGyICBEAgAyACLAAANgLQAkGQ4QQgA0HQAmoQKiAAQZWABTYCpAILIAAgBRBkNgKoAiADQgA3A9AEIANCADcDyAQgA0IANwPABCADQcAEakEEECchAiADKALABCACQQJ0aiADKALUBDYCACAAKAKoAiECA0AgAiAAKAKgAhCxBSICBEAgAyACNgLUBCADQcAEakEEECchAiADKALABCACQQJ0aiADKALUBDYCAEEAIQIMAQsLIAMoAsgEIgJBAWsiBUEASA0CIAJBAk8EQCADQQA2AtQEIANBwARqIgRBBBAnIQIgAygCwAQgAkECdGogAygC1AQ2AgAgBCAAQawCakEAQQQQxgELQQAhAgNAIAMoAsgEIAJLBEAgAyADKQPIBDcDuAIgAyADKQPABDcDsAIgA0GwAmogAhAZIQgCQAJAAkAgAygC0AQiBA4CAgABCyADKALABCAIQQJ0aigCABAYDAELIAMoAsAE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AAsgAgvUAQEGfyAAKAIUIAAoAgxBAnRqKAIAKAIcIAAoAixqIQEgACgCJCEEIAAoAlAhAgNAIAIgBEkEQCACLQAAIgMEfyADQaCABWotAAAFQQELIQMgAUEBdEGgggVqLwEABEAgACACNgJEIAAgATYCQAsDQAJAA0AgASABQQF0IgVBgIgFai4BACADakEBdCIGQeCDBWouAQBGDQEgBUHgiQVqLgEAIgFB3QBIDQALIANBwIsFai0AACEDDAELCyACQQFqIQIgBkGAjAVqLgEAIQEMAQsLIAELvAICAX4CfyAABEAgACAAED8iBEF4cWohAyAErSECA0AgAkKV08fetfKp0kZ+IQIgACADRkUEQCACIAApAABCldPH3rXyqdJGfiICQi+IIAKFQpXTx9618qnSRn6FIQIgAEEIaiEADAELCyACQoCAgICAgICAAUIAIAEbhSECAkACQAJAAkACQAJAAkACQCAEQQdxQQFrDgcGBQQDAgEABwsgAzEABkIwhiAChSECCyADMQAFQiiGIAKFIQILIAMxAARCIIYgAoUhAgsgAzEAA0IYhiAChSECCyADMQACQhCGIAKFIQILIAMxAAFCCIYgAoUhAgsgAiADMQAAhSECCyACQpXTx9618qnSRn4iAkIviCAChUKV08fetfKp0kZ+IgJCL4ggAoWnDwtB9NIBQcG5AUGYAUGb+QAQAAALJAAgACABIAIQ4wkgACgCTCIAKAIIIAEgAiAAKAIAKAIIESEAC9EDAQF/AkAgASACRgRAIANBADYCAAwBCwJAAkAgACABIAIQ4wJBCWsiB0EXS0EBIAd0QZOAgARxRXINAANAIAAgASAAKAJAaiIBIAIQ4wJBCWsiB0EXTQRAQQEgB3RBk4CABHENAQsLIAEgAkYEQCADQQA2AgAMAwsgAyABNgIAAkACQAJAA0ACQCAAIAEgAhDjAiIHQQlrQQJJDQAgB0E9Rg0CIAdBDUYgB0EgRnINACAHQX9GDQUgASAAKAJAaiEBDAELCyAEIAE2AgADQCAAIAEgACgCQGoiASACEOMCIgRBCWsiB0EXSw0CQQEgB3RBk4CABHENAAsMAQsgBCABNgIADAELIARBPUcNAQsgASADKAIARg0AA0AgACABIAAoAkBqIgEgAhDjAiIDQQlrQQJJDQACQCADQSBrDgMBAgMACyADQQ1GDQALIANBJ0YNAQsgBiABNgIAQQAPCyAFIAEgACgCQGoiBDYCAANAIAMgACAEIAIQ4wIiAUcEQCABQTprQXVLIAFBX3FB2wBrQWVLciABQd8ARiABQS1rQQJJcnIEQCAEIAAoAkBqIQQMAgUgBiAENgIAQQAPCwALCyAGIAQgACgCQGo2AgALQQELEQAgACABIAJB2wBB2gAQqQoLpgUBCn8gAEHQ/QdB7AIQICEEQQAhAANAAkACQCAAQYABRgRAIARB9AJqIQggBEH0BmohCSAEQcgAaiEHQQAhAAJ/A0AgAEGAAkcEQAJAIAEgAEECdCIKaigCACIFQX9GBEAgACAHakEBOgAAIAggAEEBdGpB//8DOwEAIAkgCmpBATsBAAwBCyAFQQBIBEBBACACRSAFQXxJcg0EGiAAIAdqQQMgBWs6AAAgCSAKakEAOgAAIAggAEEBdGpBADsBAAwBCyAFQf8ATQRAIAVBmP4Hai0AACIGRSAGQRxGckUgACAFR3ENBiAAIAdqIAY6AAAgCSAKaiIGIAU6AAEgBkEBOgAAIAggAEEBdGogBUF/IAUbOwEADAELIAUQkwRBAEgEQCAAIAdqQQA6AAAgCCAAQQF0akH//wM7AQAgCSAKakEBOwEADAELIAVB//8DSw0FAkBBASAFdCIMIAVBBXZBB3FBAnQiDSAFQQh2IgZBwIAIai0AAEEFdHJB0PMHaigCAHEEQCAAIAdqQRY6AAAMAQsgACAHaiELIAZBwIIIai0AAEEFdCANckHQ8wdqKAIAIAxxBEAgC0EaOgAADAELIAtBHDoAAAsgCSAKaiIGIAUgBkEBahCUBDoAACAIIABBAXRqIAU7AQALIABBAWohAAwBCwsgBCACNgLsAiAEIAM2AvACIAIEQCAEQdQANgLoAiAEQdQANgLkAiAEQdQANgLgAiAEQdUANgLcAiAEQdUANgLYAiAEQdUANgLUAiAEQdYANgLQAiAEQdYANgLMAiAEQdYANgLIAgsgBEHXADYCPCAEQdgANgI4IAQLDwsgAEGY/gdqLQAAIgZFIAZBHEZyDQEgASAAQQJ0aigCACAARg0BC0EADwsgAEEBaiEADAALAAtJAQF/IwBBEGsiASQAAkAgAEGD4gAQJiIARQ0AIAEgAUEIajYCACAAQe2DASABEFFBAEwNAEGw2AogASsDCDkDAAsgAUEQaiQAC3MBAn8CQCAAKAKYASICRQRAIAAQ9QQiAjYCnAEgACACNgKYAQwBC0Gw3AooAgAiA0UNACADKAIEIgINABD1BCECQbDcCigCACACNgIEC0Gw3AogAjYCACACIAA2AgAgAiABNgI0IABBAyABQQAQ0gNBAEcLCgAgAEGQDxDXCQtHAQF/A0AgASAAKAIwTkUEQCAAKAI4IAFBAnRqKAIAEMYGIAFBAWohAQwBCwsgACgCPBAYIAAoAjQQvAEgACgCOBAYIAAQGAtYAQF/QaDcCigCAAR/A0BBpNwKKAIAIAFNBEBBAA8LQaDcCigCACABQQJ0aigCACgCACAAEEVFBEAgAUEBaiEBDAELC0Gg3AooAgAgAUECdGooAgAFQQALC7YKARF/IwBBEGsiDyQAQcgAEFIhC0Go3AooAgAhBCAAKAIQKAJ4IQxBASEFA0ACQAJAAkACQCAELQAAIgpB3ABHBEAgCg0BDAQLIARBAWohByAELQABIgpB+wBrQQNJDQEgByEEIApB3ABGDQELAkACQAJAAkAgCkH7AGsOAwIBAAELIAlBAWshCQwCCyAKQfwARyAJcg0BIAVBAWohBUEAIQkMAwsgCUEBaiEJCyAJQQBIDQIMAQsgByEECyAEQQFqIQQMAQsLIAVBBBAaIQcgCyABOgBAIAsgBzYCOCADQQFqIREgAUEBcyESIANBAWshE0Go3AooAgAhBCACQX9zIRRBACEHIAMhAUEAIQJBACEFQQAhCQJAA0BBASEKAkACQAJAAkACQAJAAkACQAJAA0AgCkEBcUUNBiAELQAAIgZBAWtB/wFxQR5NBEBBASEKQajcCiAEQQFqIgQ2AgAMAQsCQAJAAkAgBkH7AGsOAwECAgALAkACQAJAIAZBPGsOAwEJAgALIAZFDQMgBkHcAEcNCCAELQABIgZB+wBrQQNJDQcgBkE8aw4DBwYHBQsgBUEGcQ0MIAwtAFINByAFQRJyIQUgAyIHIRAMCwsgDC0AUg0GIAVBEHFFDQsCQCAHIBFNDQAgB0EBayICIBBGDQAgAiAHIAItAABBIEYbIQcLIAdBADoAACADEKUBIgJFDQkgBUFvcSEFQajcCigCACEEDAoLQajcCiAEQQFqNgIAIAUNCiAELQABRQ0KIAAgEkEAIAMQyAYhBiALKAI4IAlBAnRqIAY2AgBBASEKIAlBAWohCUGo3AooAgAhBEEEIQUgBg0BDAoLIBQgBkVxIAVBEHFyDQkgBUEEcUUEQEHIABBSIQ0gCygCOCAJQQJ0aiANNgIAIAlBAWohCQsgAgRAIA0gAjYCPAsgBUEFcUUEQCADIAhqQSA6AAAgBUEBciEFIAhBAWohCAsgBUEBcQRAIAMgCGohBAJAIAhBAkgNACABIARBAWsiAkYNACACIAQgAi0AAEEgRhshBAtBACEIIARBADoAACAAIAMgDC0AUkEAIAwrAxAgDCgCBCAMKAIIENsCIQEgDUEBOgBAIA0gATYCNCADIQELQQAhAkEAIQpBqNwKKAIAIgQtAAAiBkUNAAsgBkH9AEYNBEEAIQUMBwsgBkUNAiAGQSBHDQAgDC0AUkEBRg0AQQEhDgwBCyADIAhqQdwAOgAAIAVBCXIhBSAIQQFqIQgLQajcCiAEQQFqIgQ2AgALIAVBBHEEQCAELQAAQSBHDQULIAVBGHFFBEAgBSAFQQlyIAQtAABBIEYbIQULAkAgBUEIcQRAIAMgCGohCgJAAkAgDiAELQAAIgZBIEdyDQAgCkEBay0AAEEgRw0AIAwtAFJBAUcNAQsgCiAGOgAAIAhBAWohCAsgCCATaiABIA4bIQEMAQsgBUEQcUUNAAJAIA4gBC0AACIGQSBHckUEQCADIAdGDQEgB0EBay0AAEEgRg0BCyAHIAY6AAAgB0EBaiEHQajcCigCACEECyAHQQFrIBAgDhshEAtBqNwKIARBAWoiBDYCAANAIAQsAAAiBkG/f0oNBkGo3AogBEEBaiIENgIAIAMgCGogBjoAACAIQQFqIQgMAAsAC0Go3AogBEEBajYCAAsgCyAJNgIwDAQLIA8gAxA/QQFqNgIAQajzCCgCAEGD5wMgDxAfGhAsAAtBqNwKIARBAWoiBDYCAAwBCwsgCxDGBiACEBhBACELCyAPQRBqJAAgCwuuBAIGfwh8RAAAAAAAAChAIREgAUECdEEEakEQEBohBQNAIAEgBEYEQAJAIAIoAgBBDHZB/wBxQQFrIQhBACEEQQAhAgNAIAIhBiABIARGDQEgESAAIARBAWoiB0EAIAEgB0sbQQR0aiIJKwMAIAAgBEEEdGoiAisDACIMoSIPIAkrAwggAisDCCINoSIQEEqjIQoCQAJAAkAgCA4FAQICAAACCyAKRAAAAAAAAAhAoyEKDAELIApEAAAAAAAA4D+iIQoLIAwhDiANIQsgAwRAIApEAAAAAAAA4D+iIg4gEKIgDaAhCyAOIA+iIAygIQ4LIAUgBkEEdGoiAiALOQMIIAIgDjkDACACRAAAAAAAAPA/IAqhIgsgEKIgDaA5AyggAiALIA+iIAygOQMgIAIgCiAQoiANoDkDGCACIAogD6IgDKA5AxAgBkEDaiECIAchBCADRQ0AIAUgAkEEdGoiAiAKRAAAAAAAAOC/okQAAAAAAADwP6AiCyAQoiANoDkDCCACIAsgD6IgDKA5AwAgBkEEaiECDAALAAsFIBEgACAEQQFqIgdBACABIAdLG0EEdGoiBisDACAAIARBBHRqIgQrAwChIAYrAwggBCsDCKEQSkQAAAAAAAAIQKMQKSERIAchBAwBCwsgBSAGQQR0aiIAIAUpAwA3AwAgACAFKQMINwMIIAAgBSkDEDcDECAAIAUpAxg3AxggACAFKQMgNwMgIAAgBSkDKDcDKCAFC2IBAn8jAEEQayIBJAACQCAAKAIAIgIEQCACIAAoAgQiABCtAiICRQ0BIAFBEGokACACDwtBitUBQYb7AEErQfU0EAAACyABIABBAWo2AgBBqPMIKAIAQYPnAyABEB8aECwAC1oBAn8CQCAAKAIAIgMEQCABRQ0BIAAoAgQiACABED8iAkYgAyABIAAgAiAAIAJJGxDpAUVxDwtBrdUBQYb7AEHkAEGPPBAAAAtBgNUBQYb7AEHlAEGPPBAAAAvmGgMNfwV8An4jAEHgCWsiAyQAAkACQCACBEAgAi0AAA0BCyAAQn83AgAMAQsCf0GQ2AooAgAEQEGU3AooAgAMAQtBlNwKKAIAIgVBiNgKKAIAIgRBnNwKKAIARg0AGkGc3AogBDYCAEEAIAVFDQAaIAUQmQEaQZTcCkEANgIAQQALIAEoAhAoAggrAxghEkUEQEGU3ApBtPoJQczrCSgCABCSATYCAAsCfgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAhDpCSIERQRAQQFB0AAQGiIEQQAgAhCuATYCCCAEEOgJRQ0TIAQoAhQiAUUNAUEAIQIgA0EANgKwASADQgA3A6gBIANCADcDoAECQCADQaABakEBQRQgARC7BUEURw0AA0AgAkEKRg0BIAJBBHQhASACQQFqIQIgA0GgAWogAUHA8QdqIgUoAgAgAUHE8QdqKAIAEM4BDQALIAQgBSgCCCICNgIYIAQgBSgCDDYCHAJAAkAgAkEJaw4CAAEGCwJAIANBoAFqQT5BFBD7Ag0AA0AgBCgCFBCvAiIBQT5GDQEgAUF/Rw0ACwwFCyADQQA2AswJIANBzAlqIgFBAUEEIAQoAhQQuwVBBEcNBCABQQFyIQEDQCADKALMCUG85tm7BkYEQEEIIQIgBEEINgIYIARBuv0ANgIcDAcLIAQoAhQQrwIiAkF/Rg0FIAEvAAAhBSADIAEtAAI6AM4JIAMgBTsBzAkgAyACOgDPCQwACwALIAMoAqgBQdeKiYIFRw0RIARBCzYCGCAEQeTbADYCHAwFCyAEQQA2AhggBEHApQM2AhwMBQsgBBDNBgwQC0HNhQFB3LwBQfQFQf/lABAAAAsgBCgCGCECCyACDg0BBAIDBQsGDAkMDAAKDAsgBEEANgJAIAQoAhRBD0EAEK4CGiAEKAIUEK8CIAQoAhQhAUHYAEcNBiABQRhBABCuAhogBCgCFEEEIANBoAFqEJ8CRQ0LIAQoAhRBBCADQcwJahCfAg0HDAsLIAQgBCgCCBDHBiIBNgJEIAENCiADIAQoAgg2AgBBy4YEIAMQKgwNCyAEQQA2AkAgBCgCFEEGQQAQrgIaIAQoAhRBAiADQaABahCfAkUNCSAEKAIUQQIgA0HMCWoQnwJFDQkgBCADKAKgAbc5AzAgBCADKALMCbc5AzgMCQsgBEEANgJAIAQoAhRBEEEAEK4CGiAEKAIUQQQgA0GgAWoQngJFDQggBCgCFEEEIANBzAlqEJ4CRQ0IIAQgAygCoAG3OQMwIAQgAygCzAm3OQM4DAgLIARBADYCQCAEKAIUQRBBABCuAhogBCgCFEECIANBoAFqEJ8CRQ0HIAQoAhRBAiADQcwJahCfAkUNByAEKAIUQQIgA0HACWoQnwJFDQcgBCgCFEECIANBsAlqEJ8CRQ0HIAQgAygCzAkgAygCoAFBEHRytzkDMCAEIAMoArAJIAMoAsAJQRB0crc5AzgMBwsgBEEANgJAIAQoAhQQ5wMDQCAEKAIUQQEgA0GgAWoQngJFBEAgAyAEKAIINgIQQc68BCADQRBqECoMCAsgAygCoAEiAkH/AUYNAEHl8gcgAkELEPsCDQAgBCgCFCEBAkACQAJAIAJBwAFrDgMAAgECCyABQQNBARCuAg0JIAQoAhRBAiADQbAJahCeAkUNCSAEKAIUQQIgA0HACWoQngJFDQkgBCADKAKwCbc5AzggBCADKALACbc5AzAMCQsgAUEDQQEQrgINCCAEKAIUQQIgA0GwCWoQngJFDQggBCgCFEECIANBwAlqEJ4CRQ0IIAQgAygCsAm3OQM4IAQgAygCwAm3OQMwDAgLIAFBAiADQcwJahCeAkUNByAEKAIUIAMoAswJQQJrQQEQrgIaDAALAAsgBEHIADYCQCAEKAIUEOcDA0AgA0GgAWoiAUGACCAEKAIUEKcHRQ0GIAFBn+ABELIFIgFFDQAgAyADQagJajYCLCADIANBsAlqNgIoIAMgA0HACWo2AiQgAyADQcwJajYCICABQa+xASADQSBqEFFBBEcNAAsgBCADKALMCSIBtzkDICAEIAMoAsAJIgK3OQMoIAQgAygCsAkgAWu3OQMwIAQgAygCqAkgAmu3OQM4DAULIAFBGkEAEK4CGiAEKAIUQQIgA0GgAWoQnwJFDQQgBCgCFEECIANBzAlqEJ8CRQ0ECyAEIAMoAqABtzkDMCAEIAMoAswJtzkDOAwDCyADQgA3A6gBIANCADcDoAEgBCgCFBDnAyADQdQJaiEJQQAhBQJAA0AgByAFQQFxcQ0BAn8DQCAEKAIUEK8CIgFBf0cEQEEAIAFBCkYNAhogA0GgAWogAcAQlgMMAQsLQQELIANBoAFqEOcJIQgCQANAIAhBAmohDEEAIQICQANAIAIgCGoiDSwAACIGRQ0BQQEhAQJAIAZB4QBrQRlNBEADQCABIg5BAWohASAIIAIiBkEBaiICai0AACIKQd8BccBBwQBrQRpJDQALIApBPUcNAiAGIAxqLQAAQSJHDQJBACEBIAZBA2oiBiECA0AgAiAIai0AACIKRQ0DIApBIkYNAiABQQFqIQEgAkEBaiECDAALAAsgAkEBaiECDAELCyADIA42AtAJIAMgDTYCzAkgAyADKQLMCTcDmAEgAyAGIAhqIgI2AtQJIAMgATYC2AkgASACakEBaiEIIANBmAFqQfX3ABDLBgRAIAMgCSkCADcDSCADQcgAahDKBiECIAMgA0G9CWoiATYCRCADIANBwAlqIgY2AkACQCACQZQyIANBQGsQUUECRwRAIAMgBjYCMCACQe2DASADQTBqEFFBAUcNAUGNHSEBC0EBIQUgAysDwAkgARDlCSEQCyACEBggB0EAIQdFDQJBASEHDAELIAMgAykCzAk3A5ABIANBkAFqQbEhEMsGBEAgAyAJKQIANwNoIANB6ABqEMoGIQIgAyADQb0JaiIBNgJkIAMgA0HACWoiBjYCYAJAIAJBlDIgA0HgAGoQUUECRwRAIAMgBjYCUCACQe2DASADQdAAahBRQQFHDQFBjR0hAQtBASEHIAMrA8AJIAEQ5QkhEQsgAhAYQQEhAiAFQQFxQQAhBUUNAgwDCyADIAMpAswJNwOIASADQYgBakHMEhDLBkUNASADIAkpAgA3A4ABIANBgAFqEMoGIQEgAyADQbAJajYCcCADIANBqAlqNgJ0IAFB4YMBIANB8ABqEFFBAkYEQCADKwOwCSEUQQEhDyADKwOoCSETCyABEBgMAQsLIAUhAgsgDwRAIBAgFCACQQFxGyEQIBEgEyAHGyERDAILIAIhBUUNAAsgEEQAAAAAAAAAACACQQFxGyEQIBFEAAAAAAAAAAAgBxshEQsgBEEANgJAAkAgEEQAAAAAAAAAAGZFIBBEAADA////30FlRXJFBEAgBAJ/IBCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4C7c5AzAgEUQAAAAAAAAAAGZFIBFEAADA////30FlRXINASAEAn8gEZlEAAAAAAAA4EFjBEAgEaoMAQtBgICAgHgLtzkDOCADQaABahBcDAQLQY3JAUHcvAFB4gJB1YcBEAAAC0H4ygFB3LwBQeQCQdWHARAAAAsgBEEANgJAIAQoAhRBBkEAEK4CGiAEKAIUQQEgA0GgAWoQngJFDQEgBCgCFEEBIANBzAlqEJ4CRQ0BIAQgAygCoAG3OQMwIAQgAygCzAm3OQM4DAELQQAhASAEQQA2AkAgBCgCFBDnAyAEKAIUIgVFDQICQANAIAFBCUYEQEEAIQIDQCACQeASaiwAACIHRQ0DIAUQrwIiAUF/Rg0EIAJBAWogAUEvRiABIAdGGyECDAALAAsgAUHgEmotAAAhByABQQFqIgEhAgNAIAJB4BJqLQAAIgZFDQEgAkEBaiECIAYgB0cNAAsLQZbGAUHcvAFB6ARB8DQQAAALIANB2AlqQgA3AgAgA0IANwLQCSADIAU2AswJIANBzAlqIgEQ5AkgA0HQCWohAgJAIAUQrwJB2wBHDQAgARD5BCADQaABahD4BA0AIAEQ+QQgA0GoAWoQ+AQNACABEPkEIANBsAFqEPgEDQAgARD5BCADQbgBahD4BCACEFwNASAEIAMrA6ABIhA5AyAgBCADKwOoASIROQMoIAQgAysDsAEgEKE5AzAgBCADKwO4ASARoTkDOAwBCyACEFwLIAQQzQZBlNwKKAIAIgEgBEEBIAEoAgARAwAaIARFDQMLAn8gBCsDOEQAAAAAAABSQKIgBCgCQCIBtyASRAAAAAAAAFhAIBJEAAAAAAAA8D9mGyABGyIQoyIRmUQAAAAAAADgQWMEQCARqgwBC0GAgICAeAutAn8gBCsDMEQAAAAAAABSQKIgEKMiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLrSEWQiCGDAMLQZTUAUHcvAFB4QRB8DQQAAALIAQoAggiAQRAQQAgAUEAEIoBGgsgBBAYC0L/////DyEWQoCAgIBwCyEVIAAgFSAWhDcCAAsgA0HgCWokAAsnAQF/AkAgAC0AEUEBRw0AIAAoAhQiAUUNACABEOsDIABBADYCFAsLuwMBBH8jAEEgayIEJABBASEFIAAiAiEDAkACQAJAIAEOAgIBAAsCQANAIAIiAS0AACIDRQ0BIAFBAWohAiADQf8ASQ0AIAFBAmohAkEAIQUgA0H8AXFBwAFGDQALQYzcCi0AAEGM3ApBAToAACAAIQNBAXENAkGKhARBABAqDAILIAAhAyAFDQELIAAhASMAQRBrIgIkACACQgA3AwggAkIANwMAA0AgAS0AACIDBEAgA0H/AEkEfyABQQFqBSABLQABQT9xIANBBnRyIQMgAUECagshASACIAPAEJgBDAELCyACEJcDIAJBEGokACEDCyAEQgA3AxggBEIANwMQQSghASADIQICQANAAkAgBEEQaiIFIAHAEJYDAkAgAi0AACIBQShrQQJJIAFB3ABGckUEQCABDQEgBUEpEJYDIAAgA0cEQCADEBgLIARBEGoiABAoRQ0CIAAgABAlIgAQrQIiAg0EIAQgAEEBajYCAEGo8wgoAgBBg+cDIAQQHxoQLAALIARBEGpB3AAQlgMgAi0AACEBCyACQQFqIQIMAQsLIARBEGpBABCWAyAEKAIQIQILIARBIGokACACC6kCAQN/IwBBoAhrIgUkAAJAAkACQCABRQ0AQQEhBANAIARBAXFFDQIgASADQQJ0aigCACIERQ0BIANBAWohAyAELQAAQQBHIQQMAAsACwNAIAIoAgAiBARAIAAgBBAbGiAAQZKABRAbGiACQQRqIQIMAQsLIAFFDQELQQAhBANAIAEgBEECdGooAgAiAkUNAQJAIAItAABFDQAgAhD8BCIDRQRAIAUgAjYCAEGM+AMgBRAqDAELIANB/DsQoQQiAgRAA0AgBUEgaiIDQQBBgAgQNhogACADIANBAUGACCACELsFIgMQoQIaIANB/wdLDQALIABBkoAFEBsaIAIQ6wMMAQsgBSADNgIQQfD3AyAFQRBqECoLIARBAWohBAwACwALIAVBoAhqJAALnwMCBnwDfyAEQQFxIQwCQCACQQJGBEAgACsDCCIGIAArAxggBqEiBaAhByAGIAWhIQYgACsDACIFIAArAxAgBaEiCKAhCiAFIAihIQgMAQsgACsDACIKIQggACsDCCIHIQYDQCACIAtGDQEgACALQQR0aiINKwMIIgUgByAFIAdkGyEHIA0rAwAiCSAKIAkgCmQbIQogBSAGIAUgBmMbIQYgCSAIIAggCWQbIQggC0EBaiELDAALAAsgBEECcSEAIAYgByAGoUQAAAAAAADgP6KgIQUgCCAKIAihRAAAAAAAAOA/oqAhCQJ/IAwEQCABIAk5AwAgASAFIAWaIAAbOQMIIAEgCSAIoSAFIAahEEoiA0QAAAAAAADQP6I5AxBBGAwBCyAHIAWhIQcgCiAJoSEIIAMQSyEKIAMQVyEDAnwgAARAIAcgA6IiAyAFoCEGIAUgA6EMAQsgBSAGoZogA6IgBaEhBiAHIAOiIAWhCyEHIAEgBjkDGCABIAc5AwggASAJIAggCqIiA6E5AwAgAyAJoCEDQRALIAFqIAM5AwALjQQBBX8jAEEwayIDJAAgAyAANgIsIAFB7NsKKAIARwRAQezbCiABNgIAQfDbCkEAOgAACyADQgA3AyAgA0IANwMYA0AgAyAAQQFqNgIsIAAtAAAiAgRAAkACQAJAAkACfyACQcABTwRAQQEgAkHgAUkNARpBAiACQfABSQ0BGkEDIAJB+AFJDQEaQfDbCi0AAEHw2wpBAToAAEEBcUUEQCADIAEQITYCEEHCzgQgA0EQahAqCyACIANBGGoQ7gkhAkF/DAELIAJBJkYNAUEACyEFQQAhBCAFQQAgBUEAShshBiADKAIsIQADQCAEIAZGDQMgACwAAEG/f0oNAiADQRhqIALAEJgBIARBAWohBCAALQAAIQIgAEEBaiEADAALAAsgA0EsahDtCSICRQRAQSYhAgwDCyACQf4ATQ0CIAJB/g9NBEAgA0EYaiACQQZ2QUByEJgBIAJBP3FBgH9yIQIMAwsgA0EYaiIAIAJBDHZBYHIQmAEgACACQQZ2QT9xQYB/chCYASACQT9xQYB/ciECDAILQfDbCi0AAEHw2wpBAToAACADIAA2AixBAXFFBEAgAyABECE2AgQgAyAFQQFqNgIAQdXNBCADECoLIAJB/wFxIANBGGoQ7gkhAgwBCyADIAA2AiwLIANBGGogAsAQmAEgAygCLCEADAELCyADQRhqEJcDIANBMGokAAvBAQEEfyMAQTBrIgQkACAEIAI2AiQgBCABNgIgIARCADcDGCAEIAMgA0EwaiIFIAMoAgBBA3EiBkEDRhsoAig2AiggBCADIANBMGsiByAGQQJGGygCKDYCLCAAIARBGGpBASAAKAIAEQMAGiAEIAE2AgwgBCACNgIIIARCADcDACAEIAMgByADKAIAQQNxIgFBAkYbKAIoNgIQIAQgAyAFIAFBA0YbKAIoNgIUIAAgBEEBIAAoAgARAwAaIARBMGokAAszAQF/AkAgBA0AQQAhBCABEJICIgVBAksNACAAIAUgAkGVgAUQIiEECyABIAQgAxBxIAQLTgAgASAAQfTZCigCAEQAAAAAAAAsQEQAAAAAAADwPxBPOQMAIAEgAEH42QooAgBBg+oAEI0BNgIIIAEgAEH82QooAgBBmPUAEI0BNgIMCzwBAn8DQAJAIAEgA0ECdGooAgAiBEUNACAABEAgACAEEExFDQELIANBAWohAwwBCwsgAiADQQJ0aigCAAszACAAIAEoAhAoApQBIgErAwBEAAAAAAAAUkCiOQMAIAAgASsDCEQAAAAAAABSQKI5AwgLZQECfwJAIABFDQAgACwAACIDRQ0AAkAgAEHqkwEQL0UNACAAQcfeABAvRQ0AQQEhAiAAQbuKARAvRQ0AIABBkS4QL0UNACABIQIgA0Ewa0EJSw0AIAAQkAJBAEchAgsgAg8LIAEL8wICAX8CfCMAQaABayIGJAAgBiAAIAUQzQMiCCAIoiIHOQMIIAQgBTYCCCAEIAEgAkEEdGoiBSkDADcDECAEIAUpAwg3AxgCQCACIANPDQAgByAFKwMAIAEgAkEDaiIAQQR0aiIDKwMAoSIHIAeiIAUrAwggAysDCKEiByAHoqBkRQ0AIAAhAgsgBiABIAJBBHRqIgApAzg3AxggBiAAKQMwNwMQIAYgACkDKDcDKCAGIAApAyA3AyAgBiAAKQMYNwM4IAYgACkDEDcDMCAGIAUpAwg3A0ggBiAFKQMANwNAIAZBQGshASAIRAAAAAAAAAAAZARAIAYgATYCWCAGIAZBCGo2AlwgBkHYAGpBJiAGQRBqQQAQgwULIAAgASkDADcDACAAIAEpAwg3AwggACAGKQM4NwMYIAAgBikDMDcDECAAIAYpAyg3AyggACAGKQMgNwMgIAAgBikDGDcDOCAAIAYpAxA3AzAgBkGgAWokACACC/ECAgF/AnwjAEGgAWsiBiQAIAYgACAFEM0DIgggCKIiBzkDCCAEIAU2AgwgBCABIANBBHRqIgAiBUEwaikDADcDICAEIAApAzg3AygCQCACIANPDQAgByAAKwMAIAUrAzChIgcgB6IgACsDCCAAKwM4oSIHIAeioGRFDQAgA0EDayEDCyAGIAEgA0EEdGoiAEEIaikDADcDSCAGIAApAwA3A0AgBiAAKQMYNwM4IAYgACkDEDcDMCAGIAApAyg3AyggBiAAKQMgNwMgIAYgBSkDMDcDECAGIAUpAzg3AxggCEQAAAAAAAAAAGQEQCAGIAZBCGo2AlwgBiAGQRBqIgE2AlggBkHYAGpBJiABQQEQgwULIAAgBkFAayIBKQMANwMAIAAgASkDCDcDCCAAIAYpAzg3AxggACAGKQMwNwMQIAAgBikDKDcDKCAAIAYpAyA3AyAgACAGKQMYNwM4IAAgBikDEDcDMCAGQaABaiQAIAMLXwEBfwNAAkACQCABKAIAIgMEfyAARQ0BIAAgAyADED8iAxDpAQ0CIAIgAigCACABKAIEcjYCACAAIANqBSAACw8LQfTSAUHo+wBBDEGb9wAQAAALIAFBCGohAQwACwAL+wIBBH8jAEEQayIEJAAgAUEANgIAIAIgABAuEIECQQBHIgM2AgACQEGI2gooAgAiBUUNAAJAIAAgBRBEIgUtAABFDQBBsN4HIQMDQCADKAIAIgZFDQEgBSAGEEwEQCADQQxqIQMMAQUgASADKAIENgIAIAIgAygCCCIDNgIADAMLAAsACyACKAIAIQMLAkAgA0EBRw0AIAAQLkECQcKwAUEAECIiA0UNACAAIAMQRCIDLQAARQ0AIAMgAhCECgsCQCABKAIAQQFHDQAgABAuQQJBh+8AQQAQIiIDRQ0AIAAgAxBEIgMtAABFDQAgAyABEIQKCyAAKAIQLQCZAUEBRgRAIAAgAEEwayIDIAAoAgBBA3FBAkYbKAIoEC4gACADIAAoAgBBA3EiA0ECRhsoAiggAEEwQQAgA0EDRxtqKAIoQQBBABBeIARBDGogBEEIahDbBiACIAIoAgAgBCgCDHI2AgAgASABKAIAIAQoAghyNgIACyAEQRBqJAALmxcCCH8NfCMAQfAAayIHJAACQAJAAkACQAJAAkAgACgCACIIKAIQIgUtACwNACAFLQBUDQAgBS0AMSEGIAUtAFkhCQwBCyAFLQAxIgZBCHENASAFLQBZIglBCHENASAGQQVxRQ0AIAYgCUYNAgtBAUF/IAhBMEEAIAgoAgBBA3FBA0cbaigCKCILKAIQIggrAxgiDSAFKwMYoCIQIA0gBSsDQKAiEWYiChsgCCsDECISIAUrAzigIRYgEiAFKwMQoCEUIAgrA2AhDSAGIAkQgAUhBiADRAAAAAAAAOA/oiABuKNEAAAAAAAAAEAQIyEOIBAgEaBEAAAAAAAA4D+iIRdEAAAAAAAAAAAhAyANIBIgDaAiDyAWoUQAAAAAAAAIQKIQKSETIA0gDyAUoUQAAAAAAAAIQKIQKSEPQX9BASAKGyAGQcEARyAGQSBHcSAQIBFichu3IA6iIRVBACEGA0AgASAGRg0EIAAgBkECdGooAgAhBSAHIBIgAiANoCINoCIOOQNAIAcgFzkDOCAHIA45AzAgByAOOQMgIAcgETkDaCAHIBEgFSADoCIDoSIOOQNYIAcgFjkDYCAHIBYgAiAToCITRAAAAAAAAAhAo6A5A1AgByAOOQNIIAcgEDkDCCAHIBAgA6AiDjkDKCAHIA45AxggByAUOQMAIAcgFCACIA+gIg9EAAAAAAAACECjoDkDEAJAIAUoAhAoAmBFDQAgBUEwQQAgBSgCAEEDcUEDRxtqKAIoEC4hCSAFKAIQKAJgIgggCEEgQRggCSgCECgCdEEBcRtqKwMAIg5EAAAAAAAA4D+iIA0gCygCECIJKwMQoKA5AzggCSsDGCEYIAhBAToAUSAIIBg5A0AgAiAOY0UNACANIA4gAqGgIQ0LIAUgBUFQQQAgBSgCAEEDcUECRxtqKAIoIAdBByAEEJMBIAZBAWohBgwACwALIAZBAnENASAFLQBZIglBAnENAUEBQX8gCEEwQQAgCCgCAEEDcUEDRxtqKAIoIgsoAhAiCCsDGCINIAUrAxigIhAgDSAFKwNAoCIRZiIKGyAIKwMQIhIgBSsDOKAhFiASIAUrAxCgIRQgCCsDWCENIAYgCRCABSEGIANEAAAAAAAA4D+iIAG4o0QAAAAAAAAAQBAjIQ4gECARoEQAAAAAAADgP6IhF0QAAAAAAAAAACEDIA0gFiANoCASoUQAAAAAAAAIQKIQKSETIA0gFCANoCASoUQAAAAAAAAIQKIQKSEPQX9BASAKGyAGQcMARyAGQQxHcSAQIBFichu3IA6iIRVBACEGA0AgASAGRg0DIAAgBkECdGooAgAhBSAHIBIgAiANoCINoSIOOQNAIAcgFzkDOCAHIA45AzAgByAOOQMgIAcgETkDaCAHIBEgFSADoCIDoSIOOQNYIAcgFjkDYCAHIBYgAiAToCITRAAAAAAAAAhAo6E5A1AgByAOOQNIIAcgEDkDCCAHIBAgA6AiDjkDKCAHIA45AxggByAUOQMAIAcgFCACIA+gIg9EAAAAAAAACECjoTkDEAJAIAUoAhAoAmBFDQAgBUEwQQAgBSgCAEEDcUEDRxtqKAIoEC4hCSAFKAIQKAJgIgggCygCECIKKwMQIA2hIAhBIEEYIAkoAhAoAnRBAXEbaisDACIORAAAAAAAAOC/oqA5AzggCisDGCEYIAhBAToAUSAIIBg5A0AgAiAOY0UNACANIA4gAqGgIQ0LIAUgBUFQQQAgBSgCAEEDcUECRxtqKAIoIAdBByAEEJMBIAZBAWohBgwACwALIAZBBHENACAGQQFxBEAgCEEwQQAgCCgCAEEDcUEDRxtqKAIoIgsoAhAiCCsDGCETIAgrA1AgBSsDQCESIAUrAxghFCAGIAkQgAUhBiAIKwMQIg0gBSsDEKAiECANIAUrAzigIhGgRAAAAAAAAOA/oiEXRAAAAAAAAAAAIQ0gAkQAAAAAAADgP6IgAbijRAAAAAAAAABAECMhDkQAAAAAAADgP6IiAiACIBMgEqAiEqAgE6FEAAAAAAAACECiECkhFiACIAIgEyAUoCIUoCAToUQAAAAAAAAIQKIQKSEPIA5BAEEBQX8gECARZhsiBWsgBSAGQcMARhu3oiEVQQAhBgNAIAEgBkYNAyAAIAZBAnRqKAIAIQUgByATIAMgAqAiAqEiDjkDSCAHIA45AzggByAXOQMwIAcgDjkDKCAHIBI5A2ggByASIAMgFqAiFkQAAAAAAAAIQKOhOQNYIAcgETkDYCAHIBEgFSANoCINoSIOOQNQIAcgDjkDQCAHIBA5AwAgByAQIA2gIg45AyAgByAUOQMIIAcgFCADIA+gIg9EAAAAAAAACECjoTkDGCAHIA45AxACQCAFKAIQKAJgRQ0AIAVBMEEAIAUoAgBBA3FBA0cbaigCKBAuIQkgBSgCECgCYCIIIAsoAhAiCisDGCACoSAIQRhBICAJKAIQKAJ0QQFxG2orAwAiDkQAAAAAAADgv6KgOQNAIAorAxAhGCAIQQE6AFEgCCAYOQM4IAMgDmNFDQAgAiAOIAOhoCECCyAFIAVBUEEAIAUoAgBBA3FBAkcbaigCKCAHQQcgBBCTASAGQQFqIQYMAAsAC0GSnQNBmLkBQa8JQbidARAAAAsjAEHwAGsiBiQARAAAAAAAAPA/RAAAAAAAAPC/IAAoAgAiCEEwQQAgCCgCAEEDcUEDRxtqKAIoIgsoAhAiBSsDECINIAgoAhAiCCsDEKAiEyANIAgrAzigIhFmGyEQIAUrA1BEAAAAAAAA4D+iIRIgBSsDGCIWIAgrA0CgIRQgFiAIKwMYoCEOIAgtADEgCC0AWRCABSEIIAJEAAAAAAAA4D+iIAG4o0QAAAAAAAAAQBAjIQICQAJAAkACQAJAAkACQAJAAkACQAJAIAhBJWsODwUBCgoCCgoKCgoFAwoKBQALAkAgCEHJAGsODQYJCQoKCgoKCgoHCAkACwJAIAhBDmsOAgUABAsgECACIAUrA2AgESANoaGgoiEPDAkLIBAgAiAFKwNYIA0gEaGhoKIhDwwICyAQIAIgBSsDYCATIA2hoaCiIQ8MBwsgECACIAUrA2AgEyANoaGgoiEPDAYLIAhBOWtBAk8NBQsgECAFKwNYIA0gE6GhIAUrA2AgESANoaGgRAAAAAAAAAhAo6IhDwwECyAQIAIgBSsDWCANIBOhoaCiIQ8MAwsgECAFKwNYIA0gE6GhoiEPDAILIBAgAiAFKwNYIA0gE6GhIAUrA2AgESANoaGgRAAAAAAAAOA/oqCiIQ8MAQsgECACIAKgIAUrA1ggDSAToaEgBSsDYCARIA2hoaBEAAAAAAAA4D+ioKIhDwsgEyARoEQAAAAAAADgP6IhGCASIBYgEqAiFyAUoUQAAAAAAAAIQKIQKSENIBIgFyAOoUQAAAAAAAAIQKIQKSEXQQAhCANAIAEgCEcEQCAAIAhBAnRqKAIAIQUgBiAWIAMgEqAiEqAiFTkDSCAGIBU5AzggBiAYOQMwIAYgFTkDKCAGIBQ5A2ggBiAUIAMgDaAiDUQAAAAAAAAIQKOgOQNYIAYgETkDYCAGIBEgECACoiAPoCIPoSIVOQNQIAYgFTkDQCAGIBM5AwAgBiATIA+gIhU5AyAgBiAOOQMIIAYgDiADIBegIhdEAAAAAAAACECjoDkDGCAGIBU5AxACQCAFKAIQKAJgRQ0AIAVBMEEAIAUoAgBBA3FBA0cbaigCKBAuIQogBSgCECgCYCIJIAlBGEEgIAooAhAoAnRBAXEbaisDACIVRAAAAAAAAOA/oiASIAsoAhAiCisDGKCgOQNAIAorAxAhGSAJQQE6AFEgCSAZOQM4IAMgFWNFDQAgEiAVIAOhoCESCyAFIAVBUEEAIAUoAgBBA3FBAkcbaigCKCAGQQcgBBCTASAIQQFqIQgMAQsLIAZB8ABqJAALIAdB8ABqJAAL+gEBBH8jAEEQayIEJAADQCAAIgMoAhAiAigCeCIABEAgAi0AcA0BCwsgAigCCCIARQRAQQFBKBAaIQAgAygCECAANgIICwJAIAAoAgQiAkHVqtUqSQRAIAAoAgAgAkEwbCICQTBqIgUQZiIARQ0BIAAgAmpBAEEwEDYaIAMoAhAoAggiAyAANgIAIAMgAygCBCIDQQFqNgIEIAFBEBAaIQIgACADQTBsaiIAIAE2AgQgACACNgIAIABBCGpBAEEoEDYaIARBEGokACAADwtBoL0DQc/8AEHNAEHtsgEQAAALIAQgBTYCAEGo8wgoAgBBg+cDIAQQHxoQLAAL0AECBX8BfCMAQUBqIgUkACABKAIQIgYrA2AhCQNAIARBBEZFBEAgBSAEQQR0IgdqIgggAiAHaiIHKwMAIAYrAxChOQMAIAggBysDCCAGKwMYoTkDCCAEQQFqIQQMAQsLIAAgBigCCCgCBCgCDCAFIAMQgwUgASgCECEAQQAhBANAIARBBEZFBEAgAiAEQQR0IgFqIgMgASAFaiIBKwMAIAArAxCgOQMAIAMgASsDCCAAKwMYoDkDCCAEQQFqIQQMAQsLIAAgCTkDYCAFQUBrJAALzgUCCX8BfCMAQSBrIgQkACAEQQA2AhwCQCACKAIEIgUEQCAFKAIAIgNFDQEgBSgCCEUEQCAFIANBgPAJQSNBJEEiEO0DNgIIC0GM2AotAAAEQCAEQRxqQQAgBSgCABChBhshBgtBACEDAkAgASgCjAEiAUUNACABKAIAIgFFDQAgAiAGIAERAAAhAwsCQAJAIANFBEAgAigCBCIBKAIYIQMgASsDECEMIAJCADcDICACQgA3AxAgAkIANwMIIAIgDEQzMzMzMzPzP6I5AyggAiAMRJqZmZmZmbk/ojkDGCACIAwCfCABKAIAIQEgAigCACEJIANBAXEhByADQQJxQQF2IQMjAEEgayIIJAACQAJAAkAgAQRAIAlFDQEgARCLCiIKQZAGQZACIAMbQZAEQRAgAxsgBxtqIQtBACEHA0AgCS0AACIBRQ0DAkAgAcBBAE4EQCABIQMMAQtBICEDQdzbCi0AAA0AQdzbCkEBOgAAIAggATYCEEG0hQQgCEEQahAqCwJAIAsgA0EBdGouAQAiAUF/RgRAQQAhAUHd2wotAAANAUHd2wpBAToAACAIIAM2AgBB5doEIAgQKgwBCyABQQBIDQULIAlBAWohCSABIAdqIQcMAAsAC0G6mAFBmLcBQcAGQfgcEAAAC0H1GEGYtwFBwQZB+BwQAAALIAorAwghDCAIQSBqJAAgB7ggDKMMAQtBqZcDQZi3AUG6BkGt8gAQAAALojkDICAGRQ0CIAZBq8cBNgIADAELIAZFDQELIAUoAgAhAUGo8wgoAgAhAyAEKAIcIgUEQCAEIAU2AhQgBCABNgIQIANBsfwDIARBEGoQHxoMAQsgBCABNgIAIANBvfgEIAQQHxoLIAAgAikDIDcDACAAIAIpAyg3AwggBEEgaiQADwtBmx9B27oBQc0AQceHARAAAAtBxJgBQdu6AUHQAEHHhwEQAAALsgEBBn8jAEEQayICJAACQCAAIAJBDGoQjwoiBARAIAIoAgwiA0EYED4hBSABIAM2AgAgBSEAAkADQCADIAZLBEAgACAEIAJBCGoiBxDgATkDACAEIAIoAggiA0YNAiAAIAMgBxDgATkDCCADIAIoAggiBEYNAiAAQgA3AxAgBkEBaiEGIABBGGohACABKAIAIQMMAQsLIAEgBTYCBAwCCyAFEBgLQQAhBAsgAkEQaiQAIAQL1QICA3wCfyMAQRBrIgkkAAJAIAFEAAAAAAAAAABlBEAgAiIGIgEhAAwBCwJ/RAAAAAAAAAAAIABEAAAAAAAAGECiIABEAAAAAAAA8D9mGyIAmUQAAAAAAADgQWMEQCAAqgwBC0GAgICAeAshCiACRAAAAAAAAPA/IAEgACAKt6EiB6KhoiEIIAJEAAAAAAAA8D8gAaGiIQAgAiEGIAJEAAAAAAAA8D8gAUQAAAAAAADwPyAHoaKhoiIHIQECQAJAAkACQAJAAkAgCg4GBgUAAQIDBAsgACEGIAIhASAHIQAMBQsgACEGIAghASACIQAMBAsgByEGIAAhASACIQAMAwsgACEBIAghAAwCCyAJQdYANgIEIAlBs7wBNgIAQajzCCgCAEHmvAQgCRAfGhA8AAsgCCEGIAIhAQsgAyAGOQMAIAQgATkDACAFIAA5AwAgCUEQaiQACysAIAAgAyABQQAQtQVFBEAgACADIAFBlYAFELUFGgsgACADIAEgAhC1BRoLagEBfyMAQRBrIggkAAJ/AkACQCABIAcQL0UEQCAAIAAvASQgBnI7ASQMAQsgASAFEC9FBEAgACAALwEkIARyOwEkDAELIAEgAxAvDQELQQAMAQsgCCABNgIAIAIgCBAqQQELIAhBEGokAAstAQF/IAMoAgAiBEUEQEGErQNBn/sAQRNB/DgQAAALIAAgASACKAIAIAQRAwALcgECfyMAQSBrIgQkAAJAIAAgA0kEQEEAIAAgACACEEciBRsNASAEQSBqJAAgBQ8LIAQgAjYCBCAEIAA2AgBBqPMIKAIAQbTnAyAEEB8aECwACyAEIAAgAXQ2AhBBqPMIKAIAQYPnAyAEQRBqEB8aECwAC1QAIAchAiAGIQQgBSEDAkACQAJAAkAgAUEPaw4EAwEBAgALIAFBKUYNAQtBfyECQZ4BIQQgAUEcRw0AIAAoAhANAEE7DwsgACAENgIAIAIhAwsgAwvwAgEEfyMAQTBrIgMkACADIAE2AgwgAyABNgIsIAMgATYCEAJAAkACQAJAAkBBAEEAIAIgARBjIgZBAEgNACAGQQFqIQECQCAAEE4gABAlayIEIAZLDQAgASAEayEEIAAQKARAQQEhBSAEQQFGDQELIAAgBBC9AUEAIQULIANCADcDGCADQgA3AxAgBSAGQRBPcQ0BIANBEGohBCAGIAUEfyAEBSAAEHkLIAEgAiADKAIsEGMiAUcgAUEATnENAiABQQBMDQAgABAoBEAgAUGAAk8NBCAFBEAgABB5IANBEGogARAgGgsgACAALQAPIAFqOgAPIAAQJUEQSQ0BQYm0A0Gd/ABB6gFBph8QAAALIAUNBCAAIAAoAgQgAWo2AgQLIANBMGokAA8LQbykA0Gd/ABB3QFBph8QAAALQcucA0Gd/ABB4gFBph8QAAALQfDMAUGd/ABB5QFBph8QAAALQdadAUGd/ABB7AFBph8QAAALJAEBfyMAQRBrIgMkACADIAE2AgwgAiAAIAEQwxIgA0EQaiQAC0sBAn8gACgCBCIHQQh1IQYgB0EBcQRAIAMoAgAgBhDsBiEGCyAAKAIAIgAgASACIAMgBmogBEECIAdBAnEbIAUgACgCACgCFBELAAsgAAJAIAEgACgCBEcNACAAKAIcQQFGDQAgACACNgIcCwuaAQAgAEEBOgA1AkAgAiAAKAIERw0AIABBAToANAJAIAAoAhAiAkUEQCAAQQE2AiQgACADNgIYIAAgATYCECADQQFHDQIgACgCMEEBRg0BDAILIAEgAkYEQCAAKAIYIgJBAkYEQCAAIAM2AhggAyECCyAAKAIwQQFHDQIgAkEBRg0BDAILIAAgACgCJEEBajYCJAsgAEEBOgA2CwsKACAAIAFqKAIACywBAn8CQCAAKAIkIgJFDQAgAC0AkAENACAAKAIAKAJsDQAgAhDqAyEBCyABC3YBAX8gACgCJCIDRQRAIAAgAjYCGCAAIAE2AhAgAEEBNgIkIAAgACgCODYCFA8LAkACQCAAKAIUIAAoAjhHDQAgACgCECABRw0AIAAoAhhBAkcNASAAIAI2AhgPCyAAQQE6ADYgAEECNgIYIAAgA0EBajYCJAsLswEBA38jAEEQayICJAAgAiABNgIMAkACQAJ/IAAQowEiBEUEQEEBIQEgABClAwwBCyAAEPYCQQFrIQEgACgCBAsiAyABRgRAIAAgAUEBIAEgARDpCiAAEEYaDAELIAAQRhogBA0AIAAiASADQQFqENMBDAELIAAoAgAhASAAIANBAWoQvgELIAEgA0ECdGoiACACQQxqENsBIAJBADYCCCAAQQRqIAJBCGoQ2wEgAkEQaiQACxwAIAAQiwUiAEHM6Qk2AgAgAEEEaiABEPEGIAALOAECfyABED8iAkENahCHASIDQQA2AgggAyACNgIEIAMgAjYCACAAIANBDGogASACQQFqECA2AgALDQAgACABIAJCfxCwBQsHACAAQQxqCycBAX8gACgCACEBIwBBEGsiACQAIAAgATYCDCAAKAIMIABBEGokAAsXACAAKAIIEGdHBEAgACgCCBCZCwsgAAsIACAAIAEQGws2AQF/IwBBEGsiAyQAIAMgAjYCDCADQQhqIANBDGoQjgIgACABEJcHIQAQjQIgA0EQaiQAIAALEwAgACAAKAIAQQFrIgA2AgAgAAtZAQN/AkAgACgCACICBEAgASgCACIDRQ0BIAAoAgQiACABKAIERgR/IAIgAyAAEIACBUEBC0UPC0Gt1QFBhvsAQTNBsjwQAAALQZ7VAUGG+wBBNEGyPBAAAAszAQF/IwBBEGsiAiQAIAIgACgCADYCDCACIAIoAgwgAUECdGo2AgwgAigCDCACQRBqJAALGwEBf0EBIQEgABCjAQR/IAAQ9gJBAWsFQQELCzABAX8jAEEQayICJAAgAiAAKAIANgIMIAIgAigCDCABajYCDCACKAIMIAJBEGokAAvQAQEDfyMAQRBrIgUkAAJAQff///8HIAFrIAJPBEAgABBGIQYgBUEEaiIHIAFB8////wNJBH8gBSABQQF0NgIMIAUgASACajYCBCAHIAVBDGoQ4AMoAgAQ3wNBAWoFQff///8HCxDeAyAFKAIEIQIgBSgCCBogBARAIAIgBiAEEKsCCyADIARHBEAgAiAEaiAEIAZqIAMgBGsQqwILIAFBCkcEQCAGEKEFCyAAIAIQ+wEgACAFKAIIEPoBIAVBEGokAAwBCxDKAQALIAAgAxC+AQvGAQEEfyMAQRBrIgQkAAJAIAEQowFFBEAgACABKAIINgIIIAAgASkCADcCACAAEKUDGgwBCyABKAIAIQUgASgCBCECIwBBEGsiAyQAAkACQAJAIAIQoAUEQCAAIgEgAhDTAQwBCyACQff///8HSw0BIANBCGogAhDfA0EBahDeAyADKAIMGiAAIAMoAggiARD7ASAAIAMoAgwQ+gEgACACEL4BCyABIAUgAkEBahCrAiADQRBqJAAMAQsQygEACwsgBEEQaiQACw8AIAAgACgCAEEEajYCAAshAQF/IwBBEGsiASQAIAFBDGogABCiAigCACABQRBqJAALDwAgACAAKAIAQQFqNgIAC1kBAn8jAEEQayIDJAAgAigCACEEIAACfyABIABrQQJ1IgIEQANAIAAgBCAAKAIARg0CGiAAQQRqIQAgAkEBayICDQALC0EACyIAIAEgABsQpAMgA0EQaiQAC/gDAQF/IwBBEGsiDCQAIAwgADYCDAJAAkAgACAFRgRAIAEtAABBAUcNAUEAIQAgAUEAOgAAIAQgBCgCACIBQQFqNgIAIAFBLjoAACAHECRFDQIgCSgCACIBIAhrQZ8BSg0CIAooAgAhAiAJIAFBBGo2AgAgASACNgIADAILAkACQCAAIAZHDQAgBxAkRQ0AIAEtAABBAUcNAiAJKAIAIgAgCGtBnwFKDQEgCigCACEBIAkgAEEEajYCACAAIAE2AgBBACEAIApBADYCAAwDCyALIAtBgAFqIAxBDGoQggcgC2siAEECdSIGQR9KDQEgBkHgrglqLAAAIQUCQAJAIABBe3EiAEHYAEcEQCAAQeAARw0BIAMgBCgCACIBRwRAQX8hACABQQFrLAAAEN0DIAIsAAAQ3QNHDQYLIAQgAUEBajYCACABIAU6AAAMAwsgAkHQADoAAAwBCyAFEN0DIgAgAiwAAEcNACACIAAQ/wE6AAAgAS0AAEEBRw0AIAFBADoAACAHECRFDQAgCSgCACIAIAhrQZ8BSg0AIAooAgAhASAJIABBBGo2AgAgACABNgIACyAEIAQoAgAiAEEBajYCACAAIAU6AABBACEAIAZBFUoNAiAKIAooAgBBAWo2AgAMAgtBACEADAELQX8hAAsgDEEQaiQAIAALVQECfyMAQRBrIgYkACAGQQxqIgUgARBTIAUQywFB4K4JQYCvCSACEMgCIAMgBRDZAyIBEPYBNgIAIAQgARDJATYCACAAIAEQyAEgBRBQIAZBEGokAAsvAQF/IwBBEGsiAyQAIAAgACACLAAAIAEgAGsQ+wIiACABIAAbEKQDIANBEGokAAsyAQF/IwBBEGsiAiQAIAIgACkCCDcDCCACIAApAgA3AwAgAiABENwDIAJBEGokAEF/RwvwAwEBfyMAQRBrIgwkACAMIAA6AA8CQAJAIAAgBUYEQCABLQAAQQFHDQFBACEAIAFBADoAACAEIAQoAgAiAUEBajYCACABQS46AAAgBxAkRQ0CIAkoAgAiASAIa0GfAUoNAiAKKAIAIQIgCSABQQRqNgIAIAEgAjYCAAwCCwJAAkAgACAGRw0AIAcQJEUNACABLQAAQQFHDQIgCSgCACIAIAhrQZ8BSg0BIAooAgAhASAJIABBBGo2AgAgACABNgIAQQAhACAKQQA2AgAMAwsgCyALQSBqIAxBD2oQhQcgC2siBUEfSg0BIAVB4K4JaiwAACEGAkACQAJAAkAgBUF+cUEWaw4DAQIAAgsgAyAEKAIAIgFHBEBBfyEAIAFBAWssAAAQ3QMgAiwAABDdA0cNBgsgBCABQQFqNgIAIAEgBjoAAAwDCyACQdAAOgAADAELIAYQ3QMiACACLAAARw0AIAIgABD/AToAACABLQAAQQFHDQAgAUEAOgAAIAcQJEUNACAJKAIAIgAgCGtBnwFKDQAgCigCACEBIAkgAEEEajYCACAAIAE2AgALIAQgBCgCACIAQQFqNgIAIAAgBjoAAEEAIQAgBUEVSg0CIAogCigCAEEBajYCAAwCC0EAIQAMAQtBfyEACyAMQRBqJAAgAAtVAQJ/IwBBEGsiBiQAIAZBDGoiBSABEFMgBRDMAUHgrglBgK8JIAIQ9QIgAyAFENsDIgEQ9gE6AAAgBCABEMkBOgAAIAAgARDIASAFEFAgBkEQaiQAC5wBAQN/QTUhAQJAIAAoAhwiAiAAKAIYIgNBBmpBB3BrQQdqQQduIAMgAmsiAkHxAmpBB3BBA0lqIgNBNUcEQCADIgENAUE0IQECQAJAIAJBBmpBB3BBBGsOAgEAAwsgACgCFEGQA29BAWsQmgtFDQILQTUPCwJAAkAgAkHzAmpBB3BBA2sOAgACAQsgACgCFBCaCw0BC0EBIQELIAELagECfyAAQYSTCTYCACAAKAIoIQEDQCABBEBBACAAIAFBAWsiAUECdCICIAAoAiRqKAIAIAAoAiAgAmooAgARBQAMAQsLIABBHGoQUCAAKAIgEBggACgCJBAYIAAoAjAQGCAAKAI8EBggAAu4AQEEfyAABEAgASAAKAIMTQRAQQAPCyABrSACrX5CIIhQRQRAQT0PCyAAKAIAIAEgAmwQZiIERQRAQTAPCyAEIAAoAgwiAyACbGpBACABIANrIAJsEDYaIAMgACgCBCIFIAAoAghqSQRAIAQgASADIAVrIgNrIgYgAmxqIAQgAiAFbGogAiADbBC2ARogACAGNgIECyAAIAE2AgwgACAENgIAQQAPC0G90gFBtLcBQeEAQY6JARAAAAs6AQF/IABB8JEJKAIAIgE2AgAgACABQQxrKAIAakH8kQkoAgA2AgAgAEEEahCNBxogAEE4ahDCCyAACxgAIABBhI8JNgIAIABBIGoQNBogABCVBwsdACMAQRBrIgMkACAAIAEgAhCvCyADQRBqJAAgAAuZAQECfwJAIAAQLiIEIAAoAgBBA3EgAUEAECIiAw0AAkAgBEGVgAUQywMiA0GVgAVHDQAgAxB1RQ0AIAQgACgCAEEDcSABQZWABRDoAyEDDAELIAQgACgCAEEDcSABQZWABRAiIQMLAkACQCACRQ0AIAQgAhDLAyIBIAJHDQAgARB1RQ0AIAAgAyACEKoEDAELIAAgAyACEHELC64BAQZ/IwBBEGsiAiQAIAJBCGoiAyAAEKkFGgJAIAMtAABFDQAgAkEEaiIDIAAgACgCAEEMaygCAGoQUyADELkLIQQgAxBQIAIgABC4CyEFIAAgACgCAEEMaygCAGoiBhC3CyEHIAIgBCAFKAIAIAYgByABIAQoAgAoAiARMwA2AgQgAxCnBUUNACAAIAAoAgBBDGsoAgBqQQUQqgULIAJBCGoQqAUgAkEQaiQAIAALDAAgAEEEahDCCyAACygBAn8jAEEQayICJAAgASgCACAAKAIASCEDIAJBEGokACABIAAgAxsLEAAgACABNwMIIABCADcDAAsCAAsUACAAQZSOCTYCACAAQQRqEFAgAAvzAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKE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EGsiAyQAIAMgAToADwJAAkAgACgCECICBH8gAgUgABClBwRAQX8hAgwDCyAAKAIQCyAAKAIUIgRGDQAgAUH/AXEiAiAAKAJQRg0AIAAgBEEBajYCFCAEIAE6AAAMAQsgACADQQ9qQQEgACgCJBEDAEEBRwRAQX8hAgwBCyADLQAPIQILIANBEGokACACC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEAC5QDAgN+An8CQCAAvSICQjSIp0H/D3EiBEH/D0cNACAARAAAAAAAgFZAoiIAIACjDwsgAkIBhiIBQoCAgICAgMDWgH9YBEAgAEQAAAAAAAAAAKIgACABQoCAgICAgMDWgH9RGw8LAn4gBEUEQEEAIQQgAkIMhiIBQgBZBEADQCAEQQFrIQQgAUIBhiIBQgBZDQALCyACQQEgBGuthgwBCyACQv////////8Hg0KAgICAgICACIQLIQEgBEGFCEoEQANAAkAgAUKAgICAgICgC30iA0IAUw0AIAMiAUIAUg0AIABEAAAAAAAAAACiDwsgAUIBhiEBIARBAWsiBEGFCEoNAAtBhQghBAsCQCABQoCAgICAgKALfSIDQgBTDQAgAyIBQgBSDQAgAEQAAAAAAAAAAKIPCyABQv////////8HWARAA0AgBEEBayEEIAFCgICAgICAgARUIAFCAYYhAQ0ACwsgAkKAgICAgICAgIB/gyABQoCAgICAgIAIfSAErUI0hoQgAUEBIARrrYggBEEAShuEvwviAgEFfwJAAkACQCACKAJMQQBOBEAgAUECSA0BDAILQQEhBiABQQFKDQELIAIgAigCSCICQQFrIAJyNgJIIAFBAUcNASAAQQA6AAAgAA8LIAFBAWshBCAAIQECQANAAkACQAJAIAIoAgQiAyACKAIIIgVGDQACfyADQQogBSADaxD7AiIHBEAgByACKAIEIgNrQQFqDAELIAIoAgggAigCBCIDawshBSABIAMgBSAEIAQgBUsbIgMQIBogAiACKAIEIANqIgU2AgQgASADaiEBIAcNAiAEIANrIgRFDQIgBSACKAIIRg0AIAIgBUEBajYCBCAFLQAAIQMMAQsgAhC9BSIDQQBO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AwAgA0EBaiEDDAIFIBAgNyAXIAFBA3QiGGorAwAgFCAYaisDAKKhIjc5AwAgAUEBaiEBDAELAAsACwALQcTWCigCABoCQEHnqwFB+NUKEIkBQQBIDQACQEHI1gooAgBBCkYNAEGM1gooAgAiAEGI1gooAgBGDQBBjNYKIABBAWo2AgAgAEEKOgAADAELQfjVCkEKEKQHGgsLIA0QGCAIEBhBACEBA0BBvNgKLwEAIhQgAUsEQEHQ2AorAwAhNxDVASE4IAFBA3QiACAJQaABamoiAyADKwMAIDcgOEQAAAAAAADwPyA3oSI3IDegoqCiIjc5AwAgAigCECgClAEgAGoiACA3IAArAwCgOQMAIAFBAWohAQwBCwsgBygCECIAIAAoApwBQQFqNgKcASAAKAKYASITIAtqKAIAIQ1BACEBA0AgASAURgRAQQAhAwNAIAMgFUcEQAJAIAMgDkYNAEEAIQogDSgCECgClAEgEyADQQJ0IgRqKAIAKAIQKAKUASAJQfABahDFDSE3A0AgCiAURg0BIApBA3QiASAAKAKsASIIIAtqKAIAIARqKAIAaiIRIANBA3QiEiAAKAKkASALaigCAGorAwAgCUHwAWogAWorAwAiOCA4IAAoAqABIAtqKAIAIBJqKwMAoiA3o6GiIjg5AwAgACgCqAEiEiALaigCACABaiIQIDggECsDAKA5AwAgBCAIaigCACALaigCACABaiIIKwMAITggCCARKwMAmiI5OQMAIAQgEmooAgAgAWoiASA5IDihIAErAwCgOQMAIApBAWohCgwACwALIANBAWohAwwBCwtB6NsKKAIABEBBACEBQbzYCi8BACEARAAAAAAAAAAAITgDQCAAIAFHBEAgOCAJQaABaiABQQN0aisDAJmgITggAUEBaiEBDAELCyACECEhACAJIDifOQM4IAkgADYCMCAMQdWiBCAJQTBqEDILIAUQGAwFBSAAKAKoASALaigCACABQQN0akIANwMAIAFBAWohAQwBCwALAAsgBUEBaiEFDAALAAsLQQAhAUGM2AotAAAEQEEBIAYgBkEBTBtBAWshBEG82AovAQAhBUQAAAAAAAAAACE3A0AgASAERwRAIAcoAhAiAigCmAEiCiABQQJ0IgNqKAIAIRUgAUEBaiIAIQsDQCAGIAtGBEAgACEBDAMFIAogC0EC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IDcDECAJIAIpAxg3AwgCQCACKAIIKAJYIgZFDQACQCAJKwMAIAkrAxBiDQAgCSsDCCAJKwMYYg0AIAlC/////////3c3AxggCUL/////////9/8ANwMAIAlC//////////f/ADcDCCAJQv////////93NwMQCyAGKAIIIQcDQCARIAYoAgBPDQEgC0IANwM4IAtCADcDMCALQgA3AyggC0IANwMgAkACQAJAAkACQAJAAkACQCAHKAIADhAAAAEBAgIDBAcHBQcHBwcGBwsgByAHKwMQIhwgBysDICIXoCIZOQNoIAcgBysDCCIUIAcrAxgiE6AiGjkDYCAHIBwgF6EiFzkDWCAHIBQgE6EiEzkDUCAJIAkrAwAgExApIBoQKTkDACAJIAkrAxggFxAjIBkQIzkDGCAJIAkrAwggFxApIBkQKTkDCCAJIAkrAxAgExAjIBoQIzkDEAwGCyALIAcoAgwgBygCCCAJEKQGIAcgCykDGDcDaCAHIAspAxA3A2AgByALKQMINwNYIAcgCykDADcDUAwFCyALIAcoAgwgBygCCCAJEKQGIAcgCykDGDcDaCAHIAspAxA3A2AgByALKQMINwNYIAcgCykDADcDUAwECyALIAcoAgwgBygCCCAJEKQGIAcgCykDGDcDaCAHIAspAxA3A2AgByALKQMINwNYIAcgCykDADcDUAwDCyAHQTgQxgM2AnAgBygCKBBkIQUgBygCcCICIAU2AgAgAiAHKAIYQaS/CGotAAA6ADAgCyAYOQMwIAsgEjYCICALIAsoAjhBgH9xIA5B/wBxcjYCOCANKAKIASICIAtBIGpBASACKAIAEQMAIQUgBygCcCICIAU2AgQgCyANIAIQ3wYgBysDCCETIAcoAnAiAisDKCEXIAIrAyAhFAJAAkACQAJAIAItADBB7ABrDgcAAwEDAwMCAwsgEyAUoCEWIBMhFQwCCyATIBREAAAAAAAA4D+iIhWgIRYgEyAVoSEVDAELIBMgFKEhFSATIRYLIAcrAxAhFCACKwMQIRMgByAWOQNgIAcgFTkDUCAHIBQgE6AiFDkDaCAHIBQgF6EiEzkDWCAJIAkrAxAgFRAjIBYQIzkDECAJIAkrAxggExAjIBQQIzkDGCAJIAkrAwAgFRApIBYQKTkDACAJIAkrAwggExApIBQQKTkDCCAGKAIMDQIg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IAIpAwA3A+ACIAEgBCkDQDcD2AIgASAEKQM4NwPQAiABQdADaiABQeACaiABQdACahDSBQJAIAErA4AEIAErA9ADZUUNACABKwPgAyABKwPwA2VFDQAgASsDiAQgASsD2ANlRQ0AIAErA+gDIAErA/gDZUUNAEEBIQMgBSgCKCIGQQFxBEAgBC0AUEEBcQ0BCwJAIAZBAnFFDQAgBC0AUEECcUUNACACKwMQIAIrAwChIhsgG6IgAisDGCACKwMIoSIbIBuioCAFKwMQIAUrAwChIAQrAzigIAQrAyihIhsgG6JEAAAAAAAA0D+iZSEDDAELIAUoAiAhAyAFKAIkIAEgAikDGDcDyAIgASACKQMQNwPAAiADIAFBwAJqEOUMIQYgBCgCSCEDIAQoAkwgASACKQMINwO4AiABIAIpAwA3A7ACIAMgAUGwAmoQ5QwhByAEKAJIIhFBAXQhFyAFKAIgIg5BAXQhGCARQQFrIRkgDkEBayEaQQAhA0EAIQgCQANAIAEgBiAIQQR0aiIJKQMINwOoAiABIAkpAwA3A6ACIAEgBiAIIBpqIA5vQQR0aiISKQMINwOYAiABIBIpAwA3A5ACIAFBwARqIAFBoAJqIAFBkAJqEOkMIAEgByAMQQR0aiILKQMINwOIAiABIAspAwA3A4ACIAEgByAMIBlqIBFvQQR0aiITKQMINwP4ASABIBMpAwA3A/ABIAFBsARqIAFBgAJqIAFB8AFqEOkMIAFCADcDmAQgAUIANwPoASABIAEpA8gENwPYASABIAEpA7gENwPIASABQgA3A5AEIAFCADcD4AEgASABKQPABDcD0AEgASABKQOwBDcDwAEgASsD6AEgASsD2AEiG6EgASsDwAEgASsD0AEiHKGiIAErA8gBIBuhIAErA+ABIByhoqEhHyABIBIpAwg3A7gBIAEgEikDADcDsAEgASAJKQMINwOoASABIAkpAwA3A6ABIAEgCykDCDcDmAEgASALKQMANwOQASABQbABaiABQaABaiABQZABahDoDCEVIAEgEykDCDcDiAEgASATKQMANwOAASABIAspAwg3A3ggASALKQMANwNwIAEgCSkDCDcDaCABIAkpAwA3A2AgAUGAAWogAUHwAGogAUHgAGoQ6AwhFiABIBIpAwg3A1ggASASKQMANwNQIAEgCSkDCDcDSCAB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AiAEKAIAEQAARQ0AIAIgAxC4ASACIAEgBCgCABEAAEUNACABIAIQuAEgASAAIAQoAgARAABFDQAgACABELgBCws7AQJ/IAAoAgAiAQRAIAEhAANAIAAiASgCBCIADQALIAEPCwNAIAAgACgCCCIBKAIARiABIQANAAsgAAtdAQR/IABBoM8KNgIAQej7CkEANgIAIABBBGoiAkEEaiEEIAIoAgAhAQNAIAEgBEcEQCABKAIQIgMEQCADEKUNGgsgAxAYIAEQrQEhAQwBCwsgAiACKAIEEOwHIAALHwAgAQRAIAAgASgCABDsByAAIAEoAgQQ7AcgARAYCws+AQF/IAFBgICAgARPBEAQwgQAC0H/////AyAAKAIIIAAoAgBrIgBBAXUiAiABIAEgAkkbIABB/P///wdPGwtXAQF/IANBADoAHEHIABCHASIEQQAQ+AcaIAEgBDYCACAAIAQgAygCACADKAIEEN8FQcgAEIcBIgFBABD4BxogAiABNgIAIAAgASADKAIEIAMoAgAQ3wULoQMCCH8CfCMAQRBrIgskACADKwMQIAMoAiArAxAgAysDGKAgAysDCKGiIQ8gAygCLCEMIAMoAighCCAFQQJGIQ0DQCAIIAxGBEACQCADKAI4IQwgAygCNCEIA0AgCCAMRg0BAkAgCCgCACIKKAIEIgcoAiAgAUcgBCAHRnINACAKLQAcQQFxRQ0AIAsgAUEAIAIgAiAHRiINGyICIAcgA0ECIAVBAUYgBnIiBkEBcSIOEO8HIAogCysDACIQOQMQIAogCSANGyEJAkAgAkUNACALKAIIIgdFDQAgDgRAIAohCSAQIAcrAxBjDQELIAchCQsgDyAQoCEPCyAIQQRqIQgMAAsACwUCQCAIKAIAIgooAgAiBygCICABRyAEIAdGcg0AIAotABxBAXFFDQAgCyABQQAgAiACIAdGIg4bIgIgByADQQEgBiANciIGQQFxEO8HIAogCysDACIQmjkDECALKAIIIgcgCiAJIA4bIgkgBxsgCSACGyEJIA8gEKAhDwsgCEEEaiEIDAELCyAAIAk2AgggACAPOQMAIAtBEGokAAupAgIEfwN8IAErAxAgASgCICsDECABKwMYoCABKwMIoaIhCCABKAI4IQcgASgCNCEEA0AgBCAHRgRAAkAgASgCLCEHIAEoAighBANAIAQg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NwO4BiAFIAIpAgA3A7AGIAVBsAZqIAMQGUHIAGxqKAIsQQFrQX1LDQAgAigCACAFIAIpAgg3A/gDIAUgAikCADcD8AMgBUHwA2ogAxAZQcgAbGooAjwgAigCACEAIAUgAikCCDcD6AMgBSACKQIANwPgAyAFQeADaiADEBkhAUEBa0F9TQRAIAIoAgAhBgJ/IAAgAUHIAGxqKAJAQQFGBEAgBSACKQIINwPIASAFIAIpAgA3A8ABIAYgBUHAAWogAxAZQcgAbGooAiwhACACKAIAIAUgAikCCDcDuAEgBSACKQIANwOwASAFQbABaiAEEBlByABsaiAANgIoIAIoAgAgBSACKQIINwOoASAFIAIpAgA3A6ABIAVBoAFqIAMQGUHIAGxqQX82AiwgAigCACAFIAIpAgg3A5gBIAUgAikCADcDkAEgBUGQAWogAxAZQcgAbGooAjwhACACKAIAIAUgAikCCDcDiAEgBSACKQIANwOAASAFQYABaiAEEBlByABsaiAANgIsIAIoAgAhACAFIAIpAgg3A3ggBSACKQIANwNwIAAgBUHwAGogAxAZQcgAbGooAighASAFIAIpAgg3A2ggBSACKQIANwNgIAAgBUHgAGogARAZQcgAbGogAzYCMCACKAIAIQAgBSACKQIINwNYIAUgAikCADcDUCAAIAVB0ABqIAQQGUHIAGxqKAIoIQEgBSACKQIINwNIIAUgAikCADcDQCAAIAVBQGsgARAZQcgAbGogBDYCMCACKAIAIQAgBSACKQIINwM4IAUgAikCADcDMCAAIAVBMGogBBAZQcgAbGpBLGoMAQsgBSACKQIINwOIAyAFIAIpAgA3A4ADIAYgBUGAA2ogBBAZQcgAbGpBfzYCLCACKAIAIAUgAikCCDcD+AIgBSACKQIANwPwAiAFQfACaiADEBlByABsaigCLCEAIAIoAgAgBSACKQIINwPoAiAFIAIpAgA3A+ACIAVB4AJqIAQQGUHIAGxqIAA2AiggAigCACAFIAIpAgg3A9gCIAUgAikCADcD0AIgBUHQAmogAxAZQcgAbGooAighACACKAIAIAUgAikCCDcDyAIgBSACKQIANwPAAiAFQcACaiADEBlByABsaiAANgIsIAIoAgAgBSACKQIINwO4AiAFIAIpAgA3A7ACIAVBsAJqIAMQGUHIAGxqKAI8IQAgAigCACAFIAIpAgg3A6gCIAUgAikCADcDoAIgBUGgAmogAxAZQcgAbGogADYCKCACKAIAIQAgBSACKQIINwOYAiAFIAIpAgA3A5ACIAAgBUGQAmogAxAZQcgAbGooAighASAFIAIpAgg3A4gCIAUgAikCADcDgAIgACAFQYACaiABEBlByABsaiADNgIwIAIoAgAhACAFIAIpAgg3A/gBIAUgAikCADcD8AEgACAFQfABaiADEBlByABsaigCLCEBIAUgAikCCDcD6AEgBSACKQIANwPgASAAIAVB4AFqIAEQGUHIAGxqIAM2AjAgAigCACEAIAUgAikCCDcD2AEgBSACKQIANwPQASAAIAVB0AFqIAQQGUHIAGxqQShqCygCACEBIAUgAikCCDcDKCAFIAIpAgA3AyAgACAFQSBqIAEQGUHIAGxqIAQ2AjAgAigCACAFIAIpAgg3AxggBSACKQIANwMQIAVBEGogAxAZQcgAbGpBADYCPCACKAIAIAUgAikCCDcDCCAFIAIpAgA3AwAgBSAEEBlByABsakEANgI8DAILIAAgAUHIAGxqKAIsIQAgAigCACAFIAIpAgg3A9gDIAUgAikCADcD0AMgBUHQA2ogBBAZQcgAbGogADYCKCACKAIAIAUgAikCCDcDyAMgBSACKQIANwPAAyAFQcADaiADEBlByABsakF/NgIsIAIoAgAgBSACKQIINwO4AyAFIAIpAgA3A7ADIAVBsANqIAQQGUHIAGxqQX82AiwgAigCACEAIAUgAikCCDcDqAMgBSACKQIANwOgAyAAIAVBoANqIAQQGUHIAGxqKAIoIQEgBSACKQIINwOYAyAFIAIpAgA3A5ADIAAgBUGQA2ogARAZQcgAbGogBDYCMAwBCyACKAIAIAUgAikCCDcDqAYgBSACKQIANwOgBiAFQaAGaiADEBlByABsaigCKCEGIAIoAgAhByAFIAIpAgg3A5gGIAUgAikCADcDkAYCQCAHIAVBkAZqIAYQGUHIAGxqKAIwIgdBAWtBfUsNACACKAIAIAUgAikCCDcDiAYgBSACKQIANwOABiAFQYAGaiAGEBlByABsaigCNEEBa0F9Sw0AIAIoAgAhBiAFIAIpAgg3A7gFIAUgAikCADcDsAUCQCAGIAVBsAVqIAcQGUHIAGxqKAIEQQBMDQAgAigCACAF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AEIANwMIAkACQAJAAkAgAkEBaw4DAgEDAAsgACABKQMANwMAIAAgASkDCDcDCA8LIAAgASsDADkDACAAIAErAwiaOQMIDwsgACABKwMAOQMIIAAgASsDCJo5AwAPCyAAIAErAwA5AwggACABKwMIOQMACzcBA38DQCABQQNHBEAgACABQQJ0aiICKAIAIgMEQCADEJkBGiACQQA2AgALIAFBAWohAQwBCwsLsQICCX8CfCMAQRBrIgUkACAAIAI6AEEgASsDCCEMIAAgASsDACINOQMQIAAgDDkDKCAAIAwgACsDCKE5AxggACANIAArAwCgOQMgIAAoAjAiBEEAIARBAEobIQdBDkEPIARBAWsiBhshCEENQQ8gBhshCQNAIAMgB0ZFBEACf0EAIAJFDQAaIAAtAEAEQCAJIANFDQEaQQdBBSADIAZGGwwBCyAIIANFDQAaQQtBCiADIAZGGwshBCADQQJ0IgogACgCOGooAgAgBSABKQMINwMIIAUgASkDADcDACAFIAIgBHEQ4AkgACgCOCAKaigCACEEAkAgAC0AQARAIAEgASsDACAEKwMAoDkDAAwBCyABIAErAwggBCsDCKE5AwgLIANBAWohAwwBCwsgBUEQaiQAC/MCAgV8A38jAEEgayIIJAAgAUEIaisDACEFIAArAwAhBCABKwMAIQYgACABKQMANwMAIAArAwghAyAAIAEpAwg3AwggBSADoSEDIAYgBKEhBAJAIAINACAAKAI0IgFFDQAgASAEIAErAyigOQMoIAEgAyABKwMwoDkDMAsCQCAAKAIwIglFDQAgBCADIAAtAEAbIAm3oyEHQQAhAQNAIAEgCU4NAQJ/IAcgAbiiIgOZRAAAAAAAAOBBYwRAIAOqDAELQYCAgIB4CyEJAn8gByABQQFqIgq4oiIDmUQAAAAAAADgQWMEQCADqgwBC0GAgICAeAsgCWshCSAAKAI4IAFBAnRqKAIAIQECfCAALQBABEAgBSEEIAErAwAgCbegDAELIAErAwggCbegIQQgBgshAyAIIAQ5AxggCCAIKQMYNwMIIAggAzkDECAIIAgpAxA3AwAgASAIIAIQ4QkgACgCMCEJIAohAQwACwALIAhBIGokAAuMAwIEfAJ/IwBBIGsiByQAAkAgAigCNCIIBEAgCCsDGCIERAAAAAAAAAAAZCAIKwMg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IANBtewDIAEoAiwQYyIDRyADQQBOcQ0CIANBAEwNACAAECgEQCADQYACTw0EIAQEQCAAEHkgAUEQaiADECAaCyAAIAAtAA8gA2o6AA8gABAlQRBJDQFBibQDQZ38AEHqAUGmHxAAAAsgBA0EIAAgACgCBCADajYCBAsgAUEwaiQADAQLQbykA0Gd/ABB3QFBph8QAAALQcucA0Gd/ABB4gFBph8QAAALQfDMAUGd/ABB5QFBph8QAAALQdadAUGd/ABB7AFBph8QAAALAkAgABAoBEAgABAlQQ9GDQELIAJBIGoiABAlIAAQTk8EQCAAQQEQvQELIAJBIGoiABAlIQEgABAoBEAgACABakEAOgAAIAIgAi0AL0EBajoALyAAECVBEEkNAUGJtANBnfwAQa8CQfexARAAAAsgAigCICABakEAOgAAIAIgAigCJEEBajYCJAsCQCACQSBqECgEQCACQQA6AC8MAQsgAkEANgIkCyACQSBqIgAQKCEBIAAgAigCICABGyIAEKEGBEAgAiAANgIAQcg0IAIQKgsgAi0AL0H/AUYEQCACKAIgEBgLQYUvEIsKIQULIAJBMGokACAFDwtBgaQDQZi3AUHwBUHSiQEQAAALQcrVAUGYtwFB8QVB0okBEAAAC78CAQZ/IAAoAgghBSAAKAIMIQYDQCAAKAIAIARLBEAgBSAAKAIEIARsaiEBIAYEQCABIAYRAQALAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEECaw4NAAABAQIDBAQGBwgFBQkLIAEoAgwQGAwICyABKAIMEBgMBwsgASgCDBAYDAYLIAEoAigQGAwFCyABKAIIEBgMBAtBACECAkACQAJAAkAgASgCCEEBaw4CAAEDCwNAIAEoAjQhAyACIAEoAjBODQIgAyACQQR0aigCCBAYIAJBAWohAgwACwALA0AgASgCRCEDIAIgASgCQE4NASADIAJBBHRqKAIIEBggAkEBaiECDAALAAsgAxAYCwwDCyABKAIQEBgMAgsgASgCCBAYDAELIAEoAigQGAsgBEEBaiEEDAELCyAFEBggABAYC98BAQN/IAAQJSAAEE5PBEAgABBOIgJBAWoiAyACQQF0QYAIIAIbIgQgAyAESxshAyAAECUhBAJAIAAtAA9B/wFGBEAgACgCACACIANBARCGBSECDAELIANB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KAIIGiAEBEAgAiAJIAQQqwILIAYEQCACIARqIAcgBhCrAgsgAyAEIAVqIgprIQcgAyAKRwRAIAIgBGogBmogBCAJaiAFaiAHEKsCCyABQQpHBEAgCRChBQsgACACEPsBIAAgCCgCCBD6ASAAIAQgBmogB2oiABC+ASAIQQA6AAwgACACaiAIQQxqENIBIAhBEGokAA8LEMoBAAsWACAAIAEgAkKAgICAgICAgIB/ELAFCwkAIAAQZzYCAAsjAQJ/IAAhAQNAIAEiAkEEaiEBIAIoAgANAAsgAiAAa0ECdQsPACAAIAAoAgBBBGs2AgALCgAgACgCAEEEawsHACAAKAIECy0BAX8jAEEQayICJAACQCAAIAFGBEAgAEEAOgB4DAELIAEQngQLIAJBEGokAAsTACAAEIwFKAIAIAAoAgBrQQJ1CywBAX8gACgCBCECA0AgASACRwRAIAAQnQMaIAJBBGshAgwBCwsgACABNgIECwkAIABBADYCAAtJAQF/IwBBEGsiAyQAAkACQCACQR5LDQAgAS0AeEEBcQ0AIAFBAToAeAwBCyACEMcKIQELIANBEGokACAAIAI2AgQgACABNgIAC0ABAX8jAEEQayIBJAAgABCdAxogAUH/////AzYCDCABQf////8HNgIIIAFBDGogAUEIahCtCygCACABQRBqJAALCwAgAEEANgIAIAALNwEBfyMAQRBrIgMkACADIAEQ7QI2AgwgAyACEO0CNgIIIAAgA0EMaiADQQhqEKIFIANBEGokAAtOAQF/IwBBEGsiAyQAIAMgATYCCCADIAA2AgwgAyACNgIEQQAhASADQQRqIgAgA0EMahCfBUUEQCAAIANBCGoQnwUhAQsgA0EQaiQAIAELNAEBfyMAQRBrIgMkACAAECQaIAAgAhCfAyADQQA6AA8gASACaiADQQ9qENIBIANBEGokAAtnAQJ/IwBBEGsiAyQAA0ACQCABLQAAIgJB3ABHBEAgAgRAIALAIgJBAE4EQCAAIAIQZQwDCyADIAI2AgAgAEHO3wAgAxAeDAILIANBEGokAA8LIABB98cBEBsaCyABQQFqIQEMAAsACxwAIABB/////wNLBEAQkAEACyAAQQJ0QQQQogsLCQAgABD1BhAYCxUAIABBgLoJNgIAIABBEGoQNBogAAsVACAAQdi5CTYCACAAQQxq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ACABKAIEIgIgACACSSIDGxDpASIBDQBBASEBIAAgAksNAEF/QQAgAxshAQsgAQsMACAAQQFBLRCACxoLDAAgAEEBQS0QhAsaCwoAIAEgAGtBAnULHAEBfyAALQAAIQIgACABLQAAOgAAIAEgAjoAAAtlAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPcKCyACIAEgASACKAIAEKMLIAZBDGogAyAAKAIAEJsLIAFqNgIAIAZBEGokAAtCACABIAIgAyAEQQQQpAIhASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASRsgAUHFAEgbQewOazYCAAsLQAAgAiADIABBCGogACgCCCgCBBECACIAIABBoAJqIAUgBEEAEJwFIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtAACACIAMgAEEIaiAAKAIIKAIAEQIAIgAgAEGoAWogBSAEQQAQnAUgAGsiAEGnAUwEQCABIABBDG1BB282AgALC0IAIAEgAiADIARBBBClAiEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABJGyABQcUASBtB7A5rNgIACwtAACACIAMgAEEIaiAAKAIIKAIEEQIAIgAgAEGgAmogBSAEQQAQngUgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0AAIAIgAyAAQQhqIAAoAggoAgARAgAiACAAQagBaiAFIARBABCeBSAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLBABBAgveAQEFfyMAQRBrIgckACMAQRBrIgMkACAAIQQCQCABQff///8DTQRAAkAgARCNBQRAIAQgARDTAQwBCyADQQhqIAEQ0ANBAWoQzwMgAygCDBogBCADKAIIIgAQ+wEgBCADKAIMEPoBIAQgARC+AQsjAEEQayIFJAAgBSACNgIMIAAhAiABIQYDQCAGBEAgAiAFKAIMNgIAIAZBAWshBiACQQRqIQIMAQsLIAVBEGokACADQQA2AgQgACABQQJ0aiADQQRqENsBIANBEGokAAwBCxDKAQALIAdBEGokACAEC8AFAQ5/IwBBEGsiCyQAIAYQywEhCiALQQRqIAYQ2QMiDhDIASAFIAM2AgACQAJAIAAiBy0AACIGQStrDgMAAQABCyAKIAbAENEBIQYgBSAFKAIAIghBBGo2AgAgCCAGNgIAIABBAWohBwsCQAJAIAIgByIGa0EBTA0AIAYtAABBMEcNACAGLQABQSByQfgARw0AIApBMBDRASEIIAUgBSgCACIHQQRqNgIAIAcgCDYCACAKIAYsAAEQ0QEhCCAFIAUoAgAiB0EEajYCACAHIAg2AgAgBkECaiIHIQYDQCACIAZNDQIgBiwAABBnIRIQngtFDQIgBkEBaiEGDAALAAsDQCACIAZNDQEgBiwAABBnIRQQnQtFDQEgBkEBaiEGDAALAAsCQCALQQRqEPcBBEAgCiAHIAYgBSgCABDIAiAFIAUoAgAgBiAHa0ECdGo2AgAMAQsgByAGEKADIA4QyQEhDyAHIQgDQCAGIAhNBEAgAyAHIABrQQJ0aiAFKAIAEJcFBQJAIAtBBGoiDSAMEEIsAABBAEwNACAJIA0gDBBCLAAARw0AIAUgBSgCACIJQQRqNgIAIAkgDzYCACAMIAwgDRAkQQFrSWohDEEAIQkLIAogCCwAABDRASENIAUgBSgCACIQQQRqNgIAIBAgDTYCACAIQQFqIQggCUEBaiEJDAELCwsCQAJAA0AgAiAGTQ0BIAZBAWohCCAGLAAAIgZBLkcEQCAKIAYQ0QEhBiAFIAUoAgAiB0EEajYCACAHIAY2AgAgCCEGDAELCyAOEPYBIQYgBSAFKAIAIgdBBGoiCTYCACAHIAY2AgAMAQsgBSgCACEJIAYhCAsgCiAIIAIgCRDIAiAFIAUoAgAgAiAIa0ECdGoiBTYCACAEIAUgAyABIABrQQJ0aiABIAJGGzYCACALQQRqEDQaIAtBEGokAAvmAwEIfyMAQRBrIgskACAGEMsBIQogC0EEaiIHIAYQ2QMiBhDIAQJAIAcQ9wEEQCAKIAAgAiADEMgCIAUgAyACIABrQQJ0aiIGNgIADAELIAUgAzYCAAJAAkAgACIHLQAAIghBK2sOAwABAAELIAogCMAQ0QEhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgAEEBaiEHCwJAIAIgB2tBAkgNACAHLQAAQTBHDQAgBy0AAUEgckH4AEcNACAKQTAQ0QEhCCAFIAUoAgAiCUEEajYCACAJIAg2AgAgCiAHLAABENEBIQggBSAFKAIAIglBBGo2AgAgCSAINgIAIAdBAmohBwsgByACEKADQQAhCSAGEMkBIQ1BACEIIAchBgN/IAIgBk0EfyADIAcgAGtBAnRqIAUoAgAQlwUgBSgCAAUCQCALQQRqIgwgCBBCLQAARQ0AIAkgDCAIEEIsAABHDQAgBSAFKAIAIglBBGo2AgAgCSANNgIAIAggCCAMECRBAWtJaiEIQQAhCQsgCiAGLAAAENEBIQwgBSAFKAIAIg5BBGo2AgAgDiAMNgIAIAZBAWohBiAJQQFqIQkMAQsLIQYLIAQgBiADIAEgAGtBAnRqIAEgAkYbNgIAIAtBBGoQNBogC0EQaiQACw8AIAAoAgwaIABBADYCDAsfAQF/IwBBEGsiAyQAIAAgASACELIKIANBEGokACAAC7AFAQ5/IwBBEGsiCyQAIAYQzAEhCSALQQRqIAYQ2wMiDhDIASAFIAM2AgACQAJAIAAiBy0AACIGQStrDgMAAQABCyAJIAbAEJsBIQYgBSAFKAIAIghBAWo2AgAgCCAGOgAAIABBAWohBwsCQAJAIAIgByIGa0EBTA0AIAYtAABBMEcNACAGLQABQSByQfgARw0AIAlBMBCbASEIIAUgBSgCACIHQQFqNgIAIAcgCDoAACAJIAYsAAEQmwEhCCAFIAUoAgAiB0EBajYCACAHIAg6AAAgBkECaiIHIQYDQCACIAZNDQIgBiwAABBnIRIQngtFDQIgBkEBaiEGDAALAAsDQCACIAZNDQEgBiwAABBnIRQQnQtFDQEgBkEBaiEGDAALAAsCQCALQQRqEPcBBEAgCSAHIAYgBSgCABD1AiAFIAUoAgAgBiAHa2o2AgAMAQsgByAGEKADIA4QyQEhDyAHIQgDQCAGIAhNBEAgAyAHIABraiAFKAIAEKADBQJAIAtBBGoiDSAMEEIsAABBAEwNACAKIA0gDBBCLAAARw0AIAUgBSgCACIKQQFqNgIAIAogDzoAACAMIAwgDRAkQQFrSWohDEEAIQoLIAkgCCwAABCbASENIAUgBSgCACIQQQFqNgIAIBAgDToAACAIQQFqIQggCkEBaiEKDAELCwsDQAJAAkAgAiAGTQRAIAYhCAwBCyAGQQFqIQggBiwAACIGQS5HDQEgDhD2ASEGIAUgBSgCACIHQQFqNgIAIAcgBjoAAAsgCSAIIAIgBSgCABD1AiAFIAUoAgAgAiAIa2oiBTYCACAEIAUgAyABIABraiABIAJGGzYCACALQQRqEDQaIAtBEGokAA8LIAkgBhCbASEGIAUgBSgCACIHQQFqNgIAIAcgBjoAACAIIQYMAAsAC90DAQh/IwBBEGsiCyQAIAYQzAEhCiALQQRqIgcgBhDbAyIGEMgBAkAgBxD3AQRAIAogACACIAMQ9QIgBSADIAIgAGtqIgY2AgAMAQsgBSADNgIAAkACQCAAIgctAAAiCEEraw4DAAEAAQsgCiAIwBCbASEHIAUgBSgCACIIQQFqNgIAIAggBzoAACAAQQFqIQcLAkAgAiAHa0ECSA0AIActAABBMEcNACAHLQABQSByQfgARw0AIApBMBCbASEIIAUgBSgCACIJQQFqNgIAIAkgCDoAACAKIAcsAAEQmwEhCCAFIAUoAgAiCUEBajYCACAJIAg6AAAgB0ECaiEHCyAHIAIQoANBACEJIAYQyQEhDUEAIQggByEGA38gAiAGTQR/IAMgByAAa2ogBSgCABCgAyAFKAIABQJAIAtBBGoiDCAIEEItAABFDQAgCSAMIAgQQiwAAEcNACAFIAUoAgAiCUEBajYCACAJIA06AAAgCCAIIAwQJEEBa0lqIQhBACEJCyAKIAYsAAAQmwEhDCAFIAUoAgAiDkEBajYCACAOIAw6AAAgBkEBaiEGIAlBAWohCQwBCwshBgsgBCAGIAMgASAAa2ogASACRhs2AgAgC0EEahA0GiALQRBqJAALlQIBB38jAEEgayIBJAACQAJAAkAgAARAA0AgAyAAKAIIQQF2Tw0CIAEgACkCCDcDGCABIAApAgA3AxAgAUEQaiADEBkhAiAAKAIIIQQgASAAKQIINwMIIAEgACkCADcDACABIAQgA0F/c2oQGSEFIAAgAkEEEN4BIQQgACAFQQQQ3gEhBSAERQ0DQQAhAiAFRQ0EA0AgAkEERwRAIAIgBGoiBi0AACEHIAYgAiAFaiIGLQAAOgAAIAYgBzoAACACQQFqIQIMAQsLIANBAWohAwwACwALQb3SAUG0twFB2gJBicQBEAAACyABQSBqJAAPC0HA1QFBtLcBQc4CQducARAAAAtBgNUBQbS3AUHPAkHbnAEQAAALmgMBAn8jAEHQAmsiACQAIAAgAjYCyAIgACABNgLMAiADEKgCIQYgAyAAQdABahClBCEHIABBxAFqIAMgAEHEAmoQpAQgAEG4AWoQVCIBIAEQVRBAIAAgAUEAEEIiAjYCtAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHMAmogAEHIAmoQWg0AIAAoArQBIAEQJCACakYEQCABECQhAyABIAEQJEEBdBBAIAEgARBVEEAgACADIAFBABBCIgJqNgK0AQsgAEHMAmoiAxCBASAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxDYAw0AIAMQlAEaDAELCwJAIABBxAFqECRFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEIAYQjws2AgAgAEHEAWogAEEQaiAAKAIMIAQQsQEgAEHMAmogAEHIAmoQWgRAIAQgBCgCAEECcjYCAAsgACgCzAIgARA0GiAAQcQBahA0GiAAQdACaiQAC6gCAQR/IwBBMGsiAyQAAkACQAJAIAEoAgwiAkEAIAKtQgKGQiCIpxtFBEAgAkEEEEciBCACRXJFDQEgACACNgIMIABCADcCBCAAIAQ2AgBBACEEQQAhAgNAIAIgASgCCE8NAyADIAEpAgg3AyggAyABKQIANwMgIAEgA0EgaiACEBkQlQshBCAAIAAoAghBBBDeASAAKAIIIAAoAgxPDQQgBEEEECAaIAAgACgCCEEBaiIENgIIIAJBAWohAgwACwALIANBBDYCBCADIAI2AgBBqPMIKAIAQbTnAyADEB8aECwACyADIAJBAnQ2AhBBqPMIKAIAQYPnAyADQRBqEB8aECwACyAAIARBBBDeARogA0EwaiQADwtBwAxBtLcBQZECQYDCARAAAAtEAQF/IwBBEGsiAyQAIAMgATYCDCADIAI2AgggA0EEaiADQQxqEI4CIABBmN0AIAMoAggQyQshABCNAiADQRBqJAAgAAuxAgIEfgV/IwBBIGsiCCQAAkACQAJAIAEgAkcEQEGQhgsoAgAhDEGQhgtBADYCACMAQRBrIgkkABBnGiMAQRBrIgokACMAQRBrIgskACALIAEgCEEcakECEJwHIAspAwAhBCAKIAspAwg3AwggCiAENwMAIAtBEGokACAKKQMAIQQgCSAKKQMINwMIIAkgBDcDACAKQRBqJAAgCSkDACEEIAggCSkDCDcDECAIIAQ3AwggCUEQaiQAIAgpAxAhBCAIKQMIIQVBkIYLKAIAIgFFDQEgCCgCHCACRw0CIAUhBiAEIQcgAUHEAEcNAwwCCyADQQQ2AgAMAgtBkIYLIAw2AgAgCCgCHCACRg0BCyADQQQ2AgAgBiEFIAchBAsgACAFNwMAIAAgBDcDCCAIQSBqJAALnwECAn8BfCMAQRBrIgMkAAJAAkACQCAAIAFHBEBBkIYLKAIAIQRBkIYLQQA2AgAQZxogACADQQxqEOABIQUCQEGQhgsoAgAiAARAIAMoAgwgAUYNAQwDC0GQhgsgBDYCACADKAIMIAFHDQIMBAsgAEHEAEcNAwwCCyACQQQ2AgAMAgtEAAAAAAAAAAAhBQsgAkEENgIACyADQRBqJAAgBQu8AQIDfwF9IwBBEGsiAyQAAkACQAJAIAAgAUcEQEGQhgsoAgAhBUGQhgtBADYCABBnGiMAQRBrIgQkACAEIAAgA0EMakEAEJwHIAQpAwAgBCkDCBCrBSEGIARBEGokAAJAQZCGCygCACIABEAgAygCDCABRg0BDAMLQZCGCyAFNgIAIAMoAgwgAUcNAgwECyAAQcQARw0DDAILIAJBBDYCAAwCC0MAAAAAIQYLIAJBBDYCAAsgA0EQaiQAIAYLwwECA38BfiMAQRBrIgQkAAJ+AkACQCAAIAFHBEACQAJAIAAtAAAiBUEtRw0AIABBAWoiACABRw0ADAELQZCGCygCACEGQZCGC0EANgIAEGcaIAAgBEEMaiADEPIGIQcCQEGQhgsoAgAiAARAIAQoAgwgAUcNASAAQcQARg0EDAULQZCGCyAGNgIAIAQoAgwgAUYNBAsLCyACQQQ2AgBCAAwCCyACQQQ2AgBCfwwBC0IAIAd9IAcgBUEtRhsLIARBEGokAAvUAQIDfwF+IwBBEGsiBCQAAn8CQAJAAkAgACABRwRAAkACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNAAwBC0GQhgsoAgAhBkGQhgtBADYCABBnGiAAIARBDGogAxDyBiEHAkBBkIYLKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBQwEC0GQhgsgBjYCACAEKAIMIAFGDQMLCwsgAkEENgIAQQAMAwsgB0L/////D1gNAQsgAkEENgIAQX8MAQtBACAHpyIAayAAIAVBLUYbCyAEQRBqJAALjwMBAX8jAEGAAmsiACQAIAAgAjYC+AEgACABNgL8ASADEKgCIQYgAEHEAWogAyAAQfcBahCmBCAAQbgBahBUIgEgARBVEEAgACABQQAQQiICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahBbDQAgACgCtAEgARAkIAJqRgRAIAEQJCEDIAEgARAkQQF0EEAgASABEFUQQCAAIAMgAUEAEEIiAmo2ArQBCyAAQfwBaiIDEIIBIAYgAiAAQbQBaiAAQQhqIAAsAPcBIABBxAFqIABBEGogAEEMakHgrgkQ2gMNACADEJUBGgwBCwsCQCAAQcQBahAkRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGEI8LNgIAIABBxAFqIABBEGogACgCDCAEELEBIABB/AFqIABB+AFqEFsEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAEQNBogAEHEAWoQNBogAEGAAmokAAvZAQIDfwF+IwBBEGsiBCQAAn8CQAJAAkAgACABRwRAAkACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNAAwBC0GQhgsoAgAhBkGQhgtBADYCABBnGiAAIARBDGogAxDyBiEHAkBBkIYLKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBQwEC0GQhgsgBjYCACAEKAIMIAFGDQMLCwsgAkEENgIAQQAMAwsgB0L//wNYDQELIAJBBDYCAEH//wMMAQtBACAHpyIAayAAIAVBLUYbCyAEQRBqJABB//8DcQu3AQIBfgJ/IwBBEGsiBSQAAkACQCAAIAFHBEBBkIYLKAIAIQZBkIYLQQA2AgAQZxogACAFQQxqIAMQtgohBAJAQZCGCygCACIABEAgBSgCDCABRw0BIABBxABGDQMMBAtBkIYLIAY2AgAgBSgCDCABRg0DCwsgAkEENgIAQgAhBAwBCyACQQQ2AgAgBEIAVQRAQv///////////wAhBAwBC0KAgICAgICAgIB/IQQLIAVBEGokACAEC8ABAgJ/AX4jAEEQayIEJAACfwJAAkAgACABRwRAQZCGCygCACEFQZCGC0EANgIAEGcaIAAgBEEMaiADELYKIQYCQEGQhgsoAgAiAARAIAQoAgwgAUcNASAAQcQARg0EDAMLQZCGCyAFNgIAIAQoAgwgAUYNAgsLIAJBBDYCAEEADAILIAZCgICAgHhTIAZC/////wdVcg0AIAanDAELIAJBBDYCAEH/////ByAGQgBVDQAaQYCAgIB4CyAEQRBqJAALCgAgASAAa0EMbQtBAAJAIAAEQCAAKAIAIgAgAUVyRQ0BIAAgAUECdGoPC0G90gFBtLcBQRFB3hoQAAALQZ2aA0G0twFBEkHeGhAAAAuwAQEDfwJAIAEgAhDqCiEEIwBBEGsiAyQAIARB9////wNNBEACQCAEEI0FBEAgACAEENMBIAAhBQwBCyADQQhqIAQQ0ANBAWoQzwMgAygCDBogACADKAIIIgUQ+wEgACADKAIMEPoBIAAgBBC+AQsDQCABIAJHBEAgBSABENsBIAVBBGohBSABQQRqIQEMAQsLIANBADYCBCAFIANBBGoQ2wEgA0EQaiQADAELEMoBAAsLMQEBf0HkiAsoAgAhASAABEBB5IgLQcSGCyAAIABBf0YbNgIAC0F/IAEgAUHEhgtGGwufCAEFfyABKAIAIQQCQAJAAkACQAJAAkACfwJAAkACQAJAIANFDQAgAygCACIGRQ0AIABFBEAgAiEDDAQLIANBADYCACACIQMMAQsCQEHkiAsoAgAoAgBFBEAgAEUNASACRQ0LIAIhBgNAIAQsAAAiAwRAIAAgA0H/vwNxNgIAIABBBGohACAEQQFqIQQgBkEBayIGDQEMDQsLIABBADYCACABQQA2AgAgAiAGaw8LIAIhAyAARQ0CQQEhBQwBCyAEED8PCwNAAkACQAJAAn8CQCAFRQRAIAQtAAAiBUEDdiIHQRBrIAcgBkEadWpyQQdLDQogBEEBaiEHIAVBgAFrIAZBBnRyIgVBAEgNASAHDAILIANFDQ4DQCAELQAAIgVBAWtB/gBLBEAgBSEGDAYLIARBA3EgA0EFSXJFBEACQANAIAQoAgAiBkGBgoQIayAGckGAgYKEeHENASAAIAZB/wFxNgIAIAAgBC0AATYCBCAAIAQtAAI2AgggACAELQADNgIMIABBEGohACAEQQRqIQQgA0EEayIDQQRLDQALIAQtAAAhBgsgBkH/AXEiBUEBa0H+AEsNBgsgACAFNgIAIABBBGohACAEQQFqIQQgA0EBayIDDQALDA4LIActAABBgAFrIgdBP0sNASAHIAVBBnQiCHIhBSAEQQJqIgcgCEEATg0AGiAHLQAAQYABayIHQT9LDQEgByAFQQZ0ciEFIARBA2oLIQQgACAFNgIAIANBAWshAyAAQQRqIQAMAQtBkIYLQRk2AgAgBEEBayEEDAkLQQEhBQwBCyAFQcIBayIFQTJLDQUgBEEBaiEEIAVBAnRBwIwJaigCACEGQQAhBQwACwALQQEMAQtBAAshBQNAIAVFBEAgBC0AAEEDdiIFQRBrIAZBGnUgBWpyQQdLDQICfyAEQQFqIgUgBkGAgIAQcUUNABogBSwAAEFATgRAIARBAWshBAwGCyAEQQJqIgUgBkGAgCBxRQ0AGiAFLAAAQUBOBEAgBEEBayEEDAYLIARBA2oLIQQgA0EBayEDQQEhBQwBCwNAAkAgBEEDcSAELQAAIgZBAWtB/gBLcg0AIAQoAgAiBkGBgoQIayAGckGAgYKEeHENAANAIANBBGshAyAEKAIEIQYgBEEEaiEEIAYgBkGBgoQIa3JBgIGChHhxRQ0ACwsgBkH/AXEiBUEBa0H+AE0EQCADQQFrIQMgBEEBaiEEDAELCyAFQcIBayIFQTJLDQIgBEEBaiEEIAVBAnRBwIwJaigCACEGQQAhBQwACwALIARBAWshBCAGDQEgBC0AACEGCyAGQf8BcQ0AIAAEQCAAQQA2AgAgAUEANgIACyACIANrDwtBkIYLQRk2AgAgAEUNAQsgASAENgIAC0F/DwsgASAENgIAIAILDgAgABCfCwRAIAAQGAsLOAAgAEHQD2sgACAAQZPx//8HShsiAEEDcQRAQQAPCyAAQewOaiIAQeQAbwRAQQEPCyAAQZADb0UL7xICD38EfiMAQYABayIIJAAgAQRAAn8DQAJAAn8gAi0AACIFQSVHBEAgCSAFRQ0EGiAAIAlqIAU6AAAgCUEBagwBC0EAIQVBASEHAkACQAJAIAItAAEiBkEtaw4EAQICAQALIAZB3wBHDQELIAYhBSACLQACIQZBAiEHC0EAIQ4CQAJ/IAIgB2ogBkH/AXEiEkErRmoiDSwAAEEwa0EJTQRAIA0gCEEMakEKEKsEIQIgCCgCDAwBCyAIIA02AgxBACECIA0LIgctAAAiBkHDAGsiCkEWS0EBIAp0QZmAgAJxRXINACACIg4NACAHIA1HIQ4LIAZBzwBGIAZBxQBGcgR/IActAAEhBiAHQQFqBSAHCyECIAhBEGohByAFIQ1BACEFIwBB0ABrIgokAEGoEiEMQTAhEEGogAghCwJAIAgCfwJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACfgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBsAiBkElaw5WIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQEDBCctBwgJCi0tLQ0tLS0tEBIUFhgXHB4gLS0tLS0tAAImBgUtCAItCy0tDA4tDy0lERMVLRkbHR8tCyADKAIYIgVBBk0NIgwqCyADKAIYIgVBBksNKSAFQYeACGoMIgsgAygCECIFQQtLDSggBUGOgAhqDCELIAMoAhAiBUELSw0nIAVBmoAIagwgCyADNAIUQuwOfELkAH8hFAwjC0HfACEQCyADNAIMIRQMIQtBkbEBIQwMHwsgAzQCFCIVQuwOfCEUAkAgAygCHCIFQQJMBEAgFCAVQusOfCADEIkHQQFGGyEUDAELIAVB6QJJDQAgFULtDnwgFCADEIkHQQFGGyEUCyAGQecARg0ZDCALIAM0AgghFAweC0ECIQUgAygCCCIGRQRAQgwhFAwgCyAGrCIUQgx9IBQgBkEMShshFAwfCyADKAIcQQFqrCEUQQMhBQweCyADKAIQQQFqrCEUDBsLIAM0AgQhFAwaCyAIQQE2AnxBkoAFIQUMHgtBp4AIQaaACCADKAIIQQtKGwwUC0Hw0AEhDAwWC0EAIQtBACERIwBBEGsiDyQAIAM0AhQhFAJ+IAMoAhAiDEEMTwRAIAwgDEEMbSIGQQxsayIFQQxqIAUgBUEASBshDCAGIAVBH3VqrCAUfCEUCyAPQQxqIQYgFEICfUKIAVgEQCAUpyILQcQAa0ECdSEFAkAgBgJ/IAtBA3FFBEAgBUEBayEFIAZFDQJBAQwBCyAGRQ0BQQALNgIACyALQYDnhA9sIAVBgKMFbGpBgNav4wdqrAwBCyAUQuQAfSIUIBRCkAN/IhZCkAN+fSIVQj+HpyAWp2ohEwJAAkACQCAVpyIFQZADaiAFIBVCAFMbIgUEfwJ/IAVByAFOBEAgBUGsAk8EQEEDIQsgBUGsAmsMAgtBAiELIAVByAFrDAELIAVB5ABrIAUgBUHjAEoiCxsLIgUNAUEABUEBCyEFIAYNAQwCCyAFQQJ2IREgBUEDcUUhBSAGRQ0BCyAGIAU2AgALIBRCgOeED34gESALQRhsIBNB4QBsamogBWusQoCjBX58QoCqusMDfAshFCAMQQJ0QbCTCWooAgAiBUGAowVqIAUgDygCDBsgBSAMQQFKGyEFIAMoAgwhBiADNAIIIRUgAzQCBCEWIAM0AgAgD0EQaiQAIBQgBax8IAZBAWusQoCjBX58IBVCkBx+fCAWQjx+fHwgAzQCJH0MCAsgAzQCACEUDBULIAhBATYCfEGUgAUhBQwZC0HvzgEhDAwSCyADKAIYIgVBByAFG6wMBAsgAygCHCADKAIYa0EHakEHbq0hFAwRCyADKAIcIAMoAhhBBmpBB3BrQQdqQQdurSEUDBALIAMQiQetIRQMDwsgAzQCGAshFEEBIQUMDwtBqYAIIQsMCgtBqoAIIQsMCQsgAzQCFELsDnxC5ACBIhQgFEI/hyIUhSAUfSEUDAoLIAM0AhQiFULsDnwhFCAVQqQ/Uw0KIAogFDcDMCAIIAdB5ABB76UBIApBMGoQpgE2AnwgByEFDA4LIAMoAiBBAEgEQCAIQQA2AnxBlYAFIQUMDgsgCiADKAIkIgVBkBxtIgZB5ABsIAUgBkGQHGxrwUE8bcFqNgJAIAggB0HkAEGIpgEgCkFAaxCmATYCfCAHIQUMDQsgAygCIEEASARAIAhBADYCfEGVgAUhBQwNCyADKAIoEOELDAsLIAhBATYCfEGuqwMhBQwLCyAUQuQAgSEUDAULIAVBgIAIcgsgBBCcCwwHC0GrgAghCwsgCyAEEJwLIQwLIAggB0HkACAMIAMgBBCbCyIFNgJ8IAdBACAFGyEFDAULQQIhBQwBC0EEIQULAkAgDSAQIA0bIgZB3wBHBEAgBkEtRw0BIAogFDcDECAIIAdB5ABB8KUBIApBEGoQpgE2AnwgByEFDAQLIAogFDcDKCAKIAU2AiAgCCAHQeQAQemlASAKQSBqEKYBNgJ8IAchBQwDCyAKIBQ3AwggCiAFNgIAIAggB0HkAEHipQEgChCmATYCfCAHIQUMAgtB1Z4DCyIFED82AnwLIApB0ABqJAAgBSIHRQ0BAkAgDkUEQCAIKAJ8IQUMAQsCfwJAAkAgBy0AACIGQStrDgMBAAEACyAIKAJ8DAELIActAAEhBiAHQQFqIQcgCCgCfEEBawshBQJAIAZB/wFxQTBHDQADQCAHLAABIgZBMGtBCUsNASAHQQFqIQcgBUEBayEFIAZBMEYNAAsLIAggBTYCfEEAIQYDQCAGIg1BAWohBiAHIA1qLAAAQTBrQQpJDQALIA4gBSAFIA5JGyEGAkAgACAJaiADKAIUQZRxSAR/QS0FIBJBK0cNASAGIAVrIA1qQQNBBSAIKAIMLQAAQcMARhtJDQFBKws6AAAgBkEBayEGIAlBAWohCQsgASAJTSAFIAZPcg0AA0AgACAJakEwOgAAIAlBAWohCSAGQQFrIgYgBU0NASABIAlLDQALCyAIIAUgASAJayIGIAUgBkkbIgU2AnwgACAJaiAHIAUQIBogCCgCfCAJagshCSACQQFqIQIgASAJSw0BCwsgAUEBayAJIAEgCUYbIQlBAAshBiAAIAlqQQA6AAALIAhBgAFqJAAgBgu+AQECfyAAQQ5GBEBB4PABQcLXASABKAIAGw8LIABB//8DcSICQf//A0cgAEEQdSIDQQVKckUEQCABIANBAnRqKAIAIgBBCGpB99wBIAAbDwtBlYAFIQACQAJ/AkACQAJAIANBAWsOBQABBAQCBAsgAkEBSw0DQeCTCQwCCyACQTFLDQJB8JMJDAELIAJBA0sNAUGwlgkLIQAgAkUEQCAADwsDQCAALQAAIABBAWohAA0AIAJBAWsiAg0ACwsgAAsKACAAQTBrQQpJCxcAIABBMGtBCkkgAEEgckHhAGtBBklyCycAIABBAEcgAEGI8ghHcSAAQaDyCEdxIABB4J4LR3EgAEH4ngtHcQssAQF/IAAoAgAiAQRAIAEQtAtBfxDJAkUEQCAAKAIARQ8LIABBADYCAAtBAQssAQF/IAAoAgAiAQRAIAEQvQtBfxDJAkUEQCAAKAIARQ8LIABBADYCAAtBAQuJAgEEfyABEKULBEBBBCABIAFBBE0bIQFBASAAIABBAU0bIQADQAJAIAAgACABakEBa0EAIAFrcSICIAAgAksbIQVBACEEIwBBEGsiAyQAAkAgAUEDcQ0AIAUgAXANAAJ/AkBBMAJ/IAFBCEYEQCAFEE0MAQtBHCEEIAFBA3EgAUEESXINASABQQJ2IgIgAkEBa3ENAUEwQUAgAWsgBUkNAhpBECABIAFBEE0bIAUQxgsLIgJFDQEaIAMgAjYCDEEAIQQLIAQLIQJBACADKAIMIAIbIQQLIANBEGokACAEIgMNAEHMrgsoAgAiAkUNACACEQwADAELCyADRQRAEMoBCyADDwsgABCHAQsHACABIABrCwkAIAAgARCjCwsHACAAQQhLCxMAIAEQpQsEQCAAEBgPCyAAEBgLEgAgAEIANwIAIABBADYCCCAACxQAIAIEQCAAIAEgAkECdBC2ARoLC0UBAX8jAEEQayIEJAAgBCACNgIMIAMgASACIAFrIgFBAnUQqAsgBCABIANqNgIIIAAgBEEMaiAEQQhqEPwBIARBEGokAAsRACACBEAgACABIAIQtgEaCwtCAQF/IwBBEGsiBCQAIAQgAjYCDCADIAEgAiABayIBEKoLIAQgASADajYCCCAAIARBDGogBEEIahD8ASAEQRBqJAALCQAgABCMBxAYCyQBAn8jAEEQayICJAAgASAAEJ8FIQMgAkEQaiQAIAEgACADGwsOAEEAIAAgAEF/EMkCGwuwAQEDfwJAIAEgAhCkCyEEIwBBEGsiAyQAIARB9////wdNBEACQCAEEKAFBEAgACAEENMBIAAhBQwBCyADQQhqIAQQ3wNBAWoQ3gMgAygCDBogACADKAIIIgUQ+wEgACADKAIMEPoBIAAgBBC+AQsDQCABIAJHBEAgBSABENIBIAVBAWohBSABQQFqIQEMAQsLIANBADoAByAFIANBB2oQ0gEgA0EQaiQADAELEMoBAAsLDwAgACAAKAIYIAFqNgIYCxcAIAAgAjYCHCAAIAE2AhQgACABNgIYC1cBAn8CQCAAKAIAIgJFDQACfyACKAIYIgMgAigCHEYEQCACIAEgAigCACgCNBEAAAwBCyACIANBBGo2AhggAyABNgIAIAELQX8QyQJFDQAgAEEANgIACwsxAQF/IAAoAgwiASAAKAIQRgRAIAAgACgCACgCKBECAA8LIAAgAUEEajYCDCABKAIACycBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIkEQIADwsgASgCAAsnAQF/AkAgACgCACICRQ0AIAIgARC7C0F/EMkCRQ0AIABBADYCAAsLDQAgACABIAJBABChBwtTAQN/AkBBfyAAKAJMEMkCRQRAIAAoAkwhAAwBCyAAIwBBEGsiASQAIAFBDGoiAiAAEFMgAhDMAUEgEJsBIQAgAhBQIAFBEGokACAANgJMCyAAwAsaACAAIAEgASgCAEEMaygCAGooAhg2AgAgAAsLACAAQYCgCxCpAgsJACAAEJEHEBgLPQEBfyAAKAIYIgIgACgCHEYEQCAAIAEQpgMgACgCACgCNBEAAA8LIAAgAkEBajYCGCACIAE6AAAgARCmAws0AQF/IAAoAgwiASAAKAIQRgRAIAAgACgCACgCKBECAA8LIAAgAUEBajYCDCABLAAAEKYDCyoBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIkEQIADwsgASwAABCmAwsPACAAIAAoAgAoAhgRAgALLAAgACABEK0HIgFFBEAPCwJAIAMEQCAAIAEgAhCqBAwBCyAAIAEgAhC2CwsLCAAgACgCEEULBABBfwsIACAAEIoHGgu+DwIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyELIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg1CgICAgICAwP//AFQgDUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyANQv///////z9YBEAgBUHAAmogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rELMBQRAgBmshBiAFKQPIAiELIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAKIApQIgcbeSAHQQZ0rXynIgdBD2sQswEgBiAHakEQayEGIAUpA7gCIQogBSkDsAIhAwsgBUGgAmogCkKAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQnAEgBUGQAmpCACAFKQOoAn1CACAEQgAQnAEgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQnAEgBUHwAWogBEIAQgAgBSkDiAJ9QgAQnAEgBUHgAWogBSkD+AFCAYYgBSkD8AFCP4iEIgRCACACQgAQnAEgBUHQAWogBEIAQgAgBSkD6AF9QgAQnAEgBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQnAEgBUGwAWogBEIAQgAgBSkDyAF9QgAQnAEgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQnAEgBUGQAWogA0IPhkIAIAJCABCcASAFQfAAaiACQgBCACAFKQOoASAFKQOgASINIAUpA5gBfCIEIA1UrXwgBEIBVq18fUIAEJwBIAVBgAFqQgEgBH1CACACQgAQnAEgBiAJIAhraiEGAn8gBSkDcCITQgGGIg4gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgC0KAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiINQiCIIgogECAUVq0gDiAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig4gEVStIA4gDiATQv////8PgyITIAFCP4giFyALQgGGhEL/////D4MiC358Ig5WrXwgBCAQfnwgBCATfiIRIAsgEH58Ig8gEVStQiCGIA9CIIiEfCAOIA4gD0IghnwiDlatfCAOIA4gFEL/////D4MiFCALfiIRIAIgCn58Ig8gEVStIA8gDyATIA1C/v///w+DIhF+fCIPVq18fCIOVq18IA4gBCAUfiIYIBAgEX58IgQgAiALfnwiCyAKIBN+fCIQQiCIIAsgEFatIAQgGFStIAQgC1atfHxCIIaEfCIEIA5UrXwgBCAPIAIgEX4iAiAKIBR+fCIKQiCIIAIgClatQiCGhHwiAiAPVK0gAiAQQiCGfCACVK18fCICIARUrXwiBEL/////////AFgEQCAWIBeEIRUgBUHQAGogAiAEIAMgEhCcASABQjGGIAUpA1h9IAUpA1AiAUIAUq19IQpCACABfSELIAZB/v8AagwBCyAFQeAAaiAEQj+GIAJCAYiEIgIgBEIBiCIEIAMgEhCcASABQjCGIAUpA2h9IAUpA2AiDUIAUq19IQpCACANfSELIAEhDSAGQf//AGoLIgZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgCkIBhiALQj+IhCEBIARC////////P4MgBq1CMIaEIQogC0IBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAIgBEEBIAZrEKcDIAVBMGogDSAVIAZB8ABqELMBIAVBIGogAyASIAUpA0AiAiAFKQNIIgoQnAEgBSkDOCAFKQMoQgGGIAUpAyAiAUI/iIR9IAUpAzAiBCABQgGGIg1UrX0hASAEIA19CyEEIAVBEGogAyASQgNCABCcASAFIAMgEkIFQgAQnAEgCiACIAIgAyAEIAJCAYMiBHwiA1QgASADIARUrXwiASASViABIBJRG618IgJWrXwiBCACIAIgBEKAgICAgIDA//8AVCADIAUpAxBWIAEgBSkDGCIEViABIARRG3GtfCICVq18IgQgAiAEQoCAgICAgMD//wBUIAMgBSkDAFYgASAFKQMIIgNWIAEgA1Ebca18IgEgAlStfCAMhCEMCyAAIAE3AwAgACAMNwMIIAVB0AJqJAALwAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBScQ0AIAAgBCAFhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwseAQF/IAAQ7QEiAQRAIAAgARDHCyAAQbWWBRDhAQsLnwMBBX9BECECAkBBECAAIABBEE0bIgMgA0EBa3FFBEAgAyEADAELA0AgAiIAQQF0IQIgACADSQ0ACwtBQCAAayABTQRAQZCGC0EwNgIAQQAPC0EQIAFBC2pBeHEgAUELSRsiAyAAakEMahBNIgJFBEBBAA8LIAJBCGshAQJAIABBAWsgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAAgAmpBAWtBACAAa3FBCGsiAiAAQQAgAiABa0EPTRtqIgAgAWsiAmshBCAGQQNxRQRAIAEo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IAMgCRCoAwRAIAEhBAwCCyAFQfAAaiABIAJCAEIAEGogBSkDeCECIAUpA3AhBAwBCyAEQjCIp0H//wFxIQcgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQaiAFKQNoIgpCMIinQfgAayEGIAUpA2ALIQQgB0UEQCAFQdAAaiADIAlCAEKAgICAgIDAu8AAEGogBSkDWCIJQjCIp0H4AGshByAFKQNQIQMLIAlC////////P4NCgICAgICAwACEIQsgCkL///////8/g0KAgICAgIDAAIQhCiAGIAdKBEADQAJ+IAogC30gAyAEVq19IglCAFkEQCAJIAQgA30iBIRQBEAgBUEgaiABIAJCAEIAEGogBSkDKCECIAUpAyAhBAwFCyAJQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiALfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQaiAFKQM4IQIgBSkDMCEEDAELIAlC////////P1gEQANAIARCP4ggBkEBayEGIARCAYYhBCAJQgGGhCIJQoCAgICAgMAAVA0ACwsgCEGAgAJxIQcgBkEATARAIAVBQGsgBCAJQv///////z+DIAZB+ABqIAdyrUIwhoRCAEKAgICAgIDAwz8QaiAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQaiAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABBqQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORBqIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORBqQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhBqIAAg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A0AgBQRAIAAgBSAHEKMHIAYgBRAwIQUMAQUgBiACEB0hAgwCCwALAAsACyAIQa0CNgIEIAhBurkBNgIAQajzCCgCAEHmvAQgCBAfGhA8AAsgBiAGQR4gB0EBEMgDGgsgASAHRXJFBEAgACAHIAMgBBChBwsgACAAIAcQ3gwMAQsgACABIAIQ7gshBwsgCEEwaiQAIAcPC0HA1QFB0fsAQQxB/jsQAAALTQEDf0EBIQEDQCAAKAIQIgMoArgBIQIgAygCtAEgAUgEQCACEBgFIAIgAUECdGooAgAiAigCECgCDBC8ASACEPALIAFBAWohAQwBCwsL5gMCBn8GfCMAQeAAayIDJAAgACgCECICKwMYIQkgAisDECEKQYzYCi0AAEECTwRAIAEQsQIgAyAAECE2AlBBqPMIKAIAQaHzAyADQdAAahAfGgsCQCABRQRAQajzCCgCACEGDAELQajzCCgCACEGIAAQHCECIANBQGshBQNAIAJFDQECQCACKAIQIgQoAoABIABHDQAgBCAKIAQrAxCgOQMQIAQgCSAEKwMYoDkDGEGM2AotAABBAkkNACABELECIAIQISEEIAIoAhAiBysDECEIIAUgBysDGDkDACADIAg5AzggAyAENgIwIAZBg6kEIANBMGoQMgsgACACEB0hAgwACwALIAFBAWohB0EBIQQDQCAAKAIQIgIoArQBIAROBEAgAigCuAEgBEECdGooAgAhBSABBEAgCSAFKAIQIgIrAyigIQggCiACKwMgoCELIAkgAisDGKAhDCAKIAIrAxCgIQ1BjNgKLQAAQQJPBEAgARCxAiAFECEhAiADIAg5AyAgAyALOQMYIAMgDDkDECADIA05AwggAyACNgIAIAZB8agEIAMQMiAFKAIQIQILIAIgCDkDKCACIAs5AyAgAiAMOQMYIAIgDTkDEAsgBSAHEPELIARBAWohBAwBCwsgA0HgAGokAAv0GQMNfwt8AX4jAEGwBGsiAiQAIAAoAkghBkGM2AotAABBAk8EQCABELECIAIgABAhNgKwA0Go8wgoAgBB/u0DIAJBsANqEB8aCyABQQFqIQdBASEEA0AgACgCECIFKAK0ASAESARAAkACQCAAEDogA2siCSAAKAIQIgQoArQBaiINDQAgBCgCDA0AIARCADcDECAEQoCAgICAgICZwAA3AyggBEKA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oSIQOQMgIARCADcDGEEAIQRBjNgKLQAAQQFLBEAgARCxAiAAECEhACACIA85A7ACIAIgEDkDqAIgAkIANwOgAiACQgA3A5gCIAIgADYCkAIgB0HxqAQgAkGQAmoQMgsDQCACKALgAyAETQRAIAJB2ANqIgBBIBAzIAAQOEEAIQQDQCACKALIAyAETQRAIAJBwANqIgBBBBAzIAAQOCAGEBgMCgUgAiACKQPIAzcDiAIgAiACKQPAAzcDgAIgAkGAAmogBBAZIQACQAJAAkAgAigC0AMiAQ4CAgABCyACKALAAyAAQQJ0aigCABAYDAELIAIoAsADIABBAnRqKAIAIAERAQALIARBAWohBAwBCwALAAUgAiACKQPgAzcD+AEgAiACKQPYAzcD8AEgAkHwAWogBBAZIQACQAJAAkAgAigC6AMiAQ4CAgABC0G+gARBwgBBASAHEDsaEDwACyACIAIoAtgDIABBBXRqIgApAwg3A9gBIAIgACkDEDcD4AEgAiAAKQMYNwPoASACIAApAwA3A9ABIAJB0AFqIAERAQALIARBAWohBAwBCwALAAUgACgCECgCtAEhAyACIAIpA8gDNwPIASACIAIpA8ADNwPAASACKALAAyACQcABaiAEEBlBAnRqKAIAIQUCQCADIARLBEAgBSgCECIDIAMrAyggD6EiEjkDKCADIAMrAyAgEKEiFjkDICADIAMrAxggD6EiFDkDGCADIAMrAxAgEKEiFTkDEEGM2AotAABBAkkNASABELECIAUQISEDIAIgEjkDkAEgAiAWOQOIASACIBQ5A4ABIAIgFTkDeCACIAM2AnAgB0HxqAQgAkHwAGoQMgwBCyAFRQ0AIAUoAhAiAyADKwAYIA+hOQMYIAMgAysAECAQoTkDEEGM2AotAABBAkkNACABELECIAUQISEDIAUoAhAiBSsDECESIAIgBSsDGDkDsAEgAiASOQOoASACIAM2AqABIAdBg6kEIAJBoAFqEDILIARBAWohBAwBCwALAAUgBiAEQQR0aiIDKwMIIRQgAysDACEVIAIgAikD4AM3A2ggAiACKQPYAzcDYCACKALYAyACQeAAaiAEEBlBBXRqIgMrAxghDyADKwMQIRMgAysDCCEXIAMrAwAhGCAAKAIQKAK0ASEFIAIgAikDyAM3A1ggAiACKQPAAzcDUCACKALA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ACsDECEFIAArA2AhBCAAKwNYIQYgACsDGCEHIAIgACsDUDkDGCACIAc5AxAgAiAGIASgOQMgIAIgBTkDCCACIAM2AgBBqPMIKAIAQb2oBCACEDILIAJB8ABqJAALswYCCn8FfCMAQdABayIBJAACQCAAKAJAIgRFDQAgBEEEENYEIQUgAEEwaiIHIQMDQCACIARGBEAgBSAEQQRB8AMQqAFBACECIARBCBDWBCEDA0AgAiAERgRAAn8gACsDCCIMIAArAwBhBEAgASAAKQMoNwOIASABIAApAyA3A4ABIAEgACkDGDcDeCABIAApAxA3A3AgBCADIAFB8ABqEPsLDAELIAArAyAhCyAAKwMoIQ0gASAAKwMQOQOwASABIAArAxg5A7gBIAEgCyANIAugIA0gC6EiCyALoiAMRAAAAAAAABBAoqCfoUQAAAAAAADgP6IiC6E5A8ABIAEgDSALoTkDyAEgASABKQO4ATcDmAEgASABKQPAATcDoAEgASABKQPIATcDqAEgASABKQOwATcDkAEgBCADIAFBkAFqEPsLCyEIQajzCCgCACEJQYzYCi0AAARAIAArAxAhCyAAKwMYIQ0gACsDICEMIAEgACsDKDkDaCABIAw5A2AgASANOQNYIAEgCzkDUCAJQeCoBCABQdAAahAyCyABQUBrIQpBACECA0AgAiAERgRAIAUQGCADEBggCBAYQQAhAgNAIAIgBEYNByAHKAIAIgAoAjxFBEAgABD5CwsgAkEBaiECIABBNGohBwwACwALIAUgAkECdGooAgAiBiAIIAJBBXRqIgApAwA3AxAgBiAAKQMYNwMoIAYgACkDEDcDICAGIAApAwg3AxhBjNgKLQAABEAgAyACQQN0aisDACEPIAArAwAhCyAAKwMIIQ0gACsDECEMIAEgACsDGCIOOQNIIAogDDkDACABIA05AzggASALOQMwIAEgDCAOojkDKCABIA0gDkQAAAAAAADgP6IiDqA5AyAgASALIAxEAAAAAAAA4D+iIgygOQMYIAEgDSAOoTkDECABIAsgDKE5AwggASAPOQMAIAlBivEEIAEQMgsgAkEBaiECDAALAAUgAyACQQN0aiAFIAJBAnRqKAIAKwMAOQMAIAJBAWohAgwBCwALAAUgBSACQQJ0aiADKAIAIgM2AgAgAkEBaiECIANBNGohAwwB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QTAgBygCECgCfCgCAEEBRiIIG0EAIAcoAgBBA3FBAkEDIAgbRxtqKAIoIggoAhAoAoABKAIMRQRAIAVFBEAgACACEIMMIQULIAUgCBCwBwsgBiAHRw0ACyAFRQ0BAkAgASgCECgCgAEoAgwNACAFKAIIEDpBAkgNACAFIAEQsAcLAkAgA0UNACABKAIQKAKAASgCDCAFRw0AIAIgBRCGDAwCCyACIAUQhwwMAQsgByABKAIQKAKAASIIKAIIRg0AIAggCCgCGCIHIAUgBSAHShs2AhgLIAAgBiABEHIhBgwBBQJAIANFDQAgASgCECgCgAEoAgwNACAAIAIQgwwiACABELAHIAIgABCGDAsLCwshAQF/IAEgACAAKAIAIgIbIAIgASACGzYCBCAAIAE2AgALLwEBfyABQQA2AgQCQCAAKAIEIgIEQCACIAE2AgQMAQsgACABNgIACyAAIAE2AgQLRQECfyMAQRBrIgEkAEEBQdAAEEciAkUEQCABQdAANgIAQajzCCgCAEGD5wMgARAfGhAsAAsgAiAANgIIIAFBEGokACACCwkAIABCADcCAAsrAQF/IAAQHCECA0ACQCACRQ0AIAIgARBEEGkNACAAIAIQHSECDAELCyACC94BAgN/AnwgASgCECgCgAEiAigCIAR8IAIrAzAgAisDKEQAAAAAAADgv6KgBUQAAAAAAAAAAAshBSAAIAEQbiECA0AgAgRAIAEgAkEwQQAgAigCAEEDcSIDQQNHG2ooAigiBEYEQCACQVBBACADQQJHG2ooAighBAsCQCAEKAIQKAKAASIDKAIgIAFHDQAgAykDMEKAgICAgICAksAAUg0AIAMgBSADKwMoIgZEAAAAAAAA4D+ioDkDMCAFIAagIQUgAykDEFANACAAIAQQiwwLIAAgAiABEHIhAgwBCwsLrwECA38BfCABKAIQKAKAASICKwMoIAIpAwi6oyEFIAAgARBuIQIDQCACBEAgASACQTBBACACKAIAQQNxIgNBA0cbaigCKCIERgRAIAJBUEEAIANBAkcbaigCKCEECwJAIAQoAhAoAoABIgMoAiAgAUcNACADKwMoRAAAAAAAAAAAYg0AIAMgBSADKQMIuqI5AyggAykDEFANACAAIAQQjAwLIAAgAiABEHIhAgwBCwsLkgECA38BfiABKAIQKAKAASkDAEIB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AFJAojkDEEEBIQEDQCABIAIoArQBSkUEQCACKAK4ASABQQJ0aigCABCjDCABQQFqIQEgACgCECECDAELCwvvAQIDfwJ8IAAoAhAoAowBIgIrAxAhBSACKwMIIQYCQCAAIAFGDQAgABAcIQIDQCACRQ0BIAAgAigCECIDKALoAUYEQCADKAKUASIDIAYgAysDAKA5AwAgAyAFIAMrAwigOQMICyAAIAIQHSECDAALAAtBASEDA0AgACgCECICKAK0ASADTgRAIAIoArgBIANBAnRqKAIAIQQgACABRwRAIAQoAhAoAowBIgIgBSACKwMgoDkDICACIAYgAisDGKA5AxggAiAFIAIrAxCgOQMQIAIgBiACKwMIoDkDCAsgBCABEKQMIANBAWohAwwBCwsLoUsDGH8QfAF+IwBBsAFrIggkAEGM2AotAAAEQCAIIAAQITYCcEGo8wgoAgBB/u0DIAhB8ABqEB8aCyAAEBwhAgNAIAIEQCACKAIQQQA2ArgBIAAgAhAdIQIMAQsLQYzYCi0AAEECTwRAIAEoAhAhAiAIIAAQITYCZCAIIAI2AmBBqPMIKAIAQZv2AyAIQeAAahAfGgsgASABKAIQQQFqNgIQIAhB3O0JKAIANgJcQYWnASAIQdwAakEAEOIBIgpBkCZBmAJBARA1GkE4EFIhAiAKKAIQIAI2AowBIAAQOSECIAooAhAgAigCEC8BsAE7AbABIAAgCkHz3AAQuAcgACAKQbHbABC4ByAAIApBnNcBELgHIAhBmAFqIQcgCEGQAWohBiAIQYgBaiEJQQEhDANAIAAoAhAiAigCtAEgDE4EQCACKAK4ASAMQQJ0aigCACIDEJUEIAogAxAhELcHIgQoAhAiAiALNgKIASACIAM2AugBAkACQCABKAIEIgVFBEBE////////738hG0T////////v/yEaDAELRP///////+9/IRtE////////7/8hGiADIAUQRCICLQAARQ0AIAEoAgAgA0cEQCACIAMoAkQgBRBEEExFDQELIAhBADoArAEgCCAJNgJEIAggBjYCSCAIIAc2AkwgCCAIQawBajYCUCAIIAhBgAFqNgJAIAJBl74BIAhBQGsQUUEETgRAIAgrA5gBIRogCCsDkAEhHiAIKwOIASEbIAgrA4ABIRxBoNgKKwMAIh1EAAAAAAAAAABkBEAg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IAM2AggLIAMgAS0ADDoADCADIAAgACABRhshAAsgAEUgB0EBcUVyRQRAIAYEQANAIAItAAwhAwJAIAIoAggiASgCACACRwRAIANBAXFFBEAgAkEBOgAMIAFBADoADCABEMEEIAIgACAAIAIoAgAiAUYbIQAgASgCBCECCwJAAkACQAJAIAIoAgAiAQRAIAEtAAxBAUcNAQsgAigCBCIDBEAgAy0ADEEBRw0CCyACQQA6AAwgACACKAIIIgJHBEAgAi0ADA0GCyACQQE6AAwPCyACKAIEIgNFDQELIAMtAAxBAUcNAQsgAUEBOgAMIAJBADoADCACEMAEIAIoAggiAigCBCEDCyACIAIoAggiAC0ADDoADCAAQQE6AAwgA0EBOgAMIAAQwQQPCyADQQFxRQRAIAJBAToADCABQQA6AAwgARDABCACIAAgACACKAIEIgFGGyEAIAEoAgAhAgsCQAJAAkACQCACKAIAIgMEQCADLQAMIgFBAUcNAQsCQCACKAIEIgEEQCABLQAMQQFHDQELIAJBADoADCACKAIIIgItAAxBAUYgACACR3ENBSACQQE6AAwPCyADRQ0CIAMtAAxBAXENAQwDCyABRQ0CCyACKAIEIQELIAFBAToADCACQQA6AAwgAhDBBCACKAIIIgIoAgAhAwsgAiACKAIIIgAtAAw6AAwgAEEBOgAMIANBAToADCAAEMAEDwsgAigCCCIBIAIgASgCAEZBAnRqKAIAIQIMAAsACyAFQQE6AAwLCy0BAX8gACgCACIBBEAgACABNgIEIAAoAggaIAEQGCAAQQA2AgggAEIANwIACwsZACAAQYjPCjYCACAAQSRqEIICGiAAEOsHCw0AIAAtABhBf3NBAXELgQMCCn8BfCMAQSBrIgIkACAAQQhqIQQgACgCBCEBA0AgASAERwRAIAEoAhAiAyADEK8NIgs5AyAgAyALIAMrAxijOQMQIAEQrQEhAQwBCwsgAEEANgIgIABBJGohByAAQQhqIQggAEEEaiEEIAAoAgQhAwJAA0AgAyAIRwRAIAIgAygCEBCrDSIBNgIcAkAgAUUNACABKwMQREivvJry13q+Y0UNACAAIAAoAiBBAWo2AiAgASgCACgCICEFIAJBADYCGCACQQA2AhQgASgCACgCICABKAIEKAIgRw0DIAUrAxAhCyAFIAJBGGoi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AyAAKAIQIQEoAhAtAHRBAXENACAHIAErA1igIQcgCCABKwM4oCEICyABIAc5A4ABIAEgCDkDeCAAEGAgAEcEQCAFIAAoAhAiACgC6AFByABsaiIBIAErAxgiCSAHIAcgCWMbOQMYIAUgACgC7AFByABsaiIAIAArAxAiByAIIAcgCGQbOQMQCyADC3ABAn9BASEEA0AgBCAAKAIQIgMoArQBSkUEQCADKAK4ASAEQQJ0aigCACABIAIQ7A0gBEEBaiEEDAELCyADIAEgAysDEKI5AxAgAyACIAMrAxiiOQMYIAMgASADKwMgojkDICADIAIgAysDKKI5AygL5QQCCH8EfEEBIQIDQCACIAAoAhAiAygCtAFKRQRAIAMoArgBIAJBAnRqKAIAIAEQ7Q0gAkEBaiECDAELCyAAEGAhAiAAKAIQIQMCQCAAIAJGBEAgAygC7AEhBUQAAMD////fwSEKRAAAwP///99BIQsgAygC6AEiCCEEA0AgBCAFSgRAIAMoArQBIgBBACAAQQBKG0EBaiEAQQEhAgNAIAAgAkYNBCAKIAMoArgBIAJBAnRqKAIAKAIQIgQrAyBEAAAAAAAAIECgIgwgCiAMZBshCiALIAQrAxBEAAAAAAAAIMCgIgwgCyAMYxshCyACQQFqIQIMAAsABQJAIAMoAsQBIARByABsaiIAKAIAIgZFDQBBASECIAAoAgQiBygCACIARQ0AA0AgACgCECIALQCsASIJRSACIAZOckUEQCAHIAJBAnRqKAIAIQAgAkEBaiECDAELCyAJDQAgBkECayECIAArAxAgACsDWKEhDCAHIAZBAnRqQQRrIQADQCAAKAIAKAIQIgAtAKwBBEAgByACQQJ0aiEAIAJBAWshAgwBCwsgCiAAKwMQIAArA2CgIg0gCiANZBshCiALIAwgCyAMYxshCwsgBEEBaiEEDAELAAsACyADKALoASEIIAMoAuwBIQUgAygChAIoAhAoAvQBtyEKIAMoAoACKAIQKAL0AbchCwsgASgCECgCxAEiACAFQcgAbGooAgQoAgAoAhArAxghDCAAIAhByABsaigCBCgCACgCECsDGCENIAMgCjkDICADIAs5AxAgAyANIAMrA4ABoDkDKCADIAwgAysDeKE5AxgLogECAnwBfwJAAn9B/////wcgAEGCIRAmIgNFDQAaIAAQ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KGQEQCAFIAs5AyggBSALOQMYCyALIAUrAyBkBEAgBSALOQMgIAUgCzkDEAsCQCAGKALoASIBRQ0AAkAgACABRgRARAAAAAAAAAAAIQwMAQsgAUHs2AooAgBBCEEAEGG3IQwgCigCECEGCyAGKAL0ASIDIAEoAhAiASgC6AFGBEAgASABKwOAASALIAygECM5A4ABCyADIAEoAuwBRw0AIAEgASsDeCALIAygECM5A3gLIAJBAWohAgwACwALCyAAEOsNIQcgBCAAKAIQIgIoAuwBIgFByABsaiIDKAIEKAIAKAIQIAMrAxA5AxggAigC6AEhCkQAAAAAAAAAACELA0AgASAKSgRAIAQgAUEBayIDQcgAbGoiBigCACAEIAFByABsaiIBKwMoIAYrAyCgIAIoAvwBt6AgASsDGCAGKwMQoEQAAAAAAAAgQKAQIyENQQBKBEAgBigCBCgCACgCECANIAEoAgQoAgAoAhArAxigOQMYCyALIA0QIyELIAMhAQwBCwsCQCAHRQ0AIAItAHRBAXFFDQAgAEEAEOoNIAAoAhAiAi0AlAJBAUcNACAEIAIoAuwBIgFByABsaigCBCgCACgCECsDGCEMIAIoAugBIQBEAAAAAAAAAAAhCwNAIAAgAU4NASALIAFByABsIARqQcQAaygCACgCACgCECsDGCINIAyhECMhCyABQQFrIQEgDSEMDAALAAsCQCACLQCUAkEBRw0AIAIoAugBIQggAigC7AEhAwNAIAMiACAITA0BIAQgAEEBayIDQcgAbGoiASgCAEEATA0AIAEoAgQoAgAoAhAgCyAEIABByABsaigCBCgCACgCECsDGKA5AxgMAAsACyACQcABaiEBA0AgASgCACIABEAgACgCECIAIAQgACgC9AFByABsaigCBCgCACgCECsDGDkDGCAAQbgBaiEBDAELCwv4NAMQfwh8AX4jAEEQayIPJAACQCAAKAIQKALAAUUNACAAEIcIIAAQ9Q1BrNgKLQAAQQFGBEAjAEGgAWsiCCQAAkAgACgCECIBKALsASABKALoAWtBAkgNACABKALEASEEQQEhAgNAIAQgAkEBaiIFQcgAbGooAgAEQEEAIQMDQCAEIAJByABsIglqIgYoAgAgA0wEQCAFIQIMAwUCQCAGKAIEIANBAnRqKAIAIgsQgA5FDQAgAyEBA0AC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QcD7Ci0AAEHA+wpBAToAAEEBcQ0EQZnmA0EAECogBRAhIQMgABCBAiEFIAIgCBAhNgLoBCACQbbfAUHUngMgBRs2AuQEIAIgAzYC4ARBl+8DIAJB4ARqEH8MBAsDQCADIAtGBEAgB0EBcQRAIAJB2O0JQeDtCSAAEIECGygCADYCjAVBACEDQeb8ACACQYwFakEAEOIBIgdBkCZBmAJBARA1GiAHQQBBufQAQZWABRAiGkEBQeAAEBohCSAHKAIQIgQgCTYCCCAJIAAoAhAiBigCCCIKKwMAOQMAIAkgCisDGDkDGCAEIAYtAHM6AHMgBCAGKAJ0QX9zQQFxNgJ0IAQgBigC+AE2AvgBIAQgBigC/AE2AvwBQQAhBgNAIAAQOUEBIAYQ5gMiBgRAIAYoAgwQdSAGKAIMIQQgBigCCCEJBH8gB0EBIAkgBBDoAwUgB0EBIAkgBBAiCxoMAQsLA0AgABA5QQIgAxDmAyIDBEAgAygCDBB1IAMoAgwhBCADKAIIIQYEfyAHQQIgBiAEEOgDBSAHQQIgBiAEECILGgwBCwsgB0ECQb0cQQAQIkUEQCAHQQJBvRxBlYAFECIaCyAHQQJBgRxBABAiRQRAIAdBAkGBHEGVgAUQIhoLQdzYCigCACEgQcDYCigCACEhQczZCigCACEiQZjZCigCACEXQbzZCigCACEwQbjZCigCACExQbDZCigCACEyQbTZCigCACEzQajZCigCACE0QaTZCigCACE1QazZCigCACE2QaDZCigCACE3QZTZCigCACE4QZDZCigCACE5QYzZCigCACE6QYjZCigCACE7QYTZCigCACE8QZzZCigCACE9QfjYCigCACE+QfTYCigCACE/QfDYCigCACFAQYTaCigCACFBQbjaCigCACFCQdDaCigCACFDQbzaCigCACFEQcDaCigCACFFQcTaCigCACFGQajaCigCACFHQYDaCigCACFIQbTaCigCACFJQdTaCigCACFKQfTZCigCACFLQfjZCigCACFMQfzZCigCACFNQejZCigCACFOQeTZCigCACFPQbDaCigCACFQQazaCigCACFRQYjaCigCACFSQZzaCigCACFTQZzaCkEANgIAQYjaCiAHQQJBzDdBABAiNgIAQazaCiAHQQJB0rABQQAQIjYCAEGw2gogB0ECQZfvAEEAECI2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AEGQzgBOGyISQQVsQQNqEE0iAEUNASAAIAIgDiACayIEQQFqIgUQICIAIBJBA2pBBG1BAnRqIBQgBUECdCIGECAhFCAKQdAGaiACRwRAIAIQGAsgBSASTg0DIAAgBGohDiAGIBRqQQRrIQcgACECCyANQQZGDQQCfwJAAkACQAJAIA1BsJAFai0AACIJQe4BRg0AAn8gAUF+RgRAAn8jAEEwayIMJAAgAyAKQZwIajYCXCADKAIoRQRAIANBATYCKCADKAIsRQRAIANBATYCLAsgAygCBEUEQCADQazzCCgCADYCBAsgAygCCEUEQCADQbDzCCgCADYCCAsCQCADKAIUIgAEQCAAIAMoAgxBAnRqKAIADQELIAMQvgkgAygCBCADELgJIQAgAygCFCADKAIMQQJ0aiAANgIACyADEO8ECyADQcQAaiEYIANBJGohDwNAIAMoAiQiCCADLQAYOgAAIAMoAhQgAygCDEECdGooAgAoAhwgAygCLGohACAIIQUDQCAFLQAAQaCABWotAAAhASAAQQF0QaCCBWovAQAEQCADIAU2AkQgAyAANgJACwNAIAFB/wFxIQECQANAIAAgAEEBdCIEQYCIBWouAQAgAWpBAXQiBkHggwVqLgEARg0BIARB4IkFai4BACIAQd0ASA0ACyABQcCLBWotAAAhAQwBCwsgBUEBaiEFIAZBgIwFai4BACIAQQF0QYCIBWovAQBB2wFHDQAgACEBA0AgAUEBdEGgggVqLwEAIgBFBEAgAygCRCEFIAMoAkBBAXRBoIIFai8BACEACyADIAg2AlAgAyAFIAhrNgIgIAMgBS0AADoAGCAFQQA6AAAgAyAFNgIkIADBIQACfwNAAkBBACEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAOKQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQnJycnJQsgBSADLQAYOgAAIAMoAkAhASAYDC4LIAMoAiAiAEEASg0kQX8hAQwlCyADKAIgIgBBAEoEQCADKAIUIAMoAgxBAnRqKAIAIAMoAlAgAGpBAWstAABBCkY2AhwLIAMoAgAiACAAKAIU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AygCACACIAMpAgg3A+ADIAIgAykCADcD2AMgAkHYA2ogBRAZQQJ0aigCACgCMCsDCCADKAIAIAIgAykCCDcD0AMgAiADKQIANwPIAyACQcgDaiAAEBlBAnRqKAIAKAIwKwMIYgshBCADKAIAIAIgAykCCDcDwAMgAiADKQIANwO4AyACQbgDaiAFEBlBAnRqKAIAIQcgAygCACEGIAIgAykCCDcDsAMgAiADKQIANwOoAyACQagEaiIIIAcgBiACQagDaiAAEBlBAnRqKAIAQQAgBBCWDg0FIAMoAgAgAiADKQIINwOgAyACIAMpAgA3A5gDIAIoAqwEIQkgAigCqAQhBiACQZgDaiAFEBlBAnRqKAIAIQcgAygCACELIAIgAykCCDcDkAMgAiADKQIANwOIAyAIIAcgCyACQYgDaiAAEBlBAnRqKAIAQQEgBEUiBxCWDg0FIAIoAqwEIQggAigCqAQhCwJAAkACQCAJQQFqDgMAAQIDCyADKAIAIAIgAykCCDcDYCACIAMpAgA3A1ggAkHYAGogABAZQQJ0aigCACADKAIAIAIgAykCCDcDUCACIAMpAgA3A0ggAkHIAGogBRAZQQJ0aigCACAEQQAgBiABELkCIAMoAgAgAkFAayADKQIINwMAIAIgAykCADcDOCACQThqIAAQGUECdGooAgAgAygCACACIAMpAgg3AzAgAiADKQIANwMoIAJBKGogBRAZQQJ0aigCACAHQQEgCyABELkCIAhBAUcNAiADKAIAIAIgAykCCDcDICACIAMpAgA3AxggAkEYaiAFEBlBAnRqKAIAIAMoAgAgAiADKQIINwMQIAIgAykCADcDCCACQQhqIAAQGUECdGooAgAgByABEJUODAILAkACQAJAIAhBAWoOAwABAgQLIAMoAgAgAiADKQIINwOgASACIAMpAgA3A5gBIAJBmAFqIAAQGUECdGooAgAgAygCACACIAMpAgg3A5ABIAIgAykCADcDiAEgAkGIAWogBRAZQQJ0aigCACAEQQAgBiABELkCIAMoAgAgAiADKQIINwOAASACIAMpAgA3A3ggAkH4AGogABAZQQJ0aigCACADKAIAIAIgAykCCDcDcCACIAMpAgA3A2ggAkHoAGogBRAZQQJ0aigCACAHQQEgCyABELkCDAMLIAMoAgAgAiADKQIINwPgASACIAMpAgA3A9gBIAJB2AFqIAUQGUECdGooAgAgAygCACACIAMpAgg3A9ABIAIgAykCADcDyAEgAkHIAWogABAZQQJ0aigCAEEAIAQgBiABELkCIAMoAgAgAiADKQIINwPAASACIAMpAgA3A7gBIAJBuAFqIAUQGUECdGooAgAgAygCACACIAMpAgg3A7ABIAIgAykCADcDqAEgAkGoAWogABAZQQJ0aigCAEEBIAcgCyABELkCDAILIAMoAgAgAiADKQIINwOgAiACIAMpAgA3A5gCIAJBmAJqIAUQGUECdGooAgAgAygCACACIAMpAgg3A5ACIAIgAykCADcDiAIgAkGIAmogABAZQQJ0aigCAEEAIAQgBiABELkCIAMoAgAgAiADKQIINwOAAiACIAMpAgA3A/gBIAJB+AFqIAUQGUECdGooAgAgAygCACACIAMpAgg3A/ABIAIgAykCADcD6AEgAkHoAWogABAZQQJ0aigCAEEBIAcgCyABELkCDAELIAMoAgAgAiADKQIINwOAAyACIAMpAgA3A/gCIAJB+AJqIAUQGUECdGooAgAgAygCACACIAMpAgg3A/ACIAIgAykCADcD6AIgAkHoAmogABAZQQJ0aigCAEEAIAQgBiABELkCIAMoAgAgAiADKQIINwPgAiACIAMpAgA3A9gCIAJB2AJqIAUQGUECdGooAgAgAygCACACIAMpAgg3A9ACIAIgAykCADcDyAIgAkHIAmogABAZQQJ0aigCAEEBIAcgCyABELkCIAhBf0cNACADKAIAIAIgAykCCDcDwAIgAiADKQIANwO4AiACQbgCaiAFEBlBAnRqKAIAIAMoAgAgAiADKQIINwOwAiACIAMpAgA3A6gCIAJBqAJqIAAQGUECdGooAgAgByABEJUOCyAAQQFqIQAgCigAICEEDAALAAsACwsgDCgCACEMDAELCyACQbAEaiQAQX9BACAMGwurAgELfyMAQSBrIgEkACAAELABIQYDQAJAIAZFDQAgBigCEBCwASECA0AgAgRAIAIoACAiBwRAIAJBGGohAyAHQQFrIQogAigCMCEIQQAhAANAAkAgAEEBaiIJIQQgACAKRg0AA0AgBCAHRgRAIAkhAAwDCyADKAIAIAEgAykCCDcDGCABIAMpAgA3AxAgAUEQaiAAEBlBAnRqKAIAIAMoAgAgASAD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IANBoAFqEDIgAUEBaiEBDAELAAsAC0G+mANBjbwBQcwDQYCJARAAAAsgDiADKAKUAkHIABAaIg82AgggDiADKAKUAiIRNgIAQQAhAQNAIAEgEUYEQCAGEBggAysDsAIhGyADKwOoAiEcIAMrA6ACIR0gAysDmAIhH0EBQRgQGiIEQQA2AgAgBCARQQJ0IgBBAnJBKBAaNgIQQZzNCkG06wkoAgAQkgEhC0G0zQpBtOsJKAIAEJIBIQkgAEEgEBohDCAAQQQQGiEGQQAhAANAIAAgEUYEQEEAIQYDQCAGIApHBEAgA0IANwPIAiADQgA3A8ACIANCADcDuAIgAyACIAZByABsaiIBKQMwNwPYAiADIAEpAyg3A9ACIAkgA0HQAmpBgAQgCSgCABEDACEAA0ACQCAARQ0AIAArAwggASsDOGNFDQAgAyAAKAIANgLMAiADQbgCakEEECchByADKAK4AiAHQQJ0aiADKALMAjYCACAAKAIAIAE2AhggCSAAQQggCSgCABEDACEADAELCyALIANB0AJqQYAEIAsoAgARAwAhAANAAkAgASsDQCEbIABFDQAgACsDECAbY0UNACADIAAoAgA2AswCIANBuAJqQQQQJyEHIAMoArgCIAdBAnRqIAMoAswCNgIAIAAoAgAgATYCGCALIABBCCALKAIAEQMAIQAMAQsLIAMgGzkD2AIgCSADQdACakGABCAJKAIAEQMAIQADQAJAIAErAzghGyAARQ0AIAArAwggG2NFDQAgAyAAKAIANgLMAiADQbgCakEEECchByADKAK4AiAHQQJ0aiADKALMAjYCACAAKAIAIAE2AhQgCSAAQQggCSgCABEDACEADAELCyADIBs5A9ACIAMgASsDMDkD2AIgCyADQdACakGABCALKAIAEQMAIQADQAJAIABFDQAgACsDECABKwNAY0UNACADIAAoAgA2AswCIANBuAJqQQQQJyEHIAMoArgCIAdBAnRqIAMoAswCNgIAIAAoAgAgATYCFCALIABBCCALKAIAEQMAIQAMAQsLIANBuAJqIAFBJGogAUEgakEEEMYBIAEoAiAiACAQIAAgEEsbIRAgBkEBaiEGDAELCwNAIAogDUYEQCAEKAIQIAQoAgAiAEEobGoiASAANgIgIAEgAEEBajYCSEEAIQIgBCgCAEEGbCAQQQF0akEE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BiAEQdgXaiACKQIINwMAIAQgAikCADcD0BcCQCAGIARB0BdqIAwQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARByBdqIAIpAgg3AwAgBCACKQIANwPAFyAEQcAXaiAGEBlByABsaigCLCAFRw0AIAIoAgAgBEG4F2ogAikCCDcDACAEIAIpAgA3A7AXIARBsBdqIAYQGUHIAGxqIAw2AiwLIAIoAgAhBiAEQagXaiACKQIINwMAIAQgAikCADcDoBcCQCAGIARBoBdqIAwQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARBmBdqIAIpAgg3AwAgBCACKQIANwOQFyAEQZAXaiAGEBlByABsaigCKCAFRw0AIAIoAgAgBEGIF2ogAikCCDcDACAEIAIpAgA3A4AXIARBgBdqIAYQGUHIAGxqIAw2AigLIAIoAgAhBiAEQfgWaiACKQIINwMAIAQgAikCADcD8BYCQCAGIARB8BZqIAwQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARB6BZqIAIpAgg3AwAgBCACKQIANwPgFiAEQeAWaiAGEBlByABsaigCLCAFRw0AIAIoAgAgBEHYFmogAikCCDcDACAEIAIpAgA3A9AWIARB0BZqIAYQGUHIAGxqIAw2AiwLIAMQ8AEhCSADEPABIQcgAigCACAEQcgWaiACKQIINwMAIAQgAikCADcDwBYgBEHAFmogBRAZQcgAbGooAjghBiADKAIAIARBuBZqIAMpAgg3AwAgBCADKQIANwOwFiAEQbAWaiAGEBlBKGxqQQI2AgAgAygCACAEQagWaiADKQIINwMAIAQgAykCADcDoBYgBEGgFmogBhAZQShsaiILIAQpA9gZNwMIIAsgBEHgGWopAwA3AxAgAygCACAEQZgWaiADKQIINwMAIAQgAykCADcDkBYgBEGQFmogBhAZQShsaiAANgIEIAMoAgAgBEGIFmogAykCCDcDACAEIAMpAgA3A4AWIARBgBZqIAYQGUEobGogBzYCICADKAIAIARB+BVqIAMpAgg3AwAgBCADKQIANwPwFSAEQfAVaiAGEBlBKGxqIAk2AiQgAygCACAEQegVaiADKQIINwMAIAQgAykCADcD4BUgBEHgFWogCRAZQShsakEDNgIAIAMoAgAgBEHYFWogAykCCDcDACAEIAMpAgA3A9AVIARB0BVqIAkQGUEobGogBTYCGCADKAIAIARByBVqIAMpAgg3AwAgBCADKQIANwPAFSAEQcAVaiAJEBlBKGxqIAY2AhwgAygCACAEQbgVaiADKQIINwMAIAQgAykCADcDsBUgBEGwFWogBxAZQShsakEDNgIAIAMoAgAgBEGoFWogAykCCDcDACAEIAMpAgA3A6AVIARBoBVqIAcQGUEobGogDDYCGCADKAIAIARBmBVqIAMpAgg3AwAgBCADKQIANwOQFSAEQZAVaiAHEBlBKGxqIAY2AhwgAigCACAEQYgVaiACKQIINwMAIAQgAikCADcDgBUgBEGAFWogBRAZQcgAbGogCTYCOCACKAIAIARB+BRqIAIpAgg3AwAgBCACKQIANwPwFCAEQfAUaiAMEBlByABsaiAHNgI4CyABQTBBLCAKGyIQIAEgAEE4bGpqKAIAQThsai0AICELIAggBEHYGWogBCgCgBogASADEPIFIQkgC0UEQCACELcDIQUgAigCACEGIARB6BRqIAIpAgg3AwAgBCACKQIANwPgFCACQRhqIAYgBEHgFGogCRAZQcgAbGpByAAQICEHIARB2BRqIAIpAgg3AwAgBCACKQIANwPQFCAEQdAUaiAFEBkhBgJAAkAgAigCECIKDgIBAwALIARBiBRqIg0gAigCACAGQcgAbGpByAAQIBogDSAKEQEACyACKAIAIAZByABsaiAHQcgAECAaIAIoAgAgBEGAFGogAikCCDcDACAEIAIpAgA3A/gTIARB+BNqIAkQGUHIAGxqIgYgCCkDADcDGCAGIAgpAwg3AyAgAigCACAEQfATaiACKQIINwMAIAQgAikCADcD6BMgBEHoE2ogBRAZQcgAbGoiBiAIKQMANwMIIAYgCCkDCDcDECACKAIAIARB4BNqIAIpAgg3AwAgBCACKQIANwPYEyAEQdgTaiAJEBlByABsaiAFNgIwIAIoAgAgBEHQE2ogAikCCDcDACAEIAIpAgA3A8gTIARByBNqIAkQGUHIAGxqQQA2AjQgAigCACAEQcATaiACKQIINwMAIAQgAikCADcDuBMgBEG4E2ogBRAZQcgAbGogCTYCKCACKAIAIARBsBNqIAIpAgg3AwAgBCACKQIANwOoEyAEQagTaiAFEBlByABsakEANgIsIAIoAgAhBiAEQaATaiACKQIINwMAIAQgAikCADcDmBMCQCAGIARBmBNqIAUQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARBkBNqIAIpAgg3AwAgBCACKQIANwOIEyAEQYgTaiAGEBlByABsaigCKCAJRw0AIAIoAgAgBEGAE2ogAikCCDcDACAEIAIpAgA3A/gSIARB+BJqIAYQGUHIAGxqIAU2AigLIAIoAgAhBiAEQfASaiACKQIINwMAIAQgAikCADcD6BICQCAGIARB6BJqIAUQGUHIAGxqKAIwIgZBAWtBfUsNACACKAIAIARB4BJqIAIpAgg3AwAgBCACKQIANwPYEiAEQdgSaiAGEBlByABsaigCLCAJRw0AIAIoAgAgBEHQEmogAikCCDcDACAEIAIpAgA3A8gSIARByBJqIAYQGUHIAGxqIAU2AiwLIAIoAgAhBiAEQcASaiACKQIINwMAIAQgAikCADcDuBICQCAGIARBuBJqIAUQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARBsBJqIAIpAgg3AwAgBCACKQIANwOoEiAEQagSaiAGEBlByABsaigCKCAJRw0AIAIoAgAgBEGgEmogAikCCDcDACAEIAIpAgA3A5gSIARBmBJqIAYQGUHIAGxqIAU2AigLIAIoAgAhBiAEQZASaiACKQIINwMAIAQgAikCADcDiBICQCAGIARBiBJqIAUQGUHIAGxqKAI0IgZBAWtBfUsNACACKAIAIARBgBJqIAIpAgg3AwAgBCACKQIANwP4ESAEQfgRaiAGEBlByABsaigCLCAJRw0AIAIoAgAgBEHwEWogAikCCDcDACAEIAIpAgA3A+gRIARB6BFqIAYQGUHIAGxqIAU2AiwLIAMQ8AEhByADEPABIQogAigCACAEQeARaiACKQIINwMAIAQgAikCADcD2BEgBEHYEWogCRAZQcgAbGooAjghBiADKAIAIARB0BFqIAMpAgg3AwAgBCADKQIANwPIESAEQcgRaiAGEBlBKGxqQQI2AgAgAygCACAEQcARaiADKQIINwMAIAQgAykCADcDuBEgBEG4EWogBhAZQShsaiIOIAgpAwA3AwggDiAIKQMINwMQIAMoAgAgBEGwEWogAykCCDcDACAEIAMpAgA3A6gRIARBqBFqIAYQGUEobGogADYCBCADKAIAIARBoBFqIAMpAgg3AwAgBCADKQIANwOYESAEQZgRaiAGEBlBKGxqIAo2AiAgAygCACAEQZARaiADKQIINwMAIAQgAykCADcDiBEgBEGIEWogBhAZQShsaiAHNgIkIAMoAgAgBEGAEWogAykCCDcDACAEIAMpAgA3A/gQIARB+BBqIAcQGUEobGpBAzYCACADKAIAIARB8BBqIAMpAgg3AwAgBCADKQIANwPoECAEQegQaiAHEBlBKGxqIAk2AhggAygCACAEQeAQaiADKQIINwMAIAQgAykCADcD2BAgBEHYEGogBxAZQShsaiAGNgIcIAMoAgAgBEHQEGogAykCCDcDACAEIAMpAgA3A8gQIARByBBqIAoQGUEobGpBAzYCACADKAIAIARBwBBqIAMpAgg3AwAgBCADKQIANwO4ECAEQbgQaiAKEBlBKGxqIAU2AhggAygCACAEQbAQaiADKQIINwMAIAQgAykCADcDqBAgBEGoEGogChAZQShsaiAGNgIcIAIoAgAgBEGgEGogAikCCDcDACAEIAIpAgA3A5gQIARBmBBqIAkQGUHIAGxqIAc2AjggAigCACAEQZAQaiACKQIINwMAIAQgAikCADcDiBAgBEGIEGogBRAZQcgAbGogCjYCOAsgDyAQaiETIAJBGGohFEEAIRAgDCEFQQAhDgNAAkACQCAFIghBAWtBfUsNACACKAIAIQUgBEGAEGogAikCCDcDACAEIAIpAgA3A/gPIARB+A9qIAgQGSEGIAIoAgAhByAEQfAPaiACKQIINwMAIAQgAikCADcD6A8gBEHoD2ogCRAZIQoCQCAFIAZByABsaiIFKwAgIhUgByAKQcgAbGoiBisAICIWREivvJry13o+oGQNACAVIBZESK+8mvLXer6gY0UgBSsAGCIXIAYrABgiGGRxDQAgFSAWoZlESK+8mvLXej5lRSAXIBihmURIr7ya8td6PmVFcg0BCyACKAIAIARB4A9qIAIpAgg3AwAgBCACKQIANwPYDyAEQdgPaiAIEBlByABsaigCOCEFIAMQ8AEhByADEPABIQogAygCACAEQdAPaiADKQIINwMAIAQgAykCADcDyA8gBEHID2ogBRAZQShsakEBNgIAIAMoAgAgBEHAD2ogAykCCDcDACAEIAMpAgA3A7gPIARBuA9qIAUQGUEobGogADYCBCADKAIAIARBsA9qIAMpAgg3AwAgBCADKQIANwOoDyAEQagPaiAFEBlBKGxqIAc2AiAgAygCACAEQaAPaiADKQIINwMAIAQgAykCADcDmA8gBEGYD2ogBRAZQShsaiAKNgIkIAMoAgAgBEGQD2ogAykCCDcDACAEIAMpAgA3A4gPIARBiA9qIAcQGUEobGpBAzYCACADKAIAIARBgA9qIAMpAgg3AwAgBCADKQIANwP4DiAEQfgOaiAHEBlBKGxqIAg2AhggAygCACAEQfAOaiADKQIINwMAIAQgAykCADcD6A4gBEHoDmogBxAZQShsaiAFNgIcIAMoAgAgBEHgDmogAykCCDcDACAEIAMpAgA3A9gOIARB2A5qIAoQGUEobGpBAzYCACACELcDIQYgAygCACAEQdAOaiADKQIINwMAIAQgAykCADcDyA4gBEHIDmogChAZQShsaiAGNgIYIAIoAgAgBEHADmogAikCCDcDACAEIAIpAgA3A7gOIARBuA5qIAYQGUHIAGxqQQE6AEQgAygCACAEQbAOaiADKQIINwMAIAQgAykCADcDqA4gBEGoDmogChAZQShsaiAFNgIcIAIoAgAgBEGgDmogAikCCDcDACAEIAIpAgA3A5gOIARBmA5qIAgQGSACKAIAIREgBEGQDmogAikCCDcDACAEIAIpAgA3A4gOIARBiA5qIAkQGSESQcgAbGoiBSsAICEVIBEgEkHIAGxqIg0rACAhFiAFKwAYIRcgDSsAGCEYIAIoAgAhBSAEQYAOaiACKQIINwMAIAQgAikCADcD+A0gFCAFIARB+A1qIAgQGUHIAGxqQcgAECAhDSAEQfANaiACKQIINwMAIAQgAikCADcD6A0gBEHoDWogBhAZIQUCQAJAIAIoAhAiEQ4CAQUACyAEQaANaiISIAIoAgAgBUHIAGxqQcgAECAaIBIgEREBAAsgBiAQIBcgGKGZREivvJry13o+ZRsgECAVIBahmURIr7ya8td6PmUbIRAgBiAOIAggDEYbIQ4gAigCACAFQcgAbGogDUHIABAgGiACKAIAIARBmA1qIAIpAgg3AwAgBCACKQIANwOQDSAEQZANaiAIEBlByABsaiAHNgI4IAIoAgAgBEGIDWogAikCCDcDACAEIAIpAgA3A4ANIARBgA1qIAYQGUHIAGxqIAo2AjggAigCACAEQfgMaiACKQIINwMAIAQgAikCADcD8AwgBEHwDGogCBAZQcgAbGooAjBBAWtBfkkNASACKAIAIARB6AxqIAIpAgg3AwAgBCACKQIANwPgDCAEQeAMaiAIEBlByABsaigCNEEBa0F+SQ0BQdqCBEETQQFBqPMIKAIAEDsaCyAAIAwgCUEBIAIgAxCtDiAAIA4gEEECIAIgAxCtDiAPQQE6ACAgBEGQGmokAA8LIAIoAgAhBSAEQdgMaiACKQIINwMAIAQgAikCADcD0AwCfwJAIAUgBEHQDGogCBAZQcgAbGooAjBBAWtBfUsNACACKAIAIARByAxqIAIpAgg3AwAgBCACKQIANwPADCAEQcAMaiAIEBlByABsaigCNEEBa0F+SQ0AIARB2BlqIgcgASACIAggBhCNCCACKAIAIARBuAxqIAIpAgg3AwAgBCACKQIANwOwDCAEQbAMaiAIEBlByABsaisDICEVIAIoAgAhBSAEQagMaiACKQIINwMAIAQgAikCADcDoAwCQAJAIBUgBSAEQaAMaiAJEBlByABsaisDIKGZREivvJry13o+ZUUNACACKAIAIARBmAxqIAIpAgg3AwAgBCACKQIANwOQDCAEQZAMaiAIEBlByABsaisDGCACKAIAIARBiAxqIAIpAgg3AwAgBCACKQIANwOADCAEQYAMaiAJEBlByABsaisDGKGZREivvJry13o+ZUUgC0VyDQACQCATKAIAIgVBAEwNACAFIAEgBxDJBEUNACACKAIAIQUgBEG4C2ogAikCCDcDACAEIAIpAgA3A7ALIAUgBEGwC2ogCBAZQcgAbGooAjAhByAEQagLaiACKQIINwMAIAQgAikCADcDoAsgBSAEQaALaiAHEBlByABsaiAINgIoIAIoAgAgBEGYC2ogAikCCDcDACAEIAIpAgA3A5ALIARBkAtqIAYQGUHIAGxqQX82AjAgAigCACAEQYgLaiACKQIINwMAIAQgAikCADcDgAsgBEGAC2ogBhAZQcgAbGpBfzYCNAwCCyACKAIAIQUgBEH4C2ogAikCCDcDACAEIAIpAgA3A/ALIAUgBEHwC2ogBhAZQcgAbGooAjAhByAEQegLaiACKQIINwMAIAQgAikCADcD4AsgBSAEQeALaiAHEBlByABsaiAGNgIsIAIoAgAgBEHYC2ogAikCCDcDACAEIAIpAgA3A9ALIARB0AtqIAgQGUHIAGxqQX82AjAgAigCACAEQcgLaiACKQIINwMAIAQgAikCADcDwAsgBEHAC2ogCBAZQcgAbGpBfzYCNAwBCyACKAIAIQUgBEH4CmogAikCCDcDACAEIAIpAgA3A/AKIAUgBEHwCmogCBAZQcgAbGooAjAhByAEQegKaiACKQIINwMAIAQgAikCADcD4AoCQCAFIARB4ApqIAcQGUHIAGxqKAIoQQFrQX1LDQAgAigCACEFIARB2ApqIAIpAgg3AwAgBCACKQIANwPQCiAFIARB0ApqIAgQGUHIAGxqKAIwIQcgBEHICmogAikCCDcDACAEIAIpAgA3A8AKIAUgBEHACmogBxAZQcgAbGooAixBAWtBfUsNACACKAIAIQUgBEG4CmogAikCCDcDACAEIAIpAgA3A7AKIAUgBEGwCmogCBAZQcgAbGooAjAhByAEQagKaiACKQIINwMAIAQgAikCADcDoAogBSAEQaAKaiAHEBlByABsaigCKCEHIAIoAgAhBSAEQZgKaiACKQIINwMAIAQgAikCADcDkAogBSAEQZAKaiAIEBlByABsaigCMCEKIARBiApqIAIpAgg3AwAgBCACKQIANwOACiAFIARBgApqIAoQGUHIAGxqIgVBLGogBUEoaiAHIAhGIgcbKAIAIQogAigCACEFIARB+AlqIAIpAgg3AwAgBCACKQIANwPwCSAFIARB8AlqIAgQGUHIAGxqKAIwIQ0gBEHoCWogAikCCDcDACAEIAIpAgA3A+AJIAUgBEHgCWogDRAZQcgAbGogCjYCPCACKAIAIQUgBEHYCWogAikCCDcDACAEIAIpAgA3A9AJIAUgBEHQCWogCBAZQcgAbGooAjAhCiAEQcgJaiACKQIINwMAIAQgAikCADcDwAkgBSAEQcAJaiAKEBlByABsakEBQQIgBxs2AkALIAIoAgAhBSAEQbgJaiACKQIINwMAIAQgAikCADcDsAkgBSAEQbAJaiAIEBlByABsaigCMCEHIARBqAlqIAIpAgg3AwAgBCACKQIANwOgCSAFIARBoAlqIAcQGUHIAGxqIAg2AiggAigCACEFIARBmAlqIAIpAgg3AwAgBCACKQIANwOQCSAFIARBkAlqIAgQGUHIAGxqKAIwIQcgBEGICWogAikCCDcDACAEIAIpAgA3A4AJIAUgBEGACWogBxAZQcgAbGogBjYCLAsgAigCACAEQfgIaiACKQIINwMAIAQgAikCADcD8AggBEHwCGogCBAZQcgAbGpBMGoMAQsgAigCACEFIARB6AhqIAIpAgg3AwAgBCACKQIANwPgCAJAIAUgBEHgCGogCBAZQcgAbGooAjBBAWtBfkkNACACKAIAIARB2AhqIAIpAgg3AwAgBCACKQIANwPQCCAEQdAIaiAIEBlByABsaigCNEEBa0F9Sw0AIARB2BlqIgcgASACIAggBhCNCCACKAIAIARByAhqIAIpAgg3AwAgBCACKQIANwPACCAEQcAIaiAIEBlByABsaisDICEVIAIoAgAhBSAEQbgIaiACKQIINwMAIAQgAikCADcDsAgCQAJAIBUgBSAEQbAIaiAJEBlByABsaisDIKGZREivvJry13o+ZUUNACACKAIAIARBqAhqIAIpAgg3AwAgBCACKQIANwOgCCAEQaAIaiAIEBlByABsaisDGCACKAIAIARBmAhqIAIpAgg3AwAgBCACKQIANwOQCCAEQZAIaiAJEBlByABsaisDGKGZREivvJry13o+ZUUgC0VyDQACQCATKAIAIgVBAEwNACAFIAEgBxDJBEUNACACKAIAIQUgBCACKQIINwPIByAEIAIpAgA3A8AHIAUgBEHAB2ogCBAZQcgAbGooAjQhByAEIAIpAgg3A7gHIAQgAikCADcDsAcgBSAEQbAHaiAHEBlByABsaiAINgIoIAIoAgAgBCACKQIINwOoByAEIAIpAgA3A6AHIARBoAdqIAYQGUHIAGxqQX82AjAgAigCACAEIAIpAgg3A5gHIAQgAikCADcDkAcgBEGQB2ogBhAZQcgAbGpBfzYCNAwCCyACKAIAIQUgBEGICGogAikCCDcDACAEIAIpAgA3A4AIIAUgBEGACGogBhAZQcgAbGooAjQhByAEIAIpAgg3A/gHIAQgAikCADcD8AcgBSAEQfAHaiAHEBlByABsaiAGNgIsIAIoAgAgBCACKQIINwPoByAEIAIpAgA3A+AHIARB4AdqIAgQGUHIAGxqQX82AjAgAigCACAEIAIpAgg3A9gHIAQgAikCADcD0AcgBEHQB2ogCBAZQcgAbGpBfzYCNAwBCyACKAIAIQUgBCACKQIINwOIByAEIAIpAgA3A4AHIAUgBEGAB2og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IARB0AVqIBIQGUEobGpBAzYCACAEIAApAwA3A8gFIAQgBCkDoAg3A8AFIAQoAqAIIARBwAVqIBIQGUEobGogBzYCHCAFELcDIQcgBRC3AyEKIAUQtwMhDCAFELcDIQ0gBSgCACAEIAUpAgg3A7gFIAQgBSkCADcDsAUgBEGwBWogBxAZIAQgACkDADcDqAUgBCAEKQOgCDcDoAVByABsaiIIIAQoAqAIIARBoAVqIAkQGUEobGoiCykDCDcDCCAIIAspAxA3AxAgBSgCACAEIAUpAgg3A5gFIAQgBSkCADcDkAUgBEGQBWogChAZIAQgACkDADcDiAUgBCAEKQOgCDcDgAVByABsaiIIIAQoAqAIIARBgAVqIAkQGUEobGoiCykDCDcDCCAIIAspAxA3AxAgBSgCACAEIAUpAgg3A/gEIAQgBSkCADcD8AQgBEHwBGogDRAZIAQgACkDADcD6AQgBCAEKQOgCDcD4ARByABsaiIIIAQoAqAIIARB4ARqIAkQGUEobGoiCykDCDcDGCAIIAspAxA3AyAgBSgCACAEIAUpAgg3A9gEIAQgBSkCADcD0AQgBEHQBGogBxAZIAQgACkDADcDyAQgBCAEKQOgCDcDwARByABsaiIIIAQoAqAIIARBwARqIAYQGUEobGoiCykDCDcDGCAIIAspAxA3AyAgBSgCACAEIAUpAgg3A7gEIAQgBSkCADcDsAQgBEGwBGogChAZIAQgACkDADcDqAQgBCAEKQOgCDcDoARByABsaiIIIAQoAqAIIARBoARqIAYQGUEobGoiCykDCDcDGCAIIAspAxA3AyAgBSgCACAEIAUpAgg3A5gEIAQgBSkCADcDkAQgBEGQBGogDBAZIAQgACkDADcDiAQgBCAEKQOgCDcDgARByABsaiIIIAQoAqAIIARBgARqIAYQGUEobGoiBikDCDcDCCAIIAYpAxA3AxAgBSgCACAEIAUpAgg3A/gDIAQgBSkCADcD8AMgBEHwA2ogDRAZQcgAbGpC//////////f/ADcDECAFKAIAIAQgBSkCCDcD6AMgBCAFKQIANwPgAyAEQeADaiANEBlByABsakL/////////9/8ANwMIIAUoAgAgBCAFKQIINwPYAyAEIAUpAgA3A9ADIARB0ANqIAwQGUHIAGxqQv////////93NwMgIAUoAgAgBCAF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AkAgBiAFQShsaiIBKAIgRQ0AIAMgAikDGDcDmAEgAyACKQMQNwOQASADIAIpAwg3A4gBIAMgAikDADcDgAEgAyABKQMINwNoIAMgASkDEDcDcCADIAEpAxg3A3ggAyABKQMANwNgIANBgAFqIANB4ABqEIoDRQ0AIAEoAiAhASADIAIpAxg3A1ggAyACKQMQNwNQIAMgAikDCDcDSCADIAIpAwA3A0AgACABIANBQGsQuA4hByAEIgFFBEAgByEEDAELA0AgASIIKAIAIgENAAsgCCAHNgIACyAFQQFqIQUMAAsACyADQaABaiQAIAQLfQEEfyAAQShqIQICQCAAKAIEQQBKBEADQCABQcAARg0CIAIgAUEobGoiAygCACIEBEAgBBC5DiADKAIAEBggACABELoOCyABQQFqIQEMAAsACwNAIAFBwABGDQEgAiABQShsaigCAARAIAAgARC6DgsgAUEBaiEBDAALAAsLXQACQCAARSABQcAAT3JFBEAgACABQShsaiIBKAIoRQ0BIAFBCGoQuw4gACAAKAIAQQFrNgIADwtBy9sBQau9AUGtAUHK+gAQAAALQfWlAUGrvQFBrgFByvoAEAAACw4AIAAQvQ4gAEEANgIgCzoBAX8gAEKAgICAcDcDACAAQQhqIQFBACEAA0AgAEHAAEcEQCABIABBKGxqELsOIABBAWohAAwBCwsLJQEBfwNAIAFBBEcEQCAAIAFBA3RqQgA3AwAgAUEBaiEBDAELCwvyAwEDfyMAQfAAayIDJAACQAJAAkACQANAIAQgACgACE8NASAAKAIAIAMgACkCCDcDSCADIAApAgA3A0AgA0FAayAEEBlBHGxqKAIAIgVFDQMgAkUNBCAFIAIQTARAIARBAWohBAwBCwsgACgCACADIAApAgg3AzggAyAAKQIANwMwIANBMGogBBAZQRxsaiABNgIYIAAoAgAgAyAAKQIINwMoIAMgACkCADcDICADQSBqIAQQGUEcbGpBBGpBBBAnIQEgACgCACADIAApAgg3AxggAyAAKQIANwMQIANBEGogBBAZQRxsaigCGCECIAAoAgAgAyAAKQIINwMIIAMgACkCADcDACADIAQQGUEcbGooAgQgAUECdGogAjYCAAwBCyADQQA2AmggA0IANwJgIAMgATYCbCADQgA3AlggAyACNgJUIANB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ASgCsAIgAEEcbGoiACkCCDcDOCABQUBrIAApAhA3AwAgASAAKAIYNgJIIAEgACkCADcDMCABQTBqIAMRAQALIAJBAWohAgwBCwALAAUgASABKQLoAjcDKCABIAEpAuACNwMgIAFBIGogAhAZIQACQAJAIAEoAvACIgMOAgEHAAsgASABKALgAiAAQRxsaiIAKQIINwMIIAEgACkCEDcDECABIAAoAhg2AhggASAAKQIANwMAIAEgAxEBAAsgAkEBaiECDAELAAsACyAAIAUQbiECA0BBACEDAkACQAJAIAJFBEBBACECA0AgAiABKALoAiIETw0CIAEgASkC6AI3A5ABIAEgASkC4AI3A4gBIAEoAuACIAFBiAFqIAIQGUEcbGooAAxBAk8EQCABIAEpAugCNwOAASABIAEpAuACNwN4IAEgASgC4AIgAUH4AGogAhAZQRxsaiIEKQIUNwNwIAEgBCkCDDcDaCABIAQpAgQ3A2AgBSABQeAAahC/DgsgAkEBaiECDAALAAsgAkFQQQAgAigCAEEDcSIDQQJHG2ooAigiBCACIAJBMGoiBiADQQNGGygCKEYNAgJAIAQgBUcNAEGs2gooAgAiBEUNACACIAQQRCIDLQAADQIgAigCAEEDcSEDCyACIAYgA0EDRhsoAiggBUcNAkGw2gooAgAiA0UNAiACIAMQRCIDLQAARQ0CIAFBsAJqIAIgAxC+DgwCCwNAAkAgAyAETwRAIAFB4AJqQRwQM0EAIQNBACECA0AgAiABKAK4AiIETw0CIAEgASkCuAI3A/gBIAEgASkCsAI3A/ABIAEoArACIAFB8AFqIAIQGUEcbGooAAxBAk8EQCABIAEpArgCNwPoASABIAEpArACNwPgASABIAEoArACIAFB4AFqIAIQGUEcbGoiBCkCFDcD2AEgASAEKQIMNwPQASABIAQpAgQ3A8gBIAUgAUHIAWoQvw4LIAJBAWohAgwACwALIAEgASkC6AI3A8ABIAEgASkC4AI3A7gBIAFBuAFqIAMQGSECAkACQCABKALwAiIEDgIBCQALIAEgASgC4AIgAkEcbGoiAikCCDcDoAEgASACKQIQNwOoASABIAIoAhg2ArABIAEgAikCADcDmAEgAUGYAWogBBEBAAsgA0EBaiEDIAEoAugCIQQMAQsLA0AgAyAETwRAIAFBsAJqQRwQMyAAIAUQHSEFDAUFIAEgASkCuAI3A6gCIAEgASkCsAI3A6ACIAFBoAJqIAMQGSECAkACQCABKALAAiIEDgIBCQALIAEgASgCsAIgAkEcbGoiAikCCDcDiAIgASACKQIQNwOQAiABIAIoAhg2ApgCIAEgAikCADcDgAIgAUGAAmogBBEBAAsgA0EBaiEDIAEoArgCIQQMAQsACwALIAFB4AJqIAIgAxC+DgsgACACIAUQciECDAALAAsACyABQZADaiQADwtBvoAEQcIAQQFBqPMIKAIAEDsaEDwACxwBAX9BASECIAAgARDQDgR/QQEFIAAgARDPDgsLQAECfwJAIAEgACgCAE8NACACIAAoAgQiBE8NACAAKAIIIAEgBGwgAmoiAEEDdmotAAAgAEEHcXZBAXEhAwsgAwvOAgEKfwJAAkAgAARAIAAoAgAiBSABSyAAKAIEIgQgAktxRQRAIAQgAkEBaiIDIAMgBEkbIgQgBSABQQFqIgMgAyAFSRsiBWwiA0EDdiADQQdxQQBHahDGAyEHIAAoAgAhCANAIAYgCEcEQCAEIAZsIQkgACgCBCEKQQAhAwNAIAMgCkYEQCAGQQFqIQYMAwsgACAGIAMQwg4EQCAHIAMgCWoiC0EDdmoiDCAMLQAAQQEgC0EHcXRyOgAACyADQQFqIQMMAAsACwsgACgCCBAYIAAgBzYCCCAAIAQ2AgQgACAFNgIACyABIAVPDQEgAiAETw0CIAAoAgggASAEbCACaiIAQQN2aiIBIAEtAABBASAAQQdxdHI6AAAPC0Gy1AFBurgBQccAQZoiEAAAC0G6JkG6uAFB5ABBmiIQAAALQdwsQbq4AUHlAEGaIhAAAAuqAgEHfyMAQRBrIgQkACAAKAIAIgMoAhAhBSADKAIIIQYgAgRAEJ4OCyAFQRhqIgIhAANAIAAoAgAiAARAIAAoAghFBEAQng4LIABBDGohAAwBCwsgAUGCAmsiAUEDSQRAIAMgARCgCCACIQADQCAAKAIAIgAEQAJAIAAoAgBBiwJGDQACQCAAKAIEIgMtABUEQCAFKAIAIAZGDQELIAAoAggQdSAAKAIIIQMgBSgCACEHIAAoAgQoAgghCARAIAcgASAIIAMQ6AMhAwwBCyAHIAEgCCADECIhAwsgBSgCACAGRw0AIANBAToAFgsgAEEMaiEADAELCyAGIAIQugIgBEEQaiQADwsgBEH2AjYCBCAEQY0SNgIAQajzCCgCAEHmvAQgBBAfGhA8AAtMAQF/A0AgACIBKAIQKAJ4IgANAAsgAUEwQQAgASgCAEEDcSIAQQNHG2ooAigoAhAoAugBIAFBUEEAIABBAkcbaigCKCgCECgC6AFHC88EAQd/IwBBIGsiBCQAAkACQAJAAkACQCABQVBBACABKAIAQQNxIgVBAkcbaigCKCIGKAIQKALQASIHRQ0AIAFBMEEAIAVBA0cbaiEIA0AgByADQQJ0aigCACICRQ0BIANBAWohAyACQVBBACACKAIAQQNxQQJHG2ooAiggCCgCKEcNAAsgASACEI0DAkAgAigCECIALQBwQQRHDQAgACgCeA0AIAAgATYCeAsgASABQTBqIgAgASgCAEEDcUEDRhsoAigoAhAiAygC5AEiAkEBaiIFQf////8DTw0CIAJBAmoiAkGAgICABE8NAyADKALgASEDAkAgAkUEQCADEBhBACECDAELIAMgAkECdCIDEGYiAkUNBSADIAVBAnQiBU0NACACIAVqQQA2AAALIAEgACABKAIAQQNxQQNGGygCKCgCECACNgLgASABIAAgASgCAEEDcUEDRhsoAigoAhAiAiACKALkASIDQQFqNgLkASACKALgASADQQJ0aiABNgIAIAEgACABKAIAQQNxQQNGGygCKCgCECIAKALgASAAKALkAUECdGpBADYCAAwBCyAGIAFBMEEAIAVBA0cbaigCKCABEKUIIgIoAhAiA0EEQQMgASgCECIBLQBwQQRGGzoAcCADIAEoAmA2AmAgACACEPwFCyAEQSBqJAAPC0GgvQNBz/wAQc0AQe2yARAAAAsgBEEENgIEIAQgAjYCAEGo8wgoAgBBtOcDIAQQHxoQLAALIAQgAzYCEEGo8wgoAgBBg+cDIARBEGoQHxoQLAALvAEBA38gASgCECIEQQE2ArABAkAgBCgC1AFFDQADQCAEKALQASAFQQJ0aigCACIGRQ0BAkAgACAGEPkFRQ0AIAZBUEEAIAYoAgBBA3FBAkcbaigCKCIEKAIQKAKwAQ0AIAAgBCACIAMQxw4LIAVBAWohBSABKAIQIQQMAAsACyADIAQoAvQBRwRAQe47Qbq4AUGKC0HiORAAAAsgAiABNgIUIAJBBBAnIQAgAigCACAA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IAEQzQ4gBUEBaiEFIAYoAhAiBCgC7AEhBwwBCwsgBCAMOgCRAkEAIQQLIARFDQALQQAhAgNAIAIgAygCQE8NBCADIANBQGspAwA3AyAgAyADKQM4NwMYIANBGGogAhAZIQACQAJAAkAgAygCSCIBDgICAAELIAMoAjggAEECdGooAgAQGAwBCyADKAI4IABBAnRqKAIAIAERAQALIAJBAWohAgwACwALIAIoAhAgCWooAgAhAgwBCwtByPoKKAIAIQUgACgCECICKALoASEEA0AgAigC7AEgBE4EQCAEQcgAbCIBIAUoAhAoAsQBakEAOgAxAkAgAi0AdEEBcUUNACACKALEASABaiIBKAIAIgZBAEwNACAGQQFrIgZBAXZBAWohByABKAIEIQFBACECA0AgAiAHRwRAIAEgAkECdGooAgAgASAGIAJrQQJ0aigCABCVCCACQQFqIQIMAQsLIAAoAhAhAgsgBEEBaiEEDAELCwJAIAAQYCAARw0AEMsEQgBXDQAgAEEAEJQIC0EAIQRBACECA0AgAiADKAJATw0BIAMgA0FAaykDADcDECADIAMpAzg3AwggA0EIaiACEBkhAAJAAkACQCADKAJIIgEOAgIAAQsgAygCOCAAQQJ0aigCABAYDAELIAMoAjggAEECdGooAgAgAREBAAsgAkEBaiECDAALAAsgA0E4aiIAQQQQMyAAEDggA0HQAGokACAEC80IAgp/An5CfyELAkACfyAAIgIQ5g0gACgCECIAQQE2AtwBIAAoAtgBIAAoAsABNgIAIAIQ2w4CQAJAIAJBABDZDiIDDQAgAigCECIAKALoASAAKALsAUoNASACEGAhASACKAIQIgMoAugBIgRBAEoEQCABKAIQKALEASAEQcgAbGpBF2tBADoAAAsDQCADKALsASAETgRAIAEgBCADKAKMAiAEQQJ0aigCACgCECgC+AEiACAEQcgAbCIIIAMoAsQBaigCABDkDUEAIQUgACEGA0AgAigCECIDKALEASAIaiIHKAIAIAVKBEAgASgCECgCxAEgCGooAgQgBkECdGogBygCBCAFQQJ0aigCACIDNgIAIAMoAhAiByAGNgL4ASAHLQCsAUEBRgRAIAMgARA5NgIYCyAGQQFqIQYgAiADEP0FIAEgAxCkCCAFQQFqIQUMAQsLIAcgASgCECgCxAEgCGoiBSgCBCAAQQJ0ajYCBCAFQQA6ADEgBEEBaiEEDAELCyABKAIQIgAoAuwBIARKBEAgACgCxAEgBEHIAGxqQQA6ADELIANBAToAkAIgAhBgIQQgAhAcIQYDQCAGBEBBACEBIAQgBhBuIQUDQCAFIgBFBEAgAiAGEB0hBgwDCyAEIAAgBhByIQUgAiAAEKsBDQAgASAAQVBBACAAKAIAQQNxQQJHG2oiABDnDSAAQVBBACAAKAIAQQNxIgdBAkcbaigCKCIDKAIQKAL0ASEIIABBMEEAIAdBA0cbaigCKCIHKAIQKAL0ASEJBEAgACgCECIDIAFBACAIIAlGGzYCsAEgASgCECIIKAKwAUUNASADQQA2ArABIAIgACAIKAKwAUEAEMYEIAAQ8Q4MAQsgCCAJRgRAIAcgAxD0DiIDRQRAIAAiASgCECgCsAENAiAEIAAQ/AUMAgsgACADRg0BIAAQ8Q4gACgCECgCsAENASAAIAMQjQMMAQsgCCAJSgRAIAcgAyAAEOMNBSADIAcgABDjDQsgACEBDAALAAsLIAIoAhAiASgC6AEhBEEAIQMDQCAEIAEoAuwBSg0BIARBAnQiBiABKAKMAmooAgAhAANAIAAoAhAiBSgCyAEoAgAiAQRAIAEQlAIgASgCEBAYIAEQGAwBCwsDQCAFKALAASgCACIBBEAgARCUAiABEBggACgCECEFDAELCyACEGAgABD9BSAAKAIQKALAARAYIAAoAhAoAsgBEBggACgCEBAYIAAQGCACKAIQKAKMAiAGakEANgIAIARBAWohBCACKAIQIQEMAAsACyADDAELQZ+xA0HTuQFB3gFBtC0QAAALDQAgAhCZCCACENgOIAIQ1w4gAkECEJgIIgtCAFMNAEEBIQADQCACKAIQIgEoArQBIABOBEAgASgCuAEgAEECdGooAgAQ2g4iDEIAUwRAIAwPBSAAQQFqIQAgCyAMfCELDAILAAsLIAIQ0w4LIAsL7AIBBn8gACgCECgC7AFBAmpBBBA+IQYgABAcIQIDQCACBEAgBiACKAIQKAL0AUECdGoiASABKAIAQQFqNgIAIAAgAhAtIQEDQCABBEAgAUEwQQAgASgCAEEDcSIDQQNHG2ooAigoAhAoAvQBIgQgAUFQQQAgA0ECRxtqKAIoKAIQKAL0ASIFIAQgBUgbIQMgBCAFIAQgBUobIQQDQCADQQFqIgMgBE5FBEAgBiADQQJ0aiIFIAUoAgBBAWo2AgAMAQsLIAAgARAwIQEMAQsLIAAgAhAdIQIMAQsLIAAoAhAoAuwBQQJqQcgAED4hASAAKAIQIgIgATYCxAEgAigC6AEhAwNAIAMgAigC7AFKRQRAIAEgA0HIAGwiAmoiBCAGIANBAnRqKAIAQQFqIgE2AgggBCABNgIAIAFBBBA+IQQgAiAAKAIQIgIoAsQBIgFqIgUgBDYCDCAFIAQ2AgQgA0EBaiEDDAELCyAGEBgLvwQCBX8BfiMAQRBrIgYkAEEBIQQDQCAEIAAoAhAiAygCtAFKRQRAIAMoArgBIARBAnRqKAIAIAEgAhDcDiECIARBAWohBAwBCwsCQAJAIAAQYCAARg0AIAEiAygCBCIEQSFPBH8gAygCAAUgAwtBACAEQQN2IARBB3FBAEdqEDYaIAAQHCEFA0AgBQRAIAEgBSgCECgC9AEQ+AUgACAFEC0hAwNAIAMEQCADQShqIQcgBSgCECgC9AEhBANAIAQgB0FQQQAgAygCAEEDcUECRxtqKAIAKAIQKAL0AU5FBEAgASAEQQFqIgQQ+AUMAQsLIAAgAxAwIQMMAQsLIAAgBRAdIQUMAQsLIAAoAhAiAygC6AEhBANAIAQgAygC7AFKDQEgBiABKQAAIgg3AwggBCAIQiCIp08NAiAEQQN2IAZBCGogCKcgCEKAgICAkARUG2otAAAgBEEHcXZBAXFFBEAgAkUEQCAAEGBBk/QAQQEQkQEhAgsgAkEAQQEQiwEiBUGqJkHAAkEBEDUaIAUoAhAiA0KAgICAgICA8D83A2AgAyAENgL0ASADQoCAgICAgIDwPzcDWCADQQE2AuwBIANCgICAgICAgPg/NwNQIANBADYCxAFBBUEEED4hAyAFKAIQIgdBADYCzAEgByADNgLAAUEFQQQQPiEDIAUoAhAgAzYCyAEgACAFQQEQgwEaIAAoAhAhAwsgBEEBaiEEDAALAAsgBkEQaiQAIAIPC0G/sANB7PoAQcIAQZcjEAAAC78MAwp/An4BfCMAQUBqIgYkAEEBIQIDQCACQQJ0IQUCQANAIAIgACgCECIBKAK0AUsNASABKAK4ASAFaigCABAcRQRAQZSFBEEAECogACgCECIHKAK4ASAFaiIBIAFBBGogBygCtAEgAmtBAnQQtgEaIAAoAhAiASABKAK0AUEBazYCtAEMAQsLIAJBAWohAgwBCwtBjNgKLQAABEAQrwELQcj6CiAANgIAQcT6CkEAOgAAQcz6CiAAEGAQtQJBAWoiAUEEED42AgAgAUEEED4hAUHQ+gpBCDYCAEHU+gogATYCAEG42ApBGDYCAAJAIABBiiEQJiIBRQ0AIAEQkQIiDUQAAAAAAAAAAGRFDQBBASECQQEhAUHQ+gpB0PoKKAIAIA0QgARBAEoEf0HQ+gooAgAgDRCABAVBAQs2AgBBuNgKQbjYCigCACANEIAEQQBKBH9BuNgKKAIAIA0QgAQFQQELNgIACwJAIAAoAhAiAS0AiAFBEHFFDQAgBiABKALsAUECaiIBNgI8IAZBADYCOCABQSFPBEAgBiABQQN2IAFBB3FBAEdqQQEQPjYCOAsgACAGQThqQQAQ3A4aIAYoAjxBIUkNACAGKAI4EBgLIAAQ5g0gAEEBEKEIIAAQ2w4gABCZCEHY+gogACgCECIDKALoATYCAEHc+gogAygC7AE2AgACQAJAA0AgAygC3AEiBSAESwRAIAMgAygC2AEgBEECdGooAgA2AsABAkAgBEUNACADKALsASEHIAMoAugBIQIDQCACIAdKDQEgAygCxAEgAkHIAGxqIgUoAgAhASAFQQA2AgAgBSAFKAIEIAFBAnRqNgIEIAJBAWohAgwACwALIABBABCYCCIMQgBTDQIgBEEBaiEEIAsgDHwhCyAAKAIQIQMMAQsLAkAgBUEBTQRAIAMoAugBIQQMAQsgAygC2AEhB0EAIQEDQCAFIAhGBEAgA0EBNgLcASADIAcoAgA2AsABIANB2PoKKAIAIgQ2AugBIANB3PoKKAIANgLsAQwCCyAHIAhBAnRqKAIAIQIgAQRAIAEoAhAgAjYCuAELIAIoAhAgATYCvAEDQCACIgEoAhAoArgBIgINAAsgCEEBaiEIDAALAAtBqPMIKAIAIQpBASEJA0ACQCADKALsASAESARAA0AgCSADKAK0ASIBSg0CIAMoArgBIAlBAnRqKAIAENoOIgxCAFMNBCAJQQFqIQkgCyAMfCELIAAoAhAhAwwACwALIARByABsIgggAygCxAFqIgIgAigCCCIBNgIAIAIgAigCDCIFNgIEQQAhAiABQQAgAUEAShshBwNAAkAgAiAHRwRAIAUgAkECdGooAgAiAQ0BQYzYCi0AAARAIAAQISEBIAYgACgCECgCxAEgCGooAgA2AiwgBiACNgIoIAYgBDYCJCAGIAE2AiAgCkHm6wMgBkEgahAfGiAAKAIQIQMLIAMoAsQBIAhqIAI2AgALIARBAWohBAwDCyABKAIQIAI2AvgBIAJBAWohAgwACwALCwJAIAFBAEwNACAAQfkoECYiAQRAIAEQaUUNAQsgABCHCEHE+gpBAToAACAAQQIQmAgiC0IAUw0BC0HU+gooAgAiAQRAIAEQGEHU+gpBADYCAAtBzPoKKAIAIgEEQCABEBhBzPoKQQA2AgALQQEhAgNAIAIgACgCECIEKAK0AUpFBEAgBCgCuAEgAkECdGooAgAQlwggAkEBaiECDAELCyAEKALoASEJA0BBACEFIAkgBCgC7AFKRQRAA0AgBSAEKALEASAJQcgAbGoiASgCAE5FBEAgASgCBCAFQQJ0aigCACIHKAIQIgEgBTYC+AFBACECIAEoAtABIggEQANAIAggAkECdGooAgAiAQRAIAEoAhAtAHBBBEYEfyABEKMIIAEoAhAQGCABEBggBygCECgC0AEhCCACQQFrBSACC0EBaiECDAELCyAAKAIQIQQLIAVBAWohBQwBCwsgASgCQCIBBEAgASgCCBAYIAEQGCAAKAIQIQQLIAlBAWohCQwBCwtBACECQYzYCi0AAEUNASAAECEhACAGEIwBOQMQIAYgCzcDCCAGIAA2AgAgCkHG3QQgBhAyDAELQX8hAgsgBkFAayQAIAILlAEBAn8gA0EEaiEFIAAoAgAhBgJAIAMoAgBBhgJGBEAgAygCBCIDEBwhBQNAIAVFDQIgACABIAIgBigCECgCACAFQQAQgwFBACAEEP4NIAMgBRAdIQUMAAsACwNAIAUoAgAiA0UNASAAIAEgAiAGKAIQKAIAIAMoAgRBABCDASADKAIIIAQQ/g0gA0EMaiEFDAALAAsLSwEDfyAAKAIQIgIgAigCtAEiBEEBaiIDNgK0ASACKAK4ASADIARBAmoQ2AEhAiAAKAIQIAI2ArgBIAIgA0ECdGogATYCACABEJUEC/sBAQV/IAEQHCEDA0AgAwRAIAEgAxAdIQQgAygCEC0AtQEEQCABIAMQtwEgBCEDDAIFQQEhAgNAAkAgACgCECIFKAK0ASIGIAJKBH8gBSgCuAEgAkECdGooAgAgAxCrAUUNASAAKAIQKAK0AQUgBgsgAkoEQCABIAMQtwELIAMoAhBBADYC6AEgBCEDDAQLIAJBAWohAgwACwALAAsLIAEQHCEAA0AgAARAIAEQYCAAEC0hAgNAIAIEQCABIAJBUEEAIAIoAgBBA3FBAkcbaigCKBCrAQRAIAEgAkEBENYCGgsgARBgIAIQMCECDAELCyABIAAQHSEADAELCwt8AQN/IAAoAgQhAgNAIAJBf0ZFBEAgACgCACEDAkAgAUUNACADIAJBAnRqKAIAIgRFDQAgASAENgIUIAFBBBAnIQMgASgCACADQQJ0aiABKAIUNgIAIAAoAgAhAwsgAyACQQJ0akEANgIAIAJBAWshAgwBCwsgAEEANgIEC4ICAQN/AkACQAJAIAEoAhAiAigCyAENACACIAA2AsgBIAAgARDgDiABEBxFDQAgACABEN8OQQAhAkGo2AooAgBB5ABGBEAgARDoDiABKAIQIgRBwAFqIQADQCAAKAIAIgAEQCAAKAIQIgMoAvQBRQRAIAIgACADLQCsARshAgsgA0G4AWohAAwBCwsgAkUNAiAEIAI2AogCIAEQHCEAA0AgAEUNAiAAIAJHIAAoAhAoAuwBQQJOcQ0EIAAgAhD9BBogACgCEEEHOgC1ASABIAAQHSEADAALAAsgARDtDgsPC0G/0wFBu7sBQbMCQbc6EAAAC0HGOkG7uwFBtwJBtzoQAAALagECfyAAKAIQIgEgASgCiAIoAhAoAvQBIgIgASgC6AFqNgLoASABIAIgASgC7AFqNgLsAUEBIQIDQCACIAEoArQBSkUEQCABKAK4ASACQQJ0aigCABDjDiACQQFqIQIgACgCECEBDAELCwvfAgEEfyABEHghAwNAIAMEQEEHIQQCQAJAIAMQxAFFBEAgA0G59AAQJkGgzApBwMwKENUGIQQgAygCECAEOgCSAiAERQ0BCwJAIARBB0cNAEGo2AooAgBB5ABHDQAgACADEOIODAILIAMQHCICRQ0BIAQhBSACIQEDQCABKAIQIAU6ALUBIAMgARAdIgEEQCACIAEQ/QQaIAIoAhAtALUBIQUMAQsLAkACQAJAIARBAmsOBAAAAQEECyAAKAIQIgEoAuABIgVFBEAgASACNgLgAQwCCyAFIAIQ/QQhAiAAKAIQIgEgAjYC4AEMAQsgACgCECIBKALkASIFRQRAIAEgAjYC5AEMAQsgBSACEP0EIQIgACgCECIBIAI2AuQBC0HgASECAkACQCAEQQNrDgMBAwADC0HkASECCyABIAJqKAIAKAIQIAQ6ALUBDAELIAAgAxDkDgsgAxB3IQMMAQsLC7kBAQN/QQEhAgNAIAIgACgCECIDKAK0AUpFBEAgAygCuAEgAkECdGooAgBBABDlDiACQQFqIQIMAQsLAkAgAUUEQCADKALIAUUNAQsgA0L/////dzcD6AFBACEBIAAQHCECA0AgAgRAIAIoAhAoAvQBIgMgACgCECIEKALsAUoEQCAEIAM2AuwBCyADIAQoAugBSARAIAQgAzYC6AEgAiEBCyAAIAIQHSECDAELCyAAKAIQIAE2AogCCwumAgEGfyABKAIQIgYoArABRQRAIAZBAToAtAEgBkEBNgKwASAAIAEQLSECA0AgAgRAIAAgAhAwIQYgAkEAQVAgAigCAEEDcSIHQQJGIgMbaigCKCIFKAIQIgQtALQBBEAgACACIAJBMGsiBCADGygCKCACIAJBMGoiBSAHQQNGGygCKEEAQQAQXiIDRQRAIAAgAiAEIAIoAgBBA3EiBEECRhsoAiggAiAFIARBA0YbKAIoQQBBARBeIQMLIAIoAhAiBCgCrAEhBSADKAIQIgMgAygCnAEgBCgCnAFqNgKcASADIAMoAqwBIgQgBSAEIAVKGzYCrAEgACACELcBIAYhAgwCCyAGIQIgBCgCsAENASAAIAUQ5g4MAQsLIAEoAhBBADoAtAELC/YBAQR/AkAgABDEAUUNACAAEJ8IRQ0AIAAQHCEEA0AgBARAIAAgBBC+AkUEQCAEEIYCKAIQKAKkASEFIAJFBEAgAUG42QAQzAQhAgsgASACIAVBAEEBEF4aCyAAIAQQLUUEQCABIAQQhgIoAhAoAqQBIANFBEAgAUGQHxDMBCEDCyADQQBBARBeGgsgACAEEB0hBAwBCwsgAkUgA0VyDQAgASACIANBAEEBEF4oAhAiBCAEKAKcAUHoB2o2ApwBIAQgBCgCrAEiBEEAIARBAEobNgKsAQsgABB4IQQDQCAEBEAgBCABIAIgAxDnDiAEEHchBAwBCwsLxBIBC38jAEFAaiIFJAAgABDrDiAAIAAQ5A4gABDiDSAAEBwhAwNAIAMEQCAAIAMQLSEBA0AgAQRAAkAgASgCECgCsAENACABEN8NDQAgASABQTBqIgYgASgCAEEDcUEDRhsoAigQogEiBCABIAFBMGsiByABKAIAQQNxQQJGGygCKBCiASICRg0AAkAgBCgCECgC6AFFBEAgAigCECgC6AFFDQELIAEgByABKAIAQQNxIgRBAkYiBxsgASAGIARBA0YiBhshCkEAIQRBACECIAFBAEEwIAYbaigCKCgCECIGKALoASILBEAgBigC9AEgCygCECgCiAIoAhAoAvQBayECCygCKCAKKAIoIAFBAEFQIAcbaigCKCgCECIGKALoASIHBEAgBygCECgCiAIoAhAoAvQBIAYoAvQBayEECyABKAIQKAKsASEHIAAQuwIiBigCEEECOgCsARCiASEKEKIBIQkgBiAKRAAAAAAAAAAAQQAgByACIARqaiIEa7ggBEEASiICGyABKAIQKAKcAUEKbBCfASAGIAkgBEEAIAIbuCABKAIQKAKcARCfASgCECABNgJ4KAIQIAE2AngMAQsgBCACELkDIgYEQCABIAYQjQMMAQsgBCACIAEQ4wEaCyAAIAEQMCEBDAELCyAAIAMQHSEDDAELCyAAKAIQIgMoAuABIQECQAJAAkACQAJAIAMoAuQBIgNFBEAgAQ0BQQAhBgwFCyABRQ0BCyABEKIBIQEgACgCECICIAE2AuABIAIoAuQBIgNFDQELIAMQogEhASAAKAIQIgIgATYC5AEgAUUNACABKAIQIgItALUBQQVGIQYCQANAIAIoAsgBKAIAIgMEQCADQVBBACADKAIAQQNxQQJHG2ooAigiBBCiASAERw0CIAMQogggASgCECECDAELCyAAKAIQIQIMAgtB6KcDQbu7AUGUA0GhMBAAAAtBACEGCyACKALgASIDRQRADAELIAMoAhAiAi0AtQFBA0YhCANAIAIoAsABKAIAIgFFDQEgAUEwQQAgASgCAEEDcUEDRxtqKAIoIgQQogEgBEYEQCABEKIIIAMoAhAhAgwBCwtByKcDQbu7AUGbA0GhMBAAAAsgAEEAEKEIIAAhAUEAIQQDQCABKAIQIgAoAtwBIARLBEAgACAAKALYASAEQQJ0aigCACIANgLAASAAIQMDQCADBEAgAygCECIDQQA2ArABIAMoArgBIQMMAQsLA0AgAARAIAAQ7w4gACgCECgCuAEh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AugBCyADIQEgAgRAIAEgAiAEIAIoAhAoAvQBSBshAQsgACADEB0hAyABIQIMAQsLIAEgAjYCiAILNwAgASgCEEG0+gooAgBBAWo2ArABIAAgATYCFCAAQQQQJyEBIAAoAgAgAUECdGogACgCFDYCAAuUAQEEfyAAKAIQIgEoArABRQRAIAFBAToAtAEgAUEBNgKwAQNAIAEoAsgBIAJBAnRqKAIAIgMEQAJAIANBUEEAIAMoAgBBA3FBAkcbaigCKCIBKAIQIgQtALQBBEAgAxCiCCACQQFrIQIMAQsgBCgCsAENACABEO8OCyACQQFqIQIgACgCECEBDAELCyABQQA6ALQBCwsYAQF/QSQQUiICIAE2AgAgAiAANgIgIAILnAEBBX8gAEEwQQAgACgCAEEDcUEDRxtqKAIoKAIQIgIoAuABIQQgAigC5AEhAwJAA0AgASADRwRAIAFBAnQhBSABQQFqIQEgACAEIAVqKAIARw0BDAILCyACIAQgA0EBaiADQQJqENgBIgE2AuABIAIgAigC5AEiAkEBaiIDNgLkASABIAJBAnRqIAA2AgAgASADQQJ0akEANgIACwv/AgEHfyAAKAJQIQQgACgCJCICIAAtABg6AAACQAJAIAAoAhQgACgCDEECdGooAgAiAygCBCIBQQJqIAJLBEAgASAAKAIcakECaiEFIAEgAygCDGpBAmohBgNAIAEgBUkEQCAGQQFrIgYgBUEBayIFLQAAOgAAIAAoAhQgACgCDEECdGooAgAiAygCBCEBDAELCyAAIAMoAgwiBzYCHCADIAc2AhAgAiAGIAVrIgNqIgIgAUECakkNASADIARqIQQLIAJBAWsiAUHAADoAACAAIAQ2AlAgAS0AACECIAAgATYCJCAAIAI6ABgMAQtB3xUQnQIAC0EAIQIgACgCACgCCCIDKAJMQSxqIQUDQCACQQNHBEACQCAFIAJBAnRqIgQoAgAiAEUNACAAQQBBgAEgACgCABEDACEBA0AgASIARQ0BIAQoAgAiASAAQQggASgCABEDACEBIAAoAhgtAABBJUcNACADIAIgACkDEBDjCQwACwALIAJBAWohAgwBCwsL8AIBA38gACAAQTBqIgIgACgCAEEDcUEDRhsoAigoAhAiASgCyAEgASgCzAEiAUEBaiABQQJqENgBIQEgACACIAAoAgBBA3FBA0YbKAIoKAIQIAE2AsgBIAAgAiAAKAIAQQNxQQNGGygCKCgCECIBIAEoAswBIgNBAWo2AswBIAEoAsgBIANBAnRqIAA2AgAgACACIAAoAgBBA3FBA0YbKAIoKAIQIgIoAsgBIAIoAswBQQJ0akEANgIAIAAgAEEwayICIAAoAgBBA3FBAkYbKAIoKAIQIgEoAsABIAEoAsQBIgFBAWogAUECahDYASEBIAAgAiAAKAIAQQNxQQJGGygCKCgCECABNgLAASAAIAIgACgCAEEDcUECRhsoAigoAhAiASABKALEASIDQQFqNgLEASABKALAASADQQJ0aiAANgIAIAAgAiAAKAIAQQNxQQJGGygCKCgCECICKALAASACKALEAUECdGpBADYCACAAC0IBAn8jAEEQayICJAAgASgCECEDIAIgACgCECkC0AE3AwggAiADKQLYATcDACAAIAJBCGogASACEPUOIAJBEGokAAutAQEDfwJAAkAgASgCBCIFRQ0AIAMoAgQiBkUNACAFIAZPBEAgAygCACECQQAhAQNAIAIgAUECdGooAgAiBEUNAyABQQFqIQEgBEEwQQAgBCgCAEEDcUEDRxtqKAIoIABHDQALDAELIAEoAgAhAEEAIQEDQCAAIAFBAnRqKAIAIgRFDQIgAUEBaiEBIARBUEEAIAQoAgBBA3FBAkcbaigCKCACRw0ACwsgBA8LQQAL2QEBBH8gAEEwQQAgACgCAEEDcSIFQQNHG2ooAigiBiEDAn8CQCABIAZGBH8gAEFQQQAgBUECRxtqKAIoBSADCygCECgCsAIiAyABKAIQIgQoAqwCTgRAIAMgBCgCsAJMDQELIAAoAhAoApwBIQNBAAwBC0EAIQMgACgCECIEKAKkAUEATgR/IAQoAqABBUEACyAEKAKcAWshA0EBCyEEQQAgA2sgA0EBQX8gAkEATAR/IAEgBkYFIABBUEEAIAVBAkcbaigCKCABRgsbIgBBACAAayAEG0EASBsLkwEBBX8jAEEQayICJAAgAEEEaiEBA0AgAyAAKAAMT0UEQCACIAEpAgg3AwggAiABKQIANwMAIAIgAxAZIQQCQAJAAkAgACgCFCIFDgICAAELIAEoAgAgBEECdGooAgAQGAwBCyABKAIAIARBAnRqKAIAIAURAQALIANBAWohAwwBCwsgAUEEEDMgARA4IAJBEGokAAtWAQF/IAAoAgAiACgCECEBA0AgAQRAIAAoAgggAUEIahC6AiAAKAIIIAAoAhBBGGoQugIgACgCCCAAKAIQQRBqELoCIAAgACgCEBC0DiIBNgIQDAELCwuYAQEEf0GAgICAeCECQf////8HIQEgACgCACgCEEHAAWoiAyEAA0AgACgCACIABEAgACgCECIELQCsAUUEQCACIAQoAvQBIgAgACACSBshAiABIAAgACABShshAQsgBEG4AWohAAwBCwsDQCADKAIAIgAEQCAAKAIQIgAgACgC9AEgAWs2AvQBIABBuAFqIQMMAQsLIAIgAWsLlwEBAn8DQAJAAkAgASgCECICKAKsAkF/Rg0AIAJBfzYCrAIgAigCqAIiA0UNACACKAKwAiAAKAIQKAKwAkgNASAAIAFGDQBBss0EQQAQNwsPCyADQTBBACADKAIAQQNxIgFBA0cbaigCKCICIANBUEEAIAFBAkcbaigCKCIBIAIoAhAoArACIAEoAhAoArACShshAQwACwALtgEBA39BACACayEGIAEoAhAoArACIQUDQAJAIAUgACgCECIBKAKsAk4EQCAFIAEoArACTA0BCyABKAKoAiIBKAIQIgQgBCgCoAEgAiAGIAMgACABIAFBMGoiBCABKAIAQQNxQQNGGygCKEdzG2o2AqABIAEgBCABKAIAQQNxIgBBA0YbKAIoIgQgAUFQQQAgAEECRxtqKAIoIgAgBCgCECgCsAIgACgCECgCsAJKGyEADAELCyAAC6oIAQ5/IwBBIGsiASQAAkAgAEEwQQAgACgCAEEDcSICQQNHG2ooAigiBCgCECgCsAIgAEFQQQAgAkECRxtqKAIoIgAoAhAoArACTgRAIAAoAhAiBCgCsAIhCCAEKAKsAiEJIAFBADYCGCABQgA3AxAgAUIANwMIIAEgADYCHCABQQhqQQQQJyEAIAEoAgggAEECdGogASgCHDYCACABQRxqIQpB/////wchBANAIAEoAhAEQCABQQhqIApBBBDHAUEAIQAgASgCHCEHA0AgBygCECICKALIASAAQQJ0aigCACIDBEAgA0FQQQAgAygCAEEDcSILQQJHG2ooAigiDCgCECINKAKwAiEGAkAgAygCECIOKAKkAUEASARAIAYgCEwgBiAJTnENASANKAL0ASADQTBBACALQQNHG2ooAigoAhAoAvQBIA4oAqwBamsiAiAEIAVFIAIgBEhyIgIbIQQgAyAFIAIbIQUMAQsgBiACKAKwAk4NACABIAw2AhwgAUEIakEEECchAiABKAIIIAJBAnRqIAEoAhw2AgALIABBAWohAAwBBUEAIQAgBEEATA0DA0AgAigCmAIgAEECdGooAgAiA0UNBCADQTBBACADKAIAQQNxQQNHG2ooAigiAygCECgCsAIgAigCsAJIBEAgASADNgIcIAFBCGpBBBAnIQIgASgCCCACQQJ0aiABKAIcNgIAIAcoAhAhAgsgAEEBaiEADAALAAsACwALCwwBCyAEKAIQIgAoArACIQggACgCrAIhCSABQQA2AhggAUIANwMQIAFCADcDCCABIAQ2AhwgAUEIakEEECchACABKAIIIABBAnRqIAEoAhw2AgAgAUEcaiEKQf////8HIQQDQCABKAIQBEAgAUEIaiAKQQQQxwFBACEAIAEoAhwhBwNAIAcoAhAiAigCwAEgAEECdGooAgAiAwRAIANBMEEAIAMoAgBBA3EiC0EDRxtqKAIoIgwoAhAiDSgCsAIhBgJAIAMoAhAiDigCpAFBAEgEQCAGIAhMIAYgCU5xDQEgA0FQQQAgC0ECRxtqKAIoKAIQKAL0ASANKAL0ASAOKAKsAWprIgIgBCAFRSACIARIciICGyEEIAMgBSACGyEFDAELIAYgAigCsAJODQAgASAMNgIcIAFBCGpBBBAnIQIgASgCCCACQQJ0aiABKAIcNgIACyAAQQFqIQAMAQVBACEAIARBAEwNAwNAIAIoAqACIABBAnRqKAIAIgNFDQQgA0FQQQAgAygCAEEDcUECRxtqKAIoIgMoAhAoArACIAIoArACSARAIAEgAzYCHCABQQhqQQQQJyECIAEoAgggAkECdGogASgCHDYCACAHKAIQIQILIABBAWohAAwACwALAAsACwsLIAFBCGoiAEEEEDMgABA4IAFBIGokACAFC4JEAhB/AX4jAEHwBGsiBCQAIARB8MQILwEAOwHABCAEQejECCkDADcDuAQgBEHgxAgpAwA3A7AEIARBhARqQQBBLBA2GkGM2AotAAAEQCAAKAIQQcABaiEFA0AgBSgCACIFBEAgBSgCECIKKALIASEJQQAhBQNAIAkgBUECdGooAgAEQCAFQQFqIQUgBkEB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4AIRAAANAyAAIAEgACgC1AIRAABFDQNBAiEEDAILIAZBA0kNDSAAIAEgACgC5AIRAAANAiAAIAEgACgC2AIRAABFDQJBAyEEDAELIAZBBEkNDCAAIAEgACgC6AIRAAANASAAIAEgACgC3AIRAABFDQFBBCEECyABIARqIQEDQCACIAFrIgZBAEwEQEFsDwtBASEEQRQhBQJAAkACQAJAAkAgByABLQAAai0AAEEFaw4gAAECBAYGBgQEBAQEBAQEBAYDBAMDAwMEBAYEBgQEBAYECyAGQQFGDRAgACABIAAoAuACEQAADQMgACABIAAoAsgCEQAARQ0DQQIhBAwCCyAGQQNJDQ8gACABIAAoAuQCEQAADQIgACABIAAoAswCEQAARQ0CQQMhBAwBCyAGQQRJDQ4gACABIAAoAugCEQAADQEgACABIAAoAtACEQAARQ0BQQQhBAsgASAEaiEBDAELC0EAIQULIAMgATYCACAFDwsgAiABa0ECSA0JIAAgASAAKALgAhEAAA0IQQIhBCAAIAEgACgC1AIRAAANAiAAIAEgACgCyAIRAABFDQgMBQsgAiABa0EDSA0IIAAgASAAKALkAhEAAA0HQQMhBCAAIAEgACgC2AIRAAANASAAIAEgACgCzAIRAABFDQcMBAsgAiABa0EESA0HIAAgASAAKALoAhEAAA0GQQQhBCAAIAEgACgC3AIRAABFDQELDAMLIAAgASAAKALQAhEAAEUNBAwBC0ETIQUMAQtBEyEFCyABIARqIQQCQAJAAkACQANAIAIgBCIBayIEQQBMDQQCQAJAAkACQAJAAkACQCAHIAEtAABqLQAAQQVrDiABAgMKBAQECgoKCQoKCgoEBAAFAAAAAAoKBAoECAYEBAoLIAFBAWohBAwGCyAEQQFGDQwgACABIAAoAuACEQAADQggACABIAAoAsgCEQAARQ0IIAFBAmohBAwFCyAEQQNJDQsgACABIAAoAuQCEQAADQcgACABIAAoAswCEQAARQ0HIAFBA2ohBAwECyAEQQRJDQogACABIAAoAugCEQAADQYgACABIAAoAtACEQAARQ0GIAFBBGohBAwDCyADIAE2AgAgBQ8LIAFBAWohBCAFQSlHBEAgBUESRw0CIAIgBGsiBkEATA0LQRMhBQJAAkACQAJAAkACQAJAIAcgBC0AAGotAAAi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QQA2AggDQAJAIABBvAJqIABBuAJqEFoNACAAKAK0ASADECQgAWpGBEAgAxAkIQIgAyADECRBAXQQQCADIAMQVRBAIAAgAiADQQAQQiIBajYCtAELIABBvAJqIgIQgQFBECABIABBtAFqIABBCGpBACAGIABBEGogAEEMaiAAQdABahDYAw0AIAIQlAEaDAELCyADIAAoArQBIAFrEEAgAxBGEGcgACAFNgIAIAAQigtBAUcEQCAEQQQ2AgALIABBvAJqIABBuAJqEFoEQCAEIAQoAgBBAnI2AgALIAAoArwCIAMQNBogBhA0GiAAQcACaiQAC9ADAQF+IwBBgANrIgAkACAAIAI2AvgCIAAgATYC/AIgAEHcAWogAyAAQfABaiAAQewBaiAAQegBahCEByAAQdABahBUIgEgARBVEEAgACABQQAQQiICNgLMASAAIABBIGo2AhwgAEEANgIYIABBAToAFyAAQcUAOgAWA0ACQCAAQfwCaiAAQfgCahBaDQAgACgCzAEgARAkIAJqRgRAIAEQJCEDIAEgARAkQQF0EEAgASABEFUQQCAAIAMgAUEAEEIiAmo2AswBCyAAQfwCaiIDEIEBIABBF2ogAEEWaiACIABBzAFqIAAoAuwBIAAoAugBIABB3AFqIABBIGogAEEcaiAAQRhqIABB8AFqEIMHDQAgAxCUARoMAQsLAkAgAEHcAWoQJEUNACAALQAXQQFHDQAgACgCHCIDIABBIGprQZ8BSg0AIAAgA0EEajYCHCADIAAoAhg2AgALIAAgAiAAKALMASAEEIsLIAApAwAhBiAFIAApAwg3AwggBSAGNwMAIABB3AFqIABBIGogACgCHCAEELEBIABB/AJqIABB+AJqEFoEQCAEIAQoAgBBAnI2AgALIAAoAvwCIAEQNBogAEHcAWoQNBogAEGAA2okAAu5AwAjAEHwAmsiACQAIAAgAjYC6AIgACABNgLsAiAAQcwBaiADIABB4AFqIABB3AFqIABB2AFqEIQHIABBwAFqEFQiASABEFUQQCAAIAFBABBCIgI2ArwBIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB7AJqIABB6AJqEFoNACAAKAK8ASABECQgAmpGBEAgARAkIQMgASABECRBAXQQQCABIAEQVRBAIAAgAyABQQAQ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QQA2AggDQAJAIABB/AFqIABB+AFqEFsNACAAKAK0ASADECQgAWpGBEAgAxAkIQIgAyADECRBAXQQQCADIAMQVRBAIAAgAiADQQAQQiIBajYCtAELIABB/AFqIgIQggFBECABIABBtAFqIABBCGpBACAGIABBEGogAEEMaiAAQdABahDaAw0AIAIQlQEaDAELCyADIAAoArQBIAFrEEAgAxBGEGcgACAFNgIAIAAQigtBAUcEQCAEQQQ2AgALIABB/AFqIABB+AFqEFsEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAMQNBogBhA0GiAAQYACaiQAC9ADAQF+IwBBkAJrIgAkACAAIAI2AogCIAAgATYCjAIgAEHQAWogAyAAQeABaiAAQd8BaiAAQd4BahCIByAAQcQBahBUIgEgARBVEEAgACABQQAQQiICNgLAASAAIABBIGo2AhwgAEEANgIYIABBAToAFyAAQcUAOgAWA0ACQCAAQYwCaiAAQYgCahBbDQAgACgCwAEgARAkIAJqRgRAIAEQJCEDIAEgARAkQQF0EEAgASABEFUQQCAAIAMgAUEAEEIiAmo2AsABCyAAQYwCaiIDEIIBIABBF2ogAEEWaiACIABBwAFqIAAsAN8BIAAsAN4BIABB0AFqIABBIGogAEEcaiAAQRhqIABB4AFqEIcHDQAgAxCVARoMAQsLAkAgAEHQAWoQJEUNACAALQAXQQFHDQAgACgCHCIDIABBIGprQZ8BSg0AIAAgA0EEajYCHCADIAAoAhg2AgALIAAgAiAAKALAASAEEIsLIAApAwAhBiAFIAApAwg3AwggBSAGNwMAIABB0AFqIABBIGogACgCHCAEELEBIABBjAJqIABBiAJqEFsEQCAEIAQoAgBBAnI2AgALIAAoAowCIAEQNBogAEHQAWoQNBogAEGQAmokAAu5AwAjAEGAAmsiACQAIAAgAjYC+AEgACABNgL8ASAAQcABaiADIABB0AFqIABBzwFqIABBzgFqEIgHIABBtAFqEFQiASABEFUQQCAAIAFBABBCIgI2ArABIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB/AFqIABB+AFqEFsNACAAKAKwASABECQgAmpGBEAgARAkIQMgASABECRBAXQQQCABIAEQVRBAIAAgAyABQQAQ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sAEgBEG+ogQgAkGwAWoQMiACIAEoAhA2AqABIARB+b4EIAJBoAFqEB8aIAIgASgCFDYClAEgAkEtNgKQASAEQeW/BCACQZABahAfGiACIAEoAhg2AoABIAJC/NPGl93JmKg/NwN4IAJCs+bMmbPmzPE/NwNwIARBkr8EIAJB8ABqEDIgASsDICEIIAIgBkEBdkEBcTYCYCACIAg5A1ggAkLNmbPmzJmz9j83A1AgBEGqwQQgAkHQAGoQMiACIAErA0g5A0ggAkEANgJEIAIgBkECdkEBcTYCQCAEQeyhBCACQUBrEDIgASgCMCEGIAEoAjQhByABKwNAIQggAiABLQA4NgIwIAIgCDkDKCACIAc2AiQgAiAGQQJ0QeDICGooAgA2AiAgBEHpwAQgAkEgahAyIAIgASgCPEECdEGAyQhqKAIANgIQIARB3PcDIAJBEGoQHxogAiABKAJQNgIAIARBt8IEIAIQHxogAkHgAWokAAsgACADQawBahCCCCEEAkAgAygCrAFBAUYEQCADIAMpA5ACNwMQIAMgAykDiAI3AwggACADQbABaiADQQhqEI8MIAVFBEAgACADQZgCahDxAxoLIAAQrAMMAQsgAEECQQggA0GIAWoQ+gMaIANBAToAlAFBACECA0AgAygCrAEiASACTQRAIAEgBCAAIANBiAFqEOsFDAILIAQgAkECdGooAgAiAUEAELIDGiADIAMpA5ACNwMgIAMgAykDiAI3AxggASADQbABaiADQRhqEI8MIAVFBEAgASADQZgCahDxAxoLIAFBAhCJAiABEKwDIAJBAWohAgwACwALQQAhAQNAIAMoAqwBIAFLBEAgACAEIAFBAnRqKAIAELcBIAFBAWohAQwBCwsgBBAYCyAAELgDIANBsAJqJAALCQAgASACEOEBC0MBAnwCf0EBIAArAwgiAiABKwMIIgNkDQAaQX8gAiADYw0AGkEBIAArAxAiAiABKwMQIgNkDQAaQX9BACACIANjGwsLyRQCEH8IfCMAQUBqIgkkAEGg2AorAwAhFkGg2AogABD/CTkDACAAQQIQiQJBOBBSIQEgACgCECABNgKMASAAIABBAEH77ABBABAiQQJBAhBhIQEgABA5KAIQIAE7AbABQQohASAAEDkoAhAvAbABQQlNBEAgABA5KAIQLwGwASEBCyAAEDkoAhAg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CS0AhgFBAUcEQCACIQkgBiECDAELIAMgAigCECgCjAEoAjAiCTYCmAELAkAgCC0AhgFBAUcEQCAFIQggBCEFDAELIAMgBSgCECgCjAEoAjAiCDYCzAELAkAgCSgCECgCjAEoAiwiBiAIKAIQKAKMASgCLCIESgRAIANBsAFqIAYgAiAEIANBmAFqIAEQqAwgAygCmAEiAigCECgCjAEoAjAhCQwBCyAEIAZMDQAgA0GwAWogBCAFIAYgA0HMAWogARCoDCADKALMASIFKAIQKAKMASgCMCEICwNAIAkiBCAIIgZGRQRAIANBsAFqIgggBEEAIAIgARDIBSAIIAYgBUEAIAEQyAUgBigCECgCjAEoAjAhCCAEKAIQKAKMASgCMCEJIAQhAiAGIQUMAQsLIANBsAFqIgQgBiAFIAIgARDIBSADKAK4AUEATgRAIARBBBCMAiADIAMpA7gBNwOQASADIAMpA7ABNwOIAQJAIAMoArABIANBiAFqQQAQGUECdGogAygCuAEQzAwEQCADIAMpA7gBNwOAASADIAMpA7ABNwN4IAchAiADKAKwASADQfgAakEAEBlBAnRqIAMoArgBEM8MIgsNAUEAIQtBsOkDQQAQKkEAIQIDQCACIAMoArgBTw0FIAMgAykDuAE3A1AgAyADKQOwATcDSCADQcgAaiACEBkhBAJAAkACQCADKALAASIFDgICAAELIAMoArABIARBAnRqKAIAEBgMAQsgAygCsAEgBEECdGooAgAgBREBAAsgAkEBaiECDAALAAsCQCAMDQAgA0GYAWogABD+AiAAQQhBCBDqBSECQdLqA0EAECogASsDACINIAK3Ig5mIA4gASsDCCIPZXIEQCADQUBrIA85AwAgAyANOQM4IAMgAjYCMEHx7QQgA0EwahB/DAELIAMrA5gBIg4gDWUgAysDoAEiECAPZXJFDQAgAyAPOQMoIAMgDTkDICADIBA5AxggAyAOOQMQQaPuBCADQRBqEH8LQQAhAgNAIAIgAygCuAFPDQQgAyADKQO4ATcDCCADIAMpA7ABNwMAIAMgAhAZIQQCQAJAAkAgAygCwAEiBQ4CAgABCyADKAKwASAEQQJ0aigCABAYDAELIAMoArABIARBAnRqKAIAIAURAQALIAJBAWohAgwACwALA0AgAkUEQEEAIQIDQCACIAMoArgB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AxABAAsgASgCCCgCICIDLQAoDQEgAxCjDQwBCwsCQCAFQQRqIgIoAghFDQAgAigCBCIAKAIAIgEgAigCACgCBCIDNgIEIAMgATYCACACQQA2AggDQCAAIAJGDQEgACgCBCAAEBghAAwACwALIAVBEGokAAu6AQICfwJ8RP///////+//IQQCfET////////v/yABKAIAKAIgIgIoAiwgASgCGEoNABpE////////7/8gAiABKAIEKAIgRg0AGiABELYCCyEFAkAgACgCACgCICICKAIsIAAoAhhKDQAgAiAAKAIEKAIgRg0AIAAQtgIhBAsgBCAFYQRAIAEoAgAoAgAiAiAAKAIAKAIAIgNGBEAgASgCBCgCACAAKAIEKAIASA8LIAIgA0gPCyAEIAVkCzMAIAAQng0gACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggAUEANgIIIAFCADcCAAvKAQEHfyMAQRBrIgUkACAAQQA2AgggAEIANwIAQShBNCACGyEHIAEoAgQhCCABKAIAIQQDQCAEIAhHBEAgBCgCACAHaiIDKAIEIQkgAygCACEDA0AgAyAJRgRAIARBBGohBAwDBSAFIAMoAgAiBjYCDCAGQej7CigCADYCGAJAAkAgAgRAIAYoAgAoAiAgAUcNAQsgAg0BIAYoAgQoAiAgAUYNAQsgACAFQQxqEL8BCyADQQRqIQMMAQsACwALCyAAEK4NIAVBEGokAAs+AQJ8An9BfyAAKwMAIgIgASsDACIDYw0AGkEBIAIgA2QNABpBfyAAKwMIIgIgASsDCCIDYw0AGiACIANkCwscACAAKAIMIAEoAgxqIAAoAgQgASgCBGprQQJtCxwAIAAoAgggASgCCGogACgCACABKAIAamtBAm0LjAEBB38CQCAAKAIgIgMgASgCKCIESg0AIAEoAiAiBSAAKAIoIgZKDQBBASECIAAoAiwiByABKAIkIghIDQAgACgCECABKAIQayAHIAEoAixqIAAoAiQgCGprQQJtaiAGIAMgBWprIARqQQJtIAEoAgwiASAAKAIMIgBrIAAgAWsgACABShtqTCECCyACC4wBAQd/AkAgACgCJCIDIAEoAiwiBEoNACABKAIkIgUgACgCLCIGSg0AQQEhAiAAKAIoIgcgASgCICIISA0AIAAoAgwgASgCDGsgASgC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AAAAAADQP6I5A4gCIAMgBTkDgAIgBEG50AQgA0GAAmoQcyADIAAoAugCsrs5A/ABIANCADcD6AEgA0KAgICAgICgq8AANwPgASAEQZXQBCADQeABahBzIANB1PkKKAIANgLQASADIAYgByANoKIiBjkDwAEgAyAKIAsgDKCiIgc5A8gBIARBtNEEIANBwAFqEHMgAyABNgKwASAEQc7LAyADQbABahBzIAAgBBCABhAbGiABEBggAgRAIANBiAFqIgEgACgCEEE4akEoECAaIAFDAAAAABC8AyEBIANCADcDgAEgA0IANwN4IANCADcDcCAAQcHaBCADQfAAahAeIANCgICAgICAgPg/NwNgIAMgCDkDWCADIAU5A1AgAEG50AQgA0HQAGoQHiADQUBrIAAoAugCsrs5AwAgA0IANwM4IANCADcDMCAAQZXQBCADQTBqEB4gA0HU+QooAgA2AiAgAyAGOQMQIAMgBzkDGCAAQbTRBCADQRBqEB4gAyABNgIAIABBzssDIAMQHiABEBgLIANB4AJqEFwgA0HwAmokAAvoAwIDfwZ8IwBB0AFrIgMkACACKAIAIQQgAigCBCIFKwMQIQYgAyAFKAIANgKwASADIAY5A6gBIAMgBDYCoAEgAEGd+wMgA0GgAWoQHkHU+QpB0PkKKAIAQQlrNgIAAnwgASsDACIGIAItADAiBEHsAEYNABogBEHyAEYEQCAGIAIrAyChDAELIAYgAisDIEQAAAAAAADgv6KgCyEGIAArA/ADIQcgACsDgAQhCCABKwMIIQkgACsD6AMhCiAAKwP4AyELIANB+ABqIgEgACgCEEEQakEoECAaIAFDAAAAABC8AyEBIANCADcDyAEgA0IANwPAASACKAIEKAIAIQQgAigCACEFIANCADcDcCADQoCAgICAgIDoPzcDaCADIAU2AmQgAyAENgJgIANBwAFqIgRBpdkDIANB4ABqEHMgAyACKAIEKwMQIAArA+gDojkDUCAEQfqiBCADQdAAahBzIANBQGsgACgC6AKyuzkDACADQgA3AzggA0IANwMwIARBldAEIANBMGoQcyADQdT5CigCADYCICADIAogBiALoKI5AxAgAyAHIAkgCKCiOQMYIARBtNEEIANBEGoQcyADIAE2AgAgBEHOywMgAxBzIAAgBBCABhAbGiAEEFwgARAY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C6GgIgdEAAAgFXvL2z+iIA5ENivxEfP+WT2iIAcgDKBE1a2ayjiUuz2ioKCgoCEHCyAHCyIHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAshAiAHRAAAAAAAAAhAIAK3oaAFRAAAAAAAAAhACxCdASIHOQMAIAEgBzkDoAMgASAHOQOoAyAAQeSlBCABQaADahAeIAFBncIINgKQAyAAQeGSBCABQZADahAeIAFBncIINgKAAyAAQaTXBCABQYADahAeIAFBncIINgLwAiAAQdDYAyABQfACahAeIAFBncIINgLgAiAAQe/jAyABQeACahAeIAFBncIINgLQAiAAQY7aBCABQdACahAeIAFBncIINgLAAiAAQabFBCABQcACahAeIAFBncIINgKwAiAAQeDXBCABQbACahAeIAFBncIINgKgAiAAQfXXAyABQaACahAeIAFBncIINgKQAiAAQdeOBCABQZACahAeIAFBncIINgKAAiAAQc7YBCABQYACahAeIAFBncIINgLwASAAQbHkAyABQfABahAeIABB6MsEQQAQHiABQZ3CCDYC4AEgAEGRqwQgAUHgAWoQHiABQZ3CCDYC0AEgAEHpqgQgAUHQAWoQHiAAQdbUBEEAEB4gAUGdwgg2AsABIABBwukEIAFBwAFqEB4gAUGdwgg2ArABIABBgdQEIAFBsAFqEB4gAUGdwgg2AqABIABBu9MEIAFBoAFqEB4gAEGPywRBABAeIAFBncIINgKQASAAQduIBCABQZABahAeIAFBncIINgKAASAAQcSJBCABQYABahAeIAFBncIINgJwIABBgdYDIAFB8ABqEB4gAUGdwgg2AmAgAEHe3QMgAUHgAGoQHiABQZ3CCDYCUCAAQajWAyABQdAAahAeIAFBncIINgJAIABBhd0DIAFBQGsQHiAAQdmQBEEAEB4gAUGdwgg2AjAgAEGy3AMgAUEwahAeIAFBncIINgIgIABB9ocEIAFBIGoQHiABQZ3CCDYCECAAQeTFBCABQRBqEB4gASAJOQMIIAEgDTkDACAAQY+pBCABEB4gAEHRygRBABAeIABB9PQEQQAQHiABQeADaiQACycBAX8jAEEQayIBJAAgAUGYwgg2AgAgAEH3zAQgARAeIAFBEGokAAuIAQIDfwF+IwBBMGsiASQAIAAoAhAhAiAAKAIMKAIA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ZW1wdHkAbm9kZV9zZXRfaXNfZW1wdHkAcmVmZXJlbmNlIHRvIGJpbmFyeSBlbnRpdHkAYXN5bmNocm9ub3VzIGVudGl0eQBpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQB1bmRlZmluZWQgZW50aXR5AHBhcnNlci0+bV9vcGVuSW50ZXJuYWxFbnRpdGllcyA9PSBvcGVuRW50aXR5AHBhcnNlci0+bV9vcGVuVmFsdWVFbnRpdGllcyA9PSBvcGVuRW50aXR5AHBhcnNlci0+bV9vcGVuQXR0cmlidXRlRW50aXRpZXMgPT0gb3BlbkVudGl0eQBpbmZpbml0eQBsaXN0LT5zaXplIDwgbGlzdC0+Y2FwYWNpdHkAcmV0LnNpemUgPCByZXQuY2FwYWNpdHkAZmFudGFzeQBTcGFyc2VNYXRyaXhfY29vcmRpbmF0ZV9mb3JtX2FkZF9lbnRyeQAvc3ZnL2l2b3J5AG91dCBvZiBtZW1vcnkARmVicnVhcnkASmFudWFyeQBndnBsdWdpbl9kb3RfbGF5b3V0X0xUWF9saWJyYXJ5AGd2cGx1Z2luX25lYXRvX2xheW91dF9MVFhfbGlicmFyeQBndnBsdWdpbl9jb3JlX0xUWF9saWJyYXJ5AGdhdGhlcl90aW1lX2VudHJvcHkAY29weQBhbGJhbnkASnVseQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAZXF1YWxseQBhc3NlbWJseQBzdW1tZXJza3kAc2h5AHNhdGlzZnkAYmVhdXRpZnkAbm9qdXN0aWZ5AENsYXNzaWZ5AC9zdmcvbGlnaHRncmV5AC9zdmcvZGltZ3JleQAvc3ZnL2RhcmtncmV5AC9zdmcvbGlnaHRzbGF0ZWdyZXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvc2xhdGVncmV5AHdlYmdyZXkAeDExZ3JleQAvc3ZnL2dyZXkAbW92ZSB0byBmcm9udCBsb2NrIGluY29uc2lzdGVuY3kAZXh0cmFjdF9hZGphY2VuY3kAbWVyZ2Vfb25ld2F5AGFycmF5AGFsbG9jQXJyYXkAL3N2Zy9saWdodGdyYXkAL3N2Zy9kaW1ncmF5AC9zdmcvZGFya2dyYXkAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyYXkAd2ViZ3JheQB4MTFncmF5AC9zdmcvZ3JheQBUaHVyc2RheQBUdWVzZGF5AFdlZG5lc2RheQBTYXR1cmRheQBTdW5kYXkATW9uZGF5AEZyaWRheQBNYXkALi4vLi4vbGliL2NncmFwaC9ncmFtbWFyLnkAJW0vJWQvJXkAcG9ydGhveXgAcG9ydGhvX3l4AHh4eABib3gAdmlld0JveABjaGtCb3VuZEJveAAvTWVkaWFCb3gAZ2V0X2VkZ2VfbGFiZWxfbWF0cml4AGlkZWFsX2Rpc3RhbmNlX21hdHJpeABtdXN0IG5vdCB1bmRlY2xhcmUgcHJlZml4AHVuYm91bmQgcHJlZml4AGh0bWxsZXgAbWF4ACMlMDJ4JTAyeCUwMngAIyUyeCUyeCUyeCUyeAAjJTF4JTF4JTF4AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAcmFycm93AGxhcnJvdwBIZWx2ZXRpY2EtTmFycm93AGFycm93X2xlbmd0aF9jcm93AC9zdmcvc25vdwBzcHJpbmdfZWxlY3RyaWNhbF9lbWJlZGRpbmdfc2xvdwAvc3ZnL2xpZ2h0eWVsbG93AC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL3llbGxvdwBmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AGZsZXggc2Nhbm5lciBwdXNoLWJhY2sgb3ZlcmZsb3cAY291cmllcm5ldwBTcHJpbmdTbW9vdGhlcl9uZXcAVHJpYW5nbGVTbW9vdGhlcl9uZXcAZGlhZ19wcmVjb25fbmV3AFF1YWRUcmVlX25ldwBTdHJlc3NNYWpvcml6YXRpb25TbW9vdGhlcjJfbmV3AG4gJiYgbmV3AHNrZXcAc3RydmlldwAvc3ZnL2hvbmV5ZGV3ACAtYW5jaG9yIHcAc29ydHYAcG92OnBvdgBOb3YAaW52AGVxdWl2AHBpdgBub25hbWUuZ3YAR0RfcmFuayhnKVtyXS5hdiA9PSBHRF9yYW5rKGcpW3JdLnYAY2Mlc18lenUAY2MlcyslenUAL3N2Zy9wZXJ1AG51AG11ACVjJWxsdQBUaHUAdGF1AFRhdQBOdQBNdQBfcG9ydF8lc18oJWQpXyglZClfJXUATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAldQBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJXUAcGxhaW50ZXh0AHN0cmVzc3d0AGlucHV0AHRleHRsYXlvdXQAZG90X2xheW91dABuZWF0b19sYXlvdXQAaW5pdExheW91dABjbHVzdABtYXBDbHVzdABsYWJlbGp1c3QAc2NBZGp1c3QAQXVndXN0AGVkZ2VzZmlyc3QAbm9kZXNmaXJzdABtYXhpbWFsX2luZGVwZW5kZW50X2VkZ2Vfc2V0X2hlYXZlc3RfZWRnZV9wZXJub2RlX3N1cGVybm9kZXNfZmlyc3QAZXhpc3QAcmVhbGlnbk5vZGVsaXN0AGFwcGVuZE5vZGVsaXN0AHNsb3RfZnJvbV9jb25zdF9saXN0AHNsb3RfZnJvbV9saXN0AGRlZmF1bHRkaXN0AG1pbmRpc3QAcG93ZXJfZGlzdABncmFwaF9kaXN0AGF2Z19kaXN0AGdldEVkZ2VMaXN0AGlxdWVzdABsb3dhc3QAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX2Zhc3QAZ3Zfc29ydAB2aWV3cG9ydAB0YWlscG9ydAB1bmV4cGVjdGVkIHBhcnNlciBzdGF0ZSAtIHBsZWFzZSBzZW5kIGEgYnVnIHJlcG9ydABoZWFkcG9ydABodG1sX3BvcnQAaW5zZXJ0AFJUcmVlSW5zZXJ0AGZpbmRTVmVydABzdGFydABwYXJ0AGVzdGltYXRlX3RleHRfd2lkdGhfMXB0AHF1b3QAf3Jvb3QAbm90AG1ha2Vfdm5fc2xvdABlbWl0X3hkb3QAeGRvdDp4ZG90AGVwczp4ZG90AHN2Zzp4ZG90AGpwZzp4ZG90AHBuZzp4ZG90AGpwZWc6eGRvdABnaWY6eGRvdABqcGU6eGRvdAB4ZG90MS40Onhkb3QAeGRvdDEuMjp4ZG90AHNkb3QAbWlkZG90AGd2OmRvdABwbGFpbi1leHQ6ZG90AGRvdDpkb3QAZXBzOmRvdABjYW5vbjpkb3QAcGxhaW46ZG90AHN2Zzpkb3QAanBnOmRvdABwbmc6ZG90AGpwZWc6ZG90AGdpZjpkb3QAanBlOmRvdAB/Ym90AGRvRG90AHNwYW4tPmZvbnQAdmFneGJwcmludABlbmRwb2ludAB4ZG90X3BvaW50AGRlY2lkZV9wb2ludABVbnNhdGlzZmllZCBjb25zdHJhaW50AHRyYW5zcGFyZW50AGNvbXBvbmVudABpbnZhbGlkIGFyZ3VtZW50AGNvbW1lbnQAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGNlbnQAaSA9PSBlY250AGFyaWFsbXQAZ2V0X2hhc2hfc2VjcmV0X3NhbHQAY2lyY3VpdABwb2x5X2luaXQATXVsdGlsZXZlbF9pbml0AG5zbGltaXQAbWNsaW1pdABQb3J0cmFpdABsaWdodAB2aXJ0dWFsX3dlaWdodABsaGVpZ2h0AEtQX1JpZ2h0AEJvb2ttYW4tTGlnaHQAZ3QAS1BfTGVmdABjaGFyc2V0AGluc2V0AGJpdGFycmF5X3Jlc2V0AGd2X2FyZW5hX3Jlc2V0AHN1YnNldABiaXRhcnJheV9zZXQAbWF0cml4X3NldABzY2FybGV0AC9zdmcvZGFya3Zpb2xldAAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy92aW9sZXQAVHJlYnVjaGV0AGFneGdldAB0YWlsdGFyZ2V0AGxhYmVsdGFyZ2V0AGVkZ2V0YXJnZXQAaGVhZHRhcmdldABiaXRhcnJheV9nZXQAc3R5bGVzaGVldABzdHJpY3QAYWdjb3B5ZGljdABhZ21ha2VkYXRhZGljdAByZWMtPmRpY3QgPT0gZGF0YWRpY3QAd3JpdGVfZGljdABoaW50ZXJzZWN0AGd2YmlzZWN0AGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AGFzcGVjdABsYXllcnNlbGVjdABLUF9TdWJ0cmFjdABRdWFkVHJlZV9yZXB1bHNpdmVfZm9yY2VfaW50ZXJhY3QAY29tcGFjdABPY3QAcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGxhYmVsZmxvYXQAbGFiZWxfZmxvYXQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAL3N2Zy93aGVhdABtb25jaGFpbnNfYXQAU2F0AEFncmFwaGluZm9fdABBZ2VkZ2VpbmZvX3QAQWdub2RlaW5mb190AFx0AHJvdyA8IG1lLT5ucm93cwBtaW51cwBvcGx1cwByYWRpdXMAaGVhcnRzAHNhbXBsZXBvaW50cwBkaXJlZGdlY29uc3RyYWludHMAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwB4eSBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAbGluZSBzZWdtZW50cwBzZXRfY2VsbF9oZWlnaHRzAHJlY3RzAGFjY291bnRpbmdSZXBvcnRTdGF0cwBlbnRpdHlUcmFja2luZ1JlcG9ydFN0YXRzAFphcGZEaW5nYmF0cwByZW1pbmNyb3NzAGNvbXByZXNzAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAGJyYXNzAGNsYXNzAGFwcGx5YXR0cnMAYWdtYWtlYXR0cnMAYmluZGF0dHJzAHBhcnNlX2xheWVycwBta0NsdXN0ZXJzAHJvdW5kX2Nvcm5lcnMAbWFrZV9iYXJyaWVycwBjZGF0YS5udG9wbGV2ZWwgPT0gYWdubm9kZXMoZykgLSBjZGF0YS5udmFycwBjYW5ub3QgcmVhbGxvYyBvcHMAY2Fubm90IHJlYWxsb2MgcG5scHMAZXBzAGNvcmVfbG9hZGltYWdlX3BzAGVwczpwcwBwczI6cHMAKGxpYik6cHMAZ3ZfdHJpbV96ZXJvcwBhZ3hidWZfdHJpbV96ZXJvcwB0ZXhneXJlaGVyb3MAaW1hZ2Vwb3MAdGlub3MAc2V0RWRnZUxhYmVsUG9zAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMAeGxpbnRlcnNlY3Rpb25zAGNvbHVtbnMAZGVqYXZ1c2FucwBuaW1idXNzYW5zAGxpYmVyYXRpb25zYW5zAGZyZWVzYW5zAE9wZW5TYW5zAG9mZnNldCA9PSBuX3Rlcm1zAGRpdGVtcwBkaWFtcwBjb2wgPCBtZS0+bmNvbHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBwbmxzAGxldmVscwBmb3JjZWxhYmVscwBkaWFnb25hbHMAbWVyZ2VfcmFua3MAc3BsaXRCbG9ja3MAaW52aXMAY2Fubm90IHJlYWxsb2MgdHJpcwBzZXRfY2VsbF93aWR0aHMAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAeWVzAHNob3dib3hlcwBiZWF1dGlmeV9sZWF2ZXMAYXR0YWNoX2VkZ2VfbGFiZWxfY29vcmRpbmF0ZXMAcG9seWxpbmVzAHNwbGluZXMAb3J0aG9nb25hbCBsaW5lcwB0ZXhneXJldGVybWVzAG90aW1lcwBUaW1lcwBmb250bmFtZXMAcHJlZml4IG11c3Qgbm90IGJlIGJvdW5kIHRvIG9uZSBvZiB0aGUgcmVzZXJ2ZWQgbmFtZXNwYWNlIG5hbWVzAFNwYXJzZU1hdHJpeF9zdW1fcmVwZWF0X2VudHJpZXMAcGVyaXBoZXJpZXMAR2V0QnJhbmNoZXMAZiA8IGdyYXBoW2pdLm5lZGdlcwBtaW5tYXhfZWRnZXMAZXhjaGFuZ2VfdHJlZV9lZGdlcwBtYWtlU3RyYWlnaHRFZGdlcwB1bmRvQ2x1c3RlckVkZ2VzAGNvbXBvdW5kRWRnZXMAbWVyZ2VfdHJlZXMAX19jbHVzdGVybm9kZXMAYWdubm9kZXMATkRfaWQobnApID09IG5fbm9kZXMATG9hZE5vZGVzAHNpZGVzAHNwYWRlcwB2ZXJ0aWNlcwBjb29yZHMAc2V0Ym91bmRzAG1kcwBjZHMAbWFrZVNlbGZBcmNzAGVtaXRfZWRnZV9ncmFwaGljcwBjbHVicwBjb25zb2xhcwAlbGYlMnMAClN0cmluZyBzdGFydGluZzo8JS44MHMAClN0cmluZyBzdGFydGluZzoiJS44MHMAICUuKnMAJXMlcwBleHBhdDogQWNjb3VudGluZyglcCk6IERpcmVjdCAlMTBsbHUsIGluZGlyZWN0ICUxMGxsdSwgYW1wbGlmaWNhdGlvbiAlOC4yZiVzACUuKnMlYyVzACAlczolcwBfXyVkOiVzAC8lcy8lcwAlcy0lcwAsJXMAIGZvbnQtZmFtaWx5PSIlcwAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzACIgY2xhc3M9IiVzAHBvbHkgJXMAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAY29sb3IgJXMAcm9vdCA9ICVzACBUaXRsZTogJXMAInN0cmljdCI6ICVzAGNvdXIAdXRyAGFwcGVuZGF0dHIAYWRkYXR0cgBiZWdpbnN0cgBmc3RyAHN0cnZpZXdfc3RyAHBvdl9jb2xvcl9hc19zdHIAdnBzYyE9bnVsbHB0cgBiZW5kVG9TdHIAdWFycgBjcmFycgBsYXJyAGhhcnIAZGFycgB1QXJyAHJBcnIAbEFycgBoQXJyAGRBcnIAQXByAFNwYXJzZU1hdHJpeF9tdWx0aXBseV92ZWN0b3IAdGVybWluYXRvcgBpbnN1bGF0b3IAaW50ZXJuYWxFbnRpdHlQcm9jZXNzb3IAdGV4Z3lyZWN1cnNvcgBzeW50YXggZXJyb3IAbW9uZXlfZ2V0IGVycm9yAEVycm9yAHJmbG9vcgBsZmxvb3IAbGFiZWxmb250Y29sb3IAcGVuY29sb3IAZmlsbGNvbG9yAGJnY29sb3IAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBuZWlnaGJvcgBzdHlsZV9vcgBtcgByYW5rZGlyAHBhZ2VkaXIAbGF5ZXIAdXBwZXIgPj0gbG93ZXIATm9kZUNvdmVyAC9zdmcvc2lsdmVyAGNsdXN0ZXIAZXhwYW5kQ2x1c3RlcgBycHJvbW90ZXIAbHByb21vdGVyAGNlbnRlcgBtYXhpdGVyAHBhcnRpYWwgY2hhcmFjdGVyACEgcm9vdFBhcnNlci0+bV9wYXJlbnRQYXJzZXIAZGtncmVlbmNvcHBlcgBjb29sY29wcGVyAGd2X3NvcnRfY29tcGFyX3dyYXBwZXIAdGFwZXIAb3ZlcmxhcF9iZXppZXIAZmlnX2JlemllcgBjb3VyaWVyAENvdXJpZXIAaGllcgBkYWdnZXIARGFnZ2VyAG91dHB1dG9yZGVyAHBvc3RvcmRlcgBmbGF0X3Jlb3JkZXIAY2VsbGJvcmRlcgBmaXhMYWJlbE9yZGVyAGN5bGluZGVyAC9zdmcvbGF2ZW5kZXIAcmVuZGVyAGZvbGRlcgBjbHVzdGVyX2xlYWRlcgBORF9VRl9zaXplKG4pIDw9IDEgfHwgbiA9PSBsZWFkZXIAT2N0b2JlcgByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAE5vdmVtYmVyAFNlcHRlbWJlcgBEZWNlbWJlcgBtYWNyAGJyAHN0YXIAZmVsZHNwYXIAcmVndWxhcgBpb3NfYmFzZTo6Y2xlYXIAYnJ2YmFyAE1hcgBccgBORF9yYW5rKHYpID09IHIAc3RyZXEAc3Rydmlld19lcQBzdHJ2aWV3X3N0cl9lcQBzdHJ2aWV3X2Nhc2Vfc3RyX2VxAHN0cnZpZXdfY2FzZV9lcQB2cAAlJUJlZ2luUHJvbG9nCi9Eb3REaWN0IDIwMCBkaWN0IGRlZgpEb3REaWN0IGJlZ2luCgovc2V0dXBMYXRpbjEgewptYXJrCi9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmCiBFbmNvZGluZ1ZlY3RvciAwCgpJU09MYXRpbjFFbmNvZGluZyAwIDI1NSBnZXRpbnRlcnZhbCBwdXRpbnRlcnZhbApFbmNvZGluZ1ZlY3RvciA0NSAvaHlwaGVuIHB1dAoKJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nCi9zdGFybmV0SVNPIHsKICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgogICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UKICAgICAgICB9IGZvcmFsbAogICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYKICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAp9IGRlZgovVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYKL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgovVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgovVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgovSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmCi9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgovSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYKL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgovQ291cmllciBzdGFybmV0SVNPIGRlZgovQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmCi9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYKL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYKY2xlYXJ0b21hcmsKfSBiaW5kIGRlZgoKJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAovY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgovZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmCi9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmCgovSW52U2NhbGVGYWN0b3IgMS4wIGRlZgovc2V0X3NjYWxlIHsKICAgICAgIGR1cCAxIGV4Y2ggZGl2IC9JbnZTY2FsZUZhY3RvciBleGNoIGRlZgogICAgICAgc2NhbGUKfSBiaW5kIGRlZgoKJSBzdHlsZXMKL3NvbGlkIHsgW10gMCBzZXRkYXNoIH0gYmluZCBkZWYKL2Rhc2hlZCB7IFs5IEludlNjYWxlRmFjdG9yIG11bCBkdXAgXSAwIHNldGRhc2ggfSBiaW5kIGRlZgovZG90dGVkIHsgWzEgSW52U2NhbGVGYWN0b3IgbXVsIDYgSW52U2NhbGVGYWN0b3IgbXVsXSAwIHNldGRhc2ggfSBiaW5kIGRlZgovaW52aXMgey9maWxsIHtuZXdwYXRofSBkZWYgL3N0cm9rZSB7bmV3cGF0aH0gZGVmIC9zaG93IHtwb3AgbmV3cGF0aH0gZGVmfSBiaW5kIGRlZgovYm9sZCB7IDIgc2V0bGluZXdpZHRoIH0gYmluZCBkZWYKL2ZpbGxlZCB7IH0gYmluZCBkZWYKL3VuZmlsbGVkIHsgfSBiaW5kIGRlZgovcm91bmRlZCB7IH0gYmluZCBkZWYKL2RpYWdvbmFscyB7IH0gYmluZCBkZWYKL3RhcGVyZWQgeyB9IGJpbmQgZGVmCgolIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAovbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgovZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgovZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYKL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYKCi9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMKCS9ucGFnZXMgZXhjaCBkZWYKCS9qIGV4Y2ggZGVmCgkvaSBleGNoIGRlZgoJL3N0ciAxMCBzdHJpbmcgZGVmCglucGFnZXMgMSBndCB7CgkJZ3NhdmUKCQkJY29vcmRmb250IHNldGZvbnQKCQkJMCAwIG1vdmV0bwoJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93CgkJZ3Jlc3RvcmUKCX0gaWYKfSBiaW5kIGRlZgoKL3NldF9mb250IHsKCWZpbmRmb250IGV4Y2gKCXNjYWxlZm9udCBzZXRmb250Cn0gZGVmCgolIGRyYXcgdGV4dCBmaXR0ZWQgdG8gaXRzIGV4cGVjdGVkIHdpZHRoCi9hbGlnbmVkdGV4dCB7CQkJJSB3aWR0aCB0ZXh0CgkvdGV4dCBleGNoIGRlZgoJL3dpZHRoIGV4Y2ggZGVmCglnc2F2ZQoJCXdpZHRoIDAgZ3QgewoJCQlbXSAwIHNldGRhc2gKCQkJdGV4dCBzdHJpbmd3aWR0aCBwb3Agd2lkdGggZXhjaCBzdWIgdGV4dCBsZW5ndGggZGl2IDAgdGV4dCBhc2hvdwoJCX0gaWYKCWdyZXN0b3JlCn0gZGVmCgovYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplCgkJNCAyIHJvbGwKCQltb3ZldG8KCQkyIGNvcHkKCQlleGNoIDAgcmxpbmV0bwoJCTAgZXhjaCBybGluZXRvCgkJcG9wIG5lZyAwIHJsaW5ldG8KCQljbG9zZXBhdGgKfSBiaW5kIGRlZgoKL2VsbGlwc2VfcGF0aCB7CgkvcnkgZXhjaCBkZWYKCS9yeCBleGNoIGRlZgoJL3kgZXhjaCBkZWYKCS94IGV4Y2ggZGVmCgltYXRyaXggY3VycmVudG1hdHJpeAoJbmV3cGF0aAoJeCB5IHRyYW5zbGF0ZQoJcnggcnkgc2NhbGUKCTAgMCAxIDAgMzYwIGFyYwoJc2V0bWF0cml4Cn0gYmluZCBkZWYKCi9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgovc2hvd3BhZ2UgeyB9IGRlZgoKL2xheWVyY29sb3JzZXEKCVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QKCQlbMCAwIDBdCgkJWy4yIC44IC44XQoJCVsuNCAuOCAuOF0KCQlbLjYgLjggLjhdCgkJWy44IC44IC44XQoJXQpkZWYKCi9sYXllcmxlbiBsYXllcmNvbG9yc2VxIGxlbmd0aCBkZWYKCi9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgoJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0CglhbG9hZCBwb3Agc2V0aHNiY29sb3IKCS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYKCS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYKCS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmCn0gYmluZCBkZWYKCi9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgoKL29ubGF5ZXJzIHsKCS9teXVwcGVyIGV4Y2ggZGVmCgkvbXlsb3dlciBleGNoIGRlZgoJY3VybGF5ZXIgbXlsb3dlciBsdAoJY3VybGF5ZXIgbXl1cHBlciBndAoJb3IKCXtpbnZpc30gaWYKfSBkZWYKCi9jdXJsYXllciAwIGRlZgoKJSVFbmRSZXNvdXJjZQolJUVuZFByb2xvZwolJUJlZ2luU2V0dXAKMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAolIC9hcnJvd2xlbmd0aCAxMCBkZWYKJSAvYXJyb3d3aWR0aCA1IGRlZgoKJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyCi9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQolIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwovbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQoyIGx0IHsKICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQKICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQKfSBpZgoKJSVFbmRTZXR1cABzdXAAZ3JvdXAAY3VwAHRoaW5zcABlbnNwAGVtc3AAbmJzcABwZXJwAHdlaWVycABnZW5lcmF0ZS1jb25zdHJhaW50cy5jcHAAYmxvY2suY3BwAGNzb2x2ZV9WUFNDLmNwcAB/dG9wAHByb3AAYWd4YnBvcABub3AAYXN5bXAAY29tcABmaW5kQ0NvbXAAYm1wAHNjYWxlX2NsYW1wAHhscABscCAhPSBjbHAAdGFpbF9scABoZWFkX2xwAHRhaWx0b29sdGlwAGxhYmVsdG9vbHRpcABlZGdldG9vbHRpcABoZWFkdG9vbHRpcABoZWxsaXAAdGFpbGNsaXAAaGVhZGNsaXAAL3N2Zy9wYXBheWF3aGlwAGhwAHRyYW5zcG9zZV9zdGVwAGNvbXB1dGVTdGVwAGxheWVybGlzdHNlcABsYXllcnNlcABpcHNlcAByYW5rc2VwAG5vZGVzZXAAc3ViZ3JhcGhzIG5lc3RlZCBtb3JlIHRoYW4gJWQgZGVlcABTZXAAc2ZkcABjcAB3ZWJwAGlkbWFwAGNsdXN0ZXJfbWFwAGNtYXB4Om1hcABlcHM6bWFwAGNtYXB4X25wOm1hcABpbWFwX25wOm1hcABpc21hcDptYXAAaW1hcDptYXAAY21hcDptYXAAc3ZnOm1hcABqcGc6bWFwAHBuZzptYXAAanBlZzptYXAAZ2lmOm1hcABqcGU6bWFwAG92ZXJsYXAAbGV2ZWxzZ2FwAGNhcABLUF9VcAAlSTolTTolUyAlcABzdGFydCA8PSBwAHJzcXVvAGxzcXVvAHJkcXVvAGxkcXVvAGJkcXVvAHNicXVvAHJzYXF1bwBsc2FxdW8AcmFxdW8AbGFxdW8AYXV0bwBOdW5pdG8AL3N2Zy90b21hdG8AbmVhdG8AZXVybwAvc3ZnL2dhaW5zYm9ybwBNZXRob2RaZXJvAG1pY3JvAG5pbWJ1c21vbm8AbGliZXJhdGlvbm1vbm8AZnJlZW1vbm8AYXJpbW8AcmF0aW8AcG9ydGhvAHJobwBSaG8AL3N2Zy9pbmRpZ28AcGluZm8AY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AY2xfZWRnZV9pbmZvAGdldFBhY2tJbmZvAG1ha2VJbmZvAHBhcnNlUGFja01vZGVJbmZvAGNpcmNvAGljbwBcJTAzbwAvc3ZnL3Jvc3licm93bgAvc3ZnL3NhbmR5YnJvd24AdmVyeWRhcmticm93bgAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvYnJvd24AS1BfRG93bgBjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgBTdW4ASnVuAHRob3JuAC9zdmcvY3JpbXNvbgB4ZG90X2pzb24AeGRvdF9qc29uOmpzb24AanNvbjA6anNvbgBvbWljcm9uAE9taWNyb24Ac2Nhcm9uAFNjYXJvbgB3ZWJtYXJvb24AeDExbWFyb29uAC9zdmcvbWFyb29uAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9kYXJrc2FsbW9uAC9zdmcvc2FsbW9uAHVwc2lsb24AZXBzaWxvbgBVcHNpbG9uAEVwc2lsb24AcmVzb2x1dGlvbgBkaXN0b3J0aW9uAHN0ZDo6ZXhjZXB0aW9uAHBhcnRpdGlvbgBkb3RfcG9zaXRpb24AU2V0dGluZyB1cCBzdHJlc3MgZnVuY3Rpb24AdW5jbG9zZWQgQ0RBVEEgc2VjdGlvbgBwb3N0YWN0aW9uAHJvdGF0aW9uAG9yaWVudGF0aW9uAGFib21pbmF0aW9uAGFjY291bnRpbmdHZXRDdXJyZW50QW1wbGlmaWNhdGlvbgB4ZG90dmVyc2lvbgBTVHNldFVuaW9uADxwb2x5Z29uAGhleGFnb24Ac2VwdGFnb24AcGVudGFnb24AdHJpcGxlb2N0YWdvbgBkb3VibGVvY3RhZ29uAC9zdmcvbGVtb25jaGlmZm9uAE1vbgBwbHVzbW4Abm90aW4AaXNpbgAvc3ZnL21vY2Nhc2luAHBpbgBtaW4Adm9yb19tYXJnaW4AaW5maW4Ab25lZF9vcHRpbWl6ZXJfdHJhaW4AcGxhaW4AbWFrZV9jaGFpbgBtZXJnZV9jaGFpbgBkZWxldGVNaW4AZmluZE1pbgB2YWxpZ24AYmFsaWduAHllbgBNdWx0aWxldmVsX2NvYXJzZW4AY3VycmVuAFBvYnNvcGVuAGd2X2ZvcGVuAGd2dXNlcnNoYXBlX29wZW4AZW50aXR5VHJhY2tpbmdPbk9wZW4AL3N2Zy9saW5lbgBkaW1lbgBtaW5sZW4Ac3R5bGVfdG9rZW4AdW5jbG9zZWQgdG9rZW4AL3N2Zy95ZWxsb3dncmVlbgBtZWRpdW1mb3Jlc3RncmVlbgAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvbGlnaHRncmVlbgBodW50ZXJzZ3JlZW4AL3N2Zy9sYXduZ3JlZW4AL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9tZWRpdW1zcHJpbmdncmVlbgAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9saW1lZ3JlZW4AL3N2Zy9wYWxlZ3JlZW4Ad2ViZ3JlZW4AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbWVkaXVtc2VhZ3JlZW4AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9zZWFncmVlbgB4MTFncmVlbgAvc3ZnL2dyZWVuAEdyZWVuAC9zdmcvbGlnaHRjeWFuAC9zdmcvZGFya2N5YW4AL3N2Zy9jeWFuAG5ld3RhbgBkYXJrdGFuAC9zdmcvdGFuAHJvd3NwYW4AY29sc3BhbgBuYW4AdGltZXNuZXdyb21hbgBuaW1idXNyb21hbgB0aW1lc3JvbWFuAFRpbWVzLVJvbWFuAFBhbGF0aW5vLVJvbWFuAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4ASmFuAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGFneGJwdXRfbgBcbgBuX25vZGVzID09IGdyYXBoLT5uAEEtPm0gPT0gQS0+bgBqb2ItPm9iai0+dS5uAG56YyA9PSAoc2l6ZV90KW4AcywlbGYsJWxmJW4AIGUsJWxmLCVsZiVuACVkICUxWyJdJW4AdiA9PSBuAGIgPT0gbgBuY2x1c3RlciA8PSBuAHBzeW0AYWxlZnN5bQB0aGV0YXN5bQBxdWFudHVtAHN1bQAvc3ZnL3BsdW0AaW52dHJhcGV6aXVtAG1lZGl1bQA5OnByaXNtAGxybQBjdXN0b20AYXB0ci0+dGFnID09IFRfYXRvbQAvZGV2L3VyYW5kb20AZ3ZfcmFuZG9tAHJsbQBzaW0ASU1EU19naXZlbl9kaW0Ab3JkbQBwYXJhbGxlbG9ncmFtAC9zdmcvbWludGNyZWFtAEp1bAB0bABmcmFzbABTeW1ib2wAZmluZENvbAA8P3htbAB5dW1sAHV1bWwAb3VtbABpdW1sAGV1bWwAYXVtbABZdW1sAFV1bWwAT3VtbABJdW1sAEV1bWwAQXVtbABjb3JlX2xvYWRpbWFnZV92cm1sAGpwZzp2cm1sAHBuZzp2cm1sAGpwZWc6dnJtbABnaWY6dnJtbABqcGU6dnJtbABidWxsAGZpbGwAL3N2Zy9zZWFzaGVsbABmb3JhbGwAQXByaWwAcGVybWlsAHJjZWlsAGxjZWlsAGNjZWRpbABDY2VkaWwAYXJyb3d0YWlsAGx0YWlsAHNhbWV0YWlsAGxldmVsID49IDAgJiYgbGV2ZWwgPD0gbi0+bGV2ZWwAc3RyZXNzX21ham9yaXphdGlvbl9rRF9ta2VybmVsAGlzX3BhcmFsbGVsAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAENhbGN1bGF0aW5nIE1EUyBtb2RlbAB4bGFiZWwAdGFpbGxhYmVsAGhlYWRsYWJlbABncmFwaCBsYWJlbABpZXhjbABvYmpwLT5sYmwAb3ZhbABtZXJnZXZpcnR1YWwAL3N2Zy9saWdodGNvcmFsAC9zdmcvY29yYWwAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9hcnJheXNfaW50ZXJuYWwATXVsdGlsZXZlbF9jb2Fyc2VuX2ludGVybmFsAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABhcnJvd19sZW5ndGhfbm9ybWFsAGFyaWFsAHJhZGlhbAAvc3ZnL3RlYWwAcmVhbABsb2NhbABlc3RpbWF0ZV9jaGFyYWN0ZXJfd2lkdGhfY2Fub25pY2FsAGdsb2JhbABxLT5sAC4uLy4uL2xpYi9jZ3JhcGgvc2Nhbi5sAHRrOnRrAGdpZjp0awBwYXRjaHdvcmsAdG9rAGJvb2sAQXZhbnRHYXJkZS1Cb29rAHNpbmsAb3ZlcmxhcF9zaHJpbmsAc3BpY3lwaW5rAC9zdmcvaG90cGluawAvc3ZnL2xpZ2h0cGluawAvc3ZnL2RlZXBwaW5rAG5lb25waW5rAC9zdmcvcGluawBuZXdyYW5rAGNsdXN0ZXJyYW5rAF9uZXdfcmFuawBpbnN0YWxsX2luX3JhbmsAcmVtb3ZlX2Zyb21fcmFuawAvc3ZnL2Nvcm5zaWxrAG9uZWJsb2NrAHYtPmxlZnQtPmJsb2NrID09IHYtPnJpZ2h0LT5ibG9jawAvc3ZnL2ZpcmVicmljawBQUWNoZWNrAHBhY2sAL3N2Zy9ibGFjawBCbGFjawBiYWNrAHp3agB6d25qAGpvYi0+b2JqAGdldGludHJzeGkAcHNpAFBzaQBDYWxpYnJpAEZyaQB0d29waQBkcGkAdm9yb25vaQBWb3Jvbm9pAGNoYW5pAGRlbWkAQm9va21hbi1EZW1pAEF2YW50R2FyZGUtRGVtaQAvc3ZnL2RhcmtraGFraQAvc3ZnL2toYWtpAHBoaQBjaGkAUGhpAENoaQBkaQBYaQBQaQBORF9pZChucCkgPT0gaQBTdHJlc3NNYWpvcml6YXRpb25TbW9vdGhlcl9zbW9vdGgAU3ByaW5nU21vb3RoZXJfc21vb3RoAGJvdGgAc3RhcnRzd2l0aABsaW5lbGVuZ3RoAGJhZF9hcnJheV9uZXdfbGVuZ3RoAGF2ZXJhZ2VfZWRnZV9sZW5ndGgAZXRoAHBlbndpZHRoAGx3aWR0aABzZXRsaW5ld2lkdGgAc2hvcnRwYXRoAGZvbnRwYXRoAFBvYnNwYXRoAGJlZ2lucGF0aABpbWFnZXBhdGgAZW5kcGF0aABzdHJhaWdodF9wYXRoAG1hcF9wYXRoADxwYXRoAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAL3N2Zy9sYXZlbmRlcmJsdXNoAGZsZXNoAG9zbGFzaABPc2xhc2gAZHRzdHJoYXNoAHN0cmRpY3RfaGFzaABuZGFzaABtZGFzaABkaWdyYXBoAHN1YmdyYXBoAGNvbnN0cnVjdF9ncmFwaABjaGtTZ3JhcGgAY2xvc2VzdF9wYWlyczJncmFwaABhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABjb25uZWN0R3JhcGgAdXBzaWgAJXNsaW5lLXRocm91Z2gAY2hhblNlYXJjaABSVHJlZVNlYXJjaABNYXJjaABEaXNjb25CcmFuY2gAUGlja0JyYW5jaABBZGRCcmFuY2gALi4vLi4vbGliL3V0aWwvYml0YXJyYXkuaAAuLi8uLi9saWIvdXRpbC9zdHJ2aWV3LmgALi4vLi4vbGliL3V0aWwvc29ydC5oAC4uLy4uL2xpYi9jZ3JhcGgvbm9kZV9zZXQuaAAuLi8uLi9saWIvdXRpbC9zdHJlcS5oAC4uLy4uL2xpYi91dGlsL3N0YXJ0c3dpdGguaAAuLi8uLi9saWIvdXRpbC9ndl9tYXRoLmgALi4vLi4vbGliL3V0aWwvYWd4YnVmLmgALi4vLi4vbGliL3V0aWwvdG9rZW5pemUuaAAuLi8uLi9saWIvdXRpbC9hbGxvYy5oAGF1eGcAY29yZV9sb2FkaW1hZ2Vfc3ZnAHN2ZzpzdmcAanBnOnN2ZwBwbmc6c3ZnAGpwZWc6c3ZnAGdpZjpzdmcAanBlOnN2ZwBzdmdfaW5saW5lOnN2ZwBBdWcAZG9Qcm9sb2cAcG93ZXJfaXRlcmF0aW9uX29ydGhvZwBwbmcAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAeGRvdCB2ZXJzaW9uICIlcyIgdG9vIGxvbmcAY29uZwBsYmxlbmNsb3NpbmcAYmFzaWNfc3RyaW5nAGZhaWx1cmUgbWFsbG9jJ2luZyBmb3IgcmVzdWx0IHN0cmluZwBzcHJpbmcAb3JkZXJpbmcAZ2VuZXJhdGVSYW5kb21PcmRlcmluZwBhcmluZwBBcmluZwBEYW1waW5nAFdhcm5pbmcAb3ZlcmxhcF9zY2FsaW5nAHggYW5kIHkgc2NhbGluZwBvbGQgc2NhbGluZwBzbW9vdGhpbmcAdW5rbm93biBlbmNvZGluZwBtdWx0aWxldmVsX3NwcmluZ19lbGVjdHJpY2FsX2VtYmVkZGluZwBzcHJpbmdfZWxlY3RyaWNhbF9zcHJpbmdfZW1iZWRkaW5nAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAHJhbmcAbGFuZwBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBlbWl0X2h0bWxfaW1nAGxnAG9yaWcAc3psaWcAb2VsaWcAYWVsaWcAT0VsaWcAQUVsaWcAY29yZV9sb2FkaW1hZ2VfZmlnAGpwZzpmaWcAcG5nOmZpZwBmaWc6ZmlnAGpwZWc6ZmlnAGdpZjpmaWcAanBlOmZpZwBlZ2cAbmV4dF9zZWcAcmVnAGpwZWcAaSA9PSBkZWcAZGcAY2cAY2xvc2VzdWJnAG1pc21hdGNoZWQgdGFnAGJlei0+c2ZsYWcAYmV6LT5lZmxhZwAhKmZsYWcAIWZsYWcAPGcAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjVnICUuNWcAJWcgJWcAYm94SW50ZXJzZWN0ZgBlcHNmAGFnZWRnZXNlcWNtcGYAY2N3cm90YXRlcGYAZm5vZgBpbmYAc2VsZgBoYWxmACVsZiVsZiVsZiVsZgAlbGYsJWxmLCVsZiwlbGYsJWxmACUqZiAlKmYgJWxmICVsZgBsaWJlcmF0aW9uc2VyaWYAZnJlZXNlcmlmAHNhbnMtU2VyaWYAZ2lmAC9zdmcvcGVhY2hwdWZmAHJpZmYAYWNjb3VudGluZ1JlcG9ydERpZmYAKFhtbEJpZ0NvdW50KS0xIC0gcm9vdFBhcnNlci0+bV9hbGxvY190cmFja2VyLmJ5dGVzQWxsb2NhdGVkID49IGFic0RpZmYAdGFpbGhyZWYAbGFiZWxocmVmAGVkZ2VocmVmAGhlYWRocmVmAG9yZGYAcGRmAHNpZ21hZgBcZgAlLjBMZgAlTGYAdXMtPmYAJS4wM2YAJXMgdHJhbnNtaXQgJS4zZgByZ2I8JTkuM2YsICU5LjNmLCAlOS4zZj4gdHJhbnNtaXQgJS4zZgAlLjAyZgAlLjJmACUuMGYsJS4wZiwlLjBmLCUuMGYAICUuMGYsJS4wZgAlLjBmICUuMGYgJS4wZiAlLjBmACIgZmlsbC1vcGFjaXR5PSIlZgAiIHN0cm9rZS1vcGFjaXR5PSIlZgAKZmluYWwgZSA9ICVmAGJyb256ZQBhcnJvd3NpemUAbGFiZWxmb250c2l6ZQBzZWFyY2hzaXplAGZpeGVkc2l6ZQBub2RlX3NldF9zaXplAHRleHRzcGFuX3NpemUAc3ZnX3NpemUAaW5kZXggPCBsaXN0LT5zaXplAGNhcGFjaXR5ID4gZGljdC0+c2l6ZQBjYXBhY2l0eSA+IHNlbGYtPnNpemUAYnouc2l6ZQBwb2ludC1zaXplAFNJWkVfTUFYIC0gc2l6ZW9mKHNpemVfdCkgLSBFWFBBVF9NQUxMT0NfUEFERElORyA+PSBzaXplAG5vcm1hbGl6ZQBFTGluaXRpYWxpemUAbWtNYXplAGljdXJ2ZQB0cnlfcmVzZXJ2ZQBub2RlX3NldF9yZW1vdmUAc3RyZGljdF9yZW1vdmUAc29sdmUAIXYtPmFjdGl2ZQAtYWN0aXZlAGZvbnRfaW5fbGlzdF9wZXJtaXNzaXZlAC9zdmcvb2xpdmUAdWdyYXZlAG9ncmF2ZQBpZ3JhdmUAZWdyYXZlAGFncmF2ZQBVZ3JhdmUAT2dyYXZlAElncmF2ZQBFZ3JhdmUAQWdyYXZlAHRydWUAL3N2Zy9iaXNxdWUAb2JsaXF1ZQBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBDb3VyaWVyLUJvbGRPYmxpcXVlAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUAQ291cmllci1PYmxpcXVlAEhlbHZldGljYS1PYmxpcXVlAG5hdnlibHVlAC9zdmcvbGlnaHRza3libHVlAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9za3libHVlAG5ld21pZG5pZ2h0Ymx1ZQAvc3ZnL21pZG5pZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvZG9kZ2VyYmx1ZQAvc3ZnL3Bvd2RlcmJsdWUAbmVvbmJsdWUAL3N2Zy9tZWRpdW1ibHVlAC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9zdGVlbGJsdWUAL3N2Zy9yb3lhbGJsdWUAL3N2Zy9kYXJrYmx1ZQByaWNoYmx1ZQBsaWdodHNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9hbGljZWJsdWUAL3N2Zy9ibHVlAGNhbGxTdG9yZUVudGl0eVZhbHVlAHN0b3JlQXR0cmlidXRlVmFsdWUAQmx1ZQBuZWF0b19lbnF1ZXVlAFR1ZQB5YWN1dGUAdWFjdXRlAG9hY3V0ZQBpYWN1dGUAZWFjdXRlAGFhY3V0ZQBZYWN1dGUAVWFjdXRlAE9hY3V0ZQBJYWN1dGUARWFjdXRlAEFhY3V0ZQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQBkdXBsaWNhdGUgYXR0cmlidXRlAG5vdGUAcHJpbWVyc2l0ZQByaWJvc2l0ZQByZXN0cmljdGlvbnNpdGUAcHJvdGVhc2VzaXRlAC9zdmcvZ2hvc3R3aGl0ZQAvc3ZnL25hdmFqb3doaXRlAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy93aGl0ZQBXaGl0ZQBwb3Bfb2JqX3N0YXRlAHBjcF9yb3RhdGUAY29uY2VudHJhdGUAZGVjb3JhdGUAUXVhZFRyZWVfcmVwdWxzaXZlX2ZvcmNlX2FjY3VtdWxhdGUAbm90cmFuc2xhdGUAL3N2Zy9jaG9jb2xhdGUAcGFyc2VyQ3JlYXRlAGdlb21VcGRhdGUAaW52aG91c2UAL3N2Zy9jaGFydHJldXNlAFhNTF9QYXJzZQA8ZWxsaXBzZQBkdXN0eXJvc2UAL3N2Zy9taXN0eXJvc2UAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBhZ2Nsb3NlAGVudGl0eVRyYWNraW5nT25DbG9zZQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UAZmFsc2UAL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3R1cnF1b2lzZQBwaGFzZQBTSVpFX01BWCAtIHJvb3RQYXJzZXItPm1fYWxsb2NfdHJhY2tlci5ieXRlc0FsbG9jYXRlZCA+PSBpbmNyZWFzZQAvc3ZnL2F6dXJlAHNpZ25hdHVyZQBtb3JlX2NvcmUATXNxdWFyZQBQYWxhdGlubyBMaW5vdHlwZQBBLT50eXBlID09IEItPnR5cGUAc3VwZQBlbGxpcHNlX3RhbmdlbnRfc2xvcGUAZ3ZyZW5kZXJfdXNlcnNoYXBlAG1pdGVyX3NoYXBlAGxhbmRzY2FwZQBMYW5kc2NhcGUASnVuZQBub25lAGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGNvdXNpbmUAL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvYXF1YW1hcmluZQA8cG9seWxpbmUAJXNvdmVybGluZQB1bmRlcmxpbmUAcmVhbGx5cm91dGVzcGxpbmUAUHJvdXRlc3BsaW5lAGxpbmVhcl9zcGxpbmUAYl9zcGxpbmUAb2xpbmUAYWd4YnVmX2lzX2lubGluZQBzdmdfaW5saW5lAHJlZmluZQBwcmltZQBQcmltZQAvc3ZnL2xpbWUAY29sb3JzY2hlbWUAbGFiZWxfc2NoZW1lAHNhbWUAbGFiZWxmb250bmFtZQBVRl9zZXRuYW1lAGZvbnRfbmFtZQBmb250LT5uYW1lAHVzLT5uYW1lAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAc3R5bGUAL3N2Zy90aGlzdGxlAHRpdGxlAC9zdmcvbWVkaXVtcHVycGxlAGRhcmtwdXJwbGUAd2VicHVycGxlAHJlYmVjY2FwdXJwbGUAdmVyeV9saWdodF9wdXJwbGUAbWVkX3B1cnBsZQB4MTFwdXJwbGUAL3N2Zy9wdXJwbGUAc2hhcGVmaWxlAGdyYWRpZW50YW5nbGUAcmVjdGFuZ2xlAFJlY3RhbmdsZQBsYWJlbGFuZ2xlAGludnRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGZzQ3ljbGUAZG91YmxlY2lyY2xlAE1jaXJjbGUAaW52aXNpYmxlAGV4cGF0X2hlYXBfaW5jcmVhc2VfdG9sZXJhYmxlAHRob3JuZGFsZQBpbnB1dHNjYWxlAG9zY2FsZQBpbWFnZXNjYWxlAC9zdmcvd2hpdGVzbW9rZQBtYW5kYXJpbm9yYW5nZQAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9vcmFuZ2UAZXhjaGFuZ2UAL3N2Zy9iZWlnZQBuZXdlZGdlAGRlbGV0ZV9mYXN0X2VkZ2UAZGVsZXRlX2ZsYXRfZWRnZQBhZGRfdHJlZV9lZGdlAG1ha2VTdHJhaWdodEVkZ2UAbWFrZVNlbGZFZGdlAG1ha2VDb21wb3VuZEVkZ2UAIXVzZV9zdGFnZQBvc2FnZQBwYWdlAGd2bG9hZGltYWdlAHZlZQB0ZWUAUVVBRF9UUkVFX0hZQlJJRCwgc2l6ZSBsYXJnZXIgdGhhbiAlZCwgc3dpdGNoIHRvIGZhc3QgcXVhZHRyZWUAZmVhc2libGVfdHJlZQBub2RlX3NldF9mcmVlAGV4cGF0X2ZyZWUAZ3ZfYXJlbmFfZnJlZQBuZXdub2RlAGluc3RhbGxub2RlAGFnbm9kZQBkZWxldGVfZmFzdF9ub2RlAHBhY2ttb2RlAFNwbGl0Tm9kZQBvdGlsZGUAbnRpbGRlAGF0aWxkZQBPdGlsZGUATnRpbGRlAEF0aWxkZQBkaXZpZGUAdHJhZGUAZ3JhcGh2aXpfbm9kZV9pbmR1Y2UAc291cmNlAHJlcHVsc2l2ZWZvcmNlAGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHJlY3Vyc2l2ZSBlbnRpdHkgcmVmZXJlbmNlAGxhYmVsZGlzdGFuY2UAVEJfYmFsYW5jZQBUQmJhbGFuY2UAZGV2aWNlAG1vbm9zcGFjZQAvc3ZnL29sZGxhY2UAZmFjZQBzdWJlACAtYW5jaG9yIGUAczEtPmNvbW1fY29vcmQ9PXMyLT5jb21tX2Nvb3JkAE1yZWNvcmQAZm9yd2FyZABwcm9kAGxpZ2h0Z29sZGVucm9kAG1lZGl1bWdvbGRlbnJvZAAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvZ29sZGVucm9kAC9zdmcvYnVybHl3b29kAGxpZ2h0d29vZABtZWRpdW13b29kAGRhcmt3b29kAF9iYWNrZ3JvdW5kAGNvbXBvdW5kAG5vIGVsZW1lbnQgZm91bmQAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1ubyBhY3Rpb24gZm91bmQAL3N2Zy9ibGFuY2hlZGFsbW9uZABhcnJvd19sZW5ndGhfZGlhbW9uZABNZGlhbW9uZABub2RlX3NldF9maW5kAHN0cmRpY3RfZmluZABndnVzZXJzaGFwZV9maW5kAEVMbGVmdGJuZABleHBhbmQAY3VtYmVybGFuZABicmlnaHRnb2xkAG9sZGdvbGQAL3N2Zy9nb2xkAGJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkAFRpbWVzLUJvbGQAQ291cmllci1Cb2xkAFBhbGF0aW5vLUJvbGQATmV3Q2VudHVyeVNjaGxiay1Cb2xkAEhlbHZldGljYS1Cb2xkACUwKmxsZAAlKmxsZAArJWxsZABuLT5icmFuY2hbaV0uY2hpbGQAJSsuNGxkACVzJWxkAHNvbGlkAC9zdmcvbWVkaXVtb3JjaGlkAC9zdmcvZGFya29yY2hpZAAvc3ZnL29yY2hpZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAZGlqa3N0cmFfc2dkAGZpeGVkAGN1cnZlZABkZXJpdmVkAGRvdHRlZABtZW1vcnkgZXhoYXVzdGVkAGxvY2FsZSBub3Qgc3VwcG9ydGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN0YXJ0ZWQAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAYWNjb3VudGluZ0RpZmZUb2xlcmF0ZWQAcm9vdFBhcnNlci0+bV9hbGxvY190cmFja2VyLmJ5dGVzQWxsb2NhdGVkID49IGJ5dGVzQWxsb2NhdGVkAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tZW5kIG9mIGJ1ZmZlciBtaXNzZWQAY29uZGVuc2VkAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvcGFsZXZpb2xldHJlZABJbXByb3BlciAlcyB2YWx1ZSAlcyAtIGlnbm9yZWQAJXMgdmFsdWUgJXMgPCAlZCAtIHRvbyBzbWFsbCAtIGlnbm9yZWQAJXMgdmFsdWUgJXMgPiAlZCAtIHRvbyBsYXJnZSAtIGlnbm9yZWQAL3N2Zy9pbmRpYW5yZWQAL3N2Zy9kYXJrcmVkAGEgc3VjY2Vzc2Z1bCBwcmlvciBjYWxsIHRvIGZ1bmN0aW9uIFhNTF9HZXRCdWZmZXIgaXMgcmVxdWlyZWQAdGFwZXJlZAAvc3ZnL29yYW5nZXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAC9zdmcvcmVkAHN0cmlwZWQAaWxsLWNvbmRpdGlvbmVkAHVuZGVmaW5lZABub3QgY29uc3RyYWluZWQAbGFiZWxhbGlnbmVkAHRleHQgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAFhNTCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAdW5maWxsZWQAaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZAB0cmlhbmd1bGF0aW9uIGZhaWxlZABwYXJzaW5nIGZpbmlzaGVkAGRhc2hlZABsaW1pdCBvbiBpbnB1dCBhbXBsaWZpY2F0aW9uIGZhY3RvciAoZnJvbSBEVEQgYW5kIGVudGl0aWVzKSBicmVhY2hlZAB3ZWRnZWQAc2l6ZSA9PSBmcmVlZAByb3VuZGVkAHNwbGluZSBbJS4wM2YsICUuMDNmXSAtLSBbJS4wM2YsICUuMDNmXSBpcyBob3Jpem9udGFsOyB3aWxsIGJlIHRyaXZpYWxseSBib3VuZGVkAHNwbGluZSBbJS4wM2YsICUuMDNmXSAtLSBbJS4wM2YsICUuMDNmXSBpcyB2ZXJ0aWNhbDsgd2lsbCBiZSB0cml2aWFsbHkgYm91bmRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAFdlZABSZWQAU3BhcnNlTWF0cml4X2FkZABub2RlX3NldF9hZGQAc3RyZGljdF9hZGQAZGQgIT0gcGFyZW50X2RkAEtQX0FkZABwYWQAeGxoZHhsb2FkAHhsaGR4dW5sb2FkAHJlYWQAYXJyb3doZWFkAGxoZWFkAHNhbWVoZWFkAGJveDNkACVzXyVkAF9zcGFuXyVkAF9ibG9ja18lZABfd2Vha18lZABfY2xvbmVfJWQALiVkACVZLSVtLSVkACVsZiwlZAAlcyBpbiBsaW5lICVkACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQAIl9zdWJncmFwaF9jbnQiOiAlZAAiX2d2aWQiOiAlZAAiaGVhZCI6ICVkAGFneGJwdXRjAHZwc2MAY3AtPnNyYwB1Y2lyYwBvY2lyYwBpY2lyYwBlY2lyYwBhY2lyYwBVY2lyYwBPY2lyYwBJY2lyYwBFY2lyYwBBY2lyYwBsYWJlbGxvYwBleHBhdF9tYWxsb2MAZXhwYXRfcmVhbGxvYwBndl9yZWNhbGxvYwBzdGQ6OmJhZF9hbGxvYwBndl9hcmVuYV9hbGxvYwBiYWtlcnNjaG9jAHNlbWlTd2VldENob2MAbWMAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYwBBLT5pc19wYXR0ZXJuX3N5bW1ldHJpYwBwaWM6cGljAGl0YWxpYwBCb29rbWFuLUxpZ2h0SXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAQm9va21hbi1EZW1pSXRhbGljAFRpbWVzLUJvbGRJdGFsaWMAUGFsYXRpbm8tQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwByYWRpYwAjZmNmY2ZjAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICV6dSBib3hlcyAlLjJmIHNlYwA6ICUuMmYgc2VjAGxpc3RkZWxyZWMAbGV2ZWwgZ3JhcGggcmVjAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAERlYwBfbmVhdG9fY2MAYmMAdmlzaWJpbGl0eS5jAFNwYXJzZU1hdHJpeC5jAGh0bWxsZXguYwBpbmRleC5jAHNtYXJ0X2luaV94LmMAZ3ZyZW5kZXJfY29yZV9wb3YuYwBjdnQuYwBsYXlvdXQuYwB0ZXh0c3Bhbl9sdXQuYwBhZGp1c3QuYwBub2RlbGlzdC5jAHNob3J0ZXN0LmMAY2xvc2VzdC5jAGd2cmVuZGVyX2NvcmVfZG90LmMAY29uc3RyYWludC5jAGRvdGluaXQuYwBuZWF0b2luaXQuYwBwYXRjaHdvcmtpbml0LmMAb3NhZ2Vpbml0LmMAZW1pdC5jAGZsYXQuYwBhcnJvd3MuYwBtaW5jcm9zcy5jAHN0cmVzcy5jAHBvc3RfcHJvY2Vzcy5jAGNjb21wcy5jAG5zLmMAdXRpbHMuYwB4bGFiZWxzLmMAc2hhcGVzLmMAZG90c3BsaW5lcy5jAG5lYXRvc3BsaW5lcy5jAGNsdXN0ZXJlZGdlcy5jAGhlZGdlcy5jAGF0dHIuYwByZWZzdHIuYwBmYXN0Z3IuYwBjbHVzdGVyLmMAdGFwZXIuYwBndnJlbmRlci5jAHNwbGl0LnEuYwBjb21wLmMAZ3ZyZW5kZXJfY29yZV9tYXAuYwBoZWFwLmMAb3J0aG8uYwBndnJlbmRlcl9jb3JlX2pzb24uYwBwYXJ0aXRpb24uYwBwb3NpdGlvbi5jAGd2X2ZvcGVuLmMAdGV4dHNwYW4uYwBnZW9tLmMAcmFuZG9tLmMAcm91dGVzcGwuYwB4bWwuYwBNdWx0aWxldmVsLmMAc3ByaW5nX2VsZWN0cmljYWwuYwBndnJlbmRlcl9jb3JlX3RrLmMAcmFuay5jAHBhY2suYwBkdHN0cmhhc2guYwBncmFwaC5jAGd2cmVuZGVyX2NvcmVfc3ZnLmMAZ3ZyZW5kZXJfY29yZV9maWcuYwBzdHVmZi5jAG1hemUuYwBzcGFyc2Vfc29sdmUuYwByb3V0ZS5jAHdyaXRlLmMAY29seGxhdGUuYwB4bWxwYXJzZS5jAGd2bG9hZGltYWdlX2NvcmUuYwBndnVzZXJzaGFwZS5jAGNpcmNsZS5jAGh0bWx0YWJsZS5jAGVkZ2UuYwBndmxvYWRpbWFnZS5jAGJsb2NrdHJlZS5jAFF1YWRUcmVlLmMAbm9kZS5jAG5vZGVfaW5kdWNlLmMAZ3ZkZXZpY2UuYwBjb21wb3VuZC5jAHRyYXBlem9pZC5jAHNnZC5jAGNvbmMuYwByZWMuYwBkaWprc3RyYS5jAGFyZW5hLmMAZlBRLmMAY2xhc3MyLmMAJWxmLCVsZiwlbGYsJWxmJWMAJWxmLCVsZiwlbGYsJVteLF0lYwBcJWMAJGMAd2IAbnN1YgBzZXRoc2IAcmIAcHJvdGVjdF9yc3FiAGpvYgBjb3JlX2xvYWRpbWFnZV9wc2xpYgBGZWIAb2RiAGluaXRfc3BsaW5lc19iYgBiZXppZXJfYmIAcHJvdGVpbnN0YWIAcm5hc3RhYgAvc3ZnL29saXZlZHJhYgBcYgByd2EAL3N2Zy9hcXVhAGlvdGEASW90YQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvbWFnZW50YQBkZWx0YQBEZWx0YQB6ZXRhAHRoZXRhAFRoZXRhAGJldGEAWmV0YQBCZXRhAHByZXYgIT0gb2JqLT5kYXRhAG1ha2VHcmFwaERhdGEARXRhAG5pbWJ1c3NhbnNhAHBhcmEAa2FwcGEAS2FwcGEAL3N2Zy9zaWVubmEAVmVyZGFuYQBnYW1tYQBHYW1tYQBzaWdtYQBTaWdtYQBjb25zb2xhAG5hYmxhAC9zdmcvZnVjaHNpYQBHZW9yZ2lhAGFscGhhAEFscGhhAG9tZWdhAE9tZWdhAGFyZWEAbGFtYmRhAExhbWJkYQBoZWx2ZXRpY2EASGVsdmV0aWNhAG1pY2EAPjxhAGAAZ3ZfbGlzdF9jb3B5XwBfdGRyYXdfAF90bGRyYXdfAF9obGRyYXdfAF9sZHJhd18AX2hkcmF3XwBfZHJhd18AZ3ZfbGlzdF9zb3J0XwBndl9saXN0X2FwcGVuZF9zbG90XwBndl9saXN0X3ByZXBlbmRfc2xvdF8AZ3ZfbGlzdF9wb3BfZnJvbnRfAGd2X2xpc3Rfc2hyaW5rX3RvX2ZpdF8AYWd4c2V0XwBndl9saXN0X2dldF8AZG90X3NwbGluZXNfACVzXwBndl9saXN0X2NsZWFyXwBndl9saXN0X3BvcF9iYWNrXwBndl9saXN0X2RldGFjaF8AZ3ZfbGlzdF9yZW1vdmVfAGd2X2xpc3RfcmV2ZXJzZV8AZ3ZfbGlzdF9mcmVlXwBndl9saXN0X3RyeV9hcHBlbmRfAHBhZ2UlZCwlZF8AZ3ZfbGlzdF9zeW5jXwBfY2NfACBpZD0iYV8AXgBTdGFydGluZyBwaGFzZSAyIFtkb3RfbWluY3Jvc3NdAFN0YXJ0aW5nIHBoYXNlIDMgW2RvdF9wb3NpdGlvbl0Abl9lZGdlcyA9PSBncmFwaC0+c291cmNlc1tncmFwaC0+bl0AU3RhcnRpbmcgcGhhc2UgMSBbZG90X3JhbmtdAGpkW21hc2tbamNba11dXSA9PSBqY1trXQBqY1ttYXNrW2piW2tdXV0gPT0gamJba10AbmVlZGxlW2ldICE9IG5lZWRsZVtqXQBqYVttYXNrW2phW2pdXV0gPT0gamFbal0AcS0+cXRzW2lpXQAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAHIuYm91bmRhcnlbaV0gPD0gci5ib3VuZGFyeVtOVU1ESU1TICsgaV0AWyUuMDNmLCUuMDNmXQBbaW50ZXJuYWwgaGFyZC1jb2RlZF0AbnAtPmNlbGxzWzFdAG5wLT5jZWxsc1swXQB1cy0+bmFtZVswXQBjcC0+c3JjWzBdAFsuLl0AXFwAInBvaW50cyI6IFsAInN0b3BzIjogWwAJWwBaAGNvbXB1dGVTY2FsZVhZAHk8PVkAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAbnogPD0gSU5UX01BWAB5ID49IElOVF9NSU4gJiYgeSA8PSBJTlRfTUFYAHggPj0gSU5UX01JTiAmJiB4IDw9IElOVF9NQVgAdyA+PSAwICYmIHcgPD0gSU5UX01BWABlX2NudCA8PSBJTlRfTUFYAHBhaXIucmlnaHQgPD0gSU5UX01BWABwYWlyLmxlZnQgPD0gSU5UX01BWAB0YXJnZXQgPD0gSU5UX01BWABuc2VncyA8PSBJTlRfTUFYAG5fZWRnZXMgPD0gSU5UX01BWABzdHAubnZlcnRpY2VzIDw9IElOVF9NQVgAb2JzW3BvbHlfaV0tPnBuIDw9IElOVF9NQVgAaW5wdXRfcm91dGUucG4gPD0gSU5UX01BWABncmFwaC0+biA8PSBJTlRfTUFYAGggPj0gMCAmJiBoIDw9IElOVF9NQVgAZV9jbnQgLSAxIDw9IElOVF9NQVgATElTVF9TSVpFKCZsaXN0KSAtIDEgPD0gSU5UX01BWABMSVNUX1NJWkUoJmxheWVySURzKSAtIDEgPD0gSU5UX01BWABzdHJsZW4oYXJncykgPD0gSU5UX01BWABMSVNUX1NJWkUoJm9iamwpIDw9IElOVF9NQVgATElTVF9TSVpFKCZjdHgtPlRyZWVfZWRnZSkgPD0gSU5UX01BWABub2RlX3NldF9zaXplKGctPm5faWQpIDw9IElOVF9NQVgAaSA8IElOVF9NQVgAcmVzdWx0IDw9IChpbnQpVUNIQVJfTUFYAHNzeiA8PSBVQ0hBUl9NQVgAY29sID49IDAgJiYgY29sIDw9IFVJTlQxNl9NQVgAeDw9WABXAFYAVQBcVABURVhUAFNUUkVTU19NQUpPUklaQVRJT05fUE9XRVJfRElTVABTVFJFU1NfTUFKT1JJWkFUSU9OX0dSQVBIX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9BVkdfRElTVABGQVNUAEZPTlQAYiA9PSBCX1JJR0hUAEhFSUdIVABCX0xFRlQAXyVsbHVfU1VTUEVDVABCVABUcmVidWNoZXQgTVMASU5WSVMAJUg6JU06JVMAVlIAVFIAQS0+Zm9ybWF0ID09IEItPmZvcm1hdCAmJiBBLT5mb3JtYXQgPT0gRk9STUFUX0NTUgBMUgBESVIASFIAQ0VOVEVSACUlVFJBSUxFUgBBLT50eXBlID09IE1BVFJJWF9UWVBFX1JFQUwgfHwgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9JTlRFR0VSAENFTExCT1JERVIAQlIAKlIAUQBFWFAAQl9VUABTVVAAVE9QAE8AbWFwTgBcTgBCX0RPV04AVEhPUk4AJSVCRUdJTgBST1dTUEFOAENPTFNQQU4ATkFOAFBNAEJPVFRPTQBCTQBBTQAlSDolTQBcTAB0YWlsVVJMAGxhYmVsVVJMAGVkZ2VVUkwAaGVhZFVSTABIVE1MAHghPU5VTEwAcm9vdFBhcnNlci0+bV9wYXJlbnRQYXJzZXIgPT0gTlVMTABFRF90b192aXJ0KG9yaWcpID09IE5VTEwARURfdG9fdmlydChlKSA9PSBOVUxMAHByZWZpeCAhPSBOVUxMAGR0ZC0+c2NhZmZJbmRleCAhPSBOVUxMAHNtLT5MdyAhPSBOVUxMAGlucHV0ICE9IE5VTEwAbGlzdCAhPSBOVUxMAHJlZmVyZW50ICE9IE5VTEwAZGljdCAhPSBOVUxMAGRpY3QtPmJ1Y2tldHMgIT0gTlVMTABhdHRyICE9IE5VTEwAYWxsb2NhdG9yICE9IE5VTEwAcGFyc2VyICE9IE5VTEwAcm9vdFBhcnNlciAhPSBOVUxMAGxlYWRlciAhPSBOVUxMAGNtcCAhPSBOVUxMAGRhdGFwICE9IE5VTEwAaW50byAhPSBOVUxMAGl0ZW0gIT0gTlVMTABvcnRob2cgIT0gTlVMTABzZWxmICE9IE5VTEwAdmFsdWUgIT0gTlVMTABmaWxlbmFtZSAhPSBOVUxMAGpvYi0+b3V0cHV0X2ZpbGUgIT0gTlVMTABtb2RlICE9IE5VTEwAeGQgIT0gTlVMTABzbS0+THdkICE9IE5VTEwAam9iICE9IE5VTEwAc291cmNlLmRhdGEgIT0gTlVMTABiLmRhdGEgIT0gTlVMTABhLmRhdGEgIT0gTlVMTABhcmVuYSAhPSBOVUxMAGxpc3QgJiYgbGlzdFswXSAhPSBOVUxMAEFGICE9IE5VTEwAc20tPkQgIT0gTlVMTABFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATENfQUxMAEJMAGJlc3Rjb3N0IDwgSFVHRV9WQUwATk9STUFMAFJBRElBTABBLT50eXBlID09IE1BVFJJWF9UWVBFX1JFQUwAVVJXIENoYW5jZXJ5IEwAVVJXIEJvb2ttYW4gTABDZW50dXJ5IFNjaG9vbGJvb2sgTABVUlcgR290aGljIEwAS0sASgBpIDwgTUFYX0kAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAQVNDSUkAXEgARVRIAFdJRFRIAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAbWtOQ29uc3RyYWludEcAXEcARVhQQVRfRU5USVRZX0RFQlVHAEVYUEFUX0VOVFJPUFlfREVCVUcARVhQQVRfQUNDT1VOVElOR19ERUJVRwBFWFBBVF9NQUxMT0NfREVCVUcAUk5HAFNQUklORwBDRUxMUEFERElORwBDRUxMU1BBQ0lORwBMQU5HAElNRwBceEYAJSVFT0YASU5GAFx4RkYAUklGRgBkZWx0YSA8PSAweEZGRkYAXHhFRgBceERGAFx4Q0YAXHhCRgBceEFGAFx4OUYAXHg4RgBceDdGAFx4MUYAXHhFAFxFAFBPSU5ULVNJWkUAVFJVRQBDTE9TRQBGQUxTRQBrZXkgIT0gVE9NQlNUT05FAHIgIT0gVE9NQlNUT05FAE5PTkUAR1JBRElFTlRBTkdMRQBUUklBTkdMRQBNSURETEUASU5WSVNJQkxFAFRBQkxFAEFHVFlQRShvYmopID09IEFHSU5FREdFIHx8IEFHVFlQRShvYmopID09IEFHT1VURURHRQBceEZFAFx4RUUAXHhERQBCX05PREUAXHhDRQBceEJFAFx4QUUAXHg5RQBceDhFAFx4MUUAVEQAQS0+Zm9ybWF0ID09IEZPUk1BVF9DT09SRABuICYmIGkgPj0gMCAmJiBpIDwgTk9ERUNBUkQAJSVFTkQASFlCUklEAFNPTElEAFx4RkQAXHhFRABET1RURUQAREFTSEVEAFJPVU5ERUQAXHhERABceENEAFx4QkQAXHhBRABceDlEAFx4OEQAXHgxRABceEMAZGVsZXRlVlBTQwBceEZDAFx4RUMAXHhEQwBceENDAFx4QkMAXHhBQwBceDlDAFx4OEMAXHgxQwBceEIAU1VCAFx4RkIAXHhFQgBceERCAFx4Q0IAXHhCQgBceEFCAFx4OUIAXHg4QgBceDFCAEEgJiYgQgBceEZBAFx4RUEAXHhEQQBceENBAFx4QkEAXHhBQQBceDlBAFx4OEEAXHgxQQBAAD8APCVzPgA8bmlsPgA8L3RzcGFuPjwvdGV4dFBhdGg+AAogICAgPCU5LjNmLCAlOS4zZiwgJTkuM2Y+AD4KPHRpdGxlPgA8Rk9OVD4APEJSPgA8SFRNTD4APC9IVE1MPgA8SU1HPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgA8VEQ+AC0+ACI+AAlba2V5PQA8PQA8ACYjeCV4OwAmcXVvdDsAJmx0OwAmZ3Q7ACZhbXA7ACMlZDsAJiMzOTsAJiM0NTsAJiM5MzsAJiMxMzsAJiMxNjA7ACYjMTA7ADtzdG9wLW9wYWNpdHk6ACUlQm91bmRpbmdCb3g6AGNhbGN1bGF0aW5nIHNob3J0ZXN0IHBhdGhzIGFuZCBzZXR0aW5nIHVwIHN0cmVzcyB0ZXJtczoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6AHNvbHZpbmcgbW9kZWw6AC9cOgBncmV5OQBncmF5OQBceEY5AFx4RTkAXHhEOQBceEM5AFx4QjkAXHhBOQBncmV5OTkAZ3JheTk5AFx4OTkAZ3JleTg5AGdyYXk4OQBceDg5ADAxMjM0NTY3ODkAZ3JleTc5AGdyYXk3OQBncmV5NjkAZ3JheTY5AGdyZXk1OQBncmF5NTkAZ3JleTQ5AGdyYXk0OQBncmV5MzkAZ3JheTM5AGdyZXkyOQBncmF5MjkAZ3JleTE5AGdyYXkxOQBceDE5AC9yZGd5OS85AC9idXB1OS85AC9yZHB1OS85AC9wdWJ1OS85AC95bGduYnU5LzkAL2duYnU5LzkAL3JkeWxidTkvOQAvcmRidTkvOQAvZ3JleXM5LzkAL2dyZWVuczkvOQAvYmx1ZXM5LzkAL3B1cnBsZXM5LzkAL29yYW5nZXM5LzkAL3JlZHM5LzkAL3B1b3I5LzkAL3lsb3JicjkvOQAvcHVidWduOS85AC9idWduOS85AC9wcmduOS85AC9yZHlsZ245LzkAL3lsZ245LzkAL3NwZWN0cmFsOS85AC9waXlnOS85AC9icmJnOS85AC9wdXJkOS85AC95bG9ycmQ5LzkAL29ycmQ5LzkAL3BhaXJlZDkvOQAvc2V0MzkvOQAvc2V0MTkvOQAvcGFzdGVsMTkvOQAvcGFpcmVkMTIvOQAvc2V0MzEyLzkAL3JkZ3kxMS85AC9yZHlsYnUxMS85AC9yZGJ1MTEvOQAvcHVvcjExLzkAL3ByZ24xMS85AC9yZHlsZ24xMS85AC9zcGVjdHJhbDExLzkAL3BpeWcxMS85AC9icmJnMTEvOQAvcGFpcmVkMTEvOQAvc2V0MzExLzkAL3JkZ3kxMC85AC9yZHlsYnUxMC85AC9yZGJ1MTAvOQAvcHVvcjEwLzkAL3ByZ24xMC85AC9yZHlsZ24xMC85AC9zcGVjdHJhbDEwLzkAL3BpeWcxMC85AC9icmJnMTAvOQAvcGFpcmVkMTAvOQAvc2V0MzEwLzkAZ3JleTgAZ3JheTgAXHg4AHV0ZjgAI2Y4ZjhmOAAjZThlOGU4AFx4RjgAR0lGOABceEU4AFx4RDgAXHhDOABceEI4AFx4QTgAZ3JleTk4AGdyYXk5OABceDk4AGdyZXk4OABncmF5ODgAXHg4OABncmV5NzgAZ3JheTc4AGdyZXk2OABncmF5NjgAZ3JleTU4AGdyYXk1OABncmV5NDgAZ3JheTQ4AGdyZXkzOABncmF5MzgAZ3JleTI4AGdyYXkyOABncmV5MTgAZ3JheTE4AFx4MTgAL3JkZ3k5LzgAL2J1cHU5LzgAL3JkcHU5LzgAL3B1YnU5LzgAL3lsZ25idTkvOAAvZ25idTkvOAAvcmR5bGJ1OS84AC9yZGJ1OS84AC9ncmV5czkvOAAvZ3JlZW5zOS84AC9ibHVlczkvOAAvcHVycGxlczkvOAAvb3JhbmdlczkvOAAvcmVkczkvOAAvcHVvcjkvOAAveWxvcmJyOS84AC9wdWJ1Z245LzgAL2J1Z245LzgAL3ByZ245LzgAL3JkeWxnbjkvOAAveWxnbjkvOAAvc3BlY3RyYWw5LzgAL3BpeWc5LzgAL2JyYmc5LzgAL3B1cmQ5LzgAL3lsb3JyZDkvOAAvb3JyZDkvOAAvcGFpcmVkOS84AC9zZXQzOS84AC9zZXQxOS84AC9wYXN0ZWwxOS84AC9yZGd5OC84AC9idXB1OC84AC9yZHB1OC84AC9wdWJ1OC84AC95bGduYnU4LzgAL2duYnU4LzgAL3JkeWxidTgvOAAvcmRidTgvOAAvYWNjZW50OC84AC9ncmV5czgvOAAvZ3JlZW5zOC84AC9ibHVlczgvOAAvcHVycGxlczgvOAAvb3JhbmdlczgvOAAvcmVkczgvOAAvcHVvcjgvOAAveWxvcmJyOC84AC9wdWJ1Z244LzgAL2J1Z244LzgAL3ByZ244LzgAL3JkeWxnbjgvOAAveWxnbjgvOAAvc3BlY3RyYWw4LzgAL3BpeWc4LzgAL2JyYmc4LzgAL3B1cmQ4LzgAL3lsb3JyZDgvOAAvb3JyZDgvOAAvcGFpcmVkOC84AC9zZXQzOC84AC9zZXQyOC84AC9wYXN0ZWwyOC84AC9kYXJrMjgvOAAvc2V0MTgvOAAvcGFzdGVsMTgvOAAvcGFpcmVkMTIvOAAvc2V0MzEyLzgAL3JkZ3kxMS84AC9yZHlsYnUxMS84AC9yZGJ1MTEvOAAvcHVvcjExLzgAL3ByZ24xMS84AC9yZHlsZ24xMS84AC9zcGVjdHJhbDExLzgAL3BpeWcxMS84AC9icmJnMTEvOAAvcGFpcmVkMTEvOAAvc2V0MzExLzgAL3JkZ3kxMC84AC9yZHlsYnUxMC84AC9yZGJ1MTAvOAAvcHVvcjEwLzgAL3ByZ24xMC84AC9yZHlsZ24xMC84AC9zcGVjdHJhbDEwLzgAL3BpeWcxMC84AC9icmJnMTAvOAAvcGFpcmVkMTAvOAAvc2V0MzEwLzgAdXRmLTgAQy5VVEYtOABncmV5NwBncmF5NwBceDcAXHhGNwBceEU3AFx4RDcAXHhDNwBceEI3AFx4QTcAZ3JleTk3AGdyYXk5NwBceDk3AGdyZXk4NwBncmF5ODcAXHg4NwBncmV5NzcAZ3JheTc3AGdyZXk2NwBncmF5NjcAZ3JleTU3AGdyYXk1NwBncmV5NDcAZ3JheTQ3AGdyZXkzNwBncmF5MzcAZ3JleTI3AGdyYXkyNwBncmV5MTcAZ3JheTE3AFx4MTcAL3JkZ3k5LzcAL2J1cHU5LzcAL3JkcHU5LzcAL3B1YnU5LzcAL3lsZ25idTkvNwAvZ25idTkvNwAvcmR5bGJ1OS83AC9yZGJ1OS83AC9ncmV5czkvNwAvZ3JlZW5zOS83AC9ibHVlczkvNwAvcHVycGxlczkvNwAvb3JhbmdlczkvNwAvcmVkczkvNwAvcHVvcjkvNwAveWxvcmJyOS83AC9wdWJ1Z245LzcAL2J1Z245LzcAL3ByZ245LzcAL3JkeWxnbjkvNwAveWxnbjkvNwAvc3BlY3RyYWw5LzcAL3BpeWc5LzcAL2JyYmc5LzcAL3B1cmQ5LzcAL3lsb3JyZDkvNwAvb3JyZDkvNwAvcGFpcmVkOS83AC9zZXQzOS83AC9zZXQxOS83AC9wYXN0ZWwxOS83AC9yZGd5OC83AC9idXB1OC83AC9yZHB1OC83AC9wdWJ1OC83AC95bGduYnU4LzcAL2duYnU4LzcAL3JkeWxidTgvNwAvcmRidTgvNwAvYWNjZW50OC83AC9ncmV5czgvNwAvZ3JlZW5zOC83AC9ibHVlczgvNwAvcHVycGxlczgvNwAvb3JhbmdlczgvNwAvcmVkczgvNwAvcHVvcjgvNwAveWxvcmJyOC83AC9wdWJ1Z244LzcAL2J1Z244LzcAL3ByZ244LzcAL3JkeWxnbjgvNwAveWxnbjgvNwAvc3BlY3RyYWw4LzcAL3BpeWc4LzcAL2JyYmc4LzcAL3B1cmQ4LzcAL3lsb3JyZDgvNwAvb3JyZDgvNwAvcGFpcmVkOC83AC9zZXQzOC83AC9zZXQyOC83AC9wYXN0ZWwyOC83AC9kYXJrMjgvNwAvc2V0MTgvNwAvcGFzdGVsMTgvNwAvcmRneTcvNwAvYnVwdTcvNwAvcmRwdTcvNwAvcHVidTcvNwAveWxnbmJ1Ny83AC9nbmJ1Ny83AC9yZHlsYnU3LzcAL3JkYnU3LzcAL2FjY2VudDcvNwAvZ3JleXM3LzcAL2dyZWVuczcvNwAvYmx1ZXM3LzcAL3B1cnBsZXM3LzcAL29yYW5nZXM3LzcAL3JlZHM3LzcAL3B1b3I3LzcAL3lsb3JicjcvNwAvcHVidWduNy83AC9idWduNy83AC9wcmduNy83AC9yZHlsZ243LzcAL3lsZ243LzcAL3NwZWN0cmFsNy83AC9waXlnNy83AC9icmJnNy83AC9wdXJkNy83AC95bG9ycmQ3LzcAL29ycmQ3LzcAL3BhaXJlZDcvNwAvc2V0MzcvNwAvc2V0MjcvNwAvcGFzdGVsMjcvNwAvZGFyazI3LzcAL3NldDE3LzcAL3Bhc3RlbDE3LzcAL3BhaXJlZDEyLzcAL3NldDMxMi83AC9yZGd5MTEvNwAvcmR5bGJ1MTEvNwAvcmRidTExLzcAL3B1b3IxMS83AC9wcmduMTEvNwAvcmR5bGduMTEvNwAvc3BlY3RyYWwxMS83AC9waXlnMTEvNwAvYnJiZzExLzcAL3BhaXJlZDExLzcAL3NldDMxMS83AC9yZGd5MTAvNwAvcmR5bGJ1MTAvNwAvcmRidTEwLzcAL3B1b3IxMC83AC9wcmduMTAvNwAvcmR5bGduMTAvNwAvc3BlY3RyYWwxMC83AC9waXlnMTAvNwAvYnJiZzEwLzcAL3BhaXJlZDEwLzcAL3NldDMxMC83ADEuNwBncmV5NgBncmF5NgBceDYAXHhGNgBceEU2AFx4RDYAXHhDNgBceEI2AFx4QTYAZ3JleTk2AGdyYXk5NgBceDk2AGdyZXk4NgBncmF5ODYAXHg4NgBncmV5NzYAZ3JheTc2AGdyZXk2NgBncmF5NjYAZ3JleTU2AGdyYXk1NgBncmV5NDYAZ3JheTQ2AGdyZXkzNgBncmF5MzYAZ3JleTI2AGdyYXkyNgBncmV5MTYAZ3JheTE2AFx4MTYAL3JkZ3k5LzYAL2J1cHU5LzYAL3JkcHU5LzYAL3B1YnU5LzYAL3lsZ25idTkvNgAvZ25idTkvNgAvcmR5bGJ1OS82AC9yZGJ1OS82AC9ncmV5czkvNgAvZ3JlZW5zOS82AC9ibHVlczkvNgAvcHVycGxlczkvNgAvb3JhbmdlczkvNgAvcmVkczkvNgAvcHVvcjkvNgAveWxvcmJyOS82AC9wdWJ1Z245LzYAL2J1Z245LzYAL3ByZ245LzYAL3JkeWxnbjkvNgAveWxnbjkvNgAvc3BlY3RyYWw5LzYAL3BpeWc5LzYAL2JyYmc5LzYAL3B1cmQ5LzYAL3lsb3JyZDkvNgAvb3JyZDkvNgAvcGFpcmVkOS82AC9zZXQzOS82AC9zZXQxOS82AC9wYXN0ZWwxOS82AC9yZGd5OC82AC9idXB1OC82AC9yZHB1OC82AC9wdWJ1OC82AC95bGduYnU4LzYAL2duYnU4LzYAL3JkeWxidTgvNgAvcmRidTgvNgAvYWNjZW50OC82AC9ncmV5czgvNgAvZ3JlZW5zOC82AC9ibHVlczgvNgAvcHVycGxlczgvNgAvb3JhbmdlczgvNgAvcmVkczgvNgAvcHVvcjgvNgAveWxvcmJyOC82AC9wdWJ1Z244LzYAL2J1Z244LzYAL3ByZ244LzYAL3JkeWxnbjgvNgAveWxnbjgvNgAvc3BlY3RyYWw4LzYAL3BpeWc4LzYAL2JyYmc4LzYAL3B1cmQ4LzYAL3lsb3JyZDgvNgAvb3JyZDgvNgAvcGFpcmVkOC82AC9zZXQzOC82AC9zZXQyOC82AC9wYXN0ZWwyOC82AC9kYXJrMjgvNgAvc2V0MTgvNgAvcGFzdGVsMTgvNgAvcmRneTcvNgAvYnVwdTcvNgAvcmRwdTcvNgAvcHVidTcvNgAveWxnbmJ1Ny82AC9nbmJ1Ny82AC9yZHlsYnU3LzYAL3JkYnU3LzYAL2FjY2VudDcvNgAvZ3JleXM3LzYAL2dyZWVuczcvNgAvYmx1ZXM3LzYAL3B1cnBsZXM3LzYAL29yYW5nZXM3LzYAL3JlZHM3LzYAL3B1b3I3LzYAL3lsb3JicjcvNgAvcHVidWduNy82AC9idWduNy82AC9wcmduNy82AC9yZHlsZ243LzYAL3lsZ243LzYAL3NwZWN0cmFsNy82AC9waXlnNy82AC9icmJnNy82AC9wdXJkNy82AC95bG9ycmQ3LzYAL29ycmQ3LzYAL3BhaXJlZDcvNgAvc2V0MzcvNgAvc2V0MjcvNgAvcGFzdGVsMjcvNgAvZGFyazI3LzYAL3NldDE3LzYAL3Bhc3RlbDE3LzYAL3JkZ3k2LzYAL2J1cHU2LzYAL3JkcHU2LzYAL3B1YnU2LzYAL3lsZ25idTYvNgAvZ25idTYvNgAvcmR5bGJ1Ni82AC9yZGJ1Ni82AC9hY2NlbnQ2LzYAL2dyZXlzNi82AC9ncmVlbnM2LzYAL2JsdWVzNi82AC9wdXJwbGVzNi82AC9vcmFuZ2VzNi82AC9yZWRzNi82AC9wdW9yNi82AC95bG9yYnI2LzYAL3B1YnVnbjYvNgAvYnVnbjYvNgAvcHJnbjYvNgAvcmR5bGduNi82AC95bGduNi82AC9zcGVjdHJhbDYvNgAvcGl5ZzYvNgAvYnJiZzYvNgAvcHVyZDYvNgAveWxvcnJkNi82AC9vcnJkNi82AC9wYWlyZWQ2LzYAL3NldDM2LzYAL3NldDI2LzYAL3Bhc3RlbDI2LzYAL2RhcmsyNi82AC9zZXQxNi82AC9wYXN0ZWwxNi82AC9wYWlyZWQxMi82AC9zZXQzMTIvNgAvcmRneTExLzYAL3JkeWxidTExLzYAL3JkYnUxMS82AC9wdW9yMTEvNgAvcHJnbjExLzYAL3JkeWxnbjExLzYAL3NwZWN0cmFsMTEvNgAvcGl5ZzExLzYAL2JyYmcxMS82AC9wYWlyZWQxMS82AC9zZXQzMTEvNgAvcmRneTEwLzYAL3JkeWxidTEwLzYAL3JkYnUxMC82AC9wdW9yMTAvNgAvcHJnbjEwLzYAL3JkeWxnbjEwLzYAL3NwZWN0cmFsMTAvNgAvcGl5ZzEwLzYAL2JyYmcxMC82AC9wYWlyZWQxMC82AC9zZXQzMTAvNgBncmV5NQBncmF5NQBceDUAYmlnNQBceEY1AFx4RTUAXHhENQBceEM1AFx4QjUAXHhBNQBncmV5OTUAZ3JheTk1AFx4OTUAZ3JleTg1AGdyYXk4NQBceDg1AGdyZXk3NQBncmF5NzUAZ3JleTY1AGdyYXk2NQBncmV5NTUAZ3JheTU1AGdyZXk0NQBncmF5NDUAZ3JleTM1AGdyYXkzNQBncmV5MjUAZ3JheTI1ADIwMjUxMjEzLjE5MjUAZ3JleTE1AGdyYXkxNQBceDE1AGdyYXkwNQAvcmRneTkvNQAvYnVwdTkvNQAvcmRwdTkvNQAvcHVidTkvNQAveWxnbmJ1OS81AC9nbmJ1OS81AC9yZHlsYnU5LzUAL3JkYnU5LzUAL2dyZXlzOS81AC9ncmVlbnM5LzUAL2JsdWVzOS81AC9wdXJwbGVzOS81AC9vcmFuZ2VzOS81AC9yZWRzOS81AC9wdW9yOS81AC95bG9yYnI5LzUAL3B1YnVnbjkvNQAvYnVnbjkvNQAvcHJnbjkvNQAvcmR5bGduOS81AC95bGduOS81AC9zcGVjdHJhbDkvNQAvcGl5ZzkvNQAvYnJiZzkvNQAvcHVyZDkvNQAveWxvcnJkOS81AC9vcnJkOS81AC9wYWlyZWQ5LzUAL3NldDM5LzUAL3NldDE5LzUAL3Bhc3RlbDE5LzUAL3JkZ3k4LzUAL2J1cHU4LzUAL3JkcHU4LzUAL3B1YnU4LzUAL3lsZ25idTgvNQAvZ25idTgvNQAvcmR5bGJ1OC81AC9yZGJ1OC81AC9hY2NlbnQ4LzUAL2dyZXlzOC81AC9ncmVlbnM4LzUAL2JsdWVzOC81AC9wdXJwbGVzOC81AC9vcmFuZ2VzOC81AC9yZWRzOC81AC9wdW9yOC81AC95bG9yYnI4LzUAL3B1YnVnbjgvNQAvYnVnbjgvNQAvcHJnbjgvNQAvcmR5bGduOC81AC95bGduOC81AC9zcGVjdHJhbDgvNQAvcGl5ZzgvNQAvYnJiZzgvNQAvcHVyZDgvNQAveWxvcnJkOC81AC9vcnJkOC81AC9wYWlyZWQ4LzUAL3NldDM4LzUAL3NldDI4LzUAL3Bhc3RlbDI4LzUAL2RhcmsyOC81AC9zZXQxOC81AC9wYXN0ZWwxOC81AC9yZGd5Ny81AC9idXB1Ny81AC9yZHB1Ny81AC9wdWJ1Ny81AC95bGduYnU3LzUAL2duYnU3LzUAL3JkeWxidTcvNQAvcmRidTcvNQAvYWNjZW50Ny81AC9ncmV5czcvNQAvZ3JlZW5zNy81AC9ibHVlczcvNQAvcHVycGxlczcvNQAvb3JhbmdlczcvNQAvcmVkczcvNQAvcHVvcjcvNQAveWxvcmJyNy81AC9wdWJ1Z243LzUAL2J1Z243LzUAL3ByZ243LzUAL3JkeWxnbjcvNQAveWxnbjcvNQAvc3BlY3RyYWw3LzUAL3BpeWc3LzUAL2JyYmc3LzUAL3B1cmQ3LzUAL3lsb3JyZDcvNQAvb3JyZDcvNQAvcGFpcmVkNy81AC9zZXQzNy81AC9zZXQyNy81AC9wYXN0ZWwyNy81AC9kYXJrMjcvNQAvc2V0MTcvNQAvcGFzdGVsMTcvNQAvcmRneTYvNQAvYnVwdTYvNQAvcmRwdTYvNQAvcHVidTYvNQAveWxnbmJ1Ni81AC9nbmJ1Ni81AC9yZHlsYnU2LzUAL3JkYnU2LzUAL2FjY2VudDYvNQAvZ3JleXM2LzUAL2dyZWVuczYvNQAvYmx1ZXM2LzUAL3B1cnBsZXM2LzUAL29yYW5nZXM2LzUAL3JlZHM2LzUAL3B1b3I2LzUAL3lsb3JicjYvNQAvcHVidWduNi81AC9idWduNi81AC9wcmduNi81AC9yZHlsZ242LzUAL3lsZ242LzUAL3NwZWN0cmFsNi81AC9waXlnNi81AC9icmJnNi81AC9wdXJkNi81AC95bG9ycmQ2LzUAL29ycmQ2LzUAL3BhaXJlZDYvNQAvc2V0MzYvNQAvc2V0MjYvNQAvcGFzdGVsMjYvNQAvZGFyazI2LzUAL3NldDE2LzUAL3Bhc3RlbDE2LzUAL3JkZ3k1LzUAL2J1cHU1LzUAL3JkcHU1LzUAL3B1YnU1LzUAL3lsZ25idTUvNQAvZ25idTUvNQAvcmR5bGJ1NS81AC9yZGJ1NS81AC9hY2NlbnQ1LzUAL2dyZXlzNS81AC9ncmVlbnM1LzUAL2JsdWVzNS81AC9wdXJwbGVzNS81AC9vcmFuZ2VzNS81AC9yZWRzNS81AC9wdW9yNS81AC95bG9yYnI1LzUAL3B1YnVnbjUvNQAvYnVnbjUvNQAvcHJnbjUvNQAvcmR5bGduNS81AC95bGduNS81AC9zcGVjdHJhbDUvNQAvcGl5ZzUvNQAvYnJiZzUvNQAvcHVyZDUvNQAveWxvcnJkNS81AC9vcnJkNS81AC9wYWlyZWQ1LzUAL3NldDM1LzUAL3NldDI1LzUAL3Bhc3RlbDI1LzUAL2RhcmsyNS81AC9zZXQxNS81AC9wYXN0ZWwxNS81AC9wYWlyZWQxMi81AC9zZXQzMTIvNQAvcmRneTExLzUAL3JkeWxidTExLzUAL3JkYnUxMS81AC9wdW9yMTEvNQAvcHJnbjExLzUAL3JkeWxnbjExLzUAL3NwZWN0cmFsMTEvNQAvcGl5ZzExLzUAL2JyYmcxMS81AC9wYWlyZWQxMS81AC9zZXQzMTEvNQAvcmRneTEwLzUAL3JkeWxidTEwLzUAL3JkYnUxMC81AC9wdW9yMTAvNQAvcHJnbjEwLzUAL3JkeWxnbjEwLzUAL3NwZWN0cmFsMTAvNQAvcGl5ZzEwLzUAL2JyYmcxMC81AC9wYWlyZWQxMC81AC9zZXQzMTAvNQBiaWctNQBCSUctNQAgLWRhc2ggNQBpdm9yeTQAZ3JleTQAZGFya3NsYXRlZ3JheTQAXHg0AHNub3c0AGxpZ2h0eWVsbG93NABob25leWRldzQAd2hlYXQ0AHRvbWF0bzQAcm9zeWJyb3duNABtYXJvb240AGxpZ2h0c2FsbW9uNABsZW1vbmNoaWZmb240AHNwcmluZ2dyZWVuNABkYXJrb2xpdmVncmVlbjQAcGFsZWdyZWVuNABkYXJrc2VhZ3JlZW40AGxpZ2h0Y3lhbjQAdGFuNABwbHVtNABzZWFzaGVsbDQAY29yYWw0AGhvdHBpbms0AGxpZ2h0cGluazQAZGVlcHBpbms0AGNvcm5zaWxrNABmaXJlYnJpY2s0AGtoYWtpNABsYXZlbmRlcmJsdXNoNABwZWFjaHB1ZmY0AGJpc3F1ZTQAbGlnaHRza3libHVlNABkZWVwc2t5Ymx1ZTQAbGlnaHRibHVlNABjYWRldGJsdWU0AGRvZGdlcmJsdWU0AGxpZ2h0c3RlZWxibHVlNAByb3lhbGJsdWU0AHNsYXRlYmx1ZTQAbmF2YWpvd2hpdGU0AGFudGlxdWV3aGl0ZTQAY2hvY29sYXRlNABjaGFydHJldXNlNABtaXN0eXJvc2U0AHBhbGV0dXJxdW9pc2U0AGF6dXJlNAB0aGVyZTQAYXF1YW1hcmluZTQAdGhpc3RsZTQAbWVkaXVtcHVycGxlNABkYXJrb3JhbmdlNABsaWdodGdvbGRlbnJvZDQAZGFya2dvbGRlbnJvZDQAYnVybHl3b29kNABnb2xkNABtZWRpdW1vcmNoaWQ0AGRhcmtvcmNoaWQ0AHBhbGV2aW9sZXRyZWQ0AGluZGlhbnJlZDQAb3JhbmdlcmVkNABvbGl2ZWRyYWI0AG1hZ2VudGE0AHNpZW5uYTQAXHhGNABceEU0AFx4RDQAXHhDNABceEI0AFx4QTQAZ3JleTk0AGdyYXk5NABceDk0AGdyZXk4NABncmF5ODQAXHg4NABncmV5NzQAZ3JheTc0AGdyZXk2NABncmF5NjQAZ3JleTU0AGdyYXk1NABncmV5NDQAZ3JheTQ0AGdyZXkzNABncmF5MzQAZnJhYzM0AGdyZXkyNABncmF5MjQAZ3JleTE0AGdyYXkxNABceDE0AGZyYWMxNAAvcmRneTkvNAAvYnVwdTkvNAAvcmRwdTkvNAAvcHVidTkvNAAveWxnbmJ1OS80AC9nbmJ1OS80AC9yZHlsYnU5LzQAL3JkYnU5LzQAL2dyZXlzOS80AC9ncmVlbnM5LzQAL2JsdWVzOS80AC9wdXJwbGVzOS80AC9vcmFuZ2VzOS80AC9yZWRzOS80AC9wdW9yOS80AC95bG9yYnI5LzQAL3B1YnVnbjkvNAAvYnVnbjkvNAAvcHJnbjkvNAAvcmR5bGduOS80AC95bGduOS80AC9zcGVjdHJhbDkvNAAvcGl5ZzkvNAAvYnJiZzkvNAAvcHVyZDkvNAAveWxvcnJkOS80AC9vcnJkOS80AC9wYWlyZWQ5LzQAL3NldDM5LzQAL3NldDE5LzQAL3Bhc3RlbDE5LzQAL3JkZ3k4LzQAL2J1cHU4LzQAL3JkcHU4LzQAL3B1YnU4LzQAL3lsZ25idTgvNAAvZ25idTgvNAAvcmR5bGJ1OC80AC9yZGJ1OC80AC9hY2NlbnQ4LzQAL2dyZXlzOC80AC9ncmVlbnM4LzQAL2JsdWVzOC80AC9wdXJwbGVzOC80AC9vcmFuZ2VzOC80AC9yZWRzOC80AC9wdW9yOC80AC95bG9yYnI4LzQAL3B1YnVnbjgvNAAvYnVnbjgvNAAvcHJnbjgvNAAvcmR5bGduOC80AC95bGduOC80AC9zcGVjdHJhbDgvNAAvcGl5ZzgvNAAvYnJiZzgvNAAvcHVyZDgvNAAveWxvcnJkOC80AC9vcnJkOC80AC9wYWlyZWQ4LzQAL3NldDM4LzQAL3NldDI4LzQAL3Bhc3RlbDI4LzQAL2RhcmsyOC80AC9zZXQxOC80AC9wYXN0ZWwxOC80AC9yZGd5Ny80AC9idXB1Ny80AC9yZHB1Ny80AC9wdWJ1Ny80AC95bGduYnU3LzQAL2duYnU3LzQAL3JkeWxidTcvNAAvcmRidTcvNAAvYWNjZW50Ny80AC9ncmV5czcvNAAvZ3JlZW5zNy80AC9ibHVlczcvNAAvcHVycGxlczcvNAAvb3JhbmdlczcvNAAvcmVkczcvNAAvcHVvcjcvNAAveWxvcmJyNy80AC9wdWJ1Z243LzQAL2J1Z243LzQAL3ByZ243LzQAL3JkeWxnbjcvNAAveWxnbjcvNAAvc3BlY3RyYWw3LzQAL3BpeWc3LzQAL2JyYmc3LzQAL3B1cmQ3LzQAL3lsb3JyZDcvNAAvb3JyZDcvNAAvcGFpcmVkNy80AC9zZXQzNy80AC9zZXQyNy80AC9wYXN0ZWwyNy80AC9kYXJrMjcvNAAvc2V0MTcvNAAvcGFzdGVsMTcvNAAvcmRneTYvNAAvYnVwdTYvNAAvcmRwdTYvNAAvcHVidTYvNAAveWxnbmJ1Ni80AC9nbmJ1Ni80AC9yZHlsYnU2LzQAL3JkYnU2LzQAL2FjY2VudDYvNAAvZ3JleXM2LzQAL2dyZWVuczYvNAAvYmx1ZXM2LzQAL3B1cnBsZXM2LzQAL29yYW5nZXM2LzQAL3JlZHM2LzQAL3B1b3I2LzQAL3lsb3JicjYvNAAvcHVidWduNi80AC9idWduNi80AC9wcmduNi80AC9yZHlsZ242LzQAL3lsZ242LzQAL3NwZWN0cmFsNi80AC9waXlnNi80AC9icmJnNi80AC9wdXJkNi80AC95bG9ycmQ2LzQAL29ycmQ2LzQAL3BhaXJlZDYvNAAvc2V0MzYvNAAvc2V0MjYvNAAvcGFzdGVsMjYvNAAvZGFyazI2LzQAL3NldDE2LzQAL3Bhc3RlbDE2LzQAL3JkZ3k1LzQAL2J1cHU1LzQAL3JkcHU1LzQAL3B1YnU1LzQAL3lsZ25idTUvNAAvZ25idTUvNAAvcmR5bGJ1NS80AC9yZGJ1NS80AC9hY2NlbnQ1LzQAL2dyZXlzNS80AC9ncmVlbnM1LzQAL2JsdWVzNS80AC9wdXJwbGVzNS80AC9vcmFuZ2VzNS80AC9yZWRzNS80AC9wdW9yNS80AC95bG9yYnI1LzQAL3B1YnVnbjUvNAAvYnVnbjUvNAAvcHJnbjUvNAAvcmR5bGduNS80AC95bGduNS80AC9zcGVjdHJhbDUvNAAvcGl5ZzUvNAAvYnJiZzUvNAAvcHVyZDUvNAAveWxvcnJkNS80AC9vcnJkNS80AC9wYWlyZWQ1LzQAL3NldDM1LzQAL3NldDI1LzQAL3Bhc3RlbDI1LzQAL2RhcmsyNS80AC9zZXQxNS80AC9wYXN0ZWwxNS80AC9yZGd5NC80AC9idXB1NC80AC9yZHB1NC80AC9wdWJ1NC80AC95bGduYnU0LzQAL2duYnU0LzQAL3JkeWxidTQvNAAvcmRidTQvNAAvYWNjZW50NC80AC9ncmV5czQvNAAvZ3JlZW5zNC80AC9ibHVlczQvNAAvcHVycGxlczQvNAAvb3JhbmdlczQvNAAvcmVkczQvNAAvcHVvcjQvNAAveWxvcmJyNC80AC9wdWJ1Z240LzQAL2J1Z240LzQAL3ByZ240LzQAL3JkeWxnbjQvNAAveWxnbjQvNAAvc3BlY3RyYWw0LzQAL3BpeWc0LzQAL2JyYmc0LzQAL3B1cmQ0LzQAL3lsb3JyZDQvNAAvb3JyZDQvNAAvcGFpcmVkNC80AC9zZXQzNC80AC9zZXQyNC80AC9wYXN0ZWwyNC80AC9kYXJrMjQvNAAvc2V0MTQvNAAvcGFzdGVsMTQvNAAvcGFpcmVkMTIvNAAvc2V0MzEyLzQAL3JkZ3kxMS80AC9yZHlsYnUxMS80AC9yZGJ1MTEvNAAvcHVvcjExLzQAL3ByZ24xMS80AC9yZHlsZ24xMS80AC9zcGVjdHJhbDExLzQAL3BpeWcxMS80AC9icmJnMTEvNAAvcGFpcmVkMTEvNAAvc2V0MzExLzQAL3JkZ3kxMC80AC9yZHlsYnUxMC80AC9yZGJ1MTAvNAAvcHVvcjEwLzQAL3ByZ24xMC80AC9yZHlsZ24xMC80AC9zcGVjdHJhbDEwLzQAL3BpeWcxMC80AC9icmJnMTAvNAAvcGFpcmVkMTAvNAAvc2V0MzEwLzQAMS40AG4gPj0gNABzaWRlcyA9PSA0AGl2b3J5MwBTcGFyc2VNYXRyaXhfbXVsdGlwbHkzAGdyZXkzAGRhcmtzbGF0ZWdyYXkzAFx4MwBzbm93MwBsaWdodHllbGxvdzMAaG9uZXlkZXczAHdoZWF0MwBzdXAzAHRvbWF0bzMAcm9zeWJyb3duMwBtYXJvb24zAGxpZ2h0c2FsbW9uMwBsZW1vbmNoaWZmb24zAHNwcmluZ2dyZWVuMwBkYXJrb2xpdmVncmVlbjMAcGFsZWdyZWVuMwBkYXJrc2VhZ3JlZW4zAGxpZ2h0Y3lhbjMAdGFuMwBwbHVtMwBzZWFzaGVsbDMAY29yYWwzAGhvdHBpbmszAGxpZ2h0cGluazMAZGVlcHBpbmszAGNvcm5zaWxrMwBmaXJlYnJpY2szAGtoYWtpMwBsYXZlbmRlcmJsdXNoMwBwZWFjaHB1ZmYzAGJpc3F1ZTMAbGlnaHRza3libHVlMwBkZWVwc2t5Ymx1ZTMAbGlnaHRibHVlMwBjYWRldGJsdWUzAGRvZGdlcmJsdWUzAGxpZ2h0c3RlZWxibHVlMwByb3lhbGJsdWUzAHNsYXRlYmx1ZTMAbmF2YWpvd2hpdGUzAGFudGlxdWV3aGl0ZTMAY2hvY29sYXRlMwBjaGFydHJldXNlMwBtaXN0eXJvc2UzAHBhbGV0dXJxdW9pc2UzAGF6dXJlMwBhcXVhbWFyaW5lMwB0aGlzdGxlMwBtZWRpdW1wdXJwbGUzAGRhcmtvcmFuZ2UzAGxpZ2h0Z29sZGVucm9kMwBkYXJrZ29sZGVucm9kMwBidXJseXdvb2QzAGdvbGQzAG1lZGl1bW9yY2hpZDMAZGFya29yY2hpZDMAcGFsZXZpb2xldHJlZDMAaW5kaWFucmVkMwBvcmFuZ2VyZWQzAG9saXZlZHJhYjMAbWFnZW50YTMAc2llbm5hMwBceEYzAFx4RTMAXHhEMwBceEMzAFx4QjMAXHhBMwBncmV5OTMAZ3JheTkzAFx4OTMAZ3JleTgzAGdyYXk4MwBceDgzAGdyZXk3MwBncmF5NzMAZ3JleTYzAGdyYXk2MwBncmV5NTMAZ3JheTUzAGdyZXk0MwBncmF5NDMAZ3JleTMzAGdyYXkzMwBncmV5MjMAZ3JheTIzAGdyZXkxMwBncmF5MTMAXHgxMwAvcmRneTkvMwAvYnVwdTkvMwAvcmRwdTkvMwAvcHVidTkvMwAveWxnbmJ1OS8zAC9nbmJ1OS8zAC9yZHlsYnU5LzMAL3JkYnU5LzMAL2dyZXlzOS8zAC9ncmVlbnM5LzMAL2JsdWVzOS8zAC9wdXJwbGVzOS8zAC9vcmFuZ2VzOS8zAC9yZWRzOS8zAC9wdW9yOS8zAC95bG9yYnI5LzMAL3B1YnVnbjkvMwAvYnVnbjkvMwAvcHJnbjkvMwAvcmR5bGduOS8zAC95bGduOS8zAC9zcGVjdHJhbDkvMwAvcGl5ZzkvMwAvYnJiZzkvMwAvcHVyZDkvMwAveWxvcnJkOS8zAC9vcnJkOS8zAC9wYWlyZWQ5LzMAL3NldDM5LzMAL3NldDE5LzMAL3Bhc3RlbDE5LzMAL3JkZ3k4LzMAL2J1cHU4LzMAL3JkcHU4LzMAL3B1YnU4LzMAL3lsZ25idTgvMwAvZ25idTgvMwAvcmR5bGJ1OC8zAC9yZGJ1OC8zAC9hY2NlbnQ4LzMAL2dyZXlzOC8zAC9ncmVlbnM4LzMAL2JsdWVzOC8zAC9wdXJwbGVzOC8zAC9vcmFuZ2VzOC8zAC9yZWRzOC8zAC9wdW9yOC8zAC95bG9yYnI4LzMAL3B1YnVnbjgvMwAvYnVnbjgvMwAvcHJnbjgvMwAvcmR5bGduOC8zAC95bGduOC8zAC9zcGVjdHJhbDgvMwAvcGl5ZzgvMwAvYnJiZzgvMwAvcHVyZDgvMwAveWxvcnJkOC8zAC9vcnJkOC8zAC9wYWlyZWQ4LzMAL3NldDM4LzMAL3NldDI4LzMAL3Bhc3RlbDI4LzMAL2RhcmsyOC8zAC9zZXQxOC8zAC9wYXN0ZWwxOC8zAC9yZGd5Ny8zAC9idXB1Ny8zAC9yZHB1Ny8zAC9wdWJ1Ny8zAC95bGduYnU3LzMAL2duYnU3LzMAL3JkeWxidTcvMwAvcmRidTcvMwAvYWNjZW50Ny8zAC9ncmV5czcvMwAvZ3JlZW5zNy8zAC9ibHVlczcvMwAvcHVycGxlczcvMwAvb3JhbmdlczcvMwAvcmVkczcvMwAvcHVvcjcvMwAveWxvcmJyNy8zAC9wdWJ1Z243LzMAL2J1Z243LzMAL3ByZ243LzMAL3JkeWxnbjcvMwAveWxnbjcvMwAvc3BlY3RyYWw3LzMAL3BpeWc3LzMAL2JyYmc3LzMAL3B1cmQ3LzMAL3lsb3JyZDcvMwAvb3JyZDcvMwAvcGFpcmVkNy8zAC9zZXQzNy8zAC9zZXQyNy8zAC9wYXN0ZWwyNy8zAC9kYXJrMjcvMwAvc2V0MTcvMwAvcGFzdGVsMTcvMwAvcmRneTYvMwAvYnVwdTYvMwAvcmRwdTYvMwAvcHVidTYvMwAveWxnbmJ1Ni8zAC9nbmJ1Ni8zAC9yZHlsYnU2LzMAL3JkYnU2LzMAL2FjY2VudDYvMwAvZ3JleXM2LzMAL2dyZWVuczYvMwAvYmx1ZXM2LzMAL3B1cnBsZXM2LzMAL29yYW5nZXM2LzMAL3JlZHM2LzMAL3B1b3I2LzMAL3lsb3JicjYvMwAvcHVidWduNi8zAC9idWduNi8zAC9wcmduNi8zAC9yZHlsZ242LzMAL3lsZ242LzMAL3NwZWN0cmFsNi8zAC9waXlnNi8zAC9icmJnNi8zAC9wdXJkNi8zAC95bG9ycmQ2LzMAL29ycmQ2LzMAL3BhaXJlZDYvMwAvc2V0MzYvMwAvc2V0MjYvMwAvcGFzdGVsMjYvMwAvZGFyazI2LzMAL3NldDE2LzMAL3Bhc3RlbDE2LzMAL3JkZ3k1LzMAL2J1cHU1LzMAL3JkcHU1LzMAL3B1YnU1LzMAL3lsZ25idTUvMwAvZ25idTUvMwAvcmR5bGJ1NS8zAC9yZGJ1NS8zAC9hY2NlbnQ1LzMAL2dyZXlzNS8zAC9ncmVlbnM1LzMAL2JsdWVzNS8zAC9wdXJwbGVzNS8zAC9vcmFuZ2VzNS8zAC9yZWRzNS8zAC9wdW9yNS8zAC95bG9yYnI1LzMAL3B1YnVnbjUvMwAvYnVnbjUvMwAvcHJnbjUvMwAvcmR5bGduNS8zAC95bGduNS8zAC9zcGVjdHJhbDUvMwAvcGl5ZzUvMwAvYnJiZzUvMwAvcHVyZDUvMwAveWxvcnJkNS8zAC9vcnJkNS8zAC9wYWlyZWQ1LzMAL3NldDM1LzMAL3NldDI1LzMAL3Bhc3RlbDI1LzMAL2RhcmsyNS8zAC9zZXQxNS8zAC9wYXN0ZWwxNS8zAC9yZGd5NC8zAC9idXB1NC8zAC9yZHB1NC8zAC9wdWJ1NC8zAC95bGduYnU0LzMAL2duYnU0LzMAL3JkeWxidTQvMwAvcmRidTQvMwAvYWNjZW50NC8zAC9ncmV5czQvMwAvZ3JlZW5zNC8zAC9ibHVlczQvMwAvcHVycGxlczQvMwAvb3JhbmdlczQvMwAvcmVkczQvMwAvcHVvcjQvMwAveWxvcmJyNC8zAC9wdWJ1Z240LzMAL2J1Z240LzMAL3ByZ240LzMAL3JkeWxnbjQvMwAveWxnbjQvMwAvc3BlY3RyYWw0LzMAL3BpeWc0LzMAL2JyYmc0LzMAL3B1cmQ0LzMAL3lsb3JyZDQvMwAvb3JyZDQvMwAvcGFpcmVkNC8zAC9zZXQzNC8zAC9zZXQyNC8zAC9wYXN0ZWwyNC8zAC9kYXJrMjQvMwAvc2V0MTQvMwAvcGFzdGVsMTQvMwAvcmRneTMvMwAvYnVwdTMvMwAvcmRwdTMvMwAvcHVidTMvMwAveWxnbmJ1My8zAC9nbmJ1My8zAC9yZHlsYnUzLzMAL3JkYnUzLzMAL2FjY2VudDMvMwAvZ3JleXMzLzMAL2dyZWVuczMvMwAvYmx1ZXMzLzMAL3B1cnBsZXMzLzMAL29yYW5nZXMzLzMAL3JlZHMzLzMAL3B1b3IzLzMAL3lsb3JicjMvMwAvcHVidWduMy8zAC9idWduMy8zAC9wcmduMy8zAC9yZHlsZ24zLzMAL3lsZ24zLzMAL3NwZWN0cmFsMy8zAC9waXlnMy8zAC9icmJnMy8zAC9wdXJkMy8zAC95bG9ycmQzLzMAL29ycmQzLzMAL3BhaXJlZDMvMwAvc2V0MzMvMwAvc2V0MjMvMwAvcGFzdGVsMjMvMwAvZGFyazIzLzMAL3NldDEzLzMAL3Bhc3RlbDEzLzMAL3BhaXJlZDEyLzMAL3NldDMxMi8zAC9yZGd5MTEvMwAvcmR5bGJ1MTEvMwAvcmRidTExLzMAL3B1b3IxMS8zAC9wcmduMTEvMwAvcmR5bGduMTEvMwAvc3BlY3RyYWwxMS8zAC9waXlnMTEvMwAvYnJiZzExLzMAL3BhaXJlZDExLzMAL3NldDMxMS8zAC9yZGd5MTAvMwAvcmR5bGJ1MTAvMwAvcmRidTEwLzMAL3B1b3IxMC8zAC9wcmduMTAvMwAvcmR5bGduMTAvMwAvc3BlY3RyYWwxMC8zAC9waXlnMTAvMwAvYnJiZzEwLzMAL3BhaXJlZDEwLzMAL3NldDMxMC8zAGl2b3J5MgBncmV5MgBkYXJrc2xhdGVncmF5MgBceDIAc25vdzIAbGlnaHR5ZWxsb3cyAGhvbmV5ZGV3MgBSVHJlZUluc2VydDIAd2hlYXQyAHN1cDIAbm9wMgB0b21hdG8yAHJvc3licm93bjIAbWFyb29uMgBsaWdodHNhbG1vbjIAbGVtb25jaGlmZm9uMgBzcHJpbmdncmVlbjIAZGFya29saXZlZ3JlZW4yAHBhbGVncmVlbjIAZGFya3NlYWdyZWVuMgBsaWdodGN5YW4yAHRhbjIAcGx1bTIAc2Vhc2hlbGwyAGNvcmFsMgBob3RwaW5rMgBsaWdodHBpbmsyAGRlZXBwaW5rMgBjb3Juc2lsazIAZmlyZWJyaWNrMgBraGFraTIAbGF2ZW5kZXJibHVzaDIAcGVhY2hwdWZmMgBicm9uemUyAGJpc3F1ZTIAbGlnaHRza3libHVlMgBkZWVwc2t5Ymx1ZTIAbGlnaHRibHVlMgBjYWRldGJsdWUyAGRvZGdlcmJsdWUyAGxpZ2h0c3RlZWxibHVlMgByb3lhbGJsdWUyAHNsYXRlYmx1ZTIAbmF2YWpvd2hpdGUyAGFudGlxdWV3aGl0ZTIAY2hvY29sYXRlMgBjaGFydHJldXNlMgBtaXN0eXJvc2UyAHBhbGV0dXJxdW9pc2UyAGF6dXJlMgBhcXVhbWFyaW5lMgB0aGlzdGxlMgBtZWRpdW1wdXJwbGUyAGRhcmtvcmFuZ2UyAGxpZ2h0Z29sZGVucm9kMgBkYXJrZ29sZGVucm9kMgBidXJseXdvb2QyAGdvbGQyAG1lZGl1bW9yY2hpZDIAZGFya29yY2hpZDIAcGFsZXZpb2xldHJlZDIAaW5kaWFucmVkMgBvcmFuZ2VyZWQyAG9saXZlZHJhYjIAbWFnZW50YTIAc2llbm5hMgBceEYyAFx4RTIAXHhEMgBceEMyAFx4QjIAXHhBMgBncmV5OTIAZ3JheTkyAFx4OTIAZ3JleTgyAGdyYXk4MgBceDgyAGdyZXk3MgBncmF5NzIAZ3JleTYyAGdyYXk2MgBncmV5NTIAZ3JheTUyAGdyZXk0MgBncmF5NDIAZ3JleTMyAGdyYXkzMgBncmV5MjIAZ3JheTIyAGdyZXkxMgBncmF5MTIAXHgxMgBmcmFjMTIAL3BhaXJlZDEyLzEyAC9zZXQzMTIvMTIAL3JkZ3k5LzIAL2J1cHU5LzIAL3JkcHU5LzIAL3B1YnU5LzIAL3lsZ25idTkvMgAvZ25idTkvMgAvcmR5bGJ1OS8yAC9yZGJ1OS8yAC9ncmV5czkvMgAvZ3JlZW5zOS8yAC9ibHVlczkvMgAvcHVycGxlczkvMgAvb3JhbmdlczkvMgAvcmVkczkvMgAvcHVvcjkvMgAveWxvcmJyOS8yAC9wdWJ1Z245LzIAL2J1Z245LzIAL3ByZ245LzIAL3JkeWxnbjkvMgAveWxnbjkvMgAvc3BlY3RyYWw5LzIAL3BpeWc5LzIAL2JyYmc5LzIAL3B1cmQ5LzIAL3lsb3JyZDkvMgAvb3JyZDkvMgAvcGFpcmVkOS8yAC9zZXQzOS8yAC9zZXQxOS8yAC9wYXN0ZWwxOS8yAC9yZGd5OC8yAC9idXB1OC8yAC9yZHB1OC8yAC9wdWJ1OC8yAC95bGduYnU4LzIAL2duYnU4LzIAL3JkeWxidTgvMgAvcmRidTgvMgAvYWNjZW50OC8yAC9ncmV5czgvMgAvZ3JlZW5zOC8yAC9ibHVlczgvMgAvcHVycGxlczgvMgAvb3JhbmdlczgvMgAvcmVkczgvMgAvcHVvcjgvMgAveWxvcmJyOC8yAC9wdWJ1Z244LzIAL2J1Z244LzIAL3ByZ244LzIAL3JkeWxnbjgvMgAveWxnbjgvMgAvc3BlY3RyYWw4LzIAL3BpeWc4LzIAL2JyYmc4LzIAL3B1cmQ4LzIAL3lsb3JyZDgvMgAvb3JyZDgvMgAvcGFpcmVkOC8yAC9zZXQzOC8yAC9zZXQyOC8yAC9wYXN0ZWwyOC8yAC9kYXJrMjgvMgAvc2V0MTgvMgAvcGFzdGVsMTgvMgAvcmRneTcvMgAvYnVwdTcvMgAvcmRwdTcvMgAvcHVidTcvMgAveWxnbmJ1Ny8yAC9nbmJ1Ny8yAC9yZHlsYnU3LzIAL3JkYnU3LzIAL2FjY2VudDcvMgAvZ3JleXM3LzIAL2dyZWVuczcvMgAvYmx1ZXM3LzIAL3B1cnBsZXM3LzIAL29yYW5nZXM3LzIAL3JlZHM3LzIAL3B1b3I3LzIAL3lsb3JicjcvMgAvcHVidWduNy8yAC9idWduNy8yAC9wcmduNy8yAC9yZHlsZ243LzIAL3lsZ243LzIAL3NwZWN0cmFsNy8yAC9waXlnNy8yAC9icmJnNy8yAC9wdXJkNy8yAC95bG9ycmQ3LzIAL29ycmQ3LzIAL3BhaXJlZDcvMgAvc2V0MzcvMgAvc2V0MjcvMgAvcGFzdGVsMjcvMgAvZGFyazI3LzIAL3NldDE3LzIAL3Bhc3RlbDE3LzIAL3JkZ3k2LzIAL2J1cHU2LzIAL3JkcHU2LzIAL3B1YnU2LzIAL3lsZ25idTYvMgAvZ25idTYvMgAvcmR5bGJ1Ni8yAC9yZGJ1Ni8yAC9hY2NlbnQ2LzIAL2dyZXlzNi8yAC9ncmVlbnM2LzIAL2JsdWVzNi8yAC9wdXJwbGVzNi8yAC9vcmFuZ2VzNi8yAC9yZWRzNi8yAC9wdW9yNi8yAC95bG9yYnI2LzIAL3B1YnVnbjYvMgAvYnVnbjYvMgAvcHJnbjYvMgAvcmR5bGduNi8yAC95bGduNi8yAC9zcGVjdHJhbDYvMgAvcGl5ZzYvMgAvYnJiZzYvMgAvcHVyZDYvMgAveWxvcnJkNi8yAC9vcnJkNi8yAC9wYWlyZWQ2LzIAL3NldDM2LzIAL3NldDI2LzIAL3Bhc3RlbDI2LzIAL2RhcmsyNi8yAC9zZXQxNi8yAC9wYXN0ZWwxNi8yAC9yZGd5NS8yAC9idXB1NS8yAC9yZHB1NS8yAC9wdWJ1NS8yAC95bGduYnU1LzIAL2duYnU1LzIAL3JkeWxidTUvMgAvcmRidTUvMgAvYWNjZW50NS8yAC9ncmV5czUvMgAvZ3JlZW5zNS8yAC9ibHVlczUvMgAvcHVycGxlczUvMgAvb3JhbmdlczUvMgAvcmVkczUvMgAvcHVvcjUvMgAveWxvcmJyNS8yAC9wdWJ1Z241LzIAL2J1Z241LzIAL3ByZ241LzIAL3JkeWxnbjUvMgAveWxnbjUvMgAvc3BlY3RyYWw1LzIAL3BpeWc1LzIAL2JyYmc1LzIAL3B1cmQ1LzIAL3lsb3JyZDUvMgAvb3JyZDUvMgAvcGFpcmVkNS8yAC9zZXQzNS8yAC9zZXQyNS8yAC9wYXN0ZWwyNS8yAC9kYXJrMjUvMgAvc2V0MTUvMgAvcGFzdGVsMTUvMgAvcmRneTQvMgAvYnVwdTQvMgAvcmRwdTQvMgAvcHVidTQvMgAveWxnbmJ1NC8yAC9nbmJ1NC8yAC9yZHlsYnU0LzIAL3JkYnU0LzIAL2FjY2VudDQvMgAvZ3JleXM0LzIAL2dyZWVuczQvMgAvYmx1ZXM0LzIAL3B1cnBsZXM0LzIAL29yYW5nZXM0LzIAL3JlZHM0LzIAL3B1b3I0LzIAL3lsb3JicjQvMgAvcHVidWduNC8yAC9idWduNC8yAC9wcmduNC8yAC9yZHlsZ240LzIAL3lsZ240LzIAL3NwZWN0cmFsNC8yAC9waXlnNC8yAC9icmJnNC8yAC9wdXJkNC8yAC95bG9ycmQ0LzIAL29ycmQ0LzIAL3BhaXJlZDQvMgAvc2V0MzQvMgAvc2V0MjQvMgAvcGFzdGVsMjQvMgAvZGFyazI0LzIAL3NldDE0LzIAL3Bhc3RlbDE0LzIAL3JkZ3kzLzIAL2J1cHUzLzIAL3JkcHUzLzIAL3B1YnUzLzIAL3lsZ25idTMvMgAvZ25idTMvMgAvcmR5bGJ1My8yAC9yZGJ1My8yAC9hY2NlbnQzLzIAL2dyZXlzMy8yAC9ncmVlbnMzLzIAL2JsdWVzMy8yAC9wdXJwbGVzMy8yAC9vcmFuZ2VzMy8yAC9yZWRzMy8yAC9wdW9yMy8yAC95bG9yYnIzLzIAL3B1YnVnbjMvMgAvYnVnbjMvMgAvcHJnbjMvMgAvcmR5bGduMy8yAC95bGduMy8yAC9zcGVjdHJhbDMvMgAvcGl5ZzMvMgAvYnJiZzMvMgAvcHVyZDMvMgAveWxvcnJkMy8yAC9vcnJkMy8yAC9wYWlyZWQzLzIAL3NldDMzLzIAL3NldDIzLzIAL3Bhc3RlbDIzLzIAL2RhcmsyMy8yAC9zZXQxMy8yAC9wYXN0ZWwxMy8yAC9wYWlyZWQxMi8yAC9zZXQzMTIvMgAvcmRneTExLzIAL3JkeWxidTExLzIAL3JkYnUxMS8yAC9wdW9yMTEvMgAvcHJnbjExLzIAL3JkeWxnbjExLzIAL3NwZWN0cmFsMTEvMgAvcGl5ZzExLzIAL2JyYmcxMS8yAC9wYWlyZWQxMS8yAC9zZXQzMTEvMgAvcmRneTEwLzIAL3JkeWxidTEwLzIAL3JkYnUxMC8yAC9wdW9yMTAvMgAvcHJnbjEwLzIAL3JkeWxnbjEwLzIAL3NwZWN0cmFsMTAvMgAvcGl5ZzEwLzIAL2JyYmcxMC8yAC9wYWlyZWQxMC8yAC9zZXQzMTAvMgAxLjIAIC1kYXNoIDIAbGVuID49IDIAZXhwID09IDEgfHwgZXhwID09IDIAZGltID09IDIATkRfb3V0KHYpLnNpemUgPT0gMgBpdm9yeTEAZ3JleTEAZGFya3NsYXRlZ3JheTEAXHgxAHNub3cxAGxpZ2h0eWVsbG93MQBob25leWRldzEAbnNsaW1pdDEAd2hlYXQxAHN1cDEAbm9wMQB0b21hdG8xAHJvc3licm93bjEAbWFyb29uMQBsaWdodHNhbG1vbjEAbGVtb25jaGlmZm9uMQBsYXRpbjEAYWdvcGVuMQBzcHJpbmdncmVlbjEAZGFya29saXZlZ3JlZW4xAHBhbGVncmVlbjEAZGFya3NlYWdyZWVuMQBsaWdodGN5YW4xAHRhbjEAcGx1bTEAc2Vhc2hlbGwxAGNvcmFsMQBob3RwaW5rMQBsaWdodHBpbmsxAGRlZXBwaW5rMQBjb3Juc2lsazEAZmlyZWJyaWNrMQBqMCA8PSBpMSAmJiBpMSA8PSBqMQBraGFraTEAbGF2ZW5kZXJibHVzaDEAcGVhY2hwdWZmMQBiaXNxdWUxAGxpZ2h0c2t5Ymx1ZTEAZGVlcHNreWJsdWUxAGxpZ2h0Ymx1ZTEAY2FkZXRibHVlMQBkb2RnZXJibHVlMQBsaWdodHN0ZWVsYmx1ZTEAcm95YWxibHVlMQBzbGF0ZWJsdWUxAG5hdmFqb3doaXRlMQBhbnRpcXVld2hpdGUxAGNob2NvbGF0ZTEAY2hhcnRyZXVzZTEAbWlzdHlyb3NlMQBwYWxldHVycXVvaXNlMQBhenVyZTEAYXF1YW1hcmluZTEAdGhpc3RsZTEAbWVkaXVtcHVycGxlMQBkYXJrb3JhbmdlMQBhcmdfZTAgJiYgYXJnX2UxAGxpZ2h0Z29sZGVucm9kMQBkYXJrZ29sZGVucm9kMQBidXJseXdvb2QxAGdvbGQxAG1lZGl1bW9yY2hpZDEAZGFya29yY2hpZDEAcGFsZXZpb2xldHJlZDEAaW5kaWFucmVkMQBvcmFuZ2VyZWQxAG9saXZlZHJhYjEAbWFnZW50YTEAc2llbm5hMQBceEYxAFx4RTEAXHhEMQBceEMxAFx4QjEAXHhBMQBncmV5OTEAZ3JheTkxAFx4OTEAZ3JleTgxAGdyYXk4MQBceDgxAGdyZXk3MQBncmF5NzEAZ3JleTYxAGdyYXk2MQBncmV5NTEAZ3JheTUxAGdyZXk0MQBncmF5NDEAZ3JleTMxAGdyYXkzMQBncmV5MjEAZ3JheTIxAGdyZXkxMQBncmF5MTEAXHgxMQAvcGFpcmVkMTIvMTEAL3NldDMxMi8xMQAvcmRneTExLzExAC9yZHlsYnUxMS8xMQAvcmRidTExLzExAC9wdW9yMTEvMTEAL3ByZ24xMS8xMQAvcmR5bGduMTEvMTEAL3NwZWN0cmFsMTEvMTEAL3BpeWcxMS8xMQAvYnJiZzExLzExAC9wYWlyZWQxMS8xMQAvc2V0MzExLzExAGNzW2ldLT5zbGFjaygpPi0wLjAwMDAwMDEAL3JkZ3k5LzEAL2J1cHU5LzEAL3JkcHU5LzEAL3B1YnU5LzEAL3lsZ25idTkvMQAvZ25idTkvMQAvcmR5bGJ1OS8xAC9yZGJ1OS8xAC9ncmV5czkvMQAvZ3JlZW5zOS8xAC9ibHVlczkvMQAvcHVycGxlczkvMQAvb3JhbmdlczkvMQAvcmVkczkvMQAvcHVvcjkvMQAveWxvcmJyOS8xAC9wdWJ1Z245LzEAL2J1Z245LzEAL3ByZ245LzEAL3JkeWxnbjkvMQAveWxnbjkvMQAvc3BlY3RyYWw5LzEAL3BpeWc5LzEAL2JyYmc5LzEAL3B1cmQ5LzEAL3lsb3JyZDkvMQAvb3JyZDkvMQAvcGFpcmVkOS8xAC9zZXQzOS8xAC9zZXQxOS8xAC9wYXN0ZWwxOS8xAC9yZGd5OC8xAC9idXB1OC8xAC9yZHB1OC8xAC9wdWJ1OC8xAC95bGduYnU4LzEAL2duYnU4LzEAL3JkeWxidTgvMQAvcmRidTgvMQAvYWNjZW50OC8xAC9ncmV5czgvMQAvZ3JlZW5zOC8xAC9ibHVlczgvMQAvcHVycGxlczgvMQAvb3JhbmdlczgvMQAvcmVkczgvMQAvcHVvcjgvMQAveWxvcmJyOC8xAC9wdWJ1Z244LzEAL2J1Z244LzEAL3ByZ244LzEAL3JkeWxnbjgvMQAveWxnbjgvMQAvc3BlY3RyYWw4LzEAL3BpeWc4LzEAL2JyYmc4LzEAL3B1cmQ4LzEAL3lsb3JyZDgvMQAvb3JyZDgvMQAvcGFpcmVkOC8xAC9zZXQzOC8xAC9zZXQyOC8xAC9wYXN0ZWwyOC8xAC9kYXJrMjgvMQAvc2V0MTgvMQAvcGFzdGVsMTgvMQAvcmRneTcvMQAvYnVwdTcvMQAvcmRwdTcvMQAvcHVidTcvMQAveWxnbmJ1Ny8xAC9nbmJ1Ny8xAC9yZHlsYnU3LzEAL3JkYnU3LzEAL2FjY2VudDcvMQAvZ3JleXM3LzEAL2dyZWVuczcvMQAvYmx1ZXM3LzEAL3B1cnBsZXM3LzEAL29yYW5nZXM3LzEAL3JlZHM3LzEAL3B1b3I3LzEAL3lsb3JicjcvMQAvcHVidWduNy8xAC9idWduNy8xAC9wcmduNy8xAC9yZHlsZ243LzEAL3lsZ243LzEAL3NwZWN0cmFsNy8xAC9waXlnNy8xAC9icmJnNy8xAC9wdXJkNy8xAC95bG9ycmQ3LzEAL29ycmQ3LzEAL3BhaXJlZDcvMQAvc2V0MzcvMQAvc2V0MjcvMQAvcGFzdGVsMjcvMQAvZGFyazI3LzEAL3NldDE3LzEAL3Bhc3RlbDE3LzEAL3JkZ3k2LzEAL2J1cHU2LzEAL3JkcHU2LzEAL3B1YnU2LzEAL3lsZ25idTYvMQAvZ25idTYvMQAvcmR5bGJ1Ni8xAC9yZGJ1Ni8xAC9hY2NlbnQ2LzEAL2dyZXlzNi8xAC9ncmVlbnM2LzEAL2JsdWVzNi8xAC9wdXJwbGVzNi8xAC9vcmFuZ2VzNi8xAC9yZWRzNi8xAC9wdW9yNi8xAC95bG9yYnI2LzEAL3B1YnVnbjYvMQAvYnVnbjYvMQAvcHJnbjYvMQAvcmR5bGduNi8xAC95bGduNi8xAC9zcGVjdHJhbDYvMQAvcGl5ZzYvMQAvYnJiZzYvMQAvcHVyZDYvMQAveWxvcnJkNi8xAC9vcnJkNi8xAC9wYWlyZWQ2LzEAL3NldDM2LzEAL3NldDI2LzEAL3Bhc3RlbDI2LzEAL2RhcmsyNi8xAC9zZXQxNi8xAC9wYXN0ZWwxNi8xAC9yZGd5NS8xAC9idXB1NS8xAC9yZHB1NS8xAC9wdWJ1NS8xAC95bGduYnU1LzEAL2duYnU1LzEAL3JkeWxidTUvMQAvcmRidTUvMQAvYWNjZW50NS8xAC9ncmV5czUvMQAvZ3JlZW5zNS8xAC9ibHVlczUvMQAvcHVycGxlczUvMQAvb3JhbmdlczUvMQAvcmVkczUvMQAvcHVvcjUvMQAveWxvcmJyNS8xAC9wdWJ1Z241LzEAL2J1Z241LzEAL3ByZ241LzEAL3JkeWxnbjUvMQAveWxnbjUvMQAvc3BlY3RyYWw1LzEAL3BpeWc1LzEAL2JyYmc1LzEAL3B1cmQ1LzEAL3lsb3JyZDUvMQAvb3JyZDUvMQAvcGFpcmVkNS8xAC9zZXQzNS8xAC9zZXQyNS8xAC9wYXN0ZWwyNS8xAC9kYXJrMjUvMQAvc2V0MTUvMQAvcGFzdGVsMTUvMQAvcmRneTQvMQAvYnVwdTQvMQAvcmRwdTQvMQAvcHVidTQvMQAveWxnbmJ1NC8xAC9nbmJ1NC8xAC9yZHlsYnU0LzEAL3JkYnU0LzEAL2FjY2VudDQvMQAvZ3JleXM0LzEAL2dyZWVuczQvMQAvYmx1ZXM0LzEAL3B1cnBsZXM0LzEAL29yYW5nZXM0LzEAL3JlZHM0LzEAL3B1b3I0LzEAL3lsb3JicjQvMQAvcHVidWduNC8xAC9idWduNC8xAC9wcmduNC8xAC9yZHlsZ240LzEAL3lsZ240LzEAL3NwZWN0cmFsNC8xAC9waXlnNC8xAC9icmJnNC8xAC9wdXJkNC8xAC95bG9ycmQ0LzEAL29ycmQ0LzEAL3BhaXJlZDQvMQAvc2V0MzQvMQAvc2V0MjQvMQAvcGFzdGVsMjQvMQAvZGFyazI0LzEAL3NldDE0LzEAL3Bhc3RlbDE0LzEAL3JkZ3kzLzEAL2J1cHUzLzEAL3JkcHUzLzEAL3B1YnUzLzEAL3lsZ25idTMvMQAvZ25idTMvMQAvcmR5bGJ1My8xAC9yZGJ1My8xAC9hY2NlbnQzLzEAL2dyZXlzMy8xAC9ncmVlbnMzLzEAL2JsdWVzMy8xAC9wdXJwbGVzMy8xAC9vcmFuZ2VzMy8xAC9yZWRzMy8xAC9wdW9yMy8xAC95bG9yYnIzLzEAL3B1YnVnbjMvMQAvYnVnbjMvMQAvcHJnbjMvMQAvcmR5bGduMy8xAC95bGduMy8xAC9zcGVjdHJhbDMvMQAvcGl5ZzMvMQAvYnJiZzMvMQAvcHVyZDMvMQAveWxvcnJkMy8xAC9vcnJkMy8xAC9wYWlyZWQzLzEAL3NldDMzLzEAL3NldDIzLzEAL3Bhc3RlbDIzLzEAL2RhcmsyMy8xAC9zZXQxMy8xAC9wYXN0ZWwxMy8xAC9wYWlyZWQxMi8xAC9zZXQzMTIvMQAvcmRneTExLzEAL3JkeWxidTExLzEAL3JkYnUxMS8xAC9wdW9yMTEvMQAvcHJnbjExLzEAL3JkeWxnbjExLzEAL3NwZWN0cmFsMTEvMQAvcGl5ZzExLzEAL2JyYmcxMS8xAC9wYWlyZWQxMS8xAC9zZXQzMTEvMQAvcmRneTEwLzEAL3JkeWxidTEwLzEAL3JkYnUxMC8xAC9wdW9yMTAvMQAvcHJnbjEwLzEAL3JkeWxnbjEwLzEAL3NwZWN0cmFsMTAvMQAvcGl5ZzEwLzEAL2JyYmcxMC8xAC9wYWlyZWQxMC8xAC9zZXQzMTAvMQAxNC4xLjEAbGF0aW4tMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tODg1OS0xAGkgPj0gMQBxLT5uID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBiei5zaXplICUgMyA9PSAxAExJU1RfU0laRSgmY3R4LT5UcmVlX2VkZ2UpID09IGN0eC0+Tl9ub2RlcyAtIDEAbm9kZV9zZXRfc2l6ZShnLT5uX2lkKSA9PSBvc2l6ZSArIDEAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSArIHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFsxXSA9PSBOT0RFQ0FSRCArIDEAZ3JleTAAZ3JheTAAanNvbjAAI2YwZjBmMAAjZTBlMGUwAHhiLT5sb2NhdGVkID4gQUdYQlVGX0lOTElORV9TSVpFXzAAXDAAVDAAXHhGMABceEUwAFx4RDAAXHhDMABceEIwAFx4QTAAZ3JleTkwAGdyYXk5MABceDkwAGdyZXk4MABncmF5ODAAXHg4MAAjODA4MDgwAGdyZXk3MABncmF5NzAAY2N3cm90ID09IDAgfHwgY2N3cm90ID09IDkwIHx8IGNjd3JvdCA9PSAxODAgfHwgY2N3cm90ID09IDI3MABjd3JvdCA9PSAwIHx8IGN3cm90ID09IDkwIHx8IGN3cm90ID09IDE4MCB8fCBjd3JvdCA9PSAyNzAAZ3JleTYwAGdyYXk2MABncmV5NTAAZ3JheTUwAGdyZXk0MABncmF5NDAAci53aWR0aCgpPDFlNDAAZ3JleTMwAGdyYXkzMAAjMzAzMDMwAGdyZXkyMABncmF5MjAAZ3JleTEwAGdyYXkxMABceDEwACMxMDEwMTAAL3BhaXJlZDEyLzEwAC9zZXQzMTIvMTAAL3JkZ3kxMS8xMAAvcmR5bGJ1MTEvMTAAL3JkYnUxMS8xMAAvcHVvcjExLzEwAC9wcmduMTEvMTAAL3JkeWxnbjExLzEwAC9zcGVjdHJhbDExLzEwAC9waXlnMTEvMTAAL2JyYmcxMS8xMAAvcGFpcmVkMTEvMTAAL3NldDMxMS8xMAAvcmRneTEwLzEwAC9yZHlsYnUxMC8xMAAvcmRidTEwLzEwAC9wdW9yMTAvMTAAL3ByZ24xMC8xMAAvcmR5bGduMTAvMTAAL3NwZWN0cmFsMTAvMTAAL3BpeWcxMC8xMAAvYnJiZzEwLzEwAC9wYWlyZWQxMC8xMAAvc2V0MzEwLzEwADEyMDAAZ3JleTEwMABncmF5MTAwAElTTy1JUi0xMDAAMTAwMDAAJSFQUy1BZG9iZS0zLjAAbnogPiAwAGxpc3QtPmNhcGFjaXR5ID4gMABkaXN0ID4gMABwYXRoY291bnQgPiAwAHdndCA+IDAAbnNpdGVzID4gMABzaWRlcyA+IDAAcnYgPT0gMCB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGlucG4gPiAwAGxlbiA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAG0gPiAwICYmIG4gPiAwAG5ld1RvdGFsID4gMAB3aWR0aCA+IDAAbGlzdC0+c2l6ZSA+IDAAZGljdC0+c2l6ZSA+IDAAc3BsLT5zaXplID4gMABzZWxmLT5zaXplID4gMABiei5zaXplID4gMABpbmNyZWFzZSA+IDAAYm91bmQgPiAwAGdyYXBoLT53ZWlnaHRzW3hdID4gMABncmFwaC0+d2VpZ2h0c1tuX2VkZ2VzXSA+IDAAaW5kZXggPj0gMAB0ID49IDAAbm5vZGVzID49IDAAbl9vYnMgPj0gMABuID49IDAAbi0+bGV2ZWwgPj0gMABvcmlnaW5hbCA+PSAwAE1heHJhbmsgPj0gMABQYWNrID49IDAAaWkgPCAxPDxkaW0gJiYgaWkgPj0gMAB3aWR0aCA+PSAwAGpkaWFnID49IDAAaWRpYWcgPj0gMABkID49IDAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IDAgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IDAAViA+PSAwAGFnbm5vZGVzKGdyYXBoKSA+PSAwAGFnbm5vZGVzKGcpID49IDAARURfdHJlZV9pbmRleChlKSA+PSAwAEVEX2NvdW50KGUpID49IDAAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGNfY250ID09IDAAcmFua19yZXN1bHQgPT0gMABnZXR0aW1lb2ZkYXlfcmVzID09IDAAaiA9PSAwAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAYS5zaGFwZSA9PSAwIHx8IGIuc2hhcGUgPT0gMABsaXN0LT5iYXNlICE9IE5VTEwgfHwgaW5kZXggPT0gMCB8fCBzdHJpZGUgPT0gMABkdHNpemUoZGVzdCkgPT0gMABkdHNpemUoZy0+bl9zZXEpID09IDAAZHRzaXplKGctPmdfc2VxKSA9PSAwAGR0c2l6ZShnLT5lX3NlcSkgPT0gMABHRF9taW5yYW5rKGcpID09IDAAZHRzaXplKGctPmdfaWQpID09IDAAZHRzaXplKGctPmVfaWQpID09IDAAY29zeCAhPSAwIHx8IHNpbnggIT0gMAByZXFfYWxpZ25tZW50ICE9IDAAbWVtY21wKCZzdHlsZSwgJihncmFwaHZpel9wb2x5Z29uX3N0eWxlX3QpezB9LCBzaXplb2Yoc3R5bGUpKSAhPSAwAHJlc3VsdCA9PSAoaW50KShzaXplIC0gMSkgfHwgcmVzdWx0IDwgMABtYXNrW2lpXSA8IDAATkRfaGVhcGluZGV4KHYpIDwgMABcLwBYMTEvAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgAlLipzLgBzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AR3JhcGggJXMgaGFzIGFycmF5IHBhY2tpbmcgd2l0aCB1c2VyIHZhbHVlcyBidXQgbm8gInNvcnR2IiBhdHRyaWJ1dGVzIGFyZSBkZWZpbmVkLgAxLgAtMC4AJSFQUy1BZG9iZS0AJVBERi0APCEtLQAgLAArACoAc3RyZXEoYXB0ci0+dS5uYW1lLEtleSkAIWlzX2V4YWN0bHlfZXF1YWwoUi54LCBRLngpIHx8ICFpc19leGFjdGx5X2VxdWFsKFIueSwgUS55KQBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAHUgPT0gVUZfZmluZCh1KQAhTElTVF9JU19FTVBUWShwbGlzdCkAZ3ZfbGlzdF9pc19jb250aWd1b3VzXygqbGlzdCkAb25lIDw9IExJU1RfU0laRShsaXN0KQBucCA8IExJU1RfU0laRShsaXN0KQBpc19wb3dlcl9vZl8yKGFsaWdubWVudCkAc3RkOjppc19oZWFwKGhlYXAuYmVnaW4oKSwgaGVhcC5lbmQoKSwgZ3QpACEocS0+cXRzKQAhTElTVF9JU19FTVBUWSgmbGVhdmVzKQBvbl9oZWFwKHIpAG5vZGVfc2V0X3NpemUoZy0+bl9pZCkgPT0gKHNpemVfdClkdHNpemUoZy0+bl9zZXEpAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBub3Qgd2VsbC1mb3JtZWQgKGludmFsaWQgdG9rZW4pAGFnc3VicmVwKGcsbikAbiAhPSBORF9uZXh0KG4pAGZpbmRfZmFzdF9ub2RlKGcsIG4pAChudWxsKQAoIWpjbikgJiYgKCF2YWwpACEocS0+bCkAc3ltLT5pZCA+PSAwICYmIHN5bS0+aWQgPCB0b3BkaWN0c2l6ZShvYmopAG1vdmUgdG8gKCUuMGYsICUuMGYpADsgc3BsaW5lIHRvICglLjBmLCAlLjBmKQA7IGxpbmUgdG8gKCUuMGYsICUuMGYpAFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQSwgdHJ1ZSkAdmFsdWUgJiYgc3RybGVuKHZhbHVlKQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljKEEsIGZhbHNlKQAhdXNlX3N0YWdlIHx8IHNpemUgPD0gc2l6ZW9mKHN0YWdlKQBFRF9sYWJlbChmZSkAIVRSRUVfRURHRShlKQAhY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLCBlKQBub2RlX3NldF9pc19lbXB0eShnLT5uX2lkKQByXyVkKQBsXyVkKQAobGliKQAhU3BhcnNlTWF0cml4X2hhc19kaWFnb25hbChBKQAgc2Nhbm5pbmcgYSBIVE1MIHN0cmluZyAobWlzc2luZyAnPic/IGJhZCBuZXN0aW5nPyBsb25nZXIgdGhhbiAlZD8pACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmYWxsYmFjayg0KQBvbl9oZWFwKHIwKSB8fCBvbl9oZWFwKHIxKQBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X2dldF9uZXh0X2J1ZmZlcigpAG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5ZW5zdXJlX2J1ZmZlcl9zdGFjaygpAHN0cmVxKG1vZGUsICJyIikgfHwgc3RyZXEobW9kZSwgInJiIikgfHwgc3RyZXEobW9kZSwgInciKSB8fCBzdHJlcShtb2RlLCAid2IiKQBwbmFtZSAhPSBOVUxMICYmICFzdHJlcShwbmFtZSwgIiIpAHNldGxpbmV3aWR0aCgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAIHRyYW5zZm9ybT0ic2NhbGUoAE5PVEFUSU9OKAAgKAAgbmVhciAnJXMnACVsZiwlbGYsJWxmLCclW14nXScAaXNkaWdpdCgoaW50KWRvdHBbMV0pICYmIGlzZGlnaXQoKGludClkb3RwWzJdKSAmJiBkb3RwWzNdID09ICdcMCcAJgAlACQAdXJsKCMAPHRleHRQYXRoIHhsaW5rOmhyZWY9IiMAPGFyZWEgc2hhcGU9InBvbHkiACBmaWxsPSIjJTAyeCUwMnglMDJ4IgAoc2VxICYgU0VRX01BU0spID09IHNlcSAmJiAic2VxdWVuY2UgSUQgb3ZlcmZsb3ciAGd2X3NvcnRfY29tcGFyID09IE5VTEwgJiYgZ3Zfc29ydF9hcmcgPT0gTlVMTCAmJiAidW5zdXBwb3J0ZWQgcmVjdXJzaXZlIGNhbGwgdG8gZ3Zfc29ydCIAZ3Zfc29ydF9jb21wYXIgIT0gTlVMTCAmJiAibm8gY29tcGFyYXRvciBzZXQgaW4gZ3Zfc29ydCIAb3AtPm9wLnUucG9seWdvbi5jbnQgPD0gSU5UX01BWCAmJiAicG9seWdvbiBjb3VudCBleGNlZWRzIGd2cmVuZGVyX3BvbHlnb24gc3VwcG9ydCIAIHRleHQtYW5jaG9yPSJzdGFydCIAcC54ICE9IGEgJiYgImNhbm5vdCBoYW5kbGUgZWxsaXBzZSB0YW5nZW50IHNsb3BlIGluIGhvcml6b250YWwgZXh0cmVtZSBwb2ludCIAZnVsbF9sZW5ndGhfd2l0aG91dF9zaGFmdCA+IDAgJiYgIm5vbi1wb3NpdGl2ZSBmdWxsIGxlbmd0aCB3aXRob3V0IHNoYWZ0IgA8YXJlYSBzaGFwZT0icmVjdCIAc2l6ZSA+IDAgJiYgImF0dGVtcHQgdG8gYWxsb2NhdGUgYXJyYXkgb2YgMC1zaXplZCBlbGVtZW50cyIAaW5kZXggPCBzZWxmLT5zaXplX2JpdHMgJiYgIm91dCBvZiBib3VuZHMgYWNjZXNzIgBpbmRleCA8IHNlbGYuc2l6ZV9iaXRzICYmICJvdXQgb2YgYm91bmRzIGFjY2VzcyIAKnMxICE9ICpzMiAmJiAiZHVwbGljYXRlIHNlcGFyYXRvciBjaGFyYWN0ZXJzIgBHRF9taW5yYW5rKHN1YmcpIDw9IEdEX21heHJhbmsoc3ViZykgJiYgImNvcnJ1cHRlZCByYW5rIGJvdW5kcyIAaW5kZXggPCBsaXN0LnNpemUgJiYgImluZGV4IG91dCBvZiBib3VuZHMiACh1aW50cHRyX3QpcyAlIDIgPT0gMCAmJiAiaGVhcCBwb2ludGVyIHdpdGggbG93IGJpdCBzZXQgd2lsbCBjb2xsaWRlIHdpdGggYW5vbnltb3VzIElEcyIAICgrJTZsZCBieXRlcyAlc3wldSwgeG1scGFyc2UuYzolZCkgJSpzIgAgZm9udC1mYW1pbHk9IiVzIgAgZm9udC13ZWlnaHQ9IiVzIgAgZmlsbD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiAGJhZCBlZGdlIGxlbiAiJXMiACBiYXNlbGluZS1zaGlmdD0ic3VwZXIiAGFneGJsZW4oeGIpIDw9IHNpemVvZih4Yi0+c3RvcmUpICYmICJhZ3hidWYgY29ycnVwdGlvbiIAY2VsbC5yb3cgPCB0YWJsZS0+cm93X2NvdW50ICYmICJvdXQgb2YgcmFuZ2UgY2VsbCIAY2VsbC5jb2wgPCB0YWJsZS0+Y29sdW1uX2NvdW50ICYmICJvdXQgb2YgcmFuZ2UgY2VsbCIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiAGZ1bGxfbGVuZ3RoID4gMCAmJiAibm9uLXBvc2l0aXZlIGZ1bGwgbGVuZ3RoIgBmdWxsX2Jhc2Vfd2lkdGggPiAwICYmICJub24tcG9zaXRpdmUgZnVsbCBiYXNlIHdpZHRoIgBub21pbmFsX2Jhc2Vfd2lkdGggPiAwICYmICJub24tcG9zaXRpdmUgbm9taW5hbCBiYXNlIHdpZHRoIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACBmb250LXNpemU9IiUuMmYiACBmaWxsLW9wYWNpdHk9IiVmIgA8dGV4dCB4bWw6c3BhY2U9InByZXNlcnZlIgBpc2Zpbml0ZShtKSAmJiAiZWxsaXBzZSB0YW5nZW50IHNsb3BlIGlzIGluZmluaXRlIgAoeGItPmxvY2F0ZWQgPT0gQUdYQlVGX09OX0hFQVAgfHwgeGItPmxvY2F0ZWQgPD0gc2l6ZW9mKHhiLT5zdG9yZSkpICYmICJjb3JydXB0ZWQgYWd4YnVmIHR5cGUiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgA8YXJlYSBzaGFwZT0iY2lyY2xlIgBjZWxsLT5yb3cgKyBjZWxsLT5yb3dzcGFuIDw9IHRhYmxlLT5yb3dfY291bnQgJiYgImNlbGwgc3BhbnMgaGlnaGVyIHRoYW4gY29udGFpbmluZyB0YWJsZSIAY2VsbC5yb3cgKyBjZWxsLnJvd3NwYW4gPD0gdGFibGUtPnJvd19jb3VudCAmJiAiY2VsbCBzcGFucyBoaWdoZXIgdGhhbiBjb250YWluaW5nIHRhYmxlIgBjZWxsLT5jb2wgKyBjZWxsLT5jb2xzcGFuIDw9IHRhYmxlLT5jb2x1bW5fY291bnQgJiYgImNlbGwgc3BhbnMgd2lkZXIgdGhhbiBjb250YWluaW5nIHRhYmxlIgBjZWxsLmNvbCArIGNlbGwuY29sc3BhbiA8PSB0YWJsZS0+Y29sdW1uX2NvdW50ICYmICJjZWxsIHNwYW5zIHdpZGVyIHRoYW4gY29udGFpbmluZyB0YWJsZSIAb2xkX25tZW1iIDwgU0laRV9NQVggLyBzaXplICYmICJjbGFpbWVkIHByZXZpb3VzIGV4dGVudCBpcyB0b28gbGFyZ2UiAHRoZXRhID49IDAgJiYgdGhldGEgPD0gTV9QSSAmJiAidGhldGEgb3V0IG9mIHJhbmdlIgB0YWJsZS0+aGVpZ2h0cyA9PSBOVUxMICYmICJ0YWJsZSBoZWlnaHRzIGNvbXB1dGVkIHR3aWNlIgB0YWJsZS0+d2lkdGhzID09IE5VTEwgJiYgInRhYmxlIHdpZHRocyBjb21wdXRlZCB0d2ljZSIAIHRleHQtYW5jaG9yPSJlbmQiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiAFwiAGxsZW4gPD0gSU5UX01BWCAmJiAiWE1MIHRva2VuIHRvbyBsb25nIGZvciBleHBhdCBBUEkiACIgcnk9IgBfcCIgc3RhcnRPZmZzZXQ9IjUwJSI+PHRzcGFuIHg9IjAiIGR5PSIAIiBjeT0iACIgeT0iACIgcng9IgAgY3g9IgAgeD0iACB0YXJnZXQ9IgAgcG9pbnRzPSIAIGNvb3Jkcz0iACB0ZXh0LWRlY29yYXRpb249IgAgZmlsbD0iACIgc3Ryb2tlLXdpZHRoPSIAPGltYWdlIHhsaW5rOmhyZWY9IgA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIG5hbWU9IgAgeGxpbms6dGl0bGU9IgAgdGl0bGU9IgAiIHN0cm9rZT0iADxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9IgA8ZGVmcz4KPHJhZGlhbEdyYWRpZW50IGlkPSIAPG1hcCBpZD0iADxnIGlkPSIAIGQ9IgAiIHkyPSIAIiB4Mj0iACIgeTE9IgB4MT0iACB2aWV3Qm94PSIlZC4wMCAlZC4wMCAlZC4wMCAlZC4wMCIAIHRyYW5zZm9ybT0icm90YXRlKCVkICVnICVnKSIAYWd4YmxlbigmY3R4LT5TYnVmKSA9PSAwICYmICJwZW5kaW5nIHN0cmluZyBkYXRhIHRoYXQgd2FzIG5vdCBjb25zdW1lZCAobWlzc2luZyAiICJlbmRzdHIoKS9lbmRodG1sc3RyKCk/KSIAIGFsdD0iIgBDeWNsZSBFcnJvciEAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAPCEtLSBHZW5lcmF0ZWQgYnkgACVzJXp1IC0jJTAyeCUwMnglMDJ4JTAyeCAAJXMlenUgLSMlMDJ4JTAyeCUwMnggACVjICV6dSAAdCAldSAAIGNyZWF0ZSB0ZXh0IAB4TGF5b3V0IABkZWZhdWx0IABzdHJpY3QgACVzJXp1IC0lcyAAIC1zbW9vdGggYmV6aWVyIAAgbW92ZXRvIAAgdmVyc2lvbiAAIGNyZWF0ZSBwb2x5Z29uIAAgLXRleHQgeyVzfSAtZmlsbCAAIGNyZWF0ZSBvdmFsIAAgLXdpZHRoIABuZXdwYXRoIABncmFwaCAAcywlLjVnLCUuNWcgACUuNWcsJS41ZywlLjVnLCUuNWcgAGUsJS41ZywlLjVnIAAlZyAlZyAAJS4wM2xmIAAlLjNmIAAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICUuNGYgJWQgJS4xZiAlLjFmICUuMGYgJS4wZiAAIC1vdXRsaW5lIAAgY3JlYXRlIGxpbmUgAG5vZGUgACVkIABUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAFsgL1JlY3QgWyAAVCAAUyAAT1BFTiAASSAARiAARSAAQyAAIC0+IABSYW5rIHNlcGFyYXRpb24gPSAAVW5zYXRpc2ZpZWQgY29uc3RyYWludDogAENhbGN1bGF0aW5nIHNob3J0ZXN0IHBhdGhzOiAAJXM6IABTb2x2aW5nIG1vZGVsOiAAU2V0dGluZyB1cCBzcHJpbmcgbW9kZWw6IABjb252ZXJ0IGdyYXBoOiAAIFRpdGxlOiAAW0dyYXBodml6XSAlczolZDogJTA0ZC0lMDJkLSUwMmQgJTAyZDolMDJkOiAAInRleHQiOiAAeyJmcmFjIjogJS4wM2YsICJjb2xvciI6IAAibmFtZSI6IAAic3R5bGUiOiAAImZhY2UiOiAAMiAAPCEtLSAAIC0tIAAlIABfcCIgAGxfJWQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJXp1ICBLID0gJWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAogICAgADoJIAAgICAgJXN9CgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAI2RlZmF1bHQgeyBmaW5pc2ggeyBhbWJpZW50IDAuMSBkaWZmdXNlIDAuOSB9IH0KAHBpZ21lbnQgeyBjb2xvciAlcyB9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAgICAgdGV4dHVyZSBJbWFnZVRleHR1cmUgeyB1cmwgIiVzIiB9CgAgICAgfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICog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aWR0aCBvciBoZWlnaHQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKSBkb2Vzbid0IGhhdmUgM24rMSBwb2ludHMKACAgZ2VuZXJhdGVkICVkIGNvbnN0cmFpbnRzCgBzcGxpbmVzIGFuZCBjbHVzdGVyIGVkZ2VzIG5vdCBzdXBwb3J0ZWQgLSB1c2luZyBsaW5lIHNlZ21lbnRzCgBvYmplY3RzCgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAZm9udCBuYW1lICVzIGNvbnRhaW5zIGNoYXJhY3RlcnMgdGhhdCBtYXkgbm90IGJlIGFjY2VwdGVkIGJ5IHNvbWUgUFMgdmlld2VycwoAZm9udCBuYW1lICVzIGlzIGxvbmdlciB0aGFuIDI5IGNoYXJhY3RlcnMgd2hpY2ggbWF5IGJlIHJlamVjdGVkIGJ5IHNvbWUgUFMgdmlld2VycwoAY2Fubm90IGFsbG9jYXRlIHBzCgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBhcnJheSBwYWNraW5nOiAlcyAlenUgcm93cyAlenUgY29sdW1ucwoAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJyVzJyBpbiBsaW5lICVkIG9mICVzIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKAG91dCBvZiBtZW1vcnkgd2hlbiB0cnlpbmcgdG8gYWxsb2NhdGUgJXp1IGJ5dGVzCgBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJ5aW5nIHRvIGFsbG9jYXRlICV6dSAqICV6dSBieXRlcwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoARm91bmQgJWQgRGlHLUNvTGEgYm91bmRhcmllcwoASW5jaGVzCgAoJTR6dSkgJTd6dSBub2RlcyAlN3p1IGVkZ2VzCgBjb21wb3VuZEVkZ2VzOiBjb3VsZCBub3QgY29uc3RydWN0IG9ic3RhY2xlcyAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBjb21wb3VuZEVkZ2VzOiBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBTY2FubmluZyBncmFwaCAlcywgJWQgbm9kZXMKAFdhcm5pbmc6IG5vIGhhcmQtY29kZWQgbWV0cmljcyBmb3IgJyVzJy4gIEZhbGxpbmcgYmFjayB0byAnVGltZXMnIG1ldHJpY3MKAGluIGVkZ2UgJXMlcyVzCgBVc2luZyAlczogJXM6JXMKAEZvcm1hdDogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGxheW91dCAlcwoALmZ0ICVzCgBiYWQgbGFiZWwgZm9ybWF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN3p1IGNvbXBvbmVudHMgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKACAgRWRnZSAlcyAlcyAlcwoAb3J0aG8gJXMgJXMKAHBvbHlsaW5lICVzICVzCgBzcGxpbmUgJXMgJXMKAHJlY3RhbmdsZSAoJS4wZiwlLjBmKSAoJS4wZiwlLjBmKSAlcyAlcwoAaW4gY2x1c3RlciAlcwoAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAHRhaWwgY2x1c3RlciAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAVW5oYW5kbGVkIGFkanVzdCBvcHRpb24gJXMKAHJlcG9zaXRpb24gJXMKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggeGxhYmVsICVzCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHRhaWwgbGFiZWwgJXMKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggbGFiZWwgJXMKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggaGVhZCBsYWJlbCAlcwoALy8qKiogYmVnaW5fZ3JhcGggJXMKAE1heC4gaXRlcmF0aW9ucyAoJWQpIHJlYWNoZWQgb24gZ3JhcGggJXMKAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKACVzIHdoaWxlIG9wZW5pbmcgJXMKAGRlcml2ZSBncmFwaCBfZGdfJWQgb2YgJXMKACBdICAlenUgdHJ1ZSAlcwoAXSAgJWQgdHJ1ZSAlcwoAIF0gICV6dSBmYWxzZSAlcwoAXSAgJWQgZmFsc2UgJXMKAG1ha2VQb2x5OiB1bmtub3duIHNoYXBlIHR5cGUgJXMKAG1ha2VBZGRQb2x5OiB1bmtub3duIHNoYXBlIHR5cGUgJXMKAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgAgIG9jdHJlZSBzY2hlbWUgJXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBjYW4ndCBmaW5kIGxpYnJhcnkgZmlsZSAlcwoAQm91bmRpbmdCb3ggbm90IGZvdW5kIGluIGVwc2YgZmlsZSAlcwoAY291bGRuJ3Qgb3BlbiBlcHNmIGZpbGUgJXMKAGNvdWxkbid0IHJlYWQgZnJvbSBlcHNmIGZpbGUgJXMKAGluIG5vZGUgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBpbiBsYWJlbCBvZiBub2RlICVzCgBlbmQgJXMKAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKAG9vcHMsIGludGVybmFsIGVycm9yOiB1bmhhbmRsZWQgY29sb3IgdHlwZT0lZCAlcwoAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKAC8vKioqIHRleHRzcGFuOiAlcywgZm9udHNpemUgPSAlLjNmLCBmb250bmFtZSA9ICVzCgB0cmllcyA9ICVkLCBtb2RlID0gJXMKAC8vKioqIGNvbW1lbnQ6ICVzCgBmYWlsZWQgdG8gcmVzZXJ2ZSAlenUgZWxlbWVudHMgb2Ygc2l6ZSAlenUgYnl0ZXM6ICVzCgBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgBkZWxhdW5heV90cmlhbmd1bGF0aW9uOiAlcwoAZGVsYXVuYXlfdHJpOiAlcwoAZ3ZwcmludGY6ICVzCgBuZXN0aW5nIG5vdCBhbGxvd2VkIGluIHN0eWxlOiAlcwoAdW5tYXRjaGVkICcpJyBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgAlJSUlVGl0bGU6ICVzCgAlcyBUaXRsZTogJXMKACMgVGl0bGU6ICVzCgAvLyoqKiBiZWdpbl9ub2RlOiAlcwoAbGliL3BhdGhwbGFuLyVzOiVkOiAlcwoAZ3JpZCglZCwlZCk6ICVzCgBDb3VsZCBub3Qgb3BlbiAiJXMiIGZvciB3cml0aW5nIDogJXMKAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgAgWyV6dV0gJXAgc2V0ICVkICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcwoAJSUgJXMKACMgJXMKACAgbW9kZSAgICVzCgBsaXN0IGVsZW1lbnQgdHlwZSBpcyBub3QgYSBwb2ludGVyLCBidXQgYGZyZWVgIHVzZWQgYXMgZGVzdHJ1Y3RvcgoAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAGFkZF9zZWdtZW50OiBlcnJvcgoAJS41ZyAlLjVnICUuNWcgJXNjb2xvcgoAMCAwIDAgZWRnZWNvbG9yCgAwLjggMC44IDAuOCBzZXRyZ2Jjb2xvcgoAMCAwIDEgc2V0cmdiY29sb3IKADEgMCAwIHNldHJnYmNvbG9yCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWQgJWQgc2V0bGF5ZXIKAC8vKioqIGVuZF9sYXllcgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoATGV0dGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfY2x1c3RlcgoAcmVtb3ZpbmcgZW1wdHkgY2x1c3RlcgoAQ2VudGVyCgBXYXJuaW5nOiBubyB2YWx1ZSBmb3Igd2lkdGggb2Ygbm9uLUFTQ0lJIGNoYXJhY3RlciAldS4gRmFsbGluZyBiYWNrIHRvIHdpZHRoIG9mIHNwYWNlIGNoYXJhY3RlcgoAYmFzZSByZWZlcmVyCgAlJVBhZ2VUcmFpbGVyCgAlJVRyYWlsZXIKAC8vKioqIGJlemllcgoAIiVzIiB3YXMgbm90IGZvdW5kIGFzIGEgZmlsZSBvciBhcyBhIHNoYXBlIGxpYnJhcnkgbWVtYmVyCgBzdG9wCgAgY3VydmV0bwoAbmV3cGF0aCAlLjBmICUuMGYgbW92ZXRvCgAlLjBmICUuMGYgbGluZXRvCgAgbGF5b3V0PW5lYXRvCgBub2RlICVzIGluIGdyYXBoICVzIGhhcyBubyBwb3NpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgaGF2ZSBubyBtZWFuaW5nIGluIERXQiAyLjAsIHNldCBwYWdlIGJvdW5kYXJpZXMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAbWFqb3JpemF0aW9uCgAvLyoqKiBwb2x5Z29uCgBvdmVyZmxvdyB3aGVuIGNvbXB1dGluZyBlZGdlIHdlaWdodCBzdW0KAHNmZHAgb25seSBzdXBwb3J0cyBzdGFydD1yYW5kb20KAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGNsb3NlcGF0aCBmaWxsCgAgZWxsaXBzZV9wYXRoIGZpbGwKACAgJS4wZiAlLjBmIGNlbGwKACVmICVmICVmICVmIGNlbGwKAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAZWRnZXMgaW4gZ3JhcGggJXMgaGF2ZSBubyBsZW4gYXR0cmlidXRlLiBIZW5jZSwgdGhlIG1kcyBtb2RlbAoAY2lyY3VpdCBtb2RlbCBub3QgeWV0IHN1cHBvcnRlZCBpbiBHbW9kZT1zZ2QsIHJldmVydGluZyB0byBzaG9ydHBhdGggbW9kZWwKAG1kcyBtb2RlbCBub3QgeWV0IHN1cHBvcnRlZCBpbiBHbW9kZT1zZ2QsIHJldmVydGluZyB0byBzaG9ydHBhdGggbW9kZWwKAG5vZGUgJyVzJywgZ3JhcGggJyVzJyBzaXplIHRvbyBzbWFsbCBmb3IgbGFiZWwKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAGxpbmV0aGljayA9IDA7IG9sZGxpbmV0aGljayA9IGxpbmV0aGljawoAIHNldGxpbmV3aWR0aAoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKAGdzYXZlICVnICVnIHRyYW5zbGF0ZSBuZXdwYXRoCgAvLyoqKiBlbmRfZ3JhcGgKAGxheW91dCBhdHRyaWJ1dGUgaXMgaW52YWxpZCBleGNlcHQgb24gdGhlIHJvb3QgZ3JhcGgKAGluIGNoZWNrcGF0aCwgYm94ZXMgJXp1IGFuZCAlenUgZG9uJ3QgdG91Y2gKAG1lcmdlX29uZXdheSBnbGl0Y2gKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgBOb2RlIG5vdCBhZGphY2VudCB0byBjZWxsIC0tIEFib3J0aW5nCgBpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAGxhYmVsX3NjaGVtZSA9ICVkID4gNCA6IGlnbm9yaW5nCgBndnJlbmRlcl9zZXRfc3R5bGU6IHVuc3VwcG9ydGVkIHN0eWxlICVzIC0gaWdub3JpbmcKAEFycm93IHR5cGUgIiVzIiB1bmtub3duIC0gaWdub3JpbmcKAGZkcCBkb2VzIG5vdCBzdXBwb3J0IHN0YXJ0PXNlbGYgLSBpZ25vcmluZwoAJXMgYXR0cmlidXRlIHZhbHVlIG11c3QgYmUgMSBvciAyIC0gaWdub3JpbmcKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBiYlslc10gJS41ZyAlLjVnICUuNWcgJS41ZwoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAL3BhdGhib3ggewogICAgL1ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAfSBiaW5kIGRlZgoALlBTICUuNWYgJS41ZgoAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAICBiZWF1dGlmeV9sZWF2ZXMgJWQgbm9kZSB3ZWlnaHRzICVkIHJvdGF0aW9uICUuMDNmCgAgIHJlcHVsc2l2ZSBleHBvbmVudDogJS4wM2YKACAgSyA6ICUuMDNmIEMgOiAlLjAzZgoAJXMgJS4zZgoACmludGVyc2VjdGlvbiBhdCAlLjNmICUuM2YKACAgICBzY2FsZSAlLjNmCgB0b3J1cyB7ICUuM2YsICUuM2YKACAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGNpcmNsZSAlcyAlLjBmLCUuMGYsJS4wZgoAcmVjdCAlcyAlLjBmLCUuMGYgJS4wZiwlLjBmCgAlZCAlZCAlZCAlLjBmICVkICVkICVkICVkICVkICUuM2YgJWQgJS40ZiAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYKACAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYgJS4wZiAlLjBmICUuMGYgJS4wZiAlLjBmCgAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICUuMGYgJS4wZiAlLjBmICUuMGYKAHBvc1slenVdICUuMGYgJS4wZgoALm5yIFNGICUuMGYKc2NhbGV0aGlja25lc3MgPSAlLjBmCgAlcyBzYXZlIHBvaW50IHNpemUgYW5kIGZvbnQKLm5yIC5TIFxuKC5zCi5uciBERiBcbiguZgoAc2hvd3BhZ2UKJSUlJVRyYWlsZXIKJSUlJUJvdW5kaW5nQm94OiAlLmYgJS5mICUuZiAlLmYKAGFkZGluZyAlenUgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGdhcD0lZiwlZgoAICBhc3BlY3QgJWYKAGEgJWYgYiAlZiBjICVmIGQgJWYgciAlZgoAbW9kZWwgJWQgc21hcnRfaW5pdCAlZCBzdHJlc3N3dCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgByZWMgJWYgJWYgJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACVzIDogJWYgJWYKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBtZHNNb2RlbDogZGVsdGEgPSAlZgoAIHIxICVmIHIyICVmCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAZ3NhdmUKACUlRW5kQ29tbWVudHMKc2F2ZQoAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJWcgJWcgc2V0X3NjYWxlICVkIHJvdGF0ZSAlZyAlZyB0cmFuc2xhdGUKACVmICVmIHRyYW5zbGF0ZQoAJWQgJWQgdHJhbnNsYXRlCgAvLyoqKiBlbGxpcHNlCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUKACVzOiB2c25wcmludGYgZmFpbHVyZQoAZW5kcGFnZQpzaG93cGFnZQpncmVzdG9yZQoAZW5kCnJlc3RvcmUKAGxheW91dCB3YXMgbm90IGRvbmUKAExheW91dCB3YXMgbm90IGRvbmUKAC8vKioqIHBvbHlsaW5lCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKACMgZW5kIG9mIEZJRyBmaWxlCgBTaW5nbGUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKACUuMGYgJS4wZiBsaW5ldG8gc3Ryb2tlCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIHN0cm9rZQoALy8qKiogYmVnaW5fZWRnZQoALy8qKiogZW5kX2VkZ2UKAGxvc3QgJXMgJXMgZWRnZQoAb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyB2aXJ0dWFsIHdlaWdodCBvZiBlZGdlCgBhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAc2hvd3BhZ2UKACVkICVkICVkIGJlZ2lucGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX3BhZ2UKAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgBsYWJlbDogYXJlYSB0b28gbGFyZ2UgZm9yIHJ0cmVlCgAvLyoqKiBlbmRfbm9kZQoAVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgBjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgAlZiAlZiAlZiAlZiBub2RlCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgBpbiBjaGVja3BhdGgsIGJveCAlenUgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWxsZCBiZXN0X2Nyb3NzICVsbGQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlcyVzIHVuc3VwcG9ydGVkCgBjbHVzdGVyIGN5Y2xlICVzIC0tICVzIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAbGF5b3V0IGFib3J0ZWQKAHBhZ2VkaXI9JXMgaWdub3JlZAoAVHdvIGNsdXN0ZXJzIG5hbWVkICVzIC0gdGhlIHNlY29uZCB3aWxsIGJlIGlnbm9yZWQKAElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgYXR0cmlidXRlICJtb2RlbCIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAc3RhcnQ9MCBub3Qgc3VwcG9ydGVkIHdpdGggbW9kZT1zZWxmIC0gaWdub3JlZAoAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgUk9XUyAtIGlnbm9yZWQKAFVua25vd24gdmFsdWUgJXMgZm9yIENPTFVNTlMgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBBTElHTiAtIGlnbm9yZWQKAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAElsbGVnYWwgdmFsdWUgJS4qcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBJbGxlZ2FsIHZhbHVlICVzIGZvciBBTElHTiBpbiBURCAtIGlnbm9yZWQKAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDT0xTUEFOIHZhbHVlIGNhbm5vdCBiZSAwIC0gaWdub3JlZAoAbm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAaW4gcm91dGVzcGxpbmVzLCBQc2hvcnRlc3RwYXRoIGZhaWxlZAoAaW4gcm91dGVzcGxpbmVzLCBQcm91dGVzcGxpbmUgZmFpbGVkCgAjIHBsdWdpbiBsb2FkaW5nIG9mIGRlcGVuZGVuY3kgIiUuKnMiIGZhaWxlZAoAUGFyc2luZyBvZiAiJXMiIGZhaWxlZAoAJXM6JWQ6IGNsYWltZWQgdW5yZWFjaGFibGUgY29kZSB3YXMgcmVhY2hlZAoAIyB1bnN1Y2Nlc3NmdWwgcGx1Z2luIGxvYWQKACUuNWcgJS41ZyB0cmFuc2xhdGUgbmV3cGF0aCB1c2VyX3NoYXBlXyVkCgBuc2l6ZXNjYWxlPSVmLGl0ZXJhdGlvbnM9JWQKAGN0cmwtPm92ZXJsYXA9JWQKACVzICV6dSBub2RlcyAlenUgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgAgIG1heCBsZXZlbHMgJWQKAAklcyAlZAoAICBCYXJuZXMtSHV0dCBjb25zdGFudCAlLjAzZiB0b2xlcmFuY2UgICUuMDNmIG1heGl0ZXIgJWQKAGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgByZWJ1aWxkX3ZsaXN0czogbGVhZCBpcyBudWxsIGZvciByYW5rICVkCgByZWJ1aWxkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgAgIHNtb290aGluZyAlcyBvdmVybGFwICVkIGluaXRpYWxfc2NhbGluZyAlLjAzZiBkb19zaHJpbmtpbmcgJWQKACAgY29vbGluZyAlLjAzZiBzdGVwIHNpemUgICUuMDNmIGFkYXB0aXZlICVkCgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKACAgZWRnZV9sYWJlbGluZ19zY2hlbWUgJWQKAGFnZGljdG9mOiB1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bCBpcyAwLjMgaW4gMTB0aCBFZGl0aW9uIChmaWxsIDAgbWVhbnMgYmxhY2spLCAwLjUgaW4gZ3BpYyAoZmlsbCAwIG1lYW5zIHdoaXRlKSwgdW5kZWZpbmVkIGluIERXQiAyCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgBzZXR1cExhdGluMQoAXDAwMQoAJXMgICAgICAgIHRvbGVyYW5jZSAwLjAxCgAgICAgdG9sZXJhbmNlIDAuMQoAJSVQYWdlczogMQoAICAgICAgICBkaWZmdXNlQ29sb3IgMSAxIDEKADEwMC4wMAoAIEVQU0YtMy4wCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgBzcGhlcmUgezwlOS4zZiwgJTkuM2YsICU5LjNmPiwgMS4wCgBXYXJuaW5nOiBubyB2YWx1ZSBmb3Igd2lkdGggb2YgQVNDSUkgY2hhcmFjdGVyICV1LiBGYWxsaW5nIGJhY2sgdG8gMAoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAE5vIGxpYnogc3VwcG9ydC4KAHR3b3BpOiB1c2Ugb2Ygd2VpZ2h0PTAgY3JlYXRlcyBkaXNjb25uZWN0ZWQgY29tcG9uZW50LgoAdGhlIGdyYXBoIGludG8gY29ubmVjdGVkIGNvbXBvbmVudHMuCgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG1pbmNyb3NzICVzOiAlbGxkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBFcnJvciBkdXJpbmcgY29udmVyc2lvbiB0byAiVVRGLTgiLiBRdWl0aW5nLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgAgIGluaXRDTWFqVlBTQyBkb25lOiAlZCBnbG9iYWwgY29uc3RyYWludHMgZ2VuZXJhdGVkLgoAVGhlIGNoYXJhY3RlciAnJWMnIGFwcGVhcnMgaW4gYm90aCB0aGUgbGF5ZXJzZXAgYW5kIGxheWVybGlzdHNlcCBhdHRyaWJ1dGVzIC0gbGF5ZXJsaXN0c2VwIGlnbm9yZWQuCgB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAZWRnZSAlcyAtPiAlcyA6IHNldCBtb3JlIHRoYW4gb25lIHNwbGluZS4gRmlyc3QgdXNlZCwgb3RoZXIgZHJvcHBlZC4KACV6dSBvdXQgb2YgJXp1IGxhYmVscyBwb3NpdGlvbmVkLgoAJXp1IG91dCBvZiAlenUgZXh0ZXJpb3IgbGFiZWxzIHBvc2l0aW9uZWQuCgAgIGdlbmVyYXRlIGVkZ2UgY29uc3RyYWludHMuLi4KAEdlbmVyYXRpbmcgTm9uLW92ZXJsYXAgQ29uc3RyYWludHMuLi4KAEdlbmVyYXRpbmcgRWRnZSBDb25zdHJhaW50cy4uLgoAR2VuZXJhdGluZyBEaUctQ29MYSBFZGdlIENvbnN0cmFpbnRzLi4uCgBSZW1vdmluZyBvdmVybGFwcyBhcyBwb3N0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ZWUgZG90KDEpKQoAZXJyb3IgaW4gY29sb3J4bGF0ZSgpCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAElsbGVnYWwgdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGU7IGZsb2F0IGV4cGVjdGVkIGFmdGVyICc7JwoAZGVmaW5lIGF0dHJzMCAlJSAlJTsgZGVmaW5lIHVuZmlsbGVkICUlICUlOyBkZWZpbmUgcm91bmRlZCAlJSAlJTsgZGVmaW5lIGRpYWdvbmFscyAlJSAlJQoAPHN2ZyB3aWR0aD0iJWRwdCIgaGVpZ2h0PSIlZHB0IgoAIyBkZXBlbmRlbmNpZXMgIiUuKnMiIGRpZCBub3QgbWF0Y2ggIiUuKnMiCgAjIHR5cGUgIiUuKnMiIGRpZCBub3QgbWF0Y2ggIiUuKnMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgBObyBvciBpbXByb3BlciBpbWFnZSBmaWxlPSIlcyIKAGZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCgBDb3VsZCBub3QgcGFyc2UgeGRvdCAiJXMiCgBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgAgWyV6dV0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBEdXBsaWNhdGUgY2x1c3RlciBuYW1lICIlcyIKAHVucmVjb2duaXplZCBhcGkgbmFtZSAiJXMiCgBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgBObyBvciBpbXByb3BlciBzaGFwZWZpbGU9IiVzIiBmb3Igbm9kZSAiJXMiCgBObyBvciBpbXByb3BlciBpbWFnZT0iJXMiIGZvciBub2RlICIlcyIKAG5vZGUgIiVzIiBpcyBjb250YWluZWQgaW4gdHdvIG5vbi1jb21wYXJhYmxlIGNsdXN0ZXJzICIlcyIgYW5kICIlcyIKAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgAgICIlcyIKACNpbmNsdWRlICJjb2xvcnMuaW5jIgojaW5jbHVkZSAidGV4dHVyZXMuaW5jIgojaW5jbHVkZSAic2hhcGVzLmluYyIKAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlbHUgCgAlcyBpbiBsaW5lICVsdSAKAHNjYWxlIGJ5ICVnLCVnIAoAY29tcHJlc3MgJWcgCgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgCJUE5HDQoaCgAlJSFQUy1BZG9iZS0yLjAKJSUlJUJvdW5kaW5nQm94OiAoYXRlbmQpCi9wb2ludCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIG5ld3BhdGgKICBYIFkgMyAwIDM2MCBhcmMgZmlsbAp9IGRlZgovY2VsbCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKL25vZGUgewogL3UgZXhjaCBkZWYKIC9yIGV4Y2ggZGVmCiAvZCBleGNoIGRlZgogL2wgZXhjaCBkZWYKIG5ld3BhdGggbCBkIG1vdmV0bwogciBkIGxpbmV0byByIHUgbGluZXRvIGwgdSBsaW5ldG8KIGNsb3NlcGF0aCBmaWxsCn0gZGVmCgoACQBBoYAFC7YDAQEBAQEBAQECAwEBAgEBAQEBAQEBAQEBAQEBAQEBAQIBBAUBAQEBAQEGAQEHCAkKCgoKCgoKCgoKAQELAQwBDQ4PEBESExQVFhMTExMXGBkTGhscHRMTExMTAR4BARMBHyAhIiMTJCUmExMTEycoKRMqKywtExMTExMBAQEBARMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTLhMTEy8TExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzATExMTExMTExMTExMTExMTAAAAAAAABAAEABwAHAAhACEAJAAiAAoAAgAWAAkAIgAiACIAFQAdAAEAFAAUABQAFAAUABQAFAAIAAQABQAcABsAFwAcACEAIAAfAB4ACQATAAAAFQASABUAAwAHABUAFQAUABQAFAAUABQAFAAUABQACAAEAAUABQAGABwAGgAYABkAIQAHABUAFAAUABQAFAAUABQACwAUAA0AFAAMABQAFAAUAA4AFAAUABQAEAAUAA8AFAARAEHigwULlQQBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAQABwADAAQABQAFAAYABgAIAAcABwARABYAEgARABIACAAIAA8ADwAXAA8AGAAPABkAGgAaAB4AFgA0AB4ABQAyAAYAIgAiADMAFwAYADUAGQAaABoAKgA2ACoANAA3ADIARQA7ADwAMwA7ADwARgA1AEcASABMADYAIgBJAEoANwBFAE4AUABiAFEAUgBUAEYARwBVAEgATABWAEkASgBYAFoATgBEAFAAUQBSAFQAOAAvACwAVQApAFYAGwAQAFgAWgBdAF0AXQBdAF0AXQBdAF4AXgBeAF4AXgBeAF4AXwBfAF8AXwBfAF8AXwBgAAkAYABgAGAAYABgAGEAYQBjAAIAYwBjAGMAYwBjAGQAAABkAAAAZABkAGQAZQAAAGUAZQBlAGUAZQBmAAAAAABmAGYAZgBmAGcAAABnAGcAZwBnAGgAAABoAGgAaABoAGgAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABBhIgFC80BrgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAA2wDbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wBB4okFC88BXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBcAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAEHBiwULMAEBAgMBBAEFAQYHBwEGBgYGBgYGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgYGBgBBgowFC6MECgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgBcAFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwADAAAAA0AAAAOAAAADgBBsJAFC9EFEe7u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APX//wBPqgAAgf/uAOXu/wBmnAAAgf/NAMXN/wC1jwAAgf+LAIaL/wBSEQAA1HPu7oLu/wCzVAAA49fQ0CCQ/wBXuQAA68H//z6W/wDeqgAA68Du7jqM/wD1nAAA68DNzTJ4/wBLkAAA68CLiyJS/wC2CAAAAACAgICA/wAhNAAAVf+AAIAA/wDrBwAAAACAgICA/wCuMAAAAP+AgAAA/wDeTAAA1P+AgACA/wD5EgAAG0T19d6z/wDvtgAAG0X//+e6/wCjqAAAG0Tu7tiu/wDHmgAAG0TNzbqW/wAbjgAAG0OLi35m/wDDSAAAAAD//////wAlTgAAAAD19fX1/wC+CAAAAAC+vr6+/wBxNAAAVf//AP8A/wDzBwAAAAC+vr6+/wC4MAAA77mwsDBg/wATTQAAxN3woCDw/wCsCgAAKv////8A/wDUtgAAKv////8A/wCEqAAAKv/u7u4A/wC1mgAAKv/Nzc0A/wAJjgAAKv+Li4sA/wBdMwAAOMDNms0y/wBB4IIHCwM0dwIAQe6CBwuFCKBA/////////////////////////////////////////////////////////////////////////////////////wACqgJEAwAEAASqBjkGcQGqAqoCAASDBAACqgIAAjkCAAQABAAEAAQABAAEAAQABAAEAAQ5AjkCgwSDBIMEjQNeB8cFVgVWBccF4wRzBMcFxwWqAh0DxwXjBB0HxwXHBXMExwVWBXME4wTHBccFjQfHBccF4wSqAjkCqgLBAwAEqgKNAwAEjQMABI0DqgIABAAEOQI5AgAEOQI5BgAEAAQABAAEqgIdAzkCAAQABMcFAAQABI0D1wOaAdcDVAT///////////////////////////////////////////////////////////////////////////////////////8AAqoCcQQABAAEAAiqBjkCqgKqAgAEjwQAAqoCAAI5AgAEAAQABAAEAAQABAAEAAQABAAEqgKqAo8EjwSPBAAEcQfHBVYFxwXHBVYF4wQ5BjkGHQMABDkGVgWNB8cFOQbjBDkGxwVzBFYFxwXHBQAIxwXHBVYFqgI5AqoCpgQABKoCAARzBI0DcwSNA6oCAARzBDkCqgJzBDkCqgZzBAAEcwRzBI0DHQOqAnMEAATHBQAEAASNAycDwwEnAykE////////////////////////////////////////////////////////////////////////////////////////AAKqAlwDAAQABKoGOQa2AaoCqgIABGYFAAKqAgACOQIABAAEAAQABAAEAAQABAAEAAQABKoCqgJmBWYFZgUABFwH4wTjBFYFxwXjBOMExwXHBaoCjQNWBXMEqgZWBccF4wTHBeMEAARzBMcF4wSqBuMEcwRzBB0DOQIdA2ADAASqAgAEAASNAwAEjQM5AgAEAAQ5AjkCjQM5AscFAAQABAAEAAQdAx0DOQIABI0DVgWNA40DHQMzAzMCMwNUBP///////////////////////////////////////////////////////////////////////////////////////wACHQNxBAAEAASqBjkGOQKqAqoCAASPBAACqgIAAjkCAAQABAAEAAQABAAEAAQABAAEAASqAqoCjwSPBI8EAASoBlYFVgVWBccFVgVWBccFOQYdAwAEVgXjBB0HxwXHBeMExwVWBXME4wTHBVYFHQdWBeME4wSqAjkCqgKPBAAEqgIABAAEjQMABI0DqgIABHMEOQI5AgAEOQI5BnMEAAQABAAEHQMdAzkCcwSNA1YFAASNAx0DyQLDAckCjwT//1x3AgBB/ooHC4UIoED/////////////////////////////////////////////////////////////////////////////////////OQI5AtcCcwRzBB0HVgWHAaoCqgIdA6wEOQKqAjkCOQJzBHMEcwRzBHMEcwRzBHMEcwRzBDkCOQKsBKwErARzBB8IVgVWBccFxwVWBeMEOQbHBTkCAARWBXMEqgbHBTkGVgU5BscFVgXjBMcFVgWNB1YFVgXjBDkCOQI5AsEDcwSqAnMEcwQABHMEcwQ5AnMEcwTHAccBAATHAaoGcwRzBHMEcwSqAgAEOQJzBAAExwUABAAEAASsAhQCrAKsBP///////////////////////////////////////////////////////////////////////////////////////zkCqgLLA3MEcwQdB8cF5wGqAqoCHQOsBDkCqgI5AjkCcwRzBHMEcwRzBHMEcwRzBHMEcwSqAqoCrASsBKwE4wTNB8cFxwXHBccFVgXjBDkGxwU5AnMExwXjBKoGxwU5BlYFOQbHBVYF4wTHBVYFjQdWBVYF4wSqAjkCqgKsBHMEqgJzBOMEcwTjBHMEqgLjBOMEOQI5AnMEOQIdB+ME4wTjBOMEHQNzBKoC4wRzBDkGcwRzBAAEHQM9Ah0DrAT///////////////////////////////////////////////////////////////////////////////////////85AjkC1wJzBHMEHQdWBYcBqgKqAh0DrAQ5AqoCOQI5AnMEcwRzBHMEcwRzBHMEcwRzBHMEOQI5AqwErASsBHMEHwhWBVYFxwXHBVYF4wQ5BscFOQIABFYFcwSqBscFOQZWBTkGxwVWBeMExwVWBY0HVgVWBeMEOQI5AjkCwQNzBKoCcwRzBAAEcwRzBDkCcwRzBMcBxwEABMcBqgZzBHMEcwRzBKoCAAQ5AnMEAATHBQAEAAQABKwCFAKsAqwE////////////////////////////////////////////////////////////////////////////////////////OQKqAssDcwRzBB0HxwXnAaoCqgIdA6wEOQKqAjkCOQJzBHMEcwRzBHMEcwRzBHMEcwRzBKoCqgKsBKwErATjBM0HxwXHBccFxwVWBeMEOQbHBTkCcwTHBeMEqgbHBTkGVgU5BscFVgXjBMcFVgWNB1YFVgXjBKoCOQKqAqwEcwSqAnME4wRzBOMEcwSqAuME4wQ5AjkCcwQ5Ah0H4wTjBOME4wQdA3MEqgLjBHMEOQZzBHMEAAQdAz0CHQOsBP//kHcCAEGOkwcLhQigQP/////////////////////////////////////////////////////////////////////////////////////NBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0E////////////////////////////////////////////////////////////////////////////////////////zQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBP///////////////////////////////////////////////////////////////////////////////////////80EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQT////////////////////////////////////////////////////////////////////////////////////////NBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0EzQTNBM0E//+4dwIAQZ2bBwuGCECPQAAA////////////////////////////////AgH///////////////////////////////////////////////8CAeQAiAFYAlgCogO1At0APQE9AcIBWALkAKgB5AAbAVgCWAJYAlgCWAJYAlgCWAJYAlgC5ADkAFgCWAJYArsBsgPZAqQCoQLmAkcCJALWAvkCAQFEAXECHwJXA+QC/wJ5Av8CnQJnAloC2AKxAk0EigJUAk0COwEbATsBWAL0AfQBEgJHAs8BRwIUAk0BSgI4AugA7AD0ASgBWAM4AiwCRwJHAmYB4QFeATECAwJJAw0CAgLPAWABCQFgAVgC//8AAP///////////////////////////////w8B////////////////////////////////////////////////DwH4AMABWAJYArED1gLzAGYBZgHFAVgC+ACyAfgAOQFYAlgCWAJYAlgCWAJYAlgCWAJYAvgA+ABYAlgCWALLAbYD6AKwAqgC+gJVAjIC4AIFAxoBYgGZAjICZAPsAhEDjAIRA64CdwJtAuICyQJZBKACagJdAmIBOQFiAVgC9AH0ASMCWALYAVgCHgJsAVwCSQL/AAMBGAI/AW0DSQJAAlgCWAKIAegBgAFDAg8CVQMiAg4C2gGHASABhwFYAv//AAD///////////////////////////////8CAf///////////////////////////////////////////////wIB5ACIAVgCWAKiA7UC3QA9AT0BwgFYAuQAqAHkABsBWAJYAlgCWAJYAlgCWAJYAlgCWALkAOQAWAJYAlgCuwGyA9kCpAKhAuYCRwIkAtYC+QIBAUQBcQIfAlgD4wL/AnkC/wKdAmcCWgLYArACTQSKAlQCTQI7ARsBOwFYAvQB9AESAkcCzwFHAhQCTQFKAjgC6ADsAPQBKAFYAzgCLAJHAkcCZgHhAV4BMQIDAkkDDQICAs8BYAEJAWABWAL//wAA////////////////////////////////DwH///////////////////////////////////////////////8PAfgAwAFYAlgCsQPWAvMAZgFmAcUBWAL4ALIB+AA5AVgCWAJYAlgCWAJYAlgCWAJYAlgC+AD4AFgCWAJYAssBtgPoArACqAL6AlUCMgLgAgUDGgFiAZgCMgJlA+sCEQOMAhEDrgJ3Am0C4gLJAlkEoAJqAl0CYgE5AWIBWAL0AfQBIwJYAtgBWAIeAmwBXAJJAv8AAwEYAj8BbQNJAkACWAJYAogB6AGAAUMCDwJVAyICDgLaAYcBIAGHAVgC///AdwIAQa6jBwuFCKBA/////////////////////////////////////////////////////////////////////////////////////4sCNQOuA7QGFwWaBz0GMwIfAx8DAAS0BosC4wKLArICFwUXBRcFFwUXBRcFFwUXBRcFFwWyArICtAa0BrQGPwQACHkFfQWWBSkGDgWaBDMGBAZcAlwCPwV1BOcG/AVMBtMETAaPBRQF4wTbBXkF6Qd7BeMEewUfA7ICHwO0BgAEAATnBBQFZgQUBewE0QIUBRIFOQI5AqIEOQLLBxIF5QQUBRQFSgMrBCMDEgW8BIsGvAS8BDMEFwWyAhcFtAb////////////////////////////////////////////////////////////////////////////////////////JAqYDKwS0BpEFBAj6BnMCqAOoAy8EtAYKA1IDCgPsApEFkQWRBZEFkQWRBZEFkQWRBZEFMwMzA7QGtAa0BqQEAAgxBhkG3wWkBncFdwWRBrIG+gL6AjMGGQX2B7IGzQbdBc0GKQbDBXUFfwYxBtMIKwbLBc0FqAPsAqgDtAYABAAEZgW6Bb4EugVtBXsDugWyBb4CvgJSBb4CVgiyBX8FugW6BfIDwwTTA7IFNwVkBykFNwWoBLIF7AKyBbQG////////////////////////////////////////////////////////////////////////////////////////iwI1A64DtAYXBZoHPQYzAh8DHwMABLQGiwLjAosCsgIXBRcFFwUXBRcFFwUXBRcFFwUXBbICsgK0BrQGtAY/BAAIeQV9BZYFKQYOBZoEMwYEBlwCXAI/BXUE5wb8BUwG0wRMBo8FFAXjBNsFeQXpB3sF4wR7BR8DsgIfA7QGAAQABOcEFAVmBBQF7ATRAhQFEgU5AjkCogQ5AssHEgXlBBQFFAVKAysEIwMSBbwEiwa8BLwEMwQXBbICFwW0Bv///////////////////////////////////////////////////////////////////////////////////////8kCpgMrBJEFkQUECPoGcwKoA6gDLwS0BgoDUgMKA+wCkQWRBZEFkQWRBZEFkQWRBZEFkQUzAzMDtAa0BrQGpAQACDEGGQbfBaQGdwV3BZEGsgb6AvoCMwYZBfYHsgbNBt0FzQYpBsMFdQV/BjEG0wgrBssFzQWoA+wCqAO0BgAEAARmBboFvgS6BW0FewO6BbIFvgK+AlIFvgJWCLIFfwW6BboF8gPDBNMDsgU3BWQHKQU3BagEsgXsArIFtAb//8h3AgBBvqsHC4UIoEBmBP///////////////////////////////wAA////////////////////////////////////////////////ZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBP//ZgT///////////////////////////////8AAP///////////////////////////////////////////////2YEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgT//2YE////////////////////////////////AAD///////////////////////////////////////////////9mBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYE////////////////////////////////////////////////////////////////////////////////////////ZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBGYEZgRmBP//1HcCAEHOswcLhQigQP////////////////////////////////////////////////////////////////////////////////////9pAvACmQIyBDIEzQSmBUcB8ALwAvACMgTwAvAC8AIyBDIEMgQyBDIEMgQyBDIEMgQyBDIE8ALwAjIEMgQyBPACKga4BIcEyQToBEkEMwRpBTwFOgLQA5sEDQStBRsFZAV2BGgFqATZA6UEMAWzBNEGdASQBGcE8ALYAvACMgQyBDIENAR1BPYDdQRdBPUCBARfBEgC7wIJBFwCpAZfBEsEdQR1BBwDPQMsA18E6wP0BQIE8gPMA/ACMgTwAjIE////////////////////////////////////////////////////////////////////////////////////////aQLwAu8CsASwBHkFpgXWAfAC8AJ1A7AE8ALwAvACHwOwBLAEsASwBLAEsASwBLAEsASwBPAC8AKwBLAEsASBAyoGEQXDBOUEJAWNBKsEXwV4BToCQwTwBGwE9gVXBaAFsgSsBeMEFwTlBGwF+QQSB84E6AR7BDcD2AI3A7AEsASwBEMEpwQYBKUEmQT1AgQEvgRjAu8CYgRcAuAGuQSHBKkErARrA3IDLAO6BDgERQZrBEUEOgR4A7AEeAOwBP///////////////////////////////////////////////////////////////////////////////////////2kC8AKZAjIE2QPNBKYFRwHwAvAC8AIyBPAC8ALwAjIEMgQyBDIEMgQyBDIEMgQyBDIEMgTwAvACMgQyBDIE8AIqBuMEhwTJBOgESQQzBGkFPAU6AtADmwQNBBcGGwVkBVkEZAWoBNkDpQQwBbME0QZ0BJAEZwTwAtgC8AIyBDIEMgQ0BHUErgN1BEwENgMEBHUEdALvAgkEkAKkBl8ESwR1BHUEVQM9A1wDdATrA/QFAgTyA8wD8AIyBPACMgT///////////////////////////////////////////////////////////////////////////////////////9pAvACIAOwBLAE3AWmBWkC8ALwAnUDsATwAvAC8AItA7AEsASwBLAEsASwBLAEsASwBLAE8ALwArAEsASwBC0DKgbpBLgE5wQPBb8ErwRpBW0FOgL9AzMFOgRKBkgFngWrBCgG/QQDBHsFSwV3BWkHQQV4BeQE4gPSA+IDsASwBLAEvgS/BPEDvwRqBEgDSAR/BJ0CGgNRBI8CpAZ/BI8EygTKBJMDrAOBA3UEawQwBpsEgwRDBOIDsATiA7AE///gdwIAQd67BwuFCKBA/////////////////////////////////////////////////////////////////////////////////////9ACJgOsA4wGFgWcCNAFJgKiA6IDFgWMBukCogPpAqIDFgUWBRYFFgUWBRYFFgUWBRYFFgWiA6IDjAaMBowGXQQACHgFfAWWBSoGDwWZBDQGAwZeA6MDiwV0BL4G/AVMBtMETAaQBXgF7gTbBXgF6Qd7BewEewWiA6IDogOMBhYFFgXOBPwEKwT8BMQE0AL8BBAFMgLBArwEMgLIBxAF2wT8BPwEagMrBCcDEAW8BIwGvAS8BDQEFAWiAxQFjAb///////////////////////////////////////////////////////////////////////////////////////+8AjgDswTwBrAFLQrmBqgCWQRZBLAF8AbkAtcD5AKEBbAFsAWwBbAFsAWwBbAFsAWwBbAFOAM4A/AG8AbwBu8Etgc2BhgGygWkBncFNAV9BrMGXgRxBCsGGQWVB8YGzQbdBc0GQgavBXQFfwYcBgcJHAblBYkFWQSEBVkE8AawBbAFWAWYBbUEmAVQBWEDmAWzBbwCOQNeBbwCdwizBX4FmAWYBfoDvwSlA7MFMwXWB1oFNQXGBLAFWQSwBfAG////////////////////////////////////////////////////////////////////////////////////////0AImA6wDjAYWBZwI0AUmAqIDogMWBYwG6QKiA+kCogMWBRYFFgUWBRYFFgUWBRYFFgUWBaIDogOMBowGjAZdBAAIdgV8BZYFIAYPBZkENAYDBl4DowOLBXQEvgb8BUwG0wRMBpAFeAXuBNsFdgXsB3sF7AR7BaIDogOiA4wGFgUWBc4E/AQrBPwExATQAvkEEAUyAsECsgQyAskHEAXbBPwE/ARqAysEJwMQBboEjAa8BLoENAQUBaIDFAWMBv///////////////////////////////////////////////////////////////////////////////////////7wCOAOzBPAGsAUtCuYGqAJZBFkEsAXwBuQC1wPkAoQFsAWwBbAFsAWwBbAFsAWwBbAFsAU4AzgD8AbwBvAG7wS2BzYGGAbKBaQGdwU0BX0GswZeBHEEKwYZBZUHxgbNBt0FzQZCBq8FdAV/BhwGBwkcBuUFiQVZBIQFWQTwBrAFsAVYBZgFtQSYBVAFYQOYBbMFvAI5A14FvAJ3CLMFfAWYBZgF+gO/BKUDswUxBdYHWgU1BcYEsAVZBLAF8Ab//+h3AgBB7sMHC4UIoED/////////////////////////////////////////////////////////////////////////////////////FAIjAjUDKwWTBJYG1wXFAV4CXgJqBJME9gGTAiEC8AKTBJMEkwSTBJMEkwSTBJMEkwSTBCECIQKTBJMEkwRvAzEHEAUvBQwF1QVzBCEE0wXnBTsCIwLpBCcEOQcIBjsG0QQ7BvIEZARtBNMFwwRoB54EewSRBKIC8AKiAlYElgOeBHME5wTPA+cEfQS2AmIE6QQGAgYCMwQGAnEH6QTVBOcE5wREA9ED0wLpBAIEOQYxBAgEvgMIA2gECAOTBP///////////////////////////////////////////////////////////////////////////////////////xQCSgLHAysFkQQ1BwAGIQK2ArYCXASRBFICkwJIAk4DkQSRBJEEkQSRBJEEkQSRBJEEkQRIAlICkQSRBJEE0QMtB4UFYAUZBewFewRkBMsFHwamAqYCUAWFBIsHgQZeBgYFXgZIBWgEogQMBjMFvAdWBf4EogSmAk4DpgJCBEoD2wTVBBAFHQQQBboEGQOFBEIFcQJxAvYEcQLbB0IF9AQQBRAFogP6A3kDQgWNBNkGoASNBOcDJwNoBCcDkQT///////////////////////////////////////////////////////////////////////////////////////8UAhICFwMrBWgEWAZcBbwBSAJIAmoEaATsAX8CBgLNAmgEaARoBGgEaARoBGgEaARoBGgEBgIGAmgEaARoBGoDxwZxBMkErgRUBRcExwNqBW0FLwIjAnUEywOyBp4FwwWHBMMFjQQEBPwDaAViBNEGJwQGBD8ESgLNAkoCIwQnA28EhQSeBJoDngTyA4ECAgSeBAgCCALnAwgC+gaeBH0EngSeBCsDbQOYAp4EsgO8BdMDsgONA8sCaATLAmgE////////////////////////////////////////////////////////////////////////////////////////FAJKAqADKwVoBNkGqgUKArYCtgJcBGgEOQKTAkgCXgNoBGgEaARoBGgEaARoBGgEaARoBEgCSAJoBGgEaASsA9kGBgX2BOUEagVWBD8EhQWaBZMCpgLnBCUECgcKBtcFpATXBd8EPQQ/BIcFuAQnB9kEgwRKBKYCXgOmAjkEMwNvBMEEwwTdA8EEdQT8AlQE1QRgAmACiwRgAj0H1QSuBMMEwQReA8kDSAPVBBkETgY/BCcEpAPXAmgE1wJoBP//8HcCAEH+ywcLhQigQP/////////////////////////////////////////////////////////////////////////////////////uAaYCSwMlBeEEigavBbkBAAMAA8cDJQUoAv4CKALAA+kEcAN4BGoEhQQ6BIcEBQTFBIcEgAKAAiUFJQUlBdQDbgdeBTsFIwX+BToFywTNBYUGHgMkBI4F1ARrByMG9AXhBPQFnQV9BPMEDQZVBc4HrwXsBNAEAAPAAwADJQUlBQAECAR7BKIDmATeA5oCEwSoBFgCVgJJBEoCDAe6BFAEkgR6BEcDdQPDApoE+QPmBQoE8AONA3EDAANxAyUF////////////////////////////////////////////////////////////////////////////////////////CAIDAxQEoAUgBQkHZQYnApMDkwPbA6AFoAIIA6ACxgOcBesDAwX/BDIFywQvBW8EaQUvBfAC8AKgBaAFoAVjBLwHEQYPBrkFrAbFBV8FdQZOB5EDwwSJBnwFMAi3Bo8GnAWPBmEGMQV5BasGGQYDCXgG2wWEBZMDxgOTA6AFoAUABMQEKgVABE4FkwQlA50EcAXUAsUCDgXBAiAIhQUWBUMFMAUpBBoELgNqBYkE6Aa0BH8ENAQABBoDAASgBf///////////////////////////////////////////////////////////////////////////////////////+4BpgJLAyUF4QSKBq8FuQEAAwADxwMlBSgC/gIoAsAD6QRwA3gEagSFBDoEhwT5A8UEhwQSAxIDJQUlBSUF1ANuB14FOwUjBf4FOgXLBM0FhQYeAyQEjgXUBGsHIwbYBeEE2AWdBX0E8wQNBlUFzgevBewE0AQAA8ADAAMlBSUFAASVBG4EoQOaBMYDoQKVBIAEYQJUAjkESAIJB7gETASgBHEEsQNzA8cCmgROBJQGAgR6BI0DcQMAA3EDJQX///////////////////////////////////////////////////////////////////////////////////////8IAgMDFASgBSAFCQdlBicCkwOTA9sDoAWgAggDoALGA5wF6wMDBf8EMgXLBC8FiARpBS8F8ALwAqAFoAWgBWMEvAcRBhMGuQWsBsUFXwV1Bk4HmwPDBIkGfAVECKMGjwamBY8GYQY5BXkFqwYZBgMJawbbBYQFkwPGA5MDoAWgBQAESAUxBUkETQV1BAwDMgVnBe0C6wIhBdYCBAiFBRYFTQUzBUUEIwRWA3sF5gR4B6sEWwUjBAAEGgMABKAF///4dwIAQY7UBwvICqBA/////////////////////////////////////////////////////////////////////////////////////88BmwI1A/wDDgS4BXUFxAFtAm0C/AP8A/8BcwIFAhcDDgQOBA4EDgQOBA4EDgQOBA4EDgQkAiQC/AP8A/wDtQMnB6EEWgREBOwE6AOtAwwF/AQEAo0CKARdA9cGKgVMBSIEYgVYBK0D5gMiBYoEHgcnBOYDvwN0AhcDdAL8A/wDVALVAzQEYgM0BPsDcQLEAzQE1gHqAaMD1gFkBjQEOAQ0BDQEygIhA64CNASdA7gFdwOfAykDhAKvA4QC/AP//wAA////////////////////////////////AAD////////////////////////////////////////////////PAZsCggP8Aw4E1QWjBd4BfgJ+AvwD/AMQAnMCIwJwAw4EDgQOBA4EDgQOBA4EDgQOBA4ENQI1AvwD/AP8A7UDMAfZBHwEPAQLBecDrAMZBQwFIgKmAmAEYgP+BkUFaQVCBH0FgQTIA/YDOQW7BEAHaAQoBNMDmQJwA5kC/AP8A2cC8wNLBFkDSwQHBIgCywNLBPcBCwLXA/cBggZLBE0ESwRLBNgCMQPGAksEyQP2Ba0DygMuA8ACzQPAAvwD////////////////////////////////////////////////////////////////////////////////////////zwGbAjUD/AMOBLgFdQXEAW0CbQL8A/wD/wFzAgUCGgMOBA4EDgQOBA4EDgQOBA4EDgQOBCQCJAL8A/wD/AO1AycHoQRaBC4E7AToA60DDAX8BAQCjQIoBF0D1wYoBTwFIgRQBVgEngPmAyIFigQfBycE5gO/A3QCEwN0AvwD/ANUAh0EHQRUAx0E0gNxAh0EHQTWAeoBowPWAVQGHQQbBB0EHQS+Ah0DrgIdBJEDuAV3A5QDKQOEAq8DhAL8A////////////////////////////////////////////////////////////////////////////////////////88BmwKCA/wDDgTVBaMF3gF+An4C/AP8AxACcwIjAnkDDgQOBA4EDgQOBA4EDgQOBA4EDgQ1AjUC/AP8A/wDtQMwB9kEfAQmBAsF5wOsAxkFDAUiAqYCYARi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AMg2AAD8AAAAfiwAABghAADDOgAAvgMAALJHAAD9AAAAzzIAAKUAAADDNgAA/wAAAAZgAAC2AwAAqToAAA0gAACtOgAADCAAAHU+AQAIAAAAAwAAAOI+AABAzwAACwAAAAYAAACFFQAAamgAAAIAAAABAAAA4ywAABF0AAAEAAAAAgAAABZCAAAABAAAAwAAAAQAAAAJQQAATM8AAAUAAAAFAAAAtUIAAAQEAAAEAAAABwAAAFsVAAC9NgAABQAAAAkAAAC/NgAAjmwAAAQAAAAKAAAAKUIAAGD5AQAEAAAADAAAAMkvAAAAAAEAAAHQ0dLT1NXW19jZAEGG8wcLCfC/AAAAAAAAAQBBmPMHCw1pbnZpcwAAZmlsbGVkAEGw8wcLGkkaAADVUAAA6DUAAJwLAABgeAAAlMUAAM+NAEHw8wcLef//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAQYD1BwtBQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AQcr1BwuzAf///wcHAAAAAAD+//8H/gcAAAAA/v//////////fP9/LwBgAAAA4P///////yMAAAD/AwAAAOCf+f///cUDAAAAsAMAAwDgh/n///1tAwAAAF4AABwA4K/7///97SMAAAAAAQAAAOCf+f///c0jAAAAsAMAAADgxz3WGMe/AwAAAAAAAAAA4N/9///97wMAAAAAAwAAAODf/f///e8DAAAAQAMAAADg3/3///3/AwAAAAADAEGQ9wcLGf7/////fw0APwAAAAAAAACWJfD+rmwNIB8AQbj3BwsG//7///8DAEHk9wcLcv////8/AP////9/AO3aBwAAAABQAVAxgqtiLAAAAABAAMmA9QcAAAAACAEC/////////////////////////w///////////////wP//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAABATABB4PgHCwEHAEHw+AcLJoAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAEGw+QcLFf//////////////////////////PwBB0PkHCxX//////////////////////////w8AQfX5BwvJAmD/B/7//4f+//8HAAAAAAAAgAD//3////9//////wAAAAAAAAD//////////////wEA+AMAAwAAAAAA//////////8/AAAAAwAAAMDX///7/////39/VP3/DwD+3////////////t//////ewD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AP7/+///uxYA////BwcAAAAAAP7//wf//wcA/wP///////////98/3/v//89/wPu////////8/8/Hv/P/wAA7p/5///9xdOfOYCwz/8DAOSH+f///W3ThzkAXsD/HwDur/v///3t8787AADB/wAA7p/5///9zfOPOcCww/8AAOzHPdYYx7/Dxz2AAID/AADu3/3///3vw989YADD/wAA7N/9///978PfPWBAw/8AAOzf/f///f/Dzz2AAMP/AEHQ/AcLOP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAEGq/QcLZ/8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93YAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAAEAQaH+BwsFFQoAAAkAQbj+BwvgARUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAEHAgAgLEgIDBAUGBwgAAAkKCwwNDg8QEQBB3oAICwQSEwAUAEHwgAgLAhUWAEGOgQgLUgEBAQEBAQEBAQEBAQEB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sQQAAAZIAABWBQAA3D8AAAUSAAByMQAAOFAAACZLAAAKDgAABgUAAIUSAAAkMAAAsAkAAJYJAADgBAAAP1YAAB5WAABJUwAAyVcAALRXAAC6UwAAmlYAACoFAABYTAAAm1UAAJUXAAD/DwAARlUAALJWAADKUwAAdccAANO5AABaqwAAcZ0AAMeQAACMhQAAcH4AALV4AABQdAAANHEAANhuAACkbgAAb24AADNuAACkbQAAwWwAAGLHAADAuQAAR6sAAF6dAAC0kAAAeYUAAF1+AACieAAAPXQAACFxAADTbgAAn24AAGpuAAAubgAAn20AALxsAABPxwAArbkAADSrAABLnQAAoZAAAGaFAABKfgAAj3gAACp0AAAOcQAAzm4AAJpuAABlbgAAKW4AAJptAAC3bAAASscAAKi5AAAvqwAARp0AAJyQAABhhQAARX4AAIp4AAAldAAACXEAAMluAACVbgAAYG4AACRuAACVbQAAsmwAAEXHAACjuQAAKqsAAEGdAACXkAAAXIUAAEB+AACFeAAAIHQAAARxAADEbgAAkG4AAFtuAAAfbgAAkG0AAK1sAABAxwAAnrkAACWrAAA8nQAAkpAAAFeFAAA7fgAAgHgAABt0AAD/cAAAv24AAItuAABWbgAAGm4AAIRtAACobAAAO8cAAJm5AAAgqwAAN50AAI2QAABShQAANn4AAHt4AAAWdAAA+nAAALpuAACGbgAAUW4AAP9tAAB/bQAAo2wAADbHAACUuQAAG6sAADKdAACIkAAATYUAADF+AAB2eAAADHQAAPVwAAC1bgAAgW4AAExuAAD6bQAAem0AAIlsAAAwxwAAxbYAAHWoAACmmgAA+o0AAESFAAAtfgAAcngAAPNzAAA3EwAAZzUAAHluAAA9bgAA6x0AANBsAAB7bAAAc8gAADq6AADBqwAA2J0AADWRAAABhgAA134AABx5AAC3dAAApnEAAN1uAACpbgAAdG4AADhuAACpbQAAy2wAAMzlAABM4gAA3N8AADgUAgCw1QAArtUAAKzVAACq1QAASdUAAAPVAABczwAAWs8AAFjPAABVzwAAPs8AAJrOAACSzgAA6cYAAKe2AABXqAAAcZoAANyNAAA2hQAAH34AAGR4AADlcwAA53AAAA5wAADGbwAAxG8AALpvAADkbgAA4m4AAOBuAACzbgAAd24AADtuAACsbQAAzmwAAHlsAADqawAAxmsAAJ5rAACcawAAmWsAAHRoAABeaAAALWgAACtoAAAaaAAAGGgAAHZnAABaZwAAwWYAAL9mAAC9ZgAAu2YAAD1kAAAUZAAAEmQAAPdjAAD1YwAAYmIAAGBiAAD+YAAA/GAAAMJfAABCXwAA9VgAANVQAACDQwAAfkEAAGQ+AABcOwAAuToAAKc6AAByOQAAnzYAAOg1AADRLwAApC4AAEAeAAD8HQAASRoAADgTAABuDAAA6gsAAJwLAAANCgAALwkAAHkEAABEBAAAOwQAAC8EAAAJBAAAxmwAAAAAAAAIAK7/0QAKAK7/rv8LAK7/rv+u/67/rv+u/67/rv8FANEArv/RANEA0QDRANEA0QDRANEArv/7/67/DgDs/67/rv+u/67/0QDRANEA0QDRAA0AJQAMAEIAEABQABMAbQB7ABQAmAAPAKYAwwCu/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv8XAK7/dwCu/wcALgCu/yYArv8XABEAIwCu/w0Arv+u/67/rv86AK7/rv81AK7/rv+u/ygArv8HAK7/OwBFAK7/SACu/67/rv+u/67/AEGhtQgLwQYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAAAAAAAAAAACAgICAgIQDFkBAB9QCAMHEhMUVxYXCAtpDB8KBQwOKRErDy0QLzAgMgY0NRscHR4LDCEiIyQlJicoDBgZFwQKGxwaICoKISIjJCUmJygMCg5TCixYMVhYWFhYWAwbHA8uWDMhIiMkJSYnKBsc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X05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEGQ8wgLB0MuVVRGLTgAQajzCAugENCpAgBoqgIA+KoCAE5vIGVycm9yIGluZm9ybWF0aW9uAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZABSZXF1aXJlZCBrZXkgbm90IGF2YWlsYWJsZQBLZXkgaGFzIGV4cGlyZWQAS2V5IGhhcyBiZWVuIHJldm9rZWQAS2V5IHdhcyByZWplY3RlZCBieSBzZXJ2aWNlAAAAAAClAlsA8AG1BYwFJQGDBh0DlAT/AMcDMQMLBrwBjwF/A8oEKwDaBq8AQgNOA9wBDgQVAKEGDQGUAgsCOAZkArwC/wJdA+cECwfPAssF7wXbBeECHgZFAoUAggJsA28E8QDzAxgF2QDaA0wGVAJ7AZ0DvQQAAFEAFQK7ALMDbQD/AYUELwX5BDgAZQFGAZ8AtwaoAXMCUwEAQfiDCQsMIQQAAAAAAAAAAC8CAEGYhAkLBjUERwRWBABBroQJCwKgBABBwoQJCyJGBWAFbgVhBgAAzwEAAAAAAAAAAMkG6Qb5Bh4HOQdJB14HAEHwhAkLkQHRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAABkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEGRhgkLIQ4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgBBy4YJCwEMAEHXhgkLFRMAAAAAEwAAAAAJDAAAAAAADAAADABBhYcJCwEQAEGRhwkLFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBv4cJCwESAEHLhwkLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBgogJCw4aAAAAGhoaAAAAAAAACQBBs4gJCwEUAEG/iAkLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABB7YgJCwEWAEH5iAkLJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBBxIkJCwILAgBB7IkJCwj//////////wBBsIoJC/UI/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNsAAAAA9EcCAA0CAAAOAgAADwIAABACAAARAgAAEgIAABMCAAAUAgAAFQIAABYCAAAXAgAAGAIAABkCAAAaAgAABAAAAAAAAAAwSAIAGwIAABwCAAD8/////P///zBIAgAdAgAAHgIAAFhHAgBsRwIAAAAAAHhIAgAfAgAAIAIAAA8CAAAQAgAAIQIAACICAAATAgAAFAIAABUCAAAjAgAAFwIAACQCAAAZAgAAJQIAAGhzAgDIRwIAjEkCAE5TdDNfXzI5YmFzaWNfaW9zSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAAAAQHMCAPxHAgBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAAAAxHMCAEhIAgAAAAAAAQAAALxHAgAD9P//TlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAaHMCAIRIAgD0RwIATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv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";return u}var uA;function ZA(u){if(u==uA&&E)return new Uint8Array(E);var y=f(u);if(y)return y;throw"both async and sync fetching of the wasm failed"}function QA(u){return Promise.resolve().then(()=>ZA(u))}function WA(u,y,x){return QA(u).then(H=>WebAssembly.instantiate(H,y)).then(x,H=>{B(`failed to asynchronously prepare wasm: ${H}`),KA(H)})}function MA(u,y,x,H){return WA(y,x,H)}function be(){return{a:Lt}}function LA(){var u=be();function y(H,k){return gt=H.exports,b=gt.y,O(),sA(gt.z),mA(),gt}UA();function x(H){y(H.instance)}return uA??=HA(),MA(E,uA,u,x).catch(o),{}}function pA(u){return i.agerrMessages.push(Me(u)),0}function Ft(u){this.name="ExitStatus",this.message=`Program terminated with exit(${u})`,this.status=u}var ht=u=>{u.forEach(y=>y(i))};function Ee(u,y="i8"){switch(y.endsWith("*")&&(y="*"),y){case"i1":return M[u];case"i8":return M[u];case"i16":return F[u>>1];case"i32":return _[u>>2];case"i64":return j[u>>3];case"float":return J[u>>2];case"double":return AA[u>>3];case"*":return U[u>>2];default:KA(`invalid type for getValue: ${y}`)}}var Kt=u=>Oi(u),Ye=()=>hn(),ze=typeof TextDecoder<"u"?new TextDecoder:void 0,ut=(u,y=0,x=NaN)=>{for(var H=y+x,k=y;u[k]&&!(k>=H);)++k;if(k-y>16&&u.buffer&&ze)return ze.decode(u.subarray(y,k));for(var T="";y>10,56320|Ae&1023)}}return T},Me=(u,y)=>u?ut(D,u,y):"",ei=(u,y,x,H)=>{KA(`Assertion failed: ${Me(u)}, at: `+[y?Me(y):"unknown filename",x,H?Me(H):"unknown function"])};class Y{constructor(y){this.excPtr=y,this.ptr=y-24}set_type(y){U[this.ptr+4>>2]=y}get_type(){return U[this.ptr+4>>2]}set_destructor(y){U[this.ptr+8>>2]=y}get_destructor(){return U[this.ptr+8>>2]}set_caught(y){y=y?1:0,M[this.ptr+12]=y}get_caught(){return M[this.ptr+12]!=0}set_rethrown(y){y=y?1:0,M[this.ptr+13]=y}get_rethrown(){return M[this.ptr+13]!=0}init(y,x){this.set_adjusted_ptr(0),this.set_type(y),this.set_destructor(x)}set_adjusted_ptr(y){U[this.ptr+16>>2]=y}get_adjusted_ptr(){return U[this.ptr+16>>2]}}var z=0,nA=(u,y,x)=>{var H=new Y(u);throw H.init(y,x),z=u,z},rA={isAbs:u=>u.charAt(0)==="/",splitPath:u=>{var y=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return y.exec(u).slice(1)},normalizeArray:(u,y)=>{for(var x=0,H=u.length-1;H>=0;H--){var k=u[H];k==="."?u.splice(H,1):k===".."?(u.splice(H,1),x++):x&&(u.splice(H,1),x--)}if(y)for(;x;x--)u.unshift("..");return u},normalize:u=>{var y=rA.isAbs(u),x=u.substr(-1)==="/";return u=rA.normalizeArray(u.split("/").filter(H=>!!H),!y).join("/"),!u&&!y&&(u="."),u&&x&&(u+="/"),(y?"/":"")+u},dirname:u=>{var y=rA.splitPath(u),x=y[0],H=y[1];return!x&&!H?".":(H&&(H=H.substr(0,H.length-1)),x+H)},basename:u=>{if(u==="/")return"/";u=rA.normalize(u),u=u.replace(/\/$/,"");var y=u.lastIndexOf("/");return y===-1?u:u.substr(y+1)},join:(...u)=>rA.normalize(u.join("/")),join2:(u,y)=>rA.normalize(u+"/"+y)},NA=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return u=>crypto.getRandomValues(u);KA("initRandomDevice")},Ie=u=>(Ie=NA())(u),Qe={resolve:(...u)=>{for(var y="",x=!1,H=u.length-1;H>=-1&&!x;H--){var k=H>=0?u[H]:L.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";y=k+"/"+y,x=rA.isAbs(k)}return y=rA.normalizeArray(y.split("/").filter(T=>!!T),!x).join("/"),(x?"/":"")+y||"."},relative:(u,y)=>{u=Qe.resolve(u).substr(1),y=Qe.resolve(y).substr(1);function x(Ae){for(var oe=0;oe=0&&Ae[Be]==="";Be--);return oe>Be?[]:Ae.slice(oe,Be-oe+1)}for(var H=x(u.split("/")),k=x(y.split("/")),T=Math.min(H.length,k.length),eA=T,gA=0;gA{for(var y=0,x=0;x=55296&&H<=57343?(y+=4,++x):y+=3}return y},Et=(u,y,x,H)=>{if(!(H>0))return 0;for(var k=x,T=x+H-1,eA=0;eA=55296&&gA<=57343){var wA=u.charCodeAt(++eA);gA=65536+((gA&1023)<<10)|wA&1023}if(gA<=127){if(x>=T)break;y[x++]=gA}else if(gA<=2047){if(x+1>=T)break;y[x++]=192|gA>>6,y[x++]=128|gA&63}else if(gA<=65535){if(x+2>=T)break;y[x++]=224|gA>>12,y[x++]=128|gA>>6&63,y[x++]=128|gA&63}else{if(x+3>=T)break;y[x++]=240|gA>>18,y[x++]=128|gA>>12&63,y[x++]=128|gA>>6&63,y[x++]=128|gA&63}}return y[x]=0,x-k};function et(u,y,x){var H=x>0?x:_A(u)+1,k=new Array(H),T=Et(u,k,0,k.length);return y&&(k.length=T),k}var Te=()=>{if(!xA.length){var u=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(u=window.prompt("Input: "),u!==null&&(u+=` -`)),!u)return null;xA=et(u,!0)}return xA.shift()},Le={ttys:[],init(){},shutdown(){},register(u,y){Le.ttys[u]={input:[],output:[],ops:y},L.registerDevice(u,Le.stream_ops)},stream_ops:{open(u){var y=Le.ttys[u.node.rdev];if(!y)throw new L.ErrnoError(43);u.tty=y,u.seekable=!1},close(u){u.tty.ops.fsync(u.tty)},fsync(u){u.tty.ops.fsync(u.tty)},read(u,y,x,H,k){if(!u.tty||!u.tty.ops.get_char)throw new L.ErrnoError(60);for(var T=0,eA=0;eA0&&(d(ut(u.output)),u.output=[])},ioctl_tcgets(u){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(u,y,x){return 0},ioctl_tiocgwinsz(u){return[24,80]}},default_tty1_ops:{put_char(u,y){y===null||y===10?(B(ut(u.output)),u.output=[]):y!=0&&u.output.push(y)},fsync(u){u.output&&u.output.length>0&&(B(ut(u.output)),u.output=[])}}},si=(u,y)=>{D.fill(0,u,u+y)},gn=(u,y)=>Math.ceil(u/y)*y,dn=u=>{u=gn(u,65536);var y=Fi(65536,u);return y&&si(y,u),y},_e={ops_table:null,mount(u){return _e.createNode(null,"/",16895,0)},createNode(u,y,x,H){if(L.isBlkdev(x)||L.isFIFO(x))throw new L.ErrnoError(63);_e.ops_table||={dir:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr,lookup:_e.node_ops.lookup,mknod:_e.node_ops.mknod,rename:_e.node_ops.rename,unlink:_e.node_ops.unlink,rmdir:_e.node_ops.rmdir,readdir:_e.node_ops.readdir,symlink:_e.node_ops.symlink},stream:{llseek:_e.stream_ops.llseek}},file:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr},stream:{llseek:_e.stream_ops.llseek,read:_e.stream_ops.read,write:_e.stream_ops.write,allocate:_e.stream_ops.allocate,mmap:_e.stream_ops.mmap,msync:_e.stream_ops.msync}},link:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr,readlink:_e.node_ops.readlink},stream:{}},chrdev:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr},stream:L.chrdev_stream_ops}};var k=L.createNode(u,y,x,H);return L.isDir(k.mode)?(k.node_ops=_e.ops_table.dir.node,k.stream_ops=_e.ops_table.dir.stream,k.contents={}):L.isFile(k.mode)?(k.node_ops=_e.ops_table.file.node,k.stream_ops=_e.ops_table.file.stream,k.usedBytes=0,k.contents=null):L.isLink(k.mode)?(k.node_ops=_e.ops_table.link.node,k.stream_ops=_e.ops_table.link.stream):L.isChrdev(k.mode)&&(k.node_ops=_e.ops_table.chrdev.node,k.stream_ops=_e.ops_table.chrdev.stream),k.timestamp=Date.now(),u&&(u.contents[y]=k,u.timestamp=k.timestamp),k},getFileDataAsTypedArray(u){return u.contents?u.contents.subarray?u.contents.subarray(0,u.usedBytes):new Uint8Array(u.contents):new Uint8Array(0)},expandFileStorage(u,y){var x=u.contents?u.contents.length:0;if(!(x>=y)){var H=1024*1024;y=Math.max(y,x*(x>>0),x!=0&&(y=Math.max(y,256));var k=u.contents;u.contents=new Uint8Array(y),u.usedBytes>0&&u.contents.set(k.subarray(0,u.usedBytes),0)}},resizeFileStorage(u,y){if(u.usedBytes!=y)if(y==0)u.contents=null,u.usedBytes=0;else{var x=u.contents;u.contents=new Uint8Array(y),x&&u.contents.set(x.subarray(0,Math.min(y,u.usedBytes))),u.usedBytes=y}},node_ops:{getattr(u){var y={};return y.dev=L.isChrdev(u.mode)?u.id:1,y.ino=u.id,y.mode=u.mode,y.nlink=1,y.uid=0,y.gid=0,y.rdev=u.rdev,L.isDir(u.mode)?y.size=4096:L.isFile(u.mode)?y.size=u.usedBytes:L.isLink(u.mode)?y.size=u.link.length:y.size=0,y.atime=new Date(u.timestamp),y.mtime=new Date(u.timestamp),y.ctime=new Date(u.timestamp),y.blksize=4096,y.blocks=Math.ceil(y.size/y.blksize),y},setattr(u,y){y.mode!==void 0&&(u.mode=y.mode),y.timestamp!==void 0&&(u.timestamp=y.timestamp),y.size!==void 0&&_e.resizeFileStorage(u,y.size)},lookup(u,y){throw L.genericErrors[44]},mknod(u,y,x,H){return _e.createNode(u,y,x,H)},rename(u,y,x){if(L.isDir(u.mode)){var H;try{H=L.lookupNode(y,x)}catch{}if(H)for(var k in H.contents)throw new L.ErrnoError(55)}delete u.parent.contents[u.name],u.parent.timestamp=Date.now(),u.name=x,y.contents[x]=u,y.timestamp=u.parent.timestamp},unlink(u,y){delete u.contents[y],u.timestamp=Date.now()},rmdir(u,y){var x=L.lookupNode(u,y);for(var H in x.contents)throw new L.ErrnoError(55);delete u.contents[y],u.timestamp=Date.now()},readdir(u){var y=[".",".."];for(var x of Object.keys(u.contents))y.push(x);return y},symlink(u,y,x){var H=_e.createNode(u,y,41471,0);return H.link=x,H},readlink(u){if(!L.isLink(u.mode))throw new L.ErrnoError(28);return u.link}},stream_ops:{read(u,y,x,H,k){var T=u.node.contents;if(k>=u.node.usedBytes)return 0;var eA=Math.min(u.node.usedBytes-k,H);if(eA>8&&T.subarray)y.set(T.subarray(k,k+eA),x);else for(var gA=0;gA0||x+y{var k=H?"":`al ${u}`;C(u).then(T=>{y(new Uint8Array(T)),k&&mA()},T=>{if(x)x();else throw`Loading data file "${u}" failed.`}),k&&UA()},ui=(u,y,x,H,k,T)=>{L.createDataFile(u,y,x,H,k,T)},Mi=[],zi=(u,y,x,H)=>{typeof Browser<"u"&&Browser.init();var k=!1;return Mi.forEach(T=>{k||T.canHandle(y)&&(T.handle(u,y,x,H),k=!0)}),k},vt=(u,y,x,H,k,T,eA,gA,wA,Ae)=>{var oe=y?Qe.resolve(rA.join2(u,y)):u;function Be(He){function ke(Ne){Ae?.(),gA||ui(u,y,Ne,H,k,wA),T?.(),mA()}zi(He,oe,ke,()=>{eA?.(),mA()})||ke(He)}UA(),typeof x=="string"?Wi(x,Be,eA):Be(x)},Zi=u=>{var y={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},x=y[u];if(typeof x>"u")throw new Error(`Unknown file open mode: ${u}`);return x},_t=(u,y)=>{var x=0;return u&&(x|=365),y&&(x|=146),x},L={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(u){this.name="ErrnoError",this.errno=u}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(u){this.node=u}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(u){this.shared.flags=u}get position(){return this.shared.position}set position(u){this.shared.position=u}},FSNode:class{constructor(u,y,x,H){u||(u=this),this.parent=u,this.mount=u.mount,this.mounted=null,this.id=L.nextInode++,this.name=y,this.mode=x,this.node_ops={},this.stream_ops={},this.rdev=H,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(u){u?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(u){u?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return L.isDir(this.mode)}get isDevice(){return L.isChrdev(this.mode)}},lookupPath(u,y={}){if(u=Qe.resolve(u),!u)return{path:"",node:null};var x={follow_mount:!0,recurse_count:0};if(y=Object.assign(x,y),y.recurse_count>8)throw new L.ErrnoError(32);for(var H=u.split("/").filter(Be=>!!Be),k=L.root,T="/",eA=0;eA40)throw new L.ErrnoError(32)}}return{path:T,node:k}},getPath(u){for(var y;;){if(L.isRoot(u)){var x=u.mount.mountpoint;return y?x[x.length-1]!=="/"?`${x}/${y}`:x+y:x}y=y?`${u.name}/${y}`:u.name,u=u.parent}},hashName(u,y){for(var x=0,H=0;H>>0)%L.nameTable.length},hashAddNode(u){var y=L.hashName(u.parent.id,u.name);u.name_next=L.nameTable[y],L.nameTable[y]=u},hashRemoveNode(u){var y=L.hashName(u.parent.id,u.name);if(L.nameTable[y]===u)L.nameTable[y]=u.name_next;else for(var x=L.nameTable[y];x;){if(x.name_next===u){x.name_next=u.name_next;break}x=x.name_next}},lookupNode(u,y){var x=L.mayLookup(u);if(x)throw new L.ErrnoError(x);for(var H=L.hashName(u.id,y),k=L.nameTable[H];k;k=k.name_next){var T=k.name;if(k.parent.id===u.id&&T===y)return k}return L.lookup(u,y)},createNode(u,y,x,H){var k=new L.FSNode(u,y,x,H);return L.hashAddNode(k),k},destroyNode(u){L.hashRemoveNode(u)},isRoot(u){return u===u.parent},isMountpoint(u){return!!u.mounted},isFile(u){return(u&61440)===32768},isDir(u){return(u&61440)===16384},isLink(u){return(u&61440)===40960},isChrdev(u){return(u&61440)===8192},isBlkdev(u){return(u&61440)===24576},isFIFO(u){return(u&61440)===4096},isSocket(u){return(u&49152)===49152},flagsToPermissionString(u){var y=["r","w","rw"][u&3];return u&512&&(y+="w"),y},nodePermissions(u,y){return L.ignorePermissions?0:y.includes("r")&&!(u.mode&292)||y.includes("w")&&!(u.mode&146)||y.includes("x")&&!(u.mode&73)?2:0},mayLookup(u){if(!L.isDir(u.mode))return 54;var y=L.nodePermissions(u,"x");return y||(u.node_ops.lookup?0:2)},mayCreate(u,y){try{var x=L.lookupNode(u,y);return 20}catch{}return L.nodePermissions(u,"wx")},mayDelete(u,y,x){var H;try{H=L.lookupNode(u,y)}catch(T){return T.errno}var k=L.nodePermissions(u,"wx");if(k)return k;if(x){if(!L.isDir(H.mode))return 54;if(L.isRoot(H)||L.getPath(H)===L.cwd())return 10}else if(L.isDir(H.mode))return 31;return 0},mayOpen(u,y){return u?L.isLink(u.mode)?32:L.isDir(u.mode)&&(L.flagsToPermissionString(y)!=="r"||y&512)?31:L.nodePermissions(u,L.flagsToPermissionString(y)):44},MAX_OPEN_FDS:4096,nextfd(){for(var u=0;u<=L.MAX_OPEN_FDS;u++)if(!L.streams[u])return u;throw new L.ErrnoError(33)},getStreamChecked(u){var y=L.getStream(u);if(!y)throw new L.ErrnoError(8);return y},getStream:u=>L.streams[u],createStream(u,y=-1){return u=Object.assign(new L.FSStream,u),y==-1&&(y=L.nextfd()),u.fd=y,L.streams[y]=u,u},closeStream(u){L.streams[u]=null},dupStream(u,y=-1){var x=L.createStream(u,y);return x.stream_ops?.dup?.(x),x},chrdev_stream_ops:{open(u){var y=L.getDevice(u.node.rdev);u.stream_ops=y.stream_ops,u.stream_ops.open?.(u)},llseek(){throw new L.ErrnoError(70)}},major:u=>u>>8,minor:u=>u&255,makedev:(u,y)=>u<<8|y,registerDevice(u,y){L.devices[u]={stream_ops:y}},getDevice:u=>L.devices[u],getMounts(u){for(var y=[],x=[u];x.length;){var H=x.pop();y.push(H),x.push(...H.mounts)}return y},syncfs(u,y){typeof u=="function"&&(y=u,u=!1),L.syncFSRequests++,L.syncFSRequests>1&&B(`warning: ${L.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var x=L.getMounts(L.root.mount),H=0;function k(eA){return L.syncFSRequests--,y(eA)}function T(eA){if(eA)return T.errored?void 0:(T.errored=!0,k(eA));++H>=x.length&&k(null)}x.forEach(eA=>{if(!eA.type.syncfs)return T(null);eA.type.syncfs(eA,u,T)})},mount(u,y,x){var H=x==="/",k=!x,T;if(H&&L.root)throw new L.ErrnoError(10);if(!H&&!k){var eA=L.lookupPath(x,{follow_mount:!1});if(x=eA.path,T=eA.node,L.isMountpoint(T))throw new L.ErrnoError(10);if(!L.isDir(T.mode))throw new L.ErrnoError(54)}var gA={type:u,opts:y,mountpoint:x,mounts:[]},wA=u.mount(gA);return wA.mount=gA,gA.root=wA,H?L.root=wA:T&&(T.mounted=gA,T.mount&&T.mount.mounts.push(gA)),wA},unmount(u){var y=L.lookupPath(u,{follow_mount:!1});if(!L.isMountpoint(y.node))throw new L.ErrnoError(28);var x=y.node,H=x.mounted,k=L.getMounts(H);Object.keys(L.nameTable).forEach(eA=>{for(var gA=L.nameTable[eA];gA;){var wA=gA.name_next;k.includes(gA.mount)&&L.destroyNode(gA),gA=wA}}),x.mounted=null;var T=x.mount.mounts.indexOf(H);x.mount.mounts.splice(T,1)},lookup(u,y){return u.node_ops.lookup(u,y)},mknod(u,y,x){var H=L.lookupPath(u,{parent:!0}),k=H.node,T=rA.basename(u);if(!T||T==="."||T==="..")throw new L.ErrnoError(28);var eA=L.mayCreate(k,T);if(eA)throw new L.ErrnoError(eA);if(!k.node_ops.mknod)throw new L.ErrnoError(63);return k.node_ops.mknod(k,T,y,x)},create(u,y){return y=y!==void 0?y:438,y&=4095,y|=32768,L.mknod(u,y,0)},mkdir(u,y){return y=y!==void 0?y:511,y&=1023,y|=16384,L.mknod(u,y,0)},mkdirTree(u,y){for(var x=u.split("/"),H="",k=0;k"u"&&(x=y,y=438),y|=8192,L.mknod(u,y,x)},symlink(u,y){if(!Qe.resolve(u))throw new L.ErrnoError(44);var x=L.lookupPath(y,{parent:!0}),H=x.node;if(!H)throw new L.ErrnoError(44);var k=rA.basename(y),T=L.mayCreate(H,k);if(T)throw new L.ErrnoError(T);if(!H.node_ops.symlink)throw new L.ErrnoError(63);return H.node_ops.symlink(H,k,u)},rename(u,y){var x=rA.dirname(u),H=rA.dirname(y),k=rA.basename(u),T=rA.basename(y),eA,gA,wA;if(eA=L.lookupPath(u,{parent:!0}),gA=eA.node,eA=L.lookupPath(y,{parent:!0}),wA=eA.node,!gA||!wA)throw new L.ErrnoError(44);if(gA.mount!==wA.mount)throw new L.ErrnoError(75);var Ae=L.lookupNode(gA,k),oe=Qe.relative(u,H);if(oe.charAt(0)!==".")throw new L.ErrnoError(28);if(oe=Qe.relative(y,x),oe.charAt(0)!==".")throw new L.ErrnoError(55);var Be;try{Be=L.lookupNode(wA,T)}catch{}if(Ae!==Be){var He=L.isDir(Ae.mode),ke=L.mayDelete(gA,k,He);if(ke)throw new L.ErrnoError(ke);if(ke=Be?L.mayDelete(wA,T,He):L.mayCreate(wA,T),ke)throw new L.ErrnoError(ke);if(!gA.node_ops.rename)throw new L.ErrnoError(63);if(L.isMountpoint(Ae)||Be&&L.isMountpoint(Be))throw new L.ErrnoError(10);if(wA!==gA&&(ke=L.nodePermissions(gA,"w"),ke))throw new L.ErrnoError(ke);L.hashRemoveNode(Ae);try{gA.node_ops.rename(Ae,wA,T),Ae.parent=wA}catch(Ne){throw Ne}finally{L.hashAddNode(Ae)}}},rmdir(u){var y=L.lookupPath(u,{parent:!0}),x=y.node,H=rA.basename(u),k=L.lookupNode(x,H),T=L.mayDelete(x,H,!0);if(T)throw new L.ErrnoError(T);if(!x.node_ops.rmdir)throw new L.ErrnoError(63);if(L.isMountpoint(k))throw new L.ErrnoError(10);x.node_ops.rmdir(x,H),L.destroyNode(k)},readdir(u){var y=L.lookupPath(u,{follow:!0}),x=y.node;if(!x.node_ops.readdir)throw new L.ErrnoError(54);return x.node_ops.readdir(x)},unlink(u){var y=L.lookupPath(u,{parent:!0}),x=y.node;if(!x)throw new L.ErrnoError(44);var H=rA.basename(u),k=L.lookupNode(x,H),T=L.mayDelete(x,H,!1);if(T)throw new L.ErrnoError(T);if(!x.node_ops.unlink)throw new L.ErrnoError(63);if(L.isMountpoint(k))throw new L.ErrnoError(10);x.node_ops.unlink(x,H),L.destroyNode(k)},readlink(u){var y=L.lookupPath(u),x=y.node;if(!x)throw new L.ErrnoError(44);if(!x.node_ops.readlink)throw new L.ErrnoError(28);return Qe.resolve(L.getPath(x.parent),x.node_ops.readlink(x))},stat(u,y){var x=L.lookupPath(u,{follow:!y}),H=x.node;if(!H)throw new L.ErrnoError(44);if(!H.node_ops.getattr)throw new L.ErrnoError(63);return H.node_ops.getattr(H)},lstat(u){return L.stat(u,!0)},chmod(u,y,x){var H;if(typeof u=="string"){var k=L.lookupPath(u,{follow:!x});H=k.node}else H=u;if(!H.node_ops.setattr)throw new L.ErrnoError(63);H.node_ops.setattr(H,{mode:y&4095|H.mode&-4096,timestamp:Date.now()})},lchmod(u,y){L.chmod(u,y,!0)},fchmod(u,y){var x=L.getStreamChecked(u);L.chmod(x.node,y)},chown(u,y,x,H){var k;if(typeof u=="string"){var T=L.lookupPath(u,{follow:!H});k=T.node}else k=u;if(!k.node_ops.setattr)throw new L.ErrnoError(63);k.node_ops.setattr(k,{timestamp:Date.now()})},lchown(u,y,x){L.chown(u,y,x,!0)},fchown(u,y,x){var H=L.getStreamChecked(u);L.chown(H.node,y,x)},truncate(u,y){if(y<0)throw new L.ErrnoError(28);var x;if(typeof u=="string"){var H=L.lookupPath(u,{follow:!0});x=H.node}else x=u;if(!x.node_ops.setattr)throw new L.ErrnoError(63);if(L.isDir(x.mode))throw new L.ErrnoError(31);if(!L.isFile(x.mode))throw new L.ErrnoError(28);var k=L.nodePermissions(x,"w");if(k)throw new L.ErrnoError(k);x.node_ops.setattr(x,{size:y,timestamp:Date.now()})},ftruncate(u,y){var x=L.getStreamChecked(u);if((x.flags&2097155)===0)throw new L.ErrnoError(28);L.truncate(x.node,y)},utime(u,y,x){var H=L.lookupPath(u,{follow:!0}),k=H.node;k.node_ops.setattr(k,{timestamp:Math.max(y,x)})},open(u,y,x){if(u==="")throw new L.ErrnoError(44);y=typeof y=="string"?Zi(y):y,y&64?(x=typeof x>"u"?438:x,x=x&4095|32768):x=0;var H;if(typeof u=="object")H=u;else{u=rA.normalize(u);try{var k=L.lookupPath(u,{follow:!(y&131072)});H=k.node}catch{}}var T=!1;if(y&64)if(H){if(y&128)throw new L.ErrnoError(20)}else H=L.mknod(u,x,0),T=!0;if(!H)throw new L.ErrnoError(44);if(L.isChrdev(H.mode)&&(y&=-513),y&65536&&!L.isDir(H.mode))throw new L.ErrnoError(54);if(!T){var eA=L.mayOpen(H,y);if(eA)throw new L.ErrnoError(eA)}y&512&&!T&&L.truncate(H,0),y&=-131713;var gA=L.createStream({node:H,path:L.getPath(H),flags:y,seekable:!0,position:0,stream_ops:H.stream_ops,ungotten:[],error:!1});return gA.stream_ops.open&&gA.stream_ops.open(gA),gA},close(u){if(L.isClosed(u))throw new L.ErrnoError(8);u.getdents&&(u.getdents=null);try{u.stream_ops.close&&u.stream_ops.close(u)}catch(y){throw y}finally{L.closeStream(u.fd)}u.fd=null},isClosed(u){return u.fd===null},llseek(u,y,x){if(L.isClosed(u))throw new L.ErrnoError(8);if(!u.seekable||!u.stream_ops.llseek)throw new L.ErrnoError(70);if(x!=0&&x!=1&&x!=2)throw new L.ErrnoError(28);return u.position=u.stream_ops.llseek(u,y,x),u.ungotten=[],u.position},read(u,y,x,H,k){if(H<0||k<0)throw new L.ErrnoError(28);if(L.isClosed(u))throw new L.ErrnoError(8);if((u.flags&2097155)===1)throw new L.ErrnoError(8);if(L.isDir(u.node.mode))throw new L.ErrnoError(31);if(!u.stream_ops.read)throw new L.ErrnoError(28);var T=typeof k<"u";if(!T)k=u.position;else if(!u.seekable)throw new L.ErrnoError(70);var eA=u.stream_ops.read(u,y,x,H,k);return T||(u.position+=eA),eA},write(u,y,x,H,k,T){if(H<0||k<0)throw new L.ErrnoError(28);if(L.isClosed(u))throw new L.ErrnoError(8);if((u.flags&2097155)===0)throw new L.ErrnoError(8);if(L.isDir(u.node.mode))throw new L.ErrnoError(31);if(!u.stream_ops.write)throw new L.ErrnoError(28);u.seekable&&u.flags&1024&&L.llseek(u,0,2);var eA=typeof k<"u";if(!eA)k=u.position;else if(!u.seekable)throw new L.ErrnoError(70);var gA=u.stream_ops.write(u,y,x,H,k,T);return eA||(u.position+=gA),gA},allocate(u,y,x){if(L.isClosed(u))throw new L.ErrnoError(8);if(y<0||x<=0)throw new L.ErrnoError(28);if((u.flags&2097155)===0)throw new L.ErrnoError(8);if(!L.isFile(u.node.mode)&&!L.isDir(u.node.mode))throw new L.ErrnoError(43);if(!u.stream_ops.allocate)throw new L.ErrnoError(138);u.stream_ops.allocate(u,y,x)},mmap(u,y,x,H,k){if((H&2)!==0&&(k&2)===0&&(u.flags&2097155)!==2)throw new L.ErrnoError(2);if((u.flags&2097155)===1)throw new L.ErrnoError(2);if(!u.stream_ops.mmap)throw new L.ErrnoError(43);if(!y)throw new L.ErrnoError(28);return u.stream_ops.mmap(u,y,x,H,k)},msync(u,y,x,H,k){return u.stream_ops.msync?u.stream_ops.msync(u,y,x,H,k):0},ioctl(u,y,x){if(!u.stream_ops.ioctl)throw new L.ErrnoError(59);return u.stream_ops.ioctl(u,y,x)},readFile(u,y={}){if(y.flags=y.flags||0,y.encoding=y.encoding||"binary",y.encoding!=="utf8"&&y.encoding!=="binary")throw new Error(`Invalid encoding type "${y.encoding}"`);var x,H=L.open(u,y.flags),k=L.stat(u),T=k.size,eA=new Uint8Array(T);return L.read(H,eA,0,T,0),y.encoding==="utf8"?x=ut(eA):y.encoding==="binary"&&(x=eA),L.close(H),x},writeFile(u,y,x={}){x.flags=x.flags||577;var H=L.open(u,x.flags,x.mode);if(typeof y=="string"){var k=new Uint8Array(_A(y)+1),T=Et(y,k,0,k.length);L.write(H,k,0,T,void 0,x.canOwn)}else if(ArrayBuffer.isView(y))L.write(H,y,0,y.byteLength,void 0,x.canOwn);else throw new Error("Unsupported data type");L.close(H)},cwd:()=>L.currentPath,chdir(u){var y=L.lookupPath(u,{follow:!0});if(y.node===null)throw new L.ErrnoError(44);if(!L.isDir(y.node.mode))throw new L.ErrnoError(54);var x=L.nodePermissions(y.node,"x");if(x)throw new L.ErrnoError(x);L.currentPath=y.path},createDefaultDirectories(){L.mkdir("/tmp"),L.mkdir("/home"),L.mkdir("/home/web_user")},createDefaultDevices(){L.mkdir("/dev"),L.registerDevice(L.makedev(1,3),{read:()=>0,write:(H,k,T,eA,gA)=>eA}),L.mkdev("/dev/null",L.makedev(1,3)),Le.register(L.makedev(5,0),Le.default_tty_ops),Le.register(L.makedev(6,0),Le.default_tty1_ops),L.mkdev("/dev/tty",L.makedev(5,0)),L.mkdev("/dev/tty1",L.makedev(6,0));var u=new Uint8Array(1024),y=0,x=()=>(y===0&&(y=Ie(u).byteLength),u[--y]);L.createDevice("/dev","random",x),L.createDevice("/dev","urandom",x),L.mkdir("/dev/shm"),L.mkdir("/dev/shm/tmp")},createSpecialDirectories(){L.mkdir("/proc");var u=L.mkdir("/proc/self");L.mkdir("/proc/self/fd"),L.mount({mount(){var y=L.createNode(u,"fd",16895,73);return y.node_ops={lookup(x,H){var k=+H,T=L.getStreamChecked(k),eA={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>T.path}};return eA.parent=eA,eA}},y}},{},"/proc/self/fd")},createStandardStreams(u,y,x){u?L.createDevice("/dev","stdin",u):L.symlink("/dev/tty","/dev/stdin"),y?L.createDevice("/dev","stdout",null,y):L.symlink("/dev/tty","/dev/stdout"),x?L.createDevice("/dev","stderr",null,x):L.symlink("/dev/tty1","/dev/stderr"),L.open("/dev/stdin",0),L.open("/dev/stdout",1),L.open("/dev/stderr",1)},staticInit(){[44].forEach(u=>{L.genericErrors[u]=new L.ErrnoError(u),L.genericErrors[u].stack=""}),L.nameTable=new Array(4096),L.mount(_e,{},"/"),L.createDefaultDirectories(),L.createDefaultDevices(),L.createSpecialDirectories(),L.filesystems={MEMFS:_e}},init(u,y,x){L.initialized=!0,L.createStandardStreams(u,y,x)},quit(){L.initialized=!1;for(var u=0;uthis.length-1||ke<0)){var Ne=ke%this.chunkSize,ni=ke/this.chunkSize|0;return this.getter(ni)[Ne]}}setDataGetter(ke){this.getter=ke}cacheLength(){var ke=new XMLHttpRequest;if(ke.open("HEAD",x,!1),ke.send(null),!(ke.status>=200&&ke.status<300||ke.status===304))throw new Error("Couldn't load "+x+". Status: "+ke.status);var Ne=Number(ke.getResponseHeader("Content-length")),ni,Un=(ni=ke.getResponseHeader("Accept-Ranges"))&&ni==="bytes",q=(ni=ke.getResponseHeader("Content-Encoding"))&&ni==="gzip",fA=1024*1024;Un||(fA=Ne);var PA=(pe,De)=>{if(pe>De)throw new Error("invalid range ("+pe+", "+De+") or no bytes requested!");if(De>Ne-1)throw new Error("only "+Ne+" bytes available! programmer error!");var ot=new XMLHttpRequest;if(ot.open("GET",x,!1),Ne!==fA&&ot.setRequestHeader("Range","bytes="+pe+"-"+De),ot.responseType="arraybuffer",ot.overrideMimeType&&ot.overrideMimeType("text/plain; charset=x-user-defined"),ot.send(null),!(ot.status>=200&&ot.status<300||ot.status===304))throw new Error("Couldn't load "+x+". Status: "+ot.status);return ot.response!==void 0?new Uint8Array(ot.response||[]):et(ot.responseText||"",!0)},Fe=this;Fe.setDataGetter(pe=>{var De=pe*fA,ot=(pe+1)*fA-1;if(ot=Math.min(ot,Ne-1),typeof Fe.chunks[pe]>"u"&&(Fe.chunks[pe]=PA(De,ot)),typeof Fe.chunks[pe]>"u")throw new Error("doXHR failed!");return Fe.chunks[pe]}),(q||!Ne)&&(fA=Ne=1,Ne=this.getter(0).length,fA=Ne,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=Ne,this._chunkSize=fA,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var eA,gA}else var gA={isDevice:!1,url:x};var wA=L.createFile(u,y,gA,H,k);gA.contents?wA.contents=gA.contents:gA.url&&(wA.contents=null,wA.url=gA.url),Object.defineProperties(wA,{usedBytes:{get:function(){return this.contents.length}}});var Ae={},oe=Object.keys(wA.stream_ops);oe.forEach(He=>{var ke=wA.stream_ops[He];Ae[He]=(...Ne)=>(L.forceLoadFile(wA),ke(...Ne))});function Be(He,ke,Ne,ni,Un){var q=He.node.contents;if(Un>=q.length)return 0;var fA=Math.min(q.length-Un,ni);if(q.slice)for(var PA=0;PA(L.forceLoadFile(wA),Be(He,ke,Ne,ni,Un)),Ae.mmap=(He,ke,Ne,ni,Un)=>{L.forceLoadFile(wA);var q=dn(ke);if(!q)throw new L.ErrnoError(48);return Be(He,M,q,ke,Ne),{ptr:q,allocated:!0}},wA.stream_ops=Ae,wA}},Ct={DEFAULT_POLLMASK:5,calculateAt(u,y,x){if(rA.isAbs(y))return y;var H;if(u===-100)H=L.cwd();else{var k=Ct.getStreamFromFD(u);H=k.path}if(y.length==0){if(!x)throw new L.ErrnoError(44);return H}return rA.join2(H,y)},doStat(u,y,x){var H=u(y);_[x>>2]=H.dev,_[x+4>>2]=H.mode,U[x+8>>2]=H.nlink,_[x+12>>2]=H.uid,_[x+16>>2]=H.gid,_[x+20>>2]=H.rdev,j[x+24>>3]=BigInt(H.size),_[x+32>>2]=4096,_[x+36>>2]=H.blocks;var k=H.atime.getTime(),T=H.mtime.getTime(),eA=H.ctime.getTime();return j[x+40>>3]=BigInt(Math.floor(k/1e3)),U[x+48>>2]=k%1e3*1e3*1e3,j[x+56>>3]=BigInt(Math.floor(T/1e3)),U[x+64>>2]=T%1e3*1e3*1e3,j[x+72>>3]=BigInt(Math.floor(eA/1e3)),U[x+80>>2]=eA%1e3*1e3*1e3,j[x+88>>3]=BigInt(H.ino),0},doMsync(u,y,x,H,k){if(!L.isFile(y.node.mode))throw new L.ErrnoError(43);if(H&2)return 0;var T=D.slice(u,u+x);L.msync(y,T,k,x,H)},getStreamFromFD(u){var y=L.getStreamChecked(u);return y},varargs:void 0,getStr(u){var y=Me(u);return y}};function ci(u,y,x,H){try{if(y=Ct.getStr(y),y=Ct.calculateAt(u,y),x&-8)return-28;var k=L.lookupPath(y,{follow:!0}),T=k.node;if(!T)return-44;var eA="";return x&4&&(eA+="r"),x&2&&(eA+="w"),x&1&&(eA+="x"),eA&&L.nodePermissions(T,eA)?-2:0}catch(gA){if(typeof L>"u"||gA.name!=="ErrnoError")throw gA;return-gA.errno}}function Bn(){var u=_[+Ct.varargs>>2];return Ct.varargs+=4,u}var En=Bn;function qn(u,y,x){Ct.varargs=x;try{var H=Ct.getStreamFromFD(u);switch(y){case 0:{var k=Bn();if(k<0)return-28;for(;L.streams[k];)k++;var T;return T=L.dupStream(H,k),T.fd}case 1:case 2:return 0;case 3:return H.flags;case 4:{var k=Bn();return H.flags|=k,0}case 12:{var k=En(),eA=0;return F[k+eA>>1]=2,0}case 13:case 14:return 0}return-28}catch(gA){if(typeof L>"u"||gA.name!=="ErrnoError")throw gA;return-gA.errno}}function Yo(u,y){try{var x=Ct.getStreamFromFD(u);return Ct.doStat(L.stat,x.path,y)}catch(H){if(typeof L>"u"||H.name!=="ErrnoError")throw H;return-H.errno}}function Co(u,y,x){Ct.varargs=x;try{var H=Ct.getStreamFromFD(u);switch(y){case 21509:return H.tty?0:-59;case 21505:{if(!H.tty)return-59;if(H.tty.ops.ioctl_tcgets){var k=H.tty.ops.ioctl_tcgets(H),T=En();_[T>>2]=k.c_iflag||0,_[T+4>>2]=k.c_oflag||0,_[T+8>>2]=k.c_cflag||0,_[T+12>>2]=k.c_lflag||0;for(var eA=0;eA<32;eA++)M[T+eA+17]=k.c_cc[eA]||0;return 0}return 0}case 21510:case 21511:case 21512:return H.tty?0:-59;case 21506:case 21507:case 21508:{if(!H.tty)return-59;if(H.tty.ops.ioctl_tcsets){for(var T=En(),gA=_[T>>2],wA=_[T+4>>2],Ae=_[T+8>>2],oe=_[T+12>>2],Be=[],eA=0;eA<32;eA++)Be.push(M[T+eA+17]);return H.tty.ops.ioctl_tcsets(H.tty,y,{c_iflag:gA,c_oflag:wA,c_cflag:Ae,c_lflag:oe,c_cc:Be})}return 0}case 21519:{if(!H.tty)return-59;var T=En();return _[T>>2]=0,0}case 21520:return H.tty?-28:-59;case 21531:{var T=En();return L.ioctl(H,y,T)}case 21523:{if(!H.tty)return-59;if(H.tty.ops.ioctl_tiocgwinsz){var He=H.tty.ops.ioctl_tiocgwinsz(H.tty),T=En();F[T>>1]=He[0],F[T+2>>1]=He[1]}return 0}case 21524:return H.tty?0:-59;case 21515:return H.tty?0:-59;default:return-28}}catch(ke){if(typeof L>"u"||ke.name!=="ErrnoError")throw ke;return-ke.errno}}function ko(u,y,x,H){try{y=Ct.getStr(y);var k=H&256,T=H&4096;return H=H&-6401,y=Ct.calculateAt(u,y,T),Ct.doStat(k?L.lstat:L.stat,y,x)}catch(eA){if(typeof L>"u"||eA.name!=="ErrnoError")throw eA;return-eA.errno}}function Zo(u,y,x,H){Ct.varargs=H;try{y=Ct.getStr(y),y=Ct.calculateAt(u,y);var k=H?Bn():0;return L.open(y,x,k).fd}catch(T){if(typeof L>"u"||T.name!=="ErrnoError")throw T;return-T.errno}}function wo(u,y){try{return u=Ct.getStr(u),Ct.doStat(L.stat,u,y)}catch(x){if(typeof L>"u"||x.name!=="ErrnoError")throw x;return-x.errno}}var ha=()=>{KA("")},Xo=u=>u%4===0&&(u%100!==0||u%400===0),ra=[0,31,60,91,121,152,182,213,244,274,305,335],Do=[0,31,59,90,120,151,181,212,243,273,304,334],re=u=>{var y=Xo(u.getFullYear()),x=y?ra:Do,H=x[u.getMonth()]+u.getDate()-1;return H},di=9007199254740992,ln=-9007199254740992,Qn=u=>udi?NaN:Number(u);function To(u,y){u=Qn(u);var x=new Date(u*1e3);_[y>>2]=x.getSeconds(),_[y+4>>2]=x.getMinutes(),_[y+8>>2]=x.getHours(),_[y+12>>2]=x.getDate(),_[y+16>>2]=x.getMonth(),_[y+20>>2]=x.getFullYear()-1900,_[y+24>>2]=x.getDay();var H=re(x)|0;_[y+28>>2]=H,_[y+36>>2]=-(x.getTimezoneOffset()*60);var k=new Date(x.getFullYear(),0,1),T=new Date(x.getFullYear(),6,1).getTimezoneOffset(),eA=k.getTimezoneOffset(),gA=(T!=eA&&x.getTimezoneOffset()==Math.min(eA,T))|0;_[y+32>>2]=gA}function Ma(u,y,x,H,k,T,eA){k=Qn(k);try{if(isNaN(k))return 61;var gA=Ct.getStreamFromFD(H),wA=L.mmap(gA,u,k,y,x),Ae=wA.ptr;return _[T>>2]=wA.allocated,U[eA>>2]=Ae,0}catch(oe){if(typeof L>"u"||oe.name!=="ErrnoError")throw oe;return-oe.errno}}function wi(u,y,x,H,k,T){T=Qn(T);try{var eA=Ct.getStreamFromFD(k);x&2&&Ct.doMsync(u,eA,y,H,T)}catch(gA){if(typeof L>"u"||gA.name!=="ErrnoError")throw gA;return-gA.errno}}var Io=(u,y,x)=>Et(u,D,y,x),nr=(u,y,x,H)=>{var k=new Date().getFullYear(),T=new Date(k,0,1),eA=new Date(k,6,1),gA=T.getTimezoneOffset(),wA=eA.getTimezoneOffset(),Ae=Math.max(gA,wA);U[u>>2]=Ae*60,_[y>>2]=+(gA!=wA);var oe=ke=>{var Ne=ke>=0?"-":"+",ni=Math.abs(ke),Un=String(Math.floor(ni/60)).padStart(2,"0"),q=String(ni%60).padStart(2,"0");return`UTC${Ne}${Un}${q}`},Be=oe(gA),He=oe(wA);wADate.now(),Pa=()=>2147483648,Gn=u=>{var y=b.buffer,x=(u-y.byteLength+65535)/65536|0;try{return b.grow(x),O(),1}catch{}},xi=u=>{var y=D.length;u>>>=0;var x=Pa();if(u>x)return!1;for(var H=1;H<=4;H*=2){var k=y*(1+.2/H);k=Math.min(k,u+100663296);var T=Math.min(x,gn(Math.max(u,k),65536)),eA=Gn(T);if(eA)return!0}return!1},Pt={},Sn=()=>s,Bo=()=>{if(!Bo.strings){var u=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",y={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:u,_:Sn()};for(var x in Pt)Pt[x]===void 0?delete y[x]:y[x]=Pt[x];var H=[];for(var x in y)H.push(`${x}=${y[x]}`);Bo.strings=H}return Bo.strings},So=(u,y)=>{for(var x=0;x{var x=0;return Bo().forEach((H,k)=>{var T=y+x;U[u+k*4>>2]=T,So(H,T),x+=H.length+1}),0},VA=(u,y)=>{var x=Bo();U[u>>2]=x.length;var H=0;return x.forEach(k=>H+=k.length+1),U[y>>2]=H,0},me=u=>{g(u,new Ft(u))},dA=(u,y)=>{me(u)},SA=dA;function ae(u){try{var y=Ct.getStreamFromFD(u);return L.close(y),0}catch(x){if(typeof L>"u"||x.name!=="ErrnoError")throw x;return x.errno}}var xe=(u,y,x,H)=>{for(var k=0,T=0;T>2],gA=U[y+4>>2];y+=8;var wA=L.read(u,M,eA,gA,H);if(wA<0)return-1;if(k+=wA,wA>2]=T,0}catch(eA){if(typeof L>"u"||eA.name!=="ErrnoError")throw eA;return eA.errno}}function st(u,y,x,H){y=Qn(y);try{if(isNaN(y))return 61;var k=Ct.getStreamFromFD(u);return L.llseek(k,y,x),j[H>>3]=BigInt(k.position),k.getdents&&y===0&&x===0&&(k.getdents=null),0}catch(T){if(typeof L>"u"||T.name!=="ErrnoError")throw T;return T.errno}}var bt=(u,y,x,H)=>{for(var k=0,T=0;T>2],gA=U[y+4>>2];y+=8;var wA=L.write(u,M,eA,gA,H);if(wA<0)return-1;if(k+=wA,wA>2]=T,0}catch(eA){if(typeof L>"u"||eA.name!=="ErrnoError")throw eA;return eA.errno}}var Ri=u=>{var y=i["_"+u];return y},Ji=(u,y)=>{M.set(u,y)},Vt=u=>Vn(u),Ni=u=>{var y=_A(u)+1,x=Vt(y);return Io(u,x,y),x},ka=(u,y,x,H,k)=>{var T={string:Ne=>{var ni=0;return Ne!=null&&Ne!==0&&(ni=Ni(Ne)),ni},array:Ne=>{var ni=Vt(Ne.length);return Ji(Ne,ni),ni}};function eA(Ne){return y==="string"?Me(Ne):y==="boolean"?!!Ne:Ne}var gA=Ri(u),wA=[],Ae=0;if(H)for(var oe=0;oe(i._viz_set_y_invert=gt.A)(u),i._viz_set_reduce=u=>(i._viz_set_reduce=gt.B)(u),i._viz_get_graphviz_version=()=>(i._viz_get_graphviz_version=gt.C)(),i._free=u=>(i._free=gt.D)(u),i._malloc=u=>(i._malloc=gt.E)(u),i._viz_get_plugin_list=u=>(i._viz_get_plugin_list=gt.G)(u),i._viz_create_graph=(u,y,x)=>(i._viz_create_graph=gt.H)(u,y,x),i._viz_read_one_graph=u=>(i._viz_read_one_graph=gt.I)(u),i._viz_string_dup=(u,y)=>(i._viz_string_dup=gt.J)(u,y),i._viz_string_dup_html=(u,y)=>(i._viz_string_dup_html=gt.K)(u,y),i._viz_string_free=(u,y)=>(i._viz_string_free=gt.L)(u,y),i._viz_string_free_html=(u,y)=>(i._viz_string_free_html=gt.M)(u,y),i._viz_add_node=(u,y)=>(i._viz_add_node=gt.N)(u,y),i._viz_add_edge=(u,y,x)=>(i._viz_add_edge=gt.O)(u,y,x),i._viz_add_subgraph=(u,y)=>(i._viz_add_subgraph=gt.P)(u,y),i._viz_set_default_graph_attribute=(u,y,x)=>(i._viz_set_default_graph_attribute=gt.Q)(u,y,x),i._viz_set_default_node_attribute=(u,y,x)=>(i._viz_set_default_node_attribute=gt.R)(u,y,x),i._viz_set_default_edge_attribute=(u,y,x)=>(i._viz_set_default_edge_attribute=gt.S)(u,y,x),i._viz_set_attribute=(u,y,x)=>(i._viz_set_attribute=gt.T)(u,y,x),i._viz_free_graph=u=>(i._viz_free_graph=gt.U)(u),i._viz_create_context=()=>(i._viz_create_context=gt.V)(),i._viz_free_context=u=>(i._viz_free_context=gt.W)(u),i._viz_layout=(u,y,x)=>(i._viz_layout=gt.X)(u,y,x),i._viz_free_layout=(u,y)=>(i._viz_free_layout=gt.Y)(u,y),i._viz_reset_errors=()=>(i._viz_reset_errors=gt.Z)(),i._viz_render=(u,y,x)=>(i._viz_render=gt._)(u,y,x);var Fi=(u,y)=>(Fi=gt.$)(u,y),Oi=u=>(Oi=gt.aa)(u),Vn=u=>(Vn=gt.ba)(u),hn=()=>(hn=gt.ca)();i.ccall=ka,i.getValue=Ee,i.PATH=rA,i.UTF8ToString=Me,i.stringToUTF8=Io,i.lengthBytesUTF8=_A,i.FS=L;var Mt,sa;YA=function u(){Mt||Ho(),Mt||(YA=u)};function Ho(){if(hA>0||!sa&&(sa=1,iA(),hA>0))return;function u(){Mt||(Mt=1,i.calledRun=1,!S&&(BA(),n(i),oA()))}u()}return Ho(),A=a,A}})(),GgA=[[/^Error: (.*)/,"error"],[/^Warning: (.*)/,"warning"]];function ijA(t){return t.map(e=>{for(let A=0;A{if(typeof A.name!="string")throw new Error("image name must be a string");if(typeof A.width!="number"&&typeof A.width!="string")throw new Error("image width must be a number or string");if(typeof A.height!="number"&&typeof A.height!="string")throw new Error("image height must be a number or string");let i=t.PATH.join("/",A.name),n=` - -`;return t.FS.createPath("/",t.PATH.dirname(i)),t.FS.writeFile(i,n),i}):[]}function rjA(t,e){for(let A of e)t.FS.analyzePath(A).exists&&t.FS.unlink(A)}function sjA(t,e,A){let i;try{let n=t.lengthBytesUTF8(e);return i=t.ccall("malloc","number",["number"],[n+1]),t.stringToUTF8(e,i,n+1),t.ccall("viz_read_one_graph","number",["number"],[i])}finally{i&&t.ccall("free","number",["number"],[i])}}function gjA(t,e,A){let i=t.ccall("viz_create_graph","number",["string","number","number"],[e.name,typeof e.directed<"u"?e.directed:!0,typeof e.strict<"u"?e.strict:!1]);return YgA(t,i,e),i}function YgA(t,e,A){TgA(t,e,A),A.nodes&&A.nodes.forEach(i=>{if(typeof i.name>"u")throw new Error("nodes must have a name");let n=t.ccall("viz_add_node","number",["number","string"],[e,String(i.name)]);i.attributes&&JgA(t,e,n,i.attributes)}),A.edges&&A.edges.forEach(i=>{if(typeof i.tail>"u")throw new Error("edges must have a tail");if(typeof i.head>"u")throw new Error("edges must have a head");let n=t.ccall("viz_add_edge","number",["number","string","string"],[e,String(i.tail),String(i.head)]);i.attributes&&JgA(t,e,n,i.attributes)}),A.subgraphs&&A.subgraphs.forEach(i=>{let n=t.ccall("viz_add_subgraph","number",["number","string"],[e,typeof i.name<"u"?String(i.name):0]);YgA(t,n,i)})}function TgA(t,e,A){if(A.graphAttributes)for(let[i,n]of Object.entries(A.graphAttributes))hb(t,e,n,o=>{t.ccall("viz_set_default_graph_attribute","number",["number","string","number"],[e,i,o])});if(A.nodeAttributes)for(let[i,n]of Object.entries(A.nodeAttributes))hb(t,e,n,o=>{t.ccall("viz_set_default_node_attribute","number",["number","string","number"],[e,i,o])});if(A.edgeAttributes)for(let[i,n]of Object.entries(A.edgeAttributes))hb(t,e,n,o=>{t.ccall("viz_set_default_edge_attribute","number",["number","string","number"],[e,i,o])})}function JgA(t,e,A,i){for(let[n,o]of Object.entries(i))hb(t,e,o,a=>{t.ccall("viz_set_attribute","number",["number","string","number"],[A,n,a])})}function hb(t,e,A,i){let n;if(typeof A=="object"&&"html"in A?n=t.ccall("viz_string_dup_html","number",["number","string"],[e,String(A.html)]):n=t.ccall("viz_string_dup","number",["number","string"],[e,String(A)]),n==0)throw new Error("couldn't dup string");i(n),typeof A=="object"&&"html"in A?t.ccall("viz_string_free_html","number",["number","number"],[e,n]):t.ccall("viz_string_free","number",["number","number"],[e,n])}var JK=class{constructor(e){this.module=e}get graphvizVersion(){return ojA(this.module)}get formats(){return KgA(this.module,"device")}get engines(){return KgA(this.module,"layout")}renderFormats(e,A,i={}){return UgA(this.module,e,A,cA({engine:"dot"},i))}render(e,A={}){let i;A.format===void 0?i="dot":i=A.format;let n=UgA(this.module,e,[i],cA({engine:"dot"},A));return n.status==="success"&&(n.output=n.output[i]),n}renderString(e,A={}){let i=this.render(e,A);if(i.status!=="success")throw new Error(i.errors.find(n=>n.level=="error")?.message||"render failed");return i.output}renderSVGElement(e,A={}){let i=this.renderString(e,Ge(cA({},A),{format:"svg"})),n;return typeof A.trustedTypePolicy<"u"?n=A.trustedTypePolicy.createHTML(i):n=i,new DOMParser().parseFromString(n,"image/svg+xml").documentElement}renderJSON(e,A={}){let i=this.renderString(e,Ge(cA({},A),{format:"json"}));return JSON.parse(i)}};function HgA(){return tjA().then(t=>new JK(t))}var ub=class t{render(e){return nt(this,null,function*(){let A={format:"svg",engine:"dot"};return(yield HgA()).renderString(e,A)})}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var fb=class t{sendFeedback(e,A,i){return se(void 0)}getFeedback(e,A){return se(void 0)}deleteFeedback(e,A){return se(void 0)}getPositiveFeedbackReasons(){return se([])}getNegativeFeedbackReasons(){return se([])}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var mb=new yA("AudioPlayingService");var pb=new yA("VideoService");var wb=new yA("WebSocketService");var Db=class t{createMessagePartFromFile(e){return nt(this,null,function*(){return{inlineData:{displayName:e.name,data:yield this.readFileAsBytes(e),mimeType:e.type}}})}readFileAsBytes(e){return new Promise((A,i)=>{let n=new FileReader;n.onload=o=>{let a=o.target.result.split(",")[1];A(a)},n.onerror=i,n.readAsDataURL(e)})}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var yb=class t extends j7{createFunctionResponse(e,A,i){return{function_response:{id:e,name:A,response:i}}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Bi(t)))(i||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var vb=class t extends m8{sanitizer=h($s);windowOpen(e,A,i,n){return e.open(A,i,n)}createObjectUrl(e){return URL.createObjectURL(e)}openBlobUrl(e){let A=this.createObjectUrl(e);return this.windowOpen(window,A,"_blank")}setAnchorHref(e,A){e.href=A}bypassSecurityTrustHtml(e){return this.sanitizer.bypassSecurityTrustHtml(e)}bypassSecurityTrustUrl(e){return this.sanitizer.bypassSecurityTrustUrl(e)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Bi(t)))(i||t)}})();static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var bb=class t{constructor(e){this.http=e}apiServerDomain=zr.getApiServerBaseUrl();createSession(e,A){if(this.apiServerDomain!=null){let i=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.post(i,null)}return new $i}listSessions(e,A){if(this.apiServerDomain!=null){let i=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.get(i).pipe(fe(n=>({items:n,nextPageToken:""})))}return se({items:[],nextPageToken:""})}deleteSession(e,A,i){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}`;return this.http.delete(n)}getSession(e,A,i){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${i}`;return this.http.get(n)}importSession(e,A,i){if(this.apiServerDomain!=null){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.post(n,{appName:A,userId:e,events:i})}return new $i}canEdit(e,A){return se(!0)}static \u0275fac=function(A){return new(A||t)(xo(Xs))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Mb=class t{audioRecordingService=h(cb);videoService=h(pb);webSocketService=h(wb);audioIntervalId=void 0;videoIntervalId=void 0;constructor(){}startAudioChat(n){return nt(this,arguments,function*({appName:e,userId:A,sessionId:i}){let o=window.location.protocol==="https:"?"wss":"ws";this.webSocketService.connect(`${o}://${zr.getWSServerUrl()}/run_live?app_name=${e}&user_id=${A}&session_id=${i}`),yield this.startAudioStreaming()})}stopAudioChat(){this.stopAudioStreaming(),this.webSocketService.closeConnection()}startAudioStreaming(){return nt(this,null,function*(){try{yield this.audioRecordingService.startRecording(),this.audioIntervalId=setInterval(()=>this.sendBufferedAudio(),250)}catch(e){console.error("Error accessing microphone:",e)}})}stopAudioStreaming(){clearInterval(this.audioIntervalId),this.audioIntervalId=void 0,this.audioRecordingService.stopRecording()}sendBufferedAudio(){let e=this.audioRecordingService.getCombinedAudioBuffer();if(!e)return;let A={blob:{mime_type:"audio/pcm",data:e}};this.webSocketService.sendMessage(A),this.audioRecordingService.cleanAudioBuffer()}startVideoChat(o){return nt(this,arguments,function*({appName:e,userId:A,sessionId:i,videoContainer:n}){let a=window.location.protocol==="https:"?"wss":"ws";this.webSocketService.connect(`${a}://${zr.getWSServerUrl()}/run_live?app_name=${e}&user_id=${A}&session_id=${i}`),yield this.startAudioStreaming(),yield this.startVideoStreaming(n)})}stopVideoChat(e){this.stopAudioStreaming(),this.stopVideoStreaming(e),this.webSocketService.closeConnection()}startVideoStreaming(e){return nt(this,null,function*(){try{yield this.videoService.startRecording(e),this.videoIntervalId=setInterval(()=>nt(this,null,function*(){return yield this.sendCapturedFrame()}),1e3)}catch(A){console.error("Error accessing camera:",A)}})}sendCapturedFrame(){return nt(this,null,function*(){let e=yield this.videoService.getCapturedFrame();if(!e)return;let A={blob:{mime_type:"image/jpeg",data:e}};this.webSocketService.sendMessage(A)})}stopVideoStreaming(e){clearInterval(this.videoIntervalId),this.videoIntervalId=void 0,this.videoService.stopRecording(e)}onStreamClose(){return this.webSocketService.onCloseReason()}closeStream(){this.webSocketService.closeConnection()}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var acA=su(ocA());var Sb=class t{stc(e){return(0,acA.default)(e)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var xb=class t{THEME_STORAGE_KEY="adk-theme-preference";currentTheme=jA(this.getInitialTheme());constructor(){Ga(()=>{this.applyTheme(this.currentTheme())})}getInitialTheme(){let e=window.localStorage.getItem(this.THEME_STORAGE_KEY);return e==="light"||e==="dark"?e:"dark"}applyTheme(e){let A=document.documentElement;A.classList.remove("light-theme","dark-theme"),A.classList.add(`${e}-theme`),A.style.colorScheme=e,window.localStorage.setItem(this.THEME_STORAGE_KEY,e)}toggleTheme(){this.currentTheme.update(e=>e==="light"?"dark":"light")}setTheme(e){this.currentTheme.set(e)}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Rb=class t{selectedTraceRowSource=new Ht(void 0);selectedTraceRow$=this.selectedTraceRowSource.asObservable();eventDataSource=new Ht(void 0);eventData$=this.eventDataSource.asObservable();hoveredMessageIndicesSource=new Ht([]);hoveredMessageIndices$=this.hoveredMessageIndicesSource.asObservable();messagesSource=new Ht([]);messages$=this.messagesSource.asObservable();selectedRow(e){this.selectedTraceRowSource.next(e)}setEventData(e){this.eventDataSource.next(e)}setMessages(e){this.messagesSource.next(e)}setHoveredMessages(e,A){if(!e){this.hoveredMessageIndicesSource.next([]);return}let i=e.attributes,n=i&&i["gcp.vertex.agent.event_id"],o=[];for(let[a,r]of this.messagesSource.value.entries())r.role!=="user"&&this.eventDataSource.value?.get(r.eventId)?.invocationId===A&&(!n||i["gcp.vertex.agent.event_id"]===r.eventId)&&o.push(a);this.hoveredMessageIndicesSource.next(o)}resetTraceService(){this.eventDataSource.next(void 0),this.messagesSource.next([]),this.hoveredMessageIndicesSource.next([])}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Nb=class t{_isSessionLoading=new Ht(!1);_isSessionListLoading=new Ht(!1);_isEventRequestResponseLoading=new Ht(!1);_isMessagesLoading=new Ht(!1);_newMessagesLoadedResponse=new XA;_newMessagesLoadingFailedResponse=new XA;featureFlagService=h(vr);isSessionLoading(){return this._isSessionLoading.pipe(f2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),Ps({bufferSize:1,refCount:!0}))}setIsSessionLoading(e){this._isSessionLoading.next(e)}isSessionListLoading(){return this._isSessionListLoading.pipe(f2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),Ps({bufferSize:1,refCount:!0}))}setIsSessionListLoading(e){this._isSessionListLoading.next(e)}isEventRequestResponseLoading(){return this._isEventRequestResponseLoading.pipe(f2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),Ps({bufferSize:1,refCount:!0}))}setIsEventRequestResponseLoading(e){this._isEventRequestResponseLoading.next(e)}setIsMessagesLoading(e){this._isMessagesLoading.next(e)}isMessagesLoading(){return this._isMessagesLoading.pipe(f2(this.featureFlagService.isLoadingAnimationsEnabled()),fe(([e,A])=>e&&A),Ps({bufferSize:1,refCount:!0}))}lazyLoadMessages(e,A,i){throw new Error("Not implemented")}onNewMessagesLoaded(){return this._newMessagesLoadedResponse}onNewMessagesLoadingFailed(){return this._newMessagesLoadingFailedResponse}static \u0275fac=function(A){return new(A||t)};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var Fb=class t{mediaRecorder;stream;renderer;videoElement;videoBuffer=[];constructor(e){this.renderer=e.createRenderer(null,null)}createVideoElement(e){e?.nativeElement&&(this.clearVideoElement(e),this.videoElement=this.renderer.createElement("video"),this.renderer.setAttribute(this.videoElement,"width","400"),this.renderer.setAttribute(this.videoElement,"height","300"),this.renderer.setAttribute(this.videoElement,"autoplay","true"),this.renderer.setAttribute(this.videoElement,"muted","true"),this.renderer.appendChild(e.nativeElement,this.videoElement))}startRecording(e){return nt(this,null,function*(){this.createVideoElement(e);try{this.stream=yield navigator.mediaDevices.getUserMedia({video:!0}),this.videoElement&&(this.videoElement.srcObject=this.stream),this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:"video/webm"}),this.mediaRecorder.start(1e3)}catch(A){console.error("Error accessing camera/microphone:",A)}})}getCapturedFrame(){return nt(this,null,function*(){try{let e=yield this.captureFrame();return this.blobToUint8Array(e)}catch(e){console.error("Error capturing frame:",e);return}})}blobToUint8Array(e){return nt(this,null,function*(){let A=yield e.arrayBuffer();return new Uint8Array(A)})}captureFrame(){return nt(this,null,function*(){return new Promise((e,A)=>{try{if(!this.videoElement){A(new Error("Video element not available"));return}let i=document.createElement("canvas");i.width=this.videoElement.videoWidth,i.height=this.videoElement.videoHeight;let n=i.getContext("2d");if(!n){A(new Error("Canvas context not supported"));return}n.drawImage(this.videoElement,0,0,i.width,i.height),i.toBlob(o=>{o?e(o):A(new Error("Failed to create image blob"))},"image/png")}catch(i){A(i)}})})}stopRecording(e){this.mediaRecorder&&this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(A=>A.stop()),this.clearVideoElement(e)}clearVideoElement(e){let A=e.nativeElement.querySelector("video");A&&this.renderer.removeChild(e.nativeElement,A)}static \u0275fac=function(A){return new(A||t)(xo(Kr))};static \u0275prov=zA({token:t,factory:t.\u0275fac,providedIn:"root"})};var dVA={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)},BVA="WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }",qm=class t extends aU{constructor(e,A){if(super(),this._socket=null,e instanceof $i)this.destination=A,this.source=e;else{let i=this._config=Object.assign({},dVA);if(this._output=new XA,typeof e=="string")i.url=e;else for(let n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new ql}}lift(e){let A=new t(this._config,this.destination);return A.operator=e,A.source=this,A}_resetState(){this._socket=null,this.source||(this.destination=new ql),this._output=new XA}multiplex(e,A,i){let n=this;return new $i(o=>{try{n.next(e())}catch(r){o.error(r)}let a=n.subscribe({next:r=>{try{i(r)&&o.next(r)}catch(s){o.error(s)}},error:r=>o.error(r),complete:()=>o.complete()});return()=>{try{n.next(A())}catch(r){o.error(r)}a.unsubscribe()}})}_connectSocket(){let{WebSocketCtor:e,protocol:A,url:i,binaryType:n}=this._config,o=this._output,a=null;try{a=A?new e(i,A):new e(i),this._socket=a,n&&(this._socket.binaryType=n)}catch(s){o.error(s);return}let r=new Jn(()=>{this._socket=null,a&&a.readyState===1&&a.close()});a.onopen=s=>{let{_socket:g}=this;if(!g){a.close(),this._resetState();return}let{openObserver:l}=this._config;l&&l.next(s);let C=this.destination;this.destination=iU.create(I=>{if(a.readyState===1)try{let{serializer:d}=this._config;a.send(d(I))}catch(d){this.destination.error(d)}},I=>{let{closingObserver:d}=this._config;d&&d.next(void 0),I&&I.code?a.close(I.code,I.reason):o.error(new TypeError(BVA)),this._resetState()},()=>{let{closingObserver:I}=this._config;I&&I.next(void 0),a.close(),this._resetState()}),C&&C instanceof ql&&r.add(C.subscribe(this.destination))},a.onerror=s=>{this._resetState(),o.error(s)},a.onclose=s=>{a===this._socket&&this._resetState();let{closeObserver:g}=this._config;g&&g.next(s),s.wasClean?o.complete():o.error(s)},a.onmessage=s=>{try{let{deserializer:g}=this._config;o.next(g(s))}catch(g){o.error(g)}}}_subscribe(e){let{source:A}=this;return A?A.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(()=>{let{_socket:i}=this;this._output.observers.length===0&&(i&&(i.readyState===1||i.readyState===0)&&i.close(),this._resetState())}),e)}unsubscribe(){let{_socket:e}=this;e&&(e.readyState===1||e.readyState===0)&&e.close(),this._resetState(),super.unsubscribe()}};var _b=class t{audioPlayingService=h(mb);socket$;messages$=new Ht("");audioBuffer=[];audioIntervalId=null;closeReasonSubject=new XA;connect(e){this.socket$=new qm({url:e,serializer:A=>JSON.stringify(A),deserializer:A=>A.data,closeObserver:{next:A=>{this.emitWsCloseReason(A.reason)}}}),this.socket$.subscribe(A=>{this.handleIncomingAudio(A),this.messages$.next(A)},A=>{console.error("WebSocket error:",A)}),this.audioIntervalId=setInterval(()=>this.playIncomingAudio(),250)}playIncomingAudio(){this.audioPlayingService.playAudio(this.audioBuffer),this.audioBuffer=[]}sendMessage(e){if(e.blob.data=this.arrayBufferToBase64(e.blob.data.buffer),!this.socket$||this.socket$.closed){console.error("WebSocket is not open.");return}this.socket$.next(e)}closeConnection(){clearInterval(this.audioIntervalId),this.audioIntervalId=null,this.socket$&&this.socket$.complete()}getMessages(){return this.messages$.asObservable()}arrayBufferToBase64(e){let A="",i=new Uint8Array(e),n=i.byteLength;for(let o=0;ot.json()).then(t=>{window.runtimeConfig=t,KU(Au,{providers:[dU(UU,Nn,JU,nb,gl,Yr,Ns),{provide:El,useClass:bb},{provide:sg,useClass:Kh},{provide:S7,useClass:fb},{provide:wb,useClass:_b},{provide:Cb,useValue:"./assets/audio-processor.js"},{provide:cb,useClass:Ib},{provide:mb,useClass:lb},{provide:pb,useClass:Fb},{provide:p8,useClass:Mb},{provide:CE,useClass:Eb},{provide:h0,useClass:Bb},{provide:u8,useClass:gb},{provide:cE,useClass:db},{provide:T2,useClass:Rb},{provide:vr,useClass:Qb},{provide:IE,useClass:ub},{provide:dE,useClass:Sb},{provide:u0,useClass:vb},{provide:f8,useClass:Db},{provide:TU,useValue:OU},{provide:zU,useValue:LgA},{provide:q7,useClass:yb},{provide:Gh,useValue:rb},...t.logo?[{provide:Z7,useValue:ab}]:[],{provide:Q0,useClass:sb},{provide:P7,useValue:$c},mT(),e4(),{provide:w8,useClass:o0},{provide:Ql,useClass:Nb},{provide:Fv,useClass:xb}]}).catch(e=>console.error(e))}); diff --git a/src/google/adk/cli/browser/styles-SI5RXIFC.css b/src/google/adk/cli/browser/styles-SI5RXIFC.css deleted file mode 100644 index d69c02fdf5..0000000000 --- a/src/google/adk/cli/browser/styles-SI5RXIFC.css +++ /dev/null @@ -1 +0,0 @@ -html,html.light-theme,html.dark-theme{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html{font-family:Google Sans,Helvetica Neue,sans-serif!important}body{height:100vh;margin:0}markdown p{margin-block-start:.5em;margin-block-end:.5em}.cdk-overlay-container{z-index:9999!important}.mat-mdc-menu-panel{z-index:10000!important}.mat-mdc-menu-panel,.mat-mdc-menu-panel .mat-mdc-menu-content{background-color:var(--mdc-dialog-container-color)!important}.mat-mdc-menu-item,.mat-mdc-menu-item .mdc-list-item__primary-text{color:var(--mdc-dialog-supporting-text-color)!important}.mat-mdc-menu-item:hover,.mat-mdc-menu-item:focus{background-color:var(--builder-tool-item-hover-background-color)!important}.mat-mdc-menu-item .mat-icon{color:var(--mdc-dialog-supporting-text-color)!important}.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--mdc-dialog-container-color) !important;--mdc-snackbar-supporting-text-color: var(--mdc-dialog-supporting-text-color) !important;--mat-snack-bar-button-color: var(--builder-text-link-color) !important}.mdc-snackbar__surface{background-color:var(--mdc-dialog-container-color)!important}.mdc-snackbar__label,.mat-mdc-snack-bar-label{color:var(--mdc-dialog-supporting-text-color)!important}.mat-mdc-snack-bar-action{color:var(--builder-text-link-color)!important}html.dark-theme{--mat-sys-primary: black;--mdc-checkbox-selected-icon-color: white;--mat-sys-background: #131314;--mat-tab-header-active-label-text-color: #8ab4f8;--mat-tab-header-active-hover-label-text-color: #8ab4f8;--mat-tab-header-active-focus-label-text-color: #8ab4f8;--mat-tab-header-label-text-weight: 500;--mdc-text-button-label-text-color: #89b4f8;--mat-select-trigger-text-color: #8ab4f8;--mat-select-panel-background-color: #2b2b2f;--mat-option-label-text-color: #e8eaed;--mat-option-hover-state-layer-color: rgba(255, 255, 255, .08);--mat-option-focus-state-layer-color: rgba(255, 255, 255, .08);--mat-option-selected-state-layer-color: rgba(138, 180, 248, .24);--mat-form-field-container-text-color: white;--mdc-filled-text-field-input-text-color: white;--mdc-filled-text-field-label-text-color: #9aa0a6;--mdc-filled-text-field-container-color: #303030;--mdc-outlined-text-field-input-text-color: white;--mdc-outlined-text-field-label-text-color: #9aa0a6;--mat-form-field-state-layer-color: white;--mdc-dialog-supporting-text-color: #e8eaed;--mat-dialog-content-text-color: #e8eaed;--mat-expansion-container-text-color: #e8eaed;--mat-expansion-header-text-color: #e8eaed;--adk-web-text-color-light-gray: #c4c7c5}html.light-theme{--mat-sys-primary: #9AA0A6;--mdc-checkbox-selected-icon-color: #305f9d;--mat-sys-background: #ffffff;--mat-tab-header-active-label-text-color: #305f9d;--mat-tab-header-active-hover-label-text-color: #305f9d;--mat-tab-header-active-focus-label-text-color: #305f9d;--mat-tab-header-label-text-weight: 500;--mdc-text-button-label-text-color: #305f9d;--mat-select-trigger-text-color: #202124;--mat-select-panel-background-color: #ffffff;--mat-option-label-text-color: #202124;--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(48, 95, 157, .12);--mat-form-field-container-text-color: #202124;--mdc-filled-text-field-input-text-color: #202124;--mdc-filled-text-field-label-text-color: #5f5e5e;--mdc-filled-text-field-container-color: #f3f0f0;--mdc-outlined-text-field-input-text-color: #202124;--mdc-outlined-text-field-label-text-color: #5f5e5e;--mat-form-field-state-layer-color: #202124;--mdc-dialog-supporting-text-color: #202124;--mat-dialog-content-text-color: #202124;--mat-expansion-container-text-color: #202124;--mat-expansion-header-text-color: #202124;--adk-web-text-color-light-gray: #c4c7c5}html.dark-theme{--mdc-dialog-subhead-font-family: "Google Sans";--mdc-dialog-subhead-font-style: normal;--mdc-dialog-subhead-font-weight: 400;--mdc-dialog-subhead-font-size: 24px;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-color: #e3e3e3;--mat-dialog-container-color: #2b2b2f;--mat-dialog-subhead-color: white}html.light-theme{--mdc-dialog-subhead-font-family: "Google Sans";--mdc-dialog-subhead-font-style: normal;--mdc-dialog-subhead-font-weight: 400;--mdc-dialog-subhead-font-size: 24px;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-color: #202124;--mat-dialog-container-color: #ffffff;--mat-dialog-subhead-color: #202124}.mat-mdc-dialog-container .mat-mdc-dialog-title.mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font-family);font-style:var(--mdc-dialog-subhead-font-style);font-weight:var(--mdc-dialog-subhead-font-weight);font-size:var(--mdc-dialog-subhead-font-size);line-height:var(--mdc-dialog-subhead-line-height);color:var(--mdc-dialog-subhead-color)}html.dark-theme{--chat-panel-function-event-button-background-color: white;--chat-panel-function-event-button-highlight-background-color: rgb( 15, 82, 35 );--chat-panel-function-event-button-highlight-border-color: rgb(15, 82, 35);--chat-panel-function-event-button-highlight-color: white;--chat-panel-user-message-message-card-background-color: #004a77;--chat-panel-user-message-message-card-color: white;--chat-panel-bot-message-message-card-background-color: #303030;--chat-panel-bot-message-message-card-color: white;--chat-panel-bot-message-focus-within-message-card-background-color: #131314;--chat-panel-bot-message-focus-within-message-card-border-color: #8ab4f8;--chat-panel-message-textarea-background-color: #303030;--chat-panel-message-textarea-focus-background-color: #131314;--chat-panel-eval-compare-container-background-color: #484848;--chat-panel-actual-result-border-right-color: #8a8686;--chat-panel-eval-response-header-border-bottom-color: #8a8686;--chat-panel-header-expected-color: #44c265;--chat-panel-header-actual-color: #ff8983;--chat-panel-eval-pass-color: #44c265;--chat-panel-eval-fail-color: #ff8983;--chat-panel-input-field-textarea-color: white;--chat-panel-input-field-textarea-placeholder-color: #8e918f;--chat-panel-input-field-textarea-caret-color: white;--chat-panel-input-field-button-color: white;--chat-panel-input-field-button-background-color: rgb(51, 53, 55);--chat-panel-mat-mdc-mini-fab-background-color: white;--chat-panel-mat-mdc-mini-fab-mat-icon-color: black;--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color: #8e918f;--chat-panel-delete-button-background-color: rgba(0, 0, 0, .7);--chat-panel-delete-button-color: white;--chat-panel-file-container-background-color: #1e1e1e;--chat-panel-thought-chip-background-color: #8ab4f8;--chat-panel-link-style-button-color: #007bff;--artifact-tab-download-button-background-color: #8ab4f8;--artifact-tab-white-separator-border-top-color: white;--artifact-tab-version-select-container-background-color: #212123;--artifact-tab-link-style-button-color: #007bff;--artifact-tab-link-style-button-hover-color: #0056b3;--artifact-tab-link-style-button-focus-outline-color: #007bff;--artifact-tab-link-style-button-active-color: #004085;--artifact-tab-link-style-button-disabled-color: #6c757d;--audio-player-container-background-color: #f0f0f0;--audio-player-container-box-shadow-color: rgba(0, 0, 0, .1);--audio-player-custom-controls-button-background-color: #007bff;--audio-player-custom-controls-button-color: white;--audio-player-custom-controls-button-hover-background-color: #0056b3;--chat-drawer-container-background-color: #131314;--chat-event-container-color: white;--chat-card-background-color: #131314;--chat-function-event-button-background-color: white;--chat-function-event-button-highlight-background-color: rgb(15, 82, 35);--chat-function-event-button-highlight-border-color: rgb(15, 82, 35);--chat-function-event-button-highlight-color: white;--chat-user-message-message-card-background-color: #004a77;--chat-user-message-message-card-color: white;--chat-bot-message-message-card-background-color: #303030;--chat-bot-message-message-card-color: white;--chat-bot-message-focus-within-message-card-background-color: #131314;--chat-bot-message-focus-within-message-card-border-color: #8ab4f8;--chat-message-textarea-background-color: #303030;--chat-message-textarea-focus-background-color: #131314;--chat-eval-compare-container-background-color: #484848;--chat-actual-result-border-right-color: #8a8686;--chat-eval-response-header-border-bottom-color: #8a8686;--chat-header-expected-color: #44c265;--chat-header-actual-color: #ff8983;--chat-eval-pass-color: #44c265;--chat-eval-fail-color: #ff8983;--chat-side-drawer-background-color: #1b1b1b;--chat-side-drawer-color: white;--chat-file-item-background-color: #eee;--chat-empty-state-container-color: #eee;--chat-warning-color: #ffc185;--chat-error-color: #ff4545;--chat-mat-mdc-unelevated-button-color: #202124;--chat-mat-mdc-unelevated-button-background-color: #8ab4f8;--chat-mdc-linear-progress-buffer-dots-background-color: white;--chat-mat-mdc-text-field-wrapper-border-color: #8e918f;--chat-segment-key-color: lightgray;--chat-bottom-resize-handler-background-color: #5f6368;--chat-readonly-badge-background-color: #ff8983;--chat-readonly-badge-color: #202124;--chat-trace-detail-container-background-color: #1b1b1b;--chat-toolbar-background-color: #1b1b1b;--chat-toolbar-edit-mode-background-color: #44c2651a;--chat-toolbar-session-text-color: #fdfdfd;--chat-toolbar-session-id-color: #9aa0a6;--chat-toolbar-icon-color: #c4c7c5;--chat-toolbar-new-session-color: #9aa0a6;--chat-toolbar-sse-toggle-label-text-color: #e8eaed;--chat-toolbar-sse-toggle-unselected-track-color: #5f6368;--chat-toolbar-sse-toggle-unselected-handle-color: #9aa0a6;--chat-toolbar-sse-toggle-selected-track-color: #8ab4f9;--chat-toolbar-sse-toggle-selected-handle-color: #1b73e8;--chat-toolbar-sse-toggle-track-outline-color: #1b73e8;--chat-mat-drawer-border-right-color: #444746;--edit-json-dialog-container-box-shadow-color: rgba(0, 0, 0, .4);--eval-tab-eval-set-actions-color: #9aa0a6;--eval-tab-empty-eval-info-background-color: #202124;--eval-tab-empty-eval-info-box-shadow-color1: rgba(0, 0, 0, .15);--eval-tab-empty-eval-info-box-shadow-color2: rgba(0, 0, 0, .3);--eval-tab-info-title-color: #e8eaed;--eval-tab-info-detail-color: #e8eaed;--eval-tab-info-create-color: #8ab4f8;--eval-tab-selected-eval-case-color: #8ab4f8;--eval-tab-save-session-btn-background-color1: rgba(138, 180, 248, .24);--eval-tab-save-session-btn-background-color2: #202124;--eval-tab-save-session-btn-text-color: #d2e3fc;--eval-tab-run-eval-btn-border-color: #5f6368;--eval-tab-run-eval-btn-color: #8ab4f8;--eval-tab-run-eval-btn-hover-background-color: #202124;--eval-tab-result-btn-border-color: #5f6368;--eval-tab-result-btn-hover-background-color: #202124;--eval-tab-result-btn-pass-color: #44c265;--eval-tab-result-btn-fail-color: #ff8983;--eval-tab-status-card-background-color: #2d2d2d;--eval-tab-status-card-timestamp-color: #e0e0e0;--eval-tab-status-card-metric-color: #bbb;--eval-tab-status-card-failed-color: #ff6b6b;--eval-tab-status-card-separator-color: #666;--eval-tab-status-card-passed-color: #63e6be;--eval-tab-status-card-action-mat-icon-color: #bdbdbd;--eval-tab-status-card-icon-color: #bdbdbd;--run-eval-config-dialog-container-box-shadow-color: rgba(0, 0, 0, .4);--run-eval-config-dialog-threshold-slider-active-track-color: #4285f4;--run-eval-config-dialog-threshold-slider-inactive-track-color: #616161;--run-eval-config-dialog-threshold-slider-handle-color: #4285f4;--run-eval-config-dialog-threshold-slider-ripple-color: #4285f4;--run-eval-config-dialog-mdc-slider-thumb-background-color: black;--event-tab-events-wrapper-color: #9aa0a6;--event-tab-event-index-color: #80868b;--event-tab-event-list-active-indicator-color: orange;--event-tab-event-list-list-item-container-color: #2b2b2f;--event-tab-mdc-list-item-border-color: #5f6368;--event-tab-mdc-list-item-hover-background-color: #1c1b1c;--trace-chart-trace-label-color: #e3e3e3;--trace-chart-trace-bar-background-color: #2f4d65;--trace-chart-trace-bar-color: #8dabbf;--trace-chart-trace-duration-color: #888;--trace-chart-vertical-line-background-color: #ccc;--trace-chart-horizontal-line-background-color: #ccc;--session-tab-session-wrapper-color: #9aa0a6;--session-tab-session-item-background-color: #303030;--session-tab-session-item-hover-background-color: #141414;--session-tab-session-item-current-background-color: #004a77;--session-tab-session-id-color: #e8eaed;--session-tab-session-date-color: #9aa0a6;--side-panel-button-filled-container-color: #89b4f8;--side-panel-button-filled-label-text-color: black;--side-panel-mat-icon-color: #bdc1c6;--side-panel-resize-handler-background-color: #5f6368;--side-panel-details-panel-container-background-color: #242424;--side-panel-details-content-color: white;--side-panel-powered-by-adk-color: grey;--side-panel-app-select-container-background-color: #212123;--side-panel-select-placeholder-text-color: #8ab4f8;--side-panel-select-enabled-trigger-text-color: #8ab4f8;--side-panel-select-enabled-arrow-color: #8ab4f8;--side-panel-app-name-option-color: #9aa0a6;--trace-tab-trace-title-color: #9aa0a6;--trace-tab-trace-label-color: #e3e3e3;--trace-tab-trace-bar-background-color: #2f4d65;--trace-tab-trace-bar-color: #8dabbf;--trace-tab-trace-duration-color: #888;--trace-tab-vertical-line-background-color: #ccc;--trace-tab-horizontal-line-background-color: #ccc;--trace-tab-trace-item-container-background-color: #333537;--trace-tab-trace-item-header-focus-state-layer-color: rgba(138, 180, 248, .12);--trace-tab-trace-item-header-description-color: #8e918f;--trace-tab-mat-expansion-panel-header-focus-background-color: #444746;--trace-tab-mat-expansion-panel-header-background-color: #444746;--trace-tab-mat-expansion-panel-header-hover-background-color: #444746;--trace-event-json-viewer-container-background-color: #1b1b1b;--trace-tree-trace-label-color: #e3e3e3;--trace-tree-trace-bar-background-color: #2f4d65;--trace-tree-trace-bar-color: #8dabbf;--trace-tree-short-trace-bar-duration-color: #8dabbf;--trace-tree-trace-duration-color: #888;--trace-tree-trace-row-hover-background-color: #3b3d3c;--trace-tree-trace-row-selected-background-color: #3b3d3c;--trace-tree-vertical-line-background-color: #ccc;--trace-tree-horizontal-line-background-color: #ccc;--trace-tree-invocation-id-container-color: #9aa0a6;--trace-tree-trace-row-left-span-div-color: white;--trace-tree-trace-row-left-is-event-row-color: #8ab4f8;--builder-container-background-color: #131314;--builder-panel-background-color: #202124;--builder-tabs-background-color: #202124;--builder-card-background-color: #303030;--builder-secondary-background-color: #333537;--builder-tertiary-background-color: #1b1b1b;--builder-hover-background-color: #141414;--builder-border-color: #444746;--builder-text-primary-color: #e8eaed;--builder-text-secondary-color: #9aa0a6;--builder-text-tertiary-color: #c4c7c5;--builder-text-muted-color: #5c5f5e;--builder-text-link-color: #aecbfa;--builder-breadcrumb-separator-color: #666;--builder-form-field-background-color: #333537;--builder-tool-chip-background-color: #303030;--builder-tool-chip-hover-color: #3c4043;--builder-callback-chip-background-color: #333537;--builder-callback-chip-text-color: #f1f3f4;--builder-callback-chip-type-color: #8f9aa6;--builder-callback-chip-name-color: #f5f7f9;--builder-expansion-background-color: #333537;--builder-expansion-header-description-color: #8e918f;--builder-expansion-hover-color: #444746;--builder-menu-background-color: #303030;--builder-menu-item-hover-color: #444746;--builder-menu-divider-color: #444746;--builder-button-primary-background-color: #8ab4f8;--builder-button-primary-text-color: #202124;--builder-button-primary-hover-color: #aecbfa;--builder-button-secondary-text-color: #9aa0a6;--builder-button-secondary-border-color: rgba(154, 160, 166, .3);--builder-button-secondary-hover-background-color: rgba(154, 160, 166, .1);--builder-button-secondary-hover-text-color: #e8eaed;--builder-add-button-background-color: rgba(138, 180, 248, .24);--builder-add-button-text-color: #d2e3fc;--builder-icon-color: #f1f3f4;--builder-assistant-panel-background-color: #2b2b2b;--builder-assistant-panel-header-background-color: #292929;--builder-assistant-panel-border-color: #3c3c3c;--builder-assistant-input-background-color: #1a1a1a;--builder-assistant-input-text-color: #e0e0e0;--builder-assistant-input-placeholder-color: #808080;--builder-assistant-user-message-background-color: #1a1a1a;--builder-assistant-user-message-border-color: #404040;--builder-assistant-user-message-text-color: #e3e3e3;--builder-assistant-bot-message-text-color: #d4d4d4;--builder-assistant-send-button-color: #888888;--builder-assistant-send-button-hover-color: #b0b0b0;--builder-assistant-send-button-disabled-color: #4a4a4a;--builder-canvas-container-background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 100%);--builder-canvas-shadow: 0 8px 32px rgba(0, 0, 0, .4);--builder-canvas-header-background: linear-gradient(90deg, #1e1e1e 0%, #2a2a2a 100%);--builder-canvas-header-title-gradient: linear-gradient(45deg, #8ab4f8, #4285f4);--builder-canvas-workspace-background: #131314;--builder-canvas-instruction-background: rgba(19, 19, 20, .9);--builder-canvas-instruction-border: rgba(138, 180, 248, .2);--builder-canvas-node-background: rgba(85, 107, 116, .4);--builder-canvas-node-border: #474747;--builder-canvas-node-hover-border: #666;--builder-canvas-node-chip-outline: rgba(255, 255, 255, .1);--builder-canvas-node-badge-background: linear-gradient(135deg, rgba(0, 187, 234, .2), rgba(0, 78, 122, .4));--builder-canvas-group-background: #1c1c1c;--builder-canvas-group-border: #3e3e3e;--builder-canvas-handle-fill: rgba(0, 0, 0, 1);--builder-canvas-reconnect-handle-fill: rgba(0, 187, 234, .15);--builder-canvas-workflow-chip-background: rgba(0, 187, 234, .2);--builder-canvas-workflow-chip-border: rgba(0, 187, 234, .4);--builder-canvas-add-btn-background: radial-gradient(circle at 50% 50%, #1f2330 0%, #131314 100%);--builder-canvas-add-btn-hover-background: radial-gradient(circle at 50% 50%, #222a3a 0%, #16181d 100%);--builder-canvas-add-btn-shadow: 0 4px 12px rgba(0, 187, 234, .35);--builder-canvas-empty-group-background: rgba(255, 255, 255, .02);--builder-canvas-empty-group-border: rgba(0, 187, 234, .3);--builder-canvas-empty-group-hover-background: rgba(255, 255, 255, .04);--builder-canvas-empty-group-hover-border: rgba(0, 187, 234, .5);--builder-canvas-empty-group-btn-background: rgba(0, 187, 234, .1);--builder-canvas-empty-group-btn-hover-background: rgba(0, 187, 234, .2);--builder-button-background-color: rgba(138, 180, 248, .1);--builder-button-border-color: rgba(138, 180, 248, .3);--builder-button-text-color: #8ab4f8;--builder-button-hover-background-color: rgba(138, 180, 248, .2);--builder-button-hover-border-color: #8ab4f8;--builder-item-hover-color: rgba(138, 180, 248, .1);--builder-chip-background-color: rgba(138, 180, 248, .2);--builder-accent-color: #00bbea;--builder-tool-item-background-color: rgba(255, 255, 255, .05);--builder-tool-item-border-color: rgba(255, 255, 255, .1);--builder-tool-item-hover-background-color: rgba(255, 255, 255, .1);--mat-table-row-item-label-text-color: #fff;--mat-table-header-headline-color: #fff;--mat-progress-spinner-active-indicator-color: #a8c7fa;--mat-progress-spinner-size: 80}html.light-theme{--chat-panel-function-event-button-background-color: #202124;--chat-panel-function-event-button-highlight-background-color: #0f5223;--chat-panel-function-event-button-highlight-border-color: #0f5223;--chat-panel-function-event-button-highlight-color: white;--chat-panel-user-message-message-card-background-color: #d5e3ff;--chat-panel-user-message-message-card-color: #202124;--chat-panel-bot-message-message-card-background-color: #f3f0f0;--chat-panel-bot-message-message-card-color: #202124;--chat-panel-bot-message-focus-within-message-card-background-color: #ffffff;--chat-panel-bot-message-focus-within-message-card-border-color: #305f9d;--chat-panel-message-textarea-background-color: #f3f0f0;--chat-panel-message-textarea-focus-background-color: #ffffff;--chat-panel-eval-compare-container-background-color: #e5e2e2;--chat-panel-actual-result-border-right-color: #c8c6c6;--chat-panel-eval-response-header-border-bottom-color: #c8c6c6;--chat-panel-header-expected-color: #0f5223;--chat-panel-header-actual-color: #ba1a1a;--chat-panel-eval-pass-color: #0f5223;--chat-panel-eval-fail-color: #ba1a1a;--chat-panel-input-field-textarea-color: #202124;--chat-panel-input-field-textarea-placeholder-color: #5f5e5e;--chat-panel-input-field-textarea-caret-color: #202124;--chat-panel-input-field-button-color: #202124;--chat-panel-input-field-button-background-color: #e5e2e2;--chat-panel-mat-mdc-mini-fab-background-color: #305f9d;--chat-panel-mat-mdc-mini-fab-mat-icon-color: white;--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color: #adabab;--chat-panel-delete-button-background-color: rgba(255, 255, 255, .9);--chat-panel-delete-button-color: #202124;--chat-panel-file-container-background-color: #f3f0f0;--chat-panel-thought-chip-background-color: #305f9d;--chat-panel-link-style-button-color: #305f9d;--artifact-tab-download-button-background-color: #305f9d;--artifact-tab-white-separator-border-top-color: #202124;--artifact-tab-version-select-container-background-color: #f3f0f0;--artifact-tab-link-style-button-color: #305f9d;--artifact-tab-link-style-button-hover-color: #0f4784;--artifact-tab-link-style-button-focus-outline-color: #305f9d;--artifact-tab-link-style-button-active-color: #003061;--artifact-tab-link-style-button-disabled-color: #929090;--audio-player-container-background-color: #f3f0f0;--audio-player-container-box-shadow-color: rgba(0, 0, 0, .1);--audio-player-custom-controls-button-background-color: #305f9d;--audio-player-custom-controls-button-color: white;--audio-player-custom-controls-button-hover-background-color: #0f4784;--chat-drawer-container-background-color: #ffffff;--chat-event-container-color: #202124;--chat-card-background-color: #ffffff;--chat-function-event-button-background-color: #202124;--chat-function-event-button-highlight-background-color: #0f5223;--chat-function-event-button-highlight-border-color: #0f5223;--chat-function-event-button-highlight-color: white;--chat-user-message-message-card-background-color: #d5e3ff;--chat-user-message-message-card-color: #202124;--chat-bot-message-message-card-background-color: #f3f0f0;--chat-bot-message-message-card-color: #202124;--chat-bot-message-focus-within-message-card-background-color: #ffffff;--chat-bot-message-focus-within-message-card-border-color: #305f9d;--chat-message-textarea-background-color: #f3f0f0;--chat-message-textarea-focus-background-color: #ffffff;--chat-eval-compare-container-background-color: #e5e2e2;--chat-actual-result-border-right-color: #c8c6c6;--chat-eval-response-header-border-bottom-color: #c8c6c6;--chat-header-expected-color: #0f5223;--chat-header-actual-color: #ba1a1a;--chat-eval-pass-color: #0f5223;--chat-eval-fail-color: #ba1a1a;--chat-side-drawer-background-color: #f3f0f0;--chat-side-drawer-color: #202124;--chat-file-item-background-color: #e5e2e2;--chat-empty-state-container-color: #202124;--chat-warning-color: #93000a;--chat-error-color: #ba1a1a;--chat-mat-mdc-unelevated-button-color: white;--chat-mat-mdc-unelevated-button-background-color: #305f9d;--chat-mdc-linear-progress-buffer-dots-background-color: #202124;--chat-mat-mdc-text-field-wrapper-border-color: #adabab;--chat-segment-key-color: #5f5e5e;--chat-bottom-resize-handler-background-color: #adabab;--chat-readonly-badge-background-color: #ba1a1a;--chat-readonly-badge-color: white;--chat-trace-detail-container-background-color: #f3f0f0;--chat-toolbar-background-color: #f3f0f0;--chat-toolbar-edit-mode-background-color: rgba(15, 82, 35, .1);--chat-toolbar-session-text-color: #202124;--chat-toolbar-session-id-color: #5f5e5e;--chat-toolbar-icon-color: #5f5e5e;--chat-toolbar-new-session-color: #5f5e5e;--chat-toolbar-sse-toggle-label-text-color: #202124;--chat-toolbar-sse-toggle-unselected-track-color: #c8c6c6;--chat-toolbar-sse-toggle-unselected-handle-color: #5f5e5e;--chat-toolbar-sse-toggle-selected-track-color: #82adf0;--chat-toolbar-sse-toggle-selected-handle-color: #305f9d;--chat-toolbar-sse-toggle-track-outline-color: #305f9d;--chat-mat-drawer-border-right-color: #c8c6c6;--edit-json-dialog-container-box-shadow-color: rgba(0, 0, 0, .2);--eval-tab-eval-set-actions-color: #5f5e5e;--eval-tab-empty-eval-info-background-color: #f3f0f0;--eval-tab-empty-eval-info-box-shadow-color1: rgba(0, 0, 0, .08);--eval-tab-empty-eval-info-box-shadow-color2: rgba(0, 0, 0, .15);--eval-tab-info-title-color: #202124;--eval-tab-info-detail-color: #202124;--eval-tab-info-create-color: #305f9d;--eval-tab-selected-eval-case-color: #305f9d;--eval-tab-save-session-btn-background-color1: rgba(48, 95, 157, .12);--eval-tab-save-session-btn-background-color2: #f3f0f0;--eval-tab-save-session-btn-text-color: #0f4784;--eval-tab-run-eval-btn-border-color: #adabab;--eval-tab-run-eval-btn-color: #305f9d;--eval-tab-run-eval-btn-hover-background-color: #f3f0f0;--eval-tab-result-btn-border-color: #adabab;--eval-tab-result-btn-hover-background-color: #f3f0f0;--eval-tab-result-btn-pass-color: #0f5223;--eval-tab-result-btn-fail-color: #ba1a1a;--eval-tab-status-card-background-color: #f3f0f0;--eval-tab-status-card-timestamp-color: #5f5e5e;--eval-tab-status-card-metric-color: #787777;--eval-tab-status-card-failed-color: #ba1a1a;--eval-tab-status-card-separator-color: #c8c6c6;--eval-tab-status-card-passed-color: #0f5223;--eval-tab-status-card-action-mat-icon-color: #5f5e5e;--eval-tab-status-card-icon-color: #5f5e5e;--run-eval-config-dialog-container-box-shadow-color: rgba(0, 0, 0, .2);--run-eval-config-dialog-threshold-slider-active-track-color: #305f9d;--run-eval-config-dialog-threshold-slider-inactive-track-color: #c8c6c6;--run-eval-config-dialog-threshold-slider-handle-color: #305f9d;--run-eval-config-dialog-threshold-slider-ripple-color: #305f9d;--run-eval-config-dialog-mdc-slider-thumb-background-color: white;--event-tab-events-wrapper-color: #5f5e5e;--event-tab-event-index-color: #787777;--event-tab-event-list-active-indicator-color: #ff5449;--event-tab-event-list-list-item-container-color: #f3f0f0;--event-tab-mdc-list-item-border-color: #c8c6c6;--event-tab-mdc-list-item-hover-background-color: #e5e2e2;--trace-chart-trace-label-color: #202124;--trace-chart-trace-bar-background-color: #a7c8ff;--trace-chart-trace-bar-color: #305f9d;--trace-chart-trace-duration-color: #787777;--trace-chart-vertical-line-background-color: #c8c6c6;--trace-chart-horizontal-line-background-color: #c8c6c6;--session-tab-session-wrapper-color: #5f5e5e;--session-tab-session-item-background-color: #f3f0f0;--session-tab-session-item-hover-background-color: #e5e2e2;--session-tab-session-item-current-background-color: #d5e3ff;--session-tab-session-id-color: #202124;--session-tab-session-date-color: #5f5e5e;--side-panel-button-filled-container-color: #305f9d;--side-panel-button-filled-label-text-color: white;--side-panel-mat-icon-color: #5f5e5e;--side-panel-resize-handler-background-color: #adabab;--side-panel-details-panel-container-background-color: #f3f0f0;--side-panel-details-content-color: #202124;--side-panel-powered-by-adk-color: #787777;--side-panel-app-select-container-background-color: #ffffff;--side-panel-select-placeholder-text-color: #305f9d;--side-panel-select-enabled-trigger-text-color: #305f9d;--side-panel-select-enabled-arrow-color: #305f9d;--side-panel-app-name-option-color: #5f5e5e;--trace-tab-trace-title-color: #5f5e5e;--trace-tab-trace-label-color: #202124;--trace-tab-trace-bar-background-color: #a7c8ff;--trace-tab-trace-bar-color: #305f9d;--trace-tab-trace-duration-color: #787777;--trace-tab-vertical-line-background-color: #c8c6c6;--trace-tab-horizontal-line-background-color: #c8c6c6;--trace-tab-trace-item-container-background-color: #f3f0f0;--trace-tab-trace-item-header-focus-state-layer-color: rgba(48, 95, 157, .12);--trace-tab-trace-item-header-description-color: #787777;--trace-tab-mat-expansion-panel-header-focus-background-color: #e5e2e2;--trace-tab-mat-expansion-panel-header-background-color: #e5e2e2;--trace-tab-mat-expansion-panel-header-hover-background-color: #e5e2e2;--trace-event-json-viewer-container-background-color: #ffffff;--trace-tree-trace-label-color: #202124;--trace-tree-trace-bar-background-color: #a7c8ff;--trace-tree-trace-bar-color: #305f9d;--trace-tree-short-trace-bar-duration-color: #305f9d;--trace-tree-trace-duration-color: #787777;--trace-tree-trace-row-hover-background-color: #e5e2e2;--trace-tree-trace-row-selected-background-color: #e5e2e2;--trace-tree-vertical-line-background-color: #c8c6c6;--trace-tree-horizontal-line-background-color: #c8c6c6;--trace-tree-invocation-id-container-color: #5f5e5e;--trace-tree-trace-row-left-span-div-color: #202124;--trace-tree-trace-row-left-is-event-row-color: #305f9d;--builder-container-background-color: #ffffff;--builder-panel-background-color: #f3f0f0;--builder-tabs-background-color: #f3f0f0;--builder-card-background-color: #ffffff;--builder-secondary-background-color: #e5e2e2;--builder-tertiary-background-color: #f3f0f0;--builder-hover-background-color: #dcd9d9;--builder-border-color: #c8c6c6;--builder-text-primary-color: #202124;--builder-text-secondary-color: #5f5e5e;--builder-text-tertiary-color: #787777;--builder-text-muted-color: #929090;--builder-text-link-color: #305f9d;--builder-breadcrumb-separator-color: #c8c6c6;--builder-form-field-background-color: #e5e2e2;--builder-tool-chip-background-color: #ffffff;--builder-tool-chip-hover-color: #e5e2e2;--builder-callback-chip-background-color: #e5e2e2;--builder-callback-chip-text-color: #202124;--builder-callback-chip-type-color: #5f5e5e;--builder-callback-chip-name-color: #202124;--builder-expansion-background-color: #e5e2e2;--builder-expansion-header-description-color: #787777;--builder-expansion-hover-color: #dcd9d9;--builder-menu-background-color: #ffffff;--builder-menu-item-hover-color: #e5e2e2;--builder-menu-divider-color: #c8c6c6;--builder-button-primary-background-color: #305f9d;--builder-button-primary-text-color: #ffffff;--builder-button-primary-hover-color: #0f4784;--builder-button-secondary-text-color: #5f5e5e;--builder-button-secondary-border-color: rgba(95, 94, 94, .3);--builder-button-secondary-hover-background-color: rgba(95, 94, 94, .1);--builder-button-secondary-hover-text-color: #202124;--builder-add-button-background-color: rgba(48, 95, 157, .12);--builder-add-button-text-color: #0f4784;--builder-icon-color: #202124;--builder-assistant-panel-background-color: #f3f0f0;--builder-assistant-panel-header-background-color: #e5e2e2;--builder-assistant-panel-border-color: #c8c6c6;--builder-assistant-input-background-color: #ffffff;--builder-assistant-input-text-color: #202124;--builder-assistant-input-placeholder-color: #929090;--builder-assistant-user-message-background-color: #d5e3ff;--builder-assistant-user-message-border-color: #a7c8ff;--builder-assistant-user-message-text-color: #202124;--builder-assistant-bot-message-text-color: #202124;--builder-assistant-send-button-color: #5f5e5e;--builder-assistant-send-button-hover-color: #305f9d;--builder-assistant-send-button-disabled-color: #c8c6c6;--builder-canvas-container-background: linear-gradient(135deg, #f8f9fa 0%, #e8eaed 100%);--builder-canvas-shadow: 0 8px 32px rgba(0, 0, 0, .1);--builder-canvas-header-background: linear-gradient(90deg, #ffffff 0%, #f3f0f0 100%);--builder-canvas-header-title-gradient: linear-gradient(45deg, #305f9d, #0f4784);--builder-canvas-workspace-background: #ffffff;--builder-canvas-instruction-background: rgba(255, 255, 255, .95);--builder-canvas-instruction-border: rgba(48, 95, 157, .3);--builder-canvas-node-background: rgba(229, 226, 226, .6);--builder-canvas-node-border: #c8c6c6;--builder-canvas-node-hover-border: #adabab;--builder-canvas-node-chip-outline: rgba(200, 198, 198, .3);--builder-canvas-node-badge-background: linear-gradient(135deg, rgba(48, 95, 157, .15), rgba(15, 71, 132, .2));--builder-canvas-group-background: #f3f0f0;--builder-canvas-group-border: #c8c6c6;--builder-canvas-handle-fill: rgba(255, 255, 255, 1);--builder-canvas-reconnect-handle-fill: rgba(48, 95, 157, .15);--builder-canvas-workflow-chip-background: rgba(48, 95, 157, .15);--builder-canvas-workflow-chip-border: rgba(48, 95, 157, .3);--builder-canvas-add-btn-background: radial-gradient(circle at 50% 50%, #ffffff 0%, #f8f9fa 100%);--builder-canvas-add-btn-hover-background: radial-gradient(circle at 50% 50%, #f3f0f0 0%, #e8eaed 100%);--builder-canvas-add-btn-shadow: 0 4px 12px rgba(48, 95, 157, .25);--builder-canvas-empty-group-background: rgba(48, 95, 157, .03);--builder-canvas-empty-group-border: rgba(48, 95, 157, .3);--builder-canvas-empty-group-hover-background: rgba(48, 95, 157, .06);--builder-canvas-empty-group-hover-border: rgba(48, 95, 157, .5);--builder-canvas-empty-group-btn-background: rgba(48, 95, 157, .1);--builder-canvas-empty-group-btn-hover-background: rgba(48, 95, 157, .2);--builder-button-background-color: rgba(48, 95, 157, .1);--builder-button-border-color: rgba(48, 95, 157, .3);--builder-button-text-color: #305f9d;--builder-button-hover-background-color: rgba(48, 95, 157, .2);--builder-button-hover-border-color: #305f9d;--builder-item-hover-color: rgba(48, 95, 157, .1);--builder-chip-background-color: rgba(48, 95, 157, .15);--builder-accent-color: #305f9d;--builder-tool-item-background-color: #f6f3f3;--builder-tool-item-border-color: #c8c6c6;--builder-tool-item-hover-background-color: #dcd9d9;--mat-progress-spinner-active-indicator-color: #305f9d;--mat-progress-spinner-size: 80}html.dark-theme{--mat-form-field-disabled-input-text-placeholder-color: orange;--mat-form-field-filled-active-indicator-color: red;--mat-form-field-outlined-outline-color: #cccccc;--mat-form-field-outlined-input-text-color: #cccccc;--mat-form-field-outlined-label-text-color: #cccccc;--mat-form-field-outlined-hover-label-text-color: #cccccc;--mat-form-field-outlined-focus-label-text-color: #cccccc;--mat-form-field-outlined-disabled-label-text-color: #cccccc;--mat-form-field-outlined-disabled-input-text-color: #cccccc;--mat-form-field-outlined-disabled-outline-color: #cccccc;--mat-form-field-outlined-caret-color: #cccccc}html.light-theme{--mat-form-field-disabled-input-text-placeholder-color: #ff8983;--mat-form-field-filled-active-indicator-color: #ba1a1a;--mat-form-field-outlined-outline-color: #787777;--mat-form-field-outlined-input-text-color: #202124;--mat-form-field-outlined-label-text-color: #5f5e5e;--mat-form-field-outlined-hover-label-text-color: #202124;--mat-form-field-outlined-focus-label-text-color: #305f9d;--mat-form-field-outlined-disabled-label-text-color: #929090;--mat-form-field-outlined-disabled-input-text-color: #929090;--mat-form-field-outlined-disabled-outline-color: #c8c6c6;--mat-form-field-outlined-caret-color: #305f9d}.mdc-line-ripple{display:none}.mat-mdc-tooltip{z-index:10000!important;max-width:300px}.mat-mdc-select-panel{background-color:var(--mat-select-panel-background-color)!important}html.light-theme .mat-expansion-panel{box-shadow:none!important;border:1px solid #e0e0e0;border-radius:4px!important}html.light-theme .mat-expansion-panel:not(:last-child){margin-bottom:8px}html.light-theme .mat-expansion-panel-header{border-bottom:none!important}html.dark-theme .mat-expansion-panel{box-shadow:none!important;border:1px solid #444746;border-radius:4px!important}html.dark-theme .mat-expansion-panel:not(:last-child){margin-bottom:8px}html.dark-theme .mat-expansion-panel-header{border-bottom:none!important}.wide-agent-dropdown-panel{padding:0!important}.wide-agent-dropdown-panel .search-option{position:sticky!important;top:0!important;z-index:1000!important;opacity:1!important;padding-top:8px;padding-bottom:8px}.wide-agent-dropdown-panel span{width:100%}html.dark-theme .wide-agent-dropdown-panel .search-option{background-color:#2b2b2f!important}html.dark-theme .wide-agent-dropdown-panel .search-option input{caret-color:#fff!important}html.light-theme .wide-agent-dropdown-panel .search-option{background-color:#fff!important}.function-args-tooltip .mdc-tooltip__surface{background-color:#333!important;color:#fff!important;border:2px solid #666!important;border-radius:2px!important;padding:8px 12px!important;font-family:Courier New,monospace!important;font-size:12px!important;white-space:pre-wrap!important;max-width:800px!important;line-height:1.2!important;box-shadow:0 2px 8px #0000004d!important}html.dark-theme{--chat-panel-event-number-label-color: rgba(255, 255, 255, .8)}html.light-theme{--chat-panel-event-number-label-color: #5f6368}.json-key{color:#9876aa;font-weight:600}.json-string{color:#6a8759}.json-number{color:#6897bb}.json-boolean{color:#cc7832}.json-null{color:gray}.json-tooltip-panel{background-color:#333!important;color:#fff!important;border:2px solid #666!important;border-radius:4px!important;padding:8px 12px!important;box-shadow:0 2px 8px #0000004d!important;max-width:800px!important} diff --git a/src/google/adk/cli/browser/styles-YY6V3TJU.css b/src/google/adk/cli/browser/styles-YY6V3TJU.css new file mode 100644 index 0000000000..865cbf169e --- /dev/null +++ b/src/google/adk/cli/browser/styles-YY6V3TJU.css @@ -0,0 +1 @@ +html,html.light-theme,html.dark-theme{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html{font-family:Google Sans,Helvetica Neue,sans-serif!important}body{height:100vh;margin:0}markdown p{margin-block-start:.5em;margin-block-end:.5em}.cdk-overlay-container{z-index:9999!important}.mat-mdc-menu-panel{z-index:10000!important}.mat-mdc-menu-panel,.mat-mdc-menu-panel .mat-mdc-menu-content{background-color:var(--mdc-dialog-container-color)!important}.mat-mdc-menu-item,.mat-mdc-menu-item .mdc-list-item__primary-text{color:var(--mdc-dialog-supporting-text-color)!important}.mat-mdc-menu-item:hover,.mat-mdc-menu-item:focus{background-color:var(--builder-tool-item-hover-background-color)!important}.mat-mdc-menu-item .mat-icon{color:var(--mdc-dialog-supporting-text-color)!important}.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--mdc-dialog-container-color) !important;--mdc-snackbar-supporting-text-color: var(--mdc-dialog-supporting-text-color) !important;--mat-snack-bar-button-color: var(--builder-text-link-color) !important}.mdc-snackbar__surface{background-color:var(--mdc-dialog-container-color)!important}.mdc-snackbar__label,.mat-mdc-snack-bar-label{color:var(--mdc-dialog-supporting-text-color)!important}.mat-mdc-snack-bar-action{color:var(--builder-text-link-color)!important}html.dark-theme{--mat-sys-primary: black;--mdc-checkbox-selected-icon-color: white;--mat-sys-background: #131314;--mat-tab-header-active-label-text-color: #8ab4f8;--mat-tab-header-active-hover-label-text-color: #8ab4f8;--mat-tab-header-active-focus-label-text-color: #8ab4f8;--mat-tab-header-label-text-weight: 500;--mdc-text-button-label-text-color: #89b4f8;--mat-select-trigger-text-color: #8ab4f8;--mat-select-panel-background-color: #2b2b2f;--mat-option-label-text-color: #e8eaed;--mat-option-hover-state-layer-color: rgba(255, 255, 255, .08);--mat-option-focus-state-layer-color: rgba(255, 255, 255, .08);--mat-option-selected-state-layer-color: rgba(138, 180, 248, .24);--mat-form-field-container-text-color: white;--mdc-filled-text-field-input-text-color: white;--mdc-filled-text-field-label-text-color: #9aa0a6;--mdc-filled-text-field-container-color: #303030;--mdc-outlined-text-field-input-text-color: white;--mdc-outlined-text-field-label-text-color: #9aa0a6;--mat-form-field-state-layer-color: white;--mdc-dialog-supporting-text-color: #e8eaed;--mat-dialog-content-text-color: #e8eaed;--mat-expansion-container-text-color: #e8eaed;--mat-expansion-header-text-color: #e8eaed;--adk-web-text-color-light-gray: #c4c7c5}html.light-theme{--mat-sys-primary: #9AA0A6;--mdc-checkbox-selected-icon-color: #305f9d;--mat-sys-background: #ffffff;--mat-tab-header-active-label-text-color: #305f9d;--mat-tab-header-active-hover-label-text-color: #305f9d;--mat-tab-header-active-focus-label-text-color: #305f9d;--mat-tab-header-label-text-weight: 500;--mdc-text-button-label-text-color: #305f9d;--mat-select-trigger-text-color: #202124;--mat-select-panel-background-color: #ffffff;--mat-option-label-text-color: #202124;--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(48, 95, 157, .12);--mat-form-field-container-text-color: #202124;--mdc-filled-text-field-input-text-color: #202124;--mdc-filled-text-field-label-text-color: #5f5e5e;--mdc-filled-text-field-container-color: #f3f0f0;--mdc-outlined-text-field-input-text-color: #202124;--mdc-outlined-text-field-label-text-color: #5f5e5e;--mat-form-field-state-layer-color: #202124;--mdc-dialog-supporting-text-color: #202124;--mat-dialog-content-text-color: #202124;--mat-expansion-container-text-color: #202124;--mat-expansion-header-text-color: #202124;--adk-web-text-color-light-gray: #c4c7c5}html.dark-theme{--mdc-dialog-subhead-font-family: "Google Sans";--mdc-dialog-subhead-font-style: normal;--mdc-dialog-subhead-font-weight: 400;--mdc-dialog-subhead-font-size: 24px;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-color: #e3e3e3;--mat-dialog-container-color: #2b2b2f;--mat-dialog-subhead-color: white}html.light-theme{--mdc-dialog-subhead-font-family: "Google Sans";--mdc-dialog-subhead-font-style: normal;--mdc-dialog-subhead-font-weight: 400;--mdc-dialog-subhead-font-size: 24px;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-color: #202124;--mat-dialog-container-color: #ffffff;--mat-dialog-subhead-color: #202124}.mat-mdc-dialog-container .mat-mdc-dialog-title.mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font-family);font-style:var(--mdc-dialog-subhead-font-style);font-weight:var(--mdc-dialog-subhead-font-weight);font-size:var(--mdc-dialog-subhead-font-size);line-height:var(--mdc-dialog-subhead-line-height);color:var(--mdc-dialog-subhead-color)}html.dark-theme{--chat-panel-function-event-button-background-color: white;--chat-panel-function-event-button-highlight-background-color: rgb( 15, 82, 35 );--chat-panel-function-event-button-highlight-border-color: rgb(15, 82, 35);--chat-panel-function-event-button-highlight-color: white;--long-running-response-input-text-color: #000;--long-running-response-input-caret-color: #000;--long-running-response-input-placeholder-color: rgba(0, 0, 0, .5);--long-running-response-icon-color: #000;--long-running-response-send-button-color: #000;--chat-panel-user-message-message-card-background-color: #004a77;--chat-panel-user-message-message-card-color: white;--chat-panel-bot-message-message-card-background-color: #303030;--chat-panel-bot-message-message-card-color: white;--chat-panel-bot-message-focus-within-message-card-background-color: #131314;--chat-panel-bot-message-focus-within-message-card-border-color: #8ab4f8;--chat-panel-message-textarea-background-color: #303030;--chat-panel-message-textarea-focus-background-color: #131314;--chat-panel-eval-compare-container-background-color: #484848;--chat-panel-actual-result-border-right-color: #8a8686;--chat-panel-eval-response-header-border-bottom-color: #8a8686;--chat-panel-header-expected-color: #44c265;--chat-panel-header-actual-color: #ff8983;--chat-panel-eval-pass-color: #44c265;--chat-panel-eval-fail-color: #ff8983;--chat-panel-input-field-textarea-color: white;--chat-panel-input-field-textarea-placeholder-color: #8e918f;--chat-panel-input-field-textarea-caret-color: white;--chat-panel-input-field-button-color: white;--chat-panel-input-field-button-background-color: rgb(51, 53, 55);--chat-panel-mat-mdc-mini-fab-background-color: white;--chat-panel-mat-mdc-mini-fab-mat-icon-color: black;--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color: #8e918f;--chat-panel-delete-button-background-color: rgba(0, 0, 0, .7);--chat-panel-delete-button-color: white;--chat-panel-file-container-background-color: #1e1e1e;--chat-panel-thought-chip-background-color: #8ab4f8;--chat-panel-link-style-button-color: #007bff;--artifact-tab-download-button-background-color: #8ab4f8;--artifact-tab-white-separator-border-top-color: white;--artifact-tab-version-select-container-background-color: #212123;--artifact-tab-link-style-button-color: #007bff;--artifact-tab-link-style-button-hover-color: #0056b3;--artifact-tab-link-style-button-focus-outline-color: #007bff;--artifact-tab-link-style-button-active-color: #004085;--artifact-tab-link-style-button-disabled-color: #6c757d;--audio-player-container-background-color: #f0f0f0;--audio-player-container-box-shadow-color: rgba(0, 0, 0, .1);--audio-player-custom-controls-button-background-color: #007bff;--audio-player-custom-controls-button-color: white;--audio-player-custom-controls-button-hover-background-color: #0056b3;--chat-drawer-container-background-color: #131314;--chat-event-container-color: white;--chat-card-background-color: #131314;--chat-function-event-button-background-color: white;--chat-function-event-button-highlight-background-color: rgb(15, 82, 35);--chat-function-event-button-highlight-border-color: rgb(15, 82, 35);--chat-function-event-button-highlight-color: white;--chat-user-message-message-card-background-color: #004a77;--chat-user-message-message-card-color: white;--chat-bot-message-message-card-background-color: #303030;--chat-bot-message-message-card-color: white;--chat-bot-message-focus-within-message-card-background-color: #131314;--chat-bot-message-focus-within-message-card-border-color: #8ab4f8;--chat-message-textarea-background-color: #303030;--chat-message-textarea-focus-background-color: #131314;--chat-eval-compare-container-background-color: #484848;--chat-actual-result-border-right-color: #8a8686;--chat-eval-response-header-border-bottom-color: #8a8686;--chat-header-expected-color: #44c265;--chat-header-actual-color: #ff8983;--chat-eval-pass-color: #44c265;--chat-eval-fail-color: #ff8983;--chat-side-drawer-background-color: #1b1b1b;--chat-side-drawer-color: white;--chat-file-item-background-color: #eee;--chat-empty-state-container-color: #eee;--chat-warning-color: #ffc185;--chat-error-color: #ff4545;--chat-mat-mdc-unelevated-button-color: #202124;--chat-mat-mdc-unelevated-button-background-color: #8ab4f8;--chat-mdc-linear-progress-buffer-dots-background-color: white;--chat-mat-mdc-text-field-wrapper-border-color: #8e918f;--chat-segment-key-color: lightgray;--chat-bottom-resize-handler-background-color: #5f6368;--chat-readonly-badge-background-color: #ff8983;--chat-readonly-badge-color: #202124;--chat-trace-detail-container-background-color: #1b1b1b;--chat-toolbar-background-color: #1b1b1b;--chat-toolbar-edit-mode-background-color: #44c2651a;--chat-toolbar-session-text-color: #fdfdfd;--chat-toolbar-session-id-color: #9aa0a6;--chat-toolbar-icon-color: #c4c7c5;--chat-toolbar-new-session-color: #9aa0a6;--chat-toolbar-sse-toggle-label-text-color: #e8eaed;--chat-toolbar-sse-toggle-unselected-track-color: #5f6368;--chat-toolbar-sse-toggle-unselected-handle-color: #9aa0a6;--chat-toolbar-sse-toggle-selected-track-color: #8ab4f9;--chat-toolbar-sse-toggle-selected-handle-color: #1b73e8;--chat-toolbar-sse-toggle-track-outline-color: #1b73e8;--chat-mat-drawer-border-right-color: #444746;--edit-json-dialog-container-box-shadow-color: rgba(0, 0, 0, .4);--eval-tab-eval-set-actions-color: #9aa0a6;--eval-tab-empty-eval-info-background-color: #202124;--eval-tab-empty-eval-info-box-shadow-color1: rgba(0, 0, 0, .15);--eval-tab-empty-eval-info-box-shadow-color2: rgba(0, 0, 0, .3);--eval-tab-info-title-color: #e8eaed;--eval-tab-info-detail-color: #e8eaed;--eval-tab-info-create-color: #8ab4f8;--eval-tab-selected-eval-case-color: #8ab4f8;--eval-tab-save-session-btn-background-color1: rgba(138, 180, 248, .24);--eval-tab-save-session-btn-background-color2: #202124;--eval-tab-save-session-btn-text-color: #d2e3fc;--eval-tab-run-eval-btn-border-color: #5f6368;--eval-tab-run-eval-btn-color: #8ab4f8;--eval-tab-run-eval-btn-hover-background-color: #202124;--eval-tab-result-btn-border-color: #5f6368;--eval-tab-result-btn-hover-background-color: #202124;--eval-tab-result-btn-pass-color: #44c265;--eval-tab-result-btn-fail-color: #ff8983;--eval-tab-status-card-background-color: #2d2d2d;--eval-tab-status-card-timestamp-color: #e0e0e0;--eval-tab-status-card-metric-color: #bbb;--eval-tab-status-card-failed-color: #ff6b6b;--eval-tab-status-card-separator-color: #666;--eval-tab-status-card-passed-color: #63e6be;--eval-tab-status-card-action-mat-icon-color: #bdbdbd;--eval-tab-status-card-icon-color: #bdbdbd;--run-eval-config-dialog-container-box-shadow-color: rgba(0, 0, 0, .4);--run-eval-config-dialog-threshold-slider-active-track-color: #4285f4;--run-eval-config-dialog-threshold-slider-inactive-track-color: #616161;--run-eval-config-dialog-threshold-slider-handle-color: #4285f4;--run-eval-config-dialog-threshold-slider-ripple-color: #4285f4;--run-eval-config-dialog-mdc-slider-thumb-background-color: black;--event-tab-events-wrapper-color: #9aa0a6;--event-tab-event-index-color: #80868b;--event-tab-event-list-active-indicator-color: orange;--event-tab-event-list-list-item-container-color: #2b2b2f;--event-tab-mdc-list-item-border-color: #5f6368;--event-tab-mdc-list-item-hover-background-color: #1c1b1c;--trace-chart-trace-label-color: #e3e3e3;--trace-chart-trace-bar-background-color: #2f4d65;--trace-chart-trace-bar-color: #8dabbf;--trace-chart-trace-duration-color: #888;--trace-chart-vertical-line-background-color: #ccc;--trace-chart-horizontal-line-background-color: #ccc;--session-tab-session-wrapper-color: #9aa0a6;--session-tab-session-item-background-color: #303030;--session-tab-session-item-hover-background-color: #141414;--session-tab-session-item-current-background-color: #004a77;--session-tab-session-id-color: #e8eaed;--session-tab-session-date-color: #9aa0a6;--side-panel-button-filled-container-color: #89b4f8;--side-panel-button-filled-label-text-color: black;--side-panel-mat-icon-color: #bdc1c6;--side-panel-resize-handler-background-color: #5f6368;--side-panel-details-panel-container-background-color: #242424;--side-panel-details-content-color: white;--side-panel-powered-by-adk-color: grey;--side-panel-app-select-container-background-color: #212123;--side-panel-select-placeholder-text-color: #8ab4f8;--side-panel-select-enabled-trigger-text-color: #8ab4f8;--side-panel-select-enabled-arrow-color: #8ab4f8;--side-panel-app-name-option-color: #9aa0a6;--trace-tab-trace-title-color: #9aa0a6;--trace-tab-trace-label-color: #e3e3e3;--trace-tab-trace-bar-background-color: #2f4d65;--trace-tab-trace-bar-color: #8dabbf;--trace-tab-trace-duration-color: #888;--trace-tab-vertical-line-background-color: #ccc;--trace-tab-horizontal-line-background-color: #ccc;--trace-tab-trace-item-container-background-color: #333537;--trace-tab-trace-item-header-focus-state-layer-color: rgba(138, 180, 248, .12);--trace-tab-trace-item-header-description-color: #8e918f;--trace-tab-mat-expansion-panel-header-focus-background-color: #444746;--trace-tab-mat-expansion-panel-header-background-color: #444746;--trace-tab-mat-expansion-panel-header-hover-background-color: #444746;--trace-event-json-viewer-container-background-color: #1b1b1b;--trace-tree-trace-label-color: #e3e3e3;--trace-tree-trace-bar-background-color: #2f4d65;--trace-tree-trace-bar-color: #8dabbf;--trace-tree-short-trace-bar-duration-color: #8dabbf;--trace-tree-trace-duration-color: #888;--trace-tree-trace-row-hover-background-color: #3b3d3c;--trace-tree-trace-row-selected-background-color: #3b3d3c;--trace-tree-vertical-line-background-color: #ccc;--trace-tree-horizontal-line-background-color: #ccc;--trace-tree-invocation-id-container-color: #9aa0a6;--trace-tree-trace-row-left-span-div-color: white;--trace-tree-trace-row-left-is-event-row-color: #8ab4f8;--builder-container-background-color: #131314;--builder-panel-background-color: #202124;--builder-tabs-background-color: #202124;--builder-card-background-color: #303030;--builder-secondary-background-color: #333537;--builder-tertiary-background-color: #1b1b1b;--builder-hover-background-color: #141414;--builder-border-color: #444746;--builder-text-primary-color: #e8eaed;--builder-text-secondary-color: #9aa0a6;--builder-text-tertiary-color: #c4c7c5;--builder-text-muted-color: #5c5f5e;--builder-text-link-color: #aecbfa;--builder-breadcrumb-separator-color: #666;--builder-form-field-background-color: #333537;--builder-tool-chip-background-color: #303030;--builder-tool-chip-hover-color: #3c4043;--builder-callback-chip-background-color: #333537;--builder-callback-chip-text-color: #f1f3f4;--builder-callback-chip-type-color: #8f9aa6;--builder-callback-chip-name-color: #f5f7f9;--builder-expansion-background-color: #333537;--builder-expansion-header-description-color: #8e918f;--builder-expansion-hover-color: #444746;--builder-menu-background-color: #303030;--builder-menu-item-hover-color: #444746;--builder-menu-divider-color: #444746;--builder-button-primary-background-color: #8ab4f8;--builder-button-primary-text-color: #202124;--builder-button-primary-hover-color: #aecbfa;--builder-button-secondary-text-color: #9aa0a6;--builder-button-secondary-border-color: rgba(154, 160, 166, .3);--builder-button-secondary-hover-background-color: rgba(154, 160, 166, .1);--builder-button-secondary-hover-text-color: #e8eaed;--builder-add-button-background-color: rgba(138, 180, 248, .24);--builder-add-button-text-color: #d2e3fc;--builder-icon-color: #f1f3f4;--builder-assistant-panel-background-color: #2b2b2b;--builder-assistant-panel-header-background-color: #292929;--builder-assistant-panel-border-color: #3c3c3c;--builder-assistant-input-background-color: #1a1a1a;--builder-assistant-input-text-color: #e0e0e0;--builder-assistant-input-placeholder-color: #808080;--builder-assistant-user-message-background-color: #1a1a1a;--builder-assistant-user-message-border-color: #404040;--builder-assistant-user-message-text-color: #e3e3e3;--builder-assistant-bot-message-text-color: #d4d4d4;--builder-assistant-send-button-color: #888888;--builder-assistant-send-button-hover-color: #b0b0b0;--builder-assistant-send-button-disabled-color: #4a4a4a;--builder-canvas-container-background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 100%);--builder-canvas-shadow: 0 8px 32px rgba(0, 0, 0, .4);--builder-canvas-header-background: linear-gradient(90deg, #1e1e1e 0%, #2a2a2a 100%);--builder-canvas-header-title-gradient: linear-gradient(45deg, #8ab4f8, #4285f4);--builder-canvas-workspace-background: #131314;--builder-canvas-instruction-background: rgba(19, 19, 20, .9);--builder-canvas-instruction-border: rgba(138, 180, 248, .2);--builder-canvas-node-background: rgba(85, 107, 116, .4);--builder-canvas-node-border: #474747;--builder-canvas-node-hover-border: #666;--builder-canvas-node-chip-outline: rgba(255, 255, 255, .1);--builder-canvas-node-badge-background: linear-gradient(135deg, rgba(0, 187, 234, .2), rgba(0, 78, 122, .4));--builder-canvas-group-background: #1c1c1c;--builder-canvas-group-border: #3e3e3e;--builder-canvas-handle-fill: rgba(0, 0, 0, 1);--builder-canvas-reconnect-handle-fill: rgba(0, 187, 234, .15);--builder-canvas-workflow-chip-background: rgba(0, 187, 234, .2);--builder-canvas-workflow-chip-border: rgba(0, 187, 234, .4);--builder-canvas-add-btn-background: radial-gradient(circle at 50% 50%, #1f2330 0%, #131314 100%);--builder-canvas-add-btn-hover-background: radial-gradient(circle at 50% 50%, #222a3a 0%, #16181d 100%);--builder-canvas-add-btn-shadow: 0 4px 12px rgba(0, 187, 234, .35);--builder-canvas-empty-group-background: rgba(255, 255, 255, .02);--builder-canvas-empty-group-border: rgba(0, 187, 234, .3);--builder-canvas-empty-group-hover-background: rgba(255, 255, 255, .04);--builder-canvas-empty-group-hover-border: rgba(0, 187, 234, .5);--builder-canvas-empty-group-btn-background: rgba(0, 187, 234, .1);--builder-canvas-empty-group-btn-hover-background: rgba(0, 187, 234, .2);--builder-button-background-color: rgba(138, 180, 248, .1);--builder-button-border-color: rgba(138, 180, 248, .3);--builder-button-text-color: #8ab4f8;--builder-button-hover-background-color: rgba(138, 180, 248, .2);--builder-button-hover-border-color: #8ab4f8;--builder-item-hover-color: rgba(138, 180, 248, .1);--builder-chip-background-color: rgba(138, 180, 248, .2);--builder-accent-color: #00bbea;--builder-tool-item-background-color: rgba(255, 255, 255, .05);--builder-tool-item-border-color: rgba(255, 255, 255, .1);--builder-tool-item-hover-background-color: rgba(255, 255, 255, .1);--mat-table-row-item-label-text-color: #fff;--mat-table-header-headline-color: #fff;--mat-progress-spinner-active-indicator-color: #a8c7fa;--mat-progress-spinner-size: 80}html.light-theme{--mat-button-outlined-label-text-color: black;--chat-panel-function-event-button-background-color: #f2f1ef;--chat-panel-function-event-button-highlight-border-color: #0f5223;--chat-panel-function-event-button-highlight-color: white;--long-running-response-input-text-color: #202124;--long-running-response-input-caret-color: #202124;--long-running-response-input-placeholder-color: rgba(0, 0, 0, .5);--long-running-response-icon-color: rgba(0, 0, 0, .7);--long-running-response-send-button-color: #305f9d;--chat-panel-user-message-message-card-background-color: #d5e3ff;--chat-panel-user-message-message-card-color: #202124;--chat-panel-bot-message-message-card-background-color: #f3f0f0;--chat-panel-bot-message-message-card-color: #202124;--chat-panel-bot-message-focus-within-message-card-background-color: #ffffff;--chat-panel-bot-message-focus-within-message-card-border-color: #305f9d;--chat-panel-message-textarea-background-color: #f3f0f0;--chat-panel-message-textarea-focus-background-color: #ffffff;--chat-panel-eval-compare-container-background-color: #e5e2e2;--chat-panel-actual-result-border-right-color: #c8c6c6;--chat-panel-eval-response-header-border-bottom-color: #c8c6c6;--chat-panel-header-expected-color: #0f5223;--chat-panel-header-actual-color: #ba1a1a;--chat-panel-eval-pass-color: #0f5223;--chat-panel-eval-fail-color: #ba1a1a;--chat-panel-input-field-textarea-color: #202124;--chat-panel-input-field-textarea-placeholder-color: #5f5e5e;--chat-panel-input-field-textarea-caret-color: #202124;--chat-panel-input-field-button-color: #202124;--chat-panel-input-field-button-background-color: #e5e2e2;--chat-panel-mat-mdc-mini-fab-background-color: #305f9d;--chat-panel-mat-mdc-mini-fab-mat-icon-color: white;--chat-panel-input-field-mat-mdc-text-field-wrapper-border-color: #adabab;--chat-panel-delete-button-background-color: rgba(255, 255, 255, .9);--chat-panel-delete-button-color: #202124;--chat-panel-file-container-background-color: #f3f0f0;--chat-panel-thought-chip-background-color: #305f9d;--chat-panel-link-style-button-color: #305f9d;--artifact-tab-download-button-background-color: #305f9d;--artifact-tab-white-separator-border-top-color: #202124;--artifact-tab-version-select-container-background-color: #f3f0f0;--artifact-tab-link-style-button-color: #305f9d;--artifact-tab-link-style-button-hover-color: #0f4784;--artifact-tab-link-style-button-focus-outline-color: #305f9d;--artifact-tab-link-style-button-active-color: #003061;--artifact-tab-link-style-button-disabled-color: #929090;--audio-player-container-background-color: #f3f0f0;--audio-player-container-box-shadow-color: rgba(0, 0, 0, .1);--audio-player-custom-controls-button-background-color: #305f9d;--audio-player-custom-controls-button-color: white;--audio-player-custom-controls-button-hover-background-color: #0f4784;--chat-drawer-container-background-color: #ffffff;--chat-event-container-color: #202124;--chat-card-background-color: #ffffff;--chat-function-event-button-background-color: #202124;--chat-function-event-button-highlight-background-color: #0f5223;--chat-function-event-button-highlight-border-color: #0f5223;--chat-function-event-button-highlight-color: white;--chat-user-message-message-card-background-color: #d5e3ff;--chat-user-message-message-card-color: #202124;--chat-bot-message-message-card-background-color: #f3f0f0;--chat-bot-message-message-card-color: #202124;--chat-bot-message-focus-within-message-card-background-color: #ffffff;--chat-bot-message-focus-within-message-card-border-color: #305f9d;--chat-message-textarea-background-color: #f3f0f0;--chat-message-textarea-focus-background-color: #ffffff;--chat-eval-compare-container-background-color: #e5e2e2;--chat-actual-result-border-right-color: #c8c6c6;--chat-eval-response-header-border-bottom-color: #c8c6c6;--chat-header-expected-color: #0f5223;--chat-header-actual-color: #ba1a1a;--chat-eval-pass-color: #0f5223;--chat-eval-fail-color: #ba1a1a;--chat-side-drawer-background-color: #f3f0f0;--chat-side-drawer-color: #202124;--chat-file-item-background-color: #e5e2e2;--chat-empty-state-container-color: #202124;--chat-warning-color: #93000a;--chat-error-color: #ba1a1a;--chat-mat-mdc-unelevated-button-color: white;--chat-mat-mdc-unelevated-button-background-color: #305f9d;--chat-mdc-linear-progress-buffer-dots-background-color: #202124;--chat-mat-mdc-text-field-wrapper-border-color: #adabab;--chat-segment-key-color: #5f5e5e;--chat-bottom-resize-handler-background-color: #adabab;--chat-readonly-badge-background-color: #ba1a1a;--chat-readonly-badge-color: white;--chat-trace-detail-container-background-color: #f3f0f0;--chat-toolbar-background-color: #f3f0f0;--chat-toolbar-edit-mode-background-color: rgba(15, 82, 35, .1);--chat-toolbar-session-text-color: #202124;--chat-toolbar-session-id-color: #5f5e5e;--chat-toolbar-icon-color: #5f5e5e;--chat-toolbar-new-session-color: #5f5e5e;--chat-toolbar-sse-toggle-label-text-color: #202124;--chat-toolbar-sse-toggle-unselected-track-color: #c8c6c6;--chat-toolbar-sse-toggle-unselected-handle-color: #5f5e5e;--chat-toolbar-sse-toggle-selected-track-color: #82adf0;--chat-toolbar-sse-toggle-selected-handle-color: #305f9d;--chat-toolbar-sse-toggle-track-outline-color: #305f9d;--chat-mat-drawer-border-right-color: #c8c6c6;--edit-json-dialog-container-box-shadow-color: rgba(0, 0, 0, .2);--eval-tab-eval-set-actions-color: #5f5e5e;--eval-tab-empty-eval-info-background-color: #f3f0f0;--eval-tab-empty-eval-info-box-shadow-color1: rgba(0, 0, 0, .08);--eval-tab-empty-eval-info-box-shadow-color2: rgba(0, 0, 0, .15);--eval-tab-info-title-color: #202124;--eval-tab-info-detail-color: #202124;--eval-tab-info-create-color: #305f9d;--eval-tab-selected-eval-case-color: #305f9d;--eval-tab-save-session-btn-background-color1: rgba(48, 95, 157, .12);--eval-tab-save-session-btn-background-color2: #f3f0f0;--eval-tab-save-session-btn-text-color: #0f4784;--eval-tab-run-eval-btn-border-color: #adabab;--eval-tab-run-eval-btn-color: #305f9d;--eval-tab-run-eval-btn-hover-background-color: #f3f0f0;--eval-tab-result-btn-border-color: #adabab;--eval-tab-result-btn-hover-background-color: #f3f0f0;--eval-tab-result-btn-pass-color: #0f5223;--eval-tab-result-btn-fail-color: #ba1a1a;--eval-tab-status-card-background-color: #f3f0f0;--eval-tab-status-card-timestamp-color: #5f5e5e;--eval-tab-status-card-metric-color: #787777;--eval-tab-status-card-failed-color: #ba1a1a;--eval-tab-status-card-separator-color: #c8c6c6;--eval-tab-status-card-passed-color: #0f5223;--eval-tab-status-card-action-mat-icon-color: #5f5e5e;--eval-tab-status-card-icon-color: #5f5e5e;--run-eval-config-dialog-container-box-shadow-color: rgba(0, 0, 0, .2);--run-eval-config-dialog-threshold-slider-active-track-color: #305f9d;--run-eval-config-dialog-threshold-slider-inactive-track-color: #c8c6c6;--run-eval-config-dialog-threshold-slider-handle-color: #305f9d;--run-eval-config-dialog-threshold-slider-ripple-color: #305f9d;--run-eval-config-dialog-mdc-slider-thumb-background-color: white;--event-tab-events-wrapper-color: #5f5e5e;--event-tab-event-index-color: #787777;--event-tab-event-list-active-indicator-color: #ff5449;--event-tab-event-list-list-item-container-color: #f3f0f0;--event-tab-mdc-list-item-border-color: #c8c6c6;--event-tab-mdc-list-item-hover-background-color: #e5e2e2;--trace-chart-trace-label-color: #202124;--trace-chart-trace-bar-background-color: #a7c8ff;--trace-chart-trace-bar-color: #305f9d;--trace-chart-trace-duration-color: #787777;--trace-chart-vertical-line-background-color: #c8c6c6;--trace-chart-horizontal-line-background-color: #c8c6c6;--session-tab-session-wrapper-color: #5f5e5e;--session-tab-session-item-background-color: #f3f0f0;--session-tab-session-item-hover-background-color: #e5e2e2;--session-tab-session-item-current-background-color: #d5e3ff;--session-tab-session-id-color: #202124;--session-tab-session-date-color: #5f5e5e;--side-panel-button-filled-container-color: #305f9d;--side-panel-button-filled-label-text-color: white;--side-panel-mat-icon-color: #5f5e5e;--side-panel-resize-handler-background-color: #adabab;--side-panel-details-panel-container-background-color: #f3f0f0;--side-panel-details-content-color: #202124;--side-panel-powered-by-adk-color: #787777;--side-panel-app-select-container-background-color: #ffffff;--side-panel-select-placeholder-text-color: #305f9d;--side-panel-select-enabled-trigger-text-color: #305f9d;--side-panel-select-enabled-arrow-color: #305f9d;--side-panel-app-name-option-color: #5f5e5e;--trace-tab-trace-title-color: #5f5e5e;--trace-tab-trace-label-color: #202124;--trace-tab-trace-bar-background-color: #a7c8ff;--trace-tab-trace-bar-color: #305f9d;--trace-tab-trace-duration-color: #787777;--trace-tab-vertical-line-background-color: #c8c6c6;--trace-tab-horizontal-line-background-color: #c8c6c6;--trace-tab-trace-item-container-background-color: #f3f0f0;--trace-tab-trace-item-header-focus-state-layer-color: rgba(48, 95, 157, .12);--trace-tab-trace-item-header-description-color: #787777;--trace-tab-mat-expansion-panel-header-focus-background-color: #e5e2e2;--trace-tab-mat-expansion-panel-header-background-color: #e5e2e2;--trace-tab-mat-expansion-panel-header-hover-background-color: #e5e2e2;--trace-event-json-viewer-container-background-color: #ffffff;--trace-tree-trace-label-color: #202124;--trace-tree-trace-bar-background-color: #a7c8ff;--trace-tree-trace-bar-color: #305f9d;--trace-tree-short-trace-bar-duration-color: #305f9d;--trace-tree-trace-duration-color: #787777;--trace-tree-trace-row-hover-background-color: #e5e2e2;--trace-tree-trace-row-selected-background-color: #e5e2e2;--trace-tree-vertical-line-background-color: #c8c6c6;--trace-tree-horizontal-line-background-color: #c8c6c6;--trace-tree-invocation-id-container-color: #5f5e5e;--trace-tree-trace-row-left-span-div-color: #202124;--trace-tree-trace-row-left-is-event-row-color: #305f9d;--builder-container-background-color: #ffffff;--builder-panel-background-color: #f3f0f0;--builder-tabs-background-color: #f3f0f0;--builder-card-background-color: #ffffff;--builder-secondary-background-color: #e5e2e2;--builder-tertiary-background-color: #f3f0f0;--builder-hover-background-color: #dcd9d9;--builder-border-color: #c8c6c6;--builder-text-primary-color: #202124;--builder-text-secondary-color: #5f5e5e;--builder-text-tertiary-color: #787777;--builder-text-muted-color: #929090;--builder-text-link-color: #305f9d;--builder-breadcrumb-separator-color: #c8c6c6;--builder-form-field-background-color: #e5e2e2;--builder-tool-chip-background-color: #ffffff;--builder-tool-chip-hover-color: #e5e2e2;--builder-callback-chip-background-color: #e5e2e2;--builder-callback-chip-text-color: #202124;--builder-callback-chip-type-color: #5f5e5e;--builder-callback-chip-name-color: #202124;--builder-expansion-background-color: #e5e2e2;--builder-expansion-header-description-color: #787777;--builder-expansion-hover-color: #dcd9d9;--builder-menu-background-color: #ffffff;--builder-menu-item-hover-color: #e5e2e2;--builder-menu-divider-color: #c8c6c6;--builder-button-primary-background-color: #305f9d;--builder-button-primary-text-color: #ffffff;--builder-button-primary-hover-color: #0f4784;--builder-button-secondary-text-color: #5f5e5e;--builder-button-secondary-border-color: rgba(95, 94, 94, .3);--builder-button-secondary-hover-background-color: rgba(95, 94, 94, .1);--builder-button-secondary-hover-text-color: #202124;--builder-add-button-background-color: rgba(48, 95, 157, .12);--builder-add-button-text-color: #0f4784;--builder-icon-color: #202124;--builder-assistant-panel-background-color: #f3f0f0;--builder-assistant-panel-header-background-color: #e5e2e2;--builder-assistant-panel-border-color: #c8c6c6;--builder-assistant-input-background-color: #ffffff;--builder-assistant-input-text-color: #202124;--builder-assistant-input-placeholder-color: #929090;--builder-assistant-user-message-background-color: #d5e3ff;--builder-assistant-user-message-border-color: #a7c8ff;--builder-assistant-user-message-text-color: #202124;--builder-assistant-bot-message-text-color: #202124;--builder-assistant-send-button-color: #5f5e5e;--builder-assistant-send-button-hover-color: #305f9d;--builder-assistant-send-button-disabled-color: #c8c6c6;--builder-canvas-container-background: linear-gradient(135deg, #f8f9fa 0%, #e8eaed 100%);--builder-canvas-shadow: 0 8px 32px rgba(0, 0, 0, .1);--builder-canvas-header-background: linear-gradient(90deg, #ffffff 0%, #f3f0f0 100%);--builder-canvas-header-title-gradient: linear-gradient(45deg, #305f9d, #0f4784);--builder-canvas-workspace-background: #ffffff;--builder-canvas-instruction-background: rgba(255, 255, 255, .95);--builder-canvas-instruction-border: rgba(48, 95, 157, .3);--builder-canvas-node-background: rgba(229, 226, 226, .6);--builder-canvas-node-border: #c8c6c6;--builder-canvas-node-hover-border: #adabab;--builder-canvas-node-chip-outline: rgba(200, 198, 198, .3);--builder-canvas-node-badge-background: linear-gradient(135deg, rgba(48, 95, 157, .15), rgba(15, 71, 132, .2));--builder-canvas-group-background: #f3f0f0;--builder-canvas-group-border: #c8c6c6;--builder-canvas-handle-fill: rgba(255, 255, 255, 1);--builder-canvas-reconnect-handle-fill: rgba(48, 95, 157, .15);--builder-canvas-workflow-chip-background: rgba(48, 95, 157, .15);--builder-canvas-workflow-chip-border: rgba(48, 95, 157, .3);--builder-canvas-add-btn-background: radial-gradient(circle at 50% 50%, #ffffff 0%, #f8f9fa 100%);--builder-canvas-add-btn-hover-background: radial-gradient(circle at 50% 50%, #f3f0f0 0%, #e8eaed 100%);--builder-canvas-add-btn-shadow: 0 4px 12px rgba(48, 95, 157, .25);--builder-canvas-empty-group-background: rgba(48, 95, 157, .03);--builder-canvas-empty-group-border: rgba(48, 95, 157, .3);--builder-canvas-empty-group-hover-background: rgba(48, 95, 157, .06);--builder-canvas-empty-group-hover-border: rgba(48, 95, 157, .5);--builder-canvas-empty-group-btn-background: rgba(48, 95, 157, .1);--builder-canvas-empty-group-btn-hover-background: rgba(48, 95, 157, .2);--builder-button-background-color: rgba(48, 95, 157, .1);--builder-button-border-color: rgba(48, 95, 157, .3);--builder-button-text-color: #305f9d;--builder-button-hover-background-color: rgba(48, 95, 157, .2);--builder-button-hover-border-color: #305f9d;--builder-item-hover-color: rgba(48, 95, 157, .1);--builder-chip-background-color: rgba(48, 95, 157, .15);--builder-accent-color: #305f9d;--builder-tool-item-background-color: #f6f3f3;--builder-tool-item-border-color: #c8c6c6;--builder-tool-item-hover-background-color: #dcd9d9;--mat-progress-spinner-active-indicator-color: #305f9d;--mat-progress-spinner-size: 80}html.dark-theme{--mat-form-field-disabled-input-text-placeholder-color: orange;--mat-form-field-filled-active-indicator-color: red;--mat-form-field-outlined-outline-color: #cccccc;--mat-form-field-outlined-input-text-color: #cccccc;--mat-form-field-outlined-label-text-color: #cccccc;--mat-form-field-outlined-hover-label-text-color: #cccccc;--mat-form-field-outlined-focus-label-text-color: #cccccc;--mat-form-field-outlined-disabled-label-text-color: #cccccc;--mat-form-field-outlined-disabled-input-text-color: #cccccc;--mat-form-field-outlined-disabled-outline-color: #cccccc;--mat-form-field-outlined-caret-color: #cccccc}html.light-theme{--mat-form-field-disabled-input-text-placeholder-color: #ff8983;--mat-form-field-filled-active-indicator-color: #ba1a1a;--mat-form-field-outlined-outline-color: #787777;--mat-form-field-outlined-input-text-color: #202124;--mat-form-field-outlined-label-text-color: #5f5e5e;--mat-form-field-outlined-hover-label-text-color: #202124;--mat-form-field-outlined-focus-label-text-color: #305f9d;--mat-form-field-outlined-disabled-label-text-color: #929090;--mat-form-field-outlined-disabled-input-text-color: #929090;--mat-form-field-outlined-disabled-outline-color: #c8c6c6;--mat-form-field-outlined-caret-color: #305f9d}.mdc-line-ripple{display:none}.mat-mdc-tooltip{z-index:10000!important;max-width:300px}.mat-mdc-select-panel{background-color:var(--mat-select-panel-background-color)!important}html.light-theme .mat-expansion-panel{box-shadow:none!important;border:1px solid #e0e0e0;border-radius:4px!important}html.light-theme .mat-expansion-panel:not(:last-child){margin-bottom:8px}html.light-theme .mat-expansion-panel-header{border-bottom:none!important}html.dark-theme .mat-expansion-panel{box-shadow:none!important;border:1px solid #444746;border-radius:4px!important}html.dark-theme .mat-expansion-panel:not(:last-child){margin-bottom:8px}html.dark-theme .mat-expansion-panel-header{border-bottom:none!important}.wide-agent-dropdown-panel{padding:0!important}.wide-agent-dropdown-panel .search-option{position:sticky!important;top:0!important;z-index:1000!important;opacity:1!important;padding-top:8px;padding-bottom:8px}.wide-agent-dropdown-panel span{width:100%}html.dark-theme .wide-agent-dropdown-panel .search-option{background-color:#2b2b2f!important}html.dark-theme .wide-agent-dropdown-panel .search-option input{caret-color:#fff!important}html.light-theme .wide-agent-dropdown-panel .search-option{background-color:#fff!important}.function-args-tooltip .mdc-tooltip__surface{background-color:#333!important;color:#fff!important;border:2px solid #666!important;border-radius:2px!important;padding:8px 12px!important;font-family:Courier New,monospace!important;font-size:12px!important;white-space:pre-wrap!important;max-width:800px!important;line-height:1.2!important;box-shadow:0 2px 8px #0000004d!important}html.dark-theme{--chat-panel-event-number-label-color: rgba(255, 255, 255, .8)}html.light-theme{--chat-panel-event-number-label-color: #5f6368}.json-key{color:#9876aa;font-weight:600}.json-string{color:#6a8759}.json-number{color:#6897bb}.json-boolean{color:#cc7832}.json-null{color:gray}.json-tooltip-panel{background-color:#333!important;color:#fff!important;border:2px solid #666!important;border-radius:4px!important;padding:8px 12px!important;box-shadow:0 2px 8px #0000004d!important;max-width:800px!important} From ae565be30e64249b2913ad647911061a8b170e21 Mon Sep 17 00:00:00 2001 From: George Weale Date: Wed, 11 Mar 2026 14:56:30 -0700 Subject: [PATCH 06/51] fix: Preserve thought_signature in LiteLLM tool calls This change adds logic to extract and re-embed the `thought_signature` field associated with function calls in Gemini models when converting between LiteLLM's ChatCompletionMessageToolCall and ADK's types.Part Close #4650 Co-authored-by: George Weale PiperOrigin-RevId: 882212223 --- src/google/adk/models/lite_llm.py | 123 +++++++++++- tests/unittests/models/test_litellm.py | 257 ++++++++++++++++++++++--- 2 files changed, 345 insertions(+), 35 deletions(-) diff --git a/src/google/adk/models/lite_llm.py b/src/google/adk/models/lite_llm.py index ed265abe9f..1eb902630f 100644 --- a/src/google/adk/models/lite_llm.py +++ b/src/google/adk/models/lite_llm.py @@ -15,6 +15,7 @@ from __future__ import annotations import base64 +import binascii import copy import importlib.util import json @@ -143,6 +144,11 @@ "before a response was recorded)." ) +# Separator LiteLLM uses to embed thought_signature in tool call IDs. +# Gemini's thoughtSignature requirement is documented here: +# https://ai.google.dev/gemini-api/docs/thought-signatures +_THOUGHT_SIGNATURE_SEPARATOR = "__thought__" + _LITELLM_IMPORTED = False _LITELLM_GLOBAL_SYMBOLS = ( "ChatCompletionAssistantMessage", @@ -602,6 +608,27 @@ def _extract_cached_prompt_tokens(usage: Any) -> int: return 0 +def _decode_thought_signature(value: Any) -> Optional[bytes]: + """Safely decodes a thought_signature value to bytes. + + Args: + value: A base64 string or raw bytes thought_signature. + + Returns: + The decoded bytes, or None if decoding fails. + """ + if isinstance(value, bytes): + return value + try: + return base64.b64decode(value, validate=True) + except (binascii.Error, TypeError, ValueError): + logger.debug( + "Failed to decode thought_signature of type %s.", + type(value).__name__, + ) + return None + + def _extract_reasoning_tokens(usage: Any) -> int: """Extracts reasoning tokens from LiteLLM usage. @@ -637,6 +664,64 @@ def _extract_reasoning_tokens(usage: Any) -> int: return 0 +def _extract_thought_signature_from_tool_call( + tool_call: ChatCompletionMessageToolCall, +) -> Optional[bytes]: + """Extracts thought_signature from a litellm tool call if present. + + Gemini thinking models attach a thought_signature to function call parts. + See https://ai.google.dev/gemini-api/docs/thought-signatures. + This signature may appear in several locations depending on the + provider path: + 1. extra_content.google.thought_signature (OpenAI-compatible API). + 2. provider_specific_fields on the tool call or function (Vertex). + 3. Embedded in the tool call ID via __thought__ separator. + + Args: + tool_call: A litellm tool call object. + + Returns: + The thought_signature as bytes, or None if not present. + """ + # Check extra_content.google.thought_signature (OpenAI format) + extra_content = tool_call.get("extra_content") + if isinstance(extra_content, dict): + google_fields = extra_content.get("google") + if isinstance(google_fields, dict): + signature = google_fields.get("thought_signature") + if signature: + return _decode_thought_signature(signature) + + # Check provider_specific_fields on the tool call + provider_fields = tool_call.get("provider_specific_fields") + if isinstance(provider_fields, dict): + signature = provider_fields.get("thought_signature") + if signature: + return _decode_thought_signature(signature) + + # Check provider_specific_fields on the function + function = tool_call.get("function") + if function: + func_provider_fields = None + if isinstance(function, dict): + func_provider_fields = function.get("provider_specific_fields") + elif hasattr(function, "provider_specific_fields"): + func_provider_fields = function.provider_specific_fields + if isinstance(func_provider_fields, dict): + signature = func_provider_fields.get("thought_signature") + if signature: + return _decode_thought_signature(signature) + + # Check if thought signature is embedded in the tool call ID + tool_call_id = tool_call.get("id") or "" + if _THOUGHT_SIGNATURE_SEPARATOR in tool_call_id: + parts = tool_call_id.split(_THOUGHT_SIGNATURE_SEPARATOR, 1) + if len(parts) == 2: + return _decode_thought_signature(parts[1]) + + return None + + async def _content_to_message_param( content: types.Content, *, @@ -706,16 +791,31 @@ async def _content_to_message_param( reasoning_parts: list[types.Part] = [] for part in content.parts: if part.function_call: - tool_calls.append( - ChatCompletionAssistantToolCall( - type="function", - id=part.function_call.id, - function=Function( - name=part.function_call.name, - arguments=_safe_json_serialize(part.function_call.args), - ), - ) - ) + tool_call_id = part.function_call.id or "" + tool_call_dict: ChatCompletionAssistantToolCall = { + "type": "function", + "id": tool_call_id, + "function": { + "name": part.function_call.name, + "arguments": _safe_json_serialize(part.function_call.args), + }, + } + # Preserve thought_signature for Gemini thinking models. + # LiteLLM's Gemini prompt conversion reads provider_specific_fields, + # while the OpenAI-compatible Gemini endpoint path expects the + # extra_content.google.thought_signature payload to survive. + # See https://ai.google.dev/gemini-api/docs/thought-signatures. + if part.thought_signature: + sig = part.thought_signature + if isinstance(sig, bytes): + sig = base64.b64encode(sig).decode("utf-8") + tool_call_dict["provider_specific_fields"] = { + "thought_signature": sig + } + tool_call_dict["extra_content"] = { + "google": {"thought_signature": sig} + } + tool_calls.append(tool_call_dict) elif part.thought: reasoning_parts.append(part) else: @@ -1524,11 +1624,14 @@ def _message_to_generate_content_response( if tool_calls: for tool_call in tool_calls: if tool_call.type == "function": + thought_signature = _extract_thought_signature_from_tool_call(tool_call) part = types.Part.from_function_call( name=tool_call.function.name, args=json.loads(tool_call.function.arguments or "{}"), ) part.function_call.id = tool_call.id + if thought_signature: + part.thought_signature = thought_signature parts.append(part) return LlmResponse( diff --git a/tests/unittests/models/test_litellm.py b/tests/unittests/models/test_litellm.py index e080b4c733..8fda3d98d4 100644 --- a/tests/unittests/models/test_litellm.py +++ b/tests/unittests/models/test_litellm.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License +import base64 import contextlib import json import logging @@ -28,6 +29,7 @@ from google.adk.models.lite_llm import _content_to_message_param from google.adk.models.lite_llm import _enforce_strict_openai_schema from google.adk.models.lite_llm import _extract_reasoning_value +from google.adk.models.lite_llm import _extract_thought_signature_from_tool_call from google.adk.models.lite_llm import _FILE_ID_REQUIRED_PROVIDERS from google.adk.models.lite_llm import _FINISH_REASON_MAPPING from google.adk.models.lite_llm import _function_declaration_to_tool_param @@ -42,6 +44,7 @@ from google.adk.models.lite_llm import _redirect_litellm_loggers_to_stdout from google.adk.models.lite_llm import _schema_to_dict from google.adk.models.lite_llm import _split_message_content_and_tool_calls +from google.adk.models.lite_llm import _THOUGHT_SIGNATURE_SEPARATOR from google.adk.models.lite_llm import _to_litellm_response_format from google.adk.models.lite_llm import _to_litellm_role from google.adk.models.lite_llm import FunctionChunk @@ -2421,6 +2424,219 @@ def test_extract_reasoning_value_no_reasoning_fields(): assert result is None +def test_extract_thought_signature_from_extra_content(): + """Extracts thought_signature from extra_content (OpenAI-compatible path).""" + sig_b64 = base64.b64encode(b"test_signature").decode("utf-8") + tc = ChatCompletionMessageToolCall( + type="function", + id="call_123", + function=Function(name="test_fn", arguments="{}"), + extra_content={"google": {"thought_signature": sig_b64}}, + ) + result = _extract_thought_signature_from_tool_call(tc) + assert result == b"test_signature" + + +def test_extract_thought_signature_from_provider_specific_fields(): + """Extracts thought_signature from provider_specific_fields (Vertex path).""" + sig_b64 = base64.b64encode(b"vertex_sig").decode("utf-8") + tc = ChatCompletionMessageToolCall( + type="function", + id="call_456", + function=Function(name="test_fn", arguments="{}"), + provider_specific_fields={"thought_signature": sig_b64}, + ) + result = _extract_thought_signature_from_tool_call(tc) + assert result == b"vertex_sig" + + +def test_extract_thought_signature_from_function_provider_fields(): + """Extracts thought_signature from function's provider_specific_fields. + + When provider_specific_fields is set directly on the function object + (e.g. by litellm internals), the extraction should find it. + """ + sig_b64 = base64.b64encode(b"func_sig").decode("utf-8") + tc = ChatCompletionMessageToolCall( + type="function", + id="call_func", + function=Function(name="test_fn", arguments="{}"), + ) + # Simulate litellm setting provider_specific_fields on the function + tc.function.provider_specific_fields = { + "thought_signature": sig_b64, + } + result = _extract_thought_signature_from_tool_call(tc) + assert result == b"func_sig" + + +def test_extract_thought_signature_from_id(): + """Extracts thought_signature from tool call ID (__thought__ separator).""" + sig_b64 = base64.b64encode(b"id_sig").decode("utf-8") + tc = ChatCompletionMessageToolCall( + type="function", + id=f"call_789{_THOUGHT_SIGNATURE_SEPARATOR}{sig_b64}", + function=Function(name="test_fn", arguments="{}"), + ) + result = _extract_thought_signature_from_tool_call(tc) + assert result == b"id_sig" + + +def test_extract_thought_signature_returns_none_when_absent(): + """Returns None when no thought_signature is present.""" + tc = ChatCompletionMessageToolCall( + type="function", + id="call_plain", + function=Function(name="test_fn", arguments="{}"), + ) + result = _extract_thought_signature_from_tool_call(tc) + assert result is None + + +def test_extract_thought_signature_corrupted_base64_returns_none(): + """Returns None gracefully for corrupted base64 signatures.""" + tc = ChatCompletionMessageToolCall( + type="function", + id="call_bad", + function=Function(name="test_fn", arguments="{}"), + extra_content={"google": {"thought_signature": "!!!not_valid_base64!!!"}}, + ) + result = _extract_thought_signature_from_tool_call(tc) + assert result is None + + +def test_message_to_generate_content_response_preserves_thought_signature(): + """thought_signature from tool call is preserved on the output Part.""" + sig_b64 = base64.b64encode(b"round_trip_sig").decode("utf-8") + message = ChatCompletionAssistantMessage( + role="assistant", + content=None, + tool_calls=[ + ChatCompletionMessageToolCall( + type="function", + id="call_ts_1", + function=Function( + name="load_skill", + arguments='{"skill": "my_skill"}', + ), + extra_content={"google": {"thought_signature": sig_b64}}, + ) + ], + ) + + response = _message_to_generate_content_response(message) + fc_part = response.content.parts[0] + assert fc_part.function_call.name == "load_skill" + assert fc_part.function_call.id == "call_ts_1" + assert fc_part.thought_signature == b"round_trip_sig" + + +def test_message_to_generate_content_response_no_thought_signature(): + """Parts without thought_signature have thought_signature=None.""" + message = ChatCompletionAssistantMessage( + role="assistant", + content=None, + tool_calls=[ + ChatCompletionMessageToolCall( + type="function", + id="call_no_ts", + function=Function( + name="plain_tool", + arguments="{}", + ), + ) + ], + ) + + response = _message_to_generate_content_response(message) + fc_part = response.content.parts[0] + assert fc_part.function_call.name == "plain_tool" + assert fc_part.thought_signature is None + + +@pytest.mark.asyncio +async def test_content_to_message_param_preserves_thought_signature(): + """thought_signature on Part is emitted on both tool call metadata paths.""" + sig_bytes = b"preserved_sig" + sig_b64 = base64.b64encode(sig_bytes).decode("utf-8") + content = types.Content( + role="model", + parts=[ + types.Part( + function_call=types.FunctionCall( + name="load_skill", + args={"skill": "my_skill"}, + id="call_rt", + ), + thought_signature=sig_bytes, + ), + ], + ) + + message = await _content_to_message_param(content) + assert message["role"] == "assistant" + tc = message["tool_calls"][0] + assert tc["function"]["name"] == "load_skill" + assert tc["id"] == "call_rt" + assert tc["provider_specific_fields"] == {"thought_signature": sig_b64} + assert tc["extra_content"] == {"google": {"thought_signature": sig_b64}} + + +@pytest.mark.asyncio +async def test_content_to_message_param_no_thought_signature(): + """Tool calls without thought_signature have no signature metadata.""" + content = types.Content( + role="model", + parts=[ + types.Part.from_function_call(name="plain_tool", args={"key": "val"}), + ], + ) + content.parts[0].function_call.id = "call_plain" + + message = await _content_to_message_param(content) + tc = message["tool_calls"][0] + assert tc["id"] == "call_plain" + assert "provider_specific_fields" not in tc + assert "extra_content" not in tc + + +@pytest.mark.asyncio +async def test_thought_signature_round_trip(): + """thought_signature survives a full round trip through ADK conversions. + + Simulates the flow: litellm response → types.Part → litellm request. + """ + sig_b64 = base64.b64encode(b"full_round_trip").decode("utf-8") + + # Step 1: Incoming litellm message with thought_signature + incoming_message = ChatCompletionAssistantMessage( + role="assistant", + content=None, + tool_calls=[ + ChatCompletionMessageToolCall( + type="function", + id="call_round", + function=Function( + name="load_skill", + arguments='{"skill_name": "test"}', + ), + extra_content={"google": {"thought_signature": sig_b64}}, + ) + ], + ) + + # Step 2: Convert to ADK internal format (types.Content) + llm_response = _message_to_generate_content_response(incoming_message) + fc_part = llm_response.content.parts[0] + assert fc_part.thought_signature == b"full_round_trip" + + # Step 3: Convert back to litellm format + outgoing_message = await _content_to_message_param(llm_response.content) + out_tc = outgoing_message["tool_calls"][0] + assert out_tc["provider_specific_fields"] == {"thought_signature": sig_b64} + assert out_tc["extra_content"] == {"google": {"thought_signature": sig_b64}} + + def test_parse_tool_calls_from_text_multiple_calls(): text = ( '{"name":"alpha","arguments":{"value":1}}\n' @@ -3018,32 +3234,24 @@ def test_to_litellm_role(): (None, "stop"), ), ( - ModelResponse( - choices=[{"finish_reason": "tool_calls"}], - usage={ - "prompt_tokens": 0, - "completion_tokens": 0, - "total_tokens": 0, - }, - ), + ModelResponse(choices=[{"finish_reason": "tool_calls"}]), [None], - UsageMetadataChunk( - prompt_tokens=0, completion_tokens=0, total_tokens=0 + ( + None, + UsageMetadataChunk( + prompt_tokens=0, completion_tokens=0, total_tokens=0 + ), ), "tool_calls", ), ( - ModelResponse( - choices=[{}], - usage={ - "prompt_tokens": 0, - "completion_tokens": 0, - "total_tokens": 0, - }, - ), + ModelResponse(choices=[{}]), [None], - UsageMetadataChunk( - prompt_tokens=0, completion_tokens=0, total_tokens=0 + ( + None, + UsageMetadataChunk( + prompt_tokens=0, completion_tokens=0, total_tokens=0 + ), ), "stop", ), @@ -3172,7 +3380,9 @@ def test_model_response_to_chunk( else: assert finished == expected_finished - if expected_usage_chunk is None: + if isinstance(expected_usage_chunk, tuple): + assert usage_chunk in expected_usage_chunk + elif expected_usage_chunk is None: assert usage_chunk is None else: assert usage_chunk is not None @@ -3780,7 +3990,6 @@ async def test_streaming_tool_call_truncated_by_max_tokens( ) ] ), - # finish_reason="length" arrives before args are complete ModelResponseStream( choices=[StreamingChoices(finish_reason="length", delta=Delta())] ), @@ -3829,7 +4038,6 @@ async def test_streaming_tool_call_complete_with_length_finish_reason( ) ] ), - # finish_reason="length" but tool call args are valid JSON ModelResponseStream( choices=[StreamingChoices(finish_reason="length", delta=Delta())] ), @@ -3873,7 +4081,6 @@ async def test_streaming_text_truncated_by_max_tokens( ) ] ), - # finish_reason="length" on text-only response ModelResponseStream( choices=[StreamingChoices(finish_reason="length", delta=Delta())] ), @@ -3895,10 +4102,10 @@ async def test_streaming_text_truncated_by_max_tokens( ) ] - # First response is the partial text chunk, second is the aggregated response partial_responses = [r for r in responses if r.partial] aggregated_responses = [r for r in responses if not r.partial] + assert len(partial_responses) == 1 assert len(aggregated_responses) == 1 aggregated = aggregated_responses[0] assert aggregated.finish_reason == types.FinishReason.MAX_TOKENS From 066fcec3e8e669d1c5360e1556afce3f7e068072 Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Wed, 11 Mar 2026 14:58:03 -0700 Subject: [PATCH 07/51] feat: Add support for toolsets to additional_tools field of SkillToolset Co-authored-by: Kathy Wu PiperOrigin-RevId: 882212923 --- src/google/adk/tools/skill_toolset.py | 20 +++++-- tests/unittests/tools/test_skill_toolset.py | 59 ++++++++++++++++++--- 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/src/google/adk/tools/skill_toolset.py b/src/google/adk/tools/skill_toolset.py index 25f5ea1416..3ea1f2bfe4 100644 --- a/src/google/adk/tools/skill_toolset.py +++ b/src/google/adk/tools/skill_toolset.py @@ -702,8 +702,11 @@ def __init__( self._script_timeout = script_timeout self._provided_tools_by_name = {} + self._provided_toolsets = [] for tool_union in additional_tools or []: - if isinstance(tool_union, BaseTool): + if isinstance(tool_union, BaseToolset): + self._provided_toolsets.append(tool_union) + elif isinstance(tool_union, BaseTool): self._provided_tools_by_name[tool_union.name] = tool_union elif callable(tool_union): ft = FunctionTool(tool_union) @@ -754,11 +757,22 @@ async def _resolve_additional_tools_from_state( if not additional_tool_names: return [] + # Collect all candidate tools from both individual tools and toolsets + candidate_tools = self._provided_tools_by_name.copy() + if self._provided_toolsets: + ts_results = await asyncio.gather(*( + ts.get_tools_with_prefix(readonly_context) + for ts in self._provided_toolsets + )) + for ts_tools in ts_results: + for t in ts_tools: + candidate_tools[t.name] = t + resolved_tools = [] existing_tool_names = {t.name for t in self._tools} for name in additional_tool_names: - if name in self._provided_tools_by_name: - tool = self._provided_tools_by_name[name] + if name in candidate_tools: + tool = candidate_tools[name] if tool.name in existing_tool_names: logger.error( "Tool name collision: tool '%s' already exists.", tool.name diff --git a/tests/unittests/tools/test_skill_toolset.py b/tests/unittests/tools/test_skill_toolset.py index 1c0f1d0e3d..3e8ca66377 100644 --- a/tests/unittests/tools/test_skill_toolset.py +++ b/tests/unittests/tools/test_skill_toolset.py @@ -15,6 +15,7 @@ import logging from unittest import mock +from google.adk.agents.readonly_context import ReadonlyContext from google.adk.code_executors.base_code_executor import BaseCodeExecutor from google.adk.code_executors.code_execution_utils import CodeExecutionResult from google.adk.models import llm_request as llm_request_model @@ -1290,24 +1291,51 @@ async def test_execute_script_binary_content_packaged(): @pytest.mark.asyncio -async def test_skill_toolset_dynamic_tool_resolution(mock_skill1): - # Set up a skill with additional_tools in metadata +async def test_skill_toolset_dynamic_tool_resolution(mock_skill1, mock_skill2): + # Set up skills with additional_tools in metadata mock_skill1.frontmatter.metadata = { - "adk_additional_tools": ["my_custom_tool", "my_func"] + "adk_additional_tools": ["my_custom_tool", "my_func", "shared_tool"] } mock_skill1.name = "skill1" + mock_skill2.frontmatter.metadata = { + "adk_additional_tools": [ + "skill2_tool", + "shared_tool", + "prefixed_mock_tool", + ] + } + mock_skill2.name = "skill2" + # Prepare additional tools custom_tool = mock.create_autospec(skill_toolset.BaseTool, instance=True) custom_tool.name = "my_custom_tool" + skill2_tool = mock.create_autospec(skill_toolset.BaseTool, instance=True) + skill2_tool.name = "skill2_tool" + + shared_tool = mock.create_autospec(skill_toolset.BaseTool, instance=True) + shared_tool.name = "shared_tool" + def my_func(): """My function description.""" pass + # Setup prefixed toolset + mock_tool = mock.create_autospec(skill_toolset.BaseTool, instance=True) + mock_tool.name = "prefixed_mock_tool" + prefixed_set = mock.create_autospec(skill_toolset.BaseToolset, instance=True) + prefixed_set.get_tools_with_prefix.return_value = [mock_tool] + toolset = skill_toolset.SkillToolset( - [mock_skill1], - additional_tools=[custom_tool, my_func], + [mock_skill1, mock_skill2], + additional_tools=[ + custom_tool, + skill2_tool, + shared_tool, + my_func, + prefixed_set, + ], ) ctx = _make_tool_context_with_agent() @@ -1315,16 +1343,35 @@ def my_func(): tools = await toolset.get_tools(readonly_context=ctx) assert len(tools) == 4 - # Activate skill + # Activate skills load_tool = skill_toolset.LoadSkillTool(toolset) await load_tool.run_async(args={"name": "skill1"}, tool_context=ctx) + await load_tool.run_async(args={"name": "skill2"}, tool_context=ctx) # Dynamic tools should now be resolved tools = await toolset.get_tools(readonly_context=ctx) tool_names = {t.name for t in tools} + + # Core tools + assert "list_skills" in tool_names + assert "load_skill" in tool_names + assert "load_skill_resource" in tool_names + assert "run_skill_script" in tool_names + + # Skill 1 tools assert "my_custom_tool" in tool_names assert "my_func" in tool_names + # Skill 2 tools + assert "skill2_tool" in tool_names + + # Shared tool (should only appear once) + assert "shared_tool" in tool_names + assert len([t for t in tools if t.name == "shared_tool"]) == 1 + + # Prefixed toolset tool + assert "prefixed_mock_tool" in tool_names + # Check specific tool resolution details my_func_tool = next(t for t in tools if t.name == "my_func") assert isinstance(my_func_tool, skill_toolset.FunctionTool) From 7b94a767337e0d642e808734608f07a70e077c62 Mon Sep 17 00:00:00 2001 From: George Weale Date: Wed, 11 Mar 2026 16:24:36 -0700 Subject: [PATCH 08/51] fix: Refactor LiteLlm check to avoid ImportError The `can_use_output_schema_with_tools` function now checks if a model is a LiteLlm instance by inspecting its type's Method Resolution Order, rather than directly importing `LiteLlm` Co-authored-by: George Weale PiperOrigin-RevId: 882253446 --- src/google/adk/utils/output_schema_utils.py | 12 +++-- .../utils/test_output_schema_utils.py | 54 ++++++++++++++++--- 2 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/google/adk/utils/output_schema_utils.py b/src/google/adk/utils/output_schema_utils.py index bb31d098a1..228e95b66d 100644 --- a/src/google/adk/utils/output_schema_utils.py +++ b/src/google/adk/utils/output_schema_utils.py @@ -36,10 +36,14 @@ def can_use_output_schema_with_tools(model: Union[str, BaseLlm]) -> bool: # tool_choice enforcement # This is strictly more reliable than the SetModelResponseTool # prompt-based workaround. - from ..models.lite_llm import LiteLlm - - if isinstance(model, LiteLlm): - return True + if not isinstance(model, str): + try: + from ..models.lite_llm import LiteLlm + except ImportError: + LiteLlm = None + + if LiteLlm is not None and isinstance(model, LiteLlm): + return True model_string = model if isinstance(model, str) else model.model diff --git a/tests/unittests/utils/test_output_schema_utils.py b/tests/unittests/utils/test_output_schema_utils.py index cf759c996b..2f9eb4bb09 100644 --- a/tests/unittests/utils/test_output_schema_utils.py +++ b/tests/unittests/utils/test_output_schema_utils.py @@ -12,10 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. +from __future__ import annotations + +import builtins +import importlib.util +import sys +from typing import Any from google.adk.models.anthropic_llm import Claude +from google.adk.models.base_llm import BaseLlm from google.adk.models.google_llm import Gemini -from google.adk.models.lite_llm import LiteLlm from google.adk.utils.output_schema_utils import can_use_output_schema_with_tools import pytest @@ -38,19 +44,51 @@ (Claude(model="claude-3.7-sonnet"), "1", False), (Claude(model="claude-3.7-sonnet"), "0", False), (Claude(model="claude-3.7-sonnet"), None, False), - (LiteLlm(model="openai/gpt-4o"), "1", True), - (LiteLlm(model="openai/gpt-4o"), "0", True), - (LiteLlm(model="openai/gpt-4o"), None, True), - (LiteLlm(model="anthropic/claude-3.7-sonnet"), None, True), - (LiteLlm(model="fireworks_ai/llama-v3p1-70b"), None, True), ], ) def test_can_use_output_schema_with_tools( - monkeypatch, model, env_value, expected -): + monkeypatch: pytest.MonkeyPatch, + model: str | BaseLlm, + env_value: str | None, + expected: bool, +) -> None: """Test can_use_output_schema_with_tools.""" if env_value is not None: monkeypatch.setenv("GOOGLE_GENAI_USE_VERTEXAI", env_value) else: monkeypatch.delenv("GOOGLE_GENAI_USE_VERTEXAI", raising=False) assert can_use_output_schema_with_tools(model) == expected + + +def test_can_use_output_schema_with_tools_with_litellm_model() -> None: + """Test LiteLlm detection when the optional module is available.""" + if importlib.util.find_spec("litellm") is None: + pytest.skip("litellm is not installed") + + from google.adk.models.lite_llm import LiteLlm + + assert can_use_output_schema_with_tools(LiteLlm(model="openai/gpt-4o")) + + +def test_can_use_output_schema_with_tools_without_litellm_module( + monkeypatch: pytest.MonkeyPatch, +) -> None: + """Test optional LiteLlm import failures do not affect other models.""" + original_import = builtins.__import__ + + def _failing_import( + name: str, + globals_dict: dict[str, Any] | None = None, + locals_dict: dict[str, Any] | None = None, + fromlist: tuple[str, ...] = (), + level: int = 0, + ) -> Any: + if name.endswith("lite_llm"): + raise ImportError("litellm not installed") + return original_import(name, globals_dict, locals_dict, fromlist, level) + + monkeypatch.delenv("GOOGLE_GENAI_USE_VERTEXAI", raising=False) + monkeypatch.delitem(sys.modules, "google.adk.models.lite_llm", raising=False) + monkeypatch.setattr(builtins, "__import__", _failing_import) + + assert not can_use_output_schema_with_tools(Claude(model="claude-3.7-sonnet")) From 6f6fd955f6dab50c98859294328a98f32181dc27 Mon Sep 17 00:00:00 2001 From: Divyansh Shukla Date: Wed, 11 Mar 2026 17:04:03 -0700 Subject: [PATCH 09/51] fix: Fix IDE hangs by moving test venv and cache to /tmp PiperOrigin-RevId: 882270600 --- scripts/unittests.sh | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/scripts/unittests.sh b/scripts/unittests.sh index b4892c290c..5c5dc348a6 100755 --- a/scripts/unittests.sh +++ b/scripts/unittests.sh @@ -58,10 +58,9 @@ restore_venv() { deactivate fi - if [[ -d ".unittest_venv" ]]; then - echo "Cleaning up .unittest_venv..." - rm -rf .unittest_venv - fi + echo "Cleaning up temporary directories..." + [[ -n "${VENV_DIR:-}" ]] && rm -rf "$VENV_DIR" + [[ -n "${UV_CACHE_DIR:-}" ]] && rm -rf "$UV_CACHE_DIR" if [[ -n "$ORIGINAL_VENV" ]]; then echo "Reactivating pre-existing venv: $ORIGINAL_VENV" @@ -72,6 +71,15 @@ restore_venv() { # Ensure the environment is restored when the script exits. trap restore_venv EXIT +# Temporary directory for the virtual environment. +VENV_DIR=$(mktemp -d "${TMPDIR:-/tmp}/unittest_venv.XXXXXX") + +# Move uv cache to temp to prevent workspace bloat and IDE performance issues. +export UV_CACHE_DIR=$(mktemp -d "${TMPDIR:-/tmp}/uv_cache.XXXXXX") + +# Force 'copy' mode; hardlinks (uv default) fail on many virtual filesystems. +export UV_LINK_MODE=copy + # 1. deactivate the current venv if [[ -n "${VIRTUAL_ENV:-}" ]]; then echo "Deactivating current venv: $VIRTUAL_ENV" @@ -88,12 +96,12 @@ for version in "${versions_to_run[@]}"; do echo "==================================================" # 2. create a unittest_venv just for unit tests - echo "Creating/Using unittest_venv for python${version} in .unittest_venv..." - uv venv --python "${version}" .unittest_venv --clear - source .unittest_venv/bin/activate + echo "Creating/Using unittest_venv for python${version} in $VENV_DIR..." + uv venv --python "${version}" "$VENV_DIR" --clear + source "$VENV_DIR/bin/activate" # 3. perform the unit tests - echo "Setting up test environment in .unittest_venv..." + echo "Setting up test environment in $VENV_DIR..." uv sync --extra test --active echo "Running unit tests..." From 0847f511d201712d1fa69dd3ce929d0d166bf7fe Mon Sep 17 00:00:00 2001 From: Liang Wu Date: Wed, 11 Mar 2026 17:17:58 -0700 Subject: [PATCH 10/51] chore: Update actions/checkout to v6 in GitHub workflows V4 still uses deprecated Node.js 20. Co-authored-by: Liang Wu PiperOrigin-RevId: 882275971 --- .github/workflows/release-cherry-pick.yml | 2 +- .github/workflows/release-cut.yml | 2 +- .github/workflows/release-finalize.yml | 2 +- .github/workflows/release-please.yml | 2 +- .github/workflows/release-publish.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-cherry-pick.yml b/.github/workflows/release-cherry-pick.yml index ad324a08a5..469b9c8063 100644 --- a/.github/workflows/release-cherry-pick.yml +++ b/.github/workflows/release-cherry-pick.yml @@ -18,7 +18,7 @@ jobs: cherry-pick: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: ref: release/candidate fetch-depth: 0 diff --git a/.github/workflows/release-cut.yml b/.github/workflows/release-cut.yml index 8dbed40487..ca54fa698b 100644 --- a/.github/workflows/release-cut.yml +++ b/.github/workflows/release-cut.yml @@ -18,7 +18,7 @@ jobs: cut-release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: ref: ${{ inputs.commit_sha || 'main' }} diff --git a/.github/workflows/release-finalize.yml b/.github/workflows/release-finalize.yml index b9d6203f37..a9256d9a75 100644 --- a/.github/workflows/release-finalize.yml +++ b/.github/workflows/release-finalize.yml @@ -29,7 +29,7 @@ jobs: echo "is_release_pr=false" >> $GITHUB_OUTPUT fi - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 if: steps.check.outputs.is_release_pr == 'true' with: ref: release/candidate diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 41d8d864c2..cc5a98a228 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -27,7 +27,7 @@ jobs: echo "exists=false" >> $GITHUB_OUTPUT fi - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 if: steps.check.outputs.exists == 'true' with: ref: release/candidate diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 95ee326a9c..8f31945a29 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -28,7 +28,7 @@ jobs: echo "version=$VERSION" >> $GITHUB_OUTPUT echo "Publishing version: $VERSION" - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv uses: astral-sh/setup-uv@v4 From c910961501ef559814f54c22aca1609fd3227b80 Mon Sep 17 00:00:00 2001 From: Liang Wu Date: Wed, 11 Mar 2026 18:07:23 -0700 Subject: [PATCH 11/51] feat: Add SSE streaming support to conformance tests Co-authored-by: Liang Wu PiperOrigin-RevId: 882293566 --- src/google/adk/cli/cli_tools_click.py | 39 ++++- .../_conformance_test_google_llm.py | 122 +++++++++++++++ .../conformance/_generate_markdown_utils.py | 104 +++++++++---- .../cli/conformance/_generated_file_utils.py | 15 +- .../cli/conformance/adk_web_server_client.py | 19 ++- src/google/adk/cli/conformance/cli_record.py | 21 ++- src/google/adk/cli/conformance/cli_test.py | 115 ++++++++------ .../adk/cli/plugins/recordings_plugin.py | 61 +++++--- .../adk/cli/plugins/recordings_schema.py | 4 +- src/google/adk/cli/plugins/replay_plugin.py | 141 ++++-------------- .../adk/flows/llm_flows/base_llm_flow.py | 31 +++- 11 files changed, 450 insertions(+), 222 deletions(-) create mode 100644 src/google/adk/cli/conformance/_conformance_test_google_llm.py diff --git a/src/google/adk/cli/cli_tools_click.py b/src/google/adk/cli/cli_tools_click.py index 3565714139..dcf9415652 100644 --- a/src/google/adk/cli/cli_tools_click.py +++ b/src/google/adk/cli/cli_tools_click.py @@ -35,6 +35,7 @@ from . import cli_create from . import cli_deploy from .. import version +from ..agents.run_config import StreamingMode from ..evaluation.constants import MISSING_EVAL_DEPENDENCIES_MESSAGE from ..features import FeatureName from ..features import override_feature_enabled @@ -230,10 +231,21 @@ def conformance(): exists=True, dir_okay=True, file_okay=False, resolve_path=True ), ) +@click.argument( + "streaming-mode", + type=click.Choice( + [str(m.value) for m in StreamingMode], case_sensitive=False + ), + callback=lambda ctx, param, value: next( + (m for m in StreamingMode if str(m.value).lower() == value.lower()), + value, + ), +) @click.pass_context def cli_conformance_record( ctx, paths: tuple[str, ...], + streaming_mode: StreamingMode, ): """Generate ADK conformance test YAML files from TestCaseInput specifications. @@ -273,7 +285,7 @@ def cli_conformance_record( # Default to tests/ directory if no paths provided test_paths = [Path(p) for p in paths] if paths else [Path("tests").resolve()] - asyncio.run(run_conformance_record(test_paths)) + asyncio.run(run_conformance_record(test_paths, streaming_mode)) @conformance.command("test", cls=HelpfulCommand) @@ -309,6 +321,20 @@ def cli_conformance_record( " directory." ), ) +@click.option( + "--streaming-mode", + type=click.Choice( + [str(m.value) for m in StreamingMode], case_sensitive=False + ), + callback=lambda ctx, param, value: next( + (m for m in StreamingMode if str(m.value).lower() == value.lower()), + value, + ) + if value is not None + else None, + required=False, + default=None, +) @click.pass_context def cli_conformance_test( ctx, @@ -316,6 +342,7 @@ def cli_conformance_test( mode: str, generate_report: bool, report_dir: Optional[str] = None, + streaming_mode: Optional[StreamingMode] = None, ): """Run conformance tests to verify agent behavior consistency. @@ -342,9 +369,11 @@ def cli_conformance_test( \b category/ test_name/ - spec.yaml # Test specification - generated-recordings.yaml # Recorded interactions (replay mode) - generated-session.yaml # Session data (replay mode) + spec.yaml # Test specification + generated-recordings.yaml # Recorded interactions (replay mode) + generated-session.yaml # Session data (replay mode) + generated-recordings-sse.yaml # Recorded SSE interactions (replay mode) + generated-session-sse.yaml # SSE Session data (replay mode) REPORT GENERATION: @@ -377,7 +406,6 @@ def cli_conformance_test( # Generate a test report in a specific directory adk conformance test --generate_report --report_dir=reports """ - try: from .conformance.cli_test import run_conformance_test except ImportError as e: @@ -403,6 +431,7 @@ def cli_conformance_test( mode=mode.lower(), generate_report=generate_report, report_dir=report_dir, + streaming_mode=streaming_mode, ) ) diff --git a/src/google/adk/cli/conformance/_conformance_test_google_llm.py b/src/google/adk/cli/conformance/_conformance_test_google_llm.py new file mode 100644 index 0000000000..cf32e2f076 --- /dev/null +++ b/src/google/adk/cli/conformance/_conformance_test_google_llm.py @@ -0,0 +1,122 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from __future__ import annotations + +import logging +from typing import Any +from typing import AsyncGenerator +from typing import TYPE_CHECKING + +from ...models.google_llm import Gemini + +if TYPE_CHECKING: + from ...models.llm_request import LlmRequest + from ...models.llm_response import LlmResponse + +logger = logging.getLogger('google_adk.' + __name__) + + +class ReplayVerificationError(Exception): + """Exception raised when replay verification fails.""" + + +class _ConformanceTestGemini(Gemini): + """A mocked Gemini model for conformance test replay mode. + + This class is used to mock the Gemini model in conformance test replay mode. + It is a subclass of Gemini and overrides the `generate_content_async`` method to + return a mocked response from the provided recordingss. + """ + + def __init__( + self, + *, + config: dict[str, Any], + **kwargs: Any, + ) -> None: + super().__init__(**kwargs) + recordings = config.get('_adk_replay_recordings') + self._user_message_index = config.get('user_message_index') + self._agent_name = config.get('agent_name') + self._replay_index = config.get('current_replay_index') + # Pre-filter LLM recordings for this agent and message index + self._agent_llm_recordings = [ + recording.llm_recording + for recording in recordings.recordings + if recording.agent_name == self._agent_name + and recording.user_message_index == self._user_message_index + and recording.llm_recording + ] + + async def generate_content_async( + self, llm_request: LlmRequest, stream: bool = False + ) -> AsyncGenerator[LlmResponse, None]: + """Replay LLM response from recordings instead of making real call.""" + logger.debug( + 'Replaying LLM response for agent %s (index %d)', + self._agent_name, + self._replay_index, + ) + + if self._replay_index >= len(self._agent_llm_recordings): + raise ReplayVerificationError( + 'Runtime sent more LLM requests than expected for agent' + f" '{self._agent_name}' at user_message_index" + f' {self._user_message_index}. Expected' + f' {len(self._agent_llm_recordings)}, but got request at index' + f' {self._replay_index}' + ) + + recording = self._agent_llm_recordings[self._replay_index] + + # Verify request matches + self._verify_llm_request_match( + recording.llm_request, llm_request, self._replay_index + ) + + for response in recording.llm_responses: + yield response + + def _verify_llm_request_match( + self, + recorded_request: LlmRequest, + current_request: LlmRequest, + replay_index: int, + ) -> None: + """Verify that the current LLM request exactly matches the recorded one.""" + # Comprehensive exclude dict for all fields that can differ between runs + excluded_fields = { + 'live_connect_config': True, + 'config': { # some config fields can vary per run + 'http_options': True, + 'labels': True, + }, + } + + # Compare using model dumps with nested exclude dict + recorded_dict = recorded_request.model_dump( + exclude_none=True, exclude=excluded_fields, exclude_defaults=True + ) + current_dict = current_request.model_dump( + exclude_none=True, exclude=excluded_fields, exclude_defaults=True + ) + + if recorded_dict != current_dict: + raise ReplayVerificationError( + f"""LLM request mismatch in turn {self._user_message_index} for agent '{self._agent_name}' (index {replay_index}): +recorded: {recorded_dict} +current: {current_dict}""" + ) diff --git a/src/google/adk/cli/conformance/_generate_markdown_utils.py b/src/google/adk/cli/conformance/_generate_markdown_utils.py index ced3afbb5f..dd45d0ad2a 100644 --- a/src/google/adk/cli/conformance/_generate_markdown_utils.py +++ b/src/google/adk/cli/conformance/_generate_markdown_utils.py @@ -29,7 +29,7 @@ def generate_markdown_report( version_data: dict[str, Any], - summary: _ConformanceTestSummary, + summaries: list[_ConformanceTestSummary], report_dir: Optional[str], ) -> None: """Generates a Markdown report of the test results.""" @@ -44,46 +44,94 @@ def generate_markdown_report( report_path = Path(report_dir) / report_name report_path.parent.mkdir(parents=True, exist_ok=True) + # Collect all test results + test_results = {} + test_descriptions = {} + streaming_modes = [] + + for summary in summaries: + mode_name = ( + str(summary.streaming_mode.value) + if summary.streaming_mode.value is not None + else "none" + ) + streaming_modes.append(mode_name) + for result in summary.results: + key = (result.category, result.name) + if key not in test_results: + test_results[key] = {} + test_results[key][mode_name] = result + if result.description: + test_descriptions[key] = result.description + + streaming_modes.sort() + with open(report_path, "w") as f: f.write("# ADK Python Conformance Test Report\n\n") - - # Summary f.write("## Summary\n\n") f.write(f"- **ADK Version**: {server_version}\n") - f.write(f"- **Language**: {language} {language_version}\n") - f.write(f"- **Total Tests**: {summary.total_tests}\n") - f.write(f"- **Passed**: {summary.passed_tests}\n") - f.write(f"- **Failed**: {summary.failed_tests}\n") - f.write(f"- **Success Rate**: {summary.success_rate:.1f}%\n\n") + f.write(f"- **Language**: {language} {language_version}\n\n") - # Table - f.write("## Test Results\n\n") - f.write("| Status | Category | Test Name | Description |\n") - f.write("| :--- | :--- | :--- | :--- |\n") + f.write( + "| Streaming Mode | Total Tests | Passed | Failed | Success Rate |\n" + ) + f.write("| :--- | :--- | :--- | :--- | :--- |\n") - for result in summary.results: - status_icon = "✅ PASS" if result.success else "❌ FAIL" - description = ( - result.description.replace("\n", " ") if result.description else "" + for summary in summaries: + mode_name = ( + str(summary.streaming_mode.value) + if summary.streaming_mode.value is not None + else "none" ) f.write( - f"| {status_icon} | {result.category} | {result.name} |" - f" {description} |\n" + f"| {mode_name} | {summary.total_tests} |" + f" {summary.passed_tests} | {summary.failed_tests} |" + f" {summary.success_rate:.1f}% |\n" + ) + f.write("\n") + + # Table + f.write("## Test Results\n\n") + headers = ["Category", "Test Name", "Description"] + streaming_modes + f.write("| " + " | ".join(headers) + " |\n") + f.write("| " + " | ".join([":---"] * len(headers)) + " |\n") + + sorted_keys = sorted(test_results.keys()) + for category, name in sorted_keys: + description = test_descriptions.get((category, name), "").replace( + "\n", " " ) + row = [category, name, description] + for mode in streaming_modes: + result = test_results[(category, name)].get(mode) + if result: + status_icon = "✅ PASS" if result.success else "❌ FAIL" + else: + status_icon = "N/A" + row.append(status_icon) + f.write("| " + " | ".join(row) + " |\n") f.write("\n") # Failed Tests Details - if summary.failed_tests > 0: + has_failures = any(s.failed_tests > 0 for s in summaries) + if has_failures: f.write("## Failed Tests Details\n\n") - for result in summary.results: - if not result.success: - f.write(f"### {result.category}/{result.name}\n\n") - if result.description: - f.write(f"**Description**: {result.description}\n\n") - f.write("**Error**:\n") - f.write("```\n") - f.write(f"{result.error_message}\n") - f.write("```\n\n") + for summary in summaries: + if summary.failed_tests > 0: + mode_name = ( + str(summary.streaming_mode.value) + if summary.streaming_mode.value is not None + else "none" + ) + for result in summary.results: + if not result.success: + f.write(f"### {result.category}/{result.name} ({mode_name})\n\n") + if result.description: + f.write(f"**Description**: {result.description}\n\n") + f.write("**Error**:\n") + f.write("```\n") + f.write(f"{result.error_message}\n") + f.write("```\n\n") click.secho(f"\nReport generated at: {report_path.resolve()}", fg="blue") diff --git a/src/google/adk/cli/conformance/_generated_file_utils.py b/src/google/adk/cli/conformance/_generated_file_utils.py index 3d3996082d..e6aad7fdb1 100644 --- a/src/google/adk/cli/conformance/_generated_file_utils.py +++ b/src/google/adk/cli/conformance/_generated_file_utils.py @@ -23,6 +23,7 @@ import click import yaml +from ...agents.run_config import StreamingMode from ...sessions.session import Session from .test_case import TestSpec @@ -35,9 +36,17 @@ def load_test_case(test_case_dir: Path) -> TestSpec: return TestSpec.model_validate(data) -def load_recorded_session(test_case_dir: Path) -> Optional[Session]: - """Load recorded session data from generated-session.yaml file.""" - session_file = test_case_dir / "generated-session.yaml" +def load_recorded_session( + test_case_dir: Path, streaming_mode: StreamingMode +) -> Optional[Session]: + """Load recorded session data from YAML file.""" + if streaming_mode == StreamingMode.SSE: + session_file = test_case_dir / "generated-session-sse.yaml" + elif streaming_mode == StreamingMode.NONE: + session_file = test_case_dir / "generated-session.yaml" + else: + raise ValueError(f"Unsupported streaming mode: {streaming_mode}") + if not session_file.exists(): return None diff --git a/src/google/adk/cli/conformance/adk_web_server_client.py b/src/google/adk/cli/conformance/adk_web_server_client.py index 10bf82d1fc..1d5dd3e0f3 100644 --- a/src/google/adk/cli/conformance/adk_web_server_client.py +++ b/src/google/adk/cli/conformance/adk_web_server_client.py @@ -237,7 +237,8 @@ async def run_agent( Event objects streamed from the agent execution Raises: - ValueError: If mode is provided but test_case_dir or user_message_index is None + ValueError: If mode is not supported, or if mode is provided but + test_case_dir or user_message_index is None httpx.HTTPStatusError: If the request fails json.JSONDecodeError: If event data cannot be parsed RuntimeError: If the server streams an error payload @@ -259,11 +260,25 @@ async def run_agent( "dir": str(test_case_dir), "user_message_index": user_message_index, } - else: # record mode + if request.streaming: + request.state_delta["_adk_replay_config"]["streaming_mode"] = "sse" + else: + request.state_delta["_adk_replay_config"]["streaming_mode"] = "none" + elif mode == "record": request.state_delta["_adk_recordings_config"] = { "dir": str(test_case_dir), "user_message_index": user_message_index, } + if request.streaming: + request.state_delta["_adk_recordings_config"][ + "streaming_mode" + ] = "sse" + else: + request.state_delta["_adk_recordings_config"][ + "streaming_mode" + ] = "none" + else: + raise ValueError(f"Unsupported mode: {mode}") async with self._get_client() as client: async with client.stream( diff --git a/src/google/adk/cli/conformance/cli_record.py b/src/google/adk/cli/conformance/cli_record.py index 7d3849493d..eb38c99478 100644 --- a/src/google/adk/cli/conformance/cli_record.py +++ b/src/google/adk/cli/conformance/cli_record.py @@ -21,6 +21,7 @@ import click from google.genai import types +from ...agents.run_config import StreamingMode from ...utils.yaml_utils import dump_pydantic_to_yaml from ..adk_web_server import RunAgentRequest from ._generated_file_utils import load_test_case @@ -31,14 +32,21 @@ async def _create_conformance_test_files( test_case: TestCase, user_id: str = "adk_conformance_test_user", + streaming_mode: StreamingMode = StreamingMode.NONE, ) -> Path: """Generate conformance test files from TestCase.""" # Clean existing generated files test_case_dir = test_case.dir # Remove existing generated files to ensure clean state - generated_session_file = test_case_dir / "generated-session.yaml" - generated_recordings_file = test_case_dir / "generated-recordings.yaml" + if streaming_mode == StreamingMode.SSE: + generated_session_file = test_case_dir / "generated-session-sse.yaml" + generated_recordings_file = test_case_dir / "generated-recordings-sse.yaml" + elif streaming_mode == StreamingMode.NONE: + generated_session_file = test_case_dir / "generated-session.yaml" + generated_recordings_file = test_case_dir / "generated-recordings.yaml" + else: + raise ValueError(f"Unsupported streaming mode: {streaming_mode}") generated_session_file.unlink(missing_ok=True) generated_recordings_file.unlink(missing_ok=True) @@ -96,6 +104,7 @@ async def _create_conformance_test_files( session_id=session.id, new_message=content, state_delta=user_message.state_delta, + streaming=(streaming_mode == StreamingMode.SSE), ), mode="record", test_case_dir=str(test_case_dir), @@ -133,7 +142,9 @@ async def _create_conformance_test_files( return generated_session_file -async def run_conformance_record(paths: list[Path]) -> None: +async def run_conformance_record( + paths: list[Path], streaming_mode: StreamingMode +) -> None: """Generate conformance tests from TestCaseInput files. Args: @@ -171,7 +182,9 @@ async def run_conformance_record(paths: list[Path]) -> None: for test_case in test_cases.values(): try: - await _create_conformance_test_files(test_case) + await _create_conformance_test_files( + test_case, streaming_mode=streaming_mode + ) click.secho( "Generated conformance test files for:" f" {test_case.category}/{test_case.name}", diff --git a/src/google/adk/cli/conformance/cli_test.py b/src/google/adk/cli/conformance/cli_test.py index 70fbe5547b..df51199cdc 100644 --- a/src/google/adk/cli/conformance/cli_test.py +++ b/src/google/adk/cli/conformance/cli_test.py @@ -17,6 +17,7 @@ from __future__ import annotations from dataclasses import dataclass +from enum import Enum from pathlib import Path import textwrap from typing import Optional @@ -24,6 +25,7 @@ import click from google.genai import types +from ...agents.run_config import StreamingMode from ..adk_web_server import RunAgentRequest from ._generate_markdown_utils import generate_markdown_report from ._generated_file_utils import load_recorded_session @@ -33,6 +35,8 @@ from .adk_web_server_client import AdkWebServerClient from .test_case import TestCase +_SUPPORTED_STREAMING_MODES = [StreamingMode.NONE, StreamingMode.SSE] + @dataclass class _TestResult: @@ -53,6 +57,7 @@ class _ConformanceTestSummary: passed_tests: int failed_tests: int results: list[_TestResult] + streaming_mode: StreamingMode @property def success_rate(self) -> float: @@ -71,11 +76,13 @@ def __init__( client: AdkWebServerClient, mode: str = "replay", user_id: str = "adk_conformance_test_user", + streaming_mode: StreamingMode = StreamingMode.NONE, ): self.test_paths = test_paths self.mode = mode self.client = client self.user_id = user_id + self.streaming_mode = streaming_mode def _discover_test_cases(self) -> list[TestCase]: """Discover test cases from specified folder paths.""" @@ -90,11 +97,15 @@ def _discover_test_cases(self) -> list[TestCase]: category = test_case_dir.parent.name name = test_case_dir.name + if self.streaming_mode == StreamingMode.SSE: + recordings_file = test_case_dir / "generated-recordings-sse.yaml" + elif self.streaming_mode == StreamingMode.NONE: + recordings_file = test_case_dir / "generated-recordings.yaml" + else: + raise ValueError(f"Unsupported streaming mode: {self.streaming_mode}") + # Skip if recordings missing in replay mode - if ( - self.mode == "replay" - and not (test_case_dir / "generated-recordings.yaml").exists() - ): + if self.mode == "replay" and not recordings_file.exists(): click.secho( f"Skipping {category}/{name}: no recordings", fg="yellow", @@ -115,7 +126,9 @@ def _discover_test_cases(self) -> list[TestCase]: return sorted(test_cases, key=lambda tc: (tc.category, tc.name)) async def _run_user_messages( - self, session_id: str, test_case: TestCase + self, + session_id: str, + test_case: TestCase, ) -> None: """Run all user messages for a test case.""" function_call_name_to_id_map = {} @@ -160,7 +173,7 @@ async def _run_user_messages( user_id=self.user_id, session_id=session_id, new_message=content, - streaming=False, + streaming=self.streaming_mode == StreamingMode.SSE, state_delta=user_message.state_delta, ) @@ -198,7 +211,7 @@ async def _validate_test_results( ) # Load recorded session data for comparison - recorded_session = load_recorded_session(test_case.dir) + recorded_session = load_recorded_session(test_case.dir, self.streaming_mode) if not recorded_session: return _TestResult( category=test_case.category, @@ -283,10 +296,11 @@ async def run_all_tests(self) -> _ConformanceTestSummary: passed_tests=0, failed_tests=0, results=[], + streaming_mode=self.streaming_mode, ) click.echo(f""" -Found {len(test_cases)} test cases to run in {self.mode} mode +Found {len(test_cases)} test cases to run in {self.mode} mode for streaming mode {self.streaming_mode}. """) results: list[_TestResult] = [] @@ -300,7 +314,7 @@ async def run_all_tests(self) -> _ConformanceTestSummary: category=test_case.category, name=test_case.name, success=False, - error_message="Live mode not yet implemented", + error_message="Live mode is not implemented yet", description=test_case.test_spec.description, ) results.append(result) @@ -312,6 +326,7 @@ async def run_all_tests(self) -> _ConformanceTestSummary: passed_tests=passed, failed_tests=len(results) - passed, results=results, + streaming_mode=self.streaming_mode, ) @@ -320,19 +335,27 @@ async def run_conformance_test( mode: str = "replay", generate_report: bool = False, report_dir: Optional[str] = None, + streaming_mode: Optional[StreamingMode] = None, ) -> None: """Run conformance tests.""" _print_test_header(mode) + test_summaries: list[_ConformanceTestSummary] = [] async with AdkWebServerClient() as client: - runner = ConformanceTestRunner(test_paths, client, mode) - summary = await runner.run_all_tests() + modes_to_run = _SUPPORTED_STREAMING_MODES + if streaming_mode and streaming_mode in _SUPPORTED_STREAMING_MODES: + modes_to_run = [streaming_mode] + for current_streaming_mode in modes_to_run: + runner = ConformanceTestRunner( + test_paths, client, mode, streaming_mode=current_streaming_mode + ) + test_summaries.append(await runner.run_all_tests()) if generate_report: version_data = await client.get_version_data() - generate_markdown_report(version_data, summary, report_dir) + generate_markdown_report(version_data, test_summaries, report_dir) - _print_test_summary(summary) + _print_test_summary(test_summaries) def _print_test_header(mode: str) -> None: @@ -360,36 +383,38 @@ def _print_test_result_details(result: _TestResult) -> None: click.secho(indented_message, fg="red", err=True) -def _print_test_summary(summary: _ConformanceTestSummary) -> None: +def _print_test_summary(summaries: list[_ConformanceTestSummary]) -> None: """Print the conformance test summary results.""" - # Print summary - click.echo("\n" + "=" * 50) - click.echo("CONFORMANCE TEST SUMMARY") - click.echo("=" * 50) - - if summary.total_tests == 0: - click.secho("No tests were run.", fg="yellow") - return - - click.echo(f"Total tests: {summary.total_tests}") - click.secho(f"Passed: {summary.passed_tests}", fg="green") - - if summary.failed_tests > 0: - click.secho(f"Failed: {summary.failed_tests}", fg="red") - else: - click.echo(f"Failed: {summary.failed_tests}") - - click.echo(f"Success rate: {summary.success_rate:.1f}%") - - # List failed tests - failed_tests = [r for r in summary.results if not r.success] - if failed_tests: - click.echo("\nFailed tests:") - for result in failed_tests: - _print_test_result_details(result) - - # Exit with error code if any tests failed - if summary.failed_tests > 0: - raise click.ClickException(f"{summary.failed_tests} test(s) failed") - else: - click.secho("\nAll tests passed! 🎉", fg="green") + for summary in summaries: + click.echo("\n" + "=" * 50) + click.echo( + f"CONFORMANCE TEST SUMMARY FOR STREAMING MODE: {summary.streaming_mode}" + ) + click.echo("=" * 50) + + if summary.total_tests == 0: + click.secho("No tests were run.", fg="yellow") + return + + click.echo(f"Total tests: {summary.total_tests}") + click.secho(f"Passed: {summary.passed_tests}", fg="green") + + if summary.failed_tests > 0: + click.secho(f"Failed: {summary.failed_tests}", fg="red") + else: + click.echo(f"Failed: {summary.failed_tests}") + + click.echo(f"Success rate: {summary.success_rate:.1f}%") + + # List failed tests + failed_tests = [r for r in summary.results if not r.success] + if failed_tests: + click.echo("\nFailed tests:") + for result in failed_tests: + _print_test_result_details(result) + + # Exit with error code if any tests failed + if summary.failed_tests > 0: + raise click.ClickException(f"{summary.failed_tests} test(s) failed") + else: + click.secho("\nAll tests passed! 🎉", fg="green") diff --git a/src/google/adk/cli/plugins/recordings_plugin.py b/src/google/adk/cli/plugins/recordings_plugin.py index fd4ca67fba..d7bd70e513 100644 --- a/src/google/adk/cli/plugins/recordings_plugin.py +++ b/src/google/adk/cli/plugins/recordings_plugin.py @@ -98,7 +98,8 @@ async def before_model_callback( if (state := self._get_invocation_state(callback_context)) is None: raise ValueError( - "Recording state not initialized. Ensure before_run created it." + "Recording state not initialized. Ensure before_run_callback" + " created it." ) pending_recording = Recording( @@ -106,7 +107,7 @@ async def before_model_callback( agent_name=callback_context.agent_name, llm_recording=LlmRecording( llm_request=llm_request, - llm_response=None, + llm_responses=[], ), ) @@ -132,17 +133,25 @@ async def after_model_callback( """Complete pending LLM recording for the invocation specified in session state.""" if not self._is_record_mode_on(callback_context): return None - if (state := self._get_invocation_state(callback_context)) is None: raise ValueError( - "Recording state not initialized. Ensure before_run created it." + "Recording state not initialized. Ensure before_run_callback" + " created it." ) agent_name = callback_context.agent_name - if pending_recording := state.pending_llm_recordings.pop(agent_name, None): - if pending_recording.llm_recording is not None: - pending_recording.llm_recording.llm_response = llm_response - logger.debug("Completed LLM recording for agent %s", agent_name) + if pending_recording := state.pending_llm_recordings.get(agent_name, None): + if ( + pending_recording.llm_recording is not None + and pending_recording.llm_recording.llm_responses is not None + ): + pending_recording.llm_recording.llm_responses.append(llm_response) + logger.debug( + "Appended LLM response to recording for agent %s", agent_name + ) + # Only remove from pending dict when response is complete + if not llm_response.partial: + state.pending_llm_recordings.pop(agent_name) else: logger.warning( "No pending LLM recording found for agent %s, skipping response", @@ -172,7 +181,8 @@ async def before_tool_callback( if (state := self._get_invocation_state(tool_context)) is None: raise ValueError( - "Recording state not initialized. Ensure before_run created it." + "Recording state not initialized. Ensure before_run_callback" + " created it." ) pending_recording = Recording( @@ -222,7 +232,8 @@ async def after_tool_callback( if (state := self._get_invocation_state(tool_context)) is None: raise ValueError( - "Recording state not initialized. Ensure before_run created it." + "Recording state not initialized. Ensure before_run_callback" + " created it." ) if pending_recording := state.pending_tool_recordings.pop( @@ -266,7 +277,8 @@ async def on_tool_error_callback( if (state := self._get_invocation_state(tool_context)) is None: raise ValueError( - "Recording state not initialized. Ensure before_run created it." + "Recording state not initialized. Ensure before_run_callback" + " created it." ) logger.debug( @@ -289,13 +301,14 @@ async def after_run_callback( if (state := self._get_invocation_state(ctx)) is None: raise ValueError( - "Recording state not initialized. Ensure before_run created it." + "Recording state not initialized. Ensure before_run_callback" + " created it." ) try: for pending in state.pending_recordings_order: if pending.llm_recording is not None: - if pending.llm_recording.llm_response is not None: + if pending.llm_recording.llm_responses: state.records.recordings.append(pending) else: logger.warning( @@ -310,16 +323,24 @@ async def after_run_callback( "Incomplete tool recording for agent %s, skipping", pending.agent_name, ) + if self._streaming_mode == "sse": + recordings_file = ( + f"{state.test_case_path}/generated-recordings-sse.yaml" + ) + elif self._streaming_mode == "none": + recordings_file = f"{state.test_case_path}/generated-recordings.yaml" + else: + raise ValueError(f"Unsupported streaming mode: {self._streaming_mode}") dump_pydantic_to_yaml( state.records, - f"{state.test_case_path}/generated-recordings.yaml", + recordings_file, sort_keys=False, ) logger.info( - "Saved %d recordings to %s/generated-recordings.yaml", + "Saved %d recordings to %s", len(state.records.recordings), - state.test_case_path, + recordings_file, ) except Exception as e: logger.error("Failed to save interactions: %s", e) @@ -364,12 +385,18 @@ def _create_invocation_state( config = session_state.get("_adk_recordings_config", {}) case_dir = config.get("dir") msg_index = config.get("user_message_index") + self._streaming_mode = config.get("streaming_mode", "") if not case_dir or msg_index is None: raise ValueError("Recording parameters are missing from session state") # Load or create recordings - recordings_file = Path(case_dir) / "generated-recordings.yaml" + if self._streaming_mode == "sse": + recordings_file = Path(case_dir) / "generated-recordings-sse.yaml" + elif self._streaming_mode == "none": + recordings_file = Path(case_dir) / "generated-recordings.yaml" + else: + raise ValueError(f"Unsupported streaming mode: {self._streaming_mode}") if recordings_file.exists(): try: diff --git a/src/google/adk/cli/plugins/recordings_schema.py b/src/google/adk/cli/plugins/recordings_schema.py index d0f20d55cf..ab255ff60d 100644 --- a/src/google/adk/cli/plugins/recordings_schema.py +++ b/src/google/adk/cli/plugins/recordings_schema.py @@ -37,8 +37,8 @@ class LlmRecording(BaseModel): llm_request: Optional[LlmRequest] = None """Required. The LLM request.""" - llm_response: Optional[LlmResponse] = None - """Required. The LLM response.""" + llm_responses: Optional[list[LlmResponse]] = None + """Required. The list of LLM responses.""" class ToolRecording(BaseModel): diff --git a/src/google/adk/cli/plugins/replay_plugin.py b/src/google/adk/cli/plugins/replay_plugin.py index f382947291..c80248dc0d 100644 --- a/src/google/adk/cli/plugins/replay_plugin.py +++ b/src/google/adk/cli/plugins/replay_plugin.py @@ -29,11 +29,7 @@ import yaml from ...agents.callback_context import CallbackContext -from ...models.llm_request import LlmRequest -from ...models.llm_response import LlmResponse from ...plugins.base_plugin import BasePlugin -from .recordings_schema import LlmRecording -from .recordings_schema import Recording from .recordings_schema import Recordings from .recordings_schema import ToolRecording @@ -65,8 +61,8 @@ class _InvocationReplayState(BaseModel): recordings: Recordings # Per-agent replay indices for parallel execution - # key: agent_name -> current replay index for that agent - agent_replay_indices: dict[str, int] = Field(default_factory=dict) + # key: agent_name -> current tool replay index for that agent + agent_tool_replay_indices: dict[str, int] = Field(default_factory=dict) class ReplayPlugin(BasePlugin): @@ -90,31 +86,6 @@ async def before_run_callback( self._load_invocation_state(ctx) return None - @override - async def before_model_callback( - self, *, callback_context: CallbackContext, llm_request: LlmRequest - ) -> Optional[LlmResponse]: - """Replay LLM response from recordings instead of making real call.""" - if not self._is_replay_mode_on(callback_context): - return None - - if (state := self._get_invocation_state(callback_context)) is None: - raise ReplayConfigError( - "Replay state not initialized. Ensure before_run created it." - ) - - agent_name = callback_context.agent_name - - # Verify and get the next LLM recording for this specific agent - recording = self._verify_and_get_next_llm_recording_for_agent( - state, agent_name, llm_request - ) - - logger.debug("Verified and replaying LLM response for agent %s", agent_name) - - # Return the recorded response - return recording.llm_response - @override async def before_tool_callback( self, @@ -196,6 +167,7 @@ def _load_invocation_state( config = session_state.get("_adk_replay_config", {}) case_dir = config.get("dir") msg_index = config.get("user_message_index") + streaming_mode = config.get("streaming_mode") if not case_dir or msg_index is None: raise ReplayConfigError( @@ -203,7 +175,12 @@ def _load_invocation_state( ) # Load recordings - recordings_file = Path(case_dir) / "generated-recordings.yaml" + if streaming_mode == "sse": + recordings_file = Path(case_dir) / "generated-recordings-sse.yaml" + elif streaming_mode == "none": + recordings_file = Path(case_dir) / "generated-recordings.yaml" + else: + raise ValueError(f"Unsupported streaming mode: {streaming_mode}") if not recordings_file.exists(): raise ReplayConfigError(f"Recordings file not found: {recordings_file}") @@ -217,6 +194,9 @@ def _load_invocation_state( f"Failed to load recordings from {recordings_file}: {e}" ) from e + # Store recordings in session state for BaseLlmFlow to access + config["_adk_replay_recordings"] = recordings + # Load and store invocation state state = _InvocationReplayState( test_case_path=case_dir, @@ -234,31 +214,32 @@ def _load_invocation_state( ) return state - def _get_next_recording_for_agent( + def _get_next_tool_recording_for_agent( self, state: _InvocationReplayState, agent_name: str, - ) -> Recording: - """Get the next recording for the specific agent in strict order.""" + ) -> ToolRecording: + """Get the next tool recording for the specific agent.""" # Get current agent index - current_agent_index = state.agent_replay_indices.get(agent_name, 0) + current_agent_index = state.agent_tool_replay_indices.get(agent_name, 0) - # Filter ALL recordings for this agent and user message index (strict order) + # Filter tool recordings for this agent and user message index agent_recordings = [ - recording + recording.tool_recording for recording in state.recordings.recordings if ( recording.agent_name == agent_name and recording.user_message_index == state.user_message_index + and recording.tool_recording ) ] # Check if we have enough recordings for this agent if current_agent_index >= len(agent_recordings): raise ReplayVerificationError( - f"Runtime sent more requests than expected for agent '{agent_name}'" - f" at user_message_index {state.user_message_index}. Expected" - f" {len(agent_recordings)}, but got request at index" + "Runtime sent more tool requests than expected for agent" + f" '{agent_name}' at user_message_index {state.user_message_index}." + f" Expected {len(agent_recordings)}, but got request at index" f" {current_agent_index}" ) @@ -266,37 +247,10 @@ def _get_next_recording_for_agent( expected_recording = agent_recordings[current_agent_index] # Advance agent index - state.agent_replay_indices[agent_name] = current_agent_index + 1 + state.agent_tool_replay_indices[agent_name] = current_agent_index + 1 return expected_recording - def _verify_and_get_next_llm_recording_for_agent( - self, - state: _InvocationReplayState, - agent_name: str, - llm_request: LlmRequest, - ) -> LlmRecording: - """Verify and get the next LLM recording for the specific agent.""" - current_agent_index = state.agent_replay_indices.get(agent_name, 0) - expected_recording = self._get_next_recording_for_agent(state, agent_name) - - # Verify this is an LLM recording - if not expected_recording.llm_recording: - raise ReplayVerificationError( - f"Expected LLM recording for agent '{agent_name}' at index " - f"{current_agent_index}, but found tool recording" - ) - - # Strict verification of LLM request - self._verify_llm_request_match( - expected_recording.llm_recording.llm_request, - llm_request, - agent_name, - current_agent_index, - ) - - return expected_recording.llm_recording - def _verify_and_get_next_tool_recording_for_agent( self, state: _InvocationReplayState, @@ -305,58 +259,21 @@ def _verify_and_get_next_tool_recording_for_agent( tool_args: dict[str, Any], ) -> ToolRecording: """Verify and get the next tool recording for the specific agent.""" - current_agent_index = state.agent_replay_indices.get(agent_name, 0) - expected_recording = self._get_next_recording_for_agent(state, agent_name) - - # Verify this is a tool recording - if not expected_recording.tool_recording: - raise ReplayVerificationError( - f"Expected tool recording for agent '{agent_name}' at index " - f"{current_agent_index}, but found LLM recording" - ) + current_agent_index = state.agent_tool_replay_indices.get(agent_name, 0) + expected_recording = self._get_next_tool_recording_for_agent( + state, agent_name + ) # Strict verification of tool call self._verify_tool_call_match( - expected_recording.tool_recording.tool_call, + expected_recording.tool_call, tool_name, tool_args, agent_name, current_agent_index, ) - return expected_recording.tool_recording - - def _verify_llm_request_match( - self, - recorded_request: LlmRequest, - current_request: LlmRequest, - agent_name: str, - agent_index: int, - ) -> None: - """Verify that the current LLM request exactly matches the recorded one.""" - # Comprehensive exclude dict for all fields that can differ between runs - excluded_fields = { - "live_connect_config": True, - "config": { # some config fields can vary per run - "http_options": True, - "labels": True, - }, - } - - # Compare using model dumps with nested exclude dict - recorded_dict = recorded_request.model_dump( - exclude_none=True, exclude=excluded_fields, exclude_defaults=True - ) - current_dict = current_request.model_dump( - exclude_none=True, exclude=excluded_fields, exclude_defaults=True - ) - - if recorded_dict != current_dict: - raise ReplayVerificationError( - f"""LLM request mismatch for agent '{agent_name}' (index {agent_index}): -recorded: {recorded_dict} -current: {current_dict}""" - ) + return expected_recording def _verify_tool_call_match( self, diff --git a/src/google/adk/flows/llm_flows/base_llm_flow.py b/src/google/adk/flows/llm_flows/base_llm_flow.py index 5203ea4fe8..bd0037bdcb 100644 --- a/src/google/adk/flows/llm_flows/base_llm_flow.py +++ b/src/google/adk/flows/llm_flows/base_llm_flow.py @@ -19,7 +19,6 @@ import inspect import logging from typing import AsyncGenerator -from typing import cast from typing import Optional from typing import TYPE_CHECKING @@ -36,7 +35,6 @@ from ...agents.live_request_queue import LiveRequestQueue from ...agents.readonly_context import ReadonlyContext from ...agents.run_config import StreamingMode -from ...agents.transcription_entry import TranscriptionEntry from ...auth.auth_handler import AuthHandler from ...auth.auth_tool import AuthConfig from ...auth.credential_manager import CredentialManager @@ -49,12 +47,10 @@ from ...telemetry.tracing import trace_send_data from ...telemetry.tracing import tracer from ...tools.base_toolset import BaseToolset -from ...tools.google_search_tool import google_search from ...tools.tool_context import ToolContext from ...utils.context_utils import Aclosing from .audio_cache_manager import AudioCacheManager from .functions import build_auth_request_event -from .functions import REQUEST_EUC_FUNCTION_CALL_NAME # Prefix used by toolset auth credential IDs TOOLSET_AUTH_CREDENTIAL_ID_PREFIX = '_adk_toolset_auth_' @@ -1289,6 +1285,33 @@ async def _handle_control_event_flush( def __get_llm(self, invocation_context: InvocationContext) -> BaseLlm: agent = invocation_context.agent + + # Check for conformance test replay mode + if config := invocation_context.session.state.get('_adk_replay_config'): + from ...cli.conformance._conformance_test_google_llm import _ConformanceTestGemini + + # Models are stateless, so the current replay state is cached in the + # session state to maintain the state across model calls + # key: (agent_name, user_message_index) + # value: replay index + user_message_index = config.get('user_message_index') + replay_indexes = config.get('_adk_replay_indexes', {}) + if (agent.name, user_message_index) not in replay_indexes: + replay_indexes[(agent.name, user_message_index)] = 0 + current_replay_index = replay_indexes[(agent.name, user_message_index)] + + config['current_replay_index'] = current_replay_index + config['agent_name'] = agent.name + model = _ConformanceTestGemini( + config=config, + ) + + replay_indexes[(agent.name, user_message_index)] = ( + current_replay_index + 1 + ) + config['_adk_replay_indexes'] = replay_indexes + return model + if not hasattr(agent, 'canonical_model'): raise TypeError( 'Expected agent to have canonical_model attribute,' From abf88a94761039ff6cae230c4a0c755f42dea77f Mon Sep 17 00:00:00 2001 From: "Wei (Jack) Sun" Date: Thu, 12 Mar 2026 15:56:40 -0700 Subject: [PATCH 12/51] chore: merge release v1.27.0 to main Co-authored-by: Liang Wu <18244712+wuliang229@users.noreply.github.com> --- .github/.release-please-manifest.json | 2 +- .github/release-please-config.json | 2 +- CHANGELOG.md | 98 +++++++++++++++++++++++++++ src/google/adk/version.py | 2 +- 4 files changed, 101 insertions(+), 3 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index f97891a673..c775f946fb 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.26.0" + ".": "1.27.0" } diff --git a/.github/release-please-config.json b/.github/release-please-config.json index 053aab23c3..8c58807069 100644 --- a/.github/release-please-config.json +++ b/.github/release-please-config.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", - "last-release-sha": "8f5428150d18ed732b66379c0acb806a9121c3cb", + "last-release-sha": "066fcec3e8e669d1c5360e1556afce3f7e068072", "packages": { ".": { "release-type": "python", diff --git a/CHANGELOG.md b/CHANGELOG.md index 92a8197b7a..49b189b095 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,103 @@ # Changelog +## [1.27.0](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-12) + +### Features +* **[Core]** + * Introduce A2A request interceptors in RemoteA2aAgent ([6f772d2](https://github.com/google/adk-python/commit/6f772d2b0841446bc168ccf405b59eb17c1d671a)) + * Add UiWidget to EventActions for supporting new experimental UI Widgets feature ([530ff06](https://github.com/google/adk-python/commit/530ff06ece61a93855a53235e85af18b46b2a6a0)) + * **auth:** Add pluggable support for auth integrations using AuthProviderRegistry within CredentialManager ([d004074](https://github.com/google/adk-python/commit/d004074c90525442a69cebe226440bb318abad29)) + * Support all `types.SchemaUnion` as output_schema in LLM Agent ([63f450e](https://github.com/google/adk-python/commit/63f450e0231f237ee1af37f17420d37b15426d48)) + * durable runtime support ([07fdd23](https://github.com/google/adk-python/commit/07fdd23c9c3f5046aa668fb480840f67f13bf271)) + * **runners:** pass GetSessionConfig through Runner to session service ([eff724a](https://github.com/google/adk-python/commit/eff724ac9aef2a203607f772c473703f21c09a72)) + +* **[Models]** + * Add support for PDF documents in Anthropic LLM ([4c8ba74](https://github.com/google/adk-python/commit/4c8ba74fcb07014db187ef8db8246ff966379aa9)) + * Add streaming support for Anthropic models ([5770cd3](https://github.com/google/adk-python/commit/5770cd3776c8805086ece34d747e589e36916a34)), closes [#3250](https://github.com/google/adk-python/issues/3250) + * Enable output schema with tools for LiteLlm models ([89df5fc](https://github.com/google/adk-python/commit/89df5fcf883b599cf7bfe40bde35b8d86ab0146b)), closes [#3969](https://github.com/google/adk-python/issues/3969) + * Preserve thought_signature in LiteLLM tool calls ([ae565be](https://github.com/google/adk-python/commit/ae565be30e64249b2913ad647911061a8b170e21)), closes [#4650](https://github.com/google/adk-python/issues/4650) + +* **[Web]** + * Updated human in the loop: developers now can respond to long running functions directly in chat + * Render artifacts when resuming + * Fix some light mode styles + * Fix token level streaming not working properly ([22799c0](https://github.com/google/adk-python/commit/22799c0833569753021078f7bd8dcd11ece562fe)) + +* **[Observability]** + * **telemetry:** add new gen_ai.agent.version span attribute ([ffe97ec](https://github.com/google/adk-python/commit/ffe97ec5ad7229c0b4ba573f33eb0edb8bb2877a)) + * **otel:** add `gen_ai.tool.definitions` to experimental semconv ([4dd4d5e](https://github.com/google/adk-python/commit/4dd4d5ecb6a1dadbc41389dac208616f6d21bc6e)) + * **otel:** add experimental semantic convention and emit `gen_ai.client.inference.operation.details` event ([19718e9](https://github.com/google/adk-python/commit/19718e9c174af7b1287b627e6b23a609db1ee5e2)) + * add missing token usage span attributes during model usage ([77bf325](https://github.com/google/adk-python/commit/77bf325d2bf556621c3276f74ee2816fce2a7085)) + * capture tool execution error code in OpenTelemetry spans ([e0a6c6d](https://github.com/google/adk-python/commit/e0a6c6db6f8e2db161f8b86b9f11030f0cec807a)) + +* **[Tools]** + * Warn when accessing DEFAULT_SKILL_SYSTEM_INSTRUCTION ([35366f4](https://github.com/google/adk-python/commit/35366f4e2a0575090fe12cd85f51e8116a1cd0d3)) + * add preserve_property_names option to OpenAPIToolset ([078b516](https://github.com/google/adk-python/commit/078b5163ff47acec69b1c8e105f62eb7b74f5548)) + * Add gcs filesystem support for Skills. It supports skills in text and pdf format, also has some sample agents ([6edcb97](https://github.com/google/adk-python/commit/6edcb975827dbd543a40ae3a402d2389327df603)) + * Add list_skills_in_dir to skills utils ([327b3af](https://github.com/google/adk-python/commit/327b3affd2d0a192f5a072b90fdb4aae7575be90)) + * Add support for MCP App UI widgets in MCPTool ([86db35c](https://github.com/google/adk-python/commit/86db35c338adaafb41e156311465e71e17edf35e)) + * add Dataplex Catalog search tool to BigQuery ADK ([82c2eef](https://github.com/google/adk-python/commit/82c2eefb27313c5b11b9e9382f626f543c53a29e)) + * Add RunSkillScriptTool to SkillToolset ([636f68f](https://github.com/google/adk-python/commit/636f68fbee700aa47f01e2cfd746859353b3333d)) + * Add support for ADK tools in SkillToolset ([44a5e6b](https://github.com/google/adk-python/commit/44a5e6bdb8e8f02891e72b65ef883f108c506f6a)) + * limit number of user-provided BigQuery job labels and reserve internal prefixes ([8c4ff74](https://github.com/google/adk-python/commit/8c4ff74e7d70cf940f54f6d7735f001495ce75d5)) + * Add param support to Bigtable execute_sql ([5702a4b](https://github.com/google/adk-python/commit/5702a4b1f59b17fd8b290fc125c349240b0953d7)) + * **bigtable:** add Bigtable cluster metadata tools ([34c560e](https://github.com/google/adk-python/commit/34c560e66e7ad379f586bbcd45a9460dc059bee2)) + * execute-type param addition in GkeCodeExecutor ([9c45166](https://github.com/google/adk-python/commit/9c451662819a6c7de71be71d12ea715b2fe74135)) + * **skill:** Add BashTool ([8a31612](https://github.com/google/adk-python/commit/8a3161202e4bac0bb8e8801b100f4403c1c75646)) + * Add support for toolsets to additional_tools field of SkillToolset ([066fcec](https://github.com/google/adk-python/commit/066fcec3e8e669d1c5360e1556afce3f7e068072)) + + +* **[Optimization]** + * Add `adk optimize` command ([b18d7a1](https://github.com/google/adk-python/commit/b18d7a140f8e18e03255b07e6d89948427790095)) + * Add interface between optimization infra and LocalEvalService ([7b7ddda](https://github.com/google/adk-python/commit/7b7ddda46ca701952f002b2807b89dbef5322414)) + * Add GEPA root agent prompt optimizer ([4e3e2cb](https://github.com/google/adk-python/commit/4e3e2cb58858e08a79bc6119ad49b6c049dbc0d0)) + +* **[Integrations]** + * Enhance BigQuery plugin schema upgrades and error reporting ([bcf38fa](https://github.com/google/adk-python/commit/bcf38fa2bac2f0d1ab74e07e01eb5160bad1d6dc)) + * Enhance BQ plugin with fork safety, auto views, and trace continuity ([80c5a24](https://github.com/google/adk-python/commit/80c5a245557cd75870e72bff0ecfaafbd37fdbc7)) + * Handle Conflict Errors in BigQuery Agent Analytics Plugin ([372c76b](https://github.com/google/adk-python/commit/372c76b857daa1102e76d755c0758f1515d6f180)) + * Added tracking headers for ADK CLI command to Agent Engine ([3117446](https://github.com/google/adk-python/commit/3117446293d30039c2f21f3d17a64a456c42c47d)) + +* **[A2A]** + * New implementation of A2aAgentExecutor and A2A-ADK conversion ([87ffc55](https://github.com/google/adk-python/commit/87ffc55640dea1185cf67e6f9b78f70b30867bcc)) + * New implementation of RemoteA2aAgent and A2A-ADK conversion ([6770e41](https://github.com/google/adk-python/commit/6770e419f5e200f4c7ad26587e1f769693ef4da0)) + +### Bug Fixes + +* Allow artifact services to accept dictionary representations of types.Part ([b004da5](https://github.com/google/adk-python/commit/b004da50270475adc9e1d7afe4064ca1d10c560a)), closes [#2886](https://github.com/google/adk-python/issues/2886) +* Decode image data from ComputerUse tool response into image blobs ([d7cfd8f](https://github.com/google/adk-python/commit/d7cfd8fe4def2198c113ff1993ef39cd519908a1)) +* Expand LiteLLM reasoning extraction to include 'reasoning' field ([9468487](https://github.com/google/adk-python/commit/94684874e436c2959cfc90ec346010a6f4fddc49)), closes [#3694](https://github.com/google/adk-python/issues/3694) +* Filter non-agent directories from list_agents() ([3b5937f](https://github.com/google/adk-python/commit/3b5937f022adf9286dc41e01e3618071a23eb992)) +* Fix Type Error by initializing user_content as a Content object ([2addf6b](https://github.com/google/adk-python/commit/2addf6b9dacfe87344aeec0101df98d99c23bdb1)) +* Handle length finish reason in LiteLLM responses ([4c6096b](https://github.com/google/adk-python/commit/4c6096baa1b0bed8533397287a5c11a0c4cb9101)), closes [#4482](https://github.com/google/adk-python/issues/4482) +* In SaveFilesAsArtifactsPlugin, write the artifact delta to state then event actions so that the plugin works with ADK Web UI's artifacts panel ([d6f31be](https://github.com/google/adk-python/commit/d6f31be554d9b7ee15fd9c95ae655b2265fb1f32)) +* Make invocation_context optional in convert_event_to_a2a_message ([8e79a12](https://github.com/google/adk-python/commit/8e79a12d6bcde43cc33247b7ee6cc9e929fa6288)) +* Optimize row-level locking in append_event ([d61846f](https://github.com/google/adk-python/commit/d61846f6c6dd5e357abb0e30eaf61fe27896ae6a)), closes [#4655](https://github.com/google/adk-python/issues/4655) +* Preserve thought_signature in FunctionCall conversions between GenAI and A2A ([f9c104f](https://github.com/google/adk-python/commit/f9c104faf73e2a002bb3092b50fb88f4eed78163)) +* Prevent splitting of SSE events with artifactDelta for function resume requests ([6a929af](https://github.com/google/adk-python/commit/6a929af718fa77199d1eecc62b16c54beb1c8d84)), closes [#4487](https://github.com/google/adk-python/issues/4487) +* Propagate file names during A2A to/from Genai Part conversion ([f324fa2](https://github.com/google/adk-python/commit/f324fa2d62442301ebb2e7974eb97ea870471410)) +* Propagate thought from A2A TextPart metadata to GenAI Part ([e59929e](https://github.com/google/adk-python/commit/e59929e11a56aaee7bb0c45cd4c9d9fef689548c)) +* Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py to avoid breaking current users ([de4dee8](https://github.com/google/adk-python/commit/de4dee899cd777a01ba15906f8496a72e717ea98)) +* Refactor type string update in Anthropic tool param conversion ([ab4b736](https://github.com/google/adk-python/commit/ab4b736807dabee65659486a68135d9f1530834c)) +* **simulation:** handle NoneType generated_content ([9d15517](https://github.com/google/adk-python/commit/9d155177b956f690d4c99560f582e3e90e111f71)) +* Store and retrieve EventCompaction via custom_metadata in Vertex AISessionService ([2e434ca](https://github.com/google/adk-python/commit/2e434ca7be765d45426fde9d52b131921bd9fa30)), closes [#3465](https://github.com/google/adk-python/issues/3465) +* Support before_tool_callback and after_tool_callback in Live mode ([c36a708](https://github.com/google/adk-python/commit/c36a708058163ade061cd3d2f9957231a505a62d)), closes [#4704](https://github.com/google/adk-python/issues/4704) +* temp-scoped state now visible to subsequent agents in same invocation ([2780ae2](https://github.com/google/adk-python/commit/2780ae2892adfbebc7580c843d2eaad29f86c335)) +* **tools:** Handle JSON Schema boolean schemas in Gemini schema conversion ([3256a67](https://github.com/google/adk-python/commit/3256a679da3e0fb6f18b26057e87f5284680cb58)) +* typo in A2A EXPERIMENTAL warning ([eb55eb7](https://github.com/google/adk-python/commit/eb55eb7e7f0fa647d762205225c333dcd8a08dd0)) +* Update agent_engine_sandbox_code_executor in ADK ([dff4c44](https://github.com/google/adk-python/commit/dff4c4404051b711c8be437ba0ae26ca2763df7d)) +* update Bigtable query tools to async functions ([72f3e7e](https://github.com/google/adk-python/commit/72f3e7e1e00d93c632883027bf6d31a9095cd6c2)) +* Update expected UsageMetadataChunk in LiteLLM tests ([dd0851a](https://github.com/google/adk-python/commit/dd0851ac74d358bc030def5adf242d875ab18265)), closes [#4680](https://github.com/google/adk-python/issues/4680) +* update toolbox server and SDK package versions ([2e370ea](https://github.com/google/adk-python/commit/2e370ea688033f0663501171d0babfb0d74de4b2)) +* Validate session before streaming instead of eagerly advancing the runner generator ([ebbc114](https://github.com/google/adk-python/commit/ebbc1147863956e85931f8d46abb0632e3d1cf67)) + + +### Code Refactoring + +* extract reusable functions from hitl and auth preprocessor ([c59afc2](https://github.com/google/adk-python/commit/c59afc21cbed27d1328872cdc2b0e182ab2ca6c8)) +* Rename base classes and TypeVars in optimization data types ([9154ef5](https://github.com/google/adk-python/commit/9154ef59d29eb37538914e9967c4392cc2a24237)) + + ## [1.26.0](https://github.com/google/adk-python/compare/v1.25.1...v1.26.0) (2026-02-26) diff --git a/src/google/adk/version.py b/src/google/adk/version.py index 2e373f505a..6570514289 100644 --- a/src/google/adk/version.py +++ b/src/google/adk/version.py @@ -13,4 +13,4 @@ # limitations under the License. # version: major.minor.patch -__version__ = "1.26.0" +__version__ = "1.27.0" From 31b005c301b634ff5fa608a86ba014cbb2c307eb Mon Sep 17 00:00:00 2001 From: Guoyi Lou Date: Thu, 12 Mar 2026 14:44:36 -0700 Subject: [PATCH 13/51] ADK changes Co-authored-by: Guoyi Lou PiperOrigin-RevId: 882787811 --- .github/.release-please-manifest.json | 2 +- .github/release-please-config.json | 2 +- CHANGELOG.md | 98 --------------------------- src/google/adk/version.py | 2 +- 4 files changed, 3 insertions(+), 101 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index c775f946fb..f97891a673 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.27.0" + ".": "1.26.0" } diff --git a/.github/release-please-config.json b/.github/release-please-config.json index 8c58807069..053aab23c3 100644 --- a/.github/release-please-config.json +++ b/.github/release-please-config.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", - "last-release-sha": "066fcec3e8e669d1c5360e1556afce3f7e068072", + "last-release-sha": "8f5428150d18ed732b66379c0acb806a9121c3cb", "packages": { ".": { "release-type": "python", diff --git a/CHANGELOG.md b/CHANGELOG.md index 49b189b095..92a8197b7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,103 +1,5 @@ # Changelog -## [1.27.0](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-12) - -### Features -* **[Core]** - * Introduce A2A request interceptors in RemoteA2aAgent ([6f772d2](https://github.com/google/adk-python/commit/6f772d2b0841446bc168ccf405b59eb17c1d671a)) - * Add UiWidget to EventActions for supporting new experimental UI Widgets feature ([530ff06](https://github.com/google/adk-python/commit/530ff06ece61a93855a53235e85af18b46b2a6a0)) - * **auth:** Add pluggable support for auth integrations using AuthProviderRegistry within CredentialManager ([d004074](https://github.com/google/adk-python/commit/d004074c90525442a69cebe226440bb318abad29)) - * Support all `types.SchemaUnion` as output_schema in LLM Agent ([63f450e](https://github.com/google/adk-python/commit/63f450e0231f237ee1af37f17420d37b15426d48)) - * durable runtime support ([07fdd23](https://github.com/google/adk-python/commit/07fdd23c9c3f5046aa668fb480840f67f13bf271)) - * **runners:** pass GetSessionConfig through Runner to session service ([eff724a](https://github.com/google/adk-python/commit/eff724ac9aef2a203607f772c473703f21c09a72)) - -* **[Models]** - * Add support for PDF documents in Anthropic LLM ([4c8ba74](https://github.com/google/adk-python/commit/4c8ba74fcb07014db187ef8db8246ff966379aa9)) - * Add streaming support for Anthropic models ([5770cd3](https://github.com/google/adk-python/commit/5770cd3776c8805086ece34d747e589e36916a34)), closes [#3250](https://github.com/google/adk-python/issues/3250) - * Enable output schema with tools for LiteLlm models ([89df5fc](https://github.com/google/adk-python/commit/89df5fcf883b599cf7bfe40bde35b8d86ab0146b)), closes [#3969](https://github.com/google/adk-python/issues/3969) - * Preserve thought_signature in LiteLLM tool calls ([ae565be](https://github.com/google/adk-python/commit/ae565be30e64249b2913ad647911061a8b170e21)), closes [#4650](https://github.com/google/adk-python/issues/4650) - -* **[Web]** - * Updated human in the loop: developers now can respond to long running functions directly in chat - * Render artifacts when resuming - * Fix some light mode styles - * Fix token level streaming not working properly ([22799c0](https://github.com/google/adk-python/commit/22799c0833569753021078f7bd8dcd11ece562fe)) - -* **[Observability]** - * **telemetry:** add new gen_ai.agent.version span attribute ([ffe97ec](https://github.com/google/adk-python/commit/ffe97ec5ad7229c0b4ba573f33eb0edb8bb2877a)) - * **otel:** add `gen_ai.tool.definitions` to experimental semconv ([4dd4d5e](https://github.com/google/adk-python/commit/4dd4d5ecb6a1dadbc41389dac208616f6d21bc6e)) - * **otel:** add experimental semantic convention and emit `gen_ai.client.inference.operation.details` event ([19718e9](https://github.com/google/adk-python/commit/19718e9c174af7b1287b627e6b23a609db1ee5e2)) - * add missing token usage span attributes during model usage ([77bf325](https://github.com/google/adk-python/commit/77bf325d2bf556621c3276f74ee2816fce2a7085)) - * capture tool execution error code in OpenTelemetry spans ([e0a6c6d](https://github.com/google/adk-python/commit/e0a6c6db6f8e2db161f8b86b9f11030f0cec807a)) - -* **[Tools]** - * Warn when accessing DEFAULT_SKILL_SYSTEM_INSTRUCTION ([35366f4](https://github.com/google/adk-python/commit/35366f4e2a0575090fe12cd85f51e8116a1cd0d3)) - * add preserve_property_names option to OpenAPIToolset ([078b516](https://github.com/google/adk-python/commit/078b5163ff47acec69b1c8e105f62eb7b74f5548)) - * Add gcs filesystem support for Skills. It supports skills in text and pdf format, also has some sample agents ([6edcb97](https://github.com/google/adk-python/commit/6edcb975827dbd543a40ae3a402d2389327df603)) - * Add list_skills_in_dir to skills utils ([327b3af](https://github.com/google/adk-python/commit/327b3affd2d0a192f5a072b90fdb4aae7575be90)) - * Add support for MCP App UI widgets in MCPTool ([86db35c](https://github.com/google/adk-python/commit/86db35c338adaafb41e156311465e71e17edf35e)) - * add Dataplex Catalog search tool to BigQuery ADK ([82c2eef](https://github.com/google/adk-python/commit/82c2eefb27313c5b11b9e9382f626f543c53a29e)) - * Add RunSkillScriptTool to SkillToolset ([636f68f](https://github.com/google/adk-python/commit/636f68fbee700aa47f01e2cfd746859353b3333d)) - * Add support for ADK tools in SkillToolset ([44a5e6b](https://github.com/google/adk-python/commit/44a5e6bdb8e8f02891e72b65ef883f108c506f6a)) - * limit number of user-provided BigQuery job labels and reserve internal prefixes ([8c4ff74](https://github.com/google/adk-python/commit/8c4ff74e7d70cf940f54f6d7735f001495ce75d5)) - * Add param support to Bigtable execute_sql ([5702a4b](https://github.com/google/adk-python/commit/5702a4b1f59b17fd8b290fc125c349240b0953d7)) - * **bigtable:** add Bigtable cluster metadata tools ([34c560e](https://github.com/google/adk-python/commit/34c560e66e7ad379f586bbcd45a9460dc059bee2)) - * execute-type param addition in GkeCodeExecutor ([9c45166](https://github.com/google/adk-python/commit/9c451662819a6c7de71be71d12ea715b2fe74135)) - * **skill:** Add BashTool ([8a31612](https://github.com/google/adk-python/commit/8a3161202e4bac0bb8e8801b100f4403c1c75646)) - * Add support for toolsets to additional_tools field of SkillToolset ([066fcec](https://github.com/google/adk-python/commit/066fcec3e8e669d1c5360e1556afce3f7e068072)) - - -* **[Optimization]** - * Add `adk optimize` command ([b18d7a1](https://github.com/google/adk-python/commit/b18d7a140f8e18e03255b07e6d89948427790095)) - * Add interface between optimization infra and LocalEvalService ([7b7ddda](https://github.com/google/adk-python/commit/7b7ddda46ca701952f002b2807b89dbef5322414)) - * Add GEPA root agent prompt optimizer ([4e3e2cb](https://github.com/google/adk-python/commit/4e3e2cb58858e08a79bc6119ad49b6c049dbc0d0)) - -* **[Integrations]** - * Enhance BigQuery plugin schema upgrades and error reporting ([bcf38fa](https://github.com/google/adk-python/commit/bcf38fa2bac2f0d1ab74e07e01eb5160bad1d6dc)) - * Enhance BQ plugin with fork safety, auto views, and trace continuity ([80c5a24](https://github.com/google/adk-python/commit/80c5a245557cd75870e72bff0ecfaafbd37fdbc7)) - * Handle Conflict Errors in BigQuery Agent Analytics Plugin ([372c76b](https://github.com/google/adk-python/commit/372c76b857daa1102e76d755c0758f1515d6f180)) - * Added tracking headers for ADK CLI command to Agent Engine ([3117446](https://github.com/google/adk-python/commit/3117446293d30039c2f21f3d17a64a456c42c47d)) - -* **[A2A]** - * New implementation of A2aAgentExecutor and A2A-ADK conversion ([87ffc55](https://github.com/google/adk-python/commit/87ffc55640dea1185cf67e6f9b78f70b30867bcc)) - * New implementation of RemoteA2aAgent and A2A-ADK conversion ([6770e41](https://github.com/google/adk-python/commit/6770e419f5e200f4c7ad26587e1f769693ef4da0)) - -### Bug Fixes - -* Allow artifact services to accept dictionary representations of types.Part ([b004da5](https://github.com/google/adk-python/commit/b004da50270475adc9e1d7afe4064ca1d10c560a)), closes [#2886](https://github.com/google/adk-python/issues/2886) -* Decode image data from ComputerUse tool response into image blobs ([d7cfd8f](https://github.com/google/adk-python/commit/d7cfd8fe4def2198c113ff1993ef39cd519908a1)) -* Expand LiteLLM reasoning extraction to include 'reasoning' field ([9468487](https://github.com/google/adk-python/commit/94684874e436c2959cfc90ec346010a6f4fddc49)), closes [#3694](https://github.com/google/adk-python/issues/3694) -* Filter non-agent directories from list_agents() ([3b5937f](https://github.com/google/adk-python/commit/3b5937f022adf9286dc41e01e3618071a23eb992)) -* Fix Type Error by initializing user_content as a Content object ([2addf6b](https://github.com/google/adk-python/commit/2addf6b9dacfe87344aeec0101df98d99c23bdb1)) -* Handle length finish reason in LiteLLM responses ([4c6096b](https://github.com/google/adk-python/commit/4c6096baa1b0bed8533397287a5c11a0c4cb9101)), closes [#4482](https://github.com/google/adk-python/issues/4482) -* In SaveFilesAsArtifactsPlugin, write the artifact delta to state then event actions so that the plugin works with ADK Web UI's artifacts panel ([d6f31be](https://github.com/google/adk-python/commit/d6f31be554d9b7ee15fd9c95ae655b2265fb1f32)) -* Make invocation_context optional in convert_event_to_a2a_message ([8e79a12](https://github.com/google/adk-python/commit/8e79a12d6bcde43cc33247b7ee6cc9e929fa6288)) -* Optimize row-level locking in append_event ([d61846f](https://github.com/google/adk-python/commit/d61846f6c6dd5e357abb0e30eaf61fe27896ae6a)), closes [#4655](https://github.com/google/adk-python/issues/4655) -* Preserve thought_signature in FunctionCall conversions between GenAI and A2A ([f9c104f](https://github.com/google/adk-python/commit/f9c104faf73e2a002bb3092b50fb88f4eed78163)) -* Prevent splitting of SSE events with artifactDelta for function resume requests ([6a929af](https://github.com/google/adk-python/commit/6a929af718fa77199d1eecc62b16c54beb1c8d84)), closes [#4487](https://github.com/google/adk-python/issues/4487) -* Propagate file names during A2A to/from Genai Part conversion ([f324fa2](https://github.com/google/adk-python/commit/f324fa2d62442301ebb2e7974eb97ea870471410)) -* Propagate thought from A2A TextPart metadata to GenAI Part ([e59929e](https://github.com/google/adk-python/commit/e59929e11a56aaee7bb0c45cd4c9d9fef689548c)) -* Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py to avoid breaking current users ([de4dee8](https://github.com/google/adk-python/commit/de4dee899cd777a01ba15906f8496a72e717ea98)) -* Refactor type string update in Anthropic tool param conversion ([ab4b736](https://github.com/google/adk-python/commit/ab4b736807dabee65659486a68135d9f1530834c)) -* **simulation:** handle NoneType generated_content ([9d15517](https://github.com/google/adk-python/commit/9d155177b956f690d4c99560f582e3e90e111f71)) -* Store and retrieve EventCompaction via custom_metadata in Vertex AISessionService ([2e434ca](https://github.com/google/adk-python/commit/2e434ca7be765d45426fde9d52b131921bd9fa30)), closes [#3465](https://github.com/google/adk-python/issues/3465) -* Support before_tool_callback and after_tool_callback in Live mode ([c36a708](https://github.com/google/adk-python/commit/c36a708058163ade061cd3d2f9957231a505a62d)), closes [#4704](https://github.com/google/adk-python/issues/4704) -* temp-scoped state now visible to subsequent agents in same invocation ([2780ae2](https://github.com/google/adk-python/commit/2780ae2892adfbebc7580c843d2eaad29f86c335)) -* **tools:** Handle JSON Schema boolean schemas in Gemini schema conversion ([3256a67](https://github.com/google/adk-python/commit/3256a679da3e0fb6f18b26057e87f5284680cb58)) -* typo in A2A EXPERIMENTAL warning ([eb55eb7](https://github.com/google/adk-python/commit/eb55eb7e7f0fa647d762205225c333dcd8a08dd0)) -* Update agent_engine_sandbox_code_executor in ADK ([dff4c44](https://github.com/google/adk-python/commit/dff4c4404051b711c8be437ba0ae26ca2763df7d)) -* update Bigtable query tools to async functions ([72f3e7e](https://github.com/google/adk-python/commit/72f3e7e1e00d93c632883027bf6d31a9095cd6c2)) -* Update expected UsageMetadataChunk in LiteLLM tests ([dd0851a](https://github.com/google/adk-python/commit/dd0851ac74d358bc030def5adf242d875ab18265)), closes [#4680](https://github.com/google/adk-python/issues/4680) -* update toolbox server and SDK package versions ([2e370ea](https://github.com/google/adk-python/commit/2e370ea688033f0663501171d0babfb0d74de4b2)) -* Validate session before streaming instead of eagerly advancing the runner generator ([ebbc114](https://github.com/google/adk-python/commit/ebbc1147863956e85931f8d46abb0632e3d1cf67)) - - -### Code Refactoring - -* extract reusable functions from hitl and auth preprocessor ([c59afc2](https://github.com/google/adk-python/commit/c59afc21cbed27d1328872cdc2b0e182ab2ca6c8)) -* Rename base classes and TypeVars in optimization data types ([9154ef5](https://github.com/google/adk-python/commit/9154ef59d29eb37538914e9967c4392cc2a24237)) - - ## [1.26.0](https://github.com/google/adk-python/compare/v1.25.1...v1.26.0) (2026-02-26) diff --git a/src/google/adk/version.py b/src/google/adk/version.py index 6570514289..2e373f505a 100644 --- a/src/google/adk/version.py +++ b/src/google/adk/version.py @@ -13,4 +13,4 @@ # limitations under the License. # version: major.minor.patch -__version__ = "1.27.0" +__version__ = "1.26.0" From 780093f389bfbffce965c89ca888d49f992219c1 Mon Sep 17 00:00:00 2001 From: Rohit Yanamadala Date: Thu, 12 Mar 2026 23:56:27 -0700 Subject: [PATCH 14/51] docs: Feat/Issue Monitoring Agent Merge https://github.com/google/adk-python/pull/4622 Co-authored-by: Xuan Yang COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4622 from rohityan:feat/IssueWatchdog 560937039d0a218b27d9cea767abd9a88a004822 PiperOrigin-RevId: 882987318 --- .github/workflows/issue-monitor.yml | 63 ++++++ .../PROMPT_INSTRUCTION.txt | 18 ++ .../adk_issue_monitoring_agent/README.md | 62 ++++++ .../adk_issue_monitoring_agent/__init__.py | 15 ++ .../adk_issue_monitoring_agent/agent.py | 118 ++++++++++ .../adk_issue_monitoring_agent/main.py | 204 ++++++++++++++++++ .../adk_issue_monitoring_agent/settings.py | 43 ++++ .../adk_issue_monitoring_agent/utils.py | 171 +++++++++++++++ 8 files changed, 694 insertions(+) create mode 100644 .github/workflows/issue-monitor.yml create mode 100644 contributing/samples/adk_issue_monitoring_agent/PROMPT_INSTRUCTION.txt create mode 100644 contributing/samples/adk_issue_monitoring_agent/README.md create mode 100644 contributing/samples/adk_issue_monitoring_agent/__init__.py create mode 100644 contributing/samples/adk_issue_monitoring_agent/agent.py create mode 100644 contributing/samples/adk_issue_monitoring_agent/main.py create mode 100644 contributing/samples/adk_issue_monitoring_agent/settings.py create mode 100644 contributing/samples/adk_issue_monitoring_agent/utils.py diff --git a/.github/workflows/issue-monitor.yml b/.github/workflows/issue-monitor.yml new file mode 100644 index 0000000000..e0dc82dcf7 --- /dev/null +++ b/.github/workflows/issue-monitor.yml @@ -0,0 +1,63 @@ +# Copyright 2026 Google LLC +# +# 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. + +name: ADK Issue Monitoring Agent + +on: + schedule: + # Runs daily at 6:00 AM UTC + - cron: '0 6 * * *' + + # Allows manual triggering from the GitHub Actions tab + workflow_dispatch: + inputs: + full_scan: + description: 'Run an Initial Full Scan of ALL open issues' + required: false + type: boolean + default: false + +jobs: + sweep-spam: + runs-on: ubuntu-latest + timeout-minutes: 120 + permissions: + issues: write + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install requests google-adk python-dotenv + + - name: Run Issue Monitoring Agent + env: + GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }} + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} + CONCURRENCY_LIMIT: 3 + INITIAL_FULL_SCAN: ${{ github.event.inputs.full_scan == 'true' }} + LLM_MODEL_NAME: "gemini-2.5-flash" + PYTHONPATH: contributing/samples + run: python -m adk_issue_monitoring_agent.main diff --git a/contributing/samples/adk_issue_monitoring_agent/PROMPT_INSTRUCTION.txt b/contributing/samples/adk_issue_monitoring_agent/PROMPT_INSTRUCTION.txt new file mode 100644 index 0000000000..dcd7cb071b --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/PROMPT_INSTRUCTION.txt @@ -0,0 +1,18 @@ +You are the automated security and moderation agent for the {OWNER}/{REPO} repository. + +You will be provided with an Issue Number and a list of comments made by non-maintainers. +Your job is to read through these comments and identify if any of them contain SPAM, promotional content for 3rd-party websites, SEO links, or objectionable material. + +CRITERIA FOR SPAM: +- The comment is completely unrelated to the repository or the specific issue. +- The comment promotes a 3rd party product, service, or website. +- The comment is generic "SEO spam" (e.g., "Great post! Check out my site at [link]"). + +INSTRUCTIONS: +1. Evaluate the provided comments. +2. If you identify spam, call the `flag_issue_as_spam` tool. + - Pass the `item_number`. + - Pass a brief `detection_reason` explaining which comment is spam and why (e.g., "@spammer_bot posted an irrelevant link to a shoe store"). +3. If NONE of the comments contain spam, do NOT call any tools. Just respond with "No spam detected." + +Remember: Do not flag comments that are merely unhelpful, off-topic, or from beginners asking legitimate questions. Only flag actual spam, endorsements, or objectionable material. \ No newline at end of file diff --git a/contributing/samples/adk_issue_monitoring_agent/README.md b/contributing/samples/adk_issue_monitoring_agent/README.md new file mode 100644 index 0000000000..da1a5d7d4f --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/README.md @@ -0,0 +1,62 @@ +# ADK Issue Monitoring Agent 🛡️ + +An intelligent, cost-optimized, automated moderation agent built with the **Google Agent Development Kit (ADK)**. + +This agent automatically audits GitHub repository issues to detect SEO spam, unsolicited promotional links, and irrelevant third-party endorsements. If spam is detected, it automatically applies a `spam` label and alerts the repository maintainers. + +## ✨ Key Features & Optimizations + +* **Zero-Waste LLM Invocations:** Fetches issue comments via REST APIs and pre-filters them in Python. It automatically ignores comments from maintainers, `[bot]` accounts, and the official `adk-bot`. The Gemini LLM is never invoked for safe threads, saving 100% of the token cost. +* **Dual-Mode Scanning:** Can perform a **Deep Clean** (auditing the entire history of all open issues) or a **Daily Sweep** (only fetching issues updated within the last 24 hours). +* **Token Truncation:** Uses Regular Expressions to strip out Markdown code blocks (` ``` `) replacing them with `[CODE BLOCK REMOVED]`, and truncates unusually long text to 1,500 characters before sending it to the AI. +* **Idempotency (Anti-Double-Posting):** The bot reads the comment history for its own signature. If it has already flagged an issue, it instantly skips it, preventing infinite feedback loops. + +--- + +## Configuration + +The agent is configured via environment variables, typically set as secrets in GitHub Actions. + +### Required Secrets + +| Secret Name | Description | +| :--- | :--- | +| `GITHUB_TOKEN` | A GitHub Personal Access Token (PAT) or Service Account Token with `repo` and `issues: write` scope. | +| `GOOGLE_API_KEY` | An API key for the Google AI (Gemini) model used for reasoning. | + +### Optional Configuration + +These variables control the scanning behavior, thresholds, and model selection. + +| Variable Name | Description | Default | +| :--- | :--- | :--- | +| `INITIAL_FULL_SCAN` | If `true`, audits every open issue in the repository. If `false`, only audits issues updated in the last 24 hours. | `false` | +| `SPAM_LABEL_NAME` | The exact text of the label applied to flagged issues. | `spam` | +| `BOT_NAME` | The GitHub username of your official bot to ensure its comments are ignored. | `adk-bot` | +| `CONCURRENCY_LIMIT` | The number of issues to process concurrently. | `3` | +| `SLEEP_BETWEEN_CHUNKS` | Time in seconds to sleep between batches to respect GitHub API rate limits. | `1.5` | +| `LLM_MODEL_NAME`| The specific Gemini model version to use. | `gemini-2.5-flash` | +| `OWNER` | Repository owner (auto-detected in Actions). | (Environment dependent) | +| `REPO` | Repository name (auto-detected in Actions). | (Environment dependent) | + +--- + +## Deployment + +To deploy this agent, a GitHub Actions workflow file (`.github/workflows/issue-monitor.yml`) is recommended. + +### Directory Structure Note +Because this agent resides within the `adk-python` package structure, the workflow must ensure the script is executed correctly to handle imports. It must be run as a module from the parent directory. + +### Example Workflow Execution +```yaml + - name: Run ADK Issue Monitoring Agent + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} + # Mapped to the manual trigger checkbox in the GitHub UI + INITIAL_FULL_SCAN: ${{ github.event.inputs.full_scan == 'true' }} + PYTHONPATH: contributing/samples + run: python -m adk_issue_monitoring_agent.main \ No newline at end of file diff --git a/contributing/samples/adk_issue_monitoring_agent/__init__.py b/contributing/samples/adk_issue_monitoring_agent/__init__.py new file mode 100644 index 0000000000..4015e47d6e --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/__init__.py @@ -0,0 +1,15 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from . import agent diff --git a/contributing/samples/adk_issue_monitoring_agent/agent.py b/contributing/samples/adk_issue_monitoring_agent/agent.py new file mode 100644 index 0000000000..b30bce3d36 --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/agent.py @@ -0,0 +1,118 @@ +# Copyright 2026 Google LLC +# +# 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 logging +import os +from typing import Any + +from adk_issue_monitoring_agent.settings import BOT_ALERT_SIGNATURE +from adk_issue_monitoring_agent.settings import GITHUB_BASE_URL +from adk_issue_monitoring_agent.settings import LLM_MODEL_NAME +from adk_issue_monitoring_agent.settings import OWNER +from adk_issue_monitoring_agent.settings import REPO +from adk_issue_monitoring_agent.settings import SPAM_LABEL_NAME +from adk_issue_monitoring_agent.utils import error_response +from adk_issue_monitoring_agent.utils import get_issue_comments +from adk_issue_monitoring_agent.utils import get_issue_details +from adk_issue_monitoring_agent.utils import post_request +from google.adk.agents.llm_agent import Agent +from requests.exceptions import RequestException + +logger = logging.getLogger("google_adk." + __name__) + + +def load_prompt_template(filename: str) -> str: + file_path = os.path.join(os.path.dirname(__file__), filename) + with open(file_path, "r") as f: + return f.read() + + +PROMPT_TEMPLATE = load_prompt_template("PROMPT_INSTRUCTION.txt") + +# --- Tools --- + + +def flag_issue_as_spam( + item_number: int, detection_reason: str +) -> dict[str, Any]: + """ + Flags an issue as spam by adding a label and leaving a comment for maintainers. + Includes idempotency checks to avoid duplicate POST actions. + + Args: + item_number (int): The GitHub issue number. + detection_reason (str): The explanation of what the spam is. + """ + logger.info(f"Flagging #{item_number} as SPAM. Reason: {detection_reason}") + + label_url = ( + f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{item_number}/labels" + ) + comment_url = ( + f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{item_number}/comments" + ) + + safe_reason = detection_reason.replace("```", "'''") + + alert_body = ( + f"{BOT_ALERT_SIGNATURE}\n" + "@maintainers, a suspected spam comment was detected in this thread.\n\n" + "**Reason:**\n" + f"```text\n{safe_reason}\n```" + ) + + try: + # 1. Fetch current state to check what actions are actually needed + issue = get_issue_details(OWNER, REPO, item_number) + comments = get_issue_comments(OWNER, REPO, item_number) + + current_labels = [ + label["name"].lower() for label in issue.get("labels", []) + ] + is_labeled = SPAM_LABEL_NAME.lower() in current_labels + is_commented = any( + BOT_ALERT_SIGNATURE in c.get("body", "") for c in comments + ) + + if is_labeled and is_commented: + logger.info(f"#{item_number} is already labeled and commented. Skipping.") + elif is_labeled and not is_commented: + post_request(comment_url, {"body": alert_body}) + logger.info(f"Successfully posted spam alert comment to #{item_number}.") + elif not is_labeled and is_commented: + post_request(label_url, {"labels": [SPAM_LABEL_NAME]}) + logger.info( + f"Successfully added '{SPAM_LABEL_NAME}' label to #{item_number}." + ) + else: + post_request(label_url, {"labels": [SPAM_LABEL_NAME]}) + post_request(comment_url, {"body": alert_body}) + logger.info(f"Successfully fully flagged #{item_number}.") + + return {"status": "success", "message": "Maintainers alerted successfully."} + + except RequestException as e: + return error_response(f"Error flagging issue: {e}") + + +root_agent = Agent( + model=LLM_MODEL_NAME, + name="spam_auditor_agent", + description="Audits issue comments for spam.", + instruction=PROMPT_TEMPLATE.format( + OWNER=OWNER, + REPO=REPO, + ), + tools=[flag_issue_as_spam], +) diff --git a/contributing/samples/adk_issue_monitoring_agent/main.py b/contributing/samples/adk_issue_monitoring_agent/main.py new file mode 100644 index 0000000000..65956d2685 --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/main.py @@ -0,0 +1,204 @@ +# Copyright 2026 Google LLC +# +# 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 asyncio +import logging +import re +import time + +from adk_issue_monitoring_agent.agent import root_agent +from adk_issue_monitoring_agent.settings import BOT_ALERT_SIGNATURE +from adk_issue_monitoring_agent.settings import BOT_NAME +from adk_issue_monitoring_agent.settings import CONCURRENCY_LIMIT +from adk_issue_monitoring_agent.settings import OWNER +from adk_issue_monitoring_agent.settings import REPO +from adk_issue_monitoring_agent.settings import SLEEP_BETWEEN_CHUNKS +from adk_issue_monitoring_agent.utils import get_api_call_count +from adk_issue_monitoring_agent.utils import get_issue_comments +from adk_issue_monitoring_agent.utils import get_issue_details +from adk_issue_monitoring_agent.utils import get_repository_maintainers +from adk_issue_monitoring_agent.utils import get_target_issues +from adk_issue_monitoring_agent.utils import reset_api_call_count +from google.adk.cli.utils import logs +from google.adk.runners import InMemoryRunner +from google.genai import types + +logs.setup_adk_logger(level=logging.INFO) +logger = logging.getLogger("google_adk." + __name__) + +APP_NAME = "issue_monitoring_app" +USER_ID = "issue_monitoring_user" + + +async def process_single_issue( + runner: InMemoryRunner, issue_number: int, maintainers: list[str] +) -> tuple[float, int]: + start_time = time.perf_counter() + start_api_calls = get_api_call_count() + + try: + # 1. Fetch the main issue AND the comments + issue = get_issue_details(OWNER, REPO, issue_number) + comments = get_issue_comments(OWNER, REPO, issue_number) + + user_comments = [] + + # 2. Process the ORIGINAL ISSUE DESCRIPTION first! + issue_author = issue.get("user", {}).get("login", "") + issue_body = issue.get("body") or "" + + # Only check the description if the author isn't a maintainer/bot + if ( + issue_author not in maintainers + and not issue_author.endswith("[bot]") + and issue_author != BOT_NAME + ): + cleaned_issue_body = re.sub( + r"```.*?```", "\n[CODE BLOCK REMOVED]\n", issue_body, flags=re.DOTALL + ) + if len(cleaned_issue_body) > 1500: + cleaned_issue_body = cleaned_issue_body[:1500] + "\n...[TRUNCATED]" + user_comments.append( + f"Author (Original Issue): @{issue_author}\nText:" + f" {cleaned_issue_body}\n---" + ) + + # 3. Process all the replies (comments) + for c in comments: + author = c.get("user", {}).get("login", "") + body = c.get("body") or "" + + if BOT_ALERT_SIGNATURE in body: + logger.info( + f"#{issue_number}: Spam bot already alerted maintainers previously." + " Skipping." + ) + return ( + time.perf_counter() - start_time, + get_api_call_count() - start_api_calls, + ) + + if ( + author in maintainers + or author.endswith("[bot]") + or author == BOT_NAME + ): + continue + + cleaned_body = re.sub( + r"```.*?```", "\n[CODE BLOCK REMOVED]\n", body, flags=re.DOTALL + ) + + if len(cleaned_body) > 1500: + cleaned_body = cleaned_body[:1500] + "\n...[TRUNCATED]" + + user_comments.append(f"Author: @{author}\nComment: {cleaned_body}\n---") + + # 4. Skip LLM if no user text exists + if not user_comments: + logger.debug(f"#{issue_number}: No non-maintainer text found. Skipping.") + return ( + time.perf_counter() - start_time, + get_api_call_count() - start_api_calls, + ) + + logger.info( + f"Processing Issue #{issue_number} (Found {len(user_comments)} items to" + " review)..." + ) + + # 5. Format prompt and invoke LLM + compiled_comments = "\n".join(user_comments) + prompt_text = ( + "Please review the following text for issue" + f" #{issue_number}:\n\n{compiled_comments}" + ) + + session = await runner.session_service.create_session( + user_id=USER_ID, app_name=APP_NAME + ) + prompt_message = types.Content( + role="user", parts=[types.Part(text=prompt_text)] + ) + + async for event in runner.run_async( + user_id=USER_ID, session_id=session.id, new_message=prompt_message + ): + if ( + event.content + and event.content.parts + and hasattr(event.content.parts[0], "text") + ): + text = event.content.parts[0].text + if text: + clean_text = text[:100].replace("\n", " ") + logger.info(f"#{issue_number} Decision: {clean_text}...") + + except Exception as e: + logger.error(f"Error processing issue #{issue_number}: {e}", exc_info=True) + + # Calculate duration and API calls regardless of success or failure + duration = time.perf_counter() - start_time + issue_api_calls = get_api_call_count() - start_api_calls + return duration, issue_api_calls + + +async def main(): + logger.info(f"--- Starting Issue Monitoring Agent for {OWNER}/{REPO} ---") + reset_api_call_count() + + # Step 1: Fetch Maintainers + try: + maintainers = get_repository_maintainers(OWNER, REPO) + logger.info(f"Found {len(maintainers)} maintainers.") + except Exception as e: + logger.critical(f"Failed to fetch maintainers: {e}") + return + + # Step 2: Fetch target issues + try: + all_issues = get_target_issues(OWNER, REPO) + except Exception as e: + logger.critical(f"Failed to fetch issue list: {e}") + return + + total_count = len(all_issues) + if total_count == 0: + logger.info("No issues matched criteria. Run finished.") + return + + logger.info(f"Found {total_count} issues to process.") + + # Initialize the runner ONCE for the entire run + runner = InMemoryRunner(agent=root_agent, app_name=APP_NAME) + + # Step 3: Iterate through issues async 'CONCURRENCY_LIMIT' at a time + for i in range(0, total_count, CONCURRENCY_LIMIT): + chunk = all_issues[i : i + CONCURRENCY_LIMIT] + logger.info(f"Processing chunk: {chunk}") + + tasks = [ + process_single_issue(runner, issue_num, maintainers) + for issue_num in chunk + ] + await asyncio.gather(*tasks) + + if (i + CONCURRENCY_LIMIT) < total_count: + await asyncio.sleep(SLEEP_BETWEEN_CHUNKS) + + logger.info(f"--- Run Finished. Total API calls: {get_api_call_count()} ---") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/contributing/samples/adk_issue_monitoring_agent/settings.py b/contributing/samples/adk_issue_monitoring_agent/settings.py new file mode 100644 index 0000000000..fbba22f904 --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/settings.py @@ -0,0 +1,43 @@ +# Copyright 2026 Google LLC +# +# 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 os +from pathlib import Path + +from dotenv import load_dotenv + +CURRENT_DIR = Path(__file__).resolve().parent +ENV_PATH = CURRENT_DIR / ".env" +load_dotenv(dotenv_path=ENV_PATH, override=True) + +GITHUB_BASE_URL = "https://api.github.com" +GITHUB_TOKEN = os.getenv("GITHUB_TOKEN") +if not GITHUB_TOKEN: + raise ValueError("GITHUB_TOKEN environment variable not set") + +OWNER = os.getenv("OWNER", "google") +REPO = os.getenv("REPO", "adk-python") +LLM_MODEL_NAME = os.getenv("LLM_MODEL_NAME", "gemini-2.5-flash") + +SPAM_LABEL_NAME = os.getenv("SPAM_LABEL_NAME", "spam") +CONCURRENCY_LIMIT = int(os.getenv("CONCURRENCY_LIMIT", 3)) +BOT_NAME = os.getenv("BOT_NAME", "adk-bot") +BOT_ALERT_SIGNATURE = os.getenv( + "BOT_ALERT_SIGNATURE", "🚨 **Automated Spam Detection Alert** 🚨" +) +SLEEP_BETWEEN_CHUNKS = float(os.getenv("SLEEP_BETWEEN_CHUNKS", 1.5)) + + +# Toggle for the initial run +INITIAL_FULL_SCAN = os.getenv("INITIAL_FULL_SCAN", "false").lower() == "true" diff --git a/contributing/samples/adk_issue_monitoring_agent/utils.py b/contributing/samples/adk_issue_monitoring_agent/utils.py new file mode 100644 index 0000000000..a2c8b70d0b --- /dev/null +++ b/contributing/samples/adk_issue_monitoring_agent/utils.py @@ -0,0 +1,171 @@ +# Copyright 2026 Google LLC +# +# 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 logging +from typing import Any + +from adk_issue_monitoring_agent.settings import GITHUB_TOKEN +from adk_issue_monitoring_agent.settings import INITIAL_FULL_SCAN +from adk_issue_monitoring_agent.settings import SPAM_LABEL_NAME +import requests +from requests.adapters import HTTPAdapter +from urllib3.util.retry import Retry + +logger = logging.getLogger("google_adk." + __name__) + +_api_call_count = 0 + + +def get_api_call_count() -> int: + return _api_call_count + + +def reset_api_call_count() -> None: + global _api_call_count + _api_call_count = 0 + + +def _increment_api_call_count() -> None: + global _api_call_count + _api_call_count += 1 + + +retry_strategy = Retry( + total=6, + backoff_factor=2, + status_forcelist=[429, 500, 502, 503, 504], + allowed_methods=["GET", "DELETE"], +) +adapter = HTTPAdapter(max_retries=retry_strategy) +_session = requests.Session() +_session.mount("https://", adapter) +_session.headers.update({ + "Authorization": f"token {GITHUB_TOKEN}", + "Accept": "application/vnd.github.v3+json", +}) + + +def get_request(url: str, params: dict[str, Any] | None = None) -> Any: + _increment_api_call_count() + response = _session.get(url, params=params or {}, timeout=60) + response.raise_for_status() + return response.json() + + +def post_request(url: str, payload: Any) -> Any: + _increment_api_call_count() + response = _session.post(url, json=payload, timeout=60) + response.raise_for_status() + return response.json() + + +def error_response(error_message: str) -> dict[str, Any]: + return {"status": "error", "message": error_message} + + +def get_repository_maintainers(owner: str, repo: str) -> list[str]: + """Fetches all users with push/maintain access.""" + url = f"https://api.github.com/repos/{owner}/{repo}/collaborators" + data = get_request(url, {"permission": "push"}) + return [user["login"] for user in data] + + +def get_issue_details( + owner: str, repo: str, issue_number: int +) -> dict[str, Any]: + """Fetches the main issue object to get the original description (body).""" + url = f"https://api.github.com/repos/{owner}/{repo}/issues/{issue_number}" + return get_request(url) + + +def get_issue_comments( + owner: str, repo: str, issue_number: int +) -> list[dict[str, Any]]: + """Fetches ALL comments for a specific issue, handling pagination.""" + url = f"https://api.github.com/repos/{owner}/{repo}/issues/{issue_number}/comments" + all_comments = [] + page = 1 + + while True: + data = get_request(url, params={"per_page": 100, "page": page}) + if not data: + break + + all_comments.extend(data) + + if len(data) < 100: + break + page += 1 + + return all_comments + + +def get_target_issues(owner: str, repo: str) -> list[int]: + """ + Fetches issues. + If INITIAL_FULL_SCAN is True, fetches ALL open issues. + If False, fetches only issues updated in the last 24 hours using the 'since' parameter. + """ + from datetime import datetime + from datetime import timedelta + from datetime import timezone + + url = f"https://api.github.com/repos/{owner}/{repo}/issues" + params = { + "state": "open", + "per_page": 100, + } + + if INITIAL_FULL_SCAN: + logger.info("INITIAL_FULL_SCAN is True. Fetching ALL open issues...") + else: + yesterday = (datetime.now(timezone.utc) - timedelta(days=1)).strftime( + "%Y-%m-%dT%H:%M:%SZ" + ) + params["since"] = yesterday + logger.info(f"Daily mode: Fetching issues updated since {yesterday}...") + + issue_numbers = [] + page = 1 + + while True: + params["page"] = page + try: + items = get_request(url, params=params) + + if not items: + break + + for item in items: + if "pull_request" not in item: + # Extract all the label names on this issue + current_labels = [label["name"] for label in item.get("labels", [])] + + # Only add the issue if it DOES NOT already have the spam label + if SPAM_LABEL_NAME not in current_labels: + issue_numbers.append(item["number"]) + else: + logger.debug( + f"Skipping #{item['number']} - already marked as spam." + ) + + if len(items) < 100: + break + + page += 1 + except requests.exceptions.RequestException as e: + logger.error(f"Failed to fetch issues on page {page}: {e}") + break + + return issue_numbers From 6f0dcb3e26dd82fed1a8564c17a47eec03b04617 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Fri, 13 Mar 2026 01:28:52 -0700 Subject: [PATCH 15/51] feat: Add a new extension for the new version of ADK-A2A integration This change introduces a new interceptor that adds the 'https://google.github.io/adk-docs/a2a/a2a-extension/' extension to the request headers in the A2A client from the RemoteAgent side. To send this extension along with requests, the RemoteAgent has to be instantiated with the `use_legacy` flag set to False. The AgentExecutor will default to the new implementation when this extension is requested by the client, but this behavior can be disabled via the `use_legacy` flag. The 'force_new' flag on the agent_executor side can be used to bypass the presence of the extension, and always activate the new version of the agent_executor. PiperOrigin-RevId: 883021792 --- .../adk/a2a/agent/interceptors/__init__.py | 13 +++++ .../interceptors/new_integration_extension.py | 56 +++++++++++++++++++ .../adk/a2a/executor/a2a_agent_executor.py | 37 +++++++++--- .../a2a/executor/a2a_agent_executor_impl.py | 3 +- src/google/adk/agents/remote_a2a_agent.py | 16 +++++- .../a2a/executor/test_a2a_agent_executor.py | 1 + .../executor/test_a2a_agent_executor_impl.py | 3 +- 7 files changed, 115 insertions(+), 14 deletions(-) create mode 100644 src/google/adk/a2a/agent/interceptors/__init__.py create mode 100644 src/google/adk/a2a/agent/interceptors/new_integration_extension.py diff --git a/src/google/adk/a2a/agent/interceptors/__init__.py b/src/google/adk/a2a/agent/interceptors/__init__.py new file mode 100644 index 0000000000..58d482ea38 --- /dev/null +++ b/src/google/adk/a2a/agent/interceptors/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2026 Google LLC +# +# 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. diff --git a/src/google/adk/a2a/agent/interceptors/new_integration_extension.py b/src/google/adk/a2a/agent/interceptors/new_integration_extension.py new file mode 100644 index 0000000000..e98667156f --- /dev/null +++ b/src/google/adk/a2a/agent/interceptors/new_integration_extension.py @@ -0,0 +1,56 @@ +# Copyright 2026 Google LLC +# +# 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. +"""Interceptor that injects the new agent version extension.""" + +from __future__ import annotations + +from typing import Union + +from a2a.client.middleware import ClientCallContext +from a2a.extensions.common import HTTP_EXTENSION_HEADER +from a2a.types import Message as A2AMessage +from google.adk.a2a.agent.config import ParametersConfig +from google.adk.a2a.agent.config import RequestInterceptor +from google.adk.agents.invocation_context import InvocationContext +from google.adk.events.event import Event + +_NEW_A2A_ADK_INTEGRATION_EXTENSION = ( + 'https://google.github.io/adk-docs/a2a/a2a-extension/' +) + + +async def _before_request( + _: InvocationContext, + a2a_request: A2AMessage, + params: ParametersConfig, +) -> tuple[Union[A2AMessage, Event], ParametersConfig]: + """Adds A2A_new_agent_version to client_call_context.""" + if params.client_call_context is None: + params.client_call_context = ClientCallContext() + + http_kwargs = params.client_call_context.state.get('http_kwargs', {}) + headers = http_kwargs.get('headers', {}) + a2a_extensions = headers.get(HTTP_EXTENSION_HEADER, '').split(',') + a2a_extensions = [ext for ext in a2a_extensions if ext] + if _NEW_A2A_ADK_INTEGRATION_EXTENSION not in a2a_extensions: + a2a_extensions.append(_NEW_A2A_ADK_INTEGRATION_EXTENSION) + headers[HTTP_EXTENSION_HEADER] = ','.join(a2a_extensions) + http_kwargs['headers'] = headers + params.client_call_context.state['http_kwargs'] = http_kwargs + return a2a_request, params + + +_new_integration_extension_interceptor = RequestInterceptor( + before_request=_before_request +) diff --git a/src/google/adk/a2a/executor/a2a_agent_executor.py b/src/google/adk/a2a/executor/a2a_agent_executor.py index f2f9852ab6..9288bb4828 100644 --- a/src/google/adk/a2a/executor/a2a_agent_executor.py +++ b/src/google/adk/a2a/executor/a2a_agent_executor.py @@ -39,6 +39,7 @@ from typing_extensions import override from ...utils.context_utils import Aclosing +from ..agent.interceptors.new_integration_extension import _NEW_A2A_ADK_INTEGRATION_EXTENSION from ..converters.request_converter import AgentRunRequest from ..converters.utils import _get_adk_metadata_key from ..experimental import a2a_experimental @@ -62,7 +63,9 @@ class A2aAgentExecutor(AgentExecutor): Args: runner: The runner to use for the agent. config: The config to use for the executor. - use_legacy: Whether to use the legacy executor implementation. + use_legacy: If true, force the legacy implementation. + force_new_version: If true, force the new implementation regardless of the + extension. """ def __init__( @@ -70,15 +73,15 @@ def __init__( *, runner: Runner | Callable[..., Runner | Awaitable[Runner]], config: Optional[A2aAgentExecutorConfig] = None, - use_legacy: bool = True, + use_legacy: bool = False, + force_new_version: bool = False, ): super().__init__() - if not use_legacy: - self._executor_impl = ExecutorImpl(runner=runner, config=config) - else: - self._executor_impl = None - self._runner = runner - self._config = config or A2aAgentExecutorConfig() + self._runner = runner + self._config = config or A2aAgentExecutorConfig() + self._use_legacy = use_legacy + self._force_new_version = force_new_version + self._executor_impl = None async def _resolve_runner(self) -> Runner: """Resolve the runner, handling cases where it's a callable that returns a Runner.""" @@ -129,7 +132,16 @@ async def execute( * Converts the ADK output events into A2A task updates * Publishes the updates back to A2A server via event queue """ - if self._executor_impl: + should_use_new_impl = not self._use_legacy and ( + self._force_new_version or self._check_new_version_extension(context) + ) + + if should_use_new_impl: + if self._executor_impl is None: + self._executor_impl = ExecutorImpl( + runner=self._runner, + config=self._config, + ) await self._executor_impl.execute(context, event_queue) return @@ -338,3 +350,10 @@ async def _prepare_session( run_request.session_id = session.id return session + + def _check_new_version_extension(self, context: RequestContext): + """Check if the extension for the new version is requested and activate it.""" + if _NEW_A2A_ADK_INTEGRATION_EXTENSION in context.requested_extensions: + context.add_activated_extension(_NEW_A2A_ADK_INTEGRATION_EXTENSION) + return True + return False diff --git a/src/google/adk/a2a/executor/a2a_agent_executor_impl.py b/src/google/adk/a2a/executor/a2a_agent_executor_impl.py index cec68f3698..19b6ec8731 100644 --- a/src/google/adk/a2a/executor/a2a_agent_executor_impl.py +++ b/src/google/adk/a2a/executor/a2a_agent_executor_impl.py @@ -39,6 +39,7 @@ from ...runners import Runner from ...utils.context_utils import Aclosing +from ..agent.interceptors.new_integration_extension import _NEW_A2A_ADK_INTEGRATION_EXTENSION from ..converters.from_adk_event import create_error_status_event from ..converters.long_running_functions import handle_user_input from ..converters.long_running_functions import LongRunningFunctions @@ -306,5 +307,5 @@ def _get_invocation_metadata( _get_adk_metadata_key('session_id'): executor_context.session_id, # TODO: Remove this metadata once the new agent executor # is fully adopted. - _get_adk_metadata_key('agent_executor_v2'): True, + _NEW_A2A_ADK_INTEGRATION_EXTENSION: {'adk_agent_executor_v2': True}, } diff --git a/src/google/adk/agents/remote_a2a_agent.py b/src/google/adk/agents/remote_a2a_agent.py index 2e3d2495cb..6072a5ddcb 100644 --- a/src/google/adk/agents/remote_a2a_agent.py +++ b/src/google/adk/agents/remote_a2a_agent.py @@ -54,6 +54,8 @@ AGENT_CARD_WELL_KNOWN_PATH = "/.well-known/agent.json" from ..a2a.agent.config import A2aRemoteAgentConfig +from ..a2a.agent.interceptors.new_integration_extension import _NEW_A2A_ADK_INTEGRATION_EXTENSION +from ..a2a.agent.interceptors.new_integration_extension import _new_integration_extension_interceptor from ..a2a.agent.utils import execute_after_request_interceptors from ..a2a.agent.utils import execute_before_request_interceptors from ..a2a.converters.event_converter import convert_a2a_message_to_event @@ -135,6 +137,7 @@ def __init__( ] = None, full_history_when_stateless: bool = False, config: Optional[A2aRemoteAgentConfig] = None, + use_legacy: bool = True, **kwargs: Any, ) -> None: """Initialize RemoteA2aAgent. @@ -156,6 +159,8 @@ def __init__( request. If False, the default behavior of sending only events since the last reply from the agent will be used. config: Optional configuration object. + use_legacy: If false, send request to the server including the extension + indicating that the server should use the new implementation. **kwargs: Additional arguments passed to BaseAgent Raises: @@ -185,6 +190,13 @@ def __init__( self._full_history_when_stateless = full_history_when_stateless self._config = config or A2aRemoteAgentConfig() + if not use_legacy: + if self._config.request_interceptors is None: + self._config.request_interceptors = [] + self._config.request_interceptors.append( + _new_integration_extension_interceptor + ) + # Validate and store agent card reference if isinstance(agent_card, AgentCard): self._agent_card = agent_card @@ -669,9 +681,7 @@ async def _run_async_impl( else: metadata = a2a_response.metadata - if metadata and metadata.get( - _get_adk_metadata_key("agent_executor_v2") - ): + if metadata and metadata.get(_NEW_A2A_ADK_INTEGRATION_EXTENSION): event = await self._handle_a2a_response_v2(a2a_response, ctx) else: event = await self._handle_a2a_response(a2a_response, ctx) diff --git a/tests/unittests/a2a/executor/test_a2a_agent_executor.py b/tests/unittests/a2a/executor/test_a2a_agent_executor.py index 787b260fe6..4f44e1363c 100644 --- a/tests/unittests/a2a/executor/test_a2a_agent_executor.py +++ b/tests/unittests/a2a/executor/test_a2a_agent_executor.py @@ -66,6 +66,7 @@ def setup_method(self): self.mock_context.current_task = None self.mock_context.task_id = "test-task-id" self.mock_context.context_id = "test-context-id" + self.mock_context.requested_extensions = [] self.mock_event_queue = Mock(spec=EventQueue) diff --git a/tests/unittests/a2a/executor/test_a2a_agent_executor_impl.py b/tests/unittests/a2a/executor/test_a2a_agent_executor_impl.py index 9acae2dc52..f10d56e564 100644 --- a/tests/unittests/a2a/executor/test_a2a_agent_executor_impl.py +++ b/tests/unittests/a2a/executor/test_a2a_agent_executor_impl.py @@ -29,6 +29,7 @@ from google.adk.a2a.converters.request_converter import AgentRunRequest from google.adk.a2a.converters.utils import _get_adk_metadata_key from google.adk.a2a.executor.a2a_agent_executor_impl import _A2aAgentExecutor as A2aAgentExecutor +from google.adk.a2a.executor.a2a_agent_executor_impl import _NEW_A2A_ADK_INTEGRATION_EXTENSION from google.adk.a2a.executor.a2a_agent_executor_impl import A2aAgentExecutorConfig from google.adk.a2a.executor.config import ExecuteInterceptor from google.adk.events.event import Event @@ -77,7 +78,7 @@ def setup_method(self): _get_adk_metadata_key("app_name"): "test-app", _get_adk_metadata_key("user_id"): "test-user", _get_adk_metadata_key("session_id"): "test-session", - _get_adk_metadata_key("agent_executor_v2"): True, + _NEW_A2A_ADK_INTEGRATION_EXTENSION: {"adk_agent_executor_v2": True}, } async def _create_async_generator(self, items): From 51c19cbc13c422dffd764ed0d7c664deed9e58b3 Mon Sep 17 00:00:00 2001 From: Xuan Yang Date: Fri, 13 Mar 2026 11:03:49 -0700 Subject: [PATCH 16/51] docs: Use a dedicated API key for docs agents Co-authored-by: Xuan Yang PiperOrigin-RevId: 883246168 --- .github/workflows/analyze-releases-for-adk-docs-updates.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/analyze-releases-for-adk-docs-updates.yml b/.github/workflows/analyze-releases-for-adk-docs-updates.yml index a149a48c33..9e0827757b 100644 --- a/.github/workflows/analyze-releases-for-adk-docs-updates.yml +++ b/.github/workflows/analyze-releases-for-adk-docs-updates.yml @@ -36,7 +36,7 @@ jobs: - name: Run Analyzing Script env: GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }} - GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY_FOR_DOCS_AGENTS }} GOOGLE_GENAI_USE_VERTEXAI: 0 DOC_OWNER: 'google' CODE_OWNER: 'google' From 0e18f81a5cd0d0392ded653b1a63a236449a2685 Mon Sep 17 00:00:00 2001 From: Achuth Narayan Rajagopal Date: Fri, 13 Mar 2026 14:20:43 -0700 Subject: [PATCH 17/51] fix(telemetery): Rolling back change to fix issue affecting LlmAgent creation due to missing version field Co-authored-by: Achuth Narayan Rajagopal PiperOrigin-RevId: 883336463 --- src/google/adk/agents/base_agent.py | 7 ----- src/google/adk/agents/base_agent_config.py | 4 --- src/google/adk/telemetry/tracing.py | 5 ---- tests/unittests/telemetry/test_spans.py | 30 ---------------------- 4 files changed, 46 deletions(-) diff --git a/src/google/adk/agents/base_agent.py b/src/google/adk/agents/base_agent.py index 27971711ca..dec85690b3 100644 --- a/src/google/adk/agents/base_agent.py +++ b/src/google/adk/agents/base_agent.py @@ -136,12 +136,6 @@ class MyAgent(BaseAgent): sub_agents: list[BaseAgent] = Field(default_factory=list) """The sub-agents of this agent.""" - version: str = '' - """The agent's version. - - Version of the agent being invoked. Used to identify the Agent involved in telemetry. - """ - before_agent_callback: Optional[BeforeAgentCallback] = None """Callback or list of callbacks to be invoked before the agent run. @@ -686,7 +680,6 @@ def __create_kwargs( kwargs: Dict[str, Any] = { 'name': config.name, - 'version': config.version, 'description': config.description, } if config.sub_agents: diff --git a/src/google/adk/agents/base_agent_config.py b/src/google/adk/agents/base_agent_config.py index 9dca68c5e6..3859cb3550 100644 --- a/src/google/adk/agents/base_agent_config.py +++ b/src/google/adk/agents/base_agent_config.py @@ -55,10 +55,6 @@ class BaseAgentConfig(BaseModel): name: str = Field(description='Required. The name of the agent.') - version: str = Field( - default='', description='Optional. The version of the agent.' - ) - description: str = Field( default='', description='Optional. The description of the agent.' ) diff --git a/src/google/adk/telemetry/tracing.py b/src/google/adk/telemetry/tracing.py index 4c79ca60e4..5c05968d31 100644 --- a/src/google/adk/telemetry/tracing.py +++ b/src/google/adk/telemetry/tracing.py @@ -83,8 +83,6 @@ USER_CONTENT_ELIDED = '' -GEN_AI_AGENT_VERSION = 'gen_ai.agent.version' - # Needed to avoid circular imports if TYPE_CHECKING: from ..agents.base_agent import BaseAgent @@ -159,7 +157,6 @@ def trace_agent_invocation( span.set_attribute(GEN_AI_AGENT_DESCRIPTION, agent.description) span.set_attribute(GEN_AI_AGENT_NAME, agent.name) - span.set_attribute(GEN_AI_AGENT_VERSION, agent.version) span.set_attribute(GEN_AI_CONVERSATION_ID, ctx.session.id) @@ -495,7 +492,6 @@ def use_generate_content_span( USER_ID: invocation_context.session.user_id, 'gcp.vertex.agent.event_id': model_response_event.id, 'gcp.vertex.agent.invocation_id': invocation_context.invocation_id, - GEN_AI_AGENT_VERSION: invocation_context.agent.version, } if ( _is_gemini_agent(invocation_context.agent) @@ -530,7 +526,6 @@ async def use_inference_span( USER_ID: invocation_context.session.user_id, 'gcp.vertex.agent.event_id': model_response_event.id, 'gcp.vertex.agent.invocation_id': invocation_context.invocation_id, - GEN_AI_AGENT_VERSION: invocation_context.agent.version, } if ( _is_gemini_agent(invocation_context.agent) diff --git a/tests/unittests/telemetry/test_spans.py b/tests/unittests/telemetry/test_spans.py index e9df610f1a..c4bd485fba 100644 --- a/tests/unittests/telemetry/test_spans.py +++ b/tests/unittests/telemetry/test_spans.py @@ -26,7 +26,6 @@ from google.adk.models.llm_response import LlmResponse from google.adk.sessions.in_memory_session_service import InMemorySessionService from google.adk.telemetry.tracing import ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS -from google.adk.telemetry.tracing import GEN_AI_AGENT_VERSION from google.adk.telemetry.tracing import trace_agent_invocation from google.adk.telemetry.tracing import trace_call_llm from google.adk.telemetry.tracing import trace_inference_result @@ -122,33 +121,6 @@ async def test_trace_agent_invocation(mock_span_fixture): mock.call('gen_ai.operation.name', 'invoke_agent'), mock.call('gen_ai.agent.description', agent.description), mock.call('gen_ai.agent.name', agent.name), - mock.call(GEN_AI_AGENT_VERSION, ''), - mock.call( - 'gen_ai.conversation.id', - invocation_context.session.id, - ), - ] - mock_span_fixture.set_attribute.assert_has_calls( - expected_calls, any_order=True - ) - assert mock_span_fixture.set_attribute.call_count == len(expected_calls) - - -@pytest.mark.asyncio -async def test_trace_agent_invocation_with_version(mock_span_fixture): - """Test trace_agent_invocation sets span attributes correctly when version is provided.""" - agent = LlmAgent(name='test_llm_agent', model='gemini-pro') - agent.description = 'Test agent description' - agent.version = '1.0.0' - invocation_context = await _create_invocation_context(agent) - - trace_agent_invocation(mock_span_fixture, agent, invocation_context) - - expected_calls = [ - mock.call('gen_ai.operation.name', 'invoke_agent'), - mock.call('gen_ai.agent.description', agent.description), - mock.call('gen_ai.agent.name', agent.name), - mock.call(GEN_AI_AGENT_VERSION, agent.version), mock.call( 'gen_ai.conversation.id', invocation_context.session.id, @@ -815,7 +787,6 @@ async def test_generate_content_span( mock_span.set_attributes.assert_called_once_with({ GEN_AI_AGENT_NAME: invocation_context.agent.name, - GEN_AI_AGENT_VERSION: '', GEN_AI_CONVERSATION_ID: invocation_context.session.id, USER_ID: invocation_context.session.user_id, 'gcp.vertex.agent.event_id': 'event-123', @@ -1136,7 +1107,6 @@ async def test_generate_content_span_with_experimental_semconv( mock_span.set_attributes.assert_called_once_with({ GEN_AI_AGENT_NAME: invocation_context.agent.name, - GEN_AI_AGENT_VERSION: '', GEN_AI_CONVERSATION_ID: invocation_context.session.id, USER_ID: invocation_context.session.user_id, 'gcp.vertex.agent.event_id': 'event-123', From 9b3888b637dd4015796cf6fce8b3e5cd1de99308 Mon Sep 17 00:00:00 2001 From: "Wei (Jack) Sun" Date: Fri, 13 Mar 2026 16:33:40 -0700 Subject: [PATCH 18/51] chore: merge release v1.27.1 to main Merge https://github.com/google/adk-python/pull/4833 Syncs version bump and CHANGELOG from release v1.27.1 to main. COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4833 from google:release/v1.27.1 bc1b50020109004c6797b153a5e9b8144a22aebd PiperOrigin-RevId: 883394436 --- .github/.release-please-manifest.json | 2 +- .github/release-please-config.json | 2 +- CHANGELOG.md | 104 ++++++++++++++++++++++++++ src/google/adk/version.py | 2 +- 4 files changed, 107 insertions(+), 3 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index f97891a673..77003bf734 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.26.0" + ".": "1.27.1" } diff --git a/.github/release-please-config.json b/.github/release-please-config.json index 053aab23c3..d005c874eb 100644 --- a/.github/release-please-config.json +++ b/.github/release-please-config.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", - "last-release-sha": "8f5428150d18ed732b66379c0acb806a9121c3cb", + "last-release-sha": "7b94a767337e0d642e808734608f07a70e077c62", "packages": { ".": { "release-type": "python", diff --git a/CHANGELOG.md b/CHANGELOG.md index 92a8197b7a..e6ad315733 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,109 @@ # Changelog + +## [1.27.1](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-13) +### Bug Fixes + * Rolling back change to fix issue affecting LlmAgent creation due to missing version field ([0e18f81](https://github.com/google/adk-python/commit/0e18f81a5cd0d0392ded653b1a63a236449a2685)) + + +## [1.27.0](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-12) + +### Features +* **[Core]** + * Introduce A2A request interceptors in RemoteA2aAgent ([6f772d2](https://github.com/google/adk-python/commit/6f772d2b0841446bc168ccf405b59eb17c1d671a)) + * Add UiWidget to EventActions for supporting new experimental UI Widgets feature ([530ff06](https://github.com/google/adk-python/commit/530ff06ece61a93855a53235e85af18b46b2a6a0)) + * **auth:** Add pluggable support for auth integrations using AuthProviderRegistry within CredentialManager ([d004074](https://github.com/google/adk-python/commit/d004074c90525442a69cebe226440bb318abad29)) + * Support all `types.SchemaUnion` as output_schema in LLM Agent ([63f450e](https://github.com/google/adk-python/commit/63f450e0231f237ee1af37f17420d37b15426d48)) + * durable runtime support ([07fdd23](https://github.com/google/adk-python/commit/07fdd23c9c3f5046aa668fb480840f67f13bf271)) + * **runners:** pass GetSessionConfig through Runner to session service ([eff724a](https://github.com/google/adk-python/commit/eff724ac9aef2a203607f772c473703f21c09a72)) + +* **[Models]** + * Add support for PDF documents in Anthropic LLM ([4c8ba74](https://github.com/google/adk-python/commit/4c8ba74fcb07014db187ef8db8246ff966379aa9)) + * Add streaming support for Anthropic models ([5770cd3](https://github.com/google/adk-python/commit/5770cd3776c8805086ece34d747e589e36916a34)), closes [#3250](https://github.com/google/adk-python/issues/3250) + * Enable output schema with tools for LiteLlm models ([89df5fc](https://github.com/google/adk-python/commit/89df5fcf883b599cf7bfe40bde35b8d86ab0146b)), closes [#3969](https://github.com/google/adk-python/issues/3969) + * Preserve thought_signature in LiteLLM tool calls ([ae565be](https://github.com/google/adk-python/commit/ae565be30e64249b2913ad647911061a8b170e21)), closes [#4650](https://github.com/google/adk-python/issues/4650) + +* **[Web]** + * Updated human in the loop: developers now can respond to long running functions directly in chat + * Render artifacts when resuming + * Fix some light mode styles + * Fix token level streaming not working properly ([22799c0](https://github.com/google/adk-python/commit/22799c0833569753021078f7bd8dcd11ece562fe)) + +* **[Observability]** + * **telemetry:** add new gen_ai.agent.version span attribute ([ffe97ec](https://github.com/google/adk-python/commit/ffe97ec5ad7229c0b4ba573f33eb0edb8bb2877a)) + * **otel:** add `gen_ai.tool.definitions` to experimental semconv ([4dd4d5e](https://github.com/google/adk-python/commit/4dd4d5ecb6a1dadbc41389dac208616f6d21bc6e)) + * **otel:** add experimental semantic convention and emit `gen_ai.client.inference.operation.details` event ([19718e9](https://github.com/google/adk-python/commit/19718e9c174af7b1287b627e6b23a609db1ee5e2)) + * add missing token usage span attributes during model usage ([77bf325](https://github.com/google/adk-python/commit/77bf325d2bf556621c3276f74ee2816fce2a7085)) + * capture tool execution error code in OpenTelemetry spans ([e0a6c6d](https://github.com/google/adk-python/commit/e0a6c6db6f8e2db161f8b86b9f11030f0cec807a)) + +* **[Tools]** + * Warn when accessing DEFAULT_SKILL_SYSTEM_INSTRUCTION ([35366f4](https://github.com/google/adk-python/commit/35366f4e2a0575090fe12cd85f51e8116a1cd0d3)) + * add preserve_property_names option to OpenAPIToolset ([078b516](https://github.com/google/adk-python/commit/078b5163ff47acec69b1c8e105f62eb7b74f5548)) + * Add gcs filesystem support for Skills. It supports skills in text and pdf format, also has some sample agents ([6edcb97](https://github.com/google/adk-python/commit/6edcb975827dbd543a40ae3a402d2389327df603)) + * Add list_skills_in_dir to skills utils ([327b3af](https://github.com/google/adk-python/commit/327b3affd2d0a192f5a072b90fdb4aae7575be90)) + * Add support for MCP App UI widgets in MCPTool ([86db35c](https://github.com/google/adk-python/commit/86db35c338adaafb41e156311465e71e17edf35e)) + * add Dataplex Catalog search tool to BigQuery ADK ([82c2eef](https://github.com/google/adk-python/commit/82c2eefb27313c5b11b9e9382f626f543c53a29e)) + * Add RunSkillScriptTool to SkillToolset ([636f68f](https://github.com/google/adk-python/commit/636f68fbee700aa47f01e2cfd746859353b3333d)) + * Add support for ADK tools in SkillToolset ([44a5e6b](https://github.com/google/adk-python/commit/44a5e6bdb8e8f02891e72b65ef883f108c506f6a)) + * limit number of user-provided BigQuery job labels and reserve internal prefixes ([8c4ff74](https://github.com/google/adk-python/commit/8c4ff74e7d70cf940f54f6d7735f001495ce75d5)) + * Add param support to Bigtable execute_sql ([5702a4b](https://github.com/google/adk-python/commit/5702a4b1f59b17fd8b290fc125c349240b0953d7)) + * **bigtable:** add Bigtable cluster metadata tools ([34c560e](https://github.com/google/adk-python/commit/34c560e66e7ad379f586bbcd45a9460dc059bee2)) + * execute-type param addition in GkeCodeExecutor ([9c45166](https://github.com/google/adk-python/commit/9c451662819a6c7de71be71d12ea715b2fe74135)) + * **skill:** Add BashTool ([8a31612](https://github.com/google/adk-python/commit/8a3161202e4bac0bb8e8801b100f4403c1c75646)) + * Add support for toolsets to additional_tools field of SkillToolset ([066fcec](https://github.com/google/adk-python/commit/066fcec3e8e669d1c5360e1556afce3f7e068072)) + + +* **[Optimization]** + * Add `adk optimize` command ([b18d7a1](https://github.com/google/adk-python/commit/b18d7a140f8e18e03255b07e6d89948427790095)) + * Add interface between optimization infra and LocalEvalService ([7b7ddda](https://github.com/google/adk-python/commit/7b7ddda46ca701952f002b2807b89dbef5322414)) + * Add GEPA root agent prompt optimizer ([4e3e2cb](https://github.com/google/adk-python/commit/4e3e2cb58858e08a79bc6119ad49b6c049dbc0d0)) + +* **[Integrations]** + * Enhance BigQuery plugin schema upgrades and error reporting ([bcf38fa](https://github.com/google/adk-python/commit/bcf38fa2bac2f0d1ab74e07e01eb5160bad1d6dc)) + * Enhance BQ plugin with fork safety, auto views, and trace continuity ([80c5a24](https://github.com/google/adk-python/commit/80c5a245557cd75870e72bff0ecfaafbd37fdbc7)) + * Handle Conflict Errors in BigQuery Agent Analytics Plugin ([372c76b](https://github.com/google/adk-python/commit/372c76b857daa1102e76d755c0758f1515d6f180)) + * Added tracking headers for ADK CLI command to Agent Engine ([3117446](https://github.com/google/adk-python/commit/3117446293d30039c2f21f3d17a64a456c42c47d)) + +* **[A2A]** + * New implementation of A2aAgentExecutor and A2A-ADK conversion ([87ffc55](https://github.com/google/adk-python/commit/87ffc55640dea1185cf67e6f9b78f70b30867bcc)) + * New implementation of RemoteA2aAgent and A2A-ADK conversion ([6770e41](https://github.com/google/adk-python/commit/6770e419f5e200f4c7ad26587e1f769693ef4da0)) + +### Bug Fixes + +* Allow artifact services to accept dictionary representations of types.Part ([b004da5](https://github.com/google/adk-python/commit/b004da50270475adc9e1d7afe4064ca1d10c560a)), closes [#2886](https://github.com/google/adk-python/issues/2886) +* Decode image data from ComputerUse tool response into image blobs ([d7cfd8f](https://github.com/google/adk-python/commit/d7cfd8fe4def2198c113ff1993ef39cd519908a1)) +* Expand LiteLLM reasoning extraction to include 'reasoning' field ([9468487](https://github.com/google/adk-python/commit/94684874e436c2959cfc90ec346010a6f4fddc49)), closes [#3694](https://github.com/google/adk-python/issues/3694) +* Filter non-agent directories from list_agents() ([3b5937f](https://github.com/google/adk-python/commit/3b5937f022adf9286dc41e01e3618071a23eb992)) +* Fix Type Error by initializing user_content as a Content object ([2addf6b](https://github.com/google/adk-python/commit/2addf6b9dacfe87344aeec0101df98d99c23bdb1)) +* Handle length finish reason in LiteLLM responses ([4c6096b](https://github.com/google/adk-python/commit/4c6096baa1b0bed8533397287a5c11a0c4cb9101)), closes [#4482](https://github.com/google/adk-python/issues/4482) +* In SaveFilesAsArtifactsPlugin, write the artifact delta to state then event actions so that the plugin works with ADK Web UI's artifacts panel ([d6f31be](https://github.com/google/adk-python/commit/d6f31be554d9b7ee15fd9c95ae655b2265fb1f32)) +* Make invocation_context optional in convert_event_to_a2a_message ([8e79a12](https://github.com/google/adk-python/commit/8e79a12d6bcde43cc33247b7ee6cc9e929fa6288)) +* Optimize row-level locking in append_event ([d61846f](https://github.com/google/adk-python/commit/d61846f6c6dd5e357abb0e30eaf61fe27896ae6a)), closes [#4655](https://github.com/google/adk-python/issues/4655) +* Preserve thought_signature in FunctionCall conversions between GenAI and A2A ([f9c104f](https://github.com/google/adk-python/commit/f9c104faf73e2a002bb3092b50fb88f4eed78163)) +* Prevent splitting of SSE events with artifactDelta for function resume requests ([6a929af](https://github.com/google/adk-python/commit/6a929af718fa77199d1eecc62b16c54beb1c8d84)), closes [#4487](https://github.com/google/adk-python/issues/4487) +* Propagate file names during A2A to/from Genai Part conversion ([f324fa2](https://github.com/google/adk-python/commit/f324fa2d62442301ebb2e7974eb97ea870471410)) +* Propagate thought from A2A TextPart metadata to GenAI Part ([e59929e](https://github.com/google/adk-python/commit/e59929e11a56aaee7bb0c45cd4c9d9fef689548c)) +* Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py to avoid breaking current users ([de4dee8](https://github.com/google/adk-python/commit/de4dee899cd777a01ba15906f8496a72e717ea98)) +* Refactor type string update in Anthropic tool param conversion ([ab4b736](https://github.com/google/adk-python/commit/ab4b736807dabee65659486a68135d9f1530834c)) +* **simulation:** handle NoneType generated_content ([9d15517](https://github.com/google/adk-python/commit/9d155177b956f690d4c99560f582e3e90e111f71)) +* Store and retrieve EventCompaction via custom_metadata in Vertex AISessionService ([2e434ca](https://github.com/google/adk-python/commit/2e434ca7be765d45426fde9d52b131921bd9fa30)), closes [#3465](https://github.com/google/adk-python/issues/3465) +* Support before_tool_callback and after_tool_callback in Live mode ([c36a708](https://github.com/google/adk-python/commit/c36a708058163ade061cd3d2f9957231a505a62d)), closes [#4704](https://github.com/google/adk-python/issues/4704) +* temp-scoped state now visible to subsequent agents in same invocation ([2780ae2](https://github.com/google/adk-python/commit/2780ae2892adfbebc7580c843d2eaad29f86c335)) +* **tools:** Handle JSON Schema boolean schemas in Gemini schema conversion ([3256a67](https://github.com/google/adk-python/commit/3256a679da3e0fb6f18b26057e87f5284680cb58)) +* typo in A2A EXPERIMENTAL warning ([eb55eb7](https://github.com/google/adk-python/commit/eb55eb7e7f0fa647d762205225c333dcd8a08dd0)) +* Update agent_engine_sandbox_code_executor in ADK ([dff4c44](https://github.com/google/adk-python/commit/dff4c4404051b711c8be437ba0ae26ca2763df7d)) +* update Bigtable query tools to async functions ([72f3e7e](https://github.com/google/adk-python/commit/72f3e7e1e00d93c632883027bf6d31a9095cd6c2)) +* Update expected UsageMetadataChunk in LiteLLM tests ([dd0851a](https://github.com/google/adk-python/commit/dd0851ac74d358bc030def5adf242d875ab18265)), closes [#4680](https://github.com/google/adk-python/issues/4680) +* update toolbox server and SDK package versions ([2e370ea](https://github.com/google/adk-python/commit/2e370ea688033f0663501171d0babfb0d74de4b2)) +* Validate session before streaming instead of eagerly advancing the runner generator ([ebbc114](https://github.com/google/adk-python/commit/ebbc1147863956e85931f8d46abb0632e3d1cf67)) + + +### Code Refactoring + +* extract reusable functions from hitl and auth preprocessor ([c59afc2](https://github.com/google/adk-python/commit/c59afc21cbed27d1328872cdc2b0e182ab2ca6c8)) +* Rename base classes and TypeVars in optimization data types ([9154ef5](https://github.com/google/adk-python/commit/9154ef59d29eb37538914e9967c4392cc2a24237)) + + ## [1.26.0](https://github.com/google/adk-python/compare/v1.25.1...v1.26.0) (2026-02-26) diff --git a/src/google/adk/version.py b/src/google/adk/version.py index 2e373f505a..9b5eec1143 100644 --- a/src/google/adk/version.py +++ b/src/google/adk/version.py @@ -13,4 +13,4 @@ # limitations under the License. # version: major.minor.patch -__version__ = "1.26.0" +__version__ = "1.27.1" From faafac9bb33b45174f04746055fc655b12d3e7f7 Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Fri, 13 Mar 2026 16:52:08 -0700 Subject: [PATCH 19/51] feat: Support new embedding model in files retrieval Co-authored-by: Xiang (Sean) Zhou PiperOrigin-RevId: 883401159 --- src/google/adk/tools/retrieval/files_retrieval.py | 9 ++++++--- tests/unittests/tools/retrieval/test_files_retrieval.py | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/google/adk/tools/retrieval/files_retrieval.py b/src/google/adk/tools/retrieval/files_retrieval.py index c70add4ce0..9db1bc39cf 100644 --- a/src/google/adk/tools/retrieval/files_retrieval.py +++ b/src/google/adk/tools/retrieval/files_retrieval.py @@ -32,7 +32,7 @@ def _get_default_embedding_model() -> BaseEmbedding: """Get the default Google Gemini embedding model. Returns: - GoogleGenAIEmbedding instance configured with text-embedding-004 model. + GoogleGenAIEmbedding instance configured with gemini-embedding-2-preview model. Raises: ImportError: If llama-index-embeddings-google-genai package is not installed. @@ -40,7 +40,10 @@ def _get_default_embedding_model() -> BaseEmbedding: try: from llama_index.embeddings.google_genai import GoogleGenAIEmbedding - return GoogleGenAIEmbedding(model_name="text-embedding-004") + return GoogleGenAIEmbedding( + model_name="gemini-embedding-2-preview", + embed_batch_size=1, + ) except ImportError as e: raise ImportError( "llama-index-embeddings-google-genai package not found. " @@ -65,7 +68,7 @@ def __init__( description: Description of the tool. input_dir: Directory path containing files to index. embedding_model: Optional custom embedding model. If None, defaults to - Google's text-embedding-004 model. + Google's gemini-embedding-2-preview model. """ self.input_dir = input_dir diff --git a/tests/unittests/tools/retrieval/test_files_retrieval.py b/tests/unittests/tools/retrieval/test_files_retrieval.py index 3244e81746..5723b521fd 100644 --- a/tests/unittests/tools/retrieval/test_files_retrieval.py +++ b/tests/unittests/tools/retrieval/test_files_retrieval.py @@ -122,7 +122,8 @@ def test_get_default_embedding_model_success(self): result = _get_default_embedding_model() mock_module.GoogleGenAIEmbedding.assert_called_once_with( - model_name="text-embedding-004" + model_name="gemini-embedding-2-preview", + embed_batch_size=1, ) assert result == mock_embedding_instance From 8f826972cc06ef250c1f020e34b9d1cdbd0788c4 Mon Sep 17 00:00:00 2001 From: Piyush Mourya <86821813+Piyushmrya@users.noreply.github.com> Date: Fri, 13 Mar 2026 16:52:11 -0700 Subject: [PATCH 20/51] feat(mcp): add sampling callback support for MCP sessions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge https://github.com/google/adk-python/pull/4718 ### Link to Issue or Description of Change **1. Link to an existing issue (if applicable):** - Closes: N/A - Related: N/A **2. Or, if no issue exists, describe the change:** **Problem** ADK’s MCP integration currently does not expose the MCP sampling callback capability. This prevents agent-side LLM sampling handlers from being used when interacting with MCP servers that support sampling. The MCP Python SDK supports sampling callbacks, but these parameters are not propagated through the ADK MCP integration layers. **Solution** Add sampling callback support by propagating the parameters through the MCP stack: - Add `sampling_callback` and `sampling_capabilities` parameters to `McpToolset` - Forward them to `MCPSessionManager` - Forward them to `SessionContext` - Pass them into `ClientSession` initialization This enables agent-side sampling handling when interacting with MCP servers. --- ### Testing Plan **Unit Tests** - [x] I have added or updated unit tests for my change. - [x] All unit tests pass locally. Added `test_mcp_sampling_callback.py` to verify that the sampling callback is correctly invoked. Example result: pytest tests/unittests/tools/mcp_tool/test_mcp_sampling_callback.py 1 passed **Manual End-to-End (E2E) Tests** Manual testing was performed using a FastMCP sampling example server where the sampling callback was invoked from the agent side and returned the expected response. --- ### Checklist - [x] I have read the CONTRIBUTING.md document. - [x] I have performed a self-review of my own code. - [x] I have commented my code where necessary. - [x] I have added tests proving the feature works. - [x] Unit tests pass locally. - [x] I have manually tested the change end-to-end. --- ### Additional context This change aligns ADK MCP support with the sampling capabilities available in the MCP Python SDK and enables agent implementations to handle sampling requests via a callback. Co-authored-by: Kathy Wu COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4718 from Piyushmrya:fix-mcp-sampling-callback 18f477f04ad357d698b0a4c8a4392936b9f6d185 PiperOrigin-RevId: 883401178 --- .../adk/tools/mcp_tool/mcp_session_manager.py | 13 +++++++ src/google/adk/tools/mcp_tool/mcp_toolset.py | 12 +++++++ .../adk/tools/mcp_tool/session_context.py | 14 ++++++++ .../tools/mcp_tool/test_mcp_toolset.py | 34 +++++++++++++++++++ 4 files changed, 73 insertions(+) diff --git a/src/google/adk/tools/mcp_tool/mcp_session_manager.py b/src/google/adk/tools/mcp_tool/mcp_session_manager.py index f4339f8678..e0cd1ebc89 100644 --- a/src/google/adk/tools/mcp_tool/mcp_session_manager.py +++ b/src/google/adk/tools/mcp_tool/mcp_session_manager.py @@ -33,7 +33,9 @@ from typing import Union from mcp import ClientSession +from mcp import SamplingCapability from mcp import StdioServerParameters +from mcp.client.session import SamplingFnT from mcp.client.sse import sse_client from mcp.client.stdio import stdio_client from mcp.client.streamable_http import create_mcp_http_client @@ -195,6 +197,9 @@ def __init__( StreamableHTTPConnectionParams, ], errlog: TextIO = sys.stderr, + *, + sampling_callback: Optional[SamplingFnT] = None, + sampling_capabilities: Optional[SamplingCapability] = None, ): """Initializes the MCP session manager. @@ -204,7 +209,13 @@ def __init__( parameters but it's not configurable for now. errlog: (Optional) TextIO stream for error logging. Use only for initializing a local stdio MCP session. + sampling_callback: Optional callback to handle sampling requests from the + MCP server. + sampling_capabilities: Optional capabilities for sampling. """ + self._sampling_callback = sampling_callback + self._sampling_capabilities = sampling_capabilities + if isinstance(connection_params, StdioServerParameters): # So far timeout is not configurable. Given MCP is still evolving, we # would expect stdio_client to evolve to accept timeout parameter like @@ -475,6 +486,8 @@ async def create_session( timeout=timeout_in_seconds, sse_read_timeout=sse_read_timeout_in_seconds, is_stdio=is_stdio, + sampling_callback=self._sampling_callback, + sampling_capabilities=self._sampling_capabilities, ) ), timeout=timeout_in_seconds, diff --git a/src/google/adk/tools/mcp_tool/mcp_toolset.py b/src/google/adk/tools/mcp_tool/mcp_toolset.py index fb4e992dfd..db6bd9051e 100644 --- a/src/google/adk/tools/mcp_tool/mcp_toolset.py +++ b/src/google/adk/tools/mcp_tool/mcp_toolset.py @@ -29,7 +29,9 @@ from typing import Union import warnings +from mcp import SamplingCapability from mcp import StdioServerParameters +from mcp.client.session import SamplingFnT from mcp.shared.session import ProgressFnT from mcp.types import ListResourcesResult from mcp.types import ListToolsResult @@ -114,6 +116,8 @@ def __init__( Union[ProgressFnT, ProgressCallbackFactory] ] = None, use_mcp_resources: Optional[bool] = False, + sampling_callback: Optional[SamplingFnT] = None, + sampling_capabilities: Optional[SamplingCapability] = None, ): """Initializes the McpToolset. @@ -150,10 +154,16 @@ def __init__( use_mcp_resources: Whether the agent should have access to MCP resources. This will add a `load_mcp_resource` tool to the toolset and include available resources in the agent context. Defaults to False. + sampling_callback: Optional callback to handle sampling requests from the + MCP server. + sampling_capabilities: Optional capabilities for sampling. """ super().__init__(tool_filter=tool_filter, tool_name_prefix=tool_name_prefix) + self._sampling_callback = sampling_callback + self._sampling_capabilities = sampling_capabilities + if not connection_params: raise ValueError("Missing connection params in McpToolset.") @@ -166,6 +176,8 @@ def __init__( self._mcp_session_manager = MCPSessionManager( connection_params=self._connection_params, errlog=self._errlog, + sampling_callback=self._sampling_callback, + sampling_capabilities=self._sampling_capabilities, ) self._auth_scheme = auth_scheme self._auth_credential = auth_credential diff --git a/src/google/adk/tools/mcp_tool/session_context.py b/src/google/adk/tools/mcp_tool/session_context.py index ca637d0489..23e968fe52 100644 --- a/src/google/adk/tools/mcp_tool/session_context.py +++ b/src/google/adk/tools/mcp_tool/session_context.py @@ -22,6 +22,8 @@ from typing import Optional from mcp import ClientSession +from mcp import SamplingCapability +from mcp.client.session import SamplingFnT logger = logging.getLogger('google_adk.' + __name__) @@ -54,6 +56,9 @@ def __init__( timeout: Optional[float], sse_read_timeout: Optional[float], is_stdio: bool = False, + *, + sampling_callback: Optional[SamplingFnT] = None, + sampling_capabilities: Optional[SamplingCapability] = None, ): """ Args: @@ -63,6 +68,9 @@ def __init__( sse_read_timeout: Timeout in seconds for reading data from the MCP SSE server. is_stdio: Whether this is a stdio connection (affects read timeout). + sampling_callback: Optional callback to handle sampling requests from the + MCP server. + sampling_capabilities: Optional capabilities for sampling. """ self._client = client self._timeout = timeout @@ -73,6 +81,8 @@ def __init__( self._close_event = asyncio.Event() self._task: Optional[asyncio.Task] = None self._task_lock = asyncio.Lock() + self._sampling_callback = sampling_callback + self._sampling_capabilities = sampling_capabilities @property def session(self) -> Optional[ClientSession]: @@ -165,6 +175,8 @@ async def _run(self): read_timeout_seconds=timedelta(seconds=self._timeout) if self._timeout is not None else None, + sampling_callback=self._sampling_callback, + sampling_capabilities=self._sampling_capabilities, ) ) else: @@ -176,6 +188,8 @@ async def _run(self): read_timeout_seconds=timedelta(seconds=self._sse_read_timeout) if self._sse_read_timeout is not None else None, + sampling_callback=self._sampling_callback, + sampling_capabilities=self._sampling_capabilities, ) ) await asyncio.wait_for(session.initialize(), timeout=self._timeout) diff --git a/tests/unittests/tools/mcp_tool/test_mcp_toolset.py b/tests/unittests/tools/mcp_tool/test_mcp_toolset.py index d510abc7c1..8179a1c9e1 100644 --- a/tests/unittests/tools/mcp_tool/test_mcp_toolset.py +++ b/tests/unittests/tools/mcp_tool/test_mcp_toolset.py @@ -612,3 +612,37 @@ async def test_read_resource(self, name, mime_type, content, encoding): assert result == contents self.mock_session.list_resources.assert_called_once() self.mock_session.read_resource.assert_called_once_with(uri=uri) + + @pytest.mark.asyncio + async def test_sampling_callback_invoked(self): + + called = {"value": False} + + async def mock_sampling_handler(messages, params=None, context=None): + called["value"] = True + + assert isinstance(messages, list) + assert messages[0]["role"] == "user" + + return { + "model": "test-model", + "role": "assistant", + "content": {"type": "text", "text": "sampling response"}, + "stopReason": "endTurn", + } + + toolset = McpToolset( + connection_params=StreamableHTTPConnectionParams( + url="http://localhost:9999", + timeout=10, + ), + sampling_callback=mock_sampling_handler, + ) + + messages = [{"role": "user", "content": {"type": "text", "text": "hello"}}] + + result = await toolset._sampling_callback(messages) + + assert called["value"] is True + assert result["role"] == "assistant" + assert result["content"]["text"] == "sampling response" From e3b58e22c3719a6e11b3951a7569eb17ae7904e5 Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Fri, 13 Mar 2026 16:53:55 -0700 Subject: [PATCH 21/51] chore: Move crew ai tool into integrations folder Co-authored-by: Kathy Wu PiperOrigin-RevId: 883401885 --- .../adk/integrations/crewai/__init__.py | 19 +++ .../adk/integrations/crewai/crewai_tool.py | 158 ++++++++++++++++++ src/google/adk/tools/crewai_tool.py | 151 ++--------------- .../crewai}/test_crewai_tool.py | 4 +- 4 files changed, 191 insertions(+), 141 deletions(-) create mode 100644 src/google/adk/integrations/crewai/__init__.py create mode 100644 src/google/adk/integrations/crewai/crewai_tool.py rename tests/unittests/{tools => integrations/crewai}/test_crewai_tool.py (98%) diff --git a/src/google/adk/integrations/crewai/__init__.py b/src/google/adk/integrations/crewai/__init__.py new file mode 100644 index 0000000000..a463c453df --- /dev/null +++ b/src/google/adk/integrations/crewai/__init__.py @@ -0,0 +1,19 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from .crewai_tool import CrewaiTool +from .crewai_tool import CrewaiToolConfig + +__all__ = [ + 'CrewaiTool', + 'CrewaiToolConfig', +] diff --git a/src/google/adk/integrations/crewai/crewai_tool.py b/src/google/adk/integrations/crewai/crewai_tool.py new file mode 100644 index 0000000000..3f47d7e5c9 --- /dev/null +++ b/src/google/adk/integrations/crewai/crewai_tool.py @@ -0,0 +1,158 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import inspect +from typing import Any +from typing import Callable + +from google.genai import types +from typing_extensions import override + +from ...tools import _automatic_function_calling_util +from ...tools.function_tool import FunctionTool +from ...tools.tool_configs import BaseToolConfig +from ...tools.tool_configs import ToolArgsConfig +from ...tools.tool_context import ToolContext + +try: + from crewai.tools import BaseTool as CrewaiBaseTool +except ImportError as e: + raise ImportError( + "Crewai Tools require pip install 'google-adk[extensions]'." + ) from e + + +class CrewaiTool(FunctionTool): + """Use this class to wrap a CrewAI tool. + + If the original tool name and description are not suitable, you can override + them in the constructor. + """ + + tool: CrewaiBaseTool + """The wrapped CrewAI tool.""" + + def __init__(self, tool: CrewaiBaseTool, *, name: str, description: str = ''): + super().__init__(tool.run) + self.tool = tool + if name: + self.name = name + elif tool.name: + # Right now, CrewAI tool name contains white spaces. White spaces are + # not supported in our framework. So we replace them with "_". + self.name = tool.name.replace(' ', '_').lower() + if description: + self.description = description + elif tool.description: + self.description = tool.description + + @override + async def run_async( + self, *, args: dict[str, Any], tool_context: ToolContext + ) -> Any: + """Override run_async to handle CrewAI-specific parameter filtering. + + CrewAI tools use **kwargs pattern, so we need special parameter filtering + logic that allows all parameters to pass through while removing only + reserved parameters like 'self' and 'tool_context'. + + Note: 'tool_context' is removed from the initial args dictionary to prevent + duplicates, but is re-added if the function signature explicitly requires it + as a parameter. + """ + # Preprocess arguments (includes Pydantic model conversion) + args_to_call = self._preprocess_args(args) + + signature = inspect.signature(self.func) + valid_params = {param for param in signature.parameters} + + # Check if function accepts **kwargs + has_kwargs = any( + param.kind == inspect.Parameter.VAR_KEYWORD + for param in signature.parameters.values() + ) + + if has_kwargs: + # For functions with **kwargs, we pass all arguments. We defensively + # remove arguments like `self` that are managed by the framework and not + # intended to be passed through **kwargs. + args_to_call.pop('self', None) + # We also remove context param that might have been passed in `args`, + # as it will be explicitly injected later if it's a valid parameter. + args_to_call.pop(self._context_param_name, None) + else: + # For functions without **kwargs, use the original filtering. + args_to_call = { + k: v for k, v in args_to_call.items() if k in valid_params + } + + # Inject context if it's an explicit parameter. This will add it + # or overwrite any value that might have been passed in `args`. + if self._context_param_name in valid_params: + args_to_call[self._context_param_name] = tool_context + + # Check for missing mandatory arguments + mandatory_args = self._get_mandatory_args() + missing_mandatory_args = [ + arg for arg in mandatory_args if arg not in args_to_call + ] + + if missing_mandatory_args: + missing_mandatory_args_str = '\n'.join(missing_mandatory_args) + error_str = f"""Invoking `{self.name}()` failed as the following mandatory input parameters are not present: +{missing_mandatory_args_str} +You could retry calling this tool, but it is IMPORTANT for you to provide all the mandatory parameters.""" + return {'error': error_str} + + return await self._invoke_callable(self.func, args_to_call) + + @override + def _get_declaration(self) -> types.FunctionDeclaration: + """Build the function declaration for the tool.""" + function_declaration = _automatic_function_calling_util.build_function_declaration_for_params_for_crewai( + False, + self.name, + self.description, + self.func, + self.tool.args_schema.model_json_schema(), + ) + return function_declaration + + @override + @classmethod + def from_config( + cls: type[CrewaiTool], config: ToolArgsConfig, config_abs_path: str + ) -> CrewaiTool: + from ...agents import config_agent_utils + + crewai_tool_config = CrewaiToolConfig.model_validate(config.model_dump()) + tool = config_agent_utils.resolve_fully_qualified_name( + crewai_tool_config.tool + ) + name = crewai_tool_config.name + description = crewai_tool_config.description + return cls(tool, name=name, description=description) + + +class CrewaiToolConfig(BaseToolConfig): + tool: str + """The fully qualified path of the CrewAI tool instance.""" + + name: str = '' + """The name of the tool.""" + + description: str = '' + """The description of the tool.""" diff --git a/src/google/adk/tools/crewai_tool.py b/src/google/adk/tools/crewai_tool.py index fca8ba9f50..1160a711eb 100644 --- a/src/google/adk/tools/crewai_tool.py +++ b/src/google/adk/tools/crewai_tool.py @@ -14,145 +14,18 @@ from __future__ import annotations -import inspect -from typing import Any -from typing import Callable +import warnings -from google.genai import types -from typing_extensions import override +from google.adk.integrations.crewai import CrewaiTool +from google.adk.integrations.crewai import CrewaiToolConfig -from . import _automatic_function_calling_util -from .function_tool import FunctionTool -from .tool_configs import BaseToolConfig -from .tool_configs import ToolArgsConfig -from .tool_context import ToolContext +warnings.warn( + "google.adk.tools.crewai_tool is moved to google.adk.integrations.crewai", + DeprecationWarning, + stacklevel=2, +) -try: - from crewai.tools import BaseTool as CrewaiBaseTool -except ImportError as e: - raise ImportError( - "Crewai Tools require pip install 'google-adk[extensions]'." - ) from e - - -class CrewaiTool(FunctionTool): - """Use this class to wrap a CrewAI tool. - - If the original tool name and description are not suitable, you can override - them in the constructor. - """ - - tool: CrewaiBaseTool - """The wrapped CrewAI tool.""" - - def __init__(self, tool: CrewaiBaseTool, *, name: str, description: str): - super().__init__(tool.run) - self.tool = tool - if name: - self.name = name - elif tool.name: - # Right now, CrewAI tool name contains white spaces. White spaces are - # not supported in our framework. So we replace them with "_". - self.name = tool.name.replace(' ', '_').lower() - if description: - self.description = description - elif tool.description: - self.description = tool.description - - @override - async def run_async( - self, *, args: dict[str, Any], tool_context: ToolContext - ) -> Any: - """Override run_async to handle CrewAI-specific parameter filtering. - - CrewAI tools use **kwargs pattern, so we need special parameter filtering - logic that allows all parameters to pass through while removing only - reserved parameters like 'self' and 'tool_context'. - - Note: 'tool_context' is removed from the initial args dictionary to prevent - duplicates, but is re-added if the function signature explicitly requires it - as a parameter. - """ - # Preprocess arguments (includes Pydantic model conversion) - args_to_call = self._preprocess_args(args) - - signature = inspect.signature(self.func) - valid_params = {param for param in signature.parameters} - - # Check if function accepts **kwargs - has_kwargs = any( - param.kind == inspect.Parameter.VAR_KEYWORD - for param in signature.parameters.values() - ) - - if has_kwargs: - # For functions with **kwargs, we pass all arguments. We defensively - # remove arguments like `self` that are managed by the framework and not - # intended to be passed through **kwargs. - args_to_call.pop('self', None) - # We also remove context param that might have been passed in `args`, - # as it will be explicitly injected later if it's a valid parameter. - args_to_call.pop(self._context_param_name, None) - else: - # For functions without **kwargs, use the original filtering. - args_to_call = { - k: v for k, v in args_to_call.items() if k in valid_params - } - - # Inject context if it's an explicit parameter. This will add it - # or overwrite any value that might have been passed in `args`. - if self._context_param_name in valid_params: - args_to_call[self._context_param_name] = tool_context - - # Check for missing mandatory arguments - mandatory_args = self._get_mandatory_args() - missing_mandatory_args = [ - arg for arg in mandatory_args if arg not in args_to_call - ] - - if missing_mandatory_args: - missing_mandatory_args_str = '\n'.join(missing_mandatory_args) - error_str = f"""Invoking `{self.name}()` failed as the following mandatory input parameters are not present: -{missing_mandatory_args_str} -You could retry calling this tool, but it is IMPORTANT for you to provide all the mandatory parameters.""" - return {'error': error_str} - - return await self._invoke_callable(self.func, args_to_call) - - @override - def _get_declaration(self) -> types.FunctionDeclaration: - """Build the function declaration for the tool.""" - function_declaration = _automatic_function_calling_util.build_function_declaration_for_params_for_crewai( - False, - self.name, - self.description, - self.func, - self.tool.args_schema.model_json_schema(), - ) - return function_declaration - - @override - @classmethod - def from_config( - cls: type[CrewaiTool], config: ToolArgsConfig, config_abs_path: str - ) -> CrewaiTool: - from ..agents import config_agent_utils - - crewai_tool_config = CrewaiToolConfig.model_validate(config.model_dump()) - tool = config_agent_utils.resolve_fully_qualified_name( - crewai_tool_config.tool - ) - name = crewai_tool_config.name - description = crewai_tool_config.description - return cls(tool, name=name, description=description) - - -class CrewaiToolConfig(BaseToolConfig): - tool: str - """The fully qualified path of the CrewAI tool instance.""" - - name: str = '' - """The name of the tool.""" - - description: str = '' - """The description of the tool.""" +__all__ = [ + "CrewaiTool", + "CrewaiToolConfig", +] diff --git a/tests/unittests/tools/test_crewai_tool.py b/tests/unittests/integrations/crewai/test_crewai_tool.py similarity index 98% rename from tests/unittests/tools/test_crewai_tool.py rename to tests/unittests/integrations/crewai/test_crewai_tool.py index a0028233f0..f7f9bfe0bd 100644 --- a/tests/unittests/tools/test_crewai_tool.py +++ b/tests/unittests/integrations/crewai/test_crewai_tool.py @@ -18,13 +18,13 @@ # Skip entire module if Python < 3.10 (must be before crewai_tool import) pytest.importorskip( - "google.adk.tools.crewai_tool", reason="Requires Python 3.10+" + "google.adk.integrations.crewai.crewai_tool", reason="Requires Python 3.10+" ) from google.adk.agents.context import Context from google.adk.agents.invocation_context import InvocationContext +from google.adk.integrations.crewai import CrewaiTool from google.adk.sessions.session import Session -from google.adk.tools.crewai_tool import CrewaiTool from google.adk.tools.tool_context import ToolContext From b24f60452d1bdbfb24596bb32bac1936db431676 Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Fri, 13 Mar 2026 16:58:41 -0700 Subject: [PATCH 22/51] chore: Move langchain tool into integrations folder Co-authored-by: Kathy Wu PiperOrigin-RevId: 883403479 --- .../adk/integrations/langchain/__init__.py | 19 ++ .../integrations/langchain/langchain_tool.py | 180 ++++++++++++++++++ src/google/adk/tools/langchain_tool.py | 180 ++---------------- .../langchain}/test_langchain_tool.py | 2 +- 4 files changed, 216 insertions(+), 165 deletions(-) create mode 100644 src/google/adk/integrations/langchain/__init__.py create mode 100644 src/google/adk/integrations/langchain/langchain_tool.py rename tests/unittests/{tools => integrations/langchain}/test_langchain_tool.py (97%) diff --git a/src/google/adk/integrations/langchain/__init__.py b/src/google/adk/integrations/langchain/__init__.py new file mode 100644 index 0000000000..985e49f82a --- /dev/null +++ b/src/google/adk/integrations/langchain/__init__.py @@ -0,0 +1,19 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from .langchain_tool import LangchainTool +from .langchain_tool import LangchainToolConfig + +__all__ = [ + 'LangchainTool', + 'LangchainToolConfig', +] diff --git a/src/google/adk/integrations/langchain/langchain_tool.py b/src/google/adk/integrations/langchain/langchain_tool.py new file mode 100644 index 0000000000..54fd05d781 --- /dev/null +++ b/src/google/adk/integrations/langchain/langchain_tool.py @@ -0,0 +1,180 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Optional +from typing import Union + +from google.genai import types +from langchain_core.tools import BaseTool as LangchainBaseTool +from langchain_core.tools import Tool +from langchain_core.tools.structured import StructuredTool +from typing_extensions import override + +from ...tools import _automatic_function_calling_util +from ...tools.function_tool import FunctionTool +from ...tools.tool_configs import BaseToolConfig +from ...tools.tool_configs import ToolArgsConfig + + +class LangchainTool(FunctionTool): + """Adapter class that wraps a Langchain tool for use with ADK. + + This adapter converts Langchain tools into a format compatible with Google's + generative AI function calling interface. It preserves the tool's name, + description, and functionality while adapting its schema. + + The original tool's name and description can be overridden if needed. + + Args: + tool: A Langchain tool to wrap (BaseTool or a tool with a .run method) + name: Optional override for the tool's name + description: Optional override for the tool's description + + Examples:: + + from langchain.tools import DuckDuckGoSearchTool + from google.adk.integrations.langchain import LangchainTool + + search_tool = DuckDuckGoSearchTool() + wrapped_tool = LangchainTool(search_tool) + """ + + _langchain_tool: Union[LangchainBaseTool, object] + """The wrapped langchain tool.""" + + def __init__( + self, + tool: Union[LangchainBaseTool, object], + name: Optional[str] = None, + description: Optional[str] = None, + ): + if not hasattr(tool, 'run') and not hasattr(tool, '_run'): + raise ValueError( + "Tool must be a Langchain tool, have a 'run' or '_run' method." + ) + + # Determine which function to use + if isinstance(tool, StructuredTool): + func = tool.func + # For async tools, func might be None but coroutine exists + if func is None and hasattr(tool, 'coroutine') and tool.coroutine: + func = tool.coroutine + elif hasattr(tool, '_run') or hasattr(tool, 'run'): + func = tool._run if hasattr(tool, '_run') else tool.run + else: + raise ValueError( + "This is not supported. Tool must be a Langchain tool, have a 'run'" + " or '_run' method. The tool is: ", + type(tool), + ) + + super().__init__(func) + # run_manager is a special parameter for langchain tool + self._ignore_params.append('run_manager') + self._langchain_tool = tool + + # Set name: priority is 1) explicitly provided name, 2) tool's name, 3) default + if name is not None: + self.name = name + elif hasattr(tool, 'name') and tool.name: + self.name = tool.name + # else: keep default from FunctionTool + + # Set description: similar priority + if description is not None: + self.description = description + elif hasattr(tool, 'description') and tool.description: + self.description = tool.description + # else: keep default from FunctionTool + + @override + def _get_declaration(self) -> types.FunctionDeclaration: + """Build the function declaration for the tool. + + Returns: + A FunctionDeclaration object that describes the tool's interface. + + Raises: + ValueError: If the tool schema cannot be correctly parsed. + """ + try: + # There are two types of tools: + # 1. BaseTool: the tool is defined in langchain_core.tools. + # 2. Other tools: the tool doesn't inherit any class but follow some + # conventions, like having a "run" method. + # Handle BaseTool type (preferred Langchain approach) + if isinstance(self._langchain_tool, LangchainBaseTool): + tool_wrapper = Tool( + name=self.name, + func=self.func, + description=self.description, + ) + + # Add schema if available + if ( + hasattr(self._langchain_tool, 'args_schema') + and self._langchain_tool.args_schema + ): + tool_wrapper.args_schema = self._langchain_tool.args_schema + + return _automatic_function_calling_util.build_function_declaration_for_langchain( + False, + self.name, + self.description, + tool_wrapper.func, + tool_wrapper.args, + ) + + # Need to provide a way to override the function names and descriptions + # as the original function names are mostly ".run" and the descriptions + # may not meet users' needs + function_decl = super()._get_declaration() + function_decl.name = self.name + function_decl.description = self.description + return function_decl + + except Exception as e: + raise ValueError( + f'Failed to build function declaration for Langchain tool: {e}' + ) from e + + @override + @classmethod + def from_config( + cls: type[LangchainTool], config: ToolArgsConfig, config_abs_path: str + ) -> LangchainTool: + from ...agents import config_agent_utils + + langchain_tool_config = LangchainToolConfig.model_validate( + config.model_dump() + ) + tool = config_agent_utils.resolve_fully_qualified_name( + langchain_tool_config.tool + ) + name = langchain_tool_config.name + description = langchain_tool_config.description + return cls(tool, name=name, description=description) + + +class LangchainToolConfig(BaseToolConfig): + tool: str + """The fully qualified path of the Langchain tool instance.""" + + name: str = '' + """The name of the tool.""" + + description: str = '' + """The description of the tool.""" diff --git a/src/google/adk/tools/langchain_tool.py b/src/google/adk/tools/langchain_tool.py index 0a16b2ca0e..a483db6dc7 100644 --- a/src/google/adk/tools/langchain_tool.py +++ b/src/google/adk/tools/langchain_tool.py @@ -14,167 +14,19 @@ from __future__ import annotations -from typing import Optional -from typing import Union - -from google.genai import types -from langchain_core.tools import BaseTool as LangchainBaseTool -from langchain_core.tools import Tool -from langchain_core.tools.structured import StructuredTool -from typing_extensions import override - -from . import _automatic_function_calling_util -from .function_tool import FunctionTool -from .tool_configs import BaseToolConfig -from .tool_configs import ToolArgsConfig - - -class LangchainTool(FunctionTool): - """Adapter class that wraps a Langchain tool for use with ADK. - - This adapter converts Langchain tools into a format compatible with Google's - generative AI function calling interface. It preserves the tool's name, - description, and functionality while adapting its schema. - - The original tool's name and description can be overridden if needed. - - Args: - tool: A Langchain tool to wrap (BaseTool or a tool with a .run method) - name: Optional override for the tool's name - description: Optional override for the tool's description - - Examples:: - - from langchain.tools import DuckDuckGoSearchTool - from google.genai.tools import LangchainTool - - search_tool = DuckDuckGoSearchTool() - wrapped_tool = LangchainTool(search_tool) - """ - - _langchain_tool: Union[LangchainBaseTool, object] - """The wrapped langchain tool.""" - - def __init__( - self, - tool: Union[LangchainBaseTool, object], - name: Optional[str] = None, - description: Optional[str] = None, - ): - if not hasattr(tool, 'run') and not hasattr(tool, '_run'): - raise ValueError( - "Tool must be a Langchain tool, have a 'run' or '_run' method." - ) - - # Determine which function to use - if isinstance(tool, StructuredTool): - func = tool.func - # For async tools, func might be None but coroutine exists - if func is None and hasattr(tool, 'coroutine') and tool.coroutine: - func = tool.coroutine - elif hasattr(tool, '_run') or hasattr(tool, 'run'): - func = tool._run if hasattr(tool, '_run') else tool.run - else: - raise ValueError( - "This is not supported. Tool must be a Langchain tool, have a 'run'" - " or '_run' method. The tool is: ", - type(tool), - ) - - super().__init__(func) - # run_manager is a special parameter for langchain tool - self._ignore_params.append('run_manager') - self._langchain_tool = tool - - # Set name: priority is 1) explicitly provided name, 2) tool's name, 3) default - if name is not None: - self.name = name - elif hasattr(tool, 'name') and tool.name: - self.name = tool.name - # else: keep default from FunctionTool - - # Set description: similar priority - if description is not None: - self.description = description - elif hasattr(tool, 'description') and tool.description: - self.description = tool.description - # else: keep default from FunctionTool - - @override - def _get_declaration(self) -> types.FunctionDeclaration: - """Build the function declaration for the tool. - - Returns: - A FunctionDeclaration object that describes the tool's interface. - - Raises: - ValueError: If the tool schema cannot be correctly parsed. - """ - try: - # There are two types of tools: - # 1. BaseTool: the tool is defined in langchain_core.tools. - # 2. Other tools: the tool doesn't inherit any class but follow some - # conventions, like having a "run" method. - # Handle BaseTool type (preferred Langchain approach) - if isinstance(self._langchain_tool, LangchainBaseTool): - tool_wrapper = Tool( - name=self.name, - func=self.func, - description=self.description, - ) - - # Add schema if available - if ( - hasattr(self._langchain_tool, 'args_schema') - and self._langchain_tool.args_schema - ): - tool_wrapper.args_schema = self._langchain_tool.args_schema - - return _automatic_function_calling_util.build_function_declaration_for_langchain( - False, - self.name, - self.description, - tool_wrapper.func, - tool_wrapper.args, - ) - - # Need to provide a way to override the function names and descriptions - # as the original function names are mostly ".run" and the descriptions - # may not meet users' needs - function_decl = super()._get_declaration() - function_decl.name = self.name - function_decl.description = self.description - return function_decl - - except Exception as e: - raise ValueError( - f'Failed to build function declaration for Langchain tool: {e}' - ) from e - - @override - @classmethod - def from_config( - cls: type[LangchainTool], config: ToolArgsConfig, config_abs_path: str - ) -> LangchainTool: - from ..agents import config_agent_utils - - langchain_tool_config = LangchainToolConfig.model_validate( - config.model_dump() - ) - tool = config_agent_utils.resolve_fully_qualified_name( - langchain_tool_config.tool - ) - name = langchain_tool_config.name - description = langchain_tool_config.description - return cls(tool, name=name, description=description) - - -class LangchainToolConfig(BaseToolConfig): - tool: str - """The fully qualified path of the Langchain tool instance.""" - - name: str = '' - """The name of the tool.""" - - description: str = '' - """The description of the tool.""" +import warnings + +from google.adk.integrations.langchain import LangchainTool +from google.adk.integrations.langchain import LangchainToolConfig + +warnings.warn( + "google.adk.tools.langchain_tool is moved to" + " google.adk.integrations.langchain", + DeprecationWarning, + stacklevel=2, +) + +__all__ = [ + "LangchainTool", + "LangchainToolConfig", +] diff --git a/tests/unittests/tools/test_langchain_tool.py b/tests/unittests/integrations/langchain/test_langchain_tool.py similarity index 97% rename from tests/unittests/tools/test_langchain_tool.py rename to tests/unittests/integrations/langchain/test_langchain_tool.py index 4d22fb5075..408b23c155 100644 --- a/tests/unittests/tools/test_langchain_tool.py +++ b/tests/unittests/integrations/langchain/test_langchain_tool.py @@ -14,7 +14,7 @@ from unittest.mock import MagicMock -from google.adk.tools.langchain_tool import LangchainTool +from google.adk.integrations.langchain import LangchainTool from langchain_core.tools import tool from langchain_core.tools.structured import StructuredTool from pydantic import BaseModel From 4010716470fc83918dc367c5971342ff551401c8 Mon Sep 17 00:00:00 2001 From: Liang Wu Date: Fri, 13 Mar 2026 16:59:08 -0700 Subject: [PATCH 23/51] fix(bigquery): use valid dataplex OAuth scope Closes issue #4805 Co-authored-by: Liang Wu PiperOrigin-RevId: 883403628 --- src/google/adk/tools/bigquery/bigquery_credentials.py | 2 +- tests/unittests/tools/bigquery/test_bigquery_credentials.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/google/adk/tools/bigquery/bigquery_credentials.py b/src/google/adk/tools/bigquery/bigquery_credentials.py index 958ce9d7ec..c491c52ee6 100644 --- a/src/google/adk/tools/bigquery/bigquery_credentials.py +++ b/src/google/adk/tools/bigquery/bigquery_credentials.py @@ -21,7 +21,7 @@ BIGQUERY_TOKEN_CACHE_KEY = "bigquery_token_cache" BIGQUERY_SCOPES = [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/dataplex", + "https://www.googleapis.com/auth/dataplex.read-write", ] BIGQUERY_DEFAULT_SCOPE = ["https://www.googleapis.com/auth/bigquery"] diff --git a/tests/unittests/tools/bigquery/test_bigquery_credentials.py b/tests/unittests/tools/bigquery/test_bigquery_credentials.py index e20662924b..f0c188d0a4 100644 --- a/tests/unittests/tools/bigquery/test_bigquery_credentials.py +++ b/tests/unittests/tools/bigquery/test_bigquery_credentials.py @@ -47,7 +47,7 @@ def test_valid_credentials_object_auth_credentials(self): assert config.client_secret is None assert config.scopes == [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/dataplex", + "https://www.googleapis.com/auth/dataplex.read-write", ] def test_valid_credentials_object_oauth2_credentials(self): @@ -90,7 +90,7 @@ def test_valid_client_id_secret_pair_default_scope(self): assert config.client_secret == "test_client_secret" assert config.scopes == [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/dataplex", + "https://www.googleapis.com/auth/dataplex.read-write", ] def test_valid_client_id_secret_pair_w_scope(self): @@ -135,7 +135,7 @@ def test_valid_client_id_secret_pair_w_empty_scope(self): assert config.client_secret == "test_client_secret" assert config.scopes == [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/dataplex", + "https://www.googleapis.com/auth/dataplex.read-write", ] def test_missing_client_secret_raises_error(self): From f8270c826bc807da99b4126e98ee1c505f4ed7c3 Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Sat, 14 Mar 2026 10:33:20 -0700 Subject: [PATCH 24/51] fix(deps): bump google-genai minimum to >=1.64.0 for gemini-embedding-2-preview The gemini-embedding-2-preview model requires the Vertex AI :embedContent endpoint instead of the legacy :predict endpoint used by older models (text-embedding-004, text-embedding-005). In google-genai <1.64.0, embed_content() unconditionally routed to :predict on Vertex AI, which returns FAILED_PRECONDITION for this model. v1.64.0 (googleapis/python-genai@af40cc6) introduced model-aware dispatch in embed_content(): models with "gemini" in the name are routed to :embedContent via t_is_vertex_embed_content_model(), while older text-embedding-* models continue to use :predict. This version also enforces a single-content-per-call limit for the embedContent API, which is why FilesRetrieval sets embed_batch_size=1. Co-authored-by: Xiang (Sean) Zhou PiperOrigin-RevId: 883689438 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4bd800131d..c62d8e2978 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,7 @@ dependencies = [ "google-cloud-spanner>=3.56.0, <4.0.0", # For Spanner database "google-cloud-speech>=2.30.0, <3.0.0", # For Audio Transcription "google-cloud-storage>=2.18.0, <4.0.0", # For GCS Artifact service - "google-genai>=1.56.0, <2.0.0", # Google GenAI SDK + "google-genai>=1.64.0, <2.0.0", # Google GenAI SDK "graphviz>=0.20.2, <1.0.0", # Graphviz for graph rendering "httpx>=0.27.0, <1.0.0", # HTTP client library "jsonschema>=4.23.0, <5.0.0", # Agent Builder config validation From 6c34694da64968bc766a7e5e860c0ed9acbc69c2 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Sun, 15 Mar 2026 13:47:47 -0700 Subject: [PATCH 25/51] feat: Enhance AgentEngineSandboxCodeExecutor sample to automatically provision an Agent Engine if neither agent_engine_resource_name nor sandbox_resource_name is provided The AgentEngineSandboxCodeExecutor now has three initialization modes: 1. Create both an Agent Engine and sandbox if neither resource name is provided. 2. Creating a new sandbox within a provided agent_engine_resource_name. 3. Using a provided sandbox_resource_name. PiperOrigin-RevId: 884088248 --- .../agent_engine_code_execution/agent.py | 2 +- .../agent_engine_sandbox_code_executor.py | 46 +++++++-- ...test_agent_engine_sandbox_code_executor.py | 99 +++++++++++++++++++ 3 files changed, 138 insertions(+), 9 deletions(-) diff --git a/contributing/samples/agent_engine_code_execution/agent.py b/contributing/samples/agent_engine_code_execution/agent.py index a32e4ca4c6..8e9ea4af63 100644 --- a/contributing/samples/agent_engine_code_execution/agent.py +++ b/contributing/samples/agent_engine_code_execution/agent.py @@ -89,6 +89,6 @@ def base_system_instruction(): # "projects/vertex-agent-loadtest/locations/us-central1/reasoningEngines/6842889780301135872/sandboxEnvironments/6545148628569161728", sandbox_resource_name=None, # Replace with agent engine resource name used for creating sandbox environment. - agent_engine_resource_name="AGENT_ENGINE_RESOURCE_NAME", + agent_engine_resource_name=None, ), ) diff --git a/src/google/adk/code_executors/agent_engine_sandbox_code_executor.py b/src/google/adk/code_executors/agent_engine_sandbox_code_executor.py index 071d59dc2a..6634847271 100644 --- a/src/google/adk/code_executors/agent_engine_sandbox_code_executor.py +++ b/src/google/adk/code_executors/agent_engine_sandbox_code_executor.py @@ -17,7 +17,9 @@ import json import logging import mimetypes +import os import re +import threading from typing import Optional from typing_extensions import override @@ -46,6 +48,7 @@ class AgentEngineSandboxCodeExecutor(BaseCodeExecutor): sandbox_resource_name: str = None agent_engine_resource_name: str = None + _agent_engine_creation_lock: Optional[threading.Lock] = None def __init__( self, @@ -61,16 +64,19 @@ def __init__( projects/123/locations/us-central1/reasoningEngines/456/ sandboxEnvironments/789 agent_engine_resource_name: The resource name of the agent engine to use - to create the code execution sandbox. Format: + to create the code execution sandbox. If not set, a new Agent Engine + will be created automatically. Format: projects/123/locations/us-central1/reasoningEngines/456, when both sandbox_resource_name and agent_engine_resource_name are set, agent_engine_resource_name will be ignored. **data: Additional keyword arguments to be passed to the base class. """ super().__init__(**data) + self._agent_engine_creation_lock = threading.Lock() sandbox_resource_name_pattern = r'^projects/([a-zA-Z0-9-_]+)/locations/([a-zA-Z0-9-_]+)/reasoningEngines/(\d+)/sandboxEnvironments/(\d+)$' agent_engine_resource_name_pattern = r'^projects/([a-zA-Z0-9-_]+)/locations/([a-zA-Z0-9-_]+)/reasoningEngines/(\d+)$' + # Case 1: sandbox_resource_name is provided. if sandbox_resource_name is not None: self._project_id, self._location = ( self._get_project_id_and_location_from_resource_name( @@ -78,18 +84,23 @@ def __init__( ) ) self.sandbox_resource_name = sandbox_resource_name - elif agent_engine_resource_name is not None: + + # Case 2: Agent Engine resource name is not provided. + elif agent_engine_resource_name is None: + # The Agent Engine will be auto-created lazily within execute_code(). + self._project_id = os.environ.get('GOOGLE_CLOUD_PROJECT') + self._location = os.environ.get('GOOGLE_CLOUD_LOCATION', 'us-central1') + self.agent_engine_resource_name = None + + # Case 3: Use the provided agent_engine_resource_name. + else: self._project_id, self._location = ( self._get_project_id_and_location_from_resource_name( - agent_engine_resource_name, agent_engine_resource_name_pattern + agent_engine_resource_name, + agent_engine_resource_name_pattern, ) ) self.agent_engine_resource_name = agent_engine_resource_name - else: - raise ValueError( - 'Either sandbox_resource_name or agent_engine_resource_name must be' - ' set.' - ) @override def execute_code( @@ -97,6 +108,25 @@ def execute_code( invocation_context: InvocationContext, code_execution_input: CodeExecutionInput, ) -> CodeExecutionResult: + if ( + self.sandbox_resource_name is None + and self.agent_engine_resource_name is None + ): + with self._agent_engine_creation_lock: + if self.agent_engine_resource_name is None: + logger.info( + 'No Agent Engine resource name provided. Creating a new one...' + ) + try: + # Create a default Agent Engine. + created_engine = self._get_api_client().agent_engines.create() + self.agent_engine_resource_name = created_engine.api_resource.name + logger.info( + 'Created Agent Engine: %s', self.agent_engine_resource_name + ) + except Exception as e: + logger.error('Failed to auto-create Agent Engine: %s', e) + raise # default to the sandbox resource name if set. sandbox_name = self.sandbox_resource_name if self.sandbox_resource_name is None: diff --git a/tests/unittests/code_executors/test_agent_engine_sandbox_code_executor.py b/tests/unittests/code_executors/test_agent_engine_sandbox_code_executor.py index 9b27b82c20..78c7c5cd33 100644 --- a/tests/unittests/code_executors/test_agent_engine_sandbox_code_executor.py +++ b/tests/unittests/code_executors/test_agent_engine_sandbox_code_executor.py @@ -13,6 +13,7 @@ # limitations under the License. import json +import os from unittest.mock import MagicMock from unittest.mock import patch @@ -249,3 +250,101 @@ def test_execute_code_creates_sandbox_if_missing( name=created_sandbox_name, input_data={"code": 'print("hello world")'}, ) + + def test_init_with_agent_engine_resource_name(self): + """Tests init when only agent_engine_resource_name is provided.""" + agent_engine_name = ( + "projects/123/locations/us-central1/reasoningEngines/456" + ) + + executor = AgentEngineSandboxCodeExecutor( + agent_engine_resource_name=agent_engine_name + ) + + # Verify the engine name is set, and sandbox remains None. + assert executor.agent_engine_resource_name == agent_engine_name + assert executor.sandbox_resource_name is None + assert executor._project_id == "123" + assert executor._location == "us-central1" + + @patch("vertexai.Client") + @patch.dict( + os.environ, + { + "GOOGLE_CLOUD_PROJECT": "test-project-456", + "GOOGLE_CLOUD_LOCATION": "us-central1", + }, + ) + def test_execute_code_with_auto_create_agent_engine( + self, mock_vertexai_client, mock_invocation_context + ): + """Tests that Agent Engine is created lazily in execute_code.""" + # Setup Mocks + mock_api_client = MagicMock() + mock_vertexai_client.return_value = mock_api_client + + # Mock Engine Creation + mock_created_engine = MagicMock() + mock_created_engine.api_resource.name = "projects/test-project-456/locations/us-central1/reasoningEngines/auto-created-ae-1" + mock_api_client.agent_engines.create.return_value = mock_created_engine + + # Mock create operation to return a sandbox resource name + operation_mock = MagicMock() + created_sandbox_name = "projects/test-project-456/locations/us-central1/reasoningEngines/auto-created-ae-1/sandboxEnvironments/789" + operation_mock.response.name = created_sandbox_name + mock_api_client.agent_engines.sandboxes.create.return_value = operation_mock + + # Mock execute_code response + mock_response = MagicMock() + mock_json_output = MagicMock() + mock_json_output.mime_type = "application/json" + mock_json_output.data = json.dumps( + {"stdout": "created sandbox run", "stderr": ""} + ).encode("utf-8") + mock_json_output.metadata = None + mock_response.outputs = [mock_json_output] + mock_api_client.agent_engines.sandboxes.execute_code.return_value = ( + mock_response + ) + + # Execute + executor = AgentEngineSandboxCodeExecutor() + code_input = CodeExecutionInput(code='print("hello world")') + executor.execute_code(mock_invocation_context, code_input) + + # Assert + mock_api_client.agent_engines.create.assert_called_once() + assert ( + executor.agent_engine_resource_name + == "projects/test-project-456/locations/us-central1/reasoningEngines/auto-created-ae-1" + ) + assert executor.sandbox_resource_name is None + mock_api_client.agent_engines.sandboxes.create.assert_called_once() + assert ( + mock_invocation_context.session.state["sandbox_name"] + == created_sandbox_name + ) + + @patch("vertexai.Client") + @patch.dict( + os.environ, + { + "GOOGLE_CLOUD_PROJECT": "test-project-456", + "GOOGLE_CLOUD_LOCATION": "us-central1", + }, + ) + def test_execute_code_auto_create_agent_engine_fails( + self, mock_vertexai_client, mock_invocation_context + ): + """Tests error handling when auto-creating Agent Engine fails.""" + mock_api_client = MagicMock() + mock_vertexai_client.return_value = mock_api_client + mock_api_client.agent_engines.create.side_effect = Exception( + "Failed to auto-create Agent Engine" + ) + + executor = AgentEngineSandboxCodeExecutor() + code_input = CodeExecutionInput(code='print("hello world")') + + with pytest.raises(Exception, match="Failed to auto-create Agent Engine"): + executor.execute_code(mock_invocation_context, code_input) From 360e0f7ebaba7a682f7230c259b474ace7ff6d13 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Sun, 15 Mar 2026 19:30:46 -0700 Subject: [PATCH 26/51] feat: Add database_role property to SpannerToolSettings and use it in execute_sql to support fine grained access controls PiperOrigin-RevId: 884166439 --- src/google/adk/tools/spanner/settings.py | 3 + src/google/adk/tools/spanner/utils.py | 9 ++- .../spanner/test_spanner_tool_settings.py | 16 ++++- tests/unittests/tools/spanner/test_utils.py | 61 +++++++++++++++++++ 4 files changed, 84 insertions(+), 5 deletions(-) diff --git a/src/google/adk/tools/spanner/settings.py b/src/google/adk/tools/spanner/settings.py index 13eda282ec..e33b659e51 100644 --- a/src/google/adk/tools/spanner/settings.py +++ b/src/google/adk/tools/spanner/settings.py @@ -263,5 +263,8 @@ class SpannerToolSettings(BaseModel): query_result_mode: QueryResultMode = QueryResultMode.DEFAULT """Mode for Spanner execute sql query result.""" + database_role: Optional[str] = None + """Optional. The database role to use for the Spanner session.""" + vector_store_settings: Optional[SpannerVectorStoreSettings] = None """Settings for Spanner vector store and vector similarity search.""" diff --git a/src/google/adk/tools/spanner/utils.py b/src/google/adk/tools/spanner/utils.py index 9f5efdb76b..7d31ed44aa 100644 --- a/src/google/adk/tools/spanner/utils.py +++ b/src/google/adk/tools/spanner/utils.py @@ -82,7 +82,9 @@ def execute_sql( project=project_id, credentials=credentials ) instance = spanner_client.instance(instance_id) - database = instance.database(database_id) + database = instance.database( + database_id, database_role=settings.database_role + ) if database.database_dialect == DatabaseDialect.POSTGRESQL: return { @@ -244,7 +246,10 @@ def __init__( self._vector_store_settings.instance_id ) ) - self._database = instance.database(self._vector_store_settings.database_id) + self._database = instance.database( + self._vector_store_settings.database_id, + database_role=self._settings.database_role, + ) if not self._database.exists(): raise ValueError( "Database id {} doesn't exist.".format( diff --git a/tests/unittests/tools/spanner/test_spanner_tool_settings.py b/tests/unittests/tools/spanner/test_spanner_tool_settings.py index df71dba247..f2f9e22d4d 100644 --- a/tests/unittests/tools/spanner/test_spanner_tool_settings.py +++ b/tests/unittests/tools/spanner/test_spanner_tool_settings.py @@ -83,9 +83,9 @@ def test_spanner_vector_store_settings_invalid_vector_length(): @pytest.mark.parametrize( - "settings_args, expected_rows, expected_mode", + "settings_args, expected_rows, expected_mode, expected_role", [ - ({}, 50, QueryResultMode.DEFAULT), + ({}, 50, QueryResultMode.DEFAULT, None), ( { "capabilities": [Capabilities.DATA_READ], @@ -94,12 +94,22 @@ def test_spanner_vector_store_settings_invalid_vector_length(): }, 100, QueryResultMode.DICT_LIST, + None, + ), + ( + {"database_role": "test-role"}, + 50, + QueryResultMode.DEFAULT, + "test-role", ), ], ) -def test_spanner_tool_settings(settings_args, expected_rows, expected_mode): +def test_spanner_tool_settings( + settings_args, expected_rows, expected_mode, expected_role +): """Test SpannerToolSettings with different values.""" settings = SpannerToolSettings(**settings_args) assert settings.capabilities == [Capabilities.DATA_READ] assert settings.max_executed_query_result_rows == expected_rows assert settings.query_result_mode == expected_mode + assert settings.database_role == expected_role diff --git a/tests/unittests/tools/spanner/test_utils.py b/tests/unittests/tools/spanner/test_utils.py index fe8d7db4a3..75730fbc10 100644 --- a/tests/unittests/tools/spanner/test_utils.py +++ b/tests/unittests/tools/spanner/test_utils.py @@ -411,3 +411,64 @@ def test_create_vector_search_index_fails( vector_store = spanner_utils.SpannerVectorStore(spanner_tool_settings) with pytest.raises(RuntimeError, match="DDL failed"): vector_store.create_vector_search_index() + + +@mock.patch.object(spanner_utils.client, "get_spanner_client", autospec=True) +def test_execute_sql_with_database_role(mock_get_spanner_client): + """Test that execute_sql passes database_role to instance.database.""" + mock_spanner_client = mock.MagicMock() + mock_instance = mock.MagicMock() + mock_database = mock.MagicMock() + mock_snapshot = mock.MagicMock() + + mock_snapshot.execute_sql.return_value = iter([["row1"]]) + mock_database.snapshot.return_value.__enter__.return_value = mock_snapshot + mock_database.database_dialect = DatabaseDialect.GOOGLE_STANDARD_SQL + mock_instance.database.return_value = mock_database + mock_spanner_client.instance.return_value = mock_instance + mock_get_spanner_client.return_value = mock_spanner_client + + database_role = "test-role" + settings = SpannerToolSettings(database_role=database_role) + + spanner_utils.execute_sql( + project_id="test-project", + instance_id="test-instance", + database_id="test-database", + query="SELECT 1", + credentials=mock.Mock(), + settings=settings, + tool_context=mock.Mock(), + ) + + mock_instance.database.assert_called_once_with( + "test-database", database_role=database_role + ) + + +@mock.patch.object(spanner_utils.client, "get_spanner_client", autospec=True) +def test_spanner_vector_store_with_database_role( + mock_get_spanner_client, vector_store_settings +): + """Test that SpannerVectorStore passes database_role to instance.database.""" + mock_spanner_client = mock.MagicMock() + mock_instance = mock.MagicMock() + mock_database = mock.MagicMock() + + mock_instance.database.return_value = mock_database + mock_instance.exists.return_value = True + mock_database.exists.return_value = True + mock_spanner_client.instance.return_value = mock_instance + mock_get_spanner_client.return_value = mock_spanner_client + mock_spanner_client._client_info = mock.Mock(user_agent="test-agent") + + database_role = "test-role" + settings = SpannerToolSettings( + database_role=database_role, vector_store_settings=vector_store_settings + ) + + spanner_utils.SpannerVectorStore(settings) + + mock_instance.database.assert_called_once_with( + "test-database", database_role=database_role + ) From 9a75c06873b79fbd206b3712231c0280fb2f87ca Mon Sep 17 00:00:00 2001 From: Ankur Sharma Date: Mon, 16 Mar 2026 10:08:27 -0700 Subject: [PATCH 27/51] feat: Add MultiTurn Task success metric The metric takes into account all the turns of the multi-turn conversation. The class delegates the responsibility to Vertex Gen AI Eval SDK. The V1 suffix in the class name is added to convey that there could be other versions of the safety metric as well, and those metrics could use a different strategy to evaluate safety. Co-authored-by: Ankur Sharma PiperOrigin-RevId: 884504910 --- pyproject.toml | 2 +- src/google/adk/evaluation/eval_metrics.py | 2 + .../evaluation/metric_evaluator_registry.py | 6 + .../adk/evaluation/metric_info_providers.py | 18 ++ .../multi_turn_task_success_evaluator.py | 63 +++++ .../adk/evaluation/vertex_ai_eval_facade.py | 169 ++++++++++- .../test_multi_turn_task_success_evaluator.py | 106 +++++++ .../evaluation/test_vertex_ai_eval_facade.py | 265 ++++++++++++++++++ 8 files changed, 627 insertions(+), 4 deletions(-) create mode 100644 src/google/adk/evaluation/multi_turn_task_success_evaluator.py create mode 100644 tests/unittests/evaluation/test_multi_turn_task_success_evaluator.py diff --git a/pyproject.toml b/pyproject.toml index c62d8e2978..6851122b3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -111,7 +111,7 @@ eval = [ # go/keep-sorted start "Jinja2>=3.1.4,<4.0.0", # For eval template rendering "gepa>=0.1.0", - "google-cloud-aiplatform[evaluation]>=1.100.0", + "google-cloud-aiplatform[evaluation]>=1.140.0", "pandas>=2.2.3", "rouge-score>=0.1.2", "tabulate>=0.9.0", diff --git a/src/google/adk/evaluation/eval_metrics.py b/src/google/adk/evaluation/eval_metrics.py index eb7c7e36cb..77cfa9a1fc 100644 --- a/src/google/adk/evaluation/eval_metrics.py +++ b/src/google/adk/evaluation/eval_metrics.py @@ -61,6 +61,8 @@ class PrebuiltMetrics(Enum): PER_TURN_USER_SIMULATOR_QUALITY_V1 = "per_turn_user_simulator_quality_v1" + MULTI_TURN_TASK_SUCCESS_V1 = "multi_turn_task_success_v1" + MetricName: TypeAlias = Union[str, PrebuiltMetrics] Threshold: TypeAlias = float diff --git a/src/google/adk/evaluation/metric_evaluator_registry.py b/src/google/adk/evaluation/metric_evaluator_registry.py index 775d5c2d7a..b554ad6ed6 100644 --- a/src/google/adk/evaluation/metric_evaluator_registry.py +++ b/src/google/adk/evaluation/metric_evaluator_registry.py @@ -27,12 +27,14 @@ from .hallucinations_v1 import HallucinationsV1Evaluator from .metric_info_providers import FinalResponseMatchV2EvaluatorMetricInfoProvider from .metric_info_providers import HallucinationsV1EvaluatorMetricInfoProvider +from .metric_info_providers import MultiTurnTaskSuccessV1MetricInfoProvider from .metric_info_providers import PerTurnUserSimulatorQualityV1MetricInfoProvider from .metric_info_providers import ResponseEvaluatorMetricInfoProvider from .metric_info_providers import RubricBasedFinalResponseQualityV1EvaluatorMetricInfoProvider from .metric_info_providers import RubricBasedToolUseV1EvaluatorMetricInfoProvider from .metric_info_providers import SafetyEvaluatorV1MetricInfoProvider from .metric_info_providers import TrajectoryEvaluatorMetricInfoProvider +from .multi_turn_task_success_evaluator import MultiTurnTaskSuccessV1Evaluator from .response_evaluator import ResponseEvaluator from .rubric_based_final_response_quality_v1 import RubricBasedFinalResponseQualityV1Evaluator from .rubric_based_tool_use_quality_v1 import RubricBasedToolUseV1Evaluator @@ -126,6 +128,10 @@ def _get_default_metric_evaluator_registry() -> MetricEvaluatorRegistry: metric_info=SafetyEvaluatorV1MetricInfoProvider().get_metric_info(), evaluator=SafetyEvaluatorV1, ) + metric_evaluator_registry.register_evaluator( + metric_info=MultiTurnTaskSuccessV1MetricInfoProvider().get_metric_info(), + evaluator=MultiTurnTaskSuccessV1Evaluator, + ) metric_evaluator_registry.register_evaluator( metric_info=FinalResponseMatchV2EvaluatorMetricInfoProvider().get_metric_info(), evaluator=FinalResponseMatchV2Evaluator, diff --git a/src/google/adk/evaluation/metric_info_providers.py b/src/google/adk/evaluation/metric_info_providers.py index 638e817289..cee991a96d 100644 --- a/src/google/adk/evaluation/metric_info_providers.py +++ b/src/google/adk/evaluation/metric_info_providers.py @@ -94,6 +94,24 @@ def get_metric_info(self) -> MetricInfo: ) +class MultiTurnTaskSuccessV1MetricInfoProvider(MetricInfoProvider): + """Metric info provider for MultiTurnTaskSuccessV1.""" + + def get_metric_info(self) -> MetricInfo: + return MetricInfo( + metric_name=PrebuiltMetrics.MULTI_TURN_TASK_SUCCESS_V1.value, + description=( + "Evaluates if the agent was able to achieve the goal or goals of" + " the conversation." + " Value range of the metric is [0, 1], with values closer" + " to 1 to be more desirable (safe)." + ), + metric_value_info=MetricValueInfo( + interval=Interval(min_value=0.0, max_value=1.0) + ), + ) + + class FinalResponseMatchV2EvaluatorMetricInfoProvider(MetricInfoProvider): """Metric info provider for FinalResponseMatchV2Evaluator.""" diff --git a/src/google/adk/evaluation/multi_turn_task_success_evaluator.py b/src/google/adk/evaluation/multi_turn_task_success_evaluator.py new file mode 100644 index 0000000000..015bff39e3 --- /dev/null +++ b/src/google/adk/evaluation/multi_turn_task_success_evaluator.py @@ -0,0 +1,63 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Optional + +from typing_extensions import override + +from .eval_case import ConversationScenario +from .eval_case import Invocation +from .eval_metrics import EvalMetric +from .evaluator import EvaluationResult +from .evaluator import Evaluator +from .vertex_ai_eval_facade import _MultiTurnVertexiAiEvalFacade + + +class MultiTurnTaskSuccessV1Evaluator(Evaluator): + """Evaluates if the agent was able to achieve the goal or goals of the conversation. + + The metric takes into account all the turns of the multi-turn conversation. + + The class delegates the responsibility to Vertex Gen AI Eval SDK. The V1 + suffix in the class name is added to convey that there could be other versions + of the safety metric as well, and those metrics could use a different strategy + to evaluate safety. + + Using this class requires a GCP project. Please set GOOGLE_CLOUD_PROJECT and + GOOGLE_CLOUD_LOCATION in your .env file. + + Value range of the metric is [0, 1], with values closer to 1 to be more + desirable (safe). + """ + + def __init__(self, eval_metric: EvalMetric): + self._eval_metric = eval_metric + + @override + def evaluate_invocations( + self, + actual_invocations: list[Invocation], + expected_invocations: Optional[list[Invocation]] = None, + conversation_scenario: Optional[ConversationScenario] = None, + ) -> EvaluationResult: + from ..dependencies.vertexai import vertexai + + return _MultiTurnVertexiAiEvalFacade( + threshold=self._eval_metric.threshold, + metric_name=vertexai.types.RubricMetric.MULTI_TURN_TASK_SUCCESS, + ).evaluate_invocations( + actual_invocations, expected_invocations, conversation_scenario + ) diff --git a/src/google/adk/evaluation/vertex_ai_eval_facade.py b/src/google/adk/evaluation/vertex_ai_eval_facade.py index 93b54a7534..9205c96c91 100644 --- a/src/google/adk/evaluation/vertex_ai_eval_facade.py +++ b/src/google/adk/evaluation/vertex_ai_eval_facade.py @@ -15,22 +15,28 @@ from __future__ import annotations import abc +import logging import math import os from typing import Optional +from typing import Union from google.genai import types as genai_types import pandas as pd from typing_extensions import override from ..dependencies.vertexai import vertexai +from .app_details import AgentDetails from .eval_case import ConversationScenario from .eval_case import Invocation +from .eval_case import InvocationEvent from .evaluator import EvalStatus from .evaluator import EvaluationResult from .evaluator import Evaluator from .evaluator import PerInvocationResult +logger = logging.getLogger("google_adk." + __name__) + _ERROR_MESSAGE_SUFFIX = """ You should specify both project id and location. This metric uses Vertex Gen AI Eval SDK, and it requires google cloud credentials. @@ -56,7 +62,9 @@ class _VertexAiEvalFacade(Evaluator): def __init__( self, threshold: float, - metric_name: vertexai.types.PrebuiltMetric, + metric_name: Union[ + vertexai.types.PrebuiltMetric, vertexai.types.RubricMetric + ], expected_invocations_required=False, ): self._threshold = threshold @@ -119,7 +127,7 @@ def _get_score(self, eval_result) -> Optional[float]: return None def _get_eval_status(self, score: Optional[float]): - if score: + if score is not None: return ( EvalStatus.PASSED if score >= self._threshold else EvalStatus.FAILED ) @@ -188,7 +196,7 @@ def evaluate_invocations( ) ) - if score: + if score is not None: total_score += score num_invocations += 1 @@ -203,3 +211,158 @@ def evaluate_invocations( ) return EvaluationResult() + + +class _MultiTurnVertexiAiEvalFacade(_VertexAiEvalFacade): + """A facade for multi turn metrics exposed in Vertex Gen AI Eval SDK.""" + + @override + def evaluate_invocations( + self, + actual_invocations: list[Invocation], + expected_invocations: Optional[list[Invocation]] = None, + conversation_scenario: Optional[ConversationScenario] = None, + ) -> EvaluationResult: + del conversation_scenario + + per_invocation_results = [] + # If expected_invocation are not required by the metric and if they are not + # supplied, we provide a list of None. + expected_invocations = ( + [None] * len(actual_invocations) + if expected_invocations is None + else expected_invocations + ) + + # We mark all the n-1 turns as NOT-EVALUATED for these metrics. + for actual, expected in zip( + actual_invocations[:-1], expected_invocations[:-1] + ): + per_invocation_results.append( + PerInvocationResult( + actual_invocation=actual, + expected_invocation=expected, + score=None, + eval_status=self._get_eval_status(None), + ) + ) + + # Only evaluate the last turn and take into account all the previous turns. + eval_case = vertexai.types.EvalCase( + agent_data=_MultiTurnVertexiAiEvalFacade._get_agent_data( + actual_invocations + ) + ) + dataset = vertexai.types.EvaluationDataset(eval_cases=[eval_case]) + + eval_case_result = self._perform_eval( + dataset=dataset, metrics=[self._metric_name] + ) + + score = self._get_score(eval_case_result) + per_invocation_results.append( + PerInvocationResult( + actual_invocation=actual_invocations[-1], + expected_invocation=expected_invocations[-1], + score=score, + eval_status=self._get_eval_status(score), + ) + ) + + if score is not None: + return EvaluationResult( + overall_score=score, + overall_eval_status=self._get_eval_status(score), + per_invocation_results=per_invocation_results, + ) + + return EvaluationResult() + + @staticmethod + def _get_agent_data( + actual_invocations: list[Invocation], + ) -> vertexai.types.evals.AgentData: + return vertexai.types.evals.AgentData( + agents=_MultiTurnVertexiAiEvalFacade._get_agent_details( + actual_invocations + ), + turns=_MultiTurnVertexiAiEvalFacade._get_turns(actual_invocations), + ) + + @staticmethod + def _get_turns( + actual_invocations: list[Invocation], + ) -> list[vertexai.types.evals.ConversationTurn]: + return [ + _MultiTurnVertexiAiEvalFacade._map_invocation_turn(index, invocation) + for index, invocation in enumerate(actual_invocations) + ] + + @staticmethod + def _map_invocation_turn( + turn_index: int, + invocation: Invocation, + ) -> vertexai.types.evals.ConversationTurn: + agent_events = [] + agent_events.append( + vertexai.types.evals.AgentEvent( + author="user", content=invocation.user_content + ) + ) + + for invocation_event in invocation.intermediate_data.invocation_events: + agent_events.append( + _MultiTurnVertexiAiEvalFacade._map_inovcation_event_to_agent_event( + invocation_event + ) + ) + + agent_events.append( + vertexai.types.evals.AgentEvent( + author="agent", content=invocation.final_response + ) + ) + + return vertexai.types.evals.ConversationTurn( + turn_index=turn_index, + events=agent_events, + turn_id=invocation.invocation_id, + ) + + @staticmethod + def _map_inovcation_event_to_agent_event( + invocation_event: InvocationEvent, + ) -> vertexai.types.evals.AgentEvent: + return vertexai.types.evals.AgentEvent( + author=invocation_event.author, content=invocation_event.content + ) + + @staticmethod + def _get_agent_details( + actual_invocations: list[Invocation], + ) -> dict[str, vertexai.types.evals.AgentConfig]: + agent_configs = {} + for invocation in actual_invocations: + if invocation.app_details and invocation.app_details.agent_details: + for ( + agent_name, + agent_details, + ) in invocation.app_details.agent_details.items(): + if agent_name not in agent_configs: + agent_configs[agent_name] = ( + _MultiTurnVertexiAiEvalFacade._map_agent_details_to_agent_config( + agent_details + ) + ) + + return agent_configs + + @staticmethod + def _map_agent_details_to_agent_config( + agent_details: AgentDetails, + ) -> vertexai.types.evals.AgentConfig: + return vertexai.types.evals.AgentConfig( + agent_id=agent_details.name, + instruction=agent_details.instructions, + tools=agent_details.tool_declarations, + ) diff --git a/tests/unittests/evaluation/test_multi_turn_task_success_evaluator.py b/tests/unittests/evaluation/test_multi_turn_task_success_evaluator.py new file mode 100644 index 0000000000..aa260bf27b --- /dev/null +++ b/tests/unittests/evaluation/test_multi_turn_task_success_evaluator.py @@ -0,0 +1,106 @@ +# Copyright 2026 Google LLC +# +# 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. + +"""Tests for the Multi Turn Task Success Evaluator.""" + +from google.adk.dependencies.vertexai import vertexai +from google.adk.evaluation.app_details import AgentDetails +from google.adk.evaluation.app_details import AppDetails +from google.adk.evaluation.eval_case import Invocation +from google.adk.evaluation.eval_case import InvocationEvent +from google.adk.evaluation.eval_case import InvocationEvents +from google.adk.evaluation.eval_metrics import EvalMetric +from google.adk.evaluation.evaluator import EvalStatus +from google.adk.evaluation.multi_turn_task_success_evaluator import MultiTurnTaskSuccessV1Evaluator +from google.genai import types as genai_types + +vertexai_types = vertexai.types + + +class TestMultiTurnTaskSuccessV1Evaluator: + """A class to help organize "patch" that are applicable to all tests.""" + + def test_evaluate_invocations_metric_passed(self, mocker): + """Test evaluate_invocations function for multi-turn task success metric.""" + mock_perform_eval = mocker.patch( + "google.adk.evaluation.vertex_ai_eval_facade._VertexAiEvalFacade._perform_eval" + ) + actual_invocations = [ + Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q1")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r1")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + Invocation( + invocation_id="inv2", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q2")] + ), + intermediate_data=InvocationEvents( + invocation_events=[ + InvocationEvent( + author="agent1", + content=genai_types.Content( + parts=[genai_types.Part(text="intermediate")] + ), + ) + ] + ), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r2")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + ] + evaluator = MultiTurnTaskSuccessV1Evaluator( + eval_metric=EvalMetric( + threshold=0.8, metric_name="multi_turn_task_success" + ) + ) + # Mock the return value of _perform_eval + mock_perform_eval.return_value = vertexai_types.EvaluationResult( + summary_metrics=[vertexai_types.AggregatedMetricResult(mean_score=0.9)], + eval_case_results=[], + ) + + evaluation_result = evaluator.evaluate_invocations( + actual_invocations, + ) + + assert evaluation_result.overall_score == 0.9 + assert evaluation_result.overall_eval_status == EvalStatus.PASSED + mock_perform_eval.assert_called_once() + _, mock_kwargs = mock_perform_eval.call_args + # Compare the names of the metrics. + assert [m.name for m in mock_kwargs["metrics"]] == [ + vertexai_types.RubricMetric.MULTI_TURN_TASK_SUCCESS.name + ] diff --git a/tests/unittests/evaluation/test_vertex_ai_eval_facade.py b/tests/unittests/evaluation/test_vertex_ai_eval_facade.py index dbef1010dd..285f8c7062 100644 --- a/tests/unittests/evaluation/test_vertex_ai_eval_facade.py +++ b/tests/unittests/evaluation/test_vertex_ai_eval_facade.py @@ -20,8 +20,13 @@ import random from google.adk.dependencies.vertexai import vertexai +from google.adk.evaluation.app_details import AgentDetails +from google.adk.evaluation.app_details import AppDetails from google.adk.evaluation.eval_case import Invocation +from google.adk.evaluation.eval_case import InvocationEvent +from google.adk.evaluation.eval_case import InvocationEvents from google.adk.evaluation.evaluator import EvalStatus +from google.adk.evaluation.vertex_ai_eval_facade import _MultiTurnVertexiAiEvalFacade from google.adk.evaluation.vertex_ai_eval_facade import _SingleTurnVertexAiEvalFacade from google.adk.evaluation.vertex_ai_eval_facade import _VertexAiEvalFacade from google.genai import types as genai_types @@ -272,6 +277,7 @@ def test_constructor_with_api_key(self, mocker): mock_client_cls.assert_called_once_with(api_key="test_api_key") def test_constructor_with_project_and_location(self, mocker): + mocker.patch.dict( os.environ, { @@ -327,3 +333,262 @@ def test_constructor_with_no_env_vars_raises_error(self, mocker): _SingleTurnVertexAiEvalFacade( threshold=0.8, metric_name=vertexai_types.PrebuiltMetric.COHERENCE ) + + +class TestMultiTurnVertexAiEvalFacade: + """Tests for _MultiTurnVertexiAiEvalFacade.""" + + def test_map_agent_details_to_agent_config(self): + tool_declarations = [ + genai_types.Tool( + function_declarations=[ + genai_types.FunctionDeclaration( + name="tool_1", + description="this is tool 1", + ) + ] + ) + ] + agent_details = AgentDetails( + name="test_agent", + instructions="test_instructions", + tool_declarations=tool_declarations, + ) + agent_config = ( + _MultiTurnVertexiAiEvalFacade._map_agent_details_to_agent_config( + agent_details + ) + ) + assert agent_config.agent_id == "test_agent" + assert agent_config.instruction == "test_instructions" + assert agent_config.tools == tool_declarations + + def test_get_agent_details(self): + invocations = [ + Invocation( + user_content=genai_types.Content(), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ), + "agent2": AgentDetails( + name="agent2", instructions="instructions2" + ), + } + ), + ), + Invocation( + user_content=genai_types.Content(), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ), + "agent3": AgentDetails( + name="agent3", instructions="instructions3" + ), + } + ), + ), + ] + agent_configs = _MultiTurnVertexiAiEvalFacade._get_agent_details( + invocations + ) + assert len(agent_configs) == 3 + assert "agent1" in agent_configs + assert "agent2" in agent_configs + assert "agent3" in agent_configs + assert agent_configs["agent1"].instruction == "instructions1" + assert agent_configs["agent2"].instruction == "instructions2" + assert agent_configs["agent3"].instruction == "instructions3" + + def test_map_invocation_event_to_agent_event(self): + invocation_event = InvocationEvent( + author="test_author", + content=genai_types.Content( + parts=[genai_types.Part(text="test_content")] + ), + ) + agent_event = ( + _MultiTurnVertexiAiEvalFacade._map_inovcation_event_to_agent_event( + invocation_event + ) + ) + assert agent_event.author == "test_author" + assert agent_event.content.parts[0].text == "test_content" + + def test_map_invocation_turn(self): + invocation = Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="user query")] + ), + intermediate_data=InvocationEvents( + invocation_events=[ + InvocationEvent( + author="agent1", + content=genai_types.Content( + parts=[genai_types.Part(text="intermediate content")] + ), + ) + ] + ), + final_response=genai_types.Content( + parts=[genai_types.Part(text="final response")] + ), + ) + conversation_turn = _MultiTurnVertexiAiEvalFacade._map_invocation_turn( + 0, invocation + ) + assert conversation_turn.turn_index == 0 + assert conversation_turn.turn_id == "inv1" + assert len(conversation_turn.events) == 3 + assert conversation_turn.events[0].author == "user" + assert conversation_turn.events[0].content.parts[0].text == "user query" + assert conversation_turn.events[1].author == "agent1" + assert ( + conversation_turn.events[1].content.parts[0].text + == "intermediate content" + ) + assert conversation_turn.events[2].author == "agent" + assert conversation_turn.events[2].content.parts[0].text == "final response" + + def test_get_turns(self): + invocations = [ + Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q1")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r1")] + ), + ), + Invocation( + invocation_id="inv2", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q2")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r2")] + ), + ), + ] + turns = _MultiTurnVertexiAiEvalFacade._get_turns(invocations) + assert len(turns) == 2 + assert turns[0].turn_id == "inv1" + assert turns[1].turn_id == "inv2" + + def test_get_agent_data(self): + invocations = [ + Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q1")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r1")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ) + ] + agent_data = _MultiTurnVertexiAiEvalFacade._get_agent_data(invocations) + assert "agent1" in agent_data.agents + assert len(agent_data.turns) == 1 + + def test_evaluate_invocations_multi_turn_metric_passed(self, mocker): + """Test evaluate_invocations function for a multi-turn metric.""" + mock_perform_eval = mocker.patch( + "google.adk.evaluation.vertex_ai_eval_facade._VertexAiEvalFacade._perform_eval" + ) + actual_invocations = [ + Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q1")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r1")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + Invocation( + invocation_id="inv2", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q2")] + ), + intermediate_data=InvocationEvents( + invocation_events=[ + InvocationEvent( + author="agent1", + content=genai_types.Content( + parts=[genai_types.Part(text="intermediate")] + ), + ) + ] + ), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r2")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + ] + evaluator = _MultiTurnVertexiAiEvalFacade( + threshold=0.8, + metric_name=vertexai_types.PrebuiltMetric.CONVERSATIONAL_COHERENCE, + ) + # Mock the return value of _perform_eval + mock_perform_eval.return_value = vertexai_types.EvaluationResult( + summary_metrics=[vertexai_types.AggregatedMetricResult(mean_score=0.9)], + eval_case_results=[], + ) + + evaluation_result = evaluator.evaluate_invocations(actual_invocations) + + assert evaluation_result.overall_score == 0.9 + assert evaluation_result.overall_eval_status == EvalStatus.PASSED + assert len(evaluation_result.per_invocation_results) == 2 + assert ( + evaluation_result.per_invocation_results[0].eval_status + == EvalStatus.NOT_EVALUATED + ) + assert ( + evaluation_result.per_invocation_results[1].eval_status + == EvalStatus.PASSED + ) + mock_perform_eval.assert_called_once() + _, mock_kwargs = mock_perform_eval.call_args + assert [m.name for m in mock_kwargs["metrics"]] == [ + vertexai_types.PrebuiltMetric.CONVERSATIONAL_COHERENCE.name + ] + dataset = mock_kwargs["dataset"] + assert len(dataset.eval_cases) == 1 + agent_data = dataset.eval_cases[0].agent_data + assert "agent1" in agent_data.agents + assert len(agent_data.turns) == 2 + assert agent_data.turns[0].turn_id == "inv1" + assert agent_data.turns[1].turn_id == "inv2" + assert len(agent_data.turns[1].events) == 3 # user, intermediate, agent From 38bfb4475406d63af3111775950d9c25acf17ed2 Mon Sep 17 00:00:00 2001 From: Ankur Sharma Date: Mon, 16 Mar 2026 10:43:56 -0700 Subject: [PATCH 28/51] feat: Add MultiTurn Task trajectory and tool trajectory metrics Tool use: The class delegates the responsibility to Vertex Gen AI Eval SDK. The V1 suffix in the class name is added to convey that there could be other versions of the safety metric as well, and those metrics could use a different strategy to evaluate safety. Task trajectory: this metric is different from `Multi-Turn Overall Task Success`, in the sense that task success only concerns itself with the goal of whether the success was achieved or not. How that was achieved is not its concern. This metric on the other hand does care about the path that agent took to achieve the goal. Co-authored-by: Ankur Sharma PiperOrigin-RevId: 884525532 --- src/google/adk/evaluation/eval_metrics.py | 4 + .../evaluation/metric_evaluator_registry.py | 12 ++ .../adk/evaluation/metric_info_providers.py | 41 +++++++ .../multi_turn_tool_use_quality_evaluator.py | 63 +++++++++++ ...multi_turn_trajectory_quality_evaluator.py | 69 ++++++++++++ ...t_multi_turn_tool_use_quality_evaluator.py | 106 ++++++++++++++++++ ...multi_turn_trajectory_quality_evaluator.py | 106 ++++++++++++++++++ 7 files changed, 401 insertions(+) create mode 100644 src/google/adk/evaluation/multi_turn_tool_use_quality_evaluator.py create mode 100644 src/google/adk/evaluation/multi_turn_trajectory_quality_evaluator.py create mode 100644 tests/unittests/evaluation/test_multi_turn_tool_use_quality_evaluator.py create mode 100644 tests/unittests/evaluation/test_multi_turn_trajectory_quality_evaluator.py diff --git a/src/google/adk/evaluation/eval_metrics.py b/src/google/adk/evaluation/eval_metrics.py index 77cfa9a1fc..50c3473c3a 100644 --- a/src/google/adk/evaluation/eval_metrics.py +++ b/src/google/adk/evaluation/eval_metrics.py @@ -63,6 +63,10 @@ class PrebuiltMetrics(Enum): MULTI_TURN_TASK_SUCCESS_V1 = "multi_turn_task_success_v1" + MULTI_TURN_TRAJECTORY_QUALITY_V1 = "multi_turn_trajectory_quality_v1" + + MULTI_TURN_TOOL_USE_QUALITY_V1 = "multi_turn_tool_use_quality_v1" + MetricName: TypeAlias = Union[str, PrebuiltMetrics] Threshold: TypeAlias = float diff --git a/src/google/adk/evaluation/metric_evaluator_registry.py b/src/google/adk/evaluation/metric_evaluator_registry.py index b554ad6ed6..b005bd36e6 100644 --- a/src/google/adk/evaluation/metric_evaluator_registry.py +++ b/src/google/adk/evaluation/metric_evaluator_registry.py @@ -28,6 +28,8 @@ from .metric_info_providers import FinalResponseMatchV2EvaluatorMetricInfoProvider from .metric_info_providers import HallucinationsV1EvaluatorMetricInfoProvider from .metric_info_providers import MultiTurnTaskSuccessV1MetricInfoProvider +from .metric_info_providers import MultiTurnToolUseQualityV1MetricInfoProvider +from .metric_info_providers import MultiTurnTrajectoryQualityV1MetricInfoProvider from .metric_info_providers import PerTurnUserSimulatorQualityV1MetricInfoProvider from .metric_info_providers import ResponseEvaluatorMetricInfoProvider from .metric_info_providers import RubricBasedFinalResponseQualityV1EvaluatorMetricInfoProvider @@ -35,6 +37,8 @@ from .metric_info_providers import SafetyEvaluatorV1MetricInfoProvider from .metric_info_providers import TrajectoryEvaluatorMetricInfoProvider from .multi_turn_task_success_evaluator import MultiTurnTaskSuccessV1Evaluator +from .multi_turn_tool_use_quality_evaluator import MultiTurnToolUseQualityV1Evaluator +from .multi_turn_trajectory_quality_evaluator import MultiTurnTrajectoryQualityV1Evaluator from .response_evaluator import ResponseEvaluator from .rubric_based_final_response_quality_v1 import RubricBasedFinalResponseQualityV1Evaluator from .rubric_based_tool_use_quality_v1 import RubricBasedToolUseV1Evaluator @@ -132,6 +136,14 @@ def _get_default_metric_evaluator_registry() -> MetricEvaluatorRegistry: metric_info=MultiTurnTaskSuccessV1MetricInfoProvider().get_metric_info(), evaluator=MultiTurnTaskSuccessV1Evaluator, ) + metric_evaluator_registry.register_evaluator( + metric_info=MultiTurnTrajectoryQualityV1MetricInfoProvider().get_metric_info(), + evaluator=MultiTurnTrajectoryQualityV1Evaluator, + ) + metric_evaluator_registry.register_evaluator( + metric_info=MultiTurnToolUseQualityV1MetricInfoProvider().get_metric_info(), + evaluator=MultiTurnToolUseQualityV1Evaluator, + ) metric_evaluator_registry.register_evaluator( metric_info=FinalResponseMatchV2EvaluatorMetricInfoProvider().get_metric_info(), evaluator=FinalResponseMatchV2Evaluator, diff --git a/src/google/adk/evaluation/metric_info_providers.py b/src/google/adk/evaluation/metric_info_providers.py index cee991a96d..f887aacad2 100644 --- a/src/google/adk/evaluation/metric_info_providers.py +++ b/src/google/adk/evaluation/metric_info_providers.py @@ -112,6 +112,47 @@ def get_metric_info(self) -> MetricInfo: ) +class MultiTurnTrajectoryQualityV1MetricInfoProvider(MetricInfoProvider): + """Metric info provider for MultiTurnTrajectoryQualityV1.""" + + def get_metric_info(self) -> MetricInfo: + return MetricInfo( + metric_name=PrebuiltMetrics.MULTI_TURN_TRAJECTORY_QUALITY_V1.value, + description=( + "Evaluates the overall trajectory of the conversation. Note that" + " this metric is different from `Multi-Turn Overall Task Success`," + " in the sense that task success only concerns itself with the" + " goal of whether the success was achieved or not. How that was" + " achieved is not its concern. This metric on the other hand does" + " care about the path that agent took to achieve the goal. This is" + " a reference free metric." + " Value range of the metric is [0, 1], with values closer" + " to 1 to be more desirable (safe)." + ), + metric_value_info=MetricValueInfo( + interval=Interval(min_value=0.0, max_value=1.0) + ), + ) + + +class MultiTurnToolUseQualityV1MetricInfoProvider(MetricInfoProvider): + """Metric info provider for MultiTurnToolUseQualityV1.""" + + def get_metric_info(self) -> MetricInfo: + return MetricInfo( + metric_name=PrebuiltMetrics.MULTI_TURN_TOOL_USE_QUALITY_V1.value, + description=( + "Evaluates the function calls made during a multi-turn" + " conversation. This is a reference free metric." + " Value range of the metric is [0, 1], with values closer" + " to 1 to be more desirable (safe)." + ), + metric_value_info=MetricValueInfo( + interval=Interval(min_value=0.0, max_value=1.0) + ), + ) + + class FinalResponseMatchV2EvaluatorMetricInfoProvider(MetricInfoProvider): """Metric info provider for FinalResponseMatchV2Evaluator.""" diff --git a/src/google/adk/evaluation/multi_turn_tool_use_quality_evaluator.py b/src/google/adk/evaluation/multi_turn_tool_use_quality_evaluator.py new file mode 100644 index 0000000000..5d2d876569 --- /dev/null +++ b/src/google/adk/evaluation/multi_turn_tool_use_quality_evaluator.py @@ -0,0 +1,63 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Optional + +from typing_extensions import override + +from .eval_case import ConversationScenario +from .eval_case import Invocation +from .eval_metrics import EvalMetric +from .evaluator import EvaluationResult +from .evaluator import Evaluator +from .vertex_ai_eval_facade import _MultiTurnVertexiAiEvalFacade + + +class MultiTurnToolUseQualityV1Evaluator(Evaluator): + """Evaluates the function calls made during a multi-turn conversation. + + This is a reference free metric. + + The class delegates the responsibility to Vertex Gen AI Eval SDK. The V1 + suffix in the class name is added to convey that there could be other versions + of the safety metric as well, and those metrics could use a different strategy + to evaluate safety. + + Using this class requires a GCP project. Please set GOOGLE_CLOUD_PROJECT and + GOOGLE_CLOUD_LOCATION in your .env file. + + Value range of the metric is [0, 1], with values closer to 1 to be more + desirable (safe). + """ + + def __init__(self, eval_metric: EvalMetric): + self._eval_metric = eval_metric + + @override + def evaluate_invocations( + self, + actual_invocations: list[Invocation], + expected_invocations: Optional[list[Invocation]] = None, + conversation_scenario: Optional[ConversationScenario] = None, + ) -> EvaluationResult: + from ..dependencies.vertexai import vertexai + + return _MultiTurnVertexiAiEvalFacade( + threshold=self._eval_metric.threshold, + metric_name=vertexai.types.RubricMetric.MULTI_TURN_TOOL_USE_QUALITY, + ).evaluate_invocations( + actual_invocations, expected_invocations, conversation_scenario + ) diff --git a/src/google/adk/evaluation/multi_turn_trajectory_quality_evaluator.py b/src/google/adk/evaluation/multi_turn_trajectory_quality_evaluator.py new file mode 100644 index 0000000000..a9f042a852 --- /dev/null +++ b/src/google/adk/evaluation/multi_turn_trajectory_quality_evaluator.py @@ -0,0 +1,69 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Optional + +from typing_extensions import override + +from .eval_case import ConversationScenario +from .eval_case import Invocation +from .eval_metrics import EvalMetric +from .evaluator import EvaluationResult +from .evaluator import Evaluator +from .vertex_ai_eval_facade import _MultiTurnVertexiAiEvalFacade + + +class MultiTurnTrajectoryQualityV1Evaluator(Evaluator): + """Evaluates the overall trajectory of the conversation. + + Note that this metric is different from `Multi-Turn Overall Task Success`, + in the sense that task success only concerns itself with the goal of whether + the success was achieved or not. How that was achieved is not its concern. + This metric on the other hand does care about the path that agent took to + achieve the goal. + + This is a reference free metric. + + The class delegates the responsibility to Vertex Gen AI Eval SDK. The V1 + suffix in the class name is added to convey that there could be other versions + of the safety metric as well, and those metrics could use a different strategy + to evaluate safety. + + Using this class requires a GCP project. Please set GOOGLE_CLOUD_PROJECT and + GOOGLE_CLOUD_LOCATION in your .env file. + + Value range of the metric is [0, 1], with values closer to 1 to be more + desirable (safe). + """ + + def __init__(self, eval_metric: EvalMetric): + self._eval_metric = eval_metric + + @override + def evaluate_invocations( + self, + actual_invocations: list[Invocation], + expected_invocations: Optional[list[Invocation]] = None, + conversation_scenario: Optional[ConversationScenario] = None, + ) -> EvaluationResult: + from ..dependencies.vertexai import vertexai + + return _MultiTurnVertexiAiEvalFacade( + threshold=self._eval_metric.threshold, + metric_name=vertexai.types.RubricMetric.MULTI_TURN_TRAJECTORY_QUALITY, + ).evaluate_invocations( + actual_invocations, expected_invocations, conversation_scenario + ) diff --git a/tests/unittests/evaluation/test_multi_turn_tool_use_quality_evaluator.py b/tests/unittests/evaluation/test_multi_turn_tool_use_quality_evaluator.py new file mode 100644 index 0000000000..330d5bdff5 --- /dev/null +++ b/tests/unittests/evaluation/test_multi_turn_tool_use_quality_evaluator.py @@ -0,0 +1,106 @@ +# Copyright 2026 Google LLC +# +# 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. + +"""Tests for the Multi Turn Tool Use Quality Evaluator.""" + +from google.adk.dependencies.vertexai import vertexai +from google.adk.evaluation.app_details import AgentDetails +from google.adk.evaluation.app_details import AppDetails +from google.adk.evaluation.eval_case import Invocation +from google.adk.evaluation.eval_case import InvocationEvent +from google.adk.evaluation.eval_case import InvocationEvents +from google.adk.evaluation.eval_metrics import EvalMetric +from google.adk.evaluation.evaluator import EvalStatus +from google.adk.evaluation.multi_turn_tool_use_quality_evaluator import MultiTurnToolUseQualityV1Evaluator +from google.genai import types as genai_types + +vertexai_types = vertexai.types + + +class TestMultiTurnToolUseQualityV1Evaluator: + """A class to help organize "patch" that are applicable to all tests.""" + + def test_evaluate_invocations_metric_passed(self, mocker): + """Test evaluate_invocations function for multi-turn tool use quality metric.""" + mock_perform_eval = mocker.patch( + "google.adk.evaluation.vertex_ai_eval_facade._VertexAiEvalFacade._perform_eval" + ) + actual_invocations = [ + Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q1")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r1")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + Invocation( + invocation_id="inv2", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q2")] + ), + intermediate_data=InvocationEvents( + invocation_events=[ + InvocationEvent( + author="agent1", + content=genai_types.Content( + parts=[genai_types.Part(text="intermediate")] + ), + ) + ] + ), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r2")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + ] + evaluator = MultiTurnToolUseQualityV1Evaluator( + eval_metric=EvalMetric( + threshold=0.8, metric_name="multi_turn_tool_use_quality" + ) + ) + # Mock the return value of _perform_eval + mock_perform_eval.return_value = vertexai_types.EvaluationResult( + summary_metrics=[vertexai_types.AggregatedMetricResult(mean_score=0.9)], + eval_case_results=[], + ) + + evaluation_result = evaluator.evaluate_invocations( + actual_invocations, + ) + + assert evaluation_result.overall_score == 0.9 + assert evaluation_result.overall_eval_status == EvalStatus.PASSED + mock_perform_eval.assert_called_once() + _, mock_kwargs = mock_perform_eval.call_args + # Compare the names of the metrics. + assert [m.name for m in mock_kwargs["metrics"]] == [ + vertexai_types.RubricMetric.MULTI_TURN_TOOL_USE_QUALITY.name + ] diff --git a/tests/unittests/evaluation/test_multi_turn_trajectory_quality_evaluator.py b/tests/unittests/evaluation/test_multi_turn_trajectory_quality_evaluator.py new file mode 100644 index 0000000000..6ab4bf1fda --- /dev/null +++ b/tests/unittests/evaluation/test_multi_turn_trajectory_quality_evaluator.py @@ -0,0 +1,106 @@ +# Copyright 2026 Google LLC +# +# 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. + +"""Tests for the Multi Turn Trajectory Quality Evaluator.""" + +from google.adk.dependencies.vertexai import vertexai +from google.adk.evaluation.app_details import AgentDetails +from google.adk.evaluation.app_details import AppDetails +from google.adk.evaluation.eval_case import Invocation +from google.adk.evaluation.eval_case import InvocationEvent +from google.adk.evaluation.eval_case import InvocationEvents +from google.adk.evaluation.eval_metrics import EvalMetric +from google.adk.evaluation.evaluator import EvalStatus +from google.adk.evaluation.multi_turn_trajectory_quality_evaluator import MultiTurnTrajectoryQualityV1Evaluator +from google.genai import types as genai_types + +vertexai_types = vertexai.types + + +class TestMultiTurnTrajectoryQualityV1Evaluator: + """A class to help organize "patch" that are applicable to all tests.""" + + def test_evaluate_invocations_metric_passed(self, mocker): + """Test evaluate_invocations function for multi-turn trajectory quality metric.""" + mock_perform_eval = mocker.patch( + "google.adk.evaluation.vertex_ai_eval_facade._VertexAiEvalFacade._perform_eval" + ) + actual_invocations = [ + Invocation( + invocation_id="inv1", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q1")] + ), + intermediate_data=InvocationEvents(invocation_events=[]), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r1")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + Invocation( + invocation_id="inv2", + user_content=genai_types.Content( + parts=[genai_types.Part(text="q2")] + ), + intermediate_data=InvocationEvents( + invocation_events=[ + InvocationEvent( + author="agent1", + content=genai_types.Content( + parts=[genai_types.Part(text="intermediate")] + ), + ) + ] + ), + final_response=genai_types.Content( + parts=[genai_types.Part(text="r2")] + ), + app_details=AppDetails( + agent_details={ + "agent1": AgentDetails( + name="agent1", instructions="instructions1" + ) + } + ), + ), + ] + evaluator = MultiTurnTrajectoryQualityV1Evaluator( + eval_metric=EvalMetric( + threshold=0.8, metric_name="multi_turn_trajectory_quality" + ) + ) + # Mock the return value of _perform_eval + mock_perform_eval.return_value = vertexai_types.EvaluationResult( + summary_metrics=[vertexai_types.AggregatedMetricResult(mean_score=0.9)], + eval_case_results=[], + ) + + evaluation_result = evaluator.evaluate_invocations( + actual_invocations, + ) + + assert evaluation_result.overall_score == 0.9 + assert evaluation_result.overall_eval_status == EvalStatus.PASSED + mock_perform_eval.assert_called_once() + _, mock_kwargs = mock_perform_eval.call_args + # Compare the names of the metrics. + assert [m.name for m in mock_kwargs["metrics"]] == [ + vertexai_types.RubricMetric.MULTI_TURN_TRAJECTORY_QUALITY.name + ] From 71d26ef7b90fe25a5093e4ccdf74b103e64fac67 Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Mon, 16 Mar 2026 11:39:06 -0700 Subject: [PATCH 29/51] feat: Add support for timeout to UnsafeLocalCodeExecutor Co-authored-by: Kathy Wu PiperOrigin-RevId: 884557773 --- .../adk/code_executors/base_code_executor.py | 5 ++ .../unsafe_local_code_executor.py | 47 +++++++++++++++---- .../test_unsafe_local_code_executor.py | 10 ++++ 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/src/google/adk/code_executors/base_code_executor.py b/src/google/adk/code_executors/base_code_executor.py index 8afd0d14aa..bafe7b8b2d 100644 --- a/src/google/adk/code_executors/base_code_executor.py +++ b/src/google/adk/code_executors/base_code_executor.py @@ -16,6 +16,7 @@ import abc from typing import List +from typing import Optional from pydantic import BaseModel @@ -41,6 +42,7 @@ class BaseCodeExecutor(BaseModel): code blocks. execution_result_delimiters: The delimiters to format the code execution result. + timeout_seconds: The fallback timeout in seconds for the code execution. """ optimize_data_file: bool = False @@ -74,6 +76,9 @@ class BaseCodeExecutor(BaseModel): execution_result_delimiters: tuple[str, str] = ('```tool_output\n', '\n```') """The delimiters to format the code execution result.""" + timeout_seconds: Optional[int] = None + """The timeout in seconds for the code execution.""" + @abc.abstractmethod def execute_code( self, diff --git a/src/google/adk/code_executors/unsafe_local_code_executor.py b/src/google/adk/code_executors/unsafe_local_code_executor.py index e91a54bb24..64752fffd5 100644 --- a/src/google/adk/code_executors/unsafe_local_code_executor.py +++ b/src/google/adk/code_executors/unsafe_local_code_executor.py @@ -17,7 +17,10 @@ from contextlib import redirect_stdout import io import logging +import multiprocessing +import queue import re +import traceback from typing import Any from pydantic import Field @@ -31,6 +34,20 @@ logger = logging.getLogger('google_adk.' + __name__) +def _execute_in_process( + code: str, globals_: dict[str, Any], result_queue: multiprocessing.Queue +) -> None: + """Executes code in a separate process and puts result in queue.""" + stdout = io.StringIO() + error = None + try: + with redirect_stdout(stdout): + exec(code, globals_, globals_) + except BaseException: + error = traceback.format_exc() + result_queue.put((stdout.getvalue(), error)) + + def _prepare_globals(code: str, globals_: dict[str, Any]) -> None: """Prepare globals for code execution, injecting __name__ if needed.""" if re.search(r"if\s+__name__\s*==\s*['\"]__main__['\"]", code): @@ -65,19 +82,33 @@ def execute_code( ) -> CodeExecutionResult: logger.debug('Executing code:\n```\n%s\n```', code_execution_input.code) # Execute the code. + globals_ = {} + _prepare_globals(code_execution_input.code, globals_) + + ctx = multiprocessing.get_context('spawn') + result_queue = ctx.Queue() + process = ctx.Process( + target=_execute_in_process, + args=(code_execution_input.code, globals_, result_queue), + daemon=True, + ) + process.start() + output = '' error = '' try: - globals_ = {} - _prepare_globals(code_execution_input.code, globals_) - stdout = io.StringIO() - with redirect_stdout(stdout): - exec(code_execution_input.code, globals_, globals_) - output = stdout.getvalue() - except Exception as e: - error = str(e) + output, err = result_queue.get(timeout=self.timeout_seconds) + process.join() + if err: + error = err + except queue.Empty: + process.terminate() + process.join() + error = f'Code execution timed out after {self.timeout_seconds} seconds.' # Collect the final result. + result_queue.close() + result_queue.join_thread() return CodeExecutionResult( stdout=output, stderr=error, diff --git a/tests/unittests/code_executors/test_unsafe_local_code_executor.py b/tests/unittests/code_executors/test_unsafe_local_code_executor.py index f8d5f496a8..fa22e1bbbf 100644 --- a/tests/unittests/code_executors/test_unsafe_local_code_executor.py +++ b/tests/unittests/code_executors/test_unsafe_local_code_executor.py @@ -121,3 +121,13 @@ def run(): assert result.stderr == "" assert result.stdout == "hi ada\n" + + def test_execute_code_timeout( + self, mock_invocation_context: InvocationContext + ): + executor = UnsafeLocalCodeExecutor(timeout_seconds=1) + code_input = CodeExecutionInput(code="import time\ntime.sleep(2)") + result = executor.execute_code(mock_invocation_context, code_input) + + assert result.stdout == "" + assert "Code execution timed out after 1 seconds." in result.stderr From 50d6f35139b56aa5b9fb06ee53b911269c222ffe Mon Sep 17 00:00:00 2001 From: George Weale Date: Mon, 16 Mar 2026 12:10:51 -0700 Subject: [PATCH 30/51] fix: Remove redundant client_id from fetch_token call When using OAuth2Session with `client_secret_post`, Authlib automatically includes the client_id and client_secret in the request body. Explicitly passing `client_id` again results in a duplicate parameter in the token exchange request, which can cause issues with some OAuth providers. Close #4782 Co-authored-by: George Weale PiperOrigin-RevId: 884574091 --- .../exchanger/oauth2_credential_exchanger.py | 3 +- .../test_oauth2_credential_exchanger.py | 76 ++++++++++++++++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/google/adk/auth/exchanger/oauth2_credential_exchanger.py b/src/google/adk/auth/exchanger/oauth2_credential_exchanger.py index 02365f3026..76f0c67899 100644 --- a/src/google/adk/auth/exchanger/oauth2_credential_exchanger.py +++ b/src/google/adk/auth/exchanger/oauth2_credential_exchanger.py @@ -193,6 +193,8 @@ async def _exchange_authorization_code( return ExchangeResult(auth_credential, False) try: + # Authlib already injects client_id for body-based client auth flows such + # as client_secret_post, so passing it here would duplicate the field. tokens = client.fetch_token( token_endpoint, authorization_response=self._normalize_auth_uri( @@ -200,7 +202,6 @@ async def _exchange_authorization_code( ), code=auth_credential.oauth2.auth_code, grant_type=OAuthGrantType.AUTHORIZATION_CODE, - client_id=auth_credential.oauth2.client_id, ) update_credential_with_tokens(auth_credential, tokens) logger.debug("Successfully exchanged authorization code for access token") diff --git a/tests/unittests/auth/exchanger/test_oauth2_credential_exchanger.py b/tests/unittests/auth/exchanger/test_oauth2_credential_exchanger.py index 574a0922b8..3a0a5647cb 100644 --- a/tests/unittests/auth/exchanger/test_oauth2_credential_exchanger.py +++ b/tests/unittests/auth/exchanger/test_oauth2_credential_exchanger.py @@ -15,7 +15,9 @@ import time from unittest.mock import Mock from unittest.mock import patch +from urllib.parse import parse_qs +from authlib.integrations.requests_client import OAuth2Session from authlib.oauth2.rfc6749 import OAuth2Token from fastapi.openapi.models import OAuth2 from fastapi.openapi.models import OAuthFlowClientCredentials @@ -25,11 +27,39 @@ from google.adk.auth.auth_credential import OAuth2Auth from google.adk.auth.auth_schemes import OAuthGrantType from google.adk.auth.auth_schemes import OpenIdConnectWithConfig +from google.adk.auth.exchanger import oauth2_credential_exchanger from google.adk.auth.exchanger.base_credential_exchanger import CredentialExchangeError from google.adk.auth.exchanger.oauth2_credential_exchanger import OAuth2CredentialExchanger import pytest +class _TokenBodyCapturingOAuth2Session(OAuth2Session): + """A mock OAuth2Session that captures the final token request body.""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.request_body = "" + + def _fetch_token( + self, + url=None, + body="", + auth=None, + method="POST", + headers=None, + **kwargs, + ): + if auth is not None: + _, _, body = auth.prepare(method, url, headers or {}, body) + self.request_body = body + return OAuth2Token({ + "access_token": "new_access_token", + "refresh_token": "new_refresh_token", + "expires_at": int(time.time()) + 3600, + "expires_in": 3600, + }) + + class TestOAuth2CredentialExchanger: """Test suite for OAuth2CredentialExchanger.""" @@ -343,9 +373,53 @@ async def test_exchange_normalize_uri(self, mock_oauth2_session): authorization_response="https://example.com/callback?code=auth_code", # Normalized URI code="auth_code", grant_type=OAuthGrantType.AUTHORIZATION_CODE, - client_id="test_client_id", ) + async def test_exchange_client_secret_post_has_single_client_id(self): + """Test exchange lets Authlib add client_id only once for body auth.""" + scheme = OpenIdConnectWithConfig( + type_="openIdConnect", + openId_connect_url=( + "https://example.com/.well-known/openid_configuration" + ), + authorization_endpoint="https://example.com/auth", + token_endpoint="https://example.com/token", + scopes=["openid"], + ) + credential = AuthCredential( + auth_type=AuthCredentialTypes.OPEN_ID_CONNECT, + oauth2=OAuth2Auth( + client_id="test_client_id", + client_secret="test_client_secret", + token_endpoint_auth_method="client_secret_post", + auth_response_uri="https://example.com/callback?code=auth_code", + auth_code="auth_code", + ), + ) + + client = _TokenBodyCapturingOAuth2Session( + credential.oauth2.client_id, + credential.oauth2.client_secret, + token_endpoint_auth_method="client_secret_post", + ) + + with patch.object( + oauth2_credential_exchanger, + "create_oauth2_session", + autospec=True, + return_value=(client, "https://example.com/token"), + ): + exchanger = OAuth2CredentialExchanger() + exchange_result = await exchanger.exchange(credential, scheme) + + request_params = parse_qs(client.request_body) + + assert exchange_result.was_exchanged + assert request_params["grant_type"] == [OAuthGrantType.AUTHORIZATION_CODE] + assert request_params["code"] == ["auth_code"] + assert request_params["client_id"] == ["test_client_id"] + assert request_params["client_secret"] == ["test_client_secret"] + async def test_determine_grant_type_client_credentials(self): """Test grant type determination for client credentials.""" flows = OAuthFlows( From 4752f3f993e59aac2df24e9f5d283174dfd9ca24 Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Mon, 16 Mar 2026 12:11:30 -0700 Subject: [PATCH 31/51] chore: Add a sample agent for files_retrieval tool this sample can be used to test the latest gemini embedding model Co-authored-by: Xiang (Sean) Zhou PiperOrigin-RevId: 884574396 --- .../samples/files_retrieval_agent/README.md | 76 +++++++++++++++++++ .../samples/files_retrieval_agent/__init__.py | 15 ++++ .../samples/files_retrieval_agent/agent.py | 54 +++++++++++++ .../data/adk_overview.txt | 23 ++++++ .../data/tools_guide.txt | 28 +++++++ 5 files changed, 196 insertions(+) create mode 100644 contributing/samples/files_retrieval_agent/README.md create mode 100644 contributing/samples/files_retrieval_agent/__init__.py create mode 100644 contributing/samples/files_retrieval_agent/agent.py create mode 100644 contributing/samples/files_retrieval_agent/data/adk_overview.txt create mode 100644 contributing/samples/files_retrieval_agent/data/tools_guide.txt diff --git a/contributing/samples/files_retrieval_agent/README.md b/contributing/samples/files_retrieval_agent/README.md new file mode 100644 index 0000000000..57b16e742b --- /dev/null +++ b/contributing/samples/files_retrieval_agent/README.md @@ -0,0 +1,76 @@ +# Files Retrieval Agent + +A sample agent that demonstrates using `FilesRetrieval` with the +`gemini-embedding-2-preview` embedding model for retrieval-augmented +generation (RAG) over local files. + +## What it does + +This agent indexes local text files from the `data/` directory using +`FilesRetrieval` (backed by LlamaIndex's `VectorStoreIndex` and Google's +`gemini-embedding-2-preview` embedding model), then answers user questions +by retrieving relevant documents before generating a response. + +## Prerequisites + +- Python 3.11+ +- `google-genai >= 1.64.0` (required for `gemini-embedding-2-preview` + support via the Vertex AI `embedContent` endpoint) +- `llama-index-embeddings-google-genai >= 0.3.0` + +Install dependencies: + +```bash +uv sync --all-extras +``` + +## Authentication + +Configure one of the following: + +**Google AI API:** + +```bash +export GOOGLE_API_KEY="your-api-key" +``` + +**Vertex AI:** + +```bash +export GOOGLE_GENAI_USE_VERTEXAI=1 +export GOOGLE_CLOUD_PROJECT="your-project-id" +export GOOGLE_CLOUD_LOCATION="us-central1" +``` + +Note: `gemini-embedding-2-preview` is currently only available in +`us-central1`. + +## Usage + +```bash +cd contributing/samples + +# Interactive CLI +adk run files_retrieval_agent + +# Web UI +adk web . +``` + +## Example queries + +- "What agent types does ADK support?" +- "How does FilesRetrieval work?" +- "What tools are available in ADK?" + +## File structure + +``` +files_retrieval_agent/ +├── __init__.py +├── agent.py # Agent definition with FilesRetrieval tool +├── data/ +│ ├── adk_overview.txt # ADK architecture overview +│ └── tools_guide.txt # ADK tools documentation +└── README.md +``` diff --git a/contributing/samples/files_retrieval_agent/__init__.py b/contributing/samples/files_retrieval_agent/__init__.py new file mode 100644 index 0000000000..4015e47d6e --- /dev/null +++ b/contributing/samples/files_retrieval_agent/__init__.py @@ -0,0 +1,15 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from . import agent diff --git a/contributing/samples/files_retrieval_agent/agent.py b/contributing/samples/files_retrieval_agent/agent.py new file mode 100644 index 0000000000..7b1209b8af --- /dev/null +++ b/contributing/samples/files_retrieval_agent/agent.py @@ -0,0 +1,54 @@ +# Copyright 2026 Google LLC +# +# 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. + +"""Sample agent using FilesRetrieval with gemini-embedding-2-preview. + +This agent indexes local text files and answers questions about them +using retrieval-augmented generation. + +Usage: + cd contributing/samples + adk run files_retrieval_agent + # or + adk web . +""" + +import os + +from google.adk.agents.llm_agent import Agent +from google.adk.tools.retrieval.files_retrieval import FilesRetrieval + +DATA_DIR = os.path.join(os.path.dirname(__file__), "data") + +files_retrieval = FilesRetrieval( + name="search_documents", + description=( + "Search through local ADK documentation files to find relevant" + " information. Use this tool when the user asks questions about ADK" + " features, architecture, or tools." + ), + input_dir=DATA_DIR, +) + +root_agent = Agent( + model="gemini-2.0-flash", + name="files_retrieval_agent", + instruction=( + "You are a helpful assistant that answers questions about the Agent" + " Development Kit (ADK). Use the search_documents tool to find" + " relevant information before answering. Always base your answers" + " on the retrieved documents." + ), + tools=[files_retrieval], +) diff --git a/contributing/samples/files_retrieval_agent/data/adk_overview.txt b/contributing/samples/files_retrieval_agent/data/adk_overview.txt new file mode 100644 index 0000000000..5e2f08e31a --- /dev/null +++ b/contributing/samples/files_retrieval_agent/data/adk_overview.txt @@ -0,0 +1,23 @@ +Agent Development Kit (ADK) Overview + +ADK is a Python framework for building AI agents powered by large language models. +It provides a structured way to create agents that can reason, use tools, and +collaborate with other agents. + +Key Features: +- Multi-agent orchestration with sequential, parallel, and loop patterns +- Built-in tool support including function tools, retrieval, and code execution +- Session management for maintaining conversation state +- Memory services for long-term recall across sessions +- Support for multiple LLM backends including Gemini, Anthropic, and Ollama + +Architecture: +The core abstractions are Agent, Runner, Tool, Session, and Memory. +The Runner orchestrates the reason-act loop, processing user turns and +streaming events back to the caller. + +Agent Types: +- LlmAgent: Main agent with LLM integration +- SequentialAgent: Runs sub-agents in sequence +- ParallelAgent: Runs sub-agents in parallel +- LoopAgent: Runs sub-agents in a loop diff --git a/contributing/samples/files_retrieval_agent/data/tools_guide.txt b/contributing/samples/files_retrieval_agent/data/tools_guide.txt new file mode 100644 index 0000000000..487e2f5e06 --- /dev/null +++ b/contributing/samples/files_retrieval_agent/data/tools_guide.txt @@ -0,0 +1,28 @@ +ADK Tools Guide + +Tools are capabilities that agents can invoke during their reasoning process. +ADK supports several types of tools: + +1. Function Tools + Define Python functions and pass them directly to an agent. + The function signature and docstring become the tool schema. + +2. Retrieval Tools + - FilesRetrieval: Index and search local files using embeddings. + Uses gemini-embedding-2-preview by default. + - VertexAiRagRetrieval: Search Vertex AI RAG corpora. + +3. Code Execution + Agents can generate and execute code in a sandboxed environment. + +4. Third-Party Tool Integration + - LangchainTool: Wraps LangChain tools for use in ADK. + - CrewaiTool: Wraps CrewAI tools for use in ADK. + +5. MCP Tools + Connect to Model Context Protocol servers for external tool access. + +Tool Configuration: +Tools can be configured with authentication, rate limiting, and custom +schemas. The ToolContext provides access to session state, artifacts, +and other contextual information during tool execution. From a231c729e6526a2035b4630796f3dc8a658bb203 Mon Sep 17 00:00:00 2001 From: nikkie Date: Mon, 16 Mar 2026 12:24:30 -0700 Subject: [PATCH 32/51] fix(models): update 429 docs link for Gemini Merge https://github.com/google/adk-python/pull/4818 **Please ensure you have read the [contribution guide](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md) before creating a pull request.** ### Link to Issue or Description of Change **2. Or, if no issue exists, describe the change:** **Problem:** `src/google/adk/models/google_llm.py` includes a mitigation link for `429 RESOURCE_EXHAUSTED`, but the current URL points to a broken docs anchor: https://google.github.io/adk-docs/agents/models/#error-code-429-resource_exhausted image **Solution:** Update the link to the current Gemini-specific docs page so users are directed to the correct troubleshooting section: https://google.github.io/adk-docs/agents/models/google-gemini/#error-code-429-resource_exhausted image ### Testing Plan This is a small string-only fix for a broken documentation link. No unit tests were added because there does not appear to be existing test coverage for this message and the change does not affect runtime behavior beyond the emitted URL. **Unit Tests:** - [ ] I have added or updated unit tests for my change. - [ ] All unit tests pass locally. _Please include a summary of passed `pytest` results._ **Manual End-to-End (E2E) Tests:** Confirmed the updated URL in the source points to the intended documentation page/anchor. ### Checklist - [x] I have read the [CONTRIBUTING.md](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md) document. - [x] I have performed a self-review of my own code. - [ ] I have commented my code, particularly in hard-to-understand areas. - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] New and existing unit tests pass locally with my changes. - [x] I have manually tested my changes end-to-end. - [ ] Any dependent changes have been merged and published in downstream modules. ### Additional context This change only updates the documentation URL shown in the `RESOURCE_EXHAUSTED` guidance message. COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4818 from ftnext:fix-429-doc-link 1c533453a9428a3fcc6d22b97d64834f0a4f3acb PiperOrigin-RevId: 884581120 --- src/google/adk/models/google_llm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/adk/models/google_llm.py b/src/google/adk/models/google_llm.py index 23c9c27810..609de3d3d3 100644 --- a/src/google/adk/models/google_llm.py +++ b/src/google/adk/models/google_llm.py @@ -54,7 +54,7 @@ _RESOURCE_EXHAUSTED_POSSIBLE_FIX_MESSAGE = """ On how to mitigate this issue, please refer to: -https://google.github.io/adk-docs/agents/models/#error-code-429-resource_exhausted +https://google.github.io/adk-docs/agents/models/google-gemini/#error-code-429-resource_exhausted """ From e6476c9790eaa8f3a6ae8165351f8fe38bf9bd1e Mon Sep 17 00:00:00 2001 From: Divyansh Shukla Date: Mon, 16 Mar 2026 13:00:50 -0700 Subject: [PATCH 33/51] fix: Prevent uv.lock modifications in unittests.sh PiperOrigin-RevId: 884597343 --- scripts/unittests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/unittests.sh b/scripts/unittests.sh index 5c5dc348a6..ebacf24e45 100755 --- a/scripts/unittests.sh +++ b/scripts/unittests.sh @@ -102,7 +102,7 @@ for version in "${versions_to_run[@]}"; do # 3. perform the unit tests echo "Setting up test environment in $VENV_DIR..." - uv sync --extra test --active + uv sync --extra test --active --frozen echo "Running unit tests..." TEST_EXIT_CODE=0 From 8b973187df0ed3e703aced375aa5a6379076622a Mon Sep 17 00:00:00 2001 From: George Weale Date: Mon, 16 Mar 2026 16:01:46 -0700 Subject: [PATCH 34/51] test: Update LiteLLM finish_reason unmapped test The previous test for unmapped LiteLLM finish_reason values was ineffective because LiteLLM's internal models normalize certain values (e.g., "eos" to "stop") before ADK processes them Co-authored-by: George Weale PiperOrigin-RevId: 884678119 --- tests/unittests/models/test_litellm.py | 33 ++++++++++++++++---------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/tests/unittests/models/test_litellm.py b/tests/unittests/models/test_litellm.py index 8fda3d98d4..7d27697306 100644 --- a/tests/unittests/models/test_litellm.py +++ b/tests/unittests/models/test_litellm.py @@ -22,6 +22,7 @@ import unittest from unittest.mock import ANY from unittest.mock import AsyncMock +from unittest.mock import MagicMock from unittest.mock import Mock import warnings @@ -4388,19 +4389,25 @@ async def test_finish_reason_unknown_maps_to_other( mock_acompletion, lite_llm_instance ): """Test that unmapped finish_reason values map to FinishReason.OTHER.""" - mock_response = ModelResponse( - choices=[ - Choices( - message=ChatCompletionAssistantMessage( - role="assistant", - content="Test response", - ), - # LiteLLM validates finish_reason to a known set. Use a value that - # LiteLLM accepts but ADK does not explicitly map. - finish_reason="eos", - ) - ] - ) + # LiteLLM's Choices model normalizes finish_reason values (e.g., "eos" -> + # "stop") before ADK processes them. To test ADK's own fallback mapping, + # construct a mock response that bypasses LiteLLM's normalization and + # returns a raw unmapped finish_reason string. + mock_choice = MagicMock() + mock_choice.get = lambda key, default=None: { + "message": ChatCompletionAssistantMessage( + role="assistant", + content="Test response", + ), + "finish_reason": "totally_unknown_reason", + }.get(key, default) + + mock_response = MagicMock() + mock_response.get = lambda key, default=None: { + "choices": [mock_choice], + }.get(key, default) + mock_response.model = "test_model" + mock_acompletion.return_value = mock_response llm_request = LlmRequest( From 22fc332c95b7deca95240b33406513bcc95c6e03 Mon Sep 17 00:00:00 2001 From: Xuan Yang Date: Mon, 16 Mar 2026 16:17:54 -0700 Subject: [PATCH 35/51] fix: Support resolving string annotations for `find_context_parameter` Co-authored-by: Xuan Yang PiperOrigin-RevId: 884686010 --- src/google/adk/utils/context_utils.py | 13 ++++++++++- tests/unittests/utils/test_context_utils.py | 24 +++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/google/adk/utils/context_utils.py b/src/google/adk/utils/context_utils.py index cb68d800c4..c0fde29ae4 100644 --- a/src/google/adk/utils/context_utils.py +++ b/src/google/adk/utils/context_utils.py @@ -22,6 +22,7 @@ from contextlib import aclosing import inspect +import typing from typing import Any from typing import Callable from typing import get_args @@ -80,7 +81,17 @@ def find_context_parameter(func: Callable[..., Any]) -> str | None: signature = inspect.signature(func) except (ValueError, TypeError): return None + # Resolve string annotations (e.g., 'Context') + try: + type_hints = typing.get_type_hints(func) + except Exception: + # get_type_hints can fail for various reasons (e.g., unresolvable forward + # references). In such cases, we fall back to inspecting the parameter + # annotations directly. + type_hints = {} + for name, param in signature.parameters.items(): - if _is_context_type(param.annotation): + annotation = type_hints.get(name, param.annotation) + if _is_context_type(annotation): return name return None diff --git a/tests/unittests/utils/test_context_utils.py b/tests/unittests/utils/test_context_utils.py index a5e2d6566d..56583b9c6d 100644 --- a/tests/unittests/utils/test_context_utils.py +++ b/tests/unittests/utils/test_context_utils.py @@ -33,6 +33,30 @@ def my_tool(query: str, ctx: Context) -> str: assert find_context_parameter(my_tool) == 'ctx' + def test_find_context_parameter_with_string_annotation(self): + """Test detection of string annotation 'Context'.""" + + def my_tool(query: str, ctx: 'Context') -> str: + return query + + assert find_context_parameter(my_tool) == 'ctx' + + def test_find_context_parameter_with_string_tool_context(self): + """Test detection of string annotation 'ToolContext'.""" + + def my_tool(query: str, ctx: 'ToolContext') -> str: + return query + + assert find_context_parameter(my_tool) == 'ctx' + + def test_find_context_parameter_with_string_optional_context(self): + """Test detection of string annotation 'Optional[Context]'.""" + + def my_tool(query: str, ctx: 'Optional[Context]' = None) -> str: + return query + + assert find_context_parameter(my_tool) == 'ctx' + def test_find_context_parameter_with_tool_context_type(self): """Test detection of ToolContext type annotation.""" From 28618a8dcbee9c4faeec6653a5d978d0330f39bb Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Tue, 17 Mar 2026 11:13:56 -0700 Subject: [PATCH 36/51] feat: Add Spanner Admin Toolset This change introduces a new `SpannerAdminToolset` with tools for managing Google Cloud Spanner resources. The toolset includes functions to list and get details of Spanner instances and instance configurations, and to create, list databases. The new toolset is marked as experimental. Unit tests for the new admin tools are also added PiperOrigin-RevId: 885116111 --- contributing/samples/spanner_admin/README.md | 116 ++++++ .../samples/spanner_admin/__init__.py | 15 + contributing/samples/spanner_admin/agent.py | 77 ++++ src/google/adk/features/_feature_registry.py | 4 + src/google/adk/tools/spanner/__init__.py | 2 + src/google/adk/tools/spanner/admin_tool.py | 372 +++++++++++++++++ src/google/adk/tools/spanner/admin_toolset.py | 110 +++++ .../tools/spanner/test_admin_tool.py | 384 ++++++++++++++++++ .../tools/spanner/test_admin_toolset.py | 91 +++++ 9 files changed, 1171 insertions(+) create mode 100644 contributing/samples/spanner_admin/README.md create mode 100644 contributing/samples/spanner_admin/__init__.py create mode 100644 contributing/samples/spanner_admin/agent.py create mode 100644 src/google/adk/tools/spanner/admin_tool.py create mode 100644 src/google/adk/tools/spanner/admin_toolset.py create mode 100644 tests/unittests/tools/spanner/test_admin_tool.py create mode 100644 tests/unittests/tools/spanner/test_admin_toolset.py diff --git a/contributing/samples/spanner_admin/README.md b/contributing/samples/spanner_admin/README.md new file mode 100644 index 0000000000..eadfd1fe25 --- /dev/null +++ b/contributing/samples/spanner_admin/README.md @@ -0,0 +1,116 @@ +# Spanner Admin Tools Sample + +## Introduction + +This sample agent demonstrates the Spanner first-party tools in ADK, +distributed via the `google.adk.tools.spanner` module. These tools include: + +1. `list_instances` + + Fetches Spanner instance names present in a project. + +1. `get_instance` + + Fetches details of a given Spanner instance. + +1. `create_database` + + Creates a Spanner database within a given instance and project. + +1. `list_databases` + + Fetches Spanner database names present in an instance. + +1. `create_instance` + + Creates a Spanner instance within a GCP project. + +1. `list_instance_configs` + + Fetches Spanner instance configurations available for a project. + +1. `get_instance_config` + + Fetches details of a Spanner instance configuration. + +## How to use + +Set up environment variables in your `.env` file for using +[Google AI Studio](https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-ai-studio) +or +[Google Cloud Vertex AI](https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-cloud-vertex-ai) +for the LLM service for your agent. For example, for using Google AI Studio you +would set: + +* GOOGLE_GENAI_USE_VERTEXAI=FALSE +* GOOGLE_API_KEY={your api key} + +### With Application Default Credentials + +This mode is useful for quick development when the agent builder is the only +user interacting with the agent. The tools are run with these credentials. + +1. Create application default credentials on the machine where the agent would +be running by following https://cloud.google.com/docs/authentication/provide-credentials-adc. + +1. Set `CREDENTIALS_TYPE=None` in `agent.py` + +1. Run the agent + +### With Service Account Keys + +This mode is useful for quick development when the agent builder wants to run +the agent with service account credentials. The tools are run with these +credentials. + +1. Create service account key by following https://cloud.google.com/iam/docs/service-account-creds#user-managed-keys. + +1. Set `CREDENTIALS_TYPE=AuthCredentialTypes.SERVICE_ACCOUNT` in `agent.py` + +1. Download the key file and replace `"service_account_key.json"` with the path + +1. Run the agent + +### With Interactive OAuth + +1. Follow +https://developers.google.com/identity/protocols/oauth2#1.-obtain-oauth-2.0-credentials-from-the-dynamic_data.setvar.console_name. +to get your client id and client secret. Be sure to choose "web" as your client +type. + +1. Follow https://developers.google.com/workspace/guides/configure-oauth-consent + to add scope "https://www.googleapis.com/auth/spanner.data" and + "https://www.googleapis.com/auth/spanner.admin" as declaration, this is used + for review purpose. + +1. Follow + https://developers.google.com/identity/protocols/oauth2/web-server#creatingcred + to add http://localhost/dev-ui/ to "Authorized redirect URIs". + + Note: localhost here is just a hostname that you use to access the dev ui, + replace it with the actual hostname you use to access the dev ui. + +1. For 1st run, allow popup for localhost in Chrome. + +1. Configure your `.env` file to add two more variables before running the + agent: + + * OAUTH_CLIENT_ID={your client id} + * OAUTH_CLIENT_SECRET={your client secret} + + Note: don't create a separate .env, instead put it to the same .env file that + stores your Vertex AI or Dev ML credentials + +1. Set `CREDENTIALS_TYPE=AuthCredentialTypes.OAUTH2` in `agent.py` and run the + agent + +## Sample prompts + +* Show me all Spanner instances in my project. +* Give me details about the 'my-instance' Spanner instance. +* List all databases in instance 'my-instance'. +* Create a new Spanner database named 'my-db' in instance 'my-instance'. +* List all instance configurations available for my project. +* Get details about 'regional-us-central1' configuration. +* Create a Spanner instance 'new-instance' with 'regional-us-central1' config and name 'new-instance'. + diff --git a/contributing/samples/spanner_admin/__init__.py b/contributing/samples/spanner_admin/__init__.py new file mode 100644 index 0000000000..4015e47d6e --- /dev/null +++ b/contributing/samples/spanner_admin/__init__.py @@ -0,0 +1,15 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from . import agent diff --git a/contributing/samples/spanner_admin/agent.py b/contributing/samples/spanner_admin/agent.py new file mode 100644 index 0000000000..6129207e87 --- /dev/null +++ b/contributing/samples/spanner_admin/agent.py @@ -0,0 +1,77 @@ +# Copyright 2026 Google LLC +# +# 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 os + +from google.adk.agents.llm_agent import LlmAgent +from google.adk.auth.auth_credential import AuthCredentialTypes +from google.adk.tools.spanner.admin_toolset import SpannerAdminToolset +from google.adk.tools.spanner.spanner_credentials import SpannerCredentialsConfig +import google.auth + +# Define an appropriate credential type +# Set to None to use the application default credentials (ADC) for a quick +# development. +CREDENTIALS_TYPE = None + +if CREDENTIALS_TYPE == AuthCredentialTypes.OAUTH2: + # Initialize the tools to do interactive OAuth + # The environment variables OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET + # must be set + credentials_config = SpannerCredentialsConfig( + client_id=os.getenv("OAUTH_CLIENT_ID"), + client_secret=os.getenv("OAUTH_CLIENT_SECRET"), + scopes=[ + "https://www.googleapis.com/auth/spanner.admin", + "https://www.googleapis.com/auth/spanner.data", + ], + ) +elif CREDENTIALS_TYPE == AuthCredentialTypes.SERVICE_ACCOUNT: + # Initialize the tools to use the credentials in the service account key. + # If this flow is enabled, make sure to replace the file path with your own + # service account key file + # https://cloud.google.com/iam/docs/service-account-creds#user-managed-keys + creds, _ = google.auth.load_credentials_from_file("service_account_key.json") + credentials_config = SpannerCredentialsConfig(credentials=creds) +else: + # Initialize the tools to use the application default credentials. + # https://cloud.google.com/docs/authentication/provide-credentials-adc + application_default_credentials, _ = google.auth.default() + credentials_config = SpannerCredentialsConfig( + credentials=application_default_credentials + ) + +spanner_admin_toolset = SpannerAdminToolset( + credentials_config=credentials_config, +) + +# The variable name `root_agent` determines what your root agent is for the +# debug CLI +root_agent = LlmAgent( + model="gemini-2.5-flash", + name="spanner_admin_agent", + description=( + "Agent to perform Spanner admin tasks and answer questions about" + " Spanner databases." + ), + instruction="""\ + You are a Spanner admin agent with access to several Spanner admin tools. + Make use of those tools to answer user's questions and perform admin + tasks like listing instances or databases. + """, + tools=[ + # Use tools from Spanner admin toolset. + spanner_admin_toolset, + ], +) diff --git a/src/google/adk/features/_feature_registry.py b/src/google/adk/features/_feature_registry.py index 08f58adba9..61759245f2 100644 --- a/src/google/adk/features/_feature_registry.py +++ b/src/google/adk/features/_feature_registry.py @@ -45,6 +45,7 @@ class FeatureName(str, Enum): PUBSUB_TOOLSET = "PUBSUB_TOOLSET" SKILL_TOOLSET = "SKILL_TOOLSET" SPANNER_TOOLSET = "SPANNER_TOOLSET" + SPANNER_ADMIN_TOOLSET = "SPANNER_ADMIN_TOOLSET" SPANNER_TOOL_SETTINGS = "SPANNER_TOOL_SETTINGS" SPANNER_VECTOR_STORE = "SPANNER_VECTOR_STORE" TOOL_CONFIG = "TOOL_CONFIG" @@ -136,6 +137,9 @@ class FeatureConfig: FeatureName.SKILL_TOOLSET: FeatureConfig( FeatureStage.EXPERIMENTAL, default_on=True ), + FeatureName.SPANNER_ADMIN_TOOLSET: FeatureConfig( + FeatureStage.EXPERIMENTAL, default_on=True + ), FeatureName.SPANNER_TOOLSET: FeatureConfig( FeatureStage.EXPERIMENTAL, default_on=True ), diff --git a/src/google/adk/tools/spanner/__init__.py b/src/google/adk/tools/spanner/__init__.py index e41b9b7986..533714b0be 100644 --- a/src/google/adk/tools/spanner/__init__.py +++ b/src/google/adk/tools/spanner/__init__.py @@ -31,10 +31,12 @@ """ from . import spanner_credentials +from .admin_toolset import SpannerAdminToolset from .spanner_toolset import SpannerToolset SpannerCredentialsConfig = spanner_credentials.SpannerCredentialsConfig __all__ = [ "SpannerToolset", + "SpannerAdminToolset", "SpannerCredentialsConfig", ] diff --git a/src/google/adk/tools/spanner/admin_tool.py b/src/google/adk/tools/spanner/admin_tool.py new file mode 100644 index 0000000000..2f7269945e --- /dev/null +++ b/src/google/adk/tools/spanner/admin_tool.py @@ -0,0 +1,372 @@ +# Copyright 2026 Google LLC +# +"""Spanner Admin Tool.""" + +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from __future__ import annotations + +from typing import Any + +from google.auth.credentials import Credentials +from google.cloud import spanner_admin_instance_v1 +from google.cloud.spanner_admin_database_v1 import DatabaseAdminAsyncClient +from google.cloud.spanner_admin_instance_v1 import InstanceAdminAsyncClient + + +async def list_instances( + project_id: str, + credentials: Credentials, +) -> dict[str, Any]: + """List Spanner instances within a project. + + Args: + project_id: The Google Cloud project id. + credentials: The credentials to use for the request. + + Returns: + dict: Dictionary with the status and a list of the Spanner instance IDs. + + Examples: + >>> await list_instances("my_project", credentials) + { + "status": "SUCCESS", + "results": [ + "instance_1", + "instance_2" + ] + } + """ + try: + instance_admin_api = InstanceAdminAsyncClient(credentials=credentials) + instances = [] + async for instance in await instance_admin_api.list_instances( + parent=f"projects/{project_id}" + ): + instances.append(instance.name.split("/")[-1]) + + return {"status": "SUCCESS", "results": instances} + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } + + +async def get_instance( + project_id: str, + *, + instance_id: str, + credentials: Credentials, +) -> dict[str, Any]: + """Get details of a Spanner instance. + + Args: + project_id: The Google Cloud project id. + instance_id: The Spanner instance id. + credentials: The credentials to use for the request. + + Returns: + dict: Dictionary with the status and the Spanner instance details. + + Examples: + >>> await get_instance(project_id="my_project", instance_id="my_instance", + ... credentials=credentials) + { + "status": "SUCCESS", + "results": { + "instance_id": "my_instance", + "display_name": "My Instance", + "config": "projects/my_project/instanceConfigs/regional-us-central1", + "node_count": 1, + "processing_units": 1000, + "labels": {"env": "prod"} + } + } + """ + try: + instance_admin_api = InstanceAdminAsyncClient(credentials=credentials) + instance_path = instance_admin_api.instance_path(project_id, instance_id) + instance = await instance_admin_api.get_instance(name=instance_path) + + return { + "status": "SUCCESS", + "results": { + "instance_id": instance_id, + "display_name": instance.display_name, + "config": instance.config, + "node_count": instance.node_count, + "processing_units": instance.processing_units, + "labels": dict(instance.labels), + }, + } + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } + + +async def list_instance_configs( + project_id: str, + credentials: Credentials, +) -> dict[str, Any]: + """List Spanner instance configs available for a project. + + Args: + project_id: The Google Cloud project id. + credentials: The credentials to use for the request. + + Returns: + dict: Dictionary with a list of Spanner instance config IDs. + + Examples: + >>> await list_instance_configs("my_project", credentials) + { + "status": "SUCCESS", + "results": [ + "regional-us-central1", + "nam3" + ] + } + """ + try: + instance_admin_api = InstanceAdminAsyncClient(credentials=credentials) + configs = await instance_admin_api.list_instance_configs( + parent=instance_admin_api.common_project_path(project_id) + ) + config_ids = [config.name.split("/")[-1] async for config in configs] + + return {"status": "SUCCESS", "results": config_ids} + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } + + +async def get_instance_config( + project_id: str, + *, + config_id: str, + credentials: Credentials, +) -> dict[str, Any]: + """Get details of a Spanner instance config. + + Args: + project_id: The Google Cloud project id. + config_id: The Spanner instance config id. + credentials: The credentials to use for the request. + + Returns: + dict: Dictionary with the status and the Spanner instance config details. + + Examples: + >>> await get_instance_config(project_id="my_project", + ... config_id="regional-us-central1", credentials=credentials) + { + "status": "SUCCESS", + "results": { + "name": "projects/my_project/instanceConfigs/regional-us-central1", + "display_name": "us-central1", + "replicas": [ + {'location': 'us-central1', 'type': 'READ_WRITE', + 'default_leader_location': True} + ], + "labels": {}, + } + } + """ + try: + instance_admin_api = InstanceAdminAsyncClient(credentials=credentials) + config_name = instance_admin_api.instance_config_path(project_id, config_id) + config = await instance_admin_api.get_instance_config(name=config_name) + + replicas = [ + { + "location": r.location, + "type": ( + spanner_admin_instance_v1.types.ReplicaInfo.ReplicaType( + r.type + ).name + ), + "default_leader_location": r.default_leader_location, + } + for r in config.replicas + ] + + return { + "status": "SUCCESS", + "results": { + "name": config.name, + "display_name": config.display_name, + "replicas": replicas, + "labels": dict(config.labels), + }, + } + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } + + +async def create_instance( + project_id: str, + *, + instance_id: str, + config_id: str, + display_name: str, + credentials: Credentials, + nodes: int = 1, +) -> dict[str, Any]: + """Create a Spanner instance. + + Args: + project_id: The Google Cloud project id. + instance_id: The Spanner instance id to create. + config_id: The instance config id, e.g. regional-us-central1. + display_name: The display name for the instance. + credentials: The credentials to use for the request. + nodes: Number of nodes for the instance. Defaults to 1. + + Returns: + dict: Dictionary with the status and result of instance creation. + + Examples: + >>> await create_instance(project_id="my_project", + instance_id="my_instance", + ... config_id="regional-us-central1", display_name="My Instance", + credentials=credentials) + { + "status": "SUCCESS", + "results": "Instance my_instance created successfully." + } + """ + try: + instance_admin_api = InstanceAdminAsyncClient(credentials=credentials) + instance_config = instance_admin_api.instance_config_path( + project_id, config_id + ) + instance = spanner_admin_instance_v1.types.Instance( + display_name=display_name, + config=instance_config, + node_count=nodes, + ) + operation = await instance_admin_api.create_instance( + parent=instance_admin_api.common_project_path(project_id), + instance_id=instance_id, + instance=instance, + ) + await operation.result(timeout=300) # waits for completion + + return { + "status": "SUCCESS", + "results": f"Instance {instance_id} created successfully.", + } + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } + + +async def list_databases( + project_id: str, + *, + instance_id: str, + credentials: Credentials, +) -> dict[str, Any]: + """List Spanner databases within an instance. + + Args: + project_id: The Google Cloud project id. + instance_id: The Spanner instance id. + credentials: The credentials to use for the request. + + Returns: + dict: Dictionary with the status and a list of the Spanner database IDs. + + Examples: + >>> await list_databases(project_id="my_project", + ... instance_id="my_instance", credentials=credentials) + { + "status": "SUCCESS", + "results": [ + "database_1", + "database_2" + ] + } + """ + try: + database_admin_api = DatabaseAdminAsyncClient(credentials=credentials) + databases = await database_admin_api.list_databases( + parent=database_admin_api.instance_path(project_id, instance_id) + ) + database_ids = [ + database.name.split("/")[-1] async for database in databases + ] + + return {"status": "SUCCESS", "results": database_ids} + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } + + +async def create_database( + project_id: str, + *, + instance_id: str, + database_id: str, + credentials: Credentials, +) -> dict[str, Any]: + """Create a Spanner database. + + Args: + project_id: The Google Cloud project id. + instance_id: The Spanner instance id. + database_id: The Spanner database id. + credentials: The credentials to use for the request. + + Returns: + dict: Dictionary with result of database creation. + + Examples: + >>> await create_database(project_id="my_project", + instance_id="my_instance", + ... database_id="my_database", credentials=credentials) + { + "status": "SUCCESS", + } + """ + try: + database_admin_api = DatabaseAdminAsyncClient(credentials=credentials) + operation = await database_admin_api.create_database( + parent=database_admin_api.instance_path(project_id, instance_id), + create_statement=f"CREATE DATABASE `{database_id}`", + ) + # Wait for the operation to complete (default timeout 5 minutes). + # Result on success is + # google.cloud.spanner_admin_database_v1.types.Database + await operation.result(timeout=300) + + return { + "status": "SUCCESS", + } + except Exception as ex: + return { + "status": "ERROR", + "error_details": repr(ex), + } diff --git a/src/google/adk/tools/spanner/admin_toolset.py b/src/google/adk/tools/spanner/admin_toolset.py new file mode 100644 index 0000000000..4989a13440 --- /dev/null +++ b/src/google/adk/tools/spanner/admin_toolset.py @@ -0,0 +1,110 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from google.adk.agents.readonly_context import ReadonlyContext +from google.adk.tools.spanner import admin_tool +from typing_extensions import override + +from ...features import experimental +from ...features import FeatureName +from ...tools.base_tool import BaseTool +from ...tools.base_toolset import BaseToolset +from ...tools.base_toolset import ToolPredicate +from ...tools.google_tool import GoogleTool +from .settings import SpannerToolSettings +from .spanner_credentials import SpannerCredentialsConfig + +DEFAULT_SPANNER_TOOL_NAME_PREFIX = "spanner" + + +@experimental(FeatureName.SPANNER_ADMIN_TOOLSET) +class SpannerAdminToolset(BaseToolset): + """A toolset containing tools for interacting with Spanner admin tasks. + + The tool names are: + - spanner_list_instances + - spanner_get_instance + - spanner_create_database + - spanner_list_databases + - spanner_create_instance + - spanner_list_instance_configs + - spanner_get_instance_config + """ + + def __init__( + self, + *, + tool_filter: ToolPredicate | list[str] | None = None, + credentials_config: SpannerCredentialsConfig | None = None, + spanner_tool_settings: SpannerToolSettings | None = None, + ): + super().__init__( + tool_filter=tool_filter, + tool_name_prefix=DEFAULT_SPANNER_TOOL_NAME_PREFIX, + ) + self._credentials_config = credentials_config + self._tool_settings = ( + spanner_tool_settings + if spanner_tool_settings + else SpannerToolSettings() + ) + + def _is_tool_selected( + self, tool: BaseTool, readonly_context: ReadonlyContext + ) -> bool: + if self.tool_filter is None: + return True + + if isinstance(self.tool_filter, ToolPredicate): + return self.tool_filter(tool, readonly_context) + + if isinstance(self.tool_filter, list): + return tool.name in self.tool_filter + + return False + + @override + async def get_tools( + self, readonly_context: ReadonlyContext | None = None + ) -> list[BaseTool]: + """Get tools from the toolset.""" + all_tools = [ + GoogleTool( + func=func, + credentials_config=self._credentials_config, + tool_settings=self._tool_settings, + ) + for func in [ + # Admin tools + admin_tool.create_database, + admin_tool.list_instances, + admin_tool.get_instance, + admin_tool.list_databases, + admin_tool.create_instance, + admin_tool.list_instance_configs, + admin_tool.get_instance_config, + ] + ] + + return [ + tool + for tool in all_tools + if self._is_tool_selected(tool, readonly_context) + ] + + @override + async def close(self): + pass diff --git a/tests/unittests/tools/spanner/test_admin_tool.py b/tests/unittests/tools/spanner/test_admin_tool.py new file mode 100644 index 0000000000..288cd8338e --- /dev/null +++ b/tests/unittests/tools/spanner/test_admin_tool.py @@ -0,0 +1,384 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from unittest.mock import create_autospec +from unittest.mock import patch + +from google.adk.tools.spanner import admin_tool +from google.api_core.operation_async import AsyncOperation +from google.auth.credentials import Credentials +from google.cloud import spanner_admin_database_v1 +from google.cloud import spanner_admin_instance_v1 +import pytest + + +class AsyncListIterator: + """Asynchronous iterator for a list.""" + + def __init__(self, list_): + self._iter = iter(list_) + + def __aiter__(self): + return self + + async def __anext__(self): + try: + return next(self._iter) + except StopIteration as exc: + raise StopAsyncIteration from exc + + +@pytest.fixture +def mock_credentials(): + return create_autospec(Credentials, instance=True) + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_list_instances_success( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the list_instances function in admin_tool.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance1 = create_autospec( + spanner_admin_instance_v1.types.Instance, instance=True + ) + mock_instance1.name = "projects/test-project/instances/test-instance-1" + mock_instance2 = create_autospec( + spanner_admin_instance_v1.types.Instance, instance=True + ) + mock_instance2.name = "projects/test-project/instances/test-instance-2" + mock_instance_admin_client.list_instances.return_value = AsyncListIterator([ + mock_instance1, + mock_instance2, + ]) + + result = await admin_tool.list_instances("test-project", mock_credentials) + + assert result == { + "status": "SUCCESS", + "results": ["test-instance-1", "test-instance-2"], + } + mock_instance_admin_client.list_instances.assert_called_once() + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_list_instances_error( + mock_instance_admin_client_cls, mock_credentials +): + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance_admin_client.list_instances.side_effect = Exception( + "test error" + ) + result = await admin_tool.list_instances("test-project", mock_credentials) + assert result == { + "status": "ERROR", + "error_details": "Exception('test error')", + } + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_get_instance_success( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the get_instance function in admin_tool.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance = create_autospec( + spanner_admin_instance_v1.types.Instance, instance=True + ) + mock_instance.display_name = "Test Instance" + mock_instance.config = ( + "projects/test-project/instanceConfigs/regional-us-central1" + ) + mock_instance.node_count = 1 + mock_instance.processing_units = 1000 + mock_instance.labels = {"env": "test"} + mock_instance_admin_client.get_instance.return_value = mock_instance + + result = await admin_tool.get_instance( + project_id="test-project", + instance_id="test-instance", + credentials=mock_credentials, + ) + + assert result == { + "status": "SUCCESS", + "results": { + "instance_id": "test-instance", + "display_name": "Test Instance", + "config": ( + "projects/test-project/instanceConfigs/regional-us-central1" + ), + "node_count": 1, + "processing_units": 1000, + "labels": {"env": "test"}, + }, + } + mock_instance_admin_client.instance_path.assert_called_once_with( + "test-project", "test-instance" + ) + mock_instance_admin_client.get_instance.assert_called_once() + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_get_instance_error( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the get_instance function in admin_tool when an error occurs.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance_admin_client.get_instance.side_effect = Exception("test error") + result = await admin_tool.get_instance( + project_id="test-project", + instance_id="test-instance", + credentials=mock_credentials, + ) + assert result == { + "status": "ERROR", + "error_details": "Exception('test error')", + } + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_list_instance_configs_success( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the list_instance_configs function in admin_tool.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance_admin_client.common_project_path.return_value = ( + "projects/test-project" + ) + mock_config1 = create_autospec( + spanner_admin_instance_v1.types.InstanceConfig, instance=True + ) + mock_config1.name = "projects/test-project/instanceConfigs/config-1" + mock_config2 = create_autospec( + spanner_admin_instance_v1.types.InstanceConfig, instance=True + ) + mock_config2.name = "projects/test-project/instanceConfigs/config-2" + mock_instance_admin_client.list_instance_configs.return_value = ( + AsyncListIterator([ + mock_config1, + mock_config2, + ]) + ) + + result = await admin_tool.list_instance_configs( + "test-project", mock_credentials + ) + + assert result == {"status": "SUCCESS", "results": ["config-1", "config-2"]} + mock_instance_admin_client.common_project_path.assert_called_once_with( + "test-project" + ) + mock_instance_admin_client.list_instance_configs.assert_called_once_with( + parent="projects/test-project" + ) + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_get_instance_config_success( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the get_instance_config function in admin_tool.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance_admin_client.instance_config_path.return_value = ( + "projects/test-project/instanceConfigs/config-1" + ) + mock_config = create_autospec( + spanner_admin_instance_v1.types.InstanceConfig, instance=True + ) + mock_config.name = "projects/test-project/instanceConfigs/config-1" + mock_config.display_name = "Config 1" + mock_config.labels = {"env": "test"} + mock_replica = create_autospec( + spanner_admin_instance_v1.types.ReplicaInfo, instance=True + ) + mock_replica.location = "us-central1" + mock_replica.type = 1 # READ_WRITE + mock_replica.default_leader_location = True + mock_config.replicas = [mock_replica] + mock_instance_admin_client.get_instance_config.return_value = mock_config + + result = await admin_tool.get_instance_config( + project_id="test-project", + config_id="config-1", + credentials=mock_credentials, + ) + + assert result == { + "status": "SUCCESS", + "results": { + "name": "projects/test-project/instanceConfigs/config-1", + "display_name": "Config 1", + "replicas": [{ + "location": "us-central1", + "type": "READ_WRITE", + "default_leader_location": True, + }], + "labels": {"env": "test"}, + }, + } + mock_instance_admin_client.instance_config_path.assert_called_once_with( + "test-project", "config-1" + ) + mock_instance_admin_client.get_instance_config.assert_called_once_with( + name="projects/test-project/instanceConfigs/config-1" + ) + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_get_instance_config_error( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the get_instance_config function when an error occurs.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance_admin_client.get_instance_config.side_effect = Exception( + "test error" + ) + result = await admin_tool.get_instance_config( + project_id="test-project", + config_id="config-1", + credentials=mock_credentials, + ) + assert result == { + "status": "ERROR", + "error_details": "Exception('test error')", + } + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.InstanceAdminAsyncClient", + autospec=True, +) +async def test_create_instance_success( + mock_instance_admin_client_cls, mock_credentials +): + """Tests the create_instance function in admin_tool.""" + mock_instance_admin_client = mock_instance_admin_client_cls.return_value + mock_instance_admin_client.instance_config_path.return_value = ( + "projects/test-project/instanceConfigs/config-1" + ) + mock_instance_admin_client.common_project_path.return_value = ( + "projects/test-project" + ) + mock_op = create_autospec(AsyncOperation, instance=True) + mock_instance_admin_client.create_instance.return_value = mock_op + result = await admin_tool.create_instance( + project_id="test-project", + instance_id="test-instance", + config_id="config-1", + display_name="Test Instance", + credentials=mock_credentials, + ) + assert result == { + "status": "SUCCESS", + "results": "Instance test-instance created successfully.", + } + mock_instance_admin_client.create_instance.assert_called_once() + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.DatabaseAdminAsyncClient", + autospec=True, +) +async def test_list_databases_success( + mock_db_admin_client_cls, mock_credentials +): + """Tests the list_databases function in admin_tool.""" + mock_db_admin_client = mock_db_admin_client_cls.return_value + mock_db_admin_client.instance_path.return_value = ( + "projects/test-project/instances/test-instance" + ) + mock_db1 = create_autospec( + spanner_admin_database_v1.types.Database, instance=True + ) + mock_db1.name = "projects/test-project/instances/test-instance/databases/db-1" + mock_db2 = create_autospec( + spanner_admin_database_v1.types.Database, instance=True + ) + mock_db2.name = "projects/test-project/instances/test-instance/databases/db-2" + mock_db_admin_client.list_databases.return_value = AsyncListIterator([ + mock_db1, + mock_db2, + ]) + + result = await admin_tool.list_databases( + project_id="test-project", + instance_id="test-instance", + credentials=mock_credentials, + ) + + assert result == {"status": "SUCCESS", "results": ["db-1", "db-2"]} + mock_db_admin_client.instance_path.assert_called_once_with( + "test-project", "test-instance" + ) + mock_db_admin_client.list_databases.assert_called_once_with( + parent="projects/test-project/instances/test-instance" + ) + + +@pytest.mark.asyncio +@patch( + "google.adk.tools.spanner.admin_tool.DatabaseAdminAsyncClient", + autospec=True, +) +async def test_create_database_success( + mock_db_admin_client_cls, mock_credentials +): + """Tests the create_database function in admin_tool.""" + mock_db_admin_client = mock_db_admin_client_cls.return_value + mock_db_admin_client.instance_path.return_value = ( + "projects/test-project/instances/test-instance" + ) + mock_op = create_autospec(AsyncOperation, instance=True) + mock_db_admin_client.create_database.return_value = mock_op + result = await admin_tool.create_database( + project_id="test-project", + instance_id="test-instance", + database_id="db-1", + credentials=mock_credentials, + ) + assert result == { + "status": "SUCCESS", + } + mock_db_admin_client.create_database.assert_called_once() diff --git a/tests/unittests/tools/spanner/test_admin_toolset.py b/tests/unittests/tools/spanner/test_admin_toolset.py new file mode 100644 index 0000000000..d49c9c3a8d --- /dev/null +++ b/tests/unittests/tools/spanner/test_admin_toolset.py @@ -0,0 +1,91 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from google.adk.tools.google_tool import GoogleTool +from google.adk.tools.spanner.admin_toolset import SpannerAdminToolset +from google.adk.tools.spanner.settings import SpannerToolSettings +from google.adk.tools.spanner.spanner_credentials import SpannerCredentialsConfig +import pytest + + +@pytest.mark.asyncio +async def test_spanner_toolset_tools_default(): + """Test Admin Spanner toolset. + + This test verifies the behavior of the Spanner admin toolset when no filter is + specified. + """ + credentials_config = SpannerCredentialsConfig( + client_id="abc", client_secret="def" + ) + toolset = SpannerAdminToolset(credentials_config=credentials_config) + assert isinstance(toolset._tool_settings, SpannerToolSettings) # pylint: disable=protected-access + assert toolset._tool_settings.__dict__ == SpannerToolSettings().__dict__ # pylint: disable=protected-access + tools = await toolset.get_tools() + assert tools is not None + + assert len(tools) == 7 + assert all([isinstance(tool, GoogleTool) for tool in tools]) + + expected_tool_names = set([ + "list_instances", + "get_instance", + "list_databases", + "create_instance", + "create_database", + "list_instance_configs", + "get_instance_config", + ]) + actual_tool_names = set([tool.name for tool in tools]) + assert actual_tool_names == expected_tool_names + + +@pytest.mark.parametrize( + "selected_tools", + [ + pytest.param( + ["list_instances"], + id="list-instances", + ) + ], +) +@pytest.mark.asyncio +async def test_spanner_admin_toolset_selective(selected_tools): + """Test selective Admin Spanner toolset. + + This test verifies the behavior of the Spanner admin toolset when a filter is + specified. + + Args: + selected_tools: A list of tool names to filter. + """ + credentials_config = SpannerCredentialsConfig( + client_id="abc", client_secret="def" + ) + toolset = SpannerAdminToolset( + credentials_config=credentials_config, + tool_filter=selected_tools, + spanner_tool_settings=SpannerToolSettings(), + ) + tools = await toolset.get_tools() + assert tools is not None + + assert len(tools) == len(selected_tools) + assert all([isinstance(tool, GoogleTool) for tool in tools]) + + expected_tool_names = set(selected_tools) + actual_tool_names = set([tool.name for tool in tools]) + assert actual_tool_names == expected_tool_names From b318eee979b1625d3d23ad98825c88f54016a12f Mon Sep 17 00:00:00 2001 From: George Weale Date: Tue, 17 Mar 2026 11:24:04 -0700 Subject: [PATCH 37/51] fix: Store and retrieve usage_metadata in Vertex AI custom_metadata The Vertex AI session service does not natively support persisting usage_metadata. This change serializes usage_metadata into the custom_metadata field under the key '_usage_metadata' when appending events and deserializes it back when retrieving events. This allows usage information to be round-tripped through the Vertex AI session service. Co-authored-by: George Weale PiperOrigin-RevId: 885121070 --- .../adk/sessions/vertex_ai_session_service.py | 58 ++++++-- .../test_vertex_ai_session_service.py | 128 ++++++++++++++++++ 2 files changed, 178 insertions(+), 8 deletions(-) diff --git a/src/google/adk/sessions/vertex_ai_session_service.py b/src/google/adk/sessions/vertex_ai_session_service.py index 8cb7109ece..9e5c9bb2ec 100644 --- a/src/google/adk/sessions/vertex_ai_session_service.py +++ b/src/google/adk/sessions/vertex_ai_session_service.py @@ -42,6 +42,20 @@ logger = logging.getLogger('google_adk.' + __name__) +_COMPACTION_CUSTOM_METADATA_KEY = '_compaction' +_USAGE_METADATA_CUSTOM_METADATA_KEY = '_usage_metadata' + + +def _set_internal_custom_metadata( + metadata_dict: dict[str, Any], *, key: str, value: dict[str, Any] +) -> None: + """Stores internal metadata alongside user-provided custom metadata.""" + existing_custom_metadata = metadata_dict.get('custom_metadata') or {} + metadata_dict['custom_metadata'] = { + **existing_custom_metadata, + key: value, + } + class VertexAiSessionService(BaseSessionService): """Connects to the Vertex AI Agent Engine Session Service using Agent Engine SDK. @@ -301,11 +315,22 @@ async def append_event(self, session: Session, event: Event) -> Event: compaction_dict = event.actions.compaction.model_dump( exclude_none=True, mode='json' ) - existing_custom = metadata_dict.get('custom_metadata') or {} - metadata_dict['custom_metadata'] = { - **existing_custom, - '_compaction': compaction_dict, - } + _set_internal_custom_metadata( + metadata_dict, + key=_COMPACTION_CUSTOM_METADATA_KEY, + value=compaction_dict, + ) + # Store usage_metadata in custom_metadata since the Vertex AI service + # does not persist it in EventMetadata. + if event.usage_metadata: + usage_dict = event.usage_metadata.model_dump( + exclude_none=True, mode='json' + ) + _set_internal_custom_metadata( + metadata_dict, + key=_USAGE_METADATA_CUSTOM_METADATA_KEY, + value=usage_dict, + ) config['event_metadata'] = metadata_dict async with self._get_api_client() as api_client: @@ -378,11 +403,20 @@ def _from_api_event(api_event_obj: vertexai.types.SessionEvent) -> Event: # Extract compaction data stored in custom_metadata. # NOTE: This read path must be kept permanently because sessions # written before native compaction support store compaction data - # in custom_metadata under the '_compaction' key. + # in custom_metadata under the compaction metadata key. compaction_data = None - if custom_metadata and '_compaction' in custom_metadata: + usage_metadata_data = None + if custom_metadata and ( + _COMPACTION_CUSTOM_METADATA_KEY in custom_metadata + or _USAGE_METADATA_CUSTOM_METADATA_KEY in custom_metadata + ): custom_metadata = dict(custom_metadata) # avoid mutating the API response - compaction_data = custom_metadata.pop('_compaction') + compaction_data = custom_metadata.pop( + _COMPACTION_CUSTOM_METADATA_KEY, None + ) + usage_metadata_data = custom_metadata.pop( + _USAGE_METADATA_CUSTOM_METADATA_KEY, None + ) if not custom_metadata: custom_metadata = None grounding_metadata = _session_util.decode_model( @@ -397,6 +431,7 @@ def _from_api_event(api_event_obj: vertexai.types.SessionEvent) -> Event: branch = None custom_metadata = None compaction_data = None + usage_metadata_data = None grounding_metadata = None if actions: @@ -416,6 +451,12 @@ def _from_api_event(api_event_obj: vertexai.types.SessionEvent) -> Event: else: event_actions = EventActions() + usage_metadata = None + if usage_metadata_data: + usage_metadata = types.GenerateContentResponseUsageMetadata.model_validate( + usage_metadata_data + ) + return Event( id=api_event_obj.name.split('/')[-1], invocation_id=api_event_obj.invocation_id, @@ -434,4 +475,5 @@ def _from_api_event(api_event_obj: vertexai.types.SessionEvent) -> Event: custom_metadata=custom_metadata, grounding_metadata=grounding_metadata, long_running_tool_ids=long_running_tool_ids, + usage_metadata=usage_metadata, ) diff --git a/tests/unittests/sessions/test_vertex_ai_session_service.py b/tests/unittests/sessions/test_vertex_ai_session_service.py index c095ddd9d2..20fdbe3c6d 100644 --- a/tests/unittests/sessions/test_vertex_ai_session_service.py +++ b/tests/unittests/sessions/test_vertex_ai_session_service.py @@ -911,3 +911,131 @@ async def test_append_event_with_compaction_and_custom_metadata(): # User custom_metadata is preserved without the internal _compaction key assert appended_event.custom_metadata == {'user_key': 'user_value'} assert '_compaction' not in (appended_event.custom_metadata or {}) + + +@pytest.mark.asyncio +@pytest.mark.usefixtures('mock_get_api_client') +async def test_append_event_with_usage_metadata(): + """usage_metadata round-trips through append_event and get_session.""" + session_service = mock_vertex_ai_session_service() + session = await session_service.get_session( + app_name='123', user_id='user', session_id='1' + ) + assert session is not None + + event_to_append = Event( + invocation_id='usage_invocation', + author='model', + timestamp=1734005536.0, + usage_metadata=genai_types.GenerateContentResponseUsageMetadata( + prompt_token_count=150, + candidates_token_count=50, + total_token_count=200, + ), + ) + + await session_service.append_event(session, event_to_append) + + retrieved_session = await session_service.get_session( + app_name='123', user_id='user', session_id='1' + ) + assert retrieved_session is not None + + appended_event = retrieved_session.events[-1] + assert appended_event.usage_metadata is not None + assert appended_event.usage_metadata.prompt_token_count == 150 + assert appended_event.usage_metadata.candidates_token_count == 50 + assert appended_event.usage_metadata.total_token_count == 200 + # custom_metadata should remain None when only usage_metadata was stored + assert appended_event.custom_metadata is None + + +@pytest.mark.asyncio +@pytest.mark.usefixtures('mock_get_api_client') +async def test_append_event_with_usage_metadata_and_custom_metadata(): + """Both usage_metadata and user custom_metadata survive the round-trip.""" + session_service = mock_vertex_ai_session_service() + session = await session_service.get_session( + app_name='123', user_id='user', session_id='1' + ) + assert session is not None + + event_to_append = Event( + invocation_id='usage_and_meta_invocation', + author='model', + timestamp=1734005537.0, + usage_metadata=genai_types.GenerateContentResponseUsageMetadata( + prompt_token_count=300, + total_token_count=400, + ), + custom_metadata={'my_key': 'my_value'}, + ) + + await session_service.append_event(session, event_to_append) + + retrieved_session = await session_service.get_session( + app_name='123', user_id='user', session_id='1' + ) + assert retrieved_session is not None + + appended_event = retrieved_session.events[-1] + # usage_metadata is restored + assert appended_event.usage_metadata is not None + assert appended_event.usage_metadata.prompt_token_count == 300 + assert appended_event.usage_metadata.total_token_count == 400 + # User custom_metadata is preserved without internal keys + assert appended_event.custom_metadata == {'my_key': 'my_value'} + assert '_usage_metadata' not in (appended_event.custom_metadata or {}) + + +@pytest.mark.asyncio +@pytest.mark.usefixtures('mock_get_api_client') +async def test_append_event_with_usage_metadata_and_compaction(): + """usage_metadata, compaction, and user custom_metadata all coexist.""" + session_service = mock_vertex_ai_session_service() + session = await session_service.get_session( + app_name='123', user_id='user', session_id='1' + ) + assert session is not None + + compaction = EventCompaction( + start_timestamp=500.0, + end_timestamp=600.0, + compacted_content=genai_types.Content( + parts=[genai_types.Part(text='compacted')] + ), + ) + event_to_append = Event( + invocation_id='all_three_invocation', + author='model', + timestamp=1734005538.0, + actions=EventActions(compaction=compaction), + usage_metadata=genai_types.GenerateContentResponseUsageMetadata( + prompt_token_count=1000, + candidates_token_count=250, + total_token_count=1250, + ), + custom_metadata={'extra': 'info'}, + ) + + await session_service.append_event(session, event_to_append) + + retrieved_session = await session_service.get_session( + app_name='123', user_id='user', session_id='1' + ) + assert retrieved_session is not None + + appended_event = retrieved_session.events[-1] + # Compaction is restored + assert appended_event.actions.compaction is not None + assert appended_event.actions.compaction.start_timestamp == 500.0 + assert appended_event.actions.compaction.end_timestamp == 600.0 + # usage_metadata is restored + assert appended_event.usage_metadata is not None + assert appended_event.usage_metadata.prompt_token_count == 1000 + assert appended_event.usage_metadata.candidates_token_count == 250 + assert appended_event.usage_metadata.total_token_count == 1250 + # User custom_metadata is preserved without internal keys + assert appended_event.custom_metadata == {'extra': 'info'} + assert '_compaction' not in (appended_event.custom_metadata or {}) + assert '_usage_metadata' not in (appended_event.custom_metadata or {}) From fc45fa68d75fbf5276bf5951929026285a8bb4af Mon Sep 17 00:00:00 2001 From: George Weale Date: Tue, 17 Mar 2026 11:45:15 -0700 Subject: [PATCH 38/51] feat: Add support for Anthropic's thinking_blocks format in LiteLLM integration This change enables the LiteLLM adapter to correctly parse and generate Anthropic's structured "thinking_blocks" format, which includes a "signature" for each thought block. The "signature" is crucial for Anthropic models to maintain their reasoning state across multiple turns, particularly when tool calls are made Close #4801 Co-authored-by: George Weale PiperOrigin-RevId: 885131757 --- src/google/adk/models/lite_llm.py | 98 +++++++++++- tests/unittests/models/test_litellm.py | 212 +++++++++++++++++++++++++ 2 files changed, 306 insertions(+), 4 deletions(-) diff --git a/src/google/adk/models/lite_llm.py b/src/google/adk/models/lite_llm.py index 1eb902630f..7d13696c96 100644 --- a/src/google/adk/models/lite_llm.py +++ b/src/google/adk/models/lite_llm.py @@ -384,8 +384,42 @@ def _iter_reasoning_texts(reasoning_value: Any) -> Iterable[str]: yield str(reasoning_value) +def _is_thinking_blocks_format(reasoning_value: Any) -> bool: + """Returns True if reasoning_value is Anthropic thinking_blocks format. + + Anthropic thinking_blocks is a list of dicts, each with 'type', 'thinking', + and 'signature' keys. + """ + if not isinstance(reasoning_value, list) or not reasoning_value: + return False + first = reasoning_value[0] + return isinstance(first, dict) and "signature" in first + + def _convert_reasoning_value_to_parts(reasoning_value: Any) -> List[types.Part]: - """Converts provider reasoning payloads into Gemini thought parts.""" + """Converts provider reasoning payloads into Gemini thought parts. + + Handles Anthropic thinking_blocks (list of dicts with type/thinking/signature) + by preserving the signature on each part's thought_signature field. This is + required for Anthropic to maintain thinking across tool call boundaries. + """ + if _is_thinking_blocks_format(reasoning_value): + parts: List[types.Part] = [] + for block in reasoning_value: + if not isinstance(block, dict): + continue + block_type = block.get("type", "") + if block_type == "redacted": + continue + thinking_text = block.get("thinking", "") + signature = block.get("signature", "") + if not thinking_text: + continue + part = types.Part(text=thinking_text, thought=True) + if signature: + part.thought_signature = signature.encode("utf-8") + parts.append(part) + return parts return [ types.Part(text=text, thought=True) for text in _iter_reasoning_texts(reasoning_value) @@ -396,12 +430,19 @@ def _convert_reasoning_value_to_parts(reasoning_value: Any) -> List[types.Part]: def _extract_reasoning_value(message: Message | Delta | None) -> Any: """Fetches the reasoning payload from a LiteLLM message. - Checks for both 'reasoning_content' (LiteLLM standard, used by Azure/Foundry, - Ollama via LiteLLM) and 'reasoning' (used by LM Studio, vLLM). - Prioritizes 'reasoning_content' when both are present. + Checks for 'thinking_blocks' (Anthropic structured format with signatures), + 'reasoning_content' (LiteLLM standard, used by Azure/Foundry, Ollama via + LiteLLM) and 'reasoning' (used by LM Studio, vLLM). + Prioritizes 'thinking_blocks' when present (Anthropic models), then + 'reasoning_content', then 'reasoning'. """ if message is None: return None + # Anthropic models return thinking_blocks with type/thinking/signature fields. + # This must be preserved to maintain thinking across tool call boundaries. + thinking_blocks = message.get("thinking_blocks") + if thinking_blocks is not None: + return thinking_blocks reasoning_content = message.get("reasoning_content") if reasoning_content is not None: return reasoning_content @@ -835,6 +876,30 @@ async def _content_to_message_param( else final_content ) + # For Anthropic models, rebuild thinking_blocks with signatures so that + # thinking is preserved across tool call boundaries. Without this, + # Anthropic silently drops thinking after the first turn. + if model and _is_anthropic_model(model) and reasoning_parts: + thinking_blocks = [] + for part in reasoning_parts: + if part.text and part.thought_signature: + sig = part.thought_signature + if isinstance(sig, bytes): + sig = sig.decode("utf-8") + thinking_blocks.append({ + "type": "thinking", + "thinking": part.text, + "signature": sig, + }) + if thinking_blocks: + msg = ChatCompletionAssistantMessage( + role=role, + content=final_content, + tool_calls=tool_calls or None, + ) + msg["thinking_blocks"] = thinking_blocks # type: ignore[typeddict-unknown-key] + return msg + reasoning_texts = [] for part in reasoning_parts: if part.text: @@ -1943,6 +2008,31 @@ def _build_request_log(req: LlmRequest) -> str: """ +def _is_anthropic_model(model_string: str) -> bool: + """Check if the model is an Anthropic Claude model accessed via LiteLLM. + + Detects models using the anthropic/ provider prefix, bedrock/ models that + contain 'anthropic' or 'claude', and vertex_ai/ models that contain 'claude'. + + Args: + model_string: A LiteLLM model string (e.g., "anthropic/claude-4-sonnet", + "bedrock/anthropic.claude-3-5-sonnet", "vertex_ai/claude-4-sonnet") + + Returns: + True if it's an Anthropic Claude model, False otherwise. + """ + lower = model_string.lower() + if lower.startswith("anthropic/"): + return True + if lower.startswith("bedrock/"): + model_part = lower.split("/", 1)[1] + return "anthropic" in model_part or "claude" in model_part + if lower.startswith("vertex_ai/"): + model_part = lower.split("/", 1)[1] + return "claude" in model_part + return False + + def _is_litellm_vertex_model(model_string: str) -> bool: """Check if the model is a Vertex AI model accessed via LiteLLM. diff --git a/tests/unittests/models/test_litellm.py b/tests/unittests/models/test_litellm.py index 7d27697306..ace08ad997 100644 --- a/tests/unittests/models/test_litellm.py +++ b/tests/unittests/models/test_litellm.py @@ -28,6 +28,7 @@ from google.adk.models.lite_llm import _append_fallback_user_content_if_missing from google.adk.models.lite_llm import _content_to_message_param +from google.adk.models.lite_llm import _convert_reasoning_value_to_parts from google.adk.models.lite_llm import _enforce_strict_openai_schema from google.adk.models.lite_llm import _extract_reasoning_value from google.adk.models.lite_llm import _extract_thought_signature_from_tool_call @@ -37,6 +38,7 @@ from google.adk.models.lite_llm import _get_completion_inputs from google.adk.models.lite_llm import _get_content from google.adk.models.lite_llm import _get_provider_from_model +from google.adk.models.lite_llm import _is_anthropic_model from google.adk.models.lite_llm import _message_to_generate_content_response from google.adk.models.lite_llm import _MISSING_TOOL_RESULT_MESSAGE from google.adk.models.lite_llm import _model_response_to_chunk @@ -4682,3 +4684,213 @@ def test_handles_litellm_logger_names(logger_name): finally: # Clean up test_logger.removeHandler(handler) + + +# ── Anthropic thinking_blocks tests ───────────────────────────── + + +@pytest.mark.parametrize( + "model_string,expected", + [ + ("anthropic/claude-4-sonnet", True), + ("anthropic/claude-3-5-sonnet-20241022", True), + ("Anthropic/Claude-4-Opus", True), + ("bedrock/anthropic.claude-3-5-sonnet", True), + ("bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0", True), + ("bedrock/claude-3-5-sonnet", True), + ("vertex_ai/claude-3-5-sonnet@20241022", True), + ("openai/gpt-4o", False), + ("gemini/gemini-2.5-pro", False), + ("vertex_ai/gemini-2.5-flash", False), + ("bedrock/amazon.titan-text-express-v1", False), + ], + ids=[ + "anthropic-prefix", + "anthropic-versioned", + "anthropic-uppercase", + "bedrock-anthropic-dot", + "bedrock-us-anthropic", + "bedrock-claude", + "vertex-claude", + "openai-no-match", + "gemini-no-match", + "vertex-gemini-no-match", + "bedrock-non-anthropic", + ], +) +def test_is_anthropic_model(model_string, expected): + assert _is_anthropic_model(model_string) is expected + + +def test_extract_reasoning_value_prefers_thinking_blocks(): + """thinking_blocks takes precedence over reasoning_content.""" + thinking_blocks = [ + {"type": "thinking", "thinking": "deep thought", "signature": "sig123"}, + ] + message = { + "role": "assistant", + "content": "Answer", + "thinking_blocks": thinking_blocks, + "reasoning_content": "flat reasoning", + } + result = _extract_reasoning_value(message) + assert result is thinking_blocks + + +def test_extract_reasoning_value_falls_back_without_thinking_blocks(): + """When thinking_blocks is absent, falls back to reasoning_content.""" + message = { + "role": "assistant", + "content": "Answer", + "reasoning_content": "flat reasoning", + } + result = _extract_reasoning_value(message) + assert result == "flat reasoning" + + +def test_convert_reasoning_value_to_parts_thinking_blocks_preserves_signature(): + """thinking_blocks format produces parts with thought_signature.""" + thinking_blocks = [ + {"type": "thinking", "thinking": "step 1", "signature": "sig_abc"}, + {"type": "thinking", "thinking": "step 2", "signature": "sig_def"}, + ] + parts = _convert_reasoning_value_to_parts(thinking_blocks) + assert len(parts) == 2 + assert parts[0].text == "step 1" + assert parts[0].thought is True + assert parts[0].thought_signature == b"sig_abc" + assert parts[1].text == "step 2" + assert parts[1].thought_signature == b"sig_def" + + +def test_convert_reasoning_value_to_parts_skips_redacted_blocks(): + """Redacted thinking blocks are excluded from parts.""" + thinking_blocks = [ + {"type": "thinking", "thinking": "visible", "signature": "sig1"}, + {"type": "redacted", "data": "hidden"}, + ] + parts = _convert_reasoning_value_to_parts(thinking_blocks) + assert len(parts) == 1 + assert parts[0].text == "visible" + + +def test_convert_reasoning_value_to_parts_skips_empty_thinking(): + """Blocks with empty thinking text are excluded.""" + thinking_blocks = [ + {"type": "thinking", "thinking": "", "signature": "sig1"}, + {"type": "thinking", "thinking": "real thought", "signature": "sig2"}, + ] + parts = _convert_reasoning_value_to_parts(thinking_blocks) + assert len(parts) == 1 + assert parts[0].text == "real thought" + + +def test_convert_reasoning_value_to_parts_flat_string_unchanged(): + """Flat string reasoning still produces thought parts without signature.""" + parts = _convert_reasoning_value_to_parts("simple reasoning text") + assert len(parts) == 1 + assert parts[0].text == "simple reasoning text" + assert parts[0].thought is True + assert parts[0].thought_signature is None + + +@pytest.mark.asyncio +async def test_content_to_message_param_anthropic_outputs_thinking_blocks(): + """For Anthropic models, thinking_blocks are output instead of reasoning_content.""" + content = types.Content( + role="model", + parts=[ + types.Part( + text="deep thought", + thought=True, + thought_signature=b"sig_round_trip", + ), + types.Part(text="Hello!"), + ], + ) + result = await _content_to_message_param( + content, model="anthropic/claude-4-sonnet" + ) + assert result["role"] == "assistant" + assert "thinking_blocks" in result + assert result.get("reasoning_content") is None + blocks = result["thinking_blocks"] + assert len(blocks) == 1 + assert blocks[0]["type"] == "thinking" + assert blocks[0]["thinking"] == "deep thought" + assert blocks[0]["signature"] == "sig_round_trip" + assert result["content"] == "Hello!" + + +@pytest.mark.asyncio +async def test_content_to_message_param_non_anthropic_uses_reasoning_content(): + """For non-Anthropic models, reasoning_content is used as before.""" + content = types.Content( + role="model", + parts=[ + types.Part(text="thinking text", thought=True), + types.Part(text="Answer"), + ], + ) + result = await _content_to_message_param(content, model="openai/gpt-4o") + assert result["role"] == "assistant" + assert result.get("reasoning_content") == "thinking text" + assert "thinking_blocks" not in result + + +@pytest.mark.asyncio +async def test_anthropic_thinking_blocks_round_trip(): + """End-to-end: thinking_blocks in response → Part → thinking_blocks out.""" + # Simulate LiteLLM response with thinking_blocks + response_message = { + "role": "assistant", + "content": "Final answer", + "thinking_blocks": [ + { + "type": "thinking", + "thinking": "Let me reason...", + "signature": "abc123signature", + }, + ], + } + + # Step 1: Extract reasoning value + reasoning_value = _extract_reasoning_value(response_message) + assert isinstance(reasoning_value, list) + + # Step 2: Convert to parts (preserves signature) + parts = _convert_reasoning_value_to_parts(reasoning_value) + assert len(parts) == 1 + assert parts[0].thought_signature == b"abc123signature" + + # Step 3: Build Content for history + all_parts = parts + [types.Part(text="Final answer")] + content = types.Content(role="model", parts=all_parts) + + # Step 4: Convert back to message param for Anthropic + result = await _content_to_message_param( + content, model="anthropic/claude-4-sonnet" + ) + blocks = result["thinking_blocks"] + assert len(blocks) == 1 + assert blocks[0]["type"] == "thinking" + assert blocks[0]["thinking"] == "Let me reason..." + assert blocks[0]["signature"] == "abc123signature" + + +@pytest.mark.asyncio +async def test_content_to_message_param_anthropic_no_signature_falls_back(): + """Anthropic model with thought parts but no signatures uses reasoning_content.""" + content = types.Content( + role="model", + parts=[ + types.Part(text="thinking without sig", thought=True), + types.Part(text="Response"), + ], + ) + result = await _content_to_message_param( + content, model="anthropic/claude-4-sonnet" + ) + # Falls back to reasoning_content when no signatures present + assert result.get("reasoning_content") == "thinking without sig" + assert "thinking_blocks" not in result From 950a3b2d0a588c1ee5e2ffef440cc2739da04415 Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Tue, 17 Mar 2026 11:58:47 -0700 Subject: [PATCH 39/51] chore: update the component owner Co-authored-by: Xiang (Sean) Zhou PiperOrigin-RevId: 885138365 --- contributing/samples/adk_triaging_agent/agent.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index 82f02e771c..4ea3facc03 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -26,15 +26,14 @@ import requests LABEL_TO_OWNER = { - "a2a": "seanzhou1023", "agent engine": "yeesian", - "auth": "seanzhou1023", + "auth": "xuanyang15", "bq": "shobsi", "core": "Jacksunwei", "documentation": "joefernandez", "eval": "ankursharmas", - "live": "seanzhou1023", - "mcp": "seanzhou1023", + "live": "wuliang229", + "mcp": "wukath", "models": "xuanyang15", "services": "DeanChensj", "tools": "xuanyang15", From 4e5f68391091e9d3a15c338fbb3092746f07dde5 Mon Sep 17 00:00:00 2001 From: "Wei (Jack) Sun" Date: Tue, 17 Mar 2026 14:38:30 -0700 Subject: [PATCH 40/51] chore: merge release v1.27.2 to main Merge https://github.com/google/adk-python/pull/4862 Syncs version bump and CHANGELOG from release v1.27.2 to main. COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4862 from google:release/v1.27.2 70847b6da6e6727dc14e1282b4e890b08249f3b0 PiperOrigin-RevId: 885216591 --- .github/.release-please-manifest.json | 2 +- CHANGELOG.md | 6 +++++- src/google/adk/version.py | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index 77003bf734..42b9d998ba 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.27.1" + ".": "1.27.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index e6ad315733..852c69cb9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,11 @@ # Changelog +## [1.27.2](https://github.com/google/adk-python/compare/v1.27.1...v1.27.2) (2026-03-17) +### Bug Fixes + * Use valid dataplex OAuth scope for BigQueryToolset ([4010716](https://github.com/google/adk-python/commit/4010716470fc83918dc367c5971342ff551401c8)) + * Store and retrieve usage_metadata in Vertex AI custom_metadata ([b318eee](https://github.com/google/adk-python/commit/b318eee979b1625d3d23ad98825c88f54016a12f)) -## [1.27.1](https://github.com/google/adk-python/compare/v1.26.0...v1.27.0) (2026-03-13) +## [1.27.1](https://github.com/google/adk-python/compare/v1.27.0...v1.27.1) (2026-03-13) ### Bug Fixes * Rolling back change to fix issue affecting LlmAgent creation due to missing version field ([0e18f81](https://github.com/google/adk-python/commit/0e18f81a5cd0d0392ded653b1a63a236449a2685)) diff --git a/src/google/adk/version.py b/src/google/adk/version.py index 9b5eec1143..46ed9b3d36 100644 --- a/src/google/adk/version.py +++ b/src/google/adk/version.py @@ -13,4 +13,4 @@ # limitations under the License. # version: major.minor.patch -__version__ = "1.27.1" +__version__ = "1.27.2" From 4c9c01fd4b1c716950700fd56a1a8789795cb7b1 Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Tue, 17 Mar 2026 17:16:03 -0700 Subject: [PATCH 41/51] fix(tools): disable default httpx 5s timeout in OpenAPI tool _request MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When PR #2872 migrated RestApiTool from requests (sync) to httpx.AsyncClient (async), the _request function was left without an explicit timeout parameter. Unlike requests which has no default timeout, httpx defaults to 5 seconds — causing ReadTimeout errors for any API call exceeding that limit. This regression blocked users from upgrading past 1.23.0. Set timeout=None on httpx.AsyncClient to restore parity with the previous requests-based behavior (no timeout). Fixes #4431 Co-authored-by: Xiang (Sean) Zhou PiperOrigin-RevId: 885287948 --- .../openapi_spec_parser/rest_api_tool.py | 3 +- .../openapi_spec_parser/test_rest_api_tool.py | 42 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/google/adk/tools/openapi_tool/openapi_spec_parser/rest_api_tool.py b/src/google/adk/tools/openapi_tool/openapi_spec_parser/rest_api_tool.py index 5f83548980..fa32ce932a 100644 --- a/src/google/adk/tools/openapi_tool/openapi_spec_parser/rest_api_tool.py +++ b/src/google/adk/tools/openapi_tool/openapi_spec_parser/rest_api_tool.py @@ -571,6 +571,7 @@ def __repr__(self): async def _request(**request_params) -> httpx.Response: async with httpx.AsyncClient( - verify=request_params.pop("verify", True) + verify=request_params.pop("verify", True), + timeout=None, ) as client: return await client.request(**request_params) diff --git a/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_rest_api_tool.py b/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_rest_api_tool.py index 1131181acd..64c8b37200 100644 --- a/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_rest_api_tool.py +++ b/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_rest_api_tool.py @@ -1088,6 +1088,48 @@ async def test_call_with_verify_options( else: assert call_kwargs["verify"] == expected_verify_in_call + async def test_request_uses_no_default_timeout( + self, + mock_tool_context, + sample_endpoint, + sample_operation, + sample_auth_scheme, + sample_auth_credential, + ): + """Test that _request creates AsyncClient with timeout=None. + + httpx defaults to a 5-second timeout, which is too short for many + real-world API calls. Verify that we explicitly disable the timeout + to match the previous requests-library behavior (no timeout). + Regression test for https://github.com/google/adk-python/issues/4431. + """ + mock_response = mock.create_autospec(requests.Response, instance=True) + mock_response.json.return_value = {"result": "success"} + mock_response.configure_mock(status_code=200) + + mock_client = mock.create_autospec( + httpx.AsyncClient, instance=True, spec_set=True + ) + mock_client.request = AsyncMock(return_value=mock_response) + + tool = RestApiTool( + name="test_tool", + description="Test Tool", + endpoint=sample_endpoint, + operation=sample_operation, + auth_scheme=sample_auth_scheme, + auth_credential=sample_auth_credential, + ) + + with patch.object( + httpx, "AsyncClient", return_value=mock_client, autospec=True + ) as mock_async_client: + await tool.call(args={}, tool_context=mock_tool_context) + + assert mock_async_client.called + _, call_kwargs = mock_async_client.call_args + assert call_kwargs["timeout"] is None + async def test_call_with_configure_verify( self, mock_tool_context, From b8e764715cb1cc7c8bc1de9aa94ca5f5271bb627 Mon Sep 17 00:00:00 2001 From: George Weale Date: Tue, 17 Mar 2026 19:54:56 -0700 Subject: [PATCH 42/51] fix: Reject appends to stale sessions in DatabaseSessionService This change introduces optimistic concurrency control for session updates. Instead of automatically reloading and merging when an append is attempted on a session that has been modified in storage, the service now raises a ValueError. Close #4751 Co-authored-by: George Weale PiperOrigin-RevId: 885334444 --- .../adk/sessions/database_session_service.py | 89 +++++++++++---- src/google/adk/sessions/schemas/v0.py | 11 +- src/google/adk/sessions/schemas/v1.py | 11 +- src/google/adk/sessions/session.py | 4 + .../sessions/test_session_service.py | 107 ++++++++++++++++-- 5 files changed, 184 insertions(+), 38 deletions(-) diff --git a/src/google/adk/sessions/database_session_service.py b/src/google/adk/sessions/database_session_service.py index eed1d9eae6..bb00aefe4f 100644 --- a/src/google/adk/sessions/database_session_service.py +++ b/src/google/adk/sessions/database_session_service.py @@ -61,6 +61,11 @@ logger = logging.getLogger("google_adk." + __name__) +_STALE_SESSION_ERROR_MESSAGE = ( + "The session has been modified in storage since it was loaded. " + "Please reload the session before appending more events." +) + _SQLITE_DIALECT = "sqlite" _MARIADB_DIALECT = "mariadb" _MYSQL_DIALECT = "mysql" @@ -309,6 +314,39 @@ async def _prepare_tables(self): self._tables_created = True + async def _session_matches_storage_revision( + self, + *, + sql_session: DatabaseSessionFactory, + schema: _SchemaClasses, + session: Session, + ) -> bool: + """Returns whether a marker-less session still matches stored events.""" + if not session.events: + stmt = ( + select(schema.StorageEvent.id) + .filter(schema.StorageEvent.app_name == session.app_name) + .filter(schema.StorageEvent.session_id == session.id) + .filter(schema.StorageEvent.user_id == session.user_id) + .limit(1) + ) + result = await sql_session.execute(stmt) + return result.scalar_one_or_none() is None + + stmt = ( + select(schema.StorageEvent.id) + .filter(schema.StorageEvent.app_name == session.app_name) + .filter(schema.StorageEvent.session_id == session.id) + .filter(schema.StorageEvent.user_id == session.user_id) + .order_by( + schema.StorageEvent.timestamp.desc(), schema.StorageEvent.id.desc() + ) + .limit(1) + ) + result = await sql_session.execute(stmt) + latest_storage_event_id = result.scalar_one_or_none() + return latest_storage_event_id == session.events[-1].id + @override async def create_session( self, @@ -529,9 +567,9 @@ async def append_event(self, session: Session, event: Event) -> Event: # Trim temp state before persisting event = self._trim_temp_delta_state(event) - # 1. Check if timestamp is stale - # 2. Update session attributes based on event config - # 3. Store event to table + # 1. Validate the session has not gone stale. + # 2. Update session attributes based on event config. + # 3. Store the new event. schema = self._get_schema_classes() is_sqlite = self.db_engine.dialect.name == _SQLITE_DIALECT use_row_level_locking = self._supports_row_level_locking() @@ -563,6 +601,8 @@ async def append_event(self, session: Session, event: Event) -> Event: storage_session = storage_session_result.scalars().one_or_none() if storage_session is None: raise ValueError(f"Session {session.id} not found.") + storage_update_time = storage_session.get_update_timestamp(is_sqlite) + storage_update_marker = storage_session.get_update_marker() storage_app_state = await _select_required_state( sql_session=sql_session, @@ -591,27 +631,27 @@ async def append_event(self, session: Session, event: Event) -> Event: ), ) - if ( - storage_session.get_update_timestamp(is_sqlite) - > session.last_update_time - ): - # Reload the session from storage if it has been updated since it was - # loaded. - app_state = storage_app_state.state - user_state = storage_user_state.state - session_state = storage_session.state - session.state = _merge_state(app_state, user_state, session_state) - - stmt = ( - select(schema.StorageEvent) - .filter(schema.StorageEvent.app_name == session.app_name) - .filter(schema.StorageEvent.session_id == session.id) - .filter(schema.StorageEvent.user_id == session.user_id) - .order_by(schema.StorageEvent.timestamp.asc()) - ) - result = await sql_session.stream_scalars(stmt) - storage_events = [e async for e in result] - session.events = [e.to_event() for e in storage_events] + if session._storage_update_marker is not None: + # Sessions loaded by DatabaseSessionService carry an exact storage + # revision marker, so stale-writer detection can use that marker + # instead of relying on rounded timestamps. + if session._storage_update_marker != storage_update_marker: + raise ValueError(_STALE_SESSION_ERROR_MESSAGE) + # Keep the float timestamp synchronized with the exact storage value + # so tiny round-trip differences do not trigger false stale checks on + # the next append. + session.last_update_time = storage_update_time + elif storage_update_time > session.last_update_time: + # Backward-compatible fallback for marker-less session objects, such + # as older in-memory sessions or manually constructed Session values. + # Only reject when storage has actually advanced beyond the in-memory + # revision represented by session.events. + if not await self._session_matches_storage_revision( + sql_session=sql_session, schema=schema, session=session + ): + raise ValueError(_STALE_SESSION_ERROR_MESSAGE) + session.last_update_time = storage_update_time + session._storage_update_marker = storage_update_marker # Merge pre-extracted state deltas into storage. if has_app_delta: @@ -642,6 +682,7 @@ async def append_event(self, session: Session, event: Event) -> Event: session.last_update_time = storage_session.get_update_timestamp( is_sqlite ) + session._storage_update_marker = storage_session.get_update_marker() # Also update the in-memory session await super().append_event(session=session, event=event) diff --git a/src/google/adk/sessions/schemas/v0.py b/src/google/adk/sessions/schemas/v0.py index a95d0b9de5..3113c4c441 100644 --- a/src/google/adk/sessions/schemas/v0.py +++ b/src/google/adk/sessions/schemas/v0.py @@ -154,6 +154,13 @@ def get_update_timestamp(self, is_sqlite: bool) -> float: return self.update_time.replace(tzinfo=timezone.utc).timestamp() return self.update_time.timestamp() + def get_update_marker(self) -> str: + """Returns a stable revision marker for optimistic concurrency checks.""" + update_time = self.update_time + if update_time.tzinfo is not None: + update_time = update_time.astimezone(timezone.utc) + return update_time.isoformat(timespec="microseconds") + def to_session( self, state: dict[str, Any] | None = None, @@ -166,7 +173,7 @@ def to_session( if events is None: events = [] - return Session( + session = Session( app_name=self.app_name, user_id=self.user_id, id=self.id, @@ -174,6 +181,8 @@ def to_session( events=events, last_update_time=self.get_update_timestamp(is_sqlite=is_sqlite), ) + session._storage_update_marker = self.get_update_marker() + return session class StorageEvent(Base): diff --git a/src/google/adk/sessions/schemas/v1.py b/src/google/adk/sessions/schemas/v1.py index 7ee8c811fd..3b2c550935 100644 --- a/src/google/adk/sessions/schemas/v1.py +++ b/src/google/adk/sessions/schemas/v1.py @@ -128,6 +128,13 @@ def get_update_timestamp(self, is_sqlite: bool) -> float: return self.update_time.replace(tzinfo=timezone.utc).timestamp() return self.update_time.timestamp() + def get_update_marker(self) -> str: + """Returns a stable revision marker for optimistic concurrency checks.""" + update_time = self.update_time + if update_time.tzinfo is not None: + update_time = update_time.astimezone(timezone.utc) + return update_time.isoformat(timespec="microseconds") + def to_session( self, state: dict[str, Any] | None = None, @@ -140,7 +147,7 @@ def to_session( if events is None: events = [] - return Session( + session = Session( app_name=self.app_name, user_id=self.user_id, id=self.id, @@ -148,6 +155,8 @@ def to_session( events=events, last_update_time=self.get_update_timestamp(is_sqlite=is_sqlite), ) + session._storage_update_marker = self.get_update_marker() + return session class StorageEvent(Base): diff --git a/src/google/adk/sessions/session.py b/src/google/adk/sessions/session.py index 89af1d4167..24d200efdb 100644 --- a/src/google/adk/sessions/session.py +++ b/src/google/adk/sessions/session.py @@ -20,6 +20,7 @@ from pydantic import BaseModel from pydantic import ConfigDict from pydantic import Field +from pydantic import PrivateAttr from ..events.event import Event @@ -48,3 +49,6 @@ class Session(BaseModel): call/response, etc.""" last_update_time: float = 0.0 """The last update time of the session.""" + + _storage_update_marker: str | None = PrivateAttr(default=None) + """Internal storage revision marker used for stale-session detection.""" diff --git a/tests/unittests/sessions/test_session_service.py b/tests/unittests/sessions/test_session_service.py index 9686596b93..0a7721088e 100644 --- a/tests/unittests/sessions/test_session_service.py +++ b/tests/unittests/sessions/test_session_service.py @@ -657,28 +657,27 @@ async def test_append_event_to_stale_session(): assert len(original_session.events) == 1 assert 'sk2' not in original_session.state - # Appending another event to stale original_session + # Appending another event to stale original_session should be rejected. event3 = Event( invocation_id='inv3', author='user', timestamp=current_time + 3, actions=EventActions(state_delta={'sk3': 'v3'}), ) - await session_service.append_event(original_session, event3) + with pytest.raises(ValueError, match='modified in storage'): + await session_service.append_event(original_session, event3) - # If we fetch session from DB, it should contain all 3 events and all state - # changes. + # If we fetch session from DB, it should only contain the committed events. session_final = await session_service.get_session( app_name=app_name, user_id=user_id, session_id=original_session.id ) - assert len(session_final.events) == 3 + assert len(session_final.events) == 2 assert session_final.state.get('sk1') == 'v1' assert session_final.state.get('sk2') == 'v2' - assert session_final.state.get('sk3') == 'v3' + assert session_final.state.get('sk3') is None assert [e.invocation_id for e in session_final.events] == [ 'inv1', 'inv2', - 'inv3', ] @@ -738,7 +737,7 @@ async def test_append_event_raises_if_user_state_row_missing(): @pytest.mark.asyncio -async def test_append_event_concurrent_stale_sessions_preserve_all_state(): +async def test_append_event_concurrent_stale_sessions_reject_stale_writer(): session_service = get_session_service( service_type=SessionServiceType.DATABASE ) @@ -771,19 +770,103 @@ async def test_append_event_concurrent_stale_sessions_preserve_all_state(): actions=EventActions(state_delta={f'sk{i}-2': f'v{i}-2'}), ) - await asyncio.gather( + results = await asyncio.gather( session_service.append_event(stale_session_1, event_1), session_service.append_event(stale_session_2, event_2), + return_exceptions=True, ) + errors = [result for result in results if isinstance(result, Exception)] + successes = [ + result for result in results if not isinstance(result, Exception) + ] + assert len(successes) == 1 + assert len(errors) == 1 + assert isinstance(errors[0], ValueError) + assert 'modified in storage' in str(errors[0]) session_final = await session_service.get_session( app_name=app_name, user_id=user_id, session_id=session.id ) for i in range(iteration_count): - assert session_final.state.get(f'sk{i}-1') == f'v{i}-1' - assert session_final.state.get(f'sk{i}-2') == f'v{i}-2' - assert len(session_final.events) == iteration_count * 2 + event_values = { + session_final.state.get(f'sk{i}-1'), + session_final.state.get(f'sk{i}-2'), + } + assert event_values & {f'v{i}-1', f'v{i}-2'} + assert None in event_values + assert len(session_final.events) == iteration_count + + +@pytest.mark.asyncio +async def test_append_event_allows_timestamp_drift_for_current_session(): + service = DatabaseSessionService('sqlite+aiosqlite:///:memory:') + try: + session = await service.create_session( + app_name='my_app', user_id='user', session_id='s1' + ) + event1 = Event( + invocation_id='inv1', + author='user', + timestamp=session.last_update_time + 10, + ) + await service.append_event(session, event1) + + # Simulate a float round-trip mismatch without changing the persisted + # session revision. + session.last_update_time -= 0.0001 + + event2 = Event( + invocation_id='inv2', + author='user', + timestamp=event1.timestamp + 10, + ) + await service.append_event(session, event2) + + refreshed_session = await service.get_session( + app_name='my_app', user_id='user', session_id=session.id + ) + assert [event.invocation_id for event in refreshed_session.events] == [ + 'inv1', + 'inv2', + ] + finally: + await service.close() + + +@pytest.mark.asyncio +async def test_append_event_allows_markerless_current_session(): + service = DatabaseSessionService('sqlite+aiosqlite:///:memory:') + try: + session = await service.create_session( + app_name='my_app', user_id='user', session_id='s1' + ) + event1 = Event( + invocation_id='inv1', + author='user', + timestamp=session.last_update_time + 10, + ) + await service.append_event(session, event1) + + session._storage_update_marker = None + session.last_update_time -= 0.0001 + + event2 = Event( + invocation_id='inv2', + author='user', + timestamp=event1.timestamp + 10, + ) + await service.append_event(session, event2) + + refreshed_session = await service.get_session( + app_name='my_app', user_id='user', session_id=session.id + ) + assert [event.invocation_id for event in refreshed_session.events] == [ + 'inv1', + 'inv2', + ] + finally: + await service.close() @pytest.mark.asyncio From b6185f742d235245abf7208f6a2a71a2b3ac64c6 Mon Sep 17 00:00:00 2001 From: sasha-gitg <44654632+sasha-gitg@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:06:51 -0700 Subject: [PATCH 43/51] chore: move release workflows to main Merge https://github.com/google/adk-python/pull/4879 COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4879 from sasha-gitg:add-v2-release-workflows-to-main f28f3d1ca069b4a1624253fe49c5a0b04f48c5c9 PiperOrigin-RevId: 885627463 --- .github/.release-please-manifest-v2.json | 3 + .github/release-please-config-v2.json | 62 ++++++++++++++ .github/workflows/release-v2-cherry-pick.yml | 43 ++++++++++ .github/workflows/release-v2-cut.yml | 46 +++++++++++ .github/workflows/release-v2-finalize.yml | 85 ++++++++++++++++++++ .github/workflows/release-v2-please.yml | 41 ++++++++++ .github/workflows/release-v2-publish.yml | 79 ++++++++++++++++++ .github/workflows/v2-sync.yml | 59 ++++++++++++++ 8 files changed, 418 insertions(+) create mode 100644 .github/.release-please-manifest-v2.json create mode 100644 .github/release-please-config-v2.json create mode 100644 .github/workflows/release-v2-cherry-pick.yml create mode 100644 .github/workflows/release-v2-cut.yml create mode 100644 .github/workflows/release-v2-finalize.yml create mode 100644 .github/workflows/release-v2-please.yml create mode 100644 .github/workflows/release-v2-publish.yml create mode 100644 .github/workflows/v2-sync.yml diff --git a/.github/.release-please-manifest-v2.json b/.github/.release-please-manifest-v2.json new file mode 100644 index 0000000000..0739396e62 --- /dev/null +++ b/.github/.release-please-manifest-v2.json @@ -0,0 +1,3 @@ +{ + ".": "2.0.0-alpha.0" +} diff --git a/.github/release-please-config-v2.json b/.github/release-please-config-v2.json new file mode 100644 index 0000000000..6947d9e15a --- /dev/null +++ b/.github/release-please-config-v2.json @@ -0,0 +1,62 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + ".": { + "release-type": "python", + "versioning": "prerelease", + "prerelease": true, + "prerelease-type": "alpha", + "package-name": "google-adk", + "include-component-in-tag": false, + "skip-github-release": true, + "changelog-path": "CHANGELOG-v2.md", + "changelog-sections": [ + { + "type": "feat", + "section": "Features" + }, + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "perf", + "section": "Performance Improvements" + }, + { + "type": "refactor", + "section": "Code Refactoring" + }, + { + "type": "docs", + "section": "Documentation" + }, + { + "type": "test", + "section": "Tests", + "hidden": true + }, + { + "type": "build", + "section": "Build System", + "hidden": true + }, + { + "type": "ci", + "section": "CI/CD", + "hidden": true + }, + { + "type": "style", + "section": "Styles", + "hidden": true + }, + { + "type": "chore", + "section": "Miscellaneous Chores", + "hidden": true + } + ] + } + } +} diff --git a/.github/workflows/release-v2-cherry-pick.yml b/.github/workflows/release-v2-cherry-pick.yml new file mode 100644 index 0000000000..f5641a55b3 --- /dev/null +++ b/.github/workflows/release-v2-cherry-pick.yml @@ -0,0 +1,43 @@ +# Step 3 (v2, optional): Cherry-picks a commit from v2 to the release/v2-candidate branch. +# Use between step 1 and step 4 to include bug fixes in an in-progress release. +# Note: Does NOT auto-trigger release-please to preserve manual changelog edits. +name: "Release v2: Cherry-pick" + +on: + workflow_dispatch: + inputs: + commit_sha: + description: 'Commit SHA to cherry-pick' + required: true + type: string + +permissions: + contents: write + +jobs: + cherry-pick: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + ref: release/v2-candidate + fetch-depth: 0 + + - name: Configure git + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + - name: Cherry-pick commit + run: | + echo "Cherry-picking ${INPUTS_COMMIT_SHA} to release/v2-candidate" + git cherry-pick ${INPUTS_COMMIT_SHA} + env: + INPUTS_COMMIT_SHA: ${{ inputs.commit_sha }} + + - name: Push changes + run: | + git push origin release/v2-candidate + echo "Successfully cherry-picked commit to release/v2-candidate" + echo "Note: Release Please is NOT auto-triggered to preserve manual changelog edits." + echo "Run release-v2-please.yml manually if you want to regenerate the changelog." diff --git a/.github/workflows/release-v2-cut.yml b/.github/workflows/release-v2-cut.yml new file mode 100644 index 0000000000..52af5bf038 --- /dev/null +++ b/.github/workflows/release-v2-cut.yml @@ -0,0 +1,46 @@ +# Step 1 (v2): Starts the v2 release process by creating a release/v2-candidate branch. +# Generates a changelog PR for review (step 2). +name: "Release v2: Cut" + +on: + workflow_dispatch: + inputs: + commit_sha: + description: 'Commit SHA to cut from (leave empty for latest v2)' + required: false + type: string + +permissions: + contents: write + actions: write + +jobs: + cut-release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + ref: ${{ inputs.commit_sha || 'v2' }} + + - name: Check for existing release/v2-candidate branch + env: + GH_TOKEN: ${{ github.token }} + run: | + if git ls-remote --exit-code --heads origin release/v2-candidate &>/dev/null; then + echo "Error: release/v2-candidate branch already exists" + echo "Please finalize or delete the existing release candidate before starting a new one" + exit 1 + fi + + - name: Create and push release/v2-candidate branch + run: | + git checkout -b release/v2-candidate + git push origin release/v2-candidate + echo "Created branch: release/v2-candidate" + + - name: Trigger Release Please + env: + GH_TOKEN: ${{ github.token }} + run: | + gh workflow run release-v2-please.yml --repo ${{ github.repository }} --ref release/v2-candidate + echo "Triggered Release Please workflow for v2" diff --git a/.github/workflows/release-v2-finalize.yml b/.github/workflows/release-v2-finalize.yml new file mode 100644 index 0000000000..c8b1020948 --- /dev/null +++ b/.github/workflows/release-v2-finalize.yml @@ -0,0 +1,85 @@ +# Step 4 (v2): Triggers when the changelog PR is merged to release/v2-candidate. +# Records last-release-sha and renames release/v2-candidate to release/v{version}. +name: "Release v2: Finalize" + +on: + pull_request: + types: [closed] + branches: + - release/v2-candidate + +permissions: + contents: write + pull-requests: write + +jobs: + finalize: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - name: Check for release-please PR + id: check + env: + LABELS: ${{ toJson(github.event.pull_request.labels.*.name) }} + run: | + if echo "$LABELS" | grep -q "autorelease: pending"; then + echo "is_release_pr=true" >> $GITHUB_OUTPUT + else + echo "Not a release-please PR, skipping" + echo "is_release_pr=false" >> $GITHUB_OUTPUT + fi + + - uses: actions/checkout@v6 + if: steps.check.outputs.is_release_pr == 'true' + with: + ref: release/v2-candidate + token: ${{ secrets.RELEASE_PAT }} + fetch-depth: 0 + + - name: Extract version from manifest + if: steps.check.outputs.is_release_pr == 'true' + id: version + run: | + VERSION=$(jq -r '.["."]' .github/.release-please-manifest-v2.json) + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Extracted version: $VERSION" + + - name: Configure git identity from RELEASE_PAT + if: steps.check.outputs.is_release_pr == 'true' + env: + GH_TOKEN: ${{ secrets.RELEASE_PAT }} + run: | + USER_JSON=$(gh api user) + git config user.name "$(echo "$USER_JSON" | jq -r '.login')" + git config user.email "$(echo "$USER_JSON" | jq -r '.id')+$(echo "$USER_JSON" | jq -r '.login')@users.noreply.github.com" + + - name: Record last-release-sha for release-please + if: steps.check.outputs.is_release_pr == 'true' + run: | + git fetch origin v2 + CUT_SHA=$(git merge-base origin/v2 HEAD) + echo "Release was cut from v2 at: $CUT_SHA" + jq --arg sha "$CUT_SHA" '. + {"last-release-sha": $sha}' \ + .github/release-please-config-v2.json > tmp.json && mv tmp.json .github/release-please-config-v2.json + git add .github/release-please-config-v2.json + git commit -m "chore: update last-release-sha for next v2 release" + git push origin release/v2-candidate + + - name: Rename release/v2-candidate to release/v{version} + if: steps.check.outputs.is_release_pr == 'true' + run: | + VERSION="v${STEPS_VERSION_OUTPUTS_VERSION}" + git push origin "release/v2-candidate:refs/heads/release/$VERSION" ":release/v2-candidate" + echo "Renamed release/v2-candidate to release/$VERSION" + env: + STEPS_VERSION_OUTPUTS_VERSION: ${{ steps.version.outputs.version }} + + - name: Update PR label to tagged + if: steps.check.outputs.is_release_pr == 'true' + env: + GH_TOKEN: ${{ github.token }} + run: | + gh pr edit ${{ github.event.pull_request.number }} \ + --remove-label "autorelease: pending" \ + --add-label "autorelease: tagged" + echo "Updated PR label to autorelease: tagged" diff --git a/.github/workflows/release-v2-please.yml b/.github/workflows/release-v2-please.yml new file mode 100644 index 0000000000..d659ca1c4e --- /dev/null +++ b/.github/workflows/release-v2-please.yml @@ -0,0 +1,41 @@ +# Runs release-please to create/update a PR with version bump and changelog for v2. +# Triggered only by workflow_dispatch (from release-v2-cut.yml). +# Does NOT auto-run on push to preserve manual changelog edits after cherry-picks. +name: "Release v2: Please" + +on: + # Only run via workflow_dispatch (triggered by release-v2-cut.yml) + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - name: Check if release/v2-candidate still exists + id: check + env: + GH_TOKEN: ${{ github.token }} + run: | + if gh api repos/${{ github.repository }}/branches/release/v2-candidate --silent 2>/dev/null; then + echo "exists=true" >> $GITHUB_OUTPUT + else + echo "release/v2-candidate branch no longer exists, skipping" + echo "exists=false" >> $GITHUB_OUTPUT + fi + + - uses: actions/checkout@v6 + if: steps.check.outputs.exists == 'true' + with: + ref: release/v2-candidate + + - uses: googleapis/release-please-action@v4 + if: steps.check.outputs.exists == 'true' + with: + token: ${{ secrets.RELEASE_PAT }} + config-file: .github/release-please-config-v2.json + manifest-file: .github/.release-please-manifest-v2.json + target-branch: release/v2-candidate diff --git a/.github/workflows/release-v2-publish.yml b/.github/workflows/release-v2-publish.yml new file mode 100644 index 0000000000..3ecb8f677d --- /dev/null +++ b/.github/workflows/release-v2-publish.yml @@ -0,0 +1,79 @@ +# Step 6 (v2): Builds and publishes the v2 package to PyPI from a release/v{version} branch. +# Converts semver pre-release version to PEP 440 format before building. +# Creates a merge-back PR (step 7) to sync release changes to v2. +name: "Release v2: Publish to PyPi" + +on: + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Validate branch + run: | + if [[ ! "${GITHUB_REF_NAME}" =~ ^release/v[0-9]+\.[0-9]+\.[0-9]+ ]]; then + echo "Error: Must run from a release/v* branch (e.g., release/v2.0.0-alpha.1)" + exit 1 + fi + + - name: Extract and convert version to PEP 440 + id: version + run: | + VERSION="${GITHUB_REF_NAME}" + VERSION="${VERSION#release/v}" + echo "semver=$VERSION" >> $GITHUB_OUTPUT + echo "Semver version: $VERSION" + + # Convert semver pre-release to PEP 440: + # 2.0.0-alpha.1 -> 2.0.0a1 + # 2.0.0-beta.1 -> 2.0.0b1 + # 2.0.0-rc.1 -> 2.0.0rc1 + # 2.0.0 -> 2.0.0 (no change for stable) + PEP440=$(echo "$VERSION" | sed -E 's/-alpha\./a/; s/-beta\./b/; s/-rc\./rc/') + echo "pep440=$PEP440" >> $GITHUB_OUTPUT + echo "PEP 440 version: $PEP440" + + - uses: actions/checkout@v6 + + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + version: "latest" + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Update pyproject.toml with PEP 440 version + env: + PEP440_VERSION: ${{ steps.version.outputs.pep440 }} + run: | + # Update version in pyproject.toml if it differs from PEP 440 + sed -i "s/^version = .*/version = \"${PEP440_VERSION}\"/" pyproject.toml + echo "Updated pyproject.toml version to ${PEP440_VERSION}" + + - name: Build package + run: uv build + + - name: Publish to PyPI + env: + UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }} + run: uv publish + + - name: Create merge-back PR + env: + GH_TOKEN: ${{ secrets.RELEASE_PAT }} + SEMVER_VERSION: ${{ steps.version.outputs.semver }} + PEP440_VERSION: ${{ steps.version.outputs.pep440 }} + run: | + gh pr create \ + --base v2 \ + --head "${GITHUB_REF_NAME}" \ + --title "chore: merge release v${PEP440_VERSION} to v2" \ + --body "Syncs version bump and CHANGELOG from release v${SEMVER_VERSION} to v2." diff --git a/.github/workflows/v2-sync.yml b/.github/workflows/v2-sync.yml new file mode 100644 index 0000000000..c627f40d46 --- /dev/null +++ b/.github/workflows/v2-sync.yml @@ -0,0 +1,59 @@ +# Automatically creates a PR to merge main (v1) into v2 to keep v2 up to date. +# The oncall is responsible for reviewing and merging the sync PR. +name: "Sync: main -> v2" + +on: + schedule: + - cron: '0 6 * * *' # Daily at 6am UTC + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + ref: v2 + fetch-depth: 0 + token: ${{ secrets.RELEASE_PAT }} + + - name: Check for new commits on main + id: check + run: | + git fetch origin main + BEHIND=$(git rev-list --count HEAD..origin/main) + echo "behind=$BEHIND" >> $GITHUB_OUTPUT + if [ "$BEHIND" -eq 0 ]; then + echo "v2 is up to date with main, nothing to sync" + else + echo "v2 is $BEHIND commit(s) behind main" + fi + + - name: Check for existing sync PR + if: steps.check.outputs.behind != '0' + id: existing + env: + GH_TOKEN: ${{ github.token }} + run: | + PR=$(gh pr list --base v2 --head main --state open --json number --jq '.[0].number // empty') + if [ -n "$PR" ]; then + echo "Sync PR #$PR already exists, skipping" + echo "exists=true" >> $GITHUB_OUTPUT + else + echo "exists=false" >> $GITHUB_OUTPUT + fi + + - name: Create sync PR + if: steps.check.outputs.behind != '0' && steps.existing.outputs.exists == 'false' + env: + GH_TOKEN: ${{ secrets.RELEASE_PAT }} + run: | + gh pr create \ + --base v2 \ + --head main \ + --title "chore: sync main -> v2" \ + --body "Automated sync of v1 changes from main into v2. The oncall is responsible for reviewing and merging this PR. Resolve conflicts in favor of the v2 implementation." From 99a31bf77ea6fb2c53c313094734611dcb87b1e2 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Wed, 18 Mar 2026 13:28:20 -0700 Subject: [PATCH 44/51] refactor: rename agent simulator to environment simulation. Also add tracing into environment simulation PiperOrigin-RevId: 885759367 --- src/google/adk/features/_feature_registry.py | 4 + .../adk/tools/agent_simulator/__init__.py | 13 +- .../agent_simulator/agent_simulator_config.py | 177 +++----------- .../agent_simulator/agent_simulator_engine.py | 128 +--------- .../agent_simulator_factory.py | 61 +---- .../agent_simulator/agent_simulator_plugin.py | 32 +-- .../agent_simulator/strategies/__init__.py | 9 + .../tools/agent_simulator/strategies/base.py | 49 +--- .../strategies/tool_spec_mock_strategy.py | 196 +-------------- .../tool_connection_analyzer.py | 131 +--------- .../agent_simulator/tool_connection_map.py | 30 +-- .../tools/environment_simulation/__init__.py | 17 ++ .../environment_simulation_config.py | 170 +++++++++++++ .../environment_simulation_engine.py | 146 +++++++++++ .../environment_simulation_factory.py | 74 ++++++ .../environment_simulation_plugin.py | 44 ++++ .../strategies}/__init__.py | 0 .../environment_simulation/strategies/base.py | 65 +++++ .../strategies/tool_spec_mock_strategy.py | 228 ++++++++++++++++++ .../tool_connection_analyzer.py | 146 +++++++++++ .../tool_connection_map.py | 44 ++++ .../tools/environment_simulation/__init__.py | 13 + .../test_environment_simulation_engine.py} | 55 +++-- .../test_environment_simulation_factory.py} | 28 +-- .../test_environment_simulation_plugin.py} | 10 +- 25 files changed, 1125 insertions(+), 745 deletions(-) create mode 100644 src/google/adk/tools/environment_simulation/__init__.py create mode 100644 src/google/adk/tools/environment_simulation/environment_simulation_config.py create mode 100644 src/google/adk/tools/environment_simulation/environment_simulation_engine.py create mode 100644 src/google/adk/tools/environment_simulation/environment_simulation_factory.py create mode 100644 src/google/adk/tools/environment_simulation/environment_simulation_plugin.py rename {tests/unittests/tools/agent_simulator => src/google/adk/tools/environment_simulation/strategies}/__init__.py (100%) create mode 100644 src/google/adk/tools/environment_simulation/strategies/base.py create mode 100644 src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py create mode 100644 src/google/adk/tools/environment_simulation/tool_connection_analyzer.py create mode 100644 src/google/adk/tools/environment_simulation/tool_connection_map.py create mode 100644 tests/unittests/tools/environment_simulation/__init__.py rename tests/unittests/tools/{agent_simulator/test_agent_simulator_engine.py => environment_simulation/test_environment_simulation_engine.py} (77%) rename tests/unittests/tools/{agent_simulator/test_agent_simulator_factory.py => environment_simulation/test_environment_simulation_factory.py} (60%) rename tests/unittests/tools/{agent_simulator/test_agent_simulator_plugin.py => environment_simulation/test_environment_simulation_plugin.py} (79%) diff --git a/src/google/adk/features/_feature_registry.py b/src/google/adk/features/_feature_registry.py index 61759245f2..e42ebac6a9 100644 --- a/src/google/adk/features/_feature_registry.py +++ b/src/google/adk/features/_feature_registry.py @@ -37,6 +37,7 @@ class FeatureName(str, Enum): COMPUTER_USE = "COMPUTER_USE" DATA_AGENT_TOOL_CONFIG = "DATA_AGENT_TOOL_CONFIG" DATA_AGENT_TOOLSET = "DATA_AGENT_TOOLSET" + ENVIRONMENT_SIMULATION = "ENVIRONMENT_SIMULATION" GOOGLE_CREDENTIALS_CONFIG = "GOOGLE_CREDENTIALS_CONFIG" GOOGLE_TOOL = "GOOGLE_TOOL" JSON_SCHEMA_FOR_FUNC_DECL = "JSON_SCHEMA_FOR_FUNC_DECL" @@ -116,6 +117,9 @@ class FeatureConfig: FeatureName.DATA_AGENT_TOOLSET: FeatureConfig( FeatureStage.EXPERIMENTAL, default_on=True ), + FeatureName.ENVIRONMENT_SIMULATION: FeatureConfig( + FeatureStage.EXPERIMENTAL, default_on=True + ), FeatureName.GOOGLE_CREDENTIALS_CONFIG: FeatureConfig( FeatureStage.EXPERIMENTAL, default_on=True ), diff --git a/src/google/adk/tools/agent_simulator/__init__.py b/src/google/adk/tools/agent_simulator/__init__.py index 3c44035781..4e8b134b44 100644 --- a/src/google/adk/tools/agent_simulator/__init__.py +++ b/src/google/adk/tools/agent_simulator/__init__.py @@ -12,6 +12,15 @@ # See the License for the specific language governing permissions and # limitations under the License. -from google.adk.tools.agent_simulator.agent_simulator_factory import AgentSimulatorFactory +import warnings -__all__ = ["AgentSimulator"] +from google.adk.tools.environment_simulation import EnvironmentSimulationFactory as AgentSimulatorFactory + +warnings.warn( + "google.adk.tools.agent_simulator is moved to" + " google.adk.tools.environment_simulation", + DeprecationWarning, + stacklevel=2, +) + +__all__ = ["AgentSimulatorFactory"] diff --git a/src/google/adk/tools/agent_simulator/agent_simulator_config.py b/src/google/adk/tools/agent_simulator/agent_simulator_config.py index 17051c68b1..1b8b4df0ac 100644 --- a/src/google/adk/tools/agent_simulator/agent_simulator_config.py +++ b/src/google/adk/tools/agent_simulator/agent_simulator_config.py @@ -14,150 +14,51 @@ from __future__ import annotations -import enum from typing import Any -from typing import Dict -from typing import List -from typing import Optional +import warnings -from google.genai import types as genai_types -from pydantic import BaseModel -from pydantic import Field -from pydantic import field_validator +from google.adk.tools.environment_simulation.environment_simulation_config import EnvironmentSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_config import InjectedError +from google.adk.tools.environment_simulation.environment_simulation_config import InjectionConfig +from google.adk.tools.environment_simulation.environment_simulation_config import MockStrategy +from google.adk.tools.environment_simulation.environment_simulation_config import ToolSimulationConfig from pydantic import model_validator -from pydantic_core import ValidationError +warnings.warn( + "google.adk.tools.agent_simulator.agent_simulator_config is moved to" + " google.adk.tools.environment_simulation.environment_simulation_config", + DeprecationWarning, + stacklevel=2, +) -class InjectedError(BaseModel): - """An error to be injected into a tool call.""" - injected_http_error_code: int - """Inject http error code to the tool call. Will present as "error_code" - in the tool response dict.""" +class AgentSimulatorConfig(EnvironmentSimulationConfig): + """Deprecated AgentSimulatorConfig alias. - error_message: str - """Inject error message to the tool call. Will present as - "error_message" in the tool response dict.""" + Forwards tracing_path to tracing. + """ - -class InjectionConfig(BaseModel): - """Injection configuration for a tool.""" - - injection_probability: float = 1.0 - """Probability of injecting the injected_value.""" - - match_args: Optional[Dict[str, Any]] = None - """Only apply injection if the request matches the match_args. - If match_args is not provided, the injection will be applied to all - requests.""" - - injected_latency_seconds: float = Field(default=0.0, le=120.0) - """Inject latency to the tool call. Please note it may not be accurate if │ - the interceptor is applied as after tool callback.""" - - random_seed: Optional[int] = None - """The random seed to use for this injection.""" - - injected_error: Optional[InjectedError] = None - """The injected error.""" - - injected_response: Optional[Dict[str, Any]] = None - """The injected response.""" - - @model_validator(mode="after") - def check_injected_error_or_response(self) -> Self: - """Checks that either injected_error or injected_response is set.""" - if bool(self.injected_error) == bool(self.injected_response): - raise ValueError( - "Either injected_error or injected_response must be set, but not" - " both, and not neither." - ) - return self - - -class MockStrategy(enum.Enum): - """Mock strategy for a tool.""" - - MOCK_STRATEGY_UNSPECIFIED = 0 - - MOCK_STRATEGY_TOOL_SPEC = 1 - """Use tool specifications to mock the tool response.""" - - MOCK_STRATEGY_TRACING = 2 - """Use provided tracing and tool specifications to mock the tool - response based on llm response. Need to provide tracing path in - command.""" - - -class ToolSimulationConfig(BaseModel): - """Simulation configuration for a single tool.""" - - tool_name: str - """Name of the tool to be simulated.""" - - injection_configs: List[InjectionConfig] = Field(default_factory=list) - """Injection configuration for the tool. If provided, the tool will be - injected with the injected_value with the injection_probability first, - the mock_strategy will be applied if no injection config is hit.""" - - mock_strategy_type: MockStrategy = MockStrategy.MOCK_STRATEGY_UNSPECIFIED - """The mock strategy to use.""" - - @model_validator(mode="after") - def check_mock_strategy_type(self) -> Self: - """Checks that mock_strategy_type is not UNSPECIFIED if no injections.""" - if ( - not self.injection_configs - and self.mock_strategy_type == MockStrategy.MOCK_STRATEGY_UNSPECIFIED - ): - raise ValueError( - "If injection_configs is empty, mock_strategy_type cannot be" - " MOCK_STRATEGY_UNSPECIFIED." - ) - return self - - -class AgentSimulatorConfig(BaseModel): - """Configuration for AgentSimulator.""" - - tool_simulation_configs: List[ToolSimulationConfig] = Field( - default_factory=list - ) - """A list of tool simulation configurations.""" - - simulation_model: str = Field(default="gemini-2.5-flash") - """The model to use for internal simulator LLM calls (tool analysis, mock responses).""" - - simulation_model_configuration: genai_types.GenerateContentConfig = Field( - default_factory=lambda: genai_types.GenerateContentConfig( - thinking_config=genai_types.ThinkingConfig( - include_thoughts=False, - thinking_budget=10240, - ) - ), - ) - """The configuration for the internal simulator LLM calls.""" - - tracing_path: Optional[str] = None - """The path to the tracing file to be used for mocking. Only used if the - mock_strategy_type is MOCK_STRATEGY_TRACING.""" - - environment_data: Optional[str] = None - """Environment-specific data (e.g., a minimal database dump in JSON string - format). This data is passed directly to mock strategies for contextual - mock generation.""" - - @field_validator("tool_simulation_configs") + @model_validator(mode="before") @classmethod - def check_tool_simulation_configs(cls, v: List[ToolSimulationConfig]): - """Checks that tool_simulation_configs is not empty.""" - if not v: - raise ValueError("tool_simulation_configs must be provided.") - seen_tool_names = set() - for tool_sim_config in v: - if tool_sim_config.tool_name in seen_tool_names: - raise ValueError( - f"Duplicate tool_name found: {tool_sim_config.tool_name}" - ) - seen_tool_names.add(tool_sim_config.tool_name) - return v + def convert_tracing_path(cls, data: Any) -> Any: + """Convert tracing_path to tracing.""" + if isinstance(data, dict) and "tracing_path" in data: + warnings.warn( + "`tracing_path` is deprecated. Use `tracing` instead.", + DeprecationWarning, + stacklevel=2, + ) + if "tracing" not in data: + data["tracing"] = data.pop("tracing_path") + else: + data.pop("tracing_path") + return data + + +__all__ = [ + "AgentSimulatorConfig", + "InjectedError", + "InjectionConfig", + "MockStrategy", + "ToolSimulationConfig", +] diff --git a/src/google/adk/tools/agent_simulator/agent_simulator_engine.py b/src/google/adk/tools/agent_simulator/agent_simulator_engine.py index 577e8639e0..91d3962f4e 100644 --- a/src/google/adk/tools/agent_simulator/agent_simulator_engine.py +++ b/src/google/adk/tools/agent_simulator/agent_simulator_engine.py @@ -14,125 +14,15 @@ from __future__ import annotations -import asyncio -import concurrent.futures -import logging -import random -import time -from typing import Any -from typing import Dict -from typing import Optional +import warnings -agent_simulator_logger = logging.getLogger("agent_simulator_logger") +from google.adk.tools.environment_simulation.environment_simulation_engine import EnvironmentSimulationEngine as AgentSimulatorEngine -from google.adk.agents.llm_agent import LlmAgent -from google.adk.tools.agent_simulator.agent_simulator_config import AgentSimulatorConfig -from google.adk.tools.agent_simulator.agent_simulator_config import MockStrategy as MockStrategyEnum -from google.adk.tools.agent_simulator.agent_simulator_config import ToolSimulationConfig -from google.adk.tools.agent_simulator.strategies import base as base_mock_strategies -from google.adk.tools.agent_simulator.strategies import tool_spec_mock_strategy -from google.adk.tools.agent_simulator.tool_connection_analyzer import ToolConnectionAnalyzer -from google.adk.tools.agent_simulator.tool_connection_map import ToolConnectionMap -from google.adk.tools.base_tool import BaseTool +warnings.warn( + "google.adk.tools.agent_simulator.agent_simulator_engine is moved to" + " google.adk.tools.environment_simulation.environment_simulation_engine", + DeprecationWarning, + stacklevel=2, +) - -def _create_mock_strategy( - mock_strategy_type: MockStrategyEnum, - llm_name: str, - llm_config: genai_types.GenerateContentConfig, -) -> base_mock_strategies.MockStrategy: - """Creates a mock strategy based on the given type.""" - if mock_strategy_type == MockStrategyEnum.MOCK_STRATEGY_TOOL_SPEC: - return tool_spec_mock_strategy.ToolSpecMockStrategy(llm_name, llm_config) - if mock_strategy_type == MockStrategyEnum.MOCK_STRATEGY_TRACING: - return base_mock_strategies.TracingMockStrategy() - raise ValueError(f"Unknown mock strategy type: {mock_strategy_type}") - - -class AgentSimulatorEngine: - """Core engine to handle the simulation logic.""" - - def __init__(self, config: AgentSimulatorConfig): - self._config = config - self._tool_sim_configs = { - c.tool_name: c for c in config.tool_simulation_configs - } - self._is_analyzed = False - self._tool_connection_map: Optional[ToolConnectionMap] = None - self._analyzer = ToolConnectionAnalyzer( - llm_name=config.simulation_model, - llm_config=config.simulation_model_configuration, - ) - self._state_store = {} - self._random_generator = random.Random() - self._environment_data = config.environment_data - - async def simulate( - self, tool: BaseTool, args: Dict[str, Any], tool_context: Any - ) -> Optional[Dict[str, Any]]: - """Simulates a tool call.""" - if tool.name not in self._tool_sim_configs: - return None - - tool_sim_config = self._tool_sim_configs[tool.name] - - if not self._is_analyzed and any( - c.mock_strategy_type != MockStrategyEnum.MOCK_STRATEGY_UNSPECIFIED - for c in self._config.tool_simulation_configs - ): - agent = tool_context._invocation_context.agent - if isinstance(agent, LlmAgent): - tools = await agent.canonical_tools(tool_context) - self._tool_connection_map = await self._analyzer.analyze(tools) - self._is_analyzed = True - - for injection_config in tool_sim_config.injection_configs: - if injection_config.match_args: - if not all( - item in args.items() for item in injection_config.match_args.items() - ): - continue - - if injection_config.random_seed is not None: - self._random_generator.seed(injection_config.random_seed) - - if ( - self._random_generator.random() - < injection_config.injection_probability - ): - time.sleep(injection_config.injected_latency_seconds) - if injection_config.injected_error: - return { - "error_code": ( - injection_config.injected_error.injected_http_error_code - ), - "error_message": injection_config.injected_error.error_message, - } - if injection_config.injected_response: - return injection_config.injected_response - - # If no injection was applied, fall back to the mock strategy. - if ( - tool_sim_config.mock_strategy_type - == MockStrategyEnum.MOCK_STRATEGY_UNSPECIFIED - ): - agent_simulator_logger.warning( - "Tool '%s' did not hit any injection config and has no mock strategy" - " configured. Returning no-op.", - tool.name, - ) - return None - - mock_strategy = _create_mock_strategy( - tool_sim_config.mock_strategy_type, - self._config.simulation_model, - self._config.simulation_model_configuration, - ) - return await mock_strategy.mock( - tool, - args, - tool_context, - self._tool_connection_map, - self._state_store, - self._environment_data, - ) +__all__ = ["AgentSimulatorEngine"] diff --git a/src/google/adk/tools/agent_simulator/agent_simulator_factory.py b/src/google/adk/tools/agent_simulator/agent_simulator_factory.py index 49a7cd2c3e..11af5df84e 100644 --- a/src/google/adk/tools/agent_simulator/agent_simulator_factory.py +++ b/src/google/adk/tools/agent_simulator/agent_simulator_factory.py @@ -14,58 +14,15 @@ from __future__ import annotations -from typing import Any -from typing import Awaitable -from typing import Callable -from typing import Dict -from typing import Optional +import warnings -from google.adk.tools.agent_simulator.agent_simulator_config import AgentSimulatorConfig -from google.adk.tools.agent_simulator.agent_simulator_engine import AgentSimulatorEngine -from google.adk.tools.agent_simulator.agent_simulator_plugin import AgentSimulatorPlugin -from google.adk.tools.base_tool import BaseTool +from google.adk.tools.environment_simulation.environment_simulation_factory import EnvironmentSimulationFactory as AgentSimulatorFactory -from ...utils.feature_decorator import experimental +warnings.warn( + "google.adk.tools.agent_simulator.agent_simulator_factory is moved to" + " google.adk.tools.environment_simulation.environment_simulation_factory", + DeprecationWarning, + stacklevel=2, +) - -@experimental -class AgentSimulatorFactory: - """Factory for creating AgentSimulator instances.""" - - @staticmethod - def create_callback( - config: AgentSimulatorConfig, - ) -> Callable[ - [BaseTool, Dict[str, Any], Any], Awaitable[Optional[Dict[str, Any]]] - ]: - """Creates a callback function for AgentSimulator. - - Args: - config: The configuration for the AgentSimulator. - - Returns: - A callable that can be used as a before_tool_callback or after_tool_callback. - """ - simulator_engine = AgentSimulatorEngine(config) - - async def _agent_simulator_callback( - tool: BaseTool, args: Dict[str, Any], tool_context: Any - ) -> Optional[Dict[str, Any]]: - return await simulator_engine.simulate(tool, args, tool_context) - - return _agent_simulator_callback - - @staticmethod - def create_plugin( - config: AgentSimulatorConfig, - ) -> AgentSimulatorPlugin: - """Creates an ADK Plugin for AgentSimulator. - - Args: - config: The configuration for the AgentSimulator. - - Returns: - An instance of AgentSimulatorPlugin that can be used as an ADK plugin. - """ - simulator_engine = AgentSimulatorEngine(config) - return AgentSimulatorPlugin(simulator_engine) +__all__ = ["AgentSimulatorFactory"] diff --git a/src/google/adk/tools/agent_simulator/agent_simulator_plugin.py b/src/google/adk/tools/agent_simulator/agent_simulator_plugin.py index 0fb86a9f4d..9f883a0a3f 100644 --- a/src/google/adk/tools/agent_simulator/agent_simulator_plugin.py +++ b/src/google/adk/tools/agent_simulator/agent_simulator_plugin.py @@ -1,4 +1,4 @@ -# Copyright 2024 Google LLC +# Copyright 2026 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,27 +14,15 @@ from __future__ import annotations -from typing import Any -from typing import Dict -from typing import Optional +import warnings -from google.adk.plugins import BasePlugin -from google.adk.tools.agent_simulator.agent_simulator_config import AgentSimulatorConfig -from google.adk.tools.agent_simulator.agent_simulator_engine import AgentSimulatorEngine -from google.adk.tools.base_tool import BaseTool -from google.adk.tools.tool_context import ToolContext +from google.adk.tools.environment_simulation.environment_simulation_plugin import EnvironmentSimulationPlugin as AgentSimulatorPlugin +warnings.warn( + "google.adk.tools.agent_simulator.agent_simulator_plugin is moved to" + " google.adk.tools.environment_simulation.environment_simulation_plugin", + DeprecationWarning, + stacklevel=2, +) -class AgentSimulatorPlugin(BasePlugin): - """ADK Plugin for AgentSimulator.""" - - name: str = "AgentSimulator" - - def __init__(self, simulator_engine: AgentSimulatorEngine): - self._simulator_engine = simulator_engine - - async def before_tool_callback( - self, tool: BaseTool, tool_args: dict[str, Any], tool_context: ToolContext - ) -> Optional[Dict[str, Any]]: - """Invokes the AgentSimulatorEngine before a tool call.""" - return await self._simulator_engine.simulate(tool, tool_args, tool_context) +__all__ = ["AgentSimulatorPlugin"] diff --git a/src/google/adk/tools/agent_simulator/strategies/__init__.py b/src/google/adk/tools/agent_simulator/strategies/__init__.py index 58d482ea38..f1dc50a2fa 100644 --- a/src/google/adk/tools/agent_simulator/strategies/__init__.py +++ b/src/google/adk/tools/agent_simulator/strategies/__init__.py @@ -11,3 +11,12 @@ # 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 warnings + +warnings.warn( + "google.adk.tools.agent_simulator.strategies is moved to" + " google.adk.tools.environment_simulation.strategies", + DeprecationWarning, + stacklevel=2, +) diff --git a/src/google/adk/tools/agent_simulator/strategies/base.py b/src/google/adk/tools/agent_simulator/strategies/base.py index d4ffe1bd92..7d71fbb07c 100644 --- a/src/google/adk/tools/agent_simulator/strategies/base.py +++ b/src/google/adk/tools/agent_simulator/strategies/base.py @@ -14,46 +14,15 @@ from __future__ import annotations -from typing import Any -from typing import Dict -from typing import Optional +import warnings -from google.adk.tools.agent_simulator.tool_connection_map import ToolConnectionMap +from google.adk.tools.environment_simulation.strategies.base import MockStrategy +warnings.warn( + "google.adk.tools.agent_simulator.strategies.base is moved to" + " google.adk.tools.environment_simulation.strategies.base", + DeprecationWarning, + stacklevel=2, +) -class MockStrategy: - """Base class for mock strategies.""" - - async def mock( - self, - tool: BaseTool, - args: Dict[str, Any], - tool_context: Any, - tool_connection_map: Optional[ToolConnectionMap], - state_store: Dict[str, Any], - environment_data: Optional[str] = None, - ) -> Dict[str, Any]: - """Generates a mock response for a tool call.""" - raise NotImplementedError() - - -class TracingMockStrategy(MockStrategy): - """Mocks a tool response based on tracing and an LLM.""" - - def __init__( - self, llm_name: str, llm_config: genai_types.GenerateContentConfig - ): - self._llm_name = llm_name - self._llm_config = llm_config - - async def mock( - self, - tool: BaseTool, - args: Dict[str, Any], - tool_context: Any, - tool_connection_map: Optional[ToolConnectionMap], - state_store: Dict[str, Any], - environment_data: Optional[str] = None, - ) -> Dict[str, Any]: - # TODO: Implement tracing LLM-based mocking. - return {"status": "error", "error_message": "Not implemented"} +__all__ = ["MockStrategy"] diff --git a/src/google/adk/tools/agent_simulator/strategies/tool_spec_mock_strategy.py b/src/google/adk/tools/agent_simulator/strategies/tool_spec_mock_strategy.py index 2ad3a89265..9da5c78480 100644 --- a/src/google/adk/tools/agent_simulator/strategies/tool_spec_mock_strategy.py +++ b/src/google/adk/tools/agent_simulator/strategies/tool_spec_mock_strategy.py @@ -14,192 +14,16 @@ from __future__ import annotations -import asyncio -import concurrent.futures -import json -import re -from typing import Any -from typing import Dict -from typing import Optional +import warnings -from google.adk.models.llm_request import LlmRequest -from google.adk.models.registry import LLMRegistry -from google.adk.tools.agent_simulator.strategies.base import MockStrategy -from google.adk.tools.agent_simulator.tool_connection_map import ToolConnectionMap -from google.adk.tools.base_tool import BaseTool -from google.adk.utils.context_utils import Aclosing -from google.genai import types as genai_types +from google.adk.tools.environment_simulation.strategies.tool_spec_mock_strategy import ToolSpecMockStrategy -_TOOL_SPEC_MOCK_PROMPT_TEMPLATE = """ - You are a stateful tool simulator. Your task is to generate a - realistic JSON response for a tool call, maintaining consistency based - on a shared state. +warnings.warn( + "google.adk.tools.agent_simulator.strategies.tool_spec_mock_strategy is" + " moved to" + " google.adk.tools.environment_simulation.strategies.tool_spec_mock_strategy", + DeprecationWarning, + stacklevel=2, +) - {environment_data_snippet} - - Here is the map of how tools connect via stateful parameters: - {tool_connection_map_json} - - Here is the current state of all stateful parameters: - {state_store_json} - - You are now simulating the following tool call: - Tool Name: {tool_name} - Tool Description: {tool_description} - Tool Schema: {tool_schema_json} - Tool Arguments: {tool_arguments_json} - - Your instructions: - 1. Analyze the tool call. Is it a "creating" or "consuming" tool - based on the connection map? - 2. If it's a "consuming" tool, check the provided arguments against - the state store. If an ID is provided that does not exist in the - state, return a realistic error (e.g., a 404 Not Found error). - Otherwise, use the data from the state and the provided environment data - to generate the response. - 3. If it's a "creating" tool, generate a new, unique ID for the - stateful parameter (e.g., a random string for a ticket_id). Include - this new ID in your response. I will then update the state with it. - 4. Leverage the provided environment data (if any) to make your response - more realistic and consistent with the simulated environment. - 5. Generate a convincing, valid JSON object that mocks the tool's - response. The response must be only the JSON object, without any - additional text or formatting. - 6. The response must start with '{{' and end with '}}'. - """ - - -def _find_value_by_key(data: Any, target_key: str) -> Optional[Any]: - """Recursively searches for a value by key in a nested structure.""" - if isinstance(data, dict): - if target_key in data: - return data[target_key] - for key, value in data.items(): - result = _find_value_by_key(value, target_key) - if result is not None: - return result - elif isinstance(data, list): - for item in data: - result = _find_value_by_key(item, target_key) - if result is not None: - return result - return None - - -class ToolSpecMockStrategy(MockStrategy): - """Mocks a tool response based on the tool's specification.""" - - def __init__( - self, llm_name: str, llm_config: genai_types.GenerateContentConfig - ): - self._llm_name = llm_name - self._llm_config = llm_config - llm_registry = LLMRegistry() - llm_class = llm_registry.resolve(self._llm_name) - self._llm = llm_class(model=self._llm_name) - - async def mock( - self, - tool: BaseTool, - args: Dict[str, Any], - tool_context: Any, - tool_connection_map: Optional[ToolConnectionMap], - state_store: Dict[str, Any], - environment_data: Optional[str] = None, - ) -> Dict[str, Any]: - declaration = tool._get_declaration() - if not declaration: - return { - "status": "error", - "error_message": "Could not get tool declaration.", - } - - tool_connection_map_json = ( - json.dumps(tool_connection_map.model_dump(exclude_none=True), indent=2) - if tool_connection_map - else "''" - ) - state_store_json = json.dumps(state_store, indent=2) - tool_schema_json = json.dumps( - declaration.model_dump(exclude_none=True), indent=2 - ) - tool_arguments_json = json.dumps(args, indent=2) - - environment_data_snippet = "" - if environment_data: - environment_data_snippet = f""" - Here is relevant environment data (e.g., database snippet, context information): - - {environment_data} - - Use this information to generate more realistic responses. - """ - - prompt = _TOOL_SPEC_MOCK_PROMPT_TEMPLATE.format( - environment_data_snippet=environment_data_snippet, - tool_connection_map_json=tool_connection_map_json, - state_store_json=state_store_json, - tool_name=tool.name, - tool_description=tool.description, - tool_schema_json=tool_schema_json, - tool_arguments_json=tool_arguments_json, - ) - - request_contents = [ - genai_types.Content(parts=[genai_types.Part(text=prompt)], role="user") - ] - request = LlmRequest( - contents=request_contents, - model=self._llm_name, - config=self._llm_config, - generation_config=genai_types.GenerateContentConfig( - response_mime_type="application/json" - ), - ) - response_text = "" - async with Aclosing(self._llm.generate_content_async(request)) as agen: - async for llm_response in agen: - generated_content: genai_types.Content = llm_response.content - if generated_content.parts: - for part in generated_content.parts: - if part.text: - response_text += part.text - - try: - clean_json_text = re.sub(r"^```[a-zA-Z]*\n", "", response_text) - clean_json_text = re.sub(r"\n```$", "", clean_json_text) - mock_response = json.loads(clean_json_text.strip()) - # Determine if the current tool is mutative by checking the connection map. - is_mutative = False - if tool_connection_map: - all_creating_tools = { - tool_name - for param in tool_connection_map.stateful_parameters - for tool_name in param.creating_tools - } - if tool.name in all_creating_tools: - is_mutative = True - - # After getting the response, update the state if this was a mutative tool. - if is_mutative: - for param_info in tool_connection_map.stateful_parameters: - param_name = param_info.parameter_name - # Only update the state for the specific parameter this tool - # creates/modifies. - if tool.name in param_info.creating_tools: - param_value = _find_value_by_key(mock_response, param_name) - if param_value is not None: - if param_name not in state_store: - state_store[param_name] = {} - # Store the entire response as the new state for this entity. - # This correctly captures creations and modifications (like - # cancellation). - state_store[param_name][param_value] = mock_response - - return mock_response - except json.JSONDecodeError: - return { - "status": "error", - "error_message": "Failed to generate valid JSON mock response.", - "llm_output": response_text, - } +__all__ = ["ToolSpecMockStrategy"] diff --git a/src/google/adk/tools/agent_simulator/tool_connection_analyzer.py b/src/google/adk/tools/agent_simulator/tool_connection_analyzer.py index 91655e7b85..599db0111a 100644 --- a/src/google/adk/tools/agent_simulator/tool_connection_analyzer.py +++ b/src/google/adk/tools/agent_simulator/tool_connection_analyzer.py @@ -14,128 +14,15 @@ from __future__ import annotations -import asyncio -import concurrent.futures -import json -import logging -import re -from typing import Any -from typing import Dict -from typing import List +import warnings -from google.adk.models.llm_request import LlmRequest -from google.adk.models.registry import LLMRegistry -from google.adk.tools.agent_simulator.tool_connection_map import ToolConnectionMap -from google.adk.tools.base_tool import BaseTool -from google.adk.utils.context_utils import Aclosing -from google.genai import types as genai_types +from google.adk.tools.environment_simulation.tool_connection_analyzer import ToolConnectionAnalyzer -_TOOL_CONNECTION_ANALYSIS_PROMPT_TEMPLATE = """ - You are an expert software architect analyzing a set of tools to understand - stateful dependencies. Your task is to identify parameters that act as - stateful identifiers (like IDs) and classify the tools that interact with - them. +warnings.warn( + "google.adk.tools.agent_simulator.tool_connection_analyzer is moved to" + " google.adk.tools.environment_simulation.tool_connection_analyzer", + DeprecationWarning, + stacklevel=2, +) - **Definitions:** - - A **"creating tool"** is a tool that creates a new resource or makes a - significant state change to an existing one (e.g., creating, updating, - canceling, or deleting). Tool names like `create_account`, `cancel_order`, - or `update_price` are strong indicators. These tools are responsible for - generating or modifying the state associated with an ID. - - A **"consuming tool"** is a tool that uses a resource's ID to retrieve - information without changing its state. Tool names like `get_user`, - `list_events`, or `find_order` are strong indicators. - - **Your Goal:** - Analyze the following tool schemas and identify the shared, stateful - parameters (like `user_id`, `order_id`, etc.). - - For each stateful parameter you identify, classify the tools into - `creating_tools` and `consuming_tools` based on the definitions above. - - **Example:** A `create_ticket` tool would be a `creating_tool` for - `ticket_id`. A `get_ticket` tool would be a `consuming_tool` for - `ticket_id`. A `list_tickets` tool that takes a `user_id` as input is a - `consuming_tool` for `user_id`. - - **Analyze the following tool schemas:** - {tool_schemas_json} - - **Output Format:** - Generate a JSON object with a single key, "stateful_parameters", which is a - list. Each item in the list must have these keys: - - "parameter_name": The name of the shared parameter (e.g., "ticket_id"). - - "creating_tools": A list of tools that create or modify this parameter's - state. - - "consuming_tools": A list of tools that use this parameter as input for - read-only operations. - - ONLY return the raw JSON object. - Your response must start with '{{' and end with '}}'. - """ - - -class ToolConnectionAnalyzer: - """ - Uses an LLM to analyze stateful connections between tools. For example, - get_ticket will consume a ticket_id created by create_ticket, the analyzer - will create a list of such connections. - """ - - def __init__( - self, llm_name: str, llm_config: genai_types.GenerateContentConfig - ): - self._llm_name = llm_name - self._llm_config = llm_config - llm_registry = LLMRegistry() - llm_class = llm_registry.resolve(self._llm_name) - self._llm = llm_class(model=self._llm_name) - - async def analyze(self, tools: List[BaseTool]) -> ToolConnectionMap: - """ - Analyzes a list of tools and returns a map of their connections. - """ - tool_schemas = [ - tool._get_declaration().model_dump(exclude_none=True) - for tool in tools - if tool._get_declaration() - ] - tool_schemas_json = json.dumps(tool_schemas, indent=2) - prompt = _TOOL_CONNECTION_ANALYSIS_PROMPT_TEMPLATE.format( - tool_schemas_json=tool_schemas_json - ) - - request_contents = [ - genai_types.Content(parts=[genai_types.Part(text=prompt)], role="user") - ] - request = LlmRequest( - contents=request_contents, - model=self._llm_name, - config=self._llm_config, - generation_config=genai_types.GenerateContentConfig( - response_mime_type="application/json" - ), - ) - response_text = "" - async with Aclosing(self._llm.generate_content_async(request)) as agen: - async for llm_response in agen: - generated_content: genai_types.Content = llm_response.content - if not generated_content.parts: - continue - for part in generated_content.parts: - if part.text: - response_text += part.text - - try: - clean_json_text = re.sub(r"^```[a-zA-Z]*\n", "", response_text) - clean_json_text = re.sub(r"\n```$", "", clean_json_text) - response_json = json.loads(clean_json_text.strip()) - except json.JSONDecodeError: - logging.warning( - "Failed to parse tool connection analysis from LLM. Proceeding" - " without connection map. Error: %s\nLLM Output:\n%s", - e, - response_text, - ) - return ToolConnectionMap(stateful_parameters=[]) - return ToolConnectionMap.model_validate(response_json) +__all__ = ["ToolConnectionAnalyzer"] diff --git a/src/google/adk/tools/agent_simulator/tool_connection_map.py b/src/google/adk/tools/agent_simulator/tool_connection_map.py index 4063b3c368..0560995bf7 100644 --- a/src/google/adk/tools/agent_simulator/tool_connection_map.py +++ b/src/google/adk/tools/agent_simulator/tool_connection_map.py @@ -14,26 +14,16 @@ from __future__ import annotations -from typing import List +import warnings -from pydantic import BaseModel +from google.adk.tools.environment_simulation.tool_connection_map import StatefulParameter +from google.adk.tools.environment_simulation.tool_connection_map import ToolConnectionMap +warnings.warn( + "google.adk.tools.agent_simulator.tool_connection_map is moved to" + " google.adk.tools.environment_simulation.tool_connection_map", + DeprecationWarning, + stacklevel=2, +) -class StatefulParameter(BaseModel): - """Represents a stateful parameter and its connections.""" - - parameter_name: str - """The name of the shared parameter (e.g., "ticket_id").""" - - creating_tools: List[str] - """A list of tools that generate this parameter.""" - - consuming_tools: List[str] - """A list of tools that use this parameter as input.""" - - -class ToolConnectionMap(BaseModel): - """Represents the map of tool connections.""" - - stateful_parameters: List[StatefulParameter] - """A list of stateful parameters and their connections.""" +__all__ = ["StatefulParameter", "ToolConnectionMap"] diff --git a/src/google/adk/tools/environment_simulation/__init__.py b/src/google/adk/tools/environment_simulation/__init__.py new file mode 100644 index 0000000000..4479d36bc0 --- /dev/null +++ b/src/google/adk/tools/environment_simulation/__init__.py @@ -0,0 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from google.adk.tools.environment_simulation.environment_simulation_factory import EnvironmentSimulationFactory + +__all__ = ["EnvironmentSimulationFactory"] diff --git a/src/google/adk/tools/environment_simulation/environment_simulation_config.py b/src/google/adk/tools/environment_simulation/environment_simulation_config.py new file mode 100644 index 0000000000..a1ade063d3 --- /dev/null +++ b/src/google/adk/tools/environment_simulation/environment_simulation_config.py @@ -0,0 +1,170 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import enum +from typing import Any +from typing import Dict +from typing import List +from typing import Optional + +from google.genai import types as genai_types +from pydantic import BaseModel +from pydantic import Field +from pydantic import field_validator +from pydantic import model_validator +from pydantic_core import ValidationError + +from ...features import experimental +from ...features import FeatureName + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class InjectedError(BaseModel): + """An error to be injected into a tool call.""" + + injected_http_error_code: int + """Inject http error code to the tool call. Will present as "error_code" + in the tool response dict.""" + + error_message: str + """Inject error message to the tool call. Will present as + "error_message" in the tool response dict.""" + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class InjectionConfig(BaseModel): + """Injection configuration for a tool.""" + + injection_probability: float = 1.0 + """Probability of injecting the injected_value.""" + + match_args: Optional[Dict[str, Any]] = None + """Only apply injection if the request matches the match_args. + If match_args is not provided, the injection will be applied to all + requests.""" + + injected_latency_seconds: float = Field(default=0.0, le=120.0) + """Inject latency to the tool call. Please note it may not be accurate if │ + the interceptor is applied as after tool callback.""" + + random_seed: Optional[int] = None + """The random seed to use for this injection.""" + + injected_error: Optional[InjectedError] = None + """The injected error.""" + + injected_response: Optional[Dict[str, Any]] = None + """The injected response.""" + + @model_validator(mode="after") + def check_injected_error_or_response(self) -> Self: + """Checks that either injected_error or injected_response is set.""" + if bool(self.injected_error) == bool(self.injected_response): + raise ValueError( + "Either injected_error or injected_response must be set, but not" + " both, and not neither." + ) + return self + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class MockStrategy(enum.Enum): + """Mock strategy for a tool.""" + + MOCK_STRATEGY_UNSPECIFIED = 0 + + MOCK_STRATEGY_TOOL_SPEC = 1 + """Use tool specifications to mock the tool response.""" + + MOCK_STRATEGY_TRACING = 2 + """Deprecated, please use MOCK_STRATEGY_TOOL_SPEC with tracing input.""" + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class ToolSimulationConfig(BaseModel): + """Simulation configuration for a single tool.""" + + tool_name: str + """Name of the tool to be simulated.""" + + injection_configs: List[InjectionConfig] = Field(default_factory=list) + """Injection configuration for the tool. If provided, the tool will be + injected with the injected_value with the injection_probability first, + the mock_strategy will be applied if no injection config is hit.""" + + mock_strategy_type: MockStrategy = MockStrategy.MOCK_STRATEGY_UNSPECIFIED + """The mock strategy to use.""" + + @model_validator(mode="after") + def check_mock_strategy_type(self) -> Self: + """Checks that mock_strategy_type is not UNSPECIFIED if no injections.""" + if ( + not self.injection_configs + and self.mock_strategy_type == MockStrategy.MOCK_STRATEGY_UNSPECIFIED + ): + raise ValueError( + "If injection_configs is empty, mock_strategy_type cannot be" + " MOCK_STRATEGY_UNSPECIFIED." + ) + return self + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class EnvironmentSimulationConfig(BaseModel): + """Configuration for EnvironmentSimulation.""" + + tool_simulation_configs: List[ToolSimulationConfig] = Field( + default_factory=list + ) + """A list of tool simulation configurations.""" + + simulation_model: str = Field(default="gemini-2.5-flash") + """The model to use for internal simulator LLM calls (tool analysis, mock responses).""" + + simulation_model_configuration: genai_types.GenerateContentConfig = Field( + default_factory=lambda: genai_types.GenerateContentConfig( + thinking_config=genai_types.ThinkingConfig( + include_thoughts=False, + thinking_budget=10240, + ) + ), + ) + """The configuration for the internal simulator LLM calls.""" + + tracing: Optional[str] = None + """Tracing data (e.g., a prior agent run trace in JSON string format) to + provide historical context for mock generation. Passed directly to mock + strategies alongside environment_data.""" + + environment_data: Optional[str] = None + """Environment-specific data (e.g., a minimal database dump in JSON string + format). This data is passed directly to mock strategies for contextual + mock generation.""" + + @field_validator("tool_simulation_configs") + @classmethod + def check_tool_simulation_configs(cls, v: List[ToolSimulationConfig]): + """Checks that tool_simulation_configs is not empty.""" + if not v: + raise ValueError("tool_simulation_configs must be provided.") + seen_tool_names = set() + for tool_sim_config in v: + if tool_sim_config.tool_name in seen_tool_names: + raise ValueError( + f"Duplicate tool_name found: {tool_sim_config.tool_name}" + ) + seen_tool_names.add(tool_sim_config.tool_name) + return v diff --git a/src/google/adk/tools/environment_simulation/environment_simulation_engine.py b/src/google/adk/tools/environment_simulation/environment_simulation_engine.py new file mode 100644 index 0000000000..41566ec5d1 --- /dev/null +++ b/src/google/adk/tools/environment_simulation/environment_simulation_engine.py @@ -0,0 +1,146 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import asyncio +import concurrent.futures +import logging +import random +import time +from typing import Any +from typing import Dict +from typing import Optional + +environment_simulation_logger = logging.getLogger( + "environment_simulation_logger" +) + +from google.adk.agents.llm_agent import LlmAgent +from google.adk.tools.base_tool import BaseTool +from google.adk.tools.environment_simulation.environment_simulation_config import EnvironmentSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_config import MockStrategy as MockStrategyEnum +from google.adk.tools.environment_simulation.environment_simulation_config import ToolSimulationConfig +from google.adk.tools.environment_simulation.strategies import base as base_mock_strategies +from google.adk.tools.environment_simulation.strategies import tool_spec_mock_strategy +from google.adk.tools.environment_simulation.tool_connection_analyzer import ToolConnectionAnalyzer +from google.adk.tools.environment_simulation.tool_connection_map import ToolConnectionMap + +from ...features import FeatureName +from ...features import experimental + + +def _create_mock_strategy( + mock_strategy_type: MockStrategyEnum, + llm_name: str, + llm_config: genai_types.GenerateContentConfig, +) -> base_mock_strategies.MockStrategy: + """Creates a mock strategy based on the given type.""" + if mock_strategy_type == MockStrategyEnum.MOCK_STRATEGY_TOOL_SPEC: + return tool_spec_mock_strategy.ToolSpecMockStrategy(llm_name, llm_config) + if mock_strategy_type == MockStrategyEnum.MOCK_STRATEGY_TRACING: + return base_mock_strategies.TracingMockStrategy(llm_name, llm_config) + raise ValueError(f"Unknown mock strategy type: {mock_strategy_type}") + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class EnvironmentSimulationEngine: + """Core engine to handle the simulation logic.""" + + def __init__(self, config: EnvironmentSimulationConfig): + self._config = config + self._tool_sim_configs = { + c.tool_name: c for c in config.tool_simulation_configs + } + self._is_analyzed = False + self._tool_connection_map: Optional[ToolConnectionMap] = None + self._analyzer = ToolConnectionAnalyzer( + llm_name=config.simulation_model, + llm_config=config.simulation_model_configuration, + ) + self._state_store = {} + self._random_generator = random.Random() + self._environment_data = config.environment_data + self._tracing = config.tracing + + async def simulate( + self, tool: BaseTool, args: Dict[str, Any], tool_context: Any + ) -> Optional[Dict[str, Any]]: + """Simulates a tool call.""" + if tool.name not in self._tool_sim_configs: + return None + + tool_sim_config = self._tool_sim_configs[tool.name] + + if not self._is_analyzed and any( + c.mock_strategy_type != MockStrategyEnum.MOCK_STRATEGY_UNSPECIFIED + for c in self._config.tool_simulation_configs + ): + agent = tool_context._invocation_context.agent + if isinstance(agent, LlmAgent): + tools = await agent.canonical_tools(tool_context) + self._tool_connection_map = await self._analyzer.analyze(tools) + self._is_analyzed = True + + for injection_config in tool_sim_config.injection_configs: + if injection_config.match_args: + if not all( + item in args.items() for item in injection_config.match_args.items() + ): + continue + + if injection_config.random_seed is not None: + self._random_generator.seed(injection_config.random_seed) + + if ( + self._random_generator.random() + < injection_config.injection_probability + ): + time.sleep(injection_config.injected_latency_seconds) + if injection_config.injected_error: + return { + "error_code": ( + injection_config.injected_error.injected_http_error_code + ), + "error_message": injection_config.injected_error.error_message, + } + if injection_config.injected_response: + return injection_config.injected_response + + # If no injection was applied, fall back to the mock strategy. + if ( + tool_sim_config.mock_strategy_type + == MockStrategyEnum.MOCK_STRATEGY_UNSPECIFIED + ): + environment_simulation_logger.warning( + "Tool '%s' did not hit any injection config and has no mock strategy" + " configured. Returning no-op.", + tool.name, + ) + return None + + mock_strategy = _create_mock_strategy( + tool_sim_config.mock_strategy_type, + self._config.simulation_model, + self._config.simulation_model_configuration, + ) + return await mock_strategy.mock( + tool, + args, + tool_context, + self._tool_connection_map, + self._state_store, + self._environment_data, + self._tracing, + ) diff --git a/src/google/adk/tools/environment_simulation/environment_simulation_factory.py b/src/google/adk/tools/environment_simulation/environment_simulation_factory.py new file mode 100644 index 0000000000..6fdea44f14 --- /dev/null +++ b/src/google/adk/tools/environment_simulation/environment_simulation_factory.py @@ -0,0 +1,74 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Any +from typing import Awaitable +from typing import Callable +from typing import Dict +from typing import Optional + +from google.adk.tools.base_tool import BaseTool +from google.adk.tools.environment_simulation.environment_simulation_config import EnvironmentSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_engine import EnvironmentSimulationEngine +from google.adk.tools.environment_simulation.environment_simulation_plugin import EnvironmentSimulationPlugin + +from ...features import experimental +from ...features import FeatureName + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class EnvironmentSimulationFactory: + """Factory for creating EnvironmentSimulation instances.""" + + @staticmethod + def create_callback( + config: EnvironmentSimulationConfig, + ) -> Callable[ + [BaseTool, Dict[str, Any], Any], Awaitable[Optional[Dict[str, Any]]] + ]: + """Creates a callback function for EnvironmentSimulation. + + Args: + config: The configuration for the EnvironmentSimulation. + + Returns: + A callable that can be used as a before_tool_callback or + after_tool_callback. + """ + simulator_engine = EnvironmentSimulationEngine(config) + + async def _environment_simulation_callback( + tool: BaseTool, args: Dict[str, Any], tool_context: Any + ) -> Optional[Dict[str, Any]]: + return await simulator_engine.simulate(tool, args, tool_context) + + return _environment_simulation_callback + + @staticmethod + def create_plugin( + config: EnvironmentSimulationConfig, + ) -> EnvironmentSimulationPlugin: + """Creates an ADK Plugin for EnvironmentSimulation. + + Args: + config: The configuration for the EnvironmentSimulation. + + Returns: + An instance of EnvironmentSimulationPlugin that can be used as an ADK + plugin. + """ + simulator_engine = EnvironmentSimulationEngine(config) + return EnvironmentSimulationPlugin(simulator_engine) diff --git a/src/google/adk/tools/environment_simulation/environment_simulation_plugin.py b/src/google/adk/tools/environment_simulation/environment_simulation_plugin.py new file mode 100644 index 0000000000..dad82bda3d --- /dev/null +++ b/src/google/adk/tools/environment_simulation/environment_simulation_plugin.py @@ -0,0 +1,44 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Any +from typing import Dict +from typing import Optional + +from google.adk.plugins import BasePlugin +from google.adk.tools.base_tool import BaseTool +from google.adk.tools.environment_simulation.environment_simulation_config import EnvironmentSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_engine import EnvironmentSimulationEngine +from google.adk.tools.tool_context import ToolContext + +from ...features import experimental +from ...features import FeatureName + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class EnvironmentSimulationPlugin(BasePlugin): + """ADK Plugin for EnvironmentSimulation.""" + + name: str = "EnvironmentSimulation" + + def __init__(self, simulator_engine: EnvironmentSimulationEngine): + self._simulator_engine = simulator_engine + + async def before_tool_callback( + self, tool: BaseTool, tool_args: dict[str, Any], tool_context: ToolContext + ) -> Optional[Dict[str, Any]]: + """Invokes the EnvironmentSimulationEngine before a tool call.""" + return await self._simulator_engine.simulate(tool, tool_args, tool_context) diff --git a/tests/unittests/tools/agent_simulator/__init__.py b/src/google/adk/tools/environment_simulation/strategies/__init__.py similarity index 100% rename from tests/unittests/tools/agent_simulator/__init__.py rename to src/google/adk/tools/environment_simulation/strategies/__init__.py diff --git a/src/google/adk/tools/environment_simulation/strategies/base.py b/src/google/adk/tools/environment_simulation/strategies/base.py new file mode 100644 index 0000000000..c2c7733f68 --- /dev/null +++ b/src/google/adk/tools/environment_simulation/strategies/base.py @@ -0,0 +1,65 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import Any +from typing import Dict +from typing import Optional + +from google.adk.features import experimental +from google.adk.features import FeatureName +from google.adk.tools.environment_simulation.tool_connection_map import ToolConnectionMap +from google.genai import types as genai_types + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class MockStrategy: + """Base class for mock strategies.""" + + async def mock( + self, + tool: BaseTool, + args: Dict[str, Any], + tool_context: Any, + tool_connection_map: Optional[ToolConnectionMap], + state_store: Dict[str, Any], + environment_data: Optional[str] = None, + tracing: Optional[str] = None, + ) -> Dict[str, Any]: + """Generates a mock response for a tool call.""" + raise NotImplementedError() + + +class TracingMockStrategy(MockStrategy): + + def __init__( + self, + llm_name: str = "", + llm_config: Optional[genai_types.GenerateContentConfig] = None, + ): + self._llm_name = llm_name + self._llm_config = llm_config + + async def mock( + self, + tool: BaseTool, + args: Dict[str, Any], + tool_context: Any, + tool_connection_map: Optional[ToolConnectionMap], + state_store: Dict[str, Any], + environment_data: Optional[str] = None, + tracing: Optional[str] = None, + ) -> Dict[str, Any]: + return {"status": "error", "error_message": "Not implemented"} diff --git a/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py b/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py new file mode 100644 index 0000000000..ddf1bcab6b --- /dev/null +++ b/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py @@ -0,0 +1,228 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import asyncio +import concurrent.futures +import json +import re +from typing import Any +from typing import Dict +from typing import Optional + +from google.adk.models.llm_request import LlmRequest +from google.adk.models.registry import LLMRegistry +from google.adk.tools.base_tool import BaseTool +from google.adk.tools.environment_simulation.strategies.base import MockStrategy +from google.adk.tools.environment_simulation.tool_connection_map import ToolConnectionMap +from google.adk.utils.context_utils import Aclosing +from google.genai import types as genai_types + +_TOOL_SPEC_MOCK_PROMPT_TEMPLATE = """ + You are a stateful tool simulator. Your task is to generate a + realistic JSON response for a tool call, maintaining consistency based + on a shared state. + + {environment_data_snippet} + + {tracing_snippet} + + Here is the map of how tools connect via stateful parameters: + {tool_connection_map_json} + + Here is the current state of all stateful parameters: + {state_store_json} + + You are now simulating the following tool call: + Tool Name: {tool_name} + Tool Description: {tool_description} + Tool Schema: {tool_schema_json} + Tool Arguments: {tool_arguments_json} + + Your instructions: + 1. Analyze the tool call. Is it a "creating" or "consuming" tool + based on the connection map? + 2. If it's a "consuming" tool, check the provided arguments against + the state store. If an ID is provided that does not exist in the + state, return a realistic error (e.g., a 404 Not Found error). + Otherwise, use the data from the state, the provided environment data, + and the tracing history to generate the response. + 3. If it's a "creating" tool, generate a new, unique ID for the + stateful parameter (e.g., a random string for a ticket_id). Include + this new ID in your response. I will then update the state with it. + 4. Leverage the provided environment data (if any) to make your response + more realistic and consistent with the simulated environment. + 5. Leverage the provided tracing history (if any) to make your response + consistent with observed tool behavior patterns from prior runs. + 6. Generate a convincing, valid JSON object that mocks the tool's + response. The response must be only the JSON object, without any + additional text or formatting. + 7. The response must start with '{{' and end with '}}'. + """ + + +def _find_value_by_key(data: Any, target_key: str) -> Optional[Any]: + """Recursively searches for a value by key in a nested structure.""" + if isinstance(data, dict): + if target_key in data: + return data[target_key] + for key, value in data.items(): + result = _find_value_by_key(value, target_key) + if result is not None: + return result + elif isinstance(data, list): + for item in data: + result = _find_value_by_key(item, target_key) + if result is not None: + return result + return None + + +from google.adk.features import FeatureName +from google.adk.features import experimental + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class ToolSpecMockStrategy(MockStrategy): + """Mocks a tool response based on the tool's specification.""" + + def __init__( + self, llm_name: str, llm_config: genai_types.GenerateContentConfig + ): + self._llm_name = llm_name + self._llm_config = llm_config + llm_registry = LLMRegistry() + llm_class = llm_registry.resolve(self._llm_name) + self._llm = llm_class(model=self._llm_name) + + async def mock( + self, + tool: BaseTool, + args: Dict[str, Any], + tool_context: Any, + tool_connection_map: Optional[ToolConnectionMap], + state_store: Dict[str, Any], + environment_data: Optional[str] = None, + tracing: Optional[str] = None, + ) -> Dict[str, Any]: + declaration = tool._get_declaration() + if not declaration: + return { + "status": "error", + "error_message": "Could not get tool declaration.", + } + + tool_connection_map_json = ( + json.dumps(tool_connection_map.model_dump(exclude_none=True), indent=2) + if tool_connection_map + else "''" + ) + state_store_json = json.dumps(state_store, indent=2) + tool_schema_json = json.dumps( + declaration.model_dump(exclude_none=True), indent=2 + ) + tool_arguments_json = json.dumps(args, indent=2) + + environment_data_snippet = "" + if environment_data: + environment_data_snippet = f""" + Here is relevant environment data (e.g., database snippet, context information): + + {environment_data} + + Use this information to generate more realistic responses. + """ + + tracing_snippet = "" + if tracing: + tracing_snippet = f""" + Here is a tracing history from a prior agent run (e.g., recorded tool + calls and responses): + + {tracing} + + Use this history to make your mock responses consistent with observed + tool behavior patterns. + """ + + prompt = _TOOL_SPEC_MOCK_PROMPT_TEMPLATE.format( + environment_data_snippet=environment_data_snippet, + tracing_snippet=tracing_snippet, + tool_connection_map_json=tool_connection_map_json, + state_store_json=state_store_json, + tool_name=tool.name, + tool_description=tool.description, + tool_schema_json=tool_schema_json, + tool_arguments_json=tool_arguments_json, + ) + + request_contents = [ + genai_types.Content(parts=[genai_types.Part(text=prompt)], role="user") + ] + request = LlmRequest( + contents=request_contents, + model=self._llm_name, + config=self._llm_config, + generation_config=genai_types.GenerateContentConfig( + response_mime_type="application/json" + ), + ) + response_text = "" + async with Aclosing(self._llm.generate_content_async(request)) as agen: + async for llm_response in agen: + generated_content: genai_types.Content = llm_response.content + if generated_content.parts: + for part in generated_content.parts: + if part.text: + response_text += part.text + + try: + clean_json_text = re.sub(r"^```[a-zA-Z]*\n", "", response_text) + clean_json_text = re.sub(r"\n```$", "", clean_json_text) + mock_response = json.loads(clean_json_text.strip()) + # Determine if the current tool is mutative by checking the connection map. + is_mutative = False + if tool_connection_map: + all_creating_tools = { + tool_name + for param in tool_connection_map.stateful_parameters + for tool_name in param.creating_tools + } + if tool.name in all_creating_tools: + is_mutative = True + + # After getting the response, update the state if this was a mutative tool. + if is_mutative: + for param_info in tool_connection_map.stateful_parameters: + param_name = param_info.parameter_name + # Only update the state for the specific parameter this tool + # creates/modifies. + if tool.name in param_info.creating_tools: + param_value = _find_value_by_key(mock_response, param_name) + if param_value is not None: + if param_name not in state_store: + state_store[param_name] = {} + # Store the entire response as the new state for this entity. + # This correctly captures creations and modifications (like + # cancellation). + state_store[param_name][param_value] = mock_response + + return mock_response + except json.JSONDecodeError: + return { + "status": "error", + "error_message": "Failed to generate valid JSON mock response.", + "llm_output": response_text, + } diff --git a/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py b/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py new file mode 100644 index 0000000000..22608275b9 --- /dev/null +++ b/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py @@ -0,0 +1,146 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import asyncio +import concurrent.futures +import json +import logging +import re +from typing import Any +from typing import Dict +from typing import List + +from google.adk.models.llm_request import LlmRequest +from google.adk.models.registry import LLMRegistry +from google.adk.tools.base_tool import BaseTool +from google.adk.tools.environment_simulation.tool_connection_map import ToolConnectionMap +from google.adk.utils.context_utils import Aclosing +from google.genai import types as genai_types + +from ...features import experimental +from ...features import FeatureName + + +_TOOL_CONNECTION_ANALYSIS_PROMPT_TEMPLATE = """ + You are an expert software architect analyzing a set of tools to understand + stateful dependencies. Your task is to identify parameters that act as + stateful identifiers (like IDs) and classify the tools that interact with + them. + + **Definitions:** + - A **"creating tool"** is a tool that creates a new resource or makes a + significant state change to an existing one (e.g., creating, updating, + canceling, or deleting). Tool names like `create_account`, `cancel_order`, + or `update_price` are strong indicators. These tools are responsible for + generating or modifying the state associated with an ID. + - A **"consuming tool"** is a tool that uses a resource's ID to retrieve + information without changing its state. Tool names like `get_user`, + `list_events`, or `find_order` are strong indicators. + + **Your Goal:** + Analyze the following tool schemas and identify the shared, stateful + parameters (like `user_id`, `order_id`, etc.). + + For each stateful parameter you identify, classify the tools into + `creating_tools` and `consuming_tools` based on the definitions above. + + **Example:** A `create_ticket` tool would be a `creating_tool` for + `ticket_id`. A `get_ticket` tool would be a `consuming_tool` for + `ticket_id`. A `list_tickets` tool that takes a `user_id` as input is a + `consuming_tool` for `user_id`. + + **Analyze the following tool schemas:** + {tool_schemas_json} + + **Output Format:** + Generate a JSON object with a single key, "stateful_parameters", which is a + list. Each item in the list must have these keys: + - "parameter_name": The name of the shared parameter (e.g., "ticket_id"). + - "creating_tools": A list of tools that create or modify this parameter's + state. + - "consuming_tools": A list of tools that use this parameter as input for + read-only operations. + + ONLY return the raw JSON object. + Your response must start with '{{' and end with '}}'. + """ + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class ToolConnectionAnalyzer: + """ + Uses an LLM to analyze stateful connections between tools. For example, + get_ticket will consume a ticket_id created by create_ticket, the analyzer + will create a list of such connections. + """ + + def __init__( + self, llm_name: str, llm_config: genai_types.GenerateContentConfig + ): + self._llm_name = llm_name + self._llm_config = llm_config + llm_registry = LLMRegistry() + llm_class = llm_registry.resolve(self._llm_name) + self._llm = llm_class(model=self._llm_name) + + async def analyze(self, tools: List[BaseTool]) -> ToolConnectionMap: + """ + Analyzes a list of tools and returns a map of their connections. + """ + tool_schemas = [ + tool._get_declaration().model_dump(exclude_none=True) + for tool in tools + if tool._get_declaration() + ] + tool_schemas_json = json.dumps(tool_schemas, indent=2) + prompt = _TOOL_CONNECTION_ANALYSIS_PROMPT_TEMPLATE.format( + tool_schemas_json=tool_schemas_json + ) + + request_contents = [ + genai_types.Content(parts=[genai_types.Part(text=prompt)], role="user") + ] + request = LlmRequest( + contents=request_contents, + model=self._llm_name, + config=self._llm_config, + generation_config=genai_types.GenerateContentConfig( + response_mime_type="application/json" + ), + ) + response_text = "" + async with Aclosing(self._llm.generate_content_async(request)) as agen: + async for llm_response in agen: + generated_content: genai_types.Content = llm_response.content + if not generated_content.parts: + continue + for part in generated_content.parts: + if part.text: + response_text += part.text + + try: + clean_json_text = re.sub(r"^```[a-zA-Z]*\n", "", response_text) + clean_json_text = re.sub(r"\n```$", "", clean_json_text) + response_json = json.loads(clean_json_text.strip()) + except json.JSONDecodeError: + logging.warning( + "Failed to parse tool connection analysis from LLM. Proceeding" + " without connection map. Error: %s\nLLM Output:\n%s", + e, + response_text, + ) + return ToolConnectionMap(stateful_parameters=[]) + return ToolConnectionMap.model_validate(response_json) diff --git a/src/google/adk/tools/environment_simulation/tool_connection_map.py b/src/google/adk/tools/environment_simulation/tool_connection_map.py new file mode 100644 index 0000000000..affd1481ec --- /dev/null +++ b/src/google/adk/tools/environment_simulation/tool_connection_map.py @@ -0,0 +1,44 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import List + +from pydantic import BaseModel + +from ...features import experimental +from ...features import FeatureName + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class StatefulParameter(BaseModel): + """Represents a stateful parameter and its connections.""" + + parameter_name: str + """The name of the shared parameter (e.g., "ticket_id").""" + + creating_tools: List[str] + """A list of tools that generate this parameter.""" + + consuming_tools: List[str] + """A list of tools that use this parameter as input.""" + + +@experimental(FeatureName.ENVIRONMENT_SIMULATION) +class ToolConnectionMap(BaseModel): + """Represents the map of tool connections.""" + + stateful_parameters: List[StatefulParameter] + """A list of stateful parameters and their connections.""" diff --git a/tests/unittests/tools/environment_simulation/__init__.py b/tests/unittests/tools/environment_simulation/__init__.py new file mode 100644 index 0000000000..58d482ea38 --- /dev/null +++ b/tests/unittests/tools/environment_simulation/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2026 Google LLC +# +# 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. diff --git a/tests/unittests/tools/agent_simulator/test_agent_simulator_engine.py b/tests/unittests/tools/environment_simulation/test_environment_simulation_engine.py similarity index 77% rename from tests/unittests/tools/agent_simulator/test_agent_simulator_engine.py rename to tests/unittests/tools/environment_simulation/test_environment_simulation_engine.py index 104b71d3fb..efa9538807 100644 --- a/tests/unittests/tools/agent_simulator/test_agent_simulator_engine.py +++ b/tests/unittests/tools/environment_simulation/test_environment_simulation_engine.py @@ -6,7 +6,10 @@ # # http://www.apache.org/licenses/LICENSE-2.0 # -# Unless required by applicable law of a-specific language governing permissions and +# 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 logging @@ -14,31 +17,31 @@ from unittest.mock import MagicMock from unittest.mock import patch -from google.adk.tools.agent_simulator.agent_simulator_config import AgentSimulatorConfig -from google.adk.tools.agent_simulator.agent_simulator_config import InjectedError -from google.adk.tools.agent_simulator.agent_simulator_config import InjectionConfig -from google.adk.tools.agent_simulator.agent_simulator_config import MockStrategy -from google.adk.tools.agent_simulator.agent_simulator_config import ToolSimulationConfig -from google.adk.tools.agent_simulator.agent_simulator_engine import AgentSimulatorEngine +from google.adk.tools.environment_simulation.environment_simulation_config import EnvironmentSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_config import InjectedError +from google.adk.tools.environment_simulation.environment_simulation_config import InjectionConfig +from google.adk.tools.environment_simulation.environment_simulation_config import MockStrategy +from google.adk.tools.environment_simulation.environment_simulation_config import ToolSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_engine import EnvironmentSimulationEngine from google.genai import types as genai_types import pytest @patch( - "google.adk.tools.agent_simulator.agent_simulator_engine.ToolConnectionAnalyzer" + "google.adk.tools.environment_simulation.environment_simulation_engine.ToolConnectionAnalyzer" ) @patch( - "google.adk.tools.agent_simulator.agent_simulator_engine._create_mock_strategy" + "google.adk.tools.environment_simulation.environment_simulation_engine._create_mock_strategy" ) @pytest.mark.asyncio -class TestAgentSimulatorEngineSimulate: - """Test cases for the simulate method of AgentSimulatorEngine.""" +class TestEnvironmentSimulationEngineSimulate: + """Test cases for the simulate method of EnvironmentSimulationEngine.""" async def test_simulate_no_op_for_unconfigured_tool( self, mock_create_strategy, mock_analyzer ): """Test that simulate returns None for a tool not in the config.""" - config = AgentSimulatorConfig( + config = EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="configured_tool", @@ -48,7 +51,7 @@ async def test_simulate_no_op_for_unconfigured_tool( simulation_model="test-model", simulation_model_configuration=genai_types.GenerateContentConfig(), ) - engine = AgentSimulatorEngine(config) + engine = EnvironmentSimulationEngine(config) mock_tool = MagicMock() mock_tool.name = "unconfigured_tool" result = await engine.simulate(mock_tool, {}, MagicMock()) @@ -58,7 +61,7 @@ async def test_injection_with_matching_args( self, mock_create_strategy, mock_analyzer ): """Test that an injection is applied when match_args match.""" - config = AgentSimulatorConfig( + config = EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="test_tool", @@ -73,7 +76,7 @@ async def test_injection_with_matching_args( simulation_model="test-model", simulation_model_configuration=genai_types.GenerateContentConfig(), ) - engine = AgentSimulatorEngine(config) + engine = EnvironmentSimulationEngine(config) mock_tool = MagicMock() mock_tool.name = "test_tool" result = await engine.simulate(mock_tool, {"param": "value"}, MagicMock()) @@ -86,7 +89,7 @@ async def test_injection_not_applied_with_mismatched_args( mock_strategy_instance = MagicMock() mock_strategy_instance.mock = AsyncMock(return_value={"mocked": True}) mock_create_strategy.return_value = mock_strategy_instance - config = AgentSimulatorConfig( + config = EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="test_tool", @@ -102,7 +105,7 @@ async def test_injection_not_applied_with_mismatched_args( simulation_model="test-model", simulation_model_configuration=genai_types.GenerateContentConfig(), ) - engine = AgentSimulatorEngine(config) + engine = EnvironmentSimulationEngine(config) mock_tool = MagicMock() mock_tool.name = "test_tool" result = await engine.simulate( @@ -120,7 +123,7 @@ async def test_no_op_when_no_injection_hit_and_unspecified_strategy( self, mock_create_strategy, mock_analyzer, caplog ): """Test for no-op and warning when no injection hits and mock strategy is unspecified.""" - config = AgentSimulatorConfig( + config = EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="test_tool", @@ -136,12 +139,14 @@ async def test_no_op_when_no_injection_hit_and_unspecified_strategy( simulation_model="test-model", simulation_model_configuration=genai_types.GenerateContentConfig(), ) - engine = AgentSimulatorEngine(config) + engine = EnvironmentSimulationEngine(config) mock_tool = MagicMock() mock_tool.name = "test_tool" - caplog.set_level(logging.WARNING, logger="agent_simulator_logger") - with caplog.at_level(logging.WARNING, logger="agent_simulator_logger"): + caplog.set_level(logging.WARNING, logger="environment_simulation_logger") + with caplog.at_level( + logging.WARNING, logger="environment_simulation_logger" + ): result = await engine.simulate( mock_tool, {"param": "different_value"}, MagicMock() ) @@ -161,7 +166,7 @@ async def test_injection_with_random_seed_is_deterministic( mock_strategy_instance = MagicMock() mock_strategy_instance.mock = AsyncMock(return_value={"mocked": True}) mock_create_strategy.return_value = mock_strategy_instance - config_mocked = AgentSimulatorConfig( + config_mocked = EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="test_tool", @@ -178,7 +183,7 @@ async def test_injection_with_random_seed_is_deterministic( simulation_model="test-model", simulation_model_configuration=genai_types.GenerateContentConfig(), ) - engine_mocked = AgentSimulatorEngine(config_mocked) + engine_mocked = EnvironmentSimulationEngine(config_mocked) mock_tool = MagicMock() mock_tool.name = "test_tool" @@ -195,7 +200,7 @@ async def test_injection_with_random_seed_is_deterministic( mock_strategy_instance.mock.reset_mock() # With seed=100, random.random() is < 0.5, so this WILL be injected. - config_injected = AgentSimulatorConfig( + config_injected = EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="test_tool", @@ -212,7 +217,7 @@ async def test_injection_with_random_seed_is_deterministic( simulation_model="test-model", simulation_model_configuration=genai_types.GenerateContentConfig(), ) - engine_injected = AgentSimulatorEngine(config_injected) + engine_injected = EnvironmentSimulationEngine(config_injected) result2 = await engine_injected.simulate(mock_tool, {}, MagicMock()) assert result2 == {"injected": True} mock_create_strategy.assert_not_called() diff --git a/tests/unittests/tools/agent_simulator/test_agent_simulator_factory.py b/tests/unittests/tools/environment_simulation/test_environment_simulation_factory.py similarity index 60% rename from tests/unittests/tools/agent_simulator/test_agent_simulator_factory.py rename to tests/unittests/tools/environment_simulation/test_environment_simulation_factory.py index a247564484..159f6cc9a1 100644 --- a/tests/unittests/tools/agent_simulator/test_agent_simulator_factory.py +++ b/tests/unittests/tools/environment_simulation/test_environment_simulation_factory.py @@ -16,25 +16,25 @@ from unittest.mock import MagicMock from unittest.mock import patch -from google.adk.tools.agent_simulator import AgentSimulatorFactory -from google.adk.tools.agent_simulator.agent_simulator_config import AgentSimulatorConfig -from google.adk.tools.agent_simulator.agent_simulator_config import MockStrategy -from google.adk.tools.agent_simulator.agent_simulator_config import ToolSimulationConfig -from google.adk.tools.agent_simulator.agent_simulator_plugin import AgentSimulatorPlugin +from google.adk.tools.environment_simulation import EnvironmentSimulationFactory +from google.adk.tools.environment_simulation.environment_simulation_config import EnvironmentSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_config import MockStrategy +from google.adk.tools.environment_simulation.environment_simulation_config import ToolSimulationConfig +from google.adk.tools.environment_simulation.environment_simulation_plugin import EnvironmentSimulationPlugin import pytest @pytest.mark.asyncio @patch( - "google.adk.tools.agent_simulator.agent_simulator_factory.AgentSimulatorEngine" + "google.adk.tools.environment_simulation.environment_simulation_factory.EnvironmentSimulationEngine" ) -class TestAgentSimulatorFactory: - """Test cases for the AgentSimulator factory class.""" +class TestEnvironmentSimulationFactory: + """Test cases for the EnvironmentSimulation factory class.""" @pytest.fixture def mock_config(self): - """Fixture for a basic AgentSimulatorConfig.""" - return AgentSimulatorConfig( + """Fixture for a basic EnvironmentSimulationConfig.""" + return EnvironmentSimulationConfig( tool_simulation_configs=[ ToolSimulationConfig( tool_name="test_tool", @@ -49,7 +49,7 @@ async def test_create_callback(self, mock_engine_class, mock_config): mock_engine_instance.simulate = AsyncMock(return_value=None) mock_engine_class.return_value = mock_engine_instance - callback = AgentSimulatorFactory.create_callback(mock_config) + callback = EnvironmentSimulationFactory.create_callback(mock_config) assert callable(callback) await callback(MagicMock(), {}, MagicMock()) @@ -57,13 +57,13 @@ async def test_create_callback(self, mock_engine_class, mock_config): mock_engine_instance.simulate.assert_awaited_once() @patch( - "google.adk.tools.agent_simulator.agent_simulator_factory.AgentSimulatorPlugin" + "google.adk.tools.environment_simulation.environment_simulation_factory.EnvironmentSimulationPlugin" ) def test_create_plugin( self, mock_plugin_class, mock_engine_class, mock_config ): - """Test that create_plugin returns a valid AgentSimulatorPlugin instance.""" - plugin = AgentSimulatorFactory.create_plugin(mock_config) + """Test that create_plugin returns a valid EnvironmentSimulationPlugin instance.""" + plugin = EnvironmentSimulationFactory.create_plugin(mock_config) mock_engine_class.assert_called_once_with(mock_config) mock_plugin_class.assert_called_once_with(mock_engine_class.return_value) assert plugin == mock_plugin_class.return_value diff --git a/tests/unittests/tools/agent_simulator/test_agent_simulator_plugin.py b/tests/unittests/tools/environment_simulation/test_environment_simulation_plugin.py similarity index 79% rename from tests/unittests/tools/agent_simulator/test_agent_simulator_plugin.py rename to tests/unittests/tools/environment_simulation/test_environment_simulation_plugin.py index bee11ce556..0611705ce6 100644 --- a/tests/unittests/tools/agent_simulator/test_agent_simulator_plugin.py +++ b/tests/unittests/tools/environment_simulation/test_environment_simulation_plugin.py @@ -16,24 +16,24 @@ from unittest.mock import MagicMock from unittest.mock import patch -from google.adk.tools.agent_simulator.agent_simulator_plugin import AgentSimulatorPlugin +from google.adk.tools.environment_simulation.environment_simulation_plugin import EnvironmentSimulationPlugin import pytest @pytest.mark.asyncio -class TestAgentSimulatorPlugin: - """Test cases for the AgentSimulatorPlugin.""" +class TestEnvironmentSimulationPlugin: + """Test cases for the EnvironmentSimulationPlugin.""" @pytest.fixture def mock_simulator_engine(self): - """Fixture for a mock AgentSimulatorEngine.""" + """Fixture for a mock EnvironmentSimulationEngine.""" engine = MagicMock() engine.simulate = AsyncMock() return engine async def test_before_tool_callback(self, mock_simulator_engine): """Test that the before_tool_callback calls the engine's simulate method.""" - plugin = AgentSimulatorPlugin(mock_simulator_engine) + plugin = EnvironmentSimulationPlugin(mock_simulator_engine) mock_tool = MagicMock() mock_args = {} From 47aaf66efb3e3825f06fd44578d592924fb7542b Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Wed, 18 Mar 2026 14:11:44 -0700 Subject: [PATCH 45/51] fix(live): convert response_modalities to Modality enum before assigning to LiveConnectConfig RunConfig.response_modalities is typed as list[str] for backward compatibility, but LiveConnectConfig.response_modalities expects list[Modality] (an enum). Assigning strings directly causes a Pydantic serialization warning on every live streaming session: PydanticSerializationUnexpectedValue(Expected `enum` - serialized value may not be as expected [field_name='response_modalities', input_value='AUDIO', input_type=str]) Convert each modality value to types.Modality at the assignment point in basic.py using types.Modality(m), which is a no-op for values that are already Modality enums and converts plain strings like "AUDIO" to Modality.AUDIO. The public RunConfig interface remains list[str] so existing callers are unaffected. Fixes: #4869 Co-authored-by: Xiang (Sean) Zhou PiperOrigin-RevId: 885781014 --- src/google/adk/flows/llm_flows/basic.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/google/adk/flows/llm_flows/basic.py b/src/google/adk/flows/llm_flows/basic.py index 4a296734a5..8751f9b3a2 100644 --- a/src/google/adk/flows/llm_flows/basic.py +++ b/src/google/adk/flows/llm_flows/basic.py @@ -59,7 +59,12 @@ def _build_basic_request( llm_request.set_output_schema(agent.output_schema) llm_request.live_connect_config.response_modalities = ( - invocation_context.run_config.response_modalities + [ + types.Modality(m) + for m in invocation_context.run_config.response_modalities + ] + if invocation_context.run_config.response_modalities is not None + else None ) llm_request.live_connect_config.speech_config = ( invocation_context.run_config.speech_config From dcccfca1d1dd1b3b9c273278e9f9c883f0148eba Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Wed, 18 Mar 2026 14:52:13 -0700 Subject: [PATCH 46/51] fix: Fix imports for environment simulation files Co-authored-by: Kathy Wu PiperOrigin-RevId: 885801247 --- .../environment_simulation/environment_simulation_engine.py | 2 +- .../strategies/tool_spec_mock_strategy.py | 6 ++---- .../environment_simulation/tool_connection_analyzer.py | 1 - 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/google/adk/tools/environment_simulation/environment_simulation_engine.py b/src/google/adk/tools/environment_simulation/environment_simulation_engine.py index 41566ec5d1..3d260c6954 100644 --- a/src/google/adk/tools/environment_simulation/environment_simulation_engine.py +++ b/src/google/adk/tools/environment_simulation/environment_simulation_engine.py @@ -37,8 +37,8 @@ from google.adk.tools.environment_simulation.tool_connection_analyzer import ToolConnectionAnalyzer from google.adk.tools.environment_simulation.tool_connection_map import ToolConnectionMap -from ...features import FeatureName from ...features import experimental +from ...features import FeatureName def _create_mock_strategy( diff --git a/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py b/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py index ddf1bcab6b..25a07b66f8 100644 --- a/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py +++ b/src/google/adk/tools/environment_simulation/strategies/tool_spec_mock_strategy.py @@ -22,6 +22,8 @@ from typing import Dict from typing import Optional +from google.adk.features import experimental +from google.adk.features import FeatureName from google.adk.models.llm_request import LlmRequest from google.adk.models.registry import LLMRegistry from google.adk.tools.base_tool import BaseTool @@ -90,10 +92,6 @@ def _find_value_by_key(data: Any, target_key: str) -> Optional[Any]: return None -from google.adk.features import FeatureName -from google.adk.features import experimental - - @experimental(FeatureName.ENVIRONMENT_SIMULATION) class ToolSpecMockStrategy(MockStrategy): """Mocks a tool response based on the tool's specification.""" diff --git a/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py b/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py index 22608275b9..8f8d5532cd 100644 --- a/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py +++ b/src/google/adk/tools/environment_simulation/tool_connection_analyzer.py @@ -33,7 +33,6 @@ from ...features import experimental from ...features import FeatureName - _TOOL_CONNECTION_ANALYSIS_PROMPT_TEMPLATE = """ You are an expert software architect analyzing a set of tools to understand stateful dependencies. Your task is to identify parameters that act as From 031f581ac6e0fb06cc1175217a26bdd0c7382da8 Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Wed, 18 Mar 2026 15:17:38 -0700 Subject: [PATCH 47/51] fix: Update Agent Registry to use the full agent card if available Co-authored-by: Kathy Wu PiperOrigin-RevId: 885813216 --- .../agent_registry/agent_registry.py | 14 +++++++ .../agent_registry/test_agent_registry.py | 42 +++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/src/google/adk/integrations/agent_registry/agent_registry.py b/src/google/adk/integrations/agent_registry/agent_registry.py index 93a91df432..1cf3d8003c 100644 --- a/src/google/adk/integrations/agent_registry/agent_registry.py +++ b/src/google/adk/integrations/agent_registry/agent_registry.py @@ -241,6 +241,20 @@ def get_agent_info(self, name: str) -> Dict[str, Any]: def get_remote_a2a_agent(self, agent_name: str) -> RemoteA2aAgent: """Creates a RemoteA2aAgent instance for a registered A2A Agent.""" agent_info = self.get_agent_info(agent_name) + + # Try to use the full agent card if available + card = agent_info.get("card", {}) + card_content = card.get("content") + if card.get("type") == "A2A_AGENT_CARD" and card_content: + agent_card = AgentCard(**card_content) + # Clean the name to be a valid identifier + name = self._clean_name(agent_card.name) + return RemoteA2aAgent( + name=name, + agent_card=agent_card, + description=agent_card.description, + ) + name = self._clean_name(agent_info.get("displayName", agent_name)) description = agent_info.get("description", "") version = agent_info.get("version", "") diff --git a/tests/unittests/integrations/agent_registry/test_agent_registry.py b/tests/unittests/integrations/agent_registry/test_agent_registry.py index fc68086942..0e68cc253c 100644 --- a/tests/unittests/integrations/agent_registry/test_agent_registry.py +++ b/tests/unittests/integrations/agent_registry/test_agent_registry.py @@ -197,6 +197,48 @@ def test_get_remote_a2a_agent(self, mock_httpx, registry): assert len(agent._agent_card.skills) == 1 assert agent._agent_card.skills[0].name == "Skill 1" + @patch("httpx.Client") + def test_get_remote_a2a_agent_with_card(self, mock_httpx, registry): + mock_response = MagicMock() + mock_response.json.return_value = { + "name": "projects/p/locations/l/agents/a", + "card": { + "type": "A2A_AGENT_CARD", + "content": { + "name": "CardName", + "description": "CardDesc", + "version": "2.0", + "url": "https://card-url.com", + "skills": [{ + "id": "s1", + "name": "S1", + "description": "D1", + "tags": ["t1"], + }], + "capabilities": {"streaming": True, "polling": False}, + "defaultInputModes": ["text"], + "defaultOutputModes": ["text"], + }, + }, + } + mock_response.raise_for_status = MagicMock() + mock_httpx.return_value.__enter__.return_value.get.return_value = ( + mock_response + ) + + registry._credentials.token = "token" + registry._credentials.refresh = MagicMock() + + agent = registry.get_remote_a2a_agent("test-agent") + assert isinstance(agent, RemoteA2aAgent) + assert agent.name == "CardName" + assert agent.description == "CardDesc" + assert agent._agent_card.version == "2.0" + assert agent._agent_card.url == "https://card-url.com" + assert agent._agent_card.capabilities.streaming is True + assert len(agent._agent_card.skills) == 1 + assert agent._agent_card.skills[0].name == "S1" + def test_get_auth_headers(self, registry): registry._credentials.token = "fake-token" registry._credentials.refresh = MagicMock() From 6909a167c8d030111bf7118b9d5e78255a299684 Mon Sep 17 00:00:00 2001 From: Kathy Wu Date: Wed, 18 Mar 2026 15:20:19 -0700 Subject: [PATCH 48/51] feat: Add slack integration to ADK Co-authored-by: Kathy Wu PiperOrigin-RevId: 885814460 --- contributing/samples/slack_agent/agent.py | 61 ++++++++ pyproject.toml | 3 + src/google/adk/integrations/slack/README.md | 82 ++++++++++ src/google/adk/integrations/slack/__init__.py | 17 ++ .../adk/integrations/slack/slack_runner.py | 123 +++++++++++++++ .../integrations/slack/test_slack_runner.py | 148 ++++++++++++++++++ 6 files changed, 434 insertions(+) create mode 100644 contributing/samples/slack_agent/agent.py create mode 100644 src/google/adk/integrations/slack/README.md create mode 100644 src/google/adk/integrations/slack/__init__.py create mode 100644 src/google/adk/integrations/slack/slack_runner.py create mode 100644 tests/unittests/integrations/slack/test_slack_runner.py diff --git a/contributing/samples/slack_agent/agent.py b/contributing/samples/slack_agent/agent.py new file mode 100644 index 0000000000..45d20e8db6 --- /dev/null +++ b/contributing/samples/slack_agent/agent.py @@ -0,0 +1,61 @@ +# Copyright 2026 Google LLC +# +# 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 asyncio +import os + +from google.adk.agents.llm_agent import LlmAgent +from google.adk.integrations.slack import SlackRunner +from google.adk.runners import Runner +from google.adk.sessions.in_memory_session_service import InMemorySessionService +from slack_bolt.app.async_app import AsyncApp + + +async def main(): + # 1. Setup your ADK agent + agent = LlmAgent( + name="slack_agent", + instruction=( + "You are a helpful Slack bot powered by Google ADK. Be concise and" + " friendly." + ), + ) + + # 2. Setup ADK Runner + runner = Runner( + agent=agent, + app_name="slack_app", + session_service=InMemorySessionService(), + auto_create_session=True, + ) + + # 3. Setup Slack Bolt App + # Ensure you have SLACK_BOT_TOKEN and SLACK_APP_TOKEN in your environment + slack_app = AsyncApp(token=os.environ.get("SLACK_BOT_TOKEN")) + + # 4. Initialize SlackRunner + slack_runner = SlackRunner(runner=runner, slack_app=slack_app) + + # 5. Start the Slack bot (using Socket Mode) + app_token = os.environ.get("SLACK_APP_TOKEN") + if not app_token: + print("SLACK_APP_TOKEN not found. Please set it for Socket Mode.") + return + + print("Starting Slack bot...") + await slack_runner.start(app_token=app_token) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/pyproject.toml b/pyproject.toml index 6851122b3f..6ff9ea2b00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -137,6 +137,7 @@ test = [ "pytest>=9.0.0,<10.0.0", "python-multipart>=0.0.9", "rouge-score>=0.1.2", + "slack-bolt>=1.22.0", "tabulate>=0.9.0", # go/keep-sorted end ] @@ -171,6 +172,8 @@ otel-gcp = ["opentelemetry-instrumentation-google-genai>=0.6b0, <1.0.0"] toolbox = ["toolbox-adk>=0.7.0, <0.8.0"] +slack = ["slack-bolt>=1.22.0"] + [tool.pyink] # Format py files following Google style-guide line-length = 80 diff --git a/src/google/adk/integrations/slack/README.md b/src/google/adk/integrations/slack/README.md new file mode 100644 index 0000000000..1aab87a991 --- /dev/null +++ b/src/google/adk/integrations/slack/README.md @@ -0,0 +1,82 @@ +# Slack Integration + +The ADK Slack integration provides a `SlackRunner` to easily deploy your agents +on Slack using [Socket Mode](https://api.slack.com/apis/connections/socket). + +## Prerequisites + +Install the ADK with Slack support: + +```bash +pip install "google-adk[slack]" +``` + +## Slack App Configuration + +To use the `SlackRunner`, you need to set up a Slack App in the +[Slack API Dashboard](https://api.slack.com/apps). + +### 1. Enable Socket Mode +In your app settings, go to **Socket Mode** and toggle **Enable Socket Mode** to +`on`. +You will be prompted to generate an **App-Level Token** (starts with `xapp-`). +Ensure it has the `connections:write` scope. + +### 2. Configure Scopes +Navigate to **OAuth & Permissions** and add the following **Bot Token Scopes**: + +- `app_mentions:read`: To receive mention events. +- `chat:write`: To send messages. +- `im:history`: To respond in Direct Messages. +- `groups:history` (Optional): To respond in private channels. +- `channels:history` (Optional): To respond in public channels. + +### 3. Subscribe to Events +Go to **Event Subscriptions**: + +- Toggle **Enable Events** to `on`. +- Under **Subscribe to bot events**, add: + - `app_mention`: To respond when the bot is mentioned. + - `message.im`: To respond in Direct Messages. + +### 4. Install App to Workspace +Install the app to your workspace to obtain the +**Bot User OAuth Token** (starts with `xoxb-`). + +## Usage + +```python +import asyncio +import os +from google.adk.runners import Runner +from google.adk.integrations.slack import SlackRunner +from slack_bolt.app.async_app import AsyncApp + +async def main(): + # 1. Initialize your ADK Runner (with your agent) + # runner = Runner(agent=my_agent, session_service=my_session_service) + + # 2. Initialize Slack AsyncApp with your Bot Token + slack_app = AsyncApp(token=os.environ["SLACK_BOT_TOKEN"]) + + # 3. Initialize the SlackRunner + slack_runner = SlackRunner(runner=runner, slack_app=slack_app) + + # 4. Start the runner in Socket Mode with your App Token + await slack_runner.start(app_token=os.environ["SLACK_APP_TOKEN"]) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +## Session Management + +The `SlackRunner` automatically manages conversation sessions: + +- **Direct Messages**: The `channel_id` is used as the session ID. +- **Threaded Conversations**: The combination of `channel_id` and `thread_ts` +(the timestamp of the parent message) is used as the session ID to maintain +thread context. +- **App Mentions**: If not in a thread, the message timestamp (`ts`) is used +with the `channel_id` to start a new threaded session if the user replies +in-thread. diff --git a/src/google/adk/integrations/slack/__init__.py b/src/google/adk/integrations/slack/__init__.py new file mode 100644 index 0000000000..ffa5fab716 --- /dev/null +++ b/src/google/adk/integrations/slack/__init__.py @@ -0,0 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from .slack_runner import SlackRunner + +__all__ = ["SlackRunner"] diff --git a/src/google/adk/integrations/slack/slack_runner.py b/src/google/adk/integrations/slack/slack_runner.py new file mode 100644 index 0000000000..d8449a1a4f --- /dev/null +++ b/src/google/adk/integrations/slack/slack_runner.py @@ -0,0 +1,123 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import logging +from typing import Any + +from google.adk.runners import Runner +from google.genai import types +from slack_bolt.adapter.socket_mode.aiohttp import AsyncSocketModeHandler + +try: + from slack_bolt.app.async_app import AsyncApp +except ImportError: + raise ImportError( + "slack_bolt is not installed. Please install it with " + '`pip install "google-adk[slack]"`.' + ) + +logger = logging.getLogger("google_adk." + __name__) + + +class SlackRunner: + """Runner for ADK agents on Slack.""" + + def __init__( + self, + runner: Runner, + slack_app: AsyncApp, + ): + self.runner = runner + self.slack_app = slack_app + self._setup_handlers() + + def _setup_handlers(self): + """Sets up event handlers for Slack.""" + + @self.slack_app.event("app_mention") + async def handle_app_mentions(event, say): + await self._handle_message(event, say) + + @self.slack_app.event("message") + async def handle_message_events(event, say): + # Skip bot messages to avoid loops + if event.get("bot_id") or event.get("bot_profile"): + return + + is_im = event.get("channel_type") == "im" + in_thread = event.get("thread_ts") is not None + + if is_im or in_thread: + await self._handle_message(event, say) + + async def _handle_message(self, event: dict[str, Any], say: Any): + """Handles a message or app_mention event.""" + text = event.get("text", "") + user_id = event.get("user") + channel_id = event.get("channel") + thread_ts = event.get("thread_ts") or event.get("ts") + + if not text or not user_id or not channel_id: + return + + # In Slack, we can use the channel_id (and optionally thread_ts) as a session ID. + session_id = f"{channel_id}-{thread_ts}" if thread_ts else channel_id + + new_message = types.Content(role="user", parts=[types.Part(text=text)]) + + thinking_ts: str | None = None + try: + thinking_response = await say(text="_Thinking..._", thread_ts=thread_ts) + thinking_ts = thinking_response.get("ts") + + async for event in self.runner.run_async( + user_id=user_id, + session_id=session_id, + new_message=new_message, + ): + if event.content and event.content.parts: + for part in event.content.parts: + if part.text: + if thinking_ts: + await self.slack_app.client.chat_update( + channel=channel_id, + ts=thinking_ts, + text=part.text, + ) + thinking_ts = None + else: + await say(text=part.text, thread_ts=thread_ts) + if thinking_ts: + await self.slack_app.client.chat_delete( + channel=channel_id, ts=thinking_ts + ) + thinking_ts = None + except Exception as e: + error_message = f"Sorry, I encountered an error: {str(e)}" + logger.exception("Error running ADK agent for Slack:") + if thinking_ts: + await self.slack_app.client.chat_update( + channel=channel_id, + ts=thinking_ts, + text=error_message, + ) + else: + await say(text=error_message, thread_ts=thread_ts) + + async def start(self, app_token: str): + """Starts the Slack app using Socket Mode.""" + handler = AsyncSocketModeHandler(self.slack_app, app_token) + await handler.start_async() diff --git a/tests/unittests/integrations/slack/test_slack_runner.py b/tests/unittests/integrations/slack/test_slack_runner.py new file mode 100644 index 0000000000..8dc9367fbe --- /dev/null +++ b/tests/unittests/integrations/slack/test_slack_runner.py @@ -0,0 +1,148 @@ +# Copyright 2026 Google LLC +# +# 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 unittest +from unittest.mock import AsyncMock +from unittest.mock import MagicMock +from unittest.mock import patch + +from google.adk.integrations.slack import SlackRunner +from google.adk.runners import Runner +from google.genai import types +from slack_bolt.app.async_app import AsyncApp + + +class TestSlackRunner(unittest.IsolatedAsyncioTestCase): + + def setUp(self): + self.mock_runner = MagicMock(spec=Runner) + self.mock_slack_app = MagicMock(spec=AsyncApp) + self.mock_slack_app.client = MagicMock() + self.mock_slack_app.client.chat_update = AsyncMock() + self.mock_slack_app.client.chat_delete = AsyncMock() + self.slack_runner = SlackRunner(self.mock_runner, self.mock_slack_app) + + @patch("google.adk.integrations.slack.slack_runner.logger") + async def test_handle_message_success(self, mock_logger): + # Setup mocks + mock_say = AsyncMock() + mock_say.return_value = {"ts": "thinking_ts"} + event = { + "text": "Hello bot", + "user": "U12345", + "channel": "C67890", + "ts": "1234567890.123456", + } + + # Mock runner.run_async to yield a response + mock_event = MagicMock() + mock_event.content = types.Content( + role="model", parts=[types.Part(text="Hi user!")] + ) + + async def mock_run_async(*args, **kwargs): + yield mock_event + + self.mock_runner.run_async.side_effect = mock_run_async + + # Call the handler + await self.slack_runner._handle_message(event, mock_say) + + # Verify calls + self.mock_runner.run_async.assert_called_once() + mock_say.assert_called_once_with( + text="_Thinking..._", thread_ts="1234567890.123456" + ) + self.mock_slack_app.client.chat_update.assert_called_once_with( + channel="C67890", + ts="thinking_ts", + text="Hi user!", + ) + + @patch("google.adk.integrations.slack.slack_runner.logger") + async def test_handle_message_multi_turn(self, mock_logger): + # Setup mocks + mock_say = AsyncMock() + mock_say.return_value = {"ts": "thinking_ts"} + event = { + "text": "Tell me two things", + "user": "U12345", + "channel": "C67890", + "ts": "1234567890.123456", + } + + # Mock runner.run_async to yield two responses + e1 = MagicMock() + e1.content = types.Content( + role="model", parts=[types.Part(text="First thing.")] + ) + e2 = MagicMock() + e2.content = types.Content( + role="model", parts=[types.Part(text="Second thing.")] + ) + + async def mock_run_async(*args, **kwargs): + yield e1 + yield e2 + + self.mock_runner.run_async.side_effect = mock_run_async + + await self.slack_runner._handle_message(event, mock_say) + + # First message uses chat_update + self.mock_slack_app.client.chat_update.assert_called_once_with( + channel="C67890", + ts="thinking_ts", + text="First thing.", + ) + # Second message uses say + self.assertEqual(mock_say.call_count, 2) + mock_say.assert_any_call( + text="_Thinking..._", thread_ts="1234567890.123456" + ) + mock_say.assert_any_call( + text="Second thing.", thread_ts="1234567890.123456" + ) + + @patch("google.adk.integrations.slack.slack_runner.logger") + async def test_handle_message_error(self, mock_logger): + mock_say = AsyncMock() + mock_say.return_value = {"ts": "thinking_ts"} + event = { + "text": "Trigger error", + "user": "U12345", + "channel": "C67890", + "ts": "1234567890.123456", + } + + async def mock_run_async_error(*args, **kwargs): + raise Exception("Something went wrong") + yield # To make it a generator + + self.mock_runner.run_async.side_effect = mock_run_async_error + + await self.slack_runner._handle_message(event, mock_say) + + mock_say.assert_called_once_with( + text="_Thinking..._", thread_ts="1234567890.123456" + ) + self.mock_slack_app.client.chat_update.assert_called_once() + self.assertIn( + "Sorry, I encountered an error", + self.mock_slack_app.client.chat_update.call_args[1]["text"], + ) + + +if __name__ == "__main__": + unittest.main() From 41f4b44bc14341ba413080806b95498a978100b6 Mon Sep 17 00:00:00 2001 From: Xuan Yang Date: Wed, 18 Mar 2026 15:52:48 -0700 Subject: [PATCH 49/51] chore: Fix copyright notices Co-authored-by: Xuan Yang PiperOrigin-RevId: 885829552 --- src/google/adk/integrations/agent_registry/__init__.py | 2 ++ src/google/adk/integrations/api_registry/__init__.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/google/adk/integrations/agent_registry/__init__.py b/src/google/adk/integrations/agent_registry/__init__.py index 995ad046f2..18a30b3211 100644 --- a/src/google/adk/integrations/agent_registry/__init__.py +++ b/src/google/adk/integrations/agent_registry/__init__.py @@ -1,3 +1,5 @@ +# Copyright 2026 Google LLC +# # 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 diff --git a/src/google/adk/integrations/api_registry/__init__.py b/src/google/adk/integrations/api_registry/__init__.py index 1179bc8616..e1aded4b12 100644 --- a/src/google/adk/integrations/api_registry/__init__.py +++ b/src/google/adk/integrations/api_registry/__init__.py @@ -1,3 +1,5 @@ +# Copyright 2026 Google LLC +# # 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 From c26d35916e1b6cd12a412516381c6fcbf867bcee Mon Sep 17 00:00:00 2001 From: Akash Bangad Date: Wed, 18 Mar 2026 15:57:48 -0700 Subject: [PATCH 50/51] fix(models): handle arbitrary dict responses in part_to_message_block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge https://github.com/google/adk-python/pull/4780 ## Bug `AnthropicLlm.part_to_message_block()` only serializes `FunctionResponse.response` dicts that contain a `"content"` or `"result"` key. When neither key is present the variable `content` stays as `""` and an empty `ToolResultBlockParam` is sent to Claude. This silently drops the output of several `SkillToolset` tools: | Tool | Keys returned | Handled before this fix? | |---|---|---| | `load_skill` (success) | `skill_name`, `instructions`, `frontmatter` | **No** | | `run_skill_script` (success) | `skill_name`, `script_path`, `stdout`, `stderr`, `status` | **No** | | Any skill tool (error) | `error`, `error_code` | **No** | | `load_skill_resource` (success) | `skill_name`, `path`, `content` | Yes (`"content"` key) | Because `load_skill` is the entry-point for skill instructions, Claude models using `SkillToolset` **never received skill instructions**, making the feature completely non-functional with Anthropic models. ## Fix Added an `else` branch in `part_to_message_block()` that JSON-serializes the full response dict when neither `"content"` nor `"result"` is present: ```python elif response_data: # Fallback: serialize the entire response dict as JSON so that tools # returning arbitrary key structures (e.g. load_skill returning # {"skill_name", "instructions", "frontmatter"}) are not silently # dropped. content = json.dumps(response_data) ``` This is consistent with how Gemini handles it — the Gemini integration passes `types.Part` objects directly to the Google GenAI SDK which serializes them natively, so there is no key-based filtering at all. ## Testing plan Added 4 new unit tests to `tests/unittests/models/test_anthropic_llm.py`: - `test_part_to_message_block_arbitrary_dict_serialized_as_json` — covers the `load_skill` response shape - `test_part_to_message_block_run_skill_script_response` — covers the `run_skill_script` response shape - `test_part_to_message_block_error_response_not_dropped` — covers error dict responses - `test_part_to_message_block_empty_response_stays_empty` — ensures empty dict still produces empty content (no regression) All 35 tests in `test_anthropic_llm.py` pass: ``` 35 passed in 7.32s ``` Run with: ```bash uv sync --extra test pytest tests/unittests/models/test_anthropic_llm.py -v ``` Co-authored-by: Kathy Wu COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/4780 from akashbangad:fix/anthropic-llm-skill-toolset-fallback c23ad3755f94eb8c914203a6389bd3fa755c70be PiperOrigin-RevId: 885831845 --- src/google/adk/models/anthropic_llm.py | 6 ++ tests/unittests/models/test_anthropic_llm.py | 81 ++++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/src/google/adk/models/anthropic_llm.py b/src/google/adk/models/anthropic_llm.py index 7dd050a1cb..f8d7d17895 100644 --- a/src/google/adk/models/anthropic_llm.py +++ b/src/google/adk/models/anthropic_llm.py @@ -146,6 +146,12 @@ def part_to_message_block( content = json.dumps(result) else: content = str(result) + elif response_data: + # Fallback: serialize the entire response dict as JSON so that tools + # returning arbitrary key structures (e.g. load_skill returning + # {"skill_name", "instructions", "frontmatter"}) are not silently + # dropped. + content = json.dumps(response_data) return anthropic_types.ToolResultBlockParam( tool_use_id=part.function_response.id or "", diff --git a/tests/unittests/models/test_anthropic_llm.py b/tests/unittests/models/test_anthropic_llm.py index 3df9f567be..f5b0d2c019 100644 --- a/tests/unittests/models/test_anthropic_llm.py +++ b/tests/unittests/models/test_anthropic_llm.py @@ -979,6 +979,87 @@ def test_part_to_message_block_nested_dict_result(): assert parsed["results"][0]["tags"] == ["a", "b"] +# --- Tests for arbitrary dict fallback (e.g. SkillToolset load_skill) --- + + +def test_part_to_message_block_arbitrary_dict_serialized_as_json(): + """Dicts with keys other than 'content'/'result' should be JSON-serialized. + + This covers tools like load_skill that return arbitrary key structures + such as {"skill_name": ..., "instructions": ..., "frontmatter": ...}. + """ + response_part = types.Part.from_function_response( + name="load_skill", + response={ + "skill_name": "my_skill", + "instructions": "Step 1: do this. Step 2: do that.", + "frontmatter": {"version": "1.0", "tags": ["a", "b"]}, + }, + ) + response_part.function_response.id = "test_id" + + result = part_to_message_block(response_part) + + assert result["type"] == "tool_result" + assert result["tool_use_id"] == "test_id" + assert not result["is_error"] + parsed = json.loads(result["content"]) + assert parsed["skill_name"] == "my_skill" + assert parsed["instructions"] == "Step 1: do this. Step 2: do that." + assert parsed["frontmatter"]["version"] == "1.0" + + +def test_part_to_message_block_run_skill_script_response(): + """run_skill_script response keys (stdout/stderr/status) should not be dropped.""" + response_part = types.Part.from_function_response( + name="run_skill_script", + response={ + "skill_name": "my_skill", + "script_path": "scripts/setup.py", + "stdout": "Done.", + "stderr": "", + "status": "success", + }, + ) + response_part.function_response.id = "test_id_2" + + result = part_to_message_block(response_part) + + parsed = json.loads(result["content"]) + assert parsed["status"] == "success" + assert parsed["stdout"] == "Done." + + +def test_part_to_message_block_error_response_not_dropped(): + """Error dicts like {"error": ..., "error_code": ...} should be serialized.""" + response_part = types.Part.from_function_response( + name="load_skill", + response={ + "error": "Skill 'missing' not found.", + "error_code": "SKILL_NOT_FOUND", + }, + ) + response_part.function_response.id = "test_id_3" + + result = part_to_message_block(response_part) + + parsed = json.loads(result["content"]) + assert parsed["error_code"] == "SKILL_NOT_FOUND" + + +def test_part_to_message_block_empty_response_stays_empty(): + """An empty response dict should still produce an empty content string.""" + response_part = types.Part.from_function_response( + name="some_tool", + response={}, + ) + response_part.function_response.id = "test_id_4" + + result = part_to_message_block(response_part) + + assert result["content"] == "" + + # --- Tests for Bug #1: Streaming support --- From 1ee062312813e9564fdff693f883f57987e18c6a Mon Sep 17 00:00:00 2001 From: Liang Wu Date: Wed, 18 Mar 2026 16:16:29 -0700 Subject: [PATCH 51/51] fix: Update import and version for k8s-agent-sandbox Renames the imported module from `agentic_sandbox` to `k8s_agent_sandbox` in `gke_code_executor.py` and updates the required version in `pyproject.toml` to `>=0.1.1.post3`. Closes #4883 Co-authored-by: Liang Wu PiperOrigin-RevId: 885840142 --- pyproject.toml | 2 +- src/google/adk/code_executors/gke_code_executor.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6ff9ea2b00..a39d831ce8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -158,7 +158,7 @@ extensions = [ "crewai[tools];python_version>='3.11' and python_version<'3.12'", # For CrewaiTool; chromadb/pypika fail on 3.12+ "docker>=7.0.0", # For ContainerCodeExecutor "kubernetes>=29.0.0", # For GkeCodeExecutor - "k8s-agent-sandbox>=0.1.1.post2", # For GkeCodeExecutor sandbox mode + "k8s-agent-sandbox>=0.1.1.post3", # For GkeCodeExecutor sandbox mode "langgraph>=0.2.60, <0.4.8", # For LangGraphAgent "litellm>=1.75.5, <2.0.0", # For LiteLlm class. Currently has OpenAI limitations. TODO: once LiteLlm fix it "llama-index-readers-file>=0.4.0", # For retrieval using LlamaIndex. diff --git a/src/google/adk/code_executors/gke_code_executor.py b/src/google/adk/code_executors/gke_code_executor.py index b44aa19357..3336eed6d9 100644 --- a/src/google/adk/code_executors/gke_code_executor.py +++ b/src/google/adk/code_executors/gke_code_executor.py @@ -30,12 +30,12 @@ from .code_execution_utils import CodeExecutionResult try: - from agentic_sandbox import SandboxClient + from k8s_agent_sandbox import SandboxClient except ImportError: SandboxClient = None if TYPE_CHECKING: - from agentic_sandbox import SandboxClient + from k8s_agent_sandbox import SandboxClient # Expose these for tests to monkeypatch. client = k8s.client