From e4c02266df1c5773fdb462aa50de8838818ced77 Mon Sep 17 00:00:00 2001 From: Ben Gazzard Date: Tue, 7 Nov 2023 18:39:37 +0000 Subject: [PATCH] feat: emui service overview (#1708) ## Description: This PR implements the new service overview page. This PR introduced the monaco editor back into the codebase, currently mainly configured for read only mode. When we come to add it back to the forms validating the writing behavior will be done then. ### Screenshot ![image](https://github.com/kurtosis-tech/kurtosis/assets/4419574/c4463b3b-6350-4657-b6fe-177037225aa7) ## Is this change user facing? YES --- enclave-manager/web/package.json | 2 + .../web/src/components/CodeEditor.tsx | 63 +++++++++++++++++ .../web/src/components/DataTable.tsx | 7 +- .../web/src/components/FileDisplay.tsx | 29 ++++++++ .../web/src/components/ValueCard.tsx | 4 +- .../components/enclaves/tables/PortsTable.tsx | 67 +++++++++++++++++++ .../enclaves/tables/ServicesTable.tsx | 4 +- .../web/src/components/enclaves/utils.ts | 12 ++++ .../enclaves/widgets/PortsSummary.tsx | 14 +--- .../service/overview/ServiceOverview.tsx | 54 ++++++++++++++- enclave-manager/web/yarn.lock | 24 +++++++ engine/server/webapp/asset-manifest.json | 6 +- engine/server/webapp/index.html | 2 +- .../server/webapp/static/js/main.8b855950.js | 3 - .../server/webapp/static/js/main.90108866.js | 3 + ...CENSE.txt => main.90108866.js.LICENSE.txt} | 0 ...n.8b855950.js.map => main.90108866.js.map} | 2 +- 17 files changed, 269 insertions(+), 27 deletions(-) create mode 100644 enclave-manager/web/src/components/CodeEditor.tsx create mode 100644 enclave-manager/web/src/components/FileDisplay.tsx create mode 100644 enclave-manager/web/src/components/enclaves/tables/PortsTable.tsx create mode 100644 enclave-manager/web/src/components/enclaves/utils.ts delete mode 100644 engine/server/webapp/static/js/main.8b855950.js create mode 100644 engine/server/webapp/static/js/main.90108866.js rename engine/server/webapp/static/js/{main.8b855950.js.LICENSE.txt => main.90108866.js.LICENSE.txt} (100%) rename engine/server/webapp/static/js/{main.8b855950.js.map => main.90108866.js.map} (52%) diff --git a/enclave-manager/web/package.json b/enclave-manager/web/package.json index ffdbfc28c1..f1f96499cf 100644 --- a/enclave-manager/web/package.json +++ b/enclave-manager/web/package.json @@ -10,6 +10,7 @@ "@connectrpc/connect-web": "^0.13.0", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", + "@monaco-editor/react": "^4.6.0", "@tanstack/react-table": "^8.10.7", "enclave-manager-sdk": "file:../api/typescript", "framer-motion": "^10.16.4", @@ -30,6 +31,7 @@ "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", + "monaco-editor": "^0.44.0", "prettier": "3.0.3", "prettier-plugin-curly": "^0.1.3", "prettier-plugin-organize-imports": "^3.2.3", diff --git a/enclave-manager/web/src/components/CodeEditor.tsx b/enclave-manager/web/src/components/CodeEditor.tsx new file mode 100644 index 0000000000..e4b227fd0e --- /dev/null +++ b/enclave-manager/web/src/components/CodeEditor.tsx @@ -0,0 +1,63 @@ +import { Editor, OnChange, OnMount, useMonaco } from "@monaco-editor/react"; +import { isDefined } from "../utils"; +import { useMemo, useRef, useState } from "react"; +import { editor } from "monaco-editor"; +import { Box } from "@chakra-ui/react"; + +type CodeEditorProps = { + text: string; + onTextChange?: (newText: string) => void; + showLineNumbers?: boolean; +}; + +export const CodeEditor = ({ text, onTextChange, showLineNumbers }: CodeEditorProps) => { + const isReadOnly = !isDefined(onTextChange); + const [editor, setEditor] = useState(); + + const handleContentSizeChange = (e: editor.IContentSizeChangedEvent) => { + editor?.layout({ width: 500, height: e.contentHeight }); + }; + + const handleMount: OnMount = (editor, monaco) => { + setEditor(editor); + monaco.editor.defineTheme("kurtosis-theme", { + base: "vs-dark", + inherit: true, + rules: [], + colors: {}, + }); + monaco.editor.setTheme("kurtosis-theme"); + editor.onDidContentSizeChange(handleContentSizeChange); + }; + + const handleChange: OnChange = (value, ev) => { + if (isDefined(value) && onTextChange) { + onTextChange(value); + } + }; + + return ( + + + + ); +}; diff --git a/enclave-manager/web/src/components/DataTable.tsx b/enclave-manager/web/src/components/DataTable.tsx index 90144c9d0c..44a9947273 100644 --- a/enclave-manager/web/src/components/DataTable.tsx +++ b/enclave-manager/web/src/components/DataTable.tsx @@ -100,7 +100,12 @@ export function DataTable({ {row.getVisibleCells().map((cell) => { const meta = cell.column.columnDef.meta; return ( - + {flexRender(cell.column.columnDef.cell, cell.getContext())} ); diff --git a/enclave-manager/web/src/components/FileDisplay.tsx b/enclave-manager/web/src/components/FileDisplay.tsx new file mode 100644 index 0000000000..43d0ad91d7 --- /dev/null +++ b/enclave-manager/web/src/components/FileDisplay.tsx @@ -0,0 +1,29 @@ +import { ButtonGroup, Card, Flex, Text } from "@chakra-ui/react"; +import { CopyButton } from "./CopyButton"; +import { DownloadButton } from "./DownloadButton"; +import { CodeEditor } from "./CodeEditor"; + +type FileDisplayProps = { + title: string; + value: string; + filename: string; +}; + +export const FileDisplay = ({ value, filename, title }: FileDisplayProps) => { + return ( + + + + {title} + + + + + + + + + + + ); +}; diff --git a/enclave-manager/web/src/components/ValueCard.tsx b/enclave-manager/web/src/components/ValueCard.tsx index 59f346827a..40fae2a0cd 100644 --- a/enclave-manager/web/src/components/ValueCard.tsx +++ b/enclave-manager/web/src/components/ValueCard.tsx @@ -24,7 +24,9 @@ export const ValueCard = ({ title, value, copyEnabled, copyValue }: ValueCardPro /> )} - {value} + + {value} + ); }; diff --git a/enclave-manager/web/src/components/enclaves/tables/PortsTable.tsx b/enclave-manager/web/src/components/enclaves/tables/PortsTable.tsx new file mode 100644 index 0000000000..ed607367d1 --- /dev/null +++ b/enclave-manager/web/src/components/enclaves/tables/PortsTable.tsx @@ -0,0 +1,67 @@ +import { Link, Flex, Text } from "@chakra-ui/react"; +import { ColumnDef, createColumnHelper } from "@tanstack/react-table"; +import { Port } from "enclave-manager-sdk/build/api_container_service_pb"; +import { useMemo } from "react"; +import { DataTable } from "../../DataTable"; +import { transportProtocolToString } from "../utils"; +import { CopyButton } from "../../CopyButton"; +import { ExternalLinkIcon } from "@chakra-ui/icons"; + +const columnHelper = createColumnHelper(); + +type PortsTableProps = { + ports: Port[]; + ip: string; + isPublic?: boolean; +}; + +export const PortsTable = ({ ports, ip, isPublic }: PortsTableProps) => { + const columns = useMemo[]>( + () => [ + columnHelper.accessor("number", { + header: "Port", + cell: ({ row, getValue }) => ( + + {row.original.maybeApplicationProtocol || "Unknown protocol"} + + {row.original.number}/{transportProtocolToString(row.original.transportProtocol)} + + + ), + }), + columnHelper.accessor("maybeApplicationProtocol", { + header: "Link", + minSize: 800, + cell: ({ row }) => ( + + {isPublic && ( + + {row.original.maybeApplicationProtocol}://{ip}:{row.original.number} + + )} + {!isPublic && `${row.original.maybeApplicationProtocol}://${ip}:${row.original.number}`} + + ), + }), + columnHelper.display({ + id: "copyButton", + cell: ({ row }) => ( + + + + ), + }), + ], + [], + ); + + return ; +}; diff --git a/enclave-manager/web/src/components/enclaves/tables/ServicesTable.tsx b/enclave-manager/web/src/components/enclaves/tables/ServicesTable.tsx index 0de5bd38cc..be0b86e5a9 100644 --- a/enclave-manager/web/src/components/enclaves/tables/ServicesTable.tsx +++ b/enclave-manager/web/src/components/enclaves/tables/ServicesTable.tsx @@ -38,12 +38,12 @@ const serviceToRow = (service: ServiceInfo): ServicesTableRow => { const columnHelper = createColumnHelper(); -type EnclavesTableProps = { +type ServicesTableProps = { enclaveShortUUID: string; servicesResponse: RemoveFunctions; }; -export const ServicesTable = ({ enclaveShortUUID, servicesResponse }: EnclavesTableProps) => { +export const ServicesTable = ({ enclaveShortUUID, servicesResponse }: ServicesTableProps) => { const services = Object.values(servicesResponse.serviceInfo).map(serviceToRow); const columns = useMemo[]>( diff --git a/enclave-manager/web/src/components/enclaves/utils.ts b/enclave-manager/web/src/components/enclaves/utils.ts new file mode 100644 index 0000000000..cea5745ce6 --- /dev/null +++ b/enclave-manager/web/src/components/enclaves/utils.ts @@ -0,0 +1,12 @@ +import { Port_TransportProtocol } from "enclave-manager-sdk/build/api_container_service_pb"; + +export function transportProtocolToString(protocol: Port_TransportProtocol) { + switch (protocol) { + case Port_TransportProtocol.TCP: + return "TCP"; + case Port_TransportProtocol.SCTP: + return "SCTP"; + case Port_TransportProtocol.UDP: + return "UDP"; + } +} diff --git a/enclave-manager/web/src/components/enclaves/widgets/PortsSummary.tsx b/enclave-manager/web/src/components/enclaves/widgets/PortsSummary.tsx index 2547d1b791..75b14b7aa7 100644 --- a/enclave-manager/web/src/components/enclaves/widgets/PortsSummary.tsx +++ b/enclave-manager/web/src/components/enclaves/widgets/PortsSummary.tsx @@ -11,19 +11,9 @@ import { Thead, Tr, } from "@chakra-ui/react"; -import { Port, Port_TransportProtocol } from "enclave-manager-sdk/build/api_container_service_pb"; +import { Port } from "enclave-manager-sdk/build/api_container_service_pb"; import { TitledCard } from "../../TitledCard"; - -function transportProtocolToString(protocol: Port_TransportProtocol) { - switch (protocol) { - case Port_TransportProtocol.TCP: - return "TCP"; - case Port_TransportProtocol.SCTP: - return "SCTP"; - case Port_TransportProtocol.UDP: - return "UDP"; - } -} +import { transportProtocolToString } from "../utils"; type PortsSummaryProps = { privatePorts: Port[]; diff --git a/enclave-manager/web/src/emui/enclaves/enclave/service/overview/ServiceOverview.tsx b/enclave-manager/web/src/emui/enclaves/enclave/service/overview/ServiceOverview.tsx index 3a572c6d98..eaa1a62b1f 100644 --- a/enclave-manager/web/src/emui/enclaves/enclave/service/overview/ServiceOverview.tsx +++ b/enclave-manager/web/src/emui/enclaves/enclave/service/overview/ServiceOverview.tsx @@ -1,9 +1,18 @@ -import { Flex, Grid, GridItem, Icon, Text } from "@chakra-ui/react"; -import { ServiceInfo } from "enclave-manager-sdk/build/api_container_service_pb"; +import { ButtonGroup, Card, Flex, Grid, GridItem, Icon, Text } from "@chakra-ui/react"; +import { Container, ServiceInfo } from "enclave-manager-sdk/build/api_container_service_pb"; import { IoLogoDocker } from "react-icons/io5"; import { ServiceStatusTag } from "../../../../../components/enclaves/widgets/ServiceStatus"; import { FLEX_STANDARD_GAP } from "../../../../../components/theme/constants"; import { ValueCard } from "../../../../../components/ValueCard"; +import { isDefined } from "../../../../../utils"; +import { KurtosisAlert } from "../../../../../components/KurtosisAlert"; +import { CopyButton } from "../../../../../components/CopyButton"; +import { DownloadButton } from "../../../../../components/DownloadButton"; +import { useMemo } from "react"; +import { CodeEditor } from "../../../../../components/CodeEditor"; +import { FileDisplay } from "../../../../../components/FileDisplay"; +import { PortsTable } from "../../../../../components/enclaves/tables/PortsTable"; +import { TitledCard } from "../../../../../components/TitledCard"; type ServiceOverviewProps = { service: ServiceInfo; @@ -26,7 +35,7 @@ export const ServiceOverview = ({ service }: ServiceOverviewProps) => { + {service.container?.imageName || "unknown"} @@ -34,6 +43,45 @@ export const ServiceOverview = ({ service }: ServiceOverviewProps) => { /> + + + + + + + {isDefined(service.container) && } + {!isDefined(service.container) && ( + + )} + + ); +}; + +type ContainerOverviewProps = { + container: Container; +}; + +const ContainerOverview = ({ container }: ContainerOverviewProps) => { + const environmentJson = useMemo(() => JSON.stringify(container.envVars, undefined, 4), [container]); + const cmdJson = useMemo(() => JSON.stringify(container.cmdArgs, undefined, 4), [container]); + const entrypointJson = useMemo(() => JSON.stringify(container.entrypointArgs, undefined, 4), [container]); + + const filePrefix = container.imageName.replaceAll(/:/g, "_"); + + return ( + + + Detailed Info + + + + + + + + + + ); }; diff --git a/enclave-manager/web/yarn.lock b/enclave-manager/web/yarn.lock index 108be76d21..82c1132540 100644 --- a/enclave-manager/web/yarn.lock +++ b/enclave-manager/web/yarn.lock @@ -2529,6 +2529,20 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== +"@monaco-editor/loader@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" + integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== + dependencies: + state-local "^1.0.6" + +"@monaco-editor/react@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.6.0.tgz#bcc68671e358a21c3814566b865a54b191e24119" + integrity sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw== + dependencies: + "@monaco-editor/loader" "^1.4.0" + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -7738,6 +7752,11 @@ mkdirp@~0.5.1: dependencies: minimist "^1.2.6" +monaco-editor@^0.44.0: + version "0.44.0" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.44.0.tgz#3c0fe3655923bbf7dd647057302070b5095b6c59" + integrity sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -9752,6 +9771,11 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== + static-eval@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" diff --git a/engine/server/webapp/asset-manifest.json b/engine/server/webapp/asset-manifest.json index a3dc71c6b0..f84da177f0 100644 --- a/engine/server/webapp/asset-manifest.json +++ b/engine/server/webapp/asset-manifest.json @@ -1,10 +1,10 @@ { "files": { - "main.js": "./static/js/main.8b855950.js", + "main.js": "./static/js/main.90108866.js", "index.html": "./index.html", - "main.8b855950.js.map": "./static/js/main.8b855950.js.map" + "main.90108866.js.map": "./static/js/main.90108866.js.map" }, "entrypoints": [ - "static/js/main.8b855950.js" + "static/js/main.90108866.js" ] } \ No newline at end of file diff --git a/engine/server/webapp/index.html b/engine/server/webapp/index.html index 97d151bf8f..9ddc298991 100644 --- a/engine/server/webapp/index.html +++ b/engine/server/webapp/index.html @@ -1 +1 @@ -Kurtosis Enclave Manager
\ No newline at end of file +Kurtosis Enclave Manager
\ No newline at end of file diff --git a/engine/server/webapp/static/js/main.8b855950.js b/engine/server/webapp/static/js/main.8b855950.js deleted file mode 100644 index a06977ebb0..0000000000 --- a/engine/server/webapp/static/js/main.8b855950.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see main.8b855950.js.LICENSE.txt */ -!function(){var e={3371:function(e,n,t){"use strict";t.r(n),t.d(n,{Connect:function(){return a},ConnectServicesArgs:function(){return K},ConnectServicesResponse:function(){return $},Container:function(){return f},Container_Status:function(){return d},DataChunkMetadata:function(){return M},DownloadFilesArtifactArgs:function(){return z},ExecCommandArgs:function(){return R},ExecCommandResponse:function(){return Z},FileArtifactContentsFileDescription:function(){return Y},FilesArtifactNameAndUuid:function(){return q},GetExistingAndHistoricalServiceIdentifiersResponse:function(){return A},GetServicesArgs:function(){return O},GetServicesResponse:function(){return P},GetStarlarkRunResponse:function(){return X},ImageDownloadMode:function(){return i},InspectFilesArtifactContentsRequest:function(){return J},InspectFilesArtifactContentsResponse:function(){return G},KurtosisFeatureFlag:function(){return u},ListFilesArtifactNamesAndUuidsResponse:function(){return W},Port:function(){return l},Port_TransportProtocol:function(){return c},RestartPolicy:function(){return s},RunStarlarkPackageArgs:function(){return v},RunStarlarkScriptArgs:function(){return h},ServiceIdentifiers:function(){return N},ServiceInfo:function(){return p},ServiceStatus:function(){return o},StarlarkError:function(){return S},StarlarkExecutionError:function(){return _},StarlarkInfo:function(){return g},StarlarkInstruction:function(){return b},StarlarkInstructionArg:function(){return w},StarlarkInstructionPosition:function(){return x},StarlarkInstructionResult:function(){return k},StarlarkInterpretationError:function(){return T},StarlarkRunFinishedEvent:function(){return I},StarlarkRunProgress:function(){return C},StarlarkRunResponseLine:function(){return m},StarlarkValidationError:function(){return E},StarlarkWarning:function(){return y},StoreFilesArtifactFromServiceArgs:function(){return U},StoreFilesArtifactFromServiceResponse:function(){return H},StoreWebFilesArtifactArgs:function(){return B},StoreWebFilesArtifactResponse:function(){return V},StreamedDataChunk:function(){return j},UploadFilesArtifactResponse:function(){return L},WaitForHttpGetEndpointAvailabilityArgs:function(){return D},WaitForHttpPostEndpointAvailabilityArgs:function(){return F}});var r=t(385),o=r.w.makeEnum("api_container_api.ServiceStatus",[{no:0,name:"STOPPED"},{no:1,name:"RUNNING"},{no:2,name:"UNKNOWN"}]),i=r.w.makeEnum("api_container_api.ImageDownloadMode",[{no:0,name:"always"},{no:1,name:"missing"}]),a=r.w.makeEnum("api_container_api.Connect",[{no:0,name:"CONNECT"},{no:1,name:"NO_CONNECT"}]),u=r.w.makeEnum("api_container_api.KurtosisFeatureFlag",[{no:0,name:"NO_INSTRUCTIONS_CACHING"}]),s=r.w.makeEnum("api_container_api.RestartPolicy",[{no:0,name:"NEVER"},{no:1,name:"ALWAYS"}]),l=r.w.makeMessageType("api_container_api.Port",(function(){return[{no:1,name:"number",kind:"scalar",T:13},{no:2,name:"transport_protocol",kind:"enum",T:r.w.getEnumType(c)},{no:3,name:"maybe_application_protocol",kind:"scalar",T:9},{no:4,name:"maybe_wait_timeout",kind:"scalar",T:9}]})),c=r.w.makeEnum("api_container_api.Port.TransportProtocol",[{no:0,name:"TCP"},{no:1,name:"SCTP"},{no:2,name:"UDP"}]),f=r.w.makeMessageType("api_container_api.Container",(function(){return[{no:1,name:"status",kind:"enum",T:r.w.getEnumType(d)},{no:2,name:"image_name",kind:"scalar",T:9},{no:3,name:"entrypoint_args",kind:"scalar",T:9,repeated:!0},{no:4,name:"cmd_args",kind:"scalar",T:9,repeated:!0},{no:5,name:"env_vars",kind:"map",K:9,V:{kind:"scalar",T:9}}]})),d=r.w.makeEnum("api_container_api.Container.Status",[{no:0,name:"STOPPED"},{no:1,name:"RUNNING"},{no:2,name:"UNKNOWN"}]),p=r.w.makeMessageType("api_container_api.ServiceInfo",(function(){return[{no:1,name:"service_uuid",kind:"scalar",T:9},{no:2,name:"private_ip_addr",kind:"scalar",T:9},{no:3,name:"private_ports",kind:"map",K:9,V:{kind:"message",T:l}},{no:4,name:"maybe_public_ip_addr",kind:"scalar",T:9},{no:5,name:"maybe_public_ports",kind:"map",K:9,V:{kind:"message",T:l}},{no:6,name:"name",kind:"scalar",T:9},{no:7,name:"shortened_uuid",kind:"scalar",T:9},{no:8,name:"service_status",kind:"enum",T:r.w.getEnumType(o)},{no:9,name:"container",kind:"message",T:f}]})),h=r.w.makeMessageType("api_container_api.RunStarlarkScriptArgs",(function(){return[{no:1,name:"serialized_script",kind:"scalar",T:9},{no:2,name:"serialized_params",kind:"scalar",T:9,opt:!0},{no:3,name:"dry_run",kind:"scalar",T:8,opt:!0},{no:4,name:"parallelism",kind:"scalar",T:5,opt:!0},{no:5,name:"main_function_name",kind:"scalar",T:9,opt:!0},{no:6,name:"experimental_features",kind:"enum",T:r.w.getEnumType(u),repeated:!0},{no:7,name:"cloud_instance_id",kind:"scalar",T:9,opt:!0},{no:8,name:"cloud_user_id",kind:"scalar",T:9,opt:!0},{no:9,name:"image_download_mode",kind:"enum",T:r.w.getEnumType(i),opt:!0}]})),v=r.w.makeMessageType("api_container_api.RunStarlarkPackageArgs",(function(){return[{no:1,name:"package_id",kind:"scalar",T:9},{no:3,name:"local",kind:"scalar",T:12,oneof:"starlark_package_content"},{no:4,name:"remote",kind:"scalar",T:8,oneof:"starlark_package_content"},{no:5,name:"serialized_params",kind:"scalar",T:9,opt:!0},{no:6,name:"dry_run",kind:"scalar",T:8,opt:!0},{no:7,name:"parallelism",kind:"scalar",T:5,opt:!0},{no:8,name:"clone_package",kind:"scalar",T:8,opt:!0},{no:9,name:"relative_path_to_main_file",kind:"scalar",T:9,opt:!0},{no:10,name:"main_function_name",kind:"scalar",T:9,opt:!0},{no:11,name:"experimental_features",kind:"enum",T:r.w.getEnumType(u),repeated:!0},{no:12,name:"cloud_instance_id",kind:"scalar",T:9,opt:!0},{no:13,name:"cloud_user_id",kind:"scalar",T:9,opt:!0},{no:14,name:"image_download_mode",kind:"enum",T:r.w.getEnumType(i),opt:!0}]})),m=r.w.makeMessageType("api_container_api.StarlarkRunResponseLine",(function(){return[{no:1,name:"instruction",kind:"message",T:b,oneof:"run_response_line"},{no:2,name:"error",kind:"message",T:S,oneof:"run_response_line"},{no:3,name:"progress_info",kind:"message",T:C,oneof:"run_response_line"},{no:4,name:"instruction_result",kind:"message",T:k,oneof:"run_response_line"},{no:5,name:"run_finished_event",kind:"message",T:I,oneof:"run_response_line"},{no:6,name:"warning",kind:"message",T:y,oneof:"run_response_line"},{no:7,name:"info",kind:"message",T:g,oneof:"run_response_line"}]})),g=r.w.makeMessageType("api_container_api.StarlarkInfo",(function(){return[{no:1,name:"info_message",kind:"scalar",T:9}]})),y=r.w.makeMessageType("api_container_api.StarlarkWarning",(function(){return[{no:1,name:"warning_message",kind:"scalar",T:9}]})),b=r.w.makeMessageType("api_container_api.StarlarkInstruction",(function(){return[{no:1,name:"position",kind:"message",T:x},{no:2,name:"instruction_name",kind:"scalar",T:9},{no:3,name:"arguments",kind:"message",T:w,repeated:!0},{no:4,name:"executable_instruction",kind:"scalar",T:9},{no:5,name:"is_skipped",kind:"scalar",T:8}]})),k=r.w.makeMessageType("api_container_api.StarlarkInstructionResult",(function(){return[{no:1,name:"serialized_instruction_result",kind:"scalar",T:9}]})),w=r.w.makeMessageType("api_container_api.StarlarkInstructionArg",(function(){return[{no:1,name:"serialized_arg_value",kind:"scalar",T:9},{no:2,name:"arg_name",kind:"scalar",T:9,opt:!0},{no:3,name:"is_representative",kind:"scalar",T:8}]})),x=r.w.makeMessageType("api_container_api.StarlarkInstructionPosition",(function(){return[{no:1,name:"filename",kind:"scalar",T:9},{no:2,name:"line",kind:"scalar",T:5},{no:3,name:"column",kind:"scalar",T:5}]})),S=r.w.makeMessageType("api_container_api.StarlarkError",(function(){return[{no:1,name:"interpretation_error",kind:"message",T:T,oneof:"error"},{no:2,name:"validation_error",kind:"message",T:E,oneof:"error"},{no:3,name:"execution_error",kind:"message",T:_,oneof:"error"}]})),T=r.w.makeMessageType("api_container_api.StarlarkInterpretationError",(function(){return[{no:1,name:"error_message",kind:"scalar",T:9}]})),E=r.w.makeMessageType("api_container_api.StarlarkValidationError",(function(){return[{no:1,name:"error_message",kind:"scalar",T:9}]})),_=r.w.makeMessageType("api_container_api.StarlarkExecutionError",(function(){return[{no:1,name:"error_message",kind:"scalar",T:9}]})),C=r.w.makeMessageType("api_container_api.StarlarkRunProgress",(function(){return[{no:1,name:"current_step_info",kind:"scalar",T:9,repeated:!0},{no:2,name:"total_steps",kind:"scalar",T:13},{no:3,name:"current_step_number",kind:"scalar",T:13}]})),I=r.w.makeMessageType("api_container_api.StarlarkRunFinishedEvent",(function(){return[{no:1,name:"is_run_successful",kind:"scalar",T:8},{no:2,name:"serialized_output",kind:"scalar",T:9,opt:!0}]})),O=r.w.makeMessageType("api_container_api.GetServicesArgs",(function(){return[{no:1,name:"service_identifiers",kind:"map",K:9,V:{kind:"scalar",T:8}}]})),P=r.w.makeMessageType("api_container_api.GetServicesResponse",(function(){return[{no:1,name:"service_info",kind:"map",K:9,V:{kind:"message",T:p}}]})),N=r.w.makeMessageType("api_container_api.ServiceIdentifiers",(function(){return[{no:1,name:"service_uuid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"shortened_uuid",kind:"scalar",T:9}]})),A=r.w.makeMessageType("api_container_api.GetExistingAndHistoricalServiceIdentifiersResponse",(function(){return[{no:1,name:"allIdentifiers",kind:"message",T:N,repeated:!0}]})),R=r.w.makeMessageType("api_container_api.ExecCommandArgs",(function(){return[{no:1,name:"service_identifier",kind:"scalar",T:9},{no:2,name:"command_args",kind:"scalar",T:9,repeated:!0}]})),Z=r.w.makeMessageType("api_container_api.ExecCommandResponse",(function(){return[{no:1,name:"exit_code",kind:"scalar",T:5},{no:2,name:"log_output",kind:"scalar",T:9}]})),D=r.w.makeMessageType("api_container_api.WaitForHttpGetEndpointAvailabilityArgs",(function(){return[{no:1,name:"service_identifier",kind:"scalar",T:9},{no:2,name:"port",kind:"scalar",T:13},{no:3,name:"path",kind:"scalar",T:9,opt:!0},{no:4,name:"initial_delay_milliseconds",kind:"scalar",T:13,opt:!0},{no:5,name:"retries",kind:"scalar",T:13,opt:!0},{no:6,name:"retries_delay_milliseconds",kind:"scalar",T:13,opt:!0},{no:7,name:"body_text",kind:"scalar",T:9,opt:!0}]})),F=r.w.makeMessageType("api_container_api.WaitForHttpPostEndpointAvailabilityArgs",(function(){return[{no:1,name:"service_identifier",kind:"scalar",T:9},{no:2,name:"port",kind:"scalar",T:13},{no:3,name:"path",kind:"scalar",T:9,opt:!0},{no:4,name:"request_body",kind:"scalar",T:9,opt:!0},{no:5,name:"initial_delay_milliseconds",kind:"scalar",T:13,opt:!0},{no:6,name:"retries",kind:"scalar",T:13,opt:!0},{no:7,name:"retries_delay_milliseconds",kind:"scalar",T:13,opt:!0},{no:8,name:"body_text",kind:"scalar",T:9,opt:!0}]})),j=r.w.makeMessageType("api_container_api.StreamedDataChunk",(function(){return[{no:1,name:"data",kind:"scalar",T:12},{no:2,name:"previous_chunk_hash",kind:"scalar",T:9},{no:3,name:"metadata",kind:"message",T:M}]})),M=r.w.makeMessageType("api_container_api.DataChunkMetadata",(function(){return[{no:1,name:"name",kind:"scalar",T:9}]})),L=r.w.makeMessageType("api_container_api.UploadFilesArtifactResponse",(function(){return[{no:1,name:"uuid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9}]})),z=r.w.makeMessageType("api_container_api.DownloadFilesArtifactArgs",(function(){return[{no:1,name:"identifier",kind:"scalar",T:9}]})),B=r.w.makeMessageType("api_container_api.StoreWebFilesArtifactArgs",(function(){return[{no:1,name:"url",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9}]})),V=r.w.makeMessageType("api_container_api.StoreWebFilesArtifactResponse",(function(){return[{no:1,name:"uuid",kind:"scalar",T:9}]})),U=r.w.makeMessageType("api_container_api.StoreFilesArtifactFromServiceArgs",(function(){return[{no:1,name:"service_identifier",kind:"scalar",T:9},{no:2,name:"source_path",kind:"scalar",T:9},{no:3,name:"name",kind:"scalar",T:9}]})),H=r.w.makeMessageType("api_container_api.StoreFilesArtifactFromServiceResponse",(function(){return[{no:1,name:"uuid",kind:"scalar",T:9}]})),q=r.w.makeMessageType("api_container_api.FilesArtifactNameAndUuid",(function(){return[{no:1,name:"fileName",kind:"scalar",T:9},{no:2,name:"fileUuid",kind:"scalar",T:9}]})),W=r.w.makeMessageType("api_container_api.ListFilesArtifactNamesAndUuidsResponse",(function(){return[{no:1,name:"file_names_and_uuids",kind:"message",T:q,repeated:!0}]})),J=r.w.makeMessageType("api_container_api.InspectFilesArtifactContentsRequest",(function(){return[{no:1,name:"file_names_and_uuid",kind:"message",T:q}]})),G=r.w.makeMessageType("api_container_api.InspectFilesArtifactContentsResponse",(function(){return[{no:1,name:"file_descriptions",kind:"message",T:Y,repeated:!0}]})),Y=r.w.makeMessageType("api_container_api.FileArtifactContentsFileDescription",(function(){return[{no:1,name:"path",kind:"scalar",T:9},{no:2,name:"size",kind:"scalar",T:4},{no:3,name:"text_preview",kind:"scalar",T:9,opt:!0}]})),K=r.w.makeMessageType("api_container_api.ConnectServicesArgs",(function(){return[{no:1,name:"connect",kind:"enum",T:r.w.getEnumType(a)}]})),$=r.w.makeMessageType("api_container_api.ConnectServicesResponse",[]),X=r.w.makeMessageType("api_container_api.GetStarlarkRunResponse",(function(){return[{no:1,name:"package_id",kind:"scalar",T:9},{no:2,name:"serialized_script",kind:"scalar",T:9},{no:3,name:"serialized_params",kind:"scalar",T:9},{no:4,name:"parallelism",kind:"scalar",T:5},{no:5,name:"relative_path_to_main_file",kind:"scalar",T:9},{no:6,name:"main_function_name",kind:"scalar",T:9},{no:7,name:"experimental_features",kind:"enum",T:r.w.getEnumType(u),repeated:!0},{no:8,name:"restart_policy",kind:"enum",T:r.w.getEnumType(s)}]}))},3324:function(e,n,t){"use strict";t.r(n),t.d(n,{CleanArgs:function(){return k},CleanResponse:function(){return x},CreateEnclaveArgs:function(){return c},CreateEnclaveResponse:function(){return f},DestroyEnclaveArgs:function(){return b},EnclaveAPIContainerHostMachineInfo:function(){return p},EnclaveAPIContainerInfo:function(){return d},EnclaveAPIContainerStatus:function(){return u},EnclaveContainersStatus:function(){return a},EnclaveIdentifiers:function(){return m},EnclaveInfo:function(){return h},EnclaveMode:function(){return i},EnclaveNameAndUuid:function(){return w},GetEnclavesResponse:function(){return v},GetEngineInfoResponse:function(){return l},GetExistingAndHistoricalEnclaveIdentifiersResponse:function(){return g},GetServiceLogsArgs:function(){return S},GetServiceLogsResponse:function(){return T},LogLine:function(){return E},LogLineFilter:function(){return _},LogLineOperator:function(){return s},StopEnclaveArgs:function(){return y}});var r=t(385),o=t(581),i=r.w.makeEnum("engine_api.EnclaveMode",[{no:0,name:"TEST"},{no:1,name:"PRODUCTION"}]),a=r.w.makeEnum("engine_api.EnclaveContainersStatus",[{no:0,name:"EnclaveContainersStatus_EMPTY"},{no:1,name:"EnclaveContainersStatus_RUNNING"},{no:2,name:"EnclaveContainersStatus_STOPPED"}]),u=r.w.makeEnum("engine_api.EnclaveAPIContainerStatus",[{no:0,name:"EnclaveAPIContainerStatus_NONEXISTENT"},{no:1,name:"EnclaveAPIContainerStatus_RUNNING"},{no:2,name:"EnclaveAPIContainerStatus_STOPPED"}]),s=r.w.makeEnum("engine_api.LogLineOperator",[{no:0,name:"LogLineOperator_DOES_CONTAIN_TEXT"},{no:1,name:"LogLineOperator_DOES_NOT_CONTAIN_TEXT"},{no:2,name:"LogLineOperator_DOES_CONTAIN_MATCH_REGEX"},{no:3,name:"LogLineOperator_DOES_NOT_CONTAIN_MATCH_REGEX"}]),l=r.w.makeMessageType("engine_api.GetEngineInfoResponse",(function(){return[{no:1,name:"engine_version",kind:"scalar",T:9}]})),c=r.w.makeMessageType("engine_api.CreateEnclaveArgs",(function(){return[{no:1,name:"enclave_name",kind:"scalar",T:9,opt:!0},{no:2,name:"api_container_version_tag",kind:"scalar",T:9,opt:!0},{no:3,name:"api_container_log_level",kind:"scalar",T:9,opt:!0},{no:4,name:"mode",kind:"enum",T:r.w.getEnumType(i),opt:!0}]})),f=r.w.makeMessageType("engine_api.CreateEnclaveResponse",(function(){return[{no:1,name:"enclave_info",kind:"message",T:h}]})),d=r.w.makeMessageType("engine_api.EnclaveAPIContainerInfo",(function(){return[{no:1,name:"container_id",kind:"scalar",T:9},{no:2,name:"ip_inside_enclave",kind:"scalar",T:9},{no:3,name:"grpc_port_inside_enclave",kind:"scalar",T:13},{no:6,name:"bridge_ip_address",kind:"scalar",T:9}]})),p=r.w.makeMessageType("engine_api.EnclaveAPIContainerHostMachineInfo",(function(){return[{no:4,name:"ip_on_host_machine",kind:"scalar",T:9},{no:5,name:"grpc_port_on_host_machine",kind:"scalar",T:13}]})),h=r.w.makeMessageType("engine_api.EnclaveInfo",(function(){return[{no:1,name:"enclave_uuid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"shortened_uuid",kind:"scalar",T:9},{no:4,name:"containers_status",kind:"enum",T:r.w.getEnumType(a)},{no:5,name:"api_container_status",kind:"enum",T:r.w.getEnumType(u)},{no:6,name:"api_container_info",kind:"message",T:d},{no:7,name:"api_container_host_machine_info",kind:"message",T:p},{no:8,name:"creation_time",kind:"message",T:o.E},{no:9,name:"mode",kind:"enum",T:r.w.getEnumType(i)}]})),v=r.w.makeMessageType("engine_api.GetEnclavesResponse",(function(){return[{no:1,name:"enclave_info",kind:"map",K:9,V:{kind:"message",T:h}}]})),m=r.w.makeMessageType("engine_api.EnclaveIdentifiers",(function(){return[{no:1,name:"enclave_uuid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"shortened_uuid",kind:"scalar",T:9}]})),g=r.w.makeMessageType("engine_api.GetExistingAndHistoricalEnclaveIdentifiersResponse",(function(){return[{no:1,name:"allIdentifiers",kind:"message",T:m,repeated:!0}]})),y=r.w.makeMessageType("engine_api.StopEnclaveArgs",(function(){return[{no:1,name:"enclave_identifier",kind:"scalar",T:9}]})),b=r.w.makeMessageType("engine_api.DestroyEnclaveArgs",(function(){return[{no:1,name:"enclave_identifier",kind:"scalar",T:9}]})),k=r.w.makeMessageType("engine_api.CleanArgs",(function(){return[{no:1,name:"should_clean_all",kind:"scalar",T:8,opt:!0}]})),w=r.w.makeMessageType("engine_api.EnclaveNameAndUuid",(function(){return[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}]})),x=r.w.makeMessageType("engine_api.CleanResponse",(function(){return[{no:1,name:"removed_enclave_name_and_uuids",kind:"message",T:w,repeated:!0}]})),S=r.w.makeMessageType("engine_api.GetServiceLogsArgs",(function(){return[{no:1,name:"enclave_identifier",kind:"scalar",T:9},{no:2,name:"service_uuid_set",kind:"map",K:9,V:{kind:"scalar",T:8}},{no:3,name:"follow_logs",kind:"scalar",T:8,opt:!0},{no:4,name:"conjunctive_filters",kind:"message",T:_,repeated:!0},{no:5,name:"return_all_logs",kind:"scalar",T:8,opt:!0},{no:6,name:"num_log_lines",kind:"scalar",T:13,opt:!0}]})),T=r.w.makeMessageType("engine_api.GetServiceLogsResponse",(function(){return[{no:1,name:"service_logs_by_service_uuid",kind:"map",K:9,V:{kind:"message",T:E}},{no:2,name:"not_found_service_uuid_set",kind:"map",K:9,V:{kind:"scalar",T:8}}]})),E=r.w.makeMessageType("engine_api.LogLine",(function(){return[{no:1,name:"line",kind:"scalar",T:9,repeated:!0}]})),_=r.w.makeMessageType("engine_api.LogLineFilter",(function(){return[{no:1,name:"operator",kind:"enum",T:r.w.getEnumType(s)},{no:2,name:"text_pattern",kind:"scalar",T:9}]}))},3913:function(e,n,t){"use strict";n.q=void 0;var r=t(302),o=t(177),i=t(3324),a=t(3371);n.q={typeName:"kurtosis_enclave_manager.KurtosisEnclaveManagerServer",methods:{check:{name:"Check",I:r.HealthCheckRequest,O:r.HealthCheckResponse,kind:o.MethodKind.Unary},getEnclaves:{name:"GetEnclaves",I:o.Empty,O:i.GetEnclavesResponse,kind:o.MethodKind.Unary},getServices:{name:"GetServices",I:r.GetServicesRequest,O:a.GetServicesResponse,kind:o.MethodKind.Unary},getServiceLogs:{name:"GetServiceLogs",I:i.GetServiceLogsArgs,O:i.GetServiceLogsResponse,kind:o.MethodKind.ServerStreaming},listFilesArtifactNamesAndUuids:{name:"ListFilesArtifactNamesAndUuids",I:r.GetListFilesArtifactNamesAndUuidsRequest,O:a.ListFilesArtifactNamesAndUuidsResponse,kind:o.MethodKind.Unary},runStarlarkPackage:{name:"RunStarlarkPackage",I:r.RunStarlarkPackageRequest,O:a.StarlarkRunResponseLine,kind:o.MethodKind.ServerStreaming},createEnclave:{name:"CreateEnclave",I:i.CreateEnclaveArgs,O:i.CreateEnclaveResponse,kind:o.MethodKind.Unary},inspectFilesArtifactContents:{name:"InspectFilesArtifactContents",I:r.InspectFilesArtifactContentsRequest,O:a.InspectFilesArtifactContentsResponse,kind:o.MethodKind.Unary},destroyEnclave:{name:"DestroyEnclave",I:i.DestroyEnclaveArgs,O:o.Empty,kind:o.MethodKind.Unary},getStarlarkRun:{name:"GetStarlarkRun",I:r.GetStarlarkRunRequest,O:a.GetStarlarkRunResponse,kind:o.MethodKind.Unary}}}},302:function(e,n,t){"use strict";var r=t(6690).default,o=t(9728).default,i=t(6115).default,a=t(1655).default,u=t(6389).default;Object.defineProperty(n,"__esModule",{value:!0}),n.GetStarlarkRunRequest=n.InspectFilesArtifactContentsRequest=n.RunStarlarkPackageRequest=n.GetListFilesArtifactNamesAndUuidsRequest=n.GetServicesRequest=n.HealthCheckResponse_ServingStatus=n.HealthCheckResponse=n.HealthCheckRequest=void 0;var s=t(177),l=t(3371),c=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).service="",s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.HealthCheckRequest=c,c.runtime=s.proto3,c.typeName="kurtosis_enclave_manager.HealthCheckRequest",c.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"service",kind:"scalar",T:9}]}));var f,d=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).status=f.UNKNOWN,s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.HealthCheckResponse=d,d.runtime=s.proto3,d.typeName="kurtosis_enclave_manager.HealthCheckResponse",d.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"status",kind:"enum",T:s.proto3.getEnumType(f)}]})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.SERVING=1]="SERVING",e[e.NOT_SERVING=2]="NOT_SERVING",e[e.SERVICE_UNKNOWN=3]="SERVICE_UNKNOWN"}(f=n.HealthCheckResponse_ServingStatus||(n.HealthCheckResponse_ServingStatus={})),s.proto3.util.setEnumType(f,"kurtosis_enclave_manager.HealthCheckResponse.ServingStatus",[{no:0,name:"UNKNOWN"},{no:1,name:"SERVING"},{no:2,name:"NOT_SERVING"},{no:3,name:"SERVICE_UNKNOWN"}]);var p=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).apicIpAddress="",o.apicPort=0,s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.GetServicesRequest=p,p.runtime=s.proto3,p.typeName="kurtosis_enclave_manager.GetServicesRequest",p.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"apic_ip_address",kind:"scalar",T:9},{no:2,name:"apic_port",kind:"scalar",T:5}]}));var h=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).apicIpAddress="",o.apicPort=0,s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.GetListFilesArtifactNamesAndUuidsRequest=h,h.runtime=s.proto3,h.typeName="kurtosis_enclave_manager.GetListFilesArtifactNamesAndUuidsRequest",h.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"apic_ip_address",kind:"scalar",T:9},{no:2,name:"apic_port",kind:"scalar",T:5}]}));var v=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).apicIpAddress="",o.apicPort=0,s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.RunStarlarkPackageRequest=v,v.runtime=s.proto3,v.typeName="kurtosis_enclave_manager.RunStarlarkPackageRequest",v.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"apic_ip_address",kind:"scalar",T:9},{no:2,name:"apic_port",kind:"scalar",T:5},{no:3,name:"RunStarlarkPackageArgs",kind:"message",T:l.RunStarlarkPackageArgs}]}));var m=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).apicIpAddress="",o.apicPort=0,s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.InspectFilesArtifactContentsRequest=m,m.runtime=s.proto3,m.typeName="kurtosis_enclave_manager.InspectFilesArtifactContentsRequest",m.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"apic_ip_address",kind:"scalar",T:9},{no:2,name:"apic_port",kind:"scalar",T:5},{no:3,name:"file_names_and_uuid",kind:"message",T:l.FilesArtifactNameAndUuid}]}));var g=function(e){a(t,e);var n=u(t);function t(e){var o;return r(this,t),(o=n.call(this)).apicIpAddress="",o.apicPort=0,s.proto3.util.initPartial(e,i(o)),o}return o(t,null,[{key:"fromBinary",value:function(e,n){return(new t).fromBinary(e,n)}},{key:"fromJson",value:function(e,n){return(new t).fromJson(e,n)}},{key:"fromJsonString",value:function(e,n){return(new t).fromJsonString(e,n)}},{key:"equals",value:function(e,n){return s.proto3.util.equals(t,e,n)}}]),t}(s.Message);n.GetStarlarkRunRequest=g,g.runtime=s.proto3,g.typeName="kurtosis_enclave_manager.GetStarlarkRunRequest",g.fields=s.proto3.util.newFieldList((function(){return[{no:1,name:"apic_ip_address",kind:"scalar",T:9},{no:2,name:"apic_port",kind:"scalar",T:5}]}))},1132:function(e){"use strict";var n=Object.prototype.hasOwnProperty,t=Object.prototype.toString,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,i=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===t.call(e)},a=function(e){if(!e||"[object Object]"!==t.call(e))return!1;var r,o=n.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!o&&!i)return!1;for(r in e);return"undefined"===typeof r||n.call(e,r)},u=function(e,n){r&&"__proto__"===n.name?r(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},s=function(e,t){if("__proto__"===t){if(!n.call(e,t))return;if(o)return o(e,t).value}return e[t]};e.exports=function e(){var n,t,r,o,l,c,f=arguments[0],d=1,p=arguments.length,h=!1;for("boolean"===typeof f&&(h=f,f=arguments[1]||{},d=2),(null==f||"object"!==typeof f&&"function"!==typeof f)&&(f={});d-1},ee.prototype.set=function(e,n){var t=this.__data__,r=ae(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this},ne.prototype.clear=function(){this.size=0,this.__data__={hash:new Q,map:new(K||ee),string:new Q}},ne.prototype.delete=function(e){var n=ge(this,e).delete(e);return this.size-=n?1:0,n},ne.prototype.get=function(e){return ge(this,e).get(e)},ne.prototype.has=function(e){return ge(this,e).has(e)},ne.prototype.set=function(e,n){var t=ge(this,e),r=t.size;return t.set(e,n),this.size+=t.size==r?0:1,this},te.prototype.clear=function(){this.__data__=new ee,this.size=0},te.prototype.delete=function(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t},te.prototype.get=function(e){return this.__data__.get(e)},te.prototype.has=function(e){return this.__data__.has(e)},te.prototype.set=function(e,n){var t=this.__data__;if(t instanceof ee){var r=t.__data__;if(!K||r.length<199)return r.push([e,n]),this.size=++t.size,this;t=this.__data__=new ne(r)}return t.set(e,n),this.size=t.size,this};var se,le=function(e,n,t){for(var r=-1,o=Object(e),i=t(e),a=i.length;a--;){var u=i[se?a:++r];if(!1===n(o[u],u,o))break}return e};function ce(e){return null==e?void 0===e?d:l:q&&q in Object(e)?function(e){var n=A.call(e,q),t=e[q];try{e[q]=void 0;var r=!0}catch(i){}var o=Z.call(e);r&&(n?e[q]=t:delete e[q]);return o}(e):function(e){return Z.call(e)}(e)}function fe(e){return Ne(e)&&ce(e)==i}function de(e){return!(!Pe(e)||function(e){return!!R&&R in e}(e))&&(Ie(e)?F:p).test(function(e){if(null!=e){try{return N.call(e)}catch(n){}try{return e+""}catch(n){}}return""}(e))}function pe(e){if(!Pe(e))return function(e){var n=[];if(null!=e)for(var t in Object(e))n.push(t);return n}(e);var n=ke(e),t=[];for(var r in e)("constructor"!=r||!n&&A.call(e,r))&&t.push(r);return t}function he(e,n,t,r,o){e!==n&&le(n,(function(i,a){if(o||(o=new te),Pe(i))!function(e,n,t,r,o,i,a){var u=we(e,t),s=we(n,t),l=a.get(s);if(l)return void oe(e,t,l);var f=i?i(u,s,t+"",e,n,a):void 0,d=void 0===f;if(d){var p=Ee(s),h=!p&&Ce(s),v=!p&&!h&&Ae(s);f=s,p||h||v?Ee(u)?f=u:Ne(m=u)&&_e(m)?f=function(e,n){var t=-1,r=e.length;n||(n=Array(r));for(;++t-1&&e%1==0&&e0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}(me);function Se(e,n){return e===n||e!==e&&n!==n}var Te=fe(function(){return arguments}())?fe:function(e){return Ne(e)&&A.call(e,"callee")&&!U.call(e,"callee")},Ee=Array.isArray;function _e(e){return null!=e&&Oe(e.length)&&!Ie(e)}var Ce=J||function(){return!1};function Ie(e){if(!Pe(e))return!1;var n=ce(e);return n==u||n==s||n==a||n==f}function Oe(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function Pe(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}function Ne(e){return null!=e&&"object"==typeof e}var Ae=T?function(e){return function(n){return e(n)}}(T):function(e){return Ne(e)&&Oe(e.length)&&!!v[ce(e)]};function Re(e){return _e(e)?re(e,!0):pe(e)}var Ze,De=(Ze=function(e,n,t,r){he(e,n,t,r)},ve((function(e,n){var t=-1,r=n.length,o=r>1?n[r-1]:void 0,i=r>2?n[2]:void 0;for(o=Ze.length>3&&"function"==typeof o?(r--,o):void 0,i&&function(e,n,t){if(!Pe(t))return!1;var r=typeof n;return!!("number"==r?_e(t)&&be(n,t.length):"string"==r&&n in t)&&Se(t[n],e)}(n[0],n[1],i)&&(o=r<3?void 0:o,r=1),e=Object(e);++t"']/g,K=RegExp(G.source),$=RegExp(Y.source),X=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,ne=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,te=/^\w*$/,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,oe=/[\\^$.*+?()[\]{}|]/g,ie=RegExp(oe.source),ae=/^\s+/,ue=/\s/,se=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,le=/\{\n\/\* \[wrapped with (.+)\] \*/,ce=/,? & /,fe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,de=/[()=,{}\[\]\/\s]/,pe=/\\(\\)?/g,he=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ve=/\w*$/,me=/^[-+]0x[0-9a-f]+$/i,ge=/^0b[01]+$/i,ye=/^\[object .+?Constructor\]$/,be=/^0o[0-7]+$/i,ke=/^(?:0|[1-9]\d*)$/,we=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,xe=/($^)/,Se=/['\n\r\u2028\u2029\\]/g,Te="\\ud800-\\udfff",Ee="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",_e="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",Ie="A-Z\\xc0-\\xd6\\xd8-\\xde",Oe="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ne="['\u2019]",Ae="["+Te+"]",Re="["+Pe+"]",Ze="["+Ee+"]",De="\\d+",Fe="["+_e+"]",je="["+Ce+"]",Me="[^"+Te+Pe+De+_e+Ce+Ie+"]",Le="\\ud83c[\\udffb-\\udfff]",ze="[^"+Te+"]",Be="(?:\\ud83c[\\udde6-\\uddff]){2}",Ve="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue="["+Ie+"]",He="\\u200d",qe="(?:"+je+"|"+Me+")",We="(?:"+Ue+"|"+Me+")",Je="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ge="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ye="(?:"+Ze+"|"+Le+")"+"?",Ke="["+Oe+"]?",$e=Ke+Ye+("(?:"+He+"(?:"+[ze,Be,Ve].join("|")+")"+Ke+Ye+")*"),Xe="(?:"+[Fe,Be,Ve].join("|")+")"+$e,Qe="(?:"+[ze+Ze+"?",Ze,Be,Ve,Ae].join("|")+")",en=RegExp(Ne,"g"),nn=RegExp(Ze,"g"),tn=RegExp(Le+"(?="+Le+")|"+Qe+$e,"g"),rn=RegExp([Ue+"?"+je+"+"+Je+"(?="+[Re,Ue,"$"].join("|")+")",We+"+"+Ge+"(?="+[Re,Ue+qe,"$"].join("|")+")",Ue+"?"+qe+"+"+Je,Ue+"+"+Ge,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",De,Xe].join("|"),"g"),on=RegExp("["+He+Te+Ee+Oe+"]"),an=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,un=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],sn=-1,ln={};ln[F]=ln[j]=ln[M]=ln[L]=ln[z]=ln[B]=ln[V]=ln[U]=ln[H]=!0,ln[y]=ln[b]=ln[Z]=ln[k]=ln[D]=ln[w]=ln[x]=ln[S]=ln[E]=ln[_]=ln[C]=ln[O]=ln[P]=ln[N]=ln[R]=!1;var cn={};cn[y]=cn[b]=cn[Z]=cn[D]=cn[k]=cn[w]=cn[F]=cn[j]=cn[M]=cn[L]=cn[z]=cn[E]=cn[_]=cn[C]=cn[O]=cn[P]=cn[N]=cn[A]=cn[B]=cn[V]=cn[U]=cn[H]=!0,cn[x]=cn[S]=cn[R]=!1;var fn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},dn=parseFloat,pn=parseInt,hn="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,vn="object"==typeof self&&self&&self.Object===Object&&self,mn=hn||vn||Function("return this")(),gn=n&&!n.nodeType&&n,yn=gn&&e&&!e.nodeType&&e,bn=yn&&yn.exports===gn,kn=bn&&hn.process,wn=function(){try{var e=yn&&yn.require&&yn.require("util").types;return e||kn&&kn.binding&&kn.binding("util")}catch(n){}}(),xn=wn&&wn.isArrayBuffer,Sn=wn&&wn.isDate,Tn=wn&&wn.isMap,En=wn&&wn.isRegExp,_n=wn&&wn.isSet,Cn=wn&&wn.isTypedArray;function In(e,n,t){switch(t.length){case 0:return e.call(n);case 1:return e.call(n,t[0]);case 2:return e.call(n,t[0],t[1]);case 3:return e.call(n,t[0],t[1],t[2])}return e.apply(n,t)}function On(e,n,t,r){for(var o=-1,i=null==e?0:e.length;++o-1}function Dn(e,n,t){for(var r=-1,o=null==e?0:e.length;++r-1;);return t}function ot(e,n){for(var t=e.length;t--&&Hn(n,e[t],0)>-1;);return t}var it=Yn({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),at=Yn({"&":"&","<":"<",">":">",'"':""","'":"'"});function ut(e){return"\\"+fn[e]}function st(e){return on.test(e)}function lt(e){var n=-1,t=Array(e.size);return e.forEach((function(e,r){t[++n]=[r,e]})),t}function ct(e,n){return function(t){return e(n(t))}}function ft(e,n){for(var t=-1,r=e.length,o=0,i=[];++t",""":'"',"'":"'"});var yt=function e(n){var t=(n=null==n?mn:yt.defaults(mn.Object(),n,yt.pick(mn,un))).Array,r=n.Date,ue=n.Error,Te=n.Function,Ee=n.Math,_e=n.Object,Ce=n.RegExp,Ie=n.String,Oe=n.TypeError,Pe=t.prototype,Ne=Te.prototype,Ae=_e.prototype,Re=n["__core-js_shared__"],Ze=Ne.toString,De=Ae.hasOwnProperty,Fe=0,je=function(){var e=/[^.]+$/.exec(Re&&Re.keys&&Re.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Me=Ae.toString,Le=Ze.call(_e),ze=mn._,Be=Ce("^"+Ze.call(De).replace(oe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=bn?n.Buffer:o,Ue=n.Symbol,He=n.Uint8Array,qe=Ve?Ve.allocUnsafe:o,We=ct(_e.getPrototypeOf,_e),Je=_e.create,Ge=Ae.propertyIsEnumerable,Ye=Pe.splice,Ke=Ue?Ue.isConcatSpreadable:o,$e=Ue?Ue.iterator:o,Xe=Ue?Ue.toStringTag:o,Qe=function(){try{var e=di(_e,"defineProperty");return e({},"",{}),e}catch(n){}}(),tn=n.clearTimeout!==mn.clearTimeout&&n.clearTimeout,on=r&&r.now!==mn.Date.now&&r.now,fn=n.setTimeout!==mn.setTimeout&&n.setTimeout,hn=Ee.ceil,vn=Ee.floor,gn=_e.getOwnPropertySymbols,yn=Ve?Ve.isBuffer:o,kn=n.isFinite,wn=Pe.join,Bn=ct(_e.keys,_e),Yn=Ee.max,bt=Ee.min,kt=r.now,wt=n.parseInt,xt=Ee.random,St=Pe.reverse,Tt=di(n,"DataView"),Et=di(n,"Map"),_t=di(n,"Promise"),Ct=di(n,"Set"),It=di(n,"WeakMap"),Ot=di(_e,"create"),Pt=It&&new It,Nt={},At=Mi(Tt),Rt=Mi(Et),Zt=Mi(_t),Dt=Mi(Ct),Ft=Mi(It),jt=Ue?Ue.prototype:o,Mt=jt?jt.valueOf:o,Lt=jt?jt.toString:o;function zt(e){if(nu(e)&&!Ha(e)&&!(e instanceof Ht)){if(e instanceof Ut)return e;if(De.call(e,"__wrapped__"))return Li(e)}return new Ut(e)}var Bt=function(){function e(){}return function(n){if(!eu(n))return{};if(Je)return Je(n);e.prototype=n;var t=new e;return e.prototype=o,t}}();function Vt(){}function Ut(e,n){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=o}function Ht(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=m,this.__views__=[]}function qt(e){var n=-1,t=null==e?0:e.length;for(this.clear();++n=n?e:n)),e}function sr(e,n,t,r,i,a){var u,s=1&n,l=2&n,c=4&n;if(t&&(u=i?t(e,r,i,a):t(e)),u!==o)return u;if(!eu(e))return e;var f=Ha(e);if(f){if(u=function(e){var n=e.length,t=new e.constructor(n);n&&"string"==typeof e[0]&&De.call(e,"index")&&(t.index=e.index,t.input=e.input);return t}(e),!s)return Po(e,u)}else{var d=vi(e),p=d==S||d==T;if(Ga(e))return To(e,s);if(d==C||d==y||p&&!i){if(u=l||p?{}:gi(e),!s)return l?function(e,n){return No(e,hi(e),n)}(e,function(e,n){return e&&No(n,Au(n),e)}(u,e)):function(e,n){return No(e,pi(e),n)}(e,or(u,e))}else{if(!cn[d])return i?e:{};u=function(e,n,t){var r=e.constructor;switch(n){case Z:return Eo(e);case k:case w:return new r(+e);case D:return function(e,n){var t=n?Eo(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}(e,t);case F:case j:case M:case L:case z:case B:case V:case U:case H:return _o(e,t);case E:return new r;case _:case N:return new r(e);case O:return function(e){var n=new e.constructor(e.source,ve.exec(e));return n.lastIndex=e.lastIndex,n}(e);case P:return new r;case A:return o=e,Mt?_e(Mt.call(o)):{}}var o}(e,d,s)}}a||(a=new Yt);var h=a.get(e);if(h)return h;a.set(e,u),au(e)?e.forEach((function(r){u.add(sr(r,n,t,r,e,a))})):tu(e)&&e.forEach((function(r,o){u.set(o,sr(r,n,t,o,e,a))}));var v=f?o:(c?l?ii:oi:l?Au:Nu)(e);return Pn(v||e,(function(r,o){v&&(r=e[o=r]),nr(u,o,sr(r,n,t,o,e,a))})),u}function lr(e,n,t){var r=t.length;if(null==e)return!r;for(e=_e(e);r--;){var i=t[r],a=n[i],u=e[i];if(u===o&&!(i in e)||!a(u))return!1}return!0}function cr(e,n,t){if("function"!=typeof e)throw new Oe(i);return Ni((function(){e.apply(o,t)}),n)}function fr(e,n,t,r){var o=-1,i=Zn,a=!0,u=e.length,s=[],l=n.length;if(!u)return s;t&&(n=Fn(n,et(t))),r?(i=Dn,a=!1):n.length>=200&&(i=tt,a=!1,n=new Gt(n));e:for(;++o-1},Wt.prototype.set=function(e,n){var t=this.__data__,r=tr(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this},Jt.prototype.clear=function(){this.size=0,this.__data__={hash:new qt,map:new(Et||Wt),string:new qt}},Jt.prototype.delete=function(e){var n=ci(this,e).delete(e);return this.size-=n?1:0,n},Jt.prototype.get=function(e){return ci(this,e).get(e)},Jt.prototype.has=function(e){return ci(this,e).has(e)},Jt.prototype.set=function(e,n){var t=ci(this,e),r=t.size;return t.set(e,n),this.size+=t.size==r?0:1,this},Gt.prototype.add=Gt.prototype.push=function(e){return this.__data__.set(e,a),this},Gt.prototype.has=function(e){return this.__data__.has(e)},Yt.prototype.clear=function(){this.__data__=new Wt,this.size=0},Yt.prototype.delete=function(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t},Yt.prototype.get=function(e){return this.__data__.get(e)},Yt.prototype.has=function(e){return this.__data__.has(e)},Yt.prototype.set=function(e,n){var t=this.__data__;if(t instanceof Wt){var r=t.__data__;if(!Et||r.length<199)return r.push([e,n]),this.size=++t.size,this;t=this.__data__=new Jt(r)}return t.set(e,n),this.size=t.size,this};var dr=Zo(kr),pr=Zo(wr,!0);function hr(e,n){var t=!0;return dr(e,(function(e,r,o){return t=!!n(e,r,o)})),t}function vr(e,n,t){for(var r=-1,i=e.length;++r0&&t(u)?n>1?gr(u,n-1,t,r,o):jn(o,u):r||(o[o.length]=u)}return o}var yr=Do(),br=Do(!0);function kr(e,n){return e&&yr(e,n,Nu)}function wr(e,n){return e&&br(e,n,Nu)}function xr(e,n){return Rn(n,(function(n){return $a(e[n])}))}function Sr(e,n){for(var t=0,r=(n=ko(n,e)).length;null!=e&&tn}function Cr(e,n){return null!=e&&De.call(e,n)}function Ir(e,n){return null!=e&&n in _e(e)}function Or(e,n,r){for(var i=r?Dn:Zn,a=e[0].length,u=e.length,s=u,l=t(u),c=1/0,f=[];s--;){var d=e[s];s&&n&&(d=Fn(d,et(n))),c=bt(d.length,c),l[s]=!r&&(n||a>=120&&d.length>=120)?new Gt(s&&d):o}d=e[0];var p=-1,h=l[0];e:for(;++p=u?s:s*("desc"==t[r]?-1:1)}return e.index-n.index}(e,n,t)}))}function qr(e,n,t){for(var r=-1,o=n.length,i={};++r-1;)u!==e&&Ye.call(u,s,1),Ye.call(e,s,1);return e}function Jr(e,n){for(var t=e?n.length:0,r=t-1;t--;){var o=n[t];if(t==r||o!==i){var i=o;bi(o)?Ye.call(e,o,1):fo(e,o)}}return e}function Gr(e,n){return e+vn(xt()*(n-e+1))}function Yr(e,n){var t="";if(!e||n<1||n>h)return t;do{n%2&&(t+=e),(n=vn(n/2))&&(e+=e)}while(n);return t}function Kr(e,n){return Ai(Ci(e,n,rs),e+"")}function $r(e){return $t(zu(e))}function Xr(e,n){var t=zu(e);return Di(t,ur(n,0,t.length))}function Qr(e,n,t,r){if(!eu(e))return e;for(var i=-1,a=(n=ko(n,e)).length,u=a-1,s=e;null!=s&&++ii?0:i+n),(r=r>i?i:r)<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var a=t(i);++o>>1,a=e[i];null!==a&&!su(a)&&(t?a<=n:a=200){var l=n?null:Ko(e);if(l)return dt(l);a=!1,o=tt,s=new Gt}else s=n?[]:u;e:for(;++r=r?e:ro(e,n,t)}var So=tn||function(e){return mn.clearTimeout(e)};function To(e,n){if(n)return e.slice();var t=e.length,r=qe?qe(t):new e.constructor(t);return e.copy(r),r}function Eo(e){var n=new e.constructor(e.byteLength);return new He(n).set(new He(e)),n}function _o(e,n){var t=n?Eo(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}function Co(e,n){if(e!==n){var t=e!==o,r=null===e,i=e===e,a=su(e),u=n!==o,s=null===n,l=n===n,c=su(n);if(!s&&!c&&!a&&e>n||a&&u&&l&&!s&&!c||r&&u&&l||!t&&l||!i)return 1;if(!r&&!a&&!c&&e1?t[i-1]:o,u=i>2?t[2]:o;for(a=e.length>3&&"function"==typeof a?(i--,a):o,u&&ki(t[0],t[1],u)&&(a=i<3?o:a,i=1),n=_e(n);++r-1?i[a?n[u]:u]:o}}function zo(e){return ri((function(n){var t=n.length,r=t,a=Ut.prototype.thru;for(e&&n.reverse();r--;){var u=n[r];if("function"!=typeof u)throw new Oe(i);if(a&&!s&&"wrapper"==ui(u))var s=new Ut([],!0)}for(r=s?r:t;++r1&&k.reverse(),p&&cs))return!1;var c=a.get(e),f=a.get(n);if(c&&f)return c==n&&f==e;var d=-1,p=!0,h=2&t?new Gt:o;for(a.set(e,n),a.set(n,e);++d-1&&e%1==0&&e1?"& ":"")+n[r],n=n.join(t>2?", ":" "),e.replace(se,"{\n/* [wrapped with "+n+"] */\n")}(r,function(e,n){return Pn(g,(function(t){var r="_."+t[0];n&t[1]&&!Zn(e,r)&&e.push(r)})),e.sort()}(function(e){var n=e.match(le);return n?n[1].split(ce):[]}(r),t)))}function Zi(e){var n=0,t=0;return function(){var r=kt(),i=16-(r-t);if(t=r,i>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(o,arguments)}}function Di(e,n){var t=-1,r=e.length,i=r-1;for(n=n===o?r:n;++t1?e[n-1]:o;return t="function"==typeof t?(e.pop(),t):o,ia(e,t)}));function da(e){var n=zt(e);return n.__chain__=!0,n}function pa(e,n){return n(e)}var ha=ri((function(e){var n=e.length,t=n?e[0]:0,r=this.__wrapped__,i=function(n){return ar(n,e)};return!(n>1||this.__actions__.length)&&r instanceof Ht&&bi(t)?((r=r.slice(t,+t+(n?1:0))).__actions__.push({func:pa,args:[i],thisArg:o}),new Ut(r,this.__chain__).thru((function(e){return n&&!e.length&&e.push(o),e}))):this.thru(i)}));var va=Ao((function(e,n,t){De.call(e,t)?++e[t]:ir(e,t,1)}));var ma=Lo(Ui),ga=Lo(Hi);function ya(e,n){return(Ha(e)?Pn:dr)(e,li(n,3))}function ba(e,n){return(Ha(e)?Nn:pr)(e,li(n,3))}var ka=Ao((function(e,n,t){De.call(e,t)?e[t].push(n):ir(e,t,[n])}));var wa=Kr((function(e,n,r){var o=-1,i="function"==typeof n,a=Wa(e)?t(e.length):[];return dr(e,(function(e){a[++o]=i?In(n,e,r):Pr(e,n,r)})),a})),xa=Ao((function(e,n,t){ir(e,t,n)}));function Sa(e,n){return(Ha(e)?Fn:Lr)(e,li(n,3))}var Ta=Ao((function(e,n,t){e[t?0:1].push(n)}),(function(){return[[],[]]}));var Ea=Kr((function(e,n){if(null==e)return[];var t=n.length;return t>1&&ki(e,n[0],n[1])?n=[]:t>2&&ki(n[0],n[1],n[2])&&(n=[n[0]]),Hr(e,gr(n,1),[])})),_a=on||function(){return mn.Date.now()};function Ca(e,n,t){return n=t?o:n,n=e&&null==n?e.length:n,Xo(e,f,o,o,o,o,n)}function Ia(e,n){var t;if("function"!=typeof n)throw new Oe(i);return e=hu(e),function(){return--e>0&&(t=n.apply(this,arguments)),e<=1&&(n=o),t}}var Oa=Kr((function(e,n,t){var r=1;if(t.length){var o=ft(t,si(Oa));r|=l}return Xo(e,r,n,t,o)})),Pa=Kr((function(e,n,t){var r=3;if(t.length){var o=ft(t,si(Pa));r|=l}return Xo(n,r,e,t,o)}));function Na(e,n,t){var r,a,u,s,l,c,f=0,d=!1,p=!1,h=!0;if("function"!=typeof e)throw new Oe(i);function v(n){var t=r,i=a;return r=a=o,f=n,s=e.apply(i,t)}function m(e){var t=e-c;return c===o||t>=n||t<0||p&&e-f>=u}function g(){var e=_a();if(m(e))return y(e);l=Ni(g,function(e){var t=n-(e-c);return p?bt(t,u-(e-f)):t}(e))}function y(e){return l=o,h&&r?v(e):(r=a=o,s)}function b(){var e=_a(),t=m(e);if(r=arguments,a=this,c=e,t){if(l===o)return function(e){return f=e,l=Ni(g,n),d?v(e):s}(c);if(p)return So(l),l=Ni(g,n),v(c)}return l===o&&(l=Ni(g,n)),s}return n=mu(n)||0,eu(t)&&(d=!!t.leading,u=(p="maxWait"in t)?Yn(mu(t.maxWait)||0,n):u,h="trailing"in t?!!t.trailing:h),b.cancel=function(){l!==o&&So(l),f=0,r=c=a=l=o},b.flush=function(){return l===o?s:y(_a())},b}var Aa=Kr((function(e,n){return cr(e,1,n)})),Ra=Kr((function(e,n,t){return cr(e,mu(n)||0,t)}));function Za(e,n){if("function"!=typeof e||null!=n&&"function"!=typeof n)throw new Oe(i);var t=function t(){var r=arguments,o=n?n.apply(this,r):r[0],i=t.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return t.cache=i.set(o,a)||i,a};return t.cache=new(Za.Cache||Jt),t}function Da(e){if("function"!=typeof e)throw new Oe(i);return function(){var n=arguments;switch(n.length){case 0:return!e.call(this);case 1:return!e.call(this,n[0]);case 2:return!e.call(this,n[0],n[1]);case 3:return!e.call(this,n[0],n[1],n[2])}return!e.apply(this,n)}}Za.Cache=Jt;var Fa=wo((function(e,n){var t=(n=1==n.length&&Ha(n[0])?Fn(n[0],et(li())):Fn(gr(n,1),et(li()))).length;return Kr((function(r){for(var o=-1,i=bt(r.length,t);++o=n})),Ua=Nr(function(){return arguments}())?Nr:function(e){return nu(e)&&De.call(e,"callee")&&!Ge.call(e,"callee")},Ha=t.isArray,qa=xn?et(xn):function(e){return nu(e)&&Er(e)==Z};function Wa(e){return null!=e&&Qa(e.length)&&!$a(e)}function Ja(e){return nu(e)&&Wa(e)}var Ga=yn||ms,Ya=Sn?et(Sn):function(e){return nu(e)&&Er(e)==w};function Ka(e){if(!nu(e))return!1;var n=Er(e);return n==x||"[object DOMException]"==n||"string"==typeof e.message&&"string"==typeof e.name&&!ou(e)}function $a(e){if(!eu(e))return!1;var n=Er(e);return n==S||n==T||"[object AsyncFunction]"==n||"[object Proxy]"==n}function Xa(e){return"number"==typeof e&&e==hu(e)}function Qa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function eu(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}function nu(e){return null!=e&&"object"==typeof e}var tu=Tn?et(Tn):function(e){return nu(e)&&vi(e)==E};function ru(e){return"number"==typeof e||nu(e)&&Er(e)==_}function ou(e){if(!nu(e)||Er(e)!=C)return!1;var n=We(e);if(null===n)return!0;var t=De.call(n,"constructor")&&n.constructor;return"function"==typeof t&&t instanceof t&&Ze.call(t)==Le}var iu=En?et(En):function(e){return nu(e)&&Er(e)==O};var au=_n?et(_n):function(e){return nu(e)&&vi(e)==P};function uu(e){return"string"==typeof e||!Ha(e)&&nu(e)&&Er(e)==N}function su(e){return"symbol"==typeof e||nu(e)&&Er(e)==A}var lu=Cn?et(Cn):function(e){return nu(e)&&Qa(e.length)&&!!ln[Er(e)]};var cu=Jo(Mr),fu=Jo((function(e,n){return e<=n}));function du(e){if(!e)return[];if(Wa(e))return uu(e)?vt(e):Po(e);if($e&&e[$e])return function(e){for(var n,t=[];!(n=e.next()).done;)t.push(n.value);return t}(e[$e]());var n=vi(e);return(n==E?lt:n==P?dt:zu)(e)}function pu(e){return e?(e=mu(e))===p||e===-1/0?17976931348623157e292*(e<0?-1:1):e===e?e:0:0===e?e:0}function hu(e){var n=pu(e),t=n%1;return n===n?t?n-t:n:0}function vu(e){return e?ur(hu(e),0,m):0}function mu(e){if("number"==typeof e)return e;if(su(e))return v;if(eu(e)){var n="function"==typeof e.valueOf?e.valueOf():e;e=eu(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=Qn(e);var t=ge.test(e);return t||be.test(e)?pn(e.slice(2),t?2:8):me.test(e)?v:+e}function gu(e){return No(e,Au(e))}function yu(e){return null==e?"":lo(e)}var bu=Ro((function(e,n){if(Ti(n)||Wa(n))No(n,Nu(n),e);else for(var t in n)De.call(n,t)&&nr(e,t,n[t])})),ku=Ro((function(e,n){No(n,Au(n),e)})),wu=Ro((function(e,n,t,r){No(n,Au(n),e,r)})),xu=Ro((function(e,n,t,r){No(n,Nu(n),e,r)})),Su=ri(ar);var Tu=Kr((function(e,n){e=_e(e);var t=-1,r=n.length,i=r>2?n[2]:o;for(i&&ki(n[0],n[1],i)&&(r=1);++t1),n})),No(e,ii(e),t),r&&(t=sr(t,7,ni));for(var o=n.length;o--;)fo(t,n[o]);return t}));var Fu=ri((function(e,n){return null==e?{}:function(e,n){return qr(e,n,(function(n,t){return Cu(e,t)}))}(e,n)}));function ju(e,n){if(null==e)return{};var t=Fn(ii(e),(function(e){return[e]}));return n=li(n),qr(e,t,(function(e,t){return n(e,t[0])}))}var Mu=$o(Nu),Lu=$o(Au);function zu(e){return null==e?[]:nt(e,Nu(e))}var Bu=jo((function(e,n,t){return n=n.toLowerCase(),e+(t?Vu(n):n)}));function Vu(e){return Ku(yu(e).toLowerCase())}function Uu(e){return(e=yu(e))&&e.replace(we,it).replace(nn,"")}var Hu=jo((function(e,n,t){return e+(t?"-":"")+n.toLowerCase()})),qu=jo((function(e,n,t){return e+(t?" ":"")+n.toLowerCase()})),Wu=Fo("toLowerCase");var Ju=jo((function(e,n,t){return e+(t?"_":"")+n.toLowerCase()}));var Gu=jo((function(e,n,t){return e+(t?" ":"")+Ku(n)}));var Yu=jo((function(e,n,t){return e+(t?" ":"")+n.toUpperCase()})),Ku=Fo("toUpperCase");function $u(e,n,t){return e=yu(e),(n=t?o:n)===o?function(e){return an.test(e)}(e)?function(e){return e.match(rn)||[]}(e):function(e){return e.match(fe)||[]}(e):e.match(n)||[]}var Xu=Kr((function(e,n){try{return In(e,o,n)}catch(t){return Ka(t)?t:new ue(t)}})),Qu=ri((function(e,n){return Pn(n,(function(n){n=ji(n),ir(e,n,Oa(e[n],e))})),e}));function es(e){return function(){return e}}var ns=zo(),ts=zo(!0);function rs(e){return e}function os(e){return Dr("function"==typeof e?e:sr(e,1))}var is=Kr((function(e,n){return function(t){return Pr(t,e,n)}})),as=Kr((function(e,n){return function(t){return Pr(e,t,n)}}));function us(e,n,t){var r=Nu(n),o=xr(n,r);null!=t||eu(n)&&(o.length||!r.length)||(t=n,n=e,e=this,o=xr(n,Nu(n)));var i=!(eu(t)&&"chain"in t)||!!t.chain,a=$a(e);return Pn(o,(function(t){var r=n[t];e[t]=r,a&&(e.prototype[t]=function(){var n=this.__chain__;if(i||n){var t=e(this.__wrapped__);return(t.__actions__=Po(this.__actions__)).push({func:r,args:arguments,thisArg:e}),t.__chain__=n,t}return r.apply(e,jn([this.value()],arguments))})})),e}function ss(){}var ls=Ho(Fn),cs=Ho(An),fs=Ho(zn);function ds(e){return wi(e)?Gn(ji(e)):function(e){return function(n){return Sr(n,e)}}(e)}var ps=Wo(),hs=Wo(!0);function vs(){return[]}function ms(){return!1}var gs=Uo((function(e,n){return e+n}),0),ys=Yo("ceil"),bs=Uo((function(e,n){return e/n}),1),ks=Yo("floor");var ws=Uo((function(e,n){return e*n}),1),xs=Yo("round"),Ss=Uo((function(e,n){return e-n}),0);return zt.after=function(e,n){if("function"!=typeof n)throw new Oe(i);return e=hu(e),function(){if(--e<1)return n.apply(this,arguments)}},zt.ary=Ca,zt.assign=bu,zt.assignIn=ku,zt.assignInWith=wu,zt.assignWith=xu,zt.at=Su,zt.before=Ia,zt.bind=Oa,zt.bindAll=Qu,zt.bindKey=Pa,zt.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ha(e)?e:[e]},zt.chain=da,zt.chunk=function(e,n,r){n=(r?ki(e,n,r):n===o)?1:Yn(hu(n),0);var i=null==e?0:e.length;if(!i||n<1)return[];for(var a=0,u=0,s=t(hn(i/n));ai?0:i+t),(r=r===o||r>i?i:hu(r))<0&&(r+=i),r=t>r?0:vu(r);t>>0)?(e=yu(e))&&("string"==typeof n||null!=n&&!iu(n))&&!(n=lo(n))&&st(e)?xo(vt(e),0,t):e.split(n,t):[]},zt.spread=function(e,n){if("function"!=typeof e)throw new Oe(i);return n=null==n?0:Yn(hu(n),0),Kr((function(t){var r=t[n],o=xo(t,0,n);return r&&jn(o,r),In(e,this,o)}))},zt.tail=function(e){var n=null==e?0:e.length;return n?ro(e,1,n):[]},zt.take=function(e,n,t){return e&&e.length?ro(e,0,(n=t||n===o?1:hu(n))<0?0:n):[]},zt.takeRight=function(e,n,t){var r=null==e?0:e.length;return r?ro(e,(n=r-(n=t||n===o?1:hu(n)))<0?0:n,r):[]},zt.takeRightWhile=function(e,n){return e&&e.length?ho(e,li(n,3),!1,!0):[]},zt.takeWhile=function(e,n){return e&&e.length?ho(e,li(n,3)):[]},zt.tap=function(e,n){return n(e),e},zt.throttle=function(e,n,t){var r=!0,o=!0;if("function"!=typeof e)throw new Oe(i);return eu(t)&&(r="leading"in t?!!t.leading:r,o="trailing"in t?!!t.trailing:o),Na(e,n,{leading:r,maxWait:n,trailing:o})},zt.thru=pa,zt.toArray=du,zt.toPairs=Mu,zt.toPairsIn=Lu,zt.toPath=function(e){return Ha(e)?Fn(e,ji):su(e)?[e]:Po(Fi(yu(e)))},zt.toPlainObject=gu,zt.transform=function(e,n,t){var r=Ha(e),o=r||Ga(e)||lu(e);if(n=li(n,4),null==t){var i=e&&e.constructor;t=o?r?new i:[]:eu(e)&&$a(i)?Bt(We(e)):{}}return(o?Pn:kr)(e,(function(e,r,o){return n(t,e,r,o)})),t},zt.unary=function(e){return Ca(e,1)},zt.union=na,zt.unionBy=ta,zt.unionWith=ra,zt.uniq=function(e){return e&&e.length?co(e):[]},zt.uniqBy=function(e,n){return e&&e.length?co(e,li(n,2)):[]},zt.uniqWith=function(e,n){return n="function"==typeof n?n:o,e&&e.length?co(e,o,n):[]},zt.unset=function(e,n){return null==e||fo(e,n)},zt.unzip=oa,zt.unzipWith=ia,zt.update=function(e,n,t){return null==e?e:po(e,n,bo(t))},zt.updateWith=function(e,n,t,r){return r="function"==typeof r?r:o,null==e?e:po(e,n,bo(t),r)},zt.values=zu,zt.valuesIn=function(e){return null==e?[]:nt(e,Au(e))},zt.without=aa,zt.words=$u,zt.wrap=function(e,n){return ja(bo(n),e)},zt.xor=ua,zt.xorBy=sa,zt.xorWith=la,zt.zip=ca,zt.zipObject=function(e,n){return go(e||[],n||[],nr)},zt.zipObjectDeep=function(e,n){return go(e||[],n||[],Qr)},zt.zipWith=fa,zt.entries=Mu,zt.entriesIn=Lu,zt.extend=ku,zt.extendWith=wu,us(zt,zt),zt.add=gs,zt.attempt=Xu,zt.camelCase=Bu,zt.capitalize=Vu,zt.ceil=ys,zt.clamp=function(e,n,t){return t===o&&(t=n,n=o),t!==o&&(t=(t=mu(t))===t?t:0),n!==o&&(n=(n=mu(n))===n?n:0),ur(mu(e),n,t)},zt.clone=function(e){return sr(e,4)},zt.cloneDeep=function(e){return sr(e,5)},zt.cloneDeepWith=function(e,n){return sr(e,5,n="function"==typeof n?n:o)},zt.cloneWith=function(e,n){return sr(e,4,n="function"==typeof n?n:o)},zt.conformsTo=function(e,n){return null==n||lr(e,n,Nu(n))},zt.deburr=Uu,zt.defaultTo=function(e,n){return null==e||e!==e?n:e},zt.divide=bs,zt.endsWith=function(e,n,t){e=yu(e),n=lo(n);var r=e.length,i=t=t===o?r:ur(hu(t),0,r);return(t-=n.length)>=0&&e.slice(t,i)==n},zt.eq=za,zt.escape=function(e){return(e=yu(e))&&$.test(e)?e.replace(Y,at):e},zt.escapeRegExp=function(e){return(e=yu(e))&&ie.test(e)?e.replace(oe,"\\$&"):e},zt.every=function(e,n,t){var r=Ha(e)?An:hr;return t&&ki(e,n,t)&&(n=o),r(e,li(n,3))},zt.find=ma,zt.findIndex=Ui,zt.findKey=function(e,n){return Vn(e,li(n,3),kr)},zt.findLast=ga,zt.findLastIndex=Hi,zt.findLastKey=function(e,n){return Vn(e,li(n,3),wr)},zt.floor=ks,zt.forEach=ya,zt.forEachRight=ba,zt.forIn=function(e,n){return null==e?e:yr(e,li(n,3),Au)},zt.forInRight=function(e,n){return null==e?e:br(e,li(n,3),Au)},zt.forOwn=function(e,n){return e&&kr(e,li(n,3))},zt.forOwnRight=function(e,n){return e&&wr(e,li(n,3))},zt.get=_u,zt.gt=Ba,zt.gte=Va,zt.has=function(e,n){return null!=e&&mi(e,n,Cr)},zt.hasIn=Cu,zt.head=Wi,zt.identity=rs,zt.includes=function(e,n,t,r){e=Wa(e)?e:zu(e),t=t&&!r?hu(t):0;var o=e.length;return t<0&&(t=Yn(o+t,0)),uu(e)?t<=o&&e.indexOf(n,t)>-1:!!o&&Hn(e,n,t)>-1},zt.indexOf=function(e,n,t){var r=null==e?0:e.length;if(!r)return-1;var o=null==t?0:hu(t);return o<0&&(o=Yn(r+o,0)),Hn(e,n,o)},zt.inRange=function(e,n,t){return n=pu(n),t===o?(t=n,n=0):t=pu(t),function(e,n,t){return e>=bt(n,t)&&e=-9007199254740991&&e<=h},zt.isSet=au,zt.isString=uu,zt.isSymbol=su,zt.isTypedArray=lu,zt.isUndefined=function(e){return e===o},zt.isWeakMap=function(e){return nu(e)&&vi(e)==R},zt.isWeakSet=function(e){return nu(e)&&"[object WeakSet]"==Er(e)},zt.join=function(e,n){return null==e?"":wn.call(e,n)},zt.kebabCase=Hu,zt.last=Ki,zt.lastIndexOf=function(e,n,t){var r=null==e?0:e.length;if(!r)return-1;var i=r;return t!==o&&(i=(i=hu(t))<0?Yn(r+i,0):bt(i,r-1)),n===n?function(e,n,t){for(var r=t+1;r--;)if(e[r]===n)return r;return r}(e,n,i):Un(e,Wn,i,!0)},zt.lowerCase=qu,zt.lowerFirst=Wu,zt.lt=cu,zt.lte=fu,zt.max=function(e){return e&&e.length?vr(e,rs,_r):o},zt.maxBy=function(e,n){return e&&e.length?vr(e,li(n,2),_r):o},zt.mean=function(e){return Jn(e,rs)},zt.meanBy=function(e,n){return Jn(e,li(n,2))},zt.min=function(e){return e&&e.length?vr(e,rs,Mr):o},zt.minBy=function(e,n){return e&&e.length?vr(e,li(n,2),Mr):o},zt.stubArray=vs,zt.stubFalse=ms,zt.stubObject=function(){return{}},zt.stubString=function(){return""},zt.stubTrue=function(){return!0},zt.multiply=ws,zt.nth=function(e,n){return e&&e.length?Ur(e,hu(n)):o},zt.noConflict=function(){return mn._===this&&(mn._=ze),this},zt.noop=ss,zt.now=_a,zt.pad=function(e,n,t){e=yu(e);var r=(n=hu(n))?ht(e):0;if(!n||r>=n)return e;var o=(n-r)/2;return qo(vn(o),t)+e+qo(hn(o),t)},zt.padEnd=function(e,n,t){e=yu(e);var r=(n=hu(n))?ht(e):0;return n&&rn){var r=e;e=n,n=r}if(t||e%1||n%1){var i=xt();return bt(e+i*(n-e+dn("1e-"+((i+"").length-1))),n)}return Gr(e,n)},zt.reduce=function(e,n,t){var r=Ha(e)?Mn:Kn,o=arguments.length<3;return r(e,li(n,4),t,o,dr)},zt.reduceRight=function(e,n,t){var r=Ha(e)?Ln:Kn,o=arguments.length<3;return r(e,li(n,4),t,o,pr)},zt.repeat=function(e,n,t){return n=(t?ki(e,n,t):n===o)?1:hu(n),Yr(yu(e),n)},zt.replace=function(){var e=arguments,n=yu(e[0]);return e.length<3?n:n.replace(e[1],e[2])},zt.result=function(e,n,t){var r=-1,i=(n=ko(n,e)).length;for(i||(i=1,e=o);++rh)return[];var t=m,r=bt(e,m);n=li(n),e-=m;for(var o=Xn(r,n);++t=a)return e;var s=t-ht(r);if(s<1)return r;var l=u?xo(u,0,s).join(""):e.slice(0,s);if(i===o)return l+r;if(u&&(s+=l.length-s),iu(i)){if(e.slice(s).search(i)){var c,f=l;for(i.global||(i=Ce(i.source,yu(ve.exec(i))+"g")),i.lastIndex=0;c=i.exec(f);)var d=c.index;l=l.slice(0,d===o?s:d)}}else if(e.indexOf(lo(i),s)!=s){var p=l.lastIndexOf(i);p>-1&&(l=l.slice(0,p))}return l+r},zt.unescape=function(e){return(e=yu(e))&&K.test(e)?e.replace(G,gt):e},zt.uniqueId=function(e){var n=++Fe;return yu(e)+n},zt.upperCase=Yu,zt.upperFirst=Ku,zt.each=ya,zt.eachRight=ba,zt.first=Wi,us(zt,function(){var e={};return kr(zt,(function(n,t){De.call(zt.prototype,t)||(e[t]=n)})),e}(),{chain:!1}),zt.VERSION="4.17.21",Pn(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){zt[e].placeholder=zt})),Pn(["drop","take"],(function(e,n){Ht.prototype[e]=function(t){t=t===o?1:Yn(hu(t),0);var r=this.__filtered__&&!n?new Ht(this):this.clone();return r.__filtered__?r.__takeCount__=bt(t,r.__takeCount__):r.__views__.push({size:bt(t,m),type:e+(r.__dir__<0?"Right":"")}),r},Ht.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}})),Pn(["filter","map","takeWhile"],(function(e,n){var t=n+1,r=1==t||3==t;Ht.prototype[e]=function(e){var n=this.clone();return n.__iteratees__.push({iteratee:li(e,3),type:t}),n.__filtered__=n.__filtered__||r,n}})),Pn(["head","last"],(function(e,n){var t="take"+(n?"Right":"");Ht.prototype[e]=function(){return this[t](1).value()[0]}})),Pn(["initial","tail"],(function(e,n){var t="drop"+(n?"":"Right");Ht.prototype[e]=function(){return this.__filtered__?new Ht(this):this[t](1)}})),Ht.prototype.compact=function(){return this.filter(rs)},Ht.prototype.find=function(e){return this.filter(e).head()},Ht.prototype.findLast=function(e){return this.reverse().find(e)},Ht.prototype.invokeMap=Kr((function(e,n){return"function"==typeof e?new Ht(this):this.map((function(t){return Pr(t,e,n)}))})),Ht.prototype.reject=function(e){return this.filter(Da(li(e)))},Ht.prototype.slice=function(e,n){e=hu(e);var t=this;return t.__filtered__&&(e>0||n<0)?new Ht(t):(e<0?t=t.takeRight(-e):e&&(t=t.drop(e)),n!==o&&(t=(n=hu(n))<0?t.dropRight(-n):t.take(n-e)),t)},Ht.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ht.prototype.toArray=function(){return this.take(m)},kr(Ht.prototype,(function(e,n){var t=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),i=zt[r?"take"+("last"==n?"Right":""):n],a=r||/^find/.test(n);i&&(zt.prototype[n]=function(){var n=this.__wrapped__,u=r?[1]:arguments,s=n instanceof Ht,l=u[0],c=s||Ha(n),f=function(e){var n=i.apply(zt,jn([e],u));return r&&d?n[0]:n};c&&t&&"function"==typeof l&&1!=l.length&&(s=c=!1);var d=this.__chain__,p=!!this.__actions__.length,h=a&&!d,v=s&&!p;if(!a&&c){n=v?n:new Ht(this);var m=e.apply(n,u);return m.__actions__.push({func:pa,args:[f],thisArg:o}),new Ut(m,d)}return h&&v?e.apply(this,u):(m=this.thru(f),h?r?m.value()[0]:m.value():m)})})),Pn(["pop","push","shift","sort","splice","unshift"],(function(e){var n=Pe[e],t=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);zt.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(Ha(o)?o:[],e)}return this[t]((function(t){return n.apply(Ha(t)?t:[],e)}))}})),kr(Ht.prototype,(function(e,n){var t=zt[n];if(t){var r=t.name+"";De.call(Nt,r)||(Nt[r]=[]),Nt[r].push({name:n,func:t})}})),Nt[Bo(o,2).name]=[{name:"wrapper",func:o}],Ht.prototype.clone=function(){var e=new Ht(this.__wrapped__);return e.__actions__=Po(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Po(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Po(this.__views__),e},Ht.prototype.reverse=function(){if(this.__filtered__){var e=new Ht(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Ht.prototype.value=function(){var e=this.__wrapped__.value(),n=this.__dir__,t=Ha(e),r=n<0,o=t?e.length:0,i=function(e,n,t){var r=-1,o=t.length;for(;++r=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},zt.prototype.plant=function(e){for(var n,t=this;t instanceof Vt;){var r=Li(t);r.__index__=0,r.__values__=o,n?i.__wrapped__=r:n=r;var i=r;t=t.__wrapped__}return i.__wrapped__=e,n},zt.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Ht){var n=e;return this.__actions__.length&&(n=new Ht(this)),(n=n.reverse()).__actions__.push({func:pa,args:[ea],thisArg:o}),new Ut(n,this.__chain__)}return this.thru(ea)},zt.prototype.toJSON=zt.prototype.valueOf=zt.prototype.value=function(){return vo(this.__wrapped__,this.__actions__)},zt.prototype.first=zt.prototype.head,$e&&(zt.prototype[$e]=function(){return this}),zt}();mn._=yt,(r=function(){return yt}.call(n,t,n,e))===o||(e.exports=r)}.call(this)},4463:function(e,n,t){"use strict";var r=t(2791),o=t(5296);function i(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t