@kong-ui-public/entities-plugins 9.116.0 → 9.117.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities-plugins.es.js +6607 -6580
- package/dist/entities-plugins.umd.js +24 -24
- package/dist/style.css +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/FlowCanvas.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/FlowPanels.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/FlowNode.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/NodePortal.vue.d.ts +2 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/NodePortal.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/store/flow.d.ts +6 -0
- package/dist/types/components/free-form/Datakit/flow-editor/store/flow.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/store/store.d.ts +4 -0
- package/dist/types/components/free-form/Datakit/flow-editor/store/store.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/store/useNodePortals.d.ts +7 -0
- package/dist/types/components/free-form/Datakit/flow-editor/store/useNodePortals.d.ts.map +1 -0
- package/package.json +8 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(ve,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@vueuse/core"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("monaco-editor"),require("monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js"),require("@shikijs/core"),require("@shikijs/engine-javascript"),require("zod"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@vueuse/core","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js","@shikijs/core","@shikijs/engine-javascript","zod","@kong-ui-public/entities-plugins-icon"],t):(ve=typeof globalThis<"u"?globalThis:ve||self,t(ve["kong-ui-public-entities-plugins"]={},ve.Vue,ve["kong-ui-public-entities-shared"],ve.marked,ve.VueRouter,ve["kong-ui-public-i18n"],ve.entitiesPluginsMetadata,ve.forms,ve.entitiesVaults,null,ve.core$1,ve.KongIcons,ve.Kongponents,ve.entitiesRedisConfigurations,null,ve.monaco,null,ve.core$2,ve.engineJavascript,ve.zod,ve.entitiesPluginsIcon))})(this,function(ve,t,ye,Fr,mo,Qe,X,Le,zo,J2,Ye,xe,$e,go,Q2,Eg,eF,Ks,Ng,J,Ho){"use strict";var X2=Object.defineProperty;var Z2=(ve,t,ye)=>t in ve?X2(ve,t,{enumerable:!0,configurable:!0,writable:!0,value:ye}):ve[t]=ye;var st=(ve,t,ye)=>Z2(ve,typeof t!="symbol"?t+"":t,ye);function xg(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const Lr=xg(Eg),et={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",confirm_delete:"Yes, delete",view:"View Details",configure_dynamic_ordering:"Configure Dynamic Ordering",go_to_plugins:"Go to Plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}"},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here.",learn_more:"Learn more"}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service."},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},ace:{name:"Konnect Access Control Enforcement",description:"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{name:"Solace Consume",description:"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{name:"Solace Log",description:"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{name:"AI LLM Judge",description:"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for `llm/v1/chat` requests."},"ai-mcp-proxy":{name:"AI MCP Proxy",description:"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{name:"AI GCP Model Armor",description:"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{name:"AI MCP OAuth2",description:"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{name:"AI Semantic Response Guard",description:"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of `llm/v1/chat` or `llm/v1/completions` requests."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",empty_title:"No Custom Plugins",empty_description:"No custom plugins have been added to this Control Plane.",create:{name:"Custom Plugin",description:"Upload schema file to create custom plugin"}}},highlighted_plugins:{title:"Highlighted Plugins"}},form:{disable_data_retrieving:"You do not have permission to select {scope}",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it",no_selection:"No selection...",fields:{enabled:{label:"Enabled",on_text:"This plugin is Enabled",off_text:"This plugin is Disabled"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Select a gateway service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Select a route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Select a consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Select a consumer group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"View advanced parameters",hide:"Hide advanced parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Set the plugin's behavior by defining its configuration settings."}}},"free-form":{"ai-mcp-proxy":{tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{plugin_config:{title:"Flow editor"},description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Build flows visually with a drag-and-drop editor for Datakit. Visualize node connections, inputs, and outputs as you design.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow editor",name:"Datakit flow editor",cta:"Go to flow editor",disabled_tooltip:"The flow editor is unavailable. To switch, fix configuration errors or remove unsupported nodes.",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",canvas_panel:{request:"Request",response:"Response",node_count_plural:"{count} nodes",node_count_singular:"1 node"},panel_segments:{nodes:"Nodes",resources:{title:"Resources",vault:{title:"Vault secrets",add_button:"Add vault resource",name_exists_error:"Vault name already exists",name_required_error:"Vault name is required",edit:"Edit",delete:"Delete"},cache:{title:"Cache configuration",add_button:"Add cache configuration",strategy_options:{memory:"Memory",redis:"Redis"},select_redis_configuration:"Select a shared Redis configuration",inline_config:"Inline config",inline_config_preview:"You are using a dedicated Redis configuration, This is a preview of your current setup, please edit it in code editor"}}},vault_secret_picker:{title:"Add secret to Datakit",proceed_button_text:"Add secret",secret_name:{label:"Secret name",placeholder:"Enter a name",help:"A unique identifier for this secret in your Datakit configuration"}},node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},examples:"Examples",debug:{label:"Debug",description:'Enables detailed error messages in client responses, making debugging easier. <a href="https://developer.konghq.com/plugins/datakit/#debugging" target="_blank">See the docs</a> for details.'},actions:{zoom_in:"Zoom in",zoom_out:"Zoom out",fit_view:"Zoom to fit",auto_layout:"Auto layout",undo:"Undo",redo:"Redo",duplicate:"Duplicate",remove_from_branch:"Remove from branch",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The <code>jq</code> node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set Kong Gateway-specific data",description:"Get and set Kong Gateway host and request properties."},static:{name:"static",summary:"Configure static input values ahead of time",description:"Emits static values to be used as inputs for other nodes. The <code>static</code> node can help you with hardcoding some known value for an input."},branch:{name:"branch",summary:"Execute nodes based on matching input conditions",description:"Execute different nodes based on matching input conditions, such as a cache hit or miss."},cache:{name:"cache",summary:"Store and fetch cached data",description:"Store data into cache and fetch cached data from cache."},request:{name:"request",description:"Reads incoming client request properties. You cannot specify request node input."},response:{name:"response",description:"Updates properties of the outgoing client response."},service_request:{name:"service request",description:"Updates properties of the request sent to the service being proxied to."},service_response:{name:"service response",description:"Reads response properties from the service being proxied to."},vault:{name:"Vault",description:"Vault is a tool for securely accessing secrets."}},node_properties:{name:"Name",configuration:"Configuration",input:{label:"Inputs configuration",placeholder:"Select a source",add_button:"Add an input",or:"or",input:"Input",fields:"Fields",source:"Source",tooltip:"Fields are part of the node input. A source can connect to either the fields or the input, but not both."},input_name:{label:"Input name",placeholder:"Enter an input name"},jq:{label:"jq script",help:"Refer to {link} for full documentation."},output_value:{label:"Output value",value_name:"Value name",value:"Value",add_button:"Add a value"},property:{get:"get",set:"set"},branch:{placeholder:"Select nodes"},errors:{invalid_identifier_format:"{fieldName} must start with a letter or underscore and contain only letters, numbers, underscores, or hyphens",invalid_url_format:"Not a valid URL format",not_empty:"{fieldName} is required",not_float:"{fieldName} must be a float",not_integer:"{fieldName} must be an integer",not_number:"{fieldName} must be a number",not_unique:"{fieldName} must be unique",number_range:"{fieldName} must be between {min} and {max}",string_len_range:"{fieldName} must be between {min} and {max} characters",reserved_node_name:'"{nodeName}" is a reserved node name'}},error:{invalid_connection:"Invalid connection",branch_cycle:"Cannot create a circular branch relationship"},confirm:{title:"Connection conflict",message:{confirm:"Are you sure you want to make this change?",switch:"You can connect an output source to either all inputs of a node or to individual inputs.",override:"Each input can connect to only one output, but one output can connect to many inputs.",branch_replace:"This node already belongs to another branch. Move it to the new branch?"},proceed:"Yes, update"},leave_confirm:"Leave current page? Changes you made may not be saved.",phase_mask_help:"You can't add call nodes in the response phase."},code_editor:{mode:"Code editor"}},vault_picker:{component_error:"The vault secret picker is not available"},tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}"}},redis:{title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
1
|
+
(function(Ae,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@vueuse/core"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("monaco-editor"),require("monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js"),require("@shikijs/core"),require("@shikijs/engine-javascript"),require("zod"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@vueuse/core","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js","@shikijs/core","@shikijs/engine-javascript","zod","@kong-ui-public/entities-plugins-icon"],t):(Ae=typeof globalThis<"u"?globalThis:Ae||self,t(Ae["kong-ui-public-entities-plugins"]={},Ae.Vue,Ae["kong-ui-public-entities-shared"],Ae.marked,Ae.VueRouter,Ae["kong-ui-public-i18n"],Ae.entitiesPluginsMetadata,Ae.forms,Ae.entitiesVaults,null,Ae.core$1,Ae.KongIcons,Ae.Kongponents,Ae.entitiesRedisConfigurations,null,Ae.monaco,null,Ae.core$2,Ae.engineJavascript,Ae.zod,Ae.entitiesPluginsIcon))})(this,function(Ae,t,be,Fr,mo,Qe,Z,Le,zo,Q2,qe,xe,Be,go,eF,Eg,tF,Ks,Ng,J,Ho){"use strict";var Z2=Object.defineProperty;var J2=(Ae,t,be)=>t in Ae?Z2(Ae,t,{enumerable:!0,configurable:!0,writable:!0,value:be}):Ae[t]=be;var ct=(Ae,t,be)=>J2(Ae,typeof t!="symbol"?t+"":t,be);function xg(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const Lr=xg(Eg),et={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",confirm_delete:"Yes, delete",view:"View Details",configure_dynamic_ordering:"Configure Dynamic Ordering",go_to_plugins:"Go to Plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}"},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here.",learn_more:"Learn more"}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service."},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},ace:{name:"Konnect Access Control Enforcement",description:"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{name:"Solace Consume",description:"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{name:"Solace Log",description:"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{name:"AI LLM Judge",description:"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for `llm/v1/chat` requests."},"ai-mcp-proxy":{name:"AI MCP Proxy",description:"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{name:"AI GCP Model Armor",description:"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{name:"AI MCP OAuth2",description:"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{name:"AI Semantic Response Guard",description:"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of `llm/v1/chat` or `llm/v1/completions` requests."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",empty_title:"No Custom Plugins",empty_description:"No custom plugins have been added to this Control Plane.",create:{name:"Custom Plugin",description:"Upload schema file to create custom plugin"}}},highlighted_plugins:{title:"Highlighted Plugins"}},form:{disable_data_retrieving:"You do not have permission to select {scope}",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it",no_selection:"No selection...",fields:{enabled:{label:"Enabled",on_text:"This plugin is Enabled",off_text:"This plugin is Disabled"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Select a gateway service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Select a route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Select a consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Select a consumer group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"View advanced parameters",hide:"Hide advanced parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Set the plugin's behavior by defining its configuration settings."}}},"free-form":{"ai-mcp-proxy":{tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{plugin_config:{title:"Flow editor"},description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Build flows visually with a drag-and-drop editor for Datakit. Visualize node connections, inputs, and outputs as you design.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow editor",name:"Datakit flow editor",cta:"Go to flow editor",disabled_tooltip:"The flow editor is unavailable. To switch, fix configuration errors or remove unsupported nodes.",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",canvas_panel:{request:"Request",response:"Response",node_count_plural:"{count} nodes",node_count_singular:"1 node"},panel_segments:{nodes:"Nodes",resources:{title:"Resources",vault:{title:"Vault secrets",add_button:"Add vault resource",name_exists_error:"Vault name already exists",name_required_error:"Vault name is required",edit:"Edit",delete:"Delete"},cache:{title:"Cache configuration",add_button:"Add cache configuration",strategy_options:{memory:"Memory",redis:"Redis"},select_redis_configuration:"Select a shared Redis configuration",inline_config:"Inline config",inline_config_preview:"You are using a dedicated Redis configuration, This is a preview of your current setup, please edit it in code editor"}}},vault_secret_picker:{title:"Add secret to Datakit",proceed_button_text:"Add secret",secret_name:{label:"Secret name",placeholder:"Enter a name",help:"A unique identifier for this secret in your Datakit configuration"}},node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},examples:"Examples",debug:{label:"Debug",description:'Enables detailed error messages in client responses, making debugging easier. <a href="https://developer.konghq.com/plugins/datakit/#debugging" target="_blank">See the docs</a> for details.'},actions:{zoom_in:"Zoom in",zoom_out:"Zoom out",fit_view:"Zoom to fit",auto_layout:"Auto layout",undo:"Undo",redo:"Redo",duplicate:"Duplicate",remove_from_branch:"Remove from branch",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The <code>jq</code> node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set Kong Gateway-specific data",description:"Get and set Kong Gateway host and request properties."},static:{name:"static",summary:"Configure static input values ahead of time",description:"Emits static values to be used as inputs for other nodes. The <code>static</code> node can help you with hardcoding some known value for an input."},branch:{name:"branch",summary:"Execute nodes based on matching input conditions",description:"Execute different nodes based on matching input conditions, such as a cache hit or miss."},cache:{name:"cache",summary:"Store and fetch cached data",description:"Store data into cache and fetch cached data from cache."},request:{name:"request",description:"Reads incoming client request properties. You cannot specify request node input."},response:{name:"response",description:"Updates properties of the outgoing client response."},service_request:{name:"service request",description:"Updates properties of the request sent to the service being proxied to."},service_response:{name:"service response",description:"Reads response properties from the service being proxied to."},vault:{name:"Vault",description:"Vault is a tool for securely accessing secrets."}},node_properties:{name:"Name",configuration:"Configuration",input:{label:"Inputs configuration",placeholder:"Select a source",add_button:"Add an input",or:"or",input:"Input",fields:"Fields",source:"Source",tooltip:"Fields are part of the node input. A source can connect to either the fields or the input, but not both."},input_name:{label:"Input name",placeholder:"Enter an input name"},jq:{label:"jq script",help:"Refer to {link} for full documentation."},output_value:{label:"Output value",value_name:"Value name",value:"Value",add_button:"Add a value"},property:{get:"get",set:"set"},branch:{placeholder:"Select nodes"},errors:{invalid_identifier_format:"{fieldName} must start with a letter or underscore and contain only letters, numbers, underscores, or hyphens",invalid_url_format:"Not a valid URL format",not_empty:"{fieldName} is required",not_float:"{fieldName} must be a float",not_integer:"{fieldName} must be an integer",not_number:"{fieldName} must be a number",not_unique:"{fieldName} must be unique",number_range:"{fieldName} must be between {min} and {max}",string_len_range:"{fieldName} must be between {min} and {max} characters",reserved_node_name:'"{nodeName}" is a reserved node name'}},error:{invalid_connection:"Invalid connection",branch_cycle:"Cannot create a circular branch relationship"},confirm:{title:"Connection conflict",message:{confirm:"Are you sure you want to make this change?",switch:"You can connect an output source to either all inputs of a node or to individual inputs.",override:"Each input can connect to only one output, but one output can connect to many inputs.",branch_replace:"This node already belongs to another branch. Move it to the new branch?"},proceed:"Yes, update"},leave_confirm:"Leave current page? Changes you made may not be saved.",phase_mask_help:"You can't add call nodes in the response phase."},code_editor:{mode:"Code editor"}},vault_picker:{component_error:"The vault secret picker is not available"},tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}"}},redis:{title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
2
2
|
If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
|
|
3
|
-
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function De(){const e=Qe.createI18n("en-us",et);return{i18n:e,i18nT:Qe.i18nTComponent(e)}}function js(){const{capitalize:e}=
|
|
4
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Fn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},
|
|
3
|
+
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function De(){const e=Qe.createI18n("en-us",et);return{i18n:e,i18nT:Qe.i18nTComponent(e)}}function js(){const{capitalize:e}=be.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(u,f,m)=>{var g,h,y;if(!(!u||!f||!m))switch(m.type){case"boolean":u[f]={type:be.ConfigurationSchemaType.BadgeStatus,...u[f]};break;case"string":m.encrypted?u[f]={type:be.ConfigurationSchemaType.Redacted,...u[f]}:u[f]={type:be.ConfigurationSchemaType.Text,...u[f]};break;case"set":((g=m.elements)==null?void 0:g.type)==="string"&&(u[f]={type:be.ConfigurationSchemaType.BadgeTag,...u[f]});break;case"array":n.includes(f)?u[f]={type:be.ConfigurationSchemaType.BadgeMethod,...u[f]}:((h=m.elements)==null?void 0:h.type)==="string"?m.encrypted?u[f]={type:be.ConfigurationSchemaType.RedactedArray,...u[f]}:u[f]={type:be.ConfigurationSchemaType.BadgeTag,...u[f]}:((y=m.elements)==null?void 0:y.type)==="record"&&(u[f]={type:be.ConfigurationSchemaType.Json,...u[f]});break;case"record":u[f]={type:be.ConfigurationSchemaType.Json,...u[f]};break;default:u[f]={type:be.ConfigurationSchemaType.Text,...u[f]};break}},convertToDotNotation:u=>u.replace(/-/g,"."),unFlattenObject:u=>{const f={};for(const m in u){const g=m.split(".");g.reduce((h,y,_)=>h[y]||(h[y]=isNaN(g[_+1])?g.length-1===_?u[m]:{}:[]),f)}return f},dismissField:(u,f,m="redis",g=!1)=>{const h=new RegExp("(?<=-redis-).*");if(typeof u!="object"||u===null)return u;m==="redis"?Object.keys(u).forEach(y=>{y.match(h)&&delete u[y]}):g?u[m]=null:delete u[m],Object.assign(u,f)},isObjectEmpty:u=>Object.keys(u).length===0,unsetNullForeignKey:(u,f)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(u)>-1&&f[u]===null&&(delete f[u],f[u.replace(".id","")]=null)},formatPluginFieldLabel:u=>e(u.replace(/_/g," ")),getTallestPluginCardHeight:u=>{let f=0;if(u.length)for(let m=0;m<u.length;m++){const g=u[m].$el;f=g.offsetHeight>f?g.offsetHeight:f}return f},getToggleVisibility:(u,f)=>{var m,g;if(u&&f){const h=(g=(m=window==null?void 0:window.getComputedStyle(u))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:g.split(" ").length;return f>h}return!0}}}var Ur=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ur||{});const Gs=[Z.PluginGroup.AUTHENTICATION,Z.PluginGroup.AI,Z.PluginGroup.SECURITY,Z.PluginGroup.TRAFFIC_CONTROL,Z.PluginGroup.SERVERLESS,Z.PluginGroup.ANALYTICS_AND_MONITORING,Z.PluginGroup.TRANSFORMATIONS,Z.PluginGroup.LOGGING,Z.PluginGroup.DEPLOYMENT,Z.PluginGroup.WEBSOCKET,Z.PluginGroup.CUSTOM_PLUGINS],qs={[Z.PluginGroup.AUTHENTICATION]:!1,[Z.PluginGroup.AI]:!1,[Z.PluginGroup.SECURITY]:!1,[Z.PluginGroup.TRAFFIC_CONTROL]:!1,[Z.PluginGroup.SERVERLESS]:!1,[Z.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[Z.PluginGroup.TRANSFORMATIONS]:!1,[Z.PluginGroup.LOGGING]:!1,[Z.PluginGroup.DEPLOYMENT]:!1,[Z.PluginGroup.CUSTOM_PLUGINS]:!1};var Rn=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(Rn||{});const Mn=e=>{const n=Object.fromEntries(e.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},Fn={label:"Tags",name:"tags",type:"input",inputType:"text",valueType:"array",valueArrayType:"string",placeholder:"Enter list of tags",help:"An optional set of strings for grouping and filtering, separated by commas.",hint:"e.g. tag1, tag2, tag3"},ho={getColumnFields:Mn,tags:Fn,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=e.inputAttributes||{};return delete e.inputAttributes,{type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",newElementButtonLabelClasses:"kong-form-new-element-button-label",inputAttributes:{class:"form-control",style:{minWidth:"200px"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},zs={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Fn}]},Sg={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{group:{required:!0,type:"string",hint:"The arbitrary group name to associate to the consumer."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Hs={fields:[{username:{}},{password:{inputType:"password"}},{tags:Fn}]},vg={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0}},{password:{type:"string",required:!0,encrypted:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Ag={class:"field-wrapper"},Ig=t.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,i=o,{clearValidationErrors:a,value:l}=Le.composables.useAbstractFields({model:t.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{i("modelUpdated",w.value,w.model)}}),{i18n:s}=je.useI18n(),{t:c}=s,d={value:"current-cp",label:c("custom_field.key_auth_identity_realms.cp_label"),group:c("custom_field.key_auth_identity_realms.cp_group_label")},p=t.inject(Le.FORMS_CONFIG),{axiosInstance:u}=be.useAxios(p==null?void 0:p.axiosRequestConfig),f=()=>{if((p==null?void 0:p.app)==="konnect"){const w=/\b(us|eu|au|me|in)\b/.exec((p==null?void 0:p.apiBaseUrl)||"");if(w)return{region:w[1]}}return{}},m=t.ref(!0),g=t.ref([d]),h=async()=>{if((p==null?void 0:p.app)==="konnect")try{m.value=!0;let w=`${p==null?void 0:p.apiBaseUrl}/v1/realms`;const b=[];do{const x=await u.get(w);x&&x.data&&x.data.data&&b.push(...x.data.data.map(N=>({value:N.id,label:N.name,group:c("custom_field.key_auth_identity_realms.realm_group_label")}))),w=x.data.meta.next?`${p==null?void 0:p.apiBaseUrl}${x.data.meta.next}`:null}while(w);g.value=[d,...b]}catch(w){console.error("Failed to fetch Konnect realms",w)}finally{m.value=!1}},y=t.computed(()=>l.value.map(w=>w.id||"current-cp")),_=w=>{const b=w.includes("current-cp")?[{scope:"cp",id:null}]:[],x=l.value.filter(({scope:I})=>I!=="cp").map(({id:I})=>I),N=w.filter(I=>I!=="current-cp"),A=(x.length!==N.length||x.some(I=>!N.includes(I))?N.filter(I=>!x.includes(I)):N).map(I=>({...f(),scope:"realm",id:I}));l.value=[...b,...A]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{h()}),n({clearValidationErrors:a}),(w,b)=>{const x=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",Ag,[t.createVNode(x,{items:g.value,loading:m.value,"model-value":y.value,"onUpdate:modelValue":_},null,8,["items","loading","model-value"])])}}}),ve=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},Pg=ve(Ig,[["__scopeId","data-v-29b128ff"]]),Ys={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
4
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Fn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},Tg=e=>{var n;return(e==null?void 0:e.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:o})=>{(e!=null&&e.credential&&typeof o.ttl!="number"||Number.isNaN(o.ttl))&&(o.ttl=0)}}:{"config-identity_realms":{component:((n=e==null?void 0:e.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?t.markRaw(Pg):null}}},Og={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"If left empty, a key will be generated after saving this form.",required:!1,type:"string",encrypted:!0,unique:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}},{ttl:{between:[0,1e8],description:"Time-to-live (in seconds) value for data",type:"number"}}]},Ws={fields:[{username:{hint:"The username to use in the HMAC Signature verification."}},{secret:{inputType:"text",submitWhenNull:!1,hint:`The secret to use in the HMAC Signature verification. Note that
|
|
5
5
|
if this parameter isn’t provided, Kong will generate a value for you and
|
|
6
6
|
send it as part of the response body.`}},{tags:Fn}]},$g={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0,hint:"The username to use in the HMAC Signature verification."}},{secret:{auto:!0,type:"string",encrypted:!0,hint:"The secret to use in the HMAC Signature verification. Note that if this parameter isn’t provided, Kong will generate a value for you and send it as part of the response body."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Bg={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
|
|
7
7
|
be auto-generated.`}},{algorithm:{order:1,hint:"The algorithm used to verify the token’s signature."}},{rsa_public_key:{order:2,type:"textArea",label:"RSA public-key",hint:`If algorithm is RSA or ECDSA, the public key (in PEM format) to
|
|
@@ -10,26 +10,26 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
|
|
|
10
10
|
will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
|
|
11
11
|
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:ho.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
12
12
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:ho.tags}]},Dg={fields:[{id:{uuid:!0,auto:!0,type:"string",description:"A string representing a UUID (universally unique identifier)."}},{created_at:{description:"An integer representing an automatic Unix timestamp in seconds.",timestamp:!0,auto:!0,type:"integer"}},{consumer:{on_delete:"cascade",type:"foreign",reference:"consumers",required:!0}},{name:{required:!0,type:"string"}},{client_id:{required:!1,hint:"You can optionally set your own unique client_id. If missing, it will be generated for you.",unique:!0,auto:!0,type:"string"}},{client_secret:{required:!1,hint:"You can optionally set your own unique client_secret. If missing, it will be generated for you.",auto:!0,type:"string",encrypted:!0}},{hash_secret:{required:!0,type:"boolean",default:!1}},{redirect_uris:{required:!1,hint:"One or more URLs in your app where users will be sent after authorization (RFC 6742 Section 3.1.2)",type:"array",elements:{type:"string"}}},{tags:{elements:{required:!0,type:"string",description:"A string representing a tag."},type:"set",description:"A set of strings representing tags."}},{client_type:{required:!0,default:"confidential",type:"string",one_of:["confidential","public"]}}]},Zs={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
13
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Fn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},Rg=e=>(e==null?void 0:e.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(e!=null&&e.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},Mg={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}},{ttl:{between:[0,1e8],description:"Time-to-live (in seconds) value for data",type:"number"}}]},Xt={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",nameKey:"plugins.meta.ldap-auth-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",nameKey:"plugins.meta.rate-limiting-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",nameKey:"plugins.meta.tls-metadata-headers.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",nameKey:"plugins.meta.tls-handshake-modifier.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...X.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...X.PLUGIN_GROUP_AND_SCOPE_MAP["solace-log"]},"ai-llm-as-judge":{descriptionKey:"plugins.meta.ai-llm-as-judge.description",nameKey:"plugins.meta.ai-llm-as-judge.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-llm-as-judge"]},"ai-mcp-proxy":{descriptionKey:"plugins.meta.ai-mcp-proxy.description",nameKey:"plugins.meta.ai-mcp-proxy.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-proxy"]},"ai-gcp-model-armor":{descriptionKey:"plugins.meta.ai-gcp-model-armor.description",nameKey:"plugins.meta.ai-gcp-model-armor.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-gcp-model-armor"]},"ai-mcp-oauth2":{descriptionKey:"plugins.meta.ai-mcp-oauth2.description",nameKey:"plugins.meta.ai-mcp-oauth2.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-oauth2"]},"ai-semantic-response-guard":{descriptionKey:"plugins.meta.ai-semantic-response-guard.description",nameKey:"plugins.meta.ai-semantic-response-guard.name",useLegacyForm:!0,...X.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]}},yo={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:zs,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:Mn(zs),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Hs,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:Mn(Hs)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ys,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:Mn(Ys)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Zs,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:Mn(Zs)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Xs,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:Mn(Xs)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Ws,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:Mn(Ws)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Bg,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Fg={acls:Sg,basicauth_credentials:vg,keyauth_credentials:Og,keyauth_enc_credentials:Mg,oauth2_credentials:Dg,hmacauth_credentials:$g,jwt_secrets:Vg},Lg=()=>{const{i18n:{t:e}}=De(),n={},o={};for(const[i,a]of Object.entries(Xt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(yo))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:yo,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},Yo={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ug={"config-prompts-prepend":{...Yo,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Yo,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Kg={"config-templates":{...Yo,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},jg={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},Gg={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},qg={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:ho.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Re={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Kr={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},zg={"config-metrics":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Hg={"config-functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},Yg={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Wg={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Xg={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Zg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Jg={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Js=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:ho.fields.arrayItems({newElementButtonLabel:"Add"})}),Jg),jr={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},Qg={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},eh=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:ho.fields.arrayItems({newElementButtonLabel:"Add"})}),Qg),Qs={"config-add-json":{...Re,label:"Config.Add.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Re,label:"Config.Append.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Re,label:"Config.Remove.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Re,label:"Config.Rename.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Re,label:"Config.Replace.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},th={...Qs,"config-allow-json":{...Re,label:"Config.Allow.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Re,label:"Config.Transform.Functions",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Re,label:"Config.Transform.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},nh={"config-rules":{...Yo,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},oh={"config-session_redis_cluster_nodes":{...Yo,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},rh={"config-flow-functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},ih={"config-message-functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},ah={"config-metrics":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},lh={"config-metrics":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},sh={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ch={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var ec=typeof global=="object"&&global&&global.Object===Object&&global,dh=typeof self=="object"&&self&&self.Object===Object&&self,Zt=ec||dh||Function("return this")(),Rt=Zt.Symbol,tc=Object.prototype,uh=tc.hasOwnProperty,fh=tc.toString,Wo=Rt?Rt.toStringTag:void 0;function ph(e){var n=uh.call(e,Wo),o=e[Wo];try{e[Wo]=void 0;var r=!0}catch{}var i=fh.call(e);return r&&(n?e[Wo]=o:delete e[Wo]),i}var mh=Object.prototype,gh=mh.toString;function hh(e){return gh.call(e)}var yh="[object Null]",_h="[object Undefined]",nc=Rt?Rt.toStringTag:void 0;function Ln(e){return e==null?e===void 0?_h:yh:nc&&nc in Object(e)?ph(e):hh(e)}function ln(e){return e!=null&&typeof e=="object"}var bh="[object Symbol]";function ga(e){return typeof e=="symbol"||ln(e)&&Ln(e)==bh}function oc(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var jt=Array.isArray,rc=Rt?Rt.prototype:void 0,ic=rc?rc.toString:void 0;function ac(e){if(typeof e=="string")return e;if(jt(e))return oc(e,ac)+"";if(ga(e))return ic?ic.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Un(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function wh(e){return e}var kh="[object AsyncFunction]",Ch="[object Function]",Eh="[object GeneratorFunction]",Nh="[object Proxy]";function Gr(e){if(!Un(e))return!1;var n=Ln(e);return n==Ch||n==Eh||n==kh||n==Nh}var ha=Zt["__core-js_shared__"],lc=function(){var e=/[^.]+$/.exec(ha&&ha.keys&&ha.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xh(e){return!!lc&&lc in e}var Sh=Function.prototype,vh=Sh.toString;function Kn(e){if(e!=null){try{return vh.call(e)}catch{}try{return e+""}catch{}}return""}var Ah=/[\\^$.*+?()[\]{}|]/g,Ih=/^\[object .+?Constructor\]$/,Th=Function.prototype,Ph=Object.prototype,Oh=Th.toString,$h=Ph.hasOwnProperty,Bh=RegExp("^"+Oh.call($h).replace(Ah,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Vh(e){if(!Un(e)||xh(e))return!1;var n=Gr(e)?Bh:Ih;return n.test(Kn(e))}function Dh(e,n){return e==null?void 0:e[n]}function jn(e,n){var o=Dh(e,n);return Vh(o)?o:void 0}var ya=jn(Zt,"WeakMap"),sc=Object.create,Rh=function(){function e(){}return function(n){if(!Un(n))return{};if(sc)return sc(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Mh(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Fh(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Lh=800,Uh=16,Kh=Date.now;function jh(e){var n=0,o=0;return function(){var r=Kh(),i=Uh-(r-o);if(o=r,i>0){if(++n>=Lh)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function Gh(e){return function(){return e}}var qr=function(){try{var e=jn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),qh=qr?function(e,n){return qr(e,"toString",{configurable:!0,enumerable:!1,value:Gh(n),writable:!0})}:wh,zh=jh(qh);function Hh(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Yh=9007199254740991,Wh=/^(?:0|[1-9]\d*)$/;function _a(e,n){var o=typeof e;return n=n??Yh,!!n&&(o=="number"||o!="symbol"&&Wh.test(e))&&e>-1&&e%1==0&&e<n}function cc(e,n,o){n=="__proto__"&&qr?qr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function ba(e,n){return e===n||e!==e&&n!==n}var Xh=Object.prototype,Zh=Xh.hasOwnProperty;function wa(e,n,o){var r=e[n];(!(Zh.call(e,n)&&ba(r,o))||o===void 0&&!(n in e))&&cc(e,n,o)}function Xo(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?cc(o,s,c):wa(o,s,c)}return o}var dc=Math.max;function Jh(e,n,o){return n=dc(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=dc(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),Mh(e,this,s)}}var Qh=9007199254740991;function ka(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Qh}function Ca(e){return e!=null&&ka(e.length)&&!Gr(e)}var ey=Object.prototype;function zr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||ey;return e===o}function ty(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var ny="[object Arguments]";function uc(e){return ln(e)&&Ln(e)==ny}var fc=Object.prototype,oy=fc.hasOwnProperty,ry=fc.propertyIsEnumerable,Hr=uc(function(){return arguments}())?uc:function(e){return ln(e)&&oy.call(e,"callee")&&!ry.call(e,"callee")};function iy(){return!1}var pc=typeof ve=="object"&&ve&&!ve.nodeType&&ve,mc=pc&&typeof module=="object"&&module&&!module.nodeType&&module,ay=mc&&mc.exports===pc,gc=ay?Zt.Buffer:void 0,ly=gc?gc.isBuffer:void 0,Zo=ly||iy,sy="[object Arguments]",cy="[object Array]",dy="[object Boolean]",uy="[object Date]",fy="[object Error]",py="[object Function]",my="[object Map]",gy="[object Number]",hy="[object Object]",yy="[object RegExp]",_y="[object Set]",by="[object String]",wy="[object WeakMap]",ky="[object ArrayBuffer]",Cy="[object DataView]",Ey="[object Float32Array]",Ny="[object Float64Array]",xy="[object Int8Array]",Sy="[object Int16Array]",vy="[object Int32Array]",Ay="[object Uint8Array]",Iy="[object Uint8ClampedArray]",Ty="[object Uint16Array]",Py="[object Uint32Array]",We={};We[Ey]=We[Ny]=We[xy]=We[Sy]=We[vy]=We[Ay]=We[Iy]=We[Ty]=We[Py]=!0,We[sy]=We[cy]=We[ky]=We[dy]=We[Cy]=We[uy]=We[fy]=We[py]=We[my]=We[gy]=We[hy]=We[yy]=We[_y]=We[by]=We[wy]=!1;function Oy(e){return ln(e)&&ka(e.length)&&!!We[Ln(e)]}function Ea(e){return function(n){return e(n)}}var hc=typeof ve=="object"&&ve&&!ve.nodeType&&ve,Jo=hc&&typeof module=="object"&&module&&!module.nodeType&&module,$y=Jo&&Jo.exports===hc,Na=$y&&ec.process,_o=function(){try{var e=Jo&&Jo.require&&Jo.require("util").types;return e||Na&&Na.binding&&Na.binding("util")}catch{}}(),yc=_o&&_o.isTypedArray,xa=yc?Ea(yc):Oy,By=Object.prototype,Vy=By.hasOwnProperty;function _c(e,n){var o=jt(e),r=!o&&Hr(e),i=!o&&!r&&Zo(e),a=!o&&!r&&!i&&xa(e),l=o||r||i||a,s=l?ty(e.length,String):[],c=s.length;for(var d in e)(n||Vy.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||_a(d,c)))&&s.push(d);return s}function bc(e,n){return function(o){return e(n(o))}}var Dy=bc(Object.keys,Object),Ry=Object.prototype,My=Ry.hasOwnProperty;function wc(e){if(!zr(e))return Dy(e);var n=[];for(var o in Object(e))My.call(e,o)&&o!="constructor"&&n.push(o);return n}function Sa(e){return Ca(e)?_c(e):wc(e)}function Fy(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Ly=Object.prototype,Uy=Ly.hasOwnProperty;function Ky(e){if(!Un(e))return Fy(e);var n=zr(e),o=[];for(var r in e)r=="constructor"&&(n||!Uy.call(e,r))||o.push(r);return o}function va(e){return Ca(e)?_c(e,!0):Ky(e)}var jy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Gy=/^\w*$/;function qy(e,n){if(jt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||ga(e)?!0:Gy.test(e)||!jy.test(e)||n!=null&&e in Object(n)}var Qo=jn(Object,"create");function zy(){this.__data__=Qo?Qo(null):{},this.size=0}function Hy(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Yy="__lodash_hash_undefined__",Wy=Object.prototype,Xy=Wy.hasOwnProperty;function Zy(e){var n=this.__data__;if(Qo){var o=n[e];return o===Yy?void 0:o}return Xy.call(n,e)?n[e]:void 0}var Jy=Object.prototype,Qy=Jy.hasOwnProperty;function e_(e){var n=this.__data__;return Qo?n[e]!==void 0:Qy.call(n,e)}var t_="__lodash_hash_undefined__";function n_(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Qo&&n===void 0?t_:n,this}function Gn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Gn.prototype.clear=zy,Gn.prototype.delete=Hy,Gn.prototype.get=Zy,Gn.prototype.has=e_,Gn.prototype.set=n_;function o_(){this.__data__=[],this.size=0}function Yr(e,n){for(var o=e.length;o--;)if(ba(e[o][0],n))return o;return-1}var r_=Array.prototype,i_=r_.splice;function a_(e){var n=this.__data__,o=Yr(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():i_.call(n,o,1),--this.size,!0}function l_(e){var n=this.__data__,o=Yr(n,e);return o<0?void 0:n[o][1]}function s_(e){return Yr(this.__data__,e)>-1}function c_(e,n){var o=this.__data__,r=Yr(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function sn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}sn.prototype.clear=o_,sn.prototype.delete=a_,sn.prototype.get=l_,sn.prototype.has=s_,sn.prototype.set=c_;var er=jn(Zt,"Map");function d_(){this.size=0,this.__data__={hash:new Gn,map:new(er||sn),string:new Gn}}function u_(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Wr(e,n){var o=e.__data__;return u_(n)?o[typeof n=="string"?"string":"hash"]:o.map}function f_(e){var n=Wr(this,e).delete(e);return this.size-=n?1:0,n}function p_(e){return Wr(this,e).get(e)}function m_(e){return Wr(this,e).has(e)}function g_(e,n){var o=Wr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function cn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}cn.prototype.clear=d_,cn.prototype.delete=f_,cn.prototype.get=p_,cn.prototype.has=m_,cn.prototype.set=g_;var h_="Expected a function";function Aa(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(h_);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(Aa.Cache||cn),o}Aa.Cache=cn;var y_=500;function __(e){var n=Aa(e,function(r){return o.size===y_&&o.clear(),r}),o=n.cache;return n}var b_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,w_=/\\(\\)?/g,k_=__(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(b_,function(o,r,i,a){n.push(i?a.replace(w_,"$1"):r||o)}),n});function Ia(e){return e==null?"":ac(e)}function bo(e,n){return jt(e)?e:qy(e,n)?[e]:k_(Ia(e))}function Xr(e){if(typeof e=="string"||ga(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Ta(e,n){n=bo(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Xr(n[o++])];return o&&o==r?e:void 0}function kc(e,n,o){var r=e==null?void 0:Ta(e,n);return r===void 0?o:r}function Pa(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Cc=Rt?Rt.isConcatSpreadable:void 0;function C_(e){return jt(e)||Hr(e)||!!(Cc&&e&&e[Cc])}function E_(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=C_),i||(i=[]);++a<l;){var s=e[a];o(s)?Pa(i,s):i[i.length]=s}return i}function N_(e){var n=e==null?0:e.length;return n?E_(e):[]}function Ec(e){return zh(Jh(e,void 0,N_),e+"")}var Oa=bc(Object.getPrototypeOf,Object),x_="[object Object]",S_=Function.prototype,v_=Object.prototype,Nc=S_.toString,A_=v_.hasOwnProperty,I_=Nc.call(Object);function T_(e){if(!ln(e)||Ln(e)!=x_)return!1;var n=Oa(e);if(n===null)return!0;var o=A_.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Nc.call(o)==I_}function xc(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function P_(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:xc(e,n,o)}var O_="\\ud800-\\udfff",$_="\\u0300-\\u036f",B_="\\ufe20-\\ufe2f",V_="\\u20d0-\\u20ff",D_=$_+B_+V_,R_="\\ufe0e\\ufe0f",M_="\\u200d",F_=RegExp("["+M_+O_+D_+R_+"]");function Sc(e){return F_.test(e)}function L_(e){return e.split("")}var vc="\\ud800-\\udfff",U_="\\u0300-\\u036f",K_="\\ufe20-\\ufe2f",j_="\\u20d0-\\u20ff",G_=U_+K_+j_,q_="\\ufe0e\\ufe0f",z_="["+vc+"]",$a="["+G_+"]",Ba="\\ud83c[\\udffb-\\udfff]",H_="(?:"+$a+"|"+Ba+")",Ac="[^"+vc+"]",Ic="(?:\\ud83c[\\udde6-\\uddff]){2}",Tc="[\\ud800-\\udbff][\\udc00-\\udfff]",Y_="\\u200d",Pc=H_+"?",Oc="["+q_+"]?",W_="(?:"+Y_+"(?:"+[Ac,Ic,Tc].join("|")+")"+Oc+Pc+")*",X_=Oc+Pc+W_,Z_="(?:"+[Ac+$a+"?",$a,Ic,Tc,z_].join("|")+")",J_=RegExp(Ba+"(?="+Ba+")|"+Z_+X_,"g");function Q_(e){return e.match(J_)||[]}function eb(e){return Sc(e)?Q_(e):L_(e)}function tb(e){return function(n){n=Ia(n);var o=Sc(n)?eb(n):void 0,r=o?o[0]:n.charAt(0),i=o?P_(o,1).join(""):n.slice(1);return r[e]()+i}}var nb=tb("toUpperCase");function ob(){this.__data__=new sn,this.size=0}function rb(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function ib(e){return this.__data__.get(e)}function ab(e){return this.__data__.has(e)}var lb=200;function sb(e,n){var o=this.__data__;if(o instanceof sn){var r=o.__data__;if(!er||r.length<lb-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new cn(r)}return o.set(e,n),this.size=o.size,this}function dn(e){var n=this.__data__=new sn(e);this.size=n.size}dn.prototype.clear=ob,dn.prototype.delete=rb,dn.prototype.get=ib,dn.prototype.has=ab,dn.prototype.set=sb;function cb(e,n){return e&&Xo(n,Sa(n),e)}function db(e,n){return e&&Xo(n,va(n),e)}var $c=typeof ve=="object"&&ve&&!ve.nodeType&&ve,Bc=$c&&typeof module=="object"&&module&&!module.nodeType&&module,ub=Bc&&Bc.exports===$c,Vc=ub?Zt.Buffer:void 0,Dc=Vc?Vc.allocUnsafe:void 0;function fb(e,n){if(n)return e.slice();var o=e.length,r=Dc?Dc(o):new e.constructor(o);return e.copy(r),r}function pb(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function Rc(){return[]}var mb=Object.prototype,gb=mb.propertyIsEnumerable,Mc=Object.getOwnPropertySymbols,Va=Mc?function(e){return e==null?[]:(e=Object(e),pb(Mc(e),function(n){return gb.call(e,n)}))}:Rc;function hb(e,n){return Xo(e,Va(e),n)}var yb=Object.getOwnPropertySymbols,Fc=yb?function(e){for(var n=[];e;)Pa(n,Va(e)),e=Oa(e);return n}:Rc;function _b(e,n){return Xo(e,Fc(e),n)}function Lc(e,n,o){var r=n(e);return jt(e)?r:Pa(r,o(e))}function Da(e){return Lc(e,Sa,Va)}function Uc(e){return Lc(e,va,Fc)}var Ra=jn(Zt,"DataView"),Ma=jn(Zt,"Promise"),Fa=jn(Zt,"Set"),Kc="[object Map]",bb="[object Object]",jc="[object Promise]",Gc="[object Set]",qc="[object WeakMap]",zc="[object DataView]",wb=Kn(Ra),kb=Kn(er),Cb=Kn(Ma),Eb=Kn(Fa),Nb=Kn(ya),Mt=Ln;(Ra&&Mt(new Ra(new ArrayBuffer(1)))!=zc||er&&Mt(new er)!=Kc||Ma&&Mt(Ma.resolve())!=jc||Fa&&Mt(new Fa)!=Gc||ya&&Mt(new ya)!=qc)&&(Mt=function(e){var n=Ln(e),o=n==bb?e.constructor:void 0,r=o?Kn(o):"";if(r)switch(r){case wb:return zc;case kb:return Kc;case Cb:return jc;case Eb:return Gc;case Nb:return qc}return n});var xb=Object.prototype,Sb=xb.hasOwnProperty;function vb(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&Sb.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Zr=Zt.Uint8Array;function La(e){var n=new e.constructor(e.byteLength);return new Zr(n).set(new Zr(e)),n}function Ab(e,n){var o=n?La(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var Ib=/\w*$/;function Tb(e){var n=new e.constructor(e.source,Ib.exec(e));return n.lastIndex=e.lastIndex,n}var Hc=Rt?Rt.prototype:void 0,Yc=Hc?Hc.valueOf:void 0;function Pb(e){return Yc?Object(Yc.call(e)):{}}function Ob(e,n){var o=n?La(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var $b="[object Boolean]",Bb="[object Date]",Vb="[object Map]",Db="[object Number]",Rb="[object RegExp]",Mb="[object Set]",Fb="[object String]",Lb="[object Symbol]",Ub="[object ArrayBuffer]",Kb="[object DataView]",jb="[object Float32Array]",Gb="[object Float64Array]",qb="[object Int8Array]",zb="[object Int16Array]",Hb="[object Int32Array]",Yb="[object Uint8Array]",Wb="[object Uint8ClampedArray]",Xb="[object Uint16Array]",Zb="[object Uint32Array]";function Jb(e,n,o){var r=e.constructor;switch(n){case Ub:return La(e);case $b:case Bb:return new r(+e);case Kb:return Ab(e,o);case jb:case Gb:case qb:case zb:case Hb:case Yb:case Wb:case Xb:case Zb:return Ob(e,o);case Vb:return new r;case Db:case Fb:return new r(e);case Rb:return Tb(e);case Mb:return new r;case Lb:return Pb(e)}}function Qb(e){return typeof e.constructor=="function"&&!zr(e)?Rh(Oa(e)):{}}var ew="[object Map]";function tw(e){return ln(e)&&Mt(e)==ew}var Wc=_o&&_o.isMap,nw=Wc?Ea(Wc):tw,ow="[object Set]";function rw(e){return ln(e)&&Mt(e)==ow}var Xc=_o&&_o.isSet,iw=Xc?Ea(Xc):rw,aw=1,lw=2,sw=4,Zc="[object Arguments]",cw="[object Array]",dw="[object Boolean]",uw="[object Date]",fw="[object Error]",Jc="[object Function]",pw="[object GeneratorFunction]",mw="[object Map]",gw="[object Number]",Qc="[object Object]",hw="[object RegExp]",yw="[object Set]",_w="[object String]",bw="[object Symbol]",ww="[object WeakMap]",kw="[object ArrayBuffer]",Cw="[object DataView]",Ew="[object Float32Array]",Nw="[object Float64Array]",xw="[object Int8Array]",Sw="[object Int16Array]",vw="[object Int32Array]",Aw="[object Uint8Array]",Iw="[object Uint8ClampedArray]",Tw="[object Uint16Array]",Pw="[object Uint32Array]",qe={};qe[Zc]=qe[cw]=qe[kw]=qe[Cw]=qe[dw]=qe[uw]=qe[Ew]=qe[Nw]=qe[xw]=qe[Sw]=qe[vw]=qe[mw]=qe[gw]=qe[Qc]=qe[hw]=qe[yw]=qe[_w]=qe[bw]=qe[Aw]=qe[Iw]=qe[Tw]=qe[Pw]=!0,qe[fw]=qe[Jc]=qe[ww]=!1;function tr(e,n,o,r,i,a){var l,s=n&aw,c=n&lw,d=n&sw;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!Un(e))return e;var p=jt(e);if(p){if(l=vb(e),!s)return Fh(e,l)}else{var u=Mt(e),f=u==Jc||u==pw;if(Zo(e))return fb(e,s);if(u==Qc||u==Zc||f&&!i){if(l=c||f?{}:Qb(e),!s)return c?_b(e,db(l,e)):hb(e,cb(l,e))}else{if(!qe[u])return i?e:{};l=Jb(e,u,s)}}a||(a=new dn);var m=a.get(e);if(m)return m;a.set(e,l),iw(e)?e.forEach(function(_){l.add(tr(_,n,o,_,e,a))}):nw(e)&&e.forEach(function(_,y){l.set(y,tr(_,n,o,y,e,a))});var g=d?c?Uc:Da:c?va:Sa,h=p?void 0:g(e);return Hh(h||e,function(_,y){h&&(y=_,_=e[y]),wa(l,y,tr(_,n,o,y,e,a))}),l}var Ow=1,$w=4;function wo(e){return tr(e,Ow|$w)}var Bw="__lodash_hash_undefined__";function Vw(e){return this.__data__.set(e,Bw),this}function Dw(e){return this.__data__.has(e)}function Jr(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new cn;++n<o;)this.add(e[n])}Jr.prototype.add=Jr.prototype.push=Vw,Jr.prototype.has=Dw;function Rw(e,n){for(var o=-1,r=e==null?0:e.length;++o<r;)if(n(e[o],o,e))return!0;return!1}function Mw(e,n){return e.has(n)}var Fw=1,Lw=2;function ed(e,n,o,r,i,a){var l=o&Fw,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=a.get(e),p=a.get(n);if(d&&p)return d==n&&p==e;var u=-1,f=!0,m=o&Lw?new Jr:void 0;for(a.set(e,n),a.set(n,e);++u<s;){var g=e[u],h=n[u];if(r)var _=l?r(h,g,u,n,e,a):r(g,h,u,e,n,a);if(_!==void 0){if(_)continue;f=!1;break}if(m){if(!Rw(n,function(y,w){if(!Mw(m,w)&&(g===y||i(g,y,o,r,a)))return m.push(w)})){f=!1;break}}else if(!(g===h||i(g,h,o,r,a))){f=!1;break}}return a.delete(e),a.delete(n),f}function Uw(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Kw(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var jw=1,Gw=2,qw="[object Boolean]",zw="[object Date]",Hw="[object Error]",Yw="[object Map]",Ww="[object Number]",Xw="[object RegExp]",Zw="[object Set]",Jw="[object String]",Qw="[object Symbol]",e0="[object ArrayBuffer]",t0="[object DataView]",td=Rt?Rt.prototype:void 0,Ua=td?td.valueOf:void 0;function n0(e,n,o,r,i,a,l){switch(o){case t0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case e0:return!(e.byteLength!=n.byteLength||!a(new Zr(e),new Zr(n)));case qw:case zw:case Ww:return ba(+e,+n);case Hw:return e.name==n.name&&e.message==n.message;case Xw:case Jw:return e==n+"";case Yw:var s=Uw;case Zw:var c=r&jw;if(s||(s=Kw),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;r|=Gw,l.set(e,n);var p=ed(s(e),s(n),r,i,a,l);return l.delete(e),p;case Qw:if(Ua)return Ua.call(e)==Ua.call(n)}return!1}var o0=1,r0=Object.prototype,i0=r0.hasOwnProperty;function a0(e,n,o,r,i,a){var l=o&o0,s=Da(e),c=s.length,d=Da(n),p=d.length;if(c!=p&&!l)return!1;for(var u=c;u--;){var f=s[u];if(!(l?f in n:i0.call(n,f)))return!1}var m=a.get(e),g=a.get(n);if(m&&g)return m==n&&g==e;var h=!0;a.set(e,n),a.set(n,e);for(var _=l;++u<c;){f=s[u];var y=e[f],w=n[f];if(r)var b=l?r(w,y,f,n,e,a):r(y,w,f,e,n,a);if(!(b===void 0?y===w||i(y,w,o,r,a):b)){h=!1;break}_||(_=f=="constructor")}if(h&&!_){var x=e.constructor,N=n.constructor;x!=N&&"constructor"in e&&"constructor"in n&&!(typeof x=="function"&&x instanceof x&&typeof N=="function"&&N instanceof N)&&(h=!1)}return a.delete(e),a.delete(n),h}var l0=1,nd="[object Arguments]",od="[object Array]",Qr="[object Object]",s0=Object.prototype,rd=s0.hasOwnProperty;function c0(e,n,o,r,i,a){var l=jt(e),s=jt(n),c=l?od:Mt(e),d=s?od:Mt(n);c=c==nd?Qr:c,d=d==nd?Qr:d;var p=c==Qr,u=d==Qr,f=c==d;if(f&&Zo(e)){if(!Zo(n))return!1;l=!0,p=!1}if(f&&!p)return a||(a=new dn),l||xa(e)?ed(e,n,o,r,i,a):n0(e,n,c,o,r,i,a);if(!(o&l0)){var m=p&&rd.call(e,"__wrapped__"),g=u&&rd.call(n,"__wrapped__");if(m||g){var h=m?e.value():e,_=g?n.value():n;return a||(a=new dn),i(h,_,o,r,a)}}return f?(a||(a=new dn),a0(e,n,o,r,i,a)):!1}function id(e,n,o,r,i){return e===n?!0:e==null||n==null||!ln(e)&&!ln(n)?e!==e&&n!==n:c0(e,n,o,r,id,i)}function d0(e,n){return e!=null&&n in Object(e)}function ad(e,n,o){n=bo(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=Xr(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&ka(i)&&_a(l,i)&&(jt(e)||Hr(e)))}function u0(e,n){return e!=null&&ad(e,n,d0)}function f0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var p0=Object.prototype,m0=p0.hasOwnProperty;function g0(e,n){return e!=null&&m0.call(e,n)}function ld(e,n){return e!=null&&ad(e,n,g0)}function h0(e,n){return n.length<2?e:Ta(e,xc(n,0,-1))}var y0="[object Map]",_0="[object Set]",b0=Object.prototype,w0=b0.hasOwnProperty;function sd(e){if(e==null)return!0;if(Ca(e)&&(jt(e)||typeof e=="string"||typeof e.splice=="function"||Zo(e)||xa(e)||Hr(e)))return!e.length;var n=Mt(e);if(n==y0||n==_0)return!e.size;if(zr(e))return!wc(e).length;for(var o in e)if(w0.call(e,o))return!1;return!0}function ko(e,n){return id(e,n)}function cd(e,n){return n=bo(n,e),e=h0(e,n),e==null||delete e[Xr(f0(n))]}function k0(e){return T_(e)?void 0:e}var C0=1,E0=2,N0=4,qn=Ec(function(e,n){var o={};if(e==null)return o;var r=!1;n=oc(n,function(a){return a=bo(a,e),r||(r=a.length>1),a}),Xo(e,Uc(e),o),r&&(o=tr(o,C0|E0|N0,k0));for(var i=n.length;i--;)cd(o,n[i]);return o});function dd(e,n,o,r){if(!Un(e))return e;n=bo(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=Xr(n[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var p=s[c];d=void 0,d===void 0&&(d=Un(p)?p:_a(n[i+1])?[]:{})}wa(s,c,d),s=s[c]}return e}function x0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=Ta(e,l);o(s,l)&&dd(a,bo(l,e),s)}return a}function S0(e,n){return x0(e,n,function(o,r){return u0(e,r)})}var Ka=Ec(function(e,n){return e==null?{}:S0(e,n)});function v0(e,n,o){return e==null?e:dd(e,n,o)}var A0=0;function ei(e){var n=++A0;return Ia(e)+n}function ud(e,n){return e==null?!0:cd(e,n)}const I0=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],zn=e=>{var n,o,r,i,a,l;((o=(n=e.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client,delete e.confluent.authentication.basic),((i=(r=e.confluent)==null?void 0:r.authentication)==null?void 0:i.mode)==="basic"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client),((l=(a=e.confluent)==null?void 0:a.authentication)==null?void 0:l.mode)==="oauth2"&&delete e.confluent.authentication.basic,I0.some(s=>ko(e.confluent,s))&&(e.confluent=null)},T0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;zn((n=e.config)==null?void 0:n.schema_registry)}},P0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;zn((n=e.config)==null?void 0:n.schema_registry)}},O0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;zn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{zn(i==null?void 0:i.schema_registry)})}},$0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;zn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{zn(i==null?void 0:i.schema_registry)})}},B0={shamefullyTransformPayload:({payload:e})=>{var n;zn((n=e.config)==null?void 0:n.schema_registry)}},V0={"config-static_tags":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},D0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function ja(e,n){const o=D0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const Ga=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),Hn={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR"),DATAKIT_M2:Symbol("DATAKIT_M2")},fd=Symbol("TOASTER_PROVIDER");function pd(){return t.inject(Ga,[])}function R0(e){t.provide(Ga,e)}const M0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},md=(e,n)=>(e.order??0)-(n.order??0),gd=(e,n)=>M0(e,n)||md(e,n)||e.model.localeCompare(n.model),je={useI18n:De,usePluginMetaData:Lg,usePluginHelpers:js,useSchemas:e=>{const{capitalize:n}=ye.useStringHelpers(),{convertToDotNotation:o}=js(),{i18n:{t:r}}=De(),i=pd(),a={"application-registration":{overwriteDefault:!0,formSchema:{...qg}},datadog:{...zg},"exit-transformer":{...Hg},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...ah},"statsd-advanced":{...lh},"route-by-header":{...nh},"ai-prompt-decorator":{...Ug},"ai-prompt-template":{...Kg},"ai-proxy-advanced":{...jg},"ai-llm-as-judge":{...Gg},"vault-auth":{...ch},"oas-validation":{...Zg},mocking:{...Xg},"rate-limiting":{...jr},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":jr["config-consumer_groups"]}:{...jr},"graphql-rate-limiting-advanced":{...Yg},"injection-protection":{...Wg},"response-ratelimiting":{...jr},"pre-function":{...Js},"post-function":{...Js},"request-transformer-advanced":{...eh},"response-transformer":{...Qs},"response-transformer-advanced":{...th},zipkin:{...V0},"upstream-oauth":{...sh},saml:{...oh},"kafka-upstream":{...T0},"solace-consume":{...rh},"solace-upstream":{...ih},"key-auth":Pg(e),"key-auth-enc":Rg(e),confluent:{...P0},"confluent-consume":{...O0},"kafka-consume":{...$0},"kafka-log":{...B0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(E,k,A,T)=>{let I={};(k||E)&&(I=k||(E.fields?E.fields:E));const O=l().concat(E.blacklist?E.blacklist:[]),C=Object.keys(I).filter(L=>!O.includes(L)),q=C.indexOf("comparator");q>-1&&C.splice(q,1);let S={fields:[]};const K={};C.forEach(L=>{d(I[L],L,I,K,S,A)});const U=K.name,ee=Xt[U],Y=[],M=L=>{const v=["cluster-cache"];for(const D of v)if(L.model.includes(D))return!1;return new RegExp("(?<=-redis-).*").test(L.model)};if(S._supported_redis_partial_type=E._supported_redis_partial_type,S._redis_partial_path=E._redis_partial_path,Le.getSharedFormName(U)||ja(U,i)||ee!=null&&ee.useLegacyForm||e!=null&&e.credential||T==="freeform"){if(ee!=null&&ee.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&E._supported_redis_partial_type){for(const L of S.fields)if(M(L)){Y.push(L);continue}S.fields=S.fields.filter(L=>!M(L)),Y.length&&S.fields.push({id:"_redis",fields:Y,model:"__redis_partial",pluginType:E._isCustomPlugin?"custom":"bundled",redisType:E._supported_redis_partial_type,redisPath:E._redis_partial_path})}S.fields.sort((L,v)=>(L.order=L.order||0,v.order=v.order||0,L.order-v.order))}else{const L=[],v=[],D=[],W=[],z={};if(ee!=null&&ee.fieldRules){const le=[...ee.fieldRules.atLeastOneOf??[],...ee.fieldRules.onlyOneOf??[],...ee.fieldRules.mutuallyRequired??[]];if(ee.fieldRules.onlyOneOfMutuallyRequired)for(const _e of ee.fieldRules.onlyOneOfMutuallyRequired)le.push(..._e);for(const _e of le)for(const Z of _e)z[Z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const le of S.fields){if(e!=null&&e.enableRedisPartial&&E._supported_redis_partial_type&&M(le)){W.push(le);continue}if(le.pinned){L.push(le);continue}if(le.required||z[le.model]!==void 0){z[le.model]===!1&&(z[le.model]=!0),v.push(le);continue}D.push(le)}W.length&&D.push({id:"_redis",fields:W,model:"__redis_partial",pluginType:E._isCustomPlugin?"custom":"bundled",redisType:E._supported_redis_partial_type,redisPath:E._redis_partial_path,order:-1});const H=Object.entries(z).filter(([,le])=>!le).map(([le])=>le.replace(/-/g,".").replace(/_/g,"-"));H.length>0&&console.warn(`Unknown checked fields for plugin ${U}: ${H.join(", ")}`);const Q=[];L.length>0&&Q.push({fields:L.sort(md)}),(v.length>0||D.length>0)&&Q.push({fields:v.sort(gd),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:D.sort(gd),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),S={groups:Q}}return{schema:S,model:K,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=E=>Array.isArray(E.default)||E.default!=null&&typeof E.default!="object"&&E.default!=="function",d=(E,k,A,T,I,O)=>{const C=c(E);return T[k]=C?E.default:null,E.id=k,E.model=k,E.fields&&E.type==="record"?u(E,k,A,T,I,O):(A[k]=E,x(E,T),O&&O[k]&&p(A[k],O[k]),I.fields.push(E)),A},p=(E,k)=>(k&&(Object.assign(E,k),k.label&&(E.label=k.label)),E),u=(E,k,A,T,I,O)=>{E.fields.forEach(C=>{Object.keys(C).forEach(q=>{const S=C[q];A=d(S,k+"-"+q,A,T,I,O)})})},f=(E,k)=>{E.type="input",E.inputType="hidden",E.styleClasses="kong-form-hidden-field-wrapper";const A=e==null?void 0:e.entityId;k[E.model]=A?{id:A}:null},m=E=>{E.type="input",E.inputType="number",E.between&&E.between.length===2&&(E.min=E.between[0],E.max=E.between[1])},g=E=>{Object.prototype.hasOwnProperty.call(E,"one_of")?(E.type="select",E.values=E.one_of,E.selectOptions={hideNoneSelectedText:!0}):(E.type="input",E.inputType="text")},h=E=>{E.type="checkbox",E.default=!0,E.required=!1},_=E=>{if(E.type="object-advanced",E.values.type==="array"){const{type:k}=E.values.elements||{};E.schema={fields:[{schema:{fields:[{...Re,model:E.model,valueArrayType:k==="integer"?"number":k||"string",inputAttributes:{...Re.inputAttributes,type:k==="integer"?"number":"text",inputMode:k==="integer"?"numeric":"text"}}]}}]}}else E.values.fields&&(E.schema={fields:[{type:"object",model:"object",schema:{fields:E.values.fields.map(k=>{const A=Object.keys(k)[0];return{model:A,type:"input",label:n(A),placeholder:A,inputType:k[A].type}})}}]})},y=E=>E.fields.reduce((k,A)=>(A.fields&&A.fields.forEach(T=>{k[T.model]=T}),A.model&&(k[A.model]=A),k),{}),w=(E,k)=>{if(!Le.customFields.includes(E.model))return;const A=y(E);Le.customFields.forEach(T=>{Object.keys(A).forEach(I=>{const O=c(A[I]);k[I]=O?A[I].default:null}),delete k[T]})},b=(E,k)=>E.inputType==="hidden"?"":o(n(E.label||k.replace(/_/g," "))),x=(E,k)=>{switch(w(E,k),E.type){case"foreign":f(E,k);break;case"number":m(E),E.attributes={step:"any"};break;case"integer":m(E);break;case"string":g(E);break;case"boolean":h(E);break;case"map":_(E);break}E.inputType==="foreign"&&f(E,k),E.label=b(E,E.model)};function N(E,k){if(k==null||k.type&&k.type!=="record"||typeof E!="object"||E==null)return E;const A={};for(const T of k.fields){const I=Object.keys(T)[0],O=T[I];O.type==="record"?A[I]=N(E[I],O):O.type==="array"&&Array.isArray(E[I])&&O.elements.type==="record"?A[I]=E[I].map(C=>N(C,O.elements)):A[I]=E[I]}return A}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:ho,pruneRecord:N}},useExperimentalFreeForms:pd,useProvideExperimentalFreeForms:R0},mt="/v2/control-planes/{controlPlaneId}/core-entities",Ct="/{workspace}",tt={list:{konnect:{all:`${mt}/plugins`,forEntity:`${mt}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ct}/plugins`,forEntity:`${Ct}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${mt}/v1/available-plugins`,streamingCustomPlugins:`${mt}/custom-plugins`,schemaCustomPluginItem:`${mt}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${mt}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Ct}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${mt}/plugins`,forEntity:`${mt}/{entityType}/{entityId}/plugins`},edit:{all:`${mt}/plugins/{id}`,forEntity:`${mt}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${mt}/{resourceEndpoint}`,edit:`${mt}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",entityGetOne:`${mt}/{entity}/{id}`,entityGetAll:`${mt}/{entity}`,entityPeek:`${mt}/{entity}?size={amount}`},kongManager:{create:{all:`${Ct}/plugins`,forEntity:`${Ct}/{entityType}/{entityId}/plugins`},edit:{all:`${Ct}/plugins/{id}`,forEntity:`${Ct}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ct}/schemas/plugins/{plugin}`,credential:{create:`${Ct}/{resourceEndpoint}`,edit:`${Ct}/{resourceEndpoint}/{id}`},credentialSchema:`${Ct}/schemas/{plugin}`,entityGetOne:`${Ct}/{entity}/{id}`,entityGetAll:`${Ct}/{entity}`}},item:{konnect:{all:`${mt}/plugins/{id}`,forEntity:`${mt}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ct}/plugins/{id}`,forEntity:`${Ct}/{entityType}/{entityId}/plugins/{id}`}}},F0={key:0},L0=Se(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=je.usePluginHelpers(),{i18n:{t:r}}=je.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>o(d)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(p,u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},t.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",F0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p,(f,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${m}`},t.toDisplayString(i(f)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:Co}=Qe.createI18n("en-us",et);function qa(e){return e.map(n=>({value:n,label:`${n}`}))}const za="*",hd="$",yd=".";function Gt(...e){return e.join(yd)}function Ha(...e){return Gt(hd,...e)}function _d(e){return e.startsWith(Gt(hd,""))}function Eo(e){return e.split(yd).filter(n=>n!=="")}function nr(e){const n=Eo(e);return n[n.length-1]}const U0=e=>{var n,o;return e.type==="redis-ce"?Co("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?Co("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Co("redis.shared_configuration.type_label.cluster"):Co("redis.shared_configuration.type_label.host_port")},K0={"redis-ce":Co("redis.shared_configuration.open_source"),"redis-ee":Co("redis.shared_configuration.enterprise")},j0=e=>K0[e]??"";function G0(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function q0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const[z0,H0]=Ye.createInjectionState(function(n,o,r,i){const a=X0(n),l=new Map,s=t.reactive({}),c=t.toRef(()=>r??{}),d=t.useSlots();t.provide(Ya,qn(d,"default",No));function p(m){Object.keys(s).forEach(g=>{delete s[g]}),Object.assign(s,m)}function u(m){let g;!m||!f(t.toValue(m))?g=a.getDefault():g=wo(t.toValue(m)),Gr(c.value.prepareFormData)?p(c.value.prepareFormData(g)):p(g)}function f(m){return Gr(c.value.hasValue)?c.value.hasValue(m):!!m}return t.watch(s,m=>{i==null||i(t.toValue(m))},{deep:!0}),t.watch(()=>o==null?void 0:o.value,m=>{u(m)},{deep:!0,immediate:!0}),{formData:s,schema:n,config:c,fieldRendererRegistry:l,resetFormData:p,...a}}),bd=Symbol("free-form-field-path"),Ya=Symbol("free-form-field-renderer-slots"),wd=Symbol("free-form-field-reset-label-path-setting"),No="free-form-field-renderers-slot",Y0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function W0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,Wa(r,n)):e.type==="array"&&e.elements&&Object.assign(o,Xa(e,n)),o}function Wa(e,n=""){const o={};if(Array.isArray(e.fields))for(const r of e.fields){const i=Object.keys(r)[0],a=r[i],l=n?Gt(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=Wa(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=Xa(a,l);Object.assign(o,s)}}return o}function Xa(e,n=""){const o={};if(e.elements){const r=e.elements,i=Gt(n,za);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=Wa(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=Xa(r,i);Object.assign(o,a)}}return o}function Za(e){const n=Eo(e).map(o=>/^\d+$/.test(o)?za:o);return Gt(...n)}function X0(e){const n=t.toValue(e),o=t.computed(()=>n?W0(n):{});function r(u){var f;return u==null?n:(f=o.value)==null?void 0:f[Za(u)]}function i(u,f=!1){const m=r(u);return m?m.default!==void 0?m.default:f||m.required?m.type==="record"?a(m,u):m.type==="array"?[]:null:null:null}function a(u,f){const m={};if(Array.isArray(u.fields))for(const g of u.fields){const h=Object.keys(g)[0],_=f?`${f}.${h}`:h,y=i(_,!1);y!==void 0&&(m[h]=y)}return m}function l(u){return u?i(u,!0):a(r(),"")}function s(u){const f=r(u),m=f!=null&&f.description?Fr.marked.parse(f.description,{async:!1}):void 0;return{...Y0,"data-testid":`ff-label-${u}`,info:m}}function c(u){var m;const f=r(u);return qa((f==null?void 0:f.one_of)||((m=f.elements)==null?void 0:m.one_of)||[])}function d(u){const f=r(u),m=f==null?void 0:f.default;let g=null;if((f==null?void 0:f.type)==="foreign"&&(m!=null&&m.id))g=m.id;else{if(m==null||typeof m=="object"||m==="")return null;if(Array.isArray(m)){if(m.length===0)return null;g=m.join(", ")}else g=m.toString()}return`Default: ${g}`}function p(){return o.value}return{getSchemaMap:p,getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:d}}function Ge(){const e=H0();if(!e)throw new Error("useFormShared() called without provider.");return e}const kd=e=>{const n=t.inject(bd,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!_d(r)&&n.value&&(i=Gt(n.value,r)),_d(r)&&(i=i.slice(Ha("").length)),i});return t.provide(bd,o),o},Z0=e=>{const{getSchema:n,fieldRendererRegistry:o}=Ge(),{default:r,...i}=t.useSlots(),a=t.inject(Ya),l=t.computed(()=>{const c=t.toValue(a),d=Object.keys(i).filter(p=>p!==No&&p!=="item").reduce((p,u)=>{const f=Za(Gt(t.toValue(e),u));return{...p,[f]:i[u]}},{});return c?{...c,...d}:d});t.provide(Ya,l);const s=t.toValue(e);return t.computed(()=>{if(r)return;const c=l.value[Za(t.toValue(e))];if(c)return c;for(const[d,p]of o)if(d({path:s,schema:n(s)}))return p})},J0={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Q0(e){return J0[e.toLocaleLowerCase()]??e}function ek(e,n){const o=t.inject(wd,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?Gt(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var f;const{parentPath:d,isolate:p}=c,u=d?Gt(d,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=u,l.value.isolate=!1,l.value.parentPath=u}};(f=m[s])==null||f.call(m)}else p&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(wd,l),a}function tk(e){return Eo(e).map(o=>o.split("_").map(Q0).join(" ")).map(nb).join(" › ")}function nk(e,n){const o=t.toValue(e),r=nr(o),{config:i,getSchema:a}=Ge(),l=ek(r,n),s=Cd(e);return t.computed(()=>{var f;const c=l.value??r,d=(f=s.value.parent)!=null&&f.path?a(s.value.parent.path):null,u=(d==null?void 0:d.type)==="array"?"":tk(c);return i.value.transformLabel?i.value.transformLabel(u,o):u})}function qt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Ge(),a=t.toValue(e),l=t.toValue(n),s=nk(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function ok(e){var r;const n=Eo(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?Gt(o.parent.path,i):i,o={parent:o}}return o}function Cd(e){return t.computed(()=>ok(t.toValue(e)))}function Ed(e){const{formData:n}=Ge(),o=kd(e);return{value:t.computed({get:()=>kc(n,Eo(o.value)),set:i=>v0(n,Eo(o.value),i)})}}function vt(e){const{getSchema:n}=Ge(),o=kd(e),r=Z0(o),{value:i}=Ed(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Cd(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function or(e){const{getSchema:n}=Ge(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function Nd(e,n){const o=new WeakMap,r=new Map;function i(){return ei(`${e}-`)}function a(l,s){if(l==null||typeof l!="object")return`${e}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):i();return r.set(s,c),o.set(l,c),c}return t.watch(n,l=>{const s=t.toValue(l),c=new Set;s.forEach((d,p)=>{c.add(p)}),Array.from(r.keys()).forEach(d=>{c.has(d)||r.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}const rk="__request_callout_";function xd(){return ei(rk)}const Yn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=t.useAttrs(),i=n,a=t.computed(()=>o.multiline?$e.KTextArea:$e.KInput),l=t.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{s.value=u});const{config:c}=Ge(),d=u=>{u!==s.value&&(s.value=u,c.value.updateOnChange||i("update:modelValue",u))},p=()=>{c.value.updateOnChange&&i("update:modelValue",s.value)};return(u,f)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(u.$attrs,{"character-limit":l.value,"model-value":e.modelValue,resizable:e.multiline?!0:void 0,onChange:p,"onUpdate:modelValue":d}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,g)=>({name:g,fn:t.withCtx(h=>[t.renderSlot(u.$slots,g,t.normalizeProps(t.guardReactiveProps(h)))])}))]),1040,["character-limit","model-value","resizable"]))}}),ik=["innerHTML"],xo=Se(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=De(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=vt(t.toRef(()=>e.name)),c=qt(s.path,t.toRef({...i,...o})),d=l==null?void 0:l.value;function p(y){d!==void 0&&y===""&&y!==d?(l.value=null,a("update:modelValue",null)):(l.value=y.trim(),a("update:modelValue",y.trim()))}const u=t.computed(()=>{var y;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((y=s.schema)==null?void 0:y.value).encrypted}),f=t.inject(Le.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var y;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((y=s.schema.value)!=null&&y.referenceable)}),g=t.computed(()=>({referenceable:m.value})),h=or(s.ancestors),_=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return(y,w)=>{var x;const b=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},y.$attrs)),[t.createVNode(Yn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:u.value,type:u.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":_.value,"data-autofocus":t.unref(h),"data-testid":`ff-${s.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.multiline&&e.error?e.errorMessage:e.help,"model-value":t.unref(l)??"",multiline:e.multiline,"onUpdate:modelValue":p}),t.createSlots({_:2},[(x=t.unref(c).labelAttributes)!=null&&x.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,ik)],!0)]),key:"0"}:void 0,e.multiline&&e.error?void 0:{name:"help",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"help",{},void 0,!0)]),key:"1"}]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline"]),t.unref(f)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(f)),{key:0,schema:g.value,update:p,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(f)?(t.openBlock(),t.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-8b9ee4c2"]]),ak=["innerHTML"],ti=Se(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=vt(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=qt(i.path,o);return(c,d)=>{var u;const p=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref($e.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(u=t.unref(s).labelAttributes)!=null&&u.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,ak)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Sd=Se(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(f=>[f,""])),r=Object.fromEntries(n.map(f=>[f,"0"]));function i(f){const m=getComputedStyle(f);return Object.fromEntries(n.map(g=>[g,m.getPropertyValue(g)]))}function a(f){["overflow","transition",...n].forEach(m=>f.style.removeProperty(m))}function l(f){Object.assign(f.style,{overflow:"hidden",transition:"none"})}function s(f){const m=f;Object.assign(m.style,o);const g=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...g,transition:""})})}function c(f){a(f)}function d(f){const m=f;Object.assign(m.style,{...i(m),overflow:"hidden"})}function p(f){Object.assign(f.style,r)}function u(f){a(f)}return(f,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:u,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:p},{default:t.withCtx(()=>[t.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),lk=["data-testid"],sk=["data-testid"],ck=["data-testid"],dk=["innerHTML"],uk={class:"ff-object-field-actions"},fk=["data-testid"],At=Se(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=vt(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Ge(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>f.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),d=t.computed(()=>{var _,y;if((_=r.ancestors)!=null&&_.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((y=i(w.path))==null?void 0:y.type)==="array"}return!1}),p=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),u=qt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:p.value}))),f=t.computed(()=>u.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:d.value),g=t.computed(()=>{let _=r.schema.value.fields;return e.omit&&(_=_.filter(y=>!e.omit.includes(Object.keys(y)[0]))),e.fieldsOrder?_.sort((y,w)=>{const b=Object.keys(y)[0],x=Object.keys(w)[0],N=e.fieldsOrder.indexOf(b),E=e.fieldsOrder.indexOf(x);return N===-1&&E===-1?0:N===-1?1:E===-1?-1:N-E}):_});function h(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(f,_=>{e.collapsible&&(s.value=_)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(_,y)=>{var b;const w=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(_.$slots[t.unref(No)]))),r.error?(t.openBlock(),t.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},_.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(_.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,x=>(t.openBlock(),t.createBlock(bt,{key:Object.keys(x)[0],name:Object.keys(x)[0]},null,8,["name"]))),128))],!0)],16,lk)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},_.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref($e.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(u),required:!1},{"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(b=t.unref(u).labelAttributes)!=null&&b.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,dk)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",uk,[e.collapsible&&f.value?(t.openBlock(),t.createBlock(t.unref($e.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:y[0]||(y[0]=x=>s.value=!c.value)},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(u).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref($e.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${f.value?"remove":"add"}`),"data-testid":`ff-object-${f.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:h},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(xe.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(xe.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,ck),t.createVNode(Sd,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(_.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,x=>(t.openBlock(),t.createBlock(bt,{key:Object.keys(x)[0],name:Object.keys(x)[0]},null,8,["name"]))),128))],!0)],8,fk)):t.createCommentVNode("",!0)]),_:3})],16,sk))],64)}}}),[["__scopeId","data-v-6f044592"]]),pk=["innerHTML"],Wn=Se(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=vt(t.toRef(()=>e.name)),a=qt(i.path,o),l=t.computed(()=>{var h;const f=(h=i.schema)==null?void 0:h.value;if(typeof f.gt=="number")return{min:f.gt};const[m,g]=f.between??[];return{min:o.min??m,max:o.max??g}}),s=n,c=r.value,d=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function p(f){c!==void 0&&f===""&&Number(f)!==c?(r.value=null,s("update:modelValue",null)):(r.value=f===""?null:Number(f),s("update:modelValue",f===""?null:Number(f)))}const u=or(i.ancestors);return(f,m)=>{var h;const g=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(Yn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(u),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":p}),t.createSlots({_:2},[(h=t.unref(a).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(f.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,pk)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),mk=["innerHTML"],Ft=Se(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean}},emits:["update"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:i}=Ge(),{value:a,...l}=vt(t.toRef(()=>e.name)),s=qt(l.path,r),c=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),d=t.computed(()=>{var u;return e.multiple!==void 0?e.multiple:((u=l.schema.value)==null?void 0:u.type)==="set"}),p=t.computed(()=>d.value?$e.KMultiselect:$e.KSelect);return(u,f)=>{var g;const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(p),t.mergeProps({key:1},{...r,...t.unref(s)},{modelValue:t.unref(a),"onUpdate:modelValue":[f[0]||(f[0]=h=>t.isRef(a)?a.value=h:null),f[1]||(f[1]=h=>o("update",h))],class:"ff-enum-field",clearable:!t.unref(s).required,"data-testid":`ff-${l.path.value}`,items:c.value,"kpop-attributes":{"data-testid":`${l.path.value}-items`}}),t.createSlots({_:2},["tooltip"in u.$slots||(g=t.unref(s).labelAttributes)!=null&&g.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,mk)],!0)]),key:"0"}:void 0,u.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:h})=>[t.renderSlot(u.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(h)),void 0,!0)]),key:"1"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-e67d00d5"]]);function ni(e,n,o=!0){const{value:r,...i}=vt(t.toRef(e,"name")),a=qt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(d(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return ei("ff-kv-field-")}function c(_,y,w){const b=w.indexOf(_),x=w.indexOf(y);return b===-1&&x===-1?0:b===-1?1:x===-1?-1:b-x}function d(_,y){const w=Object.entries(_).map(([b,x])=>({id:s(),key:b,value:x}));return y&&w.sort((b,x)=>c(b.key,x.key,y)),w}function p(){const _={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(_),_}function u(_){const y=l.value.findIndex(w=>w.id===_);y!==-1&&l.value.splice(y,1)}function f(){l.value=d(e.initialValue||{},e.keyOrder)}function m(_){l.value=d(_,e.keyOrder)}let g=null;t.watch(l,_=>{if(!o)return;const y=_.length?Object.fromEntries(_.map(({key:w,value:b})=>[w,b]).filter(([w])=>w)):null;r.value=y,g=y,n("change",y)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,_=>{ko(_,g)||h(_)},{deep:!0});function h(_){if(!_){l.value=[];return}const y=new Map;l.value.forEach(N=>{N.key&&y.set(N.key,N)});const w=[],b=Object.keys(_);(e.keyOrder?[...b].sort((N,E)=>c(N,E,e.keyOrder)):b).forEach(N=>{const E=_[N];if(y.has(N)){const k=y.get(N);k.value=E,w.push(k)}else w.push({id:s(),key:N,value:E})}),l.value=w}return{entries:l,addEntry:p,removeEntry:u,reset:f,setValue:m,labelAttrs:a,field:i}}const gk=["data-testid"],hk=["data-testid"],yk=["innerHTML"],_k=["data-testid"],bk=Se(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=De(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:p,labelAttrs:u,field:f}=ni(r,a),m=t.useTemplateRef("root");async function g(N,E="key"){var k;m.value&&(await t.nextTick(),(k=m.value.querySelector(`[data-${E}-input="${N}"]`))==null||k.focus())}function h(){s();const N=l.value.findIndex(({key:E})=>!E);g(N===-1?l.value.length-1:N)}function _(N){N===l.value.length-1&&s(),g(N+1)}const y=t.inject(Le.AUTOFILL_SLOT,void 0),w=t.computed(()=>{var N,E;return e.showVaultSecretPicker??!!((E=(N=f.schema.value)==null?void 0:N.values)!=null&&E.referenceable)}),b=t.computed(()=>({referenceable:w.value}));function x(N,E){l.value[N].value=E}return n({reset:d,setValue:p}),(N,E)=>{var I;const k=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),T=t.resolveComponent("KButton");return t.unref(f).error?(t.openBlock(),t.createBlock(k,{key:0,appearance:"danger",message:t.unref(f).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(f).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(f).path.value}`},[t.createVNode(A,t.mergeProps({class:"ff-kv-field-label"},t.unref(u),{"data-testid":`ff-label-${t.unref(f).path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(I=t.unref(u).labelAttributes)!=null&&I.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(N.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,yk)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(T,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(f).path.value}`,icon:"",onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon))]),_:1},8,["data-testid"])],8,hk),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(O,C)=>(t.openBlock(),t.createElementBlock("div",{key:O.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(f).path.value}.${C}`},[t.createVNode(Yn,{modelValue:O.key,"onUpdate:modelValue":q=>O.key=q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":C,"data-testid":`ff-key-${t.unref(f).path.value}.${C}`,placeholder:e.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(q=>g(C,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(Yn,{modelValue:O.value,"onUpdate:modelValue":q=>O.value=q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(f).path.value}.${C}`,"data-value-input":C,placeholder:e.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(q=>_(C),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(y)&&w.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(y)),{key:0,schema:b.value,update:q=>x(C,q),value:O.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),w.value&&!t.unref(y)?(t.openBlock(),t.createBlock(k,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(f).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode(T,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(f).path.value}.${C}`,icon:"",onClick:q=>t.unref(c)(O.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.TrashIcon))]),_:1},8,["data-testid","onClick"])],8,_k))),128))],8,gk))}}}),[["__scopeId","data-v-92e0893d"]]),wk=["data-testid"],kk=["innerHTML"],Ja=Se(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{name:{},labelAttributes:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=vt(t.toRef(()=>e.name)),s=qt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var h,_;return((_=(h=l.schema)==null?void 0:h.value)==null?void 0:_.len_min)&&l.schema.value.len_min>0}),d=t.ref("");function p(h){return h.map(_=>_.trim()).filter(Boolean).join(", ")}function u(h){return h.trim().split(",").map(_=>_.trim()).filter(Boolean)}function f(h){d.value=h;const _=u(h),y=!_.length&&c.value?null:_;a.value=y,i("update:modelValue",y)}const m=or(l.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return t.watch(a,h=>{const _=h?p(h):"";p(u(d.value))!==_&&(d.value=_)},{immediate:!0}),(h,_)=>{var w;const y=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(y,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(Yn,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":g.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":d.value??"","onUpdate:modelValue":f}),t.createSlots({_:2},[(w=t.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,kk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,wk))}}}),[["__scopeId","data-v-a27f4ff1"]]),Ck=["data-testid"],Ek=["innerHTML"],Nk=Se(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{name:{},labelAttributes:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=vt(t.toRef(()=>e.name)),s=qt(l.path,t.toRef({...r,...o})),c=t.ref("");function d(f){c.value=f;let m=f||null;try{const g=JSON.parse(f);g&&typeof g=="object"&&(m=g)}catch{}a.value=m,i("update:modelValue",m)}const p=or(l.ancestors),u=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return t.watch(a,f=>{if(f&&typeof f=="object"){try{const m=JSON.parse(c.value);ko(m,f)||(c.value=JSON.stringify(f,null,2))}catch{c.value=JSON.stringify(f,null,2)}return}c.value=f||""},{immediate:!0}),(f,m)=>{var h;const g=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(Yn,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":u.value,"data-autofocus":t.unref(p),"data-testid":`ff-${l.path.value}`,"model-value":c.value??"",multiline:"","onUpdate:modelValue":d}),t.createSlots({_:2},[(h=t.unref(s).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(f.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Ek)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Ck))}}}),[["__scopeId","data-v-5749f722"]]),xk=["innerHTML"],Sk=Se(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{name:{},labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:{t:r}}=De(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=vt(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=qt(s.path,t.toRef({...i,...o})),d=l.value?l.value.id:null,p=t.computed(()=>{var h;return c.value.placeholder?c.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((h=s.schema.value)==null?void 0:h.reference)??"entity"})}),u=t.ref(d??"");function f(h){d!==void 0&&h===""&&h!==d?(l.value=null,a("update:modelValue",null)):(l.value={id:h.trim()},a("update:modelValue",l.value))}const m=or(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return(h,_)=>{var y;return t.openBlock(),t.createBlock(Yn,t.mergeProps(t.unref(c),{class:"ff-foreign-field","data-1p-ignore":g.value,"data-autofocus":t.unref(m),"data-testid":`ff-${s.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.help,"model-value":u.value,placeholder:p.value,"onUpdate:modelValue":f}),t.createSlots({_:2},[(y=t.unref(c).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,xk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),bt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=vt(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?Ft:xo;case"boolean":return"one_of"in o.schema.value?Ft:ti;case"number":case"integer":return"one_of"in o.schema.value?Ft:Wn;case"array":return oi;case"set":return q0(o.schema)?Ja:Ft;case"record":return At;case"map":return bk;case"json":return Nk;case"foreign":return Sk;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(No)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:Ha(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:Ha(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),vk=["data-testid"],Ak=["data-testid"],Ik=["innerHTML"],Tk=["data-testid"],Pk={class:"ff-array-field-item-content"},Ok=["data-index","data-testid"],oi=Se(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var E;t.useCssVars(k=>({v3e1c9ee2:N.value}));const o=e,r=n,{i18n:{t:i}}=De(),{getDefault:a,getSchema:l}=Ge(),{value:s,...c}=vt(t.toRef(o,"name")),d=qt(c.path,t.toRef({...o,...t.useAttrs()})),p=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const k=l(c.path.value);if(!k)throw new Error(`Schema not found for path: ${c.path.value}`);return k.elements}),u=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:f}=Nd("ff-array-field",u),m=t.computed(()=>o.appearance==="card"?$e.KCard:"div");function g(k,A){return typeof o.itemLabel=="function"?o.itemLabel(k,A):o.itemLabel||d.value.label||`Item #${A}`}const h=t.computed(()=>u.value.map((k,A)=>({hash:`#${f(k,A)}`,title:""}))),_=t.ref((E=h.value[0])==null?void 0:E.hash),y=async()=>{var A;const k=a(Gt(c.path.value,za));Array.isArray(s.value)||(s.value=[]),s.value.push(k),r("add"),o.appearance==="tabs"&&(await t.nextTick(),_.value=(A=h.value[h.value.length-1])==null?void 0:A.hash),await t.nextTick(),x(u.value.length+1)},w=async k=>{var A;Array.isArray(s.value)&&s.value.splice(k,1),r("remove",k),o.appearance==="tabs"&&(_.value=(A=h.value[Math.max(0,k-1)])==null?void 0:A.hash)},b=t.useTemplateRef("root");function x(k){var T;if(!b.value)return;const A=Math.max(0,Math.min(k,u.value.length-1));(T=b.value.querySelector(`[data-index="${A}"] [data-autofocus]`))==null||T.focus()}const N=t.computed(()=>{const{appearance:k,stickyTabs:A}=o;return k!=="tabs"||A==null||A===!1?null:typeof A=="number"?`${o.stickyTabs}px`:typeof A=="string"?A:"0"});return(k,A)=>{var q;const T=t.resolveComponent("KAlert"),I=t.resolveComponent("KLabel"),O=t.resolveComponent("KButton"),C=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock(T,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${e.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":e.stickyTabs}]),"data-testid":`ff-array-${c.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${c.path.value}`},[t.createVNode(I,t.mergeProps({class:"ff-array-field-label"},t.unref(d),{"data-testid":`ff-label-${c.path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(q=t.unref(d).labelAttributes)!=null&&q.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,Ik)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(O,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${c.path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Ak),u.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[e.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${c.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,(S,K)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(f)(S,K),class:"ff-array-field-item","data-index":K,"data-testid":`ff-array-item-${c.path.value}.${K}`},{default:t.withCtx(()=>[t.createElementVNode("div",Pk,[k.$slots.item?t.renderSlot(k.$slots,"item",{key:0,fieldName:String(K),index:K},void 0,!0):t.createCommentVNode("",!0),p.value.type==="array"&&p.value.elements.type==="string"?(t.openBlock(),t.createBlock(Ja,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(K)},null,8,["help","name"])):(t.openBlock(),t.createBlock(bt,{key:2,name:String(K)},null,8,["name"]))]),t.createVNode(O,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${K}`,icon:"",onClick:U=>w(K)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,Tk)):(t.openBlock(),t.createBlock(t.unref($e.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(C,{modelValue:_.value,"onUpdate:modelValue":A[0]||(A[0]=S=>_.value=S),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:h.value},t.createSlots({_:2},[t.renderList(u.value,(S,K)=>({name:t.unref(f)(S,K),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":K,"data-testid":`ff-array-item-${c.path.value}.${K}`},[k.$slots.item?t.renderSlot(k.$slots,"item",{key:0,fieldName:String(K),index:K},void 0,!0):(t.openBlock(),t.createBlock(bt,{key:1,name:String(K)},null,8,["name"]))],8,Ok)])})),t.renderList(u.value,(S,K)=>({name:`${t.unref(f)(S,K)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g(S,K))+" ",1),t.createVNode(O,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${K}`,icon:"",onClick:t.withModifiers(U=>w(K),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,vk))}}}),[["__scopeId","data-v-3edd064c"]]),rr=Symbol(),$k=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Ge(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[rr]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(At,{name:e.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(Ft,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(At,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(Ft,t.mergeProps(d,{items:t.unref(qa)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),Bk=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=Ge();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[rr]=xd())}return(r,i)=>(t.openBlock(),t.createBlock(oi,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:t.withCtx(({index:a,fieldName:l})=>[t.createVNode($k,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),vd=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),{fieldRendererRegistry:r}=Ge();return o&&r.set(n.match,o),(i,a)=>null}}),Et=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),{getSchema:a,formData:l,resetFormData:s}=z0(e.schema,t.computed(()=>e.data),e.config,d=>r("change",d)),c=t.computed(()=>{const{fields:d}=a();return e.fieldsOrder?d.sort((p,u)=>{const f=Object.keys(p)[0],m=Object.keys(u)[0],g=e.fieldsOrder.indexOf(f),h=e.fieldsOrder.indexOf(m);return g===-1&&h===-1?0:g===-1?1:h===-1?-1:g-h}):d});return n({getInnerData:()=>t.toRaw(l),setInnerData:d=>s(d)}),(d,p)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(No)]))),t.renderSlot(d.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,u=>(t.openBlock(),t.createBlock(bt,{key:Object.keys(u)[0],name:Object.keys(u)[0],onGlobalAction:p[0]||(p[0]=(f,m)=>r("globalAction",f,m))},null,8,["name"]))),128))])]),_:3}))}}),Vk={class:"ff-advanced-fields"},ri=Se(t.defineComponent({__name:"AdvancedFields",props:{hideGeneralFields:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),{getSchema:o}=Ge(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref($e.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",Vk,[e.hideGeneralFields?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(bt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(bt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Ja,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0)],64)),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-fb80aa6f"]]),Dk=Se(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=De();function a(d,p=!1){return d.reduce((u,{[rr]:f,name:m})=>(p?u[m]=f:u[f]=m,u),{})}function l(d){var m;const p=wo(d);if(!((m=p.config)!=null&&m.callouts))return p;const{callouts:u}=p.config;u.forEach(g=>{g.request.body.custom=g.request.body.custom??{},g[rr]=xd()});const f=a(u,!0);return u.forEach(g=>{g.depends_on=g.depends_on.map(h=>f[h])}),p}function s(d){return!!(d!=null&&d.config)}function c(d){var f;if(!d)return;const p=wo(d);if(!((f=p.config)!=null&&f.callouts))throw new Error("data is not correct");const u=a(p.config.callouts);p.config.callouts=p.config.callouts.map(m=>{const{[rr]:g,depends_on:h,..._}=m;return{depends_on:h.map(y=>u[y]).filter(y=>y!=null),..._}}),o("change",p)}return(d,p)=>(t.openBlock(),t.createBlock(Et,{class:"rc-config-form",config:r,data:e.data,schema:e.schema,tag:"div",onChange:c},{[t.unref(No)]:t.withCtx(()=>[t.createVNode(vd,{match:({path:u})=>u.endsWith("by_lua")},{default:t.withCtx(u=>[t.createVNode(xo,t.mergeProps(u,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(vd,{match:({path:u})=>["cluster_nodes","sentinel_nodes"].some(f=>u.endsWith(f))},{default:t.withCtx(u=>[t.createVNode(oi,t.mergeProps(u,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Bk),t.createVNode(At,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(At,{appearance:"card",name:"cache"},{redis:t.withCtx(u=>[t.createVNode(At,t.mergeProps(u,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}),t.createVNode(ri)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),Rk={class:"ff-form-pinned-fields"},Mk={class:"ff-form-config-form"},Qa=Se(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=e;t.useSlots();function r(p){return t.computed(()=>({fields:t.toValue(p).map(u=>{var f;return(f=o.formSchema)==null?void 0:f.fields.find(m=>m.model===u)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const p=o.schema;p.fields=p.fields.filter(f=>l.includes(Object.keys(f)[0])),p.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const u=p.fields.find(f=>Object.keys(f)[0]==="protocols");return u&&(u.protocols.help=u.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:u.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),u.protocols.description=n("plugins.form.fields.protocols.help")),p}),c=t.ref(!1),d=t.computed(()=>{const p=["config","instance_name","partials","protocols","tags","__ui_data"];return Ka(o.model,p)});return(p,u)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Rk,[t.createVNode(t.unref(Le.VueFormGenerator),{model:e.formModel,options:e.formOptions,schema:t.unref(a),onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref($e.KCollapse),{modelValue:c.value,"onUpdate:modelValue":u[1]||(u[1]=f=>c.value=f),class:"ff-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Mk,[t.renderSlot(p.$slots,"default",{class:"ff-form",data:d.value,schema:s.value,onChange:u[0]||(u[0]=(...f)=>e.onFormChange&&e.onFormChange(...f))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),Fk=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Dk,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),Lk={key:1},Uk=["innerHTML"],Kk={class:"horizontal-container"},Ad=Se(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=Ge(),a=vt(t.toRef(()=>e.name)),l=qt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),o("update:modelValue",d)};return(d,p)=>{var m;const u=t.resolveComponent("KAlert"),f=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(u,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Lk,[t.createVNode(f,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,Uk)]),key:"0"}:void 0]),1040),t.createElementVNode("div",Kk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,g=>(t.openBlock(),t.createBlock(t.unref($e.KRadio),{key:g.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[p[0]||(p[0]=h=>t.unref(a).value.value=h),c],"card-orientation":"horizontal",label:g.label,"selected-value":g.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),jk={class:"sp-form-request-limits-subtitle"},Gk={class:"sp-form-request-limits-content"},qk={class:"sp-form-window-type"},zk={class:"sp-form-request-limits-items"},Hk={class:"sp-form-request-limits-row"},Yk=["id"],Wk={class:"sp-form-request-limits-actions"},Xk={key:0,class:"sp-form-request-limits-examples"},Zk={class:"sp-form-request-limits-examples-badges"},el="config.window_type",Jk=Se(t.defineComponent({__name:"RequestLimitsForm",setup(e){var _;const{t:n}=Qe.createI18n("en-us",et),{formData:o,getSelectItems:r,getSchema:i}=Ge(),a=t.computed(()=>{var w,b;const y=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((x,N)=>{var E,k;return{limit:x,windowSize:(k=(E=o.config)==null?void 0:E.window_size)==null?void 0:k[N]}});return!Array.isArray(y)||y.length===0?[{limit:null,windowSize:null}]:y}),{getKey:l}=Nd("request-limits",a),s=y=>{var w,b;f.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(y+1,0,null),o.config.window_size.splice(y+1,0,null))},c=y=>{o.config&&(o.config.limit.splice(y,1),o.config.window_size.splice(y,1))},d=(_=i(el))==null?void 0:_.default,p=t.computed(()=>kc(o,el)),u=t.computed(()=>r(el).sort((y,w)=>y.value===d?-1:w.value===d?1:0)),f=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},g=t.computed(()=>Object.prototype.hasOwnProperty.call(m,p.value)?m[p.value]:[]),h=(y,w)=>{if(w===f.value){t.nextTick(()=>{f.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{f.value=w}),o.config.limit=[y.config.limit],o.config.window_size=[y.config.window_size]};return(y,w)=>{const b=t.resolveComponent("KLabel"),x=t.resolveComponent("KButton"),N=t.resolveComponent("KBadge"),E=t.resolveComponent("KTooltip"),k=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(k,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",jk,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Gk,[t.createElementVNode("div",qk,[t.createVNode(Ad,{items:u.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=A=>f.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",zk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(A,T)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(A,T)},[t.createVNode(b,{for:`sp-form-request-limits-item-${T}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:T+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Hk,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${T}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Wn,{name:`$.config.limit.${T}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Wn,{name:`$.config.window_size.${T}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,Yk),t.createElementVNode("div",Wk,[t.createVNode(x,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(T)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(x,{appearance:"tertiary",onClick:()=>s(T)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),g.value.length>0?(t.openBlock(),t.createElementBlock("div",Xk,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",Zk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,(A,T)=>(t.openBlock(),t.createBlock(E,{key:`use-case-${T}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(A.description),1),w[1]||(w[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(A.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(A.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(N,{appearance:f.value===`${p.value}-${T}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>h(A,`${p.value}-${T}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(A.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Qk={id:"sp-form-error-legend",class:"sp-form-error-inputs"},eC=Se(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Qe.createI18n("en-us",et);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Qk,[t.createVNode(Wn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(xo,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),tC={class:"partial-config-card"},nC={class:"config-card-row-label"},oC={class:"label-text"},rC=["data-testid"],iC=["data-testid"],aC={key:1},lC=["data-testid"],sC=["data-testid"],cC=Se(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Qe.createI18n("en-us",et),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=u=>u!=null,l=(u,f)=>a(f)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:s}=ye.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([u,f])=>{var m,g,h,_;return{key:u,label:((m=r[u])==null?void 0:m.label)??s(u),value:(g=r[u])!=null&&g.formatter?r[u].formatter(f):f,type:((h=r[u])==null?void 0:h.type)??l(u,f),order:((_=r[u])==null?void 0:_.order)??100}}).sort((u,f)=>u.order-f.order).filter(u=>u.type!=="hidden")),d=G0(i.configFields,i.pluginRedisFields||[]),p=t.computed(()=>c.value.concat(d));return(u,f)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",tC,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,({key:g,label:h,value:_,type:y})=>(t.openBlock(),t.createElementBlock("div",{key:g,class:"partial-config-card-row"},[t.createElementVNode("div",nC,[t.createElementVNode("div",oC,t.toDisplayString(h),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${g}-property-value`},[a(_)?(t.openBlock(),t.createElementBlock("div",aC,[y==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${g}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(_)},null,8,["text"])],8,lC)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${g}-plain-text`},t.toDisplayString(_),9,sC))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${g}-no-value`}," – ",8,iC))],8,rC)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),dC=Se(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Qe.createI18n("en-us",et),i=t.inject(Le.FORMS_CONFIG),a=n,{getMessageFromError:l}=ye.useErrors(),s=t.computed(()=>{switch(o.partialType){case go.PartialType.REDIS_CE:return go.PartialType.REDIS_EE;case go.PartialType.REDIS_EE:return go.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),d=t.ref(),p=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},u=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),f()},f=()=>{d.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{d.value="#km-modal-footer"}))}),(m,g)=>{const h=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(h,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:f},{footer:t.withCtx(()=>[...g[0]||(g[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])]),default:t.withCtx(()=>[t.createVNode(t.unref(go.RedisConfigurationForm),{"action-teleport-target":d.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:f,onError:p,onUpdate:u},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),uC="#ecfcff",fC="#f1f0ff",pC="#52596e",mC="#e0e4ea",gC="#007d60",hC="#fffce0",yC="#6c7489",_C="#0044f4",bC="#5f9aff",tl="#000933",nl="#d60027",wC="#ffe5e5",kC="#00abd2",CC="#d60067",EC="#6f28ff",Id="#afb7c5",ii="#6c7489",NC="#0044f4",xC="#eefaff",SC="#007d60",vC="#ecfffb",AC="#995c00",ir="12px",Td="16px",ai="20px",IC="2px",Pd="8px",TC="32px",Od=Symbol("redis-partial-info"),$d={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},Bd=["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"],PC={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},OC={key:0,class:"shared-redis-config"},$C={class:"shared-redis-config-title"},BC={class:"redis-config-select","data-testid":"redis-config-select"},VC={class:"selected-redis-config"},DC=["data-testid"],RC={class:"select-item-name","data-testid":"selected-redis-config"},MC={class:"empty-redis-config","data-testid":"empty-redis-config"},FC={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},LC="1000",UC=Se(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var ee;const o=n,{t:r}=Qe.createI18n("en-us",et),i=e,a=t.inject(Od),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var Y;return i.redisPath?i.redisPath:(Y=a==null?void 0:a.redisPath)!=null&&Y.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((ee=a==null?void 0:a.redisType)==null?void 0:ee.value)||"all",d=t.computed(()=>{var Y;return!!((Y=a==null?void 0:a.redisType)!=null&&Y.value)}),p=t.ref(!1),u=t.ref(null),f=t.ref(!l),{getMessageFromError:m}=ye.useErrors(),g=t.ref(i.defaultRedisConfigItem),h=t.ref({}),_=t.ref(),{value:y}=Ed("$.partials"),{value:w}=vt(s),b=t.inject(Le.FORMS_CONFIG),{debouncedQueryChange:x,loading:N,error:E,loadItems:k,results:A}=ye.useDebouncedFilter(b,$d[b.app].getAll,LC,{fetchedItemsKey:"data",searchKeys:["id","name"]}),T=t.computed(()=>E.value?m(E.value):""),I=Y=>{let M=`${b.apiBaseUrl}${$d[b.app].getOne}`;return b.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(M=M.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),M=M.replace(/{id}/gi,String(Y)),M},O=t.computed(()=>{const Y=(A.value||[]).map(M=>({label:M.id,name:M.name,value:M.id,type:M.type,tag:U0(M)})).filter(M=>M.type==="redis-ce"||M.type==="redis-ee");return c!=="all"?Y.filter(M=>M.type===c):Y}),{axiosInstance:C}=ye.useAxios(b==null?void 0:b.axiosRequestConfig),q=()=>{f.value?(_.value&&(y.value=_.value,g.value=_.value[0].id,w.value=void 0),w!=null&&w.value&&(h.value=w.value)):(Object.keys(h.value).length&&(w.value=h.value),y!=null&&y.value&&(_.value=y.value),y.value=l?null:void 0)},S=Y=>{k(),o("globalAction","notify",Y)},K=Y=>{o("globalAction","notify",Y)},U=async Y=>{if(Y){g.value=Y,y.value=[{id:Y}],_.value=[{id:Y}],w.value=void 0;try{const M=await C.get(I(Y));if(M.data.config){const L=Object.assign(M.data,M.data.config);delete L.config,u.value=L}}catch(M){console.error(M)}}};return t.watch(()=>f.value,()=>{q()}),t.onBeforeMount(()=>{var Y;if(k(),i.defaultRedisConfigItem||y!=null&&y.value){const M=i.defaultRedisConfigItem||((Y=y==null?void 0:y.value)==null?void 0:Y[0].id);U(M),f.value=!0}else w!=null&&w.value&&(h.value=w.value)}),(Y,M)=>{const L=t.resolveComponent("KBadge"),v=t.resolveComponent("KRadio"),D=t.resolveComponent("KSelect"),W=t.resolveComponent("KCard");return d.value?(t.openBlock(),t.createBlock(W,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",PC,[t.createVNode(v,{modelValue:f.value,"onUpdate:modelValue":M[0]||(M[0]=z=>f.value=z),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(L,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(v,{modelValue:f.value,"onUpdate:modelValue":M[1]||(M[1]=z=>f.value=z),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),f.value?(t.openBlock(),t.createElementBlock("div",OC,[t.createElementVNode("div",$C,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",BC,[t.createVNode(D,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:O.value,loading:t.unref(N),"model-value":g.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:M[3]||(M[3]=z=>U(z==null?void 0:z.value)),onQueryChange:t.unref(x)},{"selected-item-template":t.withCtx(({item:z})=>[t.createElementVNode("div",VC,t.toDisplayString(z.name),1)]),"item-template":t.withCtx(({item:z})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${z.name}`},[t.createElementVNode("span",RC,t.toDisplayString(z.name),1),t.createVNode(L,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(z.tag),1)]),_:2},1024)],8,DC)]),empty:t.withCtx(()=>[t.createElementVNode("div",MC,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:M[2]||(M[2]=()=>p.value=!0)},[t.createVNode(t.unref(xe.AddIcon),{size:t.unref(ir)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(j0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),u.value?(t.openBlock(),t.createBlock(cC,{key:0,"config-fields":u.value},null,8,["config-fields"])):t.createCommentVNode("",!0),T.value?(t.openBlock(),t.createElementBlock("p",FC,t.toDisplayString(T.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(At,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(Bd),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(dC,{"partial-type":t.unref(c),visible:p.value,onModalClose:M[4]||(M[4]=z=>p.value=!1),onPartialUpdateFailed:K,onPartialUpdated:S},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(At,t.mergeProps({key:1},i,{"fields-order":t.unref(Bd),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-2148fcde"]]),KC=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=Ge();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(Sd,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(UC,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),jC=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change","globalAction"],setup(e,{emit:n}){const o=n,r={hasValue:a=>!!(a!=null&&a.config)};function i(a){var l;((l=a.config)==null?void 0:l.namespace)===null&&delete a.config.namespace,o("change",a)}return(a,l)=>(t.openBlock(),t.createBlock(Et,{config:r,data:e.data,schema:e.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Jk),t.createVNode(eC)]),_:1}),t.createVNode(ri,null,{default:t.withCtx(()=>[t.createVNode(bt,{name:"config.dictionary_name"}),t.createVNode(bt,{name:"config.lock_dictionary_name"}),t.createVNode(bt,{name:"config.strategy"}),t.createVNode(KC,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(bt,{name:"config.namespace"}),t.createVNode(bt,{name:"config.hide_client_headers"}),t.createVNode(bt,{name:"config.disable_penalty"}),t.createVNode(bt,{name:"config.retry_after_jitter_max"}),t.createVNode(bt,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),GC=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},emits:["globalAction"],setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(jC,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),ol=t.defineComponent({__name:"VFGField",props:{formOptions:{},vfgSchema:{}},setup(e){const n=Symbol("rawTagsString"),{formData:o,getSchema:r}=Ge(),i=t.computed(()=>{const l={};return e.vfgSchema.fields.forEach(s=>{s.type==="AutoSuggest"?o[s.model.split("-")[0]]&&(l[s.model]=o[s.model.split("-")[0]].id):s.model==="tags"&&o[s.model]?l[s.model]=o[s.model][n]??o[s.model].join(", "):l[s.model]=o[s.model]}),l});function a(l,s){const c=s.split("-")[0],d=r(c);if(!d)throw new Error(`Field schema not found for path: ${c}`);if(d.type==="foreign")o[c]=l?{id:l}:null;else if(c==="tags"){const p=l.split(",").map(u=>u.trim()).filter(Boolean);o[c]=p,o[c][n]=l}else o[c]=l}return(l,s)=>(t.openBlock(),t.createBlock(t.unref(Le.VueFormGenerator),{model:i.value,options:e.formOptions,schema:e.vfgSchema,onModelUpdated:a},null,8,["model","options","schema"]))}}),qC={class:"enabled"},zC={class:"scope"},HC={key:0,class:"scope-detail"},Vd=Se(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{default:"form"},formConfig:{}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=t.createPropsRestProxy(e,["editorMode"]),r=t.useSlots(),i=t.computed(()=>o.formConfig??{hasValue:k=>!!k&&Object.keys(k).length>0}),a=t.computed(()=>{var k;return{fields:(k=o.formSchema)==null?void 0:k.fields.filter(A=>A.model==="enabled")}}),l=t.computed(()=>{var k;return(k=o.formSchema)==null?void 0:k.fields.find(A=>A.model==="selectionGroup")}),s=t.computed(()=>(l.value.fields||[]).map(({label:k,description:A})=>({label:k,description:A}))),c=t.computed(()=>l.value.fields[1]),d=t.computed(()=>{var A;const k=["instance_name","protocols","tags"];return{fields:(A=o.formSchema)==null?void 0:A.fields.filter(T=>k.includes(T.model))}}),p=["config"],u=t.computed(()=>{const k={type:"record",fields:o.schema.fields.filter(T=>p.includes(Object.keys(T)[0]))};return[...a.value.fields,...c.value.fields,...d.value.fields].forEach(T=>{if(T.type==="AutoSuggest")k.fields.push({[T.model.split("-")[0]]:{type:"foreign",reference:T.entity,description:T.help}});else if(T.model==="enabled")k.fields.push({[T.model]:{type:"boolean",default:!0}});else if(T.model==="instance_name")k.fields.push({[T.model]:{type:"string",description:T.help}});else if(T.model==="protocols")k.fields.push({[T.model]:{type:"set",elements:{type:"string",one_of:T.values.map(I=>I.value)},default:[...T.default]}});else if(T.model==="tags")k.fields.push({[T.model]:{type:"set",elements:{type:"string"}}});else throw new Error(`Unsupported VFG field type '${T.type}' for model '${T.model}'`)}),k}),f=t.computed(()=>{const k=["config","partials","__ui_data","enabled","protocols","instance_name","tags","consumer","consumer_group","route","service"];return Ka(o.model,k)}),m=t.computed(()=>c.value.fields.map(k=>k.model.split("-")[0])),g=t.ref(Ka(f.value,m.value)),h=t.ref(Object.values(g.value).some(E)),_=t.ref(!0),y=t.useTemplateRef("form");let w=!1;function b(){if(!y.value)return;const{getInnerData:k,setInnerData:A}=y.value,I={...k()};h.value?m.value.forEach(O=>{I[O]=g.value[O]??null}):m.value.forEach(O=>{I[O]=null}),w=!0,A(I),t.nextTick(()=>{w=!1})}function x(k){if(w||N(k),e.editorMode==="code"){const A=m.value.some(T=>E(k[T]));A!==h.value&&(h.value=A)}o.onFormChange(k)}function N(k){m.value.forEach(A=>{const T=k[A];ld(T,"id")&&T.id!=null?g.value[A]=T:g.value[A]=null})}function E(k){return ld(k,"id")&&k.id!=null}return(k,A)=>{const T=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(Et,{ref:"form",class:"ff-standard-layout",config:i.value,data:f.value,schema:u.value,tag:"div",onChange:x},{default:t.withCtx(()=>[e.editorMode==="form"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(t.unref(ye.EntityFormBlock),{description:e.generalInfoDescription??t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:e.generalInfoTitle??t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",qC,[t.createVNode(ol,{"form-options":e.formOptions,"vfg-schema":a.value},null,8,["form-options","vfg-schema"])]),t.createElementVNode("div",zC,[t.createVNode(t.unref($e.KRadio),t.mergeProps({modelValue:h.value,"onUpdate:modelValue":A[0]||(A[0]=I=>h.value=I),card:"","card-orientation":"horizontal"},s.value[0],{"selected-value":!1,"onUpdate:modelValue":b}),null,16,["modelValue"]),t.createVNode(t.unref($e.KRadio),t.mergeProps({modelValue:h.value,"onUpdate:modelValue":A[1]||(A[1]=I=>h.value=I),card:"","card-orientation":"horizontal"},s.value[1],{"selected-value":!0,"onUpdate:modelValue":b}),null,16,["modelValue"])]),h.value?(t.openBlock(),t.createElementBlock("div",HC,[t.createVNode(ol,{"form-options":e.formOptions,"vfg-schema":c.value},null,8,["form-options","vfg-schema"])])):t.createCommentVNode("",!0),t.createVNode(T,{modelValue:_.value,"onUpdate:modelValue":A[2]||(A[2]=I=>_.value=I),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(ol,{"form-options":e.formOptions,"vfg-schema":d.value},null,8,["form-options","vfg-schema"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(ye.EntityFormBlock),{description:e.pluginConfigDescription??t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:e.pluginConfigTitle??t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(k.$slots,"default",{},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])],64)):t.renderSlot(k.$slots,"code-editor",{key:1},void 0,!0)]),_:3},8,["config","data","schema"])}}}),[["__scopeId","data-v-ede692d7"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Dd(e){return typeof e>"u"||e===null}function YC(e){return typeof e=="object"&&e!==null}function WC(e){return Array.isArray(e)?e:Dd(e)?[]:[e]}function XC(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function ZC(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function JC(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var QC=Dd,eE=YC,tE=WC,nE=ZC,oE=JC,rE=XC,ct={isNothing:QC,isObject:eE,toArray:tE,repeat:nE,isNegativeZero:oE,extend:rE};function Rd(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
13
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Fn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},Rg=e=>(e==null?void 0:e.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(e!=null&&e.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},Mg={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}},{ttl:{between:[0,1e8],description:"Time-to-live (in seconds) value for data",type:"number"}}]},Xt={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",nameKey:"plugins.meta.ldap-auth-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",nameKey:"plugins.meta.rate-limiting-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",nameKey:"plugins.meta.tls-metadata-headers.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",nameKey:"plugins.meta.tls-handshake-modifier.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...Z.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...Z.PLUGIN_GROUP_AND_SCOPE_MAP["solace-log"]},"ai-llm-as-judge":{descriptionKey:"plugins.meta.ai-llm-as-judge.description",nameKey:"plugins.meta.ai-llm-as-judge.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-llm-as-judge"]},"ai-mcp-proxy":{descriptionKey:"plugins.meta.ai-mcp-proxy.description",nameKey:"plugins.meta.ai-mcp-proxy.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-proxy"]},"ai-gcp-model-armor":{descriptionKey:"plugins.meta.ai-gcp-model-armor.description",nameKey:"plugins.meta.ai-gcp-model-armor.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-gcp-model-armor"]},"ai-mcp-oauth2":{descriptionKey:"plugins.meta.ai-mcp-oauth2.description",nameKey:"plugins.meta.ai-mcp-oauth2.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-oauth2"]},"ai-semantic-response-guard":{descriptionKey:"plugins.meta.ai-semantic-response-guard.description",nameKey:"plugins.meta.ai-semantic-response-guard.name",useLegacyForm:!0,...Z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]}},yo={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:zs,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:Mn(zs),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Hs,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:Mn(Hs)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ys,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:Mn(Ys)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Zs,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:Mn(Zs)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Xs,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:Mn(Xs)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Ws,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:Mn(Ws)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Bg,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Fg={acls:Sg,basicauth_credentials:vg,keyauth_credentials:Og,keyauth_enc_credentials:Mg,oauth2_credentials:Dg,hmacauth_credentials:$g,jwt_secrets:Vg},Lg=()=>{const{i18n:{t:e}}=De(),n={},o={};for(const[i,a]of Object.entries(Xt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(yo))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:yo,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},Yo={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ug={"config-prompts-prepend":{...Yo,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Yo,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Kg={"config-templates":{...Yo,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},jg={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},Gg={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},qg={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:ho.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Re={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Kr={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},zg={"config-metrics":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Hg={"config-functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},Yg={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Wg={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Xg={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Zg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Jg={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Js=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:ho.fields.arrayItems({newElementButtonLabel:"Add"})}),Jg),jr={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},Qg={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},eh=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:ho.fields.arrayItems({newElementButtonLabel:"Add"})}),Qg),Qs={"config-add-json":{...Re,label:"Config.Add.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Re,label:"Config.Append.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Re,label:"Config.Remove.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Re,label:"Config.Rename.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Re,label:"Config.Replace.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},th={...Qs,"config-allow-json":{...Re,label:"Config.Allow.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Re,label:"Config.Transform.Functions",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Re,label:"Config.Transform.Json",inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},nh={"config-rules":{...Yo,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},oh={"config-session_redis_cluster_nodes":{...Yo,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},rh={"config-flow-functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},ih={"config-message-functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}}},ah={"config-metrics":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},lh={"config-metrics":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},sh={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ch={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var ec=typeof global=="object"&&global&&global.Object===Object&&global,dh=typeof self=="object"&&self&&self.Object===Object&&self,Zt=ec||dh||Function("return this")(),Rt=Zt.Symbol,tc=Object.prototype,uh=tc.hasOwnProperty,fh=tc.toString,Wo=Rt?Rt.toStringTag:void 0;function ph(e){var n=uh.call(e,Wo),o=e[Wo];try{e[Wo]=void 0;var r=!0}catch{}var i=fh.call(e);return r&&(n?e[Wo]=o:delete e[Wo]),i}var mh=Object.prototype,gh=mh.toString;function hh(e){return gh.call(e)}var yh="[object Null]",_h="[object Undefined]",nc=Rt?Rt.toStringTag:void 0;function Ln(e){return e==null?e===void 0?_h:yh:nc&&nc in Object(e)?ph(e):hh(e)}function ln(e){return e!=null&&typeof e=="object"}var bh="[object Symbol]";function ga(e){return typeof e=="symbol"||ln(e)&&Ln(e)==bh}function oc(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var jt=Array.isArray,rc=Rt?Rt.prototype:void 0,ic=rc?rc.toString:void 0;function ac(e){if(typeof e=="string")return e;if(jt(e))return oc(e,ac)+"";if(ga(e))return ic?ic.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Un(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function wh(e){return e}var kh="[object AsyncFunction]",Ch="[object Function]",Eh="[object GeneratorFunction]",Nh="[object Proxy]";function Gr(e){if(!Un(e))return!1;var n=Ln(e);return n==Ch||n==Eh||n==kh||n==Nh}var ha=Zt["__core-js_shared__"],lc=function(){var e=/[^.]+$/.exec(ha&&ha.keys&&ha.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xh(e){return!!lc&&lc in e}var Sh=Function.prototype,vh=Sh.toString;function Kn(e){if(e!=null){try{return vh.call(e)}catch{}try{return e+""}catch{}}return""}var Ah=/[\\^$.*+?()[\]{}|]/g,Ih=/^\[object .+?Constructor\]$/,Ph=Function.prototype,Th=Object.prototype,Oh=Ph.toString,$h=Th.hasOwnProperty,Bh=RegExp("^"+Oh.call($h).replace(Ah,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Vh(e){if(!Un(e)||xh(e))return!1;var n=Gr(e)?Bh:Ih;return n.test(Kn(e))}function Dh(e,n){return e==null?void 0:e[n]}function jn(e,n){var o=Dh(e,n);return Vh(o)?o:void 0}var ya=jn(Zt,"WeakMap"),sc=Object.create,Rh=function(){function e(){}return function(n){if(!Un(n))return{};if(sc)return sc(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Mh(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Fh(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Lh=800,Uh=16,Kh=Date.now;function jh(e){var n=0,o=0;return function(){var r=Kh(),i=Uh-(r-o);if(o=r,i>0){if(++n>=Lh)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function Gh(e){return function(){return e}}var qr=function(){try{var e=jn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),qh=qr?function(e,n){return qr(e,"toString",{configurable:!0,enumerable:!1,value:Gh(n),writable:!0})}:wh,zh=jh(qh);function Hh(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Yh=9007199254740991,Wh=/^(?:0|[1-9]\d*)$/;function _a(e,n){var o=typeof e;return n=n??Yh,!!n&&(o=="number"||o!="symbol"&&Wh.test(e))&&e>-1&&e%1==0&&e<n}function cc(e,n,o){n=="__proto__"&&qr?qr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function ba(e,n){return e===n||e!==e&&n!==n}var Xh=Object.prototype,Zh=Xh.hasOwnProperty;function wa(e,n,o){var r=e[n];(!(Zh.call(e,n)&&ba(r,o))||o===void 0&&!(n in e))&&cc(e,n,o)}function Xo(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?cc(o,s,c):wa(o,s,c)}return o}var dc=Math.max;function Jh(e,n,o){return n=dc(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=dc(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),Mh(e,this,s)}}var Qh=9007199254740991;function ka(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Qh}function Ca(e){return e!=null&&ka(e.length)&&!Gr(e)}var ey=Object.prototype;function zr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||ey;return e===o}function ty(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var ny="[object Arguments]";function uc(e){return ln(e)&&Ln(e)==ny}var fc=Object.prototype,oy=fc.hasOwnProperty,ry=fc.propertyIsEnumerable,Hr=uc(function(){return arguments}())?uc:function(e){return ln(e)&&oy.call(e,"callee")&&!ry.call(e,"callee")};function iy(){return!1}var pc=typeof Ae=="object"&&Ae&&!Ae.nodeType&&Ae,mc=pc&&typeof module=="object"&&module&&!module.nodeType&&module,ay=mc&&mc.exports===pc,gc=ay?Zt.Buffer:void 0,ly=gc?gc.isBuffer:void 0,Zo=ly||iy,sy="[object Arguments]",cy="[object Array]",dy="[object Boolean]",uy="[object Date]",fy="[object Error]",py="[object Function]",my="[object Map]",gy="[object Number]",hy="[object Object]",yy="[object RegExp]",_y="[object Set]",by="[object String]",wy="[object WeakMap]",ky="[object ArrayBuffer]",Cy="[object DataView]",Ey="[object Float32Array]",Ny="[object Float64Array]",xy="[object Int8Array]",Sy="[object Int16Array]",vy="[object Int32Array]",Ay="[object Uint8Array]",Iy="[object Uint8ClampedArray]",Py="[object Uint16Array]",Ty="[object Uint32Array]",We={};We[Ey]=We[Ny]=We[xy]=We[Sy]=We[vy]=We[Ay]=We[Iy]=We[Py]=We[Ty]=!0,We[sy]=We[cy]=We[ky]=We[dy]=We[Cy]=We[uy]=We[fy]=We[py]=We[my]=We[gy]=We[hy]=We[yy]=We[_y]=We[by]=We[wy]=!1;function Oy(e){return ln(e)&&ka(e.length)&&!!We[Ln(e)]}function Ea(e){return function(n){return e(n)}}var hc=typeof Ae=="object"&&Ae&&!Ae.nodeType&&Ae,Jo=hc&&typeof module=="object"&&module&&!module.nodeType&&module,$y=Jo&&Jo.exports===hc,Na=$y&&ec.process,_o=function(){try{var e=Jo&&Jo.require&&Jo.require("util").types;return e||Na&&Na.binding&&Na.binding("util")}catch{}}(),yc=_o&&_o.isTypedArray,xa=yc?Ea(yc):Oy,By=Object.prototype,Vy=By.hasOwnProperty;function _c(e,n){var o=jt(e),r=!o&&Hr(e),i=!o&&!r&&Zo(e),a=!o&&!r&&!i&&xa(e),l=o||r||i||a,s=l?ty(e.length,String):[],c=s.length;for(var d in e)(n||Vy.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||_a(d,c)))&&s.push(d);return s}function bc(e,n){return function(o){return e(n(o))}}var Dy=bc(Object.keys,Object),Ry=Object.prototype,My=Ry.hasOwnProperty;function wc(e){if(!zr(e))return Dy(e);var n=[];for(var o in Object(e))My.call(e,o)&&o!="constructor"&&n.push(o);return n}function Sa(e){return Ca(e)?_c(e):wc(e)}function Fy(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Ly=Object.prototype,Uy=Ly.hasOwnProperty;function Ky(e){if(!Un(e))return Fy(e);var n=zr(e),o=[];for(var r in e)r=="constructor"&&(n||!Uy.call(e,r))||o.push(r);return o}function va(e){return Ca(e)?_c(e,!0):Ky(e)}var jy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Gy=/^\w*$/;function qy(e,n){if(jt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||ga(e)?!0:Gy.test(e)||!jy.test(e)||n!=null&&e in Object(n)}var Qo=jn(Object,"create");function zy(){this.__data__=Qo?Qo(null):{},this.size=0}function Hy(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Yy="__lodash_hash_undefined__",Wy=Object.prototype,Xy=Wy.hasOwnProperty;function Zy(e){var n=this.__data__;if(Qo){var o=n[e];return o===Yy?void 0:o}return Xy.call(n,e)?n[e]:void 0}var Jy=Object.prototype,Qy=Jy.hasOwnProperty;function e_(e){var n=this.__data__;return Qo?n[e]!==void 0:Qy.call(n,e)}var t_="__lodash_hash_undefined__";function n_(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Qo&&n===void 0?t_:n,this}function Gn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Gn.prototype.clear=zy,Gn.prototype.delete=Hy,Gn.prototype.get=Zy,Gn.prototype.has=e_,Gn.prototype.set=n_;function o_(){this.__data__=[],this.size=0}function Yr(e,n){for(var o=e.length;o--;)if(ba(e[o][0],n))return o;return-1}var r_=Array.prototype,i_=r_.splice;function a_(e){var n=this.__data__,o=Yr(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():i_.call(n,o,1),--this.size,!0}function l_(e){var n=this.__data__,o=Yr(n,e);return o<0?void 0:n[o][1]}function s_(e){return Yr(this.__data__,e)>-1}function c_(e,n){var o=this.__data__,r=Yr(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function sn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}sn.prototype.clear=o_,sn.prototype.delete=a_,sn.prototype.get=l_,sn.prototype.has=s_,sn.prototype.set=c_;var er=jn(Zt,"Map");function d_(){this.size=0,this.__data__={hash:new Gn,map:new(er||sn),string:new Gn}}function u_(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Wr(e,n){var o=e.__data__;return u_(n)?o[typeof n=="string"?"string":"hash"]:o.map}function f_(e){var n=Wr(this,e).delete(e);return this.size-=n?1:0,n}function p_(e){return Wr(this,e).get(e)}function m_(e){return Wr(this,e).has(e)}function g_(e,n){var o=Wr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function cn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}cn.prototype.clear=d_,cn.prototype.delete=f_,cn.prototype.get=p_,cn.prototype.has=m_,cn.prototype.set=g_;var h_="Expected a function";function Aa(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(h_);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(Aa.Cache||cn),o}Aa.Cache=cn;var y_=500;function __(e){var n=Aa(e,function(r){return o.size===y_&&o.clear(),r}),o=n.cache;return n}var b_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,w_=/\\(\\)?/g,k_=__(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(b_,function(o,r,i,a){n.push(i?a.replace(w_,"$1"):r||o)}),n});function Ia(e){return e==null?"":ac(e)}function bo(e,n){return jt(e)?e:qy(e,n)?[e]:k_(Ia(e))}function Xr(e){if(typeof e=="string"||ga(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Pa(e,n){n=bo(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Xr(n[o++])];return o&&o==r?e:void 0}function kc(e,n,o){var r=e==null?void 0:Pa(e,n);return r===void 0?o:r}function Ta(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Cc=Rt?Rt.isConcatSpreadable:void 0;function C_(e){return jt(e)||Hr(e)||!!(Cc&&e&&e[Cc])}function E_(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=C_),i||(i=[]);++a<l;){var s=e[a];o(s)?Ta(i,s):i[i.length]=s}return i}function N_(e){var n=e==null?0:e.length;return n?E_(e):[]}function Ec(e){return zh(Jh(e,void 0,N_),e+"")}var Oa=bc(Object.getPrototypeOf,Object),x_="[object Object]",S_=Function.prototype,v_=Object.prototype,Nc=S_.toString,A_=v_.hasOwnProperty,I_=Nc.call(Object);function P_(e){if(!ln(e)||Ln(e)!=x_)return!1;var n=Oa(e);if(n===null)return!0;var o=A_.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Nc.call(o)==I_}function xc(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function T_(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:xc(e,n,o)}var O_="\\ud800-\\udfff",$_="\\u0300-\\u036f",B_="\\ufe20-\\ufe2f",V_="\\u20d0-\\u20ff",D_=$_+B_+V_,R_="\\ufe0e\\ufe0f",M_="\\u200d",F_=RegExp("["+M_+O_+D_+R_+"]");function Sc(e){return F_.test(e)}function L_(e){return e.split("")}var vc="\\ud800-\\udfff",U_="\\u0300-\\u036f",K_="\\ufe20-\\ufe2f",j_="\\u20d0-\\u20ff",G_=U_+K_+j_,q_="\\ufe0e\\ufe0f",z_="["+vc+"]",$a="["+G_+"]",Ba="\\ud83c[\\udffb-\\udfff]",H_="(?:"+$a+"|"+Ba+")",Ac="[^"+vc+"]",Ic="(?:\\ud83c[\\udde6-\\uddff]){2}",Pc="[\\ud800-\\udbff][\\udc00-\\udfff]",Y_="\\u200d",Tc=H_+"?",Oc="["+q_+"]?",W_="(?:"+Y_+"(?:"+[Ac,Ic,Pc].join("|")+")"+Oc+Tc+")*",X_=Oc+Tc+W_,Z_="(?:"+[Ac+$a+"?",$a,Ic,Pc,z_].join("|")+")",J_=RegExp(Ba+"(?="+Ba+")|"+Z_+X_,"g");function Q_(e){return e.match(J_)||[]}function eb(e){return Sc(e)?Q_(e):L_(e)}function tb(e){return function(n){n=Ia(n);var o=Sc(n)?eb(n):void 0,r=o?o[0]:n.charAt(0),i=o?T_(o,1).join(""):n.slice(1);return r[e]()+i}}var nb=tb("toUpperCase");function ob(){this.__data__=new sn,this.size=0}function rb(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function ib(e){return this.__data__.get(e)}function ab(e){return this.__data__.has(e)}var lb=200;function sb(e,n){var o=this.__data__;if(o instanceof sn){var r=o.__data__;if(!er||r.length<lb-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new cn(r)}return o.set(e,n),this.size=o.size,this}function dn(e){var n=this.__data__=new sn(e);this.size=n.size}dn.prototype.clear=ob,dn.prototype.delete=rb,dn.prototype.get=ib,dn.prototype.has=ab,dn.prototype.set=sb;function cb(e,n){return e&&Xo(n,Sa(n),e)}function db(e,n){return e&&Xo(n,va(n),e)}var $c=typeof Ae=="object"&&Ae&&!Ae.nodeType&&Ae,Bc=$c&&typeof module=="object"&&module&&!module.nodeType&&module,ub=Bc&&Bc.exports===$c,Vc=ub?Zt.Buffer:void 0,Dc=Vc?Vc.allocUnsafe:void 0;function fb(e,n){if(n)return e.slice();var o=e.length,r=Dc?Dc(o):new e.constructor(o);return e.copy(r),r}function pb(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function Rc(){return[]}var mb=Object.prototype,gb=mb.propertyIsEnumerable,Mc=Object.getOwnPropertySymbols,Va=Mc?function(e){return e==null?[]:(e=Object(e),pb(Mc(e),function(n){return gb.call(e,n)}))}:Rc;function hb(e,n){return Xo(e,Va(e),n)}var yb=Object.getOwnPropertySymbols,Fc=yb?function(e){for(var n=[];e;)Ta(n,Va(e)),e=Oa(e);return n}:Rc;function _b(e,n){return Xo(e,Fc(e),n)}function Lc(e,n,o){var r=n(e);return jt(e)?r:Ta(r,o(e))}function Da(e){return Lc(e,Sa,Va)}function Uc(e){return Lc(e,va,Fc)}var Ra=jn(Zt,"DataView"),Ma=jn(Zt,"Promise"),Fa=jn(Zt,"Set"),Kc="[object Map]",bb="[object Object]",jc="[object Promise]",Gc="[object Set]",qc="[object WeakMap]",zc="[object DataView]",wb=Kn(Ra),kb=Kn(er),Cb=Kn(Ma),Eb=Kn(Fa),Nb=Kn(ya),Mt=Ln;(Ra&&Mt(new Ra(new ArrayBuffer(1)))!=zc||er&&Mt(new er)!=Kc||Ma&&Mt(Ma.resolve())!=jc||Fa&&Mt(new Fa)!=Gc||ya&&Mt(new ya)!=qc)&&(Mt=function(e){var n=Ln(e),o=n==bb?e.constructor:void 0,r=o?Kn(o):"";if(r)switch(r){case wb:return zc;case kb:return Kc;case Cb:return jc;case Eb:return Gc;case Nb:return qc}return n});var xb=Object.prototype,Sb=xb.hasOwnProperty;function vb(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&Sb.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Zr=Zt.Uint8Array;function La(e){var n=new e.constructor(e.byteLength);return new Zr(n).set(new Zr(e)),n}function Ab(e,n){var o=n?La(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var Ib=/\w*$/;function Pb(e){var n=new e.constructor(e.source,Ib.exec(e));return n.lastIndex=e.lastIndex,n}var Hc=Rt?Rt.prototype:void 0,Yc=Hc?Hc.valueOf:void 0;function Tb(e){return Yc?Object(Yc.call(e)):{}}function Ob(e,n){var o=n?La(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var $b="[object Boolean]",Bb="[object Date]",Vb="[object Map]",Db="[object Number]",Rb="[object RegExp]",Mb="[object Set]",Fb="[object String]",Lb="[object Symbol]",Ub="[object ArrayBuffer]",Kb="[object DataView]",jb="[object Float32Array]",Gb="[object Float64Array]",qb="[object Int8Array]",zb="[object Int16Array]",Hb="[object Int32Array]",Yb="[object Uint8Array]",Wb="[object Uint8ClampedArray]",Xb="[object Uint16Array]",Zb="[object Uint32Array]";function Jb(e,n,o){var r=e.constructor;switch(n){case Ub:return La(e);case $b:case Bb:return new r(+e);case Kb:return Ab(e,o);case jb:case Gb:case qb:case zb:case Hb:case Yb:case Wb:case Xb:case Zb:return Ob(e,o);case Vb:return new r;case Db:case Fb:return new r(e);case Rb:return Pb(e);case Mb:return new r;case Lb:return Tb(e)}}function Qb(e){return typeof e.constructor=="function"&&!zr(e)?Rh(Oa(e)):{}}var ew="[object Map]";function tw(e){return ln(e)&&Mt(e)==ew}var Wc=_o&&_o.isMap,nw=Wc?Ea(Wc):tw,ow="[object Set]";function rw(e){return ln(e)&&Mt(e)==ow}var Xc=_o&&_o.isSet,iw=Xc?Ea(Xc):rw,aw=1,lw=2,sw=4,Zc="[object Arguments]",cw="[object Array]",dw="[object Boolean]",uw="[object Date]",fw="[object Error]",Jc="[object Function]",pw="[object GeneratorFunction]",mw="[object Map]",gw="[object Number]",Qc="[object Object]",hw="[object RegExp]",yw="[object Set]",_w="[object String]",bw="[object Symbol]",ww="[object WeakMap]",kw="[object ArrayBuffer]",Cw="[object DataView]",Ew="[object Float32Array]",Nw="[object Float64Array]",xw="[object Int8Array]",Sw="[object Int16Array]",vw="[object Int32Array]",Aw="[object Uint8Array]",Iw="[object Uint8ClampedArray]",Pw="[object Uint16Array]",Tw="[object Uint32Array]",ze={};ze[Zc]=ze[cw]=ze[kw]=ze[Cw]=ze[dw]=ze[uw]=ze[Ew]=ze[Nw]=ze[xw]=ze[Sw]=ze[vw]=ze[mw]=ze[gw]=ze[Qc]=ze[hw]=ze[yw]=ze[_w]=ze[bw]=ze[Aw]=ze[Iw]=ze[Pw]=ze[Tw]=!0,ze[fw]=ze[Jc]=ze[ww]=!1;function tr(e,n,o,r,i,a){var l,s=n&aw,c=n&lw,d=n&sw;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!Un(e))return e;var p=jt(e);if(p){if(l=vb(e),!s)return Fh(e,l)}else{var u=Mt(e),f=u==Jc||u==pw;if(Zo(e))return fb(e,s);if(u==Qc||u==Zc||f&&!i){if(l=c||f?{}:Qb(e),!s)return c?_b(e,db(l,e)):hb(e,cb(l,e))}else{if(!ze[u])return i?e:{};l=Jb(e,u,s)}}a||(a=new dn);var m=a.get(e);if(m)return m;a.set(e,l),iw(e)?e.forEach(function(y){l.add(tr(y,n,o,y,e,a))}):nw(e)&&e.forEach(function(y,_){l.set(_,tr(y,n,o,_,e,a))});var g=d?c?Uc:Da:c?va:Sa,h=p?void 0:g(e);return Hh(h||e,function(y,_){h&&(_=y,y=e[_]),wa(l,_,tr(y,n,o,_,e,a))}),l}var Ow=1,$w=4;function wo(e){return tr(e,Ow|$w)}var Bw="__lodash_hash_undefined__";function Vw(e){return this.__data__.set(e,Bw),this}function Dw(e){return this.__data__.has(e)}function Jr(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new cn;++n<o;)this.add(e[n])}Jr.prototype.add=Jr.prototype.push=Vw,Jr.prototype.has=Dw;function Rw(e,n){for(var o=-1,r=e==null?0:e.length;++o<r;)if(n(e[o],o,e))return!0;return!1}function Mw(e,n){return e.has(n)}var Fw=1,Lw=2;function ed(e,n,o,r,i,a){var l=o&Fw,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=a.get(e),p=a.get(n);if(d&&p)return d==n&&p==e;var u=-1,f=!0,m=o&Lw?new Jr:void 0;for(a.set(e,n),a.set(n,e);++u<s;){var g=e[u],h=n[u];if(r)var y=l?r(h,g,u,n,e,a):r(g,h,u,e,n,a);if(y!==void 0){if(y)continue;f=!1;break}if(m){if(!Rw(n,function(_,w){if(!Mw(m,w)&&(g===_||i(g,_,o,r,a)))return m.push(w)})){f=!1;break}}else if(!(g===h||i(g,h,o,r,a))){f=!1;break}}return a.delete(e),a.delete(n),f}function Uw(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Kw(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var jw=1,Gw=2,qw="[object Boolean]",zw="[object Date]",Hw="[object Error]",Yw="[object Map]",Ww="[object Number]",Xw="[object RegExp]",Zw="[object Set]",Jw="[object String]",Qw="[object Symbol]",e0="[object ArrayBuffer]",t0="[object DataView]",td=Rt?Rt.prototype:void 0,Ua=td?td.valueOf:void 0;function n0(e,n,o,r,i,a,l){switch(o){case t0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case e0:return!(e.byteLength!=n.byteLength||!a(new Zr(e),new Zr(n)));case qw:case zw:case Ww:return ba(+e,+n);case Hw:return e.name==n.name&&e.message==n.message;case Xw:case Jw:return e==n+"";case Yw:var s=Uw;case Zw:var c=r&jw;if(s||(s=Kw),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;r|=Gw,l.set(e,n);var p=ed(s(e),s(n),r,i,a,l);return l.delete(e),p;case Qw:if(Ua)return Ua.call(e)==Ua.call(n)}return!1}var o0=1,r0=Object.prototype,i0=r0.hasOwnProperty;function a0(e,n,o,r,i,a){var l=o&o0,s=Da(e),c=s.length,d=Da(n),p=d.length;if(c!=p&&!l)return!1;for(var u=c;u--;){var f=s[u];if(!(l?f in n:i0.call(n,f)))return!1}var m=a.get(e),g=a.get(n);if(m&&g)return m==n&&g==e;var h=!0;a.set(e,n),a.set(n,e);for(var y=l;++u<c;){f=s[u];var _=e[f],w=n[f];if(r)var b=l?r(w,_,f,n,e,a):r(_,w,f,e,n,a);if(!(b===void 0?_===w||i(_,w,o,r,a):b)){h=!1;break}y||(y=f=="constructor")}if(h&&!y){var x=e.constructor,N=n.constructor;x!=N&&"constructor"in e&&"constructor"in n&&!(typeof x=="function"&&x instanceof x&&typeof N=="function"&&N instanceof N)&&(h=!1)}return a.delete(e),a.delete(n),h}var l0=1,nd="[object Arguments]",od="[object Array]",Qr="[object Object]",s0=Object.prototype,rd=s0.hasOwnProperty;function c0(e,n,o,r,i,a){var l=jt(e),s=jt(n),c=l?od:Mt(e),d=s?od:Mt(n);c=c==nd?Qr:c,d=d==nd?Qr:d;var p=c==Qr,u=d==Qr,f=c==d;if(f&&Zo(e)){if(!Zo(n))return!1;l=!0,p=!1}if(f&&!p)return a||(a=new dn),l||xa(e)?ed(e,n,o,r,i,a):n0(e,n,c,o,r,i,a);if(!(o&l0)){var m=p&&rd.call(e,"__wrapped__"),g=u&&rd.call(n,"__wrapped__");if(m||g){var h=m?e.value():e,y=g?n.value():n;return a||(a=new dn),i(h,y,o,r,a)}}return f?(a||(a=new dn),a0(e,n,o,r,i,a)):!1}function id(e,n,o,r,i){return e===n?!0:e==null||n==null||!ln(e)&&!ln(n)?e!==e&&n!==n:c0(e,n,o,r,id,i)}function d0(e,n){return e!=null&&n in Object(e)}function ad(e,n,o){n=bo(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=Xr(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&ka(i)&&_a(l,i)&&(jt(e)||Hr(e)))}function u0(e,n){return e!=null&&ad(e,n,d0)}function f0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var p0=Object.prototype,m0=p0.hasOwnProperty;function g0(e,n){return e!=null&&m0.call(e,n)}function ld(e,n){return e!=null&&ad(e,n,g0)}function h0(e,n){return n.length<2?e:Pa(e,xc(n,0,-1))}var y0="[object Map]",_0="[object Set]",b0=Object.prototype,w0=b0.hasOwnProperty;function sd(e){if(e==null)return!0;if(Ca(e)&&(jt(e)||typeof e=="string"||typeof e.splice=="function"||Zo(e)||xa(e)||Hr(e)))return!e.length;var n=Mt(e);if(n==y0||n==_0)return!e.size;if(zr(e))return!wc(e).length;for(var o in e)if(w0.call(e,o))return!1;return!0}function ko(e,n){return id(e,n)}function cd(e,n){return n=bo(n,e),e=h0(e,n),e==null||delete e[Xr(f0(n))]}function k0(e){return P_(e)?void 0:e}var C0=1,E0=2,N0=4,qn=Ec(function(e,n){var o={};if(e==null)return o;var r=!1;n=oc(n,function(a){return a=bo(a,e),r||(r=a.length>1),a}),Xo(e,Uc(e),o),r&&(o=tr(o,C0|E0|N0,k0));for(var i=n.length;i--;)cd(o,n[i]);return o});function dd(e,n,o,r){if(!Un(e))return e;n=bo(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=Xr(n[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var p=s[c];d=void 0,d===void 0&&(d=Un(p)?p:_a(n[i+1])?[]:{})}wa(s,c,d),s=s[c]}return e}function x0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=Pa(e,l);o(s,l)&&dd(a,bo(l,e),s)}return a}function S0(e,n){return x0(e,n,function(o,r){return u0(e,r)})}var Ka=Ec(function(e,n){return e==null?{}:S0(e,n)});function v0(e,n,o){return e==null?e:dd(e,n,o)}var A0=0;function ei(e){var n=++A0;return Ia(e)+n}function ud(e,n){return e==null?!0:cd(e,n)}const I0=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],zn=e=>{var n,o,r,i,a,l;((o=(n=e.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client,delete e.confluent.authentication.basic),((i=(r=e.confluent)==null?void 0:r.authentication)==null?void 0:i.mode)==="basic"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client),((l=(a=e.confluent)==null?void 0:a.authentication)==null?void 0:l.mode)==="oauth2"&&delete e.confluent.authentication.basic,I0.some(s=>ko(e.confluent,s))&&(e.confluent=null)},P0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;zn((n=e.config)==null?void 0:n.schema_registry)}},T0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;zn((n=e.config)==null?void 0:n.schema_registry)}},O0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;zn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{zn(i==null?void 0:i.schema_registry)})}},$0={"config-message_by_lua_functions":{...Re,inputAttributes:{...Re.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;zn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{zn(i==null?void 0:i.schema_registry)})}},B0={shamefullyTransformPayload:({payload:e})=>{var n;zn((n=e.config)==null?void 0:n.schema_registry)}},V0={"config-static_tags":{...Kr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},D0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function ja(e,n){const o=D0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const Ga=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),Hn={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR"),DATAKIT_M2:Symbol("DATAKIT_M2")},fd=Symbol("TOASTER_PROVIDER");function pd(){return t.inject(Ga,[])}function R0(e){t.provide(Ga,e)}const M0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},md=(e,n)=>(e.order??0)-(n.order??0),gd=(e,n)=>M0(e,n)||md(e,n)||e.model.localeCompare(n.model),je={useI18n:De,usePluginMetaData:Lg,usePluginHelpers:js,useSchemas:e=>{const{capitalize:n}=be.useStringHelpers(),{convertToDotNotation:o}=js(),{i18n:{t:r}}=De(),i=pd(),a={"application-registration":{overwriteDefault:!0,formSchema:{...qg}},datadog:{...zg},"exit-transformer":{...Hg},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...ah},"statsd-advanced":{...lh},"route-by-header":{...nh},"ai-prompt-decorator":{...Ug},"ai-prompt-template":{...Kg},"ai-proxy-advanced":{...jg},"ai-llm-as-judge":{...Gg},"vault-auth":{...ch},"oas-validation":{...Zg},mocking:{...Xg},"rate-limiting":{...jr},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":jr["config-consumer_groups"]}:{...jr},"graphql-rate-limiting-advanced":{...Yg},"injection-protection":{...Wg},"response-ratelimiting":{...jr},"pre-function":{...Js},"post-function":{...Js},"request-transformer-advanced":{...eh},"response-transformer":{...Qs},"response-transformer-advanced":{...th},zipkin:{...V0},"upstream-oauth":{...sh},saml:{...oh},"kafka-upstream":{...P0},"solace-consume":{...rh},"solace-upstream":{...ih},"key-auth":Tg(e),"key-auth-enc":Rg(e),confluent:{...T0},"confluent-consume":{...O0},"kafka-consume":{...$0},"kafka-log":{...B0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(E,C,A,I)=>{let P={};(C||E)&&(P=C||(E.fields?E.fields:E));const T=l().concat(E.blacklist?E.blacklist:[]),k=Object.keys(P).filter(M=>!T.includes(M)),G=k.indexOf("comparator");G>-1&&k.splice(G,1);let S={fields:[]};const L={};k.forEach(M=>{d(P[M],M,P,L,S,A)});const F=L.name,ne=Xt[F],Y=[],D=M=>{const v=["cluster-cache"];for(const B of v)if(M.model.includes(B))return!1;return new RegExp("(?<=-redis-).*").test(M.model)};if(S._supported_redis_partial_type=E._supported_redis_partial_type,S._redis_partial_path=E._redis_partial_path,Le.getSharedFormName(F)||ja(F,i)||ne!=null&&ne.useLegacyForm||e!=null&&e.credential||I==="freeform"){if(ne!=null&&ne.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&E._supported_redis_partial_type){for(const M of S.fields)if(D(M)){Y.push(M);continue}S.fields=S.fields.filter(M=>!D(M)),Y.length&&S.fields.push({id:"_redis",fields:Y,model:"__redis_partial",pluginType:E._isCustomPlugin?"custom":"bundled",redisType:E._supported_redis_partial_type,redisPath:E._redis_partial_path})}S.fields.sort((M,v)=>(M.order=M.order||0,v.order=v.order||0,M.order-v.order))}else{const M=[],v=[],B=[],W=[],X={};if(ne!=null&&ne.fieldRules){const ae=[...ne.fieldRules.atLeastOneOf??[],...ne.fieldRules.onlyOneOf??[],...ne.fieldRules.mutuallyRequired??[]];if(ne.fieldRules.onlyOneOfMutuallyRequired)for(const he of ne.fieldRules.onlyOneOfMutuallyRequired)ae.push(...he);for(const he of ae)for(const ee of he)X[ee.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const ae of S.fields){if(e!=null&&e.enableRedisPartial&&E._supported_redis_partial_type&&D(ae)){W.push(ae);continue}if(ae.pinned){M.push(ae);continue}if(ae.required||X[ae.model]!==void 0){X[ae.model]===!1&&(X[ae.model]=!0),v.push(ae);continue}B.push(ae)}W.length&&B.push({id:"_redis",fields:W,model:"__redis_partial",pluginType:E._isCustomPlugin?"custom":"bundled",redisType:E._supported_redis_partial_type,redisPath:E._redis_partial_path,order:-1});const oe=Object.entries(X).filter(([,ae])=>!ae).map(([ae])=>ae.replace(/-/g,".").replace(/_/g,"-"));oe.length>0&&console.warn(`Unknown checked fields for plugin ${F}: ${oe.join(", ")}`);const H=[];M.length>0&&H.push({fields:M.sort(md)}),(v.length>0||B.length>0)&&H.push({fields:v.sort(gd),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:B.sort(gd),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),S={groups:H}}return{schema:S,model:L,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=E=>Array.isArray(E.default)||E.default!=null&&typeof E.default!="object"&&E.default!=="function",d=(E,C,A,I,P,T)=>{const k=c(E);return I[C]=k?E.default:null,E.id=C,E.model=C,E.fields&&E.type==="record"?u(E,C,A,I,P,T):(A[C]=E,x(E,I),T&&T[C]&&p(A[C],T[C]),P.fields.push(E)),A},p=(E,C)=>(C&&(Object.assign(E,C),C.label&&(E.label=C.label)),E),u=(E,C,A,I,P,T)=>{E.fields.forEach(k=>{Object.keys(k).forEach(G=>{const S=k[G];A=d(S,C+"-"+G,A,I,P,T)})})},f=(E,C)=>{E.type="input",E.inputType="hidden",E.styleClasses="kong-form-hidden-field-wrapper";const A=e==null?void 0:e.entityId;C[E.model]=A?{id:A}:null},m=E=>{E.type="input",E.inputType="number",E.between&&E.between.length===2&&(E.min=E.between[0],E.max=E.between[1])},g=E=>{Object.prototype.hasOwnProperty.call(E,"one_of")?(E.type="select",E.values=E.one_of,E.selectOptions={hideNoneSelectedText:!0}):(E.type="input",E.inputType="text")},h=E=>{E.type="checkbox",E.default=!0,E.required=!1},y=E=>{if(E.type="object-advanced",E.values.type==="array"){const{type:C}=E.values.elements||{};E.schema={fields:[{schema:{fields:[{...Re,model:E.model,valueArrayType:C==="integer"?"number":C||"string",inputAttributes:{...Re.inputAttributes,type:C==="integer"?"number":"text",inputMode:C==="integer"?"numeric":"text"}}]}}]}}else E.values.fields&&(E.schema={fields:[{type:"object",model:"object",schema:{fields:E.values.fields.map(C=>{const A=Object.keys(C)[0];return{model:A,type:"input",label:n(A),placeholder:A,inputType:C[A].type}})}}]})},_=E=>E.fields.reduce((C,A)=>(A.fields&&A.fields.forEach(I=>{C[I.model]=I}),A.model&&(C[A.model]=A),C),{}),w=(E,C)=>{if(!Le.customFields.includes(E.model))return;const A=_(E);Le.customFields.forEach(I=>{Object.keys(A).forEach(P=>{const T=c(A[P]);C[P]=T?A[P].default:null}),delete C[I]})},b=(E,C)=>E.inputType==="hidden"?"":o(n(E.label||C.replace(/_/g," "))),x=(E,C)=>{switch(w(E,C),E.type){case"foreign":f(E,C);break;case"number":m(E),E.attributes={step:"any"};break;case"integer":m(E);break;case"string":g(E);break;case"boolean":h(E);break;case"map":y(E);break}E.inputType==="foreign"&&f(E,C),E.label=b(E,E.model)};function N(E,C){if(C==null||C.type&&C.type!=="record"||typeof E!="object"||E==null)return E;const A={};for(const I of C.fields){const P=Object.keys(I)[0],T=I[P];T.type==="record"?A[P]=N(E[P],T):T.type==="array"&&Array.isArray(E[P])&&T.elements.type==="record"?A[P]=E[P].map(k=>N(k,T.elements)):A[P]=E[P]}return A}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:ho,pruneRecord:N}},useExperimentalFreeForms:pd,useProvideExperimentalFreeForms:R0},gt="/v2/control-planes/{controlPlaneId}/core-entities",Ct="/{workspace}",tt={list:{konnect:{all:`${gt}/plugins`,forEntity:`${gt}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ct}/plugins`,forEntity:`${Ct}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${gt}/v1/available-plugins`,streamingCustomPlugins:`${gt}/custom-plugins`,schemaCustomPluginItem:`${gt}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${gt}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Ct}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${gt}/plugins`,forEntity:`${gt}/{entityType}/{entityId}/plugins`},edit:{all:`${gt}/plugins/{id}`,forEntity:`${gt}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${gt}/{resourceEndpoint}`,edit:`${gt}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",entityGetOne:`${gt}/{entity}/{id}`,entityGetAll:`${gt}/{entity}`,entityPeek:`${gt}/{entity}?size={amount}`},kongManager:{create:{all:`${Ct}/plugins`,forEntity:`${Ct}/{entityType}/{entityId}/plugins`},edit:{all:`${Ct}/plugins/{id}`,forEntity:`${Ct}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ct}/schemas/plugins/{plugin}`,credential:{create:`${Ct}/{resourceEndpoint}`,edit:`${Ct}/{resourceEndpoint}/{id}`},credentialSchema:`${Ct}/schemas/{plugin}`,entityGetOne:`${Ct}/{entity}/{id}`,entityGetAll:`${Ct}/{entity}`}},item:{konnect:{all:`${gt}/plugins/{id}`,forEntity:`${gt}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ct}/plugins/{id}`,forEntity:`${Ct}/{entityType}/{entityId}/plugins/{id}`}}},F0={key:0},L0=ve(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=je.usePluginHelpers(),{i18n:{t:r}}=je.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>o(d)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(p,u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},t.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",F0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p,(f,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${m}`},t.toDisplayString(i(f)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:Co}=Qe.createI18n("en-us",et);function qa(e){return e.map(n=>({value:n,label:`${n}`}))}const za="*",hd="$",yd=".";function Gt(...e){return e.join(yd)}function Ha(...e){return Gt(hd,...e)}function _d(e){return e.startsWith(Gt(hd,""))}function Eo(e){return e.split(yd).filter(n=>n!=="")}function nr(e){const n=Eo(e);return n[n.length-1]}const U0=e=>{var n,o;return e.type==="redis-ce"?Co("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?Co("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Co("redis.shared_configuration.type_label.cluster"):Co("redis.shared_configuration.type_label.host_port")},K0={"redis-ce":Co("redis.shared_configuration.open_source"),"redis-ee":Co("redis.shared_configuration.enterprise")},j0=e=>K0[e]??"";function G0(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function q0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const[z0,H0]=qe.createInjectionState(function(n,o,r,i){const a=X0(n),l=new Map,s=t.reactive({}),c=t.toRef(()=>r??{}),d=t.useSlots();t.provide(Ya,qn(d,"default",No));function p(m){Object.keys(s).forEach(g=>{delete s[g]}),Object.assign(s,m)}function u(m){let g;!m||!f(t.toValue(m))?g=a.getDefault():g=wo(t.toValue(m)),Gr(c.value.prepareFormData)?p(c.value.prepareFormData(g)):p(g)}function f(m){return Gr(c.value.hasValue)?c.value.hasValue(m):!!m}return t.watch(s,m=>{i==null||i(t.toValue(m))},{deep:!0}),t.watch(()=>o==null?void 0:o.value,m=>{u(m)},{deep:!0,immediate:!0}),{formData:s,schema:n,config:c,fieldRendererRegistry:l,resetFormData:p,...a}}),bd=Symbol("free-form-field-path"),Ya=Symbol("free-form-field-renderer-slots"),wd=Symbol("free-form-field-reset-label-path-setting"),No="free-form-field-renderers-slot",Y0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function W0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,Wa(r,n)):e.type==="array"&&e.elements&&Object.assign(o,Xa(e,n)),o}function Wa(e,n=""){const o={};if(Array.isArray(e.fields))for(const r of e.fields){const i=Object.keys(r)[0],a=r[i],l=n?Gt(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=Wa(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=Xa(a,l);Object.assign(o,s)}}return o}function Xa(e,n=""){const o={};if(e.elements){const r=e.elements,i=Gt(n,za);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=Wa(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=Xa(r,i);Object.assign(o,a)}}return o}function Za(e){const n=Eo(e).map(o=>/^\d+$/.test(o)?za:o);return Gt(...n)}function X0(e){const n=t.toValue(e),o=t.computed(()=>n?W0(n):{});function r(u){var f;return u==null?n:(f=o.value)==null?void 0:f[Za(u)]}function i(u,f=!1){const m=r(u);return m?m.default!==void 0?m.default:f||m.required?m.type==="record"?a(m,u):m.type==="array"?[]:null:null:null}function a(u,f){const m={};if(Array.isArray(u.fields))for(const g of u.fields){const h=Object.keys(g)[0],y=f?`${f}.${h}`:h,_=i(y,!1);_!==void 0&&(m[h]=_)}return m}function l(u){return u?i(u,!0):a(r(),"")}function s(u){const f=r(u),m=f!=null&&f.description?Fr.marked.parse(f.description,{async:!1}):void 0;return{...Y0,"data-testid":`ff-label-${u}`,info:m}}function c(u){var m;const f=r(u);return qa((f==null?void 0:f.one_of)||((m=f.elements)==null?void 0:m.one_of)||[])}function d(u){const f=r(u),m=f==null?void 0:f.default;let g=null;if((f==null?void 0:f.type)==="foreign"&&(m!=null&&m.id))g=m.id;else{if(m==null||typeof m=="object"||m==="")return null;if(Array.isArray(m)){if(m.length===0)return null;g=m.join(", ")}else g=m.toString()}return`Default: ${g}`}function p(){return o.value}return{getSchemaMap:p,getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:d}}function Ge(){const e=H0();if(!e)throw new Error("useFormShared() called without provider.");return e}const kd=e=>{const n=t.inject(bd,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!_d(r)&&n.value&&(i=Gt(n.value,r)),_d(r)&&(i=i.slice(Ha("").length)),i});return t.provide(bd,o),o},Z0=e=>{const{getSchema:n,fieldRendererRegistry:o}=Ge(),{default:r,...i}=t.useSlots(),a=t.inject(Ya),l=t.computed(()=>{const c=t.toValue(a),d=Object.keys(i).filter(p=>p!==No&&p!=="item").reduce((p,u)=>{const f=Za(Gt(t.toValue(e),u));return{...p,[f]:i[u]}},{});return c?{...c,...d}:d});t.provide(Ya,l);const s=t.toValue(e);return t.computed(()=>{if(r)return;const c=l.value[Za(t.toValue(e))];if(c)return c;for(const[d,p]of o)if(d({path:s,schema:n(s)}))return p})},J0={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Q0(e){return J0[e.toLocaleLowerCase()]??e}function ek(e,n){const o=t.inject(wd,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?Gt(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var f;const{parentPath:d,isolate:p}=c,u=d?Gt(d,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=u,l.value.isolate=!1,l.value.parentPath=u}};(f=m[s])==null||f.call(m)}else p&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(wd,l),a}function tk(e){return Eo(e).map(o=>o.split("_").map(Q0).join(" ")).map(nb).join(" › ")}function nk(e,n){const o=t.toValue(e),r=nr(o),{config:i,getSchema:a}=Ge(),l=ek(r,n),s=Cd(e);return t.computed(()=>{var f;const c=l.value??r,d=(f=s.value.parent)!=null&&f.path?a(s.value.parent.path):null,u=(d==null?void 0:d.type)==="array"?"":tk(c);return i.value.transformLabel?i.value.transformLabel(u,o):u})}function qt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Ge(),a=t.toValue(e),l=t.toValue(n),s=nk(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function ok(e){var r;const n=Eo(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?Gt(o.parent.path,i):i,o={parent:o}}return o}function Cd(e){return t.computed(()=>ok(t.toValue(e)))}function Ed(e){const{formData:n}=Ge(),o=kd(e);return{value:t.computed({get:()=>kc(n,Eo(o.value)),set:i=>v0(n,Eo(o.value),i)})}}function vt(e){const{getSchema:n}=Ge(),o=kd(e),r=Z0(o),{value:i}=Ed(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Cd(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function or(e){const{getSchema:n}=Ge(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function Nd(e,n){const o=new WeakMap,r=new Map;function i(){return ei(`${e}-`)}function a(l,s){if(l==null||typeof l!="object")return`${e}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):i();return r.set(s,c),o.set(l,c),c}return t.watch(n,l=>{const s=t.toValue(l),c=new Set;s.forEach((d,p)=>{c.add(p)}),Array.from(r.keys()).forEach(d=>{c.has(d)||r.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}const rk="__request_callout_";function xd(){return ei(rk)}const Yn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=t.useAttrs(),i=n,a=t.computed(()=>o.multiline?Be.KTextArea:Be.KInput),l=t.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{s.value=u});const{config:c}=Ge(),d=u=>{u!==s.value&&(s.value=u,c.value.updateOnChange||i("update:modelValue",u))},p=()=>{c.value.updateOnChange&&i("update:modelValue",s.value)};return(u,f)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(u.$attrs,{"character-limit":l.value,"model-value":e.modelValue,resizable:e.multiline?!0:void 0,onChange:p,"onUpdate:modelValue":d}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,g)=>({name:g,fn:t.withCtx(h=>[t.renderSlot(u.$slots,g,t.normalizeProps(t.guardReactiveProps(h)))])}))]),1040,["character-limit","model-value","resizable"]))}}),ik=["innerHTML"],xo=ve(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=De(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=vt(t.toRef(()=>e.name)),c=qt(s.path,t.toRef({...i,...o})),d=l==null?void 0:l.value;function p(_){d!==void 0&&_===""&&_!==d?(l.value=null,a("update:modelValue",null)):(l.value=_.trim(),a("update:modelValue",_.trim()))}const u=t.computed(()=>{var _;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((_=s.schema)==null?void 0:_.value).encrypted}),f=t.inject(Le.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var _;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((_=s.schema.value)!=null&&_.referenceable)}),g=t.computed(()=>({referenceable:m.value})),h=or(s.ancestors),y=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return(_,w)=>{var x;const b=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},_.$attrs)),[t.createVNode(Yn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:u.value,type:u.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":y.value,"data-autofocus":t.unref(h),"data-testid":`ff-${s.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.multiline&&e.error?e.errorMessage:e.help,"model-value":t.unref(l)??"",multiline:e.multiline,"onUpdate:modelValue":p}),t.createSlots({_:2},[(x=t.unref(c).labelAttributes)!=null&&x.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,ik)],!0)]),key:"0"}:void 0,e.multiline&&e.error?void 0:{name:"help",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"help",{},void 0,!0)]),key:"1"}]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline"]),t.unref(f)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(f)),{key:0,schema:g.value,update:p,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(f)?(t.openBlock(),t.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-8b9ee4c2"]]),ak=["innerHTML"],ti=ve(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=vt(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=qt(i.path,o);return(c,d)=>{var u;const p=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Be.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(u=t.unref(s).labelAttributes)!=null&&u.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,ak)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Sd=ve(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(f=>[f,""])),r=Object.fromEntries(n.map(f=>[f,"0"]));function i(f){const m=getComputedStyle(f);return Object.fromEntries(n.map(g=>[g,m.getPropertyValue(g)]))}function a(f){["overflow","transition",...n].forEach(m=>f.style.removeProperty(m))}function l(f){Object.assign(f.style,{overflow:"hidden",transition:"none"})}function s(f){const m=f;Object.assign(m.style,o);const g=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...g,transition:""})})}function c(f){a(f)}function d(f){const m=f;Object.assign(m.style,{...i(m),overflow:"hidden"})}function p(f){Object.assign(f.style,r)}function u(f){a(f)}return(f,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:u,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:p},{default:t.withCtx(()=>[t.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),lk=["data-testid"],sk=["data-testid"],ck=["data-testid"],dk=["innerHTML"],uk={class:"ff-object-field-actions"},fk=["data-testid"],At=ve(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=vt(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Ge(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>f.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),d=t.computed(()=>{var y,_;if((y=r.ancestors)!=null&&y.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((_=i(w.path))==null?void 0:_.type)==="array"}return!1}),p=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),u=qt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:p.value}))),f=t.computed(()=>u.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:d.value),g=t.computed(()=>{let y=r.schema.value.fields;return e.omit&&(y=y.filter(_=>!e.omit.includes(Object.keys(_)[0]))),e.fieldsOrder?y.sort((_,w)=>{const b=Object.keys(_)[0],x=Object.keys(w)[0],N=e.fieldsOrder.indexOf(b),E=e.fieldsOrder.indexOf(x);return N===-1&&E===-1?0:N===-1?1:E===-1?-1:N-E}):y});function h(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(f,y=>{e.collapsible&&(s.value=y)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(y,_)=>{var b;const w=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(y.$slots[t.unref(No)]))),r.error?(t.openBlock(),t.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},y.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(y.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,x=>(t.openBlock(),t.createBlock(bt,{key:Object.keys(x)[0],name:Object.keys(x)[0]},null,8,["name"]))),128))],!0)],16,lk)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},y.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref(Be.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(u),required:!1},{"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(b=t.unref(u).labelAttributes)!=null&&b.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,dk)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",uk,[e.collapsible&&f.value?(t.openBlock(),t.createBlock(t.unref(Be.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:_[0]||(_[0]=x=>s.value=!c.value)},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(u).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Be.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${f.value?"remove":"add"}`),"data-testid":`ff-object-${f.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:h},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(xe.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(xe.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,ck),t.createVNode(Sd,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(y.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,x=>(t.openBlock(),t.createBlock(bt,{key:Object.keys(x)[0],name:Object.keys(x)[0]},null,8,["name"]))),128))],!0)],8,fk)):t.createCommentVNode("",!0)]),_:3})],16,sk))],64)}}}),[["__scopeId","data-v-6f044592"]]),pk=["innerHTML"],Wn=ve(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=vt(t.toRef(()=>e.name)),a=qt(i.path,o),l=t.computed(()=>{var h;const f=(h=i.schema)==null?void 0:h.value;if(typeof f.gt=="number")return{min:f.gt};const[m,g]=f.between??[];return{min:o.min??m,max:o.max??g}}),s=n,c=r.value,d=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function p(f){c!==void 0&&f===""&&Number(f)!==c?(r.value=null,s("update:modelValue",null)):(r.value=f===""?null:Number(f),s("update:modelValue",f===""?null:Number(f)))}const u=or(i.ancestors);return(f,m)=>{var h;const g=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(Yn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(u),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":p}),t.createSlots({_:2},[(h=t.unref(a).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(f.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,pk)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),mk=["innerHTML"],Ft=ve(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean}},emits:["update"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:i}=Ge(),{value:a,...l}=vt(t.toRef(()=>e.name)),s=qt(l.path,r),c=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),d=t.computed(()=>{var u;return e.multiple!==void 0?e.multiple:((u=l.schema.value)==null?void 0:u.type)==="set"}),p=t.computed(()=>d.value?Be.KMultiselect:Be.KSelect);return(u,f)=>{var g;const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(p),t.mergeProps({key:1},{...r,...t.unref(s)},{modelValue:t.unref(a),"onUpdate:modelValue":[f[0]||(f[0]=h=>t.isRef(a)?a.value=h:null),f[1]||(f[1]=h=>o("update",h))],class:"ff-enum-field",clearable:!t.unref(s).required,"data-testid":`ff-${l.path.value}`,items:c.value,"kpop-attributes":{"data-testid":`${l.path.value}-items`}}),t.createSlots({_:2},["tooltip"in u.$slots||(g=t.unref(s).labelAttributes)!=null&&g.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,mk)],!0)]),key:"0"}:void 0,u.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:h})=>[t.renderSlot(u.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(h)),void 0,!0)]),key:"1"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-e67d00d5"]]);function ni(e,n,o=!0){const{value:r,...i}=vt(t.toRef(e,"name")),a=qt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(d(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return ei("ff-kv-field-")}function c(y,_,w){const b=w.indexOf(y),x=w.indexOf(_);return b===-1&&x===-1?0:b===-1?1:x===-1?-1:b-x}function d(y,_){const w=Object.entries(y).map(([b,x])=>({id:s(),key:b,value:x}));return _&&w.sort((b,x)=>c(b.key,x.key,_)),w}function p(){const y={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(y),y}function u(y){const _=l.value.findIndex(w=>w.id===y);_!==-1&&l.value.splice(_,1)}function f(){l.value=d(e.initialValue||{},e.keyOrder)}function m(y){l.value=d(y,e.keyOrder)}let g=null;t.watch(l,y=>{if(!o)return;const _=y.length?Object.fromEntries(y.map(({key:w,value:b})=>[w,b]).filter(([w])=>w)):null;r.value=_,g=_,n("change",_)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,y=>{ko(y,g)||h(y)},{deep:!0});function h(y){if(!y){l.value=[];return}const _=new Map;l.value.forEach(N=>{N.key&&_.set(N.key,N)});const w=[],b=Object.keys(y);(e.keyOrder?[...b].sort((N,E)=>c(N,E,e.keyOrder)):b).forEach(N=>{const E=y[N];if(_.has(N)){const C=_.get(N);C.value=E,w.push(C)}else w.push({id:s(),key:N,value:E})}),l.value=w}return{entries:l,addEntry:p,removeEntry:u,reset:f,setValue:m,labelAttrs:a,field:i}}const gk=["data-testid"],hk=["data-testid"],yk=["innerHTML"],_k=["data-testid"],bk=ve(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=De(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:p,labelAttrs:u,field:f}=ni(r,a),m=t.useTemplateRef("root");async function g(N,E="key"){var C;m.value&&(await t.nextTick(),(C=m.value.querySelector(`[data-${E}-input="${N}"]`))==null||C.focus())}function h(){s();const N=l.value.findIndex(({key:E})=>!E);g(N===-1?l.value.length-1:N)}function y(N){N===l.value.length-1&&s(),g(N+1)}const _=t.inject(Le.AUTOFILL_SLOT,void 0),w=t.computed(()=>{var N,E;return e.showVaultSecretPicker??!!((E=(N=f.schema.value)==null?void 0:N.values)!=null&&E.referenceable)}),b=t.computed(()=>({referenceable:w.value}));function x(N,E){l.value[N].value=E}return n({reset:d,setValue:p}),(N,E)=>{var P;const C=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),I=t.resolveComponent("KButton");return t.unref(f).error?(t.openBlock(),t.createBlock(C,{key:0,appearance:"danger",message:t.unref(f).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(f).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(f).path.value}`},[t.createVNode(A,t.mergeProps({class:"ff-kv-field-label"},t.unref(u),{"data-testid":`ff-label-${t.unref(f).path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(P=t.unref(u).labelAttributes)!=null&&P.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(N.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,yk)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(I,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(f).path.value}`,icon:"",onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon))]),_:1},8,["data-testid"])],8,hk),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(T,k)=>(t.openBlock(),t.createElementBlock("div",{key:T.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(f).path.value}.${k}`},[t.createVNode(Yn,{modelValue:T.key,"onUpdate:modelValue":G=>T.key=G,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":k,"data-testid":`ff-key-${t.unref(f).path.value}.${k}`,placeholder:e.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(G=>g(k,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(Yn,{modelValue:T.value,"onUpdate:modelValue":G=>T.value=G,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(f).path.value}.${k}`,"data-value-input":k,placeholder:e.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(G=>y(k),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(_)&&w.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_)),{key:0,schema:b.value,update:G=>x(k,G),value:T.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),w.value&&!t.unref(_)?(t.openBlock(),t.createBlock(C,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(f).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode(I,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(f).path.value}.${k}`,icon:"",onClick:G=>t.unref(c)(T.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.TrashIcon))]),_:1},8,["data-testid","onClick"])],8,_k))),128))],8,gk))}}}),[["__scopeId","data-v-92e0893d"]]),wk=["data-testid"],kk=["innerHTML"],Ja=ve(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{name:{},labelAttributes:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=vt(t.toRef(()=>e.name)),s=qt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var h,y;return((y=(h=l.schema)==null?void 0:h.value)==null?void 0:y.len_min)&&l.schema.value.len_min>0}),d=t.ref("");function p(h){return h.map(y=>y.trim()).filter(Boolean).join(", ")}function u(h){return h.trim().split(",").map(y=>y.trim()).filter(Boolean)}function f(h){d.value=h;const y=u(h),_=!y.length&&c.value?null:y;a.value=_,i("update:modelValue",_)}const m=or(l.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return t.watch(a,h=>{const y=h?p(h):"";p(u(d.value))!==y&&(d.value=y)},{immediate:!0}),(h,y)=>{var w;const _=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(_,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(Yn,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":g.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":d.value??"","onUpdate:modelValue":f}),t.createSlots({_:2},[(w=t.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,kk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,wk))}}}),[["__scopeId","data-v-a27f4ff1"]]),Ck=["data-testid"],Ek=["innerHTML"],Nk=ve(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{name:{},labelAttributes:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=vt(t.toRef(()=>e.name)),s=qt(l.path,t.toRef({...r,...o})),c=t.ref("");function d(f){c.value=f;let m=f||null;try{const g=JSON.parse(f);g&&typeof g=="object"&&(m=g)}catch{}a.value=m,i("update:modelValue",m)}const p=or(l.ancestors),u=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return t.watch(a,f=>{if(f&&typeof f=="object"){try{const m=JSON.parse(c.value);ko(m,f)||(c.value=JSON.stringify(f,null,2))}catch{c.value=JSON.stringify(f,null,2)}return}c.value=f||""},{immediate:!0}),(f,m)=>{var h;const g=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(Yn,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":u.value,"data-autofocus":t.unref(p),"data-testid":`ff-${l.path.value}`,"model-value":c.value??"",multiline:"","onUpdate:modelValue":d}),t.createSlots({_:2},[(h=t.unref(s).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(f.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Ek)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Ck))}}}),[["__scopeId","data-v-5749f722"]]),xk=["innerHTML"],Sk=ve(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{name:{},labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:{t:r}}=De(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=vt(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=qt(s.path,t.toRef({...i,...o})),d=l.value?l.value.id:null,p=t.computed(()=>{var h;return c.value.placeholder?c.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((h=s.schema.value)==null?void 0:h.reference)??"entity"})}),u=t.ref(d??"");function f(h){d!==void 0&&h===""&&h!==d?(l.value=null,a("update:modelValue",null)):(l.value={id:h.trim()},a("update:modelValue",l.value))}const m=or(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:nr(e.name)==="name");return(h,y)=>{var _;return t.openBlock(),t.createBlock(Yn,t.mergeProps(t.unref(c),{class:"ff-foreign-field","data-1p-ignore":g.value,"data-autofocus":t.unref(m),"data-testid":`ff-${s.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.help,"model-value":u.value,placeholder:p.value,"onUpdate:modelValue":f}),t.createSlots({_:2},[(_=t.unref(c).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,xk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),bt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=vt(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?Ft:xo;case"boolean":return"one_of"in o.schema.value?Ft:ti;case"number":case"integer":return"one_of"in o.schema.value?Ft:Wn;case"array":return oi;case"set":return q0(o.schema)?Ja:Ft;case"record":return At;case"map":return bk;case"json":return Nk;case"foreign":return Sk;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(No)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:Ha(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:Ha(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),vk=["data-testid"],Ak=["data-testid"],Ik=["innerHTML"],Pk=["data-testid"],Tk={class:"ff-array-field-item-content"},Ok=["data-index","data-testid"],oi=ve(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var E;t.useCssVars(C=>({v3e1c9ee2:N.value}));const o=e,r=n,{i18n:{t:i}}=De(),{getDefault:a,getSchema:l}=Ge(),{value:s,...c}=vt(t.toRef(o,"name")),d=qt(c.path,t.toRef({...o,...t.useAttrs()})),p=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const C=l(c.path.value);if(!C)throw new Error(`Schema not found for path: ${c.path.value}`);return C.elements}),u=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:f}=Nd("ff-array-field",u),m=t.computed(()=>o.appearance==="card"?Be.KCard:"div");function g(C,A){return typeof o.itemLabel=="function"?o.itemLabel(C,A):o.itemLabel||d.value.label||`Item #${A}`}const h=t.computed(()=>u.value.map((C,A)=>({hash:`#${f(C,A)}`,title:""}))),y=t.ref((E=h.value[0])==null?void 0:E.hash),_=async()=>{var A;const C=a(Gt(c.path.value,za));Array.isArray(s.value)||(s.value=[]),s.value.push(C),r("add"),o.appearance==="tabs"&&(await t.nextTick(),y.value=(A=h.value[h.value.length-1])==null?void 0:A.hash),await t.nextTick(),x(u.value.length+1)},w=async C=>{var A;Array.isArray(s.value)&&s.value.splice(C,1),r("remove",C),o.appearance==="tabs"&&(y.value=(A=h.value[Math.max(0,C-1)])==null?void 0:A.hash)},b=t.useTemplateRef("root");function x(C){var I;if(!b.value)return;const A=Math.max(0,Math.min(C,u.value.length-1));(I=b.value.querySelector(`[data-index="${A}"] [data-autofocus]`))==null||I.focus()}const N=t.computed(()=>{const{appearance:C,stickyTabs:A}=o;return C!=="tabs"||A==null||A===!1?null:typeof A=="number"?`${o.stickyTabs}px`:typeof A=="string"?A:"0"});return(C,A)=>{var G;const I=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),T=t.resolveComponent("KButton"),k=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${e.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":e.stickyTabs}]),"data-testid":`ff-array-${c.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${c.path.value}`},[t.createVNode(P,t.mergeProps({class:"ff-array-field-label"},t.unref(d),{"data-testid":`ff-label-${c.path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(G=t.unref(d).labelAttributes)!=null&&G.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,Ik)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${c.path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Ak),u.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[e.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${c.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,(S,L)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(f)(S,L),class:"ff-array-field-item","data-index":L,"data-testid":`ff-array-item-${c.path.value}.${L}`},{default:t.withCtx(()=>[t.createElementVNode("div",Tk,[C.$slots.item?t.renderSlot(C.$slots,"item",{key:0,fieldName:String(L),index:L},void 0,!0):t.createCommentVNode("",!0),p.value.type==="array"&&p.value.elements.type==="string"?(t.openBlock(),t.createBlock(Ja,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(L)},null,8,["help","name"])):(t.openBlock(),t.createBlock(bt,{key:2,name:String(L)},null,8,["name"]))]),t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${L}`,icon:"",onClick:F=>w(L)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,Pk)):(t.openBlock(),t.createBlock(t.unref(Be.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(k,{modelValue:y.value,"onUpdate:modelValue":A[0]||(A[0]=S=>y.value=S),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:h.value},t.createSlots({_:2},[t.renderList(u.value,(S,L)=>({name:t.unref(f)(S,L),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":L,"data-testid":`ff-array-item-${c.path.value}.${L}`},[C.$slots.item?t.renderSlot(C.$slots,"item",{key:0,fieldName:String(L),index:L},void 0,!0):(t.openBlock(),t.createBlock(bt,{key:1,name:String(L)},null,8,["name"]))],8,Ok)])})),t.renderList(u.value,(S,L)=>({name:`${t.unref(f)(S,L)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g(S,L))+" ",1),t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${L}`,icon:"",onClick:t.withModifiers(F=>w(L),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,vk))}}}),[["__scopeId","data-v-3edd064c"]]),rr=Symbol(),$k=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Ge(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[rr]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(At,{name:e.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(Ft,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(At,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(Ft,t.mergeProps(d,{items:t.unref(qa)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),Bk=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=Ge();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[rr]=xd())}return(r,i)=>(t.openBlock(),t.createBlock(oi,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:t.withCtx(({index:a,fieldName:l})=>[t.createVNode($k,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),vd=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),{fieldRendererRegistry:r}=Ge();return o&&r.set(n.match,o),(i,a)=>null}}),Et=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),{getSchema:a,formData:l,resetFormData:s}=z0(e.schema,t.computed(()=>e.data),e.config,d=>r("change",d)),c=t.computed(()=>{const{fields:d}=a();return e.fieldsOrder?d.sort((p,u)=>{const f=Object.keys(p)[0],m=Object.keys(u)[0],g=e.fieldsOrder.indexOf(f),h=e.fieldsOrder.indexOf(m);return g===-1&&h===-1?0:g===-1?1:h===-1?-1:g-h}):d});return n({getInnerData:()=>t.toRaw(l),setInnerData:d=>s(d)}),(d,p)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(No)]))),t.renderSlot(d.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,u=>(t.openBlock(),t.createBlock(bt,{key:Object.keys(u)[0],name:Object.keys(u)[0],onGlobalAction:p[0]||(p[0]=(f,m)=>r("globalAction",f,m))},null,8,["name"]))),128))])]),_:3}))}}),Vk={class:"ff-advanced-fields"},ri=ve(t.defineComponent({__name:"AdvancedFields",props:{hideGeneralFields:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),{getSchema:o}=Ge(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Be.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",Vk,[e.hideGeneralFields?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(bt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(bt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Ja,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0)],64)),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-fb80aa6f"]]),Dk=ve(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=De();function a(d,p=!1){return d.reduce((u,{[rr]:f,name:m})=>(p?u[m]=f:u[f]=m,u),{})}function l(d){var m;const p=wo(d);if(!((m=p.config)!=null&&m.callouts))return p;const{callouts:u}=p.config;u.forEach(g=>{g.request.body.custom=g.request.body.custom??{},g[rr]=xd()});const f=a(u,!0);return u.forEach(g=>{g.depends_on=g.depends_on.map(h=>f[h])}),p}function s(d){return!!(d!=null&&d.config)}function c(d){var f;if(!d)return;const p=wo(d);if(!((f=p.config)!=null&&f.callouts))throw new Error("data is not correct");const u=a(p.config.callouts);p.config.callouts=p.config.callouts.map(m=>{const{[rr]:g,depends_on:h,...y}=m;return{depends_on:h.map(_=>u[_]).filter(_=>_!=null),...y}}),o("change",p)}return(d,p)=>(t.openBlock(),t.createBlock(Et,{class:"rc-config-form",config:r,data:e.data,schema:e.schema,tag:"div",onChange:c},{[t.unref(No)]:t.withCtx(()=>[t.createVNode(vd,{match:({path:u})=>u.endsWith("by_lua")},{default:t.withCtx(u=>[t.createVNode(xo,t.mergeProps(u,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(vd,{match:({path:u})=>["cluster_nodes","sentinel_nodes"].some(f=>u.endsWith(f))},{default:t.withCtx(u=>[t.createVNode(oi,t.mergeProps(u,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Bk),t.createVNode(At,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(At,{appearance:"card",name:"cache"},{redis:t.withCtx(u=>[t.createVNode(At,t.mergeProps(u,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}),t.createVNode(ri)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),Rk={class:"ff-form-pinned-fields"},Mk={class:"ff-form-config-form"},Qa=ve(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=e;t.useSlots();function r(p){return t.computed(()=>({fields:t.toValue(p).map(u=>{var f;return(f=o.formSchema)==null?void 0:f.fields.find(m=>m.model===u)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const p=o.schema;p.fields=p.fields.filter(f=>l.includes(Object.keys(f)[0])),p.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const u=p.fields.find(f=>Object.keys(f)[0]==="protocols");return u&&(u.protocols.help=u.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:u.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),u.protocols.description=n("plugins.form.fields.protocols.help")),p}),c=t.ref(!1),d=t.computed(()=>{const p=["config","instance_name","partials","protocols","tags","__ui_data"];return Ka(o.model,p)});return(p,u)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Rk,[t.createVNode(t.unref(Le.VueFormGenerator),{model:e.formModel,options:e.formOptions,schema:t.unref(a),onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(Be.KCollapse),{modelValue:c.value,"onUpdate:modelValue":u[1]||(u[1]=f=>c.value=f),class:"ff-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Mk,[t.renderSlot(p.$slots,"default",{class:"ff-form",data:d.value,schema:s.value,onChange:u[0]||(u[0]=(...f)=>e.onFormChange&&e.onFormChange(...f))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),Fk=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Dk,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),Lk={key:1},Uk=["innerHTML"],Kk={class:"horizontal-container"},Ad=ve(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=Ge(),a=vt(t.toRef(()=>e.name)),l=qt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),o("update:modelValue",d)};return(d,p)=>{var m;const u=t.resolveComponent("KAlert"),f=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(u,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Lk,[t.createVNode(f,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,Uk)]),key:"0"}:void 0]),1040),t.createElementVNode("div",Kk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,g=>(t.openBlock(),t.createBlock(t.unref(Be.KRadio),{key:g.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[p[0]||(p[0]=h=>t.unref(a).value.value=h),c],"card-orientation":"horizontal",label:g.label,"selected-value":g.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),jk={class:"sp-form-request-limits-subtitle"},Gk={class:"sp-form-request-limits-content"},qk={class:"sp-form-window-type"},zk={class:"sp-form-request-limits-items"},Hk={class:"sp-form-request-limits-row"},Yk=["id"],Wk={class:"sp-form-request-limits-actions"},Xk={key:0,class:"sp-form-request-limits-examples"},Zk={class:"sp-form-request-limits-examples-badges"},el="config.window_type",Jk=ve(t.defineComponent({__name:"RequestLimitsForm",setup(e){var y;const{t:n}=Qe.createI18n("en-us",et),{formData:o,getSelectItems:r,getSchema:i}=Ge(),a=t.computed(()=>{var w,b;const _=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((x,N)=>{var E,C;return{limit:x,windowSize:(C=(E=o.config)==null?void 0:E.window_size)==null?void 0:C[N]}});return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Nd("request-limits",a),s=_=>{var w,b;f.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(_+1,0,null),o.config.window_size.splice(_+1,0,null))},c=_=>{o.config&&(o.config.limit.splice(_,1),o.config.window_size.splice(_,1))},d=(y=i(el))==null?void 0:y.default,p=t.computed(()=>kc(o,el)),u=t.computed(()=>r(el).sort((_,w)=>_.value===d?-1:w.value===d?1:0)),f=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},g=t.computed(()=>Object.prototype.hasOwnProperty.call(m,p.value)?m[p.value]:[]),h=(_,w)=>{if(w===f.value){t.nextTick(()=>{f.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{f.value=w}),o.config.limit=[_.config.limit],o.config.window_size=[_.config.window_size]};return(_,w)=>{const b=t.resolveComponent("KLabel"),x=t.resolveComponent("KButton"),N=t.resolveComponent("KBadge"),E=t.resolveComponent("KTooltip"),C=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(C,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",jk,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Gk,[t.createElementVNode("div",qk,[t.createVNode(Ad,{items:u.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=A=>f.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",zk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(A,I)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(A,I)},[t.createVNode(b,{for:`sp-form-request-limits-item-${I}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:I+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Hk,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${I}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Wn,{name:`$.config.limit.${I}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Wn,{name:`$.config.window_size.${I}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,Yk),t.createElementVNode("div",Wk,[t.createVNode(x,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(x,{appearance:"tertiary",onClick:()=>s(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),g.value.length>0?(t.openBlock(),t.createElementBlock("div",Xk,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",Zk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,(A,I)=>(t.openBlock(),t.createBlock(E,{key:`use-case-${I}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(A.description),1),w[1]||(w[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(A.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(A.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(N,{appearance:f.value===`${p.value}-${I}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>h(A,`${p.value}-${I}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(A.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Qk={id:"sp-form-error-legend",class:"sp-form-error-inputs"},eC=ve(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Qe.createI18n("en-us",et);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Qk,[t.createVNode(Wn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(xo,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),tC={class:"partial-config-card"},nC={class:"config-card-row-label"},oC={class:"label-text"},rC=["data-testid"],iC=["data-testid"],aC={key:1},lC=["data-testid"],sC=["data-testid"],cC=ve(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Qe.createI18n("en-us",et),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=u=>u!=null,l=(u,f)=>a(f)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:s}=be.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([u,f])=>{var m,g,h,y;return{key:u,label:((m=r[u])==null?void 0:m.label)??s(u),value:(g=r[u])!=null&&g.formatter?r[u].formatter(f):f,type:((h=r[u])==null?void 0:h.type)??l(u,f),order:((y=r[u])==null?void 0:y.order)??100}}).sort((u,f)=>u.order-f.order).filter(u=>u.type!=="hidden")),d=G0(i.configFields,i.pluginRedisFields||[]),p=t.computed(()=>c.value.concat(d));return(u,f)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",tC,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,({key:g,label:h,value:y,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:g,class:"partial-config-card-row"},[t.createElementVNode("div",nC,[t.createElementVNode("div",oC,t.toDisplayString(h),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${g}-property-value`},[a(y)?(t.openBlock(),t.createElementBlock("div",aC,[_==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${g}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(y)},null,8,["text"])],8,lC)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${g}-plain-text`},t.toDisplayString(y),9,sC))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${g}-no-value`}," – ",8,iC))],8,rC)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),dC=ve(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Qe.createI18n("en-us",et),i=t.inject(Le.FORMS_CONFIG),a=n,{getMessageFromError:l}=be.useErrors(),s=t.computed(()=>{switch(o.partialType){case go.PartialType.REDIS_CE:return go.PartialType.REDIS_EE;case go.PartialType.REDIS_EE:return go.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),d=t.ref(),p=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},u=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),f()},f=()=>{d.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{d.value="#km-modal-footer"}))}),(m,g)=>{const h=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(h,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:f},{footer:t.withCtx(()=>[...g[0]||(g[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])]),default:t.withCtx(()=>[t.createVNode(t.unref(go.RedisConfigurationForm),{"action-teleport-target":d.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:f,onError:p,onUpdate:u},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),uC="#ecfcff",fC="#f1f0ff",pC="#52596e",mC="#e0e4ea",gC="#007d60",hC="#fffce0",yC="#6c7489",_C="#0044f4",bC="#5f9aff",tl="#000933",nl="#d60027",wC="#ffe5e5",kC="#00abd2",CC="#d60067",EC="#6f28ff",Id="#afb7c5",ii="#6c7489",NC="#0044f4",xC="#eefaff",SC="#007d60",vC="#ecfffb",AC="#995c00",ir="12px",Pd="16px",ai="20px",IC="2px",Td="8px",PC="32px",Od=Symbol("redis-partial-info"),$d={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},Bd=["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"],TC={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},OC={key:0,class:"shared-redis-config"},$C={class:"shared-redis-config-title"},BC={class:"redis-config-select","data-testid":"redis-config-select"},VC={class:"selected-redis-config"},DC=["data-testid"],RC={class:"select-item-name","data-testid":"selected-redis-config"},MC={class:"empty-redis-config","data-testid":"empty-redis-config"},FC={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},LC="1000",UC=ve(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var ne;const o=n,{t:r}=Qe.createI18n("en-us",et),i=e,a=t.inject(Od),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var Y;return i.redisPath?i.redisPath:(Y=a==null?void 0:a.redisPath)!=null&&Y.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((ne=a==null?void 0:a.redisType)==null?void 0:ne.value)||"all",d=t.computed(()=>{var Y;return!!((Y=a==null?void 0:a.redisType)!=null&&Y.value)}),p=t.ref(!1),u=t.ref(null),f=t.ref(!l),{getMessageFromError:m}=be.useErrors(),g=t.ref(i.defaultRedisConfigItem),h=t.ref({}),y=t.ref(),{value:_}=Ed("$.partials"),{value:w}=vt(s),b=t.inject(Le.FORMS_CONFIG),{debouncedQueryChange:x,loading:N,error:E,loadItems:C,results:A}=be.useDebouncedFilter(b,$d[b.app].getAll,LC,{fetchedItemsKey:"data",searchKeys:["id","name"]}),I=t.computed(()=>E.value?m(E.value):""),P=Y=>{let D=`${b.apiBaseUrl}${$d[b.app].getOne}`;return b.app==="konnect"?D=D.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(D=D.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),D=D.replace(/{id}/gi,String(Y)),D},T=t.computed(()=>{const Y=(A.value||[]).map(D=>({label:D.id,name:D.name,value:D.id,type:D.type,tag:U0(D)})).filter(D=>D.type==="redis-ce"||D.type==="redis-ee");return c!=="all"?Y.filter(D=>D.type===c):Y}),{axiosInstance:k}=be.useAxios(b==null?void 0:b.axiosRequestConfig),G=()=>{f.value?(y.value&&(_.value=y.value,g.value=y.value[0].id,w.value=void 0),w!=null&&w.value&&(h.value=w.value)):(Object.keys(h.value).length&&(w.value=h.value),_!=null&&_.value&&(y.value=_.value),_.value=l?null:void 0)},S=Y=>{C(),o("globalAction","notify",Y)},L=Y=>{o("globalAction","notify",Y)},F=async Y=>{if(Y){g.value=Y,_.value=[{id:Y}],y.value=[{id:Y}],w.value=void 0;try{const D=await k.get(P(Y));if(D.data.config){const M=Object.assign(D.data,D.data.config);delete M.config,u.value=M}}catch(D){console.error(D)}}};return t.watch(()=>f.value,()=>{G()}),t.onBeforeMount(()=>{var Y;if(C(),i.defaultRedisConfigItem||_!=null&&_.value){const D=i.defaultRedisConfigItem||((Y=_==null?void 0:_.value)==null?void 0:Y[0].id);F(D),f.value=!0}else w!=null&&w.value&&(h.value=w.value)}),(Y,D)=>{const M=t.resolveComponent("KBadge"),v=t.resolveComponent("KRadio"),B=t.resolveComponent("KSelect"),W=t.resolveComponent("KCard");return d.value?(t.openBlock(),t.createBlock(W,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",TC,[t.createVNode(v,{modelValue:f.value,"onUpdate:modelValue":D[0]||(D[0]=X=>f.value=X),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(M,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(v,{modelValue:f.value,"onUpdate:modelValue":D[1]||(D[1]=X=>f.value=X),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),f.value?(t.openBlock(),t.createElementBlock("div",OC,[t.createElementVNode("div",$C,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",BC,[t.createVNode(B,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:T.value,loading:t.unref(N),"model-value":g.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:D[3]||(D[3]=X=>F(X==null?void 0:X.value)),onQueryChange:t.unref(x)},{"selected-item-template":t.withCtx(({item:X})=>[t.createElementVNode("div",VC,t.toDisplayString(X.name),1)]),"item-template":t.withCtx(({item:X})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${X.name}`},[t.createElementVNode("span",RC,t.toDisplayString(X.name),1),t.createVNode(M,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(X.tag),1)]),_:2},1024)],8,DC)]),empty:t.withCtx(()=>[t.createElementVNode("div",MC,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:D[2]||(D[2]=()=>p.value=!0)},[t.createVNode(t.unref(xe.AddIcon),{size:t.unref(ir)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(j0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),u.value?(t.openBlock(),t.createBlock(cC,{key:0,"config-fields":u.value},null,8,["config-fields"])):t.createCommentVNode("",!0),I.value?(t.openBlock(),t.createElementBlock("p",FC,t.toDisplayString(I.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(At,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(Bd),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(dC,{"partial-type":t.unref(c),visible:p.value,onModalClose:D[4]||(D[4]=X=>p.value=!1),onPartialUpdateFailed:L,onPartialUpdated:S},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(At,t.mergeProps({key:1},i,{"fields-order":t.unref(Bd),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-2148fcde"]]),KC=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=Ge();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(Sd,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(UC,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),jC=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change","globalAction"],setup(e,{emit:n}){const o=n,r={hasValue:a=>!!(a!=null&&a.config)};function i(a){var l;((l=a.config)==null?void 0:l.namespace)===null&&delete a.config.namespace,o("change",a)}return(a,l)=>(t.openBlock(),t.createBlock(Et,{config:r,data:e.data,schema:e.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Jk),t.createVNode(eC)]),_:1}),t.createVNode(ri,null,{default:t.withCtx(()=>[t.createVNode(bt,{name:"config.dictionary_name"}),t.createVNode(bt,{name:"config.lock_dictionary_name"}),t.createVNode(bt,{name:"config.strategy"}),t.createVNode(KC,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(bt,{name:"config.namespace"}),t.createVNode(bt,{name:"config.hide_client_headers"}),t.createVNode(bt,{name:"config.disable_penalty"}),t.createVNode(bt,{name:"config.retry_after_jitter_max"}),t.createVNode(bt,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),GC=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},emits:["globalAction"],setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(jC,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),ol=t.defineComponent({__name:"VFGField",props:{formOptions:{},vfgSchema:{}},setup(e){const n=Symbol("rawTagsString"),{formData:o,getSchema:r}=Ge(),i=t.computed(()=>{const l={};return e.vfgSchema.fields.forEach(s=>{s.type==="AutoSuggest"?o[s.model.split("-")[0]]&&(l[s.model]=o[s.model.split("-")[0]].id):s.model==="tags"&&o[s.model]?l[s.model]=o[s.model][n]??o[s.model].join(", "):l[s.model]=o[s.model]}),l});function a(l,s){const c=s.split("-")[0],d=r(c);if(!d)throw new Error(`Field schema not found for path: ${c}`);if(d.type==="foreign")o[c]=l?{id:l}:null;else if(c==="tags"){const p=l.split(",").map(u=>u.trim()).filter(Boolean);o[c]=p,o[c][n]=l}else o[c]=l}return(l,s)=>(t.openBlock(),t.createBlock(t.unref(Le.VueFormGenerator),{model:i.value,options:e.formOptions,schema:e.vfgSchema,onModelUpdated:a},null,8,["model","options","schema"]))}}),qC={class:"enabled"},zC={class:"scope"},HC={key:0,class:"scope-detail"},Vd=ve(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{default:"form"},formConfig:{}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=t.createPropsRestProxy(e,["editorMode"]),r=t.useSlots(),i=t.computed(()=>o.formConfig??{hasValue:C=>!!C&&Object.keys(C).length>0}),a=t.computed(()=>{var C;return{fields:(C=o.formSchema)==null?void 0:C.fields.filter(A=>A.model==="enabled")}}),l=t.computed(()=>{var C;return(C=o.formSchema)==null?void 0:C.fields.find(A=>A.model==="selectionGroup")}),s=t.computed(()=>(l.value.fields||[]).map(({label:C,description:A})=>({label:C,description:A}))),c=t.computed(()=>l.value.fields[1]),d=t.computed(()=>{var A;const C=["instance_name","protocols","tags"];return{fields:(A=o.formSchema)==null?void 0:A.fields.filter(I=>C.includes(I.model))}}),p=["config"],u=t.computed(()=>{const C={type:"record",fields:o.schema.fields.filter(I=>p.includes(Object.keys(I)[0]))};return[...a.value.fields,...c.value.fields,...d.value.fields].forEach(I=>{if(I.type==="AutoSuggest")C.fields.push({[I.model.split("-")[0]]:{type:"foreign",reference:I.entity,description:I.help}});else if(I.model==="enabled")C.fields.push({[I.model]:{type:"boolean",default:!0}});else if(I.model==="instance_name")C.fields.push({[I.model]:{type:"string",description:I.help}});else if(I.model==="protocols")C.fields.push({[I.model]:{type:"set",elements:{type:"string",one_of:I.values.map(P=>P.value)},default:[...I.default]}});else if(I.model==="tags")C.fields.push({[I.model]:{type:"set",elements:{type:"string"}}});else throw new Error(`Unsupported VFG field type '${I.type}' for model '${I.model}'`)}),C}),f=t.computed(()=>{const C=["config","partials","__ui_data","enabled","protocols","instance_name","tags","consumer","consumer_group","route","service"];return Ka(o.model,C)}),m=t.computed(()=>c.value.fields.map(C=>C.model.split("-")[0])),g=t.ref(Ka(f.value,m.value)),h=t.ref(Object.values(g.value).some(E)),y=t.ref(!0),_=t.useTemplateRef("form");let w=!1;function b(){if(!_.value)return;const{getInnerData:C,setInnerData:A}=_.value,P={...C()};h.value?m.value.forEach(T=>{P[T]=g.value[T]??null}):m.value.forEach(T=>{P[T]=null}),w=!0,A(P),t.nextTick(()=>{w=!1})}function x(C){if(w||N(C),e.editorMode==="code"){const A=m.value.some(I=>E(C[I]));A!==h.value&&(h.value=A)}o.onFormChange(C)}function N(C){m.value.forEach(A=>{const I=C[A];ld(I,"id")&&I.id!=null?g.value[A]=I:g.value[A]=null})}function E(C){return ld(C,"id")&&C.id!=null}return(C,A)=>{const I=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(Et,{ref:"form",class:"ff-standard-layout",config:i.value,data:f.value,schema:u.value,tag:"div",onChange:x},{default:t.withCtx(()=>[e.editorMode==="form"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(t.unref(be.EntityFormBlock),{description:e.generalInfoDescription??t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:e.generalInfoTitle??t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",qC,[t.createVNode(ol,{"form-options":e.formOptions,"vfg-schema":a.value},null,8,["form-options","vfg-schema"])]),t.createElementVNode("div",zC,[t.createVNode(t.unref(Be.KRadio),t.mergeProps({modelValue:h.value,"onUpdate:modelValue":A[0]||(A[0]=P=>h.value=P),card:"","card-orientation":"horizontal"},s.value[0],{"selected-value":!1,"onUpdate:modelValue":b}),null,16,["modelValue"]),t.createVNode(t.unref(Be.KRadio),t.mergeProps({modelValue:h.value,"onUpdate:modelValue":A[1]||(A[1]=P=>h.value=P),card:"","card-orientation":"horizontal"},s.value[1],{"selected-value":!0,"onUpdate:modelValue":b}),null,16,["modelValue"])]),h.value?(t.openBlock(),t.createElementBlock("div",HC,[t.createVNode(ol,{"form-options":e.formOptions,"vfg-schema":c.value},null,8,["form-options","vfg-schema"])])):t.createCommentVNode("",!0),t.createVNode(I,{modelValue:y.value,"onUpdate:modelValue":A[2]||(A[2]=P=>y.value=P),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(ol,{"form-options":e.formOptions,"vfg-schema":d.value},null,8,["form-options","vfg-schema"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(be.EntityFormBlock),{description:e.pluginConfigDescription??t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:e.pluginConfigTitle??t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(C.$slots,"default",{},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])],64)):t.renderSlot(C.$slots,"code-editor",{key:1},void 0,!0)]),_:3},8,["config","data","schema"])}}}),[["__scopeId","data-v-ede692d7"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Dd(e){return typeof e>"u"||e===null}function YC(e){return typeof e=="object"&&e!==null}function WC(e){return Array.isArray(e)?e:Dd(e)?[]:[e]}function XC(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function ZC(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function JC(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var QC=Dd,eE=YC,tE=WC,nE=ZC,oE=JC,rE=XC,dt={isNothing:QC,isObject:eE,toArray:tE,repeat:nE,isNegativeZero:oE,extend:rE};function Rd(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
14
14
|
|
|
15
|
-
`+e.mark.snippet),r+" "+o):r}function ar(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Rd(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ar.prototype=Object.create(Error.prototype),ar.prototype.constructor=ar,ar.prototype.toString=function(n){return this.name+": "+Rd(this,n)};var Nt=ar;function rl(e,n,o,r,i){var a="",l="",s=Math.floor(i/2)-1;return r-n>s&&(a=" ... ",n=r-s+a.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:a+e.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+a.length}}function il(e,n){return
|
|
16
|
-
`+s;for(d=rl(e.buffer,r[l],i[l],e.position,u),s+=
|
|
17
|
-
`,s+=
|
|
18
|
-
`,c=1;c<=n.linesAfter&&!(l+c>=i.length);c++)d=rl(e.buffer,r[l+c],i[l+c],e.position-(r[l]-r[l+c]),u),s+=
|
|
19
|
-
`;return s.replace(/\n$/,"")}var aE=iE,lE=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],sE=["scalar","sequence","mapping"];function cE(e){var n={};return e!==null&&Object.keys(e).forEach(function(o){e[o].forEach(function(r){n[String(r)]=o})}),n}function dE(e,n){if(n=n||{},Object.keys(n).forEach(function(o){if(lE.indexOf(o)===-1)throw new Nt('Unknown option "'+o+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(o){return o},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=cE(n.styleAliases||null),sE.indexOf(this.kind)===-1)throw new Nt('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var
|
|
20
|
-
\r`;function BE(e){if(e===null)return!1;var n,o,r=0,i=e.length,a=ll;for(o=0;o<i;o++)if(n=a.indexOf(e.charAt(o)),!(n>64)){if(n<0)return!1;r+=6}return r%8===0}function VE(e){var n,o,r=e.replace(/[\r\n=]/g,""),i=r.length,a=ll,l=0,s=[];for(n=0;n<i;n++)n%4===0&&n&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|a.indexOf(r.charAt(n));return o=i%4*6,o===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):o===18?(s.push(l>>10&255),s.push(l>>2&255)):o===12&&s.push(l>>4&255),new Uint8Array(s)}function DE(e){var n="",o=0,r,i,a=e.length,l=ll;for(r=0;r<a;r++)r%3===0&&r&&(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]),o=(o<<8)+e[r];return i=a%3,i===0?(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]):i===2?(n+=l[o>>10&63],n+=l[o>>4&63],n+=l[o<<2&63],n+=l[64]):i===1&&(n+=l[o>>2&63],n+=l[o<<4&63],n+=l[64],n+=l[64]),n}function RE(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var eu=new
|
|
21
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function tN(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}for(var uu=new Array(256),fu=new Array(256),vo=0;vo<256;vo++)uu[vo]=du(vo)?1:0,fu[vo]=du(vo);function nN(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||sl,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function pu(e,n){var o={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return o.snippet=aE(o),new Nt(n,o)}function
|
|
22
|
-
`,n-1))}function oN(e,n,o){var r,i,a,l,s,c,d,p,u=e.kind,f=e.result,m;if(m=e.input.charCodeAt(e.position),It(m)||So(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=e.input.charCodeAt(e.position+1),It(i)||o&&So(i)))return!1;for(e.kind="scalar",e.result="",a=l=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),It(i)||o&&So(i))break}else if(m===35){if(r=e.input.charCodeAt(e.position-1),It(r))break}else{if(e.position===e.lineStart&&di(e)||o&&So(m))break;if(Jt(m))if(c=e.line,d=e.lineStart,p=e.lineIndent,
|
|
15
|
+
`+e.mark.snippet),r+" "+o):r}function ar(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Rd(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ar.prototype=Object.create(Error.prototype),ar.prototype.constructor=ar,ar.prototype.toString=function(n){return this.name+": "+Rd(this,n)};var Nt=ar;function rl(e,n,o,r,i){var a="",l="",s=Math.floor(i/2)-1;return r-n>s&&(a=" ... ",n=r-s+a.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:a+e.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+a.length}}function il(e,n){return dt.repeat(" ",n-e.length)+e}function iE(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var o=/\r?\n|\r|\0/g,r=[0],i=[],a,l=-1;a=o.exec(e.buffer);)i.push(a.index),r.push(a.index+a[0].length),e.position<=a.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,d,p=Math.min(e.line+n.linesAfter,i.length).toString().length,u=n.maxLength-(n.indent+p+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)d=rl(e.buffer,r[l-c],i[l-c],e.position-(r[l]-r[l-c]),u),s=dt.repeat(" ",n.indent)+il((e.line-c+1).toString(),p)+" | "+d.str+`
|
|
16
|
+
`+s;for(d=rl(e.buffer,r[l],i[l],e.position,u),s+=dt.repeat(" ",n.indent)+il((e.line+1).toString(),p)+" | "+d.str+`
|
|
17
|
+
`,s+=dt.repeat("-",n.indent+p+3+d.pos)+`^
|
|
18
|
+
`,c=1;c<=n.linesAfter&&!(l+c>=i.length);c++)d=rl(e.buffer,r[l+c],i[l+c],e.position-(r[l]-r[l+c]),u),s+=dt.repeat(" ",n.indent)+il((e.line+c+1).toString(),p)+" | "+d.str+`
|
|
19
|
+
`;return s.replace(/\n$/,"")}var aE=iE,lE=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],sE=["scalar","sequence","mapping"];function cE(e){var n={};return e!==null&&Object.keys(e).forEach(function(o){e[o].forEach(function(r){n[String(r)]=o})}),n}function dE(e,n){if(n=n||{},Object.keys(n).forEach(function(o){if(lE.indexOf(o)===-1)throw new Nt('Unknown option "'+o+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(o){return o},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=cE(n.styleAliases||null),sE.indexOf(this.kind)===-1)throw new Nt('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var ht=dE;function Md(e,n){var o=[];return e[n].forEach(function(r){var i=o.length;o.forEach(function(a,l){a.tag===r.tag&&a.kind===r.kind&&a.multi===r.multi&&(i=l)}),o[i]=r}),o}function uE(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,o;function r(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(n=0,o=arguments.length;n<o;n+=1)arguments[n].forEach(r);return e}function al(e){return this.extend(e)}al.prototype.extend=function(n){var o=[],r=[];if(n instanceof ht)r.push(n);else if(Array.isArray(n))r=r.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(o=o.concat(n.implicit)),n.explicit&&(r=r.concat(n.explicit));else throw new Nt("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");o.forEach(function(a){if(!(a instanceof ht))throw new Nt("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new Nt("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new Nt("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(a){if(!(a instanceof ht))throw new Nt("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(al.prototype);return i.implicit=(this.implicit||[]).concat(o),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=Md(i,"implicit"),i.compiledExplicit=Md(i,"explicit"),i.compiledTypeMap=uE(i.compiledImplicit,i.compiledExplicit),i};var Fd=al,Ld=new ht("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Ud=new ht("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Kd=new ht("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),jd=new Fd({explicit:[Ld,Ud,Kd]});function fE(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function pE(){return null}function mE(e){return e===null}var Gd=new ht("tag:yaml.org,2002:null",{kind:"scalar",resolve:fE,construct:pE,predicate:mE,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function gE(e){if(e===null)return!1;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function hE(e){return e==="true"||e==="True"||e==="TRUE"}function yE(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var qd=new ht("tag:yaml.org,2002:bool",{kind:"scalar",resolve:gE,construct:hE,predicate:yE,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function _E(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function bE(e){return 48<=e&&e<=55}function wE(e){return 48<=e&&e<=57}function kE(e){if(e===null)return!1;var n=e.length,o=0,r=!1,i;if(!n)return!1;if(i=e[o],(i==="-"||i==="+")&&(i=e[++o]),i==="0"){if(o+1===n)return!0;if(i=e[++o],i==="b"){for(o++;o<n;o++)if(i=e[o],i!=="_"){if(i!=="0"&&i!=="1")return!1;r=!0}return r&&i!=="_"}if(i==="x"){for(o++;o<n;o++)if(i=e[o],i!=="_"){if(!_E(e.charCodeAt(o)))return!1;r=!0}return r&&i!=="_"}if(i==="o"){for(o++;o<n;o++)if(i=e[o],i!=="_"){if(!bE(e.charCodeAt(o)))return!1;r=!0}return r&&i!=="_"}}if(i==="_")return!1;for(;o<n;o++)if(i=e[o],i!=="_"){if(!wE(e.charCodeAt(o)))return!1;r=!0}return!(!r||i==="_")}function CE(e){var n=e,o=1,r;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),r=n[0],(r==="-"||r==="+")&&(r==="-"&&(o=-1),n=n.slice(1),r=n[0]),n==="0")return 0;if(r==="0"){if(n[1]==="b")return o*parseInt(n.slice(2),2);if(n[1]==="x")return o*parseInt(n.slice(2),16);if(n[1]==="o")return o*parseInt(n.slice(2),8)}return o*parseInt(n,10)}function EE(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!dt.isNegativeZero(e)}var zd=new ht("tag:yaml.org,2002:int",{kind:"scalar",resolve:kE,construct:CE,predicate:EE,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),NE=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function xE(e){return!(e===null||!NE.test(e)||e[e.length-1]==="_")}function SE(e){var n,o;return n=e.replace(/_/g,"").toLowerCase(),o=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:o*parseFloat(n,10)}var vE=/^[-+]?[0-9]+e/;function AE(e,n){var o;if(isNaN(e))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(dt.isNegativeZero(e))return"-0.0";return o=e.toString(10),vE.test(o)?o.replace("e",".e"):o}function IE(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||dt.isNegativeZero(e))}var Hd=new ht("tag:yaml.org,2002:float",{kind:"scalar",resolve:xE,construct:SE,predicate:IE,represent:AE,defaultStyle:"lowercase"}),Yd=jd.extend({implicit:[Gd,qd,zd,Hd]}),Wd=Yd,Xd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Zd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function PE(e){return e===null?!1:Xd.exec(e)!==null||Zd.exec(e)!==null}function TE(e){var n,o,r,i,a,l,s,c=0,d=null,p,u,f;if(n=Xd.exec(e),n===null&&(n=Zd.exec(e)),n===null)throw new Error("Date resolve error");if(o=+n[1],r=+n[2]-1,i=+n[3],!n[4])return new Date(Date.UTC(o,r,i));if(a=+n[4],l=+n[5],s=+n[6],n[7]){for(c=n[7].slice(0,3);c.length<3;)c+="0";c=+c}return n[9]&&(p=+n[10],u=+(n[11]||0),d=(p*60+u)*6e4,n[9]==="-"&&(d=-d)),f=new Date(Date.UTC(o,r,i,a,l,s,c)),d&&f.setTime(f.getTime()-d),f}function OE(e){return e.toISOString()}var Jd=new ht("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:PE,construct:TE,instanceOf:Date,represent:OE});function $E(e){return e==="<<"||e===null}var Qd=new ht("tag:yaml.org,2002:merge",{kind:"scalar",resolve:$E}),ll=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
20
|
+
\r`;function BE(e){if(e===null)return!1;var n,o,r=0,i=e.length,a=ll;for(o=0;o<i;o++)if(n=a.indexOf(e.charAt(o)),!(n>64)){if(n<0)return!1;r+=6}return r%8===0}function VE(e){var n,o,r=e.replace(/[\r\n=]/g,""),i=r.length,a=ll,l=0,s=[];for(n=0;n<i;n++)n%4===0&&n&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|a.indexOf(r.charAt(n));return o=i%4*6,o===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):o===18?(s.push(l>>10&255),s.push(l>>2&255)):o===12&&s.push(l>>4&255),new Uint8Array(s)}function DE(e){var n="",o=0,r,i,a=e.length,l=ll;for(r=0;r<a;r++)r%3===0&&r&&(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]),o=(o<<8)+e[r];return i=a%3,i===0?(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]):i===2?(n+=l[o>>10&63],n+=l[o>>4&63],n+=l[o<<2&63],n+=l[64]):i===1&&(n+=l[o>>2&63],n+=l[o<<4&63],n+=l[64],n+=l[64]),n}function RE(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var eu=new ht("tag:yaml.org,2002:binary",{kind:"scalar",resolve:BE,construct:VE,predicate:RE,represent:DE}),ME=Object.prototype.hasOwnProperty,FE=Object.prototype.toString;function LE(e){if(e===null)return!0;var n=[],o,r,i,a,l,s=e;for(o=0,r=s.length;o<r;o+=1){if(i=s[o],l=!1,FE.call(i)!=="[object Object]")return!1;for(a in i)if(ME.call(i,a))if(!l)l=!0;else return!1;if(!l)return!1;if(n.indexOf(a)===-1)n.push(a);else return!1}return!0}function UE(e){return e!==null?e:[]}var tu=new ht("tag:yaml.org,2002:omap",{kind:"sequence",resolve:LE,construct:UE}),KE=Object.prototype.toString;function jE(e){if(e===null)return!0;var n,o,r,i,a,l=e;for(a=new Array(l.length),n=0,o=l.length;n<o;n+=1){if(r=l[n],KE.call(r)!=="[object Object]"||(i=Object.keys(r),i.length!==1))return!1;a[n]=[i[0],r[i[0]]]}return!0}function GE(e){if(e===null)return[];var n,o,r,i,a,l=e;for(a=new Array(l.length),n=0,o=l.length;n<o;n+=1)r=l[n],i=Object.keys(r),a[n]=[i[0],r[i[0]]];return a}var nu=new ht("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:jE,construct:GE}),qE=Object.prototype.hasOwnProperty;function zE(e){if(e===null)return!0;var n,o=e;for(n in o)if(qE.call(o,n)&&o[n]!==null)return!1;return!0}function HE(e){return e!==null?e:{}}var ou=new ht("tag:yaml.org,2002:set",{kind:"mapping",resolve:zE,construct:HE}),sl=Wd.extend({implicit:[Jd,Qd],explicit:[eu,tu,nu,ou]}),Cn=Object.prototype.hasOwnProperty,li=1,ru=2,iu=3,si=4,cl=1,YE=2,au=3,WE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XE=/[\x85\u2028\u2029]/,ZE=/[,\[\]\{\}]/,lu=/^(?:!|!!|![a-z\-]+!)$/i,su=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function cu(e){return Object.prototype.toString.call(e)}function Jt(e){return e===10||e===13}function Xn(e){return e===9||e===32}function It(e){return e===9||e===32||e===10||e===13}function So(e){return e===44||e===91||e===93||e===123||e===125}function JE(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function QE(e){return e===120?2:e===117?4:e===85?8:0}function eN(e){return 48<=e&&e<=57?e-48:-1}function du(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
21
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function tN(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}for(var uu=new Array(256),fu=new Array(256),vo=0;vo<256;vo++)uu[vo]=du(vo)?1:0,fu[vo]=du(vo);function nN(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||sl,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function pu(e,n){var o={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return o.snippet=aE(o),new Nt(n,o)}function Pe(e,n){throw pu(e,n)}function ci(e,n){e.onWarning&&e.onWarning.call(null,pu(e,n))}var mu={YAML:function(n,o,r){var i,a,l;n.version!==null&&Pe(n,"duplication of %YAML directive"),r.length!==1&&Pe(n,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),i===null&&Pe(n,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),l=parseInt(i[2],10),a!==1&&Pe(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=l<2,l!==1&&l!==2&&ci(n,"unsupported YAML version of the document")},TAG:function(n,o,r){var i,a;r.length!==2&&Pe(n,"TAG directive accepts exactly two arguments"),i=r[0],a=r[1],lu.test(i)||Pe(n,"ill-formed tag handle (first argument) of the TAG directive"),Cn.call(n.tagMap,i)&&Pe(n,'there is a previously declared suffix for "'+i+'" tag handle'),su.test(a)||Pe(n,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Pe(n,"tag prefix is malformed: "+a)}n.tagMap[i]=a}};function En(e,n,o,r){var i,a,l,s;if(n<o){if(s=e.input.slice(n,o),r)for(i=0,a=s.length;i<a;i+=1)l=s.charCodeAt(i),l===9||32<=l&&l<=1114111||Pe(e,"expected valid JSON character");else WE.test(s)&&Pe(e,"the stream contains non-printable characters");e.result+=s}}function gu(e,n,o,r){var i,a,l,s;for(dt.isObject(o)||Pe(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(o),l=0,s=i.length;l<s;l+=1)a=i[l],Cn.call(n,a)||(n[a]=o[a],r[a]=!0)}function Ao(e,n,o,r,i,a,l,s,c){var d,p;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),d=0,p=i.length;d<p;d+=1)Array.isArray(i[d])&&Pe(e,"nested arrays are not supported inside keys"),typeof i=="object"&&cu(i[d])==="[object Object]"&&(i[d]="[object Object]");if(typeof i=="object"&&cu(i)==="[object Object]"&&(i="[object Object]"),i=String(i),n===null&&(n={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(a))for(d=0,p=a.length;d<p;d+=1)gu(e,n,a[d],o);else gu(e,n,a,o);else!e.json&&!Cn.call(o,i)&&Cn.call(n,i)&&(e.line=l||e.line,e.lineStart=s||e.lineStart,e.position=c||e.position,Pe(e,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(n,i,{configurable:!0,enumerable:!0,writable:!0,value:a}):n[i]=a,delete o[i];return n}function dl(e){var n;n=e.input.charCodeAt(e.position),n===10?e.position++:n===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):Pe(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function it(e,n,o){for(var r=0,i=e.input.charCodeAt(e.position);i!==0;){for(;Xn(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(n&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(Jt(i))for(dl(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return o!==-1&&r!==0&&e.lineIndent<o&&ci(e,"deficient indentation"),r}function di(e){var n=e.position,o;return o=e.input.charCodeAt(n),!!((o===45||o===46)&&o===e.input.charCodeAt(n+1)&&o===e.input.charCodeAt(n+2)&&(n+=3,o=e.input.charCodeAt(n),o===0||It(o)))}function ul(e,n){n===1?e.result+=" ":n>1&&(e.result+=dt.repeat(`
|
|
22
|
+
`,n-1))}function oN(e,n,o){var r,i,a,l,s,c,d,p,u=e.kind,f=e.result,m;if(m=e.input.charCodeAt(e.position),It(m)||So(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=e.input.charCodeAt(e.position+1),It(i)||o&&So(i)))return!1;for(e.kind="scalar",e.result="",a=l=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),It(i)||o&&So(i))break}else if(m===35){if(r=e.input.charCodeAt(e.position-1),It(r))break}else{if(e.position===e.lineStart&&di(e)||o&&So(m))break;if(Jt(m))if(c=e.line,d=e.lineStart,p=e.lineIndent,it(e,!1,-1),e.lineIndent>=n){s=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=l,e.line=c,e.lineStart=d,e.lineIndent=p;break}}s&&(En(e,a,l,!1),ul(e,e.line-c),a=l=e.position,s=!1),Xn(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return En(e,a,l,!1),e.result?!0:(e.kind=u,e.result=f,!1)}function rN(e,n){var o,r,i;if(o=e.input.charCodeAt(e.position),o!==39)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(o=e.input.charCodeAt(e.position))!==0;)if(o===39)if(En(e,r,e.position,!0),o=e.input.charCodeAt(++e.position),o===39)r=e.position,e.position++,i=e.position;else return!0;else Jt(o)?(En(e,r,i,!0),ul(e,it(e,!1,n)),r=i=e.position):e.position===e.lineStart&&di(e)?Pe(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Pe(e,"unexpected end of the stream within a single quoted scalar")}function iN(e,n){var o,r,i,a,l,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,o=r=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return En(e,o,e.position,!0),e.position++,!0;if(s===92){if(En(e,o,e.position,!0),s=e.input.charCodeAt(++e.position),Jt(s))it(e,!1,n);else if(s<256&&uu[s])e.result+=fu[s],e.position++;else if((l=QE(s))>0){for(i=l,a=0;i>0;i--)s=e.input.charCodeAt(++e.position),(l=JE(s))>=0?a=(a<<4)+l:Pe(e,"expected hexadecimal character");e.result+=tN(a),e.position++}else Pe(e,"unknown escape sequence");o=r=e.position}else Jt(s)?(En(e,o,r,!0),ul(e,it(e,!1,n)),o=r=e.position):e.position===e.lineStart&&di(e)?Pe(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}Pe(e,"unexpected end of the stream within a double quoted scalar")}function aN(e,n){var o=!0,r,i,a,l=e.tag,s,c=e.anchor,d,p,u,f,m,g=Object.create(null),h,y,_,w;if(w=e.input.charCodeAt(e.position),w===91)p=93,m=!1,s=[];else if(w===123)p=125,m=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),w=e.input.charCodeAt(++e.position);w!==0;){if(it(e,!0,n),w=e.input.charCodeAt(e.position),w===p)return e.position++,e.tag=l,e.anchor=c,e.kind=m?"mapping":"sequence",e.result=s,!0;o?w===44&&Pe(e,"expected the node content, but found ','"):Pe(e,"missed comma between flow collection entries"),y=h=_=null,u=f=!1,w===63&&(d=e.input.charCodeAt(e.position+1),It(d)&&(u=f=!0,e.position++,it(e,!0,n))),r=e.line,i=e.lineStart,a=e.position,Io(e,n,li,!1,!0),y=e.tag,h=e.result,it(e,!0,n),w=e.input.charCodeAt(e.position),(f||e.line===r)&&w===58&&(u=!0,w=e.input.charCodeAt(++e.position),it(e,!0,n),Io(e,n,li,!1,!0),_=e.result),m?Ao(e,s,g,y,h,_,r,i,a):u?s.push(Ao(e,null,g,y,h,_,r,i,a)):s.push(h),it(e,!0,n),w=e.input.charCodeAt(e.position),w===44?(o=!0,w=e.input.charCodeAt(++e.position)):o=!1}Pe(e,"unexpected end of the stream within a flow collection")}function lN(e,n){var o,r,i=cl,a=!1,l=!1,s=n,c=0,d=!1,p,u;if(u=e.input.charCodeAt(e.position),u===124)r=!1;else if(u===62)r=!0;else return!1;for(e.kind="scalar",e.result="";u!==0;)if(u=e.input.charCodeAt(++e.position),u===43||u===45)cl===i?i=u===43?au:YE:Pe(e,"repeat of a chomping mode identifier");else if((p=eN(u))>=0)p===0?Pe(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Pe(e,"repeat of an indentation width identifier"):(s=n+p-1,l=!0);else break;if(Xn(u)){do u=e.input.charCodeAt(++e.position);while(Xn(u));if(u===35)do u=e.input.charCodeAt(++e.position);while(!Jt(u)&&u!==0)}for(;u!==0;){for(dl(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!l||e.lineIndent<s)&&u===32;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>s&&(s=e.lineIndent),Jt(u)){c++;continue}if(e.lineIndent<s){i===au?e.result+=dt.repeat(`
|
|
23
23
|
`,a?1+c:c):i===cl&&a&&(e.result+=`
|
|
24
|
-
`);break}for(r?Xn(u)?(d=!0,e.result+=
|
|
25
|
-
`,a?1+c:c)):d?(d=!1,e.result+=
|
|
26
|
-
`,c+1)):c===0?a&&(e.result+=" "):e.result+=
|
|
27
|
-
`,c):e.result+=
|
|
28
|
-
`,a?1+c:c),a=!0,l=!0,c=0,o=e.position;!Jt(u)&&u!==0;)u=e.input.charCodeAt(++e.position);En(e,o,e.position,!1)}return!0}function hu(e,n){var o,r=e.tag,i=e.anchor,a=[],l,s=!1,c;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),c=e.input.charCodeAt(e.position);c!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,
|
|
29
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var o=new nN(e,n),r=e.indexOf("\0");for(r!==-1&&(o.position=r,
|
|
24
|
+
`);break}for(r?Xn(u)?(d=!0,e.result+=dt.repeat(`
|
|
25
|
+
`,a?1+c:c)):d?(d=!1,e.result+=dt.repeat(`
|
|
26
|
+
`,c+1)):c===0?a&&(e.result+=" "):e.result+=dt.repeat(`
|
|
27
|
+
`,c):e.result+=dt.repeat(`
|
|
28
|
+
`,a?1+c:c),a=!0,l=!0,c=0,o=e.position;!Jt(u)&&u!==0;)u=e.input.charCodeAt(++e.position);En(e,o,e.position,!1)}return!0}function hu(e,n){var o,r=e.tag,i=e.anchor,a=[],l,s=!1,c;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),c=e.input.charCodeAt(e.position);c!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,Pe(e,"tab characters must not be used in indentation")),!(c!==45||(l=e.input.charCodeAt(e.position+1),!It(l))));){if(s=!0,e.position++,it(e,!0,-1)&&e.lineIndent<=n){a.push(null),c=e.input.charCodeAt(e.position);continue}if(o=e.line,Io(e,n,iu,!1,!0),a.push(e.result),it(e,!0,-1),c=e.input.charCodeAt(e.position),(e.line===o||e.lineIndent>n)&&c!==0)Pe(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return s?(e.tag=r,e.anchor=i,e.kind="sequence",e.result=a,!0):!1}function sN(e,n,o){var r,i,a,l,s,c,d=e.tag,p=e.anchor,u={},f=Object.create(null),m=null,g=null,h=null,y=!1,_=!1,w;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=u),w=e.input.charCodeAt(e.position);w!==0;){if(!y&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,Pe(e,"tab characters must not be used in indentation")),r=e.input.charCodeAt(e.position+1),a=e.line,(w===63||w===58)&&It(r))w===63?(y&&(Ao(e,u,f,m,g,null,l,s,c),m=g=h=null),_=!0,y=!0,i=!0):y?(y=!1,i=!0):Pe(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,w=r;else{if(l=e.line,s=e.lineStart,c=e.position,!Io(e,o,ru,!1,!0))break;if(e.line===a){for(w=e.input.charCodeAt(e.position);Xn(w);)w=e.input.charCodeAt(++e.position);if(w===58)w=e.input.charCodeAt(++e.position),It(w)||Pe(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(Ao(e,u,f,m,g,null,l,s,c),m=g=h=null),_=!0,y=!1,i=!1,m=e.tag,g=e.result;else if(_)Pe(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=d,e.anchor=p,!0}else if(_)Pe(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=d,e.anchor=p,!0}if((e.line===a||e.lineIndent>n)&&(y&&(l=e.line,s=e.lineStart,c=e.position),Io(e,n,si,!0,i)&&(y?g=e.result:h=e.result),y||(Ao(e,u,f,m,g,h,l,s,c),m=g=h=null),it(e,!0,-1),w=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>n)&&w!==0)Pe(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return y&&Ao(e,u,f,m,g,null,l,s,c),_&&(e.tag=d,e.anchor=p,e.kind="mapping",e.result=u),_}function cN(e){var n,o=!1,r=!1,i,a,l;if(l=e.input.charCodeAt(e.position),l!==33)return!1;if(e.tag!==null&&Pe(e,"duplication of a tag property"),l=e.input.charCodeAt(++e.position),l===60?(o=!0,l=e.input.charCodeAt(++e.position)):l===33?(r=!0,i="!!",l=e.input.charCodeAt(++e.position)):i="!",n=e.position,o){do l=e.input.charCodeAt(++e.position);while(l!==0&&l!==62);e.position<e.length?(a=e.input.slice(n,e.position),l=e.input.charCodeAt(++e.position)):Pe(e,"unexpected end of the stream within a verbatim tag")}else{for(;l!==0&&!It(l);)l===33&&(r?Pe(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(n-1,e.position+1),lu.test(i)||Pe(e,"named tag handle cannot contain such characters"),r=!0,n=e.position+1)),l=e.input.charCodeAt(++e.position);a=e.input.slice(n,e.position),ZE.test(a)&&Pe(e,"tag suffix cannot contain flow indicator characters")}a&&!su.test(a)&&Pe(e,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{Pe(e,"tag name is malformed: "+a)}return o?e.tag=a:Cn.call(e.tagMap,i)?e.tag=e.tagMap[i]+a:i==="!"?e.tag="!"+a:i==="!!"?e.tag="tag:yaml.org,2002:"+a:Pe(e,'undeclared tag handle "'+i+'"'),!0}function dN(e){var n,o;if(o=e.input.charCodeAt(e.position),o!==38)return!1;for(e.anchor!==null&&Pe(e,"duplication of an anchor property"),o=e.input.charCodeAt(++e.position),n=e.position;o!==0&&!It(o)&&!So(o);)o=e.input.charCodeAt(++e.position);return e.position===n&&Pe(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),!0}function uN(e){var n,o,r;if(r=e.input.charCodeAt(e.position),r!==42)return!1;for(r=e.input.charCodeAt(++e.position),n=e.position;r!==0&&!It(r)&&!So(r);)r=e.input.charCodeAt(++e.position);return e.position===n&&Pe(e,"name of an alias node must contain at least one character"),o=e.input.slice(n,e.position),Cn.call(e.anchorMap,o)||Pe(e,'unidentified alias "'+o+'"'),e.result=e.anchorMap[o],it(e,!0,-1),!0}function Io(e,n,o,r,i){var a,l,s,c=1,d=!1,p=!1,u,f,m,g,h,y;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=l=s=si===o||iu===o,r&&it(e,!0,-1)&&(d=!0,e.lineIndent>n?c=1:e.lineIndent===n?c=0:e.lineIndent<n&&(c=-1)),c===1)for(;cN(e)||dN(e);)it(e,!0,-1)?(d=!0,s=a,e.lineIndent>n?c=1:e.lineIndent===n?c=0:e.lineIndent<n&&(c=-1)):s=!1;if(s&&(s=d||i),(c===1||si===o)&&(li===o||ru===o?h=n:h=n+1,y=e.position-e.lineStart,c===1?s&&(hu(e,y)||sN(e,y,h))||aN(e,h)?p=!0:(l&&lN(e,h)||rN(e,h)||iN(e,h)?p=!0:uN(e)?(p=!0,(e.tag!==null||e.anchor!==null)&&Pe(e,"alias node should not have any properties")):oN(e,h,li===o)&&(p=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):c===0&&(p=s&&hu(e,y))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&Pe(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),u=0,f=e.implicitTypes.length;u<f;u+=1)if(g=e.implicitTypes[u],g.resolve(e.result)){e.result=g.construct(e.result),e.tag=g.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(Cn.call(e.typeMap[e.kind||"fallback"],e.tag))g=e.typeMap[e.kind||"fallback"][e.tag];else for(g=null,m=e.typeMap.multi[e.kind||"fallback"],u=0,f=m.length;u<f;u+=1)if(e.tag.slice(0,m[u].tag.length)===m[u].tag){g=m[u];break}g||Pe(e,"unknown tag !<"+e.tag+">"),e.result!==null&&g.kind!==e.kind&&Pe(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+g.kind+'", not "'+e.kind+'"'),g.resolve(e.result,e.tag)?(e.result=g.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Pe(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function fN(e){var n=e.position,o,r,i,a=!1,l;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(l=e.input.charCodeAt(e.position))!==0&&(it(e,!0,-1),l=e.input.charCodeAt(e.position),!(e.lineIndent>0||l!==37));){for(a=!0,l=e.input.charCodeAt(++e.position),o=e.position;l!==0&&!It(l);)l=e.input.charCodeAt(++e.position);for(r=e.input.slice(o,e.position),i=[],r.length<1&&Pe(e,"directive name must not be less than one character in length");l!==0;){for(;Xn(l);)l=e.input.charCodeAt(++e.position);if(l===35){do l=e.input.charCodeAt(++e.position);while(l!==0&&!Jt(l));break}if(Jt(l))break;for(o=e.position;l!==0&&!It(l);)l=e.input.charCodeAt(++e.position);i.push(e.input.slice(o,e.position))}l!==0&&dl(e),Cn.call(mu,r)?mu[r](e,r,i):ci(e,'unknown document directive "'+r+'"')}if(it(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,it(e,!0,-1)):a&&Pe(e,"directives end mark is expected"),Io(e,e.lineIndent-1,si,!1,!0),it(e,!0,-1),e.checkLineBreaks&&XE.test(e.input.slice(n,e.position))&&ci(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&di(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,it(e,!0,-1));return}if(e.position<e.length-1)Pe(e,"end of the stream or a document separator is expected");else return}function yu(e,n){e=String(e),n=n||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
29
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var o=new nN(e,n),r=e.indexOf("\0");for(r!==-1&&(o.position=r,Pe(o,"null byte is not allowed in input")),o.input+="\0";o.input.charCodeAt(o.position)===32;)o.lineIndent+=1,o.position+=1;for(;o.position<o.length-1;)fN(o);return o.documents}function pN(e,n,o){n!==null&&typeof n=="object"&&typeof o>"u"&&(o=n,n=null);var r=yu(e,o);if(typeof n!="function")return r;for(var i=0,a=r.length;i<a;i+=1)n(r[i])}function mN(e,n){var o=yu(e,n);if(o.length!==0){if(o.length===1)return o[0];throw new Nt("expected a single document in the stream, but found more")}}var gN=pN,hN=mN,_u={loadAll:gN,load:hN},bu=Object.prototype.toString,wu=Object.prototype.hasOwnProperty,fl=65279,yN=9,lr=10,_N=13,bN=32,wN=33,kN=34,pl=35,CN=37,EN=38,NN=39,xN=42,ku=44,SN=45,ui=58,vN=61,AN=62,IN=63,PN=64,Cu=91,Eu=93,TN=96,Nu=123,ON=124,xu=125,wt={};wt[0]="\\0",wt[7]="\\a",wt[8]="\\b",wt[9]="\\t",wt[10]="\\n",wt[11]="\\v",wt[12]="\\f",wt[13]="\\r",wt[27]="\\e",wt[34]='\\"',wt[92]="\\\\",wt[133]="\\N",wt[160]="\\_",wt[8232]="\\L",wt[8233]="\\P";var $N=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],BN=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function VN(e,n){var o,r,i,a,l,s,c;if(n===null)return{};for(o={},r=Object.keys(n),i=0,a=r.length;i<a;i+=1)l=r[i],s=String(n[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),c=e.compiledTypeMap.fallback[l],c&&wu.call(c.styleAliases,s)&&(s=c.styleAliases[s]),o[l]=s;return o}function DN(e){var n,o,r;if(n=e.toString(16).toUpperCase(),e<=255)o="x",r=2;else if(e<=65535)o="u",r=4;else if(e<=4294967295)o="U",r=8;else throw new Nt("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+o+dt.repeat("0",r-n.length)+n}var RN=1,sr=2;function MN(e){this.schema=e.schema||sl,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=dt.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=VN(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?sr:RN,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Su(e,n){for(var o=dt.repeat(" ",n),r=0,i=-1,a="",l,s=e.length;r<s;)i=e.indexOf(`
|
|
30
30
|
`,r),i===-1?(l=e.slice(r),r=s):(l=e.slice(r,i+1),r=i+1),l.length&&l!==`
|
|
31
31
|
`&&(a+=o),a+=l;return a}function ml(e,n){return`
|
|
32
|
-
`+
|
|
32
|
+
`+dt.repeat(" ",e.indent*n)}function FN(e,n){var o,r,i;for(o=0,r=e.implicitTypes.length;o<r;o+=1)if(i=e.implicitTypes[o],i.resolve(n))return!0;return!1}function fi(e){return e===bN||e===yN}function cr(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==fl||65536<=e&&e<=1114111}function vu(e){return cr(e)&&e!==fl&&e!==_N&&e!==lr}function Au(e,n,o){var r=vu(e),i=r&&!fi(e);return(o?r:r&&e!==ku&&e!==Cu&&e!==Eu&&e!==Nu&&e!==xu)&&e!==pl&&!(n===ui&&!i)||vu(n)&&!fi(n)&&e===pl||n===ui&&i}function LN(e){return cr(e)&&e!==fl&&!fi(e)&&e!==SN&&e!==IN&&e!==ui&&e!==ku&&e!==Cu&&e!==Eu&&e!==Nu&&e!==xu&&e!==pl&&e!==EN&&e!==xN&&e!==wN&&e!==ON&&e!==vN&&e!==AN&&e!==NN&&e!==kN&&e!==CN&&e!==PN&&e!==TN}function UN(e){return!fi(e)&&e!==ui}function dr(e,n){var o=e.charCodeAt(n),r;return o>=55296&&o<=56319&&n+1<e.length&&(r=e.charCodeAt(n+1),r>=56320&&r<=57343)?(o-55296)*1024+r-56320+65536:o}function Iu(e){var n=/^\n* /;return n.test(e)}var Pu=1,gl=2,Tu=3,Ou=4,Po=5;function KN(e,n,o,r,i,a,l,s){var c,d=0,p=null,u=!1,f=!1,m=r!==-1,g=-1,h=LN(dr(e,0))&&UN(dr(e,e.length-1));if(n||l)for(c=0;c<e.length;d>=65536?c+=2:c++){if(d=dr(e,c),!cr(d))return Po;h=h&&Au(d,p,s),p=d}else{for(c=0;c<e.length;d>=65536?c+=2:c++){if(d=dr(e,c),d===lr)u=!0,m&&(f=f||c-g-1>r&&e[g+1]!==" ",g=c);else if(!cr(d))return Po;h=h&&Au(d,p,s),p=d}f=f||m&&c-g-1>r&&e[g+1]!==" "}return!u&&!f?h&&!l&&!i(e)?Pu:a===sr?Po:gl:o>9&&Iu(e)?Po:l?a===sr?Po:gl:f?Ou:Tu}function jN(e,n,o,r,i){e.dump=function(){if(n.length===0)return e.quotingType===sr?'""':"''";if(!e.noCompatMode&&($N.indexOf(n)!==-1||BN.test(n)))return e.quotingType===sr?'"'+n+'"':"'"+n+"'";var a=e.indent*Math.max(1,o),l=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),s=r||e.flowLevel>-1&&o>=e.flowLevel;function c(d){return FN(e,d)}switch(KN(n,s,e.indent,l,c,e.quotingType,e.forceQuotes&&!r,i)){case Pu:return n;case gl:return"'"+n.replace(/'/g,"''")+"'";case Tu:return"|"+$u(n,e.indent)+Bu(Su(n,a));case Ou:return">"+$u(n,e.indent)+Bu(Su(GN(n,l),a));case Po:return'"'+qN(n)+'"';default:throw new Nt("impossible error: invalid scalar style")}}()}function $u(e,n){var o=Iu(e)?String(n):"",r=e[e.length-1]===`
|
|
33
33
|
`,i=r&&(e[e.length-2]===`
|
|
34
34
|
`||e===`
|
|
35
35
|
`),a=i?"+":r?"":"-";return o+a+`
|
|
@@ -41,7 +41,7 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
|
|
|
41
41
|
`+e.slice(i,a),i=a+1),l=s;return c+=`
|
|
42
42
|
`,e.length-i>n&&l>i?c+=e.slice(i,l)+`
|
|
43
43
|
`+e.slice(l+1):c+=e.slice(i),c.slice(1)}function qN(e){for(var n="",o=0,r,i=0;i<e.length;o>=65536?i+=2:i++)o=dr(e,i),r=wt[o],!r&&cr(o)?(n+=e[i],o>=65536&&(n+=e[i+1])):n+=r||DN(o);return n}function zN(e,n,o){var r="",i=e.tag,a,l,s;for(a=0,l=o.length;a<l;a+=1)s=o[a],e.replacer&&(s=e.replacer.call(o,String(a),s)),(un(e,n,s,!1,!1)||typeof s>"u"&&un(e,n,null,!1,!1))&&(r!==""&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=i,e.dump="["+r+"]"}function Du(e,n,o,r){var i="",a=e.tag,l,s,c;for(l=0,s=o.length;l<s;l+=1)c=o[l],e.replacer&&(c=e.replacer.call(o,String(l),c)),(un(e,n+1,c,!0,!0,!1,!0)||typeof c>"u"&&un(e,n+1,null,!0,!0,!1,!0))&&((!r||i!=="")&&(i+=ml(e,n)),e.dump&&lr===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=a,e.dump=i||"[]"}function HN(e,n,o){var r="",i=e.tag,a=Object.keys(o),l,s,c,d,p;for(l=0,s=a.length;l<s;l+=1)p="",r!==""&&(p+=", "),e.condenseFlow&&(p+='"'),c=a[l],d=o[c],e.replacer&&(d=e.replacer.call(o,c,d)),un(e,n,c,!1,!1)&&(e.dump.length>1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),un(e,n,d,!1,!1)&&(p+=e.dump,r+=p));e.tag=i,e.dump="{"+r+"}"}function YN(e,n,o,r){var i="",a=e.tag,l=Object.keys(o),s,c,d,p,u,f;if(e.sortKeys===!0)l.sort();else if(typeof e.sortKeys=="function")l.sort(e.sortKeys);else if(e.sortKeys)throw new Nt("sortKeys must be a boolean or a function");for(s=0,c=l.length;s<c;s+=1)f="",(!r||i!=="")&&(f+=ml(e,n)),d=l[s],p=o[d],e.replacer&&(p=e.replacer.call(o,d,p)),un(e,n+1,d,!0,!0,!0)&&(u=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,u&&(e.dump&&lr===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=ml(e,n)),un(e,n+1,p,!0,u)&&(e.dump&&lr===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,i+=f));e.tag=a,e.dump=i||"{}"}function Ru(e,n,o){var r,i,a,l,s,c;for(i=o?e.explicitTypes:e.implicitTypes,a=0,l=i.length;a<l;a+=1)if(s=i[a],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof n=="object"&&n instanceof s.instanceOf)&&(!s.predicate||s.predicate(n))){if(o?s.multi&&s.representName?e.tag=s.representName(n):e.tag=s.tag:e.tag="?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,bu.call(s.represent)==="[object Function]")r=s.represent(n,c);else if(wu.call(s.represent,c))r=s.represent[c](n,c);else throw new Nt("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');e.dump=r}return!0}return!1}function un(e,n,o,r,i,a,l){e.tag=null,e.dump=o,Ru(e,o,!1)||Ru(e,o,!0);var s=bu.call(e.dump),c=r,d;r&&(r=e.flowLevel<0||e.flowLevel>n);var p=s==="[object Object]"||s==="[object Array]",u,f;if(p&&(u=e.duplicates.indexOf(o),f=u!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&n>0)&&(i=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(p&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),s==="[object Object]")r&&Object.keys(e.dump).length!==0?(YN(e,n,e.dump,i),f&&(e.dump="&ref_"+u+e.dump)):(HN(e,n,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(s==="[object Array]")r&&e.dump.length!==0?(e.noArrayIndent&&!l&&n>0?Du(e,n-1,e.dump,i):Du(e,n,e.dump,i),f&&(e.dump="&ref_"+u+e.dump)):(zN(e,n,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(s==="[object String]")e.tag!=="?"&&jN(e,e.dump,n,a,c);else{if(s==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new Nt("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(d=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?d="!"+d:d.slice(0,18)==="tag:yaml.org,2002:"?d="!!"+d.slice(18):d="!<"+d+">",e.dump=d+" "+e.dump)}return!0}function WN(e,n){var o=[],r=[],i,a;for(hl(e,o,r),i=0,a=r.length;i<a;i+=1)n.duplicates.push(o[r[i]]);n.usedDuplicates=new Array(a)}function hl(e,n,o){var r,i,a;if(e!==null&&typeof e=="object")if(i=n.indexOf(e),i!==-1)o.indexOf(i)===-1&&o.push(i);else if(n.push(e),Array.isArray(e))for(i=0,a=e.length;i<a;i+=1)hl(e[i],n,o);else for(r=Object.keys(e),i=0,a=r.length;i<a;i+=1)hl(e[r[i]],n,o)}function XN(e,n){n=n||{};var o=new MN(n);o.noRefs||WN(e,o);var r=e;return o.replacer&&(r=o.replacer.call({"":r},"",r)),un(o,0,r,!0,!0)?o.dump+`
|
|
44
|
-
`:""}var ZN=XN,JN={dump:ZN};function yl(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var QN=
|
|
44
|
+
`:""}var ZN=XN,JN={dump:ZN};function yl(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var QN=ht,e1=Fd,t1=jd,Nn=Yd,n1=Wd,o1=sl,r1=_u.load,i1=_u.loadAll,a1=JN.dump,l1=Nt,s1={binary:eu,float:Hd,map:Kd,null:Gd,pairs:nu,set:ou,timestamp:Jd,bool:qd,int:zd,merge:Qd,omap:tu,seq:Ud,str:Ld},c1=yl("safeLoad","load"),d1=yl("safeLoadAll","loadAll"),u1=yl("safeDump","dump"),xn={Type:QN,Schema:e1,FAILSAFE_SCHEMA:t1,JSON_SCHEMA:Nn,CORE_SCHEMA:n1,DEFAULT_SCHEMA:o1,load:r1,loadAll:i1,dump:a1,YAMLException:l1,types:s1,safeLoad:c1,safeLoadAll:d1,safeDump:u1};const _l=Object.freeze(Object.defineProperty({__proto__:null,authenticate:`nodes:
|
|
45
45
|
- name: STATIC_INPUTS
|
|
46
46
|
type: static
|
|
47
47
|
values:
|
|
@@ -115,13 +115,13 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
|
|
|
115
115
|
type: exit
|
|
116
116
|
input: API
|
|
117
117
|
status: 200
|
|
118
|
-
`},Symbol.toStringTag,{value:"Module"})),f1={class:"dk-code-editor"},p1={class:"examples-content"},m1={ref:"editor-root",class:"editor"},bl="YAML Syntax",Mu="datakit.insert-example",Fu=
|
|
119
|
-
`)[0],E=[{startLineNumber:b+1,startColumn:x+1,endLineNumber:b+1,endColumn:x+2,message:N,severity:Lr.MarkerSeverity.Error,source:bl}];Lr.editor.setModelMarkers(g,bl,E),s("error",N)}})}),t.onBeforeUnmount(()=>{var m;(m=p.value)==null||m.dispose()}),n({setExampleCode:u}),(m,g)=>(t.openBlock(),t.createElementBlock("div",f1,[t.createVNode(t.unref($e.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(xe.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",p1,[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(_l,(h,_)=>t.createVNode(t.unref($e.KButton),{key:_,appearance:"secondary",size:"small",onClick:y=>u(_)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)(`plugins.free-form.datakit.examples.${_}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createElementVNode("div",m1,null,512)]))}}),[["__scopeId","data-v-261c3a3c"]]),Lu=["request","service_request","service_response","response","vault"],Po=Lu,Uu=["call","jq","exit","property","static","branch","cache"],Ku=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],xt={call:{icon:xe.NetworkIcon,colors:{foreground:AC,background:hC}},jq:{icon:xe.CodeblockIcon,colors:{foreground:EC,background:fC}},exit:{icon:xe.GatewayIcon,colors:{foreground:nl,background:wC}},property:{icon:xe.StackIcon,colors:{foreground:SC,background:vC}},static:{icon:xe.VitalsIcon,colors:{foreground:NC,background:xC}},branch:{icon:xe.ArrowSplitIcon,colors:{foreground:kC,background:uC}},cache:{icon:xe.CachedIcon,colors:{foreground:CC,background:"#fff0f7"}},vault:{icon:xe.KeyIcon},request:{icon:xe.CloudIcon},service_request:{icon:xe.CloudIcon},service_response:{icon:xe.CloudIcon},response:{icon:xe.CloudIcon}},{t:wl}=Qe.createI18n("en-us",et);function Lt(e){return wl(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function Zn(e){return wl(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function g1(e){return wl(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const kl={call:{type:"call",summary:Zn("call"),description:Lt("call"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}},...xt.call},jq:{type:"jq",summary:Zn("jq"),description:Lt("jq"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...xt.jq},exit:{type:"exit",summary:Zn("exit"),description:Lt("exit"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...xt.exit},property:{type:"property",summary:Zn("property"),description:Lt("property"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...xt.property},static:{type:"static",summary:Zn("static"),description:Lt("static"),io:{output:{fields:[],configurable:!0}},...xt.static},branch:{type:"branch",summary:Zn("branch"),description:Lt("branch"),io:{input:{fields:[]},next:{branches:[{name:"then"},{name:"else"}]}},...xt.branch},cache:{type:"cache",summary:Zn("cache"),description:Lt("cache"),io:{input:{fields:[{name:"data"},{name:"key"},{name:"ttl"}]},output:{fields:[{name:"data"},{name:"hit"},{name:"miss"},{name:"stored"}]}},...xt.cache}},pi={request:{type:"request",description:Lt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...xt.request},service_request:{type:"service_request",description:Lt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...xt.service_request},service_response:{type:"service_response",description:Lt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...xt.service_response},response:{type:"response",description:Lt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...xt.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...xt.vault,hidden:!0}},Cl=Object.keys(pi),El=e=>Cl.includes(e),h1=e=>[...Cl,...Uu].includes(e),$t=e=>Cl.includes(e),Nl=e=>$t(e.type),ju=e=>!!(e!=null&&e.startsWith("node:")),ur=e=>Object.prototype.hasOwnProperty.call(e,"ownerId");function fn(e){return wo(e)}function xl(e,n){if(e.length!==n.length)return!1;if(e.length===0)return!0;const o=new Set(n);return e.every(r=>o.has(r))}function Oo(e){return`${e}:${ei()}`}function mi(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function Gu(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function $o(e){return $t(e)?pi[e]:kl[e]}function qu(e){var i,a,l,s;const n=$o(e),o=((a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields.map(({name:c})=>c))??[],r=((s=(l=n.io)==null?void 0:l.output)==null?void 0:s.fields.map(({name:c})=>c))??[];return{input:o,output:r}}function fr(e){var o,r,i;return((i=(r=(o=$o(e).io)==null?void 0:o.next)==null?void 0:r.branches)==null?void 0:i.map(({name:a})=>a))??[]}function zu(e){return(e??[]).map(n=>({id:Oo("field"),name:n}))}function Sn(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function vn(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function Sl(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function Hu(e,n){return n?e.fields.input.some(o=>o.id===n):!0}function y1(e){const n=["request","service_request","vault"].includes(e)?"request":"response",o=pi[e];return{name:e,phase:n,position:{x:0,y:0},fields:qu(o.type),expanded:{},hidden:o.hidden}}function Yu(e,n){const r=(typeof e=="string"&&h1(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${r}_${i}`;if(!n.has(a))return a}}function vl(e,n){return`${e}:${n}`}function _1(e){const n=e.lastIndexOf(":");if(n===-1)throw new Error(`Invalid group ID format: ${e}`);const o=e.slice(0,n),r=e.slice(n+1);return{nodeId:o,branch:r}}function gi(e,n){return`${e}:${n}`}function Wu(e,n,o,r,i){return{id:vl(e,n),ownerId:e,branch:n,phase:o,memberIds:[...r],position:i!=null&&i.position?{...i.position}:void 0,dimensions:i!=null&&i.dimensions?{...i.dimensions}:void 0}}function b1(e){return e.map(({source:n,target:o})=>({source:n,target:o}))}function w1(e){const n=[];for(const o of e)for(const r of o.memberIds)n.push({source:o.ownerId,target:r});return n}function Xu(e,n){return[...b1(e),...w1(n)]}function hi(e,n){const o=new Map;for(const{source:r,target:i}of e)o.has(r)||o.set(r,[]),o.get(r).push(i),o.has(i)||o.set(i,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}function Al(e){const n=new Set,o=new Set;function r(i){if(o.has(i))return!0;if(n.has(i))return!1;n.add(i),o.add(i);for(const a of e.get(i)??[])if(r(a))return!0;return o.delete(i),!1}for(const i of e.keys())if(r(i))return!0;return!1}function Il(e,n){const o=e.config;if(!o)return[];const r=o[n];return Array.isArray(r)?r.filter(i=>typeof i=="string"&&ju(i)):[]}function k1({state:e,groupMapById:n,getNodeById:o,history:r}){const i=t.computed(()=>{const I=new Map;for(const O of e.value.groups)for(const C of O.memberIds)I.set(C,{ownerId:O.ownerId,branch:O.branch});return I}),a=t.computed(()=>{const I=new Map;for(const O of e.value.groups)for(const C of O.memberIds)I.set(C,O);return I}),l=t.computed(()=>{const I=new Map;for(const O of e.value.groups)I.has(O.ownerId)||I.set(O.ownerId,[]),I.get(O.ownerId).push(O);return I}),s=t.computed(()=>Xu(e.value.edges,e.value.groups)),c=t.computed(()=>hi(s.value));function d(I,O){return I?fr(I.type).includes(O):!1}function p(I,O){if(O===I.id)return!1;const C=o(O);return!(!C||$t(C.type)||C.phase!==I.phase)}function u(I,O){const C=[],q=new Set;for(const S of O)q.has(S)||(q.add(S),p(I,S)&&C.push(S));return C}function f(I,O,C){const q=o(I);return d(q,O)?u(q,C):[]}function m(I,O,C){const q=vl(I.id,O),S=n.value.get(q);C.length>0?S?(S.phase!==I.phase&&(S.phase=I.phase),xl(S.memberIds,C)||(S.position=void 0,S.dimensions=void 0,S.memberIds=[...C])):e.value.groups.push(Wu(I.id,O,I.phase,C)):S&&(e.value.groups=e.value.groups.filter(K=>K.id!==q))}function g(I,O,C,q={}){const S=o(I);if(!d(S,O))return!1;const K=u(S,C),U=Il(S,O);if(xl(U,K))return!1;const ee=S.config??(S.config={});return K.length>0?ee[O]=[...K]:(delete ee[O],Object.keys(ee).length===0&&delete S.config),m(S,O,K),(q.commit??!0)&&r.commit(q.tag),!0}function h(I,O={}){const C=e.value.groups.filter(q=>q.ownerId!==I);return C.length===e.value.groups.length?!1:(e.value.groups=C,(O.commit??!0)&&r.commit(O.tag),!0)}function _(I,O){const C=n.value.get(vl(I,O));if(C)return[...C.memberIds];const q=o(I);return q?Il(q,O):[]}function y(I){return i.value.get(I)}function w(I){const O=[];let C=a.value.get(I);for(;C;)O.push(C.id),C=a.value.get(C.ownerId);return O}function b(I,O){const C=w(O);if(C.length===0)return!1;const q=new Set(w(I));return q.size===0?!0:C.some(S=>!q.has(S))}function x(I,O){if(I===O)return!0;const C=new Set,q=[O];for(;q.length>0;){const S=q.pop();if(C.has(S))continue;if(C.add(S),S===I)return!0;const K=c.value.get(S);if(K)for(const U of K)C.has(U)||q.push(U)}return!1}function N(I,O,C,q={}){const S=o(I);if(!S||!d(S,O)||!p(S,C)||x(I,C))return!1;const K=Il(S,O);if(K.includes(C))return!1;E(C,{commit:!1});const U=[...K,C];return g(I,O,U,{commit:!1})?((q.commit??!0)&&r.commit(q.tag),!0):!1}function E(I,O={}){const C=y(I);if(!C)return!1;const q=_(C.ownerId,C.branch),S=q.filter(K=>K!==I);return S.length===q.length?!1:g(C.ownerId,C.branch,S,O)}function k(I){let O=0;const C=new Set;let q=a.value.get(I);for(;q&&!C.has(q.id);)O+=1,C.add(q.id),q=a.value.get(q.ownerId);return O}function A(I){const O=n.value.get(I);return O?k(O.ownerId):0}function T(I){return I?n.value.has(I):!1}return{memberGroupMap:a,groupsByOwner:l,findMembership:y,getMembers:_,wouldCreateCycle:x,setMembers:g,prepareMembers:f,addMember:N,removeMember:E,clear:h,getNodeDepth:k,getGroupDepth:A,isGroupId:T,isEdgeEnteringGroup:b}}function C1(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d,redoStack:p}=Ye.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let u;function f(b){var x;(x=n==null?void 0:n.onHistoryChange)==null||x.call(n,b,e.value)}function m(b){if(!b){u=void 0,o(),f("commit");return}if(b!=="*"&&u!==b){u=b,o(),f("commit");return}o(),d.value.shift(),f("commit")}function g(){r(),u=void 0,f("undo")}function h(){i(),u=void 0,f("redo")}function _(){s(),u=void 0,f("clear")}function y(){c(),u=void 0,f("reset")}function w(){r(),p.value.shift(),u=void 0,f("revert")}return{canUndo:a,canRedo:l,commit:m,undo:g,redo:h,clear:_,reset:y,revert:w}}function E1(e){var n,o;return((o=(n=e.config)==null?void 0:n.resources)==null?void 0:o.vault)||{}}function N1(e){const{resources:n}=e.config||{};return n!=null&&n.vault?Object.keys(n.vault):[]}function x1(e){const n=Object.entries(e);if(n.length===0)return;const o={};for(const[r,i]of n)o[r]=i;return o}function Zu(e,n){var _,y,w,b,x,N,E;const o=((_=e.config)==null?void 0:_.nodes)??[],r=((y=e.__ui_data)==null?void 0:y.nodes)??[],i=((w=e.__ui_data)==null?void 0:w.groups)??[],a=new Map(r.map(k=>[k.name,k])),l=new Map(i.map(k=>[k.name,k])),s=[],c=[],d=new Map,p=[],u=[],f=new Map,m=k=>{const A=new Set,T=[...k];for(;T.length>0;){const I=T.shift();if(!A.has(I)&&(A.add(I),El(I)||(d.get(I).phase="request"),!!f.has(I)))for(const O of f.get(I))A.has(O)||T.push(O)}};let g=!1;for(const k of o){const A=a.get(k.name);!A&&!g&&(g=!0);const T=Qu({type:k.type,configNode:k,uiNode:A,pluginData:e});s.push(T),d.set(T.name,T)}for(const k of s){const A=fr(k.type);if(!A.length)continue;const T=k.config;if(T)for(const I of A){const O=T[I];if(!Array.isArray(O)){l.has(gi(k.name,I))&&(g=!0);continue}const C=[];for(const q of O){if(typeof q!="string")continue;const S=d.get(q);S&&!$t(S.type)&&C.push(S.id)}if(C.length){T[I]=C;const q=gi(k.name,I),S=l.get(q),K=S?{position:fn(S.position)}:void 0,U=Wu(k.id,I,k.phase,C,K);p.push(U),!S&&!g&&(g=!0)}else delete T[I],l.has(gi(k.name,I))&&(g=!0)}}for(const k of Po)if(!d.has(k)){let A=a.get(k);A||(g||(g=!0),A=y1(k));const T=Qu({type:k,uiNode:A,pluginData:e});s.push(T),d.set(T.name,T)}for(const k of o)A1(k,u);for(const k of u){const A=d.get(k.source),T=d.get(k.target);if(!A||!T){A||console.warn(`[initEditorState] skip: source "${k.source}" not found`),T||console.warn(`[initEditorState] skip: target "${k.target}" not found`);continue}f.has(k.source)||f.set(k.source,new Set),f.get(k.source).add(k.target),f.has(k.target)||f.set(k.target,new Set),f.get(k.target).add(k.source),c.push({id:Oo("edge"),source:A.id,sourceField:(b=Sn(A,"output",k.sourceField))==null?void 0:b.id,target:T.id,targetField:(x=Sn(T,"input",k.targetField))==null?void 0:x.id})}m(["request","service_request"]);let h=null;return(E=(N=e.config)==null?void 0:N.resources)!=null&&E.cache&&(h={...e.config.resources.cache},e.partials&&(h.partial_id=e.partials[0].id)),{nodes:s,edges:c,groups:p,pendingLayout:g?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,...h?{cacheConfig:h}:{}}}function Ju(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=qu(n),c=$o(n);return{id:Oo("node"),type:n,name:o??n,phase:r??"request",position:i??{x:0,y:0},expanded:{},fields:{input:zu((a==null?void 0:a.input)??s.input),output:zu((a==null?void 0:a.output)??s.output)},hidden:e.hidden||c.hidden,config:l?fn(l):{}}}function S1(e){return $t(e)?e==="request"||e==="service_request"?"request":"response":"request"}function Qu({type:e,configNode:n,uiNode:o,pluginData:r}){return Ju({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??S1(e),position:o==null?void 0:o.position,fields:I1({type:e,uiNode:o,configNode:n,pluginData:r}),hidden:o==null?void 0:o.hidden,config:T1({type:e,configNode:n,pluginData:r})})}function v1(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return fn(s)}function A1(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=mi(e.input);r&&n.push({source:r,sourceField:i,target:o})}if(e.inputs)for(const[r,i]of Object.entries(e.inputs)){if(!i)continue;const{nodeName:a,fieldName:l}=mi(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=mi(e.output);r&&n.push({source:o,target:r,targetField:i})}if(e.outputs)for(const[r,i]of Object.entries(e.outputs)){if(!i)continue;const{nodeName:a,fieldName:l}=mi(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function I1({type:e,uiNode:n,configNode:o,pluginData:r}){var s,c,d,p;const i=$o(e),a=i==null?void 0:i.io;if(!a)return;const l={};if((s=a.input)!=null&&s.configurable&&(n?l.input=((c=n.fields)==null?void 0:c.input)??[]:o!=null&&o.inputs&&(l.input=Object.keys(o.inputs))),(d=a.output)!=null&&d.configurable){if(n)l.output=((p=n.fields)==null?void 0:p.output)??[];else{const u=new Set;o!=null&&o.outputs&&Object.keys(o.outputs).forEach(f=>u.add(f)),(o==null?void 0:o.type)==="static"&&o.values&&Object.keys(o.values).forEach(f=>u.add(f)),u.size&&(l.output=Array.from(u))}e==="vault"&&(l.output=N1(r))}return Object.keys(l).length?l:void 0}function T1({type:e,configNode:n,pluginData:o}){return e==="vault"?E1(o):n?v1(n):void 0}function P1(e){const n=t.computed(()=>{const u=new Map;return e.value.nodes.forEach(f=>u.set(f.id,f)),u}),o=t.computed(()=>e.value.edges),r=t.computed(()=>e.value.groups),i=t.computed(()=>Xu(o.value,r.value));function a(u){return hi(i.value,u?{source:u.source,target:u.target}:void 0)}function l(u){const f=n.value.get(u.source),m=n.value.get(u.target);if(!f||!m)return u;const g=Hu(f,u.sourceField)&&!Sl(f,u.sourceField),h=Sl(m,u.targetField);return g&&h?{source:u.target,sourceField:u.targetField,target:u.source,targetField:u.sourceField}:u}function s(u){const f=l(u),m=[],g=n.value.get(f.source),h=n.value.get(f.target);if(g||m.push("source node not found"),h||m.push("target node not found"),!g||!h)return{ok:!1,errors:m};Sl(g,f.sourceField)||m.push("source handle is not an output field"),Hu(h,f.targetField)||m.push("target handle is not an input field"),h.name==="request"&&m.push('cannot target "request"'),g.name==="response"&&m.push('cannot source from "response"');const _=o.value.some(b=>b.target===f.target&&!b.targetField),y=o.value.some(b=>b.target===f.target&&!!b.targetField);(_&&f.targetField||y&&!f.targetField)&&m.push("cannot mix whole-node and field-level inputs on same target"),f.targetField&&o.value.some(b=>b.target===f.target&&b.targetField===f.targetField)&&m.push("target field already connected"),!f.targetField&&o.value.some(b=>b.target===f.target&&!b.targetField)&&m.push("target input already taken"),f.source===f.target&&m.push("self-loop not allowed");const w=a({source:f.source,target:f.target});return Al(w)&&m.push("connection introduces a cycle"),m.length?{ok:!1,errors:m}:{ok:!0}}function c(){const u=[];for(const f of Po)[...n.value.values()].some(m=>m.name===f)||u.push(`missing implicit node "${f}"`);for(const f of o.value){const m=n.value.get(f.source);n.value.get(f.target).name==="request"&&u.push(`edge "${f.id}" targets "request"`),m.name==="response"&&u.push(`edge "${f.id}" sources from "response"`)}return Al(a())&&u.push("graph contains cycle"),u.length?{ok:!1,errors:u}:{ok:!0}}function d(u){return s(u).ok}function p(u){return!u.source||!u.target?!1:d({source:u.source,sourceField:u.sourceHandle,target:u.target,targetField:u.targetHandle})}return{canonicalizeConnection:l,validateConnection:s,validateGraph:c,isValidConnection:d,isValidVueFlowConnection:p,buildAdjacency:hi}}const[ef,O1]=Ye.createInjectionState(function(n,o={}){const r=t.ref(Zu(n)),i=t.ref(),a=t.ref(!1),l=t.ref(!1),s=C1(r,{capacity:200,clone:fn,onHistoryChange:B=>{var P,oe;B!=="clear"&&((oe=o.onChange)==null||oe.call(o,F(),ie(),te(),(P=r.value.cacheConfig)==null?void 0:P.partial_id))}}),c=t.ref(!1),d=t.ref(new Set);function p(){r.value.pendingLayout=!1,s.commit("*")}function u(B=!0){r.value.pendingFitView!==B&&(r.value.pendingFitView=B,s.commit("*"))}const f=t.computed(()=>{const B={request:0,response:0};return r.value.nodes.forEach(P=>{$t(P.type)||B[P.phase]++}),B}),m=t.computed(()=>new Map(r.value.nodes.map(B=>[B.id,B]))),g=t.computed(()=>new Map(r.value.nodes.map(B=>[B.name,B]))),h=t.computed(()=>{const B=new Map,P=new Map;for(const oe of r.value.edges)B.set(oe.id,oe),P.has(oe.source)||P.set(oe.source,new Set),P.get(oe.source).add(oe.id),P.has(oe.target)||P.set(oe.target,new Set),P.get(oe.target).add(oe.id);return{edgeMapById:B,edgeIdMapByNodeId:P}}),_=t.computed(()=>h.value.edgeMapById),y=t.computed(()=>h.value.edgeIdMapByNodeId),w=t.computed(()=>new Map(r.value.groups.map(B=>[B.id,B]))),b=t.computed(()=>new Set(r.value.nodes.map(B=>B.name))),x=k1({state:r,groupMapById:w,getNodeById:I,history:s}),{canonicalizeConnection:N,validateConnection:E,validateGraph:k,isValidConnection:A,isValidVueFlowConnection:T}=P1(r);function I(B){return m.value.get(B)}function O(B){return g.value.get(B)}function C(B){return _.value.get(B)}function q(B){if(!y.value.has(B))return[];const P=[];return y.value.get(B).forEach(oe=>{const ne=C(oe);ne&&P.push(ne)}),P}function S(B){return q(B).filter(P=>P.target===B)}function K(B){return q(B).filter(P=>P.source===B)}const U=t.computed(()=>i.value?I(i.value):void 0);function ee(B){i.value=B}function Y(B){if($t(B.type))throw new Error("[createNode] implicit nodes are fixed.");return Ju({type:B.type,name:B.name||($t(B.type)?void 0:Yu(B.type,b.value)),phase:B.phase,position:B.position,fields:B.fields,config:B.config})}function M(B,P=!0){const oe=Y(B);if(oe)return r.value.nodes.push(oe),P&&s.commit(),c.value=!0,oe.id}function L(B,P,oe=!0){const ne=I(B);if(!ne||$t(ne.type))return;const pe={...fn(ne),id:Oo("node"),name:Yu(ne.name,b.value),position:P??{x:ne.position.x+20,y:ne.position.y+20}},be=fr(pe.type);if(be.length&&pe.config){for(const ae of be)delete pe.config[ae];Object.keys(pe.config).length===0&&delete pe.config}return r.value.nodes.push(pe),oe&&s.commit(),c.value=!0,pe.id}function v(B,P=!0){if(!I(B))return;r.value.edges=r.value.edges.filter(pe=>pe.source!==B&&pe.target!==B),x.clear(B,{commit:!1}),x.removeMember(B,{commit:!1}),r.value.nodes=r.value.nodes.filter(pe=>pe.id!==B),i.value===B&&(i.value=void 0);const ne=k();ne.ok||console.warn("[removeNode] topology invalid:",ne.errors.join("; ")),P&&s.commit()}function D(B,P,oe=!0,ne){const pe=I(B);if(!pe)return;if(El(pe.name)){console.warn("[renameNode] implicit node name is reserved.");return}pe.name!==P&&(pe.name=P,oe&&s.commit(ne))}function W(B,P,oe=!0){const ne=I(B);ne&&(ne.position={...P},oe&&s.commit())}function z(B,P,oe=!0){const ne=w.value.get(B);if(!ne)return;const pe=ne.position;pe&&pe.x===P.x&&pe.y===P.y||(ne.position={...P},oe&&s.commit())}function H(B,P,oe=!0){const ne=w.value.get(B);if(!ne)return!1;const pe={...P.position},be={...P.dimensions},ae=ne.position&&ne.position.x===pe.x&&ne.position.y===pe.y,Ne=ne.dimensions&&ne.dimensions.width===be.width&&ne.dimensions.height===be.height;return ae&&Ne?!1:(ne.position=pe,ne.dimensions=be,oe&&s.commit(),!0)}function Q(B,P,oe,ne=!0,pe){const be=I(B);if(!be)return;const ae=oe??!be.expanded[P];ae!==!!be.expanded[P]&&(be.expanded[P]=ae,ne&&s.commit(pe??`toggle:${B}:${P}`))}function le(B,P,oe=!0,ne){const pe=I(B);pe&&(pe.config=fn(P),oe&&s.commit(ne))}function _e(B,P,oe,ne=!0){const pe=I(B);if(!pe)return;const be=pe.fields[P];if(be.some(ae=>ae.name===oe)){console.warn(`[addField] field "${oe}" already exists on ${P}.`);return}be.push({id:Oo("field"),name:oe}),P==="input"?pe.fields.input=be:pe.fields.output=be,ne&&s.commit()}function Z(B,P,oe,ne=!0){const pe=I(B);if(!pe)return;const be=pe.fields.input,ae=pe.fields.output,Ne=be.find(Oe=>Oe.id===P)??ae.find(Oe=>Oe.id===P);Ne&&(Ne.name=oe,ne&&s.commit())}function re(B,P,oe=!0,ne=!0){const pe=I(B);if(!pe)return;const be=pe.fields.input,ae=pe.fields.output,Ne=be.findIndex(ge=>ge.id===P);Ne>=0&&be.splice(Ne,1);const Oe=ae.findIndex(ge=>ge.id===P);Oe>=0&&ae.splice(Oe,1),pe.fields.input=be,pe.fields.output=ae,oe&&(r.value.edges=r.value.edges.filter(ge=>ge.sourceField!==P&&ge.targetField!==P));const me=k();me.ok||console.warn("[removeField] topology invalid:",me.errors.join("; ")),ne&&s.commit()}function de(B,P=!0){const oe=N(B),ne=E(oe);if(!ne.ok){console.warn("[connectEdge] invalid connection:",ne.errors.join("; "));return}const pe={id:Oo("edge"),...oe};r.value.edges.push(pe);const be=k();if(!be.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",be.errors.join("; "));return}return P&&s.commit(),pe.id}function fe(B,P,oe=!0){ue(B,!1),de(P,!1),oe&&s.commit()}function ue(B,P=!0){const oe=r.value.edges.findIndex(be=>be.id===B);if(oe<0)return;const ne=r.value.edges[oe];r.value.edges.splice(oe,1);const pe=k();if(!pe.ok){r.value.edges.splice(oe,0,ne),console.warn("[disconnectEdge] topology invalid:",pe.errors.join("; "));return}P&&s.commit()}function $(B,P=!0){const oe=S(B);for(const ne of oe)ue(ne.id,!1);P&&s.commit()}function V(B,P=!0){const oe=K(B);for(const ne of oe)ue(ne.id,!1);P&&s.commit()}function F(){var P,oe,ne,pe,be;const B=[];for(const ae of r.value.nodes){if($t(ae.type))continue;let Ne;const Oe={};let me;const ge={};for(const ft of r.value.edges.filter(Xe=>Xe.target===ae.id)){const Xe=I(ft.source);if(!Xe)continue;const _t=(P=vn(Xe,"output",ft.sourceField))==null?void 0:P.name,kt=_t?`${Xe.name}.${_t}`:Xe.name,Be=(oe=vn(ae,"input",ft.targetField))==null?void 0:oe.name;Be?Oe[Be]=kt:Ne===void 0&&(Ne=kt)}for(const ft of r.value.edges.filter(Xe=>Xe.source===ae.id)){const Xe=I(ft.target);if(!Xe)continue;const _t=Xe.type;if(!$t(_t)||!((ne=pi[_t].io)!=null&&ne.input))continue;const kt=(pe=vn(Xe,"input",ft.targetField))==null?void 0:pe.name,Be=kt?`${Xe.name}.${kt}`:Xe.name,se=(be=vn(ae,"output",ft.sourceField))==null?void 0:be.name;se?ge[se]=Be:me===void 0&&(me=Be)}const ze={...fn(ae.config),name:ae.name,type:ae.type},an=fr(ae.type);if(an.length)for(const ft of an){const Xe=ze[ft];if(!Array.isArray(Xe))continue;const _t=[];for(const kt of Xe){const Be=I(kt);Be&&_t.push(Be.name)}_t.length?ze[ft]=Array.from(new Set(_t)):delete ze[ft]}Object.keys(Oe).length>0?ze.inputs=Oe:Ne!==void 0&&(ze.input=Ne),Object.keys(ge).length>0?ze.outputs=ge:me!==void 0&&(ze.output=me),B.push(ze)}return B}function R(){return r.value.nodes.map(B=>fn({name:B.name,phase:B.phase,position:{...B.position},expanded:{...B.expanded},fields:{input:B.fields.input.map(P=>P.name),output:B.fields.output.map(P=>P.name)}}))}function te(){const B={},P=O("vault");if(P){const oe=x1(P.config);oe&&Object.keys(oe).length>0&&(B.vault=oe)}if(r.value.cacheConfig){const{strategy:oe,redis:ne,memory:pe}=r.value.cacheConfig;B.cache={strategy:oe,redis:ne,memory:pe}}if(Object.keys(B).length!==0)return B}function G(){const B=[];for(const P of r.value.groups){const oe=I(P.ownerId);if(!oe)continue;const ne=P.position;ne&&B.push({name:gi(oe.name,P.branch),position:{...ne}})}return B}function ie(){return{nodes:R(),groups:G()}}function j(B,P){P&&s.commit(),r.value=Zu(B,P),P||s.clear()}return{state:r,selection:i,modalOpen:a,skipValidation:c,invalidConfigNodeIds:d,propertiesPanelOpen:l,configNodeCounts:f,nodeMapById:m,nodeMapByName:g,edgeMapById:_,edgeIdMapByNodeId:y,groupMapById:w,getNodeById:I,getNodeByName:O,getEdgeById:C,getEdgesByNodeId:q,getInEdgesByNodeId:S,getOutEdgesByNodeId:K,selectedNode:U,selectNode:ee,createNode:Y,addNode:M,duplicateNode:L,removeNode:v,renameNode:D,moveNode:W,moveGroup:z,setGroupLayout:H,toggleExpanded:Q,replaceConfig:le,branchGroups:x,addField:_e,renameField:Z,removeField:re,connectEdge:de,replaceConnection:fe,disconnectEdge:ue,disconnectInEdges:$,disconnectOutEdges:V,toConfigNodes:F,toUINodes:R,toUIGroups:G,toUIData:ie,load:j,commit:s.commit,undo:s.undo,redo:s.redo,canUndo:s.canUndo,canRedo:s.canRedo,clear:s.clear,reset:s.reset,revert:s.revert,isValidConnection:A,isValidVueFlowConnection:T,validateGraph:()=>k(),clearPendingLayout:p,setPendingFitView:u}});function dt(){const e=O1();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const{t:$1}=Qe.createI18n("en-us",et),Tl=Ye.createGlobalState(()=>{const e=Ye.useLocalStorage("datakit-editor-mode","flow"),n=Ye.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});function B1({enabled:e,confirm:n}){mo.onBeforeRouteLeave(()=>t.toValue(e)?n?n():window.confirm($1("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const o=r=>{t.toValue(e)&&r.preventDefault()};Ye.useEventListener("beforeunload",o)}function yi(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function pn(e){return typeof e=="function"?e():t.unref(e)}const V1=typeof window<"u"&&typeof document<"u",D1=e=>typeof e<"u",R1=Object.prototype.toString,M1=e=>R1.call(e)==="[object Object]",F1=()=>{};function L1(e,n){function o(...r){return new Promise((i,a)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(i).catch(a)})}return o}const tf=e=>e();function U1(e=tf){const n=t.ref(!0);function o(){n.value=!1}function r(){n.value=!0}const i=(...a)=>{n.value&&e(...a)};return{isActive:t.readonly(n),pause:o,resume:r,eventFilter:i}}function nf(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function K1(e,n,o={}){const{eventFilter:r=tf,...i}=o;return t.watch(e,L1(r,n),i)}function Bo(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=U1(r);return{stop:K1(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function j1(e,n={}){if(!t.isRef(e))return t.toRefs(e);const o=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)o[r]=t.customRef(()=>({get(){return e.value[r]},set(i){var a;if((a=pn(n.replaceRef))!=null?a:!0)if(Array.isArray(e.value)){const s=[...e.value];s[r]=i,e.value=s}else{const s={...e.value,[r]:i};Object.setPrototypeOf(s,Object.getPrototypeOf(e.value)),e.value=s}else e.value[r]=i}}));return o}function Pl(e,n=!1){function o(u,{flush:f="sync",deep:m=!1,timeout:g,throwOnTimeout:h}={}){let _=null;const w=[new Promise(b=>{_=t.watch(e,x=>{u(x)!==n&&(_==null||_(),b(x))},{flush:f,deep:m,immediate:!0})})];return g!=null&&w.push(nf(g,h).then(()=>pn(e)).finally(()=>_==null?void 0:_())),Promise.race(w)}function r(u,f){if(!t.isRef(u))return o(x=>x===u,f);const{flush:m="sync",deep:g=!1,timeout:h,throwOnTimeout:_}=f??{};let y=null;const b=[new Promise(x=>{y=t.watch([e,u],([N,E])=>{n!==(N===E)&&(y==null||y(),x(N))},{flush:m,deep:g,immediate:!0})})];return h!=null&&b.push(nf(h,_).then(()=>pn(e)).finally(()=>(y==null||y(),pn(e)))),Promise.race(b)}function i(u){return o(f=>!!f,u)}function a(u){return r(null,u)}function l(u){return r(void 0,u)}function s(u){return o(Number.isNaN,u)}function c(u,f){return o(m=>{const g=Array.from(m);return g.includes(u)||g.includes(pn(u))},f)}function d(u){return p(1,u)}function p(u=1,f){let m=-1;return o(()=>(m+=1,m>=u),f)}return Array.isArray(pn(e))?{toMatch:o,toContains:c,changed:d,changedTimes:p,get not(){return Pl(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:p,get not(){return Pl(e,!n)}}}function Ol(e){return Pl(e)}function G1(e){var n;const o=pn(e);return(n=o==null?void 0:o.$el)!=null?n:o}const of=V1?window:void 0;function rf(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=of):[n,o,r,i]=e,!n)return F1;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(p=>p()),a.length=0},s=(p,u,f,m)=>(p.addEventListener(u,f,m),()=>p.removeEventListener(u,f,m)),c=t.watch(()=>[G1(n),pn(i)],([p,u])=>{if(l(),!p)return;const f=M1(u)?{...u}:u;a.push(...o.flatMap(m=>r.map(g=>s(p,m,g,f))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return yi(d),d}function q1(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function af(...e){let n,o,r={};e.length===3?(n=e[0],o=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(n=!0,o=e[0],r=e[1]):(n=e[0],o=e[1]):(n=!0,o=e[0]);const{target:i=of,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=q1(n);return rf(i,a,p=>{p.repeat&&pn(s)||c(p)&&o(p)},l)}function z1(e){return JSON.parse(JSON.stringify(e))}function $l(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:p=!1,defaultValue:u,shouldEmit:f}=r,m=t.getCurrentInstance(),g=o||(m==null?void 0:m.emit)||((i=m==null?void 0:m.$emit)==null?void 0:i.bind(m))||((l=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(m==null?void 0:m.proxy));let h=d;n||(n="modelValue"),h=h||`update:${n.toString()}`;const _=b=>s?typeof s=="function"?s(b):z1(b):b,y=()=>D1(e[n])?_(e[n]):u,w=b=>{f?f(b)&&g(h,b):g(h,b)};if(c){const b=y(),x=t.ref(b);let N=!1;return t.watch(()=>e[n],E=>{N||(N=!0,x.value=_(E),t.nextTick(()=>N=!1))}),t.watch(x,E=>{!N&&(E!==e[n]||p)&&w(E)},{deep:p}),x}else return t.computed({get(){return y()},set(b){w(b)}})}var H1={value:()=>{}};function _i(){for(var e=0,n=arguments.length,o={},r;e<n;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new bi(o)}function bi(e){this._=e}function Y1(e,n){return e.trim().split(/^|\s+/).map(function(o){var r="",i=o.indexOf(".");if(i>=0&&(r=o.slice(i+1),o=o.slice(0,i)),o&&!n.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}bi.prototype=_i.prototype={constructor:bi,on:function(e,n){var o=this._,r=Y1(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=W1(o[i],e.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(i=(e=r[a]).type)o[i]=lf(o[i],e.name,n);else if(n==null)for(i in o)o[i]=lf(o[i],e.name,null);return this},copy:function(){var e={},n=this._;for(var o in n)e[o]=n[o].slice();return new bi(e)},call:function(e,n){if((i=arguments.length-2)>0)for(var o=new Array(i),r=0,i,a;r<i;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(n,o)},apply:function(e,n,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(n,o)}};function W1(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function lf(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=H1,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Bl="http://www.w3.org/1999/xhtml";const sf={svg:"http://www.w3.org/2000/svg",xhtml:Bl,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function wi(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),sf.hasOwnProperty(n)?{space:sf[n],local:e}:e}function X1(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Bl&&n.documentElement.namespaceURI===Bl?n.createElement(e):n.createElementNS(o,e)}}function Z1(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function cf(e){var n=wi(e);return(n.local?Z1:X1)(n)}function J1(){}function Vl(e){return e==null?J1:function(){return this.querySelector(e)}}function Q1(e){typeof e!="function"&&(e=Vl(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=new Array(l),c,d,p=0;p<l;++p)(c=a[p])&&(d=e.call(c,c.__data__,p,a))&&("__data__"in c&&(d.__data__=c.__data__),s[p]=d);return new Bt(r,this._parents)}function ex(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function tx(){return[]}function df(e){return e==null?tx:function(){return this.querySelectorAll(e)}}function nx(e){return function(){return ex(e.apply(this,arguments))}}function ox(e){typeof e=="function"?e=nx(e):e=df(e);for(var n=this._groups,o=n.length,r=[],i=[],a=0;a<o;++a)for(var l=n[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&(r.push(e.call(c,c.__data__,d,l)),i.push(c));return new Bt(r,i)}function uf(e){return function(){return this.matches(e)}}function ff(e){return function(n){return n.matches(e)}}var rx=Array.prototype.find;function ix(e){return function(){return rx.call(this.children,e)}}function ax(){return this.firstElementChild}function lx(e){return this.select(e==null?ax:ix(typeof e=="function"?e:ff(e)))}var sx=Array.prototype.filter;function cx(){return Array.from(this.children)}function dx(e){return function(){return sx.call(this.children,e)}}function ux(e){return this.selectAll(e==null?cx:dx(typeof e=="function"?e:ff(e)))}function fx(e){typeof e!="function"&&(e=uf(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new Bt(r,this._parents)}function pf(e){return new Array(e.length)}function px(){return new Bt(this._enter||this._groups.map(pf),this._parents)}function ki(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}ki.prototype={constructor:ki,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function mx(e){return function(){return e}}function gx(e,n,o,r,i,a){for(var l=0,s,c=n.length,d=a.length;l<d;++l)(s=n[l])?(s.__data__=a[l],r[l]=s):o[l]=new ki(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function hx(e,n,o,r,i,a,l){var s,c,d=new Map,p=n.length,u=a.length,f=new Array(p),m;for(s=0;s<p;++s)(c=n[s])&&(f[s]=m=l.call(c,c.__data__,s,n)+"",d.has(m)?i[s]=c:d.set(m,c));for(s=0;s<u;++s)m=l.call(e,a[s],s,a)+"",(c=d.get(m))?(r[s]=c,c.__data__=a[s],d.delete(m)):o[s]=new ki(e,a[s]);for(s=0;s<p;++s)(c=n[s])&&d.get(f[s])===c&&(i[s]=c)}function yx(e){return e.__data__}function _x(e,n){if(!arguments.length)return Array.from(this,yx);var o=n?hx:gx,r=this._parents,i=this._groups;typeof e!="function"&&(e=mx(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var p=r[d],u=i[d],f=u.length,m=bx(e.call(p,p&&p.__data__,d,r)),g=m.length,h=s[d]=new Array(g),_=l[d]=new Array(g),y=c[d]=new Array(f);o(p,u,h,_,y,m,n);for(var w=0,b=0,x,N;w<g;++w)if(x=h[w]){for(w>=b&&(b=w+1);!(N=_[b])&&++b<g;);x._next=N||null}}return l=new Bt(l,r),l._enter=s,l._exit=c,l}function bx(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function wx(){return new Bt(this._exit||this._groups.map(pf),this._parents)}function kx(e,n,o){var r=this.enter(),i=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),n!=null&&(i=n(i),i&&(i=i.selection())),o==null?a.remove():o(a),r&&i?r.merge(i).order():i}function Cx(e){for(var n=e.selection?e.selection():e,o=this._groups,r=n._groups,i=o.length,a=r.length,l=Math.min(i,a),s=new Array(i),c=0;c<l;++c)for(var d=o[c],p=r[c],u=d.length,f=s[c]=new Array(u),m,g=0;g<u;++g)(m=d[g]||p[g])&&(f[g]=m);for(;c<i;++c)s[c]=o[c];return new Bt(s,this._parents)}function Ex(){for(var e=this._groups,n=-1,o=e.length;++n<o;)for(var r=e[n],i=r.length-1,a=r[i],l;--i>=0;)(l=r[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function Nx(e){e||(e=xx);function n(u,f){return u&&f?e(u.__data__,f.__data__):!u-!f}for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a){for(var l=o[a],s=l.length,c=i[a]=new Array(s),d,p=0;p<s;++p)(d=l[p])&&(c[p]=d);c.sort(n)}return new Bt(i,this._parents).order()}function xx(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Sx(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function vx(){return Array.from(this)}function Ax(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length;i<a;++i){var l=r[i];if(l)return l}return null}function Ix(){let e=0;for(const n of this)++e;return e}function Tx(){return!this.node()}function Px(e){for(var n=this._groups,o=0,r=n.length;o<r;++o)for(var i=n[o],a=0,l=i.length,s;a<l;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Ox(e){return function(){this.removeAttribute(e)}}function $x(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Bx(e,n){return function(){this.setAttribute(e,n)}}function Vx(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function Dx(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function Rx(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function Mx(e,n){var o=wi(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((n==null?o.local?$x:Ox:typeof n=="function"?o.local?Rx:Dx:o.local?Vx:Bx)(o,n))}function mf(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Fx(e){return function(){this.style.removeProperty(e)}}function Lx(e,n,o){return function(){this.style.setProperty(e,n,o)}}function Ux(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function Kx(e,n,o){return arguments.length>1?this.each((n==null?Fx:typeof n=="function"?Ux:Lx)(e,n,o??"")):Vo(this.node(),e)}function Vo(e,n){return e.style.getPropertyValue(n)||mf(e).getComputedStyle(e,null).getPropertyValue(n)}function jx(e){return function(){delete this[e]}}function Gx(e,n){return function(){this[e]=n}}function qx(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function zx(e,n){return arguments.length>1?this.each((n==null?jx:typeof n=="function"?qx:Gx)(e,n)):this.node()[e]}function gf(e){return e.trim().split(/^|\s+/)}function Dl(e){return e.classList||new hf(e)}function hf(e){this._node=e,this._names=gf(e.getAttribute("class")||"")}hf.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function yf(e,n){for(var o=Dl(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function _f(e,n){for(var o=Dl(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function Hx(e){return function(){yf(this,e)}}function Yx(e){return function(){_f(this,e)}}function Wx(e,n){return function(){(n.apply(this,arguments)?yf:_f)(this,e)}}function Xx(e,n){var o=gf(e+"");if(arguments.length<2){for(var r=Dl(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?Wx:n?Hx:Yx)(o,n))}function Zx(){this.textContent=""}function Jx(e){return function(){this.textContent=e}}function Qx(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function eS(e){return arguments.length?this.each(e==null?Zx:(typeof e=="function"?Qx:Jx)(e)):this.node().textContent}function tS(){this.innerHTML=""}function nS(e){return function(){this.innerHTML=e}}function oS(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function rS(e){return arguments.length?this.each(e==null?tS:(typeof e=="function"?oS:nS)(e)):this.node().innerHTML}function iS(){this.nextSibling&&this.parentNode.appendChild(this)}function aS(){return this.each(iS)}function lS(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function sS(){return this.each(lS)}function cS(e){var n=typeof e=="function"?e:cf(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function dS(){return null}function uS(e,n){var o=typeof e=="function"?e:cf(e),r=n==null?dS:typeof n=="function"?n:Vl(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function fS(){var e=this.parentNode;e&&e.removeChild(this)}function pS(){return this.each(fS)}function mS(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function gS(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function hS(e){return this.select(e?gS:mS)}function yS(e){return arguments.length?this.property("__data__",e):this.node().__data__}function _S(e){return function(n){e.call(this,n,this.__data__)}}function bS(e){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");return r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),{type:n,name:o}})}function wS(e){return function(){var n=this.__on;if(n){for(var o=0,r=-1,i=n.length,a;o<i;++o)a=n[o],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++r]=a;++r?n.length=r:delete this.__on}}}function kS(e,n,o){return function(){var r=this.__on,i,a=_S(n);if(r){for(var l=0,s=r.length;l<s;++l)if((i=r[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=o),i.value=n;return}}this.addEventListener(e.type,a,o),i={type:e.type,name:e.name,value:n,listener:a,options:o},r?r.push(i):this.__on=[i]}}function CS(e,n,o){var r=bS(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,p;c<d;++c)for(i=0,p=s[c];i<a;++i)if((l=r[i]).type===p.type&&l.name===p.name)return p.value}return}for(s=n?kS:wS,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function bf(e,n,o){var r=mf(e),i=r.CustomEvent;typeof i=="function"?i=new i(n,o):(i=r.document.createEvent("Event"),o?(i.initEvent(n,o.bubbles,o.cancelable),i.detail=o.detail):i.initEvent(n,!1,!1)),e.dispatchEvent(i)}function ES(e,n){return function(){return bf(this,e,n)}}function NS(e,n){return function(){return bf(this,e,n.apply(this,arguments))}}function xS(e,n){return this.each((typeof n=="function"?NS:ES)(e,n))}function*SS(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length,l;i<a;++i)(l=r[i])&&(yield l)}var wf=[null];function Bt(e,n){this._groups=e,this._parents=n}function pr(){return new Bt([[document.documentElement]],wf)}function vS(){return this}Bt.prototype=pr.prototype={constructor:Bt,select:Q1,selectAll:ox,selectChild:lx,selectChildren:ux,filter:fx,data:_x,enter:px,exit:wx,join:kx,merge:Cx,selection:vS,order:Ex,sort:Nx,call:Sx,nodes:vx,node:Ax,size:Ix,empty:Tx,each:Px,attr:Mx,style:Kx,property:zx,classed:Xx,text:eS,html:rS,raise:aS,lower:sS,append:cS,insert:uS,remove:pS,clone:hS,datum:yS,on:CS,dispatch:xS,[Symbol.iterator]:SS};function zt(e){return typeof e=="string"?new Bt([[document.querySelector(e)]],[document.documentElement]):new Bt([[e]],wf)}function AS(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Qt(e,n){if(e=AS(e),n===void 0&&(n=e.currentTarget),n){var o=n.ownerSVGElement||n;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[e.clientX-i.left-n.clientLeft,e.clientY-i.top-n.clientTop]}}return[e.pageX,e.pageY]}const IS={passive:!1},mr={capture:!0,passive:!1};function Rl(e){e.stopImmediatePropagation()}function Do(e){e.preventDefault(),e.stopImmediatePropagation()}function kf(e){var n=e.document.documentElement,o=zt(e).on("dragstart.drag",Do,mr);"onselectstart"in n?o.on("selectstart.drag",Do,mr):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Cf(e,n){var o=e.document.documentElement,r=zt(e).on("dragstart.drag",null);n&&(r.on("click.drag",Do,mr),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const Ci=e=>()=>e;function Ml(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:p}})}Ml.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function TS(e){return!e.ctrlKey&&!e.button}function PS(){return this.parentNode}function OS(e,n){return n??{x:e.x,y:e.y}}function $S(){return navigator.maxTouchPoints||"ontouchstart"in this}function BS(){var e=TS,n=PS,o=OS,r=$S,i={},a=_i("start","drag","end"),l=0,s,c,d,p,u=0;function f(x){x.on("mousedown.drag",m).filter(r).on("touchstart.drag",_).on("touchmove.drag",y,IS).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(x,N){if(!(p||!e.call(this,x,N))){var E=b(this,n.call(this,x,N),x,N,"mouse");E&&(zt(x.view).on("mousemove.drag",g,mr).on("mouseup.drag",h,mr),kf(x.view),Rl(x),d=!1,s=x.clientX,c=x.clientY,E("start",x))}}function g(x){if(Do(x),!d){var N=x.clientX-s,E=x.clientY-c;d=N*N+E*E>u}i.mouse("drag",x)}function h(x){zt(x.view).on("mousemove.drag mouseup.drag",null),Cf(x.view,d),Do(x),i.mouse("end",x)}function _(x,N){if(e.call(this,x,N)){var E=x.changedTouches,k=n.call(this,x,N),A=E.length,T,I;for(T=0;T<A;++T)(I=b(this,k,x,N,E[T].identifier,E[T]))&&(Rl(x),I("start",x,E[T]))}}function y(x){var N=x.changedTouches,E=N.length,k,A;for(k=0;k<E;++k)(A=i[N[k].identifier])&&(Do(x),A("drag",x,N[k]))}function w(x){var N=x.changedTouches,E=N.length,k,A;for(p&&clearTimeout(p),p=setTimeout(function(){p=null},500),k=0;k<E;++k)(A=i[N[k].identifier])&&(Rl(x),A("end",x,N[k]))}function b(x,N,E,k,A,T){var I=a.copy(),O=Qt(T||E,N),C,q,S;if((S=o.call(x,new Ml("beforestart",{sourceEvent:E,target:f,identifier:A,active:l,x:O[0],y:O[1],dx:0,dy:0,dispatch:I}),k))!=null)return C=S.x-O[0]||0,q=S.y-O[1]||0,function K(U,ee,Y){var M=O,L;switch(U){case"start":i[A]=K,L=l++;break;case"end":delete i[A],--l;case"drag":O=Qt(Y||ee,N),L=l;break}I.call(U,x,new Ml(U,{sourceEvent:ee,subject:S,target:f,identifier:A,active:L,x:O[0]+C,y:O[1]+q,dx:O[0]-M[0],dy:O[1]-M[1],dispatch:I}),k)}}return f.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Ci(!!x),f):e},f.container=function(x){return arguments.length?(n=typeof x=="function"?x:Ci(x),f):n},f.subject=function(x){return arguments.length?(o=typeof x=="function"?x:Ci(x),f):o},f.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:Ci(!!x),f):r},f.on=function(){var x=a.on.apply(a,arguments);return x===a?f:x},f.clickDistance=function(x){return arguments.length?(u=(x=+x)*x,f):Math.sqrt(u)},f}function Fl(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function Ef(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function gr(){}var hr=.7,Ei=1/hr,Ro="\\s*([+-]?\\d+)\\s*",yr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",en="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",VS=/^#([0-9a-f]{3,8})$/,DS=new RegExp(`^rgb\\(${Ro},${Ro},${Ro}\\)$`),RS=new RegExp(`^rgb\\(${en},${en},${en}\\)$`),MS=new RegExp(`^rgba\\(${Ro},${Ro},${Ro},${yr}\\)$`),FS=new RegExp(`^rgba\\(${en},${en},${en},${yr}\\)$`),LS=new RegExp(`^hsl\\(${yr},${en},${en}\\)$`),US=new RegExp(`^hsla\\(${yr},${en},${en},${yr}\\)$`),Nf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Fl(gr,Jn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:xf,formatHex:xf,formatHex8:KS,formatHsl:jS,formatRgb:Sf,toString:Sf});function xf(){return this.rgb().formatHex()}function KS(){return this.rgb().formatHex8()}function jS(){return Pf(this).formatHsl()}function Sf(){return this.rgb().formatRgb()}function Jn(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=VS.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?vf(n):o===3?new Tt(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?Ni(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?Ni(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=DS.exec(e))?new Tt(n[1],n[2],n[3],1):(n=RS.exec(e))?new Tt(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=MS.exec(e))?Ni(n[1],n[2],n[3],n[4]):(n=FS.exec(e))?Ni(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=LS.exec(e))?Tf(n[1],n[2]/100,n[3]/100,1):(n=US.exec(e))?Tf(n[1],n[2]/100,n[3]/100,n[4]):Nf.hasOwnProperty(e)?vf(Nf[e]):e==="transparent"?new Tt(NaN,NaN,NaN,0):null}function vf(e){return new Tt(e>>16&255,e>>8&255,e&255,1)}function Ni(e,n,o,r){return r<=0&&(e=n=o=NaN),new Tt(e,n,o,r)}function GS(e){return e instanceof gr||(e=Jn(e)),e?(e=e.rgb(),new Tt(e.r,e.g,e.b,e.opacity)):new Tt}function Ll(e,n,o,r){return arguments.length===1?GS(e):new Tt(e,n,o,r??1)}function Tt(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}Fl(Tt,Ll,Ef(gr,{brighter(e){return e=e==null?Ei:Math.pow(Ei,e),new Tt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?hr:Math.pow(hr,e),new Tt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Tt(Qn(this.r),Qn(this.g),Qn(this.b),xi(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:Af,formatHex:Af,formatHex8:qS,formatRgb:If,toString:If}));function Af(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}`}function qS(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}${eo((isNaN(this.opacity)?1:this.opacity)*255)}`}function If(){const e=xi(this.opacity);return`${e===1?"rgb(":"rgba("}${Qn(this.r)}, ${Qn(this.g)}, ${Qn(this.b)}${e===1?")":`, ${e})`}`}function xi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Qn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function eo(e){return e=Qn(e),(e<16?"0":"")+e.toString(16)}function Tf(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new Ht(e,n,o,r)}function Pf(e){if(e instanceof Ht)return new Ht(e.h,e.s,e.l,e.opacity);if(e instanceof gr||(e=Jn(e)),!e)return new Ht;if(e instanceof Ht)return e;e=e.rgb();var n=e.r/255,o=e.g/255,r=e.b/255,i=Math.min(n,o,r),a=Math.max(n,o,r),l=NaN,s=a-i,c=(a+i)/2;return s?(n===a?l=(o-r)/s+(o<r)*6:o===a?l=(r-n)/s+2:l=(n-o)/s+4,s/=c<.5?a+i:2-a-i,l*=60):s=c>0&&c<1?0:l,new Ht(l,s,c,e.opacity)}function zS(e,n,o,r){return arguments.length===1?Pf(e):new Ht(e,n,o,r??1)}function Ht(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}Fl(Ht,zS,Ef(gr,{brighter(e){return e=e==null?Ei:Math.pow(Ei,e),new Ht(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?hr:Math.pow(hr,e),new Ht(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*n,i=2*o-r;return new Tt(Ul(e>=240?e-240:e+120,i,r),Ul(e,i,r),Ul(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ht(Of(this.h),Si(this.s),Si(this.l),xi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=xi(this.opacity);return`${e===1?"hsl(":"hsla("}${Of(this.h)}, ${Si(this.s)*100}%, ${Si(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Of(e){return e=(e||0)%360,e<0?e+360:e}function Si(e){return Math.max(0,Math.min(1,e||0))}function Ul(e,n,o){return(e<60?n+(o-n)*e/60:e<180?o:e<240?n+(o-n)*(240-e)/60:n)*255}const Kl=e=>()=>e;function HS(e,n){return function(o){return e+o*n}}function YS(e,n,o){return e=Math.pow(e,o),n=Math.pow(n,o)-e,o=1/o,function(r){return Math.pow(e+r*n,o)}}function WS(e){return(e=+e)==1?$f:function(n,o){return o-n?YS(n,o,e):Kl(isNaN(n)?o:n)}}function $f(e,n){var o=n-e;return o?HS(e,o):Kl(isNaN(e)?n:e)}const vi=function e(n){var o=WS(n);function r(i,a){var l=o((i=Ll(i)).r,(a=Ll(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=$f(i.opacity,a.opacity);return function(p){return i.r=l(p),i.g=s(p),i.b=c(p),i.opacity=d(p),i+""}}return r.gamma=e,r}(1);function XS(e,n){n||(n=[]);var o=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(a){for(i=0;i<o;++i)r[i]=e[i]*(1-a)+n[i]*a;return r}}function ZS(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function JS(e,n){var o=n?n.length:0,r=e?Math.min(o,e.length):0,i=new Array(r),a=new Array(o),l;for(l=0;l<r;++l)i[l]=_r(e[l],n[l]);for(;l<o;++l)a[l]=n[l];return function(s){for(l=0;l<r;++l)a[l]=i[l](s);return a}}function QS(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function tn(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function ev(e,n){var o={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?o[i]=_r(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var jl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Gl=new RegExp(jl.source,"g");function tv(e){return function(){return e}}function nv(e){return function(n){return e(n)+""}}function Bf(e,n){var o=jl.lastIndex=Gl.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=jl.exec(e))&&(i=Gl.exec(n));)(a=i.index)>o&&(a=n.slice(o,a),s[l]?s[l]+=a:s[++l]=a),(r=r[0])===(i=i[0])?s[l]?s[l]+=i:s[++l]=i:(s[++l]=null,c.push({i:l,x:tn(r,i)})),o=Gl.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?nv(c[0].x):tv(n):(n=c.length,function(d){for(var p=0,u;p<n;++p)s[(u=c[p]).i]=u.x(d);return s.join("")})}function _r(e,n){var o=typeof n,r;return n==null||o==="boolean"?Kl(n):(o==="number"?tn:o==="string"?(r=Jn(n))?(n=r,vi):Bf:n instanceof Jn?vi:n instanceof Date?QS:ZS(n)?XS:Array.isArray(n)?JS:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?ev:tn)(e,n)}var Vf=180/Math.PI,ql={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Df(e,n,o,r,i,a){var l,s,c;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(c=e*o+n*r)&&(o-=e*c,r-=n*c),(s=Math.sqrt(o*o+r*r))&&(o/=s,r/=s,c/=s),e*r<n*o&&(e=-e,n=-n,c=-c,l=-l),{translateX:i,translateY:a,rotate:Math.atan2(n,e)*Vf,skewX:Math.atan(c)*Vf,scaleX:l,scaleY:s}}var Ai;function ov(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?ql:Df(n.a,n.b,n.c,n.d,n.e,n.f)}function rv(e){return e==null||(Ai||(Ai=document.createElementNS("http://www.w3.org/2000/svg","g")),Ai.setAttribute("transform",e),!(e=Ai.transform.baseVal.consolidate()))?ql:(e=e.matrix,Df(e.a,e.b,e.c,e.d,e.e,e.f))}function Rf(e,n,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,p,u,f,m,g){if(d!==u||p!==f){var h=m.push("translate(",null,n,null,o);g.push({i:h-4,x:tn(d,u)},{i:h-2,x:tn(p,f)})}else(u||f)&&m.push("translate("+u+n+f+o)}function l(d,p,u,f){d!==p?(d-p>180?p+=360:p-d>180&&(d+=360),f.push({i:u.push(i(u)+"rotate(",null,r)-2,x:tn(d,p)})):p&&u.push(i(u)+"rotate("+p+r)}function s(d,p,u,f){d!==p?f.push({i:u.push(i(u)+"skewX(",null,r)-2,x:tn(d,p)}):p&&u.push(i(u)+"skewX("+p+r)}function c(d,p,u,f,m,g){if(d!==u||p!==f){var h=m.push(i(m)+"scale(",null,",",null,")");g.push({i:h-4,x:tn(d,u)},{i:h-2,x:tn(p,f)})}else(u!==1||f!==1)&&m.push(i(m)+"scale("+u+","+f+")")}return function(d,p){var u=[],f=[];return d=e(d),p=e(p),a(d.translateX,d.translateY,p.translateX,p.translateY,u,f),l(d.rotate,p.rotate,u,f),s(d.skewX,p.skewX,u,f),c(d.scaleX,d.scaleY,p.scaleX,p.scaleY,u,f),d=p=null,function(m){for(var g=-1,h=f.length,_;++g<h;)u[(_=f[g]).i]=_.x(m);return u.join("")}}}var iv=Rf(ov,"px, ","px)","deg)"),av=Rf(rv,", ",")",")"),lv=1e-12;function Mf(e){return((e=Math.exp(e))+1/e)/2}function sv(e){return((e=Math.exp(e))-1/e)/2}function cv(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ii=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],p=l[0],u=l[1],f=l[2],m=p-s,g=u-c,h=m*m+g*g,_,y;if(h<lv)y=Math.log(f/d)/n,_=function(k){return[s+k*m,c+k*g,d*Math.exp(n*k*y)]};else{var w=Math.sqrt(h),b=(f*f-d*d+r*h)/(2*d*o*w),x=(f*f-d*d-r*h)/(2*f*o*w),N=Math.log(Math.sqrt(b*b+1)-b),E=Math.log(Math.sqrt(x*x+1)-x);y=(E-N)/n,_=function(k){var A=k*y,T=Mf(N),I=d/(o*w)*(T*cv(n*A+N)-sv(N));return[s+I*m,c+I*g,d*T/Mf(n*A+N)]}}return _.duration=y*1e3*n/Math.SQRT2,_}return i.rho=function(a){var l=Math.max(.001,+a),s=l*l,c=s*s;return e(l,s,c)},i}(Math.SQRT2,2,4);var Mo=0,br=0,wr=0,Ff=1e3,Ti,kr,Pi=0,to=0,Oi=0,Cr=typeof performance=="object"&&performance.now?performance:Date,Lf=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function zl(){return to||(Lf(dv),to=Cr.now()+Oi)}function dv(){to=0}function $i(){this._call=this._time=this._next=null}$i.prototype=Uf.prototype={constructor:$i,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?zl():+o)+(n==null?0:+n),!this._next&&kr!==this&&(kr?kr._next=this:Ti=this,kr=this),this._call=e,this._time=o,Hl()},stop:function(){this._call&&(this._call=null,this._time=1/0,Hl())}};function Uf(e,n,o){var r=new $i;return r.restart(e,n,o),r}function uv(){zl(),++Mo;for(var e=Ti,n;e;)(n=to-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Mo}function Kf(){to=(Pi=Cr.now())+Oi,Mo=br=0;try{uv()}finally{Mo=0,pv(),to=0}}function fv(){var e=Cr.now(),n=e-Pi;n>Ff&&(Oi-=n,Pi=e)}function pv(){for(var e,n=Ti,o,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(o=n._next,n._next=null,n=e?e._next=o:Ti=o);kr=e,Hl(r)}function Hl(e){if(!Mo){br&&(br=clearTimeout(br));var n=e-to;n>24?(e<1/0&&(br=setTimeout(Kf,e-Cr.now()-Oi)),wr&&(wr=clearInterval(wr))):(wr||(Pi=Cr.now(),wr=setInterval(fv,Ff)),Mo=1,Lf(Kf))}}function jf(e,n,o){var r=new $i;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var mv=_i("start","end","cancel","interrupt"),gv=[],Gf=0,qf=1,Yl=2,Bi=3,zf=4,Wl=5,Vi=6;function Di(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;hv(e,o,{name:n,index:r,group:i,on:mv,tween:gv,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Gf})}function Xl(e,n){var o=Yt(e,n);if(o.state>Gf)throw new Error("too late; already scheduled");return o}function nn(e,n){var o=Yt(e,n);if(o.state>Bi)throw new Error("too late; already running");return o}function Yt(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function hv(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=Uf(a,0,o.time);function a(d){o.state=qf,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var p,u,f,m;if(o.state!==qf)return c();for(p in r)if(m=r[p],m.name===o.name){if(m.state===Bi)return jf(l);m.state===zf?(m.state=Vi,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[p]):+p<n&&(m.state=Vi,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[p])}if(jf(function(){o.state===Bi&&(o.state=zf,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=Yl,o.on.call("start",e,e.__data__,o.index,o.group),o.state===Yl){for(o.state=Bi,i=new Array(f=o.tween.length),p=0,u=-1;p<f;++p)(m=o.tween[p].value.call(e,e.__data__,o.index,o.group))&&(i[++u]=m);i.length=u+1}}function s(d){for(var p=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=Wl,1),u=-1,f=i.length;++u<f;)i[u].call(e,p);o.state===Wl&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=Vi,o.timer.stop(),delete r[n];for(var d in r)return;delete e.__transition}}function Ri(e,n){var o=e.__transition,r,i,a=!0,l;if(o){n=n==null?null:n+"";for(l in o){if((r=o[l]).name!==n){a=!1;continue}i=r.state>Yl&&r.state<Wl,r.state=Vi,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function yv(e){return this.each(function(){Ri(this,e)})}function _v(e,n){var o,r;return function(){var i=nn(this,e),a=i.tween;if(a!==o){r=o=a;for(var l=0,s=r.length;l<s;++l)if(r[l].name===n){r=r.slice(),r.splice(l,1);break}}i.tween=r}}function bv(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=nn(this,e),l=a.tween;if(l!==r){i=(r=l).slice();for(var s={name:n,value:o},c=0,d=i.length;c<d;++c)if(i[c].name===n){i[c]=s;break}c===d&&i.push(s)}a.tween=i}}function wv(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=Yt(this.node(),o).tween,i=0,a=r.length,l;i<a;++i)if((l=r[i]).name===e)return l.value;return null}return this.each((n==null?_v:bv)(o,e,n))}function Zl(e,n,o){var r=e._id;return e.each(function(){var i=nn(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return Yt(i,r).value[n]}}function Hf(e,n){var o;return(typeof n=="number"?tn:n instanceof Jn?vi:(o=Jn(n))?(n=o,vi):Bf)(e,n)}function kv(e){return function(){this.removeAttribute(e)}}function Cv(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ev(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttribute(e);return l===i?null:l===r?a:a=n(r=l,o)}}function Nv(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===r?a:a=n(r=l,o)}}function xv(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttribute(e):(l=this.getAttribute(e),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function Sv(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function vv(e,n){var o=wi(e),r=o==="transform"?av:Hf;return this.attrTween(e,typeof n=="function"?(o.local?Sv:xv)(o,r,Zl(this,"attr."+e,n)):n==null?(o.local?Cv:kv)(o):(o.local?Nv:Ev)(o,r,n))}function Av(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function Iv(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function Tv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&Iv(e,a)),o}return i._value=n,i}function Pv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&Av(e,a)),o}return i._value=n,i}function Ov(e,n){var o="attr."+e;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;var r=wi(e);return this.tween(o,(r.local?Tv:Pv)(r,n))}function $v(e,n){return function(){Xl(this,e).delay=+n.apply(this,arguments)}}function Bv(e,n){return n=+n,function(){Xl(this,e).delay=n}}function Vv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?$v:Bv)(n,e)):Yt(this.node(),n).delay}function Dv(e,n){return function(){nn(this,e).duration=+n.apply(this,arguments)}}function Rv(e,n){return n=+n,function(){nn(this,e).duration=n}}function Mv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Dv:Rv)(n,e)):Yt(this.node(),n).duration}function Fv(e,n){if(typeof n!="function")throw new Error;return function(){nn(this,e).ease=n}}function Lv(e){var n=this._id;return arguments.length?this.each(Fv(n,e)):Yt(this.node(),n).ease}function Uv(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;nn(this,e).ease=o}}function Kv(e){if(typeof e!="function")throw new Error;return this.each(Uv(this._id,e))}function jv(e){typeof e!="function"&&(e=uf(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new mn(r,this._parents,this._name,this._id)}function Gv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),l=new Array(r),s=0;s<a;++s)for(var c=n[s],d=o[s],p=c.length,u=l[s]=new Array(p),f,m=0;m<p;++m)(f=c[m]||d[m])&&(u[m]=f);for(;s<r;++s)l[s]=n[s];return new mn(l,this._parents,this._name,this._id)}function qv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var o=n.indexOf(".");return o>=0&&(n=n.slice(0,o)),!n||n==="start"})}function zv(e,n,o){var r,i,a=qv(n)?Xl:nn;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function Hv(e,n){var o=this._id;return arguments.length<2?Yt(this.node(),o).on.on(e):this.each(zv(o,e,n))}function Yv(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function Wv(){return this.on("end.remove",Yv(this._id))}function Xv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Vl(e));for(var r=this._groups,i=r.length,a=new Array(i),l=0;l<i;++l)for(var s=r[l],c=s.length,d=a[l]=new Array(c),p,u,f=0;f<c;++f)(p=s[f])&&(u=e.call(p,p.__data__,f,s))&&("__data__"in p&&(u.__data__=p.__data__),d[f]=u,Di(d[f],n,o,f,d,Yt(p,o)));return new mn(a,this._parents,n,o)}function Zv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=df(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,p,u=0;u<d;++u)if(p=c[u]){for(var f=e.call(p,p.__data__,u,c),m,g=Yt(p,o),h=0,_=f.length;h<_;++h)(m=f[h])&&Di(m,n,o,h,f,g);a.push(f),l.push(p)}return new mn(a,l,n,o)}var Jv=pr.prototype.constructor;function Qv(){return new Jv(this._groups,this._parents)}function eA(e,n){var o,r,i;return function(){var a=Vo(this,e),l=(this.style.removeProperty(e),Vo(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function Yf(e){return function(){this.style.removeProperty(e)}}function tA(e,n,o){var r,i=o+"",a;return function(){var l=Vo(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function nA(e,n,o){var r,i,a;return function(){var l=Vo(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Vo(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function oA(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=nn(this,e),d=c.on,p=c.value[a]==null?s||(s=Yf(n)):void 0;(d!==o||i!==p)&&(r=(o=d).copy()).on(l,i=p),c.on=r}}function rA(e,n,o){var r=(e+="")=="transform"?iv:Hf;return n==null?this.styleTween(e,eA(e,r)).on("end.style."+e,Yf(e)):typeof n=="function"?this.styleTween(e,nA(e,r,Zl(this,"style."+e,n))).each(oA(this._id,e)):this.styleTween(e,tA(e,r,n),o).on("end.style."+e,null)}function iA(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function aA(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&iA(e,l,o)),r}return a._value=n,a}function lA(e,n,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,aA(e,n,o??""))}function sA(e){return function(){this.textContent=e}}function cA(e){return function(){var n=e(this);this.textContent=n??""}}function dA(e){return this.tween("text",typeof e=="function"?cA(Zl(this,"text",e)):sA(e==null?"":e+""))}function uA(e){return function(n){this.textContent=e.call(this,n)}}function fA(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&uA(i)),n}return r._value=e,r}function pA(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,fA(e))}function mA(){for(var e=this._name,n=this._id,o=Wf(),r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)if(c=l[d]){var p=Yt(c,n);Di(c,e,o,d,l,{time:p.time+p.delay+p.duration,delay:0,duration:p.duration,ease:p.ease})}return new mn(r,this._parents,e,o)}function gA(){var e,n,o=this,r=o._id,i=o.size();return new Promise(function(a,l){var s={value:l},c={value:function(){--i===0&&a()}};o.each(function(){var d=nn(this,r),p=d.on;p!==e&&(n=(e=p).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),d.on=n}),i===0&&a()})}var hA=0;function mn(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function Wf(){return++hA}var gn=pr.prototype;mn.prototype={constructor:mn,select:Xv,selectAll:Zv,selectChild:gn.selectChild,selectChildren:gn.selectChildren,filter:jv,merge:Gv,selection:Qv,transition:mA,call:gn.call,nodes:gn.nodes,node:gn.node,size:gn.size,empty:gn.empty,each:gn.each,on:Hv,attr:vv,attrTween:Ov,style:rA,styleTween:lA,text:dA,textTween:pA,remove:Wv,tween:wv,delay:Vv,duration:Mv,ease:Lv,easeVarying:Kv,end:gA,[Symbol.iterator]:gn[Symbol.iterator]};function yA(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var _A={time:null,delay:0,duration:250,ease:yA};function bA(e,n){for(var o;!(o=e.__transition)||!(o=o[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return o}function wA(e){var n,o;e instanceof mn?(n=e._id,e=e._name):(n=Wf(),(o=_A).time=zl(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&Di(c,e,n,d,l,o||bA(c,n));return new mn(r,this._parents,e,n)}pr.prototype.interrupt=yv,pr.prototype.transition=wA;const Mi=e=>()=>e;function kA(e,{sourceEvent:n,target:o,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function hn(e,n,o){this.k=e,this.x=n,this.y=o}hn.prototype={constructor:hn,scale:function(e){return e===1?this:new hn(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new hn(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Fo=new hn(1,0,0);hn.prototype;function Jl(e){e.stopImmediatePropagation()}function Er(e){e.preventDefault(),e.stopImmediatePropagation()}function CA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function EA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Xf(){return this.__zoom||Fo}function NA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function xA(){return navigator.maxTouchPoints||"ontouchstart"in this}function SA(e,n,o){var r=e.invertX(n[0][0])-o[0][0],i=e.invertX(n[1][0])-o[1][0],a=e.invertY(n[0][1])-o[0][1],l=e.invertY(n[1][1])-o[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function vA(){var e=CA,n=EA,o=SA,r=NA,i=xA,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Ii,d=_i("start","zoom","end"),p,u,f,m=500,g=150,h=0,_=10;function y(S){S.property("__zoom",Xf).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",I).filter(i).on("touchstart.zoom",O).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",q).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(S,K,U,ee){var Y=S.selection?S.selection():S;Y.property("__zoom",Xf),S!==Y?N(S,K,U,ee):Y.interrupt().each(function(){E(this,arguments).event(ee).start().zoom(null,typeof K=="function"?K.apply(this,arguments):K).end()})},y.scaleBy=function(S,K,U,ee){y.scaleTo(S,function(){var Y=this.__zoom.k,M=typeof K=="function"?K.apply(this,arguments):K;return Y*M},U,ee)},y.scaleTo=function(S,K,U,ee){y.transform(S,function(){var Y=n.apply(this,arguments),M=this.__zoom,L=U==null?x(Y):typeof U=="function"?U.apply(this,arguments):U,v=M.invert(L),D=typeof K=="function"?K.apply(this,arguments):K;return o(b(w(M,D),L,v),Y,l)},U,ee)},y.translateBy=function(S,K,U,ee){y.transform(S,function(){return o(this.__zoom.translate(typeof K=="function"?K.apply(this,arguments):K,typeof U=="function"?U.apply(this,arguments):U),n.apply(this,arguments),l)},null,ee)},y.translateTo=function(S,K,U,ee,Y){y.transform(S,function(){var M=n.apply(this,arguments),L=this.__zoom,v=ee==null?x(M):typeof ee=="function"?ee.apply(this,arguments):ee;return o(Fo.translate(v[0],v[1]).scale(L.k).translate(typeof K=="function"?-K.apply(this,arguments):-K,typeof U=="function"?-U.apply(this,arguments):-U),M,l)},ee,Y)};function w(S,K){return K=Math.max(a[0],Math.min(a[1],K)),K===S.k?S:new hn(K,S.x,S.y)}function b(S,K,U){var ee=K[0]-U[0]*S.k,Y=K[1]-U[1]*S.k;return ee===S.x&&Y===S.y?S:new hn(S.k,ee,Y)}function x(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function N(S,K,U,ee){S.on("start.zoom",function(){E(this,arguments).event(ee).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(ee).end()}).tween("zoom",function(){var Y=this,M=arguments,L=E(Y,M).event(ee),v=n.apply(Y,M),D=U==null?x(v):typeof U=="function"?U.apply(Y,M):U,W=Math.max(v[1][0]-v[0][0],v[1][1]-v[0][1]),z=Y.__zoom,H=typeof K=="function"?K.apply(Y,M):K,Q=c(z.invert(D).concat(W/z.k),H.invert(D).concat(W/H.k));return function(le){if(le===1)le=H;else{var _e=Q(le),Z=W/_e[2];le=new hn(Z,D[0]-_e[0]*Z,D[1]-_e[1]*Z)}L.zoom(null,le)}})}function E(S,K,U){return!U&&S.__zooming||new k(S,K)}function k(S,K){this.that=S,this.args=K,this.active=0,this.sourceEvent=null,this.extent=n.apply(S,K),this.taps=0}k.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,K){return this.mouse&&S!=="mouse"&&(this.mouse[1]=K.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=K.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=K.invert(this.touch1[0])),this.that.__zoom=K,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var K=zt(this.that).datum();d.call(S,this.that,new kA(S,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:d}),K)}};function A(S,...K){if(!e.apply(this,arguments))return;var U=E(this,K).event(S),ee=this.__zoom,Y=Math.max(a[0],Math.min(a[1],ee.k*Math.pow(2,r.apply(this,arguments)))),M=Qt(S);if(U.wheel)(U.mouse[0][0]!==M[0]||U.mouse[0][1]!==M[1])&&(U.mouse[1]=ee.invert(U.mouse[0]=M)),clearTimeout(U.wheel);else{if(ee.k===Y)return;U.mouse=[M,ee.invert(M)],Ri(this),U.start()}Er(S),U.wheel=setTimeout(L,g),U.zoom("mouse",o(b(w(ee,Y),U.mouse[0],U.mouse[1]),U.extent,l));function L(){U.wheel=null,U.end()}}function T(S,...K){if(f||!e.apply(this,arguments))return;var U=S.currentTarget,ee=E(this,K,!0).event(S),Y=zt(S.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",W,!0),M=Qt(S,U),L=S.clientX,v=S.clientY;kf(S.view),Jl(S),ee.mouse=[M,this.__zoom.invert(M)],Ri(this),ee.start();function D(z){if(Er(z),!ee.moved){var H=z.clientX-L,Q=z.clientY-v;ee.moved=H*H+Q*Q>h}ee.event(z).zoom("mouse",o(b(ee.that.__zoom,ee.mouse[0]=Qt(z,U),ee.mouse[1]),ee.extent,l))}function W(z){Y.on("mousemove.zoom mouseup.zoom",null),Cf(z.view,ee.moved),Er(z),ee.event(z).end()}}function I(S,...K){if(e.apply(this,arguments)){var U=this.__zoom,ee=Qt(S.changedTouches?S.changedTouches[0]:S,this),Y=U.invert(ee),M=U.k*(S.shiftKey?.5:2),L=o(b(w(U,M),ee,Y),n.apply(this,K),l);Er(S),s>0?zt(this).transition().duration(s).call(N,L,ee,S):zt(this).call(y.transform,L,ee,S)}}function O(S,...K){if(e.apply(this,arguments)){var U=S.touches,ee=U.length,Y=E(this,K,S.changedTouches.length===ee).event(S),M,L,v,D;for(Jl(S),L=0;L<ee;++L)v=U[L],D=Qt(v,this),D=[D,this.__zoom.invert(D),v.identifier],Y.touch0?!Y.touch1&&Y.touch0[2]!==D[2]&&(Y.touch1=D,Y.taps=0):(Y.touch0=D,M=!0,Y.taps=1+!!p);p&&(p=clearTimeout(p)),M&&(Y.taps<2&&(u=D[0],p=setTimeout(function(){p=null},m)),Ri(this),Y.start())}}function C(S,...K){if(this.__zooming){var U=E(this,K).event(S),ee=S.changedTouches,Y=ee.length,M,L,v,D;for(Er(S),M=0;M<Y;++M)L=ee[M],v=Qt(L,this),U.touch0&&U.touch0[2]===L.identifier?U.touch0[0]=v:U.touch1&&U.touch1[2]===L.identifier&&(U.touch1[0]=v);if(L=U.that.__zoom,U.touch1){var W=U.touch0[0],z=U.touch0[1],H=U.touch1[0],Q=U.touch1[1],le=(le=H[0]-W[0])*le+(le=H[1]-W[1])*le,_e=(_e=Q[0]-z[0])*_e+(_e=Q[1]-z[1])*_e;L=w(L,Math.sqrt(le/_e)),v=[(W[0]+H[0])/2,(W[1]+H[1])/2],D=[(z[0]+Q[0])/2,(z[1]+Q[1])/2]}else if(U.touch0)v=U.touch0[0],D=U.touch0[1];else return;U.zoom("touch",o(b(L,v,D),U.extent,l))}}function q(S,...K){if(this.__zooming){var U=E(this,K).event(S),ee=S.changedTouches,Y=ee.length,M,L;for(Jl(S),f&&clearTimeout(f),f=setTimeout(function(){f=null},m),M=0;M<Y;++M)L=ee[M],U.touch0&&U.touch0[2]===L.identifier?delete U.touch0:U.touch1&&U.touch1[2]===L.identifier&&delete U.touch1;if(U.touch1&&!U.touch0&&(U.touch0=U.touch1,delete U.touch1),U.touch0)U.touch0[1]=this.__zoom.invert(U.touch0[0]);else if(U.end(),U.taps===2&&(L=Qt(L,this),Math.hypot(u[0]-L[0],u[1]-L[1])<_)){var v=zt(this).on("dblclick.zoom");v&&v.apply(this,arguments)}}}return y.wheelDelta=function(S){return arguments.length?(r=typeof S=="function"?S:Mi(+S),y):r},y.filter=function(S){return arguments.length?(e=typeof S=="function"?S:Mi(!!S),y):e},y.touchable=function(S){return arguments.length?(i=typeof S=="function"?S:Mi(!!S),y):i},y.extent=function(S){return arguments.length?(n=typeof S=="function"?S:Mi([[+S[0][0],+S[0][1]],[+S[1][0],+S[1][1]]]),y):n},y.scaleExtent=function(S){return arguments.length?(a[0]=+S[0],a[1]=+S[1],y):[a[0],a[1]]},y.translateExtent=function(S){return arguments.length?(l[0][0]=+S[0][0],l[1][0]=+S[1][0],l[0][1]=+S[0][1],l[1][1]=+S[1][1],y):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},y.constrain=function(S){return arguments.length?(o=S,y):o},y.duration=function(S){return arguments.length?(s=+S,y):s},y.interpolate=function(S){return arguments.length?(c=S,y):c},y.on=function(){var S=d.on.apply(d,arguments);return S===d?y:S},y.clickDistance=function(S){return arguments.length?(h=(S=+S)*S,y):Math.sqrt(h)},y.tapDistance=function(S){return arguments.length?(_=+S,y):_},y}var Ee=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(Ee||{}),Ql=(e=>(e.Partial="partial",e.Full="full",e))(Ql||{}),no=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(no||{}),An=(e=>(e.Strict="strict",e.Loose="loose",e))(An||{}),Nr=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(Nr||{}),xr=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(xr||{}),Zf=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(Zf||{});const AA=["INPUT","SELECT","TEXTAREA"],IA=typeof document<"u"?document:null;function es(e){var n,o;const r=((o=(n=e.composedPath)==null?void 0:n.call(e))==null?void 0:o[0])||e.target,i=typeof(r==null?void 0:r.hasAttribute)=="function"?r.hasAttribute("contenteditable"):!1,a=typeof(r==null?void 0:r.closest)=="function"?r.closest(".nokey"):null;return AA.includes(r==null?void 0:r.nodeName)||i||!!a}function TA(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function Jf(e,n,o,r){const i=n.replace("+",`
|
|
118
|
+
`},Symbol.toStringTag,{value:"Module"})),f1={class:"dk-code-editor"},p1={class:"examples-content"},m1={ref:"editor-root",class:"editor"},bl="YAML Syntax",Mu="datakit.insert-example",Fu=ve(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(e,{expose:n,emit:o}){const r=t.inject(Hn.DATAKIT_M2,!1),{t:i}=Qe.createI18n("en-us",et),{formData:a,resetFormData:l}=Ge(),s=o,{getMessageFromError:c}=be.useErrors(),d=t.useTemplateRef("editor-root"),p=t.shallowRef(null);function u(m){const g=p.value,h=g==null?void 0:g.getModel();if(!g||!h)return;const y=_l[m];if(!r&&g.getValue()!==y&&(g.pushUndoStop(),g.executeEdits(Mu,[{range:h.getFullModelRange(),text:y}]),g.pushUndoStop()),r)try{const _=g.getValue()||"",w=xn.load(_,{schema:Nn,json:!0}),b=xn.load(y,{schema:Nn,json:!0});if(ko(w.config,b))return;const x=qn({...a,config:{...b}},["__ui_data"]),N=xn.dump(x,{schema:Nn,noArrayIndent:!0});g.pushUndoStop(),g.executeEdits(Mu,[{range:h.getFullModelRange(),text:N}]),g.pushUndoStop()}catch(_){s("error",c(_))}f()}function f(){const m=p.value,g=m==null?void 0:m.getModel();!m||!g||(m.setPosition(g.getFullModelRange().getEndPosition()),m.focus())}return t.onMounted(()=>{const m=Lr.editor.create(d.value,{language:"yaml",automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep"});if(p.value=m,!r&&a.config&&Object.keys(a.config).length>0){const g={...a.config};g.nodes&&g.nodes.length===0&&delete g.nodes;const h=Object.keys(g).length===0?"":xn.dump(t.toRaw(g),{schema:Nn,noArrayIndent:!0});m.setValue(h),f()}if(r){const g=qn({...a},["__ui_data"]),h=xn.dump(g,{schema:Nn,noArrayIndent:!0});m.setValue(h),f()}m.onDidChangeModelContent(()=>{const g=m.getModel(),h=m.getValue()||"";try{const y=xn.load(h,{schema:Nn,json:!0});Lr.editor.setModelMarkers(g,bl,[]),r?l(y):a.config=y,s("change",y)}catch(y){const{message:_,mark:w}=y,{line:b,column:x}=w||{line:0,column:0},N=_.split(`
|
|
119
|
+
`)[0],E=[{startLineNumber:b+1,startColumn:x+1,endLineNumber:b+1,endColumn:x+2,message:N,severity:Lr.MarkerSeverity.Error,source:bl}];Lr.editor.setModelMarkers(g,bl,E),s("error",N)}})}),t.onBeforeUnmount(()=>{var m;(m=p.value)==null||m.dispose()}),n({setExampleCode:u}),(m,g)=>(t.openBlock(),t.createElementBlock("div",f1,[t.createVNode(t.unref(Be.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(xe.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",p1,[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(_l,(h,y)=>t.createVNode(t.unref(Be.KButton),{key:y,appearance:"secondary",size:"small",onClick:_=>u(y)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)(`plugins.free-form.datakit.examples.${y}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createElementVNode("div",m1,null,512)]))}}),[["__scopeId","data-v-261c3a3c"]]),Lu=["request","service_request","service_response","response","vault"],To=Lu,Uu=["call","jq","exit","property","static","branch","cache"],Ku=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],xt={call:{icon:xe.NetworkIcon,colors:{foreground:AC,background:hC}},jq:{icon:xe.CodeblockIcon,colors:{foreground:EC,background:fC}},exit:{icon:xe.GatewayIcon,colors:{foreground:nl,background:wC}},property:{icon:xe.StackIcon,colors:{foreground:SC,background:vC}},static:{icon:xe.VitalsIcon,colors:{foreground:NC,background:xC}},branch:{icon:xe.ArrowSplitIcon,colors:{foreground:kC,background:uC}},cache:{icon:xe.CachedIcon,colors:{foreground:CC,background:"#fff0f7"}},vault:{icon:xe.KeyIcon},request:{icon:xe.CloudIcon},service_request:{icon:xe.CloudIcon},service_response:{icon:xe.CloudIcon},response:{icon:xe.CloudIcon}},{t:wl}=Qe.createI18n("en-us",et);function Lt(e){return wl(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function Zn(e){return wl(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function g1(e){return wl(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const kl={call:{type:"call",summary:Zn("call"),description:Lt("call"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}},...xt.call},jq:{type:"jq",summary:Zn("jq"),description:Lt("jq"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...xt.jq},exit:{type:"exit",summary:Zn("exit"),description:Lt("exit"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...xt.exit},property:{type:"property",summary:Zn("property"),description:Lt("property"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...xt.property},static:{type:"static",summary:Zn("static"),description:Lt("static"),io:{output:{fields:[],configurable:!0}},...xt.static},branch:{type:"branch",summary:Zn("branch"),description:Lt("branch"),io:{input:{fields:[]},next:{branches:[{name:"then"},{name:"else"}]}},...xt.branch},cache:{type:"cache",summary:Zn("cache"),description:Lt("cache"),io:{input:{fields:[{name:"data"},{name:"key"},{name:"ttl"}]},output:{fields:[{name:"data"},{name:"hit"},{name:"miss"},{name:"stored"}]}},...xt.cache}},pi={request:{type:"request",description:Lt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...xt.request},service_request:{type:"service_request",description:Lt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...xt.service_request},service_response:{type:"service_response",description:Lt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...xt.service_response},response:{type:"response",description:Lt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...xt.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...xt.vault,hidden:!0}},Cl=Object.keys(pi),El=e=>Cl.includes(e),h1=e=>[...Cl,...Uu].includes(e),$t=e=>Cl.includes(e),Nl=e=>$t(e.type),ju=e=>!!(e!=null&&e.startsWith("node:")),ur=e=>Object.prototype.hasOwnProperty.call(e,"ownerId");function fn(e){return wo(e)}function xl(e,n){if(e.length!==n.length)return!1;if(e.length===0)return!0;const o=new Set(n);return e.every(r=>o.has(r))}function Oo(e){return`${e}:${ei()}`}function mi(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function Gu(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function $o(e){return $t(e)?pi[e]:kl[e]}function qu(e){var i,a,l,s;const n=$o(e),o=((a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields.map(({name:c})=>c))??[],r=((s=(l=n.io)==null?void 0:l.output)==null?void 0:s.fields.map(({name:c})=>c))??[];return{input:o,output:r}}function fr(e){var o,r,i;return((i=(r=(o=$o(e).io)==null?void 0:o.next)==null?void 0:r.branches)==null?void 0:i.map(({name:a})=>a))??[]}function zu(e){return(e??[]).map(n=>({id:Oo("field"),name:n}))}function Sn(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function vn(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function Sl(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function Hu(e,n){return n?e.fields.input.some(o=>o.id===n):!0}function y1(e){const n=["request","service_request","vault"].includes(e)?"request":"response",o=pi[e];return{name:e,phase:n,position:{x:0,y:0},fields:qu(o.type),expanded:{},hidden:o.hidden}}function Yu(e,n){const r=(typeof e=="string"&&h1(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${r}_${i}`;if(!n.has(a))return a}}function vl(e,n){return`${e}:${n}`}function _1(e){const n=e.lastIndexOf(":");if(n===-1)throw new Error(`Invalid group ID format: ${e}`);const o=e.slice(0,n),r=e.slice(n+1);return{nodeId:o,branch:r}}function gi(e,n){return`${e}:${n}`}function Wu(e,n,o,r,i){return{id:vl(e,n),ownerId:e,branch:n,phase:o,memberIds:[...r],position:i!=null&&i.position?{...i.position}:void 0,dimensions:i!=null&&i.dimensions?{...i.dimensions}:void 0}}function b1(e){return e.map(({source:n,target:o})=>({source:n,target:o}))}function w1(e){const n=[];for(const o of e)for(const r of o.memberIds)n.push({source:o.ownerId,target:r});return n}function Xu(e,n){return[...b1(e),...w1(n)]}function hi(e,n){const o=new Map;for(const{source:r,target:i}of e)o.has(r)||o.set(r,[]),o.get(r).push(i),o.has(i)||o.set(i,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}function Al(e){const n=new Set,o=new Set;function r(i){if(o.has(i))return!0;if(n.has(i))return!1;n.add(i),o.add(i);for(const a of e.get(i)??[])if(r(a))return!0;return o.delete(i),!1}for(const i of e.keys())if(r(i))return!0;return!1}function Il(e,n){const o=e.config;if(!o)return[];const r=o[n];return Array.isArray(r)?r.filter(i=>typeof i=="string"&&ju(i)):[]}function k1({state:e,groupMapById:n,getNodeById:o,history:r}){const i=t.computed(()=>{const P=new Map;for(const T of e.value.groups)for(const k of T.memberIds)P.set(k,{ownerId:T.ownerId,branch:T.branch});return P}),a=t.computed(()=>{const P=new Map;for(const T of e.value.groups)for(const k of T.memberIds)P.set(k,T);return P}),l=t.computed(()=>{const P=new Map;for(const T of e.value.groups)P.has(T.ownerId)||P.set(T.ownerId,[]),P.get(T.ownerId).push(T);return P}),s=t.computed(()=>Xu(e.value.edges,e.value.groups)),c=t.computed(()=>hi(s.value));function d(P,T){return P?fr(P.type).includes(T):!1}function p(P,T){if(T===P.id)return!1;const k=o(T);return!(!k||$t(k.type)||k.phase!==P.phase)}function u(P,T){const k=[],G=new Set;for(const S of T)G.has(S)||(G.add(S),p(P,S)&&k.push(S));return k}function f(P,T,k){const G=o(P);return d(G,T)?u(G,k):[]}function m(P,T,k){const G=vl(P.id,T),S=n.value.get(G);k.length>0?S?(S.phase!==P.phase&&(S.phase=P.phase),xl(S.memberIds,k)||(S.position=void 0,S.dimensions=void 0,S.memberIds=[...k])):e.value.groups.push(Wu(P.id,T,P.phase,k)):S&&(e.value.groups=e.value.groups.filter(L=>L.id!==G))}function g(P,T,k,G={}){const S=o(P);if(!d(S,T))return!1;const L=u(S,k),F=Il(S,T);if(xl(F,L))return!1;const ne=S.config??(S.config={});return L.length>0?ne[T]=[...L]:(delete ne[T],Object.keys(ne).length===0&&delete S.config),m(S,T,L),(G.commit??!0)&&r.commit(G.tag),!0}function h(P,T={}){const k=e.value.groups.filter(G=>G.ownerId!==P);return k.length===e.value.groups.length?!1:(e.value.groups=k,(T.commit??!0)&&r.commit(T.tag),!0)}function y(P,T){const k=n.value.get(vl(P,T));if(k)return[...k.memberIds];const G=o(P);return G?Il(G,T):[]}function _(P){return i.value.get(P)}function w(P){const T=[];let k=a.value.get(P);for(;k;)T.push(k.id),k=a.value.get(k.ownerId);return T}function b(P,T){const k=w(T);if(k.length===0)return!1;const G=new Set(w(P));return G.size===0?!0:k.some(S=>!G.has(S))}function x(P,T){if(P===T)return!0;const k=new Set,G=[T];for(;G.length>0;){const S=G.pop();if(k.has(S))continue;if(k.add(S),S===P)return!0;const L=c.value.get(S);if(L)for(const F of L)k.has(F)||G.push(F)}return!1}function N(P,T,k,G={}){const S=o(P);if(!S||!d(S,T)||!p(S,k)||x(P,k))return!1;const L=Il(S,T);if(L.includes(k))return!1;E(k,{commit:!1});const F=[...L,k];return g(P,T,F,{commit:!1})?((G.commit??!0)&&r.commit(G.tag),!0):!1}function E(P,T={}){const k=_(P);if(!k)return!1;const G=y(k.ownerId,k.branch),S=G.filter(L=>L!==P);return S.length===G.length?!1:g(k.ownerId,k.branch,S,T)}function C(P){let T=0;const k=new Set;let G=a.value.get(P);for(;G&&!k.has(G.id);)T+=1,k.add(G.id),G=a.value.get(G.ownerId);return T}function A(P){const T=n.value.get(P);return T?C(T.ownerId):0}function I(P){return P?n.value.has(P):!1}return{memberGroupMap:a,groupsByOwner:l,findMembership:_,getMembers:y,wouldCreateCycle:x,setMembers:g,prepareMembers:f,addMember:N,removeMember:E,clear:h,getNodeDepth:C,getGroupDepth:A,isGroupId:I,isEdgeEnteringGroup:b}}function C1(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d,redoStack:p}=qe.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let u;function f(b){var x;(x=n==null?void 0:n.onHistoryChange)==null||x.call(n,b,e.value)}function m(b){if(!b){u=void 0,o(),f("commit");return}if(b!=="*"&&u!==b){u=b,o(),f("commit");return}o(),d.value.shift(),f("commit")}function g(){r(),u=void 0,f("undo")}function h(){i(),u=void 0,f("redo")}function y(){s(),u=void 0,f("clear")}function _(){c(),u=void 0,f("reset")}function w(){r(),p.value.shift(),u=void 0,f("revert")}return{canUndo:a,canRedo:l,commit:m,undo:g,redo:h,clear:y,reset:_,revert:w}}function E1(e){var n,o;return((o=(n=e.config)==null?void 0:n.resources)==null?void 0:o.vault)||{}}function N1(e){const{resources:n}=e.config||{};return n!=null&&n.vault?Object.keys(n.vault):[]}function x1(e){const n=Object.entries(e);if(n.length===0)return;const o={};for(const[r,i]of n)o[r]=i;return o}function Zu(e,n){var y,_,w,b,x,N,E;const o=((y=e.config)==null?void 0:y.nodes)??[],r=((_=e.__ui_data)==null?void 0:_.nodes)??[],i=((w=e.__ui_data)==null?void 0:w.groups)??[],a=new Map(r.map(C=>[C.name,C])),l=new Map(i.map(C=>[C.name,C])),s=[],c=[],d=new Map,p=[],u=[],f=new Map,m=C=>{const A=new Set,I=[...C];for(;I.length>0;){const P=I.shift();if(!A.has(P)&&(A.add(P),El(P)||(d.get(P).phase="request"),!!f.has(P)))for(const T of f.get(P))A.has(T)||I.push(T)}};let g=!1;for(const C of o){const A=a.get(C.name);!A&&!g&&(g=!0);const I=Qu({type:C.type,configNode:C,uiNode:A,pluginData:e});s.push(I),d.set(I.name,I)}for(const C of s){const A=fr(C.type);if(!A.length)continue;const I=C.config;if(I)for(const P of A){const T=I[P];if(!Array.isArray(T)){l.has(gi(C.name,P))&&(g=!0);continue}const k=[];for(const G of T){if(typeof G!="string")continue;const S=d.get(G);S&&!$t(S.type)&&k.push(S.id)}if(k.length){I[P]=k;const G=gi(C.name,P),S=l.get(G),L=S?{position:fn(S.position)}:void 0,F=Wu(C.id,P,C.phase,k,L);p.push(F),!S&&!g&&(g=!0)}else delete I[P],l.has(gi(C.name,P))&&(g=!0)}}for(const C of To)if(!d.has(C)){let A=a.get(C);A||(g||(g=!0),A=y1(C));const I=Qu({type:C,uiNode:A,pluginData:e});s.push(I),d.set(I.name,I)}for(const C of o)A1(C,u);for(const C of u){const A=d.get(C.source),I=d.get(C.target);if(!A||!I){A||console.warn(`[initEditorState] skip: source "${C.source}" not found`),I||console.warn(`[initEditorState] skip: target "${C.target}" not found`);continue}f.has(C.source)||f.set(C.source,new Set),f.get(C.source).add(C.target),f.has(C.target)||f.set(C.target,new Set),f.get(C.target).add(C.source),c.push({id:Oo("edge"),source:A.id,sourceField:(b=Sn(A,"output",C.sourceField))==null?void 0:b.id,target:I.id,targetField:(x=Sn(I,"input",C.targetField))==null?void 0:x.id})}m(["request","service_request"]);let h=null;return(E=(N=e.config)==null?void 0:N.resources)!=null&&E.cache&&(h={...e.config.resources.cache},e.partials&&(h.partial_id=e.partials[0].id)),{nodes:s,edges:c,groups:p,pendingLayout:g?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,...h?{cacheConfig:h}:{}}}function Ju(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=qu(n),c=$o(n);return{id:Oo("node"),type:n,name:o??n,phase:r??"request",position:i??{x:0,y:0},expanded:{},fields:{input:zu((a==null?void 0:a.input)??s.input),output:zu((a==null?void 0:a.output)??s.output)},hidden:e.hidden||c.hidden,config:l?fn(l):{}}}function S1(e){return $t(e)?e==="request"||e==="service_request"?"request":"response":"request"}function Qu({type:e,configNode:n,uiNode:o,pluginData:r}){return Ju({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??S1(e),position:o==null?void 0:o.position,fields:I1({type:e,uiNode:o,configNode:n,pluginData:r}),hidden:o==null?void 0:o.hidden,config:P1({type:e,configNode:n,pluginData:r})})}function v1(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return fn(s)}function A1(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=mi(e.input);r&&n.push({source:r,sourceField:i,target:o})}if(e.inputs)for(const[r,i]of Object.entries(e.inputs)){if(!i)continue;const{nodeName:a,fieldName:l}=mi(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=mi(e.output);r&&n.push({source:o,target:r,targetField:i})}if(e.outputs)for(const[r,i]of Object.entries(e.outputs)){if(!i)continue;const{nodeName:a,fieldName:l}=mi(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function I1({type:e,uiNode:n,configNode:o,pluginData:r}){var s,c,d,p;const i=$o(e),a=i==null?void 0:i.io;if(!a)return;const l={};if((s=a.input)!=null&&s.configurable&&(n?l.input=((c=n.fields)==null?void 0:c.input)??[]:o!=null&&o.inputs&&(l.input=Object.keys(o.inputs))),(d=a.output)!=null&&d.configurable){if(n)l.output=((p=n.fields)==null?void 0:p.output)??[];else{const u=new Set;o!=null&&o.outputs&&Object.keys(o.outputs).forEach(f=>u.add(f)),(o==null?void 0:o.type)==="static"&&o.values&&Object.keys(o.values).forEach(f=>u.add(f)),u.size&&(l.output=Array.from(u))}e==="vault"&&(l.output=N1(r))}return Object.keys(l).length?l:void 0}function P1({type:e,configNode:n,pluginData:o}){return e==="vault"?E1(o):n?v1(n):void 0}function T1(e){const n=t.computed(()=>{const u=new Map;return e.value.nodes.forEach(f=>u.set(f.id,f)),u}),o=t.computed(()=>e.value.edges),r=t.computed(()=>e.value.groups),i=t.computed(()=>Xu(o.value,r.value));function a(u){return hi(i.value,u?{source:u.source,target:u.target}:void 0)}function l(u){const f=n.value.get(u.source),m=n.value.get(u.target);if(!f||!m)return u;const g=Hu(f,u.sourceField)&&!Sl(f,u.sourceField),h=Sl(m,u.targetField);return g&&h?{source:u.target,sourceField:u.targetField,target:u.source,targetField:u.sourceField}:u}function s(u){const f=l(u),m=[],g=n.value.get(f.source),h=n.value.get(f.target);if(g||m.push("source node not found"),h||m.push("target node not found"),!g||!h)return{ok:!1,errors:m};Sl(g,f.sourceField)||m.push("source handle is not an output field"),Hu(h,f.targetField)||m.push("target handle is not an input field"),h.name==="request"&&m.push('cannot target "request"'),g.name==="response"&&m.push('cannot source from "response"');const y=o.value.some(b=>b.target===f.target&&!b.targetField),_=o.value.some(b=>b.target===f.target&&!!b.targetField);(y&&f.targetField||_&&!f.targetField)&&m.push("cannot mix whole-node and field-level inputs on same target"),f.targetField&&o.value.some(b=>b.target===f.target&&b.targetField===f.targetField)&&m.push("target field already connected"),!f.targetField&&o.value.some(b=>b.target===f.target&&!b.targetField)&&m.push("target input already taken"),f.source===f.target&&m.push("self-loop not allowed");const w=a({source:f.source,target:f.target});return Al(w)&&m.push("connection introduces a cycle"),m.length?{ok:!1,errors:m}:{ok:!0}}function c(){const u=[];for(const f of To)[...n.value.values()].some(m=>m.name===f)||u.push(`missing implicit node "${f}"`);for(const f of o.value){const m=n.value.get(f.source);n.value.get(f.target).name==="request"&&u.push(`edge "${f.id}" targets "request"`),m.name==="response"&&u.push(`edge "${f.id}" sources from "response"`)}return Al(a())&&u.push("graph contains cycle"),u.length?{ok:!1,errors:u}:{ok:!0}}function d(u){return s(u).ok}function p(u){return!u.source||!u.target?!1:d({source:u.source,sourceField:u.sourceHandle,target:u.target,targetField:u.targetHandle})}return{canonicalizeConnection:l,validateConnection:s,validateGraph:c,isValidConnection:d,isValidVueFlowConnection:p,buildAdjacency:hi}}const[ef,O1]=qe.createInjectionState(function(n,o={}){const r=t.ref(Zu(n)),i=t.ref(),a=t.ref(),l=t.ref(!1),s=t.ref(!1),c=C1(r,{capacity:200,clone:fn,onHistoryChange:j=>{var z,ue;j!=="clear"&&((ue=o.onChange)==null||ue.call(o,te(),re(),ce(),(z=r.value.cacheConfig)==null?void 0:z.partial_id))}}),d=t.ref(!1),p=t.ref(new Set);function u(){r.value.pendingLayout=!1,c.commit("*")}function f(j=!0){r.value.pendingFitView!==j&&(r.value.pendingFitView=j,c.commit("*"))}const m=t.computed(()=>{const j={request:0,response:0};return r.value.nodes.forEach(z=>{$t(z.type)||j[z.phase]++}),j}),g=t.computed(()=>new Map(r.value.nodes.map(j=>[j.id,j]))),h=t.computed(()=>new Map(r.value.nodes.map(j=>[j.name,j]))),y=t.computed(()=>{const j=new Map,z=new Map;for(const ue of r.value.edges)j.set(ue.id,ue),z.has(ue.source)||z.set(ue.source,new Set),z.get(ue.source).add(ue.id),z.has(ue.target)||z.set(ue.target,new Set),z.get(ue.target).add(ue.id);return{edgeMapById:j,edgeIdMapByNodeId:z}}),_=t.computed(()=>y.value.edgeMapById),w=t.computed(()=>y.value.edgeIdMapByNodeId),b=t.computed(()=>new Map(r.value.groups.map(j=>[j.id,j]))),x=t.computed(()=>new Set(r.value.nodes.map(j=>j.name))),N=k1({state:r,groupMapById:b,getNodeById:T,history:c}),{canonicalizeConnection:E,validateConnection:C,validateGraph:A,isValidConnection:I,isValidVueFlowConnection:P}=T1(r);function T(j){return g.value.get(j)}function k(j){return h.value.get(j)}function G(j){return _.value.get(j)}function S(j){if(!w.value.has(j))return[];const z=[];return w.value.get(j).forEach(ue=>{const me=G(ue);me&&z.push(me)}),z}function L(j){return S(j).filter(z=>z.target===j)}function F(j){return S(j).filter(z=>z.source===j)}const ne=t.computed(()=>i.value?T(i.value):void 0);function Y(j){i.value=j}function D(j){a.value=j}function M(j){if($t(j.type))throw new Error("[createNode] implicit nodes are fixed.");return Ju({type:j.type,name:j.name||($t(j.type)?void 0:Yu(j.type,x.value)),phase:j.phase,position:j.position,fields:j.fields,config:j.config})}function v(j,z=!0){const ue=M(j);if(ue)return r.value.nodes.push(ue),z&&c.commit(),d.value=!0,ue.id}function B(j,z,ue=!0){const me=T(j);if(!me||$t(me.type))return;const Q={...fn(me),id:Oo("node"),name:Yu(me.name,x.value),position:z??{x:me.position.x+20,y:me.position.y+20}},ke=fr(Q.type);if(ke.length&&Q.config){for(const Se of ke)delete Q.config[Se];Object.keys(Q.config).length===0&&delete Q.config}return r.value.nodes.push(Q),ue&&c.commit(),d.value=!0,Q.id}function W(j,z=!0){if(!T(j))return;r.value.edges=r.value.edges.filter(Q=>Q.source!==j&&Q.target!==j),N.clear(j,{commit:!1}),N.removeMember(j,{commit:!1}),r.value.nodes=r.value.nodes.filter(Q=>Q.id!==j),i.value===j&&(i.value=void 0);const me=A();me.ok||console.warn("[removeNode] topology invalid:",me.errors.join("; ")),z&&c.commit()}function X(j,z,ue=!0,me){const Q=T(j);if(!Q)return;if(El(Q.name)){console.warn("[renameNode] implicit node name is reserved.");return}Q.name!==z&&(Q.name=z,ue&&c.commit(me))}function oe(j,z,ue=!0){const me=T(j);me&&(me.position={...z},ue&&c.commit())}function H(j,z,ue=!0){const me=b.value.get(j);if(!me)return;const Q=me.position;Q&&Q.x===z.x&&Q.y===z.y||(me.position={...z},ue&&c.commit())}function ae(j,z,ue=!0){const me=b.value.get(j);if(!me)return!1;const Q={...z.position},ke={...z.dimensions},Se=me.position&&me.position.x===Q.x&&me.position.y===Q.y,ge=me.dimensions&&me.dimensions.width===ke.width&&me.dimensions.height===ke.height;return Se&&ge?!1:(me.position=Q,me.dimensions=ke,ue&&c.commit(),!0)}function he(j,z,ue,me=!0,Q){const ke=T(j);if(!ke)return;const Se=ue??!ke.expanded[z];Se!==!!ke.expanded[z]&&(ke.expanded[z]=Se,me&&c.commit(Q??`toggle:${j}:${z}`))}function ee(j,z,ue=!0,me){const Q=T(j);Q&&(Q.config=fn(z),ue&&c.commit(me))}function ie(j,z,ue,me=!0){const Q=T(j);if(!Q)return;const ke=Q.fields[z];if(ke.some(Se=>Se.name===ue)){console.warn(`[addField] field "${ue}" already exists on ${z}.`);return}ke.push({id:Oo("field"),name:ue}),z==="input"?Q.fields.input=ke:Q.fields.output=ke,me&&c.commit()}function se(j,z,ue,me=!0){const Q=T(j);if(!Q)return;const ke=Q.fields.input,Se=Q.fields.output,ge=ke.find(ye=>ye.id===z)??Se.find(ye=>ye.id===z);ge&&(ge.name=ue,me&&c.commit())}function pe(j,z,ue=!0,me=!0){const Q=T(j);if(!Q)return;const ke=Q.fields.input,Se=Q.fields.output,ge=ke.findIndex(mt=>mt.id===z);ge>=0&&ke.splice(ge,1);const ye=Se.findIndex(mt=>mt.id===z);ye>=0&&Se.splice(ye,1),Q.fields.input=ke,Q.fields.output=Se,ue&&(r.value.edges=r.value.edges.filter(mt=>mt.sourceField!==z&&mt.targetField!==z));const Xe=A();Xe.ok||console.warn("[removeField] topology invalid:",Xe.errors.join("; ")),me&&c.commit()}function fe(j,z=!0){const ue=E(j),me=C(ue);if(!me.ok){console.warn("[connectEdge] invalid connection:",me.errors.join("; "));return}const Q={id:Oo("edge"),...ue};r.value.edges.push(Q);const ke=A();if(!ke.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",ke.errors.join("; "));return}return z&&c.commit(),Q.id}function O(j,z,ue=!0){$(j,!1),fe(z,!1),ue&&c.commit()}function $(j,z=!0){const ue=r.value.edges.findIndex(ke=>ke.id===j);if(ue<0)return;const me=r.value.edges[ue];r.value.edges.splice(ue,1);const Q=A();if(!Q.ok){r.value.edges.splice(ue,0,me),console.warn("[disconnectEdge] topology invalid:",Q.errors.join("; "));return}z&&c.commit()}function R(j,z=!0){const ue=L(j);for(const me of ue)$(me.id,!1);z&&c.commit()}function V(j,z=!0){const ue=F(j);for(const me of ue)$(me.id,!1);z&&c.commit()}function te(){var z,ue,me,Q,ke;const j=[];for(const Se of r.value.nodes){if($t(Se.type))continue;let ge;const ye={};let Xe;const mt={};for(const ft of r.value.edges.filter(He=>He.target===Se.id)){const He=T(ft.source);if(!He)continue;const $e=(z=vn(He,"output",ft.sourceField))==null?void 0:z.name,le=$e?`${He.name}.${$e}`:He.name,we=(ue=vn(Se,"input",ft.targetField))==null?void 0:ue.name;we?ye[we]=le:ge===void 0&&(ge=le)}for(const ft of r.value.edges.filter(He=>He.source===Se.id)){const He=T(ft.target);if(!He)continue;const $e=He.type;if(!$t($e)||!((me=pi[$e].io)!=null&&me.input))continue;const le=(Q=vn(He,"input",ft.targetField))==null?void 0:Q.name,we=le?`${He.name}.${le}`:He.name,de=(ke=vn(Se,"output",ft.sourceField))==null?void 0:ke.name;de?mt[de]=we:Xe===void 0&&(Xe=we)}const kt={...fn(Se.config),name:Se.name,type:Se.type},an=fr(Se.type);if(an.length)for(const ft of an){const He=kt[ft];if(!Array.isArray(He))continue;const $e=[];for(const le of He){const we=T(le);we&&$e.push(we.name)}$e.length?kt[ft]=Array.from(new Set($e)):delete kt[ft]}Object.keys(ye).length>0?kt.inputs=ye:ge!==void 0&&(kt.input=ge),Object.keys(mt).length>0?kt.outputs=mt:Xe!==void 0&&(kt.output=Xe),j.push(kt)}return j}function K(){return r.value.nodes.map(j=>fn({name:j.name,phase:j.phase,position:{...j.position},expanded:{...j.expanded},fields:{input:j.fields.input.map(z=>z.name),output:j.fields.output.map(z=>z.name)}}))}function ce(){const j={},z=k("vault");if(z){const ue=x1(z.config);ue&&Object.keys(ue).length>0&&(j.vault=ue)}if(r.value.cacheConfig){const{strategy:ue,redis:me,memory:Q}=r.value.cacheConfig;j.cache={strategy:ue,redis:me,memory:Q}}if(Object.keys(j).length!==0)return j}function U(){const j=[];for(const z of r.value.groups){const ue=T(z.ownerId);if(!ue)continue;const me=z.position;me&&j.push({name:gi(ue.name,z.branch),position:{...me}})}return j}function re(){return{nodes:K(),groups:U()}}function q(j,z){z&&c.commit(),r.value=Zu(j,z),z||c.clear()}return{state:r,selection:i,portalSelection:a,modalOpen:l,skipValidation:d,invalidConfigNodeIds:p,propertiesPanelOpen:s,configNodeCounts:m,nodeMapById:g,nodeMapByName:h,edgeMapById:_,edgeIdMapByNodeId:w,groupMapById:b,getNodeById:T,getNodeByName:k,getEdgeById:G,getEdgesByNodeId:S,getInEdgesByNodeId:L,getOutEdgesByNodeId:F,selectedNode:ne,selectNode:Y,selectPortalEdge:D,createNode:M,addNode:v,duplicateNode:B,removeNode:W,renameNode:X,moveNode:oe,moveGroup:H,setGroupLayout:ae,toggleExpanded:he,replaceConfig:ee,branchGroups:N,addField:ie,renameField:se,removeField:pe,connectEdge:fe,replaceConnection:O,disconnectEdge:$,disconnectInEdges:R,disconnectOutEdges:V,toConfigNodes:te,toUINodes:K,toUIGroups:U,toUIData:re,load:q,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,revert:c.revert,isValidConnection:I,isValidVueFlowConnection:P,validateGraph:()=>A(),clearPendingLayout:u,setPendingFitView:f}});function nt(){const e=O1();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const{t:$1}=Qe.createI18n("en-us",et),Pl=qe.createGlobalState(()=>{const e=qe.useLocalStorage("datakit-editor-mode","flow"),n=qe.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});function B1({enabled:e,confirm:n}){mo.onBeforeRouteLeave(()=>t.toValue(e)?n?n():window.confirm($1("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const o=r=>{t.toValue(e)&&r.preventDefault()};qe.useEventListener("beforeunload",o)}function yi(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function pn(e){return typeof e=="function"?e():t.unref(e)}const V1=typeof window<"u"&&typeof document<"u",D1=e=>typeof e<"u",R1=Object.prototype.toString,M1=e=>R1.call(e)==="[object Object]",F1=()=>{};function L1(e,n){function o(...r){return new Promise((i,a)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(i).catch(a)})}return o}const tf=e=>e();function U1(e=tf){const n=t.ref(!0);function o(){n.value=!1}function r(){n.value=!0}const i=(...a)=>{n.value&&e(...a)};return{isActive:t.readonly(n),pause:o,resume:r,eventFilter:i}}function nf(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function K1(e,n,o={}){const{eventFilter:r=tf,...i}=o;return t.watch(e,L1(r,n),i)}function Bo(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=U1(r);return{stop:K1(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function j1(e,n={}){if(!t.isRef(e))return t.toRefs(e);const o=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)o[r]=t.customRef(()=>({get(){return e.value[r]},set(i){var a;if((a=pn(n.replaceRef))!=null?a:!0)if(Array.isArray(e.value)){const s=[...e.value];s[r]=i,e.value=s}else{const s={...e.value,[r]:i};Object.setPrototypeOf(s,Object.getPrototypeOf(e.value)),e.value=s}else e.value[r]=i}}));return o}function Tl(e,n=!1){function o(u,{flush:f="sync",deep:m=!1,timeout:g,throwOnTimeout:h}={}){let y=null;const w=[new Promise(b=>{y=t.watch(e,x=>{u(x)!==n&&(y==null||y(),b(x))},{flush:f,deep:m,immediate:!0})})];return g!=null&&w.push(nf(g,h).then(()=>pn(e)).finally(()=>y==null?void 0:y())),Promise.race(w)}function r(u,f){if(!t.isRef(u))return o(x=>x===u,f);const{flush:m="sync",deep:g=!1,timeout:h,throwOnTimeout:y}=f??{};let _=null;const b=[new Promise(x=>{_=t.watch([e,u],([N,E])=>{n!==(N===E)&&(_==null||_(),x(N))},{flush:m,deep:g,immediate:!0})})];return h!=null&&b.push(nf(h,y).then(()=>pn(e)).finally(()=>(_==null||_(),pn(e)))),Promise.race(b)}function i(u){return o(f=>!!f,u)}function a(u){return r(null,u)}function l(u){return r(void 0,u)}function s(u){return o(Number.isNaN,u)}function c(u,f){return o(m=>{const g=Array.from(m);return g.includes(u)||g.includes(pn(u))},f)}function d(u){return p(1,u)}function p(u=1,f){let m=-1;return o(()=>(m+=1,m>=u),f)}return Array.isArray(pn(e))?{toMatch:o,toContains:c,changed:d,changedTimes:p,get not(){return Tl(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:p,get not(){return Tl(e,!n)}}}function Ol(e){return Tl(e)}function G1(e){var n;const o=pn(e);return(n=o==null?void 0:o.$el)!=null?n:o}const of=V1?window:void 0;function rf(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=of):[n,o,r,i]=e,!n)return F1;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(p=>p()),a.length=0},s=(p,u,f,m)=>(p.addEventListener(u,f,m),()=>p.removeEventListener(u,f,m)),c=t.watch(()=>[G1(n),pn(i)],([p,u])=>{if(l(),!p)return;const f=M1(u)?{...u}:u;a.push(...o.flatMap(m=>r.map(g=>s(p,m,g,f))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return yi(d),d}function q1(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function af(...e){let n,o,r={};e.length===3?(n=e[0],o=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(n=!0,o=e[0],r=e[1]):(n=e[0],o=e[1]):(n=!0,o=e[0]);const{target:i=of,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=q1(n);return rf(i,a,p=>{p.repeat&&pn(s)||c(p)&&o(p)},l)}function z1(e){return JSON.parse(JSON.stringify(e))}function $l(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:p=!1,defaultValue:u,shouldEmit:f}=r,m=t.getCurrentInstance(),g=o||(m==null?void 0:m.emit)||((i=m==null?void 0:m.$emit)==null?void 0:i.bind(m))||((l=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(m==null?void 0:m.proxy));let h=d;n||(n="modelValue"),h=h||`update:${n.toString()}`;const y=b=>s?typeof s=="function"?s(b):z1(b):b,_=()=>D1(e[n])?y(e[n]):u,w=b=>{f?f(b)&&g(h,b):g(h,b)};if(c){const b=_(),x=t.ref(b);let N=!1;return t.watch(()=>e[n],E=>{N||(N=!0,x.value=y(E),t.nextTick(()=>N=!1))}),t.watch(x,E=>{!N&&(E!==e[n]||p)&&w(E)},{deep:p}),x}else return t.computed({get(){return _()},set(b){w(b)}})}var H1={value:()=>{}};function _i(){for(var e=0,n=arguments.length,o={},r;e<n;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new bi(o)}function bi(e){this._=e}function Y1(e,n){return e.trim().split(/^|\s+/).map(function(o){var r="",i=o.indexOf(".");if(i>=0&&(r=o.slice(i+1),o=o.slice(0,i)),o&&!n.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}bi.prototype=_i.prototype={constructor:bi,on:function(e,n){var o=this._,r=Y1(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=W1(o[i],e.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(i=(e=r[a]).type)o[i]=lf(o[i],e.name,n);else if(n==null)for(i in o)o[i]=lf(o[i],e.name,null);return this},copy:function(){var e={},n=this._;for(var o in n)e[o]=n[o].slice();return new bi(e)},call:function(e,n){if((i=arguments.length-2)>0)for(var o=new Array(i),r=0,i,a;r<i;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(n,o)},apply:function(e,n,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(n,o)}};function W1(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function lf(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=H1,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Bl="http://www.w3.org/1999/xhtml";const sf={svg:"http://www.w3.org/2000/svg",xhtml:Bl,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function wi(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),sf.hasOwnProperty(n)?{space:sf[n],local:e}:e}function X1(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Bl&&n.documentElement.namespaceURI===Bl?n.createElement(e):n.createElementNS(o,e)}}function Z1(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function cf(e){var n=wi(e);return(n.local?Z1:X1)(n)}function J1(){}function Vl(e){return e==null?J1:function(){return this.querySelector(e)}}function Q1(e){typeof e!="function"&&(e=Vl(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=new Array(l),c,d,p=0;p<l;++p)(c=a[p])&&(d=e.call(c,c.__data__,p,a))&&("__data__"in c&&(d.__data__=c.__data__),s[p]=d);return new Bt(r,this._parents)}function ex(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function tx(){return[]}function df(e){return e==null?tx:function(){return this.querySelectorAll(e)}}function nx(e){return function(){return ex(e.apply(this,arguments))}}function ox(e){typeof e=="function"?e=nx(e):e=df(e);for(var n=this._groups,o=n.length,r=[],i=[],a=0;a<o;++a)for(var l=n[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&(r.push(e.call(c,c.__data__,d,l)),i.push(c));return new Bt(r,i)}function uf(e){return function(){return this.matches(e)}}function ff(e){return function(n){return n.matches(e)}}var rx=Array.prototype.find;function ix(e){return function(){return rx.call(this.children,e)}}function ax(){return this.firstElementChild}function lx(e){return this.select(e==null?ax:ix(typeof e=="function"?e:ff(e)))}var sx=Array.prototype.filter;function cx(){return Array.from(this.children)}function dx(e){return function(){return sx.call(this.children,e)}}function ux(e){return this.selectAll(e==null?cx:dx(typeof e=="function"?e:ff(e)))}function fx(e){typeof e!="function"&&(e=uf(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new Bt(r,this._parents)}function pf(e){return new Array(e.length)}function px(){return new Bt(this._enter||this._groups.map(pf),this._parents)}function ki(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}ki.prototype={constructor:ki,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function mx(e){return function(){return e}}function gx(e,n,o,r,i,a){for(var l=0,s,c=n.length,d=a.length;l<d;++l)(s=n[l])?(s.__data__=a[l],r[l]=s):o[l]=new ki(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function hx(e,n,o,r,i,a,l){var s,c,d=new Map,p=n.length,u=a.length,f=new Array(p),m;for(s=0;s<p;++s)(c=n[s])&&(f[s]=m=l.call(c,c.__data__,s,n)+"",d.has(m)?i[s]=c:d.set(m,c));for(s=0;s<u;++s)m=l.call(e,a[s],s,a)+"",(c=d.get(m))?(r[s]=c,c.__data__=a[s],d.delete(m)):o[s]=new ki(e,a[s]);for(s=0;s<p;++s)(c=n[s])&&d.get(f[s])===c&&(i[s]=c)}function yx(e){return e.__data__}function _x(e,n){if(!arguments.length)return Array.from(this,yx);var o=n?hx:gx,r=this._parents,i=this._groups;typeof e!="function"&&(e=mx(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var p=r[d],u=i[d],f=u.length,m=bx(e.call(p,p&&p.__data__,d,r)),g=m.length,h=s[d]=new Array(g),y=l[d]=new Array(g),_=c[d]=new Array(f);o(p,u,h,y,_,m,n);for(var w=0,b=0,x,N;w<g;++w)if(x=h[w]){for(w>=b&&(b=w+1);!(N=y[b])&&++b<g;);x._next=N||null}}return l=new Bt(l,r),l._enter=s,l._exit=c,l}function bx(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function wx(){return new Bt(this._exit||this._groups.map(pf),this._parents)}function kx(e,n,o){var r=this.enter(),i=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),n!=null&&(i=n(i),i&&(i=i.selection())),o==null?a.remove():o(a),r&&i?r.merge(i).order():i}function Cx(e){for(var n=e.selection?e.selection():e,o=this._groups,r=n._groups,i=o.length,a=r.length,l=Math.min(i,a),s=new Array(i),c=0;c<l;++c)for(var d=o[c],p=r[c],u=d.length,f=s[c]=new Array(u),m,g=0;g<u;++g)(m=d[g]||p[g])&&(f[g]=m);for(;c<i;++c)s[c]=o[c];return new Bt(s,this._parents)}function Ex(){for(var e=this._groups,n=-1,o=e.length;++n<o;)for(var r=e[n],i=r.length-1,a=r[i],l;--i>=0;)(l=r[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function Nx(e){e||(e=xx);function n(u,f){return u&&f?e(u.__data__,f.__data__):!u-!f}for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a){for(var l=o[a],s=l.length,c=i[a]=new Array(s),d,p=0;p<s;++p)(d=l[p])&&(c[p]=d);c.sort(n)}return new Bt(i,this._parents).order()}function xx(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Sx(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function vx(){return Array.from(this)}function Ax(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length;i<a;++i){var l=r[i];if(l)return l}return null}function Ix(){let e=0;for(const n of this)++e;return e}function Px(){return!this.node()}function Tx(e){for(var n=this._groups,o=0,r=n.length;o<r;++o)for(var i=n[o],a=0,l=i.length,s;a<l;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Ox(e){return function(){this.removeAttribute(e)}}function $x(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Bx(e,n){return function(){this.setAttribute(e,n)}}function Vx(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function Dx(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function Rx(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function Mx(e,n){var o=wi(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((n==null?o.local?$x:Ox:typeof n=="function"?o.local?Rx:Dx:o.local?Vx:Bx)(o,n))}function mf(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Fx(e){return function(){this.style.removeProperty(e)}}function Lx(e,n,o){return function(){this.style.setProperty(e,n,o)}}function Ux(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function Kx(e,n,o){return arguments.length>1?this.each((n==null?Fx:typeof n=="function"?Ux:Lx)(e,n,o??"")):Vo(this.node(),e)}function Vo(e,n){return e.style.getPropertyValue(n)||mf(e).getComputedStyle(e,null).getPropertyValue(n)}function jx(e){return function(){delete this[e]}}function Gx(e,n){return function(){this[e]=n}}function qx(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function zx(e,n){return arguments.length>1?this.each((n==null?jx:typeof n=="function"?qx:Gx)(e,n)):this.node()[e]}function gf(e){return e.trim().split(/^|\s+/)}function Dl(e){return e.classList||new hf(e)}function hf(e){this._node=e,this._names=gf(e.getAttribute("class")||"")}hf.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function yf(e,n){for(var o=Dl(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function _f(e,n){for(var o=Dl(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function Hx(e){return function(){yf(this,e)}}function Yx(e){return function(){_f(this,e)}}function Wx(e,n){return function(){(n.apply(this,arguments)?yf:_f)(this,e)}}function Xx(e,n){var o=gf(e+"");if(arguments.length<2){for(var r=Dl(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?Wx:n?Hx:Yx)(o,n))}function Zx(){this.textContent=""}function Jx(e){return function(){this.textContent=e}}function Qx(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function eS(e){return arguments.length?this.each(e==null?Zx:(typeof e=="function"?Qx:Jx)(e)):this.node().textContent}function tS(){this.innerHTML=""}function nS(e){return function(){this.innerHTML=e}}function oS(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function rS(e){return arguments.length?this.each(e==null?tS:(typeof e=="function"?oS:nS)(e)):this.node().innerHTML}function iS(){this.nextSibling&&this.parentNode.appendChild(this)}function aS(){return this.each(iS)}function lS(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function sS(){return this.each(lS)}function cS(e){var n=typeof e=="function"?e:cf(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function dS(){return null}function uS(e,n){var o=typeof e=="function"?e:cf(e),r=n==null?dS:typeof n=="function"?n:Vl(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function fS(){var e=this.parentNode;e&&e.removeChild(this)}function pS(){return this.each(fS)}function mS(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function gS(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function hS(e){return this.select(e?gS:mS)}function yS(e){return arguments.length?this.property("__data__",e):this.node().__data__}function _S(e){return function(n){e.call(this,n,this.__data__)}}function bS(e){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");return r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),{type:n,name:o}})}function wS(e){return function(){var n=this.__on;if(n){for(var o=0,r=-1,i=n.length,a;o<i;++o)a=n[o],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++r]=a;++r?n.length=r:delete this.__on}}}function kS(e,n,o){return function(){var r=this.__on,i,a=_S(n);if(r){for(var l=0,s=r.length;l<s;++l)if((i=r[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=o),i.value=n;return}}this.addEventListener(e.type,a,o),i={type:e.type,name:e.name,value:n,listener:a,options:o},r?r.push(i):this.__on=[i]}}function CS(e,n,o){var r=bS(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,p;c<d;++c)for(i=0,p=s[c];i<a;++i)if((l=r[i]).type===p.type&&l.name===p.name)return p.value}return}for(s=n?kS:wS,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function bf(e,n,o){var r=mf(e),i=r.CustomEvent;typeof i=="function"?i=new i(n,o):(i=r.document.createEvent("Event"),o?(i.initEvent(n,o.bubbles,o.cancelable),i.detail=o.detail):i.initEvent(n,!1,!1)),e.dispatchEvent(i)}function ES(e,n){return function(){return bf(this,e,n)}}function NS(e,n){return function(){return bf(this,e,n.apply(this,arguments))}}function xS(e,n){return this.each((typeof n=="function"?NS:ES)(e,n))}function*SS(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length,l;i<a;++i)(l=r[i])&&(yield l)}var wf=[null];function Bt(e,n){this._groups=e,this._parents=n}function pr(){return new Bt([[document.documentElement]],wf)}function vS(){return this}Bt.prototype=pr.prototype={constructor:Bt,select:Q1,selectAll:ox,selectChild:lx,selectChildren:ux,filter:fx,data:_x,enter:px,exit:wx,join:kx,merge:Cx,selection:vS,order:Ex,sort:Nx,call:Sx,nodes:vx,node:Ax,size:Ix,empty:Px,each:Tx,attr:Mx,style:Kx,property:zx,classed:Xx,text:eS,html:rS,raise:aS,lower:sS,append:cS,insert:uS,remove:pS,clone:hS,datum:yS,on:CS,dispatch:xS,[Symbol.iterator]:SS};function zt(e){return typeof e=="string"?new Bt([[document.querySelector(e)]],[document.documentElement]):new Bt([[e]],wf)}function AS(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Qt(e,n){if(e=AS(e),n===void 0&&(n=e.currentTarget),n){var o=n.ownerSVGElement||n;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[e.clientX-i.left-n.clientLeft,e.clientY-i.top-n.clientTop]}}return[e.pageX,e.pageY]}const IS={passive:!1},mr={capture:!0,passive:!1};function Rl(e){e.stopImmediatePropagation()}function Do(e){e.preventDefault(),e.stopImmediatePropagation()}function kf(e){var n=e.document.documentElement,o=zt(e).on("dragstart.drag",Do,mr);"onselectstart"in n?o.on("selectstart.drag",Do,mr):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Cf(e,n){var o=e.document.documentElement,r=zt(e).on("dragstart.drag",null);n&&(r.on("click.drag",Do,mr),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const Ci=e=>()=>e;function Ml(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:p}})}Ml.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function PS(e){return!e.ctrlKey&&!e.button}function TS(){return this.parentNode}function OS(e,n){return n??{x:e.x,y:e.y}}function $S(){return navigator.maxTouchPoints||"ontouchstart"in this}function BS(){var e=PS,n=TS,o=OS,r=$S,i={},a=_i("start","drag","end"),l=0,s,c,d,p,u=0;function f(x){x.on("mousedown.drag",m).filter(r).on("touchstart.drag",y).on("touchmove.drag",_,IS).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(x,N){if(!(p||!e.call(this,x,N))){var E=b(this,n.call(this,x,N),x,N,"mouse");E&&(zt(x.view).on("mousemove.drag",g,mr).on("mouseup.drag",h,mr),kf(x.view),Rl(x),d=!1,s=x.clientX,c=x.clientY,E("start",x))}}function g(x){if(Do(x),!d){var N=x.clientX-s,E=x.clientY-c;d=N*N+E*E>u}i.mouse("drag",x)}function h(x){zt(x.view).on("mousemove.drag mouseup.drag",null),Cf(x.view,d),Do(x),i.mouse("end",x)}function y(x,N){if(e.call(this,x,N)){var E=x.changedTouches,C=n.call(this,x,N),A=E.length,I,P;for(I=0;I<A;++I)(P=b(this,C,x,N,E[I].identifier,E[I]))&&(Rl(x),P("start",x,E[I]))}}function _(x){var N=x.changedTouches,E=N.length,C,A;for(C=0;C<E;++C)(A=i[N[C].identifier])&&(Do(x),A("drag",x,N[C]))}function w(x){var N=x.changedTouches,E=N.length,C,A;for(p&&clearTimeout(p),p=setTimeout(function(){p=null},500),C=0;C<E;++C)(A=i[N[C].identifier])&&(Rl(x),A("end",x,N[C]))}function b(x,N,E,C,A,I){var P=a.copy(),T=Qt(I||E,N),k,G,S;if((S=o.call(x,new Ml("beforestart",{sourceEvent:E,target:f,identifier:A,active:l,x:T[0],y:T[1],dx:0,dy:0,dispatch:P}),C))!=null)return k=S.x-T[0]||0,G=S.y-T[1]||0,function L(F,ne,Y){var D=T,M;switch(F){case"start":i[A]=L,M=l++;break;case"end":delete i[A],--l;case"drag":T=Qt(Y||ne,N),M=l;break}P.call(F,x,new Ml(F,{sourceEvent:ne,subject:S,target:f,identifier:A,active:M,x:T[0]+k,y:T[1]+G,dx:T[0]-D[0],dy:T[1]-D[1],dispatch:P}),C)}}return f.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Ci(!!x),f):e},f.container=function(x){return arguments.length?(n=typeof x=="function"?x:Ci(x),f):n},f.subject=function(x){return arguments.length?(o=typeof x=="function"?x:Ci(x),f):o},f.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:Ci(!!x),f):r},f.on=function(){var x=a.on.apply(a,arguments);return x===a?f:x},f.clickDistance=function(x){return arguments.length?(u=(x=+x)*x,f):Math.sqrt(u)},f}function Fl(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function Ef(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function gr(){}var hr=.7,Ei=1/hr,Ro="\\s*([+-]?\\d+)\\s*",yr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",en="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",VS=/^#([0-9a-f]{3,8})$/,DS=new RegExp(`^rgb\\(${Ro},${Ro},${Ro}\\)$`),RS=new RegExp(`^rgb\\(${en},${en},${en}\\)$`),MS=new RegExp(`^rgba\\(${Ro},${Ro},${Ro},${yr}\\)$`),FS=new RegExp(`^rgba\\(${en},${en},${en},${yr}\\)$`),LS=new RegExp(`^hsl\\(${yr},${en},${en}\\)$`),US=new RegExp(`^hsla\\(${yr},${en},${en},${yr}\\)$`),Nf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Fl(gr,Jn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:xf,formatHex:xf,formatHex8:KS,formatHsl:jS,formatRgb:Sf,toString:Sf});function xf(){return this.rgb().formatHex()}function KS(){return this.rgb().formatHex8()}function jS(){return Tf(this).formatHsl()}function Sf(){return this.rgb().formatRgb()}function Jn(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=VS.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?vf(n):o===3?new Pt(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?Ni(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?Ni(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=DS.exec(e))?new Pt(n[1],n[2],n[3],1):(n=RS.exec(e))?new Pt(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=MS.exec(e))?Ni(n[1],n[2],n[3],n[4]):(n=FS.exec(e))?Ni(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=LS.exec(e))?Pf(n[1],n[2]/100,n[3]/100,1):(n=US.exec(e))?Pf(n[1],n[2]/100,n[3]/100,n[4]):Nf.hasOwnProperty(e)?vf(Nf[e]):e==="transparent"?new Pt(NaN,NaN,NaN,0):null}function vf(e){return new Pt(e>>16&255,e>>8&255,e&255,1)}function Ni(e,n,o,r){return r<=0&&(e=n=o=NaN),new Pt(e,n,o,r)}function GS(e){return e instanceof gr||(e=Jn(e)),e?(e=e.rgb(),new Pt(e.r,e.g,e.b,e.opacity)):new Pt}function Ll(e,n,o,r){return arguments.length===1?GS(e):new Pt(e,n,o,r??1)}function Pt(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}Fl(Pt,Ll,Ef(gr,{brighter(e){return e=e==null?Ei:Math.pow(Ei,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?hr:Math.pow(hr,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pt(Qn(this.r),Qn(this.g),Qn(this.b),xi(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:Af,formatHex:Af,formatHex8:qS,formatRgb:If,toString:If}));function Af(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}`}function qS(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}${eo((isNaN(this.opacity)?1:this.opacity)*255)}`}function If(){const e=xi(this.opacity);return`${e===1?"rgb(":"rgba("}${Qn(this.r)}, ${Qn(this.g)}, ${Qn(this.b)}${e===1?")":`, ${e})`}`}function xi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Qn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function eo(e){return e=Qn(e),(e<16?"0":"")+e.toString(16)}function Pf(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new Ht(e,n,o,r)}function Tf(e){if(e instanceof Ht)return new Ht(e.h,e.s,e.l,e.opacity);if(e instanceof gr||(e=Jn(e)),!e)return new Ht;if(e instanceof Ht)return e;e=e.rgb();var n=e.r/255,o=e.g/255,r=e.b/255,i=Math.min(n,o,r),a=Math.max(n,o,r),l=NaN,s=a-i,c=(a+i)/2;return s?(n===a?l=(o-r)/s+(o<r)*6:o===a?l=(r-n)/s+2:l=(n-o)/s+4,s/=c<.5?a+i:2-a-i,l*=60):s=c>0&&c<1?0:l,new Ht(l,s,c,e.opacity)}function zS(e,n,o,r){return arguments.length===1?Tf(e):new Ht(e,n,o,r??1)}function Ht(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}Fl(Ht,zS,Ef(gr,{brighter(e){return e=e==null?Ei:Math.pow(Ei,e),new Ht(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?hr:Math.pow(hr,e),new Ht(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*n,i=2*o-r;return new Pt(Ul(e>=240?e-240:e+120,i,r),Ul(e,i,r),Ul(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ht(Of(this.h),Si(this.s),Si(this.l),xi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=xi(this.opacity);return`${e===1?"hsl(":"hsla("}${Of(this.h)}, ${Si(this.s)*100}%, ${Si(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Of(e){return e=(e||0)%360,e<0?e+360:e}function Si(e){return Math.max(0,Math.min(1,e||0))}function Ul(e,n,o){return(e<60?n+(o-n)*e/60:e<180?o:e<240?n+(o-n)*(240-e)/60:n)*255}const Kl=e=>()=>e;function HS(e,n){return function(o){return e+o*n}}function YS(e,n,o){return e=Math.pow(e,o),n=Math.pow(n,o)-e,o=1/o,function(r){return Math.pow(e+r*n,o)}}function WS(e){return(e=+e)==1?$f:function(n,o){return o-n?YS(n,o,e):Kl(isNaN(n)?o:n)}}function $f(e,n){var o=n-e;return o?HS(e,o):Kl(isNaN(e)?n:e)}const vi=function e(n){var o=WS(n);function r(i,a){var l=o((i=Ll(i)).r,(a=Ll(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=$f(i.opacity,a.opacity);return function(p){return i.r=l(p),i.g=s(p),i.b=c(p),i.opacity=d(p),i+""}}return r.gamma=e,r}(1);function XS(e,n){n||(n=[]);var o=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(a){for(i=0;i<o;++i)r[i]=e[i]*(1-a)+n[i]*a;return r}}function ZS(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function JS(e,n){var o=n?n.length:0,r=e?Math.min(o,e.length):0,i=new Array(r),a=new Array(o),l;for(l=0;l<r;++l)i[l]=_r(e[l],n[l]);for(;l<o;++l)a[l]=n[l];return function(s){for(l=0;l<r;++l)a[l]=i[l](s);return a}}function QS(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function tn(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function ev(e,n){var o={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?o[i]=_r(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var jl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Gl=new RegExp(jl.source,"g");function tv(e){return function(){return e}}function nv(e){return function(n){return e(n)+""}}function Bf(e,n){var o=jl.lastIndex=Gl.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=jl.exec(e))&&(i=Gl.exec(n));)(a=i.index)>o&&(a=n.slice(o,a),s[l]?s[l]+=a:s[++l]=a),(r=r[0])===(i=i[0])?s[l]?s[l]+=i:s[++l]=i:(s[++l]=null,c.push({i:l,x:tn(r,i)})),o=Gl.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?nv(c[0].x):tv(n):(n=c.length,function(d){for(var p=0,u;p<n;++p)s[(u=c[p]).i]=u.x(d);return s.join("")})}function _r(e,n){var o=typeof n,r;return n==null||o==="boolean"?Kl(n):(o==="number"?tn:o==="string"?(r=Jn(n))?(n=r,vi):Bf:n instanceof Jn?vi:n instanceof Date?QS:ZS(n)?XS:Array.isArray(n)?JS:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?ev:tn)(e,n)}var Vf=180/Math.PI,ql={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Df(e,n,o,r,i,a){var l,s,c;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(c=e*o+n*r)&&(o-=e*c,r-=n*c),(s=Math.sqrt(o*o+r*r))&&(o/=s,r/=s,c/=s),e*r<n*o&&(e=-e,n=-n,c=-c,l=-l),{translateX:i,translateY:a,rotate:Math.atan2(n,e)*Vf,skewX:Math.atan(c)*Vf,scaleX:l,scaleY:s}}var Ai;function ov(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?ql:Df(n.a,n.b,n.c,n.d,n.e,n.f)}function rv(e){return e==null||(Ai||(Ai=document.createElementNS("http://www.w3.org/2000/svg","g")),Ai.setAttribute("transform",e),!(e=Ai.transform.baseVal.consolidate()))?ql:(e=e.matrix,Df(e.a,e.b,e.c,e.d,e.e,e.f))}function Rf(e,n,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,p,u,f,m,g){if(d!==u||p!==f){var h=m.push("translate(",null,n,null,o);g.push({i:h-4,x:tn(d,u)},{i:h-2,x:tn(p,f)})}else(u||f)&&m.push("translate("+u+n+f+o)}function l(d,p,u,f){d!==p?(d-p>180?p+=360:p-d>180&&(d+=360),f.push({i:u.push(i(u)+"rotate(",null,r)-2,x:tn(d,p)})):p&&u.push(i(u)+"rotate("+p+r)}function s(d,p,u,f){d!==p?f.push({i:u.push(i(u)+"skewX(",null,r)-2,x:tn(d,p)}):p&&u.push(i(u)+"skewX("+p+r)}function c(d,p,u,f,m,g){if(d!==u||p!==f){var h=m.push(i(m)+"scale(",null,",",null,")");g.push({i:h-4,x:tn(d,u)},{i:h-2,x:tn(p,f)})}else(u!==1||f!==1)&&m.push(i(m)+"scale("+u+","+f+")")}return function(d,p){var u=[],f=[];return d=e(d),p=e(p),a(d.translateX,d.translateY,p.translateX,p.translateY,u,f),l(d.rotate,p.rotate,u,f),s(d.skewX,p.skewX,u,f),c(d.scaleX,d.scaleY,p.scaleX,p.scaleY,u,f),d=p=null,function(m){for(var g=-1,h=f.length,y;++g<h;)u[(y=f[g]).i]=y.x(m);return u.join("")}}}var iv=Rf(ov,"px, ","px)","deg)"),av=Rf(rv,", ",")",")"),lv=1e-12;function Mf(e){return((e=Math.exp(e))+1/e)/2}function sv(e){return((e=Math.exp(e))-1/e)/2}function cv(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ii=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],p=l[0],u=l[1],f=l[2],m=p-s,g=u-c,h=m*m+g*g,y,_;if(h<lv)_=Math.log(f/d)/n,y=function(C){return[s+C*m,c+C*g,d*Math.exp(n*C*_)]};else{var w=Math.sqrt(h),b=(f*f-d*d+r*h)/(2*d*o*w),x=(f*f-d*d-r*h)/(2*f*o*w),N=Math.log(Math.sqrt(b*b+1)-b),E=Math.log(Math.sqrt(x*x+1)-x);_=(E-N)/n,y=function(C){var A=C*_,I=Mf(N),P=d/(o*w)*(I*cv(n*A+N)-sv(N));return[s+P*m,c+P*g,d*I/Mf(n*A+N)]}}return y.duration=_*1e3*n/Math.SQRT2,y}return i.rho=function(a){var l=Math.max(.001,+a),s=l*l,c=s*s;return e(l,s,c)},i}(Math.SQRT2,2,4);var Mo=0,br=0,wr=0,Ff=1e3,Pi,kr,Ti=0,to=0,Oi=0,Cr=typeof performance=="object"&&performance.now?performance:Date,Lf=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function zl(){return to||(Lf(dv),to=Cr.now()+Oi)}function dv(){to=0}function $i(){this._call=this._time=this._next=null}$i.prototype=Uf.prototype={constructor:$i,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?zl():+o)+(n==null?0:+n),!this._next&&kr!==this&&(kr?kr._next=this:Pi=this,kr=this),this._call=e,this._time=o,Hl()},stop:function(){this._call&&(this._call=null,this._time=1/0,Hl())}};function Uf(e,n,o){var r=new $i;return r.restart(e,n,o),r}function uv(){zl(),++Mo;for(var e=Pi,n;e;)(n=to-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Mo}function Kf(){to=(Ti=Cr.now())+Oi,Mo=br=0;try{uv()}finally{Mo=0,pv(),to=0}}function fv(){var e=Cr.now(),n=e-Ti;n>Ff&&(Oi-=n,Ti=e)}function pv(){for(var e,n=Pi,o,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(o=n._next,n._next=null,n=e?e._next=o:Pi=o);kr=e,Hl(r)}function Hl(e){if(!Mo){br&&(br=clearTimeout(br));var n=e-to;n>24?(e<1/0&&(br=setTimeout(Kf,e-Cr.now()-Oi)),wr&&(wr=clearInterval(wr))):(wr||(Ti=Cr.now(),wr=setInterval(fv,Ff)),Mo=1,Lf(Kf))}}function jf(e,n,o){var r=new $i;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var mv=_i("start","end","cancel","interrupt"),gv=[],Gf=0,qf=1,Yl=2,Bi=3,zf=4,Wl=5,Vi=6;function Di(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;hv(e,o,{name:n,index:r,group:i,on:mv,tween:gv,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Gf})}function Xl(e,n){var o=Yt(e,n);if(o.state>Gf)throw new Error("too late; already scheduled");return o}function nn(e,n){var o=Yt(e,n);if(o.state>Bi)throw new Error("too late; already running");return o}function Yt(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function hv(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=Uf(a,0,o.time);function a(d){o.state=qf,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var p,u,f,m;if(o.state!==qf)return c();for(p in r)if(m=r[p],m.name===o.name){if(m.state===Bi)return jf(l);m.state===zf?(m.state=Vi,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[p]):+p<n&&(m.state=Vi,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[p])}if(jf(function(){o.state===Bi&&(o.state=zf,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=Yl,o.on.call("start",e,e.__data__,o.index,o.group),o.state===Yl){for(o.state=Bi,i=new Array(f=o.tween.length),p=0,u=-1;p<f;++p)(m=o.tween[p].value.call(e,e.__data__,o.index,o.group))&&(i[++u]=m);i.length=u+1}}function s(d){for(var p=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=Wl,1),u=-1,f=i.length;++u<f;)i[u].call(e,p);o.state===Wl&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=Vi,o.timer.stop(),delete r[n];for(var d in r)return;delete e.__transition}}function Ri(e,n){var o=e.__transition,r,i,a=!0,l;if(o){n=n==null?null:n+"";for(l in o){if((r=o[l]).name!==n){a=!1;continue}i=r.state>Yl&&r.state<Wl,r.state=Vi,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function yv(e){return this.each(function(){Ri(this,e)})}function _v(e,n){var o,r;return function(){var i=nn(this,e),a=i.tween;if(a!==o){r=o=a;for(var l=0,s=r.length;l<s;++l)if(r[l].name===n){r=r.slice(),r.splice(l,1);break}}i.tween=r}}function bv(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=nn(this,e),l=a.tween;if(l!==r){i=(r=l).slice();for(var s={name:n,value:o},c=0,d=i.length;c<d;++c)if(i[c].name===n){i[c]=s;break}c===d&&i.push(s)}a.tween=i}}function wv(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=Yt(this.node(),o).tween,i=0,a=r.length,l;i<a;++i)if((l=r[i]).name===e)return l.value;return null}return this.each((n==null?_v:bv)(o,e,n))}function Zl(e,n,o){var r=e._id;return e.each(function(){var i=nn(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return Yt(i,r).value[n]}}function Hf(e,n){var o;return(typeof n=="number"?tn:n instanceof Jn?vi:(o=Jn(n))?(n=o,vi):Bf)(e,n)}function kv(e){return function(){this.removeAttribute(e)}}function Cv(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ev(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttribute(e);return l===i?null:l===r?a:a=n(r=l,o)}}function Nv(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===r?a:a=n(r=l,o)}}function xv(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttribute(e):(l=this.getAttribute(e),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function Sv(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function vv(e,n){var o=wi(e),r=o==="transform"?av:Hf;return this.attrTween(e,typeof n=="function"?(o.local?Sv:xv)(o,r,Zl(this,"attr."+e,n)):n==null?(o.local?Cv:kv)(o):(o.local?Nv:Ev)(o,r,n))}function Av(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function Iv(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function Pv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&Iv(e,a)),o}return i._value=n,i}function Tv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&Av(e,a)),o}return i._value=n,i}function Ov(e,n){var o="attr."+e;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;var r=wi(e);return this.tween(o,(r.local?Pv:Tv)(r,n))}function $v(e,n){return function(){Xl(this,e).delay=+n.apply(this,arguments)}}function Bv(e,n){return n=+n,function(){Xl(this,e).delay=n}}function Vv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?$v:Bv)(n,e)):Yt(this.node(),n).delay}function Dv(e,n){return function(){nn(this,e).duration=+n.apply(this,arguments)}}function Rv(e,n){return n=+n,function(){nn(this,e).duration=n}}function Mv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Dv:Rv)(n,e)):Yt(this.node(),n).duration}function Fv(e,n){if(typeof n!="function")throw new Error;return function(){nn(this,e).ease=n}}function Lv(e){var n=this._id;return arguments.length?this.each(Fv(n,e)):Yt(this.node(),n).ease}function Uv(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;nn(this,e).ease=o}}function Kv(e){if(typeof e!="function")throw new Error;return this.each(Uv(this._id,e))}function jv(e){typeof e!="function"&&(e=uf(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new mn(r,this._parents,this._name,this._id)}function Gv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),l=new Array(r),s=0;s<a;++s)for(var c=n[s],d=o[s],p=c.length,u=l[s]=new Array(p),f,m=0;m<p;++m)(f=c[m]||d[m])&&(u[m]=f);for(;s<r;++s)l[s]=n[s];return new mn(l,this._parents,this._name,this._id)}function qv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var o=n.indexOf(".");return o>=0&&(n=n.slice(0,o)),!n||n==="start"})}function zv(e,n,o){var r,i,a=qv(n)?Xl:nn;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function Hv(e,n){var o=this._id;return arguments.length<2?Yt(this.node(),o).on.on(e):this.each(zv(o,e,n))}function Yv(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function Wv(){return this.on("end.remove",Yv(this._id))}function Xv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Vl(e));for(var r=this._groups,i=r.length,a=new Array(i),l=0;l<i;++l)for(var s=r[l],c=s.length,d=a[l]=new Array(c),p,u,f=0;f<c;++f)(p=s[f])&&(u=e.call(p,p.__data__,f,s))&&("__data__"in p&&(u.__data__=p.__data__),d[f]=u,Di(d[f],n,o,f,d,Yt(p,o)));return new mn(a,this._parents,n,o)}function Zv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=df(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,p,u=0;u<d;++u)if(p=c[u]){for(var f=e.call(p,p.__data__,u,c),m,g=Yt(p,o),h=0,y=f.length;h<y;++h)(m=f[h])&&Di(m,n,o,h,f,g);a.push(f),l.push(p)}return new mn(a,l,n,o)}var Jv=pr.prototype.constructor;function Qv(){return new Jv(this._groups,this._parents)}function eA(e,n){var o,r,i;return function(){var a=Vo(this,e),l=(this.style.removeProperty(e),Vo(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function Yf(e){return function(){this.style.removeProperty(e)}}function tA(e,n,o){var r,i=o+"",a;return function(){var l=Vo(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function nA(e,n,o){var r,i,a;return function(){var l=Vo(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Vo(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function oA(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=nn(this,e),d=c.on,p=c.value[a]==null?s||(s=Yf(n)):void 0;(d!==o||i!==p)&&(r=(o=d).copy()).on(l,i=p),c.on=r}}function rA(e,n,o){var r=(e+="")=="transform"?iv:Hf;return n==null?this.styleTween(e,eA(e,r)).on("end.style."+e,Yf(e)):typeof n=="function"?this.styleTween(e,nA(e,r,Zl(this,"style."+e,n))).each(oA(this._id,e)):this.styleTween(e,tA(e,r,n),o).on("end.style."+e,null)}function iA(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function aA(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&iA(e,l,o)),r}return a._value=n,a}function lA(e,n,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,aA(e,n,o??""))}function sA(e){return function(){this.textContent=e}}function cA(e){return function(){var n=e(this);this.textContent=n??""}}function dA(e){return this.tween("text",typeof e=="function"?cA(Zl(this,"text",e)):sA(e==null?"":e+""))}function uA(e){return function(n){this.textContent=e.call(this,n)}}function fA(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&uA(i)),n}return r._value=e,r}function pA(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,fA(e))}function mA(){for(var e=this._name,n=this._id,o=Wf(),r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)if(c=l[d]){var p=Yt(c,n);Di(c,e,o,d,l,{time:p.time+p.delay+p.duration,delay:0,duration:p.duration,ease:p.ease})}return new mn(r,this._parents,e,o)}function gA(){var e,n,o=this,r=o._id,i=o.size();return new Promise(function(a,l){var s={value:l},c={value:function(){--i===0&&a()}};o.each(function(){var d=nn(this,r),p=d.on;p!==e&&(n=(e=p).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),d.on=n}),i===0&&a()})}var hA=0;function mn(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function Wf(){return++hA}var gn=pr.prototype;mn.prototype={constructor:mn,select:Xv,selectAll:Zv,selectChild:gn.selectChild,selectChildren:gn.selectChildren,filter:jv,merge:Gv,selection:Qv,transition:mA,call:gn.call,nodes:gn.nodes,node:gn.node,size:gn.size,empty:gn.empty,each:gn.each,on:Hv,attr:vv,attrTween:Ov,style:rA,styleTween:lA,text:dA,textTween:pA,remove:Wv,tween:wv,delay:Vv,duration:Mv,ease:Lv,easeVarying:Kv,end:gA,[Symbol.iterator]:gn[Symbol.iterator]};function yA(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var _A={time:null,delay:0,duration:250,ease:yA};function bA(e,n){for(var o;!(o=e.__transition)||!(o=o[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return o}function wA(e){var n,o;e instanceof mn?(n=e._id,e=e._name):(n=Wf(),(o=_A).time=zl(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&Di(c,e,n,d,l,o||bA(c,n));return new mn(r,this._parents,e,n)}pr.prototype.interrupt=yv,pr.prototype.transition=wA;const Mi=e=>()=>e;function kA(e,{sourceEvent:n,target:o,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function hn(e,n,o){this.k=e,this.x=n,this.y=o}hn.prototype={constructor:hn,scale:function(e){return e===1?this:new hn(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new hn(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Fo=new hn(1,0,0);hn.prototype;function Jl(e){e.stopImmediatePropagation()}function Er(e){e.preventDefault(),e.stopImmediatePropagation()}function CA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function EA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Xf(){return this.__zoom||Fo}function NA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function xA(){return navigator.maxTouchPoints||"ontouchstart"in this}function SA(e,n,o){var r=e.invertX(n[0][0])-o[0][0],i=e.invertX(n[1][0])-o[1][0],a=e.invertY(n[0][1])-o[0][1],l=e.invertY(n[1][1])-o[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function vA(){var e=CA,n=EA,o=SA,r=NA,i=xA,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Ii,d=_i("start","zoom","end"),p,u,f,m=500,g=150,h=0,y=10;function _(S){S.property("__zoom",Xf).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",T).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",G).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(S,L,F,ne){var Y=S.selection?S.selection():S;Y.property("__zoom",Xf),S!==Y?N(S,L,F,ne):Y.interrupt().each(function(){E(this,arguments).event(ne).start().zoom(null,typeof L=="function"?L.apply(this,arguments):L).end()})},_.scaleBy=function(S,L,F,ne){_.scaleTo(S,function(){var Y=this.__zoom.k,D=typeof L=="function"?L.apply(this,arguments):L;return Y*D},F,ne)},_.scaleTo=function(S,L,F,ne){_.transform(S,function(){var Y=n.apply(this,arguments),D=this.__zoom,M=F==null?x(Y):typeof F=="function"?F.apply(this,arguments):F,v=D.invert(M),B=typeof L=="function"?L.apply(this,arguments):L;return o(b(w(D,B),M,v),Y,l)},F,ne)},_.translateBy=function(S,L,F,ne){_.transform(S,function(){return o(this.__zoom.translate(typeof L=="function"?L.apply(this,arguments):L,typeof F=="function"?F.apply(this,arguments):F),n.apply(this,arguments),l)},null,ne)},_.translateTo=function(S,L,F,ne,Y){_.transform(S,function(){var D=n.apply(this,arguments),M=this.__zoom,v=ne==null?x(D):typeof ne=="function"?ne.apply(this,arguments):ne;return o(Fo.translate(v[0],v[1]).scale(M.k).translate(typeof L=="function"?-L.apply(this,arguments):-L,typeof F=="function"?-F.apply(this,arguments):-F),D,l)},ne,Y)};function w(S,L){return L=Math.max(a[0],Math.min(a[1],L)),L===S.k?S:new hn(L,S.x,S.y)}function b(S,L,F){var ne=L[0]-F[0]*S.k,Y=L[1]-F[1]*S.k;return ne===S.x&&Y===S.y?S:new hn(S.k,ne,Y)}function x(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function N(S,L,F,ne){S.on("start.zoom",function(){E(this,arguments).event(ne).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(ne).end()}).tween("zoom",function(){var Y=this,D=arguments,M=E(Y,D).event(ne),v=n.apply(Y,D),B=F==null?x(v):typeof F=="function"?F.apply(Y,D):F,W=Math.max(v[1][0]-v[0][0],v[1][1]-v[0][1]),X=Y.__zoom,oe=typeof L=="function"?L.apply(Y,D):L,H=c(X.invert(B).concat(W/X.k),oe.invert(B).concat(W/oe.k));return function(ae){if(ae===1)ae=oe;else{var he=H(ae),ee=W/he[2];ae=new hn(ee,B[0]-he[0]*ee,B[1]-he[1]*ee)}M.zoom(null,ae)}})}function E(S,L,F){return!F&&S.__zooming||new C(S,L)}function C(S,L){this.that=S,this.args=L,this.active=0,this.sourceEvent=null,this.extent=n.apply(S,L),this.taps=0}C.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,L){return this.mouse&&S!=="mouse"&&(this.mouse[1]=L.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=L.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=L.invert(this.touch1[0])),this.that.__zoom=L,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var L=zt(this.that).datum();d.call(S,this.that,new kA(S,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:d}),L)}};function A(S,...L){if(!e.apply(this,arguments))return;var F=E(this,L).event(S),ne=this.__zoom,Y=Math.max(a[0],Math.min(a[1],ne.k*Math.pow(2,r.apply(this,arguments)))),D=Qt(S);if(F.wheel)(F.mouse[0][0]!==D[0]||F.mouse[0][1]!==D[1])&&(F.mouse[1]=ne.invert(F.mouse[0]=D)),clearTimeout(F.wheel);else{if(ne.k===Y)return;F.mouse=[D,ne.invert(D)],Ri(this),F.start()}Er(S),F.wheel=setTimeout(M,g),F.zoom("mouse",o(b(w(ne,Y),F.mouse[0],F.mouse[1]),F.extent,l));function M(){F.wheel=null,F.end()}}function I(S,...L){if(f||!e.apply(this,arguments))return;var F=S.currentTarget,ne=E(this,L,!0).event(S),Y=zt(S.view).on("mousemove.zoom",B,!0).on("mouseup.zoom",W,!0),D=Qt(S,F),M=S.clientX,v=S.clientY;kf(S.view),Jl(S),ne.mouse=[D,this.__zoom.invert(D)],Ri(this),ne.start();function B(X){if(Er(X),!ne.moved){var oe=X.clientX-M,H=X.clientY-v;ne.moved=oe*oe+H*H>h}ne.event(X).zoom("mouse",o(b(ne.that.__zoom,ne.mouse[0]=Qt(X,F),ne.mouse[1]),ne.extent,l))}function W(X){Y.on("mousemove.zoom mouseup.zoom",null),Cf(X.view,ne.moved),Er(X),ne.event(X).end()}}function P(S,...L){if(e.apply(this,arguments)){var F=this.__zoom,ne=Qt(S.changedTouches?S.changedTouches[0]:S,this),Y=F.invert(ne),D=F.k*(S.shiftKey?.5:2),M=o(b(w(F,D),ne,Y),n.apply(this,L),l);Er(S),s>0?zt(this).transition().duration(s).call(N,M,ne,S):zt(this).call(_.transform,M,ne,S)}}function T(S,...L){if(e.apply(this,arguments)){var F=S.touches,ne=F.length,Y=E(this,L,S.changedTouches.length===ne).event(S),D,M,v,B;for(Jl(S),M=0;M<ne;++M)v=F[M],B=Qt(v,this),B=[B,this.__zoom.invert(B),v.identifier],Y.touch0?!Y.touch1&&Y.touch0[2]!==B[2]&&(Y.touch1=B,Y.taps=0):(Y.touch0=B,D=!0,Y.taps=1+!!p);p&&(p=clearTimeout(p)),D&&(Y.taps<2&&(u=B[0],p=setTimeout(function(){p=null},m)),Ri(this),Y.start())}}function k(S,...L){if(this.__zooming){var F=E(this,L).event(S),ne=S.changedTouches,Y=ne.length,D,M,v,B;for(Er(S),D=0;D<Y;++D)M=ne[D],v=Qt(M,this),F.touch0&&F.touch0[2]===M.identifier?F.touch0[0]=v:F.touch1&&F.touch1[2]===M.identifier&&(F.touch1[0]=v);if(M=F.that.__zoom,F.touch1){var W=F.touch0[0],X=F.touch0[1],oe=F.touch1[0],H=F.touch1[1],ae=(ae=oe[0]-W[0])*ae+(ae=oe[1]-W[1])*ae,he=(he=H[0]-X[0])*he+(he=H[1]-X[1])*he;M=w(M,Math.sqrt(ae/he)),v=[(W[0]+oe[0])/2,(W[1]+oe[1])/2],B=[(X[0]+H[0])/2,(X[1]+H[1])/2]}else if(F.touch0)v=F.touch0[0],B=F.touch0[1];else return;F.zoom("touch",o(b(M,v,B),F.extent,l))}}function G(S,...L){if(this.__zooming){var F=E(this,L).event(S),ne=S.changedTouches,Y=ne.length,D,M;for(Jl(S),f&&clearTimeout(f),f=setTimeout(function(){f=null},m),D=0;D<Y;++D)M=ne[D],F.touch0&&F.touch0[2]===M.identifier?delete F.touch0:F.touch1&&F.touch1[2]===M.identifier&&delete F.touch1;if(F.touch1&&!F.touch0&&(F.touch0=F.touch1,delete F.touch1),F.touch0)F.touch0[1]=this.__zoom.invert(F.touch0[0]);else if(F.end(),F.taps===2&&(M=Qt(M,this),Math.hypot(u[0]-M[0],u[1]-M[1])<y)){var v=zt(this).on("dblclick.zoom");v&&v.apply(this,arguments)}}}return _.wheelDelta=function(S){return arguments.length?(r=typeof S=="function"?S:Mi(+S),_):r},_.filter=function(S){return arguments.length?(e=typeof S=="function"?S:Mi(!!S),_):e},_.touchable=function(S){return arguments.length?(i=typeof S=="function"?S:Mi(!!S),_):i},_.extent=function(S){return arguments.length?(n=typeof S=="function"?S:Mi([[+S[0][0],+S[0][1]],[+S[1][0],+S[1][1]]]),_):n},_.scaleExtent=function(S){return arguments.length?(a[0]=+S[0],a[1]=+S[1],_):[a[0],a[1]]},_.translateExtent=function(S){return arguments.length?(l[0][0]=+S[0][0],l[1][0]=+S[1][0],l[0][1]=+S[0][1],l[1][1]=+S[1][1],_):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},_.constrain=function(S){return arguments.length?(o=S,_):o},_.duration=function(S){return arguments.length?(s=+S,_):s},_.interpolate=function(S){return arguments.length?(c=S,_):c},_.on=function(){var S=d.on.apply(d,arguments);return S===d?_:S},_.clickDistance=function(S){return arguments.length?(h=(S=+S)*S,_):Math.sqrt(h)},_.tapDistance=function(S){return arguments.length?(y=+S,_):y},_}var Ne=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(Ne||{}),Ql=(e=>(e.Partial="partial",e.Full="full",e))(Ql||{}),no=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(no||{}),An=(e=>(e.Strict="strict",e.Loose="loose",e))(An||{}),Nr=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(Nr||{}),xr=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(xr||{}),Zf=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(Zf||{});const AA=["INPUT","SELECT","TEXTAREA"],IA=typeof document<"u"?document:null;function es(e){var n,o;const r=((o=(n=e.composedPath)==null?void 0:n.call(e))==null?void 0:o[0])||e.target,i=typeof(r==null?void 0:r.hasAttribute)=="function"?r.hasAttribute("contenteditable"):!1,a=typeof(r==null?void 0:r.closest)=="function"?r.closest(".nokey"):null;return AA.includes(r==null?void 0:r.nodeName)||i||!!a}function PA(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function Jf(e,n,o,r){const i=n.replace("+",`
|
|
120
120
|
`).replace(`
|
|
121
121
|
|
|
122
122
|
`,`
|
|
123
123
|
+`).split(`
|
|
124
|
-
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===n.toLowerCase();r||o.add(e.toLowerCase());const a=i.every((l,s)=>o.has(l)&&Array.from(o.values())[s]===i[s]);return r&&o.delete(e.toLowerCase()),a}function PA(e,n){return o=>{if(!o.code&&!o.key)return!1;const r=OA(o.code,e);return Array.isArray(e)?e.some(i=>Jf(o[r],i,n,o.type==="keyup")):Jf(o[r],e,n,o.type==="keyup")}}function OA(e,n){return n.includes(e)?"code":"key"}function Sr(e,n){const o=t.computed(()=>t.toValue(n==null?void 0:n.target)??IA),r=t.shallowRef(t.toValue(e)===!0);let i=!1;const a=new Set;let l=c(t.toValue(e));t.watch(()=>t.toValue(e),(d,p)=>{typeof p=="boolean"&&typeof d!="boolean"&&s(),l=c(d)},{immediate:!0}),rf(["blur","contextmenu"],s),af((...d)=>l(...d),d=>{var p,u;const f=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0,m=t.toValue(n==null?void 0:n.preventDefault)??!1;if(i=TA(d),(!i||i&&!f)&&es(d))return;const h=((u=(p=d.composedPath)==null?void 0:p.call(d))==null?void 0:u[0])||d.target,_=(h==null?void 0:h.nodeName)==="BUTTON"||(h==null?void 0:h.nodeName)==="A";!m&&(i||!_)&&d.preventDefault(),r.value=!0},{eventName:"keydown",target:o}),af((...d)=>l(...d),d=>{const p=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0;if(r.value){if((!i||i&&!p)&&es(d))return;i=!1,r.value=!1}},{eventName:"keyup",target:o});function s(){i=!1,a.clear(),r.value=t.toValue(e)===!0}function c(d){return d===null?(s(),()=>!1):typeof d=="boolean"?(s(),r.value=d,()=>!1):Array.isArray(d)||typeof d=="string"?PA(d,a):d}return r}const Qf="vue-flow__node-desc",ep="vue-flow__edge-desc",$A="vue-flow__aria-live",tp=["Enter"," ","Escape"],Lo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Fi(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function Li(e,n){const o=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),r=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(o*r)}function Ui(e){return{width:e.offsetWidth,height:e.offsetHeight}}function oo(e,n=0,o=1){return Math.min(Math.max(e,n),o)}function np(e,n){return{x:oo(e.x,n[0][0],n[1][0]),y:oo(e.y,n[0][1],n[1][1])}}function op(e){const n=e.getRootNode();return"elementFromPoint"in n?n:window.document}function In(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function ro(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!In(e)}function vr(e){return ro(e)&&"computedPosition"in e}function Ki(e){return!Number.isNaN(e)&&Number.isFinite(e)}function BA(e){return Ki(e.width)&&Ki(e.height)&&Ki(e.x)&&Ki(e.y)}function VA(e,n,o){const r={id:e.id.toString(),type:e.type??"default",dimensions:t.markRaw({width:0,height:0}),computedPosition:t.markRaw({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:at(e.data)?e.data:{},events:t.markRaw(at(e.events)?e.events:{})};return Object.assign(n??r,e,{id:e.id.toString(),parentNode:o})}function rp(e,n,o){var r,i;const a={id:e.id.toString(),type:e.type??(n==null?void 0:n.type)??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(r=e.sourceHandle)==null?void 0:r.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??(o==null?void 0:o.updatable),selectable:e.selectable??(o==null?void 0:o.selectable),focusable:e.focusable??(o==null?void 0:o.focusable),data:at(e.data)?e.data:{},events:t.markRaw(at(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??(o==null?void 0:o.interactionWidth),...o??{}};return Object.assign(n??a,e,{id:e.id.toString()})}function ip(e,n,o,r){const i=typeof e=="string"?e:e.id,a=new Set,l=r==="source"?"target":"source";for(const s of o)s[l]===i&&a.add(s[r]);return n.filter(s=>a.has(s.id))}function DA(...e){if(e.length===3){const[a,l,s]=e;return ip(a,l,s,"target")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>In(a)&&a.source===r).map(a=>o.find(l=>ro(l)&&l.id===a.target))}function RA(...e){if(e.length===3){const[a,l,s]=e;return ip(a,l,s,"source")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>In(a)&&a.target===r).map(a=>o.find(l=>ro(l)&&l.id===a.source))}function ap({source:e,sourceHandle:n,target:o,targetHandle:r}){return`vueflow__edge-${e}${n??""}-${o}${r??""}`}function MA(e,n){return n.some(o=>In(o)&&o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle))}function ts({x:e,y:n},{x:o,y:r,zoom:i}){return{x:e*i+o,y:n*i+r}}function Ar({x:e,y:n},{x:o,y:r,zoom:i},a=!1,l=[1,1]){const s={x:(e-o)/i,y:(n-r)/i};return a?Gi(s,l):s}function FA(e,n){return{x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}}function lp({x:e,y:n,width:o,height:r}){return{x:e,y:n,x2:e+o,y2:n+r}}function LA({x:e,y:n,x2:o,y2:r}){return{x:e,y:n,width:o-e,height:r-n}}function sp(e){let n={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let o=0;o<e.length;o++){const r=e[o];n=FA(n,lp({...r.computedPosition,...r.dimensions}))}return LA(n)}function cp(e,n,o={x:0,y:0,zoom:1},r=!1,i=!1){const a={...Ar(n,o),width:n.width/o.zoom,height:n.height/o.zoom},l=[];for(const s of e){const{dimensions:c,selectable:d=!0,hidden:p=!1}=s,u=c.width??s.width??null,f=c.height??s.height??null;if(i&&!d||p)continue;const m=Li(a,Fi(s)),g=u===null||f===null,h=r&&m>0,_=(u??0)*(f??0);(g||h||m>=_||s.dragging)&&l.push(s)}return l}function dp(e,n){const o=new Set;if(typeof e=="string")o.add(e);else if(e.length>=1)for(const r of e)o.add(r.id);return n.filter(r=>o.has(r.source)||o.has(r.target))}function up(e,n,o,r,i,a=.1,l={x:0,y:0}){const s=n/(e.width*(1+a)),c=o/(e.height*(1+a)),d=Math.min(s,c),p=oo(d,r,i),u=e.x+e.width/2,f=e.y+e.height/2,m=n/2-u*p+(l.x??0),g=o/2-f*p+(l.y??0);return{x:m,y:g,zoom:p}}function UA(e,n){return{x:n.x+e.x,y:n.y+e.y,z:(e.z>n.z?e.z:n.z)+1}}function fp(e,n){if(!e.parentNode)return!1;const o=n(e.parentNode);return o?o.selected?!0:fp(o,n):!1}function Ir(e,n){return typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`}function pp(e,n,o){return e<n?oo(Math.abs(e-n),1,n)/n:e>o?-oo(Math.abs(e-o),1,n)/n:0}function mp(e,n,o=15,r=40){const i=pp(e.x,r,n.width-r)*o,a=pp(e.y,r,n.height-r)*o;return[i,a]}function ns(e,n){if(n){const o=e.position.x+e.dimensions.width-n.dimensions.width,r=e.position.y+e.dimensions.height-n.dimensions.height;if(o>0||r>0||e.position.x<0||e.position.y<0){let i={};if(typeof n.style=="function"?i={...n.style(n)}:n.style&&(i={...n.style}),i.width=i.width??`${n.dimensions.width}px`,i.height=i.height??`${n.dimensions.height}px`,o>0)if(typeof i.width=="string"){const a=Number(i.width.replace("px",""));i.width=`${a+o}px`}else i.width+=o;if(r>0)if(typeof i.height=="string"){const a=Number(i.height.replace("px",""));i.height=`${a+r}px`}else i.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(n.position.x=n.position.x-a,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+a}px`}else i.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(n.position.y=n.position.y-a,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+a}px`}else i.height+=a;e.position.y=0}n.dimensions.width=Number(i.width.toString().replace("px","")),n.dimensions.height=Number(i.height.toString().replace("px","")),typeof n.style=="function"?n.style=a=>{const l=n.style;return{...l(a),...i}}:n.style={...n.style,...i}}}}function gp(e,n){var o,r;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")n.findIndex(c=>c.id===l.item.id)===-1&&n.push(l.item);else if(l.type==="remove"){const s=n.findIndex(c=>c.id===l.id);s!==-1&&n.splice(s,1)}const a=n.map(l=>l.id);for(const l of n)for(const s of e)if(s.id===l.id)switch(s.type){case"select":l.selected=s.selected;break;case"position":if(vr(l)&&(typeof s.position<"u"&&(l.position=s.position),typeof s.dragging<"u"&&(l.dragging=s.dragging),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&vr(c)&&ns(l,c)}break;case"dimensions":if(vr(l)&&(typeof s.dimensions<"u"&&(l.dimensions=s.dimensions),typeof s.updateStyle<"u"&&s.updateStyle&&(l.style={...l.style||{},width:`${(o=s.dimensions)==null?void 0:o.width}px`,height:`${(r=s.dimensions)==null?void 0:r.height}px`}),typeof s.resizing<"u"&&(l.resizing=s.resizing),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&vr(c)&&(!!c.dimensions.width&&!!c.dimensions.height?ns(l,c):t.nextTick(()=>{ns(l,c)}))}break}return n}function Tn(e,n){return{id:e,type:"select",selected:n}}function hp(e){return{item:e,type:"add"}}function yp(e){return{id:e,type:"remove"}}function _p(e,n,o,r,i){return{id:e,source:n,target:o,sourceHandle:r||null,targetHandle:i||null,type:"remove"}}function Pn(e,n=new Set,o=!1){const r=[];for(const[i,a]of e){const l=n.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(o&&(a.selected=l),r.push(Tn(a.id,l)))}return r}function Ce(e){const n=new Set;let o=!1;const r=()=>n.size>0;e&&(o=!0,n.add(e));const i=s=>{n.delete(s)};return{on:s=>{e&&o&&n.delete(e),n.add(s);const c=()=>{i(s),e&&o&&n.add(e)};return yi(c),{off:c}},off:i,trigger:s=>Promise.all(Array.from(n).map(c=>c(s))),hasListeners:r,fns:n}}function bp(e,n,o){let r=e;do{if(r&&r.matches(n))return!0;if(r===o)return!1;r=r.parentElement}while(r);return!1}function KA(e,n,o,r,i){var a,l;const s=[];for(const c of e)(c.selected||c.id===i)&&(!c.parentNode||!fp(c,r))&&(c.draggable||n&&typeof c.draggable>"u")&&s.push(t.markRaw({id:c.id,position:c.position||{x:0,y:0},distance:{x:o.x-((a=c.computedPosition)==null?void 0:a.x)||0,y:o.y-((l=c.computedPosition)==null?void 0:l.y)||0},from:c.computedPosition,extent:c.extent,parentNode:c.parentNode,dimensions:c.dimensions,expandParent:c.expandParent}));return s}function os({id:e,dragItems:n,findNode:o}){const r=[];for(const i of n){const a=o(i.id);a&&r.push(a)}return[e?r.find(i=>i.id===e):r[0],r]}function wp(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function jA(e,n,o){const[r,i,a,l]=typeof e!="string"?wp(e.padding):[0,0,0,0];return o&&typeof o.computedPosition.x<"u"&&typeof o.computedPosition.y<"u"&&typeof o.dimensions.width<"u"&&typeof o.dimensions.height<"u"?[[o.computedPosition.x+l,o.computedPosition.y+r],[o.computedPosition.x+o.dimensions.width-i,o.computedPosition.y+o.dimensions.height-a]]:!1}function GA(e,n,o,r){let i=e.extent||o;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&r&&e.dimensions.width&&e.dimensions.height){const a=jA(i,e,r);a&&(i=a)}else n(new ut(it.NODE_EXTENT_INVALID,e.id)),i=o;else if(Array.isArray(i)){const a=(r==null?void 0:r.computedPosition.x)||0,l=(r==null?void 0:r.computedPosition.y)||0;i=[[i[0][0]+a,i[0][1]+l],[i[1][0]+a,i[1][1]+l]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[a,l,s,c]=wp(i.padding),d=(r==null?void 0:r.computedPosition.x)||0,p=(r==null?void 0:r.computedPosition.y)||0;i=[[i.range[0][0]+d+c,i.range[0][1]+p+a],[i.range[1][0]+d-l,i.range[1][1]+p-s]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function qA({width:e,height:n},o){return[o[0],[o[1][0]-(e||0),o[1][1]-(n||0)]]}function rs(e,n,o,r,i){const a=qA(e.dimensions,GA(e,o,r,i)),l=np(n,a);return{position:{x:l.x-((i==null?void 0:i.computedPosition.x)||0),y:l.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:l}}function Uo(e,n,o=Ee.Left,r=!1){const i=((n==null?void 0:n.x)??0)+e.computedPosition.x,a=((n==null?void 0:n.y)??0)+e.computedPosition.y,{width:l,height:s}=n??WA(e);if(r)return{x:i+l/2,y:a+s/2};switch((n==null?void 0:n.position)??o){case Ee.Top:return{x:i+l/2,y:a};case Ee.Right:return{x:i+l,y:a+s/2};case Ee.Bottom:return{x:i+l/2,y:a+s};case Ee.Left:return{x:i,y:a+s/2}}}function kp(e,n){return e&&(n?e.find(o=>o.id===n):e[0])||null}function zA({sourcePos:e,targetPos:n,sourceWidth:o,sourceHeight:r,targetWidth:i,targetHeight:a,width:l,height:s,viewport:c}){const d={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+o,n.x+i),y2:Math.max(e.y+r,n.y+a)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const p=lp({x:(0-c.x)/c.zoom,y:(0-c.y)/c.zoom,width:l/c.zoom,height:s/c.zoom}),u=Math.max(0,Math.min(p.x2,d.x2)-Math.max(p.x,d.x)),f=Math.max(0,Math.min(p.y2,d.y2)-Math.max(p.y,d.y));return Math.ceil(u*f)>0}function HA(e,n,o=!1){const r=typeof e.zIndex=="number";let i=r?e.zIndex:0;const a=n(e.source),l=n(e.target);return!a||!l?0:(o&&(i=r?e.zIndex:Math.max(a.computedPosition.z||0,l.computedPosition.z||0)),i)}var it=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(it||{});const Cp={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
124
|
+
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===n.toLowerCase();r||o.add(e.toLowerCase());const a=i.every((l,s)=>o.has(l)&&Array.from(o.values())[s]===i[s]);return r&&o.delete(e.toLowerCase()),a}function TA(e,n){return o=>{if(!o.code&&!o.key)return!1;const r=OA(o.code,e);return Array.isArray(e)?e.some(i=>Jf(o[r],i,n,o.type==="keyup")):Jf(o[r],e,n,o.type==="keyup")}}function OA(e,n){return n.includes(e)?"code":"key"}function Sr(e,n){const o=t.computed(()=>t.toValue(n==null?void 0:n.target)??IA),r=t.shallowRef(t.toValue(e)===!0);let i=!1;const a=new Set;let l=c(t.toValue(e));t.watch(()=>t.toValue(e),(d,p)=>{typeof p=="boolean"&&typeof d!="boolean"&&s(),l=c(d)},{immediate:!0}),rf(["blur","contextmenu"],s),af((...d)=>l(...d),d=>{var p,u;const f=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0,m=t.toValue(n==null?void 0:n.preventDefault)??!1;if(i=PA(d),(!i||i&&!f)&&es(d))return;const h=((u=(p=d.composedPath)==null?void 0:p.call(d))==null?void 0:u[0])||d.target,y=(h==null?void 0:h.nodeName)==="BUTTON"||(h==null?void 0:h.nodeName)==="A";!m&&(i||!y)&&d.preventDefault(),r.value=!0},{eventName:"keydown",target:o}),af((...d)=>l(...d),d=>{const p=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0;if(r.value){if((!i||i&&!p)&&es(d))return;i=!1,r.value=!1}},{eventName:"keyup",target:o});function s(){i=!1,a.clear(),r.value=t.toValue(e)===!0}function c(d){return d===null?(s(),()=>!1):typeof d=="boolean"?(s(),r.value=d,()=>!1):Array.isArray(d)||typeof d=="string"?TA(d,a):d}return r}const Qf="vue-flow__node-desc",ep="vue-flow__edge-desc",$A="vue-flow__aria-live",tp=["Enter"," ","Escape"],Lo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Fi(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function Li(e,n){const o=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),r=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(o*r)}function Ui(e){return{width:e.offsetWidth,height:e.offsetHeight}}function oo(e,n=0,o=1){return Math.min(Math.max(e,n),o)}function np(e,n){return{x:oo(e.x,n[0][0],n[1][0]),y:oo(e.y,n[0][1],n[1][1])}}function op(e){const n=e.getRootNode();return"elementFromPoint"in n?n:window.document}function In(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function ro(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!In(e)}function vr(e){return ro(e)&&"computedPosition"in e}function Ki(e){return!Number.isNaN(e)&&Number.isFinite(e)}function BA(e){return Ki(e.width)&&Ki(e.height)&&Ki(e.x)&&Ki(e.y)}function VA(e,n,o){const r={id:e.id.toString(),type:e.type??"default",dimensions:t.markRaw({width:0,height:0}),computedPosition:t.markRaw({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:lt(e.data)?e.data:{},events:t.markRaw(lt(e.events)?e.events:{})};return Object.assign(n??r,e,{id:e.id.toString(),parentNode:o})}function rp(e,n,o){var r,i;const a={id:e.id.toString(),type:e.type??(n==null?void 0:n.type)??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(r=e.sourceHandle)==null?void 0:r.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??(o==null?void 0:o.updatable),selectable:e.selectable??(o==null?void 0:o.selectable),focusable:e.focusable??(o==null?void 0:o.focusable),data:lt(e.data)?e.data:{},events:t.markRaw(lt(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??(o==null?void 0:o.interactionWidth),...o??{}};return Object.assign(n??a,e,{id:e.id.toString()})}function ip(e,n,o,r){const i=typeof e=="string"?e:e.id,a=new Set,l=r==="source"?"target":"source";for(const s of o)s[l]===i&&a.add(s[r]);return n.filter(s=>a.has(s.id))}function DA(...e){if(e.length===3){const[a,l,s]=e;return ip(a,l,s,"target")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>In(a)&&a.source===r).map(a=>o.find(l=>ro(l)&&l.id===a.target))}function RA(...e){if(e.length===3){const[a,l,s]=e;return ip(a,l,s,"source")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>In(a)&&a.target===r).map(a=>o.find(l=>ro(l)&&l.id===a.source))}function ap({source:e,sourceHandle:n,target:o,targetHandle:r}){return`vueflow__edge-${e}${n??""}-${o}${r??""}`}function MA(e,n){return n.some(o=>In(o)&&o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle))}function ts({x:e,y:n},{x:o,y:r,zoom:i}){return{x:e*i+o,y:n*i+r}}function Ar({x:e,y:n},{x:o,y:r,zoom:i},a=!1,l=[1,1]){const s={x:(e-o)/i,y:(n-r)/i};return a?Gi(s,l):s}function FA(e,n){return{x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}}function lp({x:e,y:n,width:o,height:r}){return{x:e,y:n,x2:e+o,y2:n+r}}function LA({x:e,y:n,x2:o,y2:r}){return{x:e,y:n,width:o-e,height:r-n}}function sp(e){let n={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let o=0;o<e.length;o++){const r=e[o];n=FA(n,lp({...r.computedPosition,...r.dimensions}))}return LA(n)}function cp(e,n,o={x:0,y:0,zoom:1},r=!1,i=!1){const a={...Ar(n,o),width:n.width/o.zoom,height:n.height/o.zoom},l=[];for(const s of e){const{dimensions:c,selectable:d=!0,hidden:p=!1}=s,u=c.width??s.width??null,f=c.height??s.height??null;if(i&&!d||p)continue;const m=Li(a,Fi(s)),g=u===null||f===null,h=r&&m>0,y=(u??0)*(f??0);(g||h||m>=y||s.dragging)&&l.push(s)}return l}function dp(e,n){const o=new Set;if(typeof e=="string")o.add(e);else if(e.length>=1)for(const r of e)o.add(r.id);return n.filter(r=>o.has(r.source)||o.has(r.target))}function up(e,n,o,r,i,a=.1,l={x:0,y:0}){const s=n/(e.width*(1+a)),c=o/(e.height*(1+a)),d=Math.min(s,c),p=oo(d,r,i),u=e.x+e.width/2,f=e.y+e.height/2,m=n/2-u*p+(l.x??0),g=o/2-f*p+(l.y??0);return{x:m,y:g,zoom:p}}function UA(e,n){return{x:n.x+e.x,y:n.y+e.y,z:(e.z>n.z?e.z:n.z)+1}}function fp(e,n){if(!e.parentNode)return!1;const o=n(e.parentNode);return o?o.selected?!0:fp(o,n):!1}function Ir(e,n){return typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`}function pp(e,n,o){return e<n?oo(Math.abs(e-n),1,n)/n:e>o?-oo(Math.abs(e-o),1,n)/n:0}function mp(e,n,o=15,r=40){const i=pp(e.x,r,n.width-r)*o,a=pp(e.y,r,n.height-r)*o;return[i,a]}function ns(e,n){if(n){const o=e.position.x+e.dimensions.width-n.dimensions.width,r=e.position.y+e.dimensions.height-n.dimensions.height;if(o>0||r>0||e.position.x<0||e.position.y<0){let i={};if(typeof n.style=="function"?i={...n.style(n)}:n.style&&(i={...n.style}),i.width=i.width??`${n.dimensions.width}px`,i.height=i.height??`${n.dimensions.height}px`,o>0)if(typeof i.width=="string"){const a=Number(i.width.replace("px",""));i.width=`${a+o}px`}else i.width+=o;if(r>0)if(typeof i.height=="string"){const a=Number(i.height.replace("px",""));i.height=`${a+r}px`}else i.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(n.position.x=n.position.x-a,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+a}px`}else i.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(n.position.y=n.position.y-a,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+a}px`}else i.height+=a;e.position.y=0}n.dimensions.width=Number(i.width.toString().replace("px","")),n.dimensions.height=Number(i.height.toString().replace("px","")),typeof n.style=="function"?n.style=a=>{const l=n.style;return{...l(a),...i}}:n.style={...n.style,...i}}}}function gp(e,n){var o,r;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")n.findIndex(c=>c.id===l.item.id)===-1&&n.push(l.item);else if(l.type==="remove"){const s=n.findIndex(c=>c.id===l.id);s!==-1&&n.splice(s,1)}const a=n.map(l=>l.id);for(const l of n)for(const s of e)if(s.id===l.id)switch(s.type){case"select":l.selected=s.selected;break;case"position":if(vr(l)&&(typeof s.position<"u"&&(l.position=s.position),typeof s.dragging<"u"&&(l.dragging=s.dragging),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&vr(c)&&ns(l,c)}break;case"dimensions":if(vr(l)&&(typeof s.dimensions<"u"&&(l.dimensions=s.dimensions),typeof s.updateStyle<"u"&&s.updateStyle&&(l.style={...l.style||{},width:`${(o=s.dimensions)==null?void 0:o.width}px`,height:`${(r=s.dimensions)==null?void 0:r.height}px`}),typeof s.resizing<"u"&&(l.resizing=s.resizing),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&vr(c)&&(!!c.dimensions.width&&!!c.dimensions.height?ns(l,c):t.nextTick(()=>{ns(l,c)}))}break}return n}function Pn(e,n){return{id:e,type:"select",selected:n}}function hp(e){return{item:e,type:"add"}}function yp(e){return{id:e,type:"remove"}}function _p(e,n,o,r,i){return{id:e,source:n,target:o,sourceHandle:r||null,targetHandle:i||null,type:"remove"}}function Tn(e,n=new Set,o=!1){const r=[];for(const[i,a]of e){const l=n.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(o&&(a.selected=l),r.push(Pn(a.id,l)))}return r}function Ee(e){const n=new Set;let o=!1;const r=()=>n.size>0;e&&(o=!0,n.add(e));const i=s=>{n.delete(s)};return{on:s=>{e&&o&&n.delete(e),n.add(s);const c=()=>{i(s),e&&o&&n.add(e)};return yi(c),{off:c}},off:i,trigger:s=>Promise.all(Array.from(n).map(c=>c(s))),hasListeners:r,fns:n}}function bp(e,n,o){let r=e;do{if(r&&r.matches(n))return!0;if(r===o)return!1;r=r.parentElement}while(r);return!1}function KA(e,n,o,r,i){var a,l;const s=[];for(const c of e)(c.selected||c.id===i)&&(!c.parentNode||!fp(c,r))&&(c.draggable||n&&typeof c.draggable>"u")&&s.push(t.markRaw({id:c.id,position:c.position||{x:0,y:0},distance:{x:o.x-((a=c.computedPosition)==null?void 0:a.x)||0,y:o.y-((l=c.computedPosition)==null?void 0:l.y)||0},from:c.computedPosition,extent:c.extent,parentNode:c.parentNode,dimensions:c.dimensions,expandParent:c.expandParent}));return s}function os({id:e,dragItems:n,findNode:o}){const r=[];for(const i of n){const a=o(i.id);a&&r.push(a)}return[e?r.find(i=>i.id===e):r[0],r]}function wp(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function jA(e,n,o){const[r,i,a,l]=typeof e!="string"?wp(e.padding):[0,0,0,0];return o&&typeof o.computedPosition.x<"u"&&typeof o.computedPosition.y<"u"&&typeof o.dimensions.width<"u"&&typeof o.dimensions.height<"u"?[[o.computedPosition.x+l,o.computedPosition.y+r],[o.computedPosition.x+o.dimensions.width-i,o.computedPosition.y+o.dimensions.height-a]]:!1}function GA(e,n,o,r){let i=e.extent||o;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&r&&e.dimensions.width&&e.dimensions.height){const a=jA(i,e,r);a&&(i=a)}else n(new ut(at.NODE_EXTENT_INVALID,e.id)),i=o;else if(Array.isArray(i)){const a=(r==null?void 0:r.computedPosition.x)||0,l=(r==null?void 0:r.computedPosition.y)||0;i=[[i[0][0]+a,i[0][1]+l],[i[1][0]+a,i[1][1]+l]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[a,l,s,c]=wp(i.padding),d=(r==null?void 0:r.computedPosition.x)||0,p=(r==null?void 0:r.computedPosition.y)||0;i=[[i.range[0][0]+d+c,i.range[0][1]+p+a],[i.range[1][0]+d-l,i.range[1][1]+p-s]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function qA({width:e,height:n},o){return[o[0],[o[1][0]-(e||0),o[1][1]-(n||0)]]}function rs(e,n,o,r,i){const a=qA(e.dimensions,GA(e,o,r,i)),l=np(n,a);return{position:{x:l.x-((i==null?void 0:i.computedPosition.x)||0),y:l.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:l}}function Uo(e,n,o=Ne.Left,r=!1){const i=((n==null?void 0:n.x)??0)+e.computedPosition.x,a=((n==null?void 0:n.y)??0)+e.computedPosition.y,{width:l,height:s}=n??WA(e);if(r)return{x:i+l/2,y:a+s/2};switch((n==null?void 0:n.position)??o){case Ne.Top:return{x:i+l/2,y:a};case Ne.Right:return{x:i+l,y:a+s/2};case Ne.Bottom:return{x:i+l/2,y:a+s};case Ne.Left:return{x:i,y:a+s/2}}}function kp(e,n){return e&&(n?e.find(o=>o.id===n):e[0])||null}function zA({sourcePos:e,targetPos:n,sourceWidth:o,sourceHeight:r,targetWidth:i,targetHeight:a,width:l,height:s,viewport:c}){const d={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+o,n.x+i),y2:Math.max(e.y+r,n.y+a)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const p=lp({x:(0-c.x)/c.zoom,y:(0-c.y)/c.zoom,width:l/c.zoom,height:s/c.zoom}),u=Math.max(0,Math.min(p.x2,d.x2)-Math.max(p.x,d.x)),f=Math.max(0,Math.min(p.y2,d.y2)-Math.max(p.y,d.y));return Math.ceil(u*f)>0}function HA(e,n,o=!1){const r=typeof e.zIndex=="number";let i=r?e.zIndex:0;const a=n(e.source),l=n(e.target);return!a||!l?0:(o&&(i=r?e.zIndex:Math.max(a.computedPosition.z||0,l.computedPosition.z||0)),i)}var at=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(at||{});const Cp={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
125
125
|
Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found
|
|
126
126
|
Node: ${e}`,NODE_MISSING_PARENT:(e,n)=>`Node is missing a parent
|
|
127
127
|
Node: ${e}
|
|
@@ -141,4 +141,4 @@ Edge: ${e}
|
|
|
141
141
|
Source: ${n}
|
|
142
142
|
Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
|
|
143
143
|
Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
|
|
144
|
-
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class ut extends Error{constructor(n,...o){var r;super((r=Cp[n])==null?void 0:r.call(Cp,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function is(e){return"clientX"in e}function YA(e){return"sourceEvent"in e}function on(e,n){const o=is(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const ji=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function WA(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function Gi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const XA=()=>!0;function as(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function ZA(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())Li(i,Fi(a))>0&&r.push(a);return r}const JA=250;function QA(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=ZA(e,o,n+JA);for(const d of c){const p=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of p){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:f,y:m}=Uo(d,u,u.position,!0),g=Math.sqrt((f-e.x)**2+(m-e.y)**2);g>n||(g<s?(l=[{...u,x:f,y:m}],s=g):g===s&&l.push({...u,x:f,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(p=>p.type===d)??l[0]}return l[0]}function Ep(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=XA},p,u,f){const m=a==="target",g=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:h,y:_}=on(e),y=l.elementFromPoint(h,_),w=y!=null&&y.classList.contains(`${s}-flow__handle`)?y:g,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const x=Np(void 0,w),N=w.getAttribute("data-nodeid"),E=w.getAttribute("data-handleid"),k=w.classList.contains("connectable"),A=w.classList.contains("connectableend");if(!N||!x)return b;const T={source:m?N:r,sourceHandle:m?E:i,target:m?r:N,targetHandle:m?i:E};b.connection=T;const O=k&&A&&(o===An.Strict?m&&x==="source"||!m&&x==="target":N!==r||E!==i);b.isValid=O&&d(T,{nodes:u,edges:p,sourceNode:f(r),targetNode:f(N)}),b.toHandle=n}return b}function Np(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function eI(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function tI(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function nI(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const p=i===An.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],u=(o?p==null?void 0:p.find(f=>f.id===o):p==null?void 0:p[0])??null;return u&&a?{...u,...Uo(d,u,u.position,!0)}:u}const ls={[Ee.Left]:Ee.Right,[Ee.Right]:Ee.Left,[Ee.Top]:Ee.Bottom,[Ee.Bottom]:Ee.Top},oI=["production","prod"];function qi(e,...n){xp()&&console.warn(`[Vue Flow]: ${e}`,...n)}function xp(){return!oI.includes(process.env.NODE_ENV||"")}function Sp(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...Ui(l)}}):null}function ss(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function at(e){return typeof t.unref(e)<"u"}function rI(e,n,o,r){if(!e||!e.source||!e.target)return o(new ut(it.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return In(e)?i=e:i={...e,id:ap(e)},i=rp(i,void 0,r),MA(i,n)?!1:i}function iI(e,n,o,r,i){if(!n.source||!n.target)return i(new ut(it.EDGE_INVALID,e.id)),!1;if(!o)return i(new ut(it.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?ap(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function vp(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!ro(l)){o(new ut(it.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=VA(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new ut(it.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Ap(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function cs(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,p=`${a}-${s}--${i}-${l}`;Ap("source",c,p,e,i,l),Ap("target",c,d,e,a,s)}}function Ip(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function ds(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const p=In(d)?d:rI(d,s,i,a);if(!p)continue;const u=o(p.source),f=o(p.target);if(!u||!f){i(new ut(it.EDGE_SOURCE_TARGET_MISSING,p.id,p.source,p.target));continue}if(!u){i(new ut(it.EDGE_SOURCE_MISSING,p.id,p.source));continue}if(!f){i(new ut(it.EDGE_TARGET_MISSING,p.id,p.target));continue}if(n&&!n(p,{edges:s,nodes:l,sourceNode:u,targetNode:f})){i(new ut(it.EDGE_INVALID,p.id));continue}const m=r(p.id);c.push({...rp(p,m,a),sourceNode:u,targetNode:f})}return c}const Tp=Symbol("vueFlow"),Pp=Symbol("nodeId"),Op=Symbol("nodeRef"),aI=Symbol("edgeId"),lI=Symbol("edgeRef"),zi=Symbol("slots");function $p(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:p,nodesDraggable:u,panBy:f,findNode:m,multiSelectionActive:g,nodesSelectionActive:h,selectNodesOnDrag:_,removeSelectedElements:y,addSelectedNodes:w,updateNodePositions:b,emits:x}=Ue(),{onStart:N,onDrag:E,onStop:k,onClick:A,el:T,disabled:I,id:O,selectable:C,dragHandle:q}=e,S=t.shallowRef(!1);let K=[],U,ee=null,Y={x:void 0,y:void 0},M={x:0,y:0},L=null,v=!1,D=0,W=!1;const z=dI(),H=({x:de,y:fe})=>{Y={x:de,y:fe};let ue=!1;if(K=K.map($=>{const V={x:de-$.distance.x,y:fe-$.distance.y},{computedPosition:F}=rs($,o.value?Gi(V,r.value):V,x.error,l.value,$.parentNode?m($.parentNode):void 0);return ue=ue||$.position.x!==F.x||$.position.y!==F.y,$.position=F,$}),!!ue&&(b(K,!0,!0),S.value=!0,L)){const[$,V]=os({id:O,dragItems:K,findNode:m});E({event:L,node:$,nodes:V})}},Q=()=>{if(!ee)return;const[de,fe]=mp(M,ee,p.value);if(de!==0||fe!==0){const ue={x:(Y.x??0)-de/c.value.zoom,y:(Y.y??0)-fe/c.value.zoom};f({x:de,y:fe})&&H(ue)}D=requestAnimationFrame(Q)},le=(de,fe)=>{v=!0;const ue=m(O);!_.value&&!g.value&&ue&&(ue.selected||y()),ue&&t.toValue(C)&&_.value&&ss(ue,g.value,w,y,h,!1,fe);const $=z(de.sourceEvent);if(Y=$,K=KA(a.value,u.value,$,m,O),K.length){const[V,F]=os({id:O,dragItems:K,findNode:m});N({event:de.sourceEvent,node:V,nodes:F})}},_e=(de,fe)=>{var ue;de.sourceEvent.type==="touchmove"&&de.sourceEvent.touches.length>1||(s.value===0&&le(de,fe),Y=z(de.sourceEvent),ee=((ue=n.value)==null?void 0:ue.getBoundingClientRect())||null,M=on(de.sourceEvent,ee))},Z=(de,fe)=>{const ue=z(de.sourceEvent);if(!W&&v&&d.value&&(W=!0,Q()),!v){const $=ue.xSnapped-(Y.x??0),V=ue.ySnapped-(Y.y??0);Math.sqrt($*$+V*V)>s.value&&le(de,fe)}(Y.x!==ue.xSnapped||Y.y!==ue.ySnapped)&&K.length&&v&&(L=de.sourceEvent,M=on(de.sourceEvent,ee),H(ue))},re=de=>{let fe=!1;if(!v&&!S.value&&!g.value){const ue=de.sourceEvent,$=z(ue),V=$.xSnapped-(Y.x??0),F=$.ySnapped-(Y.y??0),R=Math.sqrt(V*V+F*F);R!==0&&R<=s.value&&(A==null||A(ue),fe=!0)}if(K.length&&!fe){b(K,!1,!1);const[ue,$]=os({id:O,dragItems:K,findNode:m});k({event:de.sourceEvent,node:ue,nodes:$})}K=[],S.value=!1,W=!1,v=!1,Y={x:void 0,y:void 0},cancelAnimationFrame(D)};return t.watch([()=>t.toValue(I),T],([de,fe],ue,$)=>{if(fe){const V=zt(fe);de||(U=BS().on("start",F=>_e(F,fe)).on("drag",F=>Z(F,fe)).on("end",F=>re(F)).filter(F=>{const R=F.target,te=t.toValue(q);return!F.button&&(!i.value||!bp(R,`.${i.value}`,fe)&&(!te||bp(R,te,fe)))}),V.call(U)),$(()=>{V.on(".drag",null),U&&(U.on("start",null),U.on("drag",null),U.on("end",null))})}}),S}function sI(){return{doubleClick:Ce(),click:Ce(),mouseEnter:Ce(),mouseMove:Ce(),mouseLeave:Ce(),contextMenu:Ce(),updateStart:Ce(),update:Ce(),updateEnd:Ce()}}function cI(e,n){const o=sI();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function dI(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Ue();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=YA(i)?i.sourceEvent:i,{x:c,y:d}=on(s,l),p=Ar({x:c,y:d},e.value),{x:u,y:f}=o.value?Gi(p,n.value):p;return{xSnapped:u,ySnapped:f,...p}}}function Hi(){return!0}function Bp({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:p,connectOnClick:u,connectionClickStartHandle:f,nodesConnectable:m,autoPanOnConnect:g,autoPanSpeed:h,findNode:_,panBy:y,startConnection:w,updateConnection:b,endConnection:x,emits:N,viewport:E,edges:k,nodes:A,isValidConnection:T,nodeLookup:I}=Ue();let O=null,C=!1,q=null;function S(U){var ee;const Y=t.toValue(o)==="target",M=is(U),L=op(U.target);if(M&&U.button===0||!M){let v=function(B){$=on(B,de),H=QA(Ar($,E.value,!1,[1,1]),p.value,I.value,R),V||(F(),V=!0);const P=Ep(B,{handle:H,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:Y?"target":"source",isValidConnection:z,doc:L,lib:"vue",flowId:s,nodeLookup:I.value},k.value,A.value,_);q=P.handleDomNode,O=P.connection,C=tI(!!H,P.isValid);const oe={...j,isValid:C,to:P.toHandle&&C?ts({x:P.toHandle.x,y:P.toHandle.y},E.value):$,toHandle:P.toHandle,toPosition:C&&P.toHandle?P.toHandle.position:ls[R.position],toNode:P.toHandle?I.value.get(P.toHandle.nodeId):null};if(!(C&&H&&(j!=null&&j.toHandle)&&oe.toHandle&&j.toHandle.type===oe.toHandle.type&&j.toHandle.nodeId===oe.toHandle.nodeId&&j.toHandle.id===oe.toHandle.id&&j.to.x===oe.to.x&&j.to.y===oe.to.y)){if(b(H&&C?ts({x:H.x,y:H.y},E.value):$,P.toHandle,eI(!!H,C)),j=oe,!H&&!C&&!q)return as(ue);O&&O.source!==O.target&&q&&(as(ue),ue=q,q.classList.add("connecting","vue-flow__handle-connecting"),q.classList.toggle("valid",!!C),q.classList.toggle("vue-flow__handle-valid",!!C))}},D=function(B){(H||q)&&O&&C&&(a?a(B,O):N.connect(O)),N.connectEnd(B),i&&(l==null||l(B)),as(ue),cancelAnimationFrame(Q),x(B),V=!1,C=!1,O=null,q=null,L.removeEventListener("mousemove",v),L.removeEventListener("mouseup",D),L.removeEventListener("touchmove",v),L.removeEventListener("touchend",D)};const W=_(t.toValue(n));let z=t.toValue(r)||T.value||Hi;!z&&W&&(z=(Y?W.isValidSourcePos:W.isValidTargetPos)||Hi);let H,Q=0;const{x:le,y:_e}=on(U),Z=L==null?void 0:L.elementFromPoint(le,_e),re=Np(t.toValue(i),Z),de=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!de||!re)return;const fe=nI(t.toValue(n),re,t.toValue(e),I.value,d.value);if(!fe)return;let ue,$=on(U,de),V=!1;const F=()=>{if(!g.value)return;const[B,P]=mp($,de,h.value);y({x:B,y:P}),Q=requestAnimationFrame(F)},R={...fe,nodeId:t.toValue(n),type:re,position:fe.position},te=I.value.get(t.toValue(n)),ie={inProgress:!0,isValid:null,from:Uo(te,R,Ee.Left,!0),fromHandle:R,fromPosition:R.position,fromNode:te,to:$,toHandle:null,toPosition:ls[R.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:re,position:(Z==null?void 0:Z.getAttribute("data-handlepos"))||Ee.Top,...$},{x:le-de.left,y:_e-de.top}),N.connectStart({event:U,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:re});let j=ie;L.addEventListener("mousemove",v),L.addEventListener("mouseup",D),L.addEventListener("touchmove",v),L.addEventListener("touchend",D)}}function K(U){var ee,Y;if(!u.value)return;const M=t.toValue(o)==="target";if(!f.value){N.clickConnectStart({event:U,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:Ee.Top,...on(U)},void 0,!0);return}let L=t.toValue(r)||T.value||Hi;const v=_(t.toValue(n));if(!L&&v&&(L=(M?v.isValidSourcePos:v.isValidTargetPos)||Hi),v&&(typeof v.connectable>"u"?m.value:v.connectable)===!1)return;const D=op(U.target),W=Ep(U,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:Ee.Top,...on(U)},connectionMode:d.value,fromNodeId:f.value.nodeId,fromHandleId:f.value.id??null,fromType:f.value.type,isValidConnection:L,doc:D,lib:"vue",flowId:s,nodeLookup:I.value},k.value,A.value,_),z=((ee=W.connection)==null?void 0:ee.source)===((Y=W.connection)==null?void 0:Y.target);W.isValid&&W.connection&&!z&&N.connect(W.connection),N.clickConnectEnd(U),x(U,!0)}return{handlePointerDown:S,handleClick:K}}function uI(){return t.inject(Pp,"")}function Vp(e){const n=e??uI()??"",o=t.inject(Op,t.ref(null)),{findNode:r,edges:i,emits:a}=Ue(),l=r(n);return l||a.error(new ut(it.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>dp([l],i.value))}}function fI(){return{doubleClick:Ce(),click:Ce(),mouseEnter:Ce(),mouseMove:Ce(),mouseLeave:Ce(),contextMenu:Ce(),dragStart:Ce(),drag:Ce(),dragStop:Ce()}}function pI(e,n){const o=fI();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Dp(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Ue();return(c,d=!1)=>{const p=a.value?i.value[0]:5,u=a.value?i.value[1]:5,f=d?4:1,m=c.x*p*f,g=c.y*u*f,h=[];for(const _ of e.value)if(_.draggable||l&&typeof _.draggable>"u"){const y={x:_.computedPosition.x+m,y:_.computedPosition.y+g},{computedPosition:w}=rs(_,y,s.error,n.value,_.parentNode?r(_.parentNode):void 0);h.push({id:_.id,position:w,from:_.position,distance:{x:c.x,y:c.y},dimensions:_.dimensions})}o(h,!0,!1)}}const us=.1,mI=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function On(){return qi("Viewport not initialized yet."),Promise.resolve(!1)}const gI={zoomIn:On,zoomOut:On,zoomTo:On,fitView:On,setCenter:On,fitBounds:On,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:On,setTransform:On,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function hI(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?_r:Ii).scaleBy(fs(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:p}=np({x:-r,y:-i},e.translateExtent),u=Fo.translate(-d,-p).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?_r:Ii).transform(fs(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?_r:Ii).scaleTo(fs(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:us,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const f of e.nodes)f.dimensions.width&&f.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!f.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(f.id))&&s.push(f);if(!s.length)return Promise.resolve(!1);const c=sp(s),{x:d,y:p,zoom:u}=up(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??us,i.offset);return o(d,p,u,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:us})=>{const{x:l,y:s,zoom:c}=up(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>Ar(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return Ar(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return ts(s,e.viewport)}return{x:0,y:0}}}:gI)}function fs(e,n=0,o=mI,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function yI(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let h,_,y=!!(o.nodes.value.length||o.edges.value.length);h=Bo([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(_==null||_.pause(),o.setElements(w),!_&&!y&&w.length?y=!0:_==null||_.resume())}),_=Bo([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var x;(x=e.modelValue)!=null&&x.value&&Array.isArray(e.modelValue.value)&&(h==null||h.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{h==null||h.resume()}))},{immediate:y}),t.onScopeDispose(()=>{h==null||h.stop(),_==null||_.stop()})})},a=()=>{r.run(()=>{let h,_,y=!!o.nodes.value.length;h=Bo([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(_==null||_.pause(),o.setNodes(w),!_&&!y&&w.length?y=!0:_==null||_.resume())}),_=Bo([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(h==null||h.pause(),e.nodes.value=[...w],t.nextTick(()=>{h==null||h.resume()}))},{immediate:y}),t.onScopeDispose(()=>{h==null||h.stop(),_==null||_.stop()})})},l=()=>{r.run(()=>{let h,_,y=!!o.edges.value.length;h=Bo([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(_==null||_.pause(),o.setEdges(w),!_&&!y&&w.length?y=!0:_==null||_.resume())}),_=Bo([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(h==null||h.pause(),e.edges.value=[...w],t.nextTick(()=>{h==null||h.resume()}))},{immediate:y}),t.onScopeDispose(()=>{h==null||h.stop(),_==null||_.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&at(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&at(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&at(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},p=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&at(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{at(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},f=()=>{r.run(()=>{const h=async _=>{let y=_;typeof n.autoConnect=="function"&&(y=await n.autoConnect(_)),y!==!1&&o.addEdges([y])};t.watch(()=>n.autoConnect,()=>{at(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(_,y,w)=>{_?o.onConnect(h):o.hooks.value.connect.off(h),w(()=>{o.hooks.value.connect.off(h)})},{immediate:!0})})},m=()=>{const h=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const _ of Object.keys(n)){const y=_;if(!h.includes(y)){const w=t.toRef(()=>n[y]),b=o[y];t.isRef(b)&&r.run(()=>{t.watch(w,x=>{at(x)&&(b.value=x)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),p(),u(),f(),m()})()}),()=>r.stop()}function _I(){return{edgesChange:Ce(),nodesChange:Ce(),nodeDoubleClick:Ce(),nodeClick:Ce(),nodeMouseEnter:Ce(),nodeMouseMove:Ce(),nodeMouseLeave:Ce(),nodeContextMenu:Ce(),nodeDragStart:Ce(),nodeDrag:Ce(),nodeDragStop:Ce(),nodesInitialized:Ce(),miniMapNodeClick:Ce(),miniMapNodeDoubleClick:Ce(),miniMapNodeMouseEnter:Ce(),miniMapNodeMouseMove:Ce(),miniMapNodeMouseLeave:Ce(),connect:Ce(),connectStart:Ce(),connectEnd:Ce(),clickConnectStart:Ce(),clickConnectEnd:Ce(),paneReady:Ce(),init:Ce(),move:Ce(),moveStart:Ce(),moveEnd:Ce(),selectionDragStart:Ce(),selectionDrag:Ce(),selectionDragStop:Ce(),selectionContextMenu:Ce(),selectionStart:Ce(),selectionEnd:Ce(),viewportChangeStart:Ce(),viewportChange:Ce(),viewportChangeEnd:Ce(),paneScroll:Ce(),paneClick:Ce(),paneContextMenu:Ce(),paneMouseEnter:Ce(),paneMouseMove:Ce(),paneMouseLeave:Ce(),edgeContextMenu:Ce(),edgeMouseEnter:Ce(),edgeMouseMove:Ce(),edgeMouseLeave:Ce(),edgeDoubleClick:Ce(),edgeClick:Ce(),edgeUpdateStart:Ce(),edgeUpdate:Ce(),edgeUpdateEnd:Ce(),updateNodeInternals:Ce(),error:Ce(e=>qi(e.message))}}function bI(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),yi(()=>{r.off(i)})}})}function Rp(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Ql.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:xr.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:no.Bezier,style:{}},connectionMode:An.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:ji()?"Meta":"Control",zoomActivationKeyCode:ji()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:_I(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const wI=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function kI(e,n,o){const r=hI(e),i=$=>{const V=$??[];e.hooks.updateNodeInternals.trigger(V)},a=$=>RA($,e.nodes,e.edges),l=$=>DA($,e.nodes,e.edges),s=$=>dp($,e.edges),c=({id:$,type:V,nodeId:F})=>{var R;return Array.from(((R=e.connectionLookup.get(`${F}-${V}-${$??null}`))==null?void 0:R.values())??[])},d=$=>{if($)return n.value.get($)},p=$=>{if($)return o.value.get($)},u=($,V,F)=>{var R,te;const G=[];for(const ie of $){const j={id:ie.id,type:"position",dragging:F,from:ie.from};if(V&&(j.position=ie.position,ie.parentNode)){const B=d(ie.parentNode);j.position={x:j.position.x-(((R=B==null?void 0:B.computedPosition)==null?void 0:R.x)??0),y:j.position.y-(((te=B==null?void 0:B.computedPosition)==null?void 0:te.y)??0)}}G.push(j)}G!=null&&G.length&&e.hooks.nodesChange.trigger(G)},f=$=>{if(!e.vueFlowRef)return;const V=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!V)return;const F=window.getComputedStyle(V),{m22:R}=new window.DOMMatrixReadOnly(F.transform),te=[];for(const G of $){const ie=G,j=d(ie.id);if(j){const B=Ui(ie.nodeElement);if(!!(B.width&&B.height&&(j.dimensions.width!==B.width||j.dimensions.height!==B.height||ie.forceUpdate))){const oe=ie.nodeElement.getBoundingClientRect();j.dimensions=B,j.handleBounds.source=Sp("source",ie.nodeElement,oe,R,j.id),j.handleBounds.target=Sp("target",ie.nodeElement,oe,R,j.id),te.push({id:j.id,type:"dimensions",dimensions:B})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),te.length&&e.hooks.nodesChange.trigger(te)},m=($,V)=>{const F=new Set,R=new Set;for(const ie of $)ro(ie)?F.add(ie.id):In(ie)&&R.add(ie.id);const te=Pn(n.value,F,!0),G=Pn(o.value,R);if(e.multiSelectionActive){for(const ie of F)te.push(Tn(ie,V));for(const ie of R)G.push(Tn(ie,V))}te.length&&e.hooks.nodesChange.trigger(te),G.length&&e.hooks.edgesChange.trigger(G)},g=$=>{if(e.multiSelectionActive){const V=$.map(F=>Tn(F.id,!0));e.hooks.nodesChange.trigger(V);return}e.hooks.nodesChange.trigger(Pn(n.value,new Set($.map(V=>V.id)),!0)),e.hooks.edgesChange.trigger(Pn(o.value))},h=$=>{if(e.multiSelectionActive){const V=$.map(F=>Tn(F.id,!0));e.hooks.edgesChange.trigger(V);return}e.hooks.edgesChange.trigger(Pn(o.value,new Set($.map(V=>V.id)))),e.hooks.nodesChange.trigger(Pn(n.value,new Set,!0))},_=$=>{m($,!0)},y=$=>{const F=($||e.nodes).map(R=>(R.selected=!1,Tn(R.id,!1)));e.hooks.nodesChange.trigger(F)},w=$=>{const F=($||e.edges).map(R=>(R.selected=!1,Tn(R.id,!1)));e.hooks.edgesChange.trigger(F)},b=$=>{if(!$||!$.length)return m([],!1);const V=$.reduce((F,R)=>{const te=Tn(R.id,!1);return ro(R)?F.nodes.push(te):F.edges.push(te),F},{nodes:[],edges:[]});V.nodes.length&&e.hooks.nodesChange.trigger(V.nodes),V.edges.length&&e.hooks.edgesChange.trigger(V.edges)},x=$=>{var V;(V=e.d3Zoom)==null||V.scaleExtent([$,e.maxZoom]),e.minZoom=$},N=$=>{var V;(V=e.d3Zoom)==null||V.scaleExtent([e.minZoom,$]),e.maxZoom=$},E=$=>{var V;(V=e.d3Zoom)==null||V.translateExtent($),e.translateExtent=$},k=$=>{e.nodeExtent=$,i()},A=$=>{var V;(V=e.d3Zoom)==null||V.clickDistance($)},T=$=>{e.nodesDraggable=$,e.nodesConnectable=$,e.elementsSelectable=$},I=$=>{const V=$ instanceof Function?$(e.nodes):$;!e.initialized&&!V.length||(e.nodes=vp(V,d,e.hooks.error.trigger))},O=$=>{const V=$ instanceof Function?$(e.edges):$;if(!e.initialized&&!V.length)return;const F=ds(V,e.isValidConnection,d,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);cs(e.connectionLookup,o.value,F),e.edges=F},C=$=>{const V=$ instanceof Function?$([...e.nodes,...e.edges]):$;!e.initialized&&!V.length||(I(V.filter(ro)),O(V.filter(In)))},q=$=>{let V=$ instanceof Function?$(e.nodes):$;V=Array.isArray(V)?V:[V];const F=vp(V,d,e.hooks.error.trigger),R=[];for(const te of F)R.push(hp(te));R.length&&e.hooks.nodesChange.trigger(R)},S=$=>{let V=$ instanceof Function?$(e.edges):$;V=Array.isArray(V)?V:[V];const F=ds(V,e.isValidConnection,d,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),R=[];for(const te of F)R.push(hp(te));R.length&&e.hooks.edgesChange.trigger(R)},K=($,V=!0,F=!1)=>{const R=$ instanceof Function?$(e.nodes):$,te=Array.isArray(R)?R:[R],G=[],ie=[];function j(P){const oe=s(P);for(const ne of oe)(!at(ne.deletable)||ne.deletable)&&ie.push(_p(ne.id,ne.source,ne.target,ne.sourceHandle,ne.targetHandle))}function B(P){const oe=[];for(const ne of e.nodes)ne.parentNode===P&&oe.push(ne);if(oe.length){for(const ne of oe)G.push(yp(ne.id));V&&j(oe);for(const ne of oe)B(ne.id)}}for(const P of te){const oe=typeof P=="string"?d(P):P;oe&&(at(oe.deletable)&&!oe.deletable||(G.push(yp(oe.id)),V&&j([oe]),F&&B(oe.id)))}ie.length&&e.hooks.edgesChange.trigger(ie),G.length&&e.hooks.nodesChange.trigger(G)},U=$=>{const V=$ instanceof Function?$(e.edges):$,F=Array.isArray(V)?V:[V],R=[];for(const te of F){const G=typeof te=="string"?p(te):te;G&&(at(G.deletable)&&!G.deletable||R.push(_p(typeof te=="string"?te:te.id,G.source,G.target,G.sourceHandle,G.targetHandle)))}e.hooks.edgesChange.trigger(R)},ee=($,V,F=!0)=>{const R=p($.id);if(!R)return!1;const te=e.edges.indexOf(R),G=iI($,V,R,F,e.hooks.error.trigger);if(G){const[ie]=ds([G],e.isValidConnection,d,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((j,B)=>B===te?ie:j),cs(e.connectionLookup,o.value,[ie]),ie}return!1},Y=($,V,F={replace:!1})=>{const R=p($);if(!R)return;const te=typeof V=="function"?V(R):V;R.data=F.replace?te:{...R.data,...te}},M=$=>gp($,e.nodes),L=$=>{const V=gp($,e.edges);return cs(e.connectionLookup,o.value,V),V},v=($,V,F={replace:!1})=>{const R=d($);if(!R)return;const te=typeof V=="function"?V(R):V;F.replace?e.nodes.splice(e.nodes.indexOf(R),1,te):Object.assign(R,te)},D=($,V,F={replace:!1})=>{const R=d($);if(!R)return;const te=typeof V=="function"?V(R):V;R.data=F.replace?te:{...R.data,...te}},W=($,V,F=!1)=>{F?e.connectionClickStartHandle=$:e.connectionStartHandle=$,e.connectionEndHandle=null,e.connectionStatus=null,V&&(e.connectionPosition=V)},z=($,V=null,F=null)=>{e.connectionStartHandle&&(e.connectionPosition=$,e.connectionEndHandle=V,e.connectionStatus=F)},H=($,V)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,V?e.connectionClickStartHandle=null:e.connectionStartHandle=null},Q=$=>{const V=BA($),F=V?null:vr($)?$:d($.id);return!V&&!F?[null,null,V]:[V?$:Fi(F),F,V]},le=($,V=!0,F=e.nodes)=>{const[R,te,G]=Q($);if(!R)return[];const ie=[];for(const j of F||e.nodes){if(!G&&(j.id===te.id||!j.computedPosition))continue;const B=Fi(j),P=Li(B,R);(V&&P>0||P>=Number(R.width)*Number(R.height))&&ie.push(j)}return ie},_e=($,V,F=!0)=>{const[R]=Q($);if(!R)return!1;const te=Li(R,V);return F&&te>0||te>=Number(R.width)*Number(R.height)},Z=$=>{const{viewport:V,dimensions:F,d3Zoom:R,d3Selection:te,translateExtent:G}=e;if(!R||!te||!$.x&&!$.y)return!1;const ie=Fo.translate(V.x+$.x,V.y+$.y).scale(V.zoom),j=[[0,0],[F.width,F.height]],B=R.constrain()(ie,j,G),P=e.viewport.x!==B.x||e.viewport.y!==B.y||e.viewport.zoom!==B.k;return R.transform(te,B),P},re=$=>{const V=$ instanceof Function?$(e):$,F=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];at(V.defaultEdgeOptions)&&(e.defaultEdgeOptions=V.defaultEdgeOptions);const R=V.modelValue||V.nodes||V.edges?[]:void 0;R&&(V.modelValue&&R.push(...V.modelValue),V.nodes&&R.push(...V.nodes),V.edges&&R.push(...V.edges),C(R));const te=()=>{at(V.maxZoom)&&N(V.maxZoom),at(V.minZoom)&&x(V.minZoom),at(V.translateExtent)&&E(V.translateExtent)};for(const G of Object.keys(V)){const ie=G,j=V[ie];![...wI,...F].includes(ie)&&at(j)&&(e[ie]=j)}Ol(()=>e.d3Zoom).not.toBeNull().then(te),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:f,setElements:C,setNodes:I,setEdges:O,addNodes:q,addEdges:S,removeNodes:K,removeEdges:U,findNode:d,findEdge:p,updateEdge:ee,updateEdgeData:Y,updateNode:v,updateNodeData:D,applyEdgeChanges:L,applyNodeChanges:M,addSelectedElements:_,addSelectedNodes:g,addSelectedEdges:h,setMinZoom:x,setMaxZoom:N,setTranslateExtent:E,setNodeExtent:k,setPaneClickDistance:A,removeSelectedElements:b,removeSelectedNodes:y,removeSelectedEdges:w,startConnection:W,updateConnection:z,endConnection:H,setInteractive:T,setState:re,getIntersectingNodes:le,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:_e,panBy:Z,fitView:$=>r.value.fitView($),zoomIn:$=>r.value.zoomIn($),zoomOut:$=>r.value.zoomOut($),zoomTo:($,V)=>r.value.zoomTo($,V),setViewport:($,V)=>r.value.setViewport($,V),setTransform:($,V)=>r.value.setTransform($,V),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:($,V,F)=>r.value.setCenter($,V,F),fitBounds:($,V)=>r.value.fitBounds($,V),project:$=>r.value.project($),screenToFlowCoordinate:$=>r.value.screenToFlowCoordinate($),flowToScreenCoordinate:$=>r.value.flowToScreenCoordinate($),toObject:()=>{const $=[],V=[];for(const F of e.nodes){const{computedPosition:R,handleBounds:te,selected:G,dimensions:ie,isParent:j,resizing:B,dragging:P,events:oe,...ne}=F;$.push(ne)}for(const F of e.edges){const{selected:R,sourceNode:te,targetNode:G,events:ie,...j}=F;V.push(j)}return JSON.parse(JSON.stringify({nodes:$,edges:V,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:$=>new Promise(V=>{const{nodes:F,edges:R,position:te,zoom:G,viewport:ie}=$;if(F&&I(F),R&&O(R),ie!=null&&ie.x&&(ie!=null&&ie.y)||te){const j=(ie==null?void 0:ie.x)||te[0],B=(ie==null?void 0:ie.y)||te[1],P=(ie==null?void 0:ie.zoom)||G||e.viewport.zoom;return Ol(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:j,y:B,zoom:P}).then(()=>{V(!0)})})}else V(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const $=Rp();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const V=Fo.translate($.defaultViewport.x??0,$.defaultViewport.y??0).scale(oo($.defaultViewport.zoom??1,$.minZoom,$.maxZoom)),F=e.viewportRef.getBoundingClientRect(),R=[[0,0],[F.width,F.height]],te=e.d3Zoom.constrain()(V,R,$.translateExtent);e.d3Zoom.transform(e.d3Selection,te)}re($)},$destroy:()=>{}}}const CI=["data-id","data-handleid","data-nodeid","data-handlepos"],EI={name:"Handle",compatConfig:{MODE:3}},rn=t.defineComponent({...EI,props:{id:{default:null},type:{},position:{default:()=>Ee.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:p,noDragClassName:u,noPanClassName:f}=Ue(),{id:m,node:g,nodeEl:h,connectedEdges:_}=Vp(),y=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),x=t.toRef(()=>{var O,C,q,S,K,U;return((O=l.value)==null?void 0:O.nodeId)===m&&((C=l.value)==null?void 0:C.id)===e.id&&((q=l.value)==null?void 0:q.type)===r.value||((S=c.value)==null?void 0:S.nodeId)===m&&((K=c.value)==null?void 0:K.id)===e.id&&((U=c.value)==null?void 0:U.type)===r.value}),N=t.toRef(()=>{var O,C,q;return((O=s.value)==null?void 0:O.nodeId)===m&&((C=s.value)==null?void 0:C.id)===e.id&&((q=s.value)==null?void 0:q.type)===r.value}),{handlePointerDown:E,handleClick:k}=Bp({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),A=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!_.value.some(O=>{const C=O[`${r.value}Handle`];return O[r.value]!==m?!1:C?C===e.id:!0}):typeof e.connectable=="number"?_.value.filter(O=>{const C=O[`${r.value}Handle`];return O[r.value]!==m?!1:C?C===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(g,_.value):at(e.connectable)?e.connectable:p.value);t.onMounted(()=>{var O;if(!g.dimensions.width||!g.dimensions.height)return;const C=(O=g.handleBounds[r.value])==null?void 0:O.find(M=>M.id===e.id);if(!d.value||C)return;const q=d.value.querySelector(".vue-flow__transformationpane");if(!h.value||!y.value||!q||!e.id)return;const S=h.value.getBoundingClientRect(),K=y.value.getBoundingClientRect(),U=window.getComputedStyle(q),{m22:ee}=new window.DOMMatrixReadOnly(U.transform),Y={id:e.id,position:e.position,x:(K.left-S.left)/ee,y:(K.top-S.top)/ee,type:r.value,nodeId:m,...Ui(y.value)};g.handleBounds[r.value]=[...g.handleBounds[r.value]??[],Y]});function T(O){const C=is(O);A.value&&w.value&&(C&&O.button===0||!C)&&E(O)}function I(O){!m||!s.value&&!w.value||A.value&&k(O)}return n({handleClick:k,handlePointerDown:E,onClick:I,onPointerDown:T}),(O,C)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:y,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":O.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${O.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(f),r.value,{connectable:A.value,connecting:N.value,connectablestart:w.value,connectableend:b.value,connectionindicator:A.value&&(w.value&&!x.value||b.value&&x.value)}]]),onMousedown:T,onTouchstartPassive:T,onClick:I},[t.renderSlot(O.$slots,"default",{id:O.id})],42,CI))}}),Yi=function({sourcePosition:e=Ee.Bottom,targetPosition:n=Ee.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(rn,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(rn,{type:"source",position:e,connectable:r,isValidConnection:a})]};Yi.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],Yi.inheritAttrs=!1,Yi.compatConfig={MODE:3};const NI=Yi,Wi=function({targetPosition:e=Ee.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(rn,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Wi.props=["targetPosition","label","isValidTargetPos","connectable","data"],Wi.inheritAttrs=!1,Wi.compatConfig={MODE:3};const xI=Wi,Xi=function({sourcePosition:e=Ee.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(rn,{type:"source",position:e,connectable:o,isValidConnection:r})]};Xi.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Xi.inheritAttrs=!1,Xi.compatConfig={MODE:3};const SI=Xi,vI=["transform"],AI=["width","height","x","y","rx","ry"],II=["y"],TI={name:"EdgeText",compatConfig:{MODE:3}},PI=t.defineComponent({...TI,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,AI)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,II)],8,vI))}}),OI=["id","d","marker-end","marker-start"],$I=["d","stroke-width"],BI={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Zi=t.defineComponent({...BI,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,OI),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,$I)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(PI,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function Mp({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Fp({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=n*.125+a*.375+s*.375+r*.125,p=Math.abs(c-e),u=Math.abs(d-n);return[c,d,p,u]}function Ji(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Lp({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case Ee.Left:l=n-Ji(n-r,a),s=o;break;case Ee.Right:l=n+Ji(r-n,a),s=o;break;case Ee.Top:l=n,s=o-Ji(o-i,a);break;case Ee.Bottom:l=n,s=o+Ji(i-o,a);break}return[l,s]}function Up(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ee.Bottom,targetX:i,targetY:a,targetPosition:l=Ee.Top,curvature:s=.25}=e,[c,d]=Lp({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[p,u]=Lp({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[f,m,g,h]=Fp({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:p,targetControlY:u});return[`M${n},${o} C${c},${d} ${p},${u} ${i},${a}`,f,m,g,h]}function Kp({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case Ee.Left:case Ee.Right:a=.5*(n+r),l=o;break;case Ee.Top:case Ee.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function jp(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ee.Bottom,targetX:i,targetY:a,targetPosition:l=Ee.Top}=e,[s,c]=Kp({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,p]=Kp({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,f,m,g]=Fp({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:p});return[`M${n},${o} C${s},${c} ${d},${p} ${i},${a}`,u,f,m,g]}const Gp={[Ee.Left]:{x:-1,y:0},[Ee.Right]:{x:1,y:0},[Ee.Top]:{x:0,y:-1},[Ee.Bottom]:{x:0,y:1}};function VI({source:e,sourcePosition:n=Ee.Bottom,target:o}){return n===Ee.Left||n===Ee.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function qp(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function DI({source:e,sourcePosition:n=Ee.Bottom,target:o,targetPosition:r=Ee.Top,center:i,offset:a}){const l=Gp[n],s=Gp[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},p=VI({source:c,sourcePosition:n,target:d}),u=p.x!==0?"x":"y",f=p[u];let m,g,h;const _={x:0,y:0},y={x:0,y:0},[w,b,x,N]=Mp({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){g=i.x??w,h=i.y??b;const k=[{x:g,y:c.y},{x:g,y:d.y}],A=[{x:c.x,y:h},{x:d.x,y:h}];l[u]===f?m=u==="x"?k:A:m=u==="x"?A:k}else{const k=[{x:c.x,y:d.y}],A=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===f?A:k:m=l.y===f?k:A,n===r){const q=Math.abs(e[u]-o[u]);if(q<=a){const S=Math.min(a-1,a-q);l[u]===f?_[u]=(c[u]>e[u]?-1:1)*S:y[u]=(d[u]>o[u]?-1:1)*S}}if(n!==r){const q=u==="x"?"y":"x",S=l[u]===s[q],K=c[q]>d[q],U=c[q]<d[q];(l[u]===1&&(!S&&K||S&&U)||l[u]!==1&&(!S&&U||S&&K))&&(m=u==="x"?k:A)}const T={x:c.x+_.x,y:c.y+_.y},I={x:d.x+y.x,y:d.y+y.y},O=Math.max(Math.abs(T.x-m[0].x),Math.abs(I.x-m[0].x)),C=Math.max(Math.abs(T.y-m[0].y),Math.abs(I.y-m[0].y));O>=C?(g=(T.x+I.x)/2,h=m[0].y):(g=m[0].x,h=(T.y+I.y)/2)}return[[e,{x:c.x+_.x,y:c.y+_.y},...m,{x:d.x+y.x,y:d.y+y.y},o],g,h,x,N]}function RI(e,n,o,r){const i=Math.min(qp(e,n)/2,qp(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,p=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*p}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function ps(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ee.Bottom,targetX:i,targetY:a,targetPosition:l=Ee.Top,borderRadius:s=5,centerX:c,centerY:d,offset:p=20}=e,[u,f,m,g,h]=DI({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:p});return[u.reduce((y,w,b)=>{let x;return b>0&&b<u.length-1?x=RI(u[b-1],w,u[b+1],s):x=`${b===0?"M":"L"}${w.x} ${w.y}`,y+=x,y},""),f,m,g,h]}function MI(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Mp({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const FI=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=MI(e);return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),zp=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=ps({...e,sourcePosition:e.sourcePosition??Ee.Bottom,targetPosition:e.targetPosition??Ee.Top});return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),LI=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(zp,{...e,...n,borderRadius:0})}}),UI=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Up({...e,sourcePosition:e.sourcePosition??Ee.Bottom,targetPosition:e.targetPosition??Ee.Top});return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),KI=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=jp({...e,sourcePosition:e.sourcePosition??Ee.Bottom,targetPosition:e.targetPosition??Ee.Top});return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),jI={input:SI,default:NI,output:xI},GI={default:UI,straight:FI,step:LI,smoothstep:zp,simplebezier:KI};function qI(e,n,o){const r=t.computed(()=>h=>n.value.get(h)),i=t.computed(()=>h=>o.value.get(h)),a=t.computed(()=>{const h={...GI,...e.edgeTypes},_=Object.keys(h);for(const y of e.edges)y.type&&!_.includes(y.type)&&(h[y.type]=y.type);return h}),l=t.computed(()=>{const h={...jI,...e.nodeTypes},_=Object.keys(h);for(const y of e.nodes)y.type&&!_.includes(y.type)&&(h[y.type]=y.type);return h}),s=t.computed(()=>e.onlyRenderVisibleElements?cp(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const h=[];for(const _ of e.edges){const y=n.value.get(_.source),w=n.value.get(_.target);zA({sourcePos:y.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:y.dimensions.width,sourceHeight:y.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&h.push(_)}return h}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),p=t.computed(()=>{const h=[];for(const _ of e.nodes)_.selected&&h.push(_);return h}),u=t.computed(()=>{const h=[];for(const _ of e.edges)_.selected&&h.push(_);return h}),f=t.computed(()=>[...p.value,...u.value]),m=t.computed(()=>{const h=[];for(const _ of e.nodes)_.dimensions.width&&_.dimensions.height&&_.handleBounds!==void 0&&h.push(_);return h}),g=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:f,getSelectedNodes:p,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:g}}class io{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??io.instance;return io.instance=r??new io,o&&(o.config.globalProperties.$vueFlowStorage=io.instance),io.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Rp(),i=t.reactive(r),a={};for(const[f,m]of Object.entries(i.hooks)){const g=`on${f.charAt(0).toUpperCase()+f.slice(1)}`;a[g]=m.on}const l={};for(const[f,m]of Object.entries(i.hooks))l[f]=m.trigger;const s=t.computed(()=>{const f=new Map;for(const m of i.nodes)f.set(m.id,m);return f}),c=t.computed(()=>{const f=new Map;for(const m of i.edges)f.set(m.id,m);return f}),d=qI(i,s,c),p=kI(i,s,c);p.setState({...i,...o});const u={...a,...d,...p,...j1(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function Ue(e){const n=io.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Tp,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(u,f,m)=>{const g=_=>{d.applyNodeChanges(_)},h=_=>{d.applyEdgeChanges(_)};u?(d.onNodesChange(g),d.onEdgesChange(h)):(d.hooks.value.nodesChange.off(g),d.hooks.value.edgesChange.off(h)),m(()=>{d.hooks.value.nodesChange.off(g),d.hooks.value.edgesChange.off(h)})},{immediate:!0}),yi(()=>{if(s){const u=n.get(s.id);u?u.$destroy():qi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Tp,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new ut(it.USEVUEFLOW_OPTIONS))}return s}function zI(e){const{emits:n,dimensions:o}=Ue();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=Ui(i);(l.width===0||l.height===0)&&n.error(new ut(it.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const HI={name:"UserSelection",compatConfig:{MODE:3}},YI=t.defineComponent({...HI,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),WI=["tabIndex"],XI={name:"NodesSelection",compatConfig:{MODE:3}},ZI=t.defineComponent({...XI,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Ue(),s=Dp(),c=t.ref(null),d=$p({el:c,onStart(g){n.selectionDragStart(g)},onDrag(g){n.selectionDrag(g)},onStop(g){n.selectionDragStop(g)}});t.onMounted(()=>{var g;a.value||(g=c.value)==null||g.focus({preventScroll:!0})});const p=t.computed(()=>sp(r.value)),u=t.computed(()=>({width:`${p.value.width}px`,height:`${p.value.height}px`,top:`${p.value.y}px`,left:`${p.value.x}px`}));function f(g){n.selectionContextMenu({event:g,nodes:r.value})}function m(g){a||Lo[g.key]&&(g.preventDefault(),s({x:Lo[g.key].x,y:Lo[g.key].y},g.shiftKey))}return(g,h)=>!t.unref(l)&&p.value.width&&p.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:f,onKeydown:m},null,46,WI)],6)):t.createCommentVNode("",!0)}});function JI(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const QI={name:"Pane",compatConfig:{MODE:3}},eT=t.defineComponent({...QI,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:p,getSelectedNodes:u,removeNodes:f,removeEdges:m,selectionMode:g,deleteKeyCode:h,multiSelectionKeyCode:_,multiSelectionActive:y,edgeLookup:w,nodeLookup:b,connectionLookup:x,defaultEdgeOptions:N,connectionStartHandle:E}=Ue(),k=t.ref(null),A=t.ref(new Set),T=t.ref(new Set),I=t.ref(),O=t.toRef(()=>c.value&&(e.isSelecting||a.value)),C=t.toRef(()=>E.value!==null);let q=!1,S=!1;const K=Sr(h,{actInsideInputWithModifier:!1}),U=Sr(_);t.watch(K,z=>{z&&(f(u.value),m(p.value),d.value=!1)}),t.watch(U,z=>{y.value=z});function ee(z,H){return Q=>{Q.target===H&&(z==null||z(Q))}}function Y(z){if(q||C.value){q=!1;return}i.paneClick(z),l(),d.value=!1}function M(z){z.preventDefault(),z.stopPropagation(),i.paneContextMenu(z)}function L(z){i.paneScroll(z)}function v(z){var H,Q,le;if(I.value=(H=n.value)==null?void 0:H.getBoundingClientRect(),!c.value||!e.isSelecting||z.button!==0||z.target!==k.value||!I.value)return;(le=(Q=z.target)==null?void 0:Q.setPointerCapture)==null||le.call(Q,z.pointerId);const{x:_e,y:Z}=JI(z,I.value);S=!0,q=!1,l(),s.value={width:0,height:0,startX:_e,startY:Z,x:_e,y:Z},i.selectionStart(z)}function D(z){var H;if(!I.value||!s.value)return;q=!0;const{x:Q,y:le}=on(z,I.value),{startX:_e=0,startY:Z=0}=s.value,re={startX:_e,startY:Z,x:Q<_e?Q:_e,y:le<Z?le:Z,width:Math.abs(Q-_e),height:Math.abs(le-Z)},de=A.value,fe=T.value;A.value=new Set(cp(o.value,re,r.value,g.value===Ql.Partial,!0).map($=>$.id)),T.value=new Set;const ue=((H=N.value)==null?void 0:H.selectable)??!0;for(const $ of A.value){const V=x.value.get($);if(V)for(const{edgeId:F}of V.values()){const R=w.value.get(F);R&&(R.selectable??ue)&&T.value.add(F)}}if(!Ip(de,A.value)){const $=Pn(b.value,A.value,!0);i.nodesChange($)}if(!Ip(fe,T.value)){const $=Pn(w.value,T.value);i.edgesChange($)}s.value=re,a.value=!0,d.value=!1}function W(z){var H;z.button!==0||!S||((H=z.target)==null||H.releasePointerCapture(z.pointerId),!a.value&&s.value&&z.target===k.value&&Y(z),a.value=!1,s.value=null,d.value=A.value.size>0,i.selectionEnd(z),e.selectionKeyPressed&&(q=!1),S=!1)}return(z,H)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:k,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:z.isSelecting}]),onClick:H[0]||(H[0]=Q=>O.value?void 0:ee(Y,k.value)(Q)),onContextmenu:H[1]||(H[1]=Q=>ee(M,k.value)(Q)),onWheelPassive:H[2]||(H[2]=Q=>ee(L,k.value)(Q)),onPointerenter:H[3]||(H[3]=Q=>O.value?void 0:t.unref(i).paneMouseEnter(Q)),onPointerdown:H[4]||(H[4]=Q=>O.value?v(Q):t.unref(i).paneMouseMove(Q)),onPointermove:H[5]||(H[5]=Q=>O.value?D(Q):t.unref(i).paneMouseMove(Q)),onPointerup:H[6]||(H[6]=Q=>O.value?W(Q):void 0),onPointerleave:H[7]||(H[7]=Q=>t.unref(i).paneMouseLeave(Q))},[t.renderSlot(z.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(YI,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(ZI,{key:1})):t.createCommentVNode("",!0)],34))}}),tT={name:"Transform",compatConfig:{MODE:3}},nT=t.defineComponent({...tT,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Ue(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),oT={name:"Viewport",compatConfig:{MODE:3}},rT=t.defineComponent({...oT,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:p,panOnDrag:u,zoomOnDoubleClick:f,zoomOnPinch:m,zoomOnScroll:g,preventScrolling:h,noWheelClassName:_,noPanClassName:y,emits:w,connectionStartHandle:b,userSelectionActive:x,paneDragging:N,d3Zoom:E,d3Selection:k,d3ZoomHandler:A,viewport:T,viewportRef:I,paneClickDistance:O}=Ue();zI(I);const C=t.shallowRef(!1),q=t.shallowRef(!1);let S=null,K=!1,U=0,ee={x:0,y:0,zoom:0};const Y=Sr(s),M=Sr(l),L=Sr(a),v=t.toRef(()=>(!M.value||M.value&&l.value===!0)&&(Y.value||u.value)),D=t.toRef(()=>Y.value||c.value),W=t.toRef(()=>M.value||l.value===!0&&v.value!==!0);t.onMounted(()=>{if(!I.value){qi("Viewport element is missing");return}const Z=I.value,re=Z.getBoundingClientRect(),de=vA().clickDistance(O.value).scaleExtent([n.value,o.value]).translateExtent(i.value),fe=zt(Z).call(de),ue=fe.on("wheel.zoom"),$=Fo.translate(r.value.x??0,r.value.y??0).scale(oo(r.value.zoom??1,n.value,o.value)),V=[[0,0],[re.width,re.height]],F=de.constrain()($,V,i.value);de.transform(fe,F),de.wheelDelta(H),E.value=de,k.value=fe,A.value=ue,T.value={x:F.x,y:F.y,zoom:F.k},de.on("start",R=>{var te;if(!R.sourceEvent)return null;U=R.sourceEvent.button,C.value=!0;const G=le(R.transform);((te=R.sourceEvent)==null?void 0:te.type)==="mousedown"&&(N.value=!0),ee=G,w.viewportChangeStart(G),w.moveStart({event:R,flowTransform:G})}),de.on("end",R=>{if(!R.sourceEvent)return null;if(C.value=!1,N.value=!1,z(v.value,U??0)&&!K&&w.paneContextMenu(R.sourceEvent),K=!1,Q(ee,R.transform)){const te=le(R.transform);ee=te,w.viewportChangeEnd(te),w.moveEnd({event:R,flowTransform:te})}}),de.filter(R=>{var te;const G=L.value||g.value,ie=m.value&&R.ctrlKey,j=R.button;if(j===1&&R.type==="mousedown"&&(_e(R,"vue-flow__node")||_e(R,"vue-flow__edge")))return!0;if(!v.value&&!G&&!D.value&&!f.value&&!m.value||x.value||!f.value&&R.type==="dblclick"||_e(R,_.value)&&R.type==="wheel"||_e(R,y.value)&&(R.type!=="wheel"||D.value&&R.type==="wheel"&&!L.value)||!m.value&&R.ctrlKey&&R.type==="wheel"||!G&&!D.value&&!ie&&R.type==="wheel")return!1;if(!m&&R.type==="touchstart"&&((te=R.touches)==null?void 0:te.length)>1)return R.preventDefault(),!1;if(!v.value&&(R.type==="mousedown"||R.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&j===0||Array.isArray(u.value)&&!u.value.includes(j)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const B=Array.isArray(u.value)&&u.value.includes(j)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!j||j<=1;return(!R.ctrlKey||Y.value||R.type==="wheel")&&B}),t.watch([x,v],()=>{x.value&&!C.value?de.on("zoom",null):x.value||de.on("zoom",R=>{T.value={x:R.transform.x,y:R.transform.y,zoom:R.transform.k};const te=le(R.transform);K=z(v.value,U??0),w.viewportChange(te),w.move({event:R,flowTransform:te})})},{immediate:!0}),t.watch([x,D,d,L,m,h,_],()=>{D.value&&!L.value&&!x.value?fe.on("wheel.zoom",R=>{if(_e(R,_.value))return!1;const te=L.value||g.value,G=m.value&&R.ctrlKey;if(!(!h.value||D.value||te||G))return!1;R.preventDefault(),R.stopImmediatePropagation();const j=fe.property("__zoom").k||1,B=ji();if(!Y.value&&R.ctrlKey&&m.value&&B){const be=Qt(R),ae=H(R),Ne=j*2**ae;de.scaleTo(fe,Ne,be,R);return}const P=R.deltaMode===1?20:1;let oe=d.value===xr.Vertical?0:R.deltaX*P,ne=d.value===xr.Horizontal?0:R.deltaY*P;!B&&R.shiftKey&&d.value!==xr.Vertical&&!oe&&ne&&(oe=ne,ne=0),de.translateBy(fe,-(oe/j)*p.value,-(ne/j)*p.value);const pe=le(fe.property("__zoom"));S&&clearTimeout(S),q.value?(w.move({event:R,flowTransform:pe}),w.viewportChange(pe),S=setTimeout(()=>{w.moveEnd({event:R,flowTransform:pe}),w.viewportChangeEnd(pe),q.value=!1},150)):(q.value=!0,w.moveStart({event:R,flowTransform:pe}),w.viewportChangeStart(pe))},{passive:!1}):typeof ue<"u"&&fe.on("wheel.zoom",function(R,te){const G=!h.value&&R.type==="wheel"&&!R.ctrlKey,ie=L.value||g.value,j=m.value&&R.ctrlKey;if(!ie&&!c.value&&!j&&R.type==="wheel"||G||_e(R,_.value))return null;R.preventDefault(),ue.call(this,R,te)},{passive:!1})},{immediate:!0})});function z(Z,re){return re===2&&Array.isArray(Z)&&Z.includes(2)}function H(Z){const re=Z.ctrlKey&&ji()?10:1;return-Z.deltaY*(Z.deltaMode===1?.05:Z.deltaMode?1:.002)*re}function Q(Z,re){return Z.x!==re.x&&!Number.isNaN(re.x)||Z.y!==re.y&&!Number.isNaN(re.y)||Z.zoom!==re.k&&!Number.isNaN(re.k)}function le(Z){return{x:Z.x,y:Z.y,zoom:Z.k}}function _e(Z,re){return Z.target.closest(`.${re}`)}return(Z,re)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:I,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(eT,{"is-selecting":W.value,"selection-key-pressed":t.unref(M),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(N),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(nT,null,{default:t.withCtx(()=>[t.renderSlot(Z.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),iT=["id"],aT=["id"],lT=["id"],sT={name:"A11yDescriptions",compatConfig:{MODE:3}},cT=t.defineComponent({...sT,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Ue();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(Qf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,iT),t.createElementVNode("div",{id:`${t.unref(ep)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,aT),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref($A)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,lT))],64))}});function dT(){const e=Ue();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function uT(e,n,o){return o===Ee.Left?e-n:o===Ee.Right?e+n:e}function fT(e,n,o){return o===Ee.Top?e-n:o===Ee.Bottom?e+n:e}const ms=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=Ee.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:uT(n,e,r),cy:fT(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};ms.props=["radius","centerX","centerY","position","type"],ms.compatConfig={MODE:3};const Hp=ms,pT=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:p,findNode:u,isValidConnection:f,multiSelectionActive:m,disableKeyboardA11y:g,elementsSelectable:h,edgesUpdatable:_,edgesFocusable:y,hooks:w}=Ue(),b=t.computed(()=>p(e.id)),{emit:x,on:N}=cI(b.value,a),E=t.inject(zi),k=t.getCurrentInstance(),A=t.ref(!1),T=t.ref(!1),I=t.ref(""),O=t.ref(null),C=t.ref("source"),q=t.ref(null),S=t.toRef(()=>typeof b.value.selectable>"u"?h.value:b.value.selectable),K=t.toRef(()=>typeof b.value.updatable>"u"?_.value:b.value.updatable),U=t.toRef(()=>typeof b.value.focusable>"u"?y.value:b.value.focusable);t.provide(aI,e.id),t.provide(lI,q);const ee=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),Y=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),M=t.computed(()=>{const V=b.value.type||"default",F=E==null?void 0:E[`edge-${V}`];if(F)return F;let R=b.value.template??c.value[V];if(typeof R=="string"&&k){const te=Object.keys(k.appContext.components);te&&te.includes(V)&&(R=t.resolveComponent(V,!1))}return R&&typeof R!="string"?R:(a.error(new ut(it.EDGE_TYPE_MISSING,R)),!1)}),{handlePointerDown:L}=Bp({nodeId:I,handleId:O,type:C,isValidConnection:f,edgeUpdaterType:C,onEdgeUpdate:W,onEdgeUpdateEnd:z});return()=>{const V=u(b.value.source),F=u(b.value.target),R="pathOptions"in b.value?b.value.pathOptions:{};if(!V&&!F)return a.error(new ut(it.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!V)return a.error(new ut(it.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!F)return a.error(new ut(it.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||V.hidden||F.hidden)return null;let te;r.value===An.Strict?te=V.handleBounds.source:te=[...V.handleBounds.source||[],...V.handleBounds.target||[]];const G=kp(te,b.value.sourceHandle);let ie;r.value===An.Strict?ie=F.handleBounds.target:ie=[...F.handleBounds.target||[],...F.handleBounds.source||[]];const j=kp(ie,b.value.targetHandle),B=(G==null?void 0:G.position)||Ee.Bottom,P=(j==null?void 0:j.position)||Ee.Top,{x:oe,y:ne}=Uo(V,G,B),{x:pe,y:be}=Uo(F,j,P);return b.value.sourceX=oe,b.value.sourceY=ne,b.value.targetX=pe,b.value.targetY=be,t.h("g",{ref:q,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${M.value===!1?"default":b.value.type||"default"}`,s.value,ee.value,{updating:A.value,selected:b.value.selected,animated:b.value.animated,inactive:!S.value&&!w.value.edgeClick.hasListeners()}],tabIndex:U.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":U.value?`${ep}-${n}`:void 0,"aria-roledescription":"edge",role:U.value?"group":"img",...b.value.domAttributes,onClick:Q,onContextmenu:le,onDblclick:_e,onMouseenter:Z,onMousemove:re,onMouseleave:de,onKeyDown:U.value?$:void 0},[T.value?null:t.h(M.value===!1?c.value.default:M.value,{id:e.id,sourceNode:V,targetNode:F,source:b.value.source,target:b.value.target,type:b.value.type,updatable:K.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...N},style:Y.value,markerStart:`url('#${Ir(b.value.markerStart,n)}')`,markerEnd:`url('#${Ir(b.value.markerEnd,n)}')`,sourcePosition:B,targetPosition:P,sourceX:oe,sourceY:ne,targetX:pe,targetY:be,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...R}),[K.value==="source"||K.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:v,onMouseout:D},t.h(Hp,{position:B,centerX:oe,centerY:ne,radius:i.value,type:"source","data-type":"source"}))]:null,K.value==="target"||K.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:v,onMouseout:D},t.h(Hp,{position:P,centerX:pe,centerY:be,radius:i.value,type:"target","data-type":"target"}))]:null]])};function v(){A.value=!0}function D(){A.value=!1}function W(V,F){x.update({event:V,edge:b.value,connection:F})}function z(V){x.updateEnd({event:V,edge:b.value}),T.value=!1}function H(V,F){V.button===0&&(T.value=!0,I.value=F?b.value.target:b.value.source,O.value=(F?b.value.targetHandle:b.value.sourceHandle)??null,C.value=F?"target":"source",x.updateStart({event:V,edge:b.value}),L(V))}function Q(V){var F;const R={event:V,edge:b.value};S.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(F=q.value)==null||F.blur()):o([b.value])),x.click(R)}function le(V){x.contextMenu({event:V,edge:b.value})}function _e(V){x.doubleClick({event:V,edge:b.value})}function Z(V){x.mouseEnter({event:V,edge:b.value})}function re(V){x.mouseMove({event:V,edge:b.value})}function de(V){x.mouseLeave({event:V,edge:b.value})}function fe(V){H(V,!0)}function ue(V){H(V,!1)}function $(V){var F;!g.value&&tp.includes(V.key)&&S.value&&(V.key==="Escape"?((F=q.value)==null||F.blur(),d([p(e.id)])):o([p(e.id)]))}}}),mT=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:p,findNode:u}=Ue(),f=(e=t.inject(zi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return u((w=r.value)==null?void 0:w.nodeId)}),g=t.computed(()=>{var w;return u((w=i.value)==null?void 0:w.nodeId)??null}),h=t.computed(()=>({x:(a.value.x-p.value.x)/p.value.zoom,y:(a.value.y-p.value.y)/p.value.zoom})),_=t.computed(()=>c.value.markerStart?`url(#${Ir(c.value.markerStart,n)})`:""),y=t.computed(()=>c.value.markerEnd?`url(#${Ir(c.value.markerEnd,n)})`:"");return()=>{var w,b,x;if(!m.value||!r.value)return null;const N=r.value.id,E=r.value.type,k=m.value.handleBounds;let A=(k==null?void 0:k[E])??[];if(o.value===An.Loose){const Y=(k==null?void 0:k[E==="source"?"target":"source"])??[];A=[...A,...Y]}if(!A)return null;const T=(N?A.find(Y=>Y.id===N):A[0])??null,I=(T==null?void 0:T.position)??Ee.Top,{x:O,y:C}=Uo(m.value,T,I);let q=null;g.value&&(o.value===An.Strict?q=((w=g.value.handleBounds[E==="source"?"target":"source"])==null?void 0:w.find(Y=>{var M;return Y.id===((M=i.value)==null?void 0:M.id)}))||null:q=((b=[...g.value.handleBounds.source??[],...g.value.handleBounds.target??[]])==null?void 0:b.find(Y=>{var M;return Y.id===((M=i.value)==null?void 0:M.id)}))||null);const S=((x=i.value)==null?void 0:x.position)??(I?ls[I]:null);if(!I||!S)return null;const K=l.value??c.value.type??no.Bezier;let U="";const ee={sourceX:O,sourceY:C,sourcePosition:I,targetX:h.value.x,targetY:h.value.y,targetPosition:S};return K===no.Bezier?[U]=Up(ee):K===no.Step?[U]=ps({...ee,borderRadius:0}):K===no.SmoothStep?[U]=ps(ee):K===no.SimpleBezier?[U]=jp(ee):U=`M${O},${C} ${h.value.x},${h.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},f?t.h(f,{sourceX:O,sourceY:C,sourcePosition:I,targetX:h.value.x,targetY:h.value.y,targetPosition:S,sourceNode:m.value,sourceHandle:T,targetNode:g.value,targetHandle:q,markerEnd:y.value,markerStart:_.value,connectionStatus:d.value}):t.h("path",{d:U,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":y.value,"marker-start":_.value})))}}}),gT=["id","markerWidth","markerHeight","markerUnits","orient"],hT={name:"MarkerType",compatConfig:{MODE:3}},yT=t.defineComponent({...hT,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(Nr).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(Nr).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,gT))}}),_T={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},bT={name:"MarkerDefinitions",compatConfig:{MODE:3}},wT=t.defineComponent({...bT,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Ue(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const p=Ir(d,n);l.has(p)||(typeof d=="object"?s.push({...d,id:p,color:d.color||i.value}):s.push({id:p,color:i.value,type:d}),l.add(p))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const p of[d.markerStart,d.markerEnd])c(p);return s.sort((d,p)=>d.id.localeCompare(p.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",_T,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(yT,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),kT={name:"Edges",compatConfig:{MODE:3}},CT=t.defineComponent({...kT,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Ue();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(wT),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(HA)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(pT),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(mT))],64))}}),ET=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:p,getNodeTypes:u,nodeExtent:f,elevateNodesOnSelect:m,disableKeyboardA11y:g,ariaLiveMessage:h,snapToGrid:_,snapGrid:y,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:x,nodesConnectable:N,nodesFocusable:E,hooks:k}=Ue(),A=t.ref(null);t.provide(Op,A),t.provide(Pp,e.id);const T=t.inject(zi),I=t.getCurrentInstance(),O=Dp(),{node:C,parentNode:q}=Vp(e.id),{emit:S,on:K}=pI(C,l),U=t.toRef(()=>typeof C.draggable>"u"?b.value:C.draggable),ee=t.toRef(()=>typeof C.selectable>"u"?x.value:C.selectable),Y=t.toRef(()=>typeof C.connectable>"u"?N.value:C.connectable),M=t.toRef(()=>typeof C.focusable>"u"?E.value:C.focusable),L=t.computed(()=>ee.value||U.value||k.value.nodeClick.hasListeners()||k.value.nodeDoubleClick.hasListeners()||k.value.nodeMouseEnter.hasListeners()||k.value.nodeMouseMove.hasListeners()||k.value.nodeMouseLeave.hasListeners()),v=t.toRef(()=>!!C.dimensions.width&&!!C.dimensions.height),D=t.computed(()=>{const F=C.type||"default",R=T==null?void 0:T[`node-${F}`];if(R)return R;let te=C.template||u.value[F];if(typeof te=="string"&&I){const G=Object.keys(I.appContext.components);G&&G.includes(F)&&(te=t.resolveComponent(F,!1))}return te&&typeof te!="string"?te:(l.error(new ut(it.NODE_TYPE_MISSING,te)),!1)}),W=$p({id:e.id,el:A,disabled:()=>!U.value,selectable:ee,dragHandle:()=>C.dragHandle,onStart(F){S.dragStart(F)},onDrag(F){S.drag(F)},onStop(F){S.dragStop(F)},onClick(F){$(F)}}),z=t.computed(()=>C.class instanceof Function?C.class(C):C.class),H=t.computed(()=>{const F=(C.style instanceof Function?C.style(C):C.style)||{},R=C.width instanceof Function?C.width(C):C.width,te=C.height instanceof Function?C.height(C):C.height;return!F.width&&R&&(F.width=typeof R=="string"?R:`${R}px`),!F.height&&te&&(F.height=typeof te=="string"?te:`${te}px`),F}),Q=t.toRef(()=>Number(C.zIndex??H.value.zIndex??0));return p(F=>{(F.includes(e.id)||!F.length)&&_e()}),t.onMounted(()=>{t.watch(()=>C.hidden,(F=!1,R,te)=>{!F&&A.value&&(e.resizeObserver.observe(A.value),te(()=>{A.value&&e.resizeObserver.unobserve(A.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>C.type,()=>C.sourcePosition,()=>C.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:A.value,forceUpdate:!0}])})}),t.watch([()=>C.position.x,()=>C.position.y,()=>{var F;return(F=q.value)==null?void 0:F.computedPosition.x},()=>{var F;return(F=q.value)==null?void 0:F.computedPosition.y},()=>{var F;return(F=q.value)==null?void 0:F.computedPosition.z},Q,()=>C.selected,()=>C.dimensions.height,()=>C.dimensions.width,()=>{var F;return(F=q.value)==null?void 0:F.dimensions.height},()=>{var F;return(F=q.value)==null?void 0:F.dimensions.width}],([F,R,te,G,ie,j])=>{const B={x:F,y:R,z:j+(m.value&&C.selected?1e3:0)};typeof te<"u"&&typeof G<"u"?C.computedPosition=UA({x:te,y:G,z:ie},B):C.computedPosition=B},{flush:"post",immediate:!0}),t.watch([()=>C.extent,f],([F,R],[te,G])=>{(F!==te||R!==G)&&le()}),C.extent==="parent"||typeof C.extent=="object"&&"range"in C.extent&&C.extent.range==="parent"?Ol(()=>v).toBe(!0).then(le):le(),()=>C.hidden?null:t.h("div",{ref:A,"data-id":C.id,class:["vue-flow__node",`vue-flow__node-${D.value===!1?"default":C.type||"default"}`,{[o.value]:U.value,dragging:W==null?void 0:W.value,draggable:U.value,selected:C.selected,selectable:ee.value,parent:C.isParent},z.value],style:{visibility:v.value?"visible":"hidden",zIndex:C.computedPosition.z??Q.value,transform:`translate(${C.computedPosition.x}px,${C.computedPosition.y}px)`,pointerEvents:L.value?"all":"none",...H.value},tabIndex:M.value?0:void 0,role:M.value?"group":void 0,"aria-describedby":g.value?void 0:`${Qf}-${n}`,"aria-label":C.ariaLabel,"aria-roledescription":"node",...C.domAttributes,onMouseenter:Z,onMousemove:re,onMouseleave:de,onContextmenu:fe,onClick:$,onDblclick:ue,onKeydown:V},[t.h(D.value===!1?u.value.default:D.value,{id:C.id,type:C.type,data:C.data,events:{...C.events,...K},selected:C.selected,resizing:C.resizing,dragging:W.value,connectable:Y.value,position:C.computedPosition,dimensions:C.dimensions,isValidTargetPos:C.isValidTargetPos,isValidSourcePos:C.isValidSourcePos,parent:C.parentNode,parentNodeId:C.parentNode,zIndex:C.computedPosition.z??Q.value,targetPosition:C.targetPosition,sourcePosition:C.sourcePosition,label:C.label,dragHandle:C.dragHandle,onUpdateNodeInternals:_e})]);function le(){const F=C.computedPosition,{computedPosition:R,position:te}=rs(C,_.value?Gi(F,y.value):F,l.error,f.value,q.value);(C.computedPosition.x!==R.x||C.computedPosition.y!==R.y)&&(C.computedPosition={...C.computedPosition,...R}),(C.position.x!==te.x||C.position.y!==te.y)&&(C.position=te)}function _e(){A.value&&d([{id:e.id,nodeElement:A.value,forceUpdate:!0}])}function Z(F){W!=null&&W.value||S.mouseEnter({event:F,node:C})}function re(F){W!=null&&W.value||S.mouseMove({event:F,node:C})}function de(F){W!=null&&W.value||S.mouseLeave({event:F,node:C})}function fe(F){return S.contextMenu({event:F,node:C})}function ue(F){return S.doubleClick({event:F,node:C})}function $(F){ee.value&&(!r.value||!U.value||w.value>0)&&ss(C,a.value,c,s,i,!1,A.value),S.click({event:F,node:C})}function V(F){if(!(es(F)||g.value))if(tp.includes(F.key)&&ee.value){const R=F.key==="Escape";ss(C,a.value,c,s,i,R,A.value)}else U.value&&C.selected&&Lo[F.key]&&(F.preventDefault(),h.value=`Moved selected node ${F.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~C.position.x}, y: ${~~C.position.y}`,O({x:Lo[F.key].x,y:Lo[F.key].y},F.shiftKey))}}});function NT(e={includeHiddenNodes:!1}){const{nodes:n}=Ue();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const xT={class:"vue-flow__nodes vue-flow__container"},ST={name:"Nodes",compatConfig:{MODE:3}},vT=t.defineComponent({...ST,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Ue(),i=NT(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",xT,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,p,u)=>{const f=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,f))return u;const m=(t.openBlock(),t.createBlock(t.unref(ET),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=f,m},s,0),128)):t.createCommentVNode("",!0)]))}});function AT(){const{emits:e}=Ue();t.onMounted(()=>{if(xp()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new ut(it.MISSING_STYLES))}})}const IT=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),TT={name:"VueFlow",compatConfig:{MODE:3}},Yp=t.defineComponent({...TT,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=$l(r,"modelValue",o),l=$l(r,"nodes",o),s=$l(r,"edges",o),c=Ue(r),d=yI({modelValue:a,nodes:l,edges:s},r,c);return bI(o,c.hooks),dT(),AT(),t.provide(zi,i),t.onUnmounted(()=>{d()}),n(c),(p,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(rT,null,{default:t.withCtx(()=>[t.createVNode(CT),IT,t.createVNode(vT),t.renderSlot(p.$slots,"zoom-pane")]),_:3}),t.renderSlot(p.$slots,"default"),t.createVNode(cT)],512))}}),PT={name:"Panel",compatConfig:{MODE:3}},OT=t.defineComponent({...PT,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Ue(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var yn=(e=>(e.Lines="lines",e.Dots="dots",e))(yn||{});const Wp=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Xp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};yn.Lines+"",yn.Dots+"";const $T={[yn.Dots]:"#81818a",[yn.Lines]:"#eee"},BT=["id","x","y","width","height","patternTransform"],VT={key:2,height:"100",width:"100"},DT=["fill"],RT=["x","y","fill"],MT={name:"Background",compatConfig:{MODE:3}},FT=t.defineComponent({...MT,props:{id:{},variant:{default:()=>yn.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Ue(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],p=e.size*l,[u,f]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,f*l||1+d[1]/2];return{scaledGap:d,offset:m,size:p}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||$T[e.variant||yn.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(yn).Lines?(t.openBlock(),t.createBlock(t.unref(Wp),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(yn).Dots?(t.openBlock(),t.createBlock(t.unref(Xp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",VT,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,DT)])):t.createCommentVNode("",!0)])],8,BT)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,RT),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),LT={name:"ControlButton",compatConfig:{MODE:3}},UT=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},KT={class:"vue-flow__controls-button"};function jT(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",KT,[t.renderSlot(e.$slots,"default")])}const Tr=UT(LT,[["render",jT]]),GT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},qT=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function zT(e,n){return t.openBlock(),t.createElementBlock("svg",GT,qT)}const HT={render:zT},YT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},WT=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function XT(e,n){return t.openBlock(),t.createElementBlock("svg",YT,WT)}const ZT={render:XT},JT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},QT=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function eP(e,n){return t.openBlock(),t.createElementBlock("svg",JT,QT)}const tP={render:eP},nP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},oP=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function rP(e,n){return t.openBlock(),t.createElementBlock("svg",nP,oP)}const iP={render:rP},aP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},lP=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function sP(e,n){return t.openBlock(),t.createElementBlock("svg",aP,lP)}const cP={render:sP},dP={name:"Controls",compatConfig:{MODE:3}},uP=t.defineComponent({...dP,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Zf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:p,maxZoom:u}=Ue(),f=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=p.value),g=t.toRef(()=>d.value.zoom>=u.value);function h(){l(),n("zoomIn")}function _(){s(),n("zoomOut")}function y(){c(e.fitViewParams),n("fitView")}function w(){a(!f.value),n("interactionChange",!f.value)}return(b,x)=>(t.openBlock(),t.createBlock(t.unref(OT),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(Tr,{class:"vue-flow__controls-zoomin",disabled:g.value,onClick:h},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(HT))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(Tr,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(ZT))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Tr,{class:"vue-flow__controls-fitview",onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(tP))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(Tr,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[f.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(cP))))]):t.createCommentVNode("",!0),f.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(iP))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),fP=["undo","redo","duplicate","cut","copy","paste"],Zp=()=>{};function pP(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function mP(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const gP=Ye.createSharedComposable(()=>{const e=new Set;Ye.useEventListener("keydown",o=>{if(pP(o.target))return;const r=mP(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!fP.some(i=>typeof o[i]=="function"))return Zp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function Jp(e={}){if(typeof window>"u")return Zp;const n=gP().subscribe(e);return t.onScopeDispose(n),n}const Qp=44,hP=220,em=366,yP=1e3,_P=Qp+parseFloat(Pd),Qi=1,bP=0,wP=1,kP=2,CP=3,Ko=parseInt(TC,10),Pr="application/x-datakit+json",ea={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},Or={padding:80,gaps:{nodes:60,edges:80,ranks:60}},EP=1600,NP=1.2,xP=0,SP=200,tm=Symbol("confirm-modal"),jo="{key}",ao={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},ta=Object.keys(ao).filter(e=>e.includes(jo)).map(e=>e.replace(jo,""));function gs(e){if(!e||!Br(e))return;const n=ta.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(jo,"")}function $r(e){if(!e)return null;const n=ta.find(o=>e.startsWith(o));return n||e}function Br(e){return e?ta.some(n=>e.startsWith(n)):!1}function nm(e){return e?Br(e)?$r(e)+jo:e:null}function hs(e){var o;if(!e)return!1;const n=nm(e);return n?((o=ao[n])==null?void 0:o.readable)??!1:!1}function ys(e){var o;if(!e)return!1;const n=nm(e);return n?((o=ao[n])==null?void 0:o.writable)??!1:!1}function vP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var AP="\0",lo="\0",om="";let IP=class{constructor(n){st(this,"_isDirected",!0);st(this,"_isMultigraph",!1);st(this,"_isCompound",!1);st(this,"_label");st(this,"_defaultNodeLabelFn",()=>{});st(this,"_defaultEdgeLabelFn",()=>{});st(this,"_nodes",{});st(this,"_in",{});st(this,"_preds",{});st(this,"_out",{});st(this,"_sucs",{});st(this,"_edgeObjs",{});st(this,"_edgeLabels",{});st(this,"_nodeCount",0);st(this,"_edgeCount",0);st(this,"_parent");st(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[lo]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=lo,this._children[n]={},this._children[lo][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=lo;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==lo)return o}}children(n=lo){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===lo)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Vr(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=TP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,rm(this._preds[o],n),rm(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?_s(this._isDirected,arguments[0]):Vr(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?_s(this._isDirected,arguments[0]):Vr(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?_s(this._isDirected,arguments[0]):Vr(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],im(this._preds[o],n),im(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function rm(e,n){e[n]?e[n]++:e[n]=1}function im(e,n){--e[n]||delete e[n]}function Vr(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+om+a+om+(r===void 0?AP:r)}function TP(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function _s(e,n){return Vr(e,n.v,n.w,n.name)}var bs=IP,PP="2.2.4",OP={Graph:bs,version:PP},$P=bs,BP={write:VP,read:MP};function VP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:DP(e),edges:RP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function DP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function RP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function MP(e){var n=new $P(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var FP=LP;function LP(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var am=class{constructor(){st(this,"_arr",[]);st(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},UP=am,lm=jP,KP=()=>1;function jP(e,n,o,r){return GP(e,String(n),o||KP,r||function(i){return e.outEdges(i)})}function GP(e,n,o,r){var i={},a=new UP,l,s,c=function(d){var p=d.v!==l?d.v:d.w,u=i[p],f=o(d),m=s.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+f);m<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(p,m))};for(e.nodes().forEach(function(d){var p=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:p},a.add(d,p)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var qP=lm,zP=HP;function HP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=qP(e,i,n,o),r},{})}var sm=YP;function YP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(p){Object.hasOwn(r,p)?r[p].onStack&&(s.lowlink=Math.min(s.lowlink,r[p].index)):(a(p),s.lowlink=Math.min(s.lowlink,r[p].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var WP=sm,XP=ZP;function ZP(e){return WP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var JP=eO,QP=()=>1;function eO(e,n,o){return tO(e,n||QP,o||function(r){return e.outEdges(r)})}function tO(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var p=c[a],u=l[d],f=c[d],m=p.distance+u.distance;m<f.distance&&(f.distance=m,f.predecessor=u.predecessor)})})}),r}function cm(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new ws;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new ws;return r}class ws extends Error{constructor(){super(...arguments)}}var dm=cm;cm.CycleException=ws;var um=dm,nO=oO;function oO(e){try{um(e)}catch(n){if(n instanceof um.CycleException)return!1;throw n}return!0}var fm=rO;function rO(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?iO:aO,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function iO(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),pm(n(a[0]),l=>i.push([l,!1])))}}function aO(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),pm(n(a),l=>i.push(l)))}}function pm(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var lO=fm,sO=cO;function cO(e,n){return lO(e,n,"post")}var dO=fm,uO=fO;function fO(e,n){return dO(e,n,"pre")}var pO=bs,mO=am,gO=hO;function hO(e,n){var o=new pO,r={},i=new mO,a;function l(c){var d=c.v===a?c.w:c.v,p=i.priority(d);if(p!==void 0){var u=n(c);u<p&&(r[d]=a,i.decrease(d,u))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var yO={components:FP,dijkstra:lm,dijkstraAll:zP,findCycles:XP,floydWarshall:JP,isAcyclic:nO,postorder:sO,preorder:uO,prim:gO,tarjan:sm,topsort:dm},mm=OP,Wt={Graph:mm.Graph,json:BP,alg:yO,version:mm.version};let _O=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return gm(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&gm(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,bO)),r=r._prev;return"["+n.join(", ")+"]"}};function gm(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function bO(e,n){if(e!=="_next"&&e!=="_prev")return n}var wO=_O;let kO=Wt.Graph,CO=wO;var EO=xO;let NO=()=>1;function xO(e,n){if(e.nodeCount()<=1)return[];let o=vO(e,n||NO);return SO(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function SO(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)ks(e,n,o,l);for(;l=i.dequeue();)ks(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(ks(e,n,o,l,!0));break}}}return r}function ks(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Cs(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Cs(n,o,d)}),e.removeNode(r.v),a}function vO(e,n){let o=new kO,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),p=c+d;o.setEdge(s.v,s.w,p),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=AO(i+r+3).map(()=>new CO),l=r+1;return o.nodes().forEach(s=>{Cs(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Cs(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function AO(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let hm=Wt.Graph;var lt={addBorderNode:RO,addDummyNode:ym,applyWithChunking:na,asNonCompoundGraph:TO,buildLayerMatrix:BO,intersectRect:$O,mapValues:GO,maxRank:bm,normalizeRanks:VO,notime:UO,partition:FO,pick:jO,predecessorWeights:OO,range:km,removeEmptyRanks:DO,simplify:IO,successorWeights:PO,time:LO,uniqueId:wm,zipObject:Es};function ym(e,n,o,r){for(var i=r;e.hasNode(i);)i=wm(r);return o.dummy=n,e.setNode(i,o),i}function IO(e){let n=new hm().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function TO(e){let n=new hm({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function PO(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Es(e.nodes(),n)}function OO(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Es(e.nodes(),n)}function $O(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function BO(e){let n=km(bm(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function VO(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=na(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function DO(e){let n=e.nodes().map(l=>e.node(l).rank),o=na(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function RO(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),ym(e,"border",i,n)}function MO(e,n=_m){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const _m=65535;function na(e,n){if(n.length>_m){const o=MO(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function bm(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return na(Math.max,o)}function FO(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function LO(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function UO(e,n){return n()}let KO=0;function wm(e){var n=++KO;return e+(""+n)}function km(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function jO(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function GO(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Es(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let qO=EO,zO=lt.uniqueId;var HO={run:YO,undo:XO};function YO(e){(e.graph().acyclicer==="greedy"?qO(e,o(e)):WO(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,zO("rev"))});function o(r){return i=>r.edge(i).weight}}function WO(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function XO(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let ZO=lt;var JO={run:QO,undo:t$};function QO(e){e.graph().dummyChains=[],e.edges().forEach(n=>e$(e,n))}function e$(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,p,u;for(u=0,++r;r<a;++u,++r)s.points=[],p={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=ZO.addDummyNode(e,"edge",p,"_d"),r===c&&(p.width=s.width,p.height=s.height,p.dummy="edge-label",p.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function t$(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:n$}=lt;var oa={longestPath:o$,slack:r$};function o$(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=n$(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function r$(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var i$=Wt.Graph,ra=oa.slack,Cm=a$;function a$(e){var n=new i$({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;l$(n,e)<r;)i=s$(n,e),a=n.hasNode(i.v)?ra(e,i):-ra(e,i),c$(n,e,a);return n}function l$(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!ra(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function s$(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=ra(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function c$(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var d$=Cm,Em=oa.slack,u$=oa.longestPath,f$=Wt.alg.preorder,p$=Wt.alg.postorder,m$=lt.simplify,g$=so;so.initLowLimValues=xs,so.initCutValues=Ns,so.calcCutValue=Nm,so.leaveEdge=Sm,so.enterEdge=vm,so.exchangeEdges=Am;function so(e){e=m$(e),u$(e);var n=d$(e);xs(n),Ns(n,e);for(var o,r;o=Sm(n);)r=vm(n,e,o),Am(n,e,o,r)}function Ns(e,n){var o=p$(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>h$(e,n,r))}function h$(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Nm(e,n,o)}function Nm(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,p=d?c.w:c.v;if(p!==i){var u=d===a,f=n.edge(c).weight;if(s+=u?f:-f,_$(e,o,p)){var m=e.edge(o,p).cutvalue;s+=u?-m:m}}}),s}function xs(e,n){arguments.length<2&&(n=e.nodes()[0]),xm(e,{},1,n)}function xm(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=xm(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function Sm(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function vm(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(p=>c===Im(e,e.node(p.v),s)&&c!==Im(e,e.node(p.w),s));return d.reduce((p,u)=>Em(n,u)<Em(n,p)?u:p)}function Am(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),xs(e),Ns(e,n),y$(e,n)}function y$(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=f$(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function _$(e,n,o){return e.hasEdge(n,o)}function Im(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var b$=oa,Tm=b$.longestPath,w$=Cm,k$=g$,C$=E$;function E$(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":Pm(e);break;case"tight-tree":x$(e);break;case"longest-path":N$(e);break;case"none":break;default:Pm(e)}}var N$=Tm;function x$(e){Tm(e),w$(e)}function Pm(e){k$(e)}var S$=v$;function v$(e){let n=I$(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=A$(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],p=!0;for(;o!==i.w;){if(r=e.node(o),p){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(p=!1)}if(!p){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function A$(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function I$(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let ia=lt;var T$={run:P$,cleanup:B$};function P$(e){let n=ia.addDummyNode(e,"root",{},"_root"),o=O$(e),r=Object.values(o),i=ia.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=$$(e)+1;e.children().forEach(s=>Om(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Om(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=ia.addBorderNode(e,"_bt"),d=ia.addBorderNode(e,"_bb"),p=e.node(l);e.setParent(c,l),p.borderTop=c,e.setParent(d,l),p.borderBottom=d,s.forEach(u=>{Om(e,n,o,r,i,a,u);let f=e.node(u),m=f.borderTop?f.borderTop:u,g=f.borderBottom?f.borderBottom:u,h=f.borderTop?r:2*r,_=m!==g?1:i-a[l]+1;e.setEdge(c,m,{weight:h,minlen:_,nestingEdge:!0}),e.setEdge(g,d,{weight:h,minlen:_,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function O$(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function $$(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function B$(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let V$=lt;var D$=R$;function R$(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)$m(e,"borderLeft","_bl",o,i,a),$m(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function $m(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=V$.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var M$={adjust:F$,undo:L$};function F$(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Bm(e)}function L$(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&U$(e),(n==="lr"||n==="rl")&&(K$(e),Bm(e))}function Bm(e){e.nodes().forEach(n=>Vm(e.node(n))),e.edges().forEach(n=>Vm(e.edge(n)))}function Vm(e){let n=e.width;e.width=e.height,e.height=n}function U$(e){e.nodes().forEach(n=>Ss(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Ss),Object.hasOwn(o,"y")&&Ss(o)})}function Ss(e){e.y=-e.y}function K$(e){e.nodes().forEach(n=>vs(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(vs),Object.hasOwn(o,"x")&&vs(o)})}function vs(e){let n=e.x;e.x=e.y,e.y=n}let Dm=lt;var j$=G$;function G$(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Dm.applyWithChunking(Math.max,r),a=Dm.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let q$=lt.zipObject;var z$=H$;function H$(e,n){let o=0;for(let r=1;r<n.length;++r)o+=Y$(e,n[r-1],n[r]);return o}function Y$(e,n,o){let r=q$(o,o.map((d,p)=>p)),i=n.flatMap(d=>e.outEdges(d).map(p=>({pos:r[p.w],weight:e.edge(p).weight})).sort((p,u)=>p.pos-u.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let p=d.pos+a;s[p]+=d.weight;let u=0;for(;p>0;)p%2&&(u+=s[p+1]),p=p-1>>1,s[p]+=d.weight;c+=d.weight*u}),c}var W$=X$;function X$(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let Z$=lt;var J$=Q$;function Q$(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return eB(r)}function eB(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&tB(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>Z$.pick(i,["vs","i","barycenter","weight"]))}function tB(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let nB=lt;var oB=rB;function rB(e,n){let o=nB.partition(e,p=>Object.hasOwn(p,"barycenter")),r=o.lhs,i=o.rhs.sort((p,u)=>u.i-p.i),a=[],l=0,s=0,c=0;r.sort(iB(!!n)),c=Rm(a,i,c),r.forEach(p=>{c+=p.vs.length,a.push(p.vs),l+=p.barycenter*p.weight,s+=p.weight,c=Rm(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Rm(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function iB(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let aB=W$,lB=J$,sB=oB;var cB=Mm;function Mm(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(f=>f!==l&&f!==s));let d=aB(e,i);d.forEach(f=>{if(e.children(f.v).length){let m=Mm(e,f.v,o,r);c[f.v]=m,Object.hasOwn(m,"barycenter")&&uB(f,m)}});let p=lB(d,o);dB(p,c);let u=sB(p,r);if(l&&(u.vs=[l,u.vs,s].flat(!0),e.predecessors(l).length)){let f=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+f.order+m.order)/(u.weight+2),u.weight+=2}return u}function dB(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function uB(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let fB=Wt.Graph,pB=lt;var mB=gB;function gB(e,n,o){let r=hB(e),i=new fB({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,p=i.edge(d,a),u=p!==void 0?p.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function hB(e){for(var n;e.hasNode(n=pB.uniqueId("_root")););return n}var yB=_B;function _B(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let bB=j$,wB=z$,kB=cB,CB=mB,EB=yB,NB=Wt.Graph,aa=lt;var xB=Fm;function Fm(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Fm);return}let o=aa.maxRank(e),r=Lm(e,aa.range(1,o+1),"inEdges"),i=Lm(e,aa.range(o-1,-1,-1),"outEdges"),a=bB(e);if(Um(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){SB(c%2?r:i,c%4>=2),a=aa.buildLayerMatrix(e);let p=wB(e,a);p<l&&(d=0,s=Object.assign({},a),l=p)}Um(e,s)}function Lm(e,n,o){return n.map(function(r){return CB(e,r,o)})}function SB(e,n){let o=new NB;e.forEach(function(r){let i=r.graph().root,a=kB(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),EB(r,o,a.vs)})}function Um(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let vB=Wt.Graph,_n=lt;var AB={positionX:FB};function IB(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((p,u)=>{let f=PB(e,p),m=f?e.node(f).order:c;(f||p===d)&&(a.slice(s,u+1).forEach(g=>{e.predecessors(g).forEach(h=>{let _=e.node(h),y=_.order;(y<l||m<y)&&!(_.dummy&&e.node(g).dummy)&&Km(o,h,g)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function TB(e,n){let o={};function r(a,l,s,c,d){let p;_n.range(l,s).forEach(u=>{p=a[u],e.node(p).dummy&&e.predecessors(p).forEach(f=>{let m=e.node(f);m.dummy&&(m.order<c||m.order>d)&&Km(o,f,p)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((p,u)=>{if(e.node(p).dummy==="border"){let f=e.predecessors(p);f.length&&(c=e.node(f[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function PB(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Km(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function OB(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function $B(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let p=r(d);if(p.length){p=p.sort((f,m)=>l[f]-l[m]);let u=(p.length-1)/2;for(let f=Math.floor(u),m=Math.ceil(u);f<=m;++f){let g=p[f];a[d]===d&&c<l[g]&&!OB(o,d,g)&&(a[g]=d,a[d]=i[d]=i[g],c=l[g])}}})}),{root:i,align:a}}function BB(e,n,o,r,i){let a={},l=VB(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,f){let m=l.nodes(),g=m.pop(),h={};for(;g;)h[g]?u(g):(h[g]=!0,m.push(g),m=m.concat(f(g))),g=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((f,m)=>Math.max(f,a[m.v]+l.edge(m)),0)}function p(u){let f=l.outEdges(u).reduce((g,h)=>Math.min(g,a[h.w]-l.edge(h)),Number.POSITIVE_INFINITY),m=e.node(u);f!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],f))}return c(d,l.predecessors.bind(l)),c(p,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function VB(e,n,o,r){let i=new vB,a=e.graph(),l=LB(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let p=o[d];if(i.setNode(p),c){var u=o[c],f=i.edge(u,p);i.setEdge(u,p,Math.max(l(e,d,c),f||0))}c=d})}),i}function DB(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=UB(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function RB(e,n){let o=Object.values(n),r=_n.applyWithChunking(Math.min,o),i=_n.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),p=r-_n.applyWithChunking(Math.min,d);l!=="l"&&(p=i-_n.applyWithChunking(Math.max,d)),p&&(e[s]=_n.mapValues(c,u=>u+p))})})}function MB(e,n){return _n.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function FB(e){let n=_n.buildLayerMatrix(e),o=Object.assign(IB(e,n),TB(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=$B(e,i,o,c),p=BB(e,i,d.root,d.align,s==="r");s==="r"&&(p=_n.mapValues(p,u=>-u)),r[l+s]=p})});let a=DB(e,r);return RB(r,a),MB(r,e.graph().align)}function LB(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function UB(e,n){return e.node(n).width}let jm=lt,KB=AB.positionX;var jB=GB;function GB(e){e=jm.asNonCompoundGraph(e),qB(e),Object.entries(KB(e)).forEach(([n,o])=>e.node(n).x=o)}function qB(e){let n=jm.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let Gm=HO,qm=JO,zB=C$,HB=lt.normalizeRanks,YB=S$,WB=lt.removeEmptyRanks,zm=T$,XB=D$,Hm=M$,ZB=xB,JB=jB,Ut=lt,QB=Wt.Graph;var eV=tV;function tV(e,n){let o=n&&n.debugTiming?Ut.time:Ut.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>uV(e));o(" runLayout",()=>nV(r,o,n)),o(" updateInputGraph",()=>oV(e,r))})}function nV(e,n,o){n(" makeSpaceForEdgeLabels",()=>fV(e)),n(" removeSelfEdges",()=>kV(e)),n(" acyclic",()=>Gm.run(e)),n(" nestingGraph.run",()=>zm.run(e)),n(" rank",()=>zB(Ut.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>pV(e)),n(" removeEmptyRanks",()=>WB(e)),n(" nestingGraph.cleanup",()=>zm.cleanup(e)),n(" normalizeRanks",()=>HB(e)),n(" assignRankMinMax",()=>mV(e)),n(" removeEdgeLabelProxies",()=>gV(e)),n(" normalize.run",()=>qm.run(e)),n(" parentDummyChains",()=>YB(e)),n(" addBorderSegments",()=>XB(e)),n(" order",()=>ZB(e,o)),n(" insertSelfEdges",()=>CV(e)),n(" adjustCoordinateSystem",()=>Hm.adjust(e)),n(" position",()=>JB(e)),n(" positionSelfEdges",()=>EV(e)),n(" removeBorderNodes",()=>wV(e)),n(" normalize.undo",()=>qm.undo(e)),n(" fixupEdgeLabelCoords",()=>_V(e)),n(" undoCoordinateSystem",()=>Hm.undo(e)),n(" translateGraph",()=>hV(e)),n(" assignNodeIntersects",()=>yV(e)),n(" reversePoints",()=>bV(e)),n(" acyclic.undo",()=>Gm.undo(e))}function oV(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let rV=["nodesep","edgesep","ranksep","marginx","marginy"],iV={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},aV=["acyclicer","ranker","rankdir","align"],lV=["width","height","rank"],Ym={width:0,height:0},sV=["minlen","weight","width","height","labeloffset"],cV={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},dV=["labelpos"];function uV(e){let n=new QB({multigraph:!0,compound:!0}),o=Is(e.graph());return n.setGraph(Object.assign({},iV,As(o,rV),Ut.pick(o,aV))),e.nodes().forEach(r=>{let i=Is(e.node(r));const a=As(i,lV);Object.keys(Ym).forEach(l=>{a[l]===void 0&&(a[l]=Ym[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Is(e.edge(r));n.setEdge(r,Object.assign({},cV,As(i,sV),Ut.pick(i,dV)))}),n}function fV(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function pV(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};Ut.addDummyNode(e,"edge-proxy",a,"_ep")}})}function mV(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function gV(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function hV(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let p=d.x,u=d.y,f=d.width,m=d.height;n=Math.min(n,p-f/2),o=Math.max(o,p+f/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let p=e.edge(d);Object.hasOwn(p,"x")&&c(p)}),n-=l,r-=s,e.nodes().forEach(d=>{let p=e.node(d);p.x-=n,p.y-=r}),e.edges().forEach(d=>{let p=e.edge(d);p.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(p,"x")&&(p.x-=n),Object.hasOwn(p,"y")&&(p.y-=r)}),a.width=o-n+l,a.height=i-r+s}function yV(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(Ut.intersectRect(r,a)),o.points.push(Ut.intersectRect(i,l))})}function _V(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function bV(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function wV(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function kV(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function CV(e){var n=Ut.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{Ut.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function EV(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function As(e,n){return Ut.mapValues(Ut.pick(e,n),Number)}function Is(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let NV=lt,xV=Wt.Graph;var SV={debugOrdering:vV};function vV(e){let n=NV.buildLayerMatrix(e),o=new xV({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var AV="1.1.5",IV={graphlib:Wt,layout:eV,debug:SV,util:{time:lt.time,notime:lt.notime},version:AV};const Wm=vP(IV);function Xm(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(fd,e);return o=>n(o)}function la(e,n,o){const r=n?vn(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Dr(e,n){const o=n(e.source),r=n(e.target);return[la(o,e.sourceField,"output"),la(r,e.targetField,"input")]}function Ts(e,n,o,r,i){const a=i(e),l=i(o);return[la(a,n,"output"),la(l,r,"input")]}function Zm(e){if(e.length===0)throw new Error("getBoundingRect requires at least one rect");let n=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const{x:a,y:l,width:s,height:c}of e){if(![a,l,s,c].every(Number.isFinite))throw new Error("Rect values must be finite numbers");if(s<0||c<0)throw new RangeError("Rect width and height must be non-negative");const d=a+s,p=l+c;if(!Number.isFinite(d)||!Number.isFinite(p))throw new RangeError("Rect boundaries must be finite numbers");a<n&&(n=a),l<o&&(o=l),d>r&&(r=d),p>i&&(i=p)}return{x:n,y:o,width:r-n,height:i-o}}function TV({phase:e,groupMapById:n,getNodeDepth:o}){const r=t.shallowRef(),i=t.shallowRef();function a(d){r.value=d,i.value=void 0}function l(){r.value&&(r.value=void 0,i.value=void 0)}function s(d){let p;return n.value.forEach(u=>{if(u.phase!==e)return;const f=u.position,m=u.dimensions;if(!f||!m||!(d.x>=f.x&&d.x<=f.x+m.width&&d.y>=f.y&&d.y<=f.y+m.height))return;const h=o(u.ownerId);(!p||h>p.depth)&&(p={depth:h,id:u.id})}),p==null?void 0:p.id}function c(d){if(!r.value){i.value=void 0;return}if(!d){i.value=void 0;return}i.value=s(d)}return{activeGroupId:i,start:a,updateActiveGroup:c,end:l}}function PV({phase:e,readonly:n,flowId:o}){const{findNode:r}=Ue(o),i=dt(),{state:a,groupMapById:l,getNodeById:s,moveNode:c,moveGroup:d,setGroupLayout:p,commit:u,branchGroups:f}=i,{memberGroupMap:m,groupsByOwner:g,getNodeDepth:h,getGroupDepth:_}=f,y=t.ref(),w=M=>!!M&&M.startsWith("branch:");function b(M){const L=[];for(const v of M.memberIds){const D=s(v);D&&L.push(D)}return L}const x=t.computed(()=>{const M=new Map;return m.value.forEach((L,v)=>{if(L.phase!==e||!L.position)return;const D=s(v);D&&(D.phase!==e||D.hidden||M.set(v,L))}),M}),N=t.computed(()=>{const M=new Map;return g.value.forEach((L,v)=>{const D=L.filter(W=>W.phase===e);D.length>0&&M.set(v,D)}),M}),E=t.computed(()=>{const M=[];for(const L of a.value.groups){const v=s(L.ownerId);if(!v||v.phase!==e)continue;const D=L.position,W=L.dimensions;if(!D||!W)continue;const z=b(L).filter(Q=>Q.phase===e&&!Q.hidden),H=_(L.id);M.push({id:L.id,type:"group",position:D,width:W.width,height:W.height,data:{...L,memberIds:z.map(Q=>Q.id)},draggable:!n,selectable:!1,zIndex:H*Qi+bP})}return M}),k=t.computed(()=>{let M=0;for(const L of a.value.groups){if(L.phase!==e)continue;const v=_(L.id);v>M&&(M=v)}return M}),A=t.computed(()=>{const M=[];for(const L of a.value.groups){if(L.phase!==e||!L.position||!L.dimensions)continue;const v=s(L.ownerId);if(!v||v.phase!==e||v.hidden||!b(L).filter(H=>H.phase===e&&!H.hidden).length)continue;const W=Math.max(h(v.id),_(L.id))+k.value+1,z={id:`branch:${L.id}`,source:v.id,target:L.id,sourceHandle:`branch@${L.branch}`,targetHandle:"input",markerEnd:Nr.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:v.id,branch:L.branch,groupId:L.id},zIndex:W*Qi+kP};M.push(z)}return M}),T=new Map,I=new Map;let O;function C(M,L=!0){if(M.phase!==e)return;const v=b(M).filter(Q=>Q.phase===e&&!Q.hidden);if(!v.length)return;const D=[];for(const Q of v){const le=r(Q.id),_e=le==null?void 0:le.dimensions,Z=(_e==null?void 0:_e.width)??0,re=(_e==null?void 0:_e.height)??0;if(Z<=0||re<=0)return;D.push({...Q.position,width:Z,height:re});const de=g.value.get(Q.id)??[];for(const fe of de){if(fe.phase!==e)continue;const ue=T.get(fe.id),$=(ue==null?void 0:ue.position)??fe.position,V=(ue==null?void 0:ue.dimensions)??fe.dimensions;!$||!V||D.push({x:$.x,y:$.y,width:V.width,height:V.height})}}const W=Zm(D),z=W.width+Ko*2,H=W.height+Ko*2;return{position:{x:Math.round(W.x-Ko),y:Math.round(W.y-Ko)},dimensions:{width:Math.round(z),height:Math.round(H)},commit:L}}function q(){if(T.size===0){O=void 0;return}const M=[];let L=!1;T.forEach((v,D)=>{const W=p(D,v,!1);M.push({id:D,changed:W,commit:v.commit}),v.commit&&W&&!L&&(L=!0)}),T.clear(),O=void 0;for(const{id:v,changed:D,commit:W}of M){if(!D)continue;const z=l.value.get(v);if(!z)continue;const H=x.value.get(z.ownerId);H&&I.set(H.id,{commit:W})}if(I.size>0){const v=Array.from(I);I.clear();for(const[D,{commit:W}]of v)K(D,W)}L&&u("*")}function S(){T.size!==0&&(O||(O=t.nextTick().then(q)))}function K(M,L=!0){const v=l.value.get(M);if(!v)return;const D=C(v,L);D&&(T.set(M,D),S())}function U(M,L,v,D){const W=l.value.get(M);if(!W)return;if(!W.position){d(M,L,!1),K(M);return}if(v===0&&D===0){d(M,L,!1);return}d(M,L,!1);const z=[M],H=new Set([M]),Q=new Set;for(;z.length;){const le=z.shift(),_e=l.value.get(le);if(!_e)continue;const Z=b(_e).filter(re=>re.phase===e&&!re.hidden);for(const re of Z){Q.has(re.id)||(c(re.id,{x:re.position.x+v,y:re.position.y+D},!1),Q.add(re.id));const de=N.value.get(re.id)??[];for(const fe of de){if(H.has(fe.id))continue;const ue=l.value.get(fe.id);ue!=null&&ue.position&&d(fe.id,{x:ue.position.x+v,y:ue.position.y+D},!1),H.add(fe.id),z.push(fe.id)}}}}function ee(M,L){const v=y.value;if(!v)return!1;if(v===M||L.some(D=>v===D))return!0;for(const D of L){const W=N.value.get(D)??[];if(W!=null&&W.some(z=>z.id===v))return!0}return!1}const Y=new Map;return t.watch(()=>a.value.groups.filter(L=>L.phase===e).map(L=>{const v=L.memberIds.map(D=>{var Q,le;const W=r(D),z=Math.round(((Q=W==null?void 0:W.dimensions)==null?void 0:Q.width)??0),H=Math.round(((le=W==null?void 0:W.dimensions)==null?void 0:le.height)??0);return`${D}:${z}x${H}`});return{id:L.id,memberIds:L.memberIds,signature:v.join(",")}}),M=>{const L=new Set(M.map(v=>v.id));for(const v of Y.keys())L.has(v)||Y.delete(v);for(const v of M)ee(v.id,v.memberIds)||Y.get(v.id)===v.signature||(Y.set(v.id,v.signature),K(v.id))},{deep:!0,flush:"post"}),{groupsByOwner:N,memberGroupMap:x,groupNodes:E,branchEdges:A,isBranchEdgeId:w,updateGroupLayout:K,translateGroupTree:U,updateDragging:M=>{y.value=M},getNodeDepth:h,maxGroupDepth:k,waitForLayoutFlush:()=>O??Promise.resolve()}}function OV(e){t.provide(tm,e)}function Jm(){return t.inject(tm,void 0)}function Qm(){const e=Jm();if(!e)throw new Error("Confirm modal not provided");return e}function eg(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const $V={default:yC,hover:bC,selected:_C};let tg,Ps;function sa(e){const n=e.id===tg?"selected":e.id===Ps?"hover":"default",o=$V[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o},a=e.zIndex??0,l=n==="selected"?a+2:n==="hover"?a+1:a;return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:l}}const[BV,VV]=Ye.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=Or.padding,gaps:s=Or.gaps}=r,{nodes:c=Or.gaps.nodes,edges:d=Or.gaps.edges,ranks:p=Or.gaps.ranks}=s,u=Ue(o),f=dt(),m=Jm(),g=Xm(),{i18n:{t:h}}=De(),{findNode:_,fitView:y,deleteKeyCode:w,onNodeDrag:b,onNodeDragStop:x,onConnect:N,onNodesChange:E,onEdgesChange:k,onEdgeUpdate:A,onEdgeMouseEnter:T,onEdgeMouseLeave:I,getNodes:O,setNodes:C,setEdges:q,addSelectedNodes:S,screenToFlowCoordinate:K}=u;w.value=["Delete","Backspace"];const{state:U,commit:ee,moveNode:Y,selectNode:M,removeNode:L,getNodeById:v,connectEdge:D,disconnectEdge:W,getInEdgesByNodeId:z,branchGroups:H,commit:Q,reset:le,groupMapById:_e}=f,{isGroupId:Z}=H;function re(se,we){const ce=v(se.source),he=v(se.target);return!!(ce&&he&&ce.phase===we&&he.phase===we)}const{groupsByOwner:de,memberGroupMap:fe,groupNodes:ue,branchEdges:$,isBranchEdgeId:V,updateGroupLayout:F,translateGroupTree:R,updateDragging:te,getNodeDepth:G,maxGroupDepth:ie,waitForLayoutFlush:j}=PV({phase:n,readonly:i,flowId:o}),{activeGroupId:B,start:P,updateActiveGroup:oe,end:ne}=TV({phase:n,groupMapById:_e,getNodeDepth:G}),pe=t.computed(()=>U.value.nodes.filter(se=>se.phase===n&&!se.hidden).map(se=>{const we=fe.value.get(se.id),ce=we==null?void 0:we.position,he=we==null?void 0:we.dimensions,ke=we&&ce&&he?{x:se.position.x-ce.x,y:se.position.y-ce.y}:se.position,Ae=G(se.id),Pe=!!(we&&ce&&he),Fe=(Pe?Ae:0)+ie.value+1;return{id:se.id,type:"flow",position:ke,data:se,deletable:!Nl(se),parentNode:Pe?we.id:void 0,zIndex:Fe*Qi+CP}})),be=t.computed(()=>U.value.edges.filter(se=>re(se,n)).filter(se=>!H.isEdgeEnteringGroup(se.source,se.target)).filter(se=>{const we=v(se.source),ce=v(se.target);return!(we!=null&&we.hidden)&&!(ce!=null&&ce.hidden)}).map(se=>{const we=v(se.source),ce=v(se.target);if(we){if(!ce)throw new Error(`Missing target node "${se.target}" for edge "${se.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${se.source}" for edge "${se.id}" in phase "${n}"`);const he=Math.max(G(se.source),G(se.target))+ie.value+1;return sa({id:se.id,source:se.source,target:se.target,sourceHandle:se.sourceField?`outputs@${se.sourceField}`:"output",targetHandle:se.targetField?`inputs@${se.targetField}`:"input",markerEnd:Nr.ArrowClosed,data:se,updatable:!i,zIndex:he*Qi+wP})})),ae=t.computed(()=>[...$.value,...be.value]);t.watch([pe,ue,ae],([se,we,ce])=>{C([...we,...se]),q(ce)},{immediate:!0});const Ne=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Oe({source:se,sourceHandle:we,target:ce,targetHandle:he}){if(!we||!he)return;const ke=eg(we),Ae=eg(he);if((ke==null?void 0:ke.io)==="input"||(Ae==null?void 0:Ae.io)==="output"||we==="output"&&he==="output")return;const Pe=z(ce);let Fe=!1,Ze=!1;const Ke=[],Je=[],Me=(Ae==null?void 0:Ae.io)==="input"?Pe.filter(Te=>!Te.targetField):Pe.filter(Te=>!!Te.targetField);Me.length>0&&(Fe=!0,Me.forEach(Te=>{Je.push(Dr(Te,v)),W(Te.id,!1)}));const nt=(Ae==null?void 0:Ae.io)==="input"?Ae!=null&&Ae.field?Pe.filter(Te=>Te.targetField===Ae.field):Pe.filter(Te=>!!Te.targetField):Pe.filter(Te=>!Te.targetField);if(nt.length>0){if(nt.some(ot=>ot.source===se&&ot.target===ce&&ot.targetField===(Ae==null?void 0:Ae.field)&&ot.sourceField===(ke==null?void 0:ke.field)))return;Ze=!0,nt.forEach(ot=>{Je.push(Dr(ot,v)),W(ot.id,!1)})}if(!D({source:se,sourceField:ke==null?void 0:ke.field,target:ce,targetField:Ae==null?void 0:Ae.field},!1)){le(),g({message:h("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(Ke.push(Ts(se,ke==null?void 0:ke.field,ce,Ae==null?void 0:Ae.field,v)),Fe||Ze){if(!m)throw le(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(h(Fe?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),Ke,Je)){le();return}}Q()}N(Oe);let me=!1;const ge=()=>{me&&(me=!1,Q())};E(se=>{se.filter(he=>he.type==="select").filter(he=>!Z(he.id)).sort((he,ke)=>he.selected===ke.selected?0:he.selected?1:-1).forEach(he=>{M(he.selected?he.id:void 0)});let ce=!1;se.forEach(he=>{if(he.type==="remove"){if(Z(he.id))return;ce=!0,L(he.id,!1)}}),ce&&!me&&(me=!0,queueMicrotask(ge))}),b(({node:se,event:we})=>{var Pe,Fe,Ze;if(!se)return;if(Z(se.id)){const Ke=se.id;te(Ke),oe(void 0);const Je=_e.value.get(Ke);if(!Je)return;const Me=Je.position??{...se.position},nt=se.position.x-Me.x,Ve=se.position.y-Me.y;R(Ke,se.position,nt,Ve);const Te=fe.value.get(Je.ownerId);Te&&F(Te.id,!1);return}const ce=se.id;P("canvas"),te(ce);const he=se.parentNode;let ke={...se.position};if(he&&Z(he)){const Ke=_e.value.get(he);Ke!=null&&Ke.position&&(ke={x:Ke.position.x+se.position.x,y:Ke.position.y+se.position.y})}if(Y(ce,ke,!1),!Nl(v(ce))){const Ke={x:ke.x,y:ke.y,width:((Pe=se.dimensions)==null?void 0:Pe.width)??0,height:((Fe=se.dimensions)==null?void 0:Fe.height)??0},Je=we&&"clientX"in we?K({x:we.clientX,y:we.clientY}):void 0,Me={x:Ke.x+Ke.width/2,y:Ke.y+Ke.height/2};oe(Je??Me)}const Ae=he&&Z(he)?he:(Ze=fe.value.get(ce))==null?void 0:Ze.id;Ae&&F(Ae,!1)}),x(({node:se})=>{var Ae;if(!se)return;if(te(void 0),Z(se.id)){ee();return}const we=se.id,ce=se.parentNode;let he={...se.position};if(ce&&Z(ce)){const Pe=_e.value.get(ce);Pe!=null&&Pe.position&&(he={x:Pe.position.x+se.position.x,y:Pe.position.y+se.position.y})}Y(we,he,!1);const ke=ce&&Z(ce)?ce:(Ae=fe.value.get(we))==null?void 0:Ae.id;ke&&F(ke,!1),kt(we),ne(),ee()}),k(se=>{se.filter(he=>he.type==="select").sort((he,ke)=>he.selected===ke.selected?0:he.selected?1:-1).forEach(he=>{V(he.id)||(tg=he.selected?he.id:void 0,q(ke=>ke.map(Ae=>Ae.id!==he.id||!Ae.markerEnd?Ae:sa({...Ae,zIndex:he.selected?1:void 0}))))});let ce=!1;se.forEach(he=>{if(he.type==="remove"){if(V(he.id))return;ce=!0,W(he.id,!1)}}),ce&&!me&&(me=!0,queueMicrotask(ge))}),T(({edge:se})=>{V(se.id)||(Ps=se.id,q(we=>we.map(ce=>ce.id!==se.id?ce:sa(ce))))}),I(({edge:se})=>{V(se.id)||(Ps=void 0,q(we=>we.map(ce=>ce.id!==se.id?ce:sa(ce))))}),A(({edge:se,connection:we})=>{V(se.id)||(W(se.id,!1),Oe(we))});function ze(se,we){var Pt,Ot,Kt,Dn,St;const{leftNode:ce,rightNode:he,virtualEdges:ke,cachedFindNode:Ae}=we||{},Pe=ce?(Ae??_)(ce.id):void 0,Fe=he?(Ae??_)(he.id):void 0;let Ze;if(se.length>0){Ze=new Wm.graphlib.Graph({multigraph:!0}),Ze.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:p});const He=new Set;for(const pt of se){const Dt=(Ae??_)(pt.id);if(!Dt){console.warn(`Cannot find graph node '${pt.id}' in ${n} phase`);continue}He.add(pt.id),ur(pt)?Ze.setNode(pt.id,pt.dimensions??Dt.dimensions):Ze.setNode(pt.id,Dt.dimensions)}for(const pt of ae.value)!He.has(pt.source)||!He.has(pt.target)||Ze.setEdge(pt.source,pt.target,{points:[]});ke==null||ke.forEach(pt=>Ze.setEdge(pt,{points:[]})),Wm.layout(Ze)}const Ke=[],Je=He=>({x:He.x-He.width/2,y:He.y-He.height/2,width:He.width,height:He.height});if(se.length>0){if(!Ze)throw new Error("Expected dagreGraph to be initialized");for(const He of se){const pt=Ze.node(He.id),Dt=Je(pt);Ke.push(Dt),ur(He)?R(He.id,Dt,Dt.x+Ko,Dt.y+Ko):Y(He.id,{x:Dt.x,y:Dt.y},!1)}}const Me=Ke.length>0?Zm(Ke):{x:0,y:0,width:0,height:0},nt=Me.width,Ve=Me.height,Te=Me.x,ot=Me.x+Me.width,Vt=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,EP)-nt-2*c-(((Pt=Pe==null?void 0:Pe.dimensions)==null?void 0:Pt.width)??0)-(((Ot=Fe==null?void 0:Fe.dimensions)==null?void 0:Ot.width)??0)-2*l),kn=Me.y+Ve/2;ce&&Y(ce.id,{x:Te-c-Vt/2-(((Kt=Pe==null?void 0:Pe.dimensions)==null?void 0:Kt.width)??0),y:kn-(((Dn=Pe==null?void 0:Pe.dimensions)==null?void 0:Dn.height)??0)/2},!1),he&&Y(he.id,{x:ot+c+Vt/2,y:kn-(((St=Fe==null?void 0:Fe.dimensions)==null?void 0:St.height)??0)/2},!1)}function an(se){let we,ce;const he=[];for(const ke of se){if(ur(ke)){he.push(ke);continue}switch(ke.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(we)throw new Error("Duplicated request node in request phase");we=ke;break}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(ce)throw new Error("Duplicated service_request node in request phase");ce=ke;break}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(ce)throw new Error("Duplicated service_response node in response phase");ce=ke;break}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(we)throw new Error("Duplicated response node in response phase");we=ke;break}default:{he.push(ke);break}}}return{autoNodes:he,leftNode:we,rightNode:ce}}async function Bn(se=!0){const we=new Map(pe.value.map(Ve=>[Ve.id,Ve.data])),ce=new Map,he=new Map,ke=Ve=>{if(!Ve)return;let Te=he.get(Ve);return Te||(Te=_(Ve),Te&&he.set(Ve,Te),Te)},Ae=new Map,Pe=Ve=>{let Te=Ae.get(Ve);return Te!==void 0||(Te=G(Ve),Ae.set(Ve,Te)),Te},Fe=Ve=>{if(!ur(Ve.data))return Ve.parentNode;const Te=ke(Ve.data.ownerId);if(!Te)throw new Error(`Cannot find owner node '${Ve.data.ownerId}' for group node '${Ve.id}' via findNode`);return Te.parentNode};for(const Ve of ae.value){if(V(Ve.id))continue;const Te=Ve.source,ot=Ve.target;if(Z(Te)||Z(ot))continue;const Vt=ke(Te),kn=ke(ot);if(Vt){if(!kn)throw new Error(`Cannot find target node '${ot}' for edge '${Ve.id}' via findNode`)}else throw new Error(`Cannot find source node '${Te}' for edge '${Ve.id}' via findNode`);if(Fe(Vt)===Fe(kn))continue;let Pt=Vt,Ot=kn,Kt=Pe(Pt.id),Dn=Pe(Ot.id);for(;Kt!==Dn;)if(Kt>Dn){const St=Fe(Pt);if(!St)throw new Error(`Expected node '${Pt.id}' to have parent, but it does not`);const He=ke(St);if(!He)throw new Error(`Cannot find parent node '${St}' for node '${Pt.id}' via findNode`);Pt=He,Kt--}else if(Dn>Kt){const St=Fe(Ot);if(!St)throw new Error(`Expected node '${Ot.id}' to have parent, but it does not`);const He=ke(St);if(!He)throw new Error(`Cannot find parent node '${St}' for node '${Ot.id}' via findNode`);Ot=He,Dn--}for(;Kt>=0;){const St=Fe(Pt),He=Fe(Ot);if(St===He){ce.has(Kt)||ce.set(Kt,[]),ce.get(Kt).push({v:Pt.id,w:Ot.id});break}if(St){if(!He){const Mr=`Expected node '${Ot.id}' to have parent, but it does not`;throw console.error(Mr,Ot),new Error(Mr)}}else{const Mr=`Expected node '${Pt.id}' to have parent, but it does not`;throw console.error(Mr,Pt),new Error(Mr)}const pt=ke(St),Dt=ke(He);if(pt){if(!Dt)throw new Error(`Cannot find parent node '${He}' for node '${Ot.id}' via findNode`)}else throw new Error(`Cannot find parent node '${St}' for node '${Pt.id}' via findNode`);Pt=pt,Ot=Dt,Kt--,Dn--}}const Ze=U.value.groups.toSorted((Ve,Te)=>Pe(Te.ownerId)-Pe(Ve.ownerId));for(const Ve of Ze)ze(Ve.memberIds.reduce((Te,ot)=>{const Vt=v(ot);if(!Vt)return console.warn(`Cannot find node '${ot}' of group '${Ve.id}' by getNodeById`),Te;if(Vt.phase!==n)return Te;if(Vt.type==="branch"){const kn=de.value.get(Vt.id);kn&&Te.push(...kn)}return we.delete(Vt.id),Te.push(Vt),Te},[]),{virtualEdges:ce.get(Pe(Ve.ownerId)),cachedFindNode:ke}),await t.nextTick(),F(Ve.id,!1),await j();const Ke=we.values().toArray();for(const Ve of Ke){if(ur(Ve)||Ve.type!=="branch")continue;const Te=de.value.get(Ve.id);Te&&Ke.push(...Te)}const{autoNodes:Je,leftNode:Me,rightNode:nt}=an(Ke);ze(Je,{leftNode:Me,rightNode:nt,virtualEdges:ce.get(0),cachedFindNode:ke}),se&&ee()}function Vn(se){y({...Ne.value,...se})}async function ft(se){return M(se),new Promise(we=>setTimeout(()=>{const ce=_(se);S(ce?[ce]:[]),we()},0))}function Xe(se){const we=O.value.filter(({type:Me})=>Me!=="group"),ce=we.find(({id:Me})=>Me===se);if(!ce)throw new Error(`Node ${se} not found`);const{position:{x:he,y:ke},dimensions:{width:Ae,height:Pe}}=ce,Fe=ke,Ze=ke+Pe,Ke=we.filter(({id:Me})=>Me!==se).filter(({position:{y:Me},dimensions:{height:nt}})=>Me<Ze&&Me+nt>Fe).map(({position:{x:Me},dimensions:{width:nt}})=>({left:Me,right:Me+nt})).sort((Me,nt)=>Me.left-nt.left);let Je=he+Ae+c;for(const{left:Me,right:nt}of Ke)if(!(nt<=Je)){if(Je+Ae<=Me)return{x:Je,y:Fe};Je=Math.max(Je,nt)+c}return{x:Je,y:Fe}}function _t(se){if(!se)return;const we=_(se);if(!we)throw new Error(`Node ${se} not found`);const{position:{x:ce},dimensions:{width:he}}=we,ke=ce+he,{viewport:Ae,dimensions:Pe,setViewport:Fe}=u,{x:Ze,y:Ke,zoom:Je}=Ae.value,{width:Me}=Pe.value,nt=ce*Je+Ze,Ve=ke*Je+Ze,Te=Me-em-c;if(Ve<=Te)return;let ot=Te-Ve;nt+ot<0&&(ot=-nt),ot!==0&&Fe({x:Ze+ot,y:Ke,zoom:Je},{duration:SP})}function kt(se){if(!B.value)return!1;const{nodeId:we,branch:ce}=_1(B.value),he=H.addMember(we,ce,se,{commit:!1});return oe(void 0),he}return{vueFlowStore:u,editorStore:f,readonly:i,nodes:pe,edges:ae,selectNode:ft,autoLayout:Bn,placeToRight:Xe,scrollRightToReveal:_t,fitViewParams:Ne,fitView:Vn,groupDrop:{activeGroupId:B,startPanelDrag:()=>P("panel"),endPanelDrag:ne,updateActiveGroup:oe,attachNodeToActiveGroup:kt}}});let Go=null;function DV(){var n;if(Go)return Go;if(typeof navigator>"u")return Go="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?Go="mac":/Linux/i.test(e)&&!/Android/i.test(e)?Go="linux":Go="windows"}const RV={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},MV={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},FV={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function LV(e,n={}){const o=n.platform??DV(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?RV:o==="linux"?FV:MV;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const UV={key:0,class:"label"},KV={class:"keys"},ca=Se(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=LV(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:e.reverse}])},[e.label?(t.openBlock(),t.createElementBlock("span",UV,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",KV,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),jV={class:"target-box"},GV={key:0,class:"additional-count"},ng=24,qV=16,da=Se(t.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(e){const n=Number.parseFloat(IC)||0,o=t.ref(!1),r=t.computed(()=>e.expanded??o.value),i=()=>ng*e.targets.length+n*(e.targets.length-1),a=t.useTemplateRef("cover"),l=t.ref(null),s=t.computed(()=>({width:l.value!==null?`${l.value}px`:r.value?`${i()}px`:"fit-content"})),c=(f,m)=>{l.value=f,requestAnimationFrame(()=>{l.value=m})},d=()=>{l.value=null};t.watch(r,f=>{const m=a.value;if(!m)return;const g=i();f?c(m.offsetWidth,g):c(g,m.offsetWidth)});const p=t.computed(()=>e.targets.map((f,m)=>{var h;const g=(ng+n)*m;return{key:`${f.node.id}-${f.fieldName??"node"}-${m}`,icon:(h=xt[f.node.type])==null?void 0:h.icon,tooltip:f.fieldName?`${f.node.name}.${f.fieldName}`:f.node.name,style:m===0?{width:"fit-content",zIndex:e.targets.length}:{position:"absolute",...e.reversed?{left:`${g}px`,transform:r.value?"translateX(0)":`translateX(-${g}px)`}:{right:0,transform:r.value?`translateX(-${g}px)`:"translateX(0)"},zIndex:e.targets.length-m}}})),u=t.computed(()=>Math.max(e.targets.length-1,0));return(f,m)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-portal",{expanded:r.value,reversed:e.reversed}]),onClick:m[0]||(m[0]=t.withModifiers(()=>{},["stop"])),onDragstart:m[1]||(m[1]=t.withModifiers(()=>{},["stop"])),onMousedown:m[2]||(m[2]=t.withModifiers(()=>{},["stop"])),onMouseenter:m[3]||(m[3]=g=>o.value=!0),onMouseleave:m[4]||(m[4]=g=>o.value=!1)},[t.createElementVNode("div",{class:"target-boxes",style:t.normalizeStyle(s.value),onTransitionend:d},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(g,h)=>(t.openBlock(),t.createBlock(t.unref($e.KTooltip),{key:g.key,ref_for:!0,ref:h===0?"cover":void 0,class:"target-box-wrapper",placement:"top",style:t.normalizeStyle(g.style),text:g.tooltip},{default:t.withCtx(()=>[t.createElementVNode("div",jV,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.icon),{color:t.unref(ii),size:qV},null,8,["color"])),h===0&&u.value>0?(t.openBlock(),t.createElementBlock("span",GV," +"+t.toDisplayString(u.value),1)):t.createCommentVNode("",!0)])]),_:2},1032,["style","text"]))),128))],36)],34))}}),[["__scopeId","data-v-ce3a5909"]]),ua=Se(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Ee.Left},size:{default:()=>Number.parseFloat(Pd)},type:{}},setup(e){t.useCssVars(o=>({v753622c4:o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[e.type,e.position===t.unref(Ee).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),og=Se(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>{var i,a;return{b58c4842:(i=n.value.colors)==null?void 0:i.background,v6ae9eff4:(a=n.value.colors)==null?void 0:a.foreground}});const n=t.computed(()=>xt[e.type]),o=t.computed(()=>g1(e.type));return(r,i)=>{var l;const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:"neutral",class:t.normalizeClass(["dk-node-badge",{"icon-only":e.iconOnly,"has-colors":!!n.value.colors}]),size:e.size},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:2},[(l=n.value)!=null&&l.icon?{name:"icon",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value.icon)))]),key:"0"}:void 0]),1032,["class","size"])}}}),[["__scopeId","data-v-05435e4f"]]),zV={class:"body"},HV={class:"name"},YV={class:"handle"},WV={class:"handle-label-wrapper"},XV={class:"handle-label-wrapper"},ZV={class:"handle-label text"},JV={class:"handle"},QV={class:"handle-label-wrapper"},eD={class:"handle-label-wrapper"},tD={class:"handle-label text"},nD={key:2,class:"branch-handles"},oD={class:"handle-label-wrapper"},rD={class:"handle-label text"},rg=Se(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=VV(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:d,branchGroups:p}=dt(),u=t.computed(()=>$o(e.data.type)),f=t.computed(()=>e.data.fields.input.length>0),m=t.computed(()=>e.data.fields.output.length>0),g=t.computed(()=>f.value&&r(e.data.id).every(v=>v.targetField===void 0)),h=t.computed(()=>m.value&&i(e.data.id).every(v=>v.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),y=t.computed(()=>e.data.expanded.output??!1),w=t.computed(()=>{var v,D,W;return((W=(D=(v=u.value.io)==null?void 0:v.next)==null?void 0:D.branches)==null?void 0:W.map(({name:z})=>z))??[]}),b=t.computed(()=>w.value.length>0),x=t.computed(()=>p.findMembership(e.data.id)),N=t.computed(()=>{var v,D;if(e.data.type==="property"){const W=(v=e.data.config)==null?void 0:v.property;return ys(W)}return(D=u.value.io)==null?void 0:D.input}),E=t.computed(()=>{var v,D;if(e.data.type==="property"){const W=(v=e.data.config)==null?void 0:v.property;return hs(W)}return(D=u.value.io)==null?void 0:D.output}),k=t.computed(()=>Nl(e.data)),A=t.computed(()=>e.data.phase==="response"),T=t.computed(()=>e.data.phase==="request"?Ee.Left:Ee.Right),I=t.computed(()=>e.data.phase==="request"?Ee.Right:Ee.Left),O=t.computed(()=>e.data.phase==="request"?Ee.Right:Ee.Left),C=t.computed(()=>k.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),q=t.computed(()=>k.value?pC:mC);function S(v){return v==="input"?A.value:!A.value}function K(v){const D=new Map,W=v==="input"?r(e.data.id):i(e.data.id);for(const z of W){const H=a(v==="input"?z.source:z.target);if(!H)continue;if(v==="input"){const Z=H.type==="vault",re=H.phase!==e.data.phase,de=p.isEdgeEnteringGroup(H.id,e.data.id);if(!(Z||re||de))continue}else{const Z=H.phase!==e.data.phase,re=p.isEdgeEnteringGroup(e.data.id,H.id);if(!(Z||re))continue}const Q=v==="input"?z.targetField||"input":z.sourceField||"output";let le;if(v==="input"&&z.sourceField){const Z=H.fields.output.find(re=>re.id===z.sourceField);le=Z==null?void 0:Z.name}else if(v==="output"&&z.targetField){const Z=H.fields.input.find(re=>re.id===z.targetField);le=Z==null?void 0:Z.name}const _e=D.get(Q);_e?_e.push({node:H,fieldName:le}):D.set(Q,[{node:H,fieldName:le}])}return D}const U=t.computed(()=>K("input")),ee=t.computed(()=>K("output"));function Y(v){!o||o.readonly||v==="input"&&!g.value||v==="output"&&!h.value||l(e.data.id,v)}async function M(){if(!o||o.readonly)return;const v=s(e.data.id,o.placeToRight(e.data.id));await o.selectNode(v),o.scrollRightToReveal(v),d.value=!0}function L(){p.removeMember(e.data.id)}return t.watch(g,v=>{v||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(h,v=>{v||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(v,D)=>{ko(v,D)||l(e.data.id,"input",v.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(v,D)=>{ko(v,D)||l(e.data.id,"output",v.length>0,!0,"*")},{deep:!0}),(v,D)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:A.value,implicit:k.value,readonly:e.readonly}])},[t.createElementVNode("div",zV,[k.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref($e.KTooltip),{key:0,class:"badge",placement:"top",text:e.data.type},{default:t.withCtx(()=>[t.createVNode(og,{"icon-only":"",size:"small",type:e.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",HV,t.toDisplayString(C.value),1),e.error?(t.openBlock(),t.createBlock(t.unref(xe.WarningIcon),{key:1,class:"error-icon",color:t.unref(nl),size:16},null,8,["color"])):t.createCommentVNode("",!0),k.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref($e.KDropdown),{key:2,class:"menu",disabled:e.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:D[1]||(D[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref($e.KDropdownItem),{onClick:M},{default:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),x.value?(t.openBlock(),t.createBlock(t.unref($e.KDropdownItem),{key:0,onClick:L},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref($e.KDropdownItem),{danger:"",onClick:D[0]||(D[0]=W=>t.unref(c)(e.data.id))},{default:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref($e.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{color:t.unref(tl)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:A.value}])},[N.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":f.value}])},[t.createElementVNode("div",YV,[t.createVNode(t.unref(rn),{id:"input",position:T.value,type:"target"},null,8,["position"]),U.value.has("input")?(t.openBlock(),t.createBlock(da,{key:0,mode:"input",reversed:S("input"),targets:U.value.get("input")},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",WV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:D[2]||(D[2]=t.withModifiers(W=>Y("input"),["stop"]))},[D[4]||(D[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),f.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.UnfoldMoreIcon),{key:0,size:t.unref(ir)},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(xe.UnfoldLessIcon),{key:1,color:g.value?void 0:t.unref(Id),size:t.unref(ir)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),f.value&&_.value?(t.openBlock(),t.createBlock(ua,{key:0,color:q.value,position:T.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),f.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.input,(W,z)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${W.id}`,class:"handle indented"},[t.createVNode(t.unref(rn),{id:`inputs@${W.id}`,position:T.value,type:"target"},null,8,["id","position"]),U.value.has(W.id)?(t.openBlock(),t.createBlock(da,{key:0,mode:"input",reversed:S("input"),targets:U.value.get(W.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",XV,[t.createElementVNode("div",ZV,t.toDisplayString(W.name),1),t.createVNode(ua,{color:q.value,position:T.value,type:z<e.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),E.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":m.value}])},[t.createElementVNode("div",JV,[t.createElementVNode("div",QV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:h.value}]),onClick:D[3]||(D[3]=t.withModifiers(W=>Y("output"),["stop"]))},[D[5]||(D[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),m.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.UnfoldMoreIcon),{key:0,size:t.unref(ir)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(xe.UnfoldLessIcon),{key:1,color:h.value?void 0:t.unref(Id),size:t.unref(ir)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),m.value&&y.value?(t.openBlock(),t.createBlock(ua,{key:0,color:q.value,position:I.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(rn),{id:"output",position:I.value,type:"source"},null,8,["position"]),ee.value.has("output")?(t.openBlock(),t.createBlock(da,{key:0,mode:"output",reversed:S("output"),targets:ee.value.get("output")},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]),m.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.output,(W,z)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${W.id}`,class:"handle indented"},[t.createElementVNode("div",eD,[t.createElementVNode("div",tD,t.toDisplayString(W.name),1),t.createVNode(ua,{color:q.value,position:I.value,type:z<e.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(rn),{id:`outputs@${W.id}`,position:I.value,type:"source"},null,8,["id","position"]),ee.value.has(W.id)?(t.openBlock(),t.createBlock(da,{key:0,mode:"output",reversed:S("output"),targets:ee.value.get(W.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),b.value?(t.openBlock(),t.createElementBlock("div",nD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(w.value,W=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${W}`,class:"handle"},[t.createElementVNode("div",oD,[t.createElementVNode("div",rD,t.toDisplayString(W),1)]),t.createVNode(t.unref(rn),{id:`branch@${W}`,connectable:!1,position:O.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-5872a413"]]),iD=Se(t.defineComponent({__name:"GroupNode",props:{data:{},active:{type:Boolean}},setup(e){const n=e,o=t.computed(()=>n.data.phase==="response"),r=t.computed(()=>o.value?Ee.Right:Ee.Left);return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-branch-group-node",{reversed:o.value,"drop-target":e.active}])},[t.createVNode(t.unref(rn),{id:"input",connectable:!1,position:r.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-61116224"]]),aD={key:0,class:"dk-flow-mask"},ig=Se(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ye.useElementBounding(i),{i18n:{t:l}}=De(),{vueFlowStore:s,editorStore:c,autoLayout:d,fitViewParams:p,fitView:u,selectNode:f,placeToRight:m,scrollRightToReveal:g,groupDrop:h}=BV({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:_,propertiesPanelOpen:y,invalidConfigNodeIds:w,selectedNode:b,duplicateNode:x,commit:N}=c,{screenToFlowCoordinate:E,zoomIn:k,zoomOut:A,viewport:T,maxZoom:I,minZoom:O}=s,{activeGroupId:C,startPanelDrag:q,endPanelDrag:S,updateActiveGroup:K,attachNodeToActiveGroup:U}=h,ee=t.ref(!1);function Y(H){var le;const Q=(le=H.dataTransfer)==null?void 0:le.types.find(_e=>_e.startsWith(`${Pr}/`));if(Q)return Q.replace(`${Pr}/`,"")}function M(H){var Q;if(e.mode==="edit"){if(((Q=H==null?void 0:H.node)==null?void 0:Q.type)==="group"){f(void 0);return}y.value=!0}}function L(H){e.mode!=="edit"||ee.value||(H.preventDefault(),K(E({x:H.clientX,y:H.clientY})))}function v(H){var ue;if(e.mode!=="edit"||ee.value)return;const Q=(ue=H.dataTransfer)==null?void 0:ue.getData(Pr);if(!Q)return;H.preventDefault();const le=JSON.parse(Q);if(le.action!=="create-node")return;const _e=E({x:H.clientX,y:H.clientY}),{type:Z,anchor:re}=le.data,de={type:Z,phase:e.phase,position:{x:_e.x-re.offsetX,y:_e.y-re.offsetY}},fe=_(de,!1);if(!fe){S();return}U(fe),N(),f(fe),y.value=!0,S()}async function D(){await d(),setTimeout(()=>u(),0)}const W=t.computed(()=>{if(e.mode==="preview")return[];const H=[{name:"zoom_in",icon:xe.AddIcon,action:k,disabled:T.value.zoom>=I.value},{name:"zoom_out",icon:xe.RemoveIcon,action:A,disabled:T.value.zoom<=O.value},{name:"fit_view",icon:xe.FullscreenIcon,action:u}];return e.mode==="edit"&&H.push({name:"auto_layout",icon:xe.AutoLayoutIcon,action:D}),H});if(e.phase==="response"&&e.mode==="edit"){Ye.useEventListener("dragstart",Q=>{Y(Q)==="call"&&(ee.value=!0)});const{start:H}=Ye.useTimeoutFn(()=>{ee.value=!1},80);Ye.useEventListener("dragover",()=>{H()}),Ye.useEventListener("dragend",()=>{ee.value=!1})}e.mode==="edit"&&(Ye.useEventListener("dragstart",H=>{Y(H)&&q()}),Ye.useEventListener("dragend",()=>{S()}));async function z(){const H=b.value;if(e.mode!=="edit"||!H||H.phase!==e.phase)return;const Q=x(H.id,m(H.id));Q&&(await f(Q),y.value=!0,g(Q))}return Jp({enabled:t.computed(()=>!!b.value&&e.mode==="edit"&&b.value.phase===e.phase),duplicate:z}),n({autoLayout:d,fitView:u}),(H,Q)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(Yp),{id:e.flowId,class:t.normalizeClass(["flow",{readonly:e.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":e.mode==="edit","max-zoom":t.unref(NP),"min-zoom":t.unref(xP),"multi-selection-key-code":null,"nodes-connectable":e.mode==="edit","nodes-draggable":e.mode==="edit","pan-on-drag":e.mode==="preview"?!1:void 0,"pan-on-scroll":e.mode!=="edit"?!1:void 0,"zoom-on-double-click":e.mode!=="edit"?!1:void 0,"zoom-on-pinch":e.mode!=="edit"?!1:void 0,"zoom-on-scroll":e.mode!=="edit"?!1:void 0,onDragover:L,onDrop:v,onNodeClick:M,onNodesChange:Q[0]||(Q[0]=le=>r("nodes-change")),onNodesInitialized:Q[1]||(Q[1]=le=>r("initialized"))},{"node-flow":t.withCtx(({data:le})=>[t.createVNode(rg,{data:le,error:t.unref(w).has(le.id),readonly:e.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":t.withCtx(({data:le})=>[t.createVNode(iD,{active:t.unref(C)===le.id,data:le},null,8,["active","data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(FT)),t.createVNode(t.unref(uP),{"fit-view-params":t.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(W.value,le=>(t.openBlock(),t.createBlock(t.unref($e.KTooltip),{key:le.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${le.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Tr),{disabled:le.disabled,onClick:t.withModifiers(le.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(le.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),ee.value?(t.openBlock(),t.createElementBlock("div",aD,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-556f8c11"]]),lD={class:"label-content"},sD={class:"count"},cD={class:"label-content"},dD={class:"count"},Os=Se(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=t.ref(!1),r=t.ref(!1),{state:i,configNodeCounts:a,clearPendingLayout:l,setPendingFitView:s,commit:c,clear:d}=dt(),p=t.useId(),u=`${p}-request`,f=`${p}-response`,m=Ue(u),g=Ue(f);function h(z,H){const{onPaneClick:Q,onNodesChange:le,onEdgesChange:_e,getSelectedNodes:Z,getSelectedEdges:re}=z,{removeSelectedElements:de}=H;function fe(ue){if(!ue){de();return}ue.some($=>$.type==="select")&&Z.value.length+re.value.length>0&&de()}le(fe),_e(fe),Q(()=>fe())}h(m,g),h(g,m);const _=t.useTemplateRef("flowPanels"),y=t.useTemplateRef("requestLabel"),w=t.useTemplateRef("requestCanvasContainer"),b=t.useTemplateRef("requestFlow"),x=t.useTemplateRef("resizeHandle"),N=t.useTemplateRef("responseLabel"),E=t.useTemplateRef("responseCanvasContainer"),k=t.useTemplateRef("responseFlow"),A=Ye.useElementBounding(_),T=Ye.useElementBounding(y),I=Ye.useElementBounding(w),O=Ye.useElementBounding(x),C=Ye.useElementBounding(N),q=Ye.useElementBounding(E),S=t.computed(()=>Math.max(30,A.height.value*.03)),K=t.computed(()=>I.height.value<S.value),U=t.computed(()=>q.height.value<S.value),ee=t.ref("50%"),Y=t.ref("50%"),M=()=>{e.resizable&&(K.value?(ee.value="50%",Y.value="50%"):(ee.value="0",Y.value="100%"))},L=()=>{e.resizable&&(U.value?(ee.value="50%",Y.value="50%"):(ee.value="100%",Y.value="0"))},v=t.computed(()=>A.height.value-T.height.value-O.height.value-C.height.value),{isDragging:D}=Ye.useDraggable(x,{onMove(z){if(!e.resizable)return;const H=Math.max(0,z.y-I.top.value),Q=Math.min(1,Math.max(0,H/v.value));ee.value=`${Q*100}%`,Y.value=`${(1-Q)*100}%`},onEnd(){e.resizable&&(I.height.value<S.value?(ee.value="0",Y.value="100%"):q.height.value<S.value&&(ee.value="100%",Y.value="0"))}});function W(){t.nextTick(()=>{var z,H;(z=b.value)==null||z.fitView(),(H=k.value)==null||H.fitView()})}return t.watch([o,r,()=>i.value.pendingLayout,()=>i.value.pendingFitView],([z,H,Q,le])=>{e.inactive||!z||!H||!Q&&!le||(Q&&l(),le&&s(!1),setTimeout(async()=>{var _e,Z;Q&&(await((_e=b.value)==null?void 0:_e.autoLayout(!1)),await((Z=k.value)==null?void 0:Z.autoLayout(!1)),c("*"),Q==="clearHistory"&&d()),le&&setTimeout(()=>W(),0)},0))}),(z,H)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:_,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:y,class:t.normalizeClass(["label request",{resizable:e.resizable}]),onClick:M},[e.resizable?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:K.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",lD,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),t.createElementVNode("span",sD,[t.unref(a).request===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(a).request}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:w,class:t.normalizeClass(["canvas",{dragging:t.unref(D)}]),style:t.normalizeStyle({flexBasis:ee.value})},[t.createVNode(ig,{ref_key:"requestFlow",ref:b,"flow-id":u,mode:e.mode,phase:"request",onInitialized:H[0]||(H[0]=Q=>o.value=!0),onNodesChange:H[1]||(H[1]=Q=>o.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:x,class:t.normalizeClass(["resize-handle",{resizable:e.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:N,class:t.normalizeClass(["label response",{dragging:t.unref(D),resizable:e.resizable}]),onClick:L},[e.resizable?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:U.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",cD,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),t.createElementVNode("span",dD,[t.unref(a).response===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(a).response}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:E,class:t.normalizeClass(["canvas response",{dragging:t.unref(D)}]),style:t.normalizeStyle({flexBasis:Y.value})},[t.createVNode(ig,{ref_key:"responseFlow",ref:k,"flow-id":f,mode:e.mode,phase:"response",onInitialized:H[2]||(H[2]=Q=>r.value=!0),onNodesChange:H[3]||(H[3]=Q=>r.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-80c988c9"]]),uD={class:"dk-confirm-modal-body"},fD={class:"connections"},pD=Se(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=De(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function p(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){a.value=!1,i("confirm"),d==null||d(!0)}async function f(m,g,h){return l.value=m,s.value=g??[],c.value=h??[],a.value=!0,await new Promise(_=>{d=_})}return n({open:f}),(m,g)=>{const h=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(h,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:e.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:p,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",uD,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",fD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([_,y])=>(t.openBlock(),t.createElementBlock("div",{key:`${_}-${y}`,class:"connection"},[t.createVNode(t.unref(xe.AddIcon),{color:t.unref(gC)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(_)+" → "+t.toDisplayString(y),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([_,y])=>(t.openBlock(),t.createElementBlock("div",{key:`${_}-${y}`,class:"connection"},[t.createVNode(t.unref(xe.RemoveIcon),{color:t.unref(nl)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(_)+" → "+t.toDisplayString(y),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-ac52e1e6"]]),mD={class:"dk-editor-nav"},gD={class:"top"},hD={class:"bottom"},yD=Se(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Qe.createI18n("en-us",et),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:xe.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=Tl(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,p)=>(t.openBlock(),t.createElementBlock("nav",mD,[t.createElementVNode("div",gD,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:f,icon:m,onClick:g})=>t.createVNode(t.unref($e.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref($e.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:f,onClick:g},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(ai)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",hD,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:p[0]||(p[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:p[1]||(p[1]=t.withModifiers(u=>s.value=!0,["self"]))},[t.createVNode(t.unref($e.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref($e.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(ai)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(xe.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(ai)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),_D={class:"dk-editor-main"},bD={class:"header"},wD={class:"actions"},kD={class:"settings"},CD={ref:"canvasContainer",class:"body"},ED=Se(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Qe.createI18n("en-us",et),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=dt();function c(u){const f=xn.load(u,{schema:Nn,json:!0});if(typeof f!="object"||f===null)return;const m=f,g={config:{...m,nodes:m.nodes??[]}};s(g,!0)}function d(){o.value=!1}Jp({enabled:o,undo:r,redo:i});const p={maxWidth:"300px",zIndex:1e4};return(u,f)=>(t.openBlock(),t.createElementBlock("div",_D,[t.createElementVNode("header",bD,[t.createElementVNode("div",wD,[t.createVNode(t.unref($e.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref($e.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref($e.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref($e.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),f[0]||(f[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",kD,[t.createVNode(ti,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:p},name:"config.debug"},null,8,["label","label-attributes"])]),f[1]||(f[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref($e.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(_l,(m,g)=>t.createVNode(t.unref($e.KDropdownItem),{key:g,onClick:h=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${g}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),t.createVNode(t.unref($e.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(xe.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref($e.KButton),{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",CD,[t.createVNode(Os,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-ce8026b0"]]),ND=["draggable"],xD={class:"icon"},SD={class:"content"},vD={class:"title"},AD={class:"description"},ID=Se(t.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(e,{emit:n}){t.useCssVars(c=>({f628e926:t.unref(a),v4a9b9f82:t.unref(l)}));const o=n,{summary:r,icon:i,colors:{background:a,foreground:l}={}}=kl[e.type];function s(c){o("dragstart",c,e.type)}return(c,d)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${e.type}`]:!0,unsupported:e.unsupported}]),draggable:!e.unsupported,onDragstart:s},[t.createElementVNode("div",xD,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",SD,[t.createElementVNode("div",vD,t.toDisplayString(e.type),1),t.createElementVNode("div",AD,t.toDisplayString(t.unref(r)),1)])],42,ND))}}),[["__scopeId","data-v-38d156c9"]]),TD={class:"dk-node-panel"},PD={key:0,class:"title"},OD={class:"node-list"},$D={"aria-hidden":"true",class:"preview",inert:""},ag=Se(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),{createNode:o}=dt(),r=t.inject(Hn.DATAKIT_M2,!1),i=["branch","cache"],a=`dk-drag-preview-${t.useId()}`,l=t.shallowRef(),s=t.computed(()=>l.value?[{id:"preview",type:"flow",data:l.value,position:{x:0,y:0}}]:[]),c=async(d,p)=>{var I,O,C;const u=d.currentTarget,{left:f,top:m,width:g,height:h}=u.getBoundingClientRect(),_=d.clientX-f,y=d.clientY-m;l.value=o({type:p}),await t.nextTick();const w=document.querySelector(`#${a}`)||u,b=w.cloneNode(!0);b.classList.add("dk-drag-snapshot");const{offsetWidth:x,offsetHeight:N}=w;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${x}px`,height:`${N}px`}),document.body.appendChild(b);const E=_/g,k=y/h,A={ratioX:E,ratioY:k,offsetX:x*E,offsetY:N*k},T={action:"create-node",data:{type:p,anchor:A}};(I=d.dataTransfer)==null||I.setData(Pr,JSON.stringify(T)),(O=d.dataTransfer)==null||O.setData(`${Pr}/${p}`,p),(C=d.dataTransfer)==null||C.setDragImage(b,A.offsetX,A.offsetY),requestAnimationFrame(()=>{b.remove(),l.value=void 0})};return(d,p)=>{const u=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",TD,[e.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",PD,[t.createVNode(u,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),t.createElementVNode("div",OD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(kl)),f=>(t.openBlock(),t.createBlock(ID,{key:f,type:f,unsupported:!t.unref(r)&&i.includes(f),onDragstart:c},null,8,["type","unsupported"]))),128))]),t.createElementVNode("div",$D,[t.createVNode(t.unref(Yp),{nodes:s.value},{"node-flow":t.withCtx(f=>[t.createVNode(rg,{id:a,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-03b0fafb"]]);function BD(){const{addField:e,getNodeByName:n,removeField:o,replaceConfig:r,renameField:i,disconnectOutEdges:a,nodeMapByName:l}=dt(),s=n("vault");if(!s)throw new Error("no vault node");const c=t.computed(()=>{var g;return((g=l.value.get("vault"))==null?void 0:g.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(g,h)=>{e(s.id,"output",g,!1);const _={...s.config,[g]:h};r(s.id,_)},removeVault:g=>{const h=Sn(s,"output",g);if(!h)return;const _=s.fields.output.length===1;o(s.id,h.id,!0,!1);const y=qn(s.config,g);r(s.id,y,!_),_&&a(s.id)},updateVault:(g,h,_=!0)=>{const y={...s.config,[g]:h};r(s.id,y,_)},renameVault:(g,h,_=!0)=>{var x;const y=Sn(s,"output",g);if(!y)return;i(s.id,y.id,h,!1);const w=((x=s.config)==null?void 0:x[g])??"",b={...qn(s.config,g),[h]:w};r(s.id,b,_)}}}const VD=t.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=je.useI18n(),i=t.inject(Le.FORMS_CONFIG),a=t.ref(e.secretName||""),l=t.ref(""),s=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!s.value),d=()=>{const m=a.value.trim(),g=e.validateName(m,e.isEditing);return l.value=g||"",g===void 0},p=()=>{l.value="",d()},u=m=>{d()&&o("proceed",{secretRef:m,secretName:a.value.trim()})},f=()=>{a.value="",l.value="",o("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",l.value=""}),(m,g)=>{const h=t.resolveComponent("KInput"),_=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:e.secretRef,title:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:f,onProceed:u},{"form-prefix":t.withCtx(()=>[t.createVNode(h,{"model-value":a.value,"onUpdate:modelValue":[g[0]||(g[0]=y=>a.value=y),p],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(_,{key:1,"icon-variant":"error",message:t.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),DD={class:"dk-vault-panel"},RD={class:"title"},MD={class:"vault-list"},FD={key:0,class:"vault-list-item"},LD={class:"vault-list-item-key"},UD={class:"vault-list-item-key-text"},KD=Se(t.defineComponent({__name:"VaultField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["update","add","remove","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l}=ni(o,r),s=t.ref(null),c=t.ref(null),{i18n:{t:d}}=je.useI18n(),p=t.computed(()=>new Set(i.value.map(y=>y.key))),u=()=>{const y=a();c.value=y,s.value=y},f=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=y=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,b=w!==y.secretName,x=s.value.value!==y.secretRef,N=b||x;s.value.value=y.secretRef,s.value.key=y.secretName,c.value?r("add",y.secretName,y.secretRef):N&&r("update",y.secretName,y.secretRef,b?w:void 0),c.value=null,f()},g=y=>{s.value=y},h=y=>{l(y.id),r("remove",y.key)},_=(y,w)=>{var b;if(!y)return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(p.value.has(y)&&!(w&&y===((b=s.value)==null?void 0:b.key)))return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(y,w)=>{var E,k;const b=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),N=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",DD,[t.createElementVNode("h3",RD,t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(b,{appearance:"tertiary",class:"add-button",size:"small",onClick:u},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",MD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),A=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:A.id},[A.key?(t.openBlock(),t.createElementBlock("div",FD,[t.createElementVNode("div",LD,[t.createVNode(t.unref(xe.KeyIcon),{color:t.unref(ii),size:16},null,8,["color"]),t.createElementVNode("div",UD,t.toDisplayString(A.key),1)]),t.createVNode(N,null,{items:t.withCtx(()=>[t.createVNode(x,{onClick:T=>g(A)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),t.createVNode(x,{danger:"",onClick:T=>h(A)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{color:t.unref(tl)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(VD,{"is-editing":!!s.value&&!c.value,"secret-name":(E=s.value)==null?void 0:E.key,"secret-ref":(k=s.value)==null?void 0:k.value,"validate-name":_,onCancel:f,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c9f18d61"]]);function jD(){const{getSchema:e}=Ge();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const o=fn(n);return o.fields.forEach(r=>{const i=Object.keys(r)[0];if(i==="cache"){const a=r[i];r[i]={...a,fields:[...a.fields,{partial_id:{type:"string"}}]}}}),o})}const GD={class:"dk-cache-panel"},qD={class:"title"},zD={key:0,class:"cache-item"},HD={class:"cache-item-key"},YD={class:"cache-item-key-text"},WD={class:"dk-resource-cache-form"},XD={key:1},ZD={key:2,class:"dk-cache-inline-redis"},JD=Se(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const o=n,{getDefault:r,formData:i}=Ge(),a=vt("cache");if(a.error)throw new Error("No cache schema");const l=t.ref(!1),{i18n:{t:s}}=je.useI18n(),c=t.computed(()=>!(d.value==="redis"&&!i.cache.partial_id&&!i.cache.redis)),d=t.computed(()=>{var x;return(x=a.value.value)==null?void 0:x.strategy}),p=t.computed(()=>{var x;return(x=a.value.value)!=null&&x.redis?xn.dump(a.value.value.redis,{indent:2,noRefs:!0}):""}),u=()=>{l.value=!0},f=()=>{l.value=!1,o("cancel")},m=()=>{o("remove")},g=()=>{u(),a.value.value||(a.value.value=r("cache"),a.value.value.strategy="memory")},h=()=>{l.value=!1,o("update",i)},_=Ks.createdBundledHighlighter({langs:{yaml:()=>import("@shikijs/langs/yaml")},themes:{"github-dark":()=>import("@shikijs/themes/github-dark")},engine:()=>Ng.createJavaScriptRegexEngine()}),{codeToHtml:y}=Ks.createSingletonShorthands(_),w=()=>{var x,N;d.value==="memory"&&((x=i.cache)!=null&&x.partial_id)&&((N=i.cache)==null||delete N.partial_id)};async function b({codeElement:x,language:N,code:E}){x.innerHTML=await y(E,{lang:N,theme:"github-dark",structure:"inline"})}return(x,N)=>{const E=t.resolveComponent("KButton"),k=t.resolveComponent("KDropdownItem"),A=t.resolveComponent("KDropdown"),T=t.resolveComponent("KLabel"),I=t.resolveComponent("KCodeBlock"),O=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",GD,[t.createElementVNode("h3",qD,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),e.strategy?(t.openBlock(),t.createElementBlock("div",zD,[t.createElementVNode("div",HD,[t.createVNode(t.unref(xe.DeployIcon),{color:t.unref(ii),size:t.unref(Td)},null,8,["color","size"]),t.createElementVNode("div",YD,t.toDisplayString(e.strategy),1)]),t.createVNode(A,null,{items:t.withCtx(()=>[t.createVNode(k,{onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(k,{danger:"",onClick:m},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:t.withCtx(()=>[t.createVNode(E,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{color:t.unref(tl)},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(E,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(O,{"action-button-disabled":!c.value,"action-button-text":t.unref(s)("actions.save"),"max-width":"640px",title:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:l.value,onCancel:f,onProceed:h},{default:t.withCtx(()=>{var C,q;return[t.createElementVNode("div",WD,[t.createVNode(Ad,{items:[{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":w},null,8,["items"]),d.value==="memory"?(t.openBlock(),t.createBlock(bt,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),d.value==="redis"?(t.openBlock(),t.createElementBlock("div",XD,[t.createVNode(T,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(go.RedisConfigurationSelector),{"model-value":(C=t.unref(i).cache)==null?void 0:C.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":N[0]||(N[0]=S=>t.unref(i).cache.partial_id=S)},null,8,["model-value"])])):t.createCommentVNode("",!0),d.value==="redis"&&!((q=t.unref(i).cache)!=null&&q.partial_id)&&p.value?(t.openBlock(),t.createElementBlock("div",ZD,[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(I,{id:"dk-cache-redis-configuration",code:p.value,language:"yaml",theme:"dark",onCodeBlockRender:b},null,8,["code"])])):t.createCommentVNode("",!0)])]}),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-ad53942e"]]),QD={class:"dk-resources-panel"},eR=Se(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=jD(),o=t.ref(0),{addVault:r,removeVault:i,updateVault:a,renameVault:l,formData:s}=BD();function c(h,_,y){y&&y!==h&&l(y,h,!1),a(h,_)}const{state:d,commit:p}=dt(),u=t.computed(()=>({cache:d.value.cacheConfig}));function f(h){d.value.cacheConfig=h.cache,p()}function m(){d.value.cacheConfig=void 0,p()}function g(){o.value++}return(h,_)=>(t.openBlock(),t.createElementBlock("div",QD,[t.createVNode(Et,{data:t.unref(s),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(KD,{name:"vault",onAdd:t.unref(r),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),_[0]||(_[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(Et,{key:`${o.value}`,data:u.value,schema:t.unref(n)},{default:t.withCtx(()=>{var y;return[t.createVNode(JD,{strategy:(y=u.value.cache)==null?void 0:y.strategy,onCancel:g,onRemove:m,onUpdate:f},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-3a9010b8"]]),tR={class:"header"},nR={class:"title"},oR={class:"body"},rR={class:"panel"},iR=Se(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=Qe.createI18n("en-us",et),{sidePanelExpanded:o}=Tl(),{propertiesPanelOpen:r,selectedNode:i}=dt(),a=t.inject(Hn.DATAKIT_M2,!1),l=t.ref("nodes");function s(){r.value=!1}t.watch(i,d=>{d||s()});const c=t.ref(!1);return t.onMounted(()=>{c.value=!0}),(d,p)=>{const u=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:c.value}])},[t.createElementVNode("header",tR,[t.createElementVNode("h2",nR,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",oR,[t.createElementVNode("div",rR,[t.unref(a)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(u,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=f=>l.value=f),options:[{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),l.value==="nodes"?(t.openBlock(),t.createBlock(ag,{key:0,"hide-title":""})):t.createCommentVNode("",!0),l.value==="resources"?(t.openBlock(),t.createBlock(eR,{key:1})):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(ag,{key:1}))])])],2)}}}),[["__scopeId","data-v-ae943268"]]),aR=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(Ft,{items:t.unref(qa)([...t.unref(Ku)]),name:e.name},null,8,["items","name"]))}}),lR=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Ge(),{i18n:o}=De(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(At,{"as-child":"",name:e.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(Ft,{key:l,clearable:"","enable-filtering":"",items:e.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},t.createSlots({_:2},[i.$slots["item-label"]?{name:"item-label",fn:t.withCtx(s=>[t.renderSlot(i.$slots,"item-label",t.mergeProps({ref_for:!0},s))]),key:"0"}:void 0]),1032,["items","name","placeholder","onChange"]))),128))]),_:3},8,["name"]))}}),sR=["data-testid"],cR={class:"dk-inputs-map-field-entry-body"},dR={class:"dk-inputs-map-field-entry-content"},uR=Se(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=ni(o,r),{i18n:{t:c}}=De(),d=t.useTemplateRef("root"),p=t.ref(null),u=t.ref({});let f;async function m(N,E="key"){var k;d.value&&(await t.nextTick(),(k=d.value.querySelector(`[data-${E}-input="${N}"]`))==null||k.focus())}function g(){const{id:N}=a(),E=i.value.findIndex(({key:k})=>!k);m(E===-1?i.value.length-1:E),p.value=N}function h(N){l(N.id),N.id===p.value&&(p.value=null),N.key.trim()!==""&&r("remove:field",N.key)}function _(N){f=N.key}function y(N){if(w(N)){N.key=f,delete u.value[N.id];return}if(N.id===p.value){if(N.key.trim()==="")return;r("add:field",N.key,N.value),p.value=null}else r("rename:field",f,N.key);f=N.key}function w(N){delete u.value[N.id];const E=o.fieldNameValidator("input",f,N.key);if(E)return u.value[N.id]=E,E}function b(N){w(N)}function x(N,E){N.id!==p.value&&r("change:inputs",N.key,E)}return t.watch(()=>i.value,N=>{p.value&&(N.find(({id:E})=>E===p.value)||(p.value=null))}),(N,E)=>{const k=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),T=t.resolveComponent("KInput"),I=t.resolveComponent("KSelect"),O=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(k,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(C,q)=>(t.openBlock(),t.createElementBlock("div",{key:C.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${q}`},[t.createVNode(A,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${q}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),t.createElementVNode("div",cR,[t.createElementVNode("div",dR,[t.createVNode(T,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${q}`,modelValue:C.key,"onUpdate:modelValue":[S=>C.key=S,S=>w(C)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":q,"data-testid":`ff-key-${t.unref(s).path.value}.${q}`,error:!!u.value[C.id],"error-message":u.value[C.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:S=>b(C),onChange:S=>y(C),onFocus:S=>_(C)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(I,{modelValue:C.value,"onUpdate:modelValue":S=>C.value=S,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${q}`,"enable-filtering":"",items:e.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:S=>x(C,(S==null?void 0:S.value)??null)},t.createSlots({_:2},[N.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:S})=>[t.renderSlot(N.$slots,"item-label",t.mergeProps({ref_for:!0},S),void 0,!0)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(O,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${q}`,icon:"",onClick:S=>h(C)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,sR))),128)),t.createVNode(O,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!p.value,onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-dda8b239"]]),fR={class:"dk-source-item"},fa=Se(t.defineComponent({__name:"SourceItem",props:{item:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("span",fR,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(xt)[e.item.type].icon),{color:t.unref(ii),size:t.unref(ai)},null,8,["color","size"])),t.createTextVNode(" "+t.toDisplayString(e.item.label),1)]))}}),[["__scopeId","data-v-78ea8dff"]]),pR={key:1,class:"dk-inputs-field-or"},$n=Se(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=Ge(),{i18n:{t:i}}=De(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?lR:uR:null);function s(f){o("change:input",f?f.value:null)}function c(f,m){o("add:field",f,m)}function d(f,m){o("change:inputs",f,m)}function p(f){o("remove:field",f)}function u(f,m){o("rename:field",f,m)}return(f,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref($e.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(r)("input")?(t.openBlock(),t.createBlock(Ft,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:e.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},{"item-label":t.withCtx(g=>[t.renderSlot(f.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(g)),()=>[t.createVNode(fa,{item:g},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createElementBlock("div",pR,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref($e.KLabel),{key:2,class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1})):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:3,"field-name-validator":e.fieldNameValidator,items:e.items,"key-order":e.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":p,"onRename:field":u},{"item-label":t.withCtx(g=>[t.createVNode(fa,{item:g},null,8,["item"])]),_:1},8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-90518c04"]]),mR={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},gR={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function hR(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function co(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function qo(e){const{i18n:{t:n}}=De(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function lg(e,n){const{i18n:{t:o}}=De();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function yR(e=0,n=1/0,o){const{i18n:{t:r}}=De();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function sg(e){const{i18n:{t:n}}=De();return function(r){if(!hR(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function $s(e,n){const{i18n:{t:o}}=De();return function(i){if(i==null)return;const a=sg(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function Bs(e=-1/0,n=1/0,o){const{i18n:{t:r}}=De();return function(a){if(a==null)return;const l=sg(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function _R(e,n){const{state:o}=dt(),{i18n:{t:r}}=De();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function bR(e,n,o){const{i18n:{t:r}}=De();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function wR(){const{i18n:{t:e}}=De();return function(o){if(El(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function cg(e){const{i18n:{t:n}}=De(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return co(qo(o),lg("identifier",o),wR(),_R(e,o))}function kR(e){const{i18n:{t:n}}=De(),{getNodeById:o}=dt();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return co(qo(s),bR(i,o(e),l))(a)}}function CR(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=u=>{const f=typeof u=="function"?u():u,m=s(f);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},p=u=>(d(),c(u));r[l]={handleChange:p,handleBlur:p,validate:p,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],p=typeof d=="function"?d():d;(s=r[c])==null||s.validate(p)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Rr(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=dt(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>CR(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),f=l.value.validate(u),m={};for(const g in a.value)m[g]=f[g];return m}function p(u,f){return{onBlur:()=>{const m=o(),g=s.value[u];g&&g.handleBlur(m[u])},onUpdate:()=>{const m=o(),g=s.value[u];g&&g.handleChange(m[u]),f==null||f()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const u=d(),f=Object.values(u).filter(Boolean).length>0;r(!f)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:p}}function bn(e,n){const o=t.inject(Hn.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:d,disconnectEdge:p,connectEdge:u,invalidConfigNodeIds:f,commit:m,revert:g}=dt(),{i18n:{t:h}}=De(),_=Qm(),y=t.computed(()=>{const M=a(e);if(!M)throw new Error("Node not existed");return M}),w=t.computed(()=>{const L=r.value.edges.filter(v=>v.target===e).reduce((v,D)=>{var le,_e;const W=a(D.source),z=(le=vn(W,"output",D.sourceField))==null?void 0:le.id,H=(_e=vn(y.value,"input",D.targetField))==null?void 0:_e.name,Q=W.id+(z?`.${z}`:"");return H?v.inputs={...v.inputs,[H]:Q}:v.input=Q,v},{});return y.value.fields.input.forEach(v=>{L.inputs||(L.inputs={}),L.inputs[v.name]||(L.inputs[v.name]=null)}),{...y.value.config,...L,name:y.value.name}}),b=M=>{i(e,M??"",!0,`${e}:rename`)},x=(M,L=!0)=>{if(!n)throw new Error("getFormInnerData is not defined");const v=qn(n(),["name","input","inputs"]),D=M?`update:${e}:${M}`:void 0;d(e,v,L,D)},N=(M,L)=>{const v=Sn(y.value,M,L);if(!v)throw new Error(`Field with name "${L}" not found in node "${y.value.name}"`);return v},E=(M,L,v)=>{const D=!!v;l(e,M,L,!D),D&&O(L,v)},k=(M,L,v)=>{const D=N(M,L).id;s(e,D,v)},A=(M,L)=>{const v=N(M,L).id;c(e,v)},T=t.computed(()=>r.value.edges.filter(M=>M.target===e&&!M.targetField)[0]),I=t.computed(()=>r.value.edges.filter(M=>M.target===e&&M.targetField)),O=async(M,L)=>{const v=L==null,D=N("input",M).id;if(v){const de=I.value.find(fe=>fe.targetField===D);de&&p(de.id);return}const{nodeId:W,fieldId:z}=Gu(L),H=N("input",M).id,Q=[];T.value&&(Q.push(Dr(T.value,a)),p(T.value.id,!1));const le=I.value.find(de=>de.targetField===D);le&&(Q.push(Dr(le,a)),p(le.id,!1)),u({source:W,sourceField:z,target:e,targetField:H},!1);const _e=Ts(W,z,e,H,a),Z=Q[0]&&_e?Q[0][1]===_e[1]:!1;if(m(),Z||Q.length===0)return;await _(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[_e],Q)||g()},C=async M=>{if(M==null){T.value&&p(T.value.id);return}const v=[];for(const Q of I.value)v.push(Dr(Q,a)),p(Q.id,!1);T.value&&p(T.value.id,!1);const{nodeId:D,fieldId:W}=Gu(M);u({source:D,sourceField:W,target:e,targetField:void 0},!1);const z=Ts(D,W,e,void 0,a);if(m(),v.length===0)return;await _(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[z],v)||g()},q=M=>{const L=[...r.value.edges,{source:M,target:e}];return Al(hi(L))},S=t.computed(()=>{var L,v;const M=[];for(const D of r.value.nodes)if(!(!o&&D.type==="vault"||!((L=$o(D.type).io)!=null&&L.output))&&D.fields.output&&D.id!==e&&!(D.type==="property"&&!hs((v=D.config)==null?void 0:v.property))&&!q(D.id)&&!(y.value.phase==="request"&&D.phase==="response")&&!(D.type==="vault"&&D.fields.output.length===0)){M.push({value:D.id,label:D.name,type:D.type});for(const z of D.fields.output)M.push({value:`${D.id}.${z.id}`,label:`${D.name}.${z.name}`,type:D.type})}return M}),K=t.computed(()=>y.value.fields.input.map(M=>M.name)||[]);function U(M){f.value.delete(e),M||f.value.add(e)}const ee=kR(e);function Y(M,L,v){const D=a(e);if(!D)throw new Error("Node not found when validating field name");const W=Sn(D,M,L);return ee(M,v,W==null?void 0:W.id)}return{formData:w,inputOptions:S,inputEdge:T,inputsEdges:I,inputsFieldNames:K,currentNode:y,setName:b,setConfig:x,addField:E,renameFieldByName:k,removeFieldByName:A,setInputs:O,setInput:C,nameValidator:cg(e),fieldNameValidator:Y,toggleNodeValid:U}}function wn(e){const{getSchema:n}=Ge();return t.computed(()=>{if($t(e))switch(e){case"response":return gR;case"service_request":return mR}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const uo=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=De(),a=t.ref(o.name),l=t.computed(()=>{const p=o.validate(a.value.trim());return p===void 0?"":p});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,p=>{p!==a.value&&(a.value=p)}),(p,u)=>{const f=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(f,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),ER=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=De(),o=t.useTemplateRef("form"),r=wn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:p,nameValidator:u,toggleNodeValid:f,fieldNameValidator:m}=bn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:g}=Rr({validationConfig:{url:co(qo({fieldName:"URL"}),lg("url",{fieldName:"URL"})),timeout:co($s("integer"),Bs(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:f}),h=g("url",()=>l("url")),_=g("timeout",()=>l("timeout"));return(y,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(xo,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"url",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(aR,{name:"method",onUpdate:w[0]||(w[0]=x=>t.unref(l)())}),t.createVNode(Wn,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"timeout",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(xo,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=x=>t.unref(l)("ssl_server_name"))}),t.createVNode($n,{"field-name-validator":t.unref(m),"field-names":t.unref(p),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),NR=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=bn(e.nodeId,()=>n.value.getInnerData());return(d,p)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode($n,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),xR=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=bn(e.nodeId,()=>n.value.getInnerData());return(d,p)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode($n,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),dg={jqlang:"https://jqlang.org/manual/"},SR=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=De(),r=t.useTemplateRef("form"),i=wn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:d,setInput:p,addField:u,removeFieldByName:f,renameFieldByName:m,inputsFieldNames:g,nameValidator:h,toggleNodeValid:_,fieldNameValidator:y}=bn(e.nodeId,()=>r.value.getInnerData());function w(A,T){u("input",A,T)}function b(A){f("input",A)}function x(A,T){m("input",A,T)}const N=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:E}=Rr({validationConfig:{jq:co(qo({fieldName:N}),yR(1,10240,{fieldName:N}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:_}),k=E("jq",()=>s("jq"));return(A,T)=>{const I=t.resolveComponent("KLabel"),O=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(a).name,validate:t.unref(h),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(I,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(xo,{autosize:"",error:t.unref(k).error.value,"error-message":t.unref(k).errorMessage.value,label:t.unref(N),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(k).onBlur,"onUpdate:modelValue":t.unref(k).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(O,{"hide-icon":"",href:t.unref(dg).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(dg).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode($n,{"field-name-validator":t.unref(y),"field-names":t.unref(g),items:t.unref(c),"onAdd:field":w,"onChange:input":t.unref(p),"onChange:inputs":t.unref(d),"onRemove:field":b,"onRename:field":x},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),vR=Se(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=ni(o,r,!1),{i18n:d}=De(),p=t.useTemplateRef("root"),u=t.ref(null);let f;async function m(N,E="key"){var k;p.value&&(await t.nextTick(),(k=p.value.querySelector(`[data-${E}-input="${N}"]`))==null||k.focus())}function g(){const N=l(),E=a.value.findIndex(({key:k})=>!k);m(E===-1?a.value.length-1:E),u.value=N}function h(N){var E;N.id===((E=u.value)==null?void 0:E.id)&&(u.value=null),s(N.id),N.key.trim()!==""&&r("remove:field",N.key)}function _(N){f=N.key}function y(N){var E;if(b(N)){N.key=f,delete i.value[N.id];return}if(N.id===((E=u.value)==null?void 0:E.id)){if(N.key.trim()==="")return;u.value=null,r("add:field",N.key,N.value)}else r("rename:field",f,N.key);f=N.key}function w(N,E){var A;if(E.id===((A=u.value)==null?void 0:A.id))return;const k=N.target.value.trim();r("change:value",E.key,k)}function b(N){delete i.value[N.id];const E=o.fieldNameValidator("output",f,N.key);if(E)return i.value[N.id]=E,E}function x(N){b(N)}return t.watchEffect(()=>{u.value&&!a.value.some(N=>N.id===u.value.id)&&a.value.push(u.value)}),(N,E)=>{const k=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),T=t.resolveComponent("KButton"),I=t.resolveComponent("KInput"),O=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(k,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:p,class:"dk-output-value-field"},[t.createVNode(A,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(C,q)=>(t.openBlock(),t.createBlock(O,{key:C.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${q}`},{actions:t.withCtx(()=>[t.createVNode(T,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${q}`,icon:"",onClick:S=>h(C)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(I,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${q}`,modelValue:C.key,"onUpdate:modelValue":[S=>C.key=S,S=>b(C)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":q,"data-testid":`ff-key-${t.unref(c).path.value}.${q}`,error:!!i.value[C.id],"error-message":i.value[C.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:S=>x(C),onChange:S=>y(C),onFocus:S=>_(C)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(I,{modelValue:C.value,"onUpdate:modelValue":S=>C.value=S,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${q}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:S=>w(S,C)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(T,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function AR(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function pa(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function IR(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const TR=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=dt(),{fieldNameValidator:c}=bn(e.nodeId),d=wn("static"),p=cg(e.nodeId),u=t.computed(()=>s(e.nodeId)),f=t.computed(()=>{var b;return((b=u.value)==null?void 0:b.fields.output.map(x=>x.name))||[]});function m(b){if(!u.value)throw new Error("No current node");n(u.value.id,b??"")}const g=t.computed(()=>{var T;if(!u.value)return{};const b=((T=u.value.config)==null?void 0:T.values)??{},x={},N=o(u.value.id).map(I=>I.sourceField).filter(Boolean).map(I=>vn(u.value,"output",I)).map(I=>I==null?void 0:I.name).filter(Boolean),E=u.value.fields.output.map(I=>I.name),k=Object.keys(b);return new Set([...k,...N,...E]).forEach(I=>{if(I in b){x[I]=b[I];return}x[I]=""}),{name:u.value.name,values:AR(x)}});function h(b,x){if(!u.value)throw new Error("No selected node");const N=x!==void 0;if(r(e.nodeId,"output",b,!N),N){const E={values:pa({...g.value.values,[b]:x})};l(e.nodeId,E)}}function _(b,x){if(!u.value)throw new Error("No selected node");const N=Sn(u.value,"output",b);if(!N)throw new Error("No field found to rename");const E={values:pa(IR(g.value.values??{},b,x))};l(e.nodeId,E,!1),i(e.nodeId,N.id,x)}function y(b){var E;if(!u.value)throw new Error("No selected node");const x=Sn(u.value,"output",b);if(!x)throw new Error("No field found to delete");a((E=u.value)==null?void 0:E.id,x.id,!0,!1);const N={values:pa({...g.value.values})};delete N.values[b],l(e.nodeId,N)}function w(b,x){if(!u.value)throw new Error("No selected node");const N={...g.value.values};N[b]=x;const E={values:pa(N)};l(e.nodeId,E)}return(b,x)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:g.value,schema:t.unref(d)},{default:t.withCtx(()=>{var N;return[t.createVNode(uo,{name:((N=u.value)==null?void 0:N.name)??"",validate:t.unref(p),onUpdate:m},null,8,["name","validate"]),t.createVNode(vR,{"field-name-validator":t.unref(c),"key-order":f.value,name:"values","onAdd:field":h,"onChange:value":w,"onRemove:field":y,"onRename:field":_},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),PR={class:"dk-kong-property-item"},OR={class:"property-type"},$R={class:"property-badges"},BR=Se(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=De(),r=e,i=n,{formData:a}=Ge(),l=t.ref($r(a.property)),s=t.computed(()=>Br(a.property)),c=t.ref(gs(a.property)),d=t.computed(()=>a.property??""),p=t.computed(()=>Object.entries(ao).map(([m])=>{var _;const g=Br(m)?(_=a.property)==null?void 0:_.startsWith(m.replace(jo,"")):a.property===m;return{label:g&&c.value?m.replace(jo,c.value):m,value:m,selected:g}}));function u(m){const g=ta.find(h=>{var _;return(_=a.property)==null?void 0:_.startsWith(h)});g&&(a.property=g+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function f(m){l.value!==$r(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=$r(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=gs(m),l.value=$r(m)}),(m,g)=>{const h=t.resolveComponent("KBadge"),_=t.resolveComponent("KSelect"),y=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(_,{key:d.value,"enable-filtering":"",error:!e.validators.property.isValid.value,help:e.validators.property.error.value,items:p.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:g[0]||(g[0]=w=>e.validators.property.handleBlur(()=>t.unref(a).property)),onChange:f},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",PR,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",OR,t.toDisplayString(t.unref(ao)[w.value].dataType),1)]),t.createElementVNode("div",$R,[t.unref(ao)[w.value].readable?(t.openBlock(),t.createBlock(h,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(ao)[w.value].writable?(t.openBlock(),t.createBlock(h,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(y,{key:0,"model-value":c.value,"onUpdate:modelValue":[g[1]||(g[1]=w=>c.value=w),u],error:!e.validators.key.isValid.value,"error-message":e.validators.key.error.value,label:"key",required:"",onBlur:g[2]||(g[2]=w=>e.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),VR=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=dt(),a=wn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:p,setInput:u,inputsFieldNames:f,nameValidator:m,toggleNodeValid:g,fieldNameValidator:h}=bn(e.nodeId,()=>n.value.getInnerData()),_=t.computed(()=>ys(l.value.property));function y(b){var N;const x=(N=o.value)==null?void 0:N.id;if(!x)throw new Error("Expected selectedNode to be defined");hs(b)||i(x,!1),ys(b)||r(x,!1),c()}const{fields:w}=Rr({validationConfig:()=>({property:qo({fieldName:"Property"}),key:Br(l.value.property)?qo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:gs(l.value.property)}),toggleNodeValid:g});return(b,x)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(Ft,{name:"content_type",onUpdate:x[0]||(x[0]=N=>t.unref(c)())}),t.createVNode(BR,{validators:t.unref(w),"onUpdate:modelValue":y,"onUpdate:propertyKey":x[1]||(x[1]=N=>t.unref(c)("property-key"))},null,8,["validators"]),_.value?(t.openBlock(),t.createBlock($n,{key:0,"field-name-validator":t.unref(h),"field-names":t.unref(f),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),DR=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:p,toggleNodeValid:u,fieldNameValidator:f}=bn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Rr({validationConfig:{status:co($s("integer",{fieldName:"Status"}),Bs(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:u}),g=m("status",()=>a("status"));return(h,_)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(r).name,validate:t.unref(p),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Wn,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,name:"status",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ti,{name:"warn_headers_sent","onUpdate:modelValue":_[0]||(_[0]=y=>t.unref(a)())}),t.createVNode($n,{"field-name-validator":t.unref(f),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function RR(e){const n=bn(e),{state:o,getNodeById:r,branchGroups:i,commit:a}=dt(),{i18n:{t:l}}=De(),s=Qm(),c=Xm(),d=t.computed(()=>{var b;const y={...n.formData.value},w=fr(((b=n.currentNode.value)==null?void 0:b.type)||"branch");for(const x of w)(!(x in y)||y[x]==null)&&(y[x]=[]);return y});function p(y,w,b){const x=r(y),N=r(b),E=x?`${x.name}.${w}`:`${y}.${w}`,k=N?N.name:b;return[E,k]}function u(y){return(y==null?[]:Array.isArray(y)?y:[y]).filter(w=>ju(w))}function f(y,w){return i.wouldCreateCycle(y,w)?(c({message:l("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(y,w,b){const x=[],N=[],E=[];for(const k of b){const A=i.findMembership(k);if(!A||A.ownerId===y&&A.branch===w)continue;const T=i.getMembers(A.ownerId,A.branch).filter(I=>I!==k);E.push({ownerId:A.ownerId,branch:A.branch,members:T}),x.push(p(y,w,k)),N.push(p(A.ownerId,A.branch,k))}return{conflictUpdates:E,addedAssignments:x,removedAssignments:N}}function g(y,w,b,x){let N=!1;for(const E of x)N=i.setMembers(E.ownerId,E.branch,E.members,{commit:!1})||N;return N=i.setMembers(y,w,b,{commit:!1})||N,N}async function h(y,w){const b=n.currentNode.value,x=u(w),N=i.prepareMembers(b.id,y,x),E=i.getMembers(b.id,y);if(xl(E,N))return!0;const k=N.filter(C=>!E.includes(C));for(const C of k)if(f(b.id,C))return!1;const{conflictUpdates:A,addedAssignments:T,removedAssignments:I}=m(b.id,y,k);return A.length>0&&!await s(l("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),T,I)?!1:(g(b.id,y,N,A)&&a(),!0)}const _=t.computed(()=>{const y=n.currentNode.value;return!y||!i?[]:o.value.nodes.filter(w=>w.id!==e&&!$t(w.type)&&w.phase===y.phase&&!i.wouldCreateCycle(y.id,w.id)).map(w=>({value:w.id,label:w.name,type:w.type}))});return{...n,formData:d,branchOptions:_,updateBranchMembers:h}}const MR=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=De(),o=wn("branch"),r=t.ref(0),{formData:i,setName:a,inputOptions:l,branchOptions:s,nameValidator:c,setInput:d,setInputs:p,inputsFieldNames:u,fieldNameValidator:f,updateBranchMembers:m}=RR(e.nodeId);async function g(h,_){await m(h,_)||(r.value+=1)}return(h,_)=>(t.openBlock(),t.createBlock(Et,{key:r.value,data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref($e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Ft,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"then",onUpdate:_[0]||(_[0]=y=>g("then",y))},{"item-label":t.withCtx(y=>[t.createVNode(fa,{item:y},null,8,["item"])]),_:1},8,["items"]),t.createVNode(Ft,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"else",onUpdate:_[1]||(_[1]=y=>g("else",y))},{"item-label":t.withCtx(y=>[t.createVNode(fa,{item:y},null,8,["item"])]),_:1},8,["items"]),t.createVNode($n,{"field-name-validator":t.unref(f),"field-names":t.unref(u),items:t.unref(l),"onChange:input":t.unref(d),"onChange:inputs":t.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),FR=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("cache"),{i18n:{t:r}}=De(),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:p,nameValidator:u,toggleNodeValid:f,fieldNameValidator:m}=bn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:g}=Rr({validationConfig:()=>({ttl:co($s("integer",{fieldName:"TTL"}),Bs(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:f}),h=g("ttl",()=>l("ttl"));return(_,y)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref($e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(ti,{name:"bypass_on_error","onUpdate:modelValue":y[0]||(y[0]=w=>t.unref(l)("bypass_on_error"))}),t.createVNode(Wn,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"ttl",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode($n,{"field-name-validator":t.unref(m),"field-names":t.unref(p),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),LR=["innerHTML"],UR=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${em}px`},offsetTop:{default:`${_P}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=dt(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return ER;case"service_request":return NR;case"response":return xR;case"jq":return SR;case"static":return TR;case"property":return VR;case"exit":return DR;case"branch":return MR;case"cache":return FR;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref($e.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":e.maxWidth,"offset-top":e.offsetTop,visible:e.visible,"z-index":t.unref(yP),onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(Lt)(o.value.type)},null,8,LR)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:e.nodeId,class:"dk-node-properties-panel-form","node-id":e.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(og,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),KR=Se(UR,[["__scopeId","data-v-bad25d77"]]),jR={class:"dk-editor-content"},GR={class:"main"},qR=Se(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:o}=dt();function r(){n.value=!1}t.watch(o,a=>{a||r()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,l)=>{var s;return t.openBlock(),t.createElementBlock("div",jR,[t.createVNode(t.unref(iR)),t.createElementVNode("div",GR,[t.createVNode(ED)]),t.createVNode(KR,{"node-id":(s=t.unref(o))==null?void 0:s.id,visible:t.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),zR={key:0,class:"dk-editor-modal"},HR=Se(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({v8758bbfe:`${t.unref(hP)}px`,v30e03211:`${t.unref(Qp)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=dt();OV(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ye.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",zR,[t.createVNode(yD,{class:"nav",onBack:l}),t.createVNode(qR,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(pD,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-abbb8dba"]]),YR={class:"dk-flow-editor"},WR={class:"flow-panels-container"},XR={class:"overlay"},ZR=Se(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=Qe.createI18n("en-us",et),{formData:r}=Ge(),i=n;function a(c,d,p,u){const f={...r.config,nodes:c};p!==void 0&&(f.resources=p);const m={...r.__ui_data,...d};r.config=f,r.__ui_data=m,u!=null?r.partials=[{id:u}]:r.partials&&(r.partials=null),i("change",f,m)}const{modalOpen:l,setPendingFitView:s}=ef(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),B1({enabled:l}),(c,d)=>{const p=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",YR,[t.createElementVNode("div",WR,[t.createVNode(Os,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",XR,[t.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=u=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(xe.ExpandIcon))]),_:1})])]),t.createVNode(HR,{open:t.unref(l),"onUpdate:open":d[1]||(d[1]=u=>t.isRef(l)?l.value=u:null)},null,8,["open"])])}}}),[["__scopeId","data-v-82ca6e78"]]);function JR(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function QR(e){const n=e.path[2];return n==="output"||n==="outputs"}function ug(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function fg(e,n){const o=e.input!==void 0&&e.input!==null,r=ug(e.inputs);o&&r&&n.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["inputs"]});const i=e.output!==void 0&&e.output!==null,a=ug(e.outputs);i&&a&&n.addIssue({code:"custom",message:'A node cannot use both "output" and "outputs". Use one or the other.',path:["outputs"]})}function pg(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,d)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,d)=>{for(const p of JR(c,d)){const u=p.value.split(".",1)[0];if(a.has(u)||o.addIssue({code:"custom",message:`Unknown node "${u}" in connection "${p.value}"`,path:p.path}),QR(p)){const f=`${p.nodeName}->${u}`;s.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${p.nodeName}" outputs to "${u}" and "${u}" inputs from "${p.nodeName}". Specify it on one side only.`,path:p.path}):l.set(f,l.get(f)??p.path)}else{const f=`${u}->${p.nodeName}`;l.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u}" outputs to "${p.nodeName}" and "${p.nodeName}" inputs from "${u}". Specify it on one side only.`,path:p.path}):s.set(f,s.get(f)??p.path)}}})}const eM=J.z.enum(Lu),tM=J.z.enum(Po),mg=e=>Po.includes(e),Vs=J.z.enum(Uu),gg=Vs.options;J.z.union([Vs,eM]);const nM=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,hg=J.z.string().min(1).max(255).regex(nM,"Invalid node name (snake_case / kebab-case only)").refine(e=>!mg(e),"Name clashes with reserved implicit node").brand(),ma=J.z.union([tM,hg]),oM=J.z.string().min(1).brand(),rM=["then","else"];J.z.enum(rM);const ht=J.z.string().refine(e=>{if(ma.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return ma.safeParse(o).success&&oM.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),yg=J.z.enum(Ku),fo=J.z.object({type:J.z.string(),name:hg,input:ht,inputs:J.z.record(J.z.string(),ht).nullish(),output:ht,outputs:J.z.record(J.z.string(),ht).nullish()}).loose().superRefine((e,n)=>{fg(e,n)}),iM=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),gg.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${gg.join(", ")}`})}),aM=fo.safeExtend({type:J.z.literal("call"),method:yg.nullish(),ssl_server_name:J.z.string().min(1).nullish(),timeout:J.z.number().int().min(0).max(2147483646).nullish(),url:J.z.url(),inputs:J.z.object({body:ht,headers:ht,query:ht}).partial().nullish(),outputs:J.z.object({body:ht,headers:ht,status:ht}).partial().nullish()}).strict(),lM=fo.safeExtend({type:J.z.literal("exit"),status:J.z.number().int().min(200).max(599).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),sM=fo.safeExtend({type:J.z.literal("jq"),jq:J.z.string().min(1).max(10240),outputs:J.z.never().optional()}).strict(),cM=fo.safeExtend({type:J.z.literal("property"),content_type:J.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:J.z.string().min(1),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),dM=fo.safeExtend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),uM=fo.safeExtend({type:J.z.literal("cache"),bypass_on_error:J.z.boolean().nullish(),inputs:J.z.object({data:ht,key:ht,ttl:ht}).partial().nullish(),outputs:J.z.object({data:ht,hit:ht,miss:ht,stored:ht}).partial().nullish(),ttl:J.z.number().int().gt(0).nullish()}).strict(),fM=fo.safeExtend({type:J.z.literal("branch"),then:J.z.array(ma).nullish(),else:J.z.array(ma).nullish()}).strict(),pM=iM.pipe(J.z.discriminatedUnion("type",[aM,lM,sM,cM,dM,uM,fM])),mM=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),gM=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),hM=J.z.object({host:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),yM=J.z.object({ip:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),_M=J.z.object({host:J.z.string().optional().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),username:J.z.string().optional(),password:J.z.string().optional(),sentinel_username:J.z.string().optional(),sentinel_password:J.z.string().optional(),database:J.z.number().int().optional().default(0),keepalive_pool_size:J.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:J.z.number().int().min(0).max(2147483646).optional(),sentinel_master:J.z.string().optional(),sentinel_role:J.z.enum(["master","slave","any"]).optional(),sentinel_nodes:J.z.array(hM).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:J.z.array(yM).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:J.z.boolean().default(!1).optional(),ssl_verify:J.z.boolean().default(!1).optional(),server_name:J.z.string().optional(),cluster_max_redirections:J.z.number().int().default(5).optional(),connection_is_proxied:J.z.boolean().default(!1).optional(),timeout:J.z.number().int().optional(),sentinel_addresses:J.z.array(J.z.string()).min(1).optional(),cluster_addresses:J.z.array(J.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),bM=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:gM,redis:_M}),wM=J.z.object({vault:mM.nullish(),cache:bM.nullish()});J.z.array(J.z.object({id:J.z.string()})),J.z.object({nodes:J.z.array(pM).min(1,"At least one node is required"),debug:J.z.boolean().nullish(),resources:wM.nullish()}).strict().superRefine((e,n)=>{pg(e,Po,n)});const _g=Vs.options,Ds=J.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!mg(e),"Node name conflicts with reserved implicit node"),yt=J.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),po=J.z.object({type:J.z.string(),name:Ds,input:yt.nullish(),inputs:J.z.record(J.z.string(),yt.nullish()).nullish(),output:yt.nullish(),outputs:J.z.record(J.z.string(),yt.nullish()).nullish()}).loose().superRefine((e,n)=>{fg(e,n)}),kM=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),_g.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${_g.join(", ")}`})}),CM=po.safeExtend({type:J.z.literal("call"),method:yg.nullish(),ssl_server_name:J.z.string().nullish(),timeout:J.z.union([J.z.number(),J.z.string()]).nullish(),url:J.z.string().nullish(),inputs:J.z.object({body:yt.nullish(),headers:yt.nullish(),query:yt.nullish()}).partial().nullish(),outputs:J.z.object({body:yt.nullish(),headers:yt.nullish(),status:yt.nullish()}).partial().nullish()}).strict(),EM=po.safeExtend({type:J.z.literal("exit"),status:J.z.union([J.z.number(),J.z.string()]).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),NM=po.safeExtend({type:J.z.literal("jq"),jq:J.z.string().nullish(),outputs:J.z.never().optional()}).strict(),xM=po.safeExtend({type:J.z.literal("property"),content_type:J.z.string().nullish(),property:J.z.string().nullish(),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),SM=po.safeExtend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()).nullish(),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),vM=po.safeExtend({type:J.z.literal("cache"),bypass_on_error:J.z.boolean().nullish(),inputs:J.z.object({data:yt.nullish(),key:yt.nullish(),ttl:yt.nullish()}).partial().nullish(),outputs:J.z.object({data:yt.nullish(),hit:yt.nullish(),miss:yt.nullish(),stored:yt.nullish()}).partial().nullish(),ttl:J.z.union([J.z.number(),J.z.string()]).nullish()}).strict(),AM=po.safeExtend({type:J.z.literal("branch"),then:J.z.array(Ds).nullish(),else:J.z.array(Ds).nullish()}).strict(),IM=kM.pipe(J.z.discriminatedUnion("type",[CM,EM,NM,xM,SM,vM,AM])),TM=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),PM=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),OM=J.z.object(),$M=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:PM.optional(),redis:OM.optional()}),BM=J.z.object({vault:TM.nullish(),cache:$M.nullish()}),VM=J.z.object({nodes:J.z.array(IM).nullish(),debug:J.z.boolean().nullish(),resources:BM.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||pg(e,Po,n)}).nullish(),DM={class:"dk-option-label"},RM={class:"dk-option-label"},MM=["innerHTML"],FM=Se(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=e,r=t.inject(Hn.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(Hn.DATAKIT_M2,!1),a=t.ref(!1);t.onMounted(()=>{a.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:l}=Tl(),s=t.computed(()=>r&&p.value?l.value:"code"),c=t.computed(()=>i?s.value==="flow"?"form":"code":"form"),d={flow:xe.DesignIcon,code:xe.CodeblockIcon},p=t.ref(!0),u=t.computed(()=>{const b=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return b[0].disabled=!p.value,b}),f=t.computed(()=>{switch(s.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),m=t.computed(()=>n(i?"plugins.free-form.datakit.plugin_config.title":"plugins.form.sections.plugin_config.title"));t.watch(s,()=>{var b;(b=o.onValidityChange)==null||b.call(o,{model:"config",valid:!0})});function g(){var b;(b=o.onValidityChange)==null||b.call(o,{model:"config",valid:!0})}function h(){g()}function _(b){g();let x=b;i&&(x=b==null?void 0:b.config);const{success:N}=VM.safeParse(x);let E=N;!i&&E&&(E=!y(b)),p.value=E}function y(b){var N,E;return!!((N=b==null?void 0:b.resources)!=null&&N.vault||((E=b==null?void 0:b.nodes)==null?void 0:E.some(k=>k.type==="branch"||k.type==="cache")))}function w(b){var x;p.value=!1,(x=o.onValidityChange)==null||x.call(o,{model:"config",valid:!1,error:b})}return(b,x)=>{const N=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(i)?(t.openBlock(),t.createBlock(t.Teleport,{key:0,disabled:!a.value,to:"#plugin-form-page-actions"},[t.createVNode(t.unref($e.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":s.value,options:u.value,"onUpdate:modelValue":x[0]||(x[0]=E=>l.value=E)},{"option-label":t.withCtx(({option:E})=>[t.createVNode(N,{disabled:p.value||E.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",DM,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d[E.value]))),t.createTextVNode(" "+t.toDisplayString(E.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])],8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(Vd,t.mergeProps(o,{class:"dk-form","editor-mode":c.value}),t.createSlots({"code-editor":t.withCtx(()=>[t.createVNode(Fu,{class:"code-editor",editing:o.isEditing,onChange:_,onError:w},null,8,["editing"])]),"plugin-config-title":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(m.value),1)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,MM)]),default:t.withCtx(()=>[s.value==="flow"?(t.openBlock(),t.createBlock(ZR,{key:0,"is-editing":o.isEditing,onChange:h},null,8,["is-editing"])):s.value==="code"&&!t.unref(i)?(t.openBlock(),t.createBlock(Fu,{key:1,class:"code-editor",editing:o.isEditing,onChange:_,onError:w},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},[t.unref(r)&&!t.unref(i)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref($e.KSegmentedControl),{"model-value":s.value,options:u.value,"onUpdate:modelValue":x[1]||(x[1]=E=>l.value=E)},{"option-label":t.withCtx(({option:E})=>[t.createVNode(N,{disabled:p.value||E.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",RM,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d[E.value]))),t.createTextVNode(" "+t.toDisplayString(E.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040,["editor-mode"])],64)}}}),[["__scopeId","data-v-35f07a89"]]),bg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},wg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},LM=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=je.useI18n(),l={prepareFormData:c=>{var p,u;const d=wo(c);return(u=(p=d.config)==null?void 0:p.tools)!=null&&u.length&&d.config.tools.forEach(f=>{wg(f.headers),wg(f.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var p,u;const d=wo(c);(u=(p=d.config)==null?void 0:p.tools)!=null&&u.length&&d.config.tools.forEach(f=>{bg(f.headers),bg(f.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(Et,{config:l,data:e.data,schema:e.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:p})=>[t.createVNode(oi,{appearance:"tabs","item-label":(u,f)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:f+1}),name:p,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(ri)]),_:1},8,["data","schema"]))}}),UM=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(LM,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),KM=Se(t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n}=Ge(),o=t.computed(()=>{const i=n().fields.find(s=>Object.keys(s)[0]==="config").config.fields,a=[],l=[];for(const s of i){const c=Object.keys(s)[0];s[c].required?a.push(c):l.push(c)}return{required:a,nonRequired:l}});return(r,i)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(At,{"as-child":"",name:"config",omit:o.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(ri,{class:"ff-advanced-fields","hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config",omit:o.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})],64))}}),[["__scopeId","data-v-33bf669b"]]),kg=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:UM,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{}},setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Vd,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(()=>[t.createVNode(KM)]),_:1},16))}}),DatakitForm:FM,RequestCalloutForm:Fk,ServiceProtectionForm:GC},Symbol.toStringTag,{value:"Module"})),jM={class:"kong-ui-entities-plugin-form"},GM={key:1,class:"entity-form"},qM={class:"plugin-config-empty-state"},zM=Se(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var le,_e;const o=Object.keys(Le.sharedForms),r=Object.keys(kg);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=ye.useAxios((le=a.config)==null?void 0:le.axiosRequestConfig),{parseSchema:s}=je.useSchemas({entityId:((_e=a.entityMap.focusedEntity)==null?void 0:_e.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:p,isObjectEmpty:u,unsetNullForeignKey:f}=je.usePluginHelpers(),m=je.useExperimentalFreeForms(),{objectsAreEqual:g}=ye.useHelpers(),{i18n:{t:h}}=De(),_=Z=>a.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Z.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Z,y=(Z,re)=>{let de=`${a.config.apiBaseUrl}${tt.form[a.config.app].entityGetOne}`;return de=_(de),de=de.replace(/{entity}/gi,Z),de=de.replace(/{id}/gi,re),de},w=Z=>{let re=`${a.config.apiBaseUrl}${tt.form[a.config.app].entityGetAll}`;return re=_(re),re=re.replace(/{entity}/gi,Z),re},b=(Z,re,de)=>{const fe=y(Z,re);return l.get(fe,de)},x=(Z,re)=>{const de=w(Z);return a.config.app==="konnect"?l.get(de).then(fe=>{const{data:{data:ue}}=fe;if(delete re.size,delete re.offset,ue.length&&Object.keys(re).length===1){const $=Object.keys(re)[0],V=ue.filter(F=>F[$]?!!F[$].toLowerCase().includes(re[$].toLowerCase()):!1);fe.data.data=V}return fe}):l.get(de,{params:re})},N=(Z,re,de)=>{const fe=w(Z);if(a.config.app==="konnect"){const{size:ue,offset:$,...V}=re;if(Z==="consumer_groups")return l.get(fe,{params:{size:1e3},signal:de}).then(R=>{const{data:{data:te}}=R;if(te.length&&Object.keys(V).length===1){const G=Object.keys(V)[0],ie=te.filter(j=>j[G]?!!j[G].toLowerCase().includes(V[G].toLowerCase()):!1);R.data.data=ie}return R});const F={size:ue,offset:$};for(const R of Object.keys(V))F.filter={[R]:{contains:V[R]}};return l.get(fe,{params:F,signal:de})}return l.get(fe,{params:re,signal:de})},E=(Z,re=50)=>{const de=w(Z);return l.get(de,{params:{size:re}})};t.provide(Le.FORMS_API_KEY,{getOne:b,getAll:x,getAllV2:N,peek:E}),t.provide(Le.FORMS_CONFIG,a.config);const k=t.ref(""),A=t.ref(""),T=t.ref(null),I=t.ref({}),O=t.reactive({}),C=t.reactive({}),q=t.computed(()=>{var Z;return(Z=T.value)==null?void 0:Z.options}),S=t.ref(!1),K=t.ref(),U=(Z,re)=>{S.value=Z??"",K.value=re},ee=Z=>{var re;(re=K.value)==null||re.call(K,Z),S.value=!1},Y=()=>{var V,F;const Z={...a.schema},re=C,de=O,fe=Object.keys(re),ue={};if(!u(I.value))for(let R=0;R<((F=(V=I.value)==null?void 0:V.fields)==null?void 0:F.length);R++)Z[I.value.fields[R].model]=I.value.fields[R];Le.customFields.forEach(R=>{Z[R]&&(Z[R].fields.forEach(te=>{te.fields&&te.fields.forEach(G=>{Z[G.model]=G}),te.model&&(Z[te.model]=te)}),delete Z[R])}),fe.forEach(R=>{var pe;if(!Z[R]){R==="partials"&&(ue[R]=re[R]);return}const te=Z[R];let G=re[R];const ie=de[R],j=Array.isArray(G)?"array":typeof G,B=te?te.valueType:null,P=te?te.valueArrayType:null,oe=te?te.transform:null;if(G==null&&ie==null&&!te.submitWhenNull)return;if(te){if(B&&j!==B)switch(B){case"array":j==="string"&&G.length&&(G=G.split(",").map(be=>{if(be=be.trim(),P==="string")return String(be);if(P==="number")return Number(be);if(P==="boolean"){if(typeof be=="string")return be.toLowerCase()==="true"||be==="1";if(typeof be=="number")return be===1}return be})),(!G||!G.length)&&(G=te.submitWhenNull?null:[]);break;case"number":G=Number(G);break;case"boolean":j==="string"&&(G=G.toLowerCase()==="true"||G==="1"),j==="number"&&(G=G===1);break;case"string":G=G==null?"":String(G);break}else B==="array"&&(!G||!G.length?G=te.submitWhenNull?null:[]:((pe=te.inputAttributes)==null?void 0:pe.type)==="number"&&(G=G.map(be=>Number(be))));if(te.type==="array"&&te.nestedFields){const be=ae=>{Object.keys(ae).forEach(Ne=>{ae[Ne]&&typeof ae[Ne]=="object"&&!Array.isArray(ae[Ne])&&ae[Ne]!==null?be(ae[Ne]):(ae[Ne]===void 0||ae[Ne]===null||typeof ae[Ne]=="number"&&isNaN(ae[Ne])||typeof ae[Ne]=="string"&&ae[Ne].trim().length===0)&&delete ae[Ne]})};G&&typeof G=="object"&&be(G)}te.type==="object-advanced"&&te.fields&&G!==null&&(Object.entries(G).length===0?G=null:Object.keys(G).forEach(be=>{Array.isArray(G[be])||(G[be]=G[be].split(","))}))}let ne=c(R);if(te.fieldNameHasDashes){const[be,...ae]=ne.split(".").reverse();ne=[be.replace(/_/g,"-"),...ae].reverse().join(".")}if(B==="object-expand"){let be;[ne,be]=ne.split(".");let ae={};ue[ne]&&(ae=ue[ne]),ae[be]=G,G=ae}ie!==void 0&&G===""&&G!==ie?ue[ne]=B==="object"?{}:null:te.type==="checklist"&&G===""?ue[ne]=[]:G!==""&&(ue[ne]=G),ue[ne]=oe?oe(G):ue[ne],f(ne,ue)});const $=d(ue);return A.value&&Object.assign($,W.value),$},M=(Z,re={})=>{p(C,re,Z,a.editing),i("model-updated",{model:C,originalModel:O,data:Y()})},L=(Z,re)=>{var ue;const de={[re]:Z};typeof((ue=a.schema[re])==null?void 0:ue.modelTransformer)=="function"&&(de[re]=a.schema[re].modelTransformer(Z));const fe=Object.assign({},C,de);Object.assign(C,fe),i("model-updated",{model:C,originalModel:O,data:Y()})},v=Z=>{i("validity-change",Z)},D=(Z,re)=>{Object.keys(Z).forEach(de=>{var F,R;let fe=re?`${re}-${de}`:de,ue=a.schema[fe];if(!ue){const te=re?`${re}-${de.replace(/-/g,"_")}`:de.replace(/-/g,"_");(F=a.schema[te])!=null&&F.fieldNameHasDashes&&(fe=te,ue=a.schema[fe]),re&&((R=a.schema[re])==null?void 0:R.keyFromObject)===de&&(fe=re,ue=a.schema[fe])}const $=Z[de],V=typeof $;if(ue&&ue.type==="object-advanced"&&!$){C[fe]={},O[fe]={};return}if(Array.isArray($)){C[fe]=JSON.parse(JSON.stringify($)),O[fe]=JSON.parse(JSON.stringify($));return}if(V==="object"&&$&&!$.length)return D($,fe);if(V==="object"&&$&&$.length&&ue.type==="input"){C[fe]=$.join(", "),O[fe]=$.join(", ");return}C[fe]=$,O[fe]=$}),i("model-updated",{model:C,originalModel:O,data:Y()})},W=t.shallowRef(a.record),z=Z=>{W.value=Z,i("model-updated",{model:{...C,...Z},originalModel:O,data:Y()})},H=t.ref(!0),Q=()=>{var Z;if(a.record&&a.schema&&(D({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&D({consumer_id:a.record.consumer_id||a.record.consumer}),D(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&D({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&M("redis",{partials:a.record.partials}),A.value?z(a.record):D(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const re={};for(const de in a.entityMap){const fe=a.entityMap[de].id,ue=a.entityMap[de].idField,$=ue==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ue).replace("_","-"));Object.prototype.hasOwnProperty.call(C,$)&&(re[$]=fe)}D(re)}if((Z=a.entityMap.consumer)!=null&&Z.id&&a.schema&&a.credential){const re={};Object.prototype.hasOwnProperty.call(C,"consumer")&&(re.consumer=a.entityMap.consumer.id),D(re)}H.value=!1};return t.watch(H,Z=>{i("loading",Z)}),t.watch(()=>a.schema,(Z,re)=>{var fe,ue;if(g(Z||{},re||{}))return;const de=s(Z,void 0,void 0,a.engine);Object.assign(C,de.model),I.value={fields:(ue=(fe=I.value)==null?void 0:fe.fields)==null?void 0:ue.map($=>({...$,disabled:$.disabled||!1}))},Object.assign(O,JSON.parse(JSON.stringify(de.model))),A.value=a.engine?a.engine==="vfg"?void 0:ja(de.model.name,m)||"CommonForm":ja(de.model.name,m),k.value=Le.getSharedFormName(de.model.name),Q()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Z,re;T.value=s(a.schema,void 0,void 0,a.engine),Object.assign(C,((Z=T.value)==null?void 0:Z.model)||{}),I.value=((re=T.value)==null?void 0:re.schema)||{},Q()}),(Z,re)=>{var fe;const de=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",jM,[H.value?(t.openBlock(),t.createBlock(de,{key:0,type:"form"})):C.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",GM,[A.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(kg[A.value]),{key:0,"form-model":C,"form-options":q.value,"form-schema":I.value,"is-editing":e.editing,model:e.record,"on-form-change":z,"on-model-updated":L,"on-validity-change":v,schema:e.rawSchema,onGlobalAction:re[0]||(re[0]=(ue,$)=>Z.$emit("globalAction",ue,$))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Le.AUTOFILL_SLOT_NAME),fn:t.withCtx(ue=>[ue.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPickerProvider),t.mergeProps({key:0},ue,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):k.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Le.sharedForms)[k.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":C,"form-options":q.value,"form-schema":I.value,"is-editing":e.editing,"on-model-updated":L,"on-partial-toggled":M,"show-new-partial-modal":ue=>Z.$emit("showNewPartialModal",ue)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Le.AUTOFILL_SLOT_NAME),fn:t.withCtx(ue=>[ue.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPickerProvider),t.mergeProps({key:0},ue,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Le.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:C,options:q.value,schema:I.value,onModelUpdated:L,onPartialToggled:M,onRefreshModel:Y,onShowNewPartialModal:re[1]||(re[1]=ue=>Z.$emit("showNewPartialModal",ue))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",qM,t.toDisplayString(t.unref(h)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(fe=t.unref(Xt)[C.name])!=null&&fe.fieldRules&&(a.config.isNewOtelSchema||C.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(L0,{rules:t.unref(Xt)[C.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Le.AUTOFILL_SLOT_NAME),fn:t.withCtx(ue=>[ue.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPickerProvider),t.mergeProps({key:0},ue,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(zo.VaultSecretPicker),{config:a.config,setup:S.value,onCancel:re[2]||(re[2]=()=>S.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-353547ec"]]),HM={key:1},YM=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",HM,[t.renderSlot(n.$slots,"default")]))}}),WM={class:"kong-ui-entities-plugin-form-container"},XM={key:0},ZM={class:"plugin-form-actions"},JM=Se(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var ie;const o=n,r=e,i=mo.useRouter(),{i18n:{t:a}}=je.useI18n(),{customSchemas:l,typedefs:s}=je.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=je.usePluginHelpers(),{getMessageFromError:d}=ye.useErrors(),{capitalize:p}=ye.useStringHelpers(),{objectsAreEqual:u}=ye.useHelpers(),{axiosInstance:f}=ye.useAxios((ie=r.config)==null?void 0:ie.axiosRequestConfig),m=t.ref(!1),g=t.computed(()=>!!r.pluginId),h=t.computed(()=>r.pluginId?ye.EntityBaseFormType.Edit:ye.EntityBaseFormType.Create),_=t.ref(void 0),y=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),x=t.ref({}),N=t.ref(),E=t.ref();t.provide(Od,{redisType:N,redisPath:E,isEditing:g.value});const k=t.ref(!1),A=t.reactive({enabled:!0,protocols:[],tags:[]}),T=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),I=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&I.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const O=t.ref(""),C=t.computed(()=>{var B;if(w.value){let P=tt.form[r.config.app].credential[h.value];return P=P.replace(/{resourceEndpoint}/gi,U.value),P}let j;return r.config.entityType&&r.config.entityId?j=tt.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):j=tt.form[r.config.app].edit.all,r.config.app==="konnect"&&((B=Xt[r.pluginType])!=null&&B.useUIData)?`${j}?__ui_data=true`:j}),q=()=>{m.value=!m.value},S=t.computed(()=>{var pe,be,ae,Ne,Oe,me,ge,ze;const j=r.config.entityType==="consumers"&&r.config.entityId||((be=(pe=b.value)==null?void 0:pe.consumer)==null?void 0:be.id),B=r.config.entityType==="consumer_groups"&&r.config.entityId||((Ne=(ae=b.value)==null?void 0:ae.consumer_group)==null?void 0:Ne.id),P=r.config.entityType==="services"&&r.config.entityId||((me=(Oe=b.value)==null?void 0:Oe.service)==null?void 0:me.id),oe=r.config.entityType==="routes"&&r.config.entityId||((ze=(ge=b.value)==null?void 0:ge.route)==null?void 0:ze.id);if(!(j||B||P||oe))return{global:{entity:X.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const ne={};return P&&(ne.service={entity:X.PluginScope.SERVICE,entityEndpoint:"services",id:P,idField:Rn.SERVICE}),oe&&(ne.route={entity:X.PluginScope.ROUTE,entityEndpoint:"routes",id:oe,idField:Rn.ROUTE}),j&&(ne.consumer={entity:X.PluginScope.CONSUMER,entityEndpoint:"consumers",id:j,idField:Rn.CONSUMER}),B&&(ne.consumer_group={entity:X.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:B,idField:Rn.CONSUMER_GROUP}),r.config.entityType&&(ne.focusedEntity={entity:X.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:Rn[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),ne}),K=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||h.value===ye.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),U=t.computed(()=>{var P;const j=r.developer?"developers":"consumers",B=((P=yo[r.pluginType])==null?void 0:P.endpoint)||"/plugins";return`${j}/${r.config.entityId}${r.developer?"/credentials":""}${B}`}),ee=j=>{const B=Array.from(new Set(j.map(P=>typeof P)));return B.length>1?"string":B[0]},Y=(j,B,P,oe)=>{var ae,Ne;let ne=B&&B.fields||[];const pe=l[r.pluginType],be=(Ne=(ae=yo[r.pluginType])==null?void 0:ae.schema)==null?void 0:Ne.fields;return Array.isArray(ne)&&(ne=ne.reduce((Oe,me)=>{const ge=Object.keys(me)[0];return ge.match(/-/g)?Oe[ge.replace(/-/g,"_")]={...me[ge],fieldNameHasDashes:!0}:Oe[ge]=me[ge],Oe},{})),Object.keys(ne).sort().forEach(Oe=>{var an,Bn,Vn,ft,Xe,_t,kt;const me=ne[Oe];me.type==="set"&&(me.type="array");const ge=j?`${j}-${Oe}`:`${Oe}`;if((an=pe==null?void 0:pe.fieldsToDelete)!=null&&an.includes(ge)){ud(P,ge);return}if(Object.prototype.hasOwnProperty.call(me,"overwrite")||me.hidden)return;if(me.type==="table")return Y(ge,me.schema,P);if(me.fields)return oe&&me.type==="record"?(P[ge]={type:"object",model:Oe,schema:{fields:Object.values(Y(ge,me,{},!0))}},P):Y(ge,me,P);if(P[ge]={id:ge,model:Oe},P[ge].type=me.type==="boolean"?"checkbox":"input",P[ge].required=me.required,P[ge].referenceable=me.referenceable,ge.startsWith("config-"))if(!oe&&me.type==="array"&&(O.value=ge),oe&&O.value&&ge.startsWith(O.value)){const Be=ge.slice(O.value.length+1);P[ge].label=Be.split("-").map(c).join(".")}else P[ge].label=c(ge);if((j==="config"||j.startsWith("config-"))&&(Bn=ne[Oe])!=null&&Bn.description&&(P[ge].help=Fr.marked.parse(ne[Oe].description,{mangle:!1,headerIds:!1})),me.type==="map"){if(P[ge].type="object-advanced",P[ge].values=me.values,me.values.type==="array"){const{type:Be}=me.values.elements||{};P[ge].schema={fields:[{schema:{fields:[{...Re,model:ge,valueArrayType:Be==="integer"?"number":Be||"string",inputAttributes:{...Re.inputAttributes,type:Be==="integer"?"number":"text",inputMode:Be==="integer"?"numeric":"text"}}]}}]}}else me.values.fields&&(P[ge].schema={fields:[{type:"object",model:"object",schema:{fields:me.values.fields.map(Be=>{const se=Object.keys(Be)[0];return{model:se,type:"input",label:p(se),placeholder:se,inputType:Be[se].type}})}}]});return P}if(me.enum&&me.type==="array"&&(P[ge].type="checklist",P[ge].values=me.enum,P[ge].multi=!0,P[ge].multiSelect=!0),me.one_of&&me.type!=="array"&&(P[ge].type="select",P[ge].values=me.one_of,P[ge].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),me.elements&&me.type==="array"){const Be=me.elements;if(P[ge].referenceable=Be.referenceable,P[ge].elements=Be,["string","integer","number"].includes(Be.type)&&!Be.one_of){const{id:se,help:we,label:ce,hint:he,values:ke,referenceable:Ae,model:Pe}=P[ge],{inputAttributes:Fe,...Ze}=JSON.parse(JSON.stringify(Re));Fe.type=Be.type==="string"?"text":"number",P[ge]={id:se,help:we,label:ce,hint:he,values:ke,referenceable:Ae,model:Pe,inputAttributes:Fe,...Ze}}}if(me.hint&&(P[ge].hint=me.hint),pe&&!pe.overwriteDefault&&Object.keys(pe).forEach(Be=>{if(Be===ge){const{help:se,label:we,hint:ce,values:he,referenceable:ke,elements:Ae}=P[ge],{help:Pe,...Fe}=pe[Be];P[ge]={help:se,label:we,hint:ce,values:he,referenceable:ke,elements:Ae,...Fe},typeof Pe=="string"&&(P[ge].help=Fr.marked.parse(Pe,{mangle:!1,headerIds:!1}))}}),me.type==="array"&&((Vn=me.elements)==null?void 0:Vn.type)==="record"&&Array.isArray(me.elements.fields)){let Be={};for(const we of me.elements.fields)Be={...Be,...we};const se=(_t=(Xe=(ft=P[ge])==null?void 0:ft.items)==null?void 0:Xe.schema)==null?void 0:_t.fields;if(Array.isArray(se))for(const we of P[ge].items.schema.fields){const ce=(kt=Be[we.model])==null?void 0:kt.description;we.help===void 0&&typeof ce=="string"&&(we.help=Fr.marked.parse(ce,{mangle:!1,headerIds:!1}))}if(se||(P[ge].type="array",P[ge].newElementButtonLabelClasses="kong-form-new-element-button-label",P[ge].fieldClasses="array-card-container-wrapper",P[ge].itemContainerComponent="FieldArrayCardContainer",P[ge].items={type:"object",schema:{fields:Object.values(Y(ge,me.elements,{},!0))}},P[ge].items.schema.fields.forEach(we=>{var ce,he;for(const ke of me.elements.fields){const Ae=Object.keys(ke)[0],Pe=((he=(ce=we.id)==null?void 0:ce.split)==null?void 0:he.call(ce,"-"))??[];if(Pe[Pe.length-1]===Ae){we.model=Ae,we.label=c(Ae);break}}}),me.elements.type==="record"&&(P[ge].nestedFields=!0)),!P[ge].nestedFields)P[ge].items.default=()=>me.elements.fields.reduce((we,ce)=>{const he=Object.keys(ce)[0];return we[he]=ce[he].default,we},{});else{const we=(ce,he)=>{if(ce.type==="object"){ce.model&&(he[ce.model]={});for(const ke of ce.schema.fields)we(ke,ce.model?he[ce.model]:he)}else ce.model&&(he[ce.model]=ce.default)};P[ge].items.default=()=>{const ce={};return we(P[ge].items,ce),ce}}}if(w.value&&be){for(let Be=0;Be<be.length;Be++)if(be[Be][ge]){P[ge]={...P[ge],...be[Be][ge]};break}}if(me.required&&me.type!=="boolean"&&(P[ge].required=!0,P[ge].selectOptions={hideNoneSelectedText:!0}),me.required&&me.type==="boolean"&&(P[ge].default=me.default??!1),me.default!=null&&typeof me.default!="object"&&me.default!=="function"&&(P[ge].default=me.default),P[ge].type==="input"){["string","number"].includes(typeof P[ge].default)&&r.config.app==="konnect"&&(P[ge].placeholder=`Default: ${P[ge].default===""?"<empty string>":P[ge].default}`);const{type:Be}=me.elements||{};Be&&(P[ge].valueArrayType=Be==="integer"?"number":Be),P[ge].inputType=me.type==="array"||me.type==="string"?me.encrypted?"password":"text":me.type}let ze="string";me.enum?ze=ee(me.enum):me.type==="boolean"?ze="boolean":me.type==="number"||me.type==="integer"?(ze="number",P[ge].inputType="number"):me.type==="array"?(ze="array",P[ge].default=me.default,me.len_min>0&&(P[ge].submitWhenNull=!0)):me.type==="foreign"?ze="object":me.default&&Array.isArray(me.default)?(ze="array",P[ge].valueArrayType=ee(me.default)):me.default&&(ze=typeof me.default),P[ge].valueType=ze,me.fieldNameHasDashes&&(P[ge].fieldNameHasDashes=!0)}),P},M=()=>{var ge,ze,an,Bn,Vn,ft,Xe,_t,kt,Be,se,we;const j=((ge=Xt[r.pluginType])==null?void 0:ge.scope.includes(X.PluginScope.SERVICE))??!0,B=((ze=Xt[r.pluginType])==null?void 0:ze.scope.includes(X.PluginScope.ROUTE))??!0,P=((an=Xt[r.pluginType])==null?void 0:an.scope.includes(X.PluginScope.CONSUMER))??!0,oe=r.config.disableConsumerGroupScope?!1:((Bn=Xt[r.pluginType])==null?void 0:Bn.scope.includes(X.PluginScope.CONSUMER_GROUP))??!0,ne=r.config.entityType==="consumers"&&!!r.config.entityId||!!((ft=(Vn=b.value)==null?void 0:Vn.consumer)!=null&&ft.id),pe=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((_t=(Xe=b.value)==null?void 0:Xe.consumer_group)!=null&&_t.id),be=r.config.entityType==="services"&&!!r.config.entityId||!!((Be=(kt=b.value)==null?void 0:kt.service)!=null&&Be.id),ae=r.config.entityType==="routes"&&!!r.config.entityId||!!((we=(se=b.value)==null?void 0:se.route)!=null&&we.id),Ne=[],Oe=(ce,he,ke)=>ce?a("plugins.form.disable_source_scope_change",{scope:ke}):he?a("plugins.form.disable_data_retrieving",{scope:ke}):"",me=ce=>{var he,ke;return((ke=(he=r.scopedEntitiesPermissions)==null?void 0:he[ce])==null?void 0:ke.canRetrieve)===!1};if(j){const ce=me("service"),he="services",ke=be&&r.disableScopeSelection;Ne.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:he,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:ke||ce,disabledTooltip:Oe(ke,ce,he)})}if(B){const ce=me("route"),he="routes",ke=ae&&r.disableScopeSelection;Ne.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:he,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:ke||ce,disabledTooltip:Oe(ke,ce,he)})}if(P){const ce=me("consumer"),he="consumers",ke=ne&&r.disableScopeSelection;Ne.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:he,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:ke||ce,disabledTooltip:Oe(ke,ce,he)})}if(oe){const ce=me("consumer_group"),he="consumer_groups",ke=pe&&r.disableScopeSelection;Ne.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:he,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:ke||ce,disabledTooltip:Oe(ke,ce,he)})}if(Ne.length){const ce=[...j?["service"]:[],...B?["route"]:[],...P?["consumer"]:[],...oe?["consumer_group"]:[]],ke=ce.splice(ce.length-2,2).map(Pe=>a(Pe==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Pe}.plural`)).join(`${ce.length>0?",":""} and/or `),Ae=["Specific",[...ce.length>0?[ce.map(Pe=>a(Pe==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Pe}.plural`)).join(", ")]:[],ke].join(", ")].join(" ");K.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Ae,fields:[]}),K.selectionGroup.fields[1].fields=Ne}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(K,l[r.pluginType].formSchema)},L=t.computed(()=>!u(T.fields,A,!0)),v=t.computed(()=>!te.value&&!k.value&&(h.value===ye.EntityBaseFormType.Create||L.value)),D=t.ref(!1),W=t.ref(),z=j=>{r.credential&&j.password&&(j.password=""),T.fields.id=(j==null?void 0:j.id)||void 0,W.value=j==null?void 0:j.ordering,Object.assign(A,T.fields),b.value=j,D.value=!0},H=t.ref({}),Q=j=>{var B;T.fields=j.model,T.fields.id=((B=b.value)==null?void 0:B.id)||void 0,Object.assign(A,j.originalModel),H.value=j.data,r.isWizardStep&&o("model-updated",{model:T.fields,data:j.data,resourceEndpoint:U.value})},le=t.ref(new Map),_e=t.computed(()=>[T.clientErrorMessage,T.serverErrorMessage].filter(Boolean).join("; ")),Z=j=>{j.valid?le.value.delete(j.model):le.value.set(j.model,j.error),T.clientErrorMessage=[...le.value.entries()].map(([B,P])=>`${B}: ${typeof P=="string"?P:d(P)}`).join("; "),T.clientErrorMessage&&(T.serverErrorMessage="")};t.watch([S,D],(j,B)=>{const P=j[0]!==B[0],oe=j[1],ne=B[1];if(!w.value&&h.value===ye.EntityBaseFormType.Edit&&(P||oe&&oe!==ne)){const pe=Y("config",x.value,K);fe.value&&(pe._isCustomPlugin=!0),N.value&&(pe._supported_redis_partial_type=N.value),y.value=pe}},{deep:!0});const re=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},de=t.computed(()=>{const j=r.config.entityType&&r.config.entityId&&!r.developer,B=w.value?tt.form[r.config.app].credential[h.value]:tt.form[r.config.app][h.value][j?"forEntity":"all"];let P=`${r.config.apiBaseUrl}${B}`;return r.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),P=P.replace(/{resourceEndpoint}/gi,U.value),P=P.replace(/{id}/gi,r.pluginId),P=P.replace(/{entityType}/gi,r.config.entityType||""),P=P.replace(/{entityId}/gi,r.config.entityId||""),P}),fe=t.computed(()=>!Object.keys(Xt).includes(r.pluginType)),ue=t.computed(()=>{const j=H.value;if(w.value){for(const B in X.PluginScope){const P=X.PluginScope[B];j[P]&&!j[P].id&&(j[P]={id:r.config.entityId})}delete j.created_at}return H.value.partials&&E.value&&ud(j,E.value),j}),$=t.computed(()=>{const{__ui_data:j,...B}={...ue.value};return B}),V=async()=>{if(!T.clientErrorMessage&&!r.isWizardStep)try{T.isReadonly=!0;let j;const B=JSON.parse(JSON.stringify(ue.value)),P=l[r.pluginType];typeof(P==null?void 0:P.shamefullyTransformPayload)=="function"&&P.shamefullyTransformPayload({originalModel:A,model:T.fields,payload:B,schema:y.value}),h.value==="create"?j=await f.post(de.value,B):h.value==="edit"&&(j=r.config.app==="konnect"||N.value&&B.partials?await f.put(de.value,Object.assign({ordering:W.value},B)):await f.patch(de.value,B)),Object.assign(A,T.fields),o("update",j==null?void 0:j.data)}catch(j){T.serverErrorMessage=d(j),o("error",j)}finally{T.isReadonly=!1}},F=t.computed(()=>{var oe;const j=w.value?(oe=yo[r.pluginType])==null?void 0:oe.schemaEndpoint:r.pluginType,B=w.value?tt.form[r.config.app].credentialSchema:tt.form[r.config.app].pluginSchema;let P=`${r.config.apiBaseUrl}${B}`;return r.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),P=P.replace(/{plugin}/gi,j),P}),R=t.ref(""),te=t.ref(!1),G=t.ref("");return t.onBeforeMount(async()=>{var j,B,P,oe;te.value=!0;try{if(w.value&&r.config.app==="konnect"){const ne=(j=yo[r.pluginType])==null?void 0:j.schemaEndpoint,pe=Fg[ne];R.value=ne,y.value=Y("",pe,{}),te.value=!1}else{const ne=r.schema??(await f.get(F.value)).data;if(_.value=ne,ne)if(w.value)y.value=Y("",ne,{}),te.value=!1;else{const pe=ne.fields.find(ae=>ae.config);x.value=pe?pe.config:ne,ne.supported_partials&&(N.value=Object.keys(ne.supported_partials).find(ae=>[Ur.REDIS_CE,Ur.REDIS_EE].includes(ae)),E.value=(B=ne.supported_partials[N.value])==null?void 0:B[0]),M();const be=(P=ne.fields.find(ae=>ae.protocols))==null?void 0:P.protocols;if(be){const{default:ae=[],elements:Ne={}}=be;K.protocols.default=ae,K.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ae.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(oe=Ne.one_of)!=null&&oe.length&&(K.protocols.values=Ne.one_of.map(Oe=>({label:Oe,value:Oe})))}if(D.value||h.value===ye.EntityBaseFormType.Create){const ae=Y("config",x.value,K);N.value&&(ae._supported_redis_partial_type=N.value),fe.value&&(ae._isCustomPlugin=!0),y.value=ae}}}}catch(ne){console.error(ne),G.value=d(ne),o("error:fetch-schema",ne)}finally{te.value=!1}}),(j,B)=>{const P=t.resolveComponent("KSkeleton"),oe=t.resolveComponent("KEmptyState"),ne=t.resolveComponent("KButton"),pe=t.resolveComponent("KTabs"),be=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",WM,[te.value?(t.openBlock(),t.createBlock(P,{key:0,type:"form"})):G.value?(t.openBlock(),t.createBlock(oe,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ye.EntityBaseForm),{key:2,"can-submit":v.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(ye.SupportedEntityType).Plugin,"error-message":_e.value,"fetch-url":C.value,"form-fields":ue.value,"is-readonly":T.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:re,"onFetch:error":B[4]||(B[4]=ae=>j.$emit("error",ae)),"onFetch:success":z,onLoading:B[5]||(B[5]=ae=>j.$emit("loading",ae))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",XM)):(t.openBlock(),t.createBlock(YM,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",ZM,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ne,{key:0,appearance:"tertiary","data-testid":`plugin-${g.value?"edit":"create"}-form-view-configuration`,onClick:B[3]||(B[3]=ae=>q())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(ne,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${g.value?"edit":"create"}-form-cancel`,disabled:T.isReadonly,onClick:re},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(ne,{appearance:"primary","data-testid":`plugin-${g.value?"edit":"create"}-form-submit`,disabled:!v.value||T.isReadonly,type:"submit",onClick:V},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:V},null,32),t.createVNode(zM,{config:e.config,credential:w.value,editing:h.value===t.unref(ye.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":S.value,"raw-schema":_.value,record:b.value,schema:y.value,onGlobalAction:B[0]||(B[0]=(ae,Ne)=>j.$emit("globalAction",ae,Ne)),onLoading:B[1]||(B[1]=ae=>k.value=ae),onModelUpdated:Q,onShowNewPartialModal:B[2]||(B[2]=ae=>j.$emit("showNewPartialModal",ae)),onValidityChange:Z},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(be,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:q},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(pe,{"data-testid":"form-view-configuration-slideout-tabs",tabs:I.value},{json:t.withCtx(()=>[t.createVNode(t.unref(ye.JsonCodeBlock),{config:e.config,"entity-record":$.value,"fetcher-url":de.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(ye.YamlCodeBlock),{"entity-record":$.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(ye.TerraformCodeBlock),{"credential-type":R.value,"entity-record":$.value,"entity-type":t.unref(ye.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-b9713619"]]),QM={class:"kong-ui-entities-plugins-list"},e2={class:"button-row"},t2={class:"name-cell-wrapper"},n2={class:"info-wrapper"},o2={key:0,class:"info-name"},r2={key:1,class:"info-name"},i2={key:2,class:"info-type"},a2={key:1},l2=Se(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var R,te;const o=je.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=je.useI18n(),l=mo.useRouter(),{axiosInstance:s}=ye.useAxios((R=i.config)==null?void 0:R.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=ye.useTableState(()=>b.value),p=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),f=t.computed(()=>{var G;return((G=i.config)==null?void 0:G.entityType)==="consumers"}),m=t.computed(()=>{var G;return((G=i.config)==null?void 0:G.entityType)==="consumer_groups"}),g=i.config.app==="konnect"||ye.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),h=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),_={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(te=i.config)!=null&&te.entityId||(_.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),_.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},g&&(_.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),_.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const y=_,w=t.computed(()=>{var ie,j,B,P;let G=i.config.entityType?`${i.config.apiBaseUrl}${tt.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${tt.list[i.config.app].all}`;return i.config.app==="konnect"?G=G.replace(/{controlPlaneId}/gi,((ie=i.config)==null?void 0:ie.controlPlaneId)||""):i.config.app==="kongManager"&&(G=G.replace(/\/{workspace}/gi,(j=i.config)!=null&&j.workspace?`/${i.config.workspace}`:"")),G.replace(/{entityType}/gi,((B=i.config)==null?void 0:B.entityType)||"").replace(/{entityId}/gi,((P=i.config)==null?void 0:P.entityId)||"")}),b=t.ref(""),x=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:_.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{..._.enabled,label:a("search.filter.field.enabled")},name:_.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:N,fetcherState:E,fetcherCacheKey:k}=ye.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),A=()=>{b.value=""},T=()=>{k.value++},I=t.ref(null),O=G=>{var j,B,P,oe;const ie=[];return((j=G.route)!=null&&j.id||G.route_id)&&ie.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((B=G.service)!=null&&B.id||G.service_id)&&ie.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((P=G.consumer)!=null&&P.id||G.consumer_id)&&ie.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((oe=G.consumer_group)!=null&&oe.id||G.consumer_group_id)&&ie.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),ie.length?ie:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},C=async(G,ie)=>{var j;return G===null?!1:await((j=i.canRetrieveScopedEntity)==null?void 0:j.call(i,G,ie.id))},q=(G,ie)=>{var B,P,oe,ne,pe;let j=null;switch(G){case"route":j=(B=ie.route)==null?void 0:B.id;break;case"service":j=(P=ie.service)==null?void 0:P.id;break;case"consumer":j=(oe=ie.consumer)==null?void 0:oe.id;break;case"consumer_group":j=(ne=ie.consumer_group)==null?void 0:ne.id;break}j&&((pe=i.config)!=null&&pe.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(G,j))},S=t.ref(!1),K=t.ref(null),U=t.computed(()=>{const G={action:"disable",id:"",name:""};if(K.value){const{enabled:ie,id:j,name:B}=K.value;G.action=ie?"disable":"enable",G.id=j,G.name=o.getDisplayName(B)||j}return G}),ee=G=>{S.value=!0,K.value=G},Y=()=>{S.value=!1,K.value=null},M=async()=>{var B,P,oe,ne,pe,be,ae,Ne;if(!await((B=i.canEdit)==null?void 0:B.call(i,K.value))||!K.value)return;let ie=`${i.config.apiBaseUrl}${(pe=tt.item[i.config.app])==null?void 0:pe[(P=i.config)!=null&&P.entityType?"forEntity":"all"].replace(/{entityType}/gi,((oe=i.config)==null?void 0:oe.entityType)||"").replace(/{entityId}/gi,((ne=i.config)==null?void 0:ne.entityId)||"")}`.replace(/{id}/gi,K.value.id||"");i.config.app==="konnect"?ie=ie.replace(/{controlPlaneId}/gi,((be=i.config)==null?void 0:be.controlPlaneId)||""):i.config.app==="kongManager"&&(ie=ie.replace(/\/{workspace}/gi,(ae=i.config)!=null&&ae.workspace?`/${i.config.workspace}`:""));const j=!K.value.enabled;try{const Oe=(Ne=i.config)==null?void 0:Ne.app;let me;b.value&&Oe==="konnect"&&(me=await s.get(ie));const{data:ge}=Oe==="konnect"?await s.put(ie,{...(me==null?void 0:me.data)||K.value,enabled:j},{timeout:12e4}):await s.patch(ie,{...K.value,enabled:j},{timeout:12e4});r("toggle-enabled",j,ge),K.value.enabled=j}catch(Oe){r("error",Oe)}},L=async(G,ie)=>{const j=G.id;if(!await ie(j)){r("copy:error",{entity:G,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:G,field:"id",message:a("copy.success",{val:j})})},v=async(G,ie)=>{const j=JSON.stringify(G);if(!await ie(j)){r("copy:error",{entity:G,message:a("errors.copy")});return}r("copy:success",{entity:G,message:a("copy.success_brief")})},D=async G=>{var j;await((j=i.canRetrieve)==null?void 0:j.call(i,G))&&l.push(i.config.getViewRoute(G))},W=G=>({label:a("actions.view"),to:i.config.getViewRoute(G)}),z=G=>({label:a("actions.edit"),to:i.config.getEditRoute(G)}),H=G=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(G)}),Q=t.ref(void 0),le=t.ref(!1),_e=t.ref(!1),Z=t.ref(""),re=ye.useDeleteUrlBuilder(i.config,w.value),de=G=>{Q.value=G,le.value=!0},fe=()=>{le.value=!1},ue=async()=>{var G,ie,j;if((G=Q.value)!=null&&G.id){_e.value=!0;try{await s.delete(re(Q.value.id)),_e.value=!1,le.value=!1,k.value++,r("delete:success",Q.value)}catch(B){Z.value=((j=(ie=B.response)==null?void 0:ie.data)==null?void 0:j.message)||B.message||a("errors.delete"),r("error",B)}finally{_e.value=!1}}},$=()=>{l.push(i.config.createRoute)};t.watch(E,G=>{var ie,j,B;if(G.status===ye.FetcherStatus.Error){I.value={title:a("errors.general")},(B=(j=(ie=G.error)==null?void 0:ie.response)==null?void 0:j.data)!=null&&B.message&&(I.value.message=G.error.response.data.message),r("error",G.error);return}I.value=null});const V=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),F=t.ref(!1);return t.onBeforeMount(async()=>{F.value=await i.canCreate(),F.value&&(V.value.title=a("plugins.list.empty_state.title"),V.value.ctaText=a("actions.create"))}),(G,ie)=>{const j=t.resolveComponent("KButton"),B=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KBadge"),oe=t.resolveComponent("KTruncate"),ne=t.resolveComponent("KInputSwitch"),pe=t.resolveComponent("KDropdownItem"),be=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",QM,[t.createVNode(t.unref(ye.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":h.value,"empty-state-options":V.value,"enable-entity-actions":"","error-message":I.value,fetcher:t.unref(N),"fetcher-cache-key":t.unref(k),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(y),title:e.title,"title-tag":e.titleTag,onClearSearchInput:A,"onClick:row":ie[4]||(ie[4]=ae=>D(ae)),onSort:T,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(ye.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":ie[0]||(ie[0]=ae=>b.value=ae),config:x.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",e2,[!u.value&&p.value?(t.openBlock(),t.createBlock(j,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:ie[1]||(ie[1]=ae=>G.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(ye.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(j,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:ae})=>[t.createElementVNode("div",t2,[t.createVNode(t.unref(Ho.PluginIcon),{class:"plugin-icon",name:ae.name,size:24},null,8,["name"]),t.createElementVNode("div",n2,[ae.instance_name?(t.openBlock(),t.createElementBlock("span",o2,t.toDisplayString(ae.instance_name),1)):(t.openBlock(),t.createElementBlock("span",r2,t.toDisplayString(t.unref(o).getDisplayName(ae.name)),1)),ae.instance_name?(t.openBlock(),t.createElementBlock("span",i2,t.toDisplayString(t.unref(o).getDisplayName(ae.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:ae})=>[O(ae).length>0?(t.openBlock(),t.createBlock(oe,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(O(ae),Ne=>(t.openBlock(),t.createBlock(t.unref(ye.PermissionsWrapper),{key:Ne.badgeText,"auth-function":()=>C(Ne.type,ae),"force-show":""},{default:t.withCtx(({isAllowed:Oe})=>[t.createVNode(P,{class:t.normalizeClass(Oe||"disabled"),onClick:t.withModifiers(me=>Oe&&Ne.type&&q(Ne.type,ae),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Ne.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",a2,"-"))]),enabled:t.withCtx(({row:ae})=>[t.createVNode(t.unref(ye.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(ae)&&await e.canToggle(ae)),"force-show":""},{default:t.withCtx(({isAllowed:Ne})=>{var Oe,me;return[t.createElementVNode("div",{onClick:ie[3]||(ie[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ne,{disabled:!Ne,"disabled-tooltip-text":!Ne&&((me=(Oe=e.config).getToggleDisabledTooltip)==null?void 0:me.call(Oe,ae))||void 0,"model-value":ae.enabled,onClick:t.withModifiers(ge=>Ne&&ee(ae),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:ae})=>[t.createVNode(P,{appearance:t.unref(sd)(ae)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(sd)(ae)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:ae})=>[t.createVNode(t.unref(ye.TableTags),{tags:ae},null,8,["tags"])]),actions:t.withCtx(({row:ae})=>[t.createVNode(be,null,{default:t.withCtx(({copyToClipboard:Ne})=>[t.createVNode(pe,{"data-testid":"action-entity-copy-id",onClick:Oe=>L(ae,Ne)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(be,null,{default:t.withCtx(({copyToClipboard:Ne})=>[t.createVNode(pe,{"data-testid":"action-entity-copy-json",onClick:Oe=>v(ae,Ne)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(t.unref(ye.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(ae)},{default:t.withCtx(()=>[t.createVNode(pe,{"data-testid":"action-entity-view","has-divider":"",item:W(ae)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(ye.PermissionsWrapper),{"auth-function":()=>e.canEdit(ae)},{default:t.withCtx(()=>[t.createVNode(pe,{"data-testid":"action-entity-edit",item:z(ae)},null,8,["item"])]),_:2},1032,["auth-function"]),!f.value&&!m.value&&t.unref(g)?(t.openBlock(),t.createBlock(t.unref(ye.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(ae)},{default:t.withCtx(()=>[H(ae)?(t.openBlock(),t.createBlock(pe,{key:0,"data-testid":"action-entity-config-dyn-order",item:H(ae)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(ye.PermissionsWrapper),{"auth-function":()=>e.canDelete(ae)},{default:t.withCtx(()=>[t.createVNode(pe,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:Ne=>de(ae)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var ae;return[t.createVNode(B,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(xe.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[F.value?(t.openBlock(),t.createBlock(j,{key:0,"data-testid":"entity-create-button",onClick:$},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(j,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:ie[2]||(ie[2]=Ne=>G.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(ae=e.config)!=null&&ae.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(ye.EntityToggleModal),{action:U.value.action,"entity-id":U.value.id,"entity-name":U.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":M,visible:S.value,onCancel:Y,onProceed:Y},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(ye.EntityDeleteModal),{"action-pending":_e.value,description:t.unref(a)("delete.description"),"entity-name":Q.value&&(Q.value.instance_name||Q.value.name||Q.value.id),"entity-type":t.unref(ye.EntityTypes).Plugin,error:Z.value,title:t.unref(a)("delete.title"),visible:le.value,onCancel:fe,onProceed:ue},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-25799614"]]),s2={class:"plugin-select-card-wrapper"},c2=["data-testid"],d2={class:"plugin-card-header"},u2={class:"plugin-card-title"},f2={key:0,class:"plugin-card-actions"},p2=["data-testid","title"],m2={key:0,class:"plugin-card-text"},g2={key:0},h2=["title"],Rs=Se(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=mo.useRouter(),{i18n:{t:a}}=je.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!f.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},p=()=>{r.navigateOnClick?d():u()},u=()=>{o("plugin-clicked",r.plugin)},f=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===X.PluginGroup.CUSTOM_PLUGINS),g=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},h=(y,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(y,w))},_=()=>{if(!s.value&&r.config.app==="konnect"){const y=r.config;f.value&&y.createCustomRoute?i.push(y.createCustomRoute):m.value&&d()}};return(y,w)=>{const b=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),N=t.resolveComponent("KDropdownMenu"),E=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",s2,[t.createVNode(E,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=k=>s.value||m.value?void 0:p())},[t.createElementVNode("div",d2,[t.createElementVNode("div",u2,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",f2,[t.createVNode(N,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{size:t.unref(Td)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(k=>h(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(g,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:_},[t.createVNode(t.unref(Ho.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!f.value?(t.openBlock(),t.createElementBlock("div",m2,[m.value&&!f.value?(t.openBlock(),t.createElementBlock("p",g2,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,h2)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,p2),t.createElementVNode("div",{class:"plugin-card-footer",onClick:_},t.toDisplayString(f.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,c2)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),y2=Se(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var g;const o=e,r=n,{i18nT:i,i18n:{t:a}}=je.useI18n(),{getMessageFromError:l}=ye.useErrors(),{axiosInstance:s}=ye.useAxios((g=o.config)==null?void 0:g.axiosRequestConfig),c=t.computed(()=>{var h;return u.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((h=o.plugin)==null?void 0:h.name)||a("delete.custom_plugin")})}),d=t.ref(!1),p=t.ref(""),u=t.ref(!1),f=t.computed(()=>{if(o.config.app==="konnect"){const h=o.plugin.customPluginType==="streaming"?tt.select[o.config.app].streamingCustomPluginItem:tt.select[o.config.app].schemaCustomPluginItem;let _=`${o.config.apiBaseUrl}${h}`;return _=_.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),_=_.replace(/{pluginId}/gi,o.plugin.id),_}return null}),m=async()=>{var h,_,y,w;if(d.value=!0,p.value="",!(!((h=o.plugin)!=null&&h.name)||((_=o.config)==null?void 0:_.app)!=="konnect"))try{f.value&&await s.delete(f.value),r("proceed")}catch(b){const{response:x}=b;(x==null?void 0:x.status)===400&&((w=(y=x.data)==null?void 0:y.message)!=null&&w.includes("plugin schema is currently in use"))?u.value=!0:p.value=l(b)}finally{d.value=!1}};return(h,_)=>{const y=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(ye.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(ye.EntityTypes).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:_[0]||(_[0]=b=>h.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:_[2]||(_[2]=b=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(y,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:_[1]||(_[1]=b=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),_2={class:"custom-plugins-grid"},b2={class:"empty-state-title"},w2={class:"empty-state-description"},Ms=310,k2=Se(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=je.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=je.usePluginHelpers(),s=t.ref(!0),c=N=>{r("plugin-clicked",N)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const N=JSON.parse(JSON.stringify(o.pluginList))[X.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:X.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(N):N}),p=t.ref(!1),u=t.ref(null),f=N=>{p.value=!0,u.value={id:N.id,name:N.name,customPluginType:N.customPluginType}},m=N=>{var E;N&&(r("revalidate"),r("delete:success",((E=u.value)==null?void 0:E.name)||"")),p.value=!1,u.value=null},g=t.ref(Ms),h=t.ref(null),_=t.ref(null),y=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${g.value}px`}:{}),w=t.ref(!1),b=()=>{g.value=Math.max(a(_.value),Ms),x()},x=()=>{var N,E;(N=_.value)!=null&&N.length&&(w.value=l(h.value,(E=_.value)==null?void 0:E.length))};return t.onMounted(async()=>{await t.nextTick(),g.value=Math.max(a(_.value),Ms),x(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(N,E)=>{const k=t.resolveComponent("KEmptyState"),A=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",_2,[d.value.length?(t.openBlock(),t.createBlock(A,{key:1,modelValue:s.value,"onUpdate:modelValue":E[0]||(E[0]=T=>s.value=T),class:"custom-plugins-collapse","data-testid":`${t.unref(X.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(X.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:h,class:"plugin-card-container",style:t.normalizeStyle(y.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(T,I)=>(t.openBlock(),t.createBlock(Rs,{key:`plugin-card-${I}`,ref_for:!0,ref_key:"pluginCardRef",ref:_,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:T,onCustomPluginDelete:O=>f(T),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[E[2]||(E[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(k,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",b2,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",w2,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&u.value?(t.openBlock(),t.createBlock(y2,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:E[1]||(E[1]=T=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Fs=310,Cg=Se(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=je.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=je.usePluginHelpers(),c=t.ref(Fs),d=t.ref(null),p=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),f=t.ref(!1),m=()=>{c.value=Math.max(l(p.value),Fs),g()},g=()=>{var h,_;(h=p.value)!=null&&h.length&&(f.value=s(d.value,(_=p.value)==null?void 0:_.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(p.value),Fs),g(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(h,_)=>{const y=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(y,{modelValue:o.value,"onUpdate:modelValue":_[0]||(_[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(Rs,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:p,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[f.value?void 0:{name:"trigger",fn:t.withCtx(()=>[_[1]||(_[1]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),C2={class:"plugin-select-grid"},E2={class:"empty-state-title"},N2={class:"empty-state-description"},Ls=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=je.useI18n(),a=t.ref(!1),l=t.ref(qs),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[X.PluginGroup.CUSTOM_PLUGINS],d});return(d,p)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",C2,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",E2,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",N2,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Cg,{key:1,modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=f=>a.value=f),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:p[1]||(p[1]=f=>s(f))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Gs),f=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[f]?(t.openBlock(),t.createElementBlock("div",{key:f},[t.createVNode(Cg,{modelValue:l.value[f],"onUpdate:modelValue":m=>l.value[f]=m,config:e.config,name:f,"navigate-on-click":e.navigateOnClick,plugins:c.value[f]||[],onPluginClicked:p[2]||(p[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),x2={class:"kong-ui-entities-plugin-select-form"},S2={class:"plugins-filter-input-container"},v2={key:0},A2={key:3,"aria-live":"polite",class:"plugins-results-container"},I2={"data-testid":"kong-tab"},T2={class:"tab-description"},P2={"data-testid":"custom-tab"},O2={class:"tab-description"},$2=Se(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var L;const o=e,r=n,i=mo.useRoute(),a=mo.useRouter(),{i18n:{t:l}}=je.useI18n(),{pluginMetaData:s}=je.usePluginMetaData(),{getMessageFromError:c}=ye.useErrors(),{sortAlpha:d,objectsAreEqual:p}=ye.useHelpers(),u=t.ref(""),f=t.ref(!0),m=t.ref(!1),g=t.ref(""),h=t.ref([]),_=t.ref([]),y=t.ref({}),w=t.ref([]),{axiosInstance:b}=ye.useAxios((L=o.config)==null?void 0:L.axiosRequestConfig),x=t.computed(()=>y.value?Object.entries(y.value).filter(([v])=>v!==X.PluginGroup.CUSTOM_PLUGINS).reduce((v,[,D])=>{for(const W of D)v[W.id]=W;return v},{}):{}),N=t.computed(()=>{var W;if(!y.value)return{};const v=u.value.toLowerCase(),D=JSON.parse(JSON.stringify(y.value));for(const z in y.value){const H=((W=y.value[z])==null?void 0:W.filter(Q=>Q.name.toLowerCase().includes(v)||Q.id.toLowerCase().includes(v)||Q.group.toLowerCase().includes(v)))||[];H.length?D[z]=H:delete D[z]}return D}),E=t.computed(()=>o.highlightedPluginIds.reduce((v,D)=>{const W=x.value[D];return W&&v.push(W),v},[])),k=t.computed(()=>Object.keys(N.value).length>0),A=t.computed(()=>Object.keys(y.value).length>0&&!k.value),T=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),I=t.computed(()=>{var D;let v=T.value.length&&((i==null?void 0:i.hash)||((D=T.value[0])==null?void 0:D.hash))||"";return v==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(v="#kong"),v}),O=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...h.value])].filter(v=>!o.ignoredPlugins.includes(v)).filter(v=>o.config.entityType&&(o.config.entityType==="services"&&s[v]&&!s[v].scope.includes(X.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[v]&&!s[v].scope.includes(X.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[v]&&!s[v].scope.includes(X.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[v]&&!s[v].scope.includes(X.PluginScope.CONSUMER))?!1:v).reduce((v,D)=>{var le;const W=s[D]&&s[D].name||D,z={...s[D],id:D,name:W,available:h.value.includes(D),disabledMessage:"",group:((le=s[D])==null?void 0:le.group)||X.PluginGroup.CUSTOM_PLUGINS};z.group===X.PluginGroup.CUSTOM_PLUGINS&&(z.customPluginType=_.value.find(_e=>_e.name===D)?"streaming":"schema"),o.disabledPlugins&&(z.disabledMessage=o.disabledPlugins[D]);const H=z.group||l("plugins.select.misc_plugins");let Q=v[H];return Q||(Q=[]),Q.push(z),Q.sort(d("name")),v[H]=Q,v},{}),C=t.computed(()=>{var D;let v=`${o.config.apiBaseUrl}${tt.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(v=((D=o.config.gatewayInfo)==null?void 0:D.edition)==="community"?`${o.config.apiBaseUrl}${tt.select[o.config.app].availablePluginsForOss}`:v.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),v}),q=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let v=`${o.config.apiBaseUrl}${tt.select[o.config.app].streamingCustomPlugins}`;return v=v.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),v}return null}),S=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let v=`${o.config.apiBaseUrl}${tt.list[o.config.app].forEntity}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),v.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),K=v=>{a.replace({hash:v,query:i.query})};t.watch(()=>o.disabledPlugins,(v,D)=>{!p(v,D)&&!f.value&&(y.value=O())}),t.watch(()=>o.ignoredPlugins,(v,D)=>{!p(v,D)&&!f.value&&(y.value=O())}),t.watch(f,v=>{r("loading",v)});const U=t.ref(!1),ee=t.ref(!1),Y=t.ref(!1);t.onBeforeMount(async()=>{U.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),Y.value=await o.canDeleteCustomPlugin()});const M=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var v,D;(D=(v=M.value)==null?void 0:v.input)==null||D.focus();try{const{data:W}=await b.get(C.value);if(o.config.app==="konnect"){const{names:z}=W;if(h.value=z||[],q.value){const{data:H}=await b.get(q.value);_.value=H.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:z}}=W;h.value=z?Object.keys(z):[]}}catch(W){m.value=!0,g.value=c(W)}if(S.value)try{const{data:{data:W}}=await b.get(S.value);if(W!=null&&W.length){const z=W.reduce((H,Q)=>(Q.name&&H.push(Q.name),H),[]);w.value=w.value.concat(z)}}catch{}m.value||(y.value=O()),f.value=!1}),(v,D)=>{const W=t.resolveComponent("KInput"),z=t.resolveComponent("KSkeletonBox"),H=t.resolveComponent("KSkeleton"),Q=t.resolveComponent("KEmptyState"),le=t.resolveComponent("KTooltip"),_e=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",x2,[t.createElementVNode("div",S2,[t.createVNode(W,{ref:"filter-input",modelValue:u.value,"onUpdate:modelValue":D[0]||(D[0]=Z=>u.value=Z),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(t.openBlock(),t.createElementBlock("section",v2,[t.createVNode(z,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(H,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(Q,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(g.value),1)]),_:1})):A.value&&u.value?(t.openBlock(),t.createBlock(Q,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",A2,[T.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(_e,{key:0,modelValue:I.value,"onUpdate:modelValue":D[5]||(D[5]=Z=>I.value=Z),"data-testid":"plugins-tabs",tabs:T.value,onChange:K},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",I2,[t.createElementVNode("p",T2,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Ls,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:D[1]||(D[1]=Z=>v.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",P2,[t.renderSlot(v.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",O2,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(k2,{"can-create-custom-plugin":U.value,"can-delete-custom-plugin":Y.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,"onDelete:success":D[2]||(D[2]=Z=>v.$emit("delete-custom:success",Z)),onPluginClicked:D[3]||(D[3]=Z=>v.$emit("plugin-clicked",Z)),onRevalidate:D[4]||(D[4]=()=>y.value=O())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(le,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Ls,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:D[6]||(D[6]=Z=>v.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),B2={class:"datakit-config-card-canvas"},V2={class:"config-card-details-label","data-testid":"datakit-configuration-label"},D2={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},R2={class:"canvas-wrapper"},M2=Se(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return ef(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",B2,[t.createElementVNode("div",V2,[t.createVNode(r,null,{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),t.createElementVNode("div",D2,[t.createElementVNode("div",R2,[t.createVNode(Os,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),F2={class:"kong-ui-entity-plugin-config-card"},L2={class:"name-cell-wrapper"},U2={class:"info-name"},K2={key:0},j2={key:0},G2={key:0},q2={key:0},z2={key:0},Us="config",H2=Se(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var E;const o=n,r=e,{i18n:{t:i}}=je.useI18n(),a=je.usePluginMetaData(),{setFieldType:l}=je.usePluginHelpers(),{getPropValue:s}=ye.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),d=t.computed(()=>c.value&&r.config.pluginType==="datakit"),p=t.computed(()=>{var A;let k=(A=tt.item[r.config.app])==null?void 0:A[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const T=r.expandPartial?"&":"?";k=k.concat(`${T}__ui_data=true`)}return k}),u=t.computed(()=>{var T,I;const k={},A=((T=b.value)==null?void 0:T.fields)||[];for(let O=0;O<A.length;O++){const C=b.value.fields[O],q=(I=Object.keys(C))==null?void 0:I[0];l(k,q,C[q])}return{...k,instance_name:{section:ye.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:ye.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:ye.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:ye.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:ye.ConfigurationSchemaSection.Basic,order:6},protocols:{type:ye.ConfigurationSchemaType.BadgeTag,section:ye.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>{var A,T,I;if(!((A=b.value)!=null&&A.fields))return[];const k=(T=b.value.fields)==null?void 0:T.find(O=>{var q;return((q=Object.keys(O))==null?void 0:q[0])===Us});return((I=k==null?void 0:k[Us])==null?void 0:I.fields)||[]}),m=t.computed(()=>{var A,T;const k={};if(!f.value)return k;for(let I=0;I<((A=f.value)==null?void 0:A.length);I++){const O=f.value[I],C=(T=Object.keys(O))==null?void 0:T[0],q=O[C];q.required&&(k[C]={order:1}),l(k,C,q)}return k}),g=k=>{var T;const A=(T=a.pluginMetaData[r.config.pluginType])==null?void 0:T.scope;return A?Object.fromEntries(Object.entries(k).filter(([I,O])=>O?!0:!(I==="service"&&!A.includes(X.PluginScope.SERVICE)||I==="route"&&!A.includes(X.PluginScope.ROUTE)||I==="consumer"&&!A.includes(X.PluginScope.CONSUMER)||I==="consumer_group"&&!A.includes(X.PluginScope.CONSUMER_GROUP)))):k},h=k=>qn(k,"__ui_data"),{getMessageFromError:_}=ye.useErrors(),{axiosInstance:y}=ye.useAxios((E=r.config)==null?void 0:E.axiosRequestConfig),w=t.computed(()=>{var A,T;let k=`${r.config.apiBaseUrl}${tt.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((A=r.config)==null?void 0:A.controlPlaneId)||""):r.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(T=r.config)!=null&&T.workspace?`/${r.config.workspace}`:"")),k=k.replace(/{plugin}/gi,r.config.pluginType),k}),b=t.ref({});ye.useSchemaProvider(b);const x=t.ref(!1),N=t.ref("");return t.onBeforeMount(async()=>{x.value=!0;try{const{data:k}=await y.get(w.value);b.value=k}catch(k){N.value=_(k),o("error:fetch-schema",k)}finally{x.value=!1}}),(k,A)=>{const T=t.resolveComponent("KSkeleton"),I=t.resolveComponent("KEmptyState"),O=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",F2,[x.value?(t.openBlock(),t.createBlock(T,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):N.value?(t.openBlock(),t.createBlock(I,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(N.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ye.EntityBaseConfigCard),{key:2,"code-block-record-formatter":h,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(ye.SupportedEntityType).Plugin,"fetch-url":p.value,"hide-title":e.hideTitle,"plugin-config-key":Us,"plugin-config-schema":m.value,"record-resolver":g,"onFetch:error":A[0]||(A[0]=C=>k.$emit("fetch:error",C)),"onFetch:success":A[1]||(A[1]=C=>k.$emit("fetch:success",C)),onLoading:A[2]||(A[2]=C=>k.$emit("loading",C))},t.createSlots({name:t.withCtx(C=>[t.createElementVNode("div",L2,[t.createVNode(t.unref(Ho.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",C),size:24},null,8,["name"]),t.createElementVNode("span",U2,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",C))),1)])]),consumer:t.withCtx(C=>[t.unref(s)("rowValue",C)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ye.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",C).id,value:t.unref(s)("rowValue",C).id,type:t.unref(ye.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>k.$emit("navigation-click",t.unref(s)("rowValue",C).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",C).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",C).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",K2,"–"))]),route:t.withCtx(C=>[t.unref(s)("rowValue",C)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ye.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",C).id,value:t.unref(s)("rowValue",C).id,type:t.unref(ye.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>k.$emit("navigation-click",t.unref(s)("rowValue",C).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",C).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",C).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",j2,"–"))]),service:t.withCtx(C=>[t.unref(s)("rowValue",C)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ye.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",C).id,value:t.unref(s)("rowValue",C).id,type:t.unref(ye.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>k.$emit("navigation-click",t.unref(s)("rowValue",C).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",C).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",C).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",G2,"–"))]),consumer_group:t.withCtx(C=>[t.unref(s)("rowValue",C)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ye.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",C).id,value:t.unref(s)("rowValue",C).id,type:t.unref(ye.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>k.$emit("navigation-click",t.unref(s)("rowValue",C).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",C).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",C).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",q2,"–"))]),partials:t.withCtx(C=>{var q,S,K,U,ee,Y,M,L,v;return[t.unref(s)("rowValue",C)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ye.InternalLinkItem),{key:1,item:{key:(S=(q=t.unref(s)("rowValue",C))==null?void 0:q[0])==null?void 0:S.id,value:((U=(K=t.unref(s)("rowValue",C))==null?void 0:K[0])==null?void 0:U.id)+((Y=(ee=t.unref(s)("rowValue",C))==null?void 0:ee[0])!=null&&Y.name?"/"+((L=(M=t.unref(s)("rowValue",C))==null?void 0:M[0])==null?void 0:L.name):""),type:t.unref(ye.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var D,W;return k.$emit("navigation-click",(W=(D=t.unref(s)("rowValue",C))==null?void 0:D[0])==null?void 0:W.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",C).label}),"data-testid":"partial-copy-uuid",text:(v=t.unref(s)("rowValue",C))==null?void 0:v[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",z2,"–"))]}),_:2},[d.value?{name:"config-card-item-nodes",fn:t.withCtx(C=>[t.createVNode(M2,{"plugin-data":C.record},null,8,["plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-a5302acb"]]),{usePluginMetaData:Y2,useProvideExperimentalFreeForms:W2}=je;Object.defineProperty(ve,"PluginGroup",{enumerable:!0,get:()=>X.PluginGroup}),Object.defineProperty(ve,"PluginScope",{enumerable:!0,get:()=>X.PluginScope}),Object.defineProperty(ve,"PluginIcon",{enumerable:!0,get:()=>Ho.PluginIcon}),Object.defineProperty(ve,"getPluginIconURL",{enumerable:!0,get:()=>Ho.getPluginIconURL}),ve.EXPERIMENTAL_FREE_FORM_PROVIDER=Ga,ve.EntityTypeIdField=Rn,ve.FEATURE_FLAGS=Hn,ve.PLUGIN_GROUPS_COLLAPSE_STATUS=qs,ve.PluginConfigCard=H2,ve.PluginForm=JM,ve.PluginGroupArray=Gs,ve.PluginList=l2,ve.PluginPartialType=Ur,ve.PluginSelect=$2,ve.PluginSelectCard=Rs,ve.PluginSelectGrid=Ls,ve.TOASTER_PROVIDER=fd,ve.pluginEndpoints=tt,ve.usePluginMetaData=Y2,ve.useProvideExperimentalFreeForms=W2,Object.defineProperty(ve,Symbol.toStringTag,{value:"Module"})});
|
|
144
|
+
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class ut extends Error{constructor(n,...o){var r;super((r=Cp[n])==null?void 0:r.call(Cp,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function is(e){return"clientX"in e}function YA(e){return"sourceEvent"in e}function on(e,n){const o=is(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const ji=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function WA(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function Gi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const XA=()=>!0;function as(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function ZA(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())Li(i,Fi(a))>0&&r.push(a);return r}const JA=250;function QA(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=ZA(e,o,n+JA);for(const d of c){const p=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of p){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:f,y:m}=Uo(d,u,u.position,!0),g=Math.sqrt((f-e.x)**2+(m-e.y)**2);g>n||(g<s?(l=[{...u,x:f,y:m}],s=g):g===s&&l.push({...u,x:f,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(p=>p.type===d)??l[0]}return l[0]}function Ep(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=XA},p,u,f){const m=a==="target",g=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:h,y}=on(e),_=l.elementFromPoint(h,y),w=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:g,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const x=Np(void 0,w),N=w.getAttribute("data-nodeid"),E=w.getAttribute("data-handleid"),C=w.classList.contains("connectable"),A=w.classList.contains("connectableend");if(!N||!x)return b;const I={source:m?N:r,sourceHandle:m?E:i,target:m?r:N,targetHandle:m?i:E};b.connection=I;const T=C&&A&&(o===An.Strict?m&&x==="source"||!m&&x==="target":N!==r||E!==i);b.isValid=T&&d(I,{nodes:u,edges:p,sourceNode:f(r),targetNode:f(N)}),b.toHandle=n}return b}function Np(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function eI(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function tI(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function nI(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const p=i===An.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],u=(o?p==null?void 0:p.find(f=>f.id===o):p==null?void 0:p[0])??null;return u&&a?{...u,...Uo(d,u,u.position,!0)}:u}const ls={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},oI=["production","prod"];function qi(e,...n){xp()&&console.warn(`[Vue Flow]: ${e}`,...n)}function xp(){return!oI.includes(process.env.NODE_ENV||"")}function Sp(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...Ui(l)}}):null}function ss(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function lt(e){return typeof t.unref(e)<"u"}function rI(e,n,o,r){if(!e||!e.source||!e.target)return o(new ut(at.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return In(e)?i=e:i={...e,id:ap(e)},i=rp(i,void 0,r),MA(i,n)?!1:i}function iI(e,n,o,r,i){if(!n.source||!n.target)return i(new ut(at.EDGE_INVALID,e.id)),!1;if(!o)return i(new ut(at.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?ap(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function vp(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!ro(l)){o(new ut(at.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=VA(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new ut(at.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Ap(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function cs(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,p=`${a}-${s}--${i}-${l}`;Ap("source",c,p,e,i,l),Ap("target",c,d,e,a,s)}}function Ip(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function ds(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const p=In(d)?d:rI(d,s,i,a);if(!p)continue;const u=o(p.source),f=o(p.target);if(!u||!f){i(new ut(at.EDGE_SOURCE_TARGET_MISSING,p.id,p.source,p.target));continue}if(!u){i(new ut(at.EDGE_SOURCE_MISSING,p.id,p.source));continue}if(!f){i(new ut(at.EDGE_TARGET_MISSING,p.id,p.target));continue}if(n&&!n(p,{edges:s,nodes:l,sourceNode:u,targetNode:f})){i(new ut(at.EDGE_INVALID,p.id));continue}const m=r(p.id);c.push({...rp(p,m,a),sourceNode:u,targetNode:f})}return c}const Pp=Symbol("vueFlow"),Tp=Symbol("nodeId"),Op=Symbol("nodeRef"),aI=Symbol("edgeId"),lI=Symbol("edgeRef"),zi=Symbol("slots");function $p(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:p,nodesDraggable:u,panBy:f,findNode:m,multiSelectionActive:g,nodesSelectionActive:h,selectNodesOnDrag:y,removeSelectedElements:_,addSelectedNodes:w,updateNodePositions:b,emits:x}=Ue(),{onStart:N,onDrag:E,onStop:C,onClick:A,el:I,disabled:P,id:T,selectable:k,dragHandle:G}=e,S=t.shallowRef(!1);let L=[],F,ne=null,Y={x:void 0,y:void 0},D={x:0,y:0},M=null,v=!1,B=0,W=!1;const X=dI(),oe=({x:se,y:pe})=>{Y={x:se,y:pe};let fe=!1;if(L=L.map(O=>{const $={x:se-O.distance.x,y:pe-O.distance.y},{computedPosition:R}=rs(O,o.value?Gi($,r.value):$,x.error,l.value,O.parentNode?m(O.parentNode):void 0);return fe=fe||O.position.x!==R.x||O.position.y!==R.y,O.position=R,O}),!!fe&&(b(L,!0,!0),S.value=!0,M)){const[O,$]=os({id:T,dragItems:L,findNode:m});E({event:M,node:O,nodes:$})}},H=()=>{if(!ne)return;const[se,pe]=mp(D,ne,p.value);if(se!==0||pe!==0){const fe={x:(Y.x??0)-se/c.value.zoom,y:(Y.y??0)-pe/c.value.zoom};f({x:se,y:pe})&&oe(fe)}B=requestAnimationFrame(H)},ae=(se,pe)=>{v=!0;const fe=m(T);!y.value&&!g.value&&fe&&(fe.selected||_()),fe&&t.toValue(k)&&y.value&&ss(fe,g.value,w,_,h,!1,pe);const O=X(se.sourceEvent);if(Y=O,L=KA(a.value,u.value,O,m,T),L.length){const[$,R]=os({id:T,dragItems:L,findNode:m});N({event:se.sourceEvent,node:$,nodes:R})}},he=(se,pe)=>{var fe;se.sourceEvent.type==="touchmove"&&se.sourceEvent.touches.length>1||(s.value===0&&ae(se,pe),Y=X(se.sourceEvent),ne=((fe=n.value)==null?void 0:fe.getBoundingClientRect())||null,D=on(se.sourceEvent,ne))},ee=(se,pe)=>{const fe=X(se.sourceEvent);if(!W&&v&&d.value&&(W=!0,H()),!v){const O=fe.xSnapped-(Y.x??0),$=fe.ySnapped-(Y.y??0);Math.sqrt(O*O+$*$)>s.value&&ae(se,pe)}(Y.x!==fe.xSnapped||Y.y!==fe.ySnapped)&&L.length&&v&&(M=se.sourceEvent,D=on(se.sourceEvent,ne),oe(fe))},ie=se=>{let pe=!1;if(!v&&!S.value&&!g.value){const fe=se.sourceEvent,O=X(fe),$=O.xSnapped-(Y.x??0),R=O.ySnapped-(Y.y??0),V=Math.sqrt($*$+R*R);V!==0&&V<=s.value&&(A==null||A(fe),pe=!0)}if(L.length&&!pe){b(L,!1,!1);const[fe,O]=os({id:T,dragItems:L,findNode:m});C({event:se.sourceEvent,node:fe,nodes:O})}L=[],S.value=!1,W=!1,v=!1,Y={x:void 0,y:void 0},cancelAnimationFrame(B)};return t.watch([()=>t.toValue(P),I],([se,pe],fe,O)=>{if(pe){const $=zt(pe);se||(F=BS().on("start",R=>he(R,pe)).on("drag",R=>ee(R,pe)).on("end",R=>ie(R)).filter(R=>{const V=R.target,te=t.toValue(G);return!R.button&&(!i.value||!bp(V,`.${i.value}`,pe)&&(!te||bp(V,te,pe)))}),$.call(F)),O(()=>{$.on(".drag",null),F&&(F.on("start",null),F.on("drag",null),F.on("end",null))})}}),S}function sI(){return{doubleClick:Ee(),click:Ee(),mouseEnter:Ee(),mouseMove:Ee(),mouseLeave:Ee(),contextMenu:Ee(),updateStart:Ee(),update:Ee(),updateEnd:Ee()}}function cI(e,n){const o=sI();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function dI(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Ue();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=YA(i)?i.sourceEvent:i,{x:c,y:d}=on(s,l),p=Ar({x:c,y:d},e.value),{x:u,y:f}=o.value?Gi(p,n.value):p;return{xSnapped:u,ySnapped:f,...p}}}function Hi(){return!0}function Bp({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:p,connectOnClick:u,connectionClickStartHandle:f,nodesConnectable:m,autoPanOnConnect:g,autoPanSpeed:h,findNode:y,panBy:_,startConnection:w,updateConnection:b,endConnection:x,emits:N,viewport:E,edges:C,nodes:A,isValidConnection:I,nodeLookup:P}=Ue();let T=null,k=!1,G=null;function S(F){var ne;const Y=t.toValue(o)==="target",D=is(F),M=op(F.target);if(D&&F.button===0||!D){let v=function(re){O=on(re,se),oe=QA(Ar(O,E.value,!1,[1,1]),p.value,P.value,V),$||(R(),$=!0);const q=Ep(re,{handle:oe,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:Y?"target":"source",isValidConnection:X,doc:M,lib:"vue",flowId:s,nodeLookup:P.value},C.value,A.value,y);G=q.handleDomNode,T=q.connection,k=tI(!!oe,q.isValid);const j={...U,isValid:k,to:q.toHandle&&k?ts({x:q.toHandle.x,y:q.toHandle.y},E.value):O,toHandle:q.toHandle,toPosition:k&&q.toHandle?q.toHandle.position:ls[V.position],toNode:q.toHandle?P.value.get(q.toHandle.nodeId):null};if(!(k&&oe&&(U!=null&&U.toHandle)&&j.toHandle&&U.toHandle.type===j.toHandle.type&&U.toHandle.nodeId===j.toHandle.nodeId&&U.toHandle.id===j.toHandle.id&&U.to.x===j.to.x&&U.to.y===j.to.y)){if(b(oe&&k?ts({x:oe.x,y:oe.y},E.value):O,q.toHandle,eI(!!oe,k)),U=j,!oe&&!k&&!G)return as(fe);T&&T.source!==T.target&&G&&(as(fe),fe=G,G.classList.add("connecting","vue-flow__handle-connecting"),G.classList.toggle("valid",!!k),G.classList.toggle("vue-flow__handle-valid",!!k))}},B=function(re){(oe||G)&&T&&k&&(a?a(re,T):N.connect(T)),N.connectEnd(re),i&&(l==null||l(re)),as(fe),cancelAnimationFrame(H),x(re),$=!1,k=!1,T=null,G=null,M.removeEventListener("mousemove",v),M.removeEventListener("mouseup",B),M.removeEventListener("touchmove",v),M.removeEventListener("touchend",B)};const W=y(t.toValue(n));let X=t.toValue(r)||I.value||Hi;!X&&W&&(X=(Y?W.isValidSourcePos:W.isValidTargetPos)||Hi);let oe,H=0;const{x:ae,y:he}=on(F),ee=M==null?void 0:M.elementFromPoint(ae,he),ie=Np(t.toValue(i),ee),se=(ne=c.value)==null?void 0:ne.getBoundingClientRect();if(!se||!ie)return;const pe=nI(t.toValue(n),ie,t.toValue(e),P.value,d.value);if(!pe)return;let fe,O=on(F,se),$=!1;const R=()=>{if(!g.value)return;const[re,q]=mp(O,se,h.value);_({x:re,y:q}),H=requestAnimationFrame(R)},V={...pe,nodeId:t.toValue(n),type:ie,position:pe.position},te=P.value.get(t.toValue(n)),ce={inProgress:!0,isValid:null,from:Uo(te,V,Ne.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:te,to:O,toHandle:null,toPosition:ls[V.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ie,position:(ee==null?void 0:ee.getAttribute("data-handlepos"))||Ne.Top,...O},{x:ae-se.left,y:he-se.top}),N.connectStart({event:F,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ie});let U=ce;M.addEventListener("mousemove",v),M.addEventListener("mouseup",B),M.addEventListener("touchmove",v),M.addEventListener("touchend",B)}}function L(F){var ne,Y;if(!u.value)return;const D=t.toValue(o)==="target";if(!f.value){N.clickConnectStart({event:F,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:Ne.Top,...on(F)},void 0,!0);return}let M=t.toValue(r)||I.value||Hi;const v=y(t.toValue(n));if(!M&&v&&(M=(D?v.isValidSourcePos:v.isValidTargetPos)||Hi),v&&(typeof v.connectable>"u"?m.value:v.connectable)===!1)return;const B=op(F.target),W=Ep(F,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:Ne.Top,...on(F)},connectionMode:d.value,fromNodeId:f.value.nodeId,fromHandleId:f.value.id??null,fromType:f.value.type,isValidConnection:M,doc:B,lib:"vue",flowId:s,nodeLookup:P.value},C.value,A.value,y),X=((ne=W.connection)==null?void 0:ne.source)===((Y=W.connection)==null?void 0:Y.target);W.isValid&&W.connection&&!X&&N.connect(W.connection),N.clickConnectEnd(F),x(F,!0)}return{handlePointerDown:S,handleClick:L}}function uI(){return t.inject(Tp,"")}function Vp(e){const n=e??uI()??"",o=t.inject(Op,t.ref(null)),{findNode:r,edges:i,emits:a}=Ue(),l=r(n);return l||a.error(new ut(at.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>dp([l],i.value))}}function fI(){return{doubleClick:Ee(),click:Ee(),mouseEnter:Ee(),mouseMove:Ee(),mouseLeave:Ee(),contextMenu:Ee(),dragStart:Ee(),drag:Ee(),dragStop:Ee()}}function pI(e,n){const o=fI();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Dp(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Ue();return(c,d=!1)=>{const p=a.value?i.value[0]:5,u=a.value?i.value[1]:5,f=d?4:1,m=c.x*p*f,g=c.y*u*f,h=[];for(const y of e.value)if(y.draggable||l&&typeof y.draggable>"u"){const _={x:y.computedPosition.x+m,y:y.computedPosition.y+g},{computedPosition:w}=rs(y,_,s.error,n.value,y.parentNode?r(y.parentNode):void 0);h.push({id:y.id,position:w,from:y.position,distance:{x:c.x,y:c.y},dimensions:y.dimensions})}o(h,!0,!1)}}const us=.1,mI=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function On(){return qi("Viewport not initialized yet."),Promise.resolve(!1)}const gI={zoomIn:On,zoomOut:On,zoomTo:On,fitView:On,setCenter:On,fitBounds:On,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:On,setTransform:On,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function hI(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?_r:Ii).scaleBy(fs(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:p}=np({x:-r,y:-i},e.translateExtent),u=Fo.translate(-d,-p).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?_r:Ii).transform(fs(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?_r:Ii).scaleTo(fs(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:us,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const f of e.nodes)f.dimensions.width&&f.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!f.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(f.id))&&s.push(f);if(!s.length)return Promise.resolve(!1);const c=sp(s),{x:d,y:p,zoom:u}=up(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??us,i.offset);return o(d,p,u,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:us})=>{const{x:l,y:s,zoom:c}=up(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>Ar(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return Ar(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return ts(s,e.viewport)}return{x:0,y:0}}}:gI)}function fs(e,n=0,o=mI,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function yI(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let h,y,_=!!(o.nodes.value.length||o.edges.value.length);h=Bo([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(y==null||y.pause(),o.setElements(w),!y&&!_&&w.length?_=!0:y==null||y.resume())}),y=Bo([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var x;(x=e.modelValue)!=null&&x.value&&Array.isArray(e.modelValue.value)&&(h==null||h.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),y==null||y.stop()})})},a=()=>{r.run(()=>{let h,y,_=!!o.nodes.value.length;h=Bo([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(y==null||y.pause(),o.setNodes(w),!y&&!_&&w.length?_=!0:y==null||y.resume())}),y=Bo([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(h==null||h.pause(),e.nodes.value=[...w],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),y==null||y.stop()})})},l=()=>{r.run(()=>{let h,y,_=!!o.edges.value.length;h=Bo([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(y==null||y.pause(),o.setEdges(w),!y&&!_&&w.length?_=!0:y==null||y.resume())}),y=Bo([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(h==null||h.pause(),e.edges.value=[...w],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),y==null||y.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&<(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&<(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&<(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},p=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&<(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{lt(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},f=()=>{r.run(()=>{const h=async y=>{let _=y;typeof n.autoConnect=="function"&&(_=await n.autoConnect(y)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{lt(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(y,_,w)=>{y?o.onConnect(h):o.hooks.value.connect.off(h),w(()=>{o.hooks.value.connect.off(h)})},{immediate:!0})})},m=()=>{const h=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const y of Object.keys(n)){const _=y;if(!h.includes(_)){const w=t.toRef(()=>n[_]),b=o[_];t.isRef(b)&&r.run(()=>{t.watch(w,x=>{lt(x)&&(b.value=x)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),p(),u(),f(),m()})()}),()=>r.stop()}function _I(){return{edgesChange:Ee(),nodesChange:Ee(),nodeDoubleClick:Ee(),nodeClick:Ee(),nodeMouseEnter:Ee(),nodeMouseMove:Ee(),nodeMouseLeave:Ee(),nodeContextMenu:Ee(),nodeDragStart:Ee(),nodeDrag:Ee(),nodeDragStop:Ee(),nodesInitialized:Ee(),miniMapNodeClick:Ee(),miniMapNodeDoubleClick:Ee(),miniMapNodeMouseEnter:Ee(),miniMapNodeMouseMove:Ee(),miniMapNodeMouseLeave:Ee(),connect:Ee(),connectStart:Ee(),connectEnd:Ee(),clickConnectStart:Ee(),clickConnectEnd:Ee(),paneReady:Ee(),init:Ee(),move:Ee(),moveStart:Ee(),moveEnd:Ee(),selectionDragStart:Ee(),selectionDrag:Ee(),selectionDragStop:Ee(),selectionContextMenu:Ee(),selectionStart:Ee(),selectionEnd:Ee(),viewportChangeStart:Ee(),viewportChange:Ee(),viewportChangeEnd:Ee(),paneScroll:Ee(),paneClick:Ee(),paneContextMenu:Ee(),paneMouseEnter:Ee(),paneMouseMove:Ee(),paneMouseLeave:Ee(),edgeContextMenu:Ee(),edgeMouseEnter:Ee(),edgeMouseMove:Ee(),edgeMouseLeave:Ee(),edgeDoubleClick:Ee(),edgeClick:Ee(),edgeUpdateStart:Ee(),edgeUpdate:Ee(),edgeUpdateEnd:Ee(),updateNodeInternals:Ee(),error:Ee(e=>qi(e.message))}}function bI(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),yi(()=>{r.off(i)})}})}function Rp(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Ql.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:xr.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:no.Bezier,style:{}},connectionMode:An.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:ji()?"Meta":"Control",zoomActivationKeyCode:ji()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:_I(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const wI=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function kI(e,n,o){const r=hI(e),i=O=>{const $=O??[];e.hooks.updateNodeInternals.trigger($)},a=O=>RA(O,e.nodes,e.edges),l=O=>DA(O,e.nodes,e.edges),s=O=>dp(O,e.edges),c=({id:O,type:$,nodeId:R})=>{var V;return Array.from(((V=e.connectionLookup.get(`${R}-${$}-${O??null}`))==null?void 0:V.values())??[])},d=O=>{if(O)return n.value.get(O)},p=O=>{if(O)return o.value.get(O)},u=(O,$,R)=>{var V,te;const K=[];for(const ce of O){const U={id:ce.id,type:"position",dragging:R,from:ce.from};if($&&(U.position=ce.position,ce.parentNode)){const re=d(ce.parentNode);U.position={x:U.position.x-(((V=re==null?void 0:re.computedPosition)==null?void 0:V.x)??0),y:U.position.y-(((te=re==null?void 0:re.computedPosition)==null?void 0:te.y)??0)}}K.push(U)}K!=null&&K.length&&e.hooks.nodesChange.trigger(K)},f=O=>{if(!e.vueFlowRef)return;const $=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!$)return;const R=window.getComputedStyle($),{m22:V}=new window.DOMMatrixReadOnly(R.transform),te=[];for(const K of O){const ce=K,U=d(ce.id);if(U){const re=Ui(ce.nodeElement);if(!!(re.width&&re.height&&(U.dimensions.width!==re.width||U.dimensions.height!==re.height||ce.forceUpdate))){const j=ce.nodeElement.getBoundingClientRect();U.dimensions=re,U.handleBounds.source=Sp("source",ce.nodeElement,j,V,U.id),U.handleBounds.target=Sp("target",ce.nodeElement,j,V,U.id),te.push({id:U.id,type:"dimensions",dimensions:re})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),te.length&&e.hooks.nodesChange.trigger(te)},m=(O,$)=>{const R=new Set,V=new Set;for(const ce of O)ro(ce)?R.add(ce.id):In(ce)&&V.add(ce.id);const te=Tn(n.value,R,!0),K=Tn(o.value,V);if(e.multiSelectionActive){for(const ce of R)te.push(Pn(ce,$));for(const ce of V)K.push(Pn(ce,$))}te.length&&e.hooks.nodesChange.trigger(te),K.length&&e.hooks.edgesChange.trigger(K)},g=O=>{if(e.multiSelectionActive){const $=O.map(R=>Pn(R.id,!0));e.hooks.nodesChange.trigger($);return}e.hooks.nodesChange.trigger(Tn(n.value,new Set(O.map($=>$.id)),!0)),e.hooks.edgesChange.trigger(Tn(o.value))},h=O=>{if(e.multiSelectionActive){const $=O.map(R=>Pn(R.id,!0));e.hooks.edgesChange.trigger($);return}e.hooks.edgesChange.trigger(Tn(o.value,new Set(O.map($=>$.id)))),e.hooks.nodesChange.trigger(Tn(n.value,new Set,!0))},y=O=>{m(O,!0)},_=O=>{const R=(O||e.nodes).map(V=>(V.selected=!1,Pn(V.id,!1)));e.hooks.nodesChange.trigger(R)},w=O=>{const R=(O||e.edges).map(V=>(V.selected=!1,Pn(V.id,!1)));e.hooks.edgesChange.trigger(R)},b=O=>{if(!O||!O.length)return m([],!1);const $=O.reduce((R,V)=>{const te=Pn(V.id,!1);return ro(V)?R.nodes.push(te):R.edges.push(te),R},{nodes:[],edges:[]});$.nodes.length&&e.hooks.nodesChange.trigger($.nodes),$.edges.length&&e.hooks.edgesChange.trigger($.edges)},x=O=>{var $;($=e.d3Zoom)==null||$.scaleExtent([O,e.maxZoom]),e.minZoom=O},N=O=>{var $;($=e.d3Zoom)==null||$.scaleExtent([e.minZoom,O]),e.maxZoom=O},E=O=>{var $;($=e.d3Zoom)==null||$.translateExtent(O),e.translateExtent=O},C=O=>{e.nodeExtent=O,i()},A=O=>{var $;($=e.d3Zoom)==null||$.clickDistance(O)},I=O=>{e.nodesDraggable=O,e.nodesConnectable=O,e.elementsSelectable=O},P=O=>{const $=O instanceof Function?O(e.nodes):O;!e.initialized&&!$.length||(e.nodes=vp($,d,e.hooks.error.trigger))},T=O=>{const $=O instanceof Function?O(e.edges):O;if(!e.initialized&&!$.length)return;const R=ds($,e.isValidConnection,d,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);cs(e.connectionLookup,o.value,R),e.edges=R},k=O=>{const $=O instanceof Function?O([...e.nodes,...e.edges]):O;!e.initialized&&!$.length||(P($.filter(ro)),T($.filter(In)))},G=O=>{let $=O instanceof Function?O(e.nodes):O;$=Array.isArray($)?$:[$];const R=vp($,d,e.hooks.error.trigger),V=[];for(const te of R)V.push(hp(te));V.length&&e.hooks.nodesChange.trigger(V)},S=O=>{let $=O instanceof Function?O(e.edges):O;$=Array.isArray($)?$:[$];const R=ds($,e.isValidConnection,d,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),V=[];for(const te of R)V.push(hp(te));V.length&&e.hooks.edgesChange.trigger(V)},L=(O,$=!0,R=!1)=>{const V=O instanceof Function?O(e.nodes):O,te=Array.isArray(V)?V:[V],K=[],ce=[];function U(q){const j=s(q);for(const z of j)(!lt(z.deletable)||z.deletable)&&ce.push(_p(z.id,z.source,z.target,z.sourceHandle,z.targetHandle))}function re(q){const j=[];for(const z of e.nodes)z.parentNode===q&&j.push(z);if(j.length){for(const z of j)K.push(yp(z.id));$&&U(j);for(const z of j)re(z.id)}}for(const q of te){const j=typeof q=="string"?d(q):q;j&&(lt(j.deletable)&&!j.deletable||(K.push(yp(j.id)),$&&U([j]),R&&re(j.id)))}ce.length&&e.hooks.edgesChange.trigger(ce),K.length&&e.hooks.nodesChange.trigger(K)},F=O=>{const $=O instanceof Function?O(e.edges):O,R=Array.isArray($)?$:[$],V=[];for(const te of R){const K=typeof te=="string"?p(te):te;K&&(lt(K.deletable)&&!K.deletable||V.push(_p(typeof te=="string"?te:te.id,K.source,K.target,K.sourceHandle,K.targetHandle)))}e.hooks.edgesChange.trigger(V)},ne=(O,$,R=!0)=>{const V=p(O.id);if(!V)return!1;const te=e.edges.indexOf(V),K=iI(O,$,V,R,e.hooks.error.trigger);if(K){const[ce]=ds([K],e.isValidConnection,d,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((U,re)=>re===te?ce:U),cs(e.connectionLookup,o.value,[ce]),ce}return!1},Y=(O,$,R={replace:!1})=>{const V=p(O);if(!V)return;const te=typeof $=="function"?$(V):$;V.data=R.replace?te:{...V.data,...te}},D=O=>gp(O,e.nodes),M=O=>{const $=gp(O,e.edges);return cs(e.connectionLookup,o.value,$),$},v=(O,$,R={replace:!1})=>{const V=d(O);if(!V)return;const te=typeof $=="function"?$(V):$;R.replace?e.nodes.splice(e.nodes.indexOf(V),1,te):Object.assign(V,te)},B=(O,$,R={replace:!1})=>{const V=d(O);if(!V)return;const te=typeof $=="function"?$(V):$;V.data=R.replace?te:{...V.data,...te}},W=(O,$,R=!1)=>{R?e.connectionClickStartHandle=O:e.connectionStartHandle=O,e.connectionEndHandle=null,e.connectionStatus=null,$&&(e.connectionPosition=$)},X=(O,$=null,R=null)=>{e.connectionStartHandle&&(e.connectionPosition=O,e.connectionEndHandle=$,e.connectionStatus=R)},oe=(O,$)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,$?e.connectionClickStartHandle=null:e.connectionStartHandle=null},H=O=>{const $=BA(O),R=$?null:vr(O)?O:d(O.id);return!$&&!R?[null,null,$]:[$?O:Fi(R),R,$]},ae=(O,$=!0,R=e.nodes)=>{const[V,te,K]=H(O);if(!V)return[];const ce=[];for(const U of R||e.nodes){if(!K&&(U.id===te.id||!U.computedPosition))continue;const re=Fi(U),q=Li(re,V);($&&q>0||q>=Number(V.width)*Number(V.height))&&ce.push(U)}return ce},he=(O,$,R=!0)=>{const[V]=H(O);if(!V)return!1;const te=Li(V,$);return R&&te>0||te>=Number(V.width)*Number(V.height)},ee=O=>{const{viewport:$,dimensions:R,d3Zoom:V,d3Selection:te,translateExtent:K}=e;if(!V||!te||!O.x&&!O.y)return!1;const ce=Fo.translate($.x+O.x,$.y+O.y).scale($.zoom),U=[[0,0],[R.width,R.height]],re=V.constrain()(ce,U,K),q=e.viewport.x!==re.x||e.viewport.y!==re.y||e.viewport.zoom!==re.k;return V.transform(te,re),q},ie=O=>{const $=O instanceof Function?O(e):O,R=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];lt($.defaultEdgeOptions)&&(e.defaultEdgeOptions=$.defaultEdgeOptions);const V=$.modelValue||$.nodes||$.edges?[]:void 0;V&&($.modelValue&&V.push(...$.modelValue),$.nodes&&V.push(...$.nodes),$.edges&&V.push(...$.edges),k(V));const te=()=>{lt($.maxZoom)&&N($.maxZoom),lt($.minZoom)&&x($.minZoom),lt($.translateExtent)&&E($.translateExtent)};for(const K of Object.keys($)){const ce=K,U=$[ce];![...wI,...R].includes(ce)&<(U)&&(e[ce]=U)}Ol(()=>e.d3Zoom).not.toBeNull().then(te),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:f,setElements:k,setNodes:P,setEdges:T,addNodes:G,addEdges:S,removeNodes:L,removeEdges:F,findNode:d,findEdge:p,updateEdge:ne,updateEdgeData:Y,updateNode:v,updateNodeData:B,applyEdgeChanges:M,applyNodeChanges:D,addSelectedElements:y,addSelectedNodes:g,addSelectedEdges:h,setMinZoom:x,setMaxZoom:N,setTranslateExtent:E,setNodeExtent:C,setPaneClickDistance:A,removeSelectedElements:b,removeSelectedNodes:_,removeSelectedEdges:w,startConnection:W,updateConnection:X,endConnection:oe,setInteractive:I,setState:ie,getIntersectingNodes:ae,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:he,panBy:ee,fitView:O=>r.value.fitView(O),zoomIn:O=>r.value.zoomIn(O),zoomOut:O=>r.value.zoomOut(O),zoomTo:(O,$)=>r.value.zoomTo(O,$),setViewport:(O,$)=>r.value.setViewport(O,$),setTransform:(O,$)=>r.value.setTransform(O,$),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(O,$,R)=>r.value.setCenter(O,$,R),fitBounds:(O,$)=>r.value.fitBounds(O,$),project:O=>r.value.project(O),screenToFlowCoordinate:O=>r.value.screenToFlowCoordinate(O),flowToScreenCoordinate:O=>r.value.flowToScreenCoordinate(O),toObject:()=>{const O=[],$=[];for(const R of e.nodes){const{computedPosition:V,handleBounds:te,selected:K,dimensions:ce,isParent:U,resizing:re,dragging:q,events:j,...z}=R;O.push(z)}for(const R of e.edges){const{selected:V,sourceNode:te,targetNode:K,events:ce,...U}=R;$.push(U)}return JSON.parse(JSON.stringify({nodes:O,edges:$,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:O=>new Promise($=>{const{nodes:R,edges:V,position:te,zoom:K,viewport:ce}=O;if(R&&P(R),V&&T(V),ce!=null&&ce.x&&(ce!=null&&ce.y)||te){const U=(ce==null?void 0:ce.x)||te[0],re=(ce==null?void 0:ce.y)||te[1],q=(ce==null?void 0:ce.zoom)||K||e.viewport.zoom;return Ol(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:U,y:re,zoom:q}).then(()=>{$(!0)})})}else $(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const O=Rp();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const $=Fo.translate(O.defaultViewport.x??0,O.defaultViewport.y??0).scale(oo(O.defaultViewport.zoom??1,O.minZoom,O.maxZoom)),R=e.viewportRef.getBoundingClientRect(),V=[[0,0],[R.width,R.height]],te=e.d3Zoom.constrain()($,V,O.translateExtent);e.d3Zoom.transform(e.d3Selection,te)}ie(O)},$destroy:()=>{}}}const CI=["data-id","data-handleid","data-nodeid","data-handlepos"],EI={name:"Handle",compatConfig:{MODE:3}},rn=t.defineComponent({...EI,props:{id:{default:null},type:{},position:{default:()=>Ne.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:p,noDragClassName:u,noPanClassName:f}=Ue(),{id:m,node:g,nodeEl:h,connectedEdges:y}=Vp(),_=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),x=t.toRef(()=>{var T,k,G,S,L,F;return((T=l.value)==null?void 0:T.nodeId)===m&&((k=l.value)==null?void 0:k.id)===e.id&&((G=l.value)==null?void 0:G.type)===r.value||((S=c.value)==null?void 0:S.nodeId)===m&&((L=c.value)==null?void 0:L.id)===e.id&&((F=c.value)==null?void 0:F.type)===r.value}),N=t.toRef(()=>{var T,k,G;return((T=s.value)==null?void 0:T.nodeId)===m&&((k=s.value)==null?void 0:k.id)===e.id&&((G=s.value)==null?void 0:G.type)===r.value}),{handlePointerDown:E,handleClick:C}=Bp({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),A=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!y.value.some(T=>{const k=T[`${r.value}Handle`];return T[r.value]!==m?!1:k?k===e.id:!0}):typeof e.connectable=="number"?y.value.filter(T=>{const k=T[`${r.value}Handle`];return T[r.value]!==m?!1:k?k===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(g,y.value):lt(e.connectable)?e.connectable:p.value);t.onMounted(()=>{var T;if(!g.dimensions.width||!g.dimensions.height)return;const k=(T=g.handleBounds[r.value])==null?void 0:T.find(D=>D.id===e.id);if(!d.value||k)return;const G=d.value.querySelector(".vue-flow__transformationpane");if(!h.value||!_.value||!G||!e.id)return;const S=h.value.getBoundingClientRect(),L=_.value.getBoundingClientRect(),F=window.getComputedStyle(G),{m22:ne}=new window.DOMMatrixReadOnly(F.transform),Y={id:e.id,position:e.position,x:(L.left-S.left)/ne,y:(L.top-S.top)/ne,type:r.value,nodeId:m,...Ui(_.value)};g.handleBounds[r.value]=[...g.handleBounds[r.value]??[],Y]});function I(T){const k=is(T);A.value&&w.value&&(k&&T.button===0||!k)&&E(T)}function P(T){!m||!s.value&&!w.value||A.value&&C(T)}return n({handleClick:C,handlePointerDown:E,onClick:P,onPointerDown:I}),(T,k)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:_,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":T.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${T.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(f),r.value,{connectable:A.value,connecting:N.value,connectablestart:w.value,connectableend:b.value,connectionindicator:A.value&&(w.value&&!x.value||b.value&&x.value)}]]),onMousedown:I,onTouchstartPassive:I,onClick:P},[t.renderSlot(T.$slots,"default",{id:T.id})],42,CI))}}),Yi=function({sourcePosition:e=Ne.Bottom,targetPosition:n=Ne.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(rn,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(rn,{type:"source",position:e,connectable:r,isValidConnection:a})]};Yi.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],Yi.inheritAttrs=!1,Yi.compatConfig={MODE:3};const NI=Yi,Wi=function({targetPosition:e=Ne.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(rn,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Wi.props=["targetPosition","label","isValidTargetPos","connectable","data"],Wi.inheritAttrs=!1,Wi.compatConfig={MODE:3};const xI=Wi,Xi=function({sourcePosition:e=Ne.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(rn,{type:"source",position:e,connectable:o,isValidConnection:r})]};Xi.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Xi.inheritAttrs=!1,Xi.compatConfig={MODE:3};const SI=Xi,vI=["transform"],AI=["width","height","x","y","rx","ry"],II=["y"],PI={name:"EdgeText",compatConfig:{MODE:3}},TI=t.defineComponent({...PI,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,AI)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,II)],8,vI))}}),OI=["id","d","marker-end","marker-start"],$I=["d","stroke-width"],BI={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Zi=t.defineComponent({...BI,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,OI),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,$I)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(TI,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function Mp({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Fp({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=n*.125+a*.375+s*.375+r*.125,p=Math.abs(c-e),u=Math.abs(d-n);return[c,d,p,u]}function Ji(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Lp({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case Ne.Left:l=n-Ji(n-r,a),s=o;break;case Ne.Right:l=n+Ji(r-n,a),s=o;break;case Ne.Top:l=n,s=o-Ji(o-i,a);break;case Ne.Bottom:l=n,s=o+Ji(i-o,a);break}return[l,s]}function Up(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ne.Bottom,targetX:i,targetY:a,targetPosition:l=Ne.Top,curvature:s=.25}=e,[c,d]=Lp({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[p,u]=Lp({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[f,m,g,h]=Fp({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:p,targetControlY:u});return[`M${n},${o} C${c},${d} ${p},${u} ${i},${a}`,f,m,g,h]}function Kp({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case Ne.Left:case Ne.Right:a=.5*(n+r),l=o;break;case Ne.Top:case Ne.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function jp(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ne.Bottom,targetX:i,targetY:a,targetPosition:l=Ne.Top}=e,[s,c]=Kp({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,p]=Kp({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,f,m,g]=Fp({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:p});return[`M${n},${o} C${s},${c} ${d},${p} ${i},${a}`,u,f,m,g]}const Gp={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}};function VI({source:e,sourcePosition:n=Ne.Bottom,target:o}){return n===Ne.Left||n===Ne.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function qp(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function DI({source:e,sourcePosition:n=Ne.Bottom,target:o,targetPosition:r=Ne.Top,center:i,offset:a}){const l=Gp[n],s=Gp[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},p=VI({source:c,sourcePosition:n,target:d}),u=p.x!==0?"x":"y",f=p[u];let m,g,h;const y={x:0,y:0},_={x:0,y:0},[w,b,x,N]=Mp({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){g=i.x??w,h=i.y??b;const C=[{x:g,y:c.y},{x:g,y:d.y}],A=[{x:c.x,y:h},{x:d.x,y:h}];l[u]===f?m=u==="x"?C:A:m=u==="x"?A:C}else{const C=[{x:c.x,y:d.y}],A=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===f?A:C:m=l.y===f?C:A,n===r){const G=Math.abs(e[u]-o[u]);if(G<=a){const S=Math.min(a-1,a-G);l[u]===f?y[u]=(c[u]>e[u]?-1:1)*S:_[u]=(d[u]>o[u]?-1:1)*S}}if(n!==r){const G=u==="x"?"y":"x",S=l[u]===s[G],L=c[G]>d[G],F=c[G]<d[G];(l[u]===1&&(!S&&L||S&&F)||l[u]!==1&&(!S&&F||S&&L))&&(m=u==="x"?C:A)}const I={x:c.x+y.x,y:c.y+y.y},P={x:d.x+_.x,y:d.y+_.y},T=Math.max(Math.abs(I.x-m[0].x),Math.abs(P.x-m[0].x)),k=Math.max(Math.abs(I.y-m[0].y),Math.abs(P.y-m[0].y));T>=k?(g=(I.x+P.x)/2,h=m[0].y):(g=m[0].x,h=(I.y+P.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...m,{x:d.x+_.x,y:d.y+_.y},o],g,h,x,N]}function RI(e,n,o,r){const i=Math.min(qp(e,n)/2,qp(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,p=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*p}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function ps(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ne.Bottom,targetX:i,targetY:a,targetPosition:l=Ne.Top,borderRadius:s=5,centerX:c,centerY:d,offset:p=20}=e,[u,f,m,g,h]=DI({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:p});return[u.reduce((_,w,b)=>{let x;return b>0&&b<u.length-1?x=RI(u[b-1],w,u[b+1],s):x=`${b===0?"M":"L"}${w.x} ${w.y}`,_+=x,_},""),f,m,g,h]}function MI(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Mp({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const FI=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=MI(e);return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),zp=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=ps({...e,sourcePosition:e.sourcePosition??Ne.Bottom,targetPosition:e.targetPosition??Ne.Top});return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),LI=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(zp,{...e,...n,borderRadius:0})}}),UI=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Up({...e,sourcePosition:e.sourcePosition??Ne.Bottom,targetPosition:e.targetPosition??Ne.Top});return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),KI=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=jp({...e,sourcePosition:e.sourcePosition??Ne.Bottom,targetPosition:e.targetPosition??Ne.Top});return t.h(Zi,{path:o,labelX:r,labelY:i,...n,...e})}}}),jI={input:SI,default:NI,output:xI},GI={default:UI,straight:FI,step:LI,smoothstep:zp,simplebezier:KI};function qI(e,n,o){const r=t.computed(()=>h=>n.value.get(h)),i=t.computed(()=>h=>o.value.get(h)),a=t.computed(()=>{const h={...GI,...e.edgeTypes},y=Object.keys(h);for(const _ of e.edges)_.type&&!y.includes(_.type)&&(h[_.type]=_.type);return h}),l=t.computed(()=>{const h={...jI,...e.nodeTypes},y=Object.keys(h);for(const _ of e.nodes)_.type&&!y.includes(_.type)&&(h[_.type]=_.type);return h}),s=t.computed(()=>e.onlyRenderVisibleElements?cp(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const h=[];for(const y of e.edges){const _=n.value.get(y.source),w=n.value.get(y.target);zA({sourcePos:_.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&h.push(y)}return h}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),p=t.computed(()=>{const h=[];for(const y of e.nodes)y.selected&&h.push(y);return h}),u=t.computed(()=>{const h=[];for(const y of e.edges)y.selected&&h.push(y);return h}),f=t.computed(()=>[...p.value,...u.value]),m=t.computed(()=>{const h=[];for(const y of e.nodes)y.dimensions.width&&y.dimensions.height&&y.handleBounds!==void 0&&h.push(y);return h}),g=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:f,getSelectedNodes:p,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:g}}class io{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??io.instance;return io.instance=r??new io,o&&(o.config.globalProperties.$vueFlowStorage=io.instance),io.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Rp(),i=t.reactive(r),a={};for(const[f,m]of Object.entries(i.hooks)){const g=`on${f.charAt(0).toUpperCase()+f.slice(1)}`;a[g]=m.on}const l={};for(const[f,m]of Object.entries(i.hooks))l[f]=m.trigger;const s=t.computed(()=>{const f=new Map;for(const m of i.nodes)f.set(m.id,m);return f}),c=t.computed(()=>{const f=new Map;for(const m of i.edges)f.set(m.id,m);return f}),d=qI(i,s,c),p=kI(i,s,c);p.setState({...i,...o});const u={...a,...d,...p,...j1(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function Ue(e){const n=io.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Pp,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(u,f,m)=>{const g=y=>{d.applyNodeChanges(y)},h=y=>{d.applyEdgeChanges(y)};u?(d.onNodesChange(g),d.onEdgesChange(h)):(d.hooks.value.nodesChange.off(g),d.hooks.value.edgesChange.off(h)),m(()=>{d.hooks.value.nodesChange.off(g),d.hooks.value.edgesChange.off(h)})},{immediate:!0}),yi(()=>{if(s){const u=n.get(s.id);u?u.$destroy():qi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Pp,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new ut(at.USEVUEFLOW_OPTIONS))}return s}function zI(e){const{emits:n,dimensions:o}=Ue();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=Ui(i);(l.width===0||l.height===0)&&n.error(new ut(at.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const HI={name:"UserSelection",compatConfig:{MODE:3}},YI=t.defineComponent({...HI,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),WI=["tabIndex"],XI={name:"NodesSelection",compatConfig:{MODE:3}},ZI=t.defineComponent({...XI,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Ue(),s=Dp(),c=t.ref(null),d=$p({el:c,onStart(g){n.selectionDragStart(g)},onDrag(g){n.selectionDrag(g)},onStop(g){n.selectionDragStop(g)}});t.onMounted(()=>{var g;a.value||(g=c.value)==null||g.focus({preventScroll:!0})});const p=t.computed(()=>sp(r.value)),u=t.computed(()=>({width:`${p.value.width}px`,height:`${p.value.height}px`,top:`${p.value.y}px`,left:`${p.value.x}px`}));function f(g){n.selectionContextMenu({event:g,nodes:r.value})}function m(g){a||Lo[g.key]&&(g.preventDefault(),s({x:Lo[g.key].x,y:Lo[g.key].y},g.shiftKey))}return(g,h)=>!t.unref(l)&&p.value.width&&p.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:f,onKeydown:m},null,46,WI)],6)):t.createCommentVNode("",!0)}});function JI(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const QI={name:"Pane",compatConfig:{MODE:3}},eP=t.defineComponent({...QI,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:p,getSelectedNodes:u,removeNodes:f,removeEdges:m,selectionMode:g,deleteKeyCode:h,multiSelectionKeyCode:y,multiSelectionActive:_,edgeLookup:w,nodeLookup:b,connectionLookup:x,defaultEdgeOptions:N,connectionStartHandle:E}=Ue(),C=t.ref(null),A=t.ref(new Set),I=t.ref(new Set),P=t.ref(),T=t.toRef(()=>c.value&&(e.isSelecting||a.value)),k=t.toRef(()=>E.value!==null);let G=!1,S=!1;const L=Sr(h,{actInsideInputWithModifier:!1}),F=Sr(y);t.watch(L,X=>{X&&(f(u.value),m(p.value),d.value=!1)}),t.watch(F,X=>{_.value=X});function ne(X,oe){return H=>{H.target===oe&&(X==null||X(H))}}function Y(X){if(G||k.value){G=!1;return}i.paneClick(X),l(),d.value=!1}function D(X){X.preventDefault(),X.stopPropagation(),i.paneContextMenu(X)}function M(X){i.paneScroll(X)}function v(X){var oe,H,ae;if(P.value=(oe=n.value)==null?void 0:oe.getBoundingClientRect(),!c.value||!e.isSelecting||X.button!==0||X.target!==C.value||!P.value)return;(ae=(H=X.target)==null?void 0:H.setPointerCapture)==null||ae.call(H,X.pointerId);const{x:he,y:ee}=JI(X,P.value);S=!0,G=!1,l(),s.value={width:0,height:0,startX:he,startY:ee,x:he,y:ee},i.selectionStart(X)}function B(X){var oe;if(!P.value||!s.value)return;G=!0;const{x:H,y:ae}=on(X,P.value),{startX:he=0,startY:ee=0}=s.value,ie={startX:he,startY:ee,x:H<he?H:he,y:ae<ee?ae:ee,width:Math.abs(H-he),height:Math.abs(ae-ee)},se=A.value,pe=I.value;A.value=new Set(cp(o.value,ie,r.value,g.value===Ql.Partial,!0).map(O=>O.id)),I.value=new Set;const fe=((oe=N.value)==null?void 0:oe.selectable)??!0;for(const O of A.value){const $=x.value.get(O);if($)for(const{edgeId:R}of $.values()){const V=w.value.get(R);V&&(V.selectable??fe)&&I.value.add(R)}}if(!Ip(se,A.value)){const O=Tn(b.value,A.value,!0);i.nodesChange(O)}if(!Ip(pe,I.value)){const O=Tn(w.value,I.value);i.edgesChange(O)}s.value=ie,a.value=!0,d.value=!1}function W(X){var oe;X.button!==0||!S||((oe=X.target)==null||oe.releasePointerCapture(X.pointerId),!a.value&&s.value&&X.target===C.value&&Y(X),a.value=!1,s.value=null,d.value=A.value.size>0,i.selectionEnd(X),e.selectionKeyPressed&&(G=!1),S=!1)}return(X,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:C,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:X.isSelecting}]),onClick:oe[0]||(oe[0]=H=>T.value?void 0:ne(Y,C.value)(H)),onContextmenu:oe[1]||(oe[1]=H=>ne(D,C.value)(H)),onWheelPassive:oe[2]||(oe[2]=H=>ne(M,C.value)(H)),onPointerenter:oe[3]||(oe[3]=H=>T.value?void 0:t.unref(i).paneMouseEnter(H)),onPointerdown:oe[4]||(oe[4]=H=>T.value?v(H):t.unref(i).paneMouseMove(H)),onPointermove:oe[5]||(oe[5]=H=>T.value?B(H):t.unref(i).paneMouseMove(H)),onPointerup:oe[6]||(oe[6]=H=>T.value?W(H):void 0),onPointerleave:oe[7]||(oe[7]=H=>t.unref(i).paneMouseLeave(H))},[t.renderSlot(X.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(YI,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(ZI,{key:1})):t.createCommentVNode("",!0)],34))}}),tP={name:"Transform",compatConfig:{MODE:3}},nP=t.defineComponent({...tP,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Ue(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),oP={name:"Viewport",compatConfig:{MODE:3}},rP=t.defineComponent({...oP,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:p,panOnDrag:u,zoomOnDoubleClick:f,zoomOnPinch:m,zoomOnScroll:g,preventScrolling:h,noWheelClassName:y,noPanClassName:_,emits:w,connectionStartHandle:b,userSelectionActive:x,paneDragging:N,d3Zoom:E,d3Selection:C,d3ZoomHandler:A,viewport:I,viewportRef:P,paneClickDistance:T}=Ue();zI(P);const k=t.shallowRef(!1),G=t.shallowRef(!1);let S=null,L=!1,F=0,ne={x:0,y:0,zoom:0};const Y=Sr(s),D=Sr(l),M=Sr(a),v=t.toRef(()=>(!D.value||D.value&&l.value===!0)&&(Y.value||u.value)),B=t.toRef(()=>Y.value||c.value),W=t.toRef(()=>D.value||l.value===!0&&v.value!==!0);t.onMounted(()=>{if(!P.value){qi("Viewport element is missing");return}const ee=P.value,ie=ee.getBoundingClientRect(),se=vA().clickDistance(T.value).scaleExtent([n.value,o.value]).translateExtent(i.value),pe=zt(ee).call(se),fe=pe.on("wheel.zoom"),O=Fo.translate(r.value.x??0,r.value.y??0).scale(oo(r.value.zoom??1,n.value,o.value)),$=[[0,0],[ie.width,ie.height]],R=se.constrain()(O,$,i.value);se.transform(pe,R),se.wheelDelta(oe),E.value=se,C.value=pe,A.value=fe,I.value={x:R.x,y:R.y,zoom:R.k},se.on("start",V=>{var te;if(!V.sourceEvent)return null;F=V.sourceEvent.button,k.value=!0;const K=ae(V.transform);((te=V.sourceEvent)==null?void 0:te.type)==="mousedown"&&(N.value=!0),ne=K,w.viewportChangeStart(K),w.moveStart({event:V,flowTransform:K})}),se.on("end",V=>{if(!V.sourceEvent)return null;if(k.value=!1,N.value=!1,X(v.value,F??0)&&!L&&w.paneContextMenu(V.sourceEvent),L=!1,H(ne,V.transform)){const te=ae(V.transform);ne=te,w.viewportChangeEnd(te),w.moveEnd({event:V,flowTransform:te})}}),se.filter(V=>{var te;const K=M.value||g.value,ce=m.value&&V.ctrlKey,U=V.button;if(U===1&&V.type==="mousedown"&&(he(V,"vue-flow__node")||he(V,"vue-flow__edge")))return!0;if(!v.value&&!K&&!B.value&&!f.value&&!m.value||x.value||!f.value&&V.type==="dblclick"||he(V,y.value)&&V.type==="wheel"||he(V,_.value)&&(V.type!=="wheel"||B.value&&V.type==="wheel"&&!M.value)||!m.value&&V.ctrlKey&&V.type==="wheel"||!K&&!B.value&&!ce&&V.type==="wheel")return!1;if(!m&&V.type==="touchstart"&&((te=V.touches)==null?void 0:te.length)>1)return V.preventDefault(),!1;if(!v.value&&(V.type==="mousedown"||V.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&U===0||Array.isArray(u.value)&&!u.value.includes(U)&&(V.type==="mousedown"||V.type==="touchstart"))return!1;const re=Array.isArray(u.value)&&u.value.includes(U)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!U||U<=1;return(!V.ctrlKey||Y.value||V.type==="wheel")&&re}),t.watch([x,v],()=>{x.value&&!k.value?se.on("zoom",null):x.value||se.on("zoom",V=>{I.value={x:V.transform.x,y:V.transform.y,zoom:V.transform.k};const te=ae(V.transform);L=X(v.value,F??0),w.viewportChange(te),w.move({event:V,flowTransform:te})})},{immediate:!0}),t.watch([x,B,d,M,m,h,y],()=>{B.value&&!M.value&&!x.value?pe.on("wheel.zoom",V=>{if(he(V,y.value))return!1;const te=M.value||g.value,K=m.value&&V.ctrlKey;if(!(!h.value||B.value||te||K))return!1;V.preventDefault(),V.stopImmediatePropagation();const U=pe.property("__zoom").k||1,re=ji();if(!Y.value&&V.ctrlKey&&m.value&&re){const me=Qt(V),Q=oe(V),ke=U*2**Q;se.scaleTo(pe,ke,me,V);return}const q=V.deltaMode===1?20:1;let j=d.value===xr.Vertical?0:V.deltaX*q,z=d.value===xr.Horizontal?0:V.deltaY*q;!re&&V.shiftKey&&d.value!==xr.Vertical&&!j&&z&&(j=z,z=0),se.translateBy(pe,-(j/U)*p.value,-(z/U)*p.value);const ue=ae(pe.property("__zoom"));S&&clearTimeout(S),G.value?(w.move({event:V,flowTransform:ue}),w.viewportChange(ue),S=setTimeout(()=>{w.moveEnd({event:V,flowTransform:ue}),w.viewportChangeEnd(ue),G.value=!1},150)):(G.value=!0,w.moveStart({event:V,flowTransform:ue}),w.viewportChangeStart(ue))},{passive:!1}):typeof fe<"u"&&pe.on("wheel.zoom",function(V,te){const K=!h.value&&V.type==="wheel"&&!V.ctrlKey,ce=M.value||g.value,U=m.value&&V.ctrlKey;if(!ce&&!c.value&&!U&&V.type==="wheel"||K||he(V,y.value))return null;V.preventDefault(),fe.call(this,V,te)},{passive:!1})},{immediate:!0})});function X(ee,ie){return ie===2&&Array.isArray(ee)&&ee.includes(2)}function oe(ee){const ie=ee.ctrlKey&&ji()?10:1;return-ee.deltaY*(ee.deltaMode===1?.05:ee.deltaMode?1:.002)*ie}function H(ee,ie){return ee.x!==ie.x&&!Number.isNaN(ie.x)||ee.y!==ie.y&&!Number.isNaN(ie.y)||ee.zoom!==ie.k&&!Number.isNaN(ie.k)}function ae(ee){return{x:ee.x,y:ee.y,zoom:ee.k}}function he(ee,ie){return ee.target.closest(`.${ie}`)}return(ee,ie)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:P,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(eP,{"is-selecting":W.value,"selection-key-pressed":t.unref(D),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(N),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(nP,null,{default:t.withCtx(()=>[t.renderSlot(ee.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),iP=["id"],aP=["id"],lP=["id"],sP={name:"A11yDescriptions",compatConfig:{MODE:3}},cP=t.defineComponent({...sP,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Ue();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(Qf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,iP),t.createElementVNode("div",{id:`${t.unref(ep)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,aP),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref($A)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,lP))],64))}});function dP(){const e=Ue();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function uP(e,n,o){return o===Ne.Left?e-n:o===Ne.Right?e+n:e}function fP(e,n,o){return o===Ne.Top?e-n:o===Ne.Bottom?e+n:e}const ms=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=Ne.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:uP(n,e,r),cy:fP(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};ms.props=["radius","centerX","centerY","position","type"],ms.compatConfig={MODE:3};const Hp=ms,pP=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:p,findNode:u,isValidConnection:f,multiSelectionActive:m,disableKeyboardA11y:g,elementsSelectable:h,edgesUpdatable:y,edgesFocusable:_,hooks:w}=Ue(),b=t.computed(()=>p(e.id)),{emit:x,on:N}=cI(b.value,a),E=t.inject(zi),C=t.getCurrentInstance(),A=t.ref(!1),I=t.ref(!1),P=t.ref(""),T=t.ref(null),k=t.ref("source"),G=t.ref(null),S=t.toRef(()=>typeof b.value.selectable>"u"?h.value:b.value.selectable),L=t.toRef(()=>typeof b.value.updatable>"u"?y.value:b.value.updatable),F=t.toRef(()=>typeof b.value.focusable>"u"?_.value:b.value.focusable);t.provide(aI,e.id),t.provide(lI,G);const ne=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),Y=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),D=t.computed(()=>{const $=b.value.type||"default",R=E==null?void 0:E[`edge-${$}`];if(R)return R;let V=b.value.template??c.value[$];if(typeof V=="string"&&C){const te=Object.keys(C.appContext.components);te&&te.includes($)&&(V=t.resolveComponent($,!1))}return V&&typeof V!="string"?V:(a.error(new ut(at.EDGE_TYPE_MISSING,V)),!1)}),{handlePointerDown:M}=Bp({nodeId:P,handleId:T,type:k,isValidConnection:f,edgeUpdaterType:k,onEdgeUpdate:W,onEdgeUpdateEnd:X});return()=>{const $=u(b.value.source),R=u(b.value.target),V="pathOptions"in b.value?b.value.pathOptions:{};if(!$&&!R)return a.error(new ut(at.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!$)return a.error(new ut(at.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!R)return a.error(new ut(at.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||$.hidden||R.hidden)return null;let te;r.value===An.Strict?te=$.handleBounds.source:te=[...$.handleBounds.source||[],...$.handleBounds.target||[]];const K=kp(te,b.value.sourceHandle);let ce;r.value===An.Strict?ce=R.handleBounds.target:ce=[...R.handleBounds.target||[],...R.handleBounds.source||[]];const U=kp(ce,b.value.targetHandle),re=(K==null?void 0:K.position)||Ne.Bottom,q=(U==null?void 0:U.position)||Ne.Top,{x:j,y:z}=Uo($,K,re),{x:ue,y:me}=Uo(R,U,q);return b.value.sourceX=j,b.value.sourceY=z,b.value.targetX=ue,b.value.targetY=me,t.h("g",{ref:G,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${D.value===!1?"default":b.value.type||"default"}`,s.value,ne.value,{updating:A.value,selected:b.value.selected,animated:b.value.animated,inactive:!S.value&&!w.value.edgeClick.hasListeners()}],tabIndex:F.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":F.value?`${ep}-${n}`:void 0,"aria-roledescription":"edge",role:F.value?"group":"img",...b.value.domAttributes,onClick:H,onContextmenu:ae,onDblclick:he,onMouseenter:ee,onMousemove:ie,onMouseleave:se,onKeyDown:F.value?O:void 0},[I.value?null:t.h(D.value===!1?c.value.default:D.value,{id:e.id,sourceNode:$,targetNode:R,source:b.value.source,target:b.value.target,type:b.value.type,updatable:L.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...N},style:Y.value,markerStart:`url('#${Ir(b.value.markerStart,n)}')`,markerEnd:`url('#${Ir(b.value.markerEnd,n)}')`,sourcePosition:re,targetPosition:q,sourceX:j,sourceY:z,targetX:ue,targetY:me,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...V}),[L.value==="source"||L.value===!0?[t.h("g",{onMousedown:pe,onMouseenter:v,onMouseout:B},t.h(Hp,{position:re,centerX:j,centerY:z,radius:i.value,type:"source","data-type":"source"}))]:null,L.value==="target"||L.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:v,onMouseout:B},t.h(Hp,{position:q,centerX:ue,centerY:me,radius:i.value,type:"target","data-type":"target"}))]:null]])};function v(){A.value=!0}function B(){A.value=!1}function W($,R){x.update({event:$,edge:b.value,connection:R})}function X($){x.updateEnd({event:$,edge:b.value}),I.value=!1}function oe($,R){$.button===0&&(I.value=!0,P.value=R?b.value.target:b.value.source,T.value=(R?b.value.targetHandle:b.value.sourceHandle)??null,k.value=R?"target":"source",x.updateStart({event:$,edge:b.value}),M($))}function H($){var R;const V={event:$,edge:b.value};S.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(R=G.value)==null||R.blur()):o([b.value])),x.click(V)}function ae($){x.contextMenu({event:$,edge:b.value})}function he($){x.doubleClick({event:$,edge:b.value})}function ee($){x.mouseEnter({event:$,edge:b.value})}function ie($){x.mouseMove({event:$,edge:b.value})}function se($){x.mouseLeave({event:$,edge:b.value})}function pe($){oe($,!0)}function fe($){oe($,!1)}function O($){var R;!g.value&&tp.includes($.key)&&S.value&&($.key==="Escape"?((R=G.value)==null||R.blur(),d([p(e.id)])):o([p(e.id)]))}}}),mP=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:p,findNode:u}=Ue(),f=(e=t.inject(zi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return u((w=r.value)==null?void 0:w.nodeId)}),g=t.computed(()=>{var w;return u((w=i.value)==null?void 0:w.nodeId)??null}),h=t.computed(()=>({x:(a.value.x-p.value.x)/p.value.zoom,y:(a.value.y-p.value.y)/p.value.zoom})),y=t.computed(()=>c.value.markerStart?`url(#${Ir(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Ir(c.value.markerEnd,n)})`:"");return()=>{var w,b,x;if(!m.value||!r.value)return null;const N=r.value.id,E=r.value.type,C=m.value.handleBounds;let A=(C==null?void 0:C[E])??[];if(o.value===An.Loose){const Y=(C==null?void 0:C[E==="source"?"target":"source"])??[];A=[...A,...Y]}if(!A)return null;const I=(N?A.find(Y=>Y.id===N):A[0])??null,P=(I==null?void 0:I.position)??Ne.Top,{x:T,y:k}=Uo(m.value,I,P);let G=null;g.value&&(o.value===An.Strict?G=((w=g.value.handleBounds[E==="source"?"target":"source"])==null?void 0:w.find(Y=>{var D;return Y.id===((D=i.value)==null?void 0:D.id)}))||null:G=((b=[...g.value.handleBounds.source??[],...g.value.handleBounds.target??[]])==null?void 0:b.find(Y=>{var D;return Y.id===((D=i.value)==null?void 0:D.id)}))||null);const S=((x=i.value)==null?void 0:x.position)??(P?ls[P]:null);if(!P||!S)return null;const L=l.value??c.value.type??no.Bezier;let F="";const ne={sourceX:T,sourceY:k,sourcePosition:P,targetX:h.value.x,targetY:h.value.y,targetPosition:S};return L===no.Bezier?[F]=Up(ne):L===no.Step?[F]=ps({...ne,borderRadius:0}):L===no.SmoothStep?[F]=ps(ne):L===no.SimpleBezier?[F]=jp(ne):F=`M${T},${k} ${h.value.x},${h.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},f?t.h(f,{sourceX:T,sourceY:k,sourcePosition:P,targetX:h.value.x,targetY:h.value.y,targetPosition:S,sourceNode:m.value,sourceHandle:I,targetNode:g.value,targetHandle:G,markerEnd:_.value,markerStart:y.value,connectionStatus:d.value}):t.h("path",{d:F,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":y.value})))}}}),gP=["id","markerWidth","markerHeight","markerUnits","orient"],hP={name:"MarkerType",compatConfig:{MODE:3}},yP=t.defineComponent({...hP,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(Nr).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(Nr).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,gP))}}),_P={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},bP={name:"MarkerDefinitions",compatConfig:{MODE:3}},wP=t.defineComponent({...bP,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Ue(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const p=Ir(d,n);l.has(p)||(typeof d=="object"?s.push({...d,id:p,color:d.color||i.value}):s.push({id:p,color:i.value,type:d}),l.add(p))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const p of[d.markerStart,d.markerEnd])c(p);return s.sort((d,p)=>d.id.localeCompare(p.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",_P,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(yP,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),kP={name:"Edges",compatConfig:{MODE:3}},CP=t.defineComponent({...kP,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Ue();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(wP),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(HA)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(pP),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(mP))],64))}}),EP=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:p,getNodeTypes:u,nodeExtent:f,elevateNodesOnSelect:m,disableKeyboardA11y:g,ariaLiveMessage:h,snapToGrid:y,snapGrid:_,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:x,nodesConnectable:N,nodesFocusable:E,hooks:C}=Ue(),A=t.ref(null);t.provide(Op,A),t.provide(Tp,e.id);const I=t.inject(zi),P=t.getCurrentInstance(),T=Dp(),{node:k,parentNode:G}=Vp(e.id),{emit:S,on:L}=pI(k,l),F=t.toRef(()=>typeof k.draggable>"u"?b.value:k.draggable),ne=t.toRef(()=>typeof k.selectable>"u"?x.value:k.selectable),Y=t.toRef(()=>typeof k.connectable>"u"?N.value:k.connectable),D=t.toRef(()=>typeof k.focusable>"u"?E.value:k.focusable),M=t.computed(()=>ne.value||F.value||C.value.nodeClick.hasListeners()||C.value.nodeDoubleClick.hasListeners()||C.value.nodeMouseEnter.hasListeners()||C.value.nodeMouseMove.hasListeners()||C.value.nodeMouseLeave.hasListeners()),v=t.toRef(()=>!!k.dimensions.width&&!!k.dimensions.height),B=t.computed(()=>{const R=k.type||"default",V=I==null?void 0:I[`node-${R}`];if(V)return V;let te=k.template||u.value[R];if(typeof te=="string"&&P){const K=Object.keys(P.appContext.components);K&&K.includes(R)&&(te=t.resolveComponent(R,!1))}return te&&typeof te!="string"?te:(l.error(new ut(at.NODE_TYPE_MISSING,te)),!1)}),W=$p({id:e.id,el:A,disabled:()=>!F.value,selectable:ne,dragHandle:()=>k.dragHandle,onStart(R){S.dragStart(R)},onDrag(R){S.drag(R)},onStop(R){S.dragStop(R)},onClick(R){O(R)}}),X=t.computed(()=>k.class instanceof Function?k.class(k):k.class),oe=t.computed(()=>{const R=(k.style instanceof Function?k.style(k):k.style)||{},V=k.width instanceof Function?k.width(k):k.width,te=k.height instanceof Function?k.height(k):k.height;return!R.width&&V&&(R.width=typeof V=="string"?V:`${V}px`),!R.height&&te&&(R.height=typeof te=="string"?te:`${te}px`),R}),H=t.toRef(()=>Number(k.zIndex??oe.value.zIndex??0));return p(R=>{(R.includes(e.id)||!R.length)&&he()}),t.onMounted(()=>{t.watch(()=>k.hidden,(R=!1,V,te)=>{!R&&A.value&&(e.resizeObserver.observe(A.value),te(()=>{A.value&&e.resizeObserver.unobserve(A.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>k.type,()=>k.sourcePosition,()=>k.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:A.value,forceUpdate:!0}])})}),t.watch([()=>k.position.x,()=>k.position.y,()=>{var R;return(R=G.value)==null?void 0:R.computedPosition.x},()=>{var R;return(R=G.value)==null?void 0:R.computedPosition.y},()=>{var R;return(R=G.value)==null?void 0:R.computedPosition.z},H,()=>k.selected,()=>k.dimensions.height,()=>k.dimensions.width,()=>{var R;return(R=G.value)==null?void 0:R.dimensions.height},()=>{var R;return(R=G.value)==null?void 0:R.dimensions.width}],([R,V,te,K,ce,U])=>{const re={x:R,y:V,z:U+(m.value&&k.selected?1e3:0)};typeof te<"u"&&typeof K<"u"?k.computedPosition=UA({x:te,y:K,z:ce},re):k.computedPosition=re},{flush:"post",immediate:!0}),t.watch([()=>k.extent,f],([R,V],[te,K])=>{(R!==te||V!==K)&&ae()}),k.extent==="parent"||typeof k.extent=="object"&&"range"in k.extent&&k.extent.range==="parent"?Ol(()=>v).toBe(!0).then(ae):ae(),()=>k.hidden?null:t.h("div",{ref:A,"data-id":k.id,class:["vue-flow__node",`vue-flow__node-${B.value===!1?"default":k.type||"default"}`,{[o.value]:F.value,dragging:W==null?void 0:W.value,draggable:F.value,selected:k.selected,selectable:ne.value,parent:k.isParent},X.value],style:{visibility:v.value?"visible":"hidden",zIndex:k.computedPosition.z??H.value,transform:`translate(${k.computedPosition.x}px,${k.computedPosition.y}px)`,pointerEvents:M.value?"all":"none",...oe.value},tabIndex:D.value?0:void 0,role:D.value?"group":void 0,"aria-describedby":g.value?void 0:`${Qf}-${n}`,"aria-label":k.ariaLabel,"aria-roledescription":"node",...k.domAttributes,onMouseenter:ee,onMousemove:ie,onMouseleave:se,onContextmenu:pe,onClick:O,onDblclick:fe,onKeydown:$},[t.h(B.value===!1?u.value.default:B.value,{id:k.id,type:k.type,data:k.data,events:{...k.events,...L},selected:k.selected,resizing:k.resizing,dragging:W.value,connectable:Y.value,position:k.computedPosition,dimensions:k.dimensions,isValidTargetPos:k.isValidTargetPos,isValidSourcePos:k.isValidSourcePos,parent:k.parentNode,parentNodeId:k.parentNode,zIndex:k.computedPosition.z??H.value,targetPosition:k.targetPosition,sourcePosition:k.sourcePosition,label:k.label,dragHandle:k.dragHandle,onUpdateNodeInternals:he})]);function ae(){const R=k.computedPosition,{computedPosition:V,position:te}=rs(k,y.value?Gi(R,_.value):R,l.error,f.value,G.value);(k.computedPosition.x!==V.x||k.computedPosition.y!==V.y)&&(k.computedPosition={...k.computedPosition,...V}),(k.position.x!==te.x||k.position.y!==te.y)&&(k.position=te)}function he(){A.value&&d([{id:e.id,nodeElement:A.value,forceUpdate:!0}])}function ee(R){W!=null&&W.value||S.mouseEnter({event:R,node:k})}function ie(R){W!=null&&W.value||S.mouseMove({event:R,node:k})}function se(R){W!=null&&W.value||S.mouseLeave({event:R,node:k})}function pe(R){return S.contextMenu({event:R,node:k})}function fe(R){return S.doubleClick({event:R,node:k})}function O(R){ne.value&&(!r.value||!F.value||w.value>0)&&ss(k,a.value,c,s,i,!1,A.value),S.click({event:R,node:k})}function $(R){if(!(es(R)||g.value))if(tp.includes(R.key)&&ne.value){const V=R.key==="Escape";ss(k,a.value,c,s,i,V,A.value)}else F.value&&k.selected&&Lo[R.key]&&(R.preventDefault(),h.value=`Moved selected node ${R.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~k.position.x}, y: ${~~k.position.y}`,T({x:Lo[R.key].x,y:Lo[R.key].y},R.shiftKey))}}});function NP(e={includeHiddenNodes:!1}){const{nodes:n}=Ue();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const xP={class:"vue-flow__nodes vue-flow__container"},SP={name:"Nodes",compatConfig:{MODE:3}},vP=t.defineComponent({...SP,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Ue(),i=NP(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",xP,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,p,u)=>{const f=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,f))return u;const m=(t.openBlock(),t.createBlock(t.unref(EP),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=f,m},s,0),128)):t.createCommentVNode("",!0)]))}});function AP(){const{emits:e}=Ue();t.onMounted(()=>{if(xp()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new ut(at.MISSING_STYLES))}})}const IP=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),PP={name:"VueFlow",compatConfig:{MODE:3}},Yp=t.defineComponent({...PP,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=$l(r,"modelValue",o),l=$l(r,"nodes",o),s=$l(r,"edges",o),c=Ue(r),d=yI({modelValue:a,nodes:l,edges:s},r,c);return bI(o,c.hooks),dP(),AP(),t.provide(zi,i),t.onUnmounted(()=>{d()}),n(c),(p,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(rP,null,{default:t.withCtx(()=>[t.createVNode(CP),IP,t.createVNode(vP),t.renderSlot(p.$slots,"zoom-pane")]),_:3}),t.renderSlot(p.$slots,"default"),t.createVNode(cP)],512))}}),TP={name:"Panel",compatConfig:{MODE:3}},OP=t.defineComponent({...TP,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Ue(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var yn=(e=>(e.Lines="lines",e.Dots="dots",e))(yn||{});const Wp=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Xp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};yn.Lines+"",yn.Dots+"";const $P={[yn.Dots]:"#81818a",[yn.Lines]:"#eee"},BP=["id","x","y","width","height","patternTransform"],VP={key:2,height:"100",width:"100"},DP=["fill"],RP=["x","y","fill"],MP={name:"Background",compatConfig:{MODE:3}},FP=t.defineComponent({...MP,props:{id:{},variant:{default:()=>yn.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Ue(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],p=e.size*l,[u,f]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,f*l||1+d[1]/2];return{scaledGap:d,offset:m,size:p}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||$P[e.variant||yn.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(yn).Lines?(t.openBlock(),t.createBlock(t.unref(Wp),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(yn).Dots?(t.openBlock(),t.createBlock(t.unref(Xp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",VP,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,DP)])):t.createCommentVNode("",!0)])],8,BP)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,RP),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),LP={name:"ControlButton",compatConfig:{MODE:3}},UP=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},KP={class:"vue-flow__controls-button"};function jP(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",KP,[t.renderSlot(e.$slots,"default")])}const Pr=UP(LP,[["render",jP]]),GP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},qP=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function zP(e,n){return t.openBlock(),t.createElementBlock("svg",GP,qP)}const HP={render:zP},YP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},WP=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function XP(e,n){return t.openBlock(),t.createElementBlock("svg",YP,WP)}const ZP={render:XP},JP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},QP=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function eT(e,n){return t.openBlock(),t.createElementBlock("svg",JP,QP)}const tT={render:eT},nT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},oT=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function rT(e,n){return t.openBlock(),t.createElementBlock("svg",nT,oT)}const iT={render:rT},aT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},lT=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function sT(e,n){return t.openBlock(),t.createElementBlock("svg",aT,lT)}const cT={render:sT},dT={name:"Controls",compatConfig:{MODE:3}},uT=t.defineComponent({...dT,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Zf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:p,maxZoom:u}=Ue(),f=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=p.value),g=t.toRef(()=>d.value.zoom>=u.value);function h(){l(),n("zoomIn")}function y(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function w(){a(!f.value),n("interactionChange",!f.value)}return(b,x)=>(t.openBlock(),t.createBlock(t.unref(OP),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(Pr,{class:"vue-flow__controls-zoomin",disabled:g.value,onClick:h},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(HP))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(Pr,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(ZP))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Pr,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(tT))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(Pr,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[f.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(cT))))]):t.createCommentVNode("",!0),f.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(iT))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),fT=["undo","redo","duplicate","cut","copy","paste"],Zp=()=>{};function pT(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function mT(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const gT=qe.createSharedComposable(()=>{const e=new Set;qe.useEventListener("keydown",o=>{if(pT(o.target))return;const r=mT(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!fT.some(i=>typeof o[i]=="function"))return Zp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function Jp(e={}){if(typeof window>"u")return Zp;const n=gT().subscribe(e);return t.onScopeDispose(n),n}const Qp=44,hT=220,em=366,yT=1e3,_T=Qp+parseFloat(Td),Qi=1,bT=0,wT=1,kT=2,CT=3,Ko=parseInt(PC,10),Tr="application/x-datakit+json",ea={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},Or={padding:80,gaps:{nodes:60,edges:80,ranks:60}},ET=1600,NT=1.2,xT=0,ST=200,tm=Symbol("confirm-modal"),jo="{key}",ao={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},ta=Object.keys(ao).filter(e=>e.includes(jo)).map(e=>e.replace(jo,""));function gs(e){if(!e||!Br(e))return;const n=ta.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(jo,"")}function $r(e){if(!e)return null;const n=ta.find(o=>e.startsWith(o));return n||e}function Br(e){return e?ta.some(n=>e.startsWith(n)):!1}function nm(e){return e?Br(e)?$r(e)+jo:e:null}function hs(e){var o;if(!e)return!1;const n=nm(e);return n?((o=ao[n])==null?void 0:o.readable)??!1:!1}function ys(e){var o;if(!e)return!1;const n=nm(e);return n?((o=ao[n])==null?void 0:o.writable)??!1:!1}function vT(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var AT="\0",lo="\0",om="";let IT=class{constructor(n){ct(this,"_isDirected",!0);ct(this,"_isMultigraph",!1);ct(this,"_isCompound",!1);ct(this,"_label");ct(this,"_defaultNodeLabelFn",()=>{});ct(this,"_defaultEdgeLabelFn",()=>{});ct(this,"_nodes",{});ct(this,"_in",{});ct(this,"_preds",{});ct(this,"_out",{});ct(this,"_sucs",{});ct(this,"_edgeObjs",{});ct(this,"_edgeLabels",{});ct(this,"_nodeCount",0);ct(this,"_edgeCount",0);ct(this,"_parent");ct(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[lo]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=lo,this._children[n]={},this._children[lo][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=lo;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==lo)return o}}children(n=lo){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===lo)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Vr(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=PT(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,rm(this._preds[o],n),rm(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?_s(this._isDirected,arguments[0]):Vr(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?_s(this._isDirected,arguments[0]):Vr(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?_s(this._isDirected,arguments[0]):Vr(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],im(this._preds[o],n),im(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function rm(e,n){e[n]?e[n]++:e[n]=1}function im(e,n){--e[n]||delete e[n]}function Vr(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+om+a+om+(r===void 0?AT:r)}function PT(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function _s(e,n){return Vr(e,n.v,n.w,n.name)}var bs=IT,TT="2.2.4",OT={Graph:bs,version:TT},$T=bs,BT={write:VT,read:MT};function VT(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:DT(e),edges:RT(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function DT(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function RT(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function MT(e){var n=new $T(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var FT=LT;function LT(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var am=class{constructor(){ct(this,"_arr",[]);ct(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},UT=am,lm=jT,KT=()=>1;function jT(e,n,o,r){return GT(e,String(n),o||KT,r||function(i){return e.outEdges(i)})}function GT(e,n,o,r){var i={},a=new UT,l,s,c=function(d){var p=d.v!==l?d.v:d.w,u=i[p],f=o(d),m=s.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+f);m<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(p,m))};for(e.nodes().forEach(function(d){var p=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:p},a.add(d,p)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var qT=lm,zT=HT;function HT(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=qT(e,i,n,o),r},{})}var sm=YT;function YT(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(p){Object.hasOwn(r,p)?r[p].onStack&&(s.lowlink=Math.min(s.lowlink,r[p].index)):(a(p),s.lowlink=Math.min(s.lowlink,r[p].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var WT=sm,XT=ZT;function ZT(e){return WT(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var JT=eO,QT=()=>1;function eO(e,n,o){return tO(e,n||QT,o||function(r){return e.outEdges(r)})}function tO(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var p=c[a],u=l[d],f=c[d],m=p.distance+u.distance;m<f.distance&&(f.distance=m,f.predecessor=u.predecessor)})})}),r}function cm(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new ws;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new ws;return r}class ws extends Error{constructor(){super(...arguments)}}var dm=cm;cm.CycleException=ws;var um=dm,nO=oO;function oO(e){try{um(e)}catch(n){if(n instanceof um.CycleException)return!1;throw n}return!0}var fm=rO;function rO(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?iO:aO,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function iO(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),pm(n(a[0]),l=>i.push([l,!1])))}}function aO(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),pm(n(a),l=>i.push(l)))}}function pm(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var lO=fm,sO=cO;function cO(e,n){return lO(e,n,"post")}var dO=fm,uO=fO;function fO(e,n){return dO(e,n,"pre")}var pO=bs,mO=am,gO=hO;function hO(e,n){var o=new pO,r={},i=new mO,a;function l(c){var d=c.v===a?c.w:c.v,p=i.priority(d);if(p!==void 0){var u=n(c);u<p&&(r[d]=a,i.decrease(d,u))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var yO={components:FT,dijkstra:lm,dijkstraAll:zT,findCycles:XT,floydWarshall:JT,isAcyclic:nO,postorder:sO,preorder:uO,prim:gO,tarjan:sm,topsort:dm},mm=OT,Wt={Graph:mm.Graph,json:BT,alg:yO,version:mm.version};let _O=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return gm(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&gm(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,bO)),r=r._prev;return"["+n.join(", ")+"]"}};function gm(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function bO(e,n){if(e!=="_next"&&e!=="_prev")return n}var wO=_O;let kO=Wt.Graph,CO=wO;var EO=xO;let NO=()=>1;function xO(e,n){if(e.nodeCount()<=1)return[];let o=vO(e,n||NO);return SO(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function SO(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)ks(e,n,o,l);for(;l=i.dequeue();)ks(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(ks(e,n,o,l,!0));break}}}return r}function ks(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Cs(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Cs(n,o,d)}),e.removeNode(r.v),a}function vO(e,n){let o=new kO,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),p=c+d;o.setEdge(s.v,s.w,p),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=AO(i+r+3).map(()=>new CO),l=r+1;return o.nodes().forEach(s=>{Cs(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Cs(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function AO(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let hm=Wt.Graph;var st={addBorderNode:RO,addDummyNode:ym,applyWithChunking:na,asNonCompoundGraph:PO,buildLayerMatrix:BO,intersectRect:$O,mapValues:GO,maxRank:bm,normalizeRanks:VO,notime:UO,partition:FO,pick:jO,predecessorWeights:OO,range:km,removeEmptyRanks:DO,simplify:IO,successorWeights:TO,time:LO,uniqueId:wm,zipObject:Es};function ym(e,n,o,r){for(var i=r;e.hasNode(i);)i=wm(r);return o.dummy=n,e.setNode(i,o),i}function IO(e){let n=new hm().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function PO(e){let n=new hm({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function TO(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Es(e.nodes(),n)}function OO(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Es(e.nodes(),n)}function $O(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function BO(e){let n=km(bm(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function VO(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=na(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function DO(e){let n=e.nodes().map(l=>e.node(l).rank),o=na(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function RO(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),ym(e,"border",i,n)}function MO(e,n=_m){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const _m=65535;function na(e,n){if(n.length>_m){const o=MO(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function bm(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return na(Math.max,o)}function FO(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function LO(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function UO(e,n){return n()}let KO=0;function wm(e){var n=++KO;return e+(""+n)}function km(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function jO(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function GO(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Es(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let qO=EO,zO=st.uniqueId;var HO={run:YO,undo:XO};function YO(e){(e.graph().acyclicer==="greedy"?qO(e,o(e)):WO(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,zO("rev"))});function o(r){return i=>r.edge(i).weight}}function WO(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function XO(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let ZO=st;var JO={run:QO,undo:t$};function QO(e){e.graph().dummyChains=[],e.edges().forEach(n=>e$(e,n))}function e$(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,p,u;for(u=0,++r;r<a;++u,++r)s.points=[],p={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=ZO.addDummyNode(e,"edge",p,"_d"),r===c&&(p.width=s.width,p.height=s.height,p.dummy="edge-label",p.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function t$(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:n$}=st;var oa={longestPath:o$,slack:r$};function o$(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=n$(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function r$(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var i$=Wt.Graph,ra=oa.slack,Cm=a$;function a$(e){var n=new i$({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;l$(n,e)<r;)i=s$(n,e),a=n.hasNode(i.v)?ra(e,i):-ra(e,i),c$(n,e,a);return n}function l$(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!ra(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function s$(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=ra(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function c$(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var d$=Cm,Em=oa.slack,u$=oa.longestPath,f$=Wt.alg.preorder,p$=Wt.alg.postorder,m$=st.simplify,g$=so;so.initLowLimValues=xs,so.initCutValues=Ns,so.calcCutValue=Nm,so.leaveEdge=Sm,so.enterEdge=vm,so.exchangeEdges=Am;function so(e){e=m$(e),u$(e);var n=d$(e);xs(n),Ns(n,e);for(var o,r;o=Sm(n);)r=vm(n,e,o),Am(n,e,o,r)}function Ns(e,n){var o=p$(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>h$(e,n,r))}function h$(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Nm(e,n,o)}function Nm(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,p=d?c.w:c.v;if(p!==i){var u=d===a,f=n.edge(c).weight;if(s+=u?f:-f,_$(e,o,p)){var m=e.edge(o,p).cutvalue;s+=u?-m:m}}}),s}function xs(e,n){arguments.length<2&&(n=e.nodes()[0]),xm(e,{},1,n)}function xm(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=xm(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function Sm(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function vm(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(p=>c===Im(e,e.node(p.v),s)&&c!==Im(e,e.node(p.w),s));return d.reduce((p,u)=>Em(n,u)<Em(n,p)?u:p)}function Am(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),xs(e),Ns(e,n),y$(e,n)}function y$(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=f$(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function _$(e,n,o){return e.hasEdge(n,o)}function Im(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var b$=oa,Pm=b$.longestPath,w$=Cm,k$=g$,C$=E$;function E$(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":Tm(e);break;case"tight-tree":x$(e);break;case"longest-path":N$(e);break;case"none":break;default:Tm(e)}}var N$=Pm;function x$(e){Pm(e),w$(e)}function Tm(e){k$(e)}var S$=v$;function v$(e){let n=I$(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=A$(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],p=!0;for(;o!==i.w;){if(r=e.node(o),p){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(p=!1)}if(!p){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function A$(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function I$(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let ia=st;var P$={run:T$,cleanup:B$};function T$(e){let n=ia.addDummyNode(e,"root",{},"_root"),o=O$(e),r=Object.values(o),i=ia.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=$$(e)+1;e.children().forEach(s=>Om(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Om(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=ia.addBorderNode(e,"_bt"),d=ia.addBorderNode(e,"_bb"),p=e.node(l);e.setParent(c,l),p.borderTop=c,e.setParent(d,l),p.borderBottom=d,s.forEach(u=>{Om(e,n,o,r,i,a,u);let f=e.node(u),m=f.borderTop?f.borderTop:u,g=f.borderBottom?f.borderBottom:u,h=f.borderTop?r:2*r,y=m!==g?1:i-a[l]+1;e.setEdge(c,m,{weight:h,minlen:y,nestingEdge:!0}),e.setEdge(g,d,{weight:h,minlen:y,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function O$(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function $$(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function B$(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let V$=st;var D$=R$;function R$(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)$m(e,"borderLeft","_bl",o,i,a),$m(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function $m(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=V$.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var M$={adjust:F$,undo:L$};function F$(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Bm(e)}function L$(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&U$(e),(n==="lr"||n==="rl")&&(K$(e),Bm(e))}function Bm(e){e.nodes().forEach(n=>Vm(e.node(n))),e.edges().forEach(n=>Vm(e.edge(n)))}function Vm(e){let n=e.width;e.width=e.height,e.height=n}function U$(e){e.nodes().forEach(n=>Ss(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Ss),Object.hasOwn(o,"y")&&Ss(o)})}function Ss(e){e.y=-e.y}function K$(e){e.nodes().forEach(n=>vs(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(vs),Object.hasOwn(o,"x")&&vs(o)})}function vs(e){let n=e.x;e.x=e.y,e.y=n}let Dm=st;var j$=G$;function G$(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Dm.applyWithChunking(Math.max,r),a=Dm.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let q$=st.zipObject;var z$=H$;function H$(e,n){let o=0;for(let r=1;r<n.length;++r)o+=Y$(e,n[r-1],n[r]);return o}function Y$(e,n,o){let r=q$(o,o.map((d,p)=>p)),i=n.flatMap(d=>e.outEdges(d).map(p=>({pos:r[p.w],weight:e.edge(p).weight})).sort((p,u)=>p.pos-u.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let p=d.pos+a;s[p]+=d.weight;let u=0;for(;p>0;)p%2&&(u+=s[p+1]),p=p-1>>1,s[p]+=d.weight;c+=d.weight*u}),c}var W$=X$;function X$(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let Z$=st;var J$=Q$;function Q$(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return eB(r)}function eB(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&tB(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>Z$.pick(i,["vs","i","barycenter","weight"]))}function tB(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let nB=st;var oB=rB;function rB(e,n){let o=nB.partition(e,p=>Object.hasOwn(p,"barycenter")),r=o.lhs,i=o.rhs.sort((p,u)=>u.i-p.i),a=[],l=0,s=0,c=0;r.sort(iB(!!n)),c=Rm(a,i,c),r.forEach(p=>{c+=p.vs.length,a.push(p.vs),l+=p.barycenter*p.weight,s+=p.weight,c=Rm(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Rm(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function iB(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let aB=W$,lB=J$,sB=oB;var cB=Mm;function Mm(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(f=>f!==l&&f!==s));let d=aB(e,i);d.forEach(f=>{if(e.children(f.v).length){let m=Mm(e,f.v,o,r);c[f.v]=m,Object.hasOwn(m,"barycenter")&&uB(f,m)}});let p=lB(d,o);dB(p,c);let u=sB(p,r);if(l&&(u.vs=[l,u.vs,s].flat(!0),e.predecessors(l).length)){let f=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+f.order+m.order)/(u.weight+2),u.weight+=2}return u}function dB(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function uB(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let fB=Wt.Graph,pB=st;var mB=gB;function gB(e,n,o){let r=hB(e),i=new fB({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,p=i.edge(d,a),u=p!==void 0?p.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function hB(e){for(var n;e.hasNode(n=pB.uniqueId("_root")););return n}var yB=_B;function _B(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let bB=j$,wB=z$,kB=cB,CB=mB,EB=yB,NB=Wt.Graph,aa=st;var xB=Fm;function Fm(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Fm);return}let o=aa.maxRank(e),r=Lm(e,aa.range(1,o+1),"inEdges"),i=Lm(e,aa.range(o-1,-1,-1),"outEdges"),a=bB(e);if(Um(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){SB(c%2?r:i,c%4>=2),a=aa.buildLayerMatrix(e);let p=wB(e,a);p<l&&(d=0,s=Object.assign({},a),l=p)}Um(e,s)}function Lm(e,n,o){return n.map(function(r){return CB(e,r,o)})}function SB(e,n){let o=new NB;e.forEach(function(r){let i=r.graph().root,a=kB(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),EB(r,o,a.vs)})}function Um(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let vB=Wt.Graph,_n=st;var AB={positionX:FB};function IB(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((p,u)=>{let f=TB(e,p),m=f?e.node(f).order:c;(f||p===d)&&(a.slice(s,u+1).forEach(g=>{e.predecessors(g).forEach(h=>{let y=e.node(h),_=y.order;(_<l||m<_)&&!(y.dummy&&e.node(g).dummy)&&Km(o,h,g)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function PB(e,n){let o={};function r(a,l,s,c,d){let p;_n.range(l,s).forEach(u=>{p=a[u],e.node(p).dummy&&e.predecessors(p).forEach(f=>{let m=e.node(f);m.dummy&&(m.order<c||m.order>d)&&Km(o,f,p)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((p,u)=>{if(e.node(p).dummy==="border"){let f=e.predecessors(p);f.length&&(c=e.node(f[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function TB(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Km(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function OB(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function $B(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let p=r(d);if(p.length){p=p.sort((f,m)=>l[f]-l[m]);let u=(p.length-1)/2;for(let f=Math.floor(u),m=Math.ceil(u);f<=m;++f){let g=p[f];a[d]===d&&c<l[g]&&!OB(o,d,g)&&(a[g]=d,a[d]=i[d]=i[g],c=l[g])}}})}),{root:i,align:a}}function BB(e,n,o,r,i){let a={},l=VB(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,f){let m=l.nodes(),g=m.pop(),h={};for(;g;)h[g]?u(g):(h[g]=!0,m.push(g),m=m.concat(f(g))),g=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((f,m)=>Math.max(f,a[m.v]+l.edge(m)),0)}function p(u){let f=l.outEdges(u).reduce((g,h)=>Math.min(g,a[h.w]-l.edge(h)),Number.POSITIVE_INFINITY),m=e.node(u);f!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],f))}return c(d,l.predecessors.bind(l)),c(p,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function VB(e,n,o,r){let i=new vB,a=e.graph(),l=LB(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let p=o[d];if(i.setNode(p),c){var u=o[c],f=i.edge(u,p);i.setEdge(u,p,Math.max(l(e,d,c),f||0))}c=d})}),i}function DB(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=UB(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function RB(e,n){let o=Object.values(n),r=_n.applyWithChunking(Math.min,o),i=_n.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),p=r-_n.applyWithChunking(Math.min,d);l!=="l"&&(p=i-_n.applyWithChunking(Math.max,d)),p&&(e[s]=_n.mapValues(c,u=>u+p))})})}function MB(e,n){return _n.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function FB(e){let n=_n.buildLayerMatrix(e),o=Object.assign(IB(e,n),PB(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=$B(e,i,o,c),p=BB(e,i,d.root,d.align,s==="r");s==="r"&&(p=_n.mapValues(p,u=>-u)),r[l+s]=p})});let a=DB(e,r);return RB(r,a),MB(r,e.graph().align)}function LB(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function UB(e,n){return e.node(n).width}let jm=st,KB=AB.positionX;var jB=GB;function GB(e){e=jm.asNonCompoundGraph(e),qB(e),Object.entries(KB(e)).forEach(([n,o])=>e.node(n).x=o)}function qB(e){let n=jm.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let Gm=HO,qm=JO,zB=C$,HB=st.normalizeRanks,YB=S$,WB=st.removeEmptyRanks,zm=P$,XB=D$,Hm=M$,ZB=xB,JB=jB,Ut=st,QB=Wt.Graph;var eV=tV;function tV(e,n){let o=n&&n.debugTiming?Ut.time:Ut.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>uV(e));o(" runLayout",()=>nV(r,o,n)),o(" updateInputGraph",()=>oV(e,r))})}function nV(e,n,o){n(" makeSpaceForEdgeLabels",()=>fV(e)),n(" removeSelfEdges",()=>kV(e)),n(" acyclic",()=>Gm.run(e)),n(" nestingGraph.run",()=>zm.run(e)),n(" rank",()=>zB(Ut.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>pV(e)),n(" removeEmptyRanks",()=>WB(e)),n(" nestingGraph.cleanup",()=>zm.cleanup(e)),n(" normalizeRanks",()=>HB(e)),n(" assignRankMinMax",()=>mV(e)),n(" removeEdgeLabelProxies",()=>gV(e)),n(" normalize.run",()=>qm.run(e)),n(" parentDummyChains",()=>YB(e)),n(" addBorderSegments",()=>XB(e)),n(" order",()=>ZB(e,o)),n(" insertSelfEdges",()=>CV(e)),n(" adjustCoordinateSystem",()=>Hm.adjust(e)),n(" position",()=>JB(e)),n(" positionSelfEdges",()=>EV(e)),n(" removeBorderNodes",()=>wV(e)),n(" normalize.undo",()=>qm.undo(e)),n(" fixupEdgeLabelCoords",()=>_V(e)),n(" undoCoordinateSystem",()=>Hm.undo(e)),n(" translateGraph",()=>hV(e)),n(" assignNodeIntersects",()=>yV(e)),n(" reversePoints",()=>bV(e)),n(" acyclic.undo",()=>Gm.undo(e))}function oV(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let rV=["nodesep","edgesep","ranksep","marginx","marginy"],iV={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},aV=["acyclicer","ranker","rankdir","align"],lV=["width","height","rank"],Ym={width:0,height:0},sV=["minlen","weight","width","height","labeloffset"],cV={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},dV=["labelpos"];function uV(e){let n=new QB({multigraph:!0,compound:!0}),o=Is(e.graph());return n.setGraph(Object.assign({},iV,As(o,rV),Ut.pick(o,aV))),e.nodes().forEach(r=>{let i=Is(e.node(r));const a=As(i,lV);Object.keys(Ym).forEach(l=>{a[l]===void 0&&(a[l]=Ym[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Is(e.edge(r));n.setEdge(r,Object.assign({},cV,As(i,sV),Ut.pick(i,dV)))}),n}function fV(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function pV(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};Ut.addDummyNode(e,"edge-proxy",a,"_ep")}})}function mV(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function gV(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function hV(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let p=d.x,u=d.y,f=d.width,m=d.height;n=Math.min(n,p-f/2),o=Math.max(o,p+f/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let p=e.edge(d);Object.hasOwn(p,"x")&&c(p)}),n-=l,r-=s,e.nodes().forEach(d=>{let p=e.node(d);p.x-=n,p.y-=r}),e.edges().forEach(d=>{let p=e.edge(d);p.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(p,"x")&&(p.x-=n),Object.hasOwn(p,"y")&&(p.y-=r)}),a.width=o-n+l,a.height=i-r+s}function yV(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(Ut.intersectRect(r,a)),o.points.push(Ut.intersectRect(i,l))})}function _V(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function bV(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function wV(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function kV(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function CV(e){var n=Ut.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{Ut.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function EV(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function As(e,n){return Ut.mapValues(Ut.pick(e,n),Number)}function Is(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let NV=st,xV=Wt.Graph;var SV={debugOrdering:vV};function vV(e){let n=NV.buildLayerMatrix(e),o=new xV({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var AV="1.1.5",IV={graphlib:Wt,layout:eV,debug:SV,util:{time:st.time,notime:st.notime},version:AV};const Wm=vT(IV);function Xm(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(fd,e);return o=>n(o)}function la(e,n,o){const r=n?vn(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Dr(e,n){const o=n(e.source),r=n(e.target);return[la(o,e.sourceField,"output"),la(r,e.targetField,"input")]}function Ps(e,n,o,r,i){const a=i(e),l=i(o);return[la(a,n,"output"),la(l,r,"input")]}function Zm(e){if(e.length===0)throw new Error("getBoundingRect requires at least one rect");let n=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const{x:a,y:l,width:s,height:c}of e){if(![a,l,s,c].every(Number.isFinite))throw new Error("Rect values must be finite numbers");if(s<0||c<0)throw new RangeError("Rect width and height must be non-negative");const d=a+s,p=l+c;if(!Number.isFinite(d)||!Number.isFinite(p))throw new RangeError("Rect boundaries must be finite numbers");a<n&&(n=a),l<o&&(o=l),d>r&&(r=d),p>i&&(i=p)}return{x:n,y:o,width:r-n,height:i-o}}function PV({phase:e,groupMapById:n,getNodeDepth:o}){const r=t.shallowRef(),i=t.shallowRef();function a(d){r.value=d,i.value=void 0}function l(){r.value&&(r.value=void 0,i.value=void 0)}function s(d){let p;return n.value.forEach(u=>{if(u.phase!==e)return;const f=u.position,m=u.dimensions;if(!f||!m||!(d.x>=f.x&&d.x<=f.x+m.width&&d.y>=f.y&&d.y<=f.y+m.height))return;const h=o(u.ownerId);(!p||h>p.depth)&&(p={depth:h,id:u.id})}),p==null?void 0:p.id}function c(d){if(!r.value){i.value=void 0;return}if(!d){i.value=void 0;return}i.value=s(d)}return{activeGroupId:i,start:a,updateActiveGroup:c,end:l}}function TV({phase:e,readonly:n,flowId:o}){const{findNode:r}=Ue(o),i=nt(),{state:a,groupMapById:l,getNodeById:s,moveNode:c,moveGroup:d,setGroupLayout:p,commit:u,branchGroups:f}=i,{memberGroupMap:m,groupsByOwner:g,getNodeDepth:h,getGroupDepth:y}=f,_=t.ref(),w=D=>!!D&&D.startsWith("branch:");function b(D){const M=[];for(const v of D.memberIds){const B=s(v);B&&M.push(B)}return M}const x=t.computed(()=>{const D=new Map;return m.value.forEach((M,v)=>{if(M.phase!==e||!M.position)return;const B=s(v);B&&(B.phase!==e||B.hidden||D.set(v,M))}),D}),N=t.computed(()=>{const D=new Map;return g.value.forEach((M,v)=>{const B=M.filter(W=>W.phase===e);B.length>0&&D.set(v,B)}),D}),E=t.computed(()=>{const D=[];for(const M of a.value.groups){const v=s(M.ownerId);if(!v||v.phase!==e)continue;const B=M.position,W=M.dimensions;if(!B||!W)continue;const X=b(M).filter(H=>H.phase===e&&!H.hidden),oe=y(M.id);D.push({id:M.id,type:"group",position:B,width:W.width,height:W.height,data:{...M,memberIds:X.map(H=>H.id)},draggable:!n,selectable:!1,zIndex:oe*Qi+bT})}return D}),C=t.computed(()=>{let D=0;for(const M of a.value.groups){if(M.phase!==e)continue;const v=y(M.id);v>D&&(D=v)}return D}),A=t.computed(()=>{const D=[];for(const M of a.value.groups){if(M.phase!==e||!M.position||!M.dimensions)continue;const v=s(M.ownerId);if(!v||v.phase!==e||v.hidden||!b(M).filter(oe=>oe.phase===e&&!oe.hidden).length)continue;const W=Math.max(h(v.id),y(M.id))+C.value+1,X={id:`branch:${M.id}`,source:v.id,target:M.id,sourceHandle:`branch@${M.branch}`,targetHandle:"input",markerEnd:Nr.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:v.id,branch:M.branch,groupId:M.id},zIndex:W*Qi+kT};D.push(X)}return D}),I=new Map,P=new Map;let T;function k(D,M=!0){if(D.phase!==e)return;const v=b(D).filter(H=>H.phase===e&&!H.hidden);if(!v.length)return;const B=[];for(const H of v){const ae=r(H.id),he=ae==null?void 0:ae.dimensions,ee=(he==null?void 0:he.width)??0,ie=(he==null?void 0:he.height)??0;if(ee<=0||ie<=0)return;B.push({...H.position,width:ee,height:ie});const se=g.value.get(H.id)??[];for(const pe of se){if(pe.phase!==e)continue;const fe=I.get(pe.id),O=(fe==null?void 0:fe.position)??pe.position,$=(fe==null?void 0:fe.dimensions)??pe.dimensions;!O||!$||B.push({x:O.x,y:O.y,width:$.width,height:$.height})}}const W=Zm(B),X=W.width+Ko*2,oe=W.height+Ko*2;return{position:{x:Math.round(W.x-Ko),y:Math.round(W.y-Ko)},dimensions:{width:Math.round(X),height:Math.round(oe)},commit:M}}function G(){if(I.size===0){T=void 0;return}const D=[];let M=!1;I.forEach((v,B)=>{const W=p(B,v,!1);D.push({id:B,changed:W,commit:v.commit}),v.commit&&W&&!M&&(M=!0)}),I.clear(),T=void 0;for(const{id:v,changed:B,commit:W}of D){if(!B)continue;const X=l.value.get(v);if(!X)continue;const oe=x.value.get(X.ownerId);oe&&P.set(oe.id,{commit:W})}if(P.size>0){const v=Array.from(P);P.clear();for(const[B,{commit:W}]of v)L(B,W)}M&&u("*")}function S(){I.size!==0&&(T||(T=t.nextTick().then(G)))}function L(D,M=!0){const v=l.value.get(D);if(!v)return;const B=k(v,M);B&&(I.set(D,B),S())}function F(D,M,v,B){const W=l.value.get(D);if(!W)return;if(!W.position){d(D,M,!1),L(D);return}if(v===0&&B===0){d(D,M,!1);return}d(D,M,!1);const X=[D],oe=new Set([D]),H=new Set;for(;X.length;){const ae=X.shift(),he=l.value.get(ae);if(!he)continue;const ee=b(he).filter(ie=>ie.phase===e&&!ie.hidden);for(const ie of ee){H.has(ie.id)||(c(ie.id,{x:ie.position.x+v,y:ie.position.y+B},!1),H.add(ie.id));const se=N.value.get(ie.id)??[];for(const pe of se){if(oe.has(pe.id))continue;const fe=l.value.get(pe.id);fe!=null&&fe.position&&d(pe.id,{x:fe.position.x+v,y:fe.position.y+B},!1),oe.add(pe.id),X.push(pe.id)}}}}function ne(D,M){const v=_.value;if(!v)return!1;if(v===D||M.some(B=>v===B))return!0;for(const B of M){const W=N.value.get(B)??[];if(W!=null&&W.some(X=>X.id===v))return!0}return!1}const Y=new Map;return t.watch(()=>a.value.groups.filter(M=>M.phase===e).map(M=>{const v=M.memberIds.map(B=>{var H,ae;const W=r(B),X=Math.round(((H=W==null?void 0:W.dimensions)==null?void 0:H.width)??0),oe=Math.round(((ae=W==null?void 0:W.dimensions)==null?void 0:ae.height)??0);return`${B}:${X}x${oe}`});return{id:M.id,memberIds:M.memberIds,signature:v.join(",")}}),D=>{const M=new Set(D.map(v=>v.id));for(const v of Y.keys())M.has(v)||Y.delete(v);for(const v of D)ne(v.id,v.memberIds)||Y.get(v.id)===v.signature||(Y.set(v.id,v.signature),L(v.id))},{deep:!0,flush:"post"}),{groupsByOwner:N,memberGroupMap:x,groupNodes:E,branchEdges:A,isBranchEdgeId:w,updateGroupLayout:L,translateGroupTree:F,updateDragging:D=>{_.value=D},getNodeDepth:h,maxGroupDepth:C,waitForLayoutFlush:()=>T??Promise.resolve()}}function OV(e){t.provide(tm,e)}function Jm(){return t.inject(tm,void 0)}function Qm(){const e=Jm();if(!e)throw new Error("Confirm modal not provided");return e}function $V(e){const{readonly:n,flowId:o}=e,r=Ue(o),{onNodesChange:i,onEdgesChange:a,onPaneClick:l,findEdge:s}=r,{disconnectEdge:c,commit:d,portalSelection:p,selectPortalEdge:u}=nt();i(f=>{f.some(m=>m.type==="select"&&"selected"in m&&m.selected)&&u(void 0)}),a(f=>{const m=f.some(h=>h.type==="select"&&"selected"in h&&h.selected),g=p.value?f.some(h=>h.type==="remove"&&h.id===p.value):!1;(m||g)&&u(void 0)}),l(()=>u(void 0)),qe.useEventListener("keydown",f=>{if(n||f.key!=="Delete"&&f.key!=="Backspace")return;const m=p.value;!m||s(m)||(f.preventDefault(),c(m,!1),u(void 0),d())})}function eg(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const BV={default:yC,hover:bC,selected:_C};let tg,Ts;function sa(e){const n=e.id===tg?"selected":e.id===Ts?"hover":"default",o=BV[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o},a=e.zIndex??0,l=n==="selected"?a+2:n==="hover"?a+1:a;return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:l}}const[VV,DV]=qe.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=Or.padding,gaps:s=Or.gaps}=r,{nodes:c=Or.gaps.nodes,edges:d=Or.gaps.edges,ranks:p=Or.gaps.ranks}=s,u=Ue(o),f=nt(),m=Jm(),g=Xm(),{i18n:{t:h}}=De(),{findNode:y,fitView:_,deleteKeyCode:w,onNodeDrag:b,onNodeDragStop:x,onConnect:N,onNodesChange:E,onEdgesChange:C,onEdgeUpdate:A,onEdgeMouseEnter:I,onEdgeMouseLeave:P,getNodes:T,setNodes:k,setEdges:G,addSelectedNodes:S,screenToFlowCoordinate:L}=u;w.value=["Delete","Backspace"];const{state:F,commit:ne,moveNode:Y,selectNode:D,removeNode:M,getNodeById:v,connectEdge:B,disconnectEdge:W,getInEdgesByNodeId:X,branchGroups:oe,commit:H,reset:ae,groupMapById:he}=f,{isGroupId:ee}=oe;function ie(le,we){const de=v(le.source),_e=v(le.target);return!!(de&&_e&&de.phase===we&&_e.phase===we)}const{groupsByOwner:se,memberGroupMap:pe,groupNodes:fe,branchEdges:O,isBranchEdgeId:$,updateGroupLayout:R,translateGroupTree:V,updateDragging:te,getNodeDepth:K,maxGroupDepth:ce,waitForLayoutFlush:U}=TV({phase:n,readonly:i,flowId:o}),{activeGroupId:re,start:q,updateActiveGroup:j,end:z}=PV({phase:n,groupMapById:he,getNodeDepth:K}),ue=t.computed(()=>F.value.nodes.filter(le=>le.phase===n&&!le.hidden).map(le=>{const we=pe.value.get(le.id),de=we==null?void 0:we.position,_e=we==null?void 0:we.dimensions,Ce=we&&de&&_e?{x:le.position.x-de.x,y:le.position.y-de.y}:le.position,Ie=K(le.id),Oe=!!(we&&de&&_e),Fe=(Oe?Ie:0)+ce.value+1;return{id:le.id,type:"flow",position:Ce,data:le,deletable:!Nl(le),parentNode:Oe?we.id:void 0,zIndex:Fe*Qi+CT}})),me=t.computed(()=>F.value.edges.filter(le=>ie(le,n)).filter(le=>!oe.isEdgeEnteringGroup(le.source,le.target)).filter(le=>{const we=v(le.source),de=v(le.target);return!(we!=null&&we.hidden)&&!(de!=null&&de.hidden)}).map(le=>{const we=v(le.source),de=v(le.target);if(we){if(!de)throw new Error(`Missing target node "${le.target}" for edge "${le.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${le.source}" for edge "${le.id}" in phase "${n}"`);const _e=Math.max(K(le.source),K(le.target))+ce.value+1;return sa({id:le.id,source:le.source,target:le.target,sourceHandle:le.sourceField?`outputs@${le.sourceField}`:"output",targetHandle:le.targetField?`inputs@${le.targetField}`:"input",markerEnd:Nr.ArrowClosed,data:le,updatable:!i,zIndex:_e*Qi+wT})})),Q=t.computed(()=>[...O.value,...me.value]);$V({readonly:i,flowId:o}),t.watch([ue,fe,Q],([le,we,de])=>{k([...we,...le]),G(de)},{immediate:!0});const ke=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Se({source:le,sourceHandle:we,target:de,targetHandle:_e}){if(!we||!_e)return;const Ce=eg(we),Ie=eg(_e);if((Ce==null?void 0:Ce.io)==="input"||(Ie==null?void 0:Ie.io)==="output"||we==="output"&&_e==="output")return;const Oe=X(de);let Fe=!1,Ze=!1;const Ke=[],Je=[],Me=(Ie==null?void 0:Ie.io)==="input"?Oe.filter(Te=>!Te.targetField):Oe.filter(Te=>!!Te.targetField);Me.length>0&&(Fe=!0,Me.forEach(Te=>{Je.push(Dr(Te,v)),W(Te.id,!1)}));const ot=(Ie==null?void 0:Ie.io)==="input"?Ie!=null&&Ie.field?Oe.filter(Te=>Te.targetField===Ie.field):Oe.filter(Te=>!!Te.targetField):Oe.filter(Te=>!Te.targetField);if(ot.length>0){if(ot.some(rt=>rt.source===le&&rt.target===de&&rt.targetField===(Ie==null?void 0:Ie.field)&&rt.sourceField===(Ce==null?void 0:Ce.field)))return;Ze=!0,ot.forEach(rt=>{Je.push(Dr(rt,v)),W(rt.id,!1)})}if(!B({source:le,sourceField:Ce==null?void 0:Ce.field,target:de,targetField:Ie==null?void 0:Ie.field},!1)){ae(),g({message:h("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(Ke.push(Ps(le,Ce==null?void 0:Ce.field,de,Ie==null?void 0:Ie.field,v)),Fe||Ze){if(!m)throw ae(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(h(Fe?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),Ke,Je)){ae();return}}H()}N(Se);let ge=!1;const ye=()=>{ge&&(ge=!1,H())};E(le=>{le.filter(_e=>_e.type==="select").filter(_e=>!ee(_e.id)).sort((_e,Ce)=>_e.selected===Ce.selected?0:_e.selected?1:-1).forEach(_e=>{D(_e.selected?_e.id:void 0)});let de=!1;le.forEach(_e=>{if(_e.type==="remove"){if(ee(_e.id))return;de=!0,M(_e.id,!1)}}),de&&!ge&&(ge=!0,queueMicrotask(ye))}),b(({node:le,event:we})=>{var Oe,Fe,Ze;if(!le)return;if(ee(le.id)){const Ke=le.id;te(Ke),j(void 0);const Je=he.value.get(Ke);if(!Je)return;const Me=Je.position??{...le.position},ot=le.position.x-Me.x,Ve=le.position.y-Me.y;V(Ke,le.position,ot,Ve);const Te=pe.value.get(Je.ownerId);Te&&R(Te.id,!1);return}const de=le.id;q("canvas"),te(de);const _e=le.parentNode;let Ce={...le.position};if(_e&&ee(_e)){const Ke=he.value.get(_e);Ke!=null&&Ke.position&&(Ce={x:Ke.position.x+le.position.x,y:Ke.position.y+le.position.y})}if(Y(de,Ce,!1),!Nl(v(de))){const Ke={x:Ce.x,y:Ce.y,width:((Oe=le.dimensions)==null?void 0:Oe.width)??0,height:((Fe=le.dimensions)==null?void 0:Fe.height)??0},Je=we&&"clientX"in we?L({x:we.clientX,y:we.clientY}):void 0,Me={x:Ke.x+Ke.width/2,y:Ke.y+Ke.height/2};j(Je??Me)}const Ie=_e&&ee(_e)?_e:(Ze=pe.value.get(de))==null?void 0:Ze.id;Ie&&R(Ie,!1)}),x(({node:le})=>{var Ie;if(!le)return;if(te(void 0),ee(le.id)){ne();return}const we=le.id,de=le.parentNode;let _e={...le.position};if(de&&ee(de)){const Oe=he.value.get(de);Oe!=null&&Oe.position&&(_e={x:Oe.position.x+le.position.x,y:Oe.position.y+le.position.y})}Y(we,_e,!1);const Ce=de&&ee(de)?de:(Ie=pe.value.get(we))==null?void 0:Ie.id;Ce&&R(Ce,!1),He(we),z(),ne()}),C(le=>{le.filter(_e=>_e.type==="select").sort((_e,Ce)=>_e.selected===Ce.selected?0:_e.selected?1:-1).forEach(_e=>{$(_e.id)||(tg=_e.selected?_e.id:void 0,G(Ce=>Ce.map(Ie=>Ie.id!==_e.id||!Ie.markerEnd?Ie:sa({...Ie,zIndex:_e.selected?1:void 0}))))});let de=!1;le.forEach(_e=>{if(_e.type==="remove"){if($(_e.id))return;de=!0,W(_e.id,!1)}}),de&&!ge&&(ge=!0,queueMicrotask(ye))}),I(({edge:le})=>{$(le.id)||(Ts=le.id,G(we=>we.map(de=>de.id!==le.id?de:sa(de))))}),P(({edge:le})=>{$(le.id)||(Ts=void 0,G(we=>we.map(de=>de.id!==le.id?de:sa(de))))}),A(({edge:le,connection:we})=>{$(le.id)||(W(le.id,!1),Se(we))});function Xe(le,we){var Tt,Ot,Kt,Dn,St;const{leftNode:de,rightNode:_e,virtualEdges:Ce,cachedFindNode:Ie}=we||{},Oe=de?(Ie??y)(de.id):void 0,Fe=_e?(Ie??y)(_e.id):void 0;let Ze;if(le.length>0){Ze=new Wm.graphlib.Graph({multigraph:!0}),Ze.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:p});const Ye=new Set;for(const pt of le){const Dt=(Ie??y)(pt.id);if(!Dt){console.warn(`Cannot find graph node '${pt.id}' in ${n} phase`);continue}Ye.add(pt.id),ur(pt)?Ze.setNode(pt.id,pt.dimensions??Dt.dimensions):Ze.setNode(pt.id,Dt.dimensions)}for(const pt of Q.value)!Ye.has(pt.source)||!Ye.has(pt.target)||Ze.setEdge(pt.source,pt.target,{points:[]});Ce==null||Ce.forEach(pt=>Ze.setEdge(pt,{points:[]})),Wm.layout(Ze)}const Ke=[],Je=Ye=>({x:Ye.x-Ye.width/2,y:Ye.y-Ye.height/2,width:Ye.width,height:Ye.height});if(le.length>0){if(!Ze)throw new Error("Expected dagreGraph to be initialized");for(const Ye of le){const pt=Ze.node(Ye.id),Dt=Je(pt);Ke.push(Dt),ur(Ye)?V(Ye.id,Dt,Dt.x+Ko,Dt.y+Ko):Y(Ye.id,{x:Dt.x,y:Dt.y},!1)}}const Me=Ke.length>0?Zm(Ke):{x:0,y:0,width:0,height:0},ot=Me.width,Ve=Me.height,Te=Me.x,rt=Me.x+Me.width,Vt=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,ET)-ot-2*c-(((Tt=Oe==null?void 0:Oe.dimensions)==null?void 0:Tt.width)??0)-(((Ot=Fe==null?void 0:Fe.dimensions)==null?void 0:Ot.width)??0)-2*l),kn=Me.y+Ve/2;de&&Y(de.id,{x:Te-c-Vt/2-(((Kt=Oe==null?void 0:Oe.dimensions)==null?void 0:Kt.width)??0),y:kn-(((Dn=Oe==null?void 0:Oe.dimensions)==null?void 0:Dn.height)??0)/2},!1),_e&&Y(_e.id,{x:rt+c+Vt/2,y:kn-(((St=Fe==null?void 0:Fe.dimensions)==null?void 0:St.height)??0)/2},!1)}function mt(le){let we,de;const _e=[];for(const Ce of le){if(ur(Ce)){_e.push(Ce);continue}switch(Ce.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(we)throw new Error("Duplicated request node in request phase");we=Ce;break}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(de)throw new Error("Duplicated service_request node in request phase");de=Ce;break}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(de)throw new Error("Duplicated service_response node in response phase");de=Ce;break}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(we)throw new Error("Duplicated response node in response phase");we=Ce;break}default:{_e.push(Ce);break}}}return{autoNodes:_e,leftNode:we,rightNode:de}}async function kt(le=!0){const we=new Map(ue.value.map(Ve=>[Ve.id,Ve.data])),de=new Map,_e=new Map,Ce=Ve=>{if(!Ve)return;let Te=_e.get(Ve);return Te||(Te=y(Ve),Te&&_e.set(Ve,Te),Te)},Ie=new Map,Oe=Ve=>{let Te=Ie.get(Ve);return Te!==void 0||(Te=K(Ve),Ie.set(Ve,Te)),Te},Fe=Ve=>{if(!ur(Ve.data))return Ve.parentNode;const Te=Ce(Ve.data.ownerId);if(!Te)throw new Error(`Cannot find owner node '${Ve.data.ownerId}' for group node '${Ve.id}' via findNode`);return Te.parentNode};for(const Ve of Q.value){if($(Ve.id))continue;const Te=Ve.source,rt=Ve.target;if(ee(Te)||ee(rt))continue;const Vt=Ce(Te),kn=Ce(rt);if(Vt){if(!kn)throw new Error(`Cannot find target node '${rt}' for edge '${Ve.id}' via findNode`)}else throw new Error(`Cannot find source node '${Te}' for edge '${Ve.id}' via findNode`);if(Fe(Vt)===Fe(kn))continue;let Tt=Vt,Ot=kn,Kt=Oe(Tt.id),Dn=Oe(Ot.id);for(;Kt!==Dn;)if(Kt>Dn){const St=Fe(Tt);if(!St)throw new Error(`Expected node '${Tt.id}' to have parent, but it does not`);const Ye=Ce(St);if(!Ye)throw new Error(`Cannot find parent node '${St}' for node '${Tt.id}' via findNode`);Tt=Ye,Kt--}else if(Dn>Kt){const St=Fe(Ot);if(!St)throw new Error(`Expected node '${Ot.id}' to have parent, but it does not`);const Ye=Ce(St);if(!Ye)throw new Error(`Cannot find parent node '${St}' for node '${Ot.id}' via findNode`);Ot=Ye,Dn--}for(;Kt>=0;){const St=Fe(Tt),Ye=Fe(Ot);if(St===Ye){de.has(Kt)||de.set(Kt,[]),de.get(Kt).push({v:Tt.id,w:Ot.id});break}if(St){if(!Ye){const Mr=`Expected node '${Ot.id}' to have parent, but it does not`;throw console.error(Mr,Ot),new Error(Mr)}}else{const Mr=`Expected node '${Tt.id}' to have parent, but it does not`;throw console.error(Mr,Tt),new Error(Mr)}const pt=Ce(St),Dt=Ce(Ye);if(pt){if(!Dt)throw new Error(`Cannot find parent node '${Ye}' for node '${Ot.id}' via findNode`)}else throw new Error(`Cannot find parent node '${St}' for node '${Tt.id}' via findNode`);Tt=pt,Ot=Dt,Kt--,Dn--}}const Ze=F.value.groups.toSorted((Ve,Te)=>Oe(Te.ownerId)-Oe(Ve.ownerId));for(const Ve of Ze)Xe(Ve.memberIds.reduce((Te,rt)=>{const Vt=v(rt);if(!Vt)return console.warn(`Cannot find node '${rt}' of group '${Ve.id}' by getNodeById`),Te;if(Vt.phase!==n)return Te;if(Vt.type==="branch"){const kn=se.value.get(Vt.id);kn&&Te.push(...kn)}return we.delete(Vt.id),Te.push(Vt),Te},[]),{virtualEdges:de.get(Oe(Ve.ownerId)),cachedFindNode:Ce}),await t.nextTick(),R(Ve.id,!1),await U();const Ke=we.values().toArray();for(const Ve of Ke){if(ur(Ve)||Ve.type!=="branch")continue;const Te=se.value.get(Ve.id);Te&&Ke.push(...Te)}const{autoNodes:Je,leftNode:Me,rightNode:ot}=mt(Ke);Xe(Je,{leftNode:Me,rightNode:ot,virtualEdges:de.get(0),cachedFindNode:Ce}),le&&ne()}function an(le){_({...ke.value,...le})}async function Bn(le){return D(le),new Promise(we=>setTimeout(()=>{const de=y(le);S(de?[de]:[]),we()},0))}function Vn(le){const we=T.value.filter(({type:Me})=>Me!=="group"),de=we.find(({id:Me})=>Me===le);if(!de)throw new Error(`Node ${le} not found`);const{position:{x:_e,y:Ce},dimensions:{width:Ie,height:Oe}}=de,Fe=Ce,Ze=Ce+Oe,Ke=we.filter(({id:Me})=>Me!==le).filter(({position:{y:Me},dimensions:{height:ot}})=>Me<Ze&&Me+ot>Fe).map(({position:{x:Me},dimensions:{width:ot}})=>({left:Me,right:Me+ot})).sort((Me,ot)=>Me.left-ot.left);let Je=_e+Ie+c;for(const{left:Me,right:ot}of Ke)if(!(ot<=Je)){if(Je+Ie<=Me)return{x:Je,y:Fe};Je=Math.max(Je,ot)+c}return{x:Je,y:Fe}}function ft(le){if(!le)return;const we=y(le);if(!we)throw new Error(`Node ${le} not found`);const{position:{x:de},dimensions:{width:_e}}=we,Ce=de+_e,{viewport:Ie,dimensions:Oe,setViewport:Fe}=u,{x:Ze,y:Ke,zoom:Je}=Ie.value,{width:Me}=Oe.value,ot=de*Je+Ze,Ve=Ce*Je+Ze,Te=Me-em-c;if(Ve<=Te)return;let rt=Te-Ve;ot+rt<0&&(rt=-ot),rt!==0&&Fe({x:Ze+rt,y:Ke,zoom:Je},{duration:ST})}function He(le){if(!re.value)return!1;const{nodeId:we,branch:de}=_1(re.value),_e=oe.addMember(we,de,le,{commit:!1});return j(void 0),_e}return{vueFlowStore:u,editorStore:f,readonly:i,nodes:ue,edges:Q,selectNode:Bn,autoLayout:kt,placeToRight:Vn,scrollRightToReveal:ft,fitViewParams:ke,fitView:an,groupDrop:{activeGroupId:re,startPanelDrag:()=>q("panel"),endPanelDrag:z,updateActiveGroup:j,attachNodeToActiveGroup:He}}});let Go=null;function RV(){var n;if(Go)return Go;if(typeof navigator>"u")return Go="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?Go="mac":/Linux/i.test(e)&&!/Android/i.test(e)?Go="linux":Go="windows"}const MV={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},FV={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},LV={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function UV(e,n={}){const o=n.platform??RV(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?MV:o==="linux"?LV:FV;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const KV={key:0,class:"label"},jV={class:"keys"},ca=ve(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=UV(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:e.reverse}])},[e.label?(t.openBlock(),t.createElementBlock("span",KV,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",jV,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),GV=["onClick"],qV={key:0,class:"additional-count"},ng=24,zV=16,da=ve(t.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(e){const n=Number.parseFloat(IC)||0,o={target:"body"},{portalSelection:r,selectPortalEdge:i}=nt(),a=t.ref(!1),l=t.computed(()=>{const g=r.value;return g?e.targets.some(h=>h.edgeId===g):!1}),s=t.computed(()=>e.expanded!==void 0?e.expanded||l.value:a.value||l.value),c=()=>ng*e.targets.length+n*(e.targets.length-1),d=t.computed(()=>({width:s.value?`${c()}px`:"fit-content"})),p=g=>{i(g)},u=g=>r.value===g,f=t.computed(()=>e.targets.map((g,h)=>{var _;const y=(ng+n)*h;return{edgeId:g.edgeId,key:`${g.node.id}-${g.fieldName??"node"}-${h}`,icon:(_=xt[g.node.type])==null?void 0:_.icon,tooltip:g.fieldName?`${g.node.name}.${g.fieldName}`:g.node.name,highlighted:u(g.edgeId),tooltipEl:null,style:h===0?{width:"fit-content",zIndex:e.targets.length}:{position:"absolute",...e.reversed?{left:`${y}px`,transform:s.value?"translateX(0)":`translateX(-${y}px)`}:{right:0,transform:s.value?`translateX(-${y}px)`:"translateX(0)"},zIndex:e.targets.length-h}}})),m=t.computed(()=>Math.max(e.targets.length-1,0));return(g,h)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-portal",{expanded:s.value,reversed:e.reversed}]),onClick:h[0]||(h[0]=t.withModifiers(()=>{},["stop"])),onDragstart:h[1]||(h[1]=t.withModifiers(()=>{},["stop"])),onMousedown:h[2]||(h[2]=t.withModifiers(()=>{},["stop"])),onMouseenter:h[3]||(h[3]=y=>a.value=!0),onMouseleave:h[4]||(h[4]=y=>a.value=!1)},[t.createElementVNode("div",{class:"target-boxes",style:t.normalizeStyle(d.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(y,_)=>(t.openBlock(),t.createBlock(t.unref(Be.KTooltip),{key:y.key,class:"target-box-wrapper","kpop-attributes":o,placement:"top",style:t.normalizeStyle(y.style),text:y.tooltip},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["target-box",{highlighted:y.highlighted}]),onClick:t.withModifiers(w=>p(y.edgeId),["stop"])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(y.icon),{color:t.unref(ii),size:zV},null,8,["color"])),_===0&&m.value>0?(t.openBlock(),t.createElementBlock("span",qV," +"+t.toDisplayString(m.value),1)):t.createCommentVNode("",!0)],10,GV)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-926821a3"]]),ua=ve(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Ne.Left},size:{default:()=>Number.parseFloat(Td)},type:{}},setup(e){t.useCssVars(o=>({v753622c4:o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[e.type,e.position===t.unref(Ne).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),og=ve(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>{var i,a;return{b58c4842:(i=n.value.colors)==null?void 0:i.background,v6ae9eff4:(a=n.value.colors)==null?void 0:a.foreground}});const n=t.computed(()=>xt[e.type]),o=t.computed(()=>g1(e.type));return(r,i)=>{var l;const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:"neutral",class:t.normalizeClass(["dk-node-badge",{"icon-only":e.iconOnly,"has-colors":!!n.value.colors}]),size:e.size},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:2},[(l=n.value)!=null&&l.icon?{name:"icon",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value.icon)))]),key:"0"}:void 0]),1032,["class","size"])}}}),[["__scopeId","data-v-05435e4f"]]),HV={class:"body"},YV={class:"name"},WV={class:"handle"},XV={class:"handle-label-wrapper"},ZV={class:"handle-label-wrapper"},JV={class:"handle-label text"},QV={class:"handle"},eD={class:"handle-label-wrapper"},tD={class:"handle-label-wrapper"},nD={class:"handle-label text"},oD={key:2,class:"branch-handles"},rD={class:"handle-label-wrapper"},iD={class:"handle-label text"},rg=ve(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=DV(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:d,branchGroups:p}=nt(),u=t.computed(()=>$o(e.data.type)),f=t.computed(()=>e.data.fields.input.length>0),m=t.computed(()=>e.data.fields.output.length>0),g=t.computed(()=>f.value&&r(e.data.id).every(v=>v.targetField===void 0)),h=t.computed(()=>m.value&&i(e.data.id).every(v=>v.sourceField===void 0)),y=t.computed(()=>e.data.expanded.input??!1),_=t.computed(()=>e.data.expanded.output??!1),w=t.computed(()=>{var v,B,W;return((W=(B=(v=u.value.io)==null?void 0:v.next)==null?void 0:B.branches)==null?void 0:W.map(({name:X})=>X))??[]}),b=t.computed(()=>w.value.length>0),x=t.computed(()=>p.findMembership(e.data.id)),N=t.computed(()=>{var v,B;if(e.data.type==="property"){const W=(v=e.data.config)==null?void 0:v.property;return ys(W)}return(B=u.value.io)==null?void 0:B.input}),E=t.computed(()=>{var v,B;if(e.data.type==="property"){const W=(v=e.data.config)==null?void 0:v.property;return hs(W)}return(B=u.value.io)==null?void 0:B.output}),C=t.computed(()=>Nl(e.data)),A=t.computed(()=>e.data.phase==="response"),I=t.computed(()=>e.data.phase==="request"?Ne.Left:Ne.Right),P=t.computed(()=>e.data.phase==="request"?Ne.Right:Ne.Left),T=t.computed(()=>e.data.phase==="request"?Ne.Right:Ne.Left),k=t.computed(()=>C.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),G=t.computed(()=>C.value?pC:mC);function S(v){return v==="input"?A.value:!A.value}function L(v){const B=new Map,W=v==="input"?r(e.data.id):i(e.data.id);for(const X of W){const oe=a(v==="input"?X.source:X.target);if(!oe)continue;if(v==="input"){const ie=oe.type==="vault",se=oe.phase!==e.data.phase,pe=p.isEdgeEnteringGroup(oe.id,e.data.id);if(!(ie||se||pe))continue}else{const ie=oe.phase!==e.data.phase,se=p.isEdgeEnteringGroup(e.data.id,oe.id);if(!(ie||se))continue}const H=v==="input"?X.targetField||"input":X.sourceField||"output";let ae;if(v==="input"&&X.sourceField){const ie=oe.fields.output.find(se=>se.id===X.sourceField);ae=ie==null?void 0:ie.name}else if(v==="output"&&X.targetField){const ie=oe.fields.input.find(se=>se.id===X.targetField);ae=ie==null?void 0:ie.name}const he={edgeId:X.id,node:oe,fieldName:ae},ee=B.get(H);ee?ee.push(he):B.set(H,[he])}return B}const F=t.computed(()=>L("input")),ne=t.computed(()=>L("output"));function Y(v){!o||o.readonly||v==="input"&&!g.value||v==="output"&&!h.value||l(e.data.id,v)}async function D(){if(!o||o.readonly)return;const v=s(e.data.id,o.placeToRight(e.data.id));await o.selectNode(v),o.scrollRightToReveal(v),d.value=!0}function M(){p.removeMember(e.data.id)}return t.watch(g,v=>{v||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(h,v=>{v||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(v,B)=>{ko(v,B)||l(e.data.id,"input",v.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(v,B)=>{ko(v,B)||l(e.data.id,"output",v.length>0,!0,"*")},{deep:!0}),(v,B)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:A.value,implicit:C.value,readonly:e.readonly}])},[t.createElementVNode("div",HV,[C.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Be.KTooltip),{key:0,class:"badge",placement:"top",text:e.data.type},{default:t.withCtx(()=>[t.createVNode(og,{"icon-only":"",size:"small",type:e.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",YV,t.toDisplayString(k.value),1),e.error?(t.openBlock(),t.createBlock(t.unref(xe.WarningIcon),{key:1,class:"error-icon",color:t.unref(nl),size:16},null,8,["color"])):t.createCommentVNode("",!0),C.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Be.KDropdown),{key:2,class:"menu",disabled:e.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:B[1]||(B[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(Be.KDropdownItem),{onClick:D},{default:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),x.value?(t.openBlock(),t.createBlock(t.unref(Be.KDropdownItem),{key:0,onClick:M},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(Be.KDropdownItem),{danger:"",onClick:B[0]||(B[0]=W=>t.unref(c)(e.data.id))},{default:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(Be.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{color:t.unref(tl)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:A.value}])},[N.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":f.value}])},[t.createElementVNode("div",WV,[t.createVNode(t.unref(rn),{id:"input",position:I.value,type:"target"},null,8,["position"]),F.value.has("input")?(t.openBlock(),t.createBlock(da,{key:0,mode:"input",reversed:S("input"),targets:F.value.get("input")},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",XV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:B[2]||(B[2]=t.withModifiers(W=>Y("input"),["stop"]))},[B[4]||(B[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),f.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.UnfoldMoreIcon),{key:0,size:t.unref(ir)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(xe.UnfoldLessIcon),{key:1,color:g.value?void 0:t.unref(Id),size:t.unref(ir)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),f.value&&y.value?(t.openBlock(),t.createBlock(ua,{key:0,color:G.value,position:I.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),f.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.input,(W,X)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${W.id}`,class:"handle indented"},[t.createVNode(t.unref(rn),{id:`inputs@${W.id}`,position:I.value,type:"target"},null,8,["id","position"]),F.value.has(W.id)?(t.openBlock(),t.createBlock(da,{key:0,mode:"input",reversed:S("input"),targets:F.value.get(W.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",ZV,[t.createElementVNode("div",JV,t.toDisplayString(W.name),1),t.createVNode(ua,{color:G.value,position:I.value,type:X<e.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),E.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":m.value}])},[t.createElementVNode("div",QV,[t.createElementVNode("div",eD,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:h.value}]),onClick:B[3]||(B[3]=t.withModifiers(W=>Y("output"),["stop"]))},[B[5]||(B[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),m.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.UnfoldMoreIcon),{key:0,size:t.unref(ir)},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(xe.UnfoldLessIcon),{key:1,color:h.value?void 0:t.unref(Id),size:t.unref(ir)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),m.value&&_.value?(t.openBlock(),t.createBlock(ua,{key:0,color:G.value,position:P.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(rn),{id:"output",position:P.value,type:"source"},null,8,["position"]),ne.value.has("output")?(t.openBlock(),t.createBlock(da,{key:0,mode:"output",reversed:S("output"),targets:ne.value.get("output")},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]),m.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.output,(W,X)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${W.id}`,class:"handle indented"},[t.createElementVNode("div",tD,[t.createElementVNode("div",nD,t.toDisplayString(W.name),1),t.createVNode(ua,{color:G.value,position:P.value,type:X<e.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(rn),{id:`outputs@${W.id}`,position:P.value,type:"source"},null,8,["id","position"]),ne.value.has(W.id)?(t.openBlock(),t.createBlock(da,{key:0,mode:"output",reversed:S("output"),targets:ne.value.get(W.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),b.value?(t.openBlock(),t.createElementBlock("div",oD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(w.value,W=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${W}`,class:"handle"},[t.createElementVNode("div",rD,[t.createElementVNode("div",iD,t.toDisplayString(W),1)]),t.createVNode(t.unref(rn),{id:`branch@${W}`,connectable:!1,position:T.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-ba1af209"]]),aD=ve(t.defineComponent({__name:"GroupNode",props:{data:{},active:{type:Boolean}},setup(e){const n=e,o=t.computed(()=>n.data.phase==="response"),r=t.computed(()=>o.value?Ne.Right:Ne.Left);return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-branch-group-node",{reversed:o.value,"drop-target":e.active}])},[t.createVNode(t.unref(rn),{id:"input",connectable:!1,position:r.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-61116224"]]),lD={key:0,class:"dk-flow-mask"},ig=ve(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=qe.useElementBounding(i),{i18n:{t:l}}=De(),{vueFlowStore:s,editorStore:c,autoLayout:d,fitViewParams:p,fitView:u,selectNode:f,placeToRight:m,scrollRightToReveal:g,groupDrop:h}=VV({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:y,propertiesPanelOpen:_,invalidConfigNodeIds:w,selectedNode:b,duplicateNode:x,commit:N,selectPortalEdge:E}=c,{screenToFlowCoordinate:C,zoomIn:A,zoomOut:I,viewport:P,maxZoom:T,minZoom:k}=s,{activeGroupId:G,startPanelDrag:S,endPanelDrag:L,updateActiveGroup:F,attachNodeToActiveGroup:ne}=h,Y=t.ref(!1);function D(H){var he;const ae=(he=H.dataTransfer)==null?void 0:he.types.find(ee=>ee.startsWith(`${Tr}/`));if(ae)return ae.replace(`${Tr}/`,"")}function M(H){var ae;if(e.mode==="edit"){if(((ae=H==null?void 0:H.node)==null?void 0:ae.type)==="group"){f(void 0),E(void 0);return}_.value=!0}}function v(H){e.mode!=="edit"||Y.value||(H.preventDefault(),F(C({x:H.clientX,y:H.clientY})))}function B(H){var O;if(e.mode!=="edit"||Y.value)return;const ae=(O=H.dataTransfer)==null?void 0:O.getData(Tr);if(!ae)return;H.preventDefault();const he=JSON.parse(ae);if(he.action!=="create-node")return;const ee=C({x:H.clientX,y:H.clientY}),{type:ie,anchor:se}=he.data,pe={type:ie,phase:e.phase,position:{x:ee.x-se.offsetX,y:ee.y-se.offsetY}},fe=y(pe,!1);if(!fe){L();return}ne(fe),N(),f(fe),_.value=!0,L()}async function W(){await d(),setTimeout(()=>u(),0)}const X=t.computed(()=>{if(e.mode==="preview")return[];const H=[{name:"zoom_in",icon:xe.AddIcon,action:A,disabled:P.value.zoom>=T.value},{name:"zoom_out",icon:xe.RemoveIcon,action:I,disabled:P.value.zoom<=k.value},{name:"fit_view",icon:xe.FullscreenIcon,action:u}];return e.mode==="edit"&&H.push({name:"auto_layout",icon:xe.AutoLayoutIcon,action:W}),H});if(e.phase==="response"&&e.mode==="edit"){qe.useEventListener("dragstart",ae=>{D(ae)==="call"&&(Y.value=!0)});const{start:H}=qe.useTimeoutFn(()=>{Y.value=!1},80);qe.useEventListener("dragover",()=>{H()}),qe.useEventListener("dragend",()=>{Y.value=!1})}e.mode==="edit"&&(qe.useEventListener("dragstart",H=>{D(H)&&S()}),qe.useEventListener("dragend",()=>{L()}));async function oe(){const H=b.value;if(e.mode!=="edit"||!H||H.phase!==e.phase)return;const ae=x(H.id,m(H.id));ae&&(await f(ae),_.value=!0,g(ae))}return Jp({enabled:t.computed(()=>!!b.value&&e.mode==="edit"&&b.value.phase===e.phase),duplicate:oe}),n({autoLayout:d,fitView:u}),(H,ae)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(Yp),{id:e.flowId,class:t.normalizeClass(["flow",{readonly:e.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":e.mode==="edit","max-zoom":t.unref(NT),"min-zoom":t.unref(xT),"multi-selection-key-code":null,"nodes-connectable":e.mode==="edit","nodes-draggable":e.mode==="edit","pan-on-drag":e.mode==="preview"?!1:void 0,"pan-on-scroll":e.mode!=="edit"?!1:void 0,"zoom-on-double-click":e.mode!=="edit"?!1:void 0,"zoom-on-pinch":e.mode!=="edit"?!1:void 0,"zoom-on-scroll":e.mode!=="edit"?!1:void 0,onDragover:v,onDrop:B,onNodeClick:M,onNodesChange:ae[0]||(ae[0]=he=>r("nodes-change")),onNodesInitialized:ae[1]||(ae[1]=he=>r("initialized"))},{"node-flow":t.withCtx(({data:he})=>[t.createVNode(rg,{data:he,error:t.unref(w).has(he.id),readonly:e.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":t.withCtx(({data:he})=>[t.createVNode(aD,{active:t.unref(G)===he.id,data:he},null,8,["active","data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(FP)),t.createVNode(t.unref(uT),{"fit-view-params":t.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(X.value,he=>(t.openBlock(),t.createBlock(t.unref(Be.KTooltip),{key:he.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${he.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Pr),{disabled:he.disabled,onClick:t.withModifiers(he.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(he.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),Y.value?(t.openBlock(),t.createElementBlock("div",lD,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-c1890d6b"]]),sD={class:"label-content"},cD={class:"count"},dD={class:"label-content"},uD={class:"count"},Os=ve(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=t.ref(!1),r=t.ref(!1),{state:i,configNodeCounts:a,clearPendingLayout:l,setPendingFitView:s,commit:c,clear:d,portalSelection:p}=nt(),u=t.useId(),f=`${u}-request`,m=`${u}-response`,g=Ue(f),h=Ue(m);function y(oe,H){const{onPaneClick:ae,onNodesChange:he,onEdgesChange:ee,getSelectedNodes:ie,getSelectedEdges:se}=oe,{removeSelectedElements:pe}=H;function fe(O){if(!O){pe();return}O.some($=>$.type==="select")&&ie.value.length+se.value.length>0&&pe()}he(fe),ee(fe),ae(()=>fe())}y(g,h),y(h,g),t.watch(p,oe=>{oe&&(g.removeSelectedElements(),h.removeSelectedElements())});const _=t.useTemplateRef("flowPanels"),w=t.useTemplateRef("requestLabel"),b=t.useTemplateRef("requestCanvasContainer"),x=t.useTemplateRef("requestFlow"),N=t.useTemplateRef("resizeHandle"),E=t.useTemplateRef("responseLabel"),C=t.useTemplateRef("responseCanvasContainer"),A=t.useTemplateRef("responseFlow"),I=qe.useElementBounding(_),P=qe.useElementBounding(w),T=qe.useElementBounding(b),k=qe.useElementBounding(N),G=qe.useElementBounding(E),S=qe.useElementBounding(C),L=t.computed(()=>Math.max(30,I.height.value*.03)),F=t.computed(()=>T.height.value<L.value),ne=t.computed(()=>S.height.value<L.value),Y=t.ref("50%"),D=t.ref("50%"),M=()=>{e.resizable&&(F.value?(Y.value="50%",D.value="50%"):(Y.value="0",D.value="100%"))},v=()=>{e.resizable&&(ne.value?(Y.value="50%",D.value="50%"):(Y.value="100%",D.value="0"))},B=t.computed(()=>I.height.value-P.height.value-k.height.value-G.height.value),{isDragging:W}=qe.useDraggable(N,{onMove(oe){if(!e.resizable)return;const H=Math.max(0,oe.y-T.top.value),ae=Math.min(1,Math.max(0,H/B.value));Y.value=`${ae*100}%`,D.value=`${(1-ae)*100}%`},onEnd(){e.resizable&&(T.height.value<L.value?(Y.value="0",D.value="100%"):S.height.value<L.value&&(Y.value="100%",D.value="0"))}});function X(){t.nextTick(()=>{var oe,H;(oe=x.value)==null||oe.fitView(),(H=A.value)==null||H.fitView()})}return t.watch([o,r,()=>i.value.pendingLayout,()=>i.value.pendingFitView],([oe,H,ae,he])=>{e.inactive||!oe||!H||!ae&&!he||(ae&&l(),he&&s(!1),setTimeout(async()=>{var ee,ie;ae&&(await((ee=x.value)==null?void 0:ee.autoLayout(!1)),await((ie=A.value)==null?void 0:ie.autoLayout(!1)),c("*"),ae==="clearHistory"&&d()),he&&setTimeout(()=>X(),0)},0))}),(oe,H)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:_,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:w,class:t.normalizeClass(["label request",{resizable:e.resizable}]),onClick:M},[e.resizable?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:F.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",sD,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),t.createElementVNode("span",cD,[t.unref(a).request===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(a).request}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:b,class:t.normalizeClass(["canvas",{dragging:t.unref(W)}]),style:t.normalizeStyle({flexBasis:Y.value})},[t.createVNode(ig,{ref_key:"requestFlow",ref:x,"flow-id":f,mode:e.mode,phase:"request",onInitialized:H[0]||(H[0]=ae=>o.value=!0),onNodesChange:H[1]||(H[1]=ae=>o.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:N,class:t.normalizeClass(["resize-handle",{resizable:e.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:E,class:t.normalizeClass(["label response",{dragging:t.unref(W),resizable:e.resizable}]),onClick:v},[e.resizable?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:ne.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",dD,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),t.createElementVNode("span",uD,[t.unref(a).response===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(a).response}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:C,class:t.normalizeClass(["canvas response",{dragging:t.unref(W)}]),style:t.normalizeStyle({flexBasis:D.value})},[t.createVNode(ig,{ref_key:"responseFlow",ref:A,"flow-id":m,mode:e.mode,phase:"response",onInitialized:H[2]||(H[2]=ae=>r.value=!0),onNodesChange:H[3]||(H[3]=ae=>r.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-93baa141"]]),fD={class:"dk-confirm-modal-body"},pD={class:"connections"},mD=ve(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=De(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function p(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){a.value=!1,i("confirm"),d==null||d(!0)}async function f(m,g,h){return l.value=m,s.value=g??[],c.value=h??[],a.value=!0,await new Promise(y=>{d=y})}return n({open:f}),(m,g)=>{const h=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(h,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:e.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:p,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",fD,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",pD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([y,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${y}-${_}`,class:"connection"},[t.createVNode(t.unref(xe.AddIcon),{color:t.unref(gC)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(y)+" → "+t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([y,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${y}-${_}`,class:"connection"},[t.createVNode(t.unref(xe.RemoveIcon),{color:t.unref(nl)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(y)+" → "+t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-ac52e1e6"]]),gD={class:"dk-editor-nav"},hD={class:"top"},yD={class:"bottom"},_D=ve(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Qe.createI18n("en-us",et),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:xe.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=Pl(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,p)=>(t.openBlock(),t.createElementBlock("nav",gD,[t.createElementVNode("div",hD,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:f,icon:m,onClick:g})=>t.createVNode(t.unref(Be.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Be.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:f,onClick:g},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(ai)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",yD,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:p[0]||(p[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:p[1]||(p[1]=t.withModifiers(u=>s.value=!0,["self"]))},[t.createVNode(t.unref(Be.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Be.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(xe.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(ai)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(xe.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(ai)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),bD={class:"dk-editor-main"},wD={class:"header"},kD={class:"actions"},CD={class:"settings"},ED={ref:"canvasContainer",class:"body"},ND=ve(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Qe.createI18n("en-us",et),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=nt();function c(u){const f=xn.load(u,{schema:Nn,json:!0});if(typeof f!="object"||f===null)return;const m=f,g={config:{...m,nodes:m.nodes??[]}};s(g,!0)}function d(){o.value=!1}Jp({enabled:o,undo:r,redo:i});const p={maxWidth:"300px",zIndex:1e4};return(u,f)=>(t.openBlock(),t.createElementBlock("div",bD,[t.createElementVNode("header",wD,[t.createElementVNode("div",kD,[t.createVNode(t.unref(Be.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(Be.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(Be.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ca,{keys:t.unref(ea).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(Be.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),f[0]||(f[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",CD,[t.createVNode(ti,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:p},name:"config.debug"},null,8,["label","label-attributes"])]),f[1]||(f[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(Be.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(_l,(m,g)=>t.createVNode(t.unref(Be.KDropdownItem),{key:g,onClick:h=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${g}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(Be.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(xe.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Be.KButton),{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",ED,[t.createVNode(Os,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-ce8026b0"]]),xD=["draggable"],SD={class:"icon"},vD={class:"content"},AD={class:"title"},ID={class:"description"},PD=ve(t.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(e,{emit:n}){t.useCssVars(c=>({f628e926:t.unref(a),v4a9b9f82:t.unref(l)}));const o=n,{summary:r,icon:i,colors:{background:a,foreground:l}={}}=kl[e.type];function s(c){o("dragstart",c,e.type)}return(c,d)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${e.type}`]:!0,unsupported:e.unsupported}]),draggable:!e.unsupported,onDragstart:s},[t.createElementVNode("div",SD,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",vD,[t.createElementVNode("div",AD,t.toDisplayString(e.type),1),t.createElementVNode("div",ID,t.toDisplayString(t.unref(r)),1)])],42,xD))}}),[["__scopeId","data-v-38d156c9"]]),TD={class:"dk-node-panel"},OD={key:0,class:"title"},$D={class:"node-list"},BD={"aria-hidden":"true",class:"preview",inert:""},ag=ve(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=Qe.createI18n("en-us",et),{createNode:o}=nt(),r=t.inject(Hn.DATAKIT_M2,!1),i=["branch","cache"],a=`dk-drag-preview-${t.useId()}`,l=t.shallowRef(),s=t.computed(()=>l.value?[{id:"preview",type:"flow",data:l.value,position:{x:0,y:0}}]:[]),c=async(d,p)=>{var P,T,k;const u=d.currentTarget,{left:f,top:m,width:g,height:h}=u.getBoundingClientRect(),y=d.clientX-f,_=d.clientY-m;l.value=o({type:p}),await t.nextTick();const w=document.querySelector(`#${a}`)||u,b=w.cloneNode(!0);b.classList.add("dk-drag-snapshot");const{offsetWidth:x,offsetHeight:N}=w;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${x}px`,height:`${N}px`}),document.body.appendChild(b);const E=y/g,C=_/h,A={ratioX:E,ratioY:C,offsetX:x*E,offsetY:N*C},I={action:"create-node",data:{type:p,anchor:A}};(P=d.dataTransfer)==null||P.setData(Tr,JSON.stringify(I)),(T=d.dataTransfer)==null||T.setData(`${Tr}/${p}`,p),(k=d.dataTransfer)==null||k.setDragImage(b,A.offsetX,A.offsetY),requestAnimationFrame(()=>{b.remove(),l.value=void 0})};return(d,p)=>{const u=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",TD,[e.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",OD,[t.createVNode(u,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),t.createElementVNode("div",$D,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(kl)),f=>(t.openBlock(),t.createBlock(PD,{key:f,type:f,unsupported:!t.unref(r)&&i.includes(f),onDragstart:c},null,8,["type","unsupported"]))),128))]),t.createElementVNode("div",BD,[t.createVNode(t.unref(Yp),{nodes:s.value},{"node-flow":t.withCtx(f=>[t.createVNode(rg,{id:a,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-03b0fafb"]]);function VD(){const{addField:e,getNodeByName:n,removeField:o,replaceConfig:r,renameField:i,disconnectOutEdges:a,nodeMapByName:l}=nt(),s=n("vault");if(!s)throw new Error("no vault node");const c=t.computed(()=>{var g;return((g=l.value.get("vault"))==null?void 0:g.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(g,h)=>{e(s.id,"output",g,!1);const y={...s.config,[g]:h};r(s.id,y)},removeVault:g=>{const h=Sn(s,"output",g);if(!h)return;const y=s.fields.output.length===1;o(s.id,h.id,!0,!1);const _=qn(s.config,g);r(s.id,_,!y),y&&a(s.id)},updateVault:(g,h,y=!0)=>{const _={...s.config,[g]:h};r(s.id,_,y)},renameVault:(g,h,y=!0)=>{var x;const _=Sn(s,"output",g);if(!_)return;i(s.id,_.id,h,!1);const w=((x=s.config)==null?void 0:x[g])??"",b={...qn(s.config,g),[h]:w};r(s.id,b,y)}}}const DD=t.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=je.useI18n(),i=t.inject(Le.FORMS_CONFIG),a=t.ref(e.secretName||""),l=t.ref(""),s=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!s.value),d=()=>{const m=a.value.trim(),g=e.validateName(m,e.isEditing);return l.value=g||"",g===void 0},p=()=>{l.value="",d()},u=m=>{d()&&o("proceed",{secretRef:m,secretName:a.value.trim()})},f=()=>{a.value="",l.value="",o("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",l.value=""}),(m,g)=>{const h=t.resolveComponent("KInput"),y=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:e.secretRef,title:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:f,onProceed:u},{"form-prefix":t.withCtx(()=>[t.createVNode(h,{"model-value":a.value,"onUpdate:modelValue":[g[0]||(g[0]=_=>a.value=_),p],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(y,{key:1,"icon-variant":"error",message:t.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),RD={class:"dk-vault-panel"},MD={class:"title"},FD={class:"vault-list"},LD={key:0,class:"vault-list-item"},UD={class:"vault-list-item-key"},KD={class:"vault-list-item-key-text"},jD=ve(t.defineComponent({__name:"VaultField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["update","add","remove","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l}=ni(o,r),s=t.ref(null),c=t.ref(null),{i18n:{t:d}}=je.useI18n(),p=t.computed(()=>new Set(i.value.map(_=>_.key))),u=()=>{const _=a();c.value=_,s.value=_},f=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=_=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,b=w!==_.secretName,x=s.value.value!==_.secretRef,N=b||x;s.value.value=_.secretRef,s.value.key=_.secretName,c.value?r("add",_.secretName,_.secretRef):N&&r("update",_.secretName,_.secretRef,b?w:void 0),c.value=null,f()},g=_=>{s.value=_},h=_=>{l(_.id),r("remove",_.key)},y=(_,w)=>{var b;if(!_)return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(p.value.has(_)&&!(w&&_===((b=s.value)==null?void 0:b.key)))return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(_,w)=>{var E,C;const b=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),N=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",RD,[t.createElementVNode("h3",MD,t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(b,{appearance:"tertiary",class:"add-button",size:"small",onClick:u},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",FD,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),A=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:A.id},[A.key?(t.openBlock(),t.createElementBlock("div",LD,[t.createElementVNode("div",UD,[t.createVNode(t.unref(xe.KeyIcon),{color:t.unref(ii),size:16},null,8,["color"]),t.createElementVNode("div",KD,t.toDisplayString(A.key),1)]),t.createVNode(N,null,{items:t.withCtx(()=>[t.createVNode(x,{onClick:I=>g(A)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),t.createVNode(x,{danger:"",onClick:I=>h(A)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{color:t.unref(tl)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(DD,{"is-editing":!!s.value&&!c.value,"secret-name":(E=s.value)==null?void 0:E.key,"secret-ref":(C=s.value)==null?void 0:C.value,"validate-name":y,onCancel:f,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c9f18d61"]]);function GD(){const{getSchema:e}=Ge();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const o=fn(n);return o.fields.forEach(r=>{const i=Object.keys(r)[0];if(i==="cache"){const a=r[i];r[i]={...a,fields:[...a.fields,{partial_id:{type:"string"}}]}}}),o})}const qD={class:"dk-cache-panel"},zD={class:"title"},HD={key:0,class:"cache-item"},YD={class:"cache-item-key"},WD={class:"cache-item-key-text"},XD={class:"dk-resource-cache-form"},ZD={key:1},JD={key:2,class:"dk-cache-inline-redis"},QD=ve(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const o=n,{getDefault:r,formData:i}=Ge(),a=vt("cache");if(a.error)throw new Error("No cache schema");const l=t.ref(!1),{i18n:{t:s}}=je.useI18n(),c=t.computed(()=>!(d.value==="redis"&&!i.cache.partial_id&&!i.cache.redis)),d=t.computed(()=>{var x;return(x=a.value.value)==null?void 0:x.strategy}),p=t.computed(()=>{var x;return(x=a.value.value)!=null&&x.redis?xn.dump(a.value.value.redis,{indent:2,noRefs:!0}):""}),u=()=>{l.value=!0},f=()=>{l.value=!1,o("cancel")},m=()=>{o("remove")},g=()=>{u(),a.value.value||(a.value.value=r("cache"),a.value.value.strategy="memory")},h=()=>{l.value=!1,o("update",i)},y=Ks.createdBundledHighlighter({langs:{yaml:()=>import("@shikijs/langs/yaml")},themes:{"github-dark":()=>import("@shikijs/themes/github-dark")},engine:()=>Ng.createJavaScriptRegexEngine()}),{codeToHtml:_}=Ks.createSingletonShorthands(y),w=()=>{var x,N;d.value==="memory"&&((x=i.cache)!=null&&x.partial_id)&&((N=i.cache)==null||delete N.partial_id)};async function b({codeElement:x,language:N,code:E}){x.innerHTML=await _(E,{lang:N,theme:"github-dark",structure:"inline"})}return(x,N)=>{const E=t.resolveComponent("KButton"),C=t.resolveComponent("KDropdownItem"),A=t.resolveComponent("KDropdown"),I=t.resolveComponent("KLabel"),P=t.resolveComponent("KCodeBlock"),T=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",qD,[t.createElementVNode("h3",zD,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),e.strategy?(t.openBlock(),t.createElementBlock("div",HD,[t.createElementVNode("div",YD,[t.createVNode(t.unref(xe.DeployIcon),{color:t.unref(ii),size:t.unref(Pd)},null,8,["color","size"]),t.createElementVNode("div",WD,t.toDisplayString(e.strategy),1)]),t.createVNode(A,null,{items:t.withCtx(()=>[t.createVNode(C,{onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(C,{danger:"",onClick:m},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:t.withCtx(()=>[t.createVNode(E,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{color:t.unref(tl)},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(E,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(T,{"action-button-disabled":!c.value,"action-button-text":t.unref(s)("actions.save"),"max-width":"640px",title:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:l.value,onCancel:f,onProceed:h},{default:t.withCtx(()=>{var k,G;return[t.createElementVNode("div",XD,[t.createVNode(Ad,{items:[{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":w},null,8,["items"]),d.value==="memory"?(t.openBlock(),t.createBlock(bt,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),d.value==="redis"?(t.openBlock(),t.createElementBlock("div",ZD,[t.createVNode(I,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(go.RedisConfigurationSelector),{"model-value":(k=t.unref(i).cache)==null?void 0:k.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":N[0]||(N[0]=S=>t.unref(i).cache.partial_id=S)},null,8,["model-value"])])):t.createCommentVNode("",!0),d.value==="redis"&&!((G=t.unref(i).cache)!=null&&G.partial_id)&&p.value?(t.openBlock(),t.createElementBlock("div",JD,[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(P,{id:"dk-cache-redis-configuration",code:p.value,language:"yaml",theme:"dark",onCodeBlockRender:b},null,8,["code"])])):t.createCommentVNode("",!0)])]}),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-ad53942e"]]),eR={class:"dk-resources-panel"},tR=ve(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=GD(),o=t.ref(0),{addVault:r,removeVault:i,updateVault:a,renameVault:l,formData:s}=VD();function c(h,y,_){_&&_!==h&&l(_,h,!1),a(h,y)}const{state:d,commit:p}=nt(),u=t.computed(()=>({cache:d.value.cacheConfig}));function f(h){d.value.cacheConfig=h.cache,p()}function m(){d.value.cacheConfig=void 0,p()}function g(){o.value++}return(h,y)=>(t.openBlock(),t.createElementBlock("div",eR,[t.createVNode(Et,{data:t.unref(s),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(jD,{name:"vault",onAdd:t.unref(r),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),y[0]||(y[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(Et,{key:`${o.value}`,data:u.value,schema:t.unref(n)},{default:t.withCtx(()=>{var _;return[t.createVNode(QD,{strategy:(_=u.value.cache)==null?void 0:_.strategy,onCancel:g,onRemove:m,onUpdate:f},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-3a9010b8"]]),nR={class:"header"},oR={class:"title"},rR={class:"body"},iR={class:"panel"},aR=ve(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=Qe.createI18n("en-us",et),{sidePanelExpanded:o}=Pl(),{propertiesPanelOpen:r,selectedNode:i}=nt(),a=t.inject(Hn.DATAKIT_M2,!1),l=t.ref("nodes");function s(){r.value=!1}t.watch(i,d=>{d||s()});const c=t.ref(!1);return t.onMounted(()=>{c.value=!0}),(d,p)=>{const u=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:c.value}])},[t.createElementVNode("header",nR,[t.createElementVNode("h2",oR,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",rR,[t.createElementVNode("div",iR,[t.unref(a)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(u,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=f=>l.value=f),options:[{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),l.value==="nodes"?(t.openBlock(),t.createBlock(ag,{key:0,"hide-title":""})):t.createCommentVNode("",!0),l.value==="resources"?(t.openBlock(),t.createBlock(tR,{key:1})):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(ag,{key:1}))])])],2)}}}),[["__scopeId","data-v-ae943268"]]),lR=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(Ft,{items:t.unref(qa)([...t.unref(Ku)]),name:e.name},null,8,["items","name"]))}}),sR=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Ge(),{i18n:o}=De(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(At,{"as-child":"",name:e.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(Ft,{key:l,clearable:"","enable-filtering":"",items:e.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},t.createSlots({_:2},[i.$slots["item-label"]?{name:"item-label",fn:t.withCtx(s=>[t.renderSlot(i.$slots,"item-label",t.mergeProps({ref_for:!0},s))]),key:"0"}:void 0]),1032,["items","name","placeholder","onChange"]))),128))]),_:3},8,["name"]))}}),cR=["data-testid"],dR={class:"dk-inputs-map-field-entry-body"},uR={class:"dk-inputs-map-field-entry-content"},fR=ve(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=ni(o,r),{i18n:{t:c}}=De(),d=t.useTemplateRef("root"),p=t.ref(null),u=t.ref({});let f;async function m(N,E="key"){var C;d.value&&(await t.nextTick(),(C=d.value.querySelector(`[data-${E}-input="${N}"]`))==null||C.focus())}function g(){const{id:N}=a(),E=i.value.findIndex(({key:C})=>!C);m(E===-1?i.value.length-1:E),p.value=N}function h(N){l(N.id),N.id===p.value&&(p.value=null),N.key.trim()!==""&&r("remove:field",N.key)}function y(N){f=N.key}function _(N){if(w(N)){N.key=f,delete u.value[N.id];return}if(N.id===p.value){if(N.key.trim()==="")return;r("add:field",N.key,N.value),p.value=null}else r("rename:field",f,N.key);f=N.key}function w(N){delete u.value[N.id];const E=o.fieldNameValidator("input",f,N.key);if(E)return u.value[N.id]=E,E}function b(N){w(N)}function x(N,E){N.id!==p.value&&r("change:inputs",N.key,E)}return t.watch(()=>i.value,N=>{p.value&&(N.find(({id:E})=>E===p.value)||(p.value=null))}),(N,E)=>{const C=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),I=t.resolveComponent("KInput"),P=t.resolveComponent("KSelect"),T=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(C,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(k,G)=>(t.openBlock(),t.createElementBlock("div",{key:k.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${G}`},[t.createVNode(A,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${G}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),t.createElementVNode("div",dR,[t.createElementVNode("div",uR,[t.createVNode(I,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${G}`,modelValue:k.key,"onUpdate:modelValue":[S=>k.key=S,S=>w(k)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":G,"data-testid":`ff-key-${t.unref(s).path.value}.${G}`,error:!!u.value[k.id],"error-message":u.value[k.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:S=>b(k),onChange:S=>_(k),onFocus:S=>y(k)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(P,{modelValue:k.value,"onUpdate:modelValue":S=>k.value=S,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${G}`,"enable-filtering":"",items:e.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:S=>x(k,(S==null?void 0:S.value)??null)},t.createSlots({_:2},[N.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:S})=>[t.renderSlot(N.$slots,"item-label",t.mergeProps({ref_for:!0},S),void 0,!0)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(T,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${G}`,icon:"",onClick:S=>h(k)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,cR))),128)),t.createVNode(T,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!p.value,onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-dda8b239"]]),pR={class:"dk-source-item"},fa=ve(t.defineComponent({__name:"SourceItem",props:{item:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("span",pR,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(xt)[e.item.type].icon),{color:t.unref(ii),size:t.unref(ai)},null,8,["color","size"])),t.createTextVNode(" "+t.toDisplayString(e.item.label),1)]))}}),[["__scopeId","data-v-78ea8dff"]]),mR={key:1,class:"dk-inputs-field-or"},$n=ve(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=Ge(),{i18n:{t:i}}=De(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?sR:fR:null);function s(f){o("change:input",f?f.value:null)}function c(f,m){o("add:field",f,m)}function d(f,m){o("change:inputs",f,m)}function p(f){o("remove:field",f)}function u(f,m){o("rename:field",f,m)}return(f,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(Be.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(r)("input")?(t.openBlock(),t.createBlock(Ft,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:e.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},{"item-label":t.withCtx(g=>[t.renderSlot(f.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(g)),()=>[t.createVNode(fa,{item:g},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createElementBlock("div",mR,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(Be.KLabel),{key:2,class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1})):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:3,"field-name-validator":e.fieldNameValidator,items:e.items,"key-order":e.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":p,"onRename:field":u},{"item-label":t.withCtx(g=>[t.createVNode(fa,{item:g},null,8,["item"])]),_:1},8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-90518c04"]]),gR={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},hR={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function yR(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function co(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function qo(e){const{i18n:{t:n}}=De(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function lg(e,n){const{i18n:{t:o}}=De();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function _R(e=0,n=1/0,o){const{i18n:{t:r}}=De();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function sg(e){const{i18n:{t:n}}=De();return function(r){if(!yR(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function $s(e,n){const{i18n:{t:o}}=De();return function(i){if(i==null)return;const a=sg(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function Bs(e=-1/0,n=1/0,o){const{i18n:{t:r}}=De();return function(a){if(a==null)return;const l=sg(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function bR(e,n){const{state:o}=nt(),{i18n:{t:r}}=De();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function wR(e,n,o){const{i18n:{t:r}}=De();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function kR(){const{i18n:{t:e}}=De();return function(o){if(El(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function cg(e){const{i18n:{t:n}}=De(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return co(qo(o),lg("identifier",o),kR(),bR(e,o))}function CR(e){const{i18n:{t:n}}=De(),{getNodeById:o}=nt();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return co(qo(s),wR(i,o(e),l))(a)}}function ER(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=u=>{const f=typeof u=="function"?u():u,m=s(f);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},p=u=>(d(),c(u));r[l]={handleChange:p,handleBlur:p,validate:p,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],p=typeof d=="function"?d():d;(s=r[c])==null||s.validate(p)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Rr(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=nt(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>ER(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),f=l.value.validate(u),m={};for(const g in a.value)m[g]=f[g];return m}function p(u,f){return{onBlur:()=>{const m=o(),g=s.value[u];g&&g.handleBlur(m[u])},onUpdate:()=>{const m=o(),g=s.value[u];g&&g.handleChange(m[u]),f==null||f()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const u=d(),f=Object.values(u).filter(Boolean).length>0;r(!f)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:p}}function bn(e,n){const o=t.inject(Hn.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:d,disconnectEdge:p,connectEdge:u,invalidConfigNodeIds:f,commit:m,revert:g}=nt(),{i18n:{t:h}}=De(),y=Qm(),_=t.computed(()=>{const D=a(e);if(!D)throw new Error("Node not existed");return D}),w=t.computed(()=>{const M=r.value.edges.filter(v=>v.target===e).reduce((v,B)=>{var ae,he;const W=a(B.source),X=(ae=vn(W,"output",B.sourceField))==null?void 0:ae.id,oe=(he=vn(_.value,"input",B.targetField))==null?void 0:he.name,H=W.id+(X?`.${X}`:"");return oe?v.inputs={...v.inputs,[oe]:H}:v.input=H,v},{});return _.value.fields.input.forEach(v=>{M.inputs||(M.inputs={}),M.inputs[v.name]||(M.inputs[v.name]=null)}),{..._.value.config,...M,name:_.value.name}}),b=D=>{i(e,D??"",!0,`${e}:rename`)},x=(D,M=!0)=>{if(!n)throw new Error("getFormInnerData is not defined");const v=qn(n(),["name","input","inputs"]),B=D?`update:${e}:${D}`:void 0;d(e,v,M,B)},N=(D,M)=>{const v=Sn(_.value,D,M);if(!v)throw new Error(`Field with name "${M}" not found in node "${_.value.name}"`);return v},E=(D,M,v)=>{const B=!!v;l(e,D,M,!B),B&&T(M,v)},C=(D,M,v)=>{const B=N(D,M).id;s(e,B,v)},A=(D,M)=>{const v=N(D,M).id;c(e,v)},I=t.computed(()=>r.value.edges.filter(D=>D.target===e&&!D.targetField)[0]),P=t.computed(()=>r.value.edges.filter(D=>D.target===e&&D.targetField)),T=async(D,M)=>{const v=M==null,B=N("input",D).id;if(v){const se=P.value.find(pe=>pe.targetField===B);se&&p(se.id);return}const{nodeId:W,fieldId:X}=Gu(M),oe=N("input",D).id,H=[];I.value&&(H.push(Dr(I.value,a)),p(I.value.id,!1));const ae=P.value.find(se=>se.targetField===B);ae&&(H.push(Dr(ae,a)),p(ae.id,!1)),u({source:W,sourceField:X,target:e,targetField:oe},!1);const he=Ps(W,X,e,oe,a),ee=H[0]&&he?H[0][1]===he[1]:!1;if(m(),ee||H.length===0)return;await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[he],H)||g()},k=async D=>{if(D==null){I.value&&p(I.value.id);return}const v=[];for(const H of P.value)v.push(Dr(H,a)),p(H.id,!1);I.value&&p(I.value.id,!1);const{nodeId:B,fieldId:W}=Gu(D);u({source:B,sourceField:W,target:e,targetField:void 0},!1);const X=Ps(B,W,e,void 0,a);if(m(),v.length===0)return;await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[X],v)||g()},G=D=>{const M=[...r.value.edges,{source:D,target:e}];return Al(hi(M))},S=t.computed(()=>{var M,v;const D=[];for(const B of r.value.nodes)if(!(!o&&B.type==="vault"||!((M=$o(B.type).io)!=null&&M.output))&&B.fields.output&&B.id!==e&&!(B.type==="property"&&!hs((v=B.config)==null?void 0:v.property))&&!G(B.id)&&!(_.value.phase==="request"&&B.phase==="response")&&!(B.type==="vault"&&B.fields.output.length===0)){D.push({value:B.id,label:B.name,type:B.type});for(const X of B.fields.output)D.push({value:`${B.id}.${X.id}`,label:`${B.name}.${X.name}`,type:B.type})}return D}),L=t.computed(()=>_.value.fields.input.map(D=>D.name)||[]);function F(D){f.value.delete(e),D||f.value.add(e)}const ne=CR(e);function Y(D,M,v){const B=a(e);if(!B)throw new Error("Node not found when validating field name");const W=Sn(B,D,M);return ne(D,v,W==null?void 0:W.id)}return{formData:w,inputOptions:S,inputEdge:I,inputsEdges:P,inputsFieldNames:L,currentNode:_,setName:b,setConfig:x,addField:E,renameFieldByName:C,removeFieldByName:A,setInputs:T,setInput:k,nameValidator:cg(e),fieldNameValidator:Y,toggleNodeValid:F}}function wn(e){const{getSchema:n}=Ge();return t.computed(()=>{if($t(e))switch(e){case"response":return hR;case"service_request":return gR}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const uo=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=De(),a=t.ref(o.name),l=t.computed(()=>{const p=o.validate(a.value.trim());return p===void 0?"":p});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,p=>{p!==a.value&&(a.value=p)}),(p,u)=>{const f=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(f,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),NR=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=De(),o=t.useTemplateRef("form"),r=wn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:p,nameValidator:u,toggleNodeValid:f,fieldNameValidator:m}=bn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:g}=Rr({validationConfig:{url:co(qo({fieldName:"URL"}),lg("url",{fieldName:"URL"})),timeout:co($s("integer"),Bs(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:f}),h=g("url",()=>l("url")),y=g("timeout",()=>l("timeout"));return(_,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(xo,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"url",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(lR,{name:"method",onUpdate:w[0]||(w[0]=x=>t.unref(l)())}),t.createVNode(Wn,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"timeout",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(xo,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=x=>t.unref(l)("ssl_server_name"))}),t.createVNode($n,{"field-name-validator":t.unref(m),"field-names":t.unref(p),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),xR=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=bn(e.nodeId,()=>n.value.getInnerData());return(d,p)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode($n,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),SR=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=bn(e.nodeId,()=>n.value.getInnerData());return(d,p)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode($n,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),dg={jqlang:"https://jqlang.org/manual/"},vR=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=De(),r=t.useTemplateRef("form"),i=wn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:d,setInput:p,addField:u,removeFieldByName:f,renameFieldByName:m,inputsFieldNames:g,nameValidator:h,toggleNodeValid:y,fieldNameValidator:_}=bn(e.nodeId,()=>r.value.getInnerData());function w(A,I){u("input",A,I)}function b(A){f("input",A)}function x(A,I){m("input",A,I)}const N=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:E}=Rr({validationConfig:{jq:co(qo({fieldName:N}),_R(1,10240,{fieldName:N}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:y}),C=E("jq",()=>s("jq"));return(A,I)=>{const P=t.resolveComponent("KLabel"),T=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(a).name,validate:t.unref(h),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(P,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(xo,{autosize:"",error:t.unref(C).error.value,"error-message":t.unref(C).errorMessage.value,label:t.unref(N),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(C).onBlur,"onUpdate:modelValue":t.unref(C).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(T,{"hide-icon":"",href:t.unref(dg).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(dg).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode($n,{"field-name-validator":t.unref(_),"field-names":t.unref(g),items:t.unref(c),"onAdd:field":w,"onChange:input":t.unref(p),"onChange:inputs":t.unref(d),"onRemove:field":b,"onRename:field":x},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),AR=ve(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=ni(o,r,!1),{i18n:d}=De(),p=t.useTemplateRef("root"),u=t.ref(null);let f;async function m(N,E="key"){var C;p.value&&(await t.nextTick(),(C=p.value.querySelector(`[data-${E}-input="${N}"]`))==null||C.focus())}function g(){const N=l(),E=a.value.findIndex(({key:C})=>!C);m(E===-1?a.value.length-1:E),u.value=N}function h(N){var E;N.id===((E=u.value)==null?void 0:E.id)&&(u.value=null),s(N.id),N.key.trim()!==""&&r("remove:field",N.key)}function y(N){f=N.key}function _(N){var E;if(b(N)){N.key=f,delete i.value[N.id];return}if(N.id===((E=u.value)==null?void 0:E.id)){if(N.key.trim()==="")return;u.value=null,r("add:field",N.key,N.value)}else r("rename:field",f,N.key);f=N.key}function w(N,E){var A;if(E.id===((A=u.value)==null?void 0:A.id))return;const C=N.target.value.trim();r("change:value",E.key,C)}function b(N){delete i.value[N.id];const E=o.fieldNameValidator("output",f,N.key);if(E)return i.value[N.id]=E,E}function x(N){b(N)}return t.watchEffect(()=>{u.value&&!a.value.some(N=>N.id===u.value.id)&&a.value.push(u.value)}),(N,E)=>{const C=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),I=t.resolveComponent("KButton"),P=t.resolveComponent("KInput"),T=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(C,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:p,class:"dk-output-value-field"},[t.createVNode(A,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(k,G)=>(t.openBlock(),t.createBlock(T,{key:k.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${G}`},{actions:t.withCtx(()=>[t.createVNode(I,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${G}`,icon:"",onClick:S=>h(k)},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(P,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${G}`,modelValue:k.key,"onUpdate:modelValue":[S=>k.key=S,S=>b(k)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":G,"data-testid":`ff-key-${t.unref(c).path.value}.${G}`,error:!!i.value[k.id],"error-message":i.value[k.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:S=>x(k),onChange:S=>_(k),onFocus:S=>y(k)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(P,{modelValue:k.value,"onUpdate:modelValue":S=>k.value=S,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${G}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:S=>w(S,k)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(I,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function IR(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function pa(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function PR(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const TR=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=nt(),{fieldNameValidator:c}=bn(e.nodeId),d=wn("static"),p=cg(e.nodeId),u=t.computed(()=>s(e.nodeId)),f=t.computed(()=>{var b;return((b=u.value)==null?void 0:b.fields.output.map(x=>x.name))||[]});function m(b){if(!u.value)throw new Error("No current node");n(u.value.id,b??"")}const g=t.computed(()=>{var I;if(!u.value)return{};const b=((I=u.value.config)==null?void 0:I.values)??{},x={},N=o(u.value.id).map(P=>P.sourceField).filter(Boolean).map(P=>vn(u.value,"output",P)).map(P=>P==null?void 0:P.name).filter(Boolean),E=u.value.fields.output.map(P=>P.name),C=Object.keys(b);return new Set([...C,...N,...E]).forEach(P=>{if(P in b){x[P]=b[P];return}x[P]=""}),{name:u.value.name,values:IR(x)}});function h(b,x){if(!u.value)throw new Error("No selected node");const N=x!==void 0;if(r(e.nodeId,"output",b,!N),N){const E={values:pa({...g.value.values,[b]:x})};l(e.nodeId,E)}}function y(b,x){if(!u.value)throw new Error("No selected node");const N=Sn(u.value,"output",b);if(!N)throw new Error("No field found to rename");const E={values:pa(PR(g.value.values??{},b,x))};l(e.nodeId,E,!1),i(e.nodeId,N.id,x)}function _(b){var E;if(!u.value)throw new Error("No selected node");const x=Sn(u.value,"output",b);if(!x)throw new Error("No field found to delete");a((E=u.value)==null?void 0:E.id,x.id,!0,!1);const N={values:pa({...g.value.values})};delete N.values[b],l(e.nodeId,N)}function w(b,x){if(!u.value)throw new Error("No selected node");const N={...g.value.values};N[b]=x;const E={values:pa(N)};l(e.nodeId,E)}return(b,x)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:g.value,schema:t.unref(d)},{default:t.withCtx(()=>{var N;return[t.createVNode(uo,{name:((N=u.value)==null?void 0:N.name)??"",validate:t.unref(p),onUpdate:m},null,8,["name","validate"]),t.createVNode(AR,{"field-name-validator":t.unref(c),"key-order":f.value,name:"values","onAdd:field":h,"onChange:value":w,"onRemove:field":_,"onRename:field":y},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),OR={class:"dk-kong-property-item"},$R={class:"property-type"},BR={class:"property-badges"},VR=ve(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=De(),r=e,i=n,{formData:a}=Ge(),l=t.ref($r(a.property)),s=t.computed(()=>Br(a.property)),c=t.ref(gs(a.property)),d=t.computed(()=>a.property??""),p=t.computed(()=>Object.entries(ao).map(([m])=>{var y;const g=Br(m)?(y=a.property)==null?void 0:y.startsWith(m.replace(jo,"")):a.property===m;return{label:g&&c.value?m.replace(jo,c.value):m,value:m,selected:g}}));function u(m){const g=ta.find(h=>{var y;return(y=a.property)==null?void 0:y.startsWith(h)});g&&(a.property=g+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function f(m){l.value!==$r(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=$r(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=gs(m),l.value=$r(m)}),(m,g)=>{const h=t.resolveComponent("KBadge"),y=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(y,{key:d.value,"enable-filtering":"",error:!e.validators.property.isValid.value,help:e.validators.property.error.value,items:p.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:g[0]||(g[0]=w=>e.validators.property.handleBlur(()=>t.unref(a).property)),onChange:f},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",OR,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",$R,t.toDisplayString(t.unref(ao)[w.value].dataType),1)]),t.createElementVNode("div",BR,[t.unref(ao)[w.value].readable?(t.openBlock(),t.createBlock(h,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(ao)[w.value].writable?(t.openBlock(),t.createBlock(h,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(_,{key:0,"model-value":c.value,"onUpdate:modelValue":[g[1]||(g[1]=w=>c.value=w),u],error:!e.validators.key.isValid.value,"error-message":e.validators.key.error.value,label:"key",required:"",onBlur:g[2]||(g[2]=w=>e.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),DR=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=nt(),a=wn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:p,setInput:u,inputsFieldNames:f,nameValidator:m,toggleNodeValid:g,fieldNameValidator:h}=bn(e.nodeId,()=>n.value.getInnerData()),y=t.computed(()=>ys(l.value.property));function _(b){var N;const x=(N=o.value)==null?void 0:N.id;if(!x)throw new Error("Expected selectedNode to be defined");hs(b)||i(x,!1),ys(b)||r(x,!1),c()}const{fields:w}=Rr({validationConfig:()=>({property:qo({fieldName:"Property"}),key:Br(l.value.property)?qo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:gs(l.value.property)}),toggleNodeValid:g});return(b,x)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(Ft,{name:"content_type",onUpdate:x[0]||(x[0]=N=>t.unref(c)())}),t.createVNode(VR,{validators:t.unref(w),"onUpdate:modelValue":_,"onUpdate:propertyKey":x[1]||(x[1]=N=>t.unref(c)("property-key"))},null,8,["validators"]),y.value?(t.openBlock(),t.createBlock($n,{key:0,"field-name-validator":t.unref(h),"field-names":t.unref(f),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),RR=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:p,toggleNodeValid:u,fieldNameValidator:f}=bn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Rr({validationConfig:{status:co($s("integer",{fieldName:"Status"}),Bs(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:u}),g=m("status",()=>a("status"));return(h,y)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(r).name,validate:t.unref(p),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Wn,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,name:"status",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ti,{name:"warn_headers_sent","onUpdate:modelValue":y[0]||(y[0]=_=>t.unref(a)())}),t.createVNode($n,{"field-name-validator":t.unref(f),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function MR(e){const n=bn(e),{state:o,getNodeById:r,branchGroups:i,commit:a}=nt(),{i18n:{t:l}}=De(),s=Qm(),c=Xm(),d=t.computed(()=>{var b;const _={...n.formData.value},w=fr(((b=n.currentNode.value)==null?void 0:b.type)||"branch");for(const x of w)(!(x in _)||_[x]==null)&&(_[x]=[]);return _});function p(_,w,b){const x=r(_),N=r(b),E=x?`${x.name}.${w}`:`${_}.${w}`,C=N?N.name:b;return[E,C]}function u(_){return(_==null?[]:Array.isArray(_)?_:[_]).filter(w=>ju(w))}function f(_,w){return i.wouldCreateCycle(_,w)?(c({message:l("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(_,w,b){const x=[],N=[],E=[];for(const C of b){const A=i.findMembership(C);if(!A||A.ownerId===_&&A.branch===w)continue;const I=i.getMembers(A.ownerId,A.branch).filter(P=>P!==C);E.push({ownerId:A.ownerId,branch:A.branch,members:I}),x.push(p(_,w,C)),N.push(p(A.ownerId,A.branch,C))}return{conflictUpdates:E,addedAssignments:x,removedAssignments:N}}function g(_,w,b,x){let N=!1;for(const E of x)N=i.setMembers(E.ownerId,E.branch,E.members,{commit:!1})||N;return N=i.setMembers(_,w,b,{commit:!1})||N,N}async function h(_,w){const b=n.currentNode.value,x=u(w),N=i.prepareMembers(b.id,_,x),E=i.getMembers(b.id,_);if(xl(E,N))return!0;const C=N.filter(k=>!E.includes(k));for(const k of C)if(f(b.id,k))return!1;const{conflictUpdates:A,addedAssignments:I,removedAssignments:P}=m(b.id,_,C);return A.length>0&&!await s(l("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),I,P)?!1:(g(b.id,_,N,A)&&a(),!0)}const y=t.computed(()=>{const _=n.currentNode.value;return!_||!i?[]:o.value.nodes.filter(w=>w.id!==e&&!$t(w.type)&&w.phase===_.phase&&!i.wouldCreateCycle(_.id,w.id)).map(w=>({value:w.id,label:w.name,type:w.type}))});return{...n,formData:d,branchOptions:y,updateBranchMembers:h}}const FR=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=De(),o=wn("branch"),r=t.ref(0),{formData:i,setName:a,inputOptions:l,branchOptions:s,nameValidator:c,setInput:d,setInputs:p,inputsFieldNames:u,fieldNameValidator:f,updateBranchMembers:m}=MR(e.nodeId);async function g(h,y){await m(h,y)||(r.value+=1)}return(h,y)=>(t.openBlock(),t.createBlock(Et,{key:r.value,data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Be.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Ft,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"then",onUpdate:y[0]||(y[0]=_=>g("then",_))},{"item-label":t.withCtx(_=>[t.createVNode(fa,{item:_},null,8,["item"])]),_:1},8,["items"]),t.createVNode(Ft,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"else",onUpdate:y[1]||(y[1]=_=>g("else",_))},{"item-label":t.withCtx(_=>[t.createVNode(fa,{item:_},null,8,["item"])]),_:1},8,["items"]),t.createVNode($n,{"field-name-validator":t.unref(f),"field-names":t.unref(u),items:t.unref(l),"onChange:input":t.unref(d),"onChange:inputs":t.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),LR=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=wn("cache"),{i18n:{t:r}}=De(),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:p,nameValidator:u,toggleNodeValid:f,fieldNameValidator:m}=bn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:g}=Rr({validationConfig:()=>({ttl:co($s("integer",{fieldName:"TTL"}),Bs(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:f}),h=g("ttl",()=>l("ttl"));return(y,_)=>(t.openBlock(),t.createBlock(Et,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(uo,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Be.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(ti,{name:"bypass_on_error","onUpdate:modelValue":_[0]||(_[0]=w=>t.unref(l)("bypass_on_error"))}),t.createVNode(Wn,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"ttl",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode($n,{"field-name-validator":t.unref(m),"field-names":t.unref(p),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),UR=["innerHTML"],KR=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${em}px`},offsetTop:{default:`${_T}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=nt(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return NR;case"service_request":return xR;case"response":return SR;case"jq":return vR;case"static":return TR;case"property":return DR;case"exit":return RR;case"branch":return FR;case"cache":return LR;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Be.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":e.maxWidth,"offset-top":e.offsetTop,visible:e.visible,"z-index":t.unref(yT),onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(Lt)(o.value.type)},null,8,UR)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:e.nodeId,class:"dk-node-properties-panel-form","node-id":e.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(og,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),jR=ve(KR,[["__scopeId","data-v-bad25d77"]]),GR={class:"dk-editor-content"},qR={class:"main"},zR=ve(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:o}=nt();function r(){n.value=!1}t.watch(o,a=>{a||r()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,l)=>{var s;return t.openBlock(),t.createElementBlock("div",GR,[t.createVNode(t.unref(aR)),t.createElementVNode("div",qR,[t.createVNode(ND)]),t.createVNode(jR,{"node-id":(s=t.unref(o))==null?void 0:s.id,visible:t.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),HR={key:0,class:"dk-editor-modal"},YR=ve(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({v8758bbfe:`${t.unref(hT)}px`,v30e03211:`${t.unref(Qp)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=nt();OV(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=qe.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",HR,[t.createVNode(_D,{class:"nav",onBack:l}),t.createVNode(zR,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(mD,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-abbb8dba"]]),WR={class:"dk-flow-editor"},XR={class:"flow-panels-container"},ZR={class:"overlay"},JR=ve(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=Qe.createI18n("en-us",et),{formData:r}=Ge(),i=n;function a(c,d,p,u){const f={...r.config,nodes:c};p!==void 0&&(f.resources=p);const m={...r.__ui_data,...d};r.config=f,r.__ui_data=m,u!=null?r.partials=[{id:u}]:r.partials&&(r.partials=null),i("change",f,m)}const{modalOpen:l,setPendingFitView:s}=ef(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),B1({enabled:l}),(c,d)=>{const p=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",WR,[t.createElementVNode("div",XR,[t.createVNode(Os,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",ZR,[t.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=u=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(xe.ExpandIcon))]),_:1})])]),t.createVNode(YR,{open:t.unref(l),"onUpdate:open":d[1]||(d[1]=u=>t.isRef(l)?l.value=u:null)},null,8,["open"])])}}}),[["__scopeId","data-v-82ca6e78"]]);function QR(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function eM(e){const n=e.path[2];return n==="output"||n==="outputs"}function ug(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function fg(e,n){const o=e.input!==void 0&&e.input!==null,r=ug(e.inputs);o&&r&&n.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["inputs"]});const i=e.output!==void 0&&e.output!==null,a=ug(e.outputs);i&&a&&n.addIssue({code:"custom",message:'A node cannot use both "output" and "outputs". Use one or the other.',path:["outputs"]})}function pg(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,d)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,d)=>{for(const p of QR(c,d)){const u=p.value.split(".",1)[0];if(a.has(u)||o.addIssue({code:"custom",message:`Unknown node "${u}" in connection "${p.value}"`,path:p.path}),eM(p)){const f=`${p.nodeName}->${u}`;s.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${p.nodeName}" outputs to "${u}" and "${u}" inputs from "${p.nodeName}". Specify it on one side only.`,path:p.path}):l.set(f,l.get(f)??p.path)}else{const f=`${u}->${p.nodeName}`;l.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u}" outputs to "${p.nodeName}" and "${p.nodeName}" inputs from "${u}". Specify it on one side only.`,path:p.path}):s.set(f,s.get(f)??p.path)}}})}const tM=J.z.enum(Lu),nM=J.z.enum(To),mg=e=>To.includes(e),Vs=J.z.enum(Uu),gg=Vs.options;J.z.union([Vs,tM]);const oM=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,hg=J.z.string().min(1).max(255).regex(oM,"Invalid node name (snake_case / kebab-case only)").refine(e=>!mg(e),"Name clashes with reserved implicit node").brand(),ma=J.z.union([nM,hg]),rM=J.z.string().min(1).brand(),iM=["then","else"];J.z.enum(iM);const yt=J.z.string().refine(e=>{if(ma.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return ma.safeParse(o).success&&rM.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),yg=J.z.enum(Ku),fo=J.z.object({type:J.z.string(),name:hg,input:yt,inputs:J.z.record(J.z.string(),yt).nullish(),output:yt,outputs:J.z.record(J.z.string(),yt).nullish()}).loose().superRefine((e,n)=>{fg(e,n)}),aM=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),gg.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${gg.join(", ")}`})}),lM=fo.safeExtend({type:J.z.literal("call"),method:yg.nullish(),ssl_server_name:J.z.string().min(1).nullish(),timeout:J.z.number().int().min(0).max(2147483646).nullish(),url:J.z.url(),inputs:J.z.object({body:yt,headers:yt,query:yt}).partial().nullish(),outputs:J.z.object({body:yt,headers:yt,status:yt}).partial().nullish()}).strict(),sM=fo.safeExtend({type:J.z.literal("exit"),status:J.z.number().int().min(200).max(599).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),cM=fo.safeExtend({type:J.z.literal("jq"),jq:J.z.string().min(1).max(10240),outputs:J.z.never().optional()}).strict(),dM=fo.safeExtend({type:J.z.literal("property"),content_type:J.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:J.z.string().min(1),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),uM=fo.safeExtend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),fM=fo.safeExtend({type:J.z.literal("cache"),bypass_on_error:J.z.boolean().nullish(),inputs:J.z.object({data:yt,key:yt,ttl:yt}).partial().nullish(),outputs:J.z.object({data:yt,hit:yt,miss:yt,stored:yt}).partial().nullish(),ttl:J.z.number().int().gt(0).nullish()}).strict(),pM=fo.safeExtend({type:J.z.literal("branch"),then:J.z.array(ma).nullish(),else:J.z.array(ma).nullish()}).strict(),mM=aM.pipe(J.z.discriminatedUnion("type",[lM,sM,cM,dM,uM,fM,pM])),gM=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),hM=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),yM=J.z.object({host:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),_M=J.z.object({ip:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),bM=J.z.object({host:J.z.string().optional().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),username:J.z.string().optional(),password:J.z.string().optional(),sentinel_username:J.z.string().optional(),sentinel_password:J.z.string().optional(),database:J.z.number().int().optional().default(0),keepalive_pool_size:J.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:J.z.number().int().min(0).max(2147483646).optional(),sentinel_master:J.z.string().optional(),sentinel_role:J.z.enum(["master","slave","any"]).optional(),sentinel_nodes:J.z.array(yM).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:J.z.array(_M).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:J.z.boolean().default(!1).optional(),ssl_verify:J.z.boolean().default(!1).optional(),server_name:J.z.string().optional(),cluster_max_redirections:J.z.number().int().default(5).optional(),connection_is_proxied:J.z.boolean().default(!1).optional(),timeout:J.z.number().int().optional(),sentinel_addresses:J.z.array(J.z.string()).min(1).optional(),cluster_addresses:J.z.array(J.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),wM=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:hM,redis:bM}),kM=J.z.object({vault:gM.nullish(),cache:wM.nullish()});J.z.array(J.z.object({id:J.z.string()})),J.z.object({nodes:J.z.array(mM).min(1,"At least one node is required"),debug:J.z.boolean().nullish(),resources:kM.nullish()}).strict().superRefine((e,n)=>{pg(e,To,n)});const _g=Vs.options,Ds=J.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!mg(e),"Node name conflicts with reserved implicit node"),_t=J.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),po=J.z.object({type:J.z.string(),name:Ds,input:_t.nullish(),inputs:J.z.record(J.z.string(),_t.nullish()).nullish(),output:_t.nullish(),outputs:J.z.record(J.z.string(),_t.nullish()).nullish()}).loose().superRefine((e,n)=>{fg(e,n)}),CM=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),_g.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${_g.join(", ")}`})}),EM=po.safeExtend({type:J.z.literal("call"),method:yg.nullish(),ssl_server_name:J.z.string().nullish(),timeout:J.z.union([J.z.number(),J.z.string()]).nullish(),url:J.z.string().nullish(),inputs:J.z.object({body:_t.nullish(),headers:_t.nullish(),query:_t.nullish()}).partial().nullish(),outputs:J.z.object({body:_t.nullish(),headers:_t.nullish(),status:_t.nullish()}).partial().nullish()}).strict(),NM=po.safeExtend({type:J.z.literal("exit"),status:J.z.union([J.z.number(),J.z.string()]).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),xM=po.safeExtend({type:J.z.literal("jq"),jq:J.z.string().nullish(),outputs:J.z.never().optional()}).strict(),SM=po.safeExtend({type:J.z.literal("property"),content_type:J.z.string().nullish(),property:J.z.string().nullish(),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),vM=po.safeExtend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()).nullish(),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),AM=po.safeExtend({type:J.z.literal("cache"),bypass_on_error:J.z.boolean().nullish(),inputs:J.z.object({data:_t.nullish(),key:_t.nullish(),ttl:_t.nullish()}).partial().nullish(),outputs:J.z.object({data:_t.nullish(),hit:_t.nullish(),miss:_t.nullish(),stored:_t.nullish()}).partial().nullish(),ttl:J.z.union([J.z.number(),J.z.string()]).nullish()}).strict(),IM=po.safeExtend({type:J.z.literal("branch"),then:J.z.array(Ds).nullish(),else:J.z.array(Ds).nullish()}).strict(),PM=CM.pipe(J.z.discriminatedUnion("type",[EM,NM,xM,SM,vM,AM,IM])),TM=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),OM=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),$M=J.z.object(),BM=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:OM.optional(),redis:$M.optional()}),VM=J.z.object({vault:TM.nullish(),cache:BM.nullish()}),DM=J.z.object({nodes:J.z.array(PM).nullish(),debug:J.z.boolean().nullish(),resources:VM.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||pg(e,To,n)}).nullish(),RM={class:"dk-option-label"},MM={class:"dk-option-label"},FM=["innerHTML"],LM=ve(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{}},setup(e){const{t:n}=Qe.createI18n("en-us",et),o=e,r=t.inject(Hn.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(Hn.DATAKIT_M2,!1),a=t.ref(!1);t.onMounted(()=>{a.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:l}=Pl(),s=t.computed(()=>r&&p.value?l.value:"code"),c=t.computed(()=>i?s.value==="flow"?"form":"code":"form"),d={flow:xe.DesignIcon,code:xe.CodeblockIcon},p=t.ref(!0),u=t.computed(()=>{const b=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return b[0].disabled=!p.value,b}),f=t.computed(()=>{switch(s.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),m=t.computed(()=>n(i?"plugins.free-form.datakit.plugin_config.title":"plugins.form.sections.plugin_config.title"));t.watch(s,()=>{var b;(b=o.onValidityChange)==null||b.call(o,{model:"config",valid:!0})});function g(){var b;(b=o.onValidityChange)==null||b.call(o,{model:"config",valid:!0})}function h(){g()}function y(b){g();let x=b;i&&(x=b==null?void 0:b.config);const{success:N}=DM.safeParse(x);let E=N;!i&&E&&(E=!_(b)),p.value=E}function _(b){var N,E;return!!((N=b==null?void 0:b.resources)!=null&&N.vault||((E=b==null?void 0:b.nodes)==null?void 0:E.some(C=>C.type==="branch"||C.type==="cache")))}function w(b){var x;p.value=!1,(x=o.onValidityChange)==null||x.call(o,{model:"config",valid:!1,error:b})}return(b,x)=>{const N=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(i)?(t.openBlock(),t.createBlock(t.Teleport,{key:0,disabled:!a.value,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(Be.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":s.value,options:u.value,"onUpdate:modelValue":x[0]||(x[0]=E=>l.value=E)},{"option-label":t.withCtx(({option:E})=>[t.createVNode(N,{disabled:p.value||E.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",RM,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d[E.value]))),t.createTextVNode(" "+t.toDisplayString(E.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])],8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(Vd,t.mergeProps(o,{class:"dk-form","editor-mode":c.value}),t.createSlots({"code-editor":t.withCtx(()=>[t.createVNode(Fu,{class:"code-editor",editing:o.isEditing,onChange:y,onError:w},null,8,["editing"])]),"plugin-config-title":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(m.value),1)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,FM)]),default:t.withCtx(()=>[s.value==="flow"?(t.openBlock(),t.createBlock(JR,{key:0,"is-editing":o.isEditing,onChange:h},null,8,["is-editing"])):s.value==="code"&&!t.unref(i)?(t.openBlock(),t.createBlock(Fu,{key:1,class:"code-editor",editing:o.isEditing,onChange:y,onError:w},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},[t.unref(r)&&!t.unref(i)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(Be.KSegmentedControl),{"model-value":s.value,options:u.value,"onUpdate:modelValue":x[1]||(x[1]=E=>l.value=E)},{"option-label":t.withCtx(({option:E})=>[t.createVNode(N,{disabled:p.value||E.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",MM,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d[E.value]))),t.createTextVNode(" "+t.toDisplayString(E.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040,["editor-mode"])],64)}}}),[["__scopeId","data-v-35f07a89"]]),bg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},wg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},UM=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=je.useI18n(),l={prepareFormData:c=>{var p,u;const d=wo(c);return(u=(p=d.config)==null?void 0:p.tools)!=null&&u.length&&d.config.tools.forEach(f=>{wg(f.headers),wg(f.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var p,u;const d=wo(c);(u=(p=d.config)==null?void 0:p.tools)!=null&&u.length&&d.config.tools.forEach(f=>{bg(f.headers),bg(f.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(Et,{config:l,data:e.data,schema:e.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:p})=>[t.createVNode(oi,{appearance:"tabs","item-label":(u,f)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:f+1}),name:p,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(ri)]),_:1},8,["data","schema"]))}}),KM=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(UM,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),jM=ve(t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n}=Ge(),o=t.computed(()=>{const i=n().fields.find(s=>Object.keys(s)[0]==="config").config.fields,a=[],l=[];for(const s of i){const c=Object.keys(s)[0];s[c].required?a.push(c):l.push(c)}return{required:a,nonRequired:l}});return(r,i)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(At,{"as-child":"",name:"config",omit:o.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(ri,{class:"ff-advanced-fields","hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(At,{"as-child":"",name:"config",omit:o.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})],64))}}),[["__scopeId","data-v-33bf669b"]]),kg=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:KM,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{}},setup(e){const n=e,o=t.useSlots();return t.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Vd,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(()=>[t.createVNode(jM)]),_:1},16))}}),DatakitForm:LM,RequestCalloutForm:Fk,ServiceProtectionForm:GC},Symbol.toStringTag,{value:"Module"})),GM={class:"kong-ui-entities-plugin-form"},qM={key:1,class:"entity-form"},zM={class:"plugin-config-empty-state"},HM=ve(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var ae,he;const o=Object.keys(Le.sharedForms),r=Object.keys(kg);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=be.useAxios((ae=a.config)==null?void 0:ae.axiosRequestConfig),{parseSchema:s}=je.useSchemas({entityId:((he=a.entityMap.focusedEntity)==null?void 0:he.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:p,isObjectEmpty:u,unsetNullForeignKey:f}=je.usePluginHelpers(),m=je.useExperimentalFreeForms(),{objectsAreEqual:g}=be.useHelpers(),{i18n:{t:h}}=De(),y=ee=>a.config.app==="konnect"?ee.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?ee.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):ee,_=(ee,ie)=>{let se=`${a.config.apiBaseUrl}${tt.form[a.config.app].entityGetOne}`;return se=y(se),se=se.replace(/{entity}/gi,ee),se=se.replace(/{id}/gi,ie),se},w=ee=>{let ie=`${a.config.apiBaseUrl}${tt.form[a.config.app].entityGetAll}`;return ie=y(ie),ie=ie.replace(/{entity}/gi,ee),ie},b=(ee,ie,se)=>{const pe=_(ee,ie);return l.get(pe,se)},x=(ee,ie)=>{const se=w(ee);return a.config.app==="konnect"?l.get(se).then(pe=>{const{data:{data:fe}}=pe;if(delete ie.size,delete ie.offset,fe.length&&Object.keys(ie).length===1){const O=Object.keys(ie)[0],$=fe.filter(R=>R[O]?!!R[O].toLowerCase().includes(ie[O].toLowerCase()):!1);pe.data.data=$}return pe}):l.get(se,{params:ie})},N=(ee,ie,se)=>{const pe=w(ee);if(a.config.app==="konnect"){const{size:fe,offset:O,...$}=ie;if(ee==="consumer_groups")return l.get(pe,{params:{size:1e3},signal:se}).then(V=>{const{data:{data:te}}=V;if(te.length&&Object.keys($).length===1){const K=Object.keys($)[0],ce=te.filter(U=>U[K]?!!U[K].toLowerCase().includes($[K].toLowerCase()):!1);V.data.data=ce}return V});const R={size:fe,offset:O};for(const V of Object.keys($))R.filter={[V]:{contains:$[V]}};return l.get(pe,{params:R,signal:se})}return l.get(pe,{params:ie,signal:se})},E=(ee,ie=50)=>{const se=w(ee);return l.get(se,{params:{size:ie}})};t.provide(Le.FORMS_API_KEY,{getOne:b,getAll:x,getAllV2:N,peek:E}),t.provide(Le.FORMS_CONFIG,a.config);const C=t.ref(""),A=t.ref(""),I=t.ref(null),P=t.ref({}),T=t.reactive({}),k=t.reactive({}),G=t.computed(()=>{var ee;return(ee=I.value)==null?void 0:ee.options}),S=t.ref(!1),L=t.ref(),F=(ee,ie)=>{S.value=ee??"",L.value=ie},ne=ee=>{var ie;(ie=L.value)==null||ie.call(L,ee),S.value=!1},Y=()=>{var $,R;const ee={...a.schema},ie=k,se=T,pe=Object.keys(ie),fe={};if(!u(P.value))for(let V=0;V<((R=($=P.value)==null?void 0:$.fields)==null?void 0:R.length);V++)ee[P.value.fields[V].model]=P.value.fields[V];Le.customFields.forEach(V=>{ee[V]&&(ee[V].fields.forEach(te=>{te.fields&&te.fields.forEach(K=>{ee[K.model]=K}),te.model&&(ee[te.model]=te)}),delete ee[V])}),pe.forEach(V=>{var ue;if(!ee[V]){V==="partials"&&(fe[V]=ie[V]);return}const te=ee[V];let K=ie[V];const ce=se[V],U=Array.isArray(K)?"array":typeof K,re=te?te.valueType:null,q=te?te.valueArrayType:null,j=te?te.transform:null;if(K==null&&ce==null&&!te.submitWhenNull)return;if(te){if(re&&U!==re)switch(re){case"array":U==="string"&&K.length&&(K=K.split(",").map(me=>{if(me=me.trim(),q==="string")return String(me);if(q==="number")return Number(me);if(q==="boolean"){if(typeof me=="string")return me.toLowerCase()==="true"||me==="1";if(typeof me=="number")return me===1}return me})),(!K||!K.length)&&(K=te.submitWhenNull?null:[]);break;case"number":K=Number(K);break;case"boolean":U==="string"&&(K=K.toLowerCase()==="true"||K==="1"),U==="number"&&(K=K===1);break;case"string":K=K==null?"":String(K);break}else re==="array"&&(!K||!K.length?K=te.submitWhenNull?null:[]:((ue=te.inputAttributes)==null?void 0:ue.type)==="number"&&(K=K.map(me=>Number(me))));if(te.type==="array"&&te.nestedFields){const me=Q=>{Object.keys(Q).forEach(ke=>{Q[ke]&&typeof Q[ke]=="object"&&!Array.isArray(Q[ke])&&Q[ke]!==null?me(Q[ke]):(Q[ke]===void 0||Q[ke]===null||typeof Q[ke]=="number"&&isNaN(Q[ke])||typeof Q[ke]=="string"&&Q[ke].trim().length===0)&&delete Q[ke]})};K&&typeof K=="object"&&me(K)}te.type==="object-advanced"&&te.fields&&K!==null&&(Object.entries(K).length===0?K=null:Object.keys(K).forEach(me=>{Array.isArray(K[me])||(K[me]=K[me].split(","))}))}let z=c(V);if(te.fieldNameHasDashes){const[me,...Q]=z.split(".").reverse();z=[me.replace(/_/g,"-"),...Q].reverse().join(".")}if(re==="object-expand"){let me;[z,me]=z.split(".");let Q={};fe[z]&&(Q=fe[z]),Q[me]=K,K=Q}ce!==void 0&&K===""&&K!==ce?fe[z]=re==="object"?{}:null:te.type==="checklist"&&K===""?fe[z]=[]:K!==""&&(fe[z]=K),fe[z]=j?j(K):fe[z],f(z,fe)});const O=d(fe);return A.value&&Object.assign(O,W.value),O},D=(ee,ie={})=>{p(k,ie,ee,a.editing),i("model-updated",{model:k,originalModel:T,data:Y()})},M=(ee,ie)=>{var fe;const se={[ie]:ee};typeof((fe=a.schema[ie])==null?void 0:fe.modelTransformer)=="function"&&(se[ie]=a.schema[ie].modelTransformer(ee));const pe=Object.assign({},k,se);Object.assign(k,pe),i("model-updated",{model:k,originalModel:T,data:Y()})},v=ee=>{i("validity-change",ee)},B=(ee,ie)=>{Object.keys(ee).forEach(se=>{var R,V;let pe=ie?`${ie}-${se}`:se,fe=a.schema[pe];if(!fe){const te=ie?`${ie}-${se.replace(/-/g,"_")}`:se.replace(/-/g,"_");(R=a.schema[te])!=null&&R.fieldNameHasDashes&&(pe=te,fe=a.schema[pe]),ie&&((V=a.schema[ie])==null?void 0:V.keyFromObject)===se&&(pe=ie,fe=a.schema[pe])}const O=ee[se],$=typeof O;if(fe&&fe.type==="object-advanced"&&!O){k[pe]={},T[pe]={};return}if(Array.isArray(O)){k[pe]=JSON.parse(JSON.stringify(O)),T[pe]=JSON.parse(JSON.stringify(O));return}if($==="object"&&O&&!O.length)return B(O,pe);if($==="object"&&O&&O.length&&fe.type==="input"){k[pe]=O.join(", "),T[pe]=O.join(", ");return}k[pe]=O,T[pe]=O}),i("model-updated",{model:k,originalModel:T,data:Y()})},W=t.shallowRef(a.record),X=ee=>{W.value=ee,i("model-updated",{model:{...k,...ee},originalModel:T,data:Y()})},oe=t.ref(!0),H=()=>{var ee;if(a.record&&a.schema&&(B({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&B({consumer_id:a.record.consumer_id||a.record.consumer}),B(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&B({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&D("redis",{partials:a.record.partials}),A.value?X(a.record):B(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ie={};for(const se in a.entityMap){const pe=a.entityMap[se].id,fe=a.entityMap[se].idField,O=fe==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(fe).replace("_","-"));Object.prototype.hasOwnProperty.call(k,O)&&(ie[O]=pe)}B(ie)}if((ee=a.entityMap.consumer)!=null&&ee.id&&a.schema&&a.credential){const ie={};Object.prototype.hasOwnProperty.call(k,"consumer")&&(ie.consumer=a.entityMap.consumer.id),B(ie)}oe.value=!1};return t.watch(oe,ee=>{i("loading",ee)}),t.watch(()=>a.schema,(ee,ie)=>{var pe,fe;if(g(ee||{},ie||{}))return;const se=s(ee,void 0,void 0,a.engine);Object.assign(k,se.model),P.value={fields:(fe=(pe=P.value)==null?void 0:pe.fields)==null?void 0:fe.map(O=>({...O,disabled:O.disabled||!1}))},Object.assign(T,JSON.parse(JSON.stringify(se.model))),A.value=a.engine?a.engine==="vfg"?void 0:ja(se.model.name,m)||"CommonForm":ja(se.model.name,m),C.value=Le.getSharedFormName(se.model.name),H()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var ee,ie;I.value=s(a.schema,void 0,void 0,a.engine),Object.assign(k,((ee=I.value)==null?void 0:ee.model)||{}),P.value=((ie=I.value)==null?void 0:ie.schema)||{},H()}),(ee,ie)=>{var pe;const se=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",GM,[oe.value?(t.openBlock(),t.createBlock(se,{key:0,type:"form"})):k.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",qM,[A.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(kg[A.value]),{key:0,"form-model":k,"form-options":G.value,"form-schema":P.value,"is-editing":e.editing,model:e.record,"on-form-change":X,"on-model-updated":M,"on-validity-change":v,schema:e.rawSchema,onGlobalAction:ie[0]||(ie[0]=(fe,O)=>ee.$emit("globalAction",fe,O))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Le.AUTOFILL_SLOT_NAME),fn:t.withCtx(fe=>[fe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPickerProvider),t.mergeProps({key:0},fe,{onOpen:F}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):C.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Le.sharedForms)[C.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":k,"form-options":G.value,"form-schema":P.value,"is-editing":e.editing,"on-model-updated":M,"on-partial-toggled":D,"show-new-partial-modal":fe=>ee.$emit("showNewPartialModal",fe)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Le.AUTOFILL_SLOT_NAME),fn:t.withCtx(fe=>[fe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPickerProvider),t.mergeProps({key:0},fe,{onOpen:F}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Le.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:k,options:G.value,schema:P.value,onModelUpdated:M,onPartialToggled:D,onRefreshModel:Y,onShowNewPartialModal:ie[1]||(ie[1]=fe=>ee.$emit("showNewPartialModal",fe))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",zM,t.toDisplayString(t.unref(h)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(pe=t.unref(Xt)[k.name])!=null&&pe.fieldRules&&(a.config.isNewOtelSchema||k.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(L0,{rules:t.unref(Xt)[k.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Le.AUTOFILL_SLOT_NAME),fn:t.withCtx(fe=>[fe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(zo.VaultSecretPickerProvider),t.mergeProps({key:0},fe,{onOpen:F}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(zo.VaultSecretPicker),{config:a.config,setup:S.value,onCancel:ie[2]||(ie[2]=()=>S.value=!1),onProceed:ne},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-353547ec"]]),YM={key:1},WM=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",YM,[t.renderSlot(n.$slots,"default")]))}}),XM={class:"kong-ui-entities-plugin-form-container"},ZM={key:0},JM={class:"plugin-form-actions"},QM=ve(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var ce;const o=n,r=e,i=mo.useRouter(),{i18n:{t:a}}=je.useI18n(),{customSchemas:l,typedefs:s}=je.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=je.usePluginHelpers(),{getMessageFromError:d}=be.useErrors(),{capitalize:p}=be.useStringHelpers(),{objectsAreEqual:u}=be.useHelpers(),{axiosInstance:f}=be.useAxios((ce=r.config)==null?void 0:ce.axiosRequestConfig),m=t.ref(!1),g=t.computed(()=>!!r.pluginId),h=t.computed(()=>r.pluginId?be.EntityBaseFormType.Edit:be.EntityBaseFormType.Create),y=t.ref(void 0),_=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),x=t.ref({}),N=t.ref(),E=t.ref();t.provide(Od,{redisType:N,redisPath:E,isEditing:g.value});const C=t.ref(!1),A=t.reactive({enabled:!0,protocols:[],tags:[]}),I=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),P=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&P.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const T=t.ref(""),k=t.computed(()=>{var re;if(w.value){let q=tt.form[r.config.app].credential[h.value];return q=q.replace(/{resourceEndpoint}/gi,F.value),q}let U;return r.config.entityType&&r.config.entityId?U=tt.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):U=tt.form[r.config.app].edit.all,r.config.app==="konnect"&&((re=Xt[r.pluginType])!=null&&re.useUIData)?`${U}?__ui_data=true`:U}),G=()=>{m.value=!m.value},S=t.computed(()=>{var ue,me,Q,ke,Se,ge,ye,Xe;const U=r.config.entityType==="consumers"&&r.config.entityId||((me=(ue=b.value)==null?void 0:ue.consumer)==null?void 0:me.id),re=r.config.entityType==="consumer_groups"&&r.config.entityId||((ke=(Q=b.value)==null?void 0:Q.consumer_group)==null?void 0:ke.id),q=r.config.entityType==="services"&&r.config.entityId||((ge=(Se=b.value)==null?void 0:Se.service)==null?void 0:ge.id),j=r.config.entityType==="routes"&&r.config.entityId||((Xe=(ye=b.value)==null?void 0:ye.route)==null?void 0:Xe.id);if(!(U||re||q||j))return{global:{entity:Z.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const z={};return q&&(z.service={entity:Z.PluginScope.SERVICE,entityEndpoint:"services",id:q,idField:Rn.SERVICE}),j&&(z.route={entity:Z.PluginScope.ROUTE,entityEndpoint:"routes",id:j,idField:Rn.ROUTE}),U&&(z.consumer={entity:Z.PluginScope.CONSUMER,entityEndpoint:"consumers",id:U,idField:Rn.CONSUMER}),re&&(z.consumer_group={entity:Z.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:re,idField:Rn.CONSUMER_GROUP}),r.config.entityType&&(z.focusedEntity={entity:Z.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:Rn[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),z}),L=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||h.value===be.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),F=t.computed(()=>{var q;const U=r.developer?"developers":"consumers",re=((q=yo[r.pluginType])==null?void 0:q.endpoint)||"/plugins";return`${U}/${r.config.entityId}${r.developer?"/credentials":""}${re}`}),ne=U=>{const re=Array.from(new Set(U.map(q=>typeof q)));return re.length>1?"string":re[0]},Y=(U,re,q,j)=>{var Q,ke;let z=re&&re.fields||[];const ue=l[r.pluginType],me=(ke=(Q=yo[r.pluginType])==null?void 0:Q.schema)==null?void 0:ke.fields;return Array.isArray(z)&&(z=z.reduce((Se,ge)=>{const ye=Object.keys(ge)[0];return ye.match(/-/g)?Se[ye.replace(/-/g,"_")]={...ge[ye],fieldNameHasDashes:!0}:Se[ye]=ge[ye],Se},{})),Object.keys(z).sort().forEach(Se=>{var mt,kt,an,Bn,Vn,ft,He;const ge=z[Se];ge.type==="set"&&(ge.type="array");const ye=U?`${U}-${Se}`:`${Se}`;if((mt=ue==null?void 0:ue.fieldsToDelete)!=null&&mt.includes(ye)){ud(q,ye);return}if(Object.prototype.hasOwnProperty.call(ge,"overwrite")||ge.hidden)return;if(ge.type==="table")return Y(ye,ge.schema,q);if(ge.fields)return j&&ge.type==="record"?(q[ye]={type:"object",model:Se,schema:{fields:Object.values(Y(ye,ge,{},!0))}},q):Y(ye,ge,q);if(q[ye]={id:ye,model:Se},q[ye].type=ge.type==="boolean"?"checkbox":"input",q[ye].required=ge.required,q[ye].referenceable=ge.referenceable,ye.startsWith("config-"))if(!j&&ge.type==="array"&&(T.value=ye),j&&T.value&&ye.startsWith(T.value)){const $e=ye.slice(T.value.length+1);q[ye].label=$e.split("-").map(c).join(".")}else q[ye].label=c(ye);if((U==="config"||U.startsWith("config-"))&&(kt=z[Se])!=null&&kt.description&&(q[ye].help=Fr.marked.parse(z[Se].description,{mangle:!1,headerIds:!1})),ge.type==="map"){if(q[ye].type="object-advanced",q[ye].values=ge.values,ge.values.type==="array"){const{type:$e}=ge.values.elements||{};q[ye].schema={fields:[{schema:{fields:[{...Re,model:ye,valueArrayType:$e==="integer"?"number":$e||"string",inputAttributes:{...Re.inputAttributes,type:$e==="integer"?"number":"text",inputMode:$e==="integer"?"numeric":"text"}}]}}]}}else ge.values.fields&&(q[ye].schema={fields:[{type:"object",model:"object",schema:{fields:ge.values.fields.map($e=>{const le=Object.keys($e)[0];return{model:le,type:"input",label:p(le),placeholder:le,inputType:$e[le].type}})}}]});return q}if(ge.enum&&ge.type==="array"&&(q[ye].type="checklist",q[ye].values=ge.enum,q[ye].multi=!0,q[ye].multiSelect=!0),ge.one_of&&ge.type!=="array"&&(q[ye].type="select",q[ye].values=ge.one_of,q[ye].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),ge.elements&&ge.type==="array"){const $e=ge.elements;if(q[ye].referenceable=$e.referenceable,q[ye].elements=$e,["string","integer","number"].includes($e.type)&&!$e.one_of){const{id:le,help:we,label:de,hint:_e,values:Ce,referenceable:Ie,model:Oe}=q[ye],{inputAttributes:Fe,...Ze}=JSON.parse(JSON.stringify(Re));Fe.type=$e.type==="string"?"text":"number",q[ye]={id:le,help:we,label:de,hint:_e,values:Ce,referenceable:Ie,model:Oe,inputAttributes:Fe,...Ze}}}if(ge.hint&&(q[ye].hint=ge.hint),ue&&!ue.overwriteDefault&&Object.keys(ue).forEach($e=>{if($e===ye){const{help:le,label:we,hint:de,values:_e,referenceable:Ce,elements:Ie}=q[ye],{help:Oe,...Fe}=ue[$e];q[ye]={help:le,label:we,hint:de,values:_e,referenceable:Ce,elements:Ie,...Fe},typeof Oe=="string"&&(q[ye].help=Fr.marked.parse(Oe,{mangle:!1,headerIds:!1}))}}),ge.type==="array"&&((an=ge.elements)==null?void 0:an.type)==="record"&&Array.isArray(ge.elements.fields)){let $e={};for(const we of ge.elements.fields)$e={...$e,...we};const le=(ft=(Vn=(Bn=q[ye])==null?void 0:Bn.items)==null?void 0:Vn.schema)==null?void 0:ft.fields;if(Array.isArray(le))for(const we of q[ye].items.schema.fields){const de=(He=$e[we.model])==null?void 0:He.description;we.help===void 0&&typeof de=="string"&&(we.help=Fr.marked.parse(de,{mangle:!1,headerIds:!1}))}if(le||(q[ye].type="array",q[ye].newElementButtonLabelClasses="kong-form-new-element-button-label",q[ye].fieldClasses="array-card-container-wrapper",q[ye].itemContainerComponent="FieldArrayCardContainer",q[ye].items={type:"object",schema:{fields:Object.values(Y(ye,ge.elements,{},!0))}},q[ye].items.schema.fields.forEach(we=>{var de,_e;for(const Ce of ge.elements.fields){const Ie=Object.keys(Ce)[0],Oe=((_e=(de=we.id)==null?void 0:de.split)==null?void 0:_e.call(de,"-"))??[];if(Oe[Oe.length-1]===Ie){we.model=Ie,we.label=c(Ie);break}}}),ge.elements.type==="record"&&(q[ye].nestedFields=!0)),!q[ye].nestedFields)q[ye].items.default=()=>ge.elements.fields.reduce((we,de)=>{const _e=Object.keys(de)[0];return we[_e]=de[_e].default,we},{});else{const we=(de,_e)=>{if(de.type==="object"){de.model&&(_e[de.model]={});for(const Ce of de.schema.fields)we(Ce,de.model?_e[de.model]:_e)}else de.model&&(_e[de.model]=de.default)};q[ye].items.default=()=>{const de={};return we(q[ye].items,de),de}}}if(w.value&&me){for(let $e=0;$e<me.length;$e++)if(me[$e][ye]){q[ye]={...q[ye],...me[$e][ye]};break}}if(ge.required&&ge.type!=="boolean"&&(q[ye].required=!0,q[ye].selectOptions={hideNoneSelectedText:!0}),ge.required&&ge.type==="boolean"&&(q[ye].default=ge.default??!1),ge.default!=null&&typeof ge.default!="object"&&ge.default!=="function"&&(q[ye].default=ge.default),q[ye].type==="input"){["string","number"].includes(typeof q[ye].default)&&r.config.app==="konnect"&&(q[ye].placeholder=`Default: ${q[ye].default===""?"<empty string>":q[ye].default}`);const{type:$e}=ge.elements||{};$e&&(q[ye].valueArrayType=$e==="integer"?"number":$e),q[ye].inputType=ge.type==="array"||ge.type==="string"?ge.encrypted?"password":"text":ge.type}let Xe="string";ge.enum?Xe=ne(ge.enum):ge.type==="boolean"?Xe="boolean":ge.type==="number"||ge.type==="integer"?(Xe="number",q[ye].inputType="number"):ge.type==="array"?(Xe="array",q[ye].default=ge.default,ge.len_min>0&&(q[ye].submitWhenNull=!0)):ge.type==="foreign"?Xe="object":ge.default&&Array.isArray(ge.default)?(Xe="array",q[ye].valueArrayType=ne(ge.default)):ge.default&&(Xe=typeof ge.default),q[ye].valueType=Xe,ge.fieldNameHasDashes&&(q[ye].fieldNameHasDashes=!0)}),q},D=()=>{var ye,Xe,mt,kt,an,Bn,Vn,ft,He,$e,le,we;const U=((ye=Xt[r.pluginType])==null?void 0:ye.scope.includes(Z.PluginScope.SERVICE))??!0,re=((Xe=Xt[r.pluginType])==null?void 0:Xe.scope.includes(Z.PluginScope.ROUTE))??!0,q=((mt=Xt[r.pluginType])==null?void 0:mt.scope.includes(Z.PluginScope.CONSUMER))??!0,j=r.config.disableConsumerGroupScope?!1:((kt=Xt[r.pluginType])==null?void 0:kt.scope.includes(Z.PluginScope.CONSUMER_GROUP))??!0,z=r.config.entityType==="consumers"&&!!r.config.entityId||!!((Bn=(an=b.value)==null?void 0:an.consumer)!=null&&Bn.id),ue=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((ft=(Vn=b.value)==null?void 0:Vn.consumer_group)!=null&&ft.id),me=r.config.entityType==="services"&&!!r.config.entityId||!!(($e=(He=b.value)==null?void 0:He.service)!=null&&$e.id),Q=r.config.entityType==="routes"&&!!r.config.entityId||!!((we=(le=b.value)==null?void 0:le.route)!=null&&we.id),ke=[],Se=(de,_e,Ce)=>de?a("plugins.form.disable_source_scope_change",{scope:Ce}):_e?a("plugins.form.disable_data_retrieving",{scope:Ce}):"",ge=de=>{var _e,Ce;return((Ce=(_e=r.scopedEntitiesPermissions)==null?void 0:_e[de])==null?void 0:Ce.canRetrieve)===!1};if(U){const de=ge("service"),_e="services",Ce=me&&r.disableScopeSelection;ke.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:_e,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Ce||de,disabledTooltip:Se(Ce,de,_e)})}if(re){const de=ge("route"),_e="routes",Ce=Q&&r.disableScopeSelection;ke.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:_e,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Ce||de,disabledTooltip:Se(Ce,de,_e)})}if(q){const de=ge("consumer"),_e="consumers",Ce=z&&r.disableScopeSelection;ke.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:_e,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Ce||de,disabledTooltip:Se(Ce,de,_e)})}if(j){const de=ge("consumer_group"),_e="consumer_groups",Ce=ue&&r.disableScopeSelection;ke.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:_e,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Ce||de,disabledTooltip:Se(Ce,de,_e)})}if(ke.length){const de=[...U?["service"]:[],...re?["route"]:[],...q?["consumer"]:[],...j?["consumer_group"]:[]],Ce=de.splice(de.length-2,2).map(Oe=>a(Oe==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Oe}.plural`)).join(`${de.length>0?",":""} and/or `),Ie=["Specific",[...de.length>0?[de.map(Oe=>a(Oe==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Oe}.plural`)).join(", ")]:[],Ce].join(", ")].join(" ");L.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Ie,fields:[]}),L.selectionGroup.fields[1].fields=ke}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(L,l[r.pluginType].formSchema)},M=t.computed(()=>!u(I.fields,A,!0)),v=t.computed(()=>!te.value&&!C.value&&(h.value===be.EntityBaseFormType.Create||M.value)),B=t.ref(!1),W=t.ref(),X=U=>{r.credential&&U.password&&(U.password=""),I.fields.id=(U==null?void 0:U.id)||void 0,W.value=U==null?void 0:U.ordering,Object.assign(A,I.fields),b.value=U,B.value=!0},oe=t.ref({}),H=U=>{var re;I.fields=U.model,I.fields.id=((re=b.value)==null?void 0:re.id)||void 0,Object.assign(A,U.originalModel),oe.value=U.data,r.isWizardStep&&o("model-updated",{model:I.fields,data:U.data,resourceEndpoint:F.value})},ae=t.ref(new Map),he=t.computed(()=>[I.clientErrorMessage,I.serverErrorMessage].filter(Boolean).join("; ")),ee=U=>{U.valid?ae.value.delete(U.model):ae.value.set(U.model,U.error),I.clientErrorMessage=[...ae.value.entries()].map(([re,q])=>`${re}: ${typeof q=="string"?q:d(q)}`).join("; "),I.clientErrorMessage&&(I.serverErrorMessage="")};t.watch([S,B],(U,re)=>{const q=U[0]!==re[0],j=U[1],z=re[1];if(!w.value&&h.value===be.EntityBaseFormType.Edit&&(q||j&&j!==z)){const ue=Y("config",x.value,L);pe.value&&(ue._isCustomPlugin=!0),N.value&&(ue._supported_redis_partial_type=N.value),_.value=ue}},{deep:!0});const ie=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},se=t.computed(()=>{const U=r.config.entityType&&r.config.entityId&&!r.developer,re=w.value?tt.form[r.config.app].credential[h.value]:tt.form[r.config.app][h.value][U?"forEntity":"all"];let q=`${r.config.apiBaseUrl}${re}`;return r.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),q=q.replace(/{resourceEndpoint}/gi,F.value),q=q.replace(/{id}/gi,r.pluginId),q=q.replace(/{entityType}/gi,r.config.entityType||""),q=q.replace(/{entityId}/gi,r.config.entityId||""),q}),pe=t.computed(()=>!Object.keys(Xt).includes(r.pluginType)),fe=t.computed(()=>{const U=oe.value;if(w.value){for(const re in Z.PluginScope){const q=Z.PluginScope[re];U[q]&&!U[q].id&&(U[q]={id:r.config.entityId})}delete U.created_at}return oe.value.partials&&E.value&&ud(U,E.value),U}),O=t.computed(()=>{const{__ui_data:U,...re}={...fe.value};return re}),$=async()=>{if(!I.clientErrorMessage&&!r.isWizardStep)try{I.isReadonly=!0;let U;const re=JSON.parse(JSON.stringify(fe.value)),q=l[r.pluginType];typeof(q==null?void 0:q.shamefullyTransformPayload)=="function"&&q.shamefullyTransformPayload({originalModel:A,model:I.fields,payload:re,schema:_.value}),h.value==="create"?U=await f.post(se.value,re):h.value==="edit"&&(U=r.config.app==="konnect"||N.value&&re.partials?await f.put(se.value,Object.assign({ordering:W.value},re)):await f.patch(se.value,re)),Object.assign(A,I.fields),o("update",U==null?void 0:U.data)}catch(U){I.serverErrorMessage=d(U),o("error",U)}finally{I.isReadonly=!1}},R=t.computed(()=>{var j;const U=w.value?(j=yo[r.pluginType])==null?void 0:j.schemaEndpoint:r.pluginType,re=w.value?tt.form[r.config.app].credentialSchema:tt.form[r.config.app].pluginSchema;let q=`${r.config.apiBaseUrl}${re}`;return r.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),q=q.replace(/{plugin}/gi,U),q}),V=t.ref(""),te=t.ref(!1),K=t.ref("");return t.onBeforeMount(async()=>{var U,re,q,j;te.value=!0;try{if(w.value&&r.config.app==="konnect"){const z=(U=yo[r.pluginType])==null?void 0:U.schemaEndpoint,ue=Fg[z];V.value=z,_.value=Y("",ue,{}),te.value=!1}else{const z=r.schema??(await f.get(R.value)).data;if(y.value=z,z)if(w.value)_.value=Y("",z,{}),te.value=!1;else{const ue=z.fields.find(Q=>Q.config);x.value=ue?ue.config:z,z.supported_partials&&(N.value=Object.keys(z.supported_partials).find(Q=>[Ur.REDIS_CE,Ur.REDIS_EE].includes(Q)),E.value=(re=z.supported_partials[N.value])==null?void 0:re[0]),D();const me=(q=z.fields.find(Q=>Q.protocols))==null?void 0:q.protocols;if(me){const{default:Q=[],elements:ke={}}=me;L.protocols.default=Q,L.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Q.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(j=ke.one_of)!=null&&j.length&&(L.protocols.values=ke.one_of.map(Se=>({label:Se,value:Se})))}if(B.value||h.value===be.EntityBaseFormType.Create){const Q=Y("config",x.value,L);N.value&&(Q._supported_redis_partial_type=N.value),pe.value&&(Q._isCustomPlugin=!0),_.value=Q}}}}catch(z){console.error(z),K.value=d(z),o("error:fetch-schema",z)}finally{te.value=!1}}),(U,re)=>{const q=t.resolveComponent("KSkeleton"),j=t.resolveComponent("KEmptyState"),z=t.resolveComponent("KButton"),ue=t.resolveComponent("KTabs"),me=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",XM,[te.value?(t.openBlock(),t.createBlock(q,{key:0,type:"form"})):K.value?(t.openBlock(),t.createBlock(j,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(be.EntityBaseForm),{key:2,"can-submit":v.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(be.SupportedEntityType).Plugin,"error-message":he.value,"fetch-url":k.value,"form-fields":fe.value,"is-readonly":I.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ie,"onFetch:error":re[4]||(re[4]=Q=>U.$emit("error",Q)),"onFetch:success":X,onLoading:re[5]||(re[5]=Q=>U.$emit("loading",Q))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",ZM)):(t.openBlock(),t.createBlock(WM,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",JM,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(z,{key:0,appearance:"tertiary","data-testid":`plugin-${g.value?"edit":"create"}-form-view-configuration`,onClick:re[3]||(re[3]=Q=>G())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(z,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${g.value?"edit":"create"}-form-cancel`,disabled:I.isReadonly,onClick:ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(z,{appearance:"primary","data-testid":`plugin-${g.value?"edit":"create"}-form-submit`,disabled:!v.value||I.isReadonly,type:"submit",onClick:$},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:$},null,32),t.createVNode(HM,{config:e.config,credential:w.value,editing:h.value===t.unref(be.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":S.value,"raw-schema":y.value,record:b.value,schema:_.value,onGlobalAction:re[0]||(re[0]=(Q,ke)=>U.$emit("globalAction",Q,ke)),onLoading:re[1]||(re[1]=Q=>C.value=Q),onModelUpdated:H,onShowNewPartialModal:re[2]||(re[2]=Q=>U.$emit("showNewPartialModal",Q)),onValidityChange:ee},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(me,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:G},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(ue,{"data-testid":"form-view-configuration-slideout-tabs",tabs:P.value},{json:t.withCtx(()=>[t.createVNode(t.unref(be.JsonCodeBlock),{config:e.config,"entity-record":O.value,"fetcher-url":se.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(be.YamlCodeBlock),{"entity-record":O.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(be.TerraformCodeBlock),{"credential-type":V.value,"entity-record":O.value,"entity-type":t.unref(be.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-b9713619"]]),e2={class:"kong-ui-entities-plugins-list"},t2={class:"button-row"},n2={class:"name-cell-wrapper"},o2={class:"info-wrapper"},r2={key:0,class:"info-name"},i2={key:1,class:"info-name"},a2={key:2,class:"info-type"},l2={key:1},s2=ve(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var V,te;const o=je.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=je.useI18n(),l=mo.useRouter(),{axiosInstance:s}=be.useAxios((V=i.config)==null?void 0:V.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=be.useTableState(()=>b.value),p=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),f=t.computed(()=>{var K;return((K=i.config)==null?void 0:K.entityType)==="consumers"}),m=t.computed(()=>{var K;return((K=i.config)==null?void 0:K.entityType)==="consumer_groups"}),g=i.config.app==="konnect"||be.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),h=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),y={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(te=i.config)!=null&&te.entityId||(y.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),y.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},g&&(y.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),y.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const _=y,w=t.computed(()=>{var ce,U,re,q;let K=i.config.entityType?`${i.config.apiBaseUrl}${tt.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${tt.list[i.config.app].all}`;return i.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,((ce=i.config)==null?void 0:ce.controlPlaneId)||""):i.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,(U=i.config)!=null&&U.workspace?`/${i.config.workspace}`:"")),K.replace(/{entityType}/gi,((re=i.config)==null?void 0:re.entityType)||"").replace(/{entityId}/gi,((q=i.config)==null?void 0:q.entityId)||"")}),b=t.ref(""),x=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:y.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...y.enabled,label:a("search.filter.field.enabled")},name:y.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:N,fetcherState:E,fetcherCacheKey:C}=be.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),A=()=>{b.value=""},I=()=>{C.value++},P=t.ref(null),T=K=>{var U,re,q,j;const ce=[];return((U=K.route)!=null&&U.id||K.route_id)&&ce.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((re=K.service)!=null&&re.id||K.service_id)&&ce.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((q=K.consumer)!=null&&q.id||K.consumer_id)&&ce.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((j=K.consumer_group)!=null&&j.id||K.consumer_group_id)&&ce.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),ce.length?ce:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},k=async(K,ce)=>{var U;return K===null?!1:await((U=i.canRetrieveScopedEntity)==null?void 0:U.call(i,K,ce.id))},G=(K,ce)=>{var re,q,j,z,ue;let U=null;switch(K){case"route":U=(re=ce.route)==null?void 0:re.id;break;case"service":U=(q=ce.service)==null?void 0:q.id;break;case"consumer":U=(j=ce.consumer)==null?void 0:j.id;break;case"consumer_group":U=(z=ce.consumer_group)==null?void 0:z.id;break}U&&((ue=i.config)!=null&&ue.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(K,U))},S=t.ref(!1),L=t.ref(null),F=t.computed(()=>{const K={action:"disable",id:"",name:""};if(L.value){const{enabled:ce,id:U,name:re}=L.value;K.action=ce?"disable":"enable",K.id=U,K.name=o.getDisplayName(re)||U}return K}),ne=K=>{S.value=!0,L.value=K},Y=()=>{S.value=!1,L.value=null},D=async()=>{var re,q,j,z,ue,me,Q,ke;if(!await((re=i.canEdit)==null?void 0:re.call(i,L.value))||!L.value)return;let ce=`${i.config.apiBaseUrl}${(ue=tt.item[i.config.app])==null?void 0:ue[(q=i.config)!=null&&q.entityType?"forEntity":"all"].replace(/{entityType}/gi,((j=i.config)==null?void 0:j.entityType)||"").replace(/{entityId}/gi,((z=i.config)==null?void 0:z.entityId)||"")}`.replace(/{id}/gi,L.value.id||"");i.config.app==="konnect"?ce=ce.replace(/{controlPlaneId}/gi,((me=i.config)==null?void 0:me.controlPlaneId)||""):i.config.app==="kongManager"&&(ce=ce.replace(/\/{workspace}/gi,(Q=i.config)!=null&&Q.workspace?`/${i.config.workspace}`:""));const U=!L.value.enabled;try{const Se=(ke=i.config)==null?void 0:ke.app;let ge;b.value&&Se==="konnect"&&(ge=await s.get(ce));const{data:ye}=Se==="konnect"?await s.put(ce,{...(ge==null?void 0:ge.data)||L.value,enabled:U},{timeout:12e4}):await s.patch(ce,{...L.value,enabled:U},{timeout:12e4});r("toggle-enabled",U,ye),L.value.enabled=U}catch(Se){r("error",Se)}},M=async(K,ce)=>{const U=K.id;if(!await ce(U)){r("copy:error",{entity:K,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:K,field:"id",message:a("copy.success",{val:U})})},v=async(K,ce)=>{const U=JSON.stringify(K);if(!await ce(U)){r("copy:error",{entity:K,message:a("errors.copy")});return}r("copy:success",{entity:K,message:a("copy.success_brief")})},B=async K=>{var U;await((U=i.canRetrieve)==null?void 0:U.call(i,K))&&l.push(i.config.getViewRoute(K))},W=K=>({label:a("actions.view"),to:i.config.getViewRoute(K)}),X=K=>({label:a("actions.edit"),to:i.config.getEditRoute(K)}),oe=K=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(K)}),H=t.ref(void 0),ae=t.ref(!1),he=t.ref(!1),ee=t.ref(""),ie=be.useDeleteUrlBuilder(i.config,w.value),se=K=>{H.value=K,ae.value=!0},pe=()=>{ae.value=!1},fe=async()=>{var K,ce,U;if((K=H.value)!=null&&K.id){he.value=!0;try{await s.delete(ie(H.value.id)),he.value=!1,ae.value=!1,C.value++,r("delete:success",H.value)}catch(re){ee.value=((U=(ce=re.response)==null?void 0:ce.data)==null?void 0:U.message)||re.message||a("errors.delete"),r("error",re)}finally{he.value=!1}}},O=()=>{l.push(i.config.createRoute)};t.watch(E,K=>{var ce,U,re;if(K.status===be.FetcherStatus.Error){P.value={title:a("errors.general")},(re=(U=(ce=K.error)==null?void 0:ce.response)==null?void 0:U.data)!=null&&re.message&&(P.value.message=K.error.response.data.message),r("error",K.error);return}P.value=null});const $=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),R=t.ref(!1);return t.onBeforeMount(async()=>{R.value=await i.canCreate(),R.value&&($.value.title=a("plugins.list.empty_state.title"),$.value.ctaText=a("actions.create"))}),(K,ce)=>{const U=t.resolveComponent("KButton"),re=t.resolveComponent("KEmptyState"),q=t.resolveComponent("KBadge"),j=t.resolveComponent("KTruncate"),z=t.resolveComponent("KInputSwitch"),ue=t.resolveComponent("KDropdownItem"),me=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",e2,[t.createVNode(t.unref(be.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":h.value,"empty-state-options":$.value,"enable-entity-actions":"","error-message":P.value,fetcher:t.unref(N),"fetcher-cache-key":t.unref(C),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:A,"onClick:row":ce[4]||(ce[4]=Q=>B(Q)),onSort:I,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(be.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":ce[0]||(ce[0]=Q=>b.value=Q),config:x.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",t2,[!u.value&&p.value?(t.openBlock(),t.createBlock(U,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:ce[1]||(ce[1]=Q=>K.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(be.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(U,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:Q})=>[t.createElementVNode("div",n2,[t.createVNode(t.unref(Ho.PluginIcon),{class:"plugin-icon",name:Q.name,size:24},null,8,["name"]),t.createElementVNode("div",o2,[Q.instance_name?(t.openBlock(),t.createElementBlock("span",r2,t.toDisplayString(Q.instance_name),1)):(t.openBlock(),t.createElementBlock("span",i2,t.toDisplayString(t.unref(o).getDisplayName(Q.name)),1)),Q.instance_name?(t.openBlock(),t.createElementBlock("span",a2,t.toDisplayString(t.unref(o).getDisplayName(Q.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:Q})=>[T(Q).length>0?(t.openBlock(),t.createBlock(j,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(T(Q),ke=>(t.openBlock(),t.createBlock(t.unref(be.PermissionsWrapper),{key:ke.badgeText,"auth-function":()=>k(ke.type,Q),"force-show":""},{default:t.withCtx(({isAllowed:Se})=>[t.createVNode(q,{class:t.normalizeClass(Se||"disabled"),onClick:t.withModifiers(ge=>Se&&ke.type&&G(ke.type,Q),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ke.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",l2,"-"))]),enabled:t.withCtx(({row:Q})=>[t.createVNode(t.unref(be.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(Q)&&await e.canToggle(Q)),"force-show":""},{default:t.withCtx(({isAllowed:ke})=>{var Se,ge;return[t.createElementVNode("div",{onClick:ce[3]||(ce[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(z,{disabled:!ke,"disabled-tooltip-text":!ke&&((ge=(Se=e.config).getToggleDisabledTooltip)==null?void 0:ge.call(Se,Q))||void 0,"model-value":Q.enabled,onClick:t.withModifiers(ye=>ke&&ne(Q),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:Q})=>[t.createVNode(q,{appearance:t.unref(sd)(Q)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(sd)(Q)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:Q})=>[t.createVNode(t.unref(be.TableTags),{tags:Q},null,8,["tags"])]),actions:t.withCtx(({row:Q})=>[t.createVNode(me,null,{default:t.withCtx(({copyToClipboard:ke})=>[t.createVNode(ue,{"data-testid":"action-entity-copy-id",onClick:Se=>M(Q,ke)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(me,null,{default:t.withCtx(({copyToClipboard:ke})=>[t.createVNode(ue,{"data-testid":"action-entity-copy-json",onClick:Se=>v(Q,ke)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(t.unref(be.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(Q)},{default:t.withCtx(()=>[t.createVNode(ue,{"data-testid":"action-entity-view","has-divider":"",item:W(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(be.PermissionsWrapper),{"auth-function":()=>e.canEdit(Q)},{default:t.withCtx(()=>[t.createVNode(ue,{"data-testid":"action-entity-edit",item:X(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),!f.value&&!m.value&&t.unref(g)?(t.openBlock(),t.createBlock(t.unref(be.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(Q)},{default:t.withCtx(()=>[oe(Q)?(t.openBlock(),t.createBlock(ue,{key:0,"data-testid":"action-entity-config-dyn-order",item:oe(Q)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(be.PermissionsWrapper),{"auth-function":()=>e.canDelete(Q)},{default:t.withCtx(()=>[t.createVNode(ue,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ke=>se(Q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var Q;return[t.createVNode(re,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(xe.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[R.value?(t.openBlock(),t.createBlock(U,{key:0,"data-testid":"entity-create-button",onClick:O},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(U,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:ce[2]||(ce[2]=ke=>K.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(Q=e.config)!=null&&Q.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(be.EntityToggleModal),{action:F.value.action,"entity-id":F.value.id,"entity-name":F.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":D,visible:S.value,onCancel:Y,onProceed:Y},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(be.EntityDeleteModal),{"action-pending":he.value,description:t.unref(a)("delete.description"),"entity-name":H.value&&(H.value.instance_name||H.value.name||H.value.id),"entity-type":t.unref(be.EntityTypes).Plugin,error:ee.value,title:t.unref(a)("delete.title"),visible:ae.value,onCancel:pe,onProceed:fe},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-25799614"]]),c2={class:"plugin-select-card-wrapper"},d2=["data-testid"],u2={class:"plugin-card-header"},f2={class:"plugin-card-title"},p2={key:0,class:"plugin-card-actions"},m2=["data-testid","title"],g2={key:0,class:"plugin-card-text"},h2={key:0},y2=["title"],Rs=ve(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=mo.useRouter(),{i18n:{t:a}}=je.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!f.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},p=()=>{r.navigateOnClick?d():u()},u=()=>{o("plugin-clicked",r.plugin)},f=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===Z.PluginGroup.CUSTOM_PLUGINS),g=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},h=(_,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(_,w))},y=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;f.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,w)=>{const b=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),N=t.resolveComponent("KDropdownMenu"),E=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",c2,[t.createVNode(E,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=C=>s.value||m.value?void 0:p())},[t.createElementVNode("div",u2,[t.createElementVNode("div",f2,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",p2,[t.createVNode(N,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.MoreIcon),{size:t.unref(Pd)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(C=>h(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(g,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:y},[t.createVNode(t.unref(Ho.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!f.value?(t.openBlock(),t.createElementBlock("div",g2,[m.value&&!f.value?(t.openBlock(),t.createElementBlock("p",h2,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,y2)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,m2),t.createElementVNode("div",{class:"plugin-card-footer",onClick:y},t.toDisplayString(f.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,d2)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),_2=ve(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var g;const o=e,r=n,{i18nT:i,i18n:{t:a}}=je.useI18n(),{getMessageFromError:l}=be.useErrors(),{axiosInstance:s}=be.useAxios((g=o.config)==null?void 0:g.axiosRequestConfig),c=t.computed(()=>{var h;return u.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((h=o.plugin)==null?void 0:h.name)||a("delete.custom_plugin")})}),d=t.ref(!1),p=t.ref(""),u=t.ref(!1),f=t.computed(()=>{if(o.config.app==="konnect"){const h=o.plugin.customPluginType==="streaming"?tt.select[o.config.app].streamingCustomPluginItem:tt.select[o.config.app].schemaCustomPluginItem;let y=`${o.config.apiBaseUrl}${h}`;return y=y.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),y=y.replace(/{pluginId}/gi,o.plugin.id),y}return null}),m=async()=>{var h,y,_,w;if(d.value=!0,p.value="",!(!((h=o.plugin)!=null&&h.name)||((y=o.config)==null?void 0:y.app)!=="konnect"))try{f.value&&await s.delete(f.value),r("proceed")}catch(b){const{response:x}=b;(x==null?void 0:x.status)===400&&((w=(_=x.data)==null?void 0:_.message)!=null&&w.includes("plugin schema is currently in use"))?u.value=!0:p.value=l(b)}finally{d.value=!1}};return(h,y)=>{const _=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(be.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(be.EntityTypes).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:y[0]||(y[0]=b=>h.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:y[2]||(y[2]=b=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(_,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:y[1]||(y[1]=b=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),b2={class:"custom-plugins-grid"},w2={class:"empty-state-title"},k2={class:"empty-state-description"},Ms=310,C2=ve(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=je.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=je.usePluginHelpers(),s=t.ref(!0),c=N=>{r("plugin-clicked",N)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const N=JSON.parse(JSON.stringify(o.pluginList))[Z.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:Z.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(N):N}),p=t.ref(!1),u=t.ref(null),f=N=>{p.value=!0,u.value={id:N.id,name:N.name,customPluginType:N.customPluginType}},m=N=>{var E;N&&(r("revalidate"),r("delete:success",((E=u.value)==null?void 0:E.name)||"")),p.value=!1,u.value=null},g=t.ref(Ms),h=t.ref(null),y=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${g.value}px`}:{}),w=t.ref(!1),b=()=>{g.value=Math.max(a(y.value),Ms),x()},x=()=>{var N,E;(N=y.value)!=null&&N.length&&(w.value=l(h.value,(E=y.value)==null?void 0:E.length))};return t.onMounted(async()=>{await t.nextTick(),g.value=Math.max(a(y.value),Ms),x(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(N,E)=>{const C=t.resolveComponent("KEmptyState"),A=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",b2,[d.value.length?(t.openBlock(),t.createBlock(A,{key:1,modelValue:s.value,"onUpdate:modelValue":E[0]||(E[0]=I=>s.value=I),class:"custom-plugins-collapse","data-testid":`${t.unref(Z.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(Z.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:h,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(I,P)=>(t.openBlock(),t.createBlock(Rs,{key:`plugin-card-${P}`,ref_for:!0,ref_key:"pluginCardRef",ref:y,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:I,onCustomPluginDelete:T=>f(I),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[E[2]||(E[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(C,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",w2,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",k2,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&u.value?(t.openBlock(),t.createBlock(_2,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:E[1]||(E[1]=I=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Fs=310,Cg=ve(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=je.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=je.usePluginHelpers(),c=t.ref(Fs),d=t.ref(null),p=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),f=t.ref(!1),m=()=>{c.value=Math.max(l(p.value),Fs),g()},g=()=>{var h,y;(h=p.value)!=null&&h.length&&(f.value=s(d.value,(y=p.value)==null?void 0:y.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(p.value),Fs),g(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(h,y)=>{const _=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(_,{modelValue:o.value,"onUpdate:modelValue":y[0]||(y[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(Rs,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:p,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[f.value?void 0:{name:"trigger",fn:t.withCtx(()=>[y[1]||(y[1]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),E2={class:"plugin-select-grid"},N2={class:"empty-state-title"},x2={class:"empty-state-description"},Ls=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=je.useI18n(),a=t.ref(!1),l=t.ref(qs),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[Z.PluginGroup.CUSTOM_PLUGINS],d});return(d,p)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",E2,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",N2,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",x2,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Cg,{key:1,modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=f=>a.value=f),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:p[1]||(p[1]=f=>s(f))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Gs),f=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[f]?(t.openBlock(),t.createElementBlock("div",{key:f},[t.createVNode(Cg,{modelValue:l.value[f],"onUpdate:modelValue":m=>l.value[f]=m,config:e.config,name:f,"navigate-on-click":e.navigateOnClick,plugins:c.value[f]||[],onPluginClicked:p[2]||(p[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),S2={class:"kong-ui-entities-plugin-select-form"},v2={class:"plugins-filter-input-container"},A2={key:0},I2={key:3,"aria-live":"polite",class:"plugins-results-container"},P2={"data-testid":"kong-tab"},T2={class:"tab-description"},O2={"data-testid":"custom-tab"},$2={class:"tab-description"},B2=ve(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var M;const o=e,r=n,i=mo.useRoute(),a=mo.useRouter(),{i18n:{t:l}}=je.useI18n(),{pluginMetaData:s}=je.usePluginMetaData(),{getMessageFromError:c}=be.useErrors(),{sortAlpha:d,objectsAreEqual:p}=be.useHelpers(),u=t.ref(""),f=t.ref(!0),m=t.ref(!1),g=t.ref(""),h=t.ref([]),y=t.ref([]),_=t.ref({}),w=t.ref([]),{axiosInstance:b}=be.useAxios((M=o.config)==null?void 0:M.axiosRequestConfig),x=t.computed(()=>_.value?Object.entries(_.value).filter(([v])=>v!==Z.PluginGroup.CUSTOM_PLUGINS).reduce((v,[,B])=>{for(const W of B)v[W.id]=W;return v},{}):{}),N=t.computed(()=>{var W;if(!_.value)return{};const v=u.value.toLowerCase(),B=JSON.parse(JSON.stringify(_.value));for(const X in _.value){const oe=((W=_.value[X])==null?void 0:W.filter(H=>H.name.toLowerCase().includes(v)||H.id.toLowerCase().includes(v)||H.group.toLowerCase().includes(v)))||[];oe.length?B[X]=oe:delete B[X]}return B}),E=t.computed(()=>o.highlightedPluginIds.reduce((v,B)=>{const W=x.value[B];return W&&v.push(W),v},[])),C=t.computed(()=>Object.keys(N.value).length>0),A=t.computed(()=>Object.keys(_.value).length>0&&!C.value),I=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),P=t.computed(()=>{var B;let v=I.value.length&&((i==null?void 0:i.hash)||((B=I.value[0])==null?void 0:B.hash))||"";return v==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(v="#kong"),v}),T=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...h.value])].filter(v=>!o.ignoredPlugins.includes(v)).filter(v=>o.config.entityType&&(o.config.entityType==="services"&&s[v]&&!s[v].scope.includes(Z.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[v]&&!s[v].scope.includes(Z.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[v]&&!s[v].scope.includes(Z.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[v]&&!s[v].scope.includes(Z.PluginScope.CONSUMER))?!1:v).reduce((v,B)=>{var ae;const W=s[B]&&s[B].name||B,X={...s[B],id:B,name:W,available:h.value.includes(B),disabledMessage:"",group:((ae=s[B])==null?void 0:ae.group)||Z.PluginGroup.CUSTOM_PLUGINS};X.group===Z.PluginGroup.CUSTOM_PLUGINS&&(X.customPluginType=y.value.find(he=>he.name===B)?"streaming":"schema"),o.disabledPlugins&&(X.disabledMessage=o.disabledPlugins[B]);const oe=X.group||l("plugins.select.misc_plugins");let H=v[oe];return H||(H=[]),H.push(X),H.sort(d("name")),v[oe]=H,v},{}),k=t.computed(()=>{var B;let v=`${o.config.apiBaseUrl}${tt.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(v=((B=o.config.gatewayInfo)==null?void 0:B.edition)==="community"?`${o.config.apiBaseUrl}${tt.select[o.config.app].availablePluginsForOss}`:v.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),v}),G=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let v=`${o.config.apiBaseUrl}${tt.select[o.config.app].streamingCustomPlugins}`;return v=v.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),v}return null}),S=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let v=`${o.config.apiBaseUrl}${tt.list[o.config.app].forEntity}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),v.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),L=v=>{a.replace({hash:v,query:i.query})};t.watch(()=>o.disabledPlugins,(v,B)=>{!p(v,B)&&!f.value&&(_.value=T())}),t.watch(()=>o.ignoredPlugins,(v,B)=>{!p(v,B)&&!f.value&&(_.value=T())}),t.watch(f,v=>{r("loading",v)});const F=t.ref(!1),ne=t.ref(!1),Y=t.ref(!1);t.onBeforeMount(async()=>{F.value=await o.canCreateCustomPlugin(),ne.value=await o.canEditCustomPlugin(),Y.value=await o.canDeleteCustomPlugin()});const D=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var v,B;(B=(v=D.value)==null?void 0:v.input)==null||B.focus();try{const{data:W}=await b.get(k.value);if(o.config.app==="konnect"){const{names:X}=W;if(h.value=X||[],G.value){const{data:oe}=await b.get(G.value);y.value=oe.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:X}}=W;h.value=X?Object.keys(X):[]}}catch(W){m.value=!0,g.value=c(W)}if(S.value)try{const{data:{data:W}}=await b.get(S.value);if(W!=null&&W.length){const X=W.reduce((oe,H)=>(H.name&&oe.push(H.name),oe),[]);w.value=w.value.concat(X)}}catch{}m.value||(_.value=T()),f.value=!1}),(v,B)=>{const W=t.resolveComponent("KInput"),X=t.resolveComponent("KSkeletonBox"),oe=t.resolveComponent("KSkeleton"),H=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KTooltip"),he=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",S2,[t.createElementVNode("div",v2,[t.createVNode(W,{ref:"filter-input",modelValue:u.value,"onUpdate:modelValue":B[0]||(B[0]=ee=>u.value=ee),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(t.openBlock(),t.createElementBlock("section",A2,[t.createVNode(X,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(oe,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(H,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(g.value),1)]),_:1})):A.value&&u.value?(t.openBlock(),t.createBlock(H,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",I2,[I.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(he,{key:0,modelValue:P.value,"onUpdate:modelValue":B[5]||(B[5]=ee=>P.value=ee),"data-testid":"plugins-tabs",tabs:I.value,onChange:L},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",P2,[t.createElementVNode("p",T2,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Ls,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:B[1]||(B[1]=ee=>v.$emit("plugin-clicked",ee))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",O2,[t.renderSlot(v.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",$2,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(C2,{"can-create-custom-plugin":F.value,"can-delete-custom-plugin":Y.value,"can-edit-custom-plugin":ne.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,"onDelete:success":B[2]||(B[2]=ee=>v.$emit("delete-custom:success",ee)),onPluginClicked:B[3]||(B[3]=ee=>v.$emit("plugin-clicked",ee)),onRevalidate:B[4]||(B[4]=()=>_.value=T())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ae,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Ls,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:B[6]||(B[6]=ee=>v.$emit("plugin-clicked",ee))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),V2={class:"datakit-config-card-canvas"},D2={class:"config-card-details-label","data-testid":"datakit-configuration-label"},R2={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},M2={class:"canvas-wrapper"},F2=ve(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return ef(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",V2,[t.createElementVNode("div",D2,[t.createVNode(r,null,{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),t.createElementVNode("div",R2,[t.createElementVNode("div",M2,[t.createVNode(Os,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),L2={class:"kong-ui-entity-plugin-config-card"},U2={class:"name-cell-wrapper"},K2={class:"info-name"},j2={key:0},G2={key:0},q2={key:0},z2={key:0},H2={key:0},Us="config",Y2=ve(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var E;const o=n,r=e,{i18n:{t:i}}=je.useI18n(),a=je.usePluginMetaData(),{setFieldType:l}=je.usePluginHelpers(),{getPropValue:s}=be.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),d=t.computed(()=>c.value&&r.config.pluginType==="datakit"),p=t.computed(()=>{var A;let C=(A=tt.item[r.config.app])==null?void 0:A[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const I=r.expandPartial?"&":"?";C=C.concat(`${I}__ui_data=true`)}return C}),u=t.computed(()=>{var I,P;const C={},A=((I=b.value)==null?void 0:I.fields)||[];for(let T=0;T<A.length;T++){const k=b.value.fields[T],G=(P=Object.keys(k))==null?void 0:P[0];l(C,G,k[G])}return{...C,instance_name:{section:be.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:be.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:be.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:be.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:be.ConfigurationSchemaSection.Basic,order:6},protocols:{type:be.ConfigurationSchemaType.BadgeTag,section:be.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>{var A,I,P;if(!((A=b.value)!=null&&A.fields))return[];const C=(I=b.value.fields)==null?void 0:I.find(T=>{var G;return((G=Object.keys(T))==null?void 0:G[0])===Us});return((P=C==null?void 0:C[Us])==null?void 0:P.fields)||[]}),m=t.computed(()=>{var A,I;const C={};if(!f.value)return C;for(let P=0;P<((A=f.value)==null?void 0:A.length);P++){const T=f.value[P],k=(I=Object.keys(T))==null?void 0:I[0],G=T[k];G.required&&(C[k]={order:1}),l(C,k,G)}return C}),g=C=>{var I;const A=(I=a.pluginMetaData[r.config.pluginType])==null?void 0:I.scope;return A?Object.fromEntries(Object.entries(C).filter(([P,T])=>T?!0:!(P==="service"&&!A.includes(Z.PluginScope.SERVICE)||P==="route"&&!A.includes(Z.PluginScope.ROUTE)||P==="consumer"&&!A.includes(Z.PluginScope.CONSUMER)||P==="consumer_group"&&!A.includes(Z.PluginScope.CONSUMER_GROUP)))):C},h=C=>qn(C,"__ui_data"),{getMessageFromError:y}=be.useErrors(),{axiosInstance:_}=be.useAxios((E=r.config)==null?void 0:E.axiosRequestConfig),w=t.computed(()=>{var A,I;let C=`${r.config.apiBaseUrl}${tt.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?C=C.replace(/{controlPlaneId}/gi,((A=r.config)==null?void 0:A.controlPlaneId)||""):r.config.app==="kongManager"&&(C=C.replace(/\/{workspace}/gi,(I=r.config)!=null&&I.workspace?`/${r.config.workspace}`:"")),C=C.replace(/{plugin}/gi,r.config.pluginType),C}),b=t.ref({});be.useSchemaProvider(b);const x=t.ref(!1),N=t.ref("");return t.onBeforeMount(async()=>{x.value=!0;try{const{data:C}=await _.get(w.value);b.value=C}catch(C){N.value=y(C),o("error:fetch-schema",C)}finally{x.value=!1}}),(C,A)=>{const I=t.resolveComponent("KSkeleton"),P=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",L2,[x.value?(t.openBlock(),t.createBlock(I,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):N.value?(t.openBlock(),t.createBlock(P,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(N.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(be.EntityBaseConfigCard),{key:2,"code-block-record-formatter":h,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(be.SupportedEntityType).Plugin,"fetch-url":p.value,"hide-title":e.hideTitle,"plugin-config-key":Us,"plugin-config-schema":m.value,"record-resolver":g,"onFetch:error":A[0]||(A[0]=k=>C.$emit("fetch:error",k)),"onFetch:success":A[1]||(A[1]=k=>C.$emit("fetch:success",k)),onLoading:A[2]||(A[2]=k=>C.$emit("loading",k))},t.createSlots({name:t.withCtx(k=>[t.createElementVNode("div",U2,[t.createVNode(t.unref(Ho.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",k),size:24},null,8,["name"]),t.createElementVNode("span",K2,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",k))),1)])]),consumer:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(be.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(be.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>C.$emit("navigation-click",t.unref(s)("rowValue",k).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",j2,"–"))]),route:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(be.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(be.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>C.$emit("navigation-click",t.unref(s)("rowValue",k).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",G2,"–"))]),service:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(be.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(be.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>C.$emit("navigation-click",t.unref(s)("rowValue",k).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",q2,"–"))]),consumer_group:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(be.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(be.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>C.$emit("navigation-click",t.unref(s)("rowValue",k).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",z2,"–"))]),partials:t.withCtx(k=>{var G,S,L,F,ne,Y,D,M,v;return[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(be.InternalLinkItem),{key:1,item:{key:(S=(G=t.unref(s)("rowValue",k))==null?void 0:G[0])==null?void 0:S.id,value:((F=(L=t.unref(s)("rowValue",k))==null?void 0:L[0])==null?void 0:F.id)+((Y=(ne=t.unref(s)("rowValue",k))==null?void 0:ne[0])!=null&&Y.name?"/"+((M=(D=t.unref(s)("rowValue",k))==null?void 0:D[0])==null?void 0:M.name):""),type:t.unref(be.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var B,W;return C.$emit("navigation-click",(W=(B=t.unref(s)("rowValue",k))==null?void 0:B[0])==null?void 0:W.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"partial-copy-uuid",text:(v=t.unref(s)("rowValue",k))==null?void 0:v[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",H2,"–"))]}),_:2},[d.value?{name:"config-card-item-nodes",fn:t.withCtx(k=>[t.createVNode(F2,{"plugin-data":k.record},null,8,["plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-a5302acb"]]),{usePluginMetaData:W2,useProvideExperimentalFreeForms:X2}=je;Object.defineProperty(Ae,"PluginGroup",{enumerable:!0,get:()=>Z.PluginGroup}),Object.defineProperty(Ae,"PluginScope",{enumerable:!0,get:()=>Z.PluginScope}),Object.defineProperty(Ae,"PluginIcon",{enumerable:!0,get:()=>Ho.PluginIcon}),Object.defineProperty(Ae,"getPluginIconURL",{enumerable:!0,get:()=>Ho.getPluginIconURL}),Ae.EXPERIMENTAL_FREE_FORM_PROVIDER=Ga,Ae.EntityTypeIdField=Rn,Ae.FEATURE_FLAGS=Hn,Ae.PLUGIN_GROUPS_COLLAPSE_STATUS=qs,Ae.PluginConfigCard=Y2,Ae.PluginForm=QM,Ae.PluginGroupArray=Gs,Ae.PluginList=s2,Ae.PluginPartialType=Ur,Ae.PluginSelect=B2,Ae.PluginSelectCard=Rs,Ae.PluginSelectGrid=Ls,Ae.TOASTER_PROVIDER=fd,Ae.pluginEndpoints=tt,Ae.usePluginMetaData=W2,Ae.useProvideExperimentalFreeForms=X2,Object.defineProperty(Ae,Symbol.toStringTag,{value:"Module"})});
|