diff --git a/assets/elemental/elemental-1.3.0.tgz b/assets/elemental/elemental-1.3.0.tgz new file mode 100644 index 0000000..095e424 Binary files /dev/null and b/assets/elemental/elemental-1.3.0.tgz differ diff --git a/charts/elemental/1.3.0/Chart.yaml b/charts/elemental/1.3.0/Chart.yaml new file mode 100644 index 0000000..b2cae31 --- /dev/null +++ b/charts/elemental/1.3.0/Chart.yaml @@ -0,0 +1,18 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/kube-version: '>= 1.16.0-0' + catalog.cattle.io/namespace: cattle-ui-plugin-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux, windows + catalog.cattle.io/rancher-version: '>= 2.7.0-0' + catalog.cattle.io/scope: management + catalog.cattle.io/ui-component: plugins + catalog.cattle.io/ui-version: '>= 2.7.2' +apiVersion: v2 +appVersion: 1.3.0 +description: OS Management extension +name: elemental +type: application +version: 1.3.0 +icon: >- + https://raw.githubusercontent.com/rancher/ui-plugin-charts/main/icons/elemental/1.3.0-icon-v2.svg diff --git a/charts/elemental/1.3.0/README.md b/charts/elemental/1.3.0/README.md new file mode 100644 index 0000000..05436b1 --- /dev/null +++ b/charts/elemental/1.3.0/README.md @@ -0,0 +1,15 @@ +# OS Management Extension + +Adds support for OS Management to Rancher Manager through Elemental. + + +Elemental is a software stack enabling a centralized, full cloud-native OS management with Kubernetes. + +Cluster Node OSes are built and maintained via container images through the Elemental Toolkit and installed on new hosts using the Elemental CLI. + +The Elemental Operator and the Rancher System Agent enable Rancher Manager to fully control Elemental clusters, from the installation and management of the OS on the Nodes to the provisioning of new K3s or RKE2 clusters in a centralized way. + +For more details take a look at the documentation regarding [Elemental](https://elemental.docs.rancher.com/). + + +**IMPORTANT NOTE**: In order to have access to OS Management in Rancher Manager, installation of the Elemental Operator is required. Instructions for installing it can be found [here](https://elemental.docs.rancher.com/quickstart-cli#install-elemental-operator). \ No newline at end of file diff --git a/charts/elemental/1.3.0/templates/_helpers.tpl b/charts/elemental/1.3.0/templates/_helpers.tpl new file mode 100644 index 0000000..bd2ec19 --- /dev/null +++ b/charts/elemental/1.3.0/templates/_helpers.tpl @@ -0,0 +1,52 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "extension-server.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "extension-server.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "extension-server.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "extension-server.labels" -}} +helm.sh/chart: {{ include "extension-server.chart" . }} +{{ include "extension-server.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "extension-server.selectorLabels" -}} +app.kubernetes.io/name: {{ include "extension-server.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} diff --git a/charts/elemental/1.3.0/templates/cr.yaml b/charts/elemental/1.3.0/templates/cr.yaml new file mode 100644 index 0000000..6781bab --- /dev/null +++ b/charts/elemental/1.3.0/templates/cr.yaml @@ -0,0 +1,12 @@ +apiVersion: catalog.cattle.io/v1 +kind: UIPlugin +metadata: + name: {{ include "extension-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{ include "extension-server.labels" . | nindent 4 }} +spec: + plugin: + name: {{ include "extension-server.fullname" . }} + version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }} + endpoint: https://raw.githubusercontent.com/rancher/ui-plugin-charts/main/extensions/elemental/1.3.0 + noCache: {{ .Values.plugin.noCache }} diff --git a/charts/elemental/1.3.0/values.yaml b/charts/elemental/1.3.0/values.yaml new file mode 100644 index 0000000..9cc1bd5 --- /dev/null +++ b/charts/elemental/1.3.0/values.yaml @@ -0,0 +1,6 @@ +nameOverride: "" +fullnameOverride: "" +plugin: + enabled: true + versionOverride: "" + noCache: false diff --git a/extensions/elemental/1.3.0/files.txt b/extensions/elemental/1.3.0/files.txt new file mode 100644 index 0000000..876ba91 --- /dev/null +++ b/extensions/elemental/1.3.0/files.txt @@ -0,0 +1,19 @@ +plugin/elemental-1.3.0.umd.min.7.js +plugin/elemental-1.3.0.umd.min.7.js.map +plugin/elemental-1.3.0.umd.min.8.js +plugin/elemental-1.3.0.umd.min.8.js.map +plugin/elemental-1.3.0.umd.min.detail.js +plugin/elemental-1.3.0.umd.min.detail.js.map +plugin/elemental-1.3.0.umd.min.edit.js +plugin/elemental-1.3.0.umd.min.edit.js.map +plugin/elemental-1.3.0.umd.min.js +plugin/elemental-1.3.0.umd.min.js.map +plugin/elemental-1.3.0.umd.min.machine-config.js +plugin/elemental-1.3.0.umd.min.machine-config.js.map +plugin/elemental-1.3.0.umd.min.vendors~detail~edit.js +plugin/elemental-1.3.0.umd.min.vendors~detail~edit.js.map +plugin/elemental-1.3.0.umd.min.vendors~edit.js +plugin/elemental-1.3.0.umd.min.vendors~edit.js.map +plugin/elemental-1.3.0.umd.min.vendors~machine-config.js +plugin/elemental-1.3.0.umd.min.vendors~machine-config.js.map +plugin/package.json diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.7.js b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.7.js new file mode 100644 index 0000000..f076d17 --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.7.js @@ -0,0 +1,2 @@ +(("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]=("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]||[]).push([[7],{"7ada":function(e,t,n){(function(n){var o,a,i;(function(n,r){a=[],o=r,i="function"===typeof o?o.apply(t,a):o,void 0===i||(e.exports=i)})(0,(function(){"use strict";function t(e,t){return"undefined"==typeof t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}function o(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){c(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function a(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(o){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var r="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n&&n.global===n?n:void 0,c=r.saveAs||("object"!=typeof window||window!==r?function(){}:"download"in HTMLAnchorElement.prototype?function(e,t,n){var c=r.URL||r.webkitURL,s=document.createElement("a");t=t||e.name||"download",s.download=t,s.rel="noopener","string"==typeof e?(s.href=e,s.origin===location.origin?i(s):a(s.href)?o(e,t,n):i(s,s.target="_blank")):(s.href=c.createObjectURL(e),setTimeout((function(){c.revokeObjectURL(s.href)}),4e4),setTimeout((function(){i(s)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,n,r){if(n=n||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(t(e,r),n);else if(a(e))o(e,n,r);else{var c=document.createElement("a");c.href=e,c.target="_blank",setTimeout((function(){i(c)}))}}:function(e,t,n,a){if(a=a||open("","_blank"),a&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return o(e,t,n);var i="application/octet-stream"===e.type,c=/constructor/i.test(r.HTMLElement)||r.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||i&&c)&&"object"==typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},l.readAsDataURL(e)}else{var f=r.URL||r.webkitURL,u=f.createObjectURL(e);a?a.location=u:location.href=u,a=null,setTimeout((function(){f.revokeObjectURL(u)}),4e4)}});r.saveAs=c.saveAs=c,e.exports=c}))}).call(this,n("7d15"))}}]); +//# sourceMappingURL=elemental-1.3.0.umd.min.7.js.map \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.7.js.map b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.7.js.map new file mode 100644 index 0000000..cc22833 --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.7.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/file-saver/dist/FileSaver.min.js"],"names":["this","b","a","autoBom","console","warn","test","type","Blob","c","d","e","XMLHttpRequest","open","responseType","onload","response","onerror","error","send","status","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","saveAs","HTMLAnchorElement","prototype","g","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","navigator","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","userAgent","FileReader","onloadend","result","replace","readAsDataURL","k","l","module","exports"],"mappings":"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","file":"elemental-1.3.0.umd.min.7.js","sourcesContent":["(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open(\"GET\",b),e.responseType=\"blob\",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error(\"could not download file\")},e.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(a,b,d,e){if(e=e||open(\"\",\"_blank\"),e&&(e.document.title=e.document.body.innerText=\"downloading...\"),\"string\"==typeof a)return c(a,b,d);var g=\"application/octet-stream\"===a.type,h=/constructor/i.test(f.HTMLElement)||f.safari,i=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((i||g&&h)&&\"object\"==typeof FileReader){var j=new FileReader;j.onloadend=function(){var a=j.result;a=i?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),e?e.location.href=a:location=a,e=null},j.readAsDataURL(a)}else{var k=f.URL||f.webkitURL,l=k.createObjectURL(a);e?e.location=l:location.href=l,e=null,setTimeout(function(){k.revokeObjectURL(l)},4E4)}});f.saveAs=a.saveAs=a,\"undefined\"!=typeof module&&(module.exports=a)});\n\n//# sourceMappingURL=FileSaver.min.js.map"],"sourceRoot":""} \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.8.js b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.8.js new file mode 100644 index 0000000..4de0d9b --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.8.js @@ -0,0 +1,2 @@ +(("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]=("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]||[]).push([[8],{"1bb6":function(e,n){const a=[{product:{elemental:"OS Management",description:"Elemental is a software stack enabling a centralized, full cloud-native OS management with Kubernetes.

Cluster Node OSes are built and maintained via container images through the Elemental Toolkit and installed on new hosts using the Elemental CLI.

The Elemental Operator and the Rancher System Agent enable Rancher Manager to fully control Elemental clusters, from the installation and management of the OS on the Nodes to the provisioning of new K3s or RKE2 clusters in a centralized way.",notInstalledOrNoSchema:"Either the user doesn't have enough permissions to run the OS Management extension or the Elemental Operator is not installed (required to run the OS Management extension).

For user permissions, check with your Rancher administrator if the correct role is assigned. To install Elemental Operator please click the button below.",notInstalledHasSchema:'The Elemental Operator is required to run the OS Management extension. To install it please follow the instructions on the official documentation.'},nav:{group:{"elemental.cattle.io":"OS Management"}},cluster:{provider:{machineinventoryselectortemplate:"Elemental"}},tableHeaders:{osImage:"OS Image",token:"Token",downloadTableDashboard:"",download:"Download",imagePath:"Image Path",osVersion:"OS Version",osVersionType:"Type",osVersionChannel:"OS Version Channel",channelImage:"Channel Image",targetClusters:"Target Clusters"},typeLabel:{elemental:"{count, plural,\n one {Elemental Cluster}\n other {Elemental Clusters}\n}","elemental.cattle.io.machineinventoryselectortemplate":"{count, plural,\n one {Inv. of Mach. Selec. Template}\n other {Inv. of Mach. Selec. Templates}\n}","elemental.cattle.io.machineinventoryselector":"{count, plural,\n one {Inv. of Mach. Selector}\n other {Inv. of Mach. Selectors}\n}","elemental.cattle.io.machineinventory":"{count, plural,\n one {Inventory of Machines}\n other {Inventory of Machines}\n}","elemental.cattle.io.machineregistration":"{count, plural,\n one {Registration Endpoint}\n other {Registration Endpoints}\n}","elemental.cattle.io.managedosimage":"{count, plural,\n one {Update Group}\n other {Update Groups}\n}","elemental.cattle.io.managedosversionchannel":"{count, plural,\n one {OS Version Channel}\n other {OS Version Channels}\n}","elemental.cattle.io.managedosversion":"{count, plural,\n one {OS Version}\n other {OS Versions}\n}","elemental.cattle.io.seedimage":"{count, plural,\n one {Seed Image}\n other {Seed Images}\n}",elementalClusters:"Clusters"},asyncButton:{elementalRepository:{action:"Add Elemental Repository",success:"Added",waiting:"Adding…"},downloadMachineReg:{action:"Download Configuration File",waiting:"Preparing..",success:"Download Configuration File"},buildMedia:{action:"Build Media",waiting:"Building Media...",error:"Build Media error",waitingIcon:"gear",success:"Media built!"}},description:{"elemental.cattle.io.machineregistration":"Endpoints to connect Machines","elemental.cattle.io.machineinventory":"Machine connected to Elemental","elemental.cattle.io.managedosimage":"Containerized OS Images for Machines",elementalClusters:"Clusters managed by Elemental"},elemental:{appInstall:{button:"Install Elemental Operator",reload:"Unable to fetch Elemental Operator Helm chart - reload required"},versionError:{title:"Chart Version not found.",message:"Unable to determine the latest stable version of the elemental chart. Please make sure the Helm repository"},menuLabels:{dashboard:"Dashboard",titleDashboard:"OS Management Dashboard",operations:"Operations",machineInventories:"Inventory of Machines"},dashboard:{manageReg:"Manage Registration Endpoints",manageOsImageUpgrade:"Manage Update Groups",noMachineReg:"There are currently no Registration Endpoints available",noMachineRegAction:"Create a Registration Endpoint",noManageOs:"There are currently no Update Groups available",noManageOsAction:"Create an Update Group",regEndpointPlaceholder:"Select Registration Endpoint",used:"Used",free:"Free",btnLabel:{create:{"elemental.cattle.io.machineregistration":"Create Registration Endpoint","elemental.cattle.io.machineinventory":"Create Inventory of Machines","elemental.cattle.io.managedosimage":"Create Managed OS Image",elementalClusters:"Create Elemental Cluster"},manage:{"elemental.cattle.io.machineregistration":"Manage Registration Endpoints",elementalClusters:"Manage Elemental Clusters"}}},osimage:{create:{configuration:"Configuration",spec:"Spec",name:{label:"Name",placeholder:"Enter a name"},targetCluster:{label:"Target Cluster",placeholder:"Enter a target cluster name"},radioOptions:{osImages:"Use Managed OS Version",registry:"Use image from registry"},osImage:{label:"Image path",placeholder:"Enter an OS image path"},managedOsImage:{label:"Managed OS Version",placeholder:"Select a Managed OS Version",channel:"OS Channel - { name }"}}},machineRegistration:{validation:{machineInventoryLabelKeyLength:"One of the labels for Inventory of Machines has a key that exceeds the 63 characters limit. Please shorten the length of the label key.",machineInventoryLabelKeyPrefixLength:"One of the labels for Inventory of Machines has a key prefix that exceeds the 253 characters limit. Please shorten the length of the label key prefix.",machineInventoryLabelKeyNameLength:"One of the labels for Inventory of Machines has a key name that exceeds the 63 characters limit. Please shorten the length of the label key name.",machineInventoryLabelValueLength:"One of the labels for Inventory of Machines has a value that exceeds the 63 characters limit. Please shorten the length of the label value."},edit:{imageSetup:"Setting up an OS image",downloadMachineRegistrationFile:'Download the Registration Endpoint Configuration file in order to manually prepare your ISO image. Instructions here.',buildMediaTitle:"Create OS image",osVersion:"OS Version",osVersionPlaceholder:"Select OS Version",mediaType:"Media Type",mediaTypePlaceholder:"Select Media Type",downloadMedia:"Download Media"},create:{registrationToken:"Registration Token",registrationURL:{title:"Registration URL (ends with registration token)",label:"Registration URL"},configuration:"Configuration",cloudConfiguration:"Cloud Configuration",labelsAndAnnotations:"Labels And Annotations",labelsAndAnnotationsMachInvBanner:'Labels and annotations to be added to the Inventory of Machines resource when a new machine is registered. These can be used to select the correct Inventory of Machines when creating clusters and also can be used as templates using SMBIOS data.
For reference on SMBIOS data check the official documentation.',labelsAndAnnotationsMachRegBanner:"Labels and annotations for the Registration Endpoint resource about to be created/edited.",readFromFile:"Read from File",name:{label:"Name",placeholder:"Enter a name"},machineReg:"Registration Endpoint",machineInv:"Inventory of Machines"}},clusterGroup:{selector:{label:"Inventory of Machines Selector Template",matchesAll:"Matches all {total, number} existing Inventory of Machines",matchesNone:"Matches no existing Inventory of Machines",matchesSome:'{matched, plural,\n =1 {Matches 1 of {total, number} existing Inventory of Machines: "{sample}"}\n other {Matches {matched, number} of {total, number} existing Inventory of Machines, including "{sample}"}\n}'}},machineInventory:{createCluster:"Create Elemental Cluster",import:"YAML import",updateForCreateClusterError:"Error updating Inventory of Machines with label for creating a cluster"},osversionchannels:{create:{configuration:"Configuration",spec:"Spec",registryUri:{label:"Image registry path",placeholder:"Enter an image registry path"}}}}}];e.exports=a.length<=1?a[0]:a}}]); +//# sourceMappingURL=elemental-1.3.0.umd.min.8.js.map \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.8.js.map b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.8.js.map new file mode 100644 index 0000000..b2f83e4 --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.8.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://elemental-1.3.0/./l10n/en-us.yaml"],"names":["doc","module","exports","length"],"mappings":"gLAAA,MAAMA,EAAM,CAAC,CAAE,QAAU,CAAE,UAAY,gBAAiB,YAAc,+fAAggB,uBAAyB,kVAAmV,sBAAwB,wSAAkT,IAAM,CAAE,MAAQ,CAAE,sBAAsB,kBAAqB,QAAU,CAAE,SAAW,CAAE,iCAAmC,cAAiB,aAAe,CAAE,QAAU,WAAY,MAAQ,QAAS,uBAAyB,GAAI,SAAW,WAAY,UAAY,aAAc,UAAY,aAAc,cAAgB,OAAQ,iBAAmB,qBAAsB,aAAe,gBAAiB,eAAiB,mBAAqB,UAAY,CAAE,UAAY,8EAA+E,uDAAuD,sGAAuG,+CAA+C,wFAAyF,uCAAuC,qFAAsF,0CAA0C,sFAAuF,qCAAqC,oEAAqE,8CAA8C,gFAAiF,uCAAuC,gEAAiE,gCAAgC,gEAAiE,kBAAoB,YAAc,YAAc,CAAE,oBAAsB,CAAE,OAAS,2BAA4B,QAAU,QAAS,QAAU,kBAAoB,mBAAqB,CAAE,OAAS,8BAA+B,QAAU,cAAe,QAAU,+BAAiC,WAAa,CAAE,OAAS,cAAe,QAAU,oBAAqB,MAAQ,oBAAqB,YAAc,OAAQ,QAAU,iBAAoB,YAAc,CAAE,0CAA0C,gCAAiC,uCAAuC,iCAAkC,qCAAqC,uCAAwC,kBAAoB,iCAAmC,UAAY,CAAE,WAAa,CAAE,OAAS,6BAA8B,OAAS,mEAAqE,aAAe,CAAE,MAAQ,2BAA4B,QAAU,8GAAgH,WAAa,CAAE,UAAY,YAAa,eAAiB,0BAA2B,WAAa,aAAc,mBAAqB,yBAA2B,UAAY,CAAE,UAAY,gCAAiC,qBAAuB,uBAAwB,aAAe,0DAA2D,mBAAqB,iCAAkC,WAAa,iDAAkD,iBAAmB,yBAA0B,uBAAyB,+BAAgC,KAAO,OAAQ,KAAO,OAAQ,SAAW,CAAE,OAAS,CAAE,0CAA0C,+BAAgC,uCAAuC,+BAAgC,qCAAqC,0BAA2B,kBAAoB,4BAA8B,OAAS,CAAE,0CAA0C,gCAAiC,kBAAoB,+BAAmC,QAAU,CAAE,OAAS,CAAE,cAAgB,gBAAiB,KAAO,OAAQ,KAAO,CAAE,MAAQ,OAAQ,YAAc,gBAAkB,cAAgB,CAAE,MAAQ,iBAAkB,YAAc,+BAAiC,aAAe,CAAE,SAAW,yBAA0B,SAAW,2BAA6B,QAAU,CAAE,MAAQ,aAAc,YAAc,0BAA4B,eAAiB,CAAE,MAAQ,qBAAsB,YAAc,8BAA+B,QAAU,2BAA+B,oBAAsB,CAAE,WAAa,CAAE,+BAAiC,0IAA2I,qCAAuC,yJAA0J,mCAAqC,oJAAqJ,iCAAmC,+IAAiJ,KAAO,CAAE,WAAa,yBAA0B,gCAAkC,2QAAoR,gBAAkB,kBAAmB,UAAY,aAAc,qBAAuB,oBAAqB,UAAY,aAAc,qBAAuB,oBAAqB,cAAgB,kBAAoB,OAAS,CAAE,kBAAoB,qBAAsB,gBAAkB,CAAE,MAAQ,kDAAmD,MAAQ,oBAAsB,cAAgB,gBAAiB,mBAAqB,sBAAuB,qBAAuB,yBAA0B,kCAAoC,udAAge,kCAAoC,mGAAoG,aAAe,iBAAkB,KAAO,CAAE,MAAQ,OAAQ,YAAc,gBAAkB,WAAa,wBAAyB,WAAa,0BAA6B,aAAe,CAAE,SAAW,CAAE,MAAQ,0CAA2C,WAAa,6DAA8D,YAAc,4CAA6C,YAAc,sNAA6N,iBAAmB,CAAE,cAAgB,2BAA4B,OAAS,cAAe,4BAA8B,0EAA4E,kBAAoB,CAAE,OAAS,CAAE,cAAgB,gBAAiB,KAAO,OAAQ,YAAc,CAAE,MAAQ,sBAAuB,YAAc,qCACt7QC,EAAOC,QAAUF,EAAIG,QAAU,EAAIH,EAAI,GAAKA","file":"elemental-1.3.0.umd.min.8.js","sourcesContent":["const doc = [({\"product\":({\"elemental\":\"OS Management\", \"description\":\"Elemental is a software stack enabling a centralized, full cloud-native OS management with Kubernetes.

Cluster Node OSes are built and maintained via container images through the Elemental Toolkit and installed on new hosts using the Elemental CLI.

The Elemental Operator and the Rancher System Agent enable Rancher Manager to fully control Elemental clusters, from the installation and management of the OS on the Nodes to the provisioning of new K3s or RKE2 clusters in a centralized way.\", \"notInstalledOrNoSchema\":\"Either the user doesn't have enough permissions to run the OS Management extension or the Elemental Operator is not installed (required to run the OS Management extension).

For user permissions, check with your Rancher administrator if the correct role is assigned. To install Elemental Operator please click the button below.\", \"notInstalledHasSchema\":\"The Elemental Operator is required to run the OS Management extension. To install it please follow the instructions on the official documentation.\"}), \"nav\":({\"group\":({\"elemental.cattle.io\":\"OS Management\"})}), \"cluster\":({\"provider\":({\"machineinventoryselectortemplate\":\"Elemental\"})}), \"tableHeaders\":({\"osImage\":\"OS Image\", \"token\":\"Token\", \"downloadTableDashboard\":\"\", \"download\":\"Download\", \"imagePath\":\"Image Path\", \"osVersion\":\"OS Version\", \"osVersionType\":\"Type\", \"osVersionChannel\":\"OS Version Channel\", \"channelImage\":\"Channel Image\", \"targetClusters\":\"Target Clusters\"}), \"typeLabel\":({\"elemental\":\"{count, plural,\\n one {Elemental Cluster}\\n other {Elemental Clusters}\\n}\", \"elemental.cattle.io.machineinventoryselectortemplate\":\"{count, plural,\\n one {Inv. of Mach. Selec. Template}\\n other {Inv. of Mach. Selec. Templates}\\n}\", \"elemental.cattle.io.machineinventoryselector\":\"{count, plural,\\n one {Inv. of Mach. Selector}\\n other {Inv. of Mach. Selectors}\\n}\", \"elemental.cattle.io.machineinventory\":\"{count, plural,\\n one {Inventory of Machines}\\n other {Inventory of Machines}\\n}\", \"elemental.cattle.io.machineregistration\":\"{count, plural,\\n one {Registration Endpoint}\\n other {Registration Endpoints}\\n}\", \"elemental.cattle.io.managedosimage\":\"{count, plural,\\n one {Update Group}\\n other {Update Groups}\\n}\", \"elemental.cattle.io.managedosversionchannel\":\"{count, plural,\\n one {OS Version Channel}\\n other {OS Version Channels}\\n}\", \"elemental.cattle.io.managedosversion\":\"{count, plural,\\n one {OS Version}\\n other {OS Versions}\\n}\", \"elemental.cattle.io.seedimage\":\"{count, plural,\\n one {Seed Image}\\n other {Seed Images}\\n}\", \"elementalClusters\":\"Clusters\"}), \"asyncButton\":({\"elementalRepository\":({\"action\":\"Add Elemental Repository\", \"success\":\"Added\", \"waiting\":\"Adding…\"}), \"downloadMachineReg\":({\"action\":\"Download Configuration File\", \"waiting\":\"Preparing..\", \"success\":\"Download Configuration File\"}), \"buildMedia\":({\"action\":\"Build Media\", \"waiting\":\"Building Media...\", \"error\":\"Build Media error\", \"waitingIcon\":\"gear\", \"success\":\"Media built!\"})}), \"description\":({\"elemental.cattle.io.machineregistration\":\"Endpoints to connect Machines\", \"elemental.cattle.io.machineinventory\":\"Machine connected to Elemental\", \"elemental.cattle.io.managedosimage\":\"Containerized OS Images for Machines\", \"elementalClusters\":\"Clusters managed by Elemental\"}), \"elemental\":({\"appInstall\":({\"button\":\"Install Elemental Operator\", \"reload\":\"Unable to fetch Elemental Operator Helm chart - reload required\"}), \"versionError\":({\"title\":\"Chart Version not found.\", \"message\":\"Unable to determine the latest stable version of the elemental chart. Please make sure the Helm repository\"}), \"menuLabels\":({\"dashboard\":\"Dashboard\", \"titleDashboard\":\"OS Management Dashboard\", \"operations\":\"Operations\", \"machineInventories\":\"Inventory of Machines\"}), \"dashboard\":({\"manageReg\":\"Manage Registration Endpoints\", \"manageOsImageUpgrade\":\"Manage Update Groups\", \"noMachineReg\":\"There are currently no Registration Endpoints available\", \"noMachineRegAction\":\"Create a Registration Endpoint\", \"noManageOs\":\"There are currently no Update Groups available\", \"noManageOsAction\":\"Create an Update Group\", \"regEndpointPlaceholder\":\"Select Registration Endpoint\", \"used\":\"Used\", \"free\":\"Free\", \"btnLabel\":({\"create\":({\"elemental.cattle.io.machineregistration\":\"Create Registration Endpoint\", \"elemental.cattle.io.machineinventory\":\"Create Inventory of Machines\", \"elemental.cattle.io.managedosimage\":\"Create Managed OS Image\", \"elementalClusters\":\"Create Elemental Cluster\"}), \"manage\":({\"elemental.cattle.io.machineregistration\":\"Manage Registration Endpoints\", \"elementalClusters\":\"Manage Elemental Clusters\"})})}), \"osimage\":({\"create\":({\"configuration\":\"Configuration\", \"spec\":\"Spec\", \"name\":({\"label\":\"Name\", \"placeholder\":\"Enter a name\"}), \"targetCluster\":({\"label\":\"Target Cluster\", \"placeholder\":\"Enter a target cluster name\"}), \"radioOptions\":({\"osImages\":\"Use Managed OS Version\", \"registry\":\"Use image from registry\"}), \"osImage\":({\"label\":\"Image path\", \"placeholder\":\"Enter an OS image path\"}), \"managedOsImage\":({\"label\":\"Managed OS Version\", \"placeholder\":\"Select a Managed OS Version\", \"channel\":\"OS Channel - { name }\"})})}), \"machineRegistration\":({\"validation\":({\"machineInventoryLabelKeyLength\":\"One of the labels for Inventory of Machines has a key that exceeds the 63 characters limit. Please shorten the length of the label key.\", \"machineInventoryLabelKeyPrefixLength\":\"One of the labels for Inventory of Machines has a key prefix that exceeds the 253 characters limit. Please shorten the length of the label key prefix.\", \"machineInventoryLabelKeyNameLength\":\"One of the labels for Inventory of Machines has a key name that exceeds the 63 characters limit. Please shorten the length of the label key name.\", \"machineInventoryLabelValueLength\":\"One of the labels for Inventory of Machines has a value that exceeds the 63 characters limit. Please shorten the length of the label value.\"}), \"edit\":({\"imageSetup\":\"Setting up an OS image\", \"downloadMachineRegistrationFile\":\"Download the Registration Endpoint Configuration file in order to manually prepare your ISO image. Instructions here.\", \"buildMediaTitle\":\"Create OS image\", \"osVersion\":\"OS Version\", \"osVersionPlaceholder\":\"Select OS Version\", \"mediaType\":\"Media Type\", \"mediaTypePlaceholder\":\"Select Media Type\", \"downloadMedia\":\"Download Media\"}), \"create\":({\"registrationToken\":\"Registration Token\", \"registrationURL\":({\"title\":\"Registration URL (ends with registration token)\", \"label\":\"Registration URL\"}), \"configuration\":\"Configuration\", \"cloudConfiguration\":\"Cloud Configuration\", \"labelsAndAnnotations\":\"Labels And Annotations\", \"labelsAndAnnotationsMachInvBanner\":\"Labels and annotations to be added to the Inventory of Machines resource when a new machine is registered. These can be used to select the correct Inventory of Machines when creating clusters and also can be used as templates using SMBIOS data.
For reference on SMBIOS data check the official documentation.\", \"labelsAndAnnotationsMachRegBanner\":\"Labels and annotations for the Registration Endpoint resource about to be created/edited.\", \"readFromFile\":\"Read from File\", \"name\":({\"label\":\"Name\", \"placeholder\":\"Enter a name\"}), \"machineReg\":\"Registration Endpoint\", \"machineInv\":\"Inventory of Machines\"})}), \"clusterGroup\":({\"selector\":({\"label\":\"Inventory of Machines Selector Template\", \"matchesAll\":\"Matches all {total, number} existing Inventory of Machines\", \"matchesNone\":\"Matches no existing Inventory of Machines\", \"matchesSome\":\"{matched, plural,\\n =1 {Matches 1 of {total, number} existing Inventory of Machines: \\\"{sample}\\\"}\\n other {Matches {matched, number} of {total, number} existing Inventory of Machines, including \\\"{sample}\\\"}\\n}\"})}), \"machineInventory\":({\"createCluster\":\"Create Elemental Cluster\", \"import\":\"YAML import\", \"updateForCreateClusterError\":\"Error updating Inventory of Machines with label for creating a cluster\"}), \"osversionchannels\":({\"create\":({\"configuration\":\"Configuration\", \"spec\":\"Spec\", \"registryUri\":({\"label\":\"Image registry path\", \"placeholder\":\"Enter an image registry path\"})})})})})];\nmodule.exports = doc.length <= 1 ? doc[0] : doc;"],"sourceRoot":""} \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.detail.js b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.detail.js new file mode 100644 index 0000000..877e5db --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.detail.js @@ -0,0 +1,2 @@ +(("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]=("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]||[]).push([[1],{"1e4c":function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return e.value?t("CruResource",{attrs:{"done-route":e.doneRoute,"can-yaml":!0,mode:e.mode,resource:e.value,errors:e.errors},on:{error:t=>e.errors=t,finish:e.save,cancel:e.done}},[t("div",{staticClass:"row mt-40 mb-40"},[t("div",{staticClass:"col span-8"},[t("h3",[e._v(e._s(e.t("elemental.machineRegistration.create.registrationURL.title")))]),t("DetailText",{directives:[{name:"show",rawName:"v-show",value:e.registrationUrl,expression:"registrationUrl"}],attrs:{"data-testid":"registration-url",value:e.registrationUrl,label:e.t("elemental.machineRegistration.create.registrationURL.label")}})],1)]),t("div",[t("BuildMedia",{attrs:{"display-reg-endpoints":!1,"registration-endpoint":`${e.value.metadata.namespace}/${e.value.metadata.name}`}})],1),t("div",{staticClass:"row mb-40 mt-30"},[t("div",{staticClass:"col span-12"},[t("h3",[e._v(e._s(e.t("elemental.machineRegistration.edit.imageSetup")))]),t("p",{directives:[{name:"clean-html",rawName:"v-clean-html",value:e.t("elemental.machineRegistration.edit.downloadMachineRegistrationFile",{},!0),expression:"t('elemental.machineRegistration.edit.downloadMachineRegistrationFile', {}, true)"}]}),t("AsyncButton",{staticClass:"mt-10",attrs:{mode:"downloadMachineReg","data-testid":"download-btn"},on:{click:e.download}})],1)]),t("div",{staticClass:"row mb-20"},[t("div",{staticClass:"col span-6"},[t("h3",[e._v(e._s(e.t("elemental.machineRegistration.create.cloudConfiguration")))]),t("YamlEditor",{ref:"yamleditor",staticClass:"mb-20",attrs:{"editor-mode":e.editorMode},model:{value:e.cloudConfig,callback:function(t){e.cloudConfig=t},expression:"cloudConfig"}})],1)])]):t("Loading")},s=[],o=a("15ca"),r=a("fd5f"),n=a("305c"),l=a("870a"),d=a("edb9"),c=a("d709"),u=a("7838"),m=a.n(u),h=a("c5e6"),v=a("da25"),f=a("3e9d"),p=a("649f"),g={name:"MachineRegistrationDetailView",components:{Loading:o["a"],CruResource:r["a"],YamlEditor:l["b"],DetailText:d["a"],AsyncButton:c["b"],BuildMedia:p["a"]},mixins:[n["a"]],props:{value:{type:Object,required:!0},mode:{type:String,required:!0}},data(){return{cloudConfig:"string"===typeof this.value.spec?this.value.spec:Object(h["d"])(this.value.spec),yamlErrors:null}},watch:{cloudConfig:{handler(e){try{const t=m.a.load(e);this.value.spec=t,this.yamlErrors=null}catch(t){this.yamlErrors=Object(f["c"])(t)}},immediate:!0}},computed:{registrationUrl(){var e;return(null===(e=this.value)||void 0===e||null===(e=e.status)||void 0===e?void 0:e.registrationURL)||""},isCreate(){return this.mode===v["q"]},isView(){return this.mode!==v["q"]&&this.mode!==v["s"]},editorMode(){return this.isView?l["a"].VIEW_CODE:l["a"].EDIT_CODE}},methods:{async download(e){try{await this.value.downloadMachineRegistration(),e(!0)}catch(f){e(!1)}}}},w=g,C=(a("6ff9"),a("d802")),y=Object(C["a"])(w,i,s,!1,null,"27c7cd6c",null);t["default"]=y.exports},"6ff9":function(e,t,a){"use strict";a("7eec")},"7eec":function(e,t,a){var i=a("eeda");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("5157f308",i,!0,{sourceMap:!1,shadowMode:!1})},eeda:function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".flex[data-v-27c7cd6c]{display:flex}",""]),e.exports=t}}]); +//# sourceMappingURL=elemental-1.3.0.umd.min.detail.js.map \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.detail.js.map b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.detail.js.map new file mode 100644 index 0000000..f759b74 --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.detail.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://elemental-1.3.0/./detail/elemental.cattle.io.machineregistration.vue","webpack://elemental-1.3.0/detail/elemental.cattle.io.machineregistration.vue","webpack://elemental-1.3.0/./detail/elemental.cattle.io.machineregistration.vue?ec46","webpack://elemental-1.3.0/./detail/elemental.cattle.io.machineregistration.vue?bcbc","webpack://elemental-1.3.0/./detail/elemental.cattle.io.machineregistration.vue?8154","webpack://elemental-1.3.0/./detail/elemental.cattle.io.machineregistration.vue?e029","webpack://elemental-1.3.0/./detail/elemental.cattle.io.machineregistration.vue?0b41"],"names":["render","_vm","this","_c","_self","value","attrs","doneRoute","mode","errors","on","e","save","done","staticClass","_v","_s","t","directives","name","rawName","registrationUrl","expression","metadata","namespace","download","ref","editorMode","model","cloudConfig","callback","$$v","staticRenderFns","components","Loading","CruResource","YamlEditor","DetailText","AsyncButton","BuildMedia","mixins","CreateEditView","props","type","Object","required","String","data","spec","saferDump","yamlErrors","watch","handler","neu","parsed","jsyaml","load","exceptionToErrorsArray","immediate","computed","_this$value","status","registrationURL","isCreate","_CREATE","isView","_EDIT","EDITOR_MODES","VIEW_CODE","EDIT_CODE","methods","btnCb","downloadMachineRegistration","error","component","content","__esModule","default","module","i","locals","exports","add","___CSS_LOADER_API_IMPORT___","push"],"mappings":"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","file":"elemental-1.3.0.umd.min.detail.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.value)?_c('Loading'):_c('CruResource',{attrs:{\"done-route\":_vm.doneRoute,\"can-yaml\":true,\"mode\":_vm.mode,\"resource\":_vm.value,\"errors\":_vm.errors},on:{\"error\":e=>_vm.errors = e,\"finish\":_vm.save,\"cancel\":_vm.done}},[_c('div',{staticClass:\"row mt-40 mb-40\"},[_c('div',{staticClass:\"col span-8\"},[_c('h3',[_vm._v(_vm._s(_vm.t('elemental.machineRegistration.create.registrationURL.title')))]),_c('DetailText',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.registrationUrl),expression:\"registrationUrl\"}],attrs:{\"data-testid\":\"registration-url\",\"value\":_vm.registrationUrl,\"label\":_vm.t('elemental.machineRegistration.create.registrationURL.label')}})],1)]),_c('div',[_c('BuildMedia',{attrs:{\"display-reg-endpoints\":false,\"registration-endpoint\":`${_vm.value.metadata.namespace}/${_vm.value.metadata.name}`}})],1),_c('div',{staticClass:\"row mb-40 mt-30\"},[_c('div',{staticClass:\"col span-12\"},[_c('h3',[_vm._v(_vm._s(_vm.t('elemental.machineRegistration.edit.imageSetup')))]),_c('p',{directives:[{name:\"clean-html\",rawName:\"v-clean-html\",value:(_vm.t('elemental.machineRegistration.edit.downloadMachineRegistrationFile', {}, true)),expression:\"t('elemental.machineRegistration.edit.downloadMachineRegistrationFile', {}, true)\"}]}),_c('AsyncButton',{staticClass:\"mt-10\",attrs:{\"mode\":\"downloadMachineReg\",\"data-testid\":\"download-btn\"},on:{\"click\":_vm.download}})],1)]),_c('div',{staticClass:\"row mb-20\"},[_c('div',{staticClass:\"col span-6\"},[_c('h3',[_vm._v(_vm._s(_vm.t('elemental.machineRegistration.create.cloudConfiguration')))]),_c('YamlEditor',{ref:\"yamleditor\",staticClass:\"mb-20\",attrs:{\"editor-mode\":_vm.editorMode},model:{value:(_vm.cloudConfig),callback:function ($$v) {_vm.cloudConfig=$$v},expression:\"cloudConfig\"}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./elemental.cattle.io.machineregistration.vue?vue&type=template&id=27c7cd6c&scoped=true\"\nimport script from \"./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"\nexport * from \"./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"\nimport style0 from \"./elemental.cattle.io.machineregistration.vue?vue&type=style&index=0&id=27c7cd6c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"27c7cd6c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.machineregistration.vue?vue&type=style&index=0&id=27c7cd6c&prod&lang=scss&scoped=true\"","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./elemental.cattle.io.machineregistration.vue?vue&type=template&id=1a83434c&scoped=true\"\nimport script from \"./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"\nexport * from \"./elemental.cattle.io.machineregistration.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a83434c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.value)?_c('Loading'):_c('CruResource',{attrs:{\"done-route\":_vm.doneRoute,\"can-yaml\":true,\"mode\":_vm.mode,\"resource\":_vm.value,\"errors\":_vm.errors},on:{\"error\":e=>_vm.errors = e,\"finish\":_vm.save,\"cancel\":_vm.done}},[_c('div',{staticClass:\"row mt-40 mb-20\"},[_c('div',{staticClass:\"col span-12 mb-20\"},[_c('h3',[_vm._v(_vm._s(_vm.t('elemental.osimage.create.configuration')))]),_c('NameNsDescription',{attrs:{\"mode\":_vm.mode,\"description-hidden\":true,\"namespaced\":false},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)]),(_vm.value.spec)?_c('div',{staticClass:\"row mb-20\"},[_c('div',{staticClass:\"col span-6 mb-20\"},[_c('h3',[_vm._v(_vm._s(_vm.t('elemental.osimage.create.spec')))]),_c('LabeledSelect',{staticClass:\"mb-20\",attrs:{\"data-testid\":\"cluster-target\",\"label\":_vm.t('elemental.osimage.create.targetCluster.label'),\"placeholder\":_vm.t('elemental.osimage.create.targetCluster.placeholder', null, true),\"mode\":_vm.mode,\"options\":_vm.clusterTargetOptions,\"multiple\":true},on:{\"input\":function($event){return _vm.handleClusterTargetChange($event)}},model:{value:(_vm.clusterTargets),callback:function ($$v) {_vm.clusterTargets=$$v},expression:\"clusterTargets\"}}),_c('RadioGroup',{staticClass:\"mb-20\",attrs:{\"data-testid\":\"upgrade-choice-selector\",\"name\":\"os-image-mode\",\"options\":[true, false],\"labels\":[_vm.t('elemental.osimage.create.radioOptions.osImages'), _vm.t('elemental.osimage.create.radioOptions.registry')],\"mode\":_vm.mode},on:{\"input\":function($event){return _vm.handleRadioBtnChange($event)}},model:{value:(_vm.useManagedOsImages),callback:function ($$v) {_vm.useManagedOsImages=$$v},expression:\"useManagedOsImages\"}}),(_vm.useManagedOsImages)?_c('div',[_c('LabeledSelect',{attrs:{\"data-testid\":\"os-version-box\",\"mode\":_vm.mode,\"options\":_vm.managedOSVersionOptions,\"label-key\":\"elemental.osimage.create.managedOsImage.label\",\"placeholder\":_vm.t('elemental.osimage.create.managedOsImage.placeholder', null, true),\"option-key\":\"value\"},on:{\"input\":function($event){return _vm.handleManagedOSVersionNameChange($event)}},model:{value:(_vm.osVersionSelected),callback:function ($$v) {_vm.osVersionSelected=$$v},expression:\"osVersionSelected\"}})],1):_c('div',[_c('LabeledInput',{attrs:{\"data-testid\":\"os-image-box\",\"label\":_vm.t('elemental.osimage.create.osImage.label'),\"placeholder\":_vm.t('elemental.osimage.create.osImage.placeholder', null, true),\"mode\":_vm.mode},model:{value:(_vm.value.spec.osImage),callback:function ($$v) {_vm.$set(_vm.value.spec, \"osImage\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"value.spec.osImage\"}})],1)],1)]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.managedosimage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./elemental.cattle.io.managedosimage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./elemental.cattle.io.managedosimage.vue?vue&type=template&id=65be2882\"\nimport script from \"./elemental.cattle.io.managedosimage.vue?vue&type=script&lang=js\"\nexport * from \"./elemental.cattle.io.managedosimage.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.js b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.js new file mode 100644 index 0000000..695584a --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.js @@ -0,0 +1,128 @@ +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("__jszip"),require("__jsyaml"),require("vue")):"function"===typeof define&&define.amd?define(["__jszip","__jsyaml"],t):"object"===typeof exports?exports["elemental-1.3.0"]=t(require("__jszip"),require("__jsyaml"),require("vue")):e["elemental-1.3.0"]=t(e["__jszip"],e["__jsyaml"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t,n){return function(e){function t(t){for(var n,i,o=t[0],a=t[1],s=0,l=[];s({name:r["c"]+"-c-cluster",params:{product:r["c"],cluster:i},meta:{product:r["c"],cluster:i,pkg:r["c"]}}),a=(e,t,n)=>({name:`${o().name}-${e}`,params:{...o().params,...t},meta:{...o().meta,...n}})},"0024":function(e,t,n){"use strict";var r=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i1?n[n.length-1]:t}function s(e,t){return t.reduce((function(t,n){return t||e.startsWith(n)}),!1)}var l=["a/","b/","i/","w/","c/","o/"];function c(e,t,n){var i=void 0!==n?r(r([],l,!0),[n],!1):l,a=t?new RegExp("^".concat((0,o.escapeForRegExp)(t),' "?(.+?)"?$')):new RegExp('^"?(.+?)"?$'),s=a.exec(e)||[],c=s[1],u=void 0===c?"":c,d=i.find((function(e){return 0===u.indexOf(e)})),f=d?u.slice(d.length):u;return f.replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function u(e,t){return c(e,"---",t)}function d(e,t){return c(e,"+++",t)}function f(e,t){void 0===t&&(t={});var n=[],r=null,o=null,l=null,f=null,p=null,h=null,g=null,m="--- ",v="+++ ",b="@@",y=/^old mode (\d{6})/,_=/^new mode (\d{6})/,w=/^deleted file mode (\d{6})/,E=/^new file mode (\d{6})/,N=/^copy from "?(.+)"?/,A=/^copy to "?(.+)"?/,O=/^rename from "?(.+)"?/,x=/^rename to "?(.+)"?/,T=/^similarity index (\d+)%/,S=/^dissimilarity index (\d+)%/,C=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,R=/^Binary files (.*) and (.*) differ/,I=/^GIT binary patch/,k=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,L=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,M=/^new file mode (\d{6})/,D=/^deleted file mode (\d{6}),(\d{6})/,P=e.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,"\n").split("\n");function j(){null!==o&&null!==r&&(r.blocks.push(o),o=null)}function $(){null!==r&&(r.oldName||null===h||(r.oldName=h),r.newName||null===g||(r.newName=g),r.newName&&(n.push(r),r=null)),h=null,g=null}function F(){j(),$(),r={blocks:[],deletedLines:0,addedLines:0}}function U(e){var t;j(),null!==r&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(r.isCombined=!1,l=parseInt(t[1],10),p=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(r.isCombined=!0,l=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(e.startsWith(b)&&console.error("Failed to parse lines, starting in 0!"),l=0,p=0,r.isCombined=!1)),o={lines:[],oldStartLine:l,oldStartLine2:f,newStartLine:p,header:e}}function B(e){if(null!==r&&null!==o&&null!==l&&null!==p){var t={content:e},n=r.isCombined?["+ "," +","++"]:["+"],a=r.isCombined?["- "," -","--"]:["-"];s(e,n)?(r.addedLines++,t.type=i.LineType.INSERT,t.oldNumber=void 0,t.newNumber=p++):s(e,a)?(r.deletedLines++,t.type=i.LineType.DELETE,t.oldNumber=l++,t.newNumber=void 0):(t.type=i.LineType.CONTEXT,t.oldNumber=l++,t.newNumber=p++),o.lines.push(t)}}function H(e,t){var n=t;while(nt.diffMaxChanges||"number"===typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength)){r.isTooBig=!0,r.addedLines=0,r.deletedLines=0,r.blocks=[],o=null;var $="function"===typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed";U($)}else{if(e.startsWith(m)&&f.startsWith(v)||e.startsWith(v)&&l.startsWith(m)){if(r&&!r.oldName&&e.startsWith("--- ")&&(s=u(e,t.srcPrefix)))return r.oldName=s,void(r.language=a(r.oldName,r.language));if(r&&!r.newName&&e.startsWith("+++ ")&&(s=d(e,t.dstPrefix)))return r.newName=s,void(r.language=a(r.newName,r.language))}if(r&&(e.startsWith(b)||r.isGitDiff&&r.oldName&&r.newName&&!o))U(e);else if(o&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))B(e);else{var G=!H(e,i);if(null===r)throw new Error("Where is my file !!!");(s=y.exec(e))?r.oldMode=s[1]:(s=_.exec(e))?r.newMode=s[1]:(s=w.exec(e))?(r.deletedFileMode=s[1],r.isDeleted=!0):(s=E.exec(e))?(r.newFileMode=s[1],r.isNew=!0):(s=N.exec(e))?(G&&(r.oldName=s[1]),r.isCopy=!0):(s=A.exec(e))?(G&&(r.newName=s[1]),r.isCopy=!0):(s=O.exec(e))?(G&&(r.oldName=s[1]),r.isRename=!0):(s=x.exec(e))?(G&&(r.newName=s[1]),r.isRename=!0):(s=R.exec(e))?(r.isBinary=!0,r.oldName=c(s[1],void 0,t.srcPrefix),r.newName=c(s[2],void 0,t.dstPrefix),U("Binary file")):I.test(e)?(r.isBinary=!0,U(e)):(s=T.exec(e))?r.unchangedPercentage=parseInt(s[1],10):(s=S.exec(e))?r.changedPercentage=parseInt(s[1],10):(s=C.exec(e))?(r.checksumBefore=s[1],r.checksumAfter=s[2],s[3]&&(r.mode=s[3])):(s=k.exec(e))?(r.checksumBefore=[s[2],s[3]],r.checksumAfter=s[1]):(s=L.exec(e))?(r.oldMode=[s[2],s[3]],r.newMode=s[1]):(s=M.exec(e))?(r.newFileMode=s[1],r.isNew=!0):(s=D.exec(e))&&(r.deletedFileMode=s[1],r.isDeleted=!0)}}}})),j(),$(),n}t.parse=f},"00b8":function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e["default"]=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.defaultTemplates=void 0;var a=o(n("2da2"));t.defaultTemplates={},t.defaultTemplates["file-summary-line"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('
  • '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(r.rp("'),r.b(r.v(r.f("fileName",e,t,0))),r.b(""),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(' '),r.b(r.v(r.f("addedLines",e,t,0))),r.b(""),r.b("\n"+n),r.b(' '),r.b(r.v(r.f("deletedLines",e,t,0))),r.b(""),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b("
  • "),r.fl()},partials:{"'),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(' Files changed ('),r.b(r.v(r.f("filesNumber",e,t,0))),r.b(")"),r.b("\n"+n),r.b(' hide'),r.b("\n"+n),r.b(' show'),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b('
      '),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("files",e,t,0))),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b(""),r.fl()},partials:{},subs:{}}),t.defaultTemplates["generic-block-header"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b(""),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b('
    '),r.b(r.t(r.f("blockHeader",e,t,0))),r.b("
    "),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b(""),r.fl()},partials:{},subs:{}}),t.defaultTemplates["generic-empty-diff"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b(""),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(" File without changes"),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b(""),r.fl()},partials:{},subs:{}}),t.defaultTemplates["generic-file-path"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b(''),r.b("\n"+n),r.b(r.rp("'),r.b(r.v(r.f("fileDiffName",e,t,0))),r.b(""),r.b("\n"+n),r.b(r.rp(""),r.b("\n"+n),r.b('"),r.fl()},partials:{""),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("lineNumber",e,t,0))),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.s(r.f("prefix",e,t,1),e,t,0,162,238,"{{ }}")&&(r.rs(e,t,(function(e,t,r){r.b(' '),r.b(r.t(r.f("prefix",e,t,0))),r.b(""),r.b("\n"+n)})),e.pop()),r.s(r.f("prefix",e,t,1),e,t,1,0,0,"")||(r.b('  '),r.b("\n"+n)),r.s(r.f("content",e,t,1),e,t,0,371,445,"{{ }}")&&(r.rs(e,t,(function(e,t,r){r.b(' '),r.b(r.t(r.f("content",e,t,0))),r.b(""),r.b("\n"+n)})),e.pop()),r.s(r.f("content",e,t,1),e,t,1,0,0,"")||(r.b('
    '),r.b("\n"+n)),r.b("
    "),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b(""),r.fl()},partials:{},subs:{}}),t.defaultTemplates["generic-wrapper"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('
    '),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("content",e,t,0))),r.b("\n"+n),r.b("
    "),r.fl()},partials:{},subs:{}}),t.defaultTemplates["icon-file-added"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('"),r.fl()},partials:{},subs:{}}),t.defaultTemplates["icon-file-changed"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('"),r.fl()},partials:{},subs:{}}),t.defaultTemplates["icon-file-deleted"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('"),r.fl()},partials:{},subs:{}}),t.defaultTemplates["icon-file-renamed"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('"),r.fl()},partials:{},subs:{}}),t.defaultTemplates["icon-file"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('"),r.fl()},partials:{},subs:{}}),t.defaultTemplates["line-by-line-file-diff"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('
    '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("filePath",e,t,0))),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("diffs",e,t,0))),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.fl()},partials:{},subs:{}}),t.defaultTemplates["line-by-line-numbers"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('
    '),r.b(r.v(r.f("oldNumber",e,t,0))),r.b("
    "),r.b("\n"+n),r.b('
    '),r.b(r.v(r.f("newNumber",e,t,0))),r.b("
    "),r.fl()},partials:{},subs:{}}),t.defaultTemplates["side-by-side-file-diff"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('
    '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("filePath",e,t,0))),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(" "),r.b(r.t(r.d("diffs.left",e,t,0))),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b('
    '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(' '),r.b("\n"+n),r.b(" "),r.b(r.t(r.d("diffs.right",e,t,0))),r.b("\n"+n),r.b(" "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.b("\n"+n),r.b("
    "),r.fl()},partials:{},subs:{}}),t.defaultTemplates["tag-file-added"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('ADDED'),r.fl()},partials:{},subs:{}}),t.defaultTemplates["tag-file-changed"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('CHANGED'),r.fl()},partials:{},subs:{}}),t.defaultTemplates["tag-file-deleted"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('DELETED'),r.fl()},partials:{},subs:{}}),t.defaultTemplates["tag-file-renamed"]=new a.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('RENAMED'),r.fl()},partials:{},subs:{}})},"0151":function(e,t,n){"use strict";n("1ada")},"0233":function(e,t,n){var r=n("2ed5"),i=n("ef42");function o(e,t){return r(e,i(e),t)}e.exports=o},"0322":function(e,t,n){"use strict";n("fc1d")},"050d":function(e,t,n){!function(t,n){e.exports=n()}(0,(function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",i="day",o="week",a="month",s="quarter",l="year",c=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,u=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},f={s:d,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+d(r,2,"0")+":"+d(i,2,"0")},m:function(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,a),i=t-r<0,o=e.clone().add(n+(i?-1:1),a);return Number(-(n+(t-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return{M:a,y:l,w:o,d:i,D:"date",h:r,m:n,s:t,ms:e,Q:s}[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",g={};g[h]=p;var m=function(e){return e instanceof _},v=function(e,t,n){var r;if(!e)return h;if("string"==typeof e)g[e]&&(r=e),t&&(g[e]=t,r=e);else{var i=e.name;g[i]=e,r=i}return!n&&r&&(h=r),r||!n&&h},b=function(e,t){if(m(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new _(n)},y=f;y.l=v,y.i=m,y.w=function(e,t){return b(e,{locale:t.$L,utc:t.$u,$offset:t.$offset})};var _=function(){function d(e){this.$L=this.$L||v(e.locale,null,!0),this.parse(e)}var f=d.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(y.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(c);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(t)}(e),this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return y},f.isValid=function(){return!("Invalid Date"===this.$d.toString())},f.isSame=function(e,t){var n=b(e);return this.startOf(t)<=n&&n<=this.endOf(t)},f.isAfter=function(e,t){return b(e)e.nameDisplay).slice(0,5)},plusMore(){const e=this.toRemove.length-this.names.length;return this.t("promptRemove.andOthers",{count:e})}},watch:{value:{handler(e){this.handleRoleDeletionCheck(e,e[0].type,this.$route.hash)},immediate:!0}},methods:{resourceNames:i["p"],async handleRoleDeletionCheck(e,t,n){let r,i;this.warning="";let a=0;const s=new Set;switch(this.info=this.t("rbac.globalRoles.waiting",{count:e.length}),t){case o["m"].GLOBAL_ROLE:r=o["m"].GLOBAL_ROLE_BINDING,i="globalRoleName";break;default:r=n.includes(l)?o["m"].CLUSTER_ROLE_TEMPLATE_BINDING:o["m"].PROJECT_ROLE_TEMPLATE_BINDING,i="roleTemplateName";break}try{var c;const t=await this.$store.dispatch("management/request",{url:"/v1/"+r,method:"get"},{root:!0}),n=await this.$store.dispatch("management/request",{url:"/v1/"+o["m"].USER,method:"get"},{root:!0}),l=null===(c=n.data)||void 0===c?void 0:c.reduce((e,t)=>(t.username&&(e[t.id]=t),e),{});t.data&&t.data.length?(e.forEach(e=>{const n=t.data.filter(t=>t[i]===e.id);if(n.length){const e=[...new Set(n.map(e=>e.userName).filter(e=>l[e]))];e.length&&(a++,e.forEach(e=>s.add(e)))}}),a&&s.size?(this.info="",this.warning=this.t("rbac.globalRoles.usersBound",{count:s.size})):this.info=this.t("rbac.globalRoles.notBound",null,!0)):this.info=this.t("rbac.globalRoles.notBound",null,!0)}catch(u){this.info=this.t("rbac.globalRoles.unableToCheck")}}}}},"0634":function(e,t,n){var r=n("2ed5"),i=n("5e27");function o(e,t){return r(e,i(e),t)}e.exports=o},"0652":function(e,t,n){var r=n("ae68"),i=n("e2e2"),o=n("f72d");function a(e){return o(e)?r(e):i(e)}e.exports=a},"06a5":function(e,t,n){var r=n("1ec9"),i=n("659f"),o=n("4778"),a=n("c991"),s=n("9243"),l=n("c316"),c=n("dda8"),u=n("41dd"),d=1,f="[object Arguments]",p="[object Array]",h="[object Object]",g=Object.prototype,m=g.hasOwnProperty;function v(e,t,n,g,v,b){var y=l(e),_=l(t),w=y?p:s(e),E=_?p:s(t);w=w==f?h:w,E=E==f?h:E;var N=w==h,A=E==h,O=w==E;if(O&&c(e)){if(!c(t))return!1;y=!0,N=!1}if(O&&!N)return b||(b=new r),y||u(e)?i(e,t,n,g,v,b):o(e,t,w,n,g,v,b);if(!(n&d)){var x=N&&m.call(e,"__wrapped__"),T=A&&m.call(t,"__wrapped__");if(x||T){var S=x?e.value():e,C=T?t.value():t;return b||(b=new r),v(S,C,n,g,b)}}return!!O&&(b||(b=new r),a(e,t,n,g,v,b))}e.exports=v},"06a6":function(e,t){function n(e){const t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i=["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],o=["__debug__","Ellipsis","False","None","NotImplemented","True"],a=["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"],s={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:i,literal:o,type:a},l={className:"meta",begin:/^(>>>|\.\.\.) /},c={className:"subst",begin:/\{/,end:/\}/,keywords:s,illegal:/#/},u={begin:/\{\{/,relevance:0},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,u,c]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,u,c]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",p=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,h="\\b|"+r.join("|"),g={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${p}))[eE][+-]?(${f})[jJ]?(?=${h})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${h})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${h})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${h})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${h})`},{begin:`\\b(${f})[jJ](?=${h})`}]},m={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:s,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",l,g,d,e.HASH_COMMENT_MODE]}]};return c.contains=[d,g,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s,illegal:/(<\/|->|\?)|=>/,contains:[l,g,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},d,m,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,v,d]}]}}e.exports=n},"06cb":function(e,t){var n=/\w*$/;function r(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}e.exports=r},"0788":function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n("907c"),i=n("e24b");r["y"];function o(e){var t;return e=((null===(t=e)||void 0===t?void 0:t.type)||e||"").toLowerCase(),e}async function a(e,t,n,r,o,a){const s=await o.dispatch(a+"/cleanForDiff",e,{root:!0}),l=await o.dispatch(a+"/cleanForDiff",t.toJSON(),{root:!0}),c=await o.dispatch(a+"/cleanForDiff",n.toJSON(),{root:!0}),u=Object(i["b"])(s,c),d=Object(i["b"])(s,l),f=Object(i["c"])(u,d);if(console.log("Background Change",u),console.log("User Change",d),console.log("Conflicts",f),t.metadata.resourceVersion=n.metadata.resourceVersion,Object(i["a"])(t,u),f.length){const e=[r["i18n/t"]("validation.conflict",{fields:f.join(", "),fieldCount:f.length})];return e}return!1}},"07d9":function(e,t,n){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,r="/";t.cwd=function(){return r},t.chdir=function(t){e||(e=n("a0d5")),r=e.resolve(t,r)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},"0831":function(e,t,n){var r=n("1eb8");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("2b69c083",r,!0,{sourceMap:!1,shadowMode:!1})},"084c":function(e,t,n){var r=n("c364");function i(e){return function(t){return r(t,e)}}e.exports=i},"085d":function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,".title[data-v-74ec30de]{padding-bottom:10px;border-bottom:1px solid var(--border);margin:20px 0 20px 0}.main-card-container[data-v-74ec30de]{display:flex;flex-wrap:wrap}.main-card-container .card[data-v-74ec30de]{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column;flex-grow:1;border:1px solid var(--border);margin:0 10px 20px 10px;padding:20px;height:141px}.main-card-container .card[data-v-74ec30de]:first-child{margin-left:0}.main-card-container .card[data-v-74ec30de]:last-child{margin-right:0}.main-card-container .card .card-top-block[data-v-74ec30de]{display:flex;align-items:center;margin-bottom:20px}.main-card-container .card .card-top-block h1[data-v-74ec30de]{margin:0 15px 0 0;font-weight:700}.main-card-container .card .card-top-block p[data-v-74ec30de]{font-size:18px;font-weight:700}.main-card-container .card button[data-v-74ec30de]{justify-content:center;width:-moz-fit-content;width:fit-content;font-weight:700;margin-top:12px}.main-card-container .used-percentage-container>div[data-v-74ec30de]{display:flex;justify-content:space-between}.main-card-container .used-percentage-container>div span[data-v-74ec30de]{font-size:12px;padding-left:10px;color:var(--muted)}.link[data-v-74ec30de]{cursor:pointer}.empty-table-state[data-v-74ec30de]{border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 0}.empty-table-state p[data-v-74ec30de]{margin-bottom:20px}.main-tables-container[data-v-74ec30de]{display:flex}.main-tables-container .table-list[data-v-74ec30de]{width:50%}.main-tables-container .table-list[data-v-74ec30de]:first-child{margin-right:10px}.main-tables-container .table-list[data-v-74ec30de]:last-child{margin-left:10px}.main-tables-container .table-list .table-title-block[data-v-74ec30de]{display:flex;justify-content:space-between}.main-tables-container .table-list .table-title-block-link[data-v-74ec30de]{margin-top:2px}.main-tables-container .table-list .token-truncate[data-v-74ec30de]{max-width:180px;width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-v-74ec30de] .main-tables-container .download-machine-reg{display:flex;justify-content:center;height:59px;min-width:130px}[data-v-74ec30de] .main-tables-container .download-machine-reg .icon.icon-lg{display:none}@media screen and (max-width:1080px){.main-tables-container[data-v-74ec30de]{flex-direction:column}.main-tables-container .table-list[data-v-74ec30de]{width:100%;margin:0 0 20px 0!important}.main-card-container .card[data-v-74ec30de]:nth-child(2){margin:0 0 20px 10px}.main-card-container .card[data-v-74ec30de]:last-child{width:100%;margin:0 0 20px 0}}@media screen and (max-width:800px){.main-card-container .card[data-v-74ec30de]:first-child,.main-card-container .card[data-v-74ec30de]:nth-child(2){width:100%;margin:0 0 20px 0}}",""]),e.exports=t},"0878":function(e,t,n){"use strict";const r=n("b9a4"),i=Symbol("max"),o=Symbol("length"),a=Symbol("lengthCalculator"),s=Symbol("allowStale"),l=Symbol("maxAge"),c=Symbol("dispose"),u=Symbol("noDisposeOnSet"),d=Symbol("lruList"),f=Symbol("cache"),p=Symbol("updateAgeOnGet"),h=()=>1;class g{constructor(e){if("number"===typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!==typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;const t=e.length||h;if(this[a]="function"!==typeof t?h:t,this[s]=e.stale||!1,e.maxAge&&"number"!==typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[u]=e.noDisposeOnSet||!1,this[p]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!==typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,b(this)}get max(){return this[i]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if("number"!==typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,b(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!==typeof e&&(e=h),e!==this[a]&&(this[a]=e,this[o]=0,this[d].forEach(e=>{e.length=this[a](e.value,e.key),this[o]+=e.length})),b(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[d].length}rforEach(e,t){t=t||this;for(let n=this[d].tail;null!==n;){const r=n.prev;w(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[d].head;null!==n;){const r=n.next;w(this,e,n,t),n=r}}keys(){return this[d].toArray().map(e=>e.key)}values(){return this[d].toArray().map(e=>e.value)}reset(){this[c]&&this[d]&&this[d].length&&this[d].forEach(e=>this[c](e.key,e.value)),this[f]=new Map,this[d]=new r,this[o]=0}dump(){return this[d].map(e=>!v(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[d]}set(e,t,n){if(n=n||this[l],n&&"number"!==typeof n)throw new TypeError("maxAge must be a number");const r=n?Date.now():0,s=this[a](t,e);if(this[f].has(e)){if(s>this[i])return y(this,this[f].get(e)),!1;const a=this[f].get(e),l=a.value;return this[c]&&(this[u]||this[c](e,l.value)),l.now=r,l.maxAge=n,l.value=t,this[o]+=s-l.length,l.length=s,this.get(e),b(this),!0}const p=new _(e,t,s,r,n);return p.length>this[i]?(this[c]&&this[c](e,t),!1):(this[o]+=p.length,this[d].unshift(p),this[f].set(e,this[d].head),b(this),!0)}has(e){if(!this[f].has(e))return!1;const t=this[f].get(e).value;return!v(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[d].tail;return e?(y(this,e),e.value):null}del(e){y(this,this[f].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[f].forEach((e,t)=>m(this,t,!1))}}const m=(e,t,n)=>{const r=e[f].get(t);if(r){const t=r.value;if(v(e,t)){if(y(e,r),!e[s])return}else n&&(e[p]&&(r.value.now=Date.now()),e[d].unshiftNode(r));return t.value}},v=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[l]&&n>e[l]},b=e=>{if(e[o]>e[i])for(let t=e[d].tail;e[o]>e[i]&&null!==t;){const n=t.prev;y(e,t),t=n}},y=(e,t)=>{if(t){const n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[f].delete(n.key),e[d].removeNode(t)}};class _{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const w=(e,t,n,r)=>{let i=n.value;v(e,i)&&(y(e,n),e[s]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};e.exports=g},"09b2":function(e,t){var n=Object.prototype;function r(e){var t=e&&e.constructor,r="function"==typeof t&&t.prototype||n;return e===r}e.exports=r},"0a15":function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return o}));const r="elemental",i="fleet-default",o={DASHBOARD:"dashboard",OS_IMAGES:"os-images",OS_CONFIGURATION:"os-configuration",OPERATIONS:"operations",MACHINE_INVENTORIES:"machine-inventories"}},"0a87":function(e,t,n){var r=n("e902");function i(e){return r(this.__data__,e)>-1}e.exports=i},"0ac2":function(e,t){function n(e){const t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},n="BEGIN END if else while do for in break continue delete next nextfile function func exit|10",r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]};return{name:"Awk",keywords:{keyword:n},contains:[t,r,e.REGEXP_MODE,e.HASH_COMMENT_MODE,e.NUMBER_MODE]}}e.exports=n},"0b7b":function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,"body.theme-dark .elemental-logo svg{fill:var(--body-text)}",""]),e.exports=t},"0cfa":function(e,t,n){var r=n("b952");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("43eabed8",r,!0,{sourceMap:!1,shadowMode:!1})},"0d3c":function(e,t){function n(e){const t=e.regex,n={$pattern:/[\w.\/]+/,built_in:["action","bindattr","collection","component","concat","debugger","each","each-in","get","hash","if","in","input","link-to","loc","log","lookup","mut","outlet","partial","query-params","render","template","textarea","unbound","unless","view","with","yield"]},r={$pattern:/[\w.\/]+/,literal:["true","false","undefined","null"]},i=/""|"[^"]+"/,o=/''|'[^']+'/,a=/\[\]|\[[^\]]+\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,l=/(\.|\/)/,c=t.either(i,o,a,s),u=t.concat(t.optional(/\.|\.\/|\//),c,t.anyNumberOfTimes(t.concat(l,c))),d=t.concat("(",a,"|",s,")(?==)"),f={begin:u},p=e.inherit(f,{keywords:r}),h={begin:/\(/,end:/\)/},g={className:"attr",begin:d,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,p,h]}}},m={begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},v={contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,m,g,p,h],returnEnd:!0},b=e.inherit(f,{className:"name",keywords:n,starts:e.inherit(v,{end:/\)/})});h.contains=[b];const y=e.inherit(f,{keywords:n,className:"name",starts:e.inherit(v,{end:/\}\}/})}),_=e.inherit(f,{keywords:n,className:"name"}),w=e.inherit(f,{className:"name",keywords:n,starts:e.inherit(v,{end:/\}\}/})}),E={begin:/\\\{\{/,skip:!0},N={begin:/\\\\(?=\{\{)/,skip:!0};return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[E,N,e.COMMENT(/\{\{!--/,/--\}\}/),e.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[y],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[_]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[y]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{(?=else if)/,end:/\}\}/,keywords:"else if"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[_]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[w]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[w]}]}}e.exports=n},"0df0":function(e,t,n){"use strict";var r=n("1032");n.d(t,"a",(function(){return r["a"]}))},"0e19":function(e,t,n){var r=n("4b2c"),i=n("2822"),o=n("907a"),a="[object Null]",s="[object Undefined]",l=r?r.toStringTag:void 0;function c(e){return null==e?void 0===e?s:a:l&&l in Object(e)?i(e):o(e)}e.exports=c},"0e30":function(e,t){function n(){return!1}e.exports=n},"0e83":function(e,t,n){var r=n("267a");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("9d6b81f8",r,!0,{sourceMap:!1,shadowMode:!1})},"0ed3":function(e,t,n){"use strict";function r(e,t){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i>>32-i)+n&4294967295}function u(e,t,n,r,i,o,a){return c(t&n|~t&r,e,t,i,o,a)}function d(e,t,n,r,i,o,a){return c(t&r|n&~r,e,t,i,o,a)}function f(e,t,n,r,i,o,a){return c(t^n^r,e,t,i,o,a)}function p(e,t,n,r,i,o,a){return c(n^(t|~r),e,t,i,o,a)}l.BLOCK_SIZE=a,l.prototype.update=function(e){if(i(e))return this;if(this.finished)throw new Error("Attempted to update an already finished hash.");const t=o(e);let n=0,r=t.byteLength;this.bytesHashed+=r;while(r>0)this.buffer.setUint8(this.bufferLength++,t[n++]),r--,this.bufferLength===a&&(this.hashBuffer(),this.bufferLength=0);return this},l.prototype.digest=function(e){if(!this.finished){const e=this,t=e.buffer,n=e.bufferLength,r=e.bytesHashed,i=8*r;if(t.setUint8(this.bufferLength++,128),n%a>=a-8){for(let e=this.bufferLength;e>>0,!0),t.setUint32(a-4,Math.floor(i/4294967296),!0),this.hashBuffer(),this.finished=!0}const t=new DataView(new ArrayBuffer(s));for(let r=0;r<4;r++)t.setUint32(4*r,this.state[r],!0);const n=new r["Buffer"](t.buffer,t.byteOffset,t.byteLength);return e?n.toString(e):n},l.prototype.hashBuffer=function(){const e=this,t=e.buffer,n=e.state;let r=n[0],i=n[1],o=n[2],a=n[3];r=u(r,i,o,a,t.getUint32(0,!0),7,3614090360),a=u(a,r,i,o,t.getUint32(4,!0),12,3905402710),o=u(o,a,r,i,t.getUint32(8,!0),17,606105819),i=u(i,o,a,r,t.getUint32(12,!0),22,3250441966),r=u(r,i,o,a,t.getUint32(16,!0),7,4118548399),a=u(a,r,i,o,t.getUint32(20,!0),12,1200080426),o=u(o,a,r,i,t.getUint32(24,!0),17,2821735955),i=u(i,o,a,r,t.getUint32(28,!0),22,4249261313),r=u(r,i,o,a,t.getUint32(32,!0),7,1770035416),a=u(a,r,i,o,t.getUint32(36,!0),12,2336552879),o=u(o,a,r,i,t.getUint32(40,!0),17,4294925233),i=u(i,o,a,r,t.getUint32(44,!0),22,2304563134),r=u(r,i,o,a,t.getUint32(48,!0),7,1804603682),a=u(a,r,i,o,t.getUint32(52,!0),12,4254626195),o=u(o,a,r,i,t.getUint32(56,!0),17,2792965006),i=u(i,o,a,r,t.getUint32(60,!0),22,1236535329),r=d(r,i,o,a,t.getUint32(4,!0),5,4129170786),a=d(a,r,i,o,t.getUint32(24,!0),9,3225465664),o=d(o,a,r,i,t.getUint32(44,!0),14,643717713),i=d(i,o,a,r,t.getUint32(0,!0),20,3921069994),r=d(r,i,o,a,t.getUint32(20,!0),5,3593408605),a=d(a,r,i,o,t.getUint32(40,!0),9,38016083),o=d(o,a,r,i,t.getUint32(60,!0),14,3634488961),i=d(i,o,a,r,t.getUint32(16,!0),20,3889429448),r=d(r,i,o,a,t.getUint32(36,!0),5,568446438),a=d(a,r,i,o,t.getUint32(56,!0),9,3275163606),o=d(o,a,r,i,t.getUint32(12,!0),14,4107603335),i=d(i,o,a,r,t.getUint32(32,!0),20,1163531501),r=d(r,i,o,a,t.getUint32(52,!0),5,2850285829),a=d(a,r,i,o,t.getUint32(8,!0),9,4243563512),o=d(o,a,r,i,t.getUint32(28,!0),14,1735328473),i=d(i,o,a,r,t.getUint32(48,!0),20,2368359562),r=f(r,i,o,a,t.getUint32(20,!0),4,4294588738),a=f(a,r,i,o,t.getUint32(32,!0),11,2272392833),o=f(o,a,r,i,t.getUint32(44,!0),16,1839030562),i=f(i,o,a,r,t.getUint32(56,!0),23,4259657740),r=f(r,i,o,a,t.getUint32(4,!0),4,2763975236),a=f(a,r,i,o,t.getUint32(16,!0),11,1272893353),o=f(o,a,r,i,t.getUint32(28,!0),16,4139469664),i=f(i,o,a,r,t.getUint32(40,!0),23,3200236656),r=f(r,i,o,a,t.getUint32(52,!0),4,681279174),a=f(a,r,i,o,t.getUint32(0,!0),11,3936430074),o=f(o,a,r,i,t.getUint32(12,!0),16,3572445317),i=f(i,o,a,r,t.getUint32(24,!0),23,76029189),r=f(r,i,o,a,t.getUint32(36,!0),4,3654602809),a=f(a,r,i,o,t.getUint32(48,!0),11,3873151461),o=f(o,a,r,i,t.getUint32(60,!0),16,530742520),i=f(i,o,a,r,t.getUint32(8,!0),23,3299628645),r=p(r,i,o,a,t.getUint32(0,!0),6,4096336452),a=p(a,r,i,o,t.getUint32(28,!0),10,1126891415),o=p(o,a,r,i,t.getUint32(56,!0),15,2878612391),i=p(i,o,a,r,t.getUint32(20,!0),21,4237533241),r=p(r,i,o,a,t.getUint32(48,!0),6,1700485571),a=p(a,r,i,o,t.getUint32(12,!0),10,2399980690),o=p(o,a,r,i,t.getUint32(40,!0),15,4293915773),i=p(i,o,a,r,t.getUint32(4,!0),21,2240044497),r=p(r,i,o,a,t.getUint32(32,!0),6,1873313359),a=p(a,r,i,o,t.getUint32(60,!0),10,4264355552),o=p(o,a,r,i,t.getUint32(24,!0),15,2734768916),i=p(i,o,a,r,t.getUint32(52,!0),21,1309151649),r=p(r,i,o,a,t.getUint32(16,!0),6,4149444226),a=p(a,r,i,o,t.getUint32(44,!0),10,3174756917),o=p(o,a,r,i,t.getUint32(8,!0),15,718787259),i=p(i,o,a,r,t.getUint32(36,!0),21,3951481745),n[0]=r+n[0]&4294967295,n[1]=i+n[1]&4294967295,n[2]=o+n[2]&4294967295,n[3]=a+n[3]&4294967295};const h=64,g=32,m=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),v=2**53-1;function b(){this.state=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}b.BLOCK_SIZE=h,b.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");if(i(e))return this;e=o(e);let t=0,n=e.byteLength;if(this.bytesHashed+=n,8*this.bytesHashed>v)throw new Error("Cannot hash more than 2^53 - 1 bits");while(n>0)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===h&&(this.hashBuffer(),this.bufferLength=0);return this},b.prototype.digest=function(e){if(!this.finished){const e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%h>=h-8){for(let e=this.bufferLength;e>>24&255,t[4*n+1]=this.state[n]>>>16&255,t[4*n+2]=this.state[n]>>>8&255,t[4*n+3]=this.state[n]>>>0&255;return e?t.toString(e):t},b.prototype.hashBuffer=function(){const e=this,t=e.buffer,n=e.state;let r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],l=n[5],c=n[6],u=n[7];for(let d=0;d>>17|e<<15)^(e>>>19|e<<13)^e>>>10;e=this.temp[d-15];const n=(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3;this.temp[d]=(t+this.temp[d-7]|0)+(n+this.temp[d-16]|0)}const e=(((s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7))+(s&l^~s&c)|0)+(u+(m[d]+this.temp[d]|0)|0)|0,n=((r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10))+(r&i^r&o^i&o)|0;u=c,c=l,l=s,s=a+e|0,a=o,o=i,i=r,r=e+n|0}n[0]+=r,n[1]+=i,n[2]+=o,n[3]+=a,n[4]+=s,n[5]+=l,n[6]+=c,n[7]+=u};const y=64,_=20;function w(){this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.block=new Uint32Array(80),this.offset=0,this.shift=24,this.totalLength=0}w.BLOCK_SIZE=y,w.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");if(i(e))return this;e=o(e);const t=e.length;this.totalLength+=8*t;for(let n=0;n14||14===this.offset&&this.shift<24)&&this.processBlock(),this.offset=14,this.shift=24,this.write(0),this.write(0),this.write(this.totalLength>0xffffffffff?this.totalLength/1099511627776:0),this.write(this.totalLength>4294967295?this.totalLength/4294967296:0);for(let r=24;r>=0;r-=8)this.write(this.totalLength>>r);const t=new r["Buffer"](_),n=new DataView(t.buffer);return n.setUint32(0,this.h0,!1),n.setUint32(4,this.h1,!1),n.setUint32(8,this.h2,!1),n.setUint32(12,this.h3,!1),n.setUint32(16,this.h4,!1),e?t.toString(e):t},w.prototype.processBlock=function(){for(let s=16;s<80;s++){const e=this.block[s-3]^this.block[s-8]^this.block[s-14]^this.block[s-16];this.block[s]=e<<1|e>>>31}let e,t,n=this.h0,r=this.h1,i=this.h2,o=this.h3,a=this.h4;for(let s=0;s<80;s++){s<20?(e=o^r&(i^o),t=1518500249):s<40?(e=r^i^o,t=1859775393):s<60?(e=r&i|o&(r|i),t=2400959708):(e=r^i^o,t=3395469782);const l=(n<<5|n>>>27)+e+a+t+(0|this.block[s]);a=o,o=i,i=r<<30|r>>>2,r=n,n=l}this.h0=this.h0+n|0,this.h1=this.h1+r|0,this.h2=this.h2+i|0,this.h3=this.h3+o|0,this.h4=this.h4+a|0,this.offset=0;for(let s=0;s<16;s++)this.block[s]=0};const E="normal",N="url";function A(e,t=E){let n;if(null===e||"undefined"===typeof e)return e;if(n="function"===typeof r["Buffer"].from&&r["Buffer"].from!==Uint8Array.from?r["Buffer"].from(e):new r["Buffer"](e),t===N){const e={"+":"-","/":"_"};return n.toString("base64").replace(/[+/]|=+$/g,t=>e[t]||"")}return n.toString("base64")}function O(e){return null===e||"undefined"===typeof e?e:"function"===typeof r["Buffer"].from&&r["Buffer"].from!==Uint8Array.from?r["Buffer"].from(e,"base64"):new r["Buffer"](e,"base64")}function x(e){return e?O(e.replace(/[-_]/g,e=>"-"===e?"+":"/")).toString():e}function T(e){const t=(""+e).length;let n=3*t/4;return e.length>0&&"="===e[e.length-1]&&(n--,e.length>1&&"="===e[e.length-2]&&n--),n}},"0f8f":function(e,t,n){var r=n("cd68");function i(e){return"function"==typeof e?e:r}e.exports=i},"0fb1":function(e,t,n){"use strict";n.d(t,"a",(function(){return be}));var r=function(){var e=this,t=e._self._c;return t("div",{ref:"container",attrs:{"data-testid":"cluster-list-container"}},[t("div",{staticClass:"sortable-table-header",class:{titled:e.$slots.title&&e.$slots.title.length}},[e._t("title"),e.showHeaderRow?t("div",{staticClass:"fixed-header-actions",class:{button:!!e.$slots["header-button"],"advanced-filtering":e.hasAdvancedFiltering}},[t("div",{staticClass:"bulk",class:e.bulkActionsClass},[e._t("header-left",(function(){return[e.tableActions?[e._l(e.availableActions,(function(n){return t("button",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.actionTooltip,expression:"actionTooltip"}],key:n.action,staticClass:"btn role-primary",class:{[e.bulkActionClass]:!0},attrs:{id:n.action,type:"button",disabled:!n.enabled,"data-testid":e.componentTestid+"-"+n.action},on:{click:function(t){return e.applyTableAction(n,null,t)},mouseover:function(t){return e.setBulkActionOfInterest(n)},mouseleave:function(t){return e.setBulkActionOfInterest(null)}}},[n.icon?t("i",{class:n.icon}):e._e(),t("span",{directives:[{name:"clean-html",rawName:"v-clean-html",value:n.label,expression:"act.label"}]})])})),t("ActionDropdown",{staticClass:"bulk-actions-dropdown",class:e.bulkActionsDropdownClass,attrs:{"disable-button":!e.selectedRows.length,size:"sm"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("button",{ref:"actionDropDown",staticClass:"btn bg-primary mr-0",attrs:{disabled:!e.selectedRows.length}},[t("i",{staticClass:"icon icon-gear"}),t("span",[e._v(e._s(e.t("sortableTable.bulkActions.collapsed.label")))]),t("i",{staticClass:"ml-10 icon icon-chevron-down"})])]},proxy:!0},{key:"popover-content",fn:function(){return[t("ul",{staticClass:"list-unstyled menu"},e._l(e.hiddenActions,(function(n){return t("li",{directives:[{name:"close-popover",rawName:"v-close-popover"},{name:"clean-tooltip",rawName:"v-clean-tooltip",value:{content:e.actionTooltip,placement:"right"},expression:"{\n content: actionTooltip,\n placement: 'right'\n }"}],key:n.action,class:{disabled:!n.enabled},on:{click:function(t){return e.applyTableAction(n,null,t)},mouseover:function(t){return e.setBulkActionOfInterest(n)},mouseleave:function(t){return e.setBulkActionOfInterest(null)}}},[n.icon?t("i",{class:n.icon}):e._e(),t("span",{directives:[{name:"clean-html",rawName:"v-clean-html",value:n.label,expression:"act.label"}]})])})),0)]},proxy:!0}],null,!1,2209545330)}),e.selectedRowsText?t("label",{staticClass:"action-availability",class:e.bulkActionAvailabilityClass},[e._v(" "+e._s(e.selectedRowsText)+" ")]):e._e()]:e._e()]}))],2),!e.hasAdvancedFiltering&&e.$slots["header-middle"]&&e.$slots["header-middle"].length?t("div",{staticClass:"middle"},[e._t("header-middle")],2):e._e(),e.search||e.hasAdvancedFiltering||e.isTooManyItemsToAutoUpdate||e.$slots["header-right"]&&e.$slots["header-right"].length?t("div",{staticClass:"search row",attrs:{"data-testid":"search-box-filter-row"}},[e.hasAdvancedFiltering?t("ul",{staticClass:"advanced-filters-applied"},e._l(e.advancedFilteringValues,(function(n,r){return t("li",{key:r},[t("span",{staticClass:"label"},[e._v(e._s(`"${n.value}" ${e.t("sortableTable.in")} ${n.label}`))]),t("span",{staticClass:"cross",on:{click:function(t){return e.clearAdvancedFilter(r)}}},[e._v("✕")]),t("div",{staticClass:"bg"})])})),0):e._e(),e._t("header-right"),e.isTooManyItemsToAutoUpdate?t("AsyncButton",{staticClass:"manual-refresh",attrs:{mode:"manual-refresh","current-phase":e.currentPhase},on:{click:e.debouncedRefreshTableData}}):e._e(),e.hasAdvancedFiltering?t("div",{ref:"advanced-filter-group",staticClass:"advanced-filter-group"},[t("button",{staticClass:"btn role-primary",on:{click:function(t){e.advancedFilteringVisibility=!e.advancedFilteringVisibility}}},[e._v(" "+e._s(e.t("sortableTable.addFilter"))+" ")]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.advancedFilteringVisibility,expression:"advancedFilteringVisibility"}],staticClass:"advanced-filter-container"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.advFilterSearchTerm,expression:"advFilterSearchTerm"}],ref:"advancedSearchQuery",staticClass:"advanced-search-box",attrs:{type:"search",placeholder:e.t("sortableTable.filterFor")},domProps:{value:e.advFilterSearchTerm},on:{input:function(t){t.target.composing||(e.advFilterSearchTerm=t.target.value)}}}),t("div",{staticClass:"middle-block"},[t("span",[e._v(e._s(e.t("sortableTable.in")))]),t("LabeledSelect",{staticClass:"filter-select",attrs:{clearable:!0,options:e.advFilterSelectOptions,disabled:!1,searchable:!1,mode:"edit",multiple:!1,taggable:!1,placeholder:e.t("sortableTable.selectCol")},on:{selecting:t=>e.advFilterSelectedLabel=t.label},model:{value:e.advFilterSelectedProp,callback:function(t){e.advFilterSelectedProp=t},expression:"advFilterSelectedProp"}})],1),t("div",{staticClass:"bottom-block"},[t("button",{staticClass:"btn role-secondary",attrs:{disabled:!e.advancedFilteringValues.length},on:{click:e.clearAllAdvancedFilters}},[e._v(" "+e._s(e.t("sortableTable.resetFilters"))+" ")]),t("button",{staticClass:"btn role-primary",on:{click:e.addAdvancedFilter}},[e._v(" "+e._s(e.t("sortableTable.add"))+" ")])])])]):e.search?t("input",{directives:[{name:"model",rawName:"v-model",value:e.eventualSearchQuery,expression:"eventualSearchQuery"}],ref:"searchQuery",staticClass:"input-sm search-box",attrs:{type:"search",placeholder:e.t("sortableTable.search")},domProps:{value:e.eventualSearchQuery},on:{input:function(t){t.target.composing||(e.eventualSearchQuery=t.target.value)}}}):e._e(),e._t("header-button")],2):e._e()]):e._e()],2),t("table",{staticClass:"sortable-table",class:e.classObject,attrs:{width:"100%"}},[e.showHeaders?t("THead",{attrs:{"label-for":e.labelFor,columns:e.columns,group:e.group,"group-options":e.advGroupOptions,"has-advanced-filtering":e.hasAdvancedFiltering,"adv-filter-hide-labels-as-cols":e.advFilterHideLabelsAsCols,"table-actions":e.tableActions,"table-cols-options":e.columnOptions,"row-actions":e.rowActions,"sub-expand-column":e.subExpandColumn,"row-actions-width":e.rowActionsWidth,"how-much-selected":e.howMuchSelected,"sort-by":e.sortBy,"default-sort-by":e._defaultSortBy,descending:e.descending,"no-rows":e.noRows,loading:e.loading&&!e.loadingDelay,"no-results":e.noResults},on:{"on-toggle-all":e.onToggleAll,"on-sort-change":e.changeSort,"col-visibility-change":e.changeColVisibility,"group-value-change":t=>e.$emit("group-value-change",t),"update-cols-options":e.updateColsOptions}}):e._e(),e.loading&&!e.loadingDelay?t("div"):e.loading?t("tbody",[e._t("loading",(function(){return[t("tr",[t("td",{attrs:{colspan:e.fullColspan}},[t("div",{staticClass:"data-loading"},[t("i",{staticClass:"icon-spin icon icon-spinner"}),t("t",{attrs:{k:"generic.loading",raw:!0}})],1)])])]}))],2):e.noRows?t("tbody",[e._t("no-rows",(function(){return[t("tr",{staticClass:"no-rows"},[t("td",{attrs:{colspan:e.fullColspan}},[e.showNoRows?t("t",{attrs:{k:e.noRowsKey}}):e._e()],1)])]}))],2):e.noResults?t("tbody",[e._t("no-results",(function(){return[t("tr",{staticClass:"no-results"},[t("td",{staticClass:"text-center",attrs:{colspan:e.fullColspan}},[t("t",{attrs:{k:e.noDataKey}})],1)])]}))],2):e._l(e.displayRows,(function(n){return t("tbody",{key:n.key,class:{group:e.groupBy}},[e.groupBy?e._t("group-row",(function(){return[t("tr",{staticClass:"group-row"},[t("td",{attrs:{colspan:e.fullColspan}},[e._t("group-by",(function(){return[t("div",{directives:[{name:"trim-whitespace",rawName:"v-trim-whitespace"}],staticClass:"group-tab"},[e._v(" "+e._s(n.ref)+" ")])]}),{group:n.grp})],2)])]}),{group:n,fullColspan:e.fullColspan}):e._e(),e._l(n.rows,(function(n,r){return[e._t("main-row",(function(){return[e._t("main-row:"+(n.row.mainRowKey||r),(function(){return[t("tr",{key:n.key,staticClass:"main-row",class:{"has-sub-row":n.showSubRow},attrs:{"data-testid":e.componentTestid+"-"+r+"-row","data-node-id":n.key,"data-cant-run-bulk-action-of-interest":e.actionOfInterest&&!n.canRunBulkActionOfInterest}},[e.tableActions?t("td",{staticClass:"row-check",attrs:{align:"middle"}},[e._v(" "+e._s(n.mainRowKey)),t("Checkbox",{staticClass:"selection-checkbox",attrs:{"data-node-id":n.key,"data-testid":e.componentTestid+"-"+r+"-checkbox",value:e.selectedRows.includes(n.row)}})],1):e._e(),e.subExpandColumn?t("td",{staticClass:"row-expand",attrs:{align:"middle"}},[t("i",{class:{icon:!0,"icon-chevron-right":!e.expanded[n.row[e.keyField]],"icon-chevron-down":!!e.expanded[n.row[e.keyField]]},attrs:{"data-title":"Toggle Expand"},on:{click:function(t){return t.stopPropagation(),e.toggleExpand(n.row)}}})]):e._e(),e._l(n.columns,(function(i,o){return[e._t("col:"+i.col.name,(function(){return[t("td",{directives:[{name:"show",rawName:"v-show",value:!e.hasAdvancedFiltering||e.hasAdvancedFiltering&&i.col.isColVisible,expression:"!hasAdvancedFiltering || (hasAdvancedFiltering && col.col.isColVisible)"}],key:i.col.name,class:{["col-"+i.dasherize]:!!i.col.formatter,[i.col.breakpoint]:!!i.col.breakpoint,["skip-select"]:i.col.skipSelect},attrs:{"data-title":i.col.label,"data-testid":`sortable-cell-${r}-${o}`,align:i.col.align||"left",width:i.col.width}},[e._t("cell:"+i.col.name,(function(){return[i.component&&i.needRef?t(i.component,e._b({ref:"column",refInFor:!0,tag:"component",attrs:{value:i.value,row:n.row,col:i.col,"row-key":n.key,"get-custom-detail-link":e.getCustomDetailLink}},"component",i.col.formatterOpts,!1)):i.component?t(i.component,e._b({tag:"component",attrs:{value:i.value,row:n.row,col:i.col,"row-key":n.key}},"component",i.col.formatterOpts,!1)):i.col.formatter?t(i.col.formatter,e._b({tag:"component",attrs:{value:i.value,row:n.row,col:i.col,"row-key":n.key}},"component",i.col.formatterOpts,!1)):""!==i.value?[e._v(" "+e._s(i.formatted)+" ")]:i.col.dashIfEmpty?[t("span",{staticClass:"text-muted"},[e._v("—")])]:e._e()]}),{row:n.row,col:i.col,value:i.value})],2)]}),{row:n.row,col:i.col,dt:e.dt,expanded:e.expanded,rowKey:n.key})]})),e.rowActions?t("td",{attrs:{align:"middle"}},[e._t("row-actions",(function(){return[t("button",{ref:"actionButton"+r,refInFor:!0,staticClass:"btn btn-sm role-multi-action actions",attrs:{id:`actionButton+${r}+${n.row&&n.row.name?n.row.name:""}`,"data-testid":e.componentTestid+"-"+r+"-action-button","aria-haspopup":"true","aria-expanded":"false",type:"button"},on:{click:function(t){return e.handleActionButtonClick(r,t)}}},[t("i",{staticClass:"icon icon-actions"})])]}),{row:n.row})],2):e._e()],2)]}),{fullColspan:e.fullColspan})]}),{row:n.row}),n.showSubRow?e._t("sub-row",(function(){return[n.row.stateDescription?t("tr",{key:n.row[e.keyField]+"-description",staticClass:"state-description sub-row",attrs:{"data-testid":e.componentTestid+"-"+r+"-row-description"},on:{mouseenter:e.onRowMouseEnter,mouseleave:e.onRowMouseLeave}},[e.tableActions?t("td",{staticClass:"row-check",attrs:{align:"middle"}}):e._e(),t("td",{class:{"text-error":n.row.stateObj.error},attrs:{colspan:e.fullColspan-(e.tableActions?1:0)}},[e._v(" "+e._s(n.row.stateDescription)+" ")])]):e._e()]}),{fullColspan:e.fullColspan,row:n.row,subMatches:e.subMatches,keyField:e.keyField,componentTestid:e.componentTestid,i:r,onRowMouseEnter:e.onRowMouseEnter,onRowMouseLeave:e.onRowMouseLeave}):e._e()]}))],2)}))],2),e.showPaging?t("div",{staticClass:"paging"},[t("button",{staticClass:"btn btn-sm role-multi-action",attrs:{type:"button",disabled:1==e.page},on:{click:function(t){return e.goToPage("first")}}},[t("i",{staticClass:"icon icon-chevron-beginning"})]),t("button",{staticClass:"btn btn-sm role-multi-action",attrs:{type:"button",disabled:1==e.page},on:{click:function(t){return e.goToPage("prev")}}},[t("i",{staticClass:"icon icon-chevron-left"})]),t("span",[e._v(" "+e._s(e.pagingDisplay)+" ")]),t("button",{staticClass:"btn btn-sm role-multi-action",attrs:{type:"button",disabled:e.page==e.totalPages},on:{click:function(t){return e.goToPage("next")}}},[t("i",{staticClass:"icon icon-chevron-right"})]),t("button",{staticClass:"btn btn-sm role-multi-action",attrs:{type:"button",disabled:e.page==e.totalPages},on:{click:function(t){return e.goToPage("last")}}},[t("i",{staticClass:"icon icon-chevron-end"})])]):e._e(),e.search?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["/"],expression:"['/']",modifiers:{once:!0}}],staticClass:"hide",on:{shortkey:function(t){return e.focusSearch()}}}):e._e(),e.tableActions?[t("button",{directives:[{name:"shortkey",rawName:"v-shortkey",value:["j"],expression:"['j']"}],staticClass:"hide",on:{shortkey:function(t){return e.focusNext(t)}}}),t("button",{directives:[{name:"shortkey",rawName:"v-shortkey",value:["k"],expression:"['k']"}],staticClass:"hide",on:{shortkey:function(t){return e.focusPrevious(t)}}}),t("button",{directives:[{name:"shortkey",rawName:"v-shortkey",value:["shift","j"],expression:"['shift','j']"}],staticClass:"hide",on:{shortkey:function(t){return e.focusNext(t,!0)}}}),t("button",{directives:[{name:"shortkey",rawName:"v-shortkey",value:["shift","k"],expression:"['shift','k']"}],staticClass:"hide",on:{shortkey:function(t){return e.focusPrevious(t,!0)}}}),e._t("shortkeys")]:e._e()],2)},i=[],o=n("9ce4"),a=n("050d"),s=n.n(a),l=n("330a"),c=n.n(l),u=n("2cb5"),d=n("e24b"),f=n("bddd"),p=n("0df0"),h=n("d709"),g=function(){var e=this,t=e._self._c;return t("div",{staticClass:"dropdown-button-group"},[t("div",{staticClass:"dropdown-button bg-primary",class:{"one-action":!e.dualAction,[e.buttonSize]:!0,disabled:e.disableButton}},[t("v-popover",{attrs:{placement:"bottom",container:!1,disabled:e.disableButton,"popper-options":{modifiers:{flip:{enabled:!1}}}},scopedSlots:e._u([{key:"popover",fn:function(){return[e._t("popover-content")]},proxy:!0}],null,!0)},[e._t("button-content",(function(){return[t("button",{ref:"popoverButton",staticClass:"icon-container bg-primary no-left-border-radius",class:e.buttonSize,attrs:{disabled:e.disableButton,type:"button"}},[e._v(" Button "),t("i",{staticClass:"icon icon-chevron-down"})])]}),{buttonSize:e.buttonSize})],2)],1)])},m=[],v={name:"ActionDropdown",props:{size:{type:String,default:""},dualAction:{type:Boolean,default:!0},disableButton:{type:Boolean,default:!1}},computed:{buttonSize(){const{size:e}=this;let t;switch(e){case"":t="btn";break;case"xs":t="btn btn-xs";break;case"sm":t="btn btn-sm";break;case"lg":t="btn btn-lg";break;default:}return t}},methods:{hasSlot(e="default"){return!!this.$slots[e]||!!this.$scopedSlots[e]},togglePopover(){}}},b=v,y=(n("bdf6"),n("d802")),_=Object(y["a"])(b,g,m,!1,null,null,null),w=_.exports,E=n("05ca"),N=n.n(E),A=n("44db"),O=n.n(A),x=function(){var e=this,t=e._self._c;return t("thead",[t("tr",{class:{loading:e.loading}},[e.tableActions?t("th",{attrs:{width:e.checkWidth,align:"middle"}},[t("Checkbox",{staticClass:"check",attrs:{"data-testid":"sortable-table_check_select_all",indeterminate:e.isIndeterminate,disabled:e.noRows||e.noResults},model:{value:e.isAll,callback:function(t){e.isAll=t},expression:"isAll"}})],1):e._e(),e.subExpandColumn?t("th",{attrs:{width:e.expandWidth}}):e._e(),e._l(e.columns,(function(n){return t("th",{directives:[{name:"show",rawName:"v-show",value:!e.hasAdvancedFiltering||e.hasAdvancedFiltering&&n.isColVisible,expression:"!hasAdvancedFiltering || (hasAdvancedFiltering && col.isColVisible)"}],key:n.name,class:{sortable:n.sort,[n.breakpoint]:!!n.breakpoint},attrs:{align:n.align||"left",width:n.width},on:{click:function(t){return t.preventDefault(),e.changeSort(t,n)}}},[t("div",{staticClass:"table-header-container",class:{"not-filterable":e.hasAdvancedFiltering&&!n.isFilter}},[n.sort?t("span",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.tooltip(n),expression:"tooltip(col)"}]},[t("span",{directives:[{name:"clean-html",rawName:"v-clean-html",value:e.labelFor(n),expression:"labelFor(col)"}]}),t("i",{directives:[{name:"show",rawName:"v-show",value:e.hasAdvancedFiltering&&!n.isFilter,expression:"hasAdvancedFiltering && !col.isFilter"},{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.t("sortableTable.tableHeader.noFilter"),expression:"t('sortableTable.tableHeader.noFilter')"}],staticClass:"icon icon-info not-filter-icon"}),t("span",{staticClass:"icon-stack"},[t("i",{staticClass:"icon icon-sort icon-stack-1x faded"}),e.isCurrent(n)&&!e.descending?t("i",{staticClass:"icon icon-sort-down icon-stack-1x"}):e._e(),e.isCurrent(n)&&e.descending?t("i",{staticClass:"icon icon-sort-up icon-stack-1x"}):e._e()])]):t("span",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.tooltip(n),expression:"tooltip(col)"}]},[e._v(e._s(e.labelFor(n)))])])])})),e.rowActions&&e.hasAdvancedFiltering&&e.tableColsOptions.length?t("th",{attrs:{width:e.rowActionsWidth}},[t("div",{ref:"table-options",staticClass:"table-options-group"},[t("button",{staticClass:"btn btn-sm role-multi-action table-options-btn",attrs:{"aria-haspopup":"true","aria-expanded":"false",type:"button"},on:{click:e.tableColsOptionsClick}},[t("i",{staticClass:"icon icon-actions"})]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.tableColsOptionsVisibility,expression:"tableColsOptionsVisibility"}],staticClass:"table-options-container",style:e.tableColsMenuPosition},[e.hasAdvGrouping?t("div",{staticClass:"table-options-grouping"},[t("span",{staticClass:"table-options-col-subtitle"},[e._v(e._s(e.t("sortableTable.tableHeader.groupBy"))+":")]),t("LabeledSelect",{staticClass:"table-options-grouping-select",attrs:{clearable:!0,options:e.groupOptions,disabled:!1,searchable:!1,mode:"edit",multiple:!1,taggable:!1},model:{value:e.advGroup,callback:function(t){e.advGroup=t},expression:"advGroup"}})],1):e._e(),t("p",{staticClass:"table-options-col-subtitle mb-20"},[e._v(" "+e._s(e.t("sortableTable.tableHeader.show"))+": ")]),t("ul",e._l(e.tableColsOptions,(function(n,r){return t("li",{directives:[{name:"show",rawName:"v-show",value:n.isTableOption,expression:"col.isTableOption"}],key:r,class:{visible:!n.preventColToggle}},[t("Checkbox",{directives:[{name:"show",rawName:"v-show",value:!n.preventColToggle,expression:"!col.preventColToggle"}],staticClass:"table-options-checkbox",attrs:{label:n.label},on:{input:function(t){return e.tableOptionsCheckbox(t,n.label)}},model:{value:n.isColVisible,callback:function(t){e.$set(n,"isColVisible",t)},expression:"col.isColVisible"}})],1)})),0)])])]):e.rowActions?t("th",{attrs:{width:e.rowActionsWidth}}):e._e()],2)])},T=[],S=n("98d3");function C(e,t){var n;if(e=null===(n=e)||void 0===n?void 0:n.parentElement,!e)return null;const r=e.matches||e.matchesSelector;return r.call(e,t)?e:C(e,t)}const R="all",I="some",k="none";var L={mounted(){const e=this.$el.querySelector("TABLE");this._onRowClickBound=this.onRowClick.bind(this),this._onRowMousedownBound=this.onRowMousedown.bind(this),this._onRowContextBound=this.onRowContext.bind(this),e.addEventListener("click",this._onRowClickBound),e.addEventListener("mousedown",this._onRowMousedownBound),e.addEventListener("contextmenu",this._onRowContextBound)},beforeDestroy(){const e=this.$el.querySelector("TABLE");e.removeEventListener("click",this._onRowClickBound),e.removeEventListener("mousedown",this._onRowMousedownBound),e.removeEventListener("contextmenu",this._onRowContextBound)},computed:{howMuchSelected(){const e=this.pagedRows.length,t=this.selectedRows.length;return t>=e&&e>0?R:t>0?I:k},bulkActionsForSelection(){let e=!1;const t=this.pagedRows,n=this.arrangedRows;let r=this.selectedRows;if(!this.selectedRows.length){if(!n)return[];const t=n[0];r=t?[t]:[],e=!0}const i={};for(const a of t)if(a.availableActions)for(const e of a.availableActions)e.bulkable&&D(i,e,!1);for(const a of r)if(a.availableActions)for(const e of a.availableActions)e.bulkable&&e.enabled&&D(i,e,!1);const o=P(i,e);return o.forEach(e=>{const t=this.selectedRows.some(t=>{const n=t.availableActions||[];return n.some(t=>t.action===e.action&&t.enabled)});e.enabled=this.selectedRows.length>0&&t}),o.sort((e,t)=>(t.weight||0)-(e.weight||0))}},data(){return{selectedRows:[],prevNode:null}},watch:{pagedRows(){const e=this.pagedRows,t=[];for(const n of this.selectedRows)e.includes(n)||t.push(n);this.update([],t)}},methods:{onToggleAll(e){return e?(this.update(this.pagedRows,[]),!0):(this.update([],this.pagedRows),!1)},onRowMousedown(e){(Object(S["d"])(e)||this.isSelectionCheckbox(e.target))&&e.preventDefault()},onRowMouseEnter(e){const t=e.target.closest("TR");if(t.classList.contains("sub-row")){const e=t.previousElementSibling;e.classList.add("sub-row-hovered")}},onRowMouseLeave(e){const t=e.target.closest("TR");if(t.classList.contains("sub-row")){const e=t.previousElementSibling;e.classList.remove("sub-row-hovered")}},nodeForEvent(e){const t=e.target.tagName,n=e.target,r=n.closest(".actions");if(n.classList.contains("select-all-check"))return;if(!r&&("A"===t||"BUTTON"===t||C(n,".btn")))return;const i=e.target.closest("TR");return this.nodeForRow(i)},nodeForRow(e){var t;if(null!==(t=e)&&void 0!==t&&t.classList.contains("separator-row"))return;while(e&&!e.classList.contains("main-row"))e=e.previousElementSibling;if(!e)return;const n=e.dataset.nodeId;if(!n)return;const r=this.pagedRows.find(e=>Object(d["h"])(e,this.keyField)===n);return r},async onRowClick(e){const t=this.nodeForEvent(e),n=e.target.closest("TD"),r=null===n||void 0===n?void 0:n.classList.contains("skip-select");if(r)return;const i=this.selectedRows,o=this.isSelectionCheckbox(e.target)||(null===n||void 0===n?void 0:n.classList.contains("row-check")),a=null===n||void 0===n?void 0:n.classList.contains("row-expand"),s=this.pagedRows;if(this.$emit("rowClick",e),!t)return;if(a)return void this.toggleExpand(t);const l=e.target.closest(".actions");if(l){let n=[t];if(this.mangleActionResources){const e=l.querySelector("i");e.classList.remove("icon-actions"),e.classList.add("icon-spinner"),e.classList.add("icon-spin");try{n=await this.mangleActionResources(n)}finally{e.classList.remove("icon-spinner"),e.classList.remove("icon-spin"),e.classList.add("icon-actions")}}return void this.$store.commit("action-menu/show",{resources:n,event:e,elem:l})}const c=i.includes(t);let u=this.prevNode;if(u&&s.includes(u)||(u=t),Object(S["c"])(e))this.toggle(t);else if(Object(S["d"])(e)){const e=this.nodesBetween(u,t);c?this.update([],e):this.update(e,[])}else o?this.toggle(t):this.update([t],s);this.prevNode=t},async onRowContext(e){const t=this.nodeForEvent(e);if(Object(S["e"])(e))return;if(!t)return;e.preventDefault(),e.stopPropagation(),this.prevNode=t;const n=this.selectedRows.includes(t);n||this.update([t],this.selectedRows.slice());let r=this.selectedRows;this.mangleActionResources&&(r=await this.mangleActionResources(r)),this.$store.commit("action-menu/show",{resources:r,event:e})},keySelectRow(e,t=!1){const n=this.nodeForRow(e),r=this.pagedRows;n&&(t?this.update([n],[]):this.update([n],r),this.prevNode=n)},isSelectionCheckbox(e){return"INPUT"===e.tagName&&"checkbox"===e.type&&null!==e.closest(".selection-checkbox")},nodesBetween(e,t){let n=[];const r=this.groupBy;if(r){const r=this.groupedRows;let i=this.groupIdx(e),o=this.groupIdx(t);if(!i||!o)return[];(i.group>o.group||i.group===o.group&&i.item>o.item)&&([i,o]=[o,i]);for(let e=i.group;e<=o.group;e++){const t=r[e].rows;let a=i.group===e?i.item:0;while(t[a]&&(e!this.selectedRows.includes(e)),n},groupIdx(e){const t=this.groupedRows;for(let n=0;n{const t=this.selectedRows.findIndex(t=>t===e);-1!==t&&this.selectedRows.splice(t,1)}),e&&this.selectedRows.push(...e),t.length&&this.$nextTick(()=>{for(let e=0;e{for(let t=0;t{this.$emit("selection",this.selectedRows)})},updateInput(e,t,n){const r=Object(d["h"])(e,n);if(r){const e=this.$el.querySelector(`div[data-checkbox-ctrl][data-node-id="${r}"]`);if(e&&!e.disabled){const n=e.querySelector("label");n&&(n.value=t);let r=e.closest("tr"),i=!0;while(r&&(i||r.classList.contains("sub-row")))t?r.classList.add("row-selected"):r.classList.remove("row-selected"),r=r.nextElementSibling,i=!1}}},select(e){e.forEach(e=>{const t=Object(d["h"])(e,this.keyField),n=this.$el.querySelector(`label[data-node-id="${t}"]`);n.dispatchEvent(new Event("click"))})},applyTableAction(e,t,n){const r={alt:n&&Object(S["a"])(n),event:n},i=this.selectedRows.filter(t=>{const n=t.availableActions.find(t=>t.action===e.action);return null===n||void 0===n?void 0:n.enabled});j(i,e,t,r,this),this.actionOfInterest=null},clearSelection(){this.update([],this.selectedRows)}}};let M=0;function D(e,t,n=!0){let r=t.action;r||(r="anon"+M,M++);let i=e[r];return i||(i=Object.assign({},t),e[r]=i,i.allEnabled=!1),t.enabled?i.anyEnabled=!0:i.allEnabled=!1,n&&(i.available=(i.available||0)+(t.enabled?1:0),i.total=(i.total||0)+1),i}function P(e,t=!1){const n=Object(f["d"])(Object.values(e),"anyEnabled",!0);for(const r of n)r.enabled=!t&&r.available>=r.total;return n}function j(e,t,n,r={},i){if(n=n||[],t.invoke){const o={action:t,event:r.event,isAlt:!!r.alt};return t.invoke.apply(i,[o,e||[],n])}if(e.length>1&&t.bulkAction&&!r.alt){const r=e[0][t.bulkAction];if(r)return r.call(e[0],e,...n)}const o=[];for(const a of e){let e;e=r.alt&&t.altAction?a[t.altAction]:a[t.action],e&&o.push(e.apply(a,n))}return Promise.all(o)}const $="left",F="right",U="top",B="center",H="center",G="bottom",z="auto";function V(e){const t=e.getBoundingClientRect(),n=e.offsetWidth,r=e.offsetHeight;return{top:t.top,right:t.left+n,bottom:t.top+r,left:t.left,width:n,height:r}}function q(e){return{top:e.clientY,left:e.clientX,bottom:e.clientY,right:e.clientX,width:0,height:0}}function W(){const e=window.innerWidth,t=window.innerHeight,n=window.pageYOffset,r=window.pageXOffset;return{top:n,right:r+e,bottom:n+t,left:r,width:e,height:t}}function K(e,t,n,r){let{positionX:i=z,positionY:o=z}=n||{};const{fudgeX:a=0,fudgeY:s=0,overlapX:l=!0,overlapY:c=!1}=n||{},u=W();let d;d=t instanceof Event?q(t):V(t);let f={};e&&(f=V(e)),r&&(f={top:0,right:147,bottom:163,left:0,width:147,height:80});const p={position:"absolute"},h={left:l?d.left:d.right,center:(d.left+d.right)/2,right:l?d.right:d.left,top:c?d.bottom:d.top,middle:(d.top+d.bottom)/2,bottom:c?d.top:d.bottom},g={left:u.right-f.width-h.left,center:Math.min(u.right-f.width/2-h.center,h.center-f.width/2-u.left),right:h.right-f.width-u.left,top:h.bottom-f.height-u.top,middle:Math.min(h.middle-f.height/2-u.top,u.bottom-f.height/2-h.middle),bottom:u.bottom-f.height-h.top};switch(i===B&&g.center<0&&(i=z),i===z?i=g.left<0||1.5*g.right>g.left?F:$:o===$&&g.left<0?i=F:o===F&&g.right<0&&(i=$),i){case $:p.left=h.left-a+"px";break;case B:p.left=(h.left+h.right)/2-f.width/2-a+"px";break;case F:p.left=h.right+a-f.width+"px";break}switch(o===H&&g.middle<0&&(o=z),o===z?o=g.top<0||1.5*g.bottom>g.top?G:U:o===U&&g.top<0?o=G:o===G&&g.bottom<0&&(o=U),o){case U:p.top=h.top+s-f.height+"px";break;case B:p.top=(h.top+h.bottom)/2+s-f.height+"px";break;case G:p.top=h.bottom-s+"px";break}return p}var Y=n("466b"),X={components:{Checkbox:p["a"],LabeledSelect:Y["a"]},props:{columns:{type:Array,required:!0},sortBy:{type:String,required:!0},defaultSortBy:{type:String,default:""},group:{type:String,default:""},groupOptions:{type:Array,default:()=>[]},descending:{type:Boolean,required:!0},hasAdvancedFiltering:{type:Boolean,required:!1},tableColsOptions:{type:Array,default:()=>[]},tableActions:{type:Boolean,required:!0},rowActions:{type:Boolean,required:!0},howMuchSelected:{type:String,required:!0},checkWidth:{type:Number,default:30},rowActionsWidth:{type:Number,required:!0},subExpandColumn:{type:Boolean,default:!1},expandWidth:{type:Number,default:30},labelFor:{type:Function,required:!0},noRows:{type:Boolean,default:!0},noResults:{type:Boolean,default:!0},loading:{type:Boolean,required:!1}},data(){return{tableColsOptionsVisibility:!1,tableColsMenuPosition:null}},watch:{advancedFilteringValues(){this.watcherUpdateLiveAndDelayed(!0,!1)},tableColsOptionsVisibility(e){e?(window.addEventListener("click",this.onClickOutside),this.$emit("update-cols-options")):window.removeEventListener("click",this.onClickOutside)}},computed:{isAll:{get(){return this.howMuchSelected!==k},set(e){this.$emit("on-toggle-all",e)}},hasAdvGrouping(){var e,t;return(null===(e=this.group)||void 0===e?void 0:e.length)&&(null===(t=this.groupOptions)||void 0===t?void 0:t.length)},advGroup:{get(){return this.group||this.advGroup},set(e){this.$emit("group-value-change",e)}},isIndeterminate(){return this.howMuchSelected===I}},methods:{changeSort(e,t){if(!t.sort)return;let n=!1;this.sortBy===t.name&&(n=!this.descending),this.$emit("on-sort-change",t.name,n)},isCurrent(e){return e.name===this.sortBy},tableColsOptionsClick(e){const t=document.querySelector(".table-options-container"),n=document.querySelector(".table-options-btn");this.tableColsMenuPosition=K(t,e||n,{overlapX:!0,fudgeX:326,fudgeY:-22,positionX:B,positionY:z}),this.tableColsOptionsVisibility=!this.tableColsOptionsVisibility},onClickOutside(e){const t=this.$refs["table-options"];t&&!t.contains(e.target)&&(this.tableColsOptionsVisibility=!1)},tableOptionsCheckbox(e,t){this.$emit("col-visibility-change",{label:t,value:e})},tooltip(e){if(!e.tooltip)return null;const t=this.$store.getters["i18n/exists"];return t(e.tooltip)?this.t(e.tooltip):e.tooltip}}},Z=X,J=(n("3b9b"),n("0151"),Object(y["a"])(Z,x,T,!1,null,"36bf3081",null)),Q=J.exports;const ee="allcols",te="All Columns",ne=":::islabel";var re={data(){return{searchQuery:null,previousFilter:null,previousResult:null}},computed:{searchFields(){const e=ie(this.columns);return this.extraSearchFields&&Object(f["b"])(e,this.extraSearchFields),e},filteredRows(){return this.hasAdvancedFiltering?this.handleAdvancedFiltering():this.handleFiltering()}},methods:{handleAdvancedFiltering(){if(this.subMatches=null,this.searchQuery.length){const e=(this.arrangedRows||[]).slice(),t=e.filter(e=>this.searchQuery.every(t=>{if(t.prop===ee){const n=this.advFilterSelectOptions.slice(1);let r=[];return n.forEach(e=>{if(e.value.includes("[")&&e.value.includes("]"))r=r.concat(JSON.parse(e.value));else{const t=e.isLabel?`${e.label}${ne}`:e.value;r.push(t)}}),ae(r,[t.value],e)}{if(t.prop.includes("[")&&t.prop.includes("]"))return ae(JSON.parse(t.prop),[t.value],e);let n=t.prop;return t.prop.includes("metadata.labels")&&(n=`${t.label}${ne}`),ae([n],[t.value],e)}}));return t}return this.arrangedRows},handleFiltering(){const e=(this.searchQuery||"").trim().toLowerCase();let t;if(e&&this.previousResult&&e.startsWith(this.previousFilter)?t=this.previousResult.slice():(this.previousResult=null,t=(this.arrangedRows||[]).slice()),this.previousFilter=e,!e.length)return this.subMatches=null,this.previousResult=null,t;const n=this.searchFields,r=e.split(/\s*[, ]\s*/),i=this.subSearch,o=this.subFields,a={};for(let s=t.length-1;s>=0;s--){const e=t[s];let l=0,c=!0;if(c=ae(n,r,e),o&&i){const t=e[i]||[];for(let n=t.length-1;n>=0;n--){let t=!0;t=ae(o,r,e),t&&l++}a[Object(d["h"])(e,this.keyField)]=l}c||0!==l||Object(f["h"])(t,s)}return this.subMatches=a,this.previousResult=t,t}},watch:{arrangedRows(e){this.previousResult=null}}};function ie(e){const t=[];return(e||[]).forEach(e=>{const n=e.search;n?"string"===typeof n?Object(f["a"])(t,n):Object(f["g"])(n)&&Object(f["b"])(t,n):!1===n||Object(f["a"])(t,e.value||e.name)}),t.filter(e=>!!e)}const oe=/^[0-9a-f\.:]+$/i;function ae(e,t,n){for(let r=0;r0&&(e=r.substr(t+1),r=r.substr(0,t)),i=r.includes(".")?Object(d["h"])(n,r):n[r]}if(void 0!==i&&(i=(""+i).toLowerCase(),i))if(e){if("exact"===e){if(i===t)return!0}else if("ip"===e){const e=oe.test(t);if(e){const e=new RegExp(`(?:^|\\.)${t}(?:\\.|$)`);if(e.test(i))return!0}}else if("prefix"===e&&0===i.indexOf(t))return!0}else if(i.includes((""+t).toLowerCase()))return!0}return!1}var le=n("1d19"),ce={computed:{sortFields(){let e=(this.groupBy?this.groupSort||this.groupBy:null)||[],t=[];const n=(this.columns||this.headers).find(e=>e&&e.name&&e.name.toLowerCase()===this.sortBy.toLowerCase());this.sortBy&&n&&n.sort&&(t=n.sort),Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);const r=[...e,...t];return Object(f["a"])(r,"nameSort"),Object(f["a"])(r,"id"),r},arrangedRows(){let e;if(this.sortGenerationFn&&(e=`${this.sortGenerationFn.apply(this)}/${this.rows.length}/${this.descending}/${this.sortFields.join(",")}`,this.cacheKey===e))return this.cachedRows;const t=Object(le["a"])(this.rows,this.sortFields,this.descending);return e&&(this.cacheKey=e,this.cachedRows=t),t}},data(){let e=null;if(this._defaultSortBy=this.defaultSortBy,!this._defaultSortBy){const e=this.headers.find(e=>!!e.defaultSort),t=this.headers.find(e=>"name"===e.name);if(e)this._defaultSortBy=e.name;else if(t)this._defaultSortBy=t.name;else{const e=this.headers.filter(e=>"state"!==e.name)[0];this._defaultSortBy=e?e.name:"id"}}return e&&this.headers.find(t=>t.name===e)||(e=this._defaultSortBy),{sortBy:e,descending:!1,cachedRows:null,cacheKey:null}},methods:{changeSort(e,t){this.sortBy=e,this.descending=t,this.setPage(1)}}},ue=n("5000"),de={computed:{indexFrom(){return Math.max(0,1+this.perPage*(this.page-1))},indexTo(){return Math.min(this.filteredRows.length,this.indexFrom+this.perPage-1)},totalPages(){return Math.ceil(this.filteredRows.length/this.perPage)},showPaging(){return!this.loading&&this.paging&&this.totalPages>1},pagingDisplay(){const e={...this.pagingParams||{},count:this.filteredRows.length,pages:this.totalPages,from:this.indexFrom,to:this.indexTo};return this.$store.getters["i18n/t"](this.pagingLabel,e)},pagedRows(){return this.paging?this.filteredRows.slice(this.indexFrom-1,this.indexTo):this.filteredRows}},data(){const e=this.getPerPage();return{page:1,perPage:e}},watch:{pagedRows(){const e=this.indexFrom,t=this.filteredRows.length;this.totalPages>0&&this.page>1&&e>t&&this.setPage(this.totalPages)}},methods:{getPerPage(){let e=this.rowsPerPage||0;return e<=0&&(e=parseInt(this.$store.getters["prefs/get"](ue["j"]),10)||0),e<=0&&(e=10),e},setPage(e){this.page!==e&&(this.page=e)},goToPage(e){let t;switch(e){case"first":t=1;break;case"prev":t=Math.max(1,this.page-1);break;case"next":t=Math.min(this.totalPages,this.page+1);break;case"last":t=this.totalPages;break}this.setPage(t)},getPageByRow(e,t=(e=>e)){const n=this.filteredRows.map(t).indexOf(e);return-1===n?null:Math.ceil(n/this.perPage)}}},fe={computed:{groupedRows(){const e=this.groupBy,t=this.groupRef||e;if(!e)return[{key:"default",ref:"default",rows:this.pagedRows}];const n=[],r={};for(const i of this.pagedRows){const o=Object(d["h"])(i,e)||"",a=Object(d["h"])(i,t);let s=r[o];s?s.rows.push(i):(s={key:o,ref:a,rows:[i]},r[o]=s,n.push(s))}return n}}};const pe="inline-block";var he={data(){return{bulkActionsClass:"bulk",bulkActionClass:"bulk-action",bulkActionsDropdownClass:"bulk-actions-dropdown",bulkActionAvailabilityClass:"action-availability",hiddenActions:[],updateHiddenBulkActions:O()(this.protectedUpdateHiddenBulkActions,10)}},beforeDestroy(){window.removeEventListener("resize",this.onWindowResize)},mounted(){window.addEventListener("resize",this.onWindowResize),this.updateHiddenBulkActions()},watch:{selectedRows(){this.updateHiddenBulkActions()},keyedAvailableActions(){this.updateHiddenBulkActions()}},computed:{availableActions(){return this.bulkActionsForSelection.filter(e=>!e.external)},keyedAvailableActions(){return this.availableActions.map(e=>e.action)},selectedRowsText(){return this.selectedRows.length?this.t("sortableTable.actionAvailability.selected",{actionable:this.selectedRows.length}):null},actionTooltip(){if(!this.selectedRows.length||!this.actionOfInterest)return null;const e=this.selectedRows.filter(this.canRunBulkActionOfInterest).length;return e===this.selectedRows.length?null:this.t("sortableTable.actionAvailability.some",{actionable:e,total:this.selectedRows.length})}},methods:{onWindowResize(){this.updateHiddenBulkActions(),this.onScroll()},protectedUpdateHiddenBulkActions(){if(!this.$refs.container)return;const e=this.$refs.container.querySelector("."+this.bulkActionsClass),t=this.$refs.container.querySelector("."+this.bulkActionsDropdownClass);if(!e||!t)return;const n=e.offsetWidth,r=this.$refs.container.querySelectorAll("."+this.bulkActionClass),i=Array.from(r||[]),o=this.$refs.container.querySelector("."+this.bulkActionAvailabilityClass);let a=0;this.selectedRowsText&&(o?(o.style.display=pe,a=o.offsetWidth):o.style.display="none;"),this.hiddenActions=[];let s=0,l=!1,c=n-a;for(let u=0;u=c)if(l){const t=e.attributes.getNamedItem("id").value;this.hiddenActions.push(this.availableActions.find(e=>e.action===t)),e.style.display="none"}else t.style.display=pe,u=-1,s=0,l=!0,c=n-t.offsetWidth-a}l||(t.style.display="none")}}};const ge=ee;var me={props:{group:{type:String,default:()=>""},groupOptions:{type:Array,default:()=>[]},hasAdvancedFiltering:{type:Boolean,default:!1},advFilterHideLabelsAsCols:{type:Boolean,default:!1},advFilterPreventFilteringLabels:{type:Boolean,default:!1}},data(){return{columnOptions:[],colOptionsWatcher:null,advancedFilteringVisibility:!1,advancedFilteringValues:[],advFilterSearchTerm:null,advFilterSelectedProp:ge,advFilterSelectedLabel:te,column:null}},mounted(){this.hasAdvancedFiltering&&this.updateColsOptions()},watch:{advancedFilteringValues(){this.watcherUpdateLiveAndDelayed(!0,!1)},advancedFilteringVisibility(e){e?(window.addEventListener("click",this.onClickOutside),this.updateColsOptions()):window.removeEventListener("click",this.onClickOutside)}},computed:{advFilterSelectOptions(){return this.columnOptions.filter(e=>e.isFilter&&!e.preventFiltering)},advGroupOptions(){return this.groupOptions.map(e=>({label:this.t(e.tooltipKey),value:e.value}))}},methods:{handleColsVisibilyAndFiltering(e){const t=e;return this.columnOptions.forEach(e=>{if(e.isTableOption){const n=t.findIndex(t=>t.name===e.name);-1!==n?(t[n].isColVisible=e.isColVisible,t[n].isFilter=e.isFilter):t.push(e)}}),t},setColsOptions(){let e=[];const t=[],n=[],r=this.headers.slice().filter(e=>!e.maxPageSize||e.maxPageSize&&e.maxPageSize>=this.perPage);return r.forEach(e=>{var t;const r=e.name,i=e.labelKey?this.t(""+e.labelKey):e.label,o=!(Object.keys(e).includes("search")&&!e.search);let a=e.sort;const s=e.valueProp||e.value;let l=null,c=!0;if(e.sort&&s?("string"===typeof e.sort&&(a=e.sort.includes(":")?[e.sort.split(":")[0]]:[e.sort]),l=a.includes(s)?JSON.stringify([s]):JSON.stringify(a.concat([s]))):l=s?JSON.stringify([s]):null,null!==(t=this.columnOptions)&&void 0!==t&&t.length){const e=this.columnOptions.find(e=>e.name===r&&e.label===i);e&&(c=e.isColVisible)}n.push({name:r,label:i,value:l,isFilter:o,isTableOption:!0,isColVisible:c})}),this.rows.length&&this.rows.forEach(e=>{var n,r,i;null!==(n=e.metadata)&&void 0!==n&&n.labels&&Object.keys(null===(r=e.metadata)||void 0===r?void 0:r.labels).length&&Object.keys(null===(i=e.metadata)||void 0===i?void 0:i.labels).forEach(e=>{var n;const r={name:e,label:e,value:"metadata.labels."+e,isFilter:!0,isTableOption:!0,isColVisible:!1,isLabel:!0,preventFiltering:this.advFilterPreventFilteringLabels,preventColToggle:this.advFilterHideLabelsAsCols};if(null!==(n=this.columnOptions)&&void 0!==n&&n.length){const t=this.columnOptions.find(t=>t.name===e&&t.label===e);t&&(r.isColVisible=t.isColVisible)}t.filter(t=>t.label===e).length||t.push(r)})}),e=n.concat(t),e.length&&e.unshift({name:te,label:te,value:ee,isFilter:!0,isTableOption:!1}),e},addAdvancedFilter(){this.advFilterSelectedProp&&this.advFilterSearchTerm&&(this.advancedFilteringValues.push({prop:this.advFilterSelectedProp,value:this.advFilterSearchTerm,label:this.advFilterSelectedLabel}),this.eventualSearchQuery=this.advancedFilteringValues,this.advancedFilteringVisibility=!1,this.advFilterSelectedProp=ge,this.advFilterSelectedLabel=te,this.advFilterSearchTerm=null)},clearAllAdvancedFilters(){this.advancedFilteringValues=[],this.eventualSearchQuery=this.advancedFilteringValues,this.advancedFilteringVisibility=!1,this.advFilterSelectedProp=ge,this.advFilterSelectedLabel=te,this.advFilterSearchTerm=null},clearAdvancedFilter(e){this.advancedFilteringValues.splice(e,1),this.eventualSearchQuery=this.advancedFilteringValues},onClickOutside(e){const t=this.$refs["advanced-filter-group"];t&&!t.contains(e.target)&&(this.advancedFilteringVisibility=!1)},updateColsOptions(){this.columnOptions=this.setColsOptions()},changeColVisibility(e){const t=this.columnOptions.findIndex(t=>t.label===e.label);-1!==t&&(this.columnOptions[t].isColVisible=e.value)}}};const ve={},be={TABLET:"tablet",LAPTOP:"laptop",DESKTOP:"desktop"};var ye={name:"SortableTable",components:{THead:Q,Checkbox:p["a"],AsyncButton:h["b"],ActionDropdown:w,LabeledSelect:Y["a"]},mixins:[re,ce,de,fe,L,he,me],props:{headers:{type:Array,required:!0},rows:{type:Array,required:!0},keyField:{type:String,default:"_key"},loading:{type:Boolean,required:!1},groupBy:{type:String,default:null},groupRef:{type:String,default:null},groupSort:{type:Array,default:null},defaultSortBy:{type:String,default:null},tableActions:{type:Boolean,default:!0},rowActions:{type:Boolean,default:!0},mangleActionResources:{type:Function,default:null},rowActionsWidth:{type:Number,default:40},search:{type:Boolean,default:!0},extraSearchFields:{type:Array,default:null},subRows:{type:Boolean,default:!1},subExpandable:{type:Boolean,default:!1},subExpandColumn:{type:Boolean,default:!1},subSearch:{type:String,default:null},subFields:{type:Array,default:null},topDivider:{type:Boolean,default:!0},bodyDividers:{type:Boolean,default:!1},overflowX:{type:Boolean,default:!1},overflowY:{type:Boolean,default:!1},paging:{type:Boolean,default:!1},pagingLabel:{type:String,default:"sortableTable.paging.generic"},pagingParams:{type:Object,default:null},rowsPerPage:{type:Number,default:null},noRowsKey:{type:String,default:"sortableTable.noRows"},showNoRows:{type:Boolean,default:!0},noDataKey:{type:String,default:"sortableTable.noData"},showHeaders:{type:Boolean,default:!0},sortGenerationFn:{type:Function,default:null},getCustomDetailLink:{type:Function,default:null},componentTestid:{type:String,default:"sortable-table"},useQueryParamsForSimpleFiltering:{type:Boolean,default:!1},forceUpdateLiveAndDelayed:{type:Number,default:0}},data(){var e;let t="",n="";var r,i;!this.hasAdvancedFiltering&&this.useQueryParamsForSimpleFiltering&&null!==(e=this.$route.query)&&void 0!==e&&e.q&&(t=null===(r=this.$route.query)||void 0===r?void 0:r.q,n=null===(i=this.$route.query)||void 0===i?void 0:i.q);return{currentPhase:h["a"].WAITING,expanded:{},searchQuery:t,eventualSearchQuery:n,actionOfInterest:null,loadingDelay:!1}},mounted(){this._loadingDelayTimer=setTimeout(()=>{this.loadingDelay=!0},200);const e=document.querySelector("main");this._onScroll=this.onScroll.bind(this),null===e||void 0===e||e.addEventListener("scroll",this._onScroll)},beforeDestroy(){clearTimeout(this.loadingDelayTimer),clearTimeout(this._scrollTimer),clearTimeout(this._loadingDelayTimer),clearTimeout(this._liveColumnsTimer),clearTimeout(this._delayedColumnsTimer),clearTimeout(this.manualRefreshTimer);const e=document.querySelector("main");null===e||void 0===e||e.removeEventListener("scroll",this._onScroll)},watch:{eventualSearchQuery:O()((function(e){if(this.searchQuery=e,!this.hasAdvancedFiltering&&this.useQueryParamsForSimpleFiltering){var t;const n={name:this.$route.name,params:{...this.$route.params},query:{...this.$route.query,q:e}};!e&&null!==(t=this.$route.query)&&void 0!==t&&t.q&&(n.query={}),this.$router.replace(n)}}),200),descending(e,t){this.watcherUpdateLiveAndDelayed(e,t)},searchQuery(e,t){this.watcherUpdateLiveAndDelayed(e,t)},sortFields(e,t){this.watcherUpdateLiveAndDelayed(e,t)},groupBy(e,t){this.watcherUpdateLiveAndDelayed(e,t)},namespaces(e,t){this.watcherUpdateLiveAndDelayed(e,t)},page(e,t){this.watcherUpdateLiveAndDelayed(e,t)},forceUpdateLiveAndDelayed(e,t){this.watcherUpdateLiveAndDelayed(e,t)},initalLoad:{handler(e){e&&(this._didinit=!0,this.$nextTick(()=>this.updateLiveAndDelayed()))},immediate:!0},manualRefreshLoadingFinished:{handler(e,t){this.currentPhase=e?h["a"].ACTION:h["a"].WAITING,e&&e!==t&&this.$nextTick(()=>this.updateLiveAndDelayed())},immediate:!0}},created(){this.debouncedRefreshTableData=O()(this.refreshTableData,500)},computed:{...Object(o["a"])({isTooManyItemsToAutoUpdate:"resource-fetch/isTooManyItemsToAutoUpdate"}),...Object(o["a"])({isManualRefreshLoading:"resource-fetch/manualRefreshIsLoading"}),namespaces(){return this.$store.getters["activeNamespaceCache"]},initalLoad(){var e;return!(this.loading||this._didinit||null===(e=this.rows)||void 0===e||!e.length)},manualRefreshLoadingFinished(){var e;return!(this.loading||!this._didinit||null===(e=this.rows)||void 0===e||!e.length||this.isManualRefreshLoading)},fullColspan(){let e=0;for(let t=0;t!e.maxPageSize||e.maxPageSize&&e.maxPageSize>=this.perPage);if(this.groupBy){const t=e.find(e=>e.name===this.groupBy);t&&Object(f["i"])(e,t)}const t=e.find(e=>!e.width);if(!t){const t=e.find(e=>e.canBeVariable);if(t){const n=Object(d["e"])(t);delete n.width,e.splice(e.indexOf(t),1,n)}}if(this.hasAdvancedFiltering){const t=this.handleColsVisibilyAndFiltering(e);return t}return e},dt(){const e={check:"Select: ",actions:"Actions: "};return this.columns.forEach(t=>{e[t.name]=(t.label||t.name)+":"}),e},classObject(){return{"top-divider":this.topDivider,"body-dividers":this.bodyDividers,"overflow-y":this.overflowY,"overflow-x":this.overflowX}},hasLiveColumns(){const e=this.columns.find(e=>{var t;return(null===(t=e.formatter)||void 0===t?void 0:t.startsWith("Live"))||e.liveUpdates});return!!e},hasDelayedColumns(){const e=this.columns.find(e=>e.delayLoading);return!!e},columnFormmatterIDs(){const e={};return this.columns.forEach(t=>{t.formatter&&(e[t.formatter]=Object(u["e"])(t.formatter))}),e},displayRows(){const e=[],t=this.columnFormmatterIDs;return this.groupedRows.forEach(n=>{const r={grp:n,key:n.key,ref:n.ref,rows:[]};e.push(r),n.rows.forEach(e=>{const n={row:e,key:this.get(e,this.keyField),showSubRow:this.showSubRow(e,this.keyField),canRunBulkActionOfInterest:this.canRunBulkActionOfInterest(e),columns:[]};r.rows.push(n),this.columns.forEach(r=>{var i;const o=r.delayLoading?void 0:this.valueFor(e,r,r.isLabel);let a,s=o,l=!1;if(Array.isArray(o)&&(s=o.join(", ")),r.formatter)if(ve[r.formatter])a=ve[r.formatter],l=!0;else{var c;const e=null===(c=this.$plugin)||void 0===c?void 0:c.getDynamic("formatters",r.formatter);e&&(a=e,l=!0)}n.columns.push({col:r,value:o,formatted:s,component:a,needRef:l,delayed:r.delayLoading,live:(null===(i=r.formatter)||void 0===i?void 0:i.startsWith("Live"))||r.liveUpdates,label:this.labelFor(r),dasherize:t[r.formatter]||""})})})}),e}},methods:{refreshTableData(){this.$store.dispatch("resource-fetch/doManualRefresh")},get:d["h"],dasherize:u["e"],onScroll(){(this.hasLiveColumns||this.hasDelayedColumns)&&(clearTimeout(this._liveColumnsTimer),clearTimeout(this._scrollTimer),clearTimeout(this._delayedColumnsTimer),this._scrollTimer=setTimeout(()=>{this.updateLiveColumns(),this.updateDelayedColumns()},300))},watcherUpdateLiveAndDelayed(e,t){e!==t&&this.$nextTick(()=>this.updateLiveAndDelayed())},updateLiveAndDelayed(){this.hasLiveColumns&&this.updateLiveColumns(),this.hasDelayedColumns&&this.updateDelayedColumns()},updateDelayedColumns(){if(clearTimeout(this._delayedColumnsTimer),!this.$refs.column||0===this.pagedRows.length)return;const e=this.$refs.column.filter(e=>e.startDelayedLoading&&!e.__delayedLoading),t=(window.innerHeight||document.documentElement.clientHeight)+100;let n=0;for(let r=0;r=0&&o<=t&&(i.startDelayedLoading(!0),i.__delayedLoading=!0,n++,4===n))return void(this._delayedColumnsTimer=setTimeout(this.updateDelayedColumns,100))}},updateLiveColumns(){if(clearTimeout(this._liveColumnsTimer),!this.$refs.column||!this.hasLiveColumns||0===this.pagedRows.length)return;const e=window.innerHeight||document.documentElement.clientHeight,t=this.$refs.column.filter(e=>!!e.liveUpdate),n=s()();let r=Number.MAX_SAFE_INTEGER;for(let i=0;i=0&&a<=e){const e=o.liveUpdate(n);ethis.updateLiveColumns(),1e3*r)},labelFor(e){return e.labelKey?this.t(e.labelKey,void 0,!0):e.label?e.label:Object(u["s"])(e.name)},valueFor(e,t,n){if("function"===typeof t.value)return t.value(e);var r,i,o;if(n)return null!==(r=e.metadata)&&void 0!==r&&r.labels&&null!==(i=e.metadata)&&void 0!==i&&i.labels[t.label]?null===(o=e.metadata)||void 0===o?void 0:o.labels[t.label]:"";const a=t.value||t.name,s=Object(d["h"])(e,a);return null===s||void 0===s?"":s},isExpanded(e){const t=e[this.keyField];return!!this.expanded[t]},toggleExpand(e){const t=e[this.keyField],n=!this.expanded[t];return this.expanded[t]=n,this.expanded={...this.expanded},n},setBulkActionOfInterest(e){this.actionOfInterest=e},canRunBulkActionOfInterest(e){var t;if(!this.actionOfInterest||c()(null===e||void 0===e?void 0:e.availableActions))return!1;const n=null===(t=e.availableActions)||void 0===t?void 0:t.find(e=>e.action===this.actionOfInterest.action);return null===n||void 0===n?void 0:n.enabled},focusSearch(){this.$refs.searchQuery&&(this.$refs.searchQuery.focus(),this.$refs.searchQuery.select())},nearestCheckbox(){var e;return null===(e=document.activeElement.closest("tr.main-row"))||void 0===e?void 0:e.querySelector(".checkbox-custom")},focusAdjacent(e=!0){const t=Array.from(this.$el.querySelectorAll(".checkbox-custom")),n=this.nearestCheckbox();let r=-1;return r=n?t.indexOf(n)+(e?1:-1):e?1:t.length-1,r<1?(r=1,null):r>=t.length?(r=t.length-1,null):t[r]?(t[r].focus(),t[r]):void 0},focusNext:N()((function(e,t=!1){const n=this.focusAdjacent(!0),r=C(n,"tr");null!==r&&void 0!==r&&r.classList.contains("row-selected")||this.keySelectRow(r,t)}),50),focusPrevious:N()((function(e,t=!1){const n=this.focusAdjacent(!1),r=C(n,"tr");null!==r&&void 0!==r&&r.classList.contains("row-selected")||this.keySelectRow(r,t)}),50),showSubRow(e,t){const n=this.subRows&&(!this.subExpandable||this.expanded[Object(d["h"])(e,t)]),r=e.stateDescription;return n||r},handleActionButtonClick(e,t){this.$emit("clickedActionButton",{event:t,targetElement:this.$refs["actionButton"+e][0]})}}},_e=ye,we=(n("6b05"),n("168b"),Object(y["a"])(_e,r,i,!1,null,"70999d93",null));t["b"]=we.exports},1001:function(e,t,n){var r=n("986c");function i(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}e.exports=i},1032:function(e,t,n){"use strict";var r=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{staticClass:"checkbox-outer-container",attrs:{"data-checkbox-ctrl":""}},[t("label",{staticClass:"checkbox-container",class:{disabled:e.isDisabled},attrs:{for:e.id},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.clicked(t))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:(t.preventDefault(),e.clicked(t))}],click:function(t){return e.clicked(t)}}},[t("input",{attrs:{type:"checkbox",tabindex:-1,name:e.id},domProps:{checked:e.isChecked,value:e.valueWhenTrue},on:{click:function(e){e.stopPropagation(),e.preventDefault()}}}),t("span",{staticClass:"checkbox-custom",class:{indeterminate:e.indeterminate},attrs:{tabindex:e.isDisabled?-1:0,"aria-label":e.label,"aria-checked":!!e.value,role:"checkbox"}}),e.$slots.label||e.label||e.labelKey||e.tooltipKey||e.tooltip?t("span",{staticClass:"checkbox-label",class:{"checkbox-primary":e.primary}},[e._t("label",(function(){return[e.labelKey?t("t",{attrs:{k:e.labelKey,raw:!0}}):e.label?[e._v(e._s(e.label))]:e._e(),e.tooltipKey?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.t(e.tooltipKey),expression:"t(tooltipKey)"}],staticClass:"checkbox-info icon icon-info icon-lg"}):e.tooltip?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.tooltip,expression:"tooltip"}],staticClass:"checkbox-info icon icon-info icon-lg"}):e._e()]}))],2):e._e()]),e.descriptionKey||e.description?t("div",{staticClass:"checkbox-outer-container-description"},[e.descriptionKey?t("t",{attrs:{k:e.descriptionKey}}):e.description?[e._v(" "+e._s(e.description)+" ")]:e._e()],2):e._e()])},i=[],o=n("8bbf"),a=n.n(o),s=n("da25"),l=n("bddd"),c=n("736a"),u=n.n(c),d=a.a.extend({name:"Checkbox",props:{value:{type:[Boolean,Array,String],default:!1},label:{type:String,default:null},labelKey:{type:String,default:null},id:{type:String,default:String(1e3*Math.random())},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},mode:{type:String,default:s["s"]},tooltip:{type:[String,Object],default:null},tooltipKey:{type:String,default:null},valueWhenTrue:{type:[Boolean,String,Number],default:!0},descriptionKey:{type:String,default:null},description:{type:String,default:null},primary:{type:Boolean,default:!1}},computed:{isDisabled(){return this.disabled||this.mode===s["z"]},isChecked(){return this.isMulti(this.value)?this.findTrueValues(this.value):this.value===this.valueWhenTrue}},methods:{clicked(e){if("A"===e.target.tagName&&e.target.href)return!0;if(e.stopPropagation(),e.preventDefault(),this.isDisabled)return;const t={bubbles:!0,cancelable:!1,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey},n=new CustomEvent("click",t),r=u()(this.value);this.isMulti(r)?(this.isChecked?Object(l["i"])(r,this.valueWhenTrue):Object(l["a"])(r,this.valueWhenTrue),this.$emit("input",r)):this.isString(this.valueWhenTrue)?this.isChecked?this.$emit("input",null):this.$emit("input",this.valueWhenTrue):(this.$emit("input",!r),this.$el.dispatchEvent(n))},isMulti(e){return Array.isArray(e)},isString(e){return"string"===typeof e},findTrueValues(e){return e.find(e=>e===this.valueWhenTrue)||!1}}}),f=d,p=(n("b5fc"),n("d802")),h=Object(p["a"])(f,r,i,!1,null,null,null);t["a"]=h.exports},1042:function(e,t){function n(e){const t=e.regex,n={className:"meta",begin:"@[A-Za-z]+"},r={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:/\$\{/,end:/\}/}]},i={className:"string",variants:[{begin:'"""',end:'"""'},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,r]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[r],relevance:10}]},o={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},a={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},s={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[o]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[o]},a]},l={className:"function",beginKeywords:"def",end:t.lookahead(/[:={\[(\n;]/),contains:[a]},c={begin:[/^\s*/,"extension",/\s+(?=[[(])/],beginScope:{2:"keyword"}},u={begin:[/^\s*/,/end/,/\s+/,/(extension\b)?/],beginScope:{2:"keyword",4:"keyword"}},d=[{match:/\.inline\b/},{begin:/\binline(?=\s)/,keywords:"inline"}],f={begin:[/\(\s*/,/using/,/\s+(?!\))/],beginScope:{2:"keyword"}};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if then forSome for while do throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit export enum given transparent"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,o,l,s,e.C_NUMBER_MODE,c,u,...d,f,n]}}e.exports=n},"108e":function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}e.exports=n},"10d1":function(e,t,n){var r=n("201b"),i=function(){return r.Date.now()};e.exports=i},"119a":function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,".header[data-v-02ac34ae],H2[data-v-02ac34ae]{position:relative}H2[data-v-02ac34ae]{margin:0 0 20px 0}.filter[data-v-02ac34ae]{line-height:45px}.right-action[data-v-02ac34ae]{position:absolute;top:10px;right:10px}",""]),e.exports=t},1264:function(e,t){function n(e){const t="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*",n="\\|[^]*?\\|",r="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?",i={className:"literal",begin:"\\b(t{1}|nil)\\b"},o={className:"number",variants:[{begin:r,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+r+" +"+r,end:"\\)"}]},a=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),s=e.COMMENT(";","$",{relevance:0}),l={begin:"\\*",end:"\\*"},c={className:"symbol",begin:"[:&]"+t},u={begin:t,relevance:0},d={begin:n},f={begin:"\\(",end:"\\)",contains:["self",i,a,o,u]},p={contains:[o,a,l,c,f,u],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{name:"quote"}},{begin:"'"+n}]},h={variants:[{begin:"'"+t},{begin:"#'"+t+"(::"+t+")*"}]},g={begin:"\\(\\s*",end:"\\)"},m={endsWithParent:!0,relevance:0};return g.contains=[{className:"name",variants:[{begin:t,relevance:0},{begin:n}]},m],m.contains=[p,h,g,i,o,a,s,l,c,d,u],{name:"Lisp",illegal:/\S/,contains:[o,e.SHEBANG(),i,a,s,p,h,g,u]}}e.exports=n},1279:function(e,t,n){"use strict";n("05b8")},"12b7":function(e,t,n){const r=n("3171"),i=(e,t)=>{const n=r(e,t);return n?n.version:null};e.exports=i},1386:function(e,t){function n(e){var t=this.__data__,n=t["delete"](e);return this.size=t.size,n}e.exports=n},"150c":function(e,t){function n(e){const t=e.regex,n=e.COMMENT("--","$"),r={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},i={begin:/"/,end:/"/,contains:[{begin:/""/}]},o=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],s=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],c=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],u=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],d=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=u,h=[...c,...l].filter(e=>!u.includes(e)),g={className:"variable",begin:/@[a-z0-9]+/},m={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={begin:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function b(e,{exceptions:t,when:n}={}){const r=n;return t=t||[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?e+"|0":e)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:b(h,{when:e=>e.length<3}),literal:o,type:s,built_in:d},contains:[{begin:t.either(...f),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:h.concat(f),literal:o,type:s}},{className:"type",begin:t.either(...a)},v,g,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,m]}}e.exports=n},1529:function(e,t){function n(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}e.exports=n},"15ca":function(e,t,n){"use strict";var r=function(){var e=this,t=e._self._c;return e.loading?t("div",{staticClass:"loading-indicator"},[e.showMessage?t("div",{staticClass:"overlay",class:{"overlay-content-mode":"content"===e.mode,"overlay-main-mode":"main"===e.mode}},[t("t",{attrs:{k:"generic.loading",raw:!0}})],1):e._e()]):t("div",[e._t("default")],2)},i=[],o={props:{loading:{type:Boolean,default:!0},mode:{type:String,default:"content"},noDelay:{type:Boolean,default:!1}},data(){return{timer:null,showMessage:this.noDelay}},mounted(){this.timer=setTimeout(()=>{this.showMessage=!0},250)},beforeDestroy(){clearTimeout(this.timer)}},a=o,s=(n("4720"),n("d802")),l=Object(s["a"])(a,r,i,!1,null,"23723280",null);t["a"]=l.exports},"168b":function(e,t,n){"use strict";n("f180")},"16e9":function(e,t){function n(e){const t=e.regex,n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},r=["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"],i={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:r},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:i.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:i}],relevance:0}],illegal:"[^\\s\\}\\{]"}}e.exports=n},1722:function(e,t,n){"use strict";n.d(t,"a",(function(){return x}));var r=n("7083"),i=n("98d3"),o=n("2cb5"),a=n("da25");n("bcb3");var s=n("8535"),l=n("907c");n("1fcb"),n("79ad"),n("c5e6"),n("9c09");n("0788");var c=n("66fb");function u(e,t,n){return t=d(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){var t=f(e,"string");return"symbol"===typeof t?t:String(t)}function f(e,t){if("object"!==typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}class p{constructor(){u(this,"cachedGcPrefs",c["a"]),u(this,"cachedGcPrefsStamp",""),u(this,"debugLog",(...e)=>{p.ENABLE_DEBUG_LOGGING&&console.debug("GC",...e)}),u(this,"gcLastRun",0),u(this,"getUiPerfGarbageCollection",e=>{var t;const n=null===(t=e.management.types[l["m"].SETTING])||void 0===t?void 0:t.list.find(e=>e.id===s["b"].UI_PERFORMANCE);if(!n||!n.value)return;const r=`${n.metadata.generation}-${n.metadata.resourceVersion}`;if(this.cachedGcPrefsStamp!==r){this.debugLog(`Updating ${s["b"].UI_PERFORMANCE} cache`),this.cachedGcPrefsStamp=r;const e=JSON.parse(n.value);this.cachedGcPrefs=e.garbageCollection}return this.cachedGcPrefs}),u(this,"lastAccessedCache",{}),u(this,"lastRouteChange",0)}gcEnabledAll(e,t){return this.gcEnabledForStore(e.state)&&this.gcEnabledSetting(e)&&this.gcEnabledForType(e,t)}gcEnabledSetting(e){const{rootState:t}=e,n=this.getUiPerfGarbageCollection(t);return null===n||void 0===n?void 0:n.enabled}gcEnabledForStore(e){var t;return null===e||void 0===e||null===(t=e.config)||void 0===t?void 0:t.supportsGc}gcEnabledForType(e,t){const{getters:n}=e;return!(!t||n.gcIgnoreTypes[t])}gcEnabledInterval(e){const{rootState:t}=e,n=this.getUiPerfGarbageCollection(t);return{enabled:null===n||void 0===n?void 0:n.enabledInterval,interval:(null===n||void 0===n?void 0:n.interval)||0}}gcEnabledRoute(e){const{rootState:t}=e,n=this.getUiPerfGarbageCollection(t);return null===n||void 0===n?void 0:n.enabledOnNavigate}garbageCollect(e,t={}){const n=(new Date).getTime();if(null===this.gcLastRun||n-this.gcLastRun{var d;if(!s)return void this.debugLog(o+": Skipping (no accessed time)");if(!this.gcEnabledForType(e,o))return void this.debugLog(o+": Skipping (type ignored by store)");if(t[o])return void this.debugLog(o+": Skipping (navigating to type)");if(n-s<=c)return void this.debugLog(o+": Skipping (recently accessed)");if(void 0!==this.lastRouteChange&&this.lastRouteChange0&&console.info("Garbage Collected Resources",r),this.debugLog("------ Finished ------")}gcUpdateLastAccessed(e,t){if(!this.gcEnabledAll(e,t))return;const n=e.state.config.namespace;this.lastAccessedCache[n]||(this.lastAccessedCache[n]={}),this.lastAccessedCache[n][t]=(new Date).getTime()}gcUpdateRouteChanged(){this.lastRouteChange=(new Date).getTime()}gcResetStore(e){const t=e.config.namespace;delete this.lastAccessedCache[t],this.debugLog("Forgetting Store:",t)}gcResetType(e,t){const n=e.config.namespace;this.lastAccessedCache[n]&&(delete this.lastAccessedCache[n][t],this.debugLog("Forgetting Type:",n,t))}}u(p,"ENABLE_DEBUG_LOGGING",!1),u(p,"GC_RE_RUN_GAP",5e3);new p;n("bddd"),n("3e9d");var h=n("e24b");function g(){const e=m(document.head.getElementsByTagName("link"));return e?e.href:""}function m(e){for(let n=0;n{if(O(a,e.locationConfig,l||{})){if(t===r["c"].CARD)n===r["b"].CLUSTER_DASHBOARD_CARD&&e.labelKey&&(c[d].label=s.t(e.labelKey));else if(t===r["c"].ACTION&&(n===r["a"].TABLE&&(e.labelKey&&(c[d].label=s.t(e.labelKey)),c[d].bulkable=c[d].multiple||c[d].bulkable,c[d].action||(c[d].action="custom-table-action-"+Object(o["o"])(10).toLowerCase())),n===r["a"].HEADER&&e.shortcut))if("string"===typeof e.shortcut)c[d].shortcutLabel=()=>i["b"]?`(⌘-${e.shortcut.toUpperCase()})`:`(Ctrl-${e.shortcut.toUpperCase()})`,c[d].shortcutKey={windows:["ctrl",e.shortcut],mac:["meta",e.shortcut]};else if("object"===typeof e.shortcut&&!Array.isArray(e.shortcut)&&null!==e.shortcut){c[d].shortcutKey=e.shortcut;const t=i["b"]?c[d].shortcut.mac:c[d].shortcut.windows?c[d].shortcut.windows:[];let n="";t.forEach((e,r)=>{r`(${n})`}u.push(c[d])}})}return u}},"1ab6":function(e,t,n){(function(e){var r=n("201b"),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i,s=a?r.Buffer:void 0,l=s?s.allocUnsafe:void 0;function c(e,t){if(t)return e.slice();var n=e.length,r=l?l(n):new e.constructor(n);return e.copy(r),r}e.exports=c}).call(this,n("6984")(e))},"1ada":function(e,t,n){var r=n("e350");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("513fcb75",r,!0,{sourceMap:!1,shadowMode:!1})},"1bcc":function(e,t){function n(e){const t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}e.exports=n},"1c25":function(e,t,n){"use strict";if(n.r(t),"undefined"!==typeof window){var r=window.document.currentScript,i=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);i&&(n.p=i[1])}function o(e){e.register("detail","elemental.cattle.io.machineregistration",()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,"1e4c"))),e.register("edit","elemental.cattle.io.machineregistration",()=>Promise.all([n.e(0),n.e(5),n.e(2)]).then(n.bind(null,"a6ba"))),e.register("edit","elemental.cattle.io.managedosimage",()=>Promise.all([n.e(0),n.e(5),n.e(2)]).then(n.bind(null,"f09e"))),e.register("edit","elemental.cattle.io.managedosversionchannel",()=>Promise.all([n.e(0),n.e(5),n.e(2)]).then(n.bind(null,"0f86"))),e.register("machine-config","machineinventoryselectortemplate",()=>Promise.all([n.e(6),n.e(4)]).then(n.bind(null,"0461"))),e.register("models","elemental-resource",()=>n("dba2")),e.register("models","elemental.cattle.io.machineinventory",()=>n("4c82")),e.register("models","elemental.cattle.io.machineregistration",()=>n("7f49")),e.register("models","elemental.cattle.io.managedosimage",()=>n("a4c7")),e.register("models","elemental.cattle.io.managedosversionchannel",()=>n("86ba")),e.register("l10n","en-us",()=>n.e(8).then(n.t.bind(null,"1bb6",7)))}var a=n("c41f"),s=function(){var e=this,t=e._self._c;return t("div",[e.$fetchState.pending?t("Loading"):e.isElementalOpInstalled?t("DashboardView"):t("InstallView")],1)},l=[],c=n("907c"),u=n("15ca"),d=function(){var e=this,t=e._self._c;return t("div",{staticClass:"not-installed p-10"},[t("div",{staticClass:"elemental-logo mt-20 mb-10"},[t("svg",{attrs:{width:"32",height:"32",version:"1.1",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg","xmlns:cc":"http://creativecommons.org/ns#","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","data-testid":"elemental-icon"}},[t("path",{attrs:{d:"m19.815 1.7301c-2.58 2.1868-5.2054 4.4095-7.1117 7.2308-1.5421-0.68689-2.4041-1.4374-3.9591-2.2561 0.10575 2.5182-1.0485 8.1467-1.0485 8.1467s-2.7364-1.1426-3.4544-1.7499c-1.5094 7.5704 1.5423 14.516 4.2174 15.512-2.4346-4.0904-1.9532-8.383-2.2783-11.922 0.70834 0.19817 3.2167 1.3552 3.2167 1.3552s1.5349-5.2704 1.7657-7.1474c0.35588-0.17673 2.2587 1.5699 2.2587 1.5699s4.4942-6.3785 4.9654-5.855c0.24957 3.0538 2.4639 5.9451 2.7831 8.7771 1.1229-0.43788 2.251-1.099 3.3739-1.5369 1.2859 2.0276 1.593 4.6848 0.87919 15.125 1.7074-3.9645 2.4989-7.1695 2.7194-10.871 0.15218-2.5549-0.68846-5.5109-1.2476-8.0962-1.0528 0.41053-2.6801 0.992-3.7329 1.4026-1.3899-3.5546-2.8209-6.3417-3.3472-9.6853z","stroke-width":"1.1688"}}),t("path",{attrs:{d:"m16.166 12.71s-0.30557 1.4187-1.0714 2.7058c-1.5366 2.5826-1.9658 3.1325-2.7518 4.6113-0.91122 1.7142-2.0904 3.5459-1.7735 5.4203 0.29322 1.7348 1.575 3.5224 3.1994 4.1986 2.3952 0.99716 5.9631 0.89724 7.7171-1.0146 1.4273-1.5558 1.5035-4.605 0.2828-6.3275-0.93748-1.323-2.0922-3.0908-3.0321-4.7013-0.92852-1.5911-2.5703-4.8926-2.5703-4.8926zm-2.6097 11.247c0.32254 0.9525 0.60977 1.4545 1.168 1.9787 0.69835 0.65574 1.3022 1.036 2.5617 1.3025l-0.04756 1.4089c-0.84539-0.09897-2.7005-0.3863-3.6463-1.257-0.884-0.8138-1.4935-2.0246-1.4519-3.2991z","stroke-width":"1.1688"}})])]),t("h1",{staticClass:"mb-20"},[e._v(" "+e._s(e.t("product.elemental"))+" ")]),t("p",{directives:[{name:"clean-html",rawName:"v-clean-html",value:e.t("product.description",{},!0),expression:"t('product.description', {}, true)"}],staticClass:"description",attrs:{"data-testid":"elemental-description-text"}}),t("Banner",{staticClass:"mt-20 mb-40",attrs:{color:"warning","data-testid":"warning-not-install-or-no-schema"}},[t("div",{directives:[{name:"clean-html",rawName:"v-clean-html",value:e.t("product.notInstalledOrNoSchema",{},!0),expression:"t('product.notInstalledOrNoSchema', {}, true)"}]})]),t("div",{staticClass:"relative"},[e.initLoading?t("Loading",{staticClass:"mt-20",attrs:{mode:"relative"}}):e.elementalRepo||e.operatorChart?t("div",{staticClass:"relative"},[e.operatorChart||e.reloadReady?!e.operatorChart&&e.reloadReady?t("div",[t("Banner",{attrs:{color:"warning"}},[t("span",{staticClass:"mb-20"},[e._v(" "+e._s(e.t("elemental.appInstall.reload"))+" ")]),t("button",{staticClass:"ml-10 btn btn-sm role-primary",attrs:{"data-testid":"install-reload-btn"},on:{click:function(t){return e.reload()}}},[e._v(" "+e._s(e.t("generic.reload"))+" ")])])],1):t("button",{staticClass:"btn role-primary mt-20",attrs:{"data-testid":"charts-install-button",disabled:!e.operatorChart},on:{click:function(t){return t.preventDefault(),e.chartRoute.apply(null,arguments)}}},[e._v(" "+e._s(e.t("elemental.appInstall.button"))+" ")]):t("Loading",{staticClass:"mt-20",attrs:{mode:"relative"}})],1):t("div",[t("AsyncButton",{attrs:{mode:"elementalRepository","data-testid":"repo-add-button"},on:{click:e.addRepository}})],1)],1)],1)},f=[],p=n("9ce4"),h=n("a8b9"),g=n("6418"),m=n("d709"),v=n("da25"),b=n("a655"),y={name:"ElementalOpNotInstalled",components:{Banner:g["a"],AsyncButton:m["b"],Loading:u["a"]},async fetch(){this.reloadReady=!1;const e={};this.$store.getters["management/canList"](c["b"].CLUSTER_REPO)&&(e.repos=this.$store.dispatch("management/findAll",{type:c["b"].CLUSTER_REPO})),this.elementalRepo&&this.operatorChart||(e.catalogRefresh=this.$store.dispatch("catalog/refresh")),await Object(h["a"])(e),this.initLoading=!1},data(){return{reloadReady:!1,initLoading:!0}},computed:{...Object(p["a"])({charts:"catalog/charts",repos:"catalog/repos",t:"i18n/t"}),elementalRepo(){var e,t;const n=null===(e=this.charts)||void 0===e?void 0:e.find(e=>e.chartName===a["a"].OPERATOR);return null===(t=this.repos)||void 0===t?void 0:t.find(e=>e.id===(null===n||void 0===n?void 0:n.repoName))},operatorChart(){return this.$store.getters["catalog/chart"]({repoName:this.elementalRepo.id,repoType:"cluster",chartName:a["a"].OPERATOR})||null}},methods:{async addRepository(e){try{const n=await this.$store.dispatch("management/create",{type:c["b"].CLUSTER_REPO,metadata:{name:"elemental-operator-charts"},spec:{gitBranch:a["d"].BRANCH,gitRepo:a["d"].REPO}});try{await n.save()}catch(t){return Object(b["d"])({error:t,store:this.$store}),void e(!1)}await this.refreshCharts(),e(!0)}catch(t){Object(b["d"])({error:t,store:this.$store}),e(!1)}},async refreshCharts(e=0,t){try{await this.$store.dispatch("catalog/refresh")}catch(n){Object(b["d"])({error:n,store:this.$store})}this.operatorChart||0!==e||(await this.$store.dispatch("management/findAll",{type:c["b"].CLUSTER_REPO}),await this.refreshCharts(e+1)),this.operatorChart||1!==e||t||(this.reloadReady=!0)},async chartRoute(){if(!this.operatorChart)try{await this.refreshCharts()}catch(o){return void Object(b["d"])({error:o,store:this.$store})}const{repoType:e,repoName:t,chartName:n,versions:r}=this.operatorChart,i=Object(b["c"])(r);if(i){const r={[v["h"]]:e,[v["g"]]:t,[v["c"]]:n,[v["n"]]:i.version};this.$router.push({name:"c-cluster-apps-charts-install",params:{cluster:v["d"]},query:r})}else{const e={_statusText:this.t("elemental.versionError.title"),message:this.t("elemental.versionError.message")};Object(b["d"])({error:e,store:this.$store})}},reload(){this.$router.go()}}},_=y,w=(n("9338"),n("77ee"),n("d802")),E=Object(w["a"])(_,d,f,!1,null,"40e10dde",null),N=E.exports,A=function(){var e,t,n=this,r=n._self._c;return r("div",[n.isElementalOpNotInstalledAndHasSchema?r("Banner",{staticClass:"mb-20",attrs:{color:"warning","data-testid":"warning-not-install-with-schema"}},[r("div",{directives:[{name:"clean-html",rawName:"v-clean-html",value:n.t("product.notInstalledHasSchema",{},!0),expression:"t('product.notInstalledHasSchema', {}, true)"}]})]):n._e(),r("h1",{staticClass:"title",attrs:{"data-testid":"elemental-main-title"}},[n._v(" "+n._s(n.t("elemental.menuLabels.titleDashboard"))+" ")]),r("div",{staticClass:"main-card-container"},n._l(n.cards,(function(e,t){return r("div",{key:t,staticClass:"card",attrs:{"data-testid":"card-"+n.formatDataTestid(e.title)}},[r("div",{staticClass:"card-top-block"},[r("h1",[n._v(n._s(e.count))]),r("p",[n._v(n._s(e.title))])]),e.type!==n.machineInvCrd||e.type===n.machineInvCrd&&!e.count?r("button",{staticClass:"btn role-secondary",class:{disabled:e.btnDisabled},attrs:{type:"button","data-testid":"button-"+n.formatDataTestid(e.btnLabel)},on:{click:function(t){return n.handleRoute(e)}}},[n._v(" "+n._s(e.btnLabel)+" ")]):r("div",{staticClass:"used-percentage-container mt-10"},[r("div",[r("p",[n._v(n._s(n.t("elemental.dashboard.used"))),r("span",[n._v(n._s(n.used))])]),r("p",[n._v(n._s(n.t("elemental.dashboard.free"))),r("span",[n._v(n._s(n.free))])])]),r("PercentageBar",{staticClass:"mt-10",attrs:{value:n.percentageBarValue,"color-stops":n.colorStops}})],1)])})),0),r("div",{staticClass:"mt-20 mb-20"},[r("BuildMedia",{attrs:{"registration-endpoint-list":n.registrationEndpoints}})],1),r("div",{staticClass:"main-tables-container mb-40 mt-40"},[r("div",{staticClass:"table-list",attrs:{"data-testid":"machine-reg-block"}},[r("div",{staticClass:"table-title-block"},[r("h3",{staticClass:"mb-20"},[n._v(" "+n._s(n.machineRegTitle)+" ")]),r("nuxt-link",{staticClass:"table-title-block-link",attrs:{to:n.machineRegListLocation,"data-testid":"manage-reg-btn"}},[n._v(" "+n._s(n.t("elemental.dashboard.manageReg"))+" ")])],1),0===(null===(e=n.machineRegRows)||void 0===e?void 0:e.length)?r("div",{staticClass:"empty-table-state"},[r("p",[n._v(n._s(n.t("elemental.dashboard.noMachineReg")))]),r("nuxt-link",{attrs:{to:n.machineRegCreateLocation,"data-testid":"create-machine-reg-btn"}},[n._v(" "+n._s(n.t("elemental.dashboard.noMachineRegAction"))+" ")])],1):r("ResourceTable",{attrs:{rows:n.machineRegRows,headers:n.machineRegHeaders,search:!1,"table-actions":!1,"row-actions":!0,"key-field":"key"},scopedSlots:n._u([{key:"col:token",fn:function({row:e}){return[r("td",{staticClass:"token-truncate"},[n._v(" "+n._s(e.status.registrationToken)+" ")])]}}])})],1),r("div",{staticClass:"table-list",attrs:{"data-testid":"update-group-block"}},[r("div",{staticClass:"table-title-block"},[r("h3",{staticClass:"mb-20"},[n._v(" "+n._s(n.managedOsTitle)+" ")]),r("nuxt-link",{staticClass:"table-title-block-link",attrs:{to:n.managedOsListLocation,"data-testid":"manage-update-group-btn"}},[n._v(" "+n._s(n.t("elemental.dashboard.manageOsImageUpgrade"))+" ")])],1),0===(null===(t=n.managedOsRows)||void 0===t?void 0:t.length)?r("div",{staticClass:"empty-table-state"},[r("p",[n._v(n._s(n.t("elemental.dashboard.noManageOs")))]),r("nuxt-link",{attrs:{to:n.managedOsCreateLocation,"data-testid":"create-update-group-btn"}},[n._v(" "+n._s(n.t("elemental.dashboard.noManageOsAction"))+" ")])],1):r("ResourceTable",{attrs:{rows:n.managedOsRows,headers:n.managedOsHeaders,search:!1,"table-actions":!1,"row-actions":!0,"key-field":"key"}})],1)])],1)},O=[],x=n("462f"),T=function(){var e=this,t=e._self._c;return t("SortableTable",e._g(e._b({ref:"table",attrs:{headers:e._headers,rows:e.filteredRows,loading:e.loading,"group-by":e.computedGroupBy,group:e.group,"group-options":e.groupOptions,search:e.search,paging:!0,"paging-params":e.parsedPagingParams,"paging-label":e.pagingLabel,"row-actions":e.rowActions,"table-actions":e._showBulkActions,"overflow-x":e.overflowX,"overflow-y":e.overflowY,"get-custom-detail-link":e.getCustomDetailLink,"has-advanced-filtering":e.hasAdvancedFiltering,"adv-filter-hide-labels-as-cols":e.advFilterHideLabelsAsCols,"adv-filter-prevent-filtering-labels":e.advFilterPreventFilteringLabels,"key-field":e.keyField,"sort-generation-fn":e.safeSortGenerationFn,"use-query-params-for-simple-filtering":e.useQueryParamsForSimpleFiltering,"force-update-live-and-delayed":e.forceUpdateLiveAndDelayed},on:{clickedActionButton:e.handleActionButtonClick,"group-value-change":function(t){e.group=t}},scopedSlots:e._u([e.showGrouping?{key:"header-middle",fn:function(){return[e._t("more-header-middle"),t("ButtonGroup",{attrs:{options:e.groupOptions},model:{value:e.group,callback:function(t){e.group=t},expression:"group"}})]},proxy:!0}:null,e.showGrouping?{key:"header-right",fn:function(){return[e._t("header-right")]},proxy:!0}:null,{key:"group-by",fn:function({group:e}){return[t("div",{directives:[{name:"clean-html",rawName:"v-clean-html",value:e.ref,expression:"thisGroup.ref"}],staticClass:"group-tab"})]}},e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}})),{key:"shortkeys",fn:function(){return[t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["e"],expression:"['e']",modifiers:{once:!0}}],staticClass:"hide",on:{shortkey:function(t){return e.keyAction("edit")}}}),t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["y"],expression:"['y']",modifiers:{once:!0}}],staticClass:"hide",on:{shortkey:function(t){return e.keyAction("yaml")}}}),e._showBulkActions?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["del"],expression:"['del']",modifiers:{once:!0}}],staticClass:"hide",on:{shortkey:function(t){return e.keyAction("remove")}}}):e._e(),e._showBulkActions?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["backspace"],expression:"['backspace']",modifiers:{once:!0}}],staticClass:"hide",on:{shortkey:function(t){return e.keyAction("remove")}}}):e._e()]},proxy:!0}],null,!0)},"SortableTable",e.$attrs,!1),e.$listeners))},S=[],C=n("e24b"),R=n("5000"),I=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"trim-whitespace",rawName:"v-trim-whitespace"}],staticClass:"btn-group"},e._l(e.optionObjects,(function(n,r){return t("button",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:n.tooltipKey?e.t(n.tooltipKey):n.tooltip,expression:"opt.tooltipKey ? t(opt.tooltipKey) : opt.tooltip"}],key:r,class:n.class,attrs:{"data-testid":"button-group-child-"+r,type:"button",disabled:e.disabled||n.disabled},on:{click:function(t){return e.change(n.value)}}},[e._t("option",(function(){return[n.icon?t("i",{class:{icon:!0,[n.icon]:!0,["icon-"+e.iconSize]:!!e.iconSize}}):e._e(),n.labelKey?t("t",{attrs:{k:n.labelKey}}):n.label?t("span",[e._v(e._s(n.label))]):e._e()]}),{label:n.label,value:n.value})],2)})),0)},k=[],L={props:{value:{type:[String,Number,Boolean,Object],required:!0},inactiveClass:{type:String,default:"bg-disabled"},activeClass:{type:String,default:"bg-primary"},options:{type:Array,required:!0},iconSize:{type:String,default:null},disabled:{type:Boolean,default:!1}},computed:{optionObjects(){const e=this.value;return this.options.map(t=>{let n;n=t&&"object"===typeof t&&"undefined"!==typeof t.value?Object.assign({},t):{label:t,value:t};const r=e===n.value;return n.class={btn:!0,[this.inactiveClass]:!r,[this.activeClass]:r},n})}},methods:{change(e){this.$emit("input",e)}}},M=L,D=Object(w["a"])(M,I,k,!1,null,null,null),P=D.exports,j=n("0fb1"),$=n("bddd"),F=n("7083"),U=n("1722");const B="namespace",H=(e,t)=>{var n,r;if(!e)return null;const i=e.id;let o=i;const a=t.getters["currentStore"](i),s=null===(n=(r=t.getters)[a+"/currentGeneration"])||void 0===n?void 0:n.call(r,i);s&&(o+="/"+s);const l=t.getters["activeNamespaceCacheKey"];return l?`${o}/${l}`:o};var G={name:"ResourceTable",components:{ButtonGroup:P,SortableTable:j["b"]},props:{schema:{type:Object,default:null},rows:{type:Array,required:!0},loading:{type:Boolean,required:!1},keyField:{type:String,default:"_key"},headers:{type:Array,default:null},groupBy:{type:String,default:null},namespaced:{type:Boolean,default:null},search:{type:Boolean,default:!0},tableActions:{type:[Boolean,null],default:null},pagingLabel:{type:String,default:"sortableTable.paging.resource"},pagingParams:{type:Object,default:null},rowActions:{type:Boolean,default:!0},groupable:{type:Boolean,default:null},groupTooltip:{type:String,default:"resourceTable.groupBy.namespace"},overflowX:{type:Boolean,default:!1},overflowY:{type:Boolean,default:!1},sortGenerationFn:{type:Function,default:null},getCustomDetailLink:{type:Function,default:null},ignoreFilter:{type:Boolean,default:!1},hasAdvancedFiltering:{type:Boolean,default:!1},advFilterHideLabelsAsCols:{type:Boolean,default:!1},advFilterPreventFilteringLabels:{type:Boolean,default:!1},useQueryParamsForSimpleFiltering:{type:Boolean,default:!1},forceUpdateLiveAndDelayed:{type:Number,default:0}},mounted(){window.addEventListener("keyup",this.handleEnterKeyPress)},beforeDestroy(){window.removeEventListener("keyup",this.handleEnterKeyPress)},data(){var e;const t=this.$store.getters["type-map/optionsFor"](this.schema),n=(null===t||void 0===t?void 0:t.listGroups)||[],r=n.reduce((e,t)=>(e[t.value]=t,e),{}),i=null!==(e=this.schema)&&void 0!==e&&e.id?this.$store.getters["currentStore"](this.schema.id):void 0;return{listGroups:n,listGroupMapped:r,inStore:i}},computed:{...Object(p["a"])(["currentProduct"]),isNamespaced(){return null!==this.namespaced?this.namespaced:!!Object(C["h"])(this.schema,"attributes.namespaced")},showNamespaceColumn(){const e="namespace"===this.group,t=!this.showGrouping||!e;return t},_showBulkActions(){if(null!==this.tableActions)return this.tableActions;if(this.schema){const e=this.$store.getters["type-map/hideBulkActionsFor"](this.schema);return!e}return!1},_headers(){var e;let t;const n=this.showNamespaceColumn;if(t=this.headers?this.headers.slice():this.$store.getters["type-map/headersFor"](this.schema),null!==(e=this.$store.$plugin)&&void 0!==e&&e.getUIConfig){const e=Object(U["a"])(this,F["c"].TABLE_COL,F["e"].RESOURCE,this.$route);let n=t.length;if(t.length>0){const e=t.findIndex(e=>e.name===x["b"].name);if(e>=0)n=e;else{const e=t.findIndex(e=>{var t,n;return(!e.label||!(null!==(t=e.label)&&void 0!==t&&t.trim()))&&(!e.labelKey||!(null!==(n=e.labelKey)&&void 0!==n&&n.trim()))});e>=0&&(n=e)}}e.forEach(e=>{!e.value&&e.getValue&&(e.value=e.getValue),t.splice(n,0,e)})}if(!n){const e=t.findIndex(e=>e.name===x["t"].name);e>=0&&t.splice(e,1)}const r=this.listGroupMapped[this.group];if(null!==r&&void 0!==r&&r.hideColumn){const e=t.findIndex(e=>e.name===r.hideColumn);e>=0&&t.splice(e,1)}return t},filteredRows(){var e,t;const n=this.$store.getters["isAllNamespaces"];if(!this.isNamespaced||this.ignoreFilter||n&&(null===(e=this.currentProduct)||void 0===e||!e.hideSystemResources)||this.inStore&&(null===(t=this.$store.getters[this.inStore+"/haveNamespace"](this.schema.id))||void 0===t?void 0:t.length))return this.rows||[];const r=this.$store.getters["namespaces"]();if(!this.rows)return[];const i=this.$store.getters["haveAllNamespace"];return this.rows.filter(e=>{var t;return null!==(t=this.currentProduct)&&void 0!==t&&t.hideSystemResources&&this.isNamespaced?!!r[e.metadata.namespace]&&!e.isSystemResource:!this.isNamespaced||(!!i||!!r[e.metadata.namespace])})},_group:Object(R["m"])(R["e"]),group:{get(){const e=this.groupOptions.find(e=>e.value===this._group);return e?this._group:B},set(e){this._group=e}},showGrouping(){if(null===this.groupable){const e=this.$store.getters["isMultipleNamespaces"]&&this.isNamespaced,t=this.listGroups.length>0;return e||t}return this.groupable||!1},computedGroupBy(){if(this.groupBy)return this.groupBy;if("namespace"===this.group&&this.showGrouping)return"groupByLabel";const e=this.listGroupMapped[this.group];return e&&e.field?e.field:null},groupOptions(){const e=[{tooltipKey:"resourceTable.groupBy.none",icon:"icon-list-flat",value:"none"},{tooltipKey:this.groupTooltip,icon:"icon-folder",value:"namespace"}];return e.concat(this.listGroups)},parsedPagingParams(){return this.pagingParams?this.pagingParams:this.schema?{singularLabel:this.$store.getters["type-map/labelFor"](this.schema),pluralLabel:this.$store.getters["type-map/labelFor"](this.schema,99)}:{singularLabel:"",pluralLabel:""}}},methods:{keyAction(e){const t=this.$refs.table;if(!t)return;const n=t.selectedRows;if("remove"!==e){if(1===n.length)switch(e){case"detail":n[0].goToDetail();break;case"edit":n[0].goToEdit();break;case"yaml":n[0].goToViewYaml();break}}else{const e=Object($["e"])(t.availableActions,"action","promptRemove");e&&(t.setBulkActionOfInterest(e),t.applyTableAction(e))}},clearSelection(){this.$refs.table.clearSelection()},safeSortGenerationFn(){return this.sortGenerationFn?this.sortGenerationFn(this.schema,this.$store):H(this.schema,this.$store)},handleActionButtonClick(e){this.$emit("clickedActionButton",e)},handleEnterKeyPress(e){"Enter"===e.key&&this.keyAction("detail")}}},z=G,V=Object(w["a"])(z,T,S,!1,null,null,null),q=V.exports,W=function(){var e=this,t=e._self._c;return t("span",{staticClass:"percentage-bar"},[t("Bar",{attrs:{percentage:e.value,"primary-color":e.primaryColor,slices:e.slices}}),e.showPercentage?t("span",{staticClass:"ml-5 percentage-value"},[e._v(e._s(e.formattedPercentage))]):e._e()],1)},K=[],Y=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bar",style:e.barStyle},[t("div",{staticClass:"indicator",style:e.indicatorStyle}),e._l(e.sliceStyles,(function(e,n){return t("div",{key:n,staticClass:"slice",style:e})}))],2)},X=[],Z={props:{percentage:{type:Number,required:!0},primaryColor:{type:String,default:"--primary"},secondaryColor:{type:String,default:"--border"},slices:{type:Array,default:()=>[]}},computed:{indicatorStyle(){return{width:this.percentage+"%",backgroundColor:`var(${this.primaryColor})`}},barStyle(){return{backgroundColor:`var(${this.secondaryColor})`}},sliceStyles(){return this.slices.map(e=>({left:e+"%",visibility:e=0}},preferredDirection:{type:String,default:ne.LESS},showPercentage:{type:Boolean,default:!1},colorStops:{type:Object,default:null},slices:{type:Array,default:()=>[]}},computed:{primaryColor(){const e=this.preferredDirection===ne.LESS;if(this.colorStops){const t=Object.keys(this.colorStops).sort();if(e){let e=t.length-1;while(this.valuet[e])e++;return this.colorStops[t[e]]}}const t=e?80:20,n=e?this.value:t,r=e?t:this.value;return n<=r?"--primary":"--error"},formattedPercentage(){return Object(te["i"])(this.value)}}},ie=re,oe=(n("ae2f"),Object(w["a"])(ie,W,K,!1,null,"620caa7e",null)),ae=oe.exports,se=n("0012"),le=n("649f");const ce=6;var ue={name:"DashboardView",components:{Banner:g["a"],PercentageBar:ae,ResourceTable:q,BuildMedia:le["a"]},async fetch(){const e={machineRegistrations:this.$store.dispatch("management/findAll",{type:a["e"].MACHINE_REGISTRATIONS}),machineInventories:this.$store.dispatch("management/findAll",{type:a["e"].MACHINE_INVENTORIES}),rancherClusters:this.$store.dispatch("management/findAll",{type:c["a"].RANCHER_CLUSTER}),managedOsImages:this.$store.dispatch("management/findAll",{type:a["e"].MANAGED_OS_IMAGES}),machineInvSelector:this.$store.dispatch("management/findAll",{type:a["e"].MACHINE_INV_SELECTOR}),elementalSchema:this.$store.getters["management/schemaFor"](a["e"].MACHINE_INVENTORIES)};this.$store.getters["management/canList"](c["b"].APP)&&(e.installedApps=this.$store.dispatch("management/findAll",{type:c["b"].APP}));const t=await Object(h["a"])(e);this.resourcesData[a["e"].MACHINE_REGISTRATIONS]=t.machineRegistrations,this.resourcesData[a["e"].MACHINE_INVENTORIES]=t.machineInventories,this.resourcesData[this.ELEMENTAL_CLUSTERS]=Object(b["a"])(t.rancherClusters),this.resourcesData[a["e"].MANAGED_OS_IMAGES]=t.managedOsImages,this.resourcesData[a["e"].MACHINE_INV_SELECTOR]=t.machineInvSelector;const n=t.installedApps&&t.installedApps.length&&!t.installedApps.find(e=>e.id.includes("elemental-operator"));t.elementalSchema&&n&&(this.isElementalOpNotInstalledAndHasSchema=!0)},data(){return{ELEMENTAL_CLUSTERS:"elementalClusters",isElementalOpNotInstalledAndHasSchema:!1,resourcesData:{[""+a["e"].MACHINE_REGISTRATIONS]:[],[""+a["e"].MACHINE_INVENTORIES]:[],[""+this.ELEMENTAL_CLUSTERS]:[],[""+a["e"].MANAGED_OS_IMAGES]:[],[""+a["e"].MACHINE_INV_SELECTOR]:[]},machineInvCrd:a["e"].MACHINE_INVENTORIES,machineRegTitle:this.t(`typeLabel."${a["e"].MACHINE_REGISTRATIONS}"`,{count:2}),managedOsTitle:this.t(`typeLabel."${a["e"].MANAGED_OS_IMAGES}"`,{count:2}),machineRegListLocation:Object(se["a"])("resource",{resource:a["e"].MACHINE_REGISTRATIONS}),machineRegCreateLocation:Object(se["a"])("resource-create",{resource:a["e"].MACHINE_REGISTRATIONS}),managedOsListLocation:Object(se["a"])("resource",{resource:a["e"].MANAGED_OS_IMAGES}),managedOsCreateLocation:Object(se["a"])("resource-create",{resource:a["e"].MANAGED_OS_IMAGES}),machineRegHeaders:[x["s"],{name:"token",labelKey:"tableHeaders.token",value:"status.registrationToken",getValue:e=>{var t;return null===(t=e.status)||void 0===t?void 0:t.registrationToken},sort:"status.registrationToken"}],managedOsHeaders:[x["s"],{name:"OsVersion",labelKey:"tableHeaders.osVersion",value:"spec.managedOSVersionName",getValue:e=>e.spec.managedOSVersionName||"---",sort:["spec.managedOSVersionName"]},{name:"TargetClusters",labelKey:"tableHeaders.targetClusters",value:"clusterTargetsList",getValue:e=>e.clusterTargetsList||"---",sort:["clusterTargetsList"]}],colorStops:{0:"--error",20:"--warning",75:"--info",95:"--success"}}},computed:{cards(){const e=[],t={name:"c-cluster-product-resource-create",params:{resource:c["a"].RANCHER_CLUSTER,product:"manager"},query:{type:a["b"]}},n={name:"c-cluster-product-resource",params:{resource:c["a"].RANCHER_CLUSTER,product:"manager"},query:{q:a["f"].MACHINE_INV_SELECTOR_TEMPLATES}};return[a["e"].MACHINE_REGISTRATIONS,a["e"].MACHINE_INVENTORIES,this.ELEMENTAL_CLUSTERS].forEach(r=>{var i,o,a;const s={type:r,count:(null===(i=this.resourcesData[r])||void 0===i?void 0:i.length)||0,title:this.t(`typeLabel."${r}"`,{count:2}),btnLabel:this.t(`elemental.dashboard.btnLabel.${null!==(o=this.resourcesData[r])&&void 0!==o&&o.length?"manage":"create"}."${r}"`),btnRoute:Object(se["a"])("resource"+(null!==(a=this.resourcesData[r])&&void 0!==a&&a.length?"":"-create"),{resource:r}),btnDisabled:!1,btnVisible:!0};r===this.ELEMENTAL_CLUSTERS&&s.count>0?s.btnRoute=n:r===this.ELEMENTAL_CLUSTERS&&(s.btnRoute=t),e.push(s)}),e},machineRegRows(){const e=this.resourcesData[a["e"].MACHINE_REGISTRATIONS];return(null===e||void 0===e?void 0:e.length)>ce?e.slice(0,ce):e||[]},managedOsRows(){const e=this.resourcesData[a["e"].MANAGED_OS_IMAGES];return(null===e||void 0===e?void 0:e.length)>ce?e.slice(0,ce):e||[]},percentageBarValue(){var e;const t=(null===(e=this.resourcesData[a["e"].MACHINE_INVENTORIES])||void 0===e?void 0:e.length)||0;return this.used&&t?100*this.used/t:0},free(){var e,t;return null!==(e=this.resourcesData[a["e"].MACHINE_INVENTORIES])&&void 0!==e&&e.length?(null===(t=this.resourcesData[a["e"].MACHINE_INVENTORIES])||void 0===t?void 0:t.length)-this.used:0},used(){const e=this.resourcesData[a["e"].MACHINE_INVENTORIES].filter(e=>e.clusterName);return(null===e||void 0===e?void 0:e.length)||0},registrationEndpoints(){return this.resourcesData[a["e"].MACHINE_REGISTRATIONS]||[]}},methods:{handleRoute(e){e.btnDisabled||this.$router.push(e.btnRoute)},async downloadMachineReg(e,t){try{await e.downloadMachineRegistration(),t(!0)}catch(n){console.error("Failed to download file",n),t(!1)}},formatDataTestid(e){try{return e.toLowerCase().replace(/\s/g,"-")}catch(t){return"name-not-generated"}}}},de=ue,fe=(n("a365"),Object(w["a"])(de,A,O,!1,null,"74ec30de",null)),pe=fe.exports,he={name:"BaseView",components:{Loading:u["a"],InstallView:N,DashboardView:pe},async fetch(){if(this.$store.getters["management/canList"](a["e"].MACHINE_REGISTRATIONS)){var e,t;let n;this.$store.getters["management/canList"](c["b"].APP)&&(n=await this.$store.dispatch("management/findAll",{type:c["b"].APP}));const r=this.$store.getters["management/schemaFor"](a["e"].MACHINE_INVENTORIES),i=(null===(e=n)||void 0===e?void 0:e.length)&&!(null!==(t=n)&&void 0!==t&&t.find(e=>e.id.includes("elemental-operator")));r&&!i||(this.isElementalOpInstalled=!1)}else this.isElementalOpInstalled=!1},data(){return{isElementalOpInstalled:!0}}},ge=he,me=Object(w["a"])(ge,s,l,!1,null,"5f2a0712",null),ve=me.exports,be=function(){var e=this,t=e._self._c;return t("ResourceList",{attrs:{"has-advanced-filtering":e.advancedFilteringEnabled}})},ye=[],_e=function(){var e=this,t=e._self._c;return e.namespaceFilterRequired?t("IconMessage",{attrs:{vertical:!0,subtle:!1,icon:"icon-filter_alt"},scopedSlots:e._u([{key:"message",fn:function(){return[e._v(" "+e._s(e.t("resourceList.nsFiltering"))+" ")]},proxy:!0}],null,!1,4238627989)}):t("div",[e.showMasthead?t("Masthead",{attrs:{"type-display":e.customTypeDisplay,schema:e.schema,resource:e.resource,"show-incremental-loading-indicator":e.showIncrementalLoadingIndicator,"load-resources":e.loadResources,"load-indeterminate":e.loadIndeterminate}},[t("template",{slot:"extraActions"},[e._t("extraActions")],2)],2):e._e(),t("ExtensionPanel",{attrs:{resource:{},type:e.extensionType,location:e.extensionLocation}}),e.hasListComponent?t("div",[t(e.listComponent,e._b({tag:"component",attrs:{"incremental-loading-indicator":e.showIncrementalLoadingIndicator,rows:e.rows}},"component",e.$data,!1))],1):t("ResourceTable",{attrs:{schema:e.schema,rows:e.rows,loading:e.loading,headers:e.headers,"group-by":e.groupBy,"has-advanced-filtering":e.hasAdvancedFiltering,"adv-filter-hide-labels-as-cols":e.advFilterHideLabelsAsCols,"adv-filter-prevent-filtering-labels":e.advFilterPreventFilteringLabels,"use-query-params-for-simple-filtering":e.useQueryParamsForSimpleFiltering,"force-update-live-and-delayed":e.forceUpdateLiveAndDelayed}})],1)},we=[],Ee=function(){var e=this,t=e._self._c;return t("header",[e._t("typeDescription",(function(){return[t("TypeDescription",{attrs:{resource:e.resource}})]})),t("div",{staticClass:"title"},[t("h1",{staticClass:"m-0"},[e._v(" "+e._s(e._typeDisplay)+" "),e.isExplorer?t("Favorite",{attrs:{resource:e.favoriteResource||e.resource}}):e._e()],1),e.showIncrementalLoadingIndicator?t("ResourceLoadingIndicator",{attrs:{resources:e.loadResources,indeterminate:e.loadIndeterminate}}):e._e()],1),t("div",{staticClass:"actions-container"},[e._t("actions",(function(){return[t("div",{staticClass:"actions"},[e._t("extraActions"),e._t("createButton",(function(){return[e.hasEditComponent&&e._isCreatable?t("n-link",{staticClass:"btn role-primary",attrs:{to:e._createLocation,"data-testid":e.componentTestid+"-create"}},[e._v(" "+e._s(e._createButtonlabel)+" ")]):e._isYamlCreatable?t("n-link",{staticClass:"btn role-primary",attrs:{to:e._yamlCreateLocation,"data-testid":e.componentTestid+"-create-yaml"}},[e._v(" "+e._s(e.t("resourceList.head.createFromYaml"))+" ")]):e._e()]}))],2)]}))],2)],2)},Ne=[],Ae=function(){var e=this,t=e._self._c;return t("i",{staticClass:"favorite icon",class:{"icon-star-open":!e.isFavorite,"icon-star":e.isFavorite},attrs:{tabindex:0,"aria-checked":!!e.isFavorite,"aria-role":"button"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggle.apply(null,arguments)},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.toggle.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:(t.preventDefault(),e.toggle.apply(null,arguments))}]}})},Oe=[],xe={props:{resource:{type:String,required:!0}},computed:{isFavorite(){return this.$store.getters["type-map/isFavorite"](this.resource)}},methods:{toggle(){this.isFavorite?this.$store.dispatch("type-map/removeFavorite",this.resource):this.$store.dispatch("type-map/addFavorite",this.resource)}}},Te=xe,Se=(n("e963"),Object(w["a"])(Te,Ae,Oe,!1,null,"f74a378a",null)),Ce=Se.exports,Re=function(){var e=this,t=e._self._c;return e.typeDescriptionKey?t("Banner",{staticClass:"type-banner mb-20 mt-0",attrs:{color:"info",closable:!0,"label-key":e.typeDescriptionKey},on:{close:e.hideTypeDescription}}):e._e()},Ie=[],ke={components:{Banner:g["a"]},props:{resource:{type:String,required:!0}},computed:{...Object(p["a"])(["currentCluster"]),hideDescriptions:Object(R["m"])(R["f"]),typeDescriptionKey(){let e;return e=this.resource===c["b"].CLUSTER_REPO?!this.currentCluster||this.currentCluster.isLocal?'typeDescription."catalog.cattle.io.clusterrepo.local"':'typeDescription."catalog.cattle.io.clusterrepo"':`typeDescription."${this.resource}"`,!this.hideDescriptions.includes(this.resource)&&!this.hideDescriptions.includes("ALL")&&(!!this.$store.getters["i18n/exists"](e)&&e)}},methods:{hideTypeDescription(){const e=this.hideDescriptions.slice();Object($["a"])(e,this.resource),this.hideDescriptions=e}}},Le=ke,Me=Object(w["a"])(Le,Re,Ie,!1,null,null,null),De=Me.exports,Pe=function(){var e=this,t=e._self._c;return e.count&&!e.haveAll?t("div",{staticClass:"ml-10 resource-loading-indicator"},[t("div",{staticClass:"inner"},[t("div",{staticClass:"resource-loader"},[t("div",{staticClass:"rl-bg"},[t("i",{staticClass:"icon icon-spinner icon-spin"}),t("span",[e._v(e._s(e.t("resourceLoadingIndicator.loading"))+" "),e.indeterminate?e._e():t("span",[e._v(e._s(e.count)+" / "+e._s(e.total))])])])]),t("div",{staticClass:"resource-loader",style:{width:e.width}},[t("div",{staticClass:"rl-fg"},[t("i",{staticClass:"icon icon-spinner icon-spin"}),t("span",[e._v(e._s(e.t("resourceLoadingIndicator.loading"))+" "),e.indeterminate?e._e():t("span",[e._v(e._s(e.count)+" / "+e._s(e.total))])])])])])]):e._e()},je=[],$e={name:"ResourceLoadingIndicator",props:{resources:{type:Array,required:!0},indeterminate:{type:Boolean,default:!1}},data(){const e=this.$store.getters["currentStore"](this.resource);return{inStore:e}},computed:{rowsCount(){if(this.resources.length>0){const e=this.$store.getters[this.inStore+"/all"](this.resources[0])||[];return(e||[]).length}return 0},haveAll(){return this.resources.reduce((e,t)=>e&&this.$store.getters[this.inStore+"/haveAll"](t),!0)},total(){const e=this.$store.getters[this.inStore+"/all"](c["d"]);return this.resources.reduce((t,n)=>{var r,i;const o=null===e||void 0===e||null===(r=e[0])||void 0===r||null===(r=r.counts)||void 0===r?void 0:r[n],a=null===o||void 0===o||null===(i=o.summary)||void 0===i?void 0:i.count,s=a||0;return t+s},0)},count(){return this.resources.reduce((e,t)=>e+(this.$store.getters[this.inStore+"/all"](t)||[]).length,0)},width(){const e=Math.ceil(this.count/this.total*100);return e+"%"}}},Fe=$e,Ue=(n("1279"),Object(w["a"])(Fe,Pe,je,!1,null,"6457c305",null)),Be=Ue.exports,He={name:"MastheadResourceList",components:{Favorite:Ce,TypeDescription:De,ResourceLoadingIndicator:Be},props:{resource:{type:String,required:!0},favoriteResource:{type:String,default:null},schema:{type:Object,default:null},typeDisplay:{type:String,default:null},isCreatable:{type:Boolean,default:null},isYamlCreatable:{type:Boolean,default:null},createLocation:{type:Object,default:null},yamlCreateLocation:{type:Object,default:null},createButtonLabel:{type:String,default:null},loadResources:{type:Array,default:()=>[]},loadIndeterminate:{type:Boolean,default:!1},showIncrementalLoadingIndicator:{type:Boolean,default:!1},componentTestid:{type:String,default:"masthead"}},data(){const e={...this.$route.params},t={name:this.$route.name+"-create",params:e},n=this.$store.getters["type-map/hasCustomEdit"](this.resource),r={name:this.$route.name+"-create",params:e,query:{[v["a"]]:v["A"]}};return{formRoute:t,yamlRoute:r,hasEditComponent:n}},computed:{get:C["h"],...Object(p["a"])(["isExplorer"]),resourceName(){return this.schema?this.$store.getters["type-map/labelFor"](this.schema):this.resource},_typeDisplay(){return null!==this.typeDisplay?this.typeDisplay:this.schema?this.$store.getters["type-map/labelFor"](this.schema,99):"?"},_isYamlCreatable(){return null!==this.isYamlCreatable?this.isYamlCreatable:this.schema&&this._isCreatable&&this.$store.getters["type-map/optionsFor"](this.resource).canYaml},_isCreatable(){var e;return null!==this.isCreatable?this.isCreatable:!(this.schema&&(null===(e=this.schema)||void 0===e||!e.collectionMethods.find(e=>["blocked-post","post"].includes(e.toLowerCase()))))&&this.$store.getters["type-map/optionsFor"](this.resource).isCreatable},_createLocation(){return this.createLocation||this.formRoute},_yamlCreateLocation(){return this.yamlCreateLocation||this.yamlRoute},_createButtonlabel(){return this.createButtonLabel||this.t("resourceList.head.create")}}},Ge=He,ze=(n("6a7b"),Object(w["a"])(Ge,Ee,Ne,!1,null,"c734c0f4",null)),Ve=ze.exports,qe=n("8535");const We="ns",Ke="project",Ye=We+"://",Xe=Ke+"://",Ze="ResourceList",Je=e=>{const t=e["management/byId"](c["m"].SETTING,qe["b"].UI_PERFORMANCE);let n={};if(null===t||void 0===t?void 0:t.value)try{n=JSON.parse(t.value)}catch(r){console.warn("ui-performance setting contains invalid data")}return Object.assign(qe["a"],n||{})};function Qe(e,t,n){return t=et(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(e){var t=tt(e,"string");return"symbol"===typeof t?t:String(t)}function tt(e,t){if("object"!==typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}class nt{isApplicable(e){return Array.isArray(e.namespaced)}isEnabled(e){var t;const n=e["currentProduct"];if("cluster"!==(null===n||void 0===n?void 0:n.inStore))return!1;if(null!==n&&void 0!==n&&n.showWorkspaceSwitcher)return!1;const r=Je(e);return!(null===(t=r.forceNsFilterV2)||void 0===t||!t.enabled)}checkAndCreateParam(e){return this.isApplicable(e)?this.createParam(e.namespaced):""}createParam(e){if(!e||!e.length)return"";const t=e.map(e=>e.replace(Ye,"").replace(Xe,"")).join(",");return`${nt.param}=${t}`}}Qe(nt,"param","projectsornamespaces");var rt=new nt,it={data(){return{forceUpdateLiveAndDelayed:0}},computed:{...Object(p["a"])(["currentProduct","currentCluster","namespaceFilters"]),namespaceFilterRequired(){return this.__namespaceRequired&&!this.__validFilter},namespaceFilter(){return this.__namespaceRequired?this.__validFilter:""},__validFilter(){const e=this.namespaceFilters.length&&this.namespaceFilters.every(e=>e.startsWith(We)||e.startsWith(Ke));return e?this.namespaceFilters:null},__namespaceRequired(){return!!rt.isEnabled(this.$store.getters)&&this.__areResourcesNamespaced},__areResourcesNamespaced(){return"cluster"===this.currentProduct.inStore&&(this.loadResources||[]).every(e=>{var t;const n=this.$store.getters["cluster/schemaFor"](e);return null===n||void 0===n||null===(t=n.attributes)||void 0===t?void 0:t.namespaced})}},watch:{async namespaceFilter(e){e&&(this.$options.name!==Ze&&this.$fetch&&await this.$fetch(),this.forceUpdateLiveAndDelayed=(new Date).getTime())}}};const ot=4;var at={mixins:[it],data(){const e=this.$store.getters["management/byId"](c["m"].SETTING,qe["b"].UI_PERFORMANCE);let t={};if(e&&e.value)try{t=JSON.parse(e.value)}catch(n){console.warn("ui-performance setting contains invalid data")}else t=qe["a"];return{perfConfig:t,init:!1,multipleResources:[],loadResources:[this.resource],hasManualRefresh:!1,watch:!0,isTooManyItemsToAutoUpdate:!1,force:!1,incremental:!1,fetchedResourceType:[]}},beforeDestroy(){this.init&&(this.$store.dispatch("resource-fetch/clearData"),this.fetchedResourceType.forEach(e=>{this.$store.dispatch(e.currStore+"/incrementLoadCounter",e.type)}))},computed:{...Object(p["a"])({refreshFlag:"resource-fetch/refreshFlag"}),rows(){const e=this.fetchedResourceType.find(e=>e.type===this.resource);return e?this.$store.getters[e.currStore+"/all"](this.resource):[]},loading(){return!this.rows.length&&this.$fetchState.pending}},watch:{refreshFlag(e){this.init&&e&&this.$fetch()}},methods:{$initializeFetchData(e,t=[],n){if(!this.init){const r=n||this.$store.getters["currentStore"]();this.__gatherResourceFetchData(e,t,r),this.watch||(this.force=!0),this.isTooManyItemsToAutoUpdate&&(this.hasManualRefresh=!0)}},$fetchType(e,t=[],n){var r;const i=n||this.$store.getters["currentStore"]();this.$initializeFetchData(e,t,i),this.fetchedResourceType.find(t=>t.type===e)||this.fetchedResourceType.push({type:e,currStore:i});let o=0;if(this.incremental){const t=this.__getCountForResources([e],this.namespaceFilter,i);o=Math.ceil(t/ot)}const a={incremental:o,watch:this.watch,force:this.force,hasManualRefresh:this.hasManualRefresh},s=this.$store.getters[i+"/schemaFor"](e);return null!==s&&void 0!==s&&null!==(r=s.attributes)&&void 0!==r&&r.namespaced&&(a.namespaced=this.namespaceFilter),this.$store.dispatch(i+"/findAll",{type:e,opt:a})},__getCountForResources(e,t,n){const r=n||this.$store.getters["currentStore"]();return e.reduce((e,n)=>e+this.__getCountForResource(n,t,r),0)},__getCountForResource(e,t,n){var r,i,o;const a=null===(r=this.$store.getters[n+"/all"](c["d"])[0])||void 0===r?void 0:r.counts[""+e],s=t&&null!==a&&void 0!==a&&a.namespaces?null===a||void 0===a||null===(i=a.namespaces[t])||void 0===i?void 0:i.count:null===a||void 0===a||null===(o=a.summary)||void 0===o?void 0:o.count;return s||0},__gatherResourceFetchData(e,t,n){var r,i,o,a;this.init=!0;const s=null===(r=this.perfConfig)||void 0===r||null===(r=r.manualRefresh)||void 0===r?void 0:r.enabled,l=parseInt((null===(i=this.perfConfig)||void 0===i||null===(i=i.manualRefresh)||void 0===i?void 0:i.threshold)||"0",10),c=null===(o=this.perfConfig)||void 0===o||null===(o=o.incrementalLoading)||void 0===o?void 0:o.enabled,u=parseInt((null===(a=this.perfConfig)||void 0===a||null===(a=a.incrementalLoading)||void 0===a?void 0:a.threshold)||"0",10);this.multipleResources=t;let d=0,f=!0,p=!1,h=!1;const g=this.multipleResources.length?this.multipleResources:[e];d=this.__getCountForResources(g,this.namespaceFilter,n),s&&d>=l&&(f=!1,p=!0),h=c&&u>0&&d>=u,this.$store.dispatch("resource-fetch/updateIsTooManyItems",p),this.watch=f,this.isTooManyItemsToAutoUpdate=p,this.incremental=h}}},st=function(){var e=this,t=e._self._c;return t("div",{staticClass:"message-icon",class:{vertical:e.vertical,subtle:e.subtle}},[t("i",{staticClass:"icon",class:{[e.icon]:!0,[e.iconState]:!!e.iconState}}),t("div",{staticClass:"message"},[e._t("message",(function(){return[e.messageKey?[e._v(" "+e._s(e.t(e.messageKey))+" ")]:[e._v(" "+e._s(e.message)+" ")]]}))],2)])},lt=[],ct={props:{vertical:{type:Boolean,default:!1},icon:{type:String,required:!0},iconState:{type:String,default:null},message:{type:String,default:null},messageKey:{type:String,default:null},subtle:{type:Boolean,default:!1}}},ut=ct,dt=(n("f044"),Object(w["a"])(ut,st,lt,!1,null,"01996ade",null)),ft=dt.exports,pt=function(){var e=this,t=e._self._c;return e.extensionData.length?t("div",e._l(e.extensionData,(function(n,r){return t("div",{key:`extensionData${e.location}${r}`},[t(n.component,{tag:"component",attrs:{resource:e.resource}})],1)})),0):e._e()},ht=[],gt={name:"ExtensionPanel",props:{resource:{type:Object,default:()=>({})},type:{type:String,default:""},location:{type:String,default:""}},data(){return{extensionData:Object(U["a"])(this,this.type,this.location,this.$route)}}},mt=gt,vt=Object(w["a"])(mt,pt,ht,!1,null,null,null),bt=vt.exports,yt={name:Ze,components:{Loading:u["a"],ResourceTable:q,Masthead:Ve,ResourceLoadingIndicator:Be,IconMessage:ft,ExtensionPanel:bt},mixins:[at],props:{hasAdvancedFiltering:{type:Boolean,default:!1},advFilterHideLabelsAsCols:{type:Boolean,default:!1},advFilterPreventFilteringLabels:{type:Boolean,default:!1}},async fetch(){const e=this.$store,t=this.resource,n=this.schema;if(this.hasListComponent){var r;const e=this.listComponent,n=null===(r=await e())||void 0===r?void 0:r.default;if(null!==n&&void 0!==n&&n.typeDisplay&&(this.customTypeDisplay=n.typeDisplay.apply(this)),null!==n&&void 0!==n&&n.fetch&&(this.hasFetch=!0),null!==n&&void 0!==n&&n.$loadingResources){const{loadResources:e,loadIndeterminate:r}=null===n||void 0===n?void 0:n.$loadingResources(this.$route,this.$store);this.loadResources=e||[t],this.loadIndeterminate=r||!1}}if(!this.hasFetch){if(!n)return void e.dispatch("loadingError",new Error(this.t("nav.failWhale.resourceListNotFound",{resource:t},!0)));this.namespaceFilterRequired||await this.$fetchType(t)}},data(){const e=this.$store.getters,t={...this.$route.params},n=t.resource,r=e["type-map/hasCustomList"](n),i=e["currentStore"](n),o=e[i+"/schemaFor"](n),a=e["type-map/optionsFor"](n).showListMasthead;return{inStore:i,schema:o,hasListComponent:r,showMasthead:void 0===a||a,resource:n,extensionType:F["c"].PANEL,extensionLocation:F["d"].RESOURCE_LIST,loadResources:[n],hasFetch:!1,manualRefreshInit:!1,watch:!1,force:!1,customTypeDisplay:null,loadIndeterminate:!1,useQueryParamsForSimpleFiltering:!0}},computed:{headers(){return this.hasListComponent||!this.schema?[]:this.$store.getters["type-map/headersFor"](this.schema)},groupBy(){return this.$store.getters["type-map/groupByFor"](this.schema)},showIncrementalLoadingIndicator(){var e;return null===(e=this.perfConfig)||void 0===e||null===(e=e.incrementalLoading)||void 0===e?void 0:e.enabled}},watch:{namespaceFilter(e,t){Object($["k"])(e,t)||e&&!this.hasFetch&&this.$fetchType(this.resource)}},created(){let e=!1;const t=this.$route.params.resource,n=this.$store.getters["type-map/hasCustomList"](t);n&&(e=this.$store.getters["type-map/importList"](t)),this.listComponent=e}},_t=yt,wt=(n("225d"),Object(w["a"])(_t,_e,we,!1,null,"02ac34ae",null)),Et=wt.exports,Nt=n("0a15"),At={name:"ListElementalResource",components:{ResourceList:Et},async fetch(){this.isMachineInv&&await this.$store.dispatch("management/findAll",{type:a["e"].MACHINE_INV_SELECTOR})},data(){return{ELEMENTAL_DEFAULT_NAMESPACE:Nt["a"]}},computed:{isMachineInv(){return this.$route.params.resource===a["e"].MACHINE_INVENTORIES},advancedFilteringEnabled(){return!!this.isMachineInv}}},Ot=At,xt=Object(w["a"])(Ot,be,ye,!1,null,null,null),Tt=xt.exports,St=function(){var e=this,t=e._self._c;return t("ResourceDetail")},Ct=[],Rt=function(){var e=this,t=e._self._c;return e.$fetchState.pending||e.notFound?t("Loading"):t("div",[e.showMasthead?t("Masthead",{attrs:{resource:e.resource,value:e.liveModel,mode:e.mode,"real-mode":e.realMode,as:e.as,"has-graph":e.hasGraph,"has-detail":e.hasCustomDetail,"has-edit":e.hasCustomEdit,"can-view-yaml":e.canViewYaml,"resource-subtype":e.resourceSubtype,"parent-route-override":e.parentRouteOverride,"store-override":e.storeOverride}},[e.isView&&e.isDetail?t("DetailTop",{attrs:{value:e.liveModel}}):e._e()],1):e._e(),e.isGraph&&e.canViewChart?t("ForceDirectedTreeChart",{attrs:{data:e.chartData,"fdc-config":e.getGraphConfig}}):e.isYaml?t("ResourceYaml",{ref:"resourceyaml",class:{"flex-content":e.flexContent},attrs:{mode:e.mode,yaml:e.yaml,"offer-preview":e.offerPreview,"done-route":e.doneRoute,"done-override":e.value.doneOverride},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}}):t(e.showComponent,e._b({ref:"comp",tag:"component",class:{"flex-content":e.flexContent},attrs:{"done-params":e.doneParams,"done-route":e.doneRoute,mode:e.mode,"initial-value":e.initialModel,"live-value":e.liveModel,"real-mode":e.realMode},on:{"set-subtype":e.setSubtype},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},"component",e._data,!1)),e.isView?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["shift","d"],expression:"['shift','d']",modifiers:{once:!0}}],staticClass:"hide",attrs:{"data-testid":e.componentTestid+"-detail"},on:{shortkey:function(t){return e.keyAction("goToDetail")}}}):e._e(),e.isView?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["shift","c"],expression:"['shift','c']",modifiers:{once:!0}}],staticClass:"hide",attrs:{"data-testid":e.componentTestid+"-config"},on:{shortkey:function(t){return e.keyAction("goToViewConfig")}}}):e._e(),e.isView?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["shift","y"],expression:"['shift','y']",modifiers:{once:!0}}],staticClass:"hide",attrs:{"data-testid":e.componentTestid+"-yaml"},on:{shortkey:function(t){return e.keyAction("goToViewYaml")}}}):e._e(),e.isView?t("button",{directives:[{name:"shortkey",rawName:"v-shortkey.once",value:["shift","e"],expression:"['shift','e']",modifiers:{once:!0}}],staticClass:"hide",attrs:{"data-testid":e.componentTestid+"-edit"},on:{shortkey:function(t){return e.keyAction("goToEdit")}}}):e._e()],1)},It=[],kt=n("cd6d"),Lt=n("ac07"),Mt=n("c5e6"),Dt=function(){var e=this,t=e._self._c;return t("div",{staticClass:"masthead"},[t("header",[t("div",{staticClass:"title"},[t("div",{staticClass:"primaryheader"},[t("h1",[e.location?t("nuxt-link",{attrs:{to:e.location}},[e._v(" "+e._s(e.parent.displayName)+": ")]):t("span",[e._v(e._s(e.parent.displayName)+":")]),e.value.detailPageHeaderActionOverride&&e.value.detailPageHeaderActionOverride(e.realMode)?t("span",[e._v(e._s(e.value.detailPageHeaderActionOverride(e.realMode)))]):t("t",{staticClass:"mastehead-resource-title",attrs:{k:"resourceDetail.header."+e.realMode,subtype:e.resourceSubtype,name:e.displayName,escapehtml:!1}}),!e.isCreate&&e.parent.showState?t("BadgeState",{staticClass:"masthead-state",attrs:{value:e.value}}):e._e(),!e.isCreate&&e.value.injectionEnabled?t("span",{staticClass:"masthead-istio"},[t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.t("projectNamespaces.isIstioInjectionEnabled"),expression:"t('projectNamespaces.isIstioInjectionEnabled')"}],staticClass:"icon icon-sm icon-istio"})]):e._e()],1)]),e.isCreate?e._e():t("div",{staticClass:"subheader"},[e.isNamespace&&e.project?t("span",[e._v(e._s(e.t("resourceDetail.masthead.project"))+": "),t("nuxt-link",{attrs:{to:e.project.detailLocation}},[e._v(e._s(e.project.nameDisplay))])],1):e.isWorkspace?t("span",[e._v(e._s(e.t("resourceDetail.masthead.workspace"))+": "),t("nuxt-link",{attrs:{to:e.workspaceLocation}},[e._v(e._s(e.namespace))])],1):e.namespace&&!e.hasMultipleNamespaces?t("span",[e._v(" "+e._s(e.t("resourceDetail.masthead.namespace"))+": "),e.hideNamespaceLocation?t("span",[e._v(" "+e._s(e.namespace)+" ")]):t("nuxt-link",{attrs:{to:e.namespaceLocation}},[e._v(" "+e._s(e.namespace)+" ")])],1):e._e(),e.parent.showAge?t("span",[e._v(e._s(e.t("resourceDetail.masthead.age"))+": "),t("LiveDate",{staticClass:"live-date",attrs:{value:e.value.creationTimestamp}})],1):e._e(),e.value.showPodRestarts?t("span",[e._v(e._s(e.t("resourceDetail.masthead.restartCount"))+":"),t("span",{staticClass:"live-data"},[e._v(" "+e._s(e.value.restartCount))])]):e._e()])]),e._t("right",(function(){return[t("div",{staticClass:"actions-container align-start"},[t("div",{staticClass:"actions"},[e.detailsAction&&e.currentView===e.DETAIL_VIEW&&e.isView?t("button",{staticClass:"btn role-primary actions mr-10",attrs:{type:"button",disabled:!e.detailsAction.enabled},on:{click:e.invokeDetailsAction}},[e._v(" "+e._s(e.detailsAction.label)+" ")]):e._e(),e.showSensitiveToggle?t("ButtonGroup",{staticClass:"mr-10",attrs:{value:!!e.hideSensitiveData,"icon-size":"lg",options:e.sensitiveOptions},on:{input:e.toggleSensitiveData}}):e._e(),e.viewOptions&&e.isView?t("ButtonGroup",{staticClass:"mr-10",attrs:{options:e.viewOptions},model:{value:e.currentView,callback:function(t){e.currentView=t},expression:"currentView"}}):e._e(),e.isView?t("button",{ref:"actions",staticClass:"btn role-multi-action actions",attrs:{"aria-haspopup":"true",type:"button"},on:{click:e.showActions}},[t("i",{staticClass:"icon icon-actions"})]):e._e()],1)])]}))],2),t("ExtensionPanel",{attrs:{resource:e.value,type:e.extensionType,location:e.extensionLocation}}),e.banner&&e.isView&&!e.parent.hideBanner?t("Banner",{staticClass:"state-banner mb-10",attrs:{color:e.banner.color,label:e.banner.message}}):e._e(),e.managedWarning.show?t("Banner",{staticClass:"mb-20",attrs:{color:"warning",label:e.t("resourceDetail.masthead.managedWarning",e.managedWarning)}}):e._e(),e._t("default")],2)},Pt=[],jt=n("4ac6"),$t=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("span",{class:{"badge-state":!0,[e.bg]:!0}},[e.icon?t("i",{staticClass:"icon",class:{[e.icon]:!0,"mr-5":!!e.msg}}):e._e(),e._v(e._s(e.msg)+" ")])},Ft=[],Ut=n("8bbf"),Bt=n.n(Ut),Ht=Bt.a.extend({props:{value:{type:Object,default:null},color:{type:String,default:null},icon:{type:String,default:null},label:{type:String,default:null}},computed:{bg(){var e;return(null===(e=this.value)||void 0===e?void 0:e.stateBackground)||this.color},msg(){var e;return(null===(e=this.value)||void 0===e?void 0:e.stateDisplay)||this.label}}}),Gt=Ht,zt=(n("d255"),n("6136"),Object(w["a"])(Gt,$t,Ft,!1,null,"70e48e16",null)),Vt=zt.exports,qt=n("9bfd"),Wt={name:"MastheadResourceDetail",components:{BadgeState:Vt,Banner:g["a"],ButtonGroup:P,ExtensionPanel:bt},props:{value:{type:Object,default:()=>({})},mode:{type:String,default:"create"},realMode:{type:String,default:"create"},as:{type:String,default:v["A"]},hasGraph:{type:Boolean,default:!1},hasDetail:{type:Boolean,default:!1},hasEdit:{type:Boolean,default:!1},storeOverride:{type:String,default:null},resource:{type:String,default:null},resourceSubtype:{type:String,default:null},parentRouteOverride:{type:String,default:null}},data(){return{DETAIL_VIEW:v["r"],extensionType:F["c"].PANEL,extensionLocation:F["d"].DETAILS_MASTHEAD}},computed:{schema(){const e=this.storeOverride||this.$store.getters["currentStore"](this.resource);return this.$store.getters[e+"/schemaFor"](this.resource)},isView(){return this.mode===v["z"]},isEdit(){return this.mode===v["s"]},isCreate(){return this.mode===v["q"]},isNamespace(){var e;return(null===(e=this.schema)||void 0===e?void 0:e.id)===c["o"]},isProject(){var e;return(null===(e=this.schema)||void 0===e?void 0:e.id)===c["m"].PROJECT},isProjectHelmChart(){var e;return(null===(e=this.schema)||void 0===e?void 0:e.id)===c["i"].PROJECTHELMCHART},hasMultipleNamespaces(){return!!this.value.namespaces},namespace(){var e,t;return null!==(e=this.value)&&void 0!==e&&null!==(e=e.metadata)&&void 0!==e&&e.namespace?null===(t=this.value)||void 0===t||null===(t=t.metadata)||void 0===t?void 0:t.namespace:null},detailsAction(){var e;return null===(e=this.value)||void 0===e?void 0:e.detailsAction},shouldHifenize(){var e,t;return("view"===this.mode||"edit"===this.mode)&&(null===(e=this.resourceSubtype)||void 0===e?void 0:e.length)&&(null===(t=this.value)||void 0===t||null===(t=t.nameDisplay)||void 0===t?void 0:t.length)},namespaceLocation(){return this.isNamespace?null:this.value.namespaceLocation||{name:"c-cluster-product-resource-id",params:{cluster:this.$route.params.cluster,product:this.$store.getters["productId"],resource:c["o"],id:this.$route.params.namespace}}},isWorkspace(){var e;return this.$store.getters["productId"]===qt["a"]&&!(null===(e=this.value)||void 0===e||null===(e=e.metadata)||void 0===e||!e.namespace)},workspaceLocation(){return{name:"c-cluster-product-resource-id",params:{cluster:this.$route.params.cluster,product:this.$store.getters["productId"],resource:c["h"].WORKSPACE,id:this.$route.params.namespace}}},project(){if(this.isNamespace){const t=this.$store.getters["currentCluster"];if(t){var e;const n=((null===(e=this.value)||void 0===e||null===(e=e.metadata)||void 0===e?void 0:e.labels)||{})[jt["i"]];return this.$store.getters["management/byId"](c["m"].PROJECT,`${t.id}/${n}`)}}return null},banner(){var e,t,n;if(null!==(e=this.value)&&void 0!==e&&null!==(e=e.stateObj)&&void 0!==e&&e.error){const e=this.t("resourceDetail.masthead.defaultBannerMessage.error",void 0,!0);return{color:"error",message:this.value.stateObj.message||e}}if(null!==(t=this.value)&&void 0!==t&&null!==(t=t.spec)&&void 0!==t&&t.paused)return{color:"info",message:this.t("asyncButton.pause.description")};if(null!==(n=this.value)&&void 0!==n&&null!==(n=n.stateObj)&&void 0!==n&&n.transitioning){const e=this.t("resourceDetail.masthead.defaultBannerMessage.transitioning",void 0,!0);return{color:"info",message:this.value.stateObj.message||e}}return null},parent(){var e,t;const n=(null===(e=this.value)||void 0===e?void 0:e.parentNameOverride)||this.$store.getters["type-map/labelFor"](this.schema),r=this.$store.getters["currentProduct"].name,i={name:"c-cluster-product-resource",params:{resource:this.resource,product:r}},o=(null===(t=this.value)||void 0===t?void 0:t.parentLocationOverride)||i;this.parentRouteOverride&&(o.name=this.parentRouteOverride);const a=this.$store.getters["type-map/optionsFor"](this.resource),s={displayName:n,location:o,...a};return s},hideSensitiveData(){return this.$store.getters["prefs/get"](R["g"])},sensitiveOptions(){return[{tooltipKey:"resourceDetail.masthead.sensitive.hide",icon:"icon-hide",value:!0},{tooltipKey:"resourceDetail.masthead.sensitive.show",icon:"icon-show",value:!1}]},viewOptions(){var e;const t=[];return this.hasDetail&&t.push({labelKey:"resourceDetail.masthead.detail",value:v["r"]}),this.hasEdit&&!1!==(null===(e=this.parent)||void 0===e?void 0:e.showConfigView)&&t.push({labelKey:"resourceDetail.masthead.config",value:v["p"]}),this.hasGraph&&t.push({labelKey:"resourceDetail.masthead.graph",value:v["u"]}),this.canViewYaml&&t.push({labelKey:"resourceDetail.masthead.yaml",value:v["A"]}),t.length<2?null:t},currentView:{get(){return this.as},set(e){switch(e){case v["r"]:this.$router.applyQuery({[v["e"]]:v["y"],[v["a"]]:v["y"]});break;case v["p"]:this.$router.applyQuery({[v["e"]]:v["y"],[v["a"]]:v["p"]});break;case v["u"]:this.$router.applyQuery({[v["e"]]:v["y"],[v["a"]]:v["u"]});break;case v["A"]:this.$router.applyQuery({[v["e"]]:v["y"],[v["a"]]:v["A"]});break}}},showSensitiveToggle(){return!!this.value.hasSensitiveData&&this.mode===v["z"]&&this.as!==v["A"]},managedWarning(){var e;const{value:t}=this,n=(null===t||void 0===t||null===(e=t.metadata)||void 0===e?void 0:e.labels)||{},r=n[jt["f"].MANAGED_BY]||"",i=n[jt["f"].MANAGED_NAME]||n[jt["f"].INSTANCE]||"";return{show:this.mode===v["s"]&&!!r,type:(null===t||void 0===t?void 0:t.kind)||"",hasName:i?"yes":"no",appName:i,managedBy:r}},displayName(){let e=this.value.nameDisplay;return this.isProjectHelmChart&&(e=this.value.projectDisplayName),this.shouldHifenize?" - "+e:e},location(){const{parent:e}=this;return null===e||void 0===e?void 0:e.location},hideNamespaceLocation(){return this.$store.getters["currentProduct"].hideNamespaceLocation||null===this.value.namespaceLocation}},methods:{get:C["h"],showActions(){this.$store.commit("action-menu/show",{resources:this.value,elem:this.$refs.actions})},toggleSensitiveData(e){this.$store.dispatch("prefs/set",{key:R["g"],value:!!e})},invokeDetailsAction(){const e=this.detailsAction;if(e){const t=this.value[e.action];t&&t.apply(this.value,[])}}}},Kt=Wt,Yt=(n("76e3"),Object(w["a"])(Kt,Dt,Pt,!1,null,"78de509a",null)),Xt=Yt.exports,Zt=function(){var e=this,t=e._self._c;return t("div",{staticClass:"detail-top",class:{empty:e.isEmpty}},[e.hasNamespaces?t("div",{staticClass:"labels"},[t("span",{staticClass:"label"},[e._v(" "+e._s(e.t("resourceDetail.detailTop.namespaces"))+": ")]),t("span",e._l(e.namespaces,(function(n){return t("nuxt-link",{key:n.name,staticClass:"namespaceLinkList",attrs:{to:n.detailLocation}},[e._v(" "+e._s(n.name)+" ")])})),1)]):e._e(),e.description?t("div",{staticClass:"description"},[t("span",{staticClass:"label"},[e._v(" "+e._s(e.t("resourceDetail.detailTop.description"))+": ")]),t("span",{staticClass:"content"},[e._v(e._s(e.description))])]):e._e(),e.hasDetails?t("div",e._l(e.details,(function(n,r){return t("div",{key:r,staticClass:"details"},e._l(n,(function(n){return t("div",{key:n.label||n.slotName,staticClass:"detail"},[t("span",{staticClass:"label"},[e._v(" "+e._s(n.label)+": ")]),n.formatter?t(n.formatter,e._b({tag:"component",attrs:{value:n.content}},"component",n.formatterOpts,!1)):t("span",[e._v(e._s(n.content))])],1)})),0)})),0):e._e(),e.hasLabels?t("div",{staticClass:"labels"},[t("div",{staticClass:"tags"},[t("span",{staticClass:"label"},[e._v(" "+e._s(e.t("resourceDetail.detailTop.labels"))+": ")]),e._l(e.labels,(function(n,r){return t("Tag",{key:r+n},[e.internalIcons[r]?t("i",{staticClass:"icon",class:e.internalIcons[r]}):e._e(),e.internalTooltips[r]?t("span",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:n?`${r} : ${n}`:r,expression:"prop ? `${key} : ${prop}` : key"}]},[t("span",[e._v(e._s(e.internalTooltips[r]?e.internalTooltips[r]:r))]),e.showAllLabels?t("span",[e._v(": "+e._s(r))]):e._e()]):t("span",[e._v(e._s(n?`${r} : ${n}`:r))])])})),e.showFilteredSystemLabels?t("a",{staticClass:"detail-top__label-button",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.toggleLabels.apply(null,arguments)}}},[e._v(" "+e._s(e.t("resourceDetail.detailTop."+(e.showAllLabels?"hideLabels":"showLabels")))+" ")]):e._e()],2)]):e._e(),e.hasAnnotations?t("div",{staticClass:"annotations"},[t("span",{staticClass:"label"},[e._v(" "+e._s(e.t("resourceDetail.detailTop.annotations"))+": ")]),t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.toggleAnnotations.apply(null,arguments)}}},[e._v(" "+e._s(e.t("resourceDetail.detailTop."+(e.annotationsVisible?"hideAnnotations":"showAnnotations"),{annotations:e.annotationCount}))+" ")]),e.annotationsVisible?t("div",e._l(e.annotations,(function(e,n){return t("DetailText",{key:n,staticClass:"annotation",attrs:{value:e,label:n}})})),1):e._e()]):e._e(),t("ExtensionPanel",{attrs:{resource:e.value,type:e.extensionType,location:e.extensionLocation}})],1)},Jt=[],Qt=function(){var e=this,t=e._self._c;return t("span",{staticClass:"tag"},[e._t("default")],2)},en=[],tn={},nn=tn,rn=(n("8e2a"),Object(w["a"])(nn,Qt,en,!1,null,"0d281a35",null)),on=rn.exports,an=n("330a"),sn=n.n(an),ln=n("edb9"),cn={components:{DetailText:ln["a"],Tag:on,ExtensionPanel:bt},props:{value:{type:Object,default:()=>({})},moreDetails:{type:Array,default:()=>[]},tooltips:{type:Object,default:()=>({})},icons:{type:Object,default:()=>({})}},data(){return{extensionType:F["c"].PANEL,extensionLocation:F["d"].DETAIL_TOP,annotationsVisible:!1,showAllLabels:!1,view:v["z"]}},computed:{namespaces(){var e;return((null===(e=this.value)||void 0===e?void 0:e.namespaces)||[]).map(e=>{var t;return{name:null===e||void 0===e||null===(t=e.metadata)||void 0===t?void 0:t.name,detailLocation:e.detailLocation}})},details(){var e;const t=[...this.moreDetails||[],...(null===(e=this.value)||void 0===e?void 0:e.details)||[]].filter(e=>e.separator||!!(""+e.content)&&void 0!==e.content&&null!==e.content),n=[];let r=[];return t.forEach(e=>{e.separator?(n.push(r),r=[]):r.push(e)}),r.length&&n.push(r),n},labels(){var e,t;return this.showFilteredSystemLabels?null===(e=this.value)||void 0===e?void 0:e.filteredSystemLabels:(null===(t=this.value)||void 0===t?void 0:t.labels)||{}},internalTooltips(){var e;return(null===(e=this.value)||void 0===e?void 0:e.detailTopTooltips)||this.tooltips},internalIcons(){var e;return(null===(e=this.value)||void 0===e?void 0:e.detailTopIcons)||this.icons},annotations(){var e;return(null===(e=this.value)||void 0===e?void 0:e.annotations)||{}},description(){var e;return null===(e=this.value)||void 0===e?void 0:e.description},hasDetails(){return!sn()(this.details)},hasLabels(){return!sn()(this.labels)},hasAnnotations(){return!sn()(this.annotations)},hasDescription(){return!sn()(this.description)},hasNamespaces(){return!sn()(this.namespaces)},annotationCount(){return Object.keys(this.annotations||{}).length},isEmpty(){const e=this.hasDetails||this.hasLabels||this.hasAnnotations||this.hasDescription||this.hasNamespaces;return!e},showFilteredSystemLabels(){var e,t;if(null!==(e=this.value)&&void 0!==e&&e.labels&&null!==(t=this.value)&&void 0!==t&&t.filteredSystemLabels){const e=Object.keys(this.value.labels).length,t=Object.keys(this.value.filteredSystemLabels).length;return e!==t}return!1}},methods:{toggleLabels(){this.showAllLabels=!this.showAllLabels},toggleAnnotations(e){this.annotationsVisible=!this.annotationsVisible}}},un=cn,dn=(n("8c2e"),Object(w["a"])(un,Zt,Jt,!1,null,null,null)),fn=dn.exports,pn=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"chart-container"},[e.isChartFirstRenderAnimationFinished?e._e():t("div",{staticClass:"loading-container"},[t("p",{directives:[{name:"show",rawName:"v-show",value:!e.isChartFirstRendered,expression:"!isChartFirstRendered"}]},[e._v(" "+e._s(e.t("fleet.fdc.loadingChart"))+" ")]),t("p",{directives:[{name:"show",rawName:"v-show",value:e.isChartFirstRendered&&!e.isChartFirstRenderAnimationFinished,expression:"isChartFirstRendered && !isChartFirstRenderAnimationFinished"}]},[e._v(" "+e._s(e.t("fleet.fdc.renderingChart"))+" ")]),t("i",{staticClass:"mt-10 icon-spinner icon-spin"})]),t("div",{attrs:{id:"tree"}}),t("div",{staticClass:"more-info-container"},[t("div",{staticClass:"more-info"},[t("table",e._l(e.moreInfo,(function(n,r){return t("tr",{key:r},["single-error"!==n.type?t("td",{class:{"align-middle":"state-badge"===n.type}},[t("span",{staticClass:"more-info-item-label"},[e._v(e._s(e.t(n.labelKey))+":")])]):e._e(),"title-link"===n.type?t("td",[n.valueObj.detailLocation?t("span",[t("n-link",{attrs:{to:n.valueObj.detailLocation}},[e._v(" "+e._s(n.valueObj.id)+" ")])],1):t("span",[e._v(e._s(n.valueObj.id))])]):"state-badge"===n.type?t("td",{staticClass:"align-middle"},[t("span",[t("BadgeState",{staticClass:"state-bagde",attrs:{color:"bg-"+n.valueObj.stateColor,label:n.valueObj.stateLabel}})],1)]):e._e(),"single-error"===n.type?t("td",{staticClass:"single-error",attrs:{colspan:"2"}},[t("p",[e._v(e._s(n.value))])]):t("td",[e._v(" "+e._s(n.value)+" ")])])})),0)])])])])},hn=[],gn={value:()=>{}};function mn(){for(var e,t=0,n=arguments.length,r={};t=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function yn(e,t){for(var n,r=0,i=e.length;r0)for(var n,r,i=new Array(n),o=0;o=w&&(w=_+1);while(!(y=m[w])&&++w=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},er=function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=tr);for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}var nr=function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},rr=function(){return Array.from(this)},ir=function(){for(var e=this._groups,t=0,n=e.length;t=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),cr.hasOwnProperty(t)?{space:cr[t],local:e}:e};function dr(e){return function(){this.removeAttribute(e)}}function fr(e){return function(){this.removeAttributeNS(e.space,e.local)}}function pr(e,t){return function(){this.setAttribute(e,t)}}function hr(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function gr(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function mr(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}var vr=function(e,t){var n=ur(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?fr:dr:"function"===typeof t?n.local?mr:gr:n.local?hr:pr)(n,t))},br=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function yr(e){return function(){this.style.removeProperty(e)}}function _r(e,t,n){return function(){this.style.setProperty(e,t,n)}}function wr(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}var Er=function(e,t,n){return arguments.length>1?this.each((null==t?yr:"function"===typeof t?wr:_r)(e,t,null==n?"":n)):Nr(this.node(),e)};function Nr(e,t){return e.style.getPropertyValue(t)||br(e).getComputedStyle(e,null).getPropertyValue(t)}function Ar(e){return function(){delete this[e]}}function Or(e,t){return function(){this[e]=t}}function xr(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}var Tr=function(e,t){return arguments.length>1?this.each((null==t?Ar:"function"===typeof t?xr:Or)(e,t)):this.node()[e]};function Sr(e){return e.trim().split(/^|\s+/)}function Cr(e){return e.classList||new Rr(e)}function Rr(e){this._node=e,this._names=Sr(e.getAttribute("class")||"")}function Ir(e,t){var n=Cr(e),r=-1,i=t.length;while(++r=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Pr=function(e,t){var n=Sr(e+"");if(arguments.length<2){var r=Cr(this.node()),i=-1,o=n.length;while(++i=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function ci(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?zi(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?zi(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Ii.exec(e))?new Wi(t[1],t[2],t[3],1):(t=ki.exec(e))?new Wi(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Li.exec(e))?zi(t[1],t[2],t[3],t[4]):(t=Mi.exec(e))?zi(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Di.exec(e))?eo(t[1],t[2]/100,t[3]/100,1):(t=Pi.exec(e))?eo(t[1],t[2]/100,t[3]/100,t[4]):ji.hasOwnProperty(e)?Gi(ji[e]):"transparent"===e?new Wi(NaN,NaN,NaN,0):null}function Gi(e){return new Wi(e>>16&255,e>>8&255,255&e,1)}function zi(e,t,n,r){return r<=0&&(e=t=n=NaN),new Wi(e,t,n,r)}function Vi(e){return e instanceof Ai||(e=Hi(e)),e?(e=e.rgb(),new Wi(e.r,e.g,e.b,e.opacity)):new Wi}function qi(e,t,n,r){return 1===arguments.length?Vi(e):new Wi(e,t,n,null==r?1:r)}function Wi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Ki(){return`#${Qi(this.r)}${Qi(this.g)}${Qi(this.b)}`}function Yi(){return`#${Qi(this.r)}${Qi(this.g)}${Qi(this.b)}${Qi(255*(isNaN(this.opacity)?1:this.opacity))}`}function Xi(){const e=Zi(this.opacity);return`${1===e?"rgb(":"rgba("}${Ji(this.r)}, ${Ji(this.g)}, ${Ji(this.b)}${1===e?")":`, ${e})`}`}function Zi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ji(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Qi(e){return e=Ji(e),(e<16?"0":"")+e.toString(16)}function eo(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ro(e,t,n,r)}function to(e){if(e instanceof ro)return new ro(e.h,e.s,e.l,e.opacity);if(e instanceof Ai||(e=Hi(e)),!e)return new ro;if(e instanceof ro)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=t===o?(n-r)/s+6*(n0&&l<1?0:a,new ro(a,s,l,e.opacity)}function no(e,t,n,r){return 1===arguments.length?to(e):new ro(e,t,n,null==r?1:r)}function ro(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function io(e){return e=(e||0)%360,e<0?e+360:e}function oo(e){return Math.max(0,Math.min(1,e||0))}function ao(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function so(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}Ei(Ai,Hi,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:$i,formatHex:$i,formatHex8:Fi,formatHsl:Ui,formatRgb:Bi,toString:Bi}),Ei(Wi,qi,Ni(Ai,{brighter(e){return e=null==e?xi:Math.pow(xi,e),new Wi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Oi:Math.pow(Oi,e),new Wi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Wi(Ji(this.r),Ji(this.g),Ji(this.b),Zi(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:Ki,formatHex:Ki,formatHex8:Yi,formatRgb:Xi,toString:Xi})),Ei(ro,no,Ni(Ai,{brighter(e){return e=null==e?xi:Math.pow(xi,e),new ro(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Oi:Math.pow(Oi,e),new ro(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Wi(ao(e>=240?e-240:e+120,i,r),ao(e,i,r),ao(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new ro(io(this.h),oo(this.s),oo(this.l),Zi(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=Zi(this.opacity);return`${1===e?"hsl(":"hsla("}${io(this.h)}, ${100*oo(this.s)}%, ${100*oo(this.l)}%${1===e?")":`, ${e})`}`}}));var lo=function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r()=>e;function fo(e,t){return function(n){return e+n*t}}function po(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function ho(e){return 1===(e=+e)?go:function(t,n){return n-t?po(t,n,e):uo(isNaN(t)?n:t)}}function go(e,t){var n=t-e;return n?fo(e,n):uo(isNaN(e)?t:e)}var mo=function e(t){var n=ho(t);function r(e,t){var r=n((e=qi(e)).r,(t=qi(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=go(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function vo(e){return function(t){var n,r,i=t.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=t.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:bo(n,r)})),o=_o.lastIndex;return o=0&&t._call.call(void 0,e),t=t._next;--xo}function Uo(){Io=(Ro=Lo.now())+ko,xo=To=0;try{Fo()}finally{xo=0,Ho(),Io=0}}function Bo(){var e=Lo.now(),t=e-Ro;t>Co&&(ko-=t,Ro=e)}function Ho(){var e,t,n=No,r=1/0;while(n)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:No=t);Ao=e,Go(r)}function Go(e){if(!xo){To&&(To=clearTimeout(To));var t=e-Io;t>24?(e<1/0&&(To=setTimeout(Uo,e-Lo.now()-ko)),So&&(So=clearInterval(So))):(So||(Ro=Lo.now(),So=setInterval(Bo,Co)),xo=1,Mo(Uo))}}jo.prototype=$o.prototype={constructor:jo,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?Do():+n)+(null==t?0:+t),this._next||Ao===this||(Ao?Ao._next=this:No=this,Ao=this),this._call=e,this._time=n,Go()},stop:function(){this._call&&(this._call=null,this._time=1/0,Go())}};var zo=function(e,t,n){var r=new jo;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r},Vo=wn("start","end","cancel","interrupt"),qo=[],Wo=0,Ko=1,Yo=2,Xo=3,Zo=4,Jo=5,Qo=6,ea=function(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};ia(e,n,{name:t,index:r,group:i,on:Vo,tween:qo,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Wo})};function ta(e,t){var n=ra(e,t);if(n.state>Wo)throw new Error("too late; already scheduled");return n}function na(e,t){var n=ra(e,t);if(n.state>Xo)throw new Error("too late; already running");return n}function ra(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function ia(e,t,n){var r,i=e.__transition;function o(e){n.state=Ko,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(o){var c,u,d,f;if(n.state!==Ko)return l();for(c in i)if(f=i[c],f.name===n.name){if(f.state===Xo)return zo(a);f.state===Zo?(f.state=Qo,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[c]):+cYo&&n.state180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:bo(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}function s(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:bo(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}function l(e,t,n,r,o,a){if(e!==n||t!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:bo(e,n)},{i:s-2,x:bo(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),o(t.translateX,t.translateY,n.translateX,n.translateY,r,i),a(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),l(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){var t,n=-1,o=i.length;while(++n=0&&(e=e.slice(0,t)),!e||"start"===e}))}function qa(e,t,n){var r,i,o=Va(t)?ta:na;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var Wa=function(e,t){var n=this._id;return arguments.length<2?ra(this.node(),n).on.on(e):this.each(qa(n,e,t))};function Ka(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}var Ya=function(){return this.on("end.remove",Ka(this._id))},Xa=function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=Nn(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a{}};function Ls(){for(var e,t=0,n=arguments.length,r={};t=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function Ps(e,t){for(var n,r=0,i=e.length;r0)for(var n,r,i=new Array(n),o=0;o=w&&(w=_+1);while(!(y=m[w])&&++w=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},vl=function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=bl);for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}var yl=function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},_l=function(){return Array.from(this)},wl=function(){for(var e=this._groups,t=0,n=e.length;t=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),xl.hasOwnProperty(t)?{space:xl[t],local:e}:e};function Sl(e){return function(){this.removeAttribute(e)}}function Cl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Rl(e,t){return function(){this.setAttribute(e,t)}}function Il(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function kl(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Ll(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}var Ml=function(e,t){var n=Tl(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?Cl:Sl:"function"===typeof t?n.local?Ll:kl:n.local?Il:Rl)(n,t))},Dl=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function Pl(e){return function(){this.style.removeProperty(e)}}function jl(e,t,n){return function(){this.style.setProperty(e,t,n)}}function $l(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}var Fl=function(e,t,n){return arguments.length>1?this.each((null==t?Pl:"function"===typeof t?$l:jl)(e,t,null==n?"":n)):Ul(this.node(),e)};function Ul(e,t){return e.style.getPropertyValue(t)||Dl(e).getComputedStyle(e,null).getPropertyValue(t)}function Bl(e){return function(){delete this[e]}}function Hl(e,t){return function(){this[e]=t}}function Gl(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}var zl=function(e,t){return arguments.length>1?this.each((null==t?Bl:"function"===typeof t?Gl:Hl)(e,t)):this.node()[e]};function Vl(e){return e.trim().split(/^|\s+/)}function ql(e){return e.classList||new Wl(e)}function Wl(e){this._node=e,this._names=Vl(e.getAttribute("class")||"")}function Kl(e,t){var n=ql(e),r=-1,i=t.length;while(++r=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Ql=function(e,t){var n=Vl(e+"");if(arguments.length<2){var r=ql(this.node()),i=-1,o=n.length;while(++i=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function xc(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r()=>e;function Yc(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function Xc(e){return!e.ctrlKey&&!e.button}function Zc(){return this.parentNode}function Jc(e,t){return null==t?{x:e.x,y:e.y}:t}function Qc(){return navigator.maxTouchPoints||"ontouchstart"in this}Yc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var eu=function(){var e,t,n,r,i=Xc,o=Zc,a=Jc,s=Qc,l={},c=$s("start","drag","end"),u=0,d=0;function f(e){e.on("mousedown.drag",p).filter(s).on("touchstart.drag",m).on("touchmove.drag",v,Hc).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(a,s){if(!r&&i.call(this,a,s)){var l=y(this,o.call(this,a,s),a,s,"mouse");l&&(Fc(a.view).on("mousemove.drag",h,Gc).on("mouseup.drag",g,Gc),qc(a.view),zc(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function h(r){if(Vc(r),!n){var i=r.clientX-e,o=r.clientY-t;n=i*i+o*o>d}l.mouse("drag",r)}function g(e){Fc(e.view).on("mousemove.drag mouseup.drag",null),Wc(e.view,n),Vc(e),l.mouse("end",e)}function m(e,t){if(i.call(this,e,t)){var n,r,a=e.changedTouches,s=o.call(this,e,t),l=a.length;for(n=0;n=(o=(g+v)/2))?g=o:v=o,(u=n>=(a=(m+b)/2))?m=a:b=a,i=p,!(p=p[d=u<<1|c]))return i[d]=h,e;if(s=+e._x.call(null,p.data),l=+e._y.call(null,p.data),t===s&&n===l)return h.next=p,i?i[d]=h:e._root=h,e;do{i=i?i[d]=new Array(4):e._root=new Array(4),(c=t>=(o=(g+v)/2))?g=o:v=o,(u=n>=(a=(m+b)/2))?m=a:b=a}while((d=u<<1|c)===(f=(l>=a)<<1|s>=o));return i[f]=p,i[d]=h,e}function iu(e){var t,n,r,i,o=e.length,a=new Array(o),s=new Array(o),l=1/0,c=1/0,u=-1/0,d=-1/0;for(n=0;nu&&(u=r),id&&(d=i));if(l>u||c>d)return this;for(this.cover(l,c).cover(u,d),n=0;ne||e>=i||r>t||t>=o)switch(s=(tf||(o=l.y0)>p||(a=l.x1)=v)<<1|e>=m)&&(l=h[h.length-1],h[h.length-1]=h[h.length-1-c],h[h.length-1-c]=l)}else{var b=e-+this._x.call(null,g.data),y=t-+this._y.call(null,g.data),_=b*b+y*y;if(_=(s=(h+m)/2))?h=s:m=s,(u=a>=(l=(g+v)/2))?g=l:v=l,t=p,!(p=p[d=u<<1|c]))return this;if(!p.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(n=t,f=d)}while(p.data!==e)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):t?(i?t[d]=i:delete t[d],(p=t[0]||t[1]||t[2]||t[3])&&p===(t[3]||t[2]||t[1]||t[0])&&!p.length&&(n?n[f]=p:this._root=p),this):(this._root=i,this)};function du(e){for(var t=0,n=e.length;tc+h||ou+h||al.index){var g=c-s.x-s.vx,m=u-s.y-s.vy,v=g*g+m*m;ve.r&&(e.r=e[t].r)}function l(){if(t){var r,i,o=t.length;for(n=new Array(o),r=0;r[s(e,t,r),e]));for(a=0,i=new Array(c);a{}};function Lu(){for(var e,t=0,n=arguments.length,r={};t=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function Pu(e,t){for(var n,r=0,i=e.length;r0)for(var n,r,i=new Array(n),o=0;o=0&&t._call.call(void 0,e),t=t._next;--Bu}function td(){qu=(Vu=Ku.now())+Wu,Bu=Hu=0;try{ed()}finally{Bu=0,rd(),qu=0}}function nd(){var e=Ku.now(),t=e-Vu;t>zu&&(Wu-=t,Vu=e)}function rd(){var e,t,n=$u,r=1/0;while(n)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:$u=t);Fu=e,id(r)}function id(e){if(!Bu){Hu&&(Hu=clearTimeout(Hu));var t=e-qu;t>24?(e<1/0&&(Hu=setTimeout(td,e-Ku.now()-Wu)),Gu&&(Gu=clearInterval(Gu))):(Gu||(Vu=Ku.now(),Gu=setInterval(nd,zu)),Bu=1,Yu(td))}}Ju.prototype=Qu.prototype={constructor:Ju,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?Xu():+n)+(null==t?0:+t),this._next||Fu===this||(Fu?Fu._next=this:$u=this,Fu=this),this._call=e,this._time=n,id()},stop:function(){this._call&&(this._call=null,this._time=1/0,id())}};const od=1664525,ad=1013904223,sd=4294967296;var ld=function(){let e=1;return()=>(e=(od*e+ad)%sd)/sd};function cd(e){return e.x}function ud(e){return e.y}var dd=10,fd=Math.PI*(3-Math.sqrt(5)),pd=function(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,l=Qu(d),c=Uu("tick","end"),u=ld();function d(){f(),c.call("tick",t),n1?(null==n?s.delete(e):s.set(e,h(n)),t):s.get(e)},find:function(t,n,r){var i,o,a,s,l,c=0,u=e.length;for(null==r?r=1/0:r*=r,c=0;c1?(c.on(e,n),t):c.on(e)}}},hd=function(){var e,t,n,r,i,o=Au(-30),a=1,s=1/0,l=.81;function c(n){var i,o=e.length,a=_u(e,cd,ud).visitAfter(d);for(r=n,i=0;i=s)){(e.data!==t||e.next)&&(0===d&&(d=Ou(n),h+=d*d),0===f&&(f=Ou(n),h+=f*f),h=0)t+=n[r].value;else t=1;e.value=t}var md=function(){return this.eachAfter(gd)},vd=function(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this},bd=function(e,t){var n,r,i=this,o=[i],a=-1;while(i=o.pop())if(e.call(t,i,++a,this),n=i.children)for(r=n.length-1;r>=0;--r)o.push(n[r]);return this},yd=function(e,t){var n,r,i,o=this,a=[o],s=[],l=-1;while(o=a.pop())if(s.push(o),n=o.children)for(r=0,i=n.length;r=0)n+=r[i].value;t.value=n}))},Ed=function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},Nd=function(e){var t=this,n=Ad(t,e),r=[t];while(t!==n)t=t.parent,r.push(t);var i=r.length;while(e!==n)r.splice(i,0,e),e=e.parent;return r};function Ad(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;e=n.pop(),t=r.pop();while(e===t)i=e,e=n.pop(),t=r.pop();return i}var Od=function(){var e=this,t=[e];while(e=e.parent)t.push(e);return t},xd=function(){return Array.from(this)},Td=function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},Sd=function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},Cd=function*(){var e,t,n,r,i=this,o=[i];do{e=o.reverse(),o=[];while(i=e.pop())if(yield i,t=i.children)for(n=0,r=t.length;n=0;--o)l.push(r=i[o]=new Pd(i[o])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(Dd)}function Id(){return Rd(this).eachBefore(Md)}function kd(e){return e.children}function Ld(e){return Array.isArray(e)?e[1]:null}function Md(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function Dd(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Pd(e){this.data=e,this.depth=this.height=0,this.parent=null}Pd.prototype=Rd.prototype={constructor:Pd,count:md,each:vd,eachAfter:yd,eachBefore:bd,find:_d,sum:wd,sort:Ed,path:Nd,ancestors:Od,descendants:xd,leaves:Td,links:Sd,copy:Id,[Symbol.iterator]:Cd};var jd,$d,Fd=0,Ud=0,Bd=0,Hd=1e3,Gd=0,zd=0,Vd=0,qd="object"===typeof performance&&performance.now?performance:Date,Wd="object"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Kd(){return zd||(Wd(Yd),zd=qd.now()+Vd)}function Yd(){zd=0}function Xd(){this._call=this._time=this._next=null}function Zd(e,t,n){var r=new Xd;return r.restart(e,t,n),r}function Jd(){Kd(),++Fd;var e,t=jd;while(t)(e=zd-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Fd}function Qd(){zd=(Gd=qd.now())+Vd,Fd=Ud=0;try{Jd()}finally{Fd=0,tf(),zd=0}}function ef(){var e=qd.now(),t=e-Gd;t>Hd&&(Vd-=t,Gd=e)}function tf(){var e,t,n=jd,r=1/0;while(n)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:jd=t);$d=e,nf(r)}function nf(e){if(!Fd){Ud&&(Ud=clearTimeout(Ud));var t=e-zd;t>24?(e<1/0&&(Ud=setTimeout(Qd,e-qd.now()-Vd)),Bd&&(Bd=clearInterval(Bd))):(Bd||(Gd=qd.now(),Bd=setInterval(ef,Hd)),Fd=1,Wd(Qd))}}Xd.prototype=Zd.prototype={constructor:Xd,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?Kd():+n)+(null==t?0:+t),this._next||$d===this||($d?$d._next=this:jd=this,$d=this),this._call=e,this._time=n,nf()},stop:function(){this._call&&(this._call=null,this._time=1/0,nf())}};var rf=function(e,t,n){var r=new Xd;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r},of=$s("start","end","cancel","interrupt"),af=[],sf=0,lf=1,cf=2,uf=3,df=4,ff=5,pf=6,hf=function(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};bf(e,n,{name:t,index:r,group:i,on:of,tween:af,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:sf})};function gf(e,t){var n=vf(e,t);if(n.state>sf)throw new Error("too late; already scheduled");return n}function mf(e,t){var n=vf(e,t);if(n.state>uf)throw new Error("too late; already running");return n}function vf(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function bf(e,t,n){var r,i=e.__transition;function o(e){n.state=lf,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(o){var c,u,d,f;if(n.state!==lf)return l();for(c in i)if(f=i[c],f.name===n.name){if(f.state===uf)return rf(a);f.state===df?(f.state=pf,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[c]):+ccf&&n.state180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Ef(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}function s(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Ef(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}function l(e,t,n,r,o,a){if(e!==n||t!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:Ef(e,n)},{i:s-2,x:Ef(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),o(t.translateX,t.translateY,n.translateX,n.translateY,r,i),a(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),l(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){var t,n=-1,o=i.length;while(++n>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?rp(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?rp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=zf.exec(e))?new ap(t[1],t[2],t[3],1):(t=Vf.exec(e))?new ap(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=qf.exec(e))?rp(t[1],t[2],t[3],t[4]):(t=Wf.exec(e))?rp(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Kf.exec(e))?pp(t[1],t[2]/100,t[3]/100,1):(t=Yf.exec(e))?pp(t[1],t[2]/100,t[3]/100,t[4]):Xf.hasOwnProperty(e)?np(Xf[e]):"transparent"===e?new ap(NaN,NaN,NaN,0):null}function np(e){return new ap(e>>16&255,e>>8&255,255&e,1)}function rp(e,t,n,r){return r<=0&&(e=t=n=NaN),new ap(e,t,n,r)}function ip(e){return e instanceof jf||(e=tp(e)),e?(e=e.rgb(),new ap(e.r,e.g,e.b,e.opacity)):new ap}function op(e,t,n,r){return 1===arguments.length?ip(e):new ap(e,t,n,null==r?1:r)}function ap(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function sp(){return`#${fp(this.r)}${fp(this.g)}${fp(this.b)}`}function lp(){return`#${fp(this.r)}${fp(this.g)}${fp(this.b)}${fp(255*(isNaN(this.opacity)?1:this.opacity))}`}function cp(){const e=up(this.opacity);return`${1===e?"rgb(":"rgba("}${dp(this.r)}, ${dp(this.g)}, ${dp(this.b)}${1===e?")":`, ${e})`}`}function up(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function dp(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function fp(e){return e=dp(e),(e<16?"0":"")+e.toString(16)}function pp(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new mp(e,t,n,r)}function hp(e){if(e instanceof mp)return new mp(e.h,e.s,e.l,e.opacity);if(e instanceof jf||(e=tp(e)),!e)return new mp;if(e instanceof mp)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=t===o?(n-r)/s+6*(n0&&l<1?0:a,new mp(a,s,l,e.opacity)}function gp(e,t,n,r){return 1===arguments.length?hp(e):new mp(e,t,n,null==r?1:r)}function mp(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function vp(e){return e=(e||0)%360,e<0?e+360:e}function bp(e){return Math.max(0,Math.min(1,e||0))}function yp(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function _p(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}Df(jf,tp,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Zf,formatHex:Zf,formatHex8:Jf,formatHsl:Qf,formatRgb:ep,toString:ep}),Df(ap,op,Pf(jf,{brighter(e){return e=null==e?Ff:Math.pow(Ff,e),new ap(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?$f:Math.pow($f,e),new ap(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ap(dp(this.r),dp(this.g),dp(this.b),up(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:sp,formatHex:sp,formatHex8:lp,formatRgb:cp,toString:cp})),Df(mp,gp,Pf(jf,{brighter(e){return e=null==e?Ff:Math.pow(Ff,e),new mp(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?$f:Math.pow($f,e),new mp(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new ap(yp(e>=240?e-240:e+120,i,r),yp(e,i,r),yp(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new mp(vp(this.h),bp(this.s),bp(this.l),up(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=up(this.opacity);return`${1===e?"hsl(":"hsla("}${vp(this.h)}, ${100*bp(this.s)}%, ${100*bp(this.l)}%${1===e?")":`, ${e})`}`}}));var wp=function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r()=>e;function Ap(e,t){return function(n){return e+n*t}}function Op(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function xp(e){return 1===(e=+e)?Tp:function(t,n){return n-t?Op(t,n,e):Np(isNaN(t)?n:t)}}function Tp(e,t){var n=t-e;return n?Ap(e,n):Np(isNaN(e)?t:e)}var Sp=function e(t){var n=xp(t);function r(e,t){var r=n((e=op(e)).r,(t=op(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=Tp(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function Cp(e){return function(t){var n,r,i=t.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=t.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:Ef(n,r)})),o=Ip.lastIndex;return o=0&&(e=e.slice(0,t)),!e||"start"===e}))}function sh(e,t,n){var r,i,o=ah(t)?gf:mf;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var lh=function(e,t){var n=this._id;return arguments.length<2?vf(this.node(),n).on.on(e):this.each(sh(n,e,t))};function ch(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}var uh=function(){return this.on("end.remove",ch(this._id))},dh=function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=Us(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a{}};function Hh(){for(var e,t=0,n=arguments.length,r={};t=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function Vh(e,t){for(var n,r=0,i=e.length;r0)for(var n,r,i=new Array(n),o=0;o=w&&(w=_+1);while(!(y=m[w])&&++w=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},xg=function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Tg);for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}var Sg=function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},Cg=function(){return Array.from(this)},Rg=function(){for(var e=this._groups,t=0,n=e.length;t=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Dg.hasOwnProperty(t)?{space:Dg[t],local:e}:e};function jg(e){return function(){this.removeAttribute(e)}}function $g(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Fg(e,t){return function(){this.setAttribute(e,t)}}function Ug(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Bg(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Hg(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}var Gg=function(e,t){var n=Pg(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?$g:jg:"function"===typeof t?n.local?Hg:Bg:n.local?Ug:Fg)(n,t))},zg=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function Vg(e){return function(){this.style.removeProperty(e)}}function qg(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Wg(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}var Kg=function(e,t,n){return arguments.length>1?this.each((null==t?Vg:"function"===typeof t?Wg:qg)(e,t,null==n?"":n)):Yg(this.node(),e)};function Yg(e,t){return e.style.getPropertyValue(t)||zg(e).getComputedStyle(e,null).getPropertyValue(t)}function Xg(e){return function(){delete this[e]}}function Zg(e,t){return function(){this[e]=t}}function Jg(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}var Qg=function(e,t){return arguments.length>1?this.each((null==t?Xg:"function"===typeof t?Jg:Zg)(e,t)):this.node()[e]};function em(e){return e.trim().split(/^|\s+/)}function tm(e){return e.classList||new nm(e)}function nm(e){this._node=e,this._names=em(e.getAttribute("class")||"")}function rm(e,t){var n=tm(e),r=-1,i=t.length;while(++r=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var lm=function(e,t){var n=em(e+"");if(arguments.length<2){var r=tm(this.node()),i=-1,o=n.length;while(++i=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function Dm(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r=0&&t._call.call(void 0,e),t=t._next;--lv}function Ev(){pv=(fv=gv.now())+hv,lv=cv=0;try{wv()}finally{lv=0,Av(),pv=0}}function Nv(){var e=gv.now(),t=e-fv;t>dv&&(hv-=t,fv=e)}function Av(){var e,t,n=rv,r=1/0;while(n)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:rv=t);iv=e,Ov(r)}function Ov(e){if(!lv){cv&&(cv=clearTimeout(cv));var t=e-pv;t>24?(e<1/0&&(cv=setTimeout(Ev,e-gv.now()-hv)),uv&&(uv=clearInterval(uv))):(uv||(fv=gv.now(),uv=setInterval(Nv,dv)),lv=1,mv(Ev))}}yv.prototype=_v.prototype={constructor:yv,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?vv():+n)+(null==t?0:+t),this._next||iv===this||(iv?iv._next=this:rv=this,iv=this),this._call=e,this._time=n,Ov()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ov())}};var xv=function(e,t,n){var r=new yv;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r},Tv=Wh("start","end","cancel","interrupt"),Sv=[],Cv=0,Rv=1,Iv=2,kv=3,Lv=4,Mv=5,Dv=6,Pv=function(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};Uv(e,n,{name:t,index:r,group:i,on:Tv,tween:Sv,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Cv})};function jv(e,t){var n=Fv(e,t);if(n.state>Cv)throw new Error("too late; already scheduled");return n}function $v(e,t){var n=Fv(e,t);if(n.state>kv)throw new Error("too late; already running");return n}function Fv(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Uv(e,t,n){var r,i=e.__transition;function o(e){n.state=Rv,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(o){var c,u,d,f;if(n.state!==Rv)return l();for(c in i)if(f=i[c],f.name===n.name){if(f.state===kv)return xv(a);f.state===Lv?(f.state=Dv,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[c]):+cIv&&n.state180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:zv(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}function s(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:zv(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}function l(e,t,n,r,o,a){if(e!==n||t!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:zv(e,n)},{i:s-2,x:zv(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),o(t.translateX,t.translateY,n.translateX,n.translateY,r,i),a(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),l(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){var t,n=-1,o=i.length;while(++n>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Ob(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Ob(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=fb.exec(e))?new Sb(t[1],t[2],t[3],1):(t=pb.exec(e))?new Sb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=hb.exec(e))?Ob(t[1],t[2],t[3],t[4]):(t=gb.exec(e))?Ob(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=mb.exec(e))?Db(t[1],t[2]/100,t[3]/100,1):(t=vb.exec(e))?Db(t[1],t[2]/100,t[3]/100,t[4]):bb.hasOwnProperty(e)?Ab(bb[e]):"transparent"===e?new Sb(NaN,NaN,NaN,0):null}function Ab(e){return new Sb(e>>16&255,e>>8&255,255&e,1)}function Ob(e,t,n,r){return r<=0&&(e=t=n=NaN),new Sb(e,t,n,r)}function xb(e){return e instanceof ob||(e=Nb(e)),e?(e=e.rgb(),new Sb(e.r,e.g,e.b,e.opacity)):new Sb}function Tb(e,t,n,r){return 1===arguments.length?xb(e):new Sb(e,t,n,null==r?1:r)}function Sb(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Cb(){return`#${Mb(this.r)}${Mb(this.g)}${Mb(this.b)}`}function Rb(){return`#${Mb(this.r)}${Mb(this.g)}${Mb(this.b)}${Mb(255*(isNaN(this.opacity)?1:this.opacity))}`}function Ib(){const e=kb(this.opacity);return`${1===e?"rgb(":"rgba("}${Lb(this.r)}, ${Lb(this.g)}, ${Lb(this.b)}${1===e?")":`, ${e})`}`}function kb(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Lb(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mb(e){return e=Lb(e),(e<16?"0":"")+e.toString(16)}function Db(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $b(e,t,n,r)}function Pb(e){if(e instanceof $b)return new $b(e.h,e.s,e.l,e.opacity);if(e instanceof ob||(e=Nb(e)),!e)return new $b;if(e instanceof $b)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=t===o?(n-r)/s+6*(n0&&l<1?0:a,new $b(a,s,l,e.opacity)}function jb(e,t,n,r){return 1===arguments.length?Pb(e):new $b(e,t,n,null==r?1:r)}function $b(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function Fb(e){return e=(e||0)%360,e<0?e+360:e}function Ub(e){return Math.max(0,Math.min(1,e||0))}function Bb(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function Hb(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}rb(ob,Nb,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:yb,formatHex:yb,formatHex8:_b,formatHsl:wb,formatRgb:Eb,toString:Eb}),rb(Sb,Tb,ib(ob,{brighter(e){return e=null==e?sb:Math.pow(sb,e),new Sb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?ab:Math.pow(ab,e),new Sb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Sb(Lb(this.r),Lb(this.g),Lb(this.b),kb(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:Cb,formatHex:Cb,formatHex8:Rb,formatRgb:Ib,toString:Ib})),rb($b,jb,ib(ob,{brighter(e){return e=null==e?sb:Math.pow(sb,e),new $b(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?ab:Math.pow(ab,e),new $b(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Sb(Bb(e>=240?e-240:e+120,i,r),Bb(e,i,r),Bb(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new $b(Fb(this.h),Ub(this.s),Ub(this.l),kb(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=kb(this.opacity);return`${1===e?"hsl(":"hsla("}${Fb(this.h)}, ${100*Ub(this.s)}%, ${100*Ub(this.l)}%${1===e?")":`, ${e})`}`}}));var Gb=function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r()=>e;function qb(e,t){return function(n){return e+n*t}}function Wb(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Kb(e){return 1===(e=+e)?Yb:function(t,n){return n-t?Wb(t,n,e):Vb(isNaN(t)?n:t)}}function Yb(e,t){var n=t-e;return n?qb(e,n):Vb(isNaN(e)?t:e)}var Xb=function e(t){var n=Kb(t);function r(e,t){var r=n((e=Tb(e)).r,(t=Tb(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=Yb(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function Zb(e){return function(t){var n,r,i=t.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=t.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:zv(n,r)})),o=Qb.lastIndex;return o=0&&(e=e.slice(0,t)),!e||"start"===e}))}function Cy(e,t,n){var r,i,o=Sy(t)?jv:$v;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var Ry=function(e,t){var n=this._id;return arguments.length<2?Fv(this.node(),n).on.on(e):this.each(Cy(n,e,t))};function Iy(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}var ky=function(){return this.on("end.remove",Iy(this._id))},Ly=function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=Yh(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a()=>e;function u_(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function d_(e,t,n){this.k=e,this.x=t,this.y=n}d_.prototype={constructor:d_,scale:function(e){return 1===e?this:new d_(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new d_(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var f_=new d_(1,0,0);function p_(e){while(!e.__zoom)if(!(e=e.parentNode))return f_;return e.__zoom}function h_(e){e.stopImmediatePropagation()}p_.prototype=d_.prototype;var g_=function(e){e.preventDefault(),e.stopImmediatePropagation()};function m_(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function v_(){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 b_(){return this.__zoom||f_}function y_(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function __(){return navigator.maxTouchPoints||"ontouchstart"in this}function w_(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}var E_=function(){var e,t,n,r=m_,i=v_,o=w_,a=y_,s=__,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=ov,f=Wh("start","zoom","end"),p=500,h=150,g=0,m=10;function v(e){e.property("__zoom",b_).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",x).filter(s).on("touchstart.zoom",T).on("touchmove.zoom",S).on("touchend.zoom touchcancel.zoom",C).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function b(e,t){return t=Math.max(l[0],Math.min(l[1],t)),t===e.k?e:new d_(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new d_(e.k,r,i)}function _(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,t,n,r){e.on("start.zoom",(function(){E(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){E(this,arguments).event(r).end()})).tween("zoom",(function(){var e=this,o=arguments,a=E(e,o).event(r),s=i.apply(e,o),l=null==n?_(s):"function"===typeof n?n.apply(e,o):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),u=e.__zoom,f="function"===typeof t?t.apply(e,o):t,p=d(u.invert(l).concat(c/u.k),f.invert(l).concat(c/f.k));return function(e){if(1===e)e=f;else{var t=p(e),n=c/t[2];e=new d_(n,l[0]-t[0]*n,l[1]-t[1]*n)}a.zoom(null,e)}}))}function E(e,t,n){return!n&&e.__zooming||new N(e,t)}function N(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=i.apply(e,t),this.taps=0}function A(e,...t){if(r.apply(this,arguments)){var n=E(this,t).event(e),i=this.__zoom,s=Math.max(l[0],Math.min(l[1],i.k*Math.pow(2,a.apply(this,arguments)))),u=sv(e);if(n.wheel)n.mouse[0][0]===u[0]&&n.mouse[0][1]===u[1]||(n.mouse[1]=i.invert(n.mouse[0]=u)),clearTimeout(n.wheel);else{if(i.k===s)return;n.mouse=[u,i.invert(u)],Hv(this),n.start()}g_(e),n.wheel=setTimeout(d,h),n.zoom("mouse",o(y(b(i,s),n.mouse[0],n.mouse[1]),n.extent,c))}function d(){n.wheel=null,n.end()}}function O(e,...t){if(!n&&r.apply(this,arguments)){var i=e.currentTarget,a=E(this,t,!0).event(e),s=Km(e.view).on("mousemove.zoom",f,!0).on("mouseup.zoom",p,!0),l=sv(e,i),u=e.clientX,d=e.clientY;Zm(e.view),h_(e),a.mouse=[l,this.__zoom.invert(l)],Hv(this),a.start()}function f(e){if(g_(e),!a.moved){var t=e.clientX-u,n=e.clientY-d;a.moved=t*t+n*n>g}a.event(e).zoom("mouse",o(y(a.that.__zoom,a.mouse[0]=sv(e,i),a.mouse[1]),a.extent,c))}function p(e){s.on("mousemove.zoom mouseup.zoom",null),Jm(e.view,a.moved),g_(e),a.event(e).end()}}function x(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=sv(e.changedTouches?e.changedTouches[0]:e,this),s=n.invert(a),l=n.k*(e.shiftKey?.5:2),d=o(y(b(n,l),a,s),i.apply(this,t),c);g_(e),u>0?Km(this).transition().duration(u).call(w,d,a,e):Km(this).call(v.transform,d,a,e)}}function T(n,...i){if(r.apply(this,arguments)){var o,a,s,l,c=n.touches,u=c.length,d=E(this,i,n.changedTouches.length===u).event(n);for(h_(n),a=0;a`\n\x3c!-- GIT REPO ICON --\x3e\n\n\x3c!-- GENERIC BUNDLE ICON --\x3e\n\n\x3c!-- HELM BUNDLE ICON --\x3e\n\n\x3c!-- RESOURCE DEPLOYMENT ICON --\x3e\n\n\x3c!-- NODE ICON --\x3e\n\n\x3c!-- RESOURCE OTHER ICON --\x3e\n\n\n`;var O_={name:"ForceDirectedTreeChart",components:{BadgeState:Vt},props:{data:{type:[Array,Object],required:!0},fdcConfig:{type:Object,required:!0}},data(){return{dataWatcher:void 0,parsedInfo:void 0,root:void 0,allNodesData:void 0,allLinks:void 0,rootNode:void 0,node:void 0,link:void 0,svg:void 0,zoom:void 0,simulation:void 0,isChartFirstRendered:!1,isChartFirstRenderAnimationFinished:!1,moreInfo:{}}},methods:{watcherFunction(e){if(e.length)if(this.isChartFirstRendered){const e=this.fdcConfig.parseData(this.data),t=this.flatten(e);let n=!1;t.forEach(e=>{const t=this.allNodesData.findIndex(t=>e.matchingId===t.data.matchingId);t>-1&&this.allNodesData[t].data.state!==e.state&&(this.allNodesData[t].data.state=e.state,this.allNodesData[t].data.stateLabel=e.stateLabel,this.allNodesData[t].data.stateColor=e.stateColor,n=!0,this.allNodesData[t].data.active&&this.setDetailsInfo(this.allNodesData[t].data,!1))}),n&&this.updateChart(!1,!1)}else this.parsedInfo=this.fdcConfig.parseData(this.data),this.setDetailsInfo(this.parsedInfo,!1),this.parsedInfo.active=!0,this.renderChart(),this.updateChart(!0,!0),this.isChartFirstRendered=!0},renderChart(){this.zoom=E_().scaleExtent([1/8,16]).on("zoom",this.zoomed);const e=f_.scale(1).translate(0,0);this.rootNode=this.svg.append("g").attr("class","root-node"),this.svg.call(this.zoom),this.svg.call(this.zoom.transform,e),this.simulation=pd().force("charge",hd().strength(this.fdcConfig.simulationParams.fdcStrength).distanceMax(this.fdcConfig.simulationParams.fdcDistanceMax)).force("collision",Su(this.fdcConfig.simulationParams.fdcForceCollide)).force("center",tu(this.fdcConfig.chartWidth/2,this.fdcConfig.chartHeight/2)).alphaDecay(this.fdcConfig.simulationParams.fdcAlphaDecay).on("tick",this.ticked).on("end",()=>{this.isChartFirstRenderAnimationFinished||(this.zoomFit(),this.isChartFirstRenderAnimationFinished=!0)})},updateChart(e,t){e&&(this.root=Rd(this.parsedInfo)),t&&(this.allNodesData=this.flatten(this.root),this.allLinks=this.root.links()),this.link=this.rootNode.selectAll(".link").data(this.allLinks,e=>e.target.id),this.link.exit().remove();const n=this.link.enter().append("line").attr("class","link").style("opacity","0.2").style("stroke-width",4);this.link=n.merge(this.link),this.node=this.rootNode.selectAll(".node").data(this.allNodesData,e=>e.id).attr("class",this.mainNodeClass),this.node.exit().remove();const r=this.node.enter().append("g").attr("class",this.mainNodeClass).style("opacity",1).on("click",(e,t)=>{this.setDetailsInfo(t.data,!0)}).call(eu().on("start",this.dragStarted).on("drag",this.dragging).on("end",this.dragEnded));r.append("circle").attr("r",this.setNodeRadius),r.append("circle").attr("r",e=>this.setNodeRadius(e)-5).attr("class","node-hover-layer"),r.append("svg").html(e=>{const t=this.fdcConfig.fetchNodeIcon(e);return A_(t)}).attr("x",this.nodeImagePosition).attr("y",this.nodeImagePosition).attr("height",this.nodeImageSize).attr("width",this.nodeImageSize),this.node=r.merge(this.node),this.simulation.nodes(this.allNodesData),this.simulation.force("link",Iu().id(e=>e.id).distance(100).links(this.allLinks))},mainNodeClass(e){var t,n;const r=null!==(t=e.data)&&void 0!==t&&t.state?e.data.state.toLowerCase():"unkown_status",i=["node"];N_["a"][r]&&N_["a"][r].color?i.push("node-"+N_["a"][r].color):i.push("node-default-fill"),null!==(n=e.data)&&void 0!==n&&n.active&&i.push("active");const o=this.fdcConfig.extendNodeClass(e).concat(i);return o.join(" ")},setNodeRadius(e){const{radius:t}=this.fdcConfig.nodeDimensions(e);return t},nodeImageSize(e){const{size:t}=this.fdcConfig.nodeDimensions(e);return t},nodeImagePosition(e){const{position:t}=this.fdcConfig.nodeDimensions(e);return t},setDetailsInfo(e,t){this.moreInfo=Object.assign([],this.fdcConfig.infoDetails(e)),t&&(this.allNodesData.forEach((t,n)=>{t.data.matchingId===e.matchingId?this.allNodesData[n].data.active=!0:this.allNodesData[n].data.active=!1}),this.updateChart(!1,!1))},zoomFit(){const e=Fc(".root-node"),t=30,n=e.node().getBoundingClientRect(),r=e.node().getBBox(),i=e.node().parentElement,o=i.clientWidth,a=i.clientHeight,s=n.width,l=n.height,c=r.x+s/2,u=r.y+l/2;if(0===s||0===l)return;const d=1/Math.max(s/(o-t),l/(a-t)),f=[o/2-d*c,a/2-d*u],p=f_.translate(f[0],f[1]).scale(d);this.svg.call(this.zoom.transform,p)},ticked(){this.link.attr("x1",e=>e.source.x).attr("y1",e=>e.source.y).attr("x2",e=>e.target.x).attr("y2",e=>e.target.y),this.node.attr("transform",e=>`translate(${e.x}, ${e.y})`)},dragStarted(e,t){e.active||this.simulation.alphaTarget(.3).restart(),t.fx=t.x,t.fy=t.y},dragging(e,t){t.fx=e.x,t.fy=e.y},dragEnded(e,t){e.active||this.simulation.alphaTarget(0),t.fx=void 0,t.fy=void 0},zoomed(e){this.rootNode.attr("transform",e.transform)},flatten(e){const t=[];let n=0;function r(e){e.children&&e.children.forEach(r),e.id?++n:e.id=++n,t.push(e)}return r(e),t}},mounted(){this.svg=Fc("#tree").append("svg").attr("viewBox",`0 0 ${this.fdcConfig.chartWidth} ${this.fdcConfig.chartHeight}`).attr("preserveAspectRatio","none"),this.dataWatcher=this.$watch(this.fdcConfig.watcherProp,(function(e){this.watcherFunction(e)}))},unmounted(){this.dataWatcher()}},x_=O_,T_=(n("89ee"),Object(w["a"])(x_,pn,hn,!1,null,null,null)),S_=T_.exports,C_=n("ea69");function R_(e){var t,n;return(null===(t=e.query)||void 0===t?void 0:t.mode)===v["v"]?v["v"]:null!==(n=e.params)&&void 0!==n&&n.id?e.query.mode||v["z"]:v["q"]}async function I_(e,t){const n=e.getters["currentStore"](t.type);let r;const i={headers:{accept:"application/yaml"}};t.hasLink("view")&&(r=(await t.followLink("view",i)).data);const o=await e.dispatch(n+"/cleanForDownload",r);return o}var k_={components:{Loading:u["a"],DetailTop:fn,ForceDirectedTreeChart:S_,ResourceYaml:Lt["a"],Masthead:Xt,IconMessage:ft},mixins:[kt["a"]],props:{storeOverride:{type:String,default:null},resourceOverride:{type:String,default:null},parentRouteOverride:{type:String,default:null},flexContent:{type:Boolean,default:!1},componentTestid:{type:String,default:"resource-details"}},async fetch(){const e=this.$store,t=this.$route,n=t.params;let r=this.resourceOverride||n.resource;const i=this.storeOverride||e.getters["currentStore"](r),o=this.realMode;let{namespace:a,id:s}=n;const l=[v["o"],v["v"],v["x"]].includes(o)?v["q"]:o,u=e.getters["type-map/hasGraph"](r),d=!!u,f=e.getters["type-map/hasCustomDetail"](r,s),p=e.getters["type-map/hasCustomEdit"](r,s),h=e.getters[i+"/all"](c["y"]),g=t.query[v["a"]];let m,b=!1;m=l!==v["z"]||!f||g&&g!==v["r"]?l===v["z"]&&d&&g===v["u"]?v["u"]:!p||g&&g!==v["p"]?v["A"]:v["p"]:v["r"],this.as=m;const y=e.getters["type-map/optionsFor"](r);this.showMasthead=![v["q"],v["s"]].includes(l)||y.resourceEditMasthead;const _=y.canYaml;y.resource&&(r=y.resource);const w=e.getters[i+"/schemaFor"](r);let E,N,A,O;if(o===v["q"]||o===v["v"]){var x;a||(a=e.getters["defaultNamespace"]);const t={type:r};null!==w&&void 0!==w&&null!==(x=w.attributes)&&void 0!==x&&x.namespaced&&(t.metadata={namespace:a}),A=await e.dispatch(i+"/create",t),N=await e.dispatch(i+"/clone",{resource:A}),E=await e.dispatch(i+"/clone",{resource:A}),!0===E.forceYaml&&(m=v["A"],this.as=m),m===v["A"]&&(O=Object(Mt["b"])(h,r,t))}else{var T;if(m===v["u"]){const e=await Object(C_["b"])({cluster:{inStoreType:"management",type:c["h"].CLUSTER},bundle:{inStoreType:"management",type:c["h"].BUNDLE},bundleDeployment:{inStoreType:"management",type:c["h"].BUNDLE_DEPLOYMENT}},this.$store);this.canViewChart=e.cluster&&e.bundle&&e.bundleDeployment}let t=s;null!==(T=w.attributes)&&void 0!==T&&T.namespaced&&a&&(t=`${a}/${t}`);try{A=await e.dispatch(i+"/find",{type:r,id:t,opt:{watch:!0}})}catch(C){404!==C.status&&403!==C.status||e.dispatch("loadingError",new Error(this.t("nav.failWhale.resourceIdNotFound",{resource:r,fqid:t},!0))),A={},b=t}E=o===v["z"]?A:await e.dispatch(i+"/clone",{resource:A}),N=await e.dispatch(i+"/clone",{resource:A}),m===v["A"]&&(O=await I_(this.$store,A)),m===v["u"]&&(this.chartData=A),[v["o"],v["v"],v["x"]].includes(o)&&(E.cleanForNew(),O=E.cleanYaml(O,o))}E=await e.dispatch(i+"/cleanForDetail",E);const S={hasGraph:d,getGraphConfig:u,hasCustomDetail:f,hasCustomEdit:p,canViewYaml:_,resource:r,as:m,yaml:O,initialModel:N,liveModel:A,mode:l,value:E,notFound:b};for(const c in S)this[c]=S[c];this.mode===v["q"]&&this.value.applyDefaults(this,o)},data(){return{chartData:null,resourceSubtype:null,hasGraph:null,hasCustomDetail:null,hasCustomEdit:null,resource:null,asYaml:null,yaml:null,liveModel:null,initialModel:null,mode:null,as:null,value:null,model:null,notFound:null,canViewChart:!0}},computed:{realMode(){const e=R_(this.$route);return e},isView(){return this.mode===v["z"]},isYaml(){return this.as===v["A"]},isDetail(){return this.as===v["r"]},isGraph(){return this.as===v["u"]},offerPreview(){return this.as===v["A"]&&[v["s"],v["o"],v["v"],v["x"]].includes(this.mode)},showComponent(){switch(this.as){case v["r"]:return this.detailComponent;case v["p"]:return this.editComponent}return null}},watch:{"$route.query"(e,t){const n=Object(C["e"])(e),r=Object(C["e"])(t);delete n[v["f"]],delete r[v["f"]],this.isView||(delete n[v["a"]],delete r[v["a"]]);const i=Object.keys(Object(C["g"])(n,r));(i.includes(v["e"])||i.includes(v["a"]))&&this.$fetch()},async"value.metadata.resourceVersion"(e,t){this.mode===v["z"]&&this.as===v["A"]&&e&&t&&e!==t&&(this.yaml=await I_(this.$store,this.liveModel))}},created(){const e=this.$route.params.id,t=this.resourceOverride||this.$route.params.resource,n=this.$store.getters["type-map/optionsFor"](t),r=n.resourceDetail||n.resource||t,i=n.resourceEdit||n.resource||t;this.detailComponent=this.$store.getters["type-map/importDetail"](r,e),this.editComponent=this.$store.getters["type-map/importEdit"](i,e)},methods:{setSubtype(e){this.resourceSubtype=e},keyAction(e){const t=this.liveModel;null!==t&&void 0!==t&&t[e]&&t[e]()}}},L_=k_,M_=(n("cf07"),Object(w["a"])(L_,Rt,It,!1,null,"4c999873",null)),D_=M_.exports,P_={name:"CreateElementalResource",components:{ResourceDetail:D_}},j_=P_,$_=Object(w["a"])(j_,St,Ct,!1,null,null,null),F_=$_.exports,U_=function(){var e=this,t=e._self._c;return t("ResourceDetail")},B_=[],H_={name:"ElementalResourceDetails",components:{ResourceDetail:D_}},G_=H_,z_=Object(w["a"])(G_,U_,B_,!1,null,null,null),V_=z_.exports;const q_="_",W_=[{name:a["c"]+"-c-cluster",path:`/${a["c"]}/c/:cluster/dashboard`,component:ve,meta:{product:a["c"],cluster:q_,pkg:a["c"]}},{name:a["c"]+"-c-cluster-resource",path:`/${a["c"]}/c/:cluster/:resource`,component:Tt,meta:{product:a["c"],cluster:q_,pkg:a["c"]}},{name:a["c"]+"-c-cluster-resource-create",path:`/${a["c"]}/c/:cluster/:resource/create`,component:F_,meta:{product:a["c"],cluster:q_,pkg:a["c"]}},{name:a["c"]+"-c-cluster-resource-id",path:`/${a["c"]}/c/:cluster/:resource/:id`,component:V_,meta:{product:a["c"],cluster:q_,pkg:a["c"]}},{name:a["c"]+"-c-cluster-resource-namespace-id",path:`/${a["c"]}/c/:cluster/:resource/:namespace/:id`,component:V_,meta:{product:a["c"],cluster:q_,pkg:a["c"]}}];var K_=W_,Y_={createClusterElements:e=>e.createClusterElements},X_={updateCreateClusterElements(e,t){e.createClusterElements=t}},Z_={updateCreateClusterElements({commit:e},t){e("updateCreateClusterElements",t)}};const J_=()=>({state(){return{createClusterElements:[]}},getters:{...Y_},mutations:{...X_},actions:{...Z_}}),Q_={namespace:Nt["b"]};var ew={specifics:J_(),config:Q_},tw=n("f130"),nw=n("3e09"),rw=n.n(nw);const iw=["code","li","a","p","b","br","ul","pre","span","div","i","em","strong","h1","h2","h3","h4","h5","h6","table","thead","tr","th","tbody","td","blockquote"];rw.a.addHook("uponSanitizeAttribute",(e,t)=>{"A"===e.tagName&&"target"===t.attrName&&"_blank"===t.attrValue&&(t.forceKeepAttr=!0)}),rw.a.addHook("afterSanitizeAttributes",e=>{if("A"===e.tagName&&"_blank"===(null===e||void 0===e?void 0:e.target)){var t;const n=["noopener","noreferrer","nofollow"],r=null!==(t=e.rel)&&void 0!==t&&t.length?e.rel.split(" "):[],i=Object($["l"])([...n,...r]);e.setAttribute("rel",i.join(" "))}});const ow=(e,t={ALLOWED_TAGS:iw})=>rw.a.sanitize(e,t);function aw(e){const t=typeof e;return"string"===t?ow(e):e&&"object"===t&&"string"===typeof e.content?{...e,content:ow(e.content)}:e}function sw(e,{value:t,oldValue:n,modifiers:r}){const i=aw(t);tw["a"].bind(e,{value:i,oldValue:n,modifiers:r})}const lw={...tw["a"],bind:sw,update:sw};Bt.a.directive("clean-tooltip",lw);const cw={inserted(e,t){e.innerHTML=ow(t.value)},componentUpdated(e,t){e.innerHTML=ow(t.value)},unbind(e){e.innerHTML=""}};Bt.a.directive("clean-html",cw);var uw=function(e){o(e),e.metadata=n("9224"),e.addProduct(n("a090")),e.addDashboardStore(ew.config.namespace,ew.specifics,ew.config),e.addRoutes(K_)};t["default"]=uw},"1d19":function(e,t,n){"use strict";n.d(t,"c",(function(){return s})),n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return g}));var r=n("e24b"),i=n("2cb5");const o={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},{toString:a}=Object.prototype;function s(e){if(null===e)return"null";if(void 0===e)return"undefined";let t=o[a.call(e)]||"object";return"object"===t&&(e instanceof Error?t="error":e instanceof Date&&(t="date")),t}function l(e,t){const n=e-t;return(n>0)-(n<0)}const c={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10};function u(e,t){const n=s(e),r=s(t),i=l(c[n],c[r]);if(i)return i;switch(n){case"boolean":case"number":return l(e,t);case"string":return l(e.localeCompare(t),0);case"array":{const n=e.length,r=t.length,i=Math.min(n,r);for(let o=0;o{for(let o=0;oe.match(h)?Object(i["r"])(e,10,"0"):e).join("").trim()}},"1d23":function(e,t,n){var r=n("085d");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("00b1ae9a",r,!0,{sourceMap:!1,shadowMode:!1})},"1d5f":function(e){e.exports=JSON.parse('{"hasStylesheet":"true"}')},"1eb8":function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,".text.info[data-v-5050d908]{display:flex;align-items:center}.text.info>span[data-v-5050d908]{margin-right:5px}",""]),e.exports=t},"1ec9":function(e,t,n){var r=n("fa8a"),i=n("44d9"),o=n("1386"),a=n("052a"),s=n("2fab"),l=n("e3f8");function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=i,c.prototype["delete"]=o,c.prototype.get=a,c.prototype.has=s,c.prototype.set=l,e.exports=c},"1f4e":function(e,t){const n="[A-Za-z$_][0-9A-Za-z$_]*",r=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],i=["true","false","null","undefined","NaN","Infinity"],o=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],a=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],s=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],l=["arguments","this","super","console","window","document","localStorage","module","global"],c=[].concat(s,o,a);function u(e){const t=e.regex,u=(e,{after:t})=>{const n="",end:""},p=/<[A-Za-z0-9\\._:-]+\s*\/>/,h={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,r=e.input[n];if("<"===r||","===r)return void t.ignoreMatch();let i;">"===r&&(u(e,{after:n})||t.ignoreMatch());const o=e.input.substring(n);(i=o.match(/^\s+extends\s+/))&&0===i.index&&t.ignoreMatch()}},g={$pattern:n,keyword:r,literal:i,built_in:c,"variable.language":l},m="[0-9](_?[0-9])*",v=`\\.(${m})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${b})((${v})|\\.)?|(${v}))[eE][+-]?(${m})\\b`},{begin:`\\b(${b})\\b((${v})\\b|\\.)?|(${v})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},_={className:"subst",begin:"\\$\\{",end:"\\}",keywords:g,contains:[]},w={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"xml"}},E={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"css"}},N={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,_]},A=e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),O={className:"comment",variants:[A,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,w,E,N,y];_.contains=x.concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(x)});const T=[].concat(O,_.contains),S=T.concat([{begin:/\(/,end:/\)/,keywords:g,contains:["self"].concat(T)}]),C={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:S},R={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,t.concat(d,"(",t.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...o,...a]}},k={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},L={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[C],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function D(e){return t.concat("(?!",e.join("|"),")")}const P={match:t.concat(/\b/,D([...s,"super"]),d,t.lookahead(/\(/)),className:"title.function",relevance:0},j={begin:t.concat(/\./,t.lookahead(t.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},C]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[C]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:I},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),k,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,w,E,N,O,y,I,{className:"attr",begin:d+t.lookahead(":"),relevance:0},U,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,e.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:f.begin,end:f.end},{match:p},{begin:h.begin,"on:begin":h.isTrulyOpeningTag,end:h.end}],subLanguage:"xml",contains:[{begin:h.begin,end:h.end,skip:!0,contains:["self"]}]}]},L,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[C,e.inherit(e.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},j,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[C]},P,M,R,$,{match:/\$[(.]/}]}}function d(e){const t=u(e),o=n,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[t.exports.CLASS_REFERENCE]},d={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[t.exports.CLASS_REFERENCE]},f={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},p=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],h={$pattern:n,keyword:r.concat(p),literal:i,built_in:c.concat(a),"variable.language":l},g={className:"meta",begin:"@"+o},m=(e,t,n)=>{const r=e.contains.findIndex(e=>e.label===t);if(-1===r)throw new Error("can not find mode to replace");e.contains.splice(r,1,n)};Object.assign(t.keywords,h),t.exports.PARAMS_CONTAINS.push(g),t.contains=t.contains.concat([g,s,d]),m(t,"shebang",e.SHEBANG()),m(t,"use_strict",f);const v=t.contains.find(e=>"func.def"===e.label);return v.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx"]}),t}e.exports=d},"1fcb":function(e,t,n){var r=n("3336"),i=n("c294"),o=i((function(e,t,n){r(e,t,n)}));e.exports=o},"1fce":function(e,t){function n(e,t){var n=-1,r=null==e?0:e.length,i=Array(r);while(++n-1)||n.indexOf(",")>-1||n.indexOf("/")>-1||r.StringUtilities.containsAny(i,e.specialCharacters))if(!t&&i.indexOf(",")>-1&&-1==i.indexOf("-")&&-1==i.indexOf("/")&&!r.StringUtilities.containsAny(n,e.specialCharacters)){var a=i.split(",");o+=this.i18n.at();for(var s=0;s0&&c.length>0&&(o+=", "),o+=c,o.length>0&&u.length>0&&(o+=", "),o+=u}else{var d=n.split("-");o+=r.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(i,d[0],""),this.formatTime(i,d[1],""))}else o+=this.i18n.atSpace()+this.formatTime(i,n,t);return o},e.prototype.getSecondsDescription=function(){var e=this,t=this.getSegmentDescription(this.expressionParts[0],this.i18n.everySecond(),(function(e){return e}),(function(t){return r.StringUtilities.format(e.i18n.everyX0Seconds(),t)}),(function(t){return e.i18n.secondsX0ThroughX1PastTheMinute()}),(function(t){return"0"==t?"":parseInt(t)<20?e.i18n.atX0SecondsPastTheMinute():e.i18n.atX0SecondsPastTheMinuteGt20()||e.i18n.atX0SecondsPastTheMinute()}));return t},e.prototype.getMinutesDescription=function(){var e=this,t=this.expressionParts[0],n=this.expressionParts[2],i=this.getSegmentDescription(this.expressionParts[1],this.i18n.everyMinute(),(function(e){return e}),(function(t){return r.StringUtilities.format(e.i18n.everyX0Minutes(),t)}),(function(t){return e.i18n.minutesX0ThroughX1PastTheHour()}),(function(r){try{return"0"==r&&-1==n.indexOf("/")&&""==t?e.i18n.everyHour():parseInt(r)<20?e.i18n.atX0MinutesPastTheHour():e.i18n.atX0MinutesPastTheHourGt20()||e.i18n.atX0MinutesPastTheHour()}catch(i){return e.i18n.atX0MinutesPastTheHour()}}));return i},e.prototype.getHoursDescription=function(){var e=this,t=this.expressionParts[2],n=this.getSegmentDescription(t,this.i18n.everyHour(),(function(t){return e.formatTime(t,"0","")}),(function(t){return r.StringUtilities.format(e.i18n.everyX0Hours(),t)}),(function(t){return e.i18n.betweenX0AndX1()}),(function(t){return e.i18n.atX0()}));return n},e.prototype.getDayOfWeekDescription=function(){var e=this,t=this.i18n.daysOfTheWeek(),n=null;return n="*"==this.expressionParts[5]?"":this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),(function(e){var n=e;return e.indexOf("#")>-1?n=e.substr(0,e.indexOf("#")):e.indexOf("L")>-1&&(n=n.replace("L","")),t[parseInt(n)]}),(function(t){return 1==parseInt(t)?"":r.StringUtilities.format(e.i18n.commaEveryX0DaysOfTheWeek(),t)}),(function(t){return e.i18n.commaX0ThroughX1()}),(function(t){var n=null;if(t.indexOf("#")>-1){var r=t.substring(t.indexOf("#")+1),i=null;switch(r){case"1":i=e.i18n.first();break;case"2":i=e.i18n.second();break;case"3":i=e.i18n.third();break;case"4":i=e.i18n.fourth();break;case"5":i=e.i18n.fifth();break}n=e.i18n.commaOnThe()+i+e.i18n.spaceX0OfTheMonth()}else if(t.indexOf("L")>-1)n=e.i18n.commaOnTheLastX0OfTheMonth();else{var o="*"!=e.expressionParts[3];n=o?e.i18n.commaAndOnX0():e.i18n.commaOnlyOnX0()}return n})),n},e.prototype.getMonthDescription=function(){var e=this,t=this.i18n.monthsOfTheYear(),n=this.getSegmentDescription(this.expressionParts[4],"",(function(e){return t[parseInt(e)-1]}),(function(t){return 1==parseInt(t)?"":r.StringUtilities.format(e.i18n.commaEveryX0Months(),t)}),(function(t){return e.i18n.commaMonthX0ThroughMonthX1()||e.i18n.commaX0ThroughX1()}),(function(t){return e.i18n.commaOnlyInMonthX0?e.i18n.commaOnlyInMonthX0():e.i18n.commaOnlyInX0()}));return n},e.prototype.getDayOfMonthDescription=function(){var e=this,t=null,n=this.expressionParts[3];switch(n){case"L":t=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":t=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var i=n.match(/(\d{1,2}W)|(W\d{1,2})/);if(i){var o=parseInt(i[0].replace("W","")),a=1==o?this.i18n.firstWeekday():r.StringUtilities.format(this.i18n.weekdayNearestDayX0(),o.toString());t=r.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),a);break}var s=n.match(/L-(\d{1,2})/);if(s){var l=s[1];t=r.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(),l);break}if("*"==n&&"*"!=this.expressionParts[5])return"";t=this.getSegmentDescription(n,this.i18n.commaEveryDay(),(function(t){return"L"==t?e.i18n.lastDay():e.i18n.dayX0?r.StringUtilities.format(e.i18n.dayX0(),t):t}),(function(t){return"1"==t?e.i18n.commaEveryDay():e.i18n.commaEveryX0Days()}),(function(t){return e.i18n.commaBetweenDayX0AndX1OfTheMonth()}),(function(t){return e.i18n.commaOnDayX0OfTheMonth()}));break}return t},e.prototype.getYearDescription=function(){var e=this,t=this.getSegmentDescription(this.expressionParts[6],"",(function(e){return/^\d+$/.test(e)?new Date(parseInt(e),1).getFullYear().toString():e}),(function(t){return r.StringUtilities.format(e.i18n.commaEveryX0Years(),t)}),(function(t){return e.i18n.commaYearX0ThroughYearX1()||e.i18n.commaX0ThroughX1()}),(function(t){return e.i18n.commaOnlyInYearX0?e.i18n.commaOnlyInYearX0():e.i18n.commaOnlyInX0()}));return t},e.prototype.getSegmentDescription=function(e,t,n,i,o,a){var s=this,l=null;if(e)if("*"===e)l=t;else if(r.StringUtilities.containsAny(e,["/","-",","]))if(e.indexOf("/")>-1){var c=e.split("/");if(l=r.StringUtilities.format(i(c[1]),c[1]),c[0].indexOf("-")>-1){var u=this.generateBetweenSegmentDescription(c[0],o,n);0!=u.indexOf(", ")&&(l+=", "),l+=u}else if(!r.StringUtilities.containsAny(c[0],["*",","])){var d=r.StringUtilities.format(a(c[0]),n(c[0]));d=d.replace(", ",""),l+=r.StringUtilities.format(this.i18n.commaStartingX0(),d)}}else if(e.indexOf(",")>-1){c=e.split(",");for(var f="",p=0;p0&&c.length>2&&(f+=",",p0&&c.length>1&&(p==c.length-1||2==c.length)&&(f+=this.i18n.spaceAnd()+" "),c[p].indexOf("-")>-1){u=this.generateBetweenSegmentDescription(c[p],(function(e){return s.i18n.commaX0ThroughX1()}),n);u=u.replace(", ",""),f+=u}else f+=n(c[p]);l=r.StringUtilities.format(a(e),f)}else e.indexOf("-")>-1&&(l=this.generateBetweenSegmentDescription(e,o,n));else l=r.StringUtilities.format(a(e),n(e));else l="";return l},e.prototype.generateBetweenSegmentDescription=function(e,t,n){var i="",o=e.split("-"),a=n(o[0]),s=n(o[1]);s=s.replace(":00",":59");var l=t(e);return i+=r.StringUtilities.format(l,a,s),i},e.prototype.formatTime=function(e,t,n){var r=parseInt(e),i="",o=!1;this.options.use24HourTimeFormat||(o=this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime(),i=o?this.getPeriod(r)+" ":" "+this.getPeriod(r),r>12&&(r-=12),0===r&&(r=12));var a=t,s="";return n&&(s=":"+("00"+n).substring(n.length)),""+(o?i:"")+("00"+r.toString()).substring(r.toString().length)+":"+("00"+a.toString()).substring(a.toString().length)+s+(o?"":i)},e.prototype.transformVerbosity=function(e,t){return t||(e=e.replace(new RegExp(", "+this.i18n.everyMinute(),"g"),""),e=e.replace(new RegExp(", "+this.i18n.everyHour(),"g"),""),e=e.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),e=e.replace(/\, ?$/,"")),e},e.prototype.getPeriod=function(e){return e>=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},e.locales={},e}();t.ExpressionDescriptor=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){}return e.format=function(e){for(var t=[],n=1;n-1}))},e}();t.StringUtilities=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){void 0===t&&(t=!0),this.expression=e,this.dayOfWeekStartIndexZero=t}return e.prototype.parse=function(){var e=this.extractParts(this.expression);return this.normalize(e),this.validate(e),e},e.prototype.extractParts=function(e){if(!this.expression)throw new Error("Expression is empty");var t=e.trim().split(/[ ]+/);if(t.length<5)throw new Error("Expression has only "+t.length+" part"+(1==t.length?"":"s")+". At least 5 parts are required.");if(5==t.length)t.unshift(""),t.push("");else if(6==t.length)/\d{4}$/.test(t[5])?t.unshift(""):t.push("");else if(t.length>7)throw new Error("Expression has "+t.length+" parts; too many!");return t},e.prototype.normalize=function(e){var t=this;if(e[3]=e[3].replace("?","*"),e[5]=e[5].replace("?","*"),e[2]=e[2].replace("?","*"),0==e[0].indexOf("0/")&&(e[0]=e[0].replace("0/","*/")),0==e[1].indexOf("0/")&&(e[1]=e[1].replace("0/","*/")),0==e[2].indexOf("0/")&&(e[2]=e[2].replace("0/","*/")),0==e[3].indexOf("1/")&&(e[3]=e[3].replace("1/","*/")),0==e[4].indexOf("1/")&&(e[4]=e[4].replace("1/","*/")),0==e[5].indexOf("1/")&&(e[5]=e[5].replace("1/","*/")),0==e[6].indexOf("1/")&&(e[6]=e[6].replace("1/","*/")),e[5]=e[5].replace(/(^\d)|([^#/\s]\d)/g,(function(e){var n=e.replace(/\D/,""),r=n;return t.dayOfWeekStartIndexZero?"7"==n&&(r="0"):r=(parseInt(n)-1).toString(),e.replace(n,r)})),"L"==e[5]&&(e[5]="6"),"?"==e[3]&&(e[3]="*"),e[3].indexOf("W")>-1&&(e[3].indexOf(",")>-1||e[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var n={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var r in n)e[5]=e[5].replace(new RegExp(r,"gi"),n[r].toString());var i={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var o in i)e[4]=e[4].replace(new RegExp(o,"gi"),i[o].toString());"0"==e[0]&&(e[0]=""),/\*|\-|\,|\//.test(e[2])||!/\*|\//.test(e[1])&&!/\*|\//.test(e[0])||(e[2]+="-"+e[2]);for(var a=0;a-1&&!/^\*|\-|\,/.test(e[a])){var s=null;switch(a){case 4:s="12";break;case 5:s="6";break;case 6:s="9999";break;default:s=null;break}if(null!=s){var l=e[a].split("/");e[a]=l[0]+"-"+s+"/"+l[1]}}},e.prototype.validate=function(e){this.assertNoInvalidCharacters("DOW",e[5]),this.assertNoInvalidCharacters("DOM",e[3])},e.prototype.assertNoInvalidCharacters=function(e,t){var n=t.match(/[A-KM-VX-Z]+/gi);if(n&&n.length)throw new Error(e+" part contains invalid values: '"+n.toString()+"'")},e}();t.CronParser=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){}return e.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},e.prototype.atX0MinutesPastTheHourGt20=function(){return null},e.prototype.commaMonthX0ThroughMonthX1=function(){return null},e.prototype.commaYearX0ThroughYearX1=function(){return null},e.prototype.use24HourTimeFormatByDefault=function(){return!1},e.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occured when generating the expression description. Check the cron expression syntax."},e.prototype.everyMinute=function(){return"every minute"},e.prototype.everyHour=function(){return"every hour"},e.prototype.atSpace=function(){return"At "},e.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},e.prototype.at=function(){return"At"},e.prototype.spaceAnd=function(){return" and"},e.prototype.everySecond=function(){return"every second"},e.prototype.everyX0Seconds=function(){return"every %s seconds"},e.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},e.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},e.prototype.everyX0Minutes=function(){return"every %s minutes"},e.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},e.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},e.prototype.everyX0Hours=function(){return"every %s hours"},e.prototype.betweenX0AndX1=function(){return"between %s and %s"},e.prototype.atX0=function(){return"at %s"},e.prototype.commaEveryDay=function(){return", every day"},e.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},e.prototype.commaX0ThroughX1=function(){return", %s through %s"},e.prototype.first=function(){return"first"},e.prototype.second=function(){return"second"},e.prototype.third=function(){return"third"},e.prototype.fourth=function(){return"fourth"},e.prototype.fifth=function(){return"fifth"},e.prototype.commaOnThe=function(){return", on the "},e.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},e.prototype.lastDay=function(){return"the last day"},e.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},e.prototype.commaOnlyOnX0=function(){return", only on %s"},e.prototype.commaAndOnX0=function(){return", and on %s"},e.prototype.commaEveryX0Months=function(){return", every %s months"},e.prototype.commaOnlyInX0=function(){return", only in %s"},e.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},e.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},e.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},e.prototype.firstWeekday=function(){return"first weekday"},e.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},e.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},e.prototype.commaEveryX0Days=function(){return", every %s days"},e.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},e.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},e.prototype.commaEveryHour=function(){return", every hour"},e.prototype.commaEveryX0Years=function(){return", every %s years"},e.prototype.commaStartingX0=function(){return", starting %s"},e.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},e.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},e}();t.en=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(5);r.ExpressionDescriptor.initialize(new i.enLocaleLoader),t.default=r.ExpressionDescriptor;var o=r.ExpressionDescriptor.toString;t.toString=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3),i=function(){function e(){}return e.prototype.load=function(e){e["en"]=new r.en},e}();t.enLocaleLoader=i}])}))},"212d":function(e,t,n){var r=n("bf10"),i=n("201b"),o=r(i,"Promise");e.exports=o},2143:function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,'.buttons{display:grid;grid-template-areas:"left right";grid-template-columns:"min-content auto"}.buttons .left{grid-area:left;text-align:left}.buttons .left .btn,.buttons .left button{margin:0 1.75% 0 0}.buttons .right{grid-area:right;text-align:right}.buttons .right .btn,.buttons .right button{margin:0 0 0 1.75%}',""]),e.exports=t},"21a3":function(e,t){const n="2.0.0",r=256,i=Number.MAX_SAFE_INTEGER||9007199254740991,o=16,a=r-6,s=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e.exports={MAX_LENGTH:r,MAX_SAFE_COMPONENT_LENGTH:o,MAX_SAFE_BUILD_LENGTH:a,MAX_SAFE_INTEGER:i,RELEASE_TYPES:s,SEMVER_SPEC_VERSION:n,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},"225d":function(e,t,n){"use strict";n("fca0")},2357:function(e,t,n){var r=n("e972"),i=/^\s+/;function o(e){return e?e.slice(0,r(e)+1).replace(i,""):e}e.exports=o},2419:function(e,t,n){var r=n("872c"),i=n("aa31"),o=n("7049");function a(e){var t=-1,n=null==e?0:e.length;this.__data__=new r;while(++tdiv:not(:last-of-type){margin-bottom:4px}.detail-top .icon{vertical-align:top}',""]),e.exports=t},"278f":function(e,t){var n="Expected a function";function r(e){if("function"!=typeof e)throw new TypeError(n);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}e.exports=r},"27e0":function(e,t,n){var r=n("9b9e");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("09c84a6a",r,!0,{sourceMap:!1,shadowMode:!1})},"280a":function(e,t,n){var r=n("3584"),i=n("daca"),o=n("356f"),a=n("8bb9"),s=n("fad0"),l=n("d12b"),c=n("629b"),u=1,d=2;function f(e,t){return a(e)&&s(t)?l(c(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,u|d)}}e.exports=f},2822:function(e,t,n){var r=n("4b2c"),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;function l(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(l){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}e.exports=l},"2a46":function(e,t,n){var r=n("0e19"),i=n("ff00"),o=n("b4b4"),a="[object Object]",s=Function.prototype,l=Object.prototype,c=s.toString,u=l.hasOwnProperty,d=c.call(Object);function f(e){if(!o(e)||r(e)!=a)return!1;var t=i(e);if(null===t)return!0;var n=u.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==d}e.exports=f},"2c47":function(e,t){function n(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}e.exports=n},"2cb5":function(e,t,n){"use strict";function r(e){return E(e||"").split("-").map(e=>i(e)).join(" ")}function i(e){return e=e||"",e.substr(0,1).toUpperCase()+e.substr(1)}function o(e,t,n=" ",r=!1){if(e=""+e,e.length>=t)return e;const i=t-e.length+1,o=new Array(i).join(n).substr(0,i);return r?e+o:o+e}n.d(t,"c",(function(){return r})),n.d(t,"s",(function(){return i})),n.d(t,"r",(function(){return o})),n.d(t,"g",(function(){return s})),n.d(t,"h",(function(){return l})),n.d(t,"a",(function(){return p})),n.d(t,"o",(function(){return h})),n.d(t,"i",(function(){return g})),n.d(t,"n",(function(){return m})),n.d(t,"p",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"e",(function(){return E})),n.d(t,"b",(function(){return N})),n.d(t,"d",(function(){return A})),n.d(t,"l",(function(){return O})),n.d(t,"f",(function(){return x})),n.d(t,"m",(function(){return T})),n.d(t,"q",(function(){return C})),n.d(t,"k",(function(){return R}));const a={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function s(e){return String(e).replace(/[&<>"']/g,e=>a[e])}function l(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c(e){e=Math.max(0,e||1);const t=[];let n;if(window.crypto&&window.crypto.getRandomValues){const r=new Uint32Array(e);for(window.crypto.getRandomValues(r),n=0;nt[e%t.length]).join(""):null}function g(e,t=2){return e<1&&t>=2?Math.round(100*e)/100+"%":e<10&&t>=1?Math.round(10*e)/10+"%":Math.round(e)+"%"}function m(e){return e.match(/.*[^aeiou]y$/i)?e.substr(0,e.length-1)+"ies":e.endsWith("ics")?e:e.endsWith("s")?e+"es":e+"s"}function v(e,t,n){return e.reduce((r,i,o)=>(o>=5||(r+=`${s(i)}`,o===e.length-1?r+=t:r+=o===e.length-2?n("generic.and"):n("generic.comma")),r),"")}function b(e,t=2,n=" ",r=null){e="string"===typeof e?e.split(/\n/):e||[];const i=new Array(t+1).join(n),o=e.map(e=>{let t="",n=e;if(r){const i=e.match(r);i&&(t=i[i.length-1],n=e.substr(i[0].length))}return`${t}${i}${n}`}),a=o.join("\n");return a}const y=/([a-z\d])([A-Z])/g;function _(e){return e.replace(y,"$1_$2").toLowerCase()}const w=/[ _]/g;function E(e){return _(e).replace(w,"-")}function N(e){return e=e||"",!e.match(/[^\r\n\t\x20-\x7F]/)}function A(e,t){return"float"===t?e=parseFloat(e)||null:"int"===t?(e=parseInt(e,10),isNaN(e)&&(e=null)):"boolean"===t&&("true"===e.toLowerCase()?e=!0:"false"===e.toLowerCase()&&(e=!1)),e}function O(e,t=[]){return t.some(t=>{const n=e||"",r=x(t);return n.match(r)})}function x(e,t=!0){return"string"===typeof e?t?new RegExp(`^${l(e)}$`,"i"):new RegExp(""+l(e),"i"):e}function T(e){return s(e||"").replace(/(\r\n|\r|\n)/g,"
    \n")}const S=/[^."']+|"([^"]*)"|'([^']*)'/g;function C(e){return e.includes('"')||e.includes("'")?e.match(S).map(e=>e.replace(/['"]/g,"")):e.split(".")}function R(e){let t="";for(const n of e)n.includes(".")?t+=`."${n}"`:t+="."+n;return t.startsWith(".")&&(t=t.substr(1)),t}},"2cbd":function(e,t){function n(e,t){if(("constructor"!==t||"function"!==typeof e[t])&&"__proto__"!=t)return e[t]}e.exports=n},"2ccb":function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,".manual-refresh[data-v-70999d93]{height:40px}.advanced-filter-group[data-v-70999d93]{position:relative;margin-left:10px}.advanced-filter-group .advanced-filter-container[data-v-70999d93]{position:absolute;top:38px;right:0;width:300px;border:1px solid var(--primary);background-color:var(--body-bg);padding:20px;z-index:2}.advanced-filter-group .advanced-filter-container .middle-block[data-v-70999d93]{display:flex;align-items:center;margin-top:20px}.advanced-filter-group .advanced-filter-container .middle-block span[data-v-70999d93]{margin-right:20px}.advanced-filter-group .advanced-filter-container .middle-block button[data-v-70999d93]{margin-left:20px}.advanced-filter-group .advanced-filter-container .bottom-block[data-v-70999d93]{display:flex;align-items:center;margin-top:40px;justify-content:space-between}.advanced-filters-applied[data-v-70999d93]{display:inline-flex;margin:0;padding:0;list-style:none;max-width:100%;flex-wrap:wrap;justify-content:flex-end}.advanced-filters-applied li[data-v-70999d93]{margin:0 20px 10px 0;padding:2px 5px;border:1px solid;display:flex;align-items:center;position:relative;height:20px}.advanced-filters-applied li[data-v-70999d93]:nth-child(4n+1){border-color:var(--success)}.advanced-filters-applied li:nth-child(4n+1) .bg[data-v-70999d93]{background-color:var(--success)}.advanced-filters-applied li[data-v-70999d93]:nth-child(4n+2){border-color:var(--warning)}.advanced-filters-applied li:nth-child(4n+2) .bg[data-v-70999d93]{background-color:var(--warning)}.advanced-filters-applied li[data-v-70999d93]:nth-child(4n+3){border-color:var(--info)}.advanced-filters-applied li:nth-child(4n+3) .bg[data-v-70999d93]{background-color:var(--info)}.advanced-filters-applied li[data-v-70999d93]:nth-child(4n+4){border-color:var(--error)}.advanced-filters-applied li:nth-child(4n+4) .bg[data-v-70999d93]{background-color:var(--error)}.advanced-filters-applied li .bg[data-v-70999d93]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.2;z-index:-1}.advanced-filters-applied li .label[data-v-70999d93]{margin-right:10px;font-size:11px}.advanced-filters-applied li .cross[data-v-70999d93]{font-size:12px;font-weight:700;cursor:pointer}td .actions.role-multi-action[data-v-70999d93]{background-color:transparent;border:none}td .actions.role-multi-action[data-v-70999d93]:focus,td .actions.role-multi-action[data-v-70999d93]:hover{background-color:var(--accent-btn);box-shadow:none}@media only screen and (max-width:480px){td.desktop[data-v-70999d93],td.laptop[data-v-70999d93],td.tablet[data-v-70999d93]{display:none}}@media only screen and (max-width:992px){td.desktop[data-v-70999d93],td.laptop[data-v-70999d93]{display:none}}@media only screen and (max-width:1281px){td.desktop[data-v-70999d93]{display:none}}tr td div.data-loading[data-v-70999d93]{align-items:center;display:flex;justify-content:center;padding:20px 0}tr td div.data-loading>i[data-v-70999d93]{font-size:20px;height:20px;margin-right:5px;width:20px}.search-box[data-v-70999d93]{height:40px;margin-left:10px;min-width:180px}",""]),e.exports=t},"2da2":function(e,t,n){var r=n("8148");r.Template=n("340e").Template,r.template=r.Template,e.exports=r},"2db8":function(e,t,n){var r=n("5eaa");t=r(!1),t.push([e.i,".text.info[data-v-effd72b0]{display:flex;align-items:center}.text.info>span[data-v-effd72b0]{margin-right:5px}",""]),e.exports=t},"2e63":function(e,t){function n(e,t){var n=-1,r=null==e?0:e.length;while(++nnew r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "));e.exports=i},"2ed5":function(e,t,n){var r=n("73bd"),i=n("c02d");function o(e,t,n,o){var a=!n;n||(n={});var s=-1,l=t.length;while(++s/}]},s={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),u=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),d="[ \t\n]",f={scope:"string",variants:[c,l,u]},p={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},h=["false","null","true"],g=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],v=e=>{const t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t},b={keyword:g,literal:v(h),built_in:m},y=e=>e.map(e=>e.replace(/\|\d+$/,"")),_={variants:[{match:[/new/,t.concat(d,"+"),t.concat("(?!",y(m).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},w=t.concat(r,"\\b(?!\\()"),E={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},N={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:b,contains:[N,o,E,e.C_BLOCK_COMMENT_MODE,f,p,_]},O={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",y(g).join("\\b|"),"|",y(m).join("\\b|"),"\\b)"),r,t.concat(d,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(O);const x=[N,E,e.C_BLOCK_COMMENT_MODE,f,p,_],T={begin:t.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:h,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:h,keyword:["new","array"]},contains:["self",...x]},...x,{scope:"meta",match:i}]};return{case_insensitive:!1,keywords:b,contains:[T,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},o,O,E,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},_,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:b,contains:["self",o,E,e.C_BLOCK_COMMENT_MODE,f,p]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},f,p]}}e.exports=n},3171:function(e,t,n){const r=n("579f"),i=(e,t,n=!1)=>{if(e instanceof r)return e;try{return new r(e,t)}catch(i){if(!n)return null;throw i}};e.exports=i},3213:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiffStyleType=t.LineMatchingType=t.OutputFormatType=t.LineType=void 0,function(e){e["INSERT"]="insert",e["DELETE"]="delete",e["CONTEXT"]="context"}(t.LineType||(t.LineType={})),t.OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},t.LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"},t.DiffStyleType={WORD:"word",CHAR:"char"}},"324c":function(e,t,n){var r=n("5054");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("5a349496",r,!0,{sourceMap:!1,shadowMode:!1})},"330a":function(e,t,n){var r=n("e2e2"),i=n("9243"),o=n("6efc"),a=n("c316"),s=n("f72d"),l=n("dda8"),c=n("09b2"),u=n("41dd"),d="[object Map]",f="[object Set]",p=Object.prototype,h=p.hasOwnProperty;function g(e){if(null==e)return!0;if(s(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||l(e)||u(e)||o(e)))return!e.length;var t=i(e);if(t==d||t==f)return!e.size;if(c(e))return!r(e).length;for(var n in e)if(h.call(e,n))return!1;return!0}e.exports=g},3336:function(e,t,n){var r=n("1ec9"),i=n("6a68"),o=n("51db"),a=n("71bd"),s=n("b506"),l=n("cc7f"),c=n("2cbd");function u(e,t,n,d,f){e!==t&&o(t,(function(o,l){if(f||(f=new r),s(o))a(e,t,l,n,u,d,f);else{var p=d?d(c(e,l),o,l+"",e,t,f):void 0;void 0===p&&(p=o),i(e,l,p)}}),l)}e.exports=u},3345:function(e,t,n){"use strict";n("324c")},"340e":function(e,t,n){(function(e){function t(e,t,n){var r;return t&&"object"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&"function"==typeof t.get&&(r=t.get(e))),r}function n(e,t,n,r,i,o){function a(){}function s(){}var l;a.prototype=e,s.prototype=e.subs;var c=new a;for(l in c.subs=new s,c.subsText={},c.buf="",r=r||{},c.stackSubs=r,c.subsText=o,t)r[l]||(r[l]=t[l]);for(l in r)c.subs[l]=r[l];for(l in i=i||{},c.stackPartials=i,n)i[l]||(i[l]=n[l]);for(l in i)c.partials[l]=i[l];return c}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:u,t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,r.subs){for(key in t.stackText||(t.stackText={}),r.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(d(r))for(var i=0;i=0;c--)if(a=n[c],o=t(e,a,l),void 0!==o){s=!0;break}return s?(i||"function"!=typeof o||(o=this.mv(o,n,r)),o):!i&&""},ls:function(e,t,n,r,i){var o=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,r)),t,n)),this.options.delimiters=o,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,o,a){var s,l=t[t.length-1],c=e.call(l);return"function"==typeof c?!!r||(s=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,l,n,s.substring(i,o),a)):c},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return"function"==typeof i?this.ct(c(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,a=/\'/g,s=/\"/g,l=/[&<>\"\']/;function c(e){return String(null===e||void 0===e?"":e)}function u(e){return e=c(e),l.test(e)?e.replace(r,"&").replace(i,"<").replace(o,">").replace(a,"'").replace(s,"""):e}var d=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}})(t)},"356f":function(e,t,n){var r=n("2589"),i=n("cfe4");function o(e,t){return null!=e&&i(e,t,r)}e.exports=o},3584:function(e,t,n){var r=n("06a5"),i=n("b4b4");function o(e,t,n,a,s){return e===t||(null==e||null==t||!i(e)&&!i(t)?e!==e&&t!==t:r(e,t,n,a,o,s))}e.exports=o},"35bb":function(e,t,n){var r=n("8045"),i=n("494f"),o=n("4fab"),a=o&&o.isMap,s=a?i(a):r;e.exports=s},"35d9":function(e,t,n){var r=n("f72d"),i=n("b4b4");function o(e){return i(e)&&r(e)}e.exports=o},3600:function(e,t,n){const r=n("3c28"),i=(e,t,n)=>r(e,t,n)<0;e.exports=i},"360f":function(e,t,n){const r=n("3c28"),i=(e,t,n)=>r(e,t,n)>0;e.exports=i},3819:function(e,t,n){var r=n("bf10"),i=n("201b"),o=r(i,"Set");e.exports=o},"398e":function(e,t,n){var r=n("cbbe");r.__esModule&&(r=r.default),"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("0ed3").default;i("3a7ff440",r,!0,{sourceMap:!1,shadowMode:!1})},"39dd":function(e,t,n){const r=n("f58d"),i=(e,t)=>e.sort((e,n)=>r(e,n,t));e.exports=i},"39f2":function(e,t,n){var r=n("73b4");function i(e,t){var n=null==e?0:e.length;return!!n&&r(e,t,0)>-1}e.exports=i},"3ad3":function(e,t,n){var r=n("4c0b"),i=r(Object.keys,Object);e.exports=i},"3b2d":function(e,t,n){const r=n("3171"),i=(e,t)=>{const n=r(e,t);return n&&n.prerelease.length?n.prerelease:null};e.exports=i},"3b54":function(e,t,n){var r=n("c364"),i=n("cb86"),o=n("c68c");function a(e,t,n){var a=-1,s=t.length,l={};while(++anew r(e,n).compare(new r(t,n));e.exports=i},"3ddb":function(e,t){function n(e){const t=["true","false","iota","nil"],n=["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"],r=["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],i=["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],o={keyword:i,type:r,literal:t,built_in:n};return{name:"Go",aliases:["golang"],keywords:o,illegal:"e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?n-1:0),i=1;i/gm),X=m(/\${[\w\W]*}/gm),Z=m(/^data-[\-\w.\u00B7-\uFFFF]/),J=m(/^aria-[\-\w]+$/),Q=m(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ee=m(/^(?:\w+script|data):/i),te=m(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ne=m(/^html$/i),re=function(){return"undefined"===typeof window?null:window},ie=function(t,n){if("object"!==e(t)||"function"!==typeof t.createPolicy)return null;var r=null,i="data-tt-policy-suffix";n.currentScript&&n.currentScript.hasAttribute(i)&&(r=n.currentScript.getAttribute(i));var o="dompurify"+(r?"#"+r:"");try{return t.createPolicy(o,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(a){return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function oe(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re(),n=function(e){return oe(e)};if(n.version="2.4.5",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,o=t.document,a=t.DocumentFragment,s=t.HTMLTemplateElement,l=t.Node,c=t.Element,u=t.NodeFilter,d=t.NamedNodeMap,f=void 0===d?t.NamedNodeMap||t.MozNamedAttrMap:d,p=t.HTMLFormElement,h=t.DOMParser,m=t.trustedTypes,v=c.prototype,b=P(v,"cloneNode"),y=P(v,"nextSibling"),_=P(v,"childNodes"),k=P(v,"parentNode");if("function"===typeof s){var L=o.createElement("template");L.content&&L.content.ownerDocument&&(o=L.content.ownerDocument)}var ae=ie(m,r),se=ae?ae.createHTML(""):"",le=o,ce=le.implementation,ue=le.createNodeIterator,de=le.createDocumentFragment,fe=le.getElementsByTagName,pe=r.importNode,he={};try{he=D(o).documentMode?o.documentMode:{}}catch(Lt){}var ge={};n.isSupported="function"===typeof k&&ce&&"undefined"!==typeof ce.createHTMLDocument&&9!==he;var me,ve,be=K,ye=Y,_e=X,we=Z,Ee=J,Ne=ee,Ae=te,Oe=Q,xe=null,Te=M({},[].concat(i(j),i($),i(F),i(B),i(G))),Se=null,Ce=M({},[].concat(i(z),i(V),i(q),i(W))),Re=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ie=null,ke=null,Le=!0,Me=!0,De=!1,Pe=!0,je=!1,$e=!1,Fe=!1,Ue=!1,Be=!1,He=!1,Ge=!1,ze=!0,Ve=!1,qe="user-content-",We=!0,Ke=!1,Ye={},Xe=null,Ze=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Je=null,Qe=M({},["audio","video","img","source","image","track"]),et=null,tt=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),nt="http://www.w3.org/1998/Math/MathML",rt="http://www.w3.org/2000/svg",it="http://www.w3.org/1999/xhtml",ot=it,at=!1,st=null,lt=M({},[nt,rt,it],O),ct=["application/xhtml+xml","text/html"],ut="text/html",dt=null,ft=o.createElement("form"),pt=function(e){return e instanceof RegExp||e instanceof Function},ht=function(t){dt&&dt===t||(t&&"object"===e(t)||(t={}),t=D(t),me=me=-1===ct.indexOf(t.PARSER_MEDIA_TYPE)?ut:t.PARSER_MEDIA_TYPE,ve="application/xhtml+xml"===me?O:A,xe="ALLOWED_TAGS"in t?M({},t.ALLOWED_TAGS,ve):Te,Se="ALLOWED_ATTR"in t?M({},t.ALLOWED_ATTR,ve):Ce,st="ALLOWED_NAMESPACES"in t?M({},t.ALLOWED_NAMESPACES,O):lt,et="ADD_URI_SAFE_ATTR"in t?M(D(tt),t.ADD_URI_SAFE_ATTR,ve):tt,Je="ADD_DATA_URI_TAGS"in t?M(D(Qe),t.ADD_DATA_URI_TAGS,ve):Qe,Xe="FORBID_CONTENTS"in t?M({},t.FORBID_CONTENTS,ve):Ze,Ie="FORBID_TAGS"in t?M({},t.FORBID_TAGS,ve):{},ke="FORBID_ATTR"in t?M({},t.FORBID_ATTR,ve):{},Ye="USE_PROFILES"in t&&t.USE_PROFILES,Le=!1!==t.ALLOW_ARIA_ATTR,Me=!1!==t.ALLOW_DATA_ATTR,De=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Pe=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,je=t.SAFE_FOR_TEMPLATES||!1,$e=t.WHOLE_DOCUMENT||!1,Be=t.RETURN_DOM||!1,He=t.RETURN_DOM_FRAGMENT||!1,Ge=t.RETURN_TRUSTED_TYPE||!1,Ue=t.FORCE_BODY||!1,ze=!1!==t.SANITIZE_DOM,Ve=t.SANITIZE_NAMED_PROPS||!1,We=!1!==t.KEEP_CONTENT,Ke=t.IN_PLACE||!1,Oe=t.ALLOWED_URI_REGEXP||Oe,ot=t.NAMESPACE||it,Re=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&pt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Re.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&pt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Re.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"===typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Re.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),je&&(Me=!1),He&&(Be=!0),Ye&&(xe=M({},i(G)),Se=[],!0===Ye.html&&(M(xe,j),M(Se,z)),!0===Ye.svg&&(M(xe,$),M(Se,V),M(Se,W)),!0===Ye.svgFilters&&(M(xe,F),M(Se,V),M(Se,W)),!0===Ye.mathMl&&(M(xe,B),M(Se,q),M(Se,W))),t.ADD_TAGS&&(xe===Te&&(xe=D(xe)),M(xe,t.ADD_TAGS,ve)),t.ADD_ATTR&&(Se===Ce&&(Se=D(Se)),M(Se,t.ADD_ATTR,ve)),t.ADD_URI_SAFE_ATTR&&M(et,t.ADD_URI_SAFE_ATTR,ve),t.FORBID_CONTENTS&&(Xe===Ze&&(Xe=D(Xe)),M(Xe,t.FORBID_CONTENTS,ve)),We&&(xe["#text"]=!0),$e&&M(xe,["html","head","body"]),xe.table&&(M(xe,["tbody"]),delete Ie.tbody),g&&g(t),dt=t)},gt=M({},["mi","mo","mn","ms","mtext"]),mt=M({},["foreignobject","desc","title","annotation-xml"]),vt=M({},["title","style","font","a","script"]),bt=M({},$);M(bt,F),M(bt,U);var yt=M({},B);M(yt,H);var _t=function(e){var t=k(e);t&&t.tagName||(t={namespaceURI:ot,tagName:"template"});var n=A(e.tagName),r=A(t.tagName);return!!st[e.namespaceURI]&&(e.namespaceURI===rt?t.namespaceURI===it?"svg"===n:t.namespaceURI===nt?"svg"===n&&("annotation-xml"===r||gt[r]):Boolean(bt[n]):e.namespaceURI===nt?t.namespaceURI===it?"math"===n:t.namespaceURI===rt?"math"===n&&mt[r]:Boolean(yt[n]):e.namespaceURI===it?!(t.namespaceURI===rt&&!mt[r])&&(!(t.namespaceURI===nt&&!gt[r])&&(!yt[n]&&(vt[n]||!bt[n]))):!("application/xhtml+xml"!==me||!st[e.namespaceURI]))},wt=function(e){N(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(Lt){try{e.outerHTML=se}catch(Lt){e.remove()}}},Et=function(e,t){try{N(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(Lt){N(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Se[e])if(Be||He)try{wt(t)}catch(Lt){}else try{t.setAttribute(e,"")}catch(Lt){}},Nt=function(e){var t,n;if(Ue)e=""+e;else{var r=x(e,/^[\r\n\t ]+/);n=r&&r[0]}"application/xhtml+xml"===me&&ot===it&&(e=''+e+"");var i=ae?ae.createHTML(e):e;if(ot===it)try{t=(new h).parseFromString(i,me)}catch(Lt){}if(!t||!t.documentElement){t=ce.createDocument(ot,"template",null);try{t.documentElement.innerHTML=at?se:i}catch(Lt){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(o.createTextNode(n),a.childNodes[0]||null),ot===it?fe.call(t,$e?"html":"body")[0]:$e?t.documentElement:a},At=function(e){return ue.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},Ot=function(e){return e instanceof p&&("string"!==typeof e.nodeName||"string"!==typeof e.textContent||"function"!==typeof e.removeChild||!(e.attributes instanceof f)||"function"!==typeof e.removeAttribute||"function"!==typeof e.setAttribute||"string"!==typeof e.namespaceURI||"function"!==typeof e.insertBefore||"function"!==typeof e.hasChildNodes)},xt=function(t){return"object"===e(l)?t instanceof l:t&&"object"===e(t)&&"number"===typeof t.nodeType&&"string"===typeof t.nodeName},Tt=function(e,t,r){ge[e]&&w(ge[e],(function(e){e.call(n,t,r,dt)}))},St=function(e){var t;if(Tt("beforeSanitizeElements",e,null),Ot(e))return wt(e),!0;if(R(/[\u0080-\uFFFF]/,e.nodeName))return wt(e),!0;var r=ve(e.nodeName);if(Tt("uponSanitizeElement",e,{tagName:r,allowedTags:xe}),e.hasChildNodes()&&!xt(e.firstElementChild)&&(!xt(e.content)||!xt(e.content.firstElementChild))&&R(/<[/\w]/g,e.innerHTML)&&R(/<[/\w]/g,e.textContent))return wt(e),!0;if("select"===r&&R(/\n\n \n\n \n \n \n \n\n \n \n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ResourceTable.vue?vue&type=template&id=ab9d5006\"\nimport script from \"./ResourceTable.vue?vue&type=script&lang=js\"\nexport * from \"./ResourceTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"percentage-bar\"},[_c('Bar',{attrs:{\"percentage\":_vm.value,\"primary-color\":_vm.primaryColor,\"slices\":_vm.slices}}),(_vm.showPercentage)?_c('span',{staticClass:\"ml-5 percentage-value\"},[_vm._v(_vm._s(_vm.formattedPercentage))]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bar\",style:(_vm.barStyle)},[_c('div',{staticClass:\"indicator\",style:(_vm.indicatorStyle)}),_vm._l((_vm.sliceStyles),function(sliceStyle,i){return _c('div',{key:i,staticClass:\"slice\",style:(sliceStyle)})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Bar.vue?vue&type=template&id=b4f4e2ae&scoped=true\"\nimport script from \"./Bar.vue?vue&type=script&lang=js\"\nexport * from \"./Bar.vue?vue&type=script&lang=js\"\nimport style0 from \"./Bar.vue?vue&type=style&index=0&id=b4f4e2ae&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4f4e2ae\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PercentageBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PercentageBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PercentageBar.vue?vue&type=template&id=620caa7e&scoped=true\"\nimport script from \"./PercentageBar.vue?vue&type=script&lang=js\"\nexport * from \"./PercentageBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./PercentageBar.vue?vue&type=style&index=0&id=620caa7e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"620caa7e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DashboardView.vue?vue&type=template&id=74ec30de&scoped=true\"\nimport script from \"./DashboardView.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardView.vue?vue&type=script&lang=js\"\nimport style0 from \"./DashboardView.vue?vue&type=style&index=0&id=74ec30de&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74ec30de\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5f2a0712&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f2a0712\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ResourceList',{attrs:{\"has-advanced-filtering\":_vm.advancedFilteringEnabled}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.namespaceFilterRequired)?_c('IconMessage',{attrs:{\"vertical\":true,\"subtle\":false,\"icon\":\"icon-filter_alt\"},scopedSlots:_vm._u([{key:\"message\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.t('resourceList.nsFiltering'))+\" \")]},proxy:true}],null,false,4238627989)}):_c('div',[(_vm.showMasthead)?_c('Masthead',{attrs:{\"type-display\":_vm.customTypeDisplay,\"schema\":_vm.schema,\"resource\":_vm.resource,\"show-incremental-loading-indicator\":_vm.showIncrementalLoadingIndicator,\"load-resources\":_vm.loadResources,\"load-indeterminate\":_vm.loadIndeterminate}},[_c('template',{slot:\"extraActions\"},[_vm._t(\"extraActions\")],2)],2):_vm._e(),_c('ExtensionPanel',{attrs:{\"resource\":{},\"type\":_vm.extensionType,\"location\":_vm.extensionLocation}}),(_vm.hasListComponent)?_c('div',[_c(_vm.listComponent,_vm._b({tag:\"component\",attrs:{\"incremental-loading-indicator\":_vm.showIncrementalLoadingIndicator,\"rows\":_vm.rows}},'component',_vm.$data,false))],1):_c('ResourceTable',{attrs:{\"schema\":_vm.schema,\"rows\":_vm.rows,\"loading\":_vm.loading,\"headers\":_vm.headers,\"group-by\":_vm.groupBy,\"has-advanced-filtering\":_vm.hasAdvancedFiltering,\"adv-filter-hide-labels-as-cols\":_vm.advFilterHideLabelsAsCols,\"adv-filter-prevent-filtering-labels\":_vm.advFilterPreventFilteringLabels,\"use-query-params-for-simple-filtering\":_vm.useQueryParamsForSimpleFiltering,\"force-update-live-and-delayed\":_vm.forceUpdateLiveAndDelayed}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('header',[_vm._t(\"typeDescription\",function(){return [_c('TypeDescription',{attrs:{\"resource\":_vm.resource}})]}),_c('div',{staticClass:\"title\"},[_c('h1',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm._typeDisplay)+\" \"),(_vm.isExplorer)?_c('Favorite',{attrs:{\"resource\":_vm.favoriteResource || _vm.resource}}):_vm._e()],1),(_vm.showIncrementalLoadingIndicator)?_c('ResourceLoadingIndicator',{attrs:{\"resources\":_vm.loadResources,\"indeterminate\":_vm.loadIndeterminate}}):_vm._e()],1),_c('div',{staticClass:\"actions-container\"},[_vm._t(\"actions\",function(){return [_c('div',{staticClass:\"actions\"},[_vm._t(\"extraActions\"),_vm._t(\"createButton\",function(){return [(_vm.hasEditComponent && _vm._isCreatable)?_c('n-link',{staticClass:\"btn role-primary\",attrs:{\"to\":_vm._createLocation,\"data-testid\":_vm.componentTestid+'-create'}},[_vm._v(\" \"+_vm._s(_vm._createButtonlabel)+\" \")]):(_vm._isYamlCreatable)?_c('n-link',{staticClass:\"btn role-primary\",attrs:{\"to\":_vm._yamlCreateLocation,\"data-testid\":_vm.componentTestid+'-create-yaml'}},[_vm._v(\" \"+_vm._s(_vm.t(\"resourceList.head.createFromYaml\"))+\" \")]):_vm._e()]})],2)]})],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('i',{staticClass:\"favorite icon\",class:{'icon-star-open': !_vm.isFavorite, 'icon-star': _vm.isFavorite},attrs:{\"tabindex\":0,\"aria-checked\":!!_vm.isFavorite,\"aria-role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggle.apply(null, arguments)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.toggle.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;$event.preventDefault();return _vm.toggle.apply(null, arguments)}]}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Favorite.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Favorite.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Favorite.vue?vue&type=template&id=f74a378a&scoped=true\"\nimport script from \"./Favorite.vue?vue&type=script&lang=js\"\nexport * from \"./Favorite.vue?vue&type=script&lang=js\"\nimport style0 from \"./Favorite.vue?vue&type=style&index=0&id=f74a378a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f74a378a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.typeDescriptionKey)?_c('Banner',{staticClass:\"type-banner mb-20 mt-0\",attrs:{\"color\":\"info\",\"closable\":true,\"label-key\":_vm.typeDescriptionKey},on:{\"close\":_vm.hideTypeDescription}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeDescription.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeDescription.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TypeDescription.vue?vue&type=template&id=23a42aff\"\nimport script from \"./TypeDescription.vue?vue&type=script&lang=js\"\nexport * from \"./TypeDescription.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.count && !_vm.haveAll)?_c('div',{staticClass:\"ml-10 resource-loading-indicator\"},[_c('div',{staticClass:\"inner\"},[_c('div',{staticClass:\"resource-loader\"},[_c('div',{staticClass:\"rl-bg\"},[_c('i',{staticClass:\"icon icon-spinner icon-spin\"}),_c('span',[_vm._v(_vm._s(_vm.t( 'resourceLoadingIndicator.loading' ))+\" \"),(!_vm.indeterminate)?_c('span',[_vm._v(_vm._s(_vm.count)+\" / \"+_vm._s(_vm.total))]):_vm._e()])])]),_c('div',{staticClass:\"resource-loader\",style:({width: _vm.width})},[_c('div',{staticClass:\"rl-fg\"},[_c('i',{staticClass:\"icon icon-spinner icon-spin\"}),_c('span',[_vm._v(_vm._s(_vm.t( 'resourceLoadingIndicator.loading' ))+\" \"),(!_vm.indeterminate)?_c('span',[_vm._v(_vm._s(_vm.count)+\" / \"+_vm._s(_vm.total))]):_vm._e()])])])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceLoadingIndicator.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceLoadingIndicator.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ResourceLoadingIndicator.vue?vue&type=template&id=6457c305&scoped=true\"\nimport script from \"./ResourceLoadingIndicator.vue?vue&type=script&lang=js\"\nexport * from \"./ResourceLoadingIndicator.vue?vue&type=script&lang=js\"\nimport style0 from \"./ResourceLoadingIndicator.vue?vue&type=style&index=0&id=6457c305&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6457c305\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Masthead.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Masthead.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Masthead.vue?vue&type=template&id=c734c0f4&scoped=true\"\nimport script from \"./Masthead.vue?vue&type=script&lang=js\"\nexport * from \"./Masthead.vue?vue&type=script&lang=js\"\nimport style0 from \"./Masthead.vue?vue&type=style&index=0&id=c734c0f4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c734c0f4\",\n null\n \n)\n\nexport default component.exports","export const NAMESPACE_FILTER_ALL_PREFIX = 'all';\nexport const NAMESPACE_FILTER_NS_PREFIX = 'ns';\nexport const NAMESPACE_FILTER_P_PREFIX = 'project';\n\nexport const NAMESPACE_FILTER_NS_FULL_PREFIX = `${ NAMESPACE_FILTER_NS_PREFIX }://`;\nexport const NAMESPACE_FILTER_P_FULL_PREFIX = `${ NAMESPACE_FILTER_P_PREFIX }://`;\n\nexport const NAMESPACE_FILTER_ALL = NAMESPACE_FILTER_ALL_PREFIX;\nexport const NAMESPACE_FILTER_ALL_SYSTEM = `${ NAMESPACE_FILTER_ALL_PREFIX }://system`;\nexport const NAMESPACE_FILTER_ALL_USER = `${ NAMESPACE_FILTER_ALL_PREFIX }://user`;\nexport const NAMESPACE_FILTER_ALL_ORPHANS = `${ NAMESPACE_FILTER_ALL_PREFIX }://orphans`;\nexport const NAMESPACE_FILTER_NAMESPACED_PREFIX = 'namespaced://';\nexport const NAMESPACE_FILTER_NAMESPACED_YES = 'namespaced://true';\nexport const NAMESPACE_FILTER_NAMESPACED_NO = 'namespaced://false';\n\nexport const NAMESPACE_FILTER_KINDS = {\n DIVIDER: 'divider',\n PROJECT: 'project',\n NAMESPACE: 'namespace',\n SPECIAL: 'special'\n};\n\nconst SEPARATOR = '__%%__';\n\nexport const createNamespaceFilterKey = (clusterId, product) => {\n if (!product?.customNamespaceFilter) {\n return clusterId;\n }\n\n return createNamespaceFilterKeyWithId(clusterId, product.name);\n};\nexport const createNamespaceFilterKeyWithId = (clusterId, productId) => {\n return `${ clusterId }${ SEPARATOR }${ productId }`;\n};\n\nexport const splitNamespaceFilterKey = (key) => {\n const [clusterId, productId] = key.split(SEPARATOR);\n\n return {\n clusterId,\n productId\n };\n};\n","/**\n * Component name of the `ResourceList`\n *\n * This needs to be a in separate file to avoid circular dependency of\n * index.vue --> resource-fetch mixin --> resource-fetch-namespaced mixin --> index.vue\n */\nexport const ResourceListComponentName = 'ResourceList';\n","import { MANAGEMENT } from '@shell/config/types';\nimport { Store } from 'vuex';\nimport { DEFAULT_PERF_SETTING, PerfSettings, SETTING } from '@shell/config/settings';\n\nexport const fetchOrCreateSetting = async(store: Store, id: string, val: string, save = true): Promise => {\n let setting;\n\n try {\n setting = await store.dispatch('management/find', { type: MANAGEMENT.SETTING, id });\n } catch {\n const schema = store.getters['management/schemaFor'](MANAGEMENT.SETTING);\n const url = schema.linkFor('collection');\n\n setting = await store.dispatch('management/create', {\n type: MANAGEMENT.SETTING, metadata: { name: id }, value: val, default: val || ''\n });\n if ( save ) {\n await setting.save({ url });\n }\n }\n\n return setting;\n};\n\n/**\n * Fetch a specific setting that might not exist\n * We fetch all settings - reality is Rancher will have done this already, so there's no overhead in doing\n * this - but if we fetch a specific setting that does not exist, we will get a 404, which we don't want\n */\nexport const fetchSetting = async(store: Store, id: string): Promise => {\n const all = await store.dispatch('management/findAll', { type: MANAGEMENT.SETTING });\n const setting = (all || []).find((setting: any) => setting.id === id);\n\n return setting;\n};\n\nexport const setSetting = async(store: Store, id: string, val: string): Promise => {\n const setting = await fetchOrCreateSetting(store, id, val, false);\n\n setting.value = val;\n await setting.save();\n\n return setting;\n};\n\nexport const getPerformanceSetting = (rootGetters: Record any>): PerfSettings => {\n const perfSettingResource = rootGetters['management/byId'](MANAGEMENT.SETTING, SETTING.UI_PERFORMANCE);\n let perfSetting = {};\n\n if (perfSettingResource?.value) {\n try {\n perfSetting = JSON.parse(perfSettingResource.value);\n } catch (e) {\n console.warn('ui-performance setting contains invalid data'); // eslint-disable-line no-console\n }\n }\n\n // Start with the default and overwrite the values from the setting - ensures we have defaults for newly added options\n return Object.assign(DEFAULT_PERF_SETTING, perfSetting || {});\n};\n","import { NAMESPACE_FILTER_NS_FULL_PREFIX, NAMESPACE_FILTER_P_FULL_PREFIX } from '@shell/utils/namespace-filter';\nimport { getPerformanceSetting } from '@shell/utils/settings';\n\ntype Opt = { [key: string]: any, namespaced?: string[]}\n\nclass ProjectAndNamespaceFiltering {\n static param = 'projectsornamespaces'\n\n /**\n * Does the request `opt` definition require resources are fetched from a specific set namespaces/projects?\n */\n isApplicable(opt: Opt): boolean {\n return Array.isArray(opt.namespaced);\n }\n\n isEnabled(rootGetters: any): boolean {\n const currentProduct = rootGetters['currentProduct'];\n\n // Only enable for the cluster store at the moment. In theory this should work in management as well, as they're both 'steve' stores\n if (currentProduct?.inStore !== 'cluster') {\n return false;\n }\n\n if (currentProduct?.showWorkspaceSwitcher) {\n return false;\n }\n\n const perfConfig = getPerformanceSetting(rootGetters);\n\n if (!perfConfig.forceNsFilterV2?.enabled) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Check if `opt` requires resources from specific ns/projects, if so return the required query param (x=y)\n */\n checkAndCreateParam(opt: Opt): string {\n if (!this.isApplicable(opt)) {\n return '';\n }\n\n return this.createParam(opt.namespaced);\n }\n\n private createParam(namespaceFilter: string[] | undefined): string {\n if (!namespaceFilter || !namespaceFilter.length) {\n return '';\n }\n\n const projectsOrNamespaces = namespaceFilter\n .map((f) => f.replace(NAMESPACE_FILTER_NS_FULL_PREFIX, '')\n .replace(NAMESPACE_FILTER_P_FULL_PREFIX, ''))\n .join(',');\n\n return `${ ProjectAndNamespaceFiltering.param }=${ projectsOrNamespaces }`;\n }\n}\n\nexport default new ProjectAndNamespaceFiltering();\n","import { NAMESPACE_FILTER_NS_PREFIX, NAMESPACE_FILTER_P_PREFIX } from '@shell/utils/namespace-filter';\nimport { mapGetters } from 'vuex';\nimport { ResourceListComponentName } from '../components/ResourceList/resource-list.config';\nimport pAndNFiltering from '@shell/utils/projectAndNamespaceFiltering.utils';\n\n/**\n * Companion mixin used with `resource-fetch` for `ResourceList` to determine if the user needs to filter the list by a single namespace\n */\nexport default {\n\n data() {\n return { forceUpdateLiveAndDelayed: 0 };\n },\n\n computed: {\n ...mapGetters(['currentProduct', 'currentCluster', 'namespaceFilters']),\n\n /**\n * Does the user need to update the filter to supply a single namespace?\n */\n namespaceFilterRequired() {\n return this.__namespaceRequired && !this.__validFilter;\n },\n\n /**\n * Returns the namespace that requests should be filtered by\n */\n namespaceFilter() {\n return this.__namespaceRequired ? this.__validFilter : '';\n },\n\n /**\n * If the Project/Namespace filter from the header contains a valid ns / project filter ... return it\n */\n __validFilter() {\n const valid = this.namespaceFilters.length && this.namespaceFilters.every((f) => f.startsWith(NAMESPACE_FILTER_NS_PREFIX) || f.startsWith(NAMESPACE_FILTER_P_PREFIX));\n\n return valid ? this.namespaceFilters : null;\n },\n\n /**\n * Do we need to filter the list by a namespace? This will control whether the user is shown an error\n *\n * We shouldn't show an error on pages with resources that aren't namespaced\n */\n __namespaceRequired() {\n if (!pAndNFiltering.isEnabled(this.$store.getters)) {\n return false;\n }\n\n return this.__areResourcesNamespaced;\n },\n\n /**\n * Are all core list resources namespaced?\n */\n __areResourcesNamespaced() {\n // Only enable for the cluster store at the moment. In theory this should work in management as well, as they're both 'steve' stores\n if (this.currentProduct.inStore !== 'cluster') {\n return false;\n }\n\n return (this.loadResources || []).every((type) => {\n const schema = this.$store.getters['cluster/schemaFor'](type);\n\n return schema?.attributes?.namespaced;\n });\n },\n\n },\n\n watch: {\n async namespaceFilter(neu) {\n if (neu) {\n // When a NS filter is required and the user selects a different one, kick off a new set of API requests\n //\n // ResourceList has two modes\n // 1) ResourceList component handles API request to fetch resources\n // 2) Custom list component handles API request to fetch resources\n //\n // This covers case 2\n if (this.$options.name !== ResourceListComponentName && !!this.$fetch) {\n await this.$fetch();\n }\n // Ensure any live/delayed columns get updated\n this.forceUpdateLiveAndDelayed = new Date().getTime();\n }\n }\n }\n};\n","import { mapGetters } from 'vuex';\nimport { COUNT, MANAGEMENT } from '@shell/config/types';\nimport { SETTING, DEFAULT_PERF_SETTING } from '@shell/config/settings';\nimport ResourceFetchNamespaced from '@shell/mixins/resource-fetch-namespaced';\n\n// Number of pages to fetch when loading incrementally\nconst PAGES = 4;\n\nexport default {\n\n mixins: [ResourceFetchNamespaced],\n\n data() {\n // fetching the settings related to manual refresh from global settings\n const perfSetting = this.$store.getters['management/byId'](MANAGEMENT.SETTING, SETTING.UI_PERFORMANCE);\n let perfConfig = {};\n\n if (perfSetting && perfSetting.value) {\n try {\n perfConfig = JSON.parse(perfSetting.value);\n } catch (e) {\n console.warn('ui-performance setting contains invalid data'); // eslint-disable-line no-console\n }\n } else {\n perfConfig = DEFAULT_PERF_SETTING;\n }\n\n return {\n perfConfig,\n init: false,\n multipleResources: [],\n loadResources: [this.resource],\n // manual refresh vars\n hasManualRefresh: false,\n watch: true,\n isTooManyItemsToAutoUpdate: false,\n force: false,\n // incremental loading vars\n incremental: false,\n fetchedResourceType: [],\n };\n },\n beforeDestroy() {\n // make sure this only runs once, for the initialized instance\n if (this.init) {\n // clear up the store to make sure we aren't storing anything that might interfere with the next rendered list view\n this.$store.dispatch('resource-fetch/clearData');\n\n this.fetchedResourceType.forEach((item) => {\n this.$store.dispatch(`${ item.currStore }/incrementLoadCounter`, item.type);\n });\n }\n },\n\n computed: {\n ...mapGetters({ refreshFlag: 'resource-fetch/refreshFlag' }),\n rows() {\n const currResource = this.fetchedResourceType.find((item) => item.type === this.resource);\n\n if (currResource) {\n return this.$store.getters[`${ currResource.currStore }/all`](this.resource);\n } else {\n return [];\n }\n },\n loading() {\n return this.rows.length ? false : this.$fetchState.pending;\n },\n },\n watch: {\n refreshFlag(neu) {\n // this is where the data assignment will trigger the update of the list view...\n if (this.init && neu) {\n this.$fetch();\n }\n }\n },\n methods: {\n // this defines all the flags needed for the mechanism\n // to work. They should be defined based on the main list view\n // resource that is to be displayed. The secondary resources\n // fetched should follow what was defined (if it is manual and/or incremental)\n $initializeFetchData(type, multipleResources = [], storeType) {\n if (!this.init) {\n const currStore = storeType || this.$store.getters['currentStore']();\n\n this.__gatherResourceFetchData(type, multipleResources, currStore);\n\n // make sure after init that, if we have a manual refresh, we always set the force = true\n if (!this.watch) {\n this.force = true;\n }\n\n if (this.isTooManyItemsToAutoUpdate) {\n this.hasManualRefresh = true;\n }\n }\n },\n // data fetching for the mechanism\n $fetchType(type, multipleResources = [], storeType) {\n const currStore = storeType || this.$store.getters['currentStore']();\n\n this.$initializeFetchData(type, multipleResources, currStore);\n\n if (!this.fetchedResourceType.find((item) => item.type === type)) {\n this.fetchedResourceType.push({\n type,\n currStore\n });\n }\n\n let incremental = 0;\n\n if (this.incremental) {\n const resourceCount = this.__getCountForResources([type], this.namespaceFilter, currStore);\n\n incremental = Math.ceil(resourceCount / PAGES);\n }\n\n const opt = {\n incremental,\n watch: this.watch,\n force: this.force,\n hasManualRefresh: this.hasManualRefresh\n };\n\n const schema = this.$store.getters[`${ currStore }/schemaFor`](type);\n\n if (schema?.attributes?.namespaced) { // Is this specific resource namespaced (could be primary or secondary resource)?\n opt.namespaced = this.namespaceFilter; // namespaceFilter will only be populated if applicable for primary resource\n }\n\n return this.$store.dispatch(`${ currStore }/findAll`, {\n type,\n opt\n });\n },\n\n __getCountForResources(resourceNames, namespace, storeType) {\n const currStore = storeType || this.$store.getters['currentStore']();\n\n return resourceNames.reduce((res, type) => res + this.__getCountForResource(type, namespace, currStore), 0);\n },\n\n __getCountForResource(resourceName, namespace, storeType) {\n const resourceCounts = this.$store.getters[`${ storeType }/all`](COUNT)[0]?.counts[`${ resourceName }`]; // NB `rancher` store behaves differently, lacks counts but has resource\n const resourceCount = namespace && resourceCounts?.namespaces ? resourceCounts?.namespaces[namespace]?.count : resourceCounts?.summary?.count;\n\n return resourceCount || 0;\n },\n\n __gatherResourceFetchData(resourceName, multipleResources, currStore) {\n // flag to prevent a first data update being triggered from the requestData watcher\n this.init = true;\n\n // manual refresh settings config\n const manualDataRefreshEnabled = this.perfConfig?.manualRefresh?.enabled;\n const manualDataRefreshThreshold = parseInt(this.perfConfig?.manualRefresh?.threshold || '0', 10);\n\n // incremental loading settings config\n const incrementalLoadingEnabled = this.perfConfig?.incrementalLoading?.enabled;\n const incrementalLoadingThreshold = parseInt(this.perfConfig?.incrementalLoading?.threshold || '0', 10);\n\n // other vars\n this.multipleResources = multipleResources;\n let resourceCount = 0;\n\n // manual refresh vars\n let watch = true;\n let isTooManyItemsToAutoUpdate = false;\n\n // incremental loading vars\n let incremental = false;\n\n // get resource counts\n const resourcesForCount = this.multipleResources.length ? this.multipleResources : [resourceName];\n\n resourceCount = this.__getCountForResources(resourcesForCount, this.namespaceFilter, currStore);\n\n // manual refresh check\n if (manualDataRefreshEnabled && resourceCount >= manualDataRefreshThreshold) {\n watch = false;\n isTooManyItemsToAutoUpdate = true;\n }\n\n // incremental loading check\n incremental = incrementalLoadingEnabled && incrementalLoadingThreshold > 0 && resourceCount >= incrementalLoadingThreshold;\n\n // pass on the flag that controls the appearance of the manual refresh button on the sortable table\n this.$store.dispatch('resource-fetch/updateIsTooManyItems', isTooManyItemsToAutoUpdate);\n\n // set vars on mixin to be used on $fetchType\n this.watch = watch;\n this.isTooManyItemsToAutoUpdate = isTooManyItemsToAutoUpdate;\n this.incremental = incremental;\n },\n },\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"message-icon\",class:{'vertical': _vm.vertical, 'subtle': _vm.subtle}},[_c('i',{staticClass:\"icon\",class:{ [_vm.icon]: true, [_vm.iconState]: !!_vm.iconState}}),_c('div',{staticClass:\"message\"},[_vm._t(\"message\",function(){return [(_vm.messageKey)?[_vm._v(\" \"+_vm._s(_vm.t(_vm.messageKey))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]]})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./IconMessage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./IconMessage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IconMessage.vue?vue&type=template&id=01996ade&scoped=true\"\nimport script from \"./IconMessage.vue?vue&type=script&lang=js\"\nexport * from \"./IconMessage.vue?vue&type=script&lang=js\"\nimport style0 from \"./IconMessage.vue?vue&type=style&index=0&id=01996ade&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"01996ade\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.extensionData.length)?_c('div',_vm._l((_vm.extensionData),function(item,i){return _c('div',{key:`extensionData${_vm.location}${i}`},[_c(item.component,{tag:\"component\",attrs:{\"resource\":_vm.resource}})],1)}),0):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ExtensionPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ExtensionPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ExtensionPanel.vue?vue&type=template&id=1a394d3c\"\nimport script from \"./ExtensionPanel.vue?vue&type=script&lang=js\"\nexport * from \"./ExtensionPanel.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n \n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=02ac34ae&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=02ac34ae&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"02ac34ae\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f8d85758\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ResourceDetail')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.$fetchState.pending || _vm.notFound)?_c('Loading'):_c('div',[(_vm.showMasthead)?_c('Masthead',{attrs:{\"resource\":_vm.resource,\"value\":_vm.liveModel,\"mode\":_vm.mode,\"real-mode\":_vm.realMode,\"as\":_vm.as,\"has-graph\":_vm.hasGraph,\"has-detail\":_vm.hasCustomDetail,\"has-edit\":_vm.hasCustomEdit,\"can-view-yaml\":_vm.canViewYaml,\"resource-subtype\":_vm.resourceSubtype,\"parent-route-override\":_vm.parentRouteOverride,\"store-override\":_vm.storeOverride}},[(_vm.isView && _vm.isDetail)?_c('DetailTop',{attrs:{\"value\":_vm.liveModel}}):_vm._e()],1):_vm._e(),(_vm.isGraph && _vm.canViewChart)?_c('ForceDirectedTreeChart',{attrs:{\"data\":_vm.chartData,\"fdc-config\":_vm.getGraphConfig}}):(_vm.isYaml)?_c('ResourceYaml',{ref:\"resourceyaml\",class:{'flex-content': _vm.flexContent},attrs:{\"mode\":_vm.mode,\"yaml\":_vm.yaml,\"offer-preview\":_vm.offerPreview,\"done-route\":_vm.doneRoute,\"done-override\":_vm.value.doneOverride},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}):_c(_vm.showComponent,_vm._b({ref:\"comp\",tag:\"component\",class:{'flex-content': _vm.flexContent},attrs:{\"done-params\":_vm.doneParams,\"done-route\":_vm.doneRoute,\"mode\":_vm.mode,\"initial-value\":_vm.initialModel,\"live-value\":_vm.liveModel,\"real-mode\":_vm.realMode},on:{\"set-subtype\":_vm.setSubtype},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},'component',_vm._data,false)),(_vm.isView)?_c('button',{directives:[{name:\"shortkey\",rawName:\"v-shortkey.once\",value:(['shift','d']),expression:\"['shift','d']\",modifiers:{\"once\":true}}],staticClass:\"hide\",attrs:{\"data-testid\":_vm.componentTestid + '-detail'},on:{\"shortkey\":function($event){return _vm.keyAction('goToDetail')}}}):_vm._e(),(_vm.isView)?_c('button',{directives:[{name:\"shortkey\",rawName:\"v-shortkey.once\",value:(['shift','c']),expression:\"['shift','c']\",modifiers:{\"once\":true}}],staticClass:\"hide\",attrs:{\"data-testid\":_vm.componentTestid + '-config'},on:{\"shortkey\":function($event){return _vm.keyAction('goToViewConfig')}}}):_vm._e(),(_vm.isView)?_c('button',{directives:[{name:\"shortkey\",rawName:\"v-shortkey.once\",value:(['shift','y']),expression:\"['shift','y']\",modifiers:{\"once\":true}}],staticClass:\"hide\",attrs:{\"data-testid\":_vm.componentTestid + '-yaml'},on:{\"shortkey\":function($event){return _vm.keyAction('goToViewYaml')}}}):_vm._e(),(_vm.isView)?_c('button',{directives:[{name:\"shortkey\",rawName:\"v-shortkey.once\",value:(['shift','e']),expression:\"['shift','e']\",modifiers:{\"once\":true}}],staticClass:\"hide\",attrs:{\"data-testid\":_vm.componentTestid + '-edit'},on:{\"shortkey\":function($event){return _vm.keyAction('goToEdit')}}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"masthead\"},[_c('header',[_c('div',{staticClass:\"title\"},[_c('div',{staticClass:\"primaryheader\"},[_c('h1',[(_vm.location)?_c('nuxt-link',{attrs:{\"to\":_vm.location}},[_vm._v(\" \"+_vm._s(_vm.parent.displayName)+\": \")]):_c('span',[_vm._v(_vm._s(_vm.parent.displayName)+\":\")]),(_vm.value.detailPageHeaderActionOverride && _vm.value.detailPageHeaderActionOverride(_vm.realMode))?_c('span',[_vm._v(_vm._s(_vm.value.detailPageHeaderActionOverride(_vm.realMode)))]):_c('t',{staticClass:\"mastehead-resource-title\",attrs:{\"k\":'resourceDetail.header.' + _vm.realMode,\"subtype\":_vm.resourceSubtype,\"name\":_vm.displayName,\"escapehtml\":false}}),(!_vm.isCreate && _vm.parent.showState)?_c('BadgeState',{staticClass:\"masthead-state\",attrs:{\"value\":_vm.value}}):_vm._e(),(!_vm.isCreate && _vm.value.injectionEnabled)?_c('span',{staticClass:\"masthead-istio\"},[_c('i',{directives:[{name:\"clean-tooltip\",rawName:\"v-clean-tooltip\",value:(_vm.t('projectNamespaces.isIstioInjectionEnabled')),expression:\"t('projectNamespaces.isIstioInjectionEnabled')\"}],staticClass:\"icon icon-sm icon-istio\"})]):_vm._e()],1)]),(!_vm.isCreate)?_c('div',{staticClass:\"subheader\"},[(_vm.isNamespace && _vm.project)?_c('span',[_vm._v(_vm._s(_vm.t(\"resourceDetail.masthead.project\"))+\": \"),_c('nuxt-link',{attrs:{\"to\":_vm.project.detailLocation}},[_vm._v(_vm._s(_vm.project.nameDisplay))])],1):(_vm.isWorkspace)?_c('span',[_vm._v(_vm._s(_vm.t(\"resourceDetail.masthead.workspace\"))+\": \"),_c('nuxt-link',{attrs:{\"to\":_vm.workspaceLocation}},[_vm._v(_vm._s(_vm.namespace))])],1):(_vm.namespace && !_vm.hasMultipleNamespaces)?_c('span',[_vm._v(\" \"+_vm._s(_vm.t(\"resourceDetail.masthead.namespace\"))+\": \"),(!_vm.hideNamespaceLocation)?_c('nuxt-link',{attrs:{\"to\":_vm.namespaceLocation}},[_vm._v(\" \"+_vm._s(_vm.namespace)+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.namespace)+\" \")])],1):_vm._e(),(_vm.parent.showAge)?_c('span',[_vm._v(_vm._s(_vm.t(\"resourceDetail.masthead.age\"))+\": \"),_c('LiveDate',{staticClass:\"live-date\",attrs:{\"value\":_vm.value.creationTimestamp}})],1):_vm._e(),(_vm.value.showPodRestarts)?_c('span',[_vm._v(_vm._s(_vm.t(\"resourceDetail.masthead.restartCount\"))+\":\"),_c('span',{staticClass:\"live-data\"},[_vm._v(\" \"+_vm._s(_vm.value.restartCount))])]):_vm._e()]):_vm._e()]),_vm._t(\"right\",function(){return [_c('div',{staticClass:\"actions-container align-start\"},[_c('div',{staticClass:\"actions\"},[(_vm.detailsAction && _vm.currentView === _vm.DETAIL_VIEW && _vm.isView)?_c('button',{staticClass:\"btn role-primary actions mr-10\",attrs:{\"type\":\"button\",\"disabled\":!_vm.detailsAction.enabled},on:{\"click\":_vm.invokeDetailsAction}},[_vm._v(\" \"+_vm._s(_vm.detailsAction.label)+\" \")]):_vm._e(),(_vm.showSensitiveToggle)?_c('ButtonGroup',{staticClass:\"mr-10\",attrs:{\"value\":!!_vm.hideSensitiveData,\"icon-size\":\"lg\",\"options\":_vm.sensitiveOptions},on:{\"input\":_vm.toggleSensitiveData}}):_vm._e(),(_vm.viewOptions && _vm.isView)?_c('ButtonGroup',{staticClass:\"mr-10\",attrs:{\"options\":_vm.viewOptions},model:{value:(_vm.currentView),callback:function ($$v) {_vm.currentView=$$v},expression:\"currentView\"}}):_vm._e(),(_vm.isView)?_c('button',{ref:\"actions\",staticClass:\"btn role-multi-action actions\",attrs:{\"aria-haspopup\":\"true\",\"type\":\"button\"},on:{\"click\":_vm.showActions}},[_c('i',{staticClass:\"icon icon-actions\"})]):_vm._e()],1)])]})],2),_c('ExtensionPanel',{attrs:{\"resource\":_vm.value,\"type\":_vm.extensionType,\"location\":_vm.extensionLocation}}),(_vm.banner && _vm.isView && !_vm.parent.hideBanner)?_c('Banner',{staticClass:\"state-banner mb-10\",attrs:{\"color\":_vm.banner.color,\"label\":_vm.banner.message}}):_vm._e(),(_vm.managedWarning.show)?_c('Banner',{staticClass:\"mb-20\",attrs:{\"color\":\"warning\",\"label\":_vm.t('resourceDetail.masthead.managedWarning', _vm.managedWarning)}}):_vm._e(),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{class:{'badge-state': true, [_vm.bg]: true}},[(_vm.icon)?_c('i',{staticClass:\"icon\",class:{[_vm.icon]: true, 'mr-5': !!_vm.msg}}):_vm._e(),_vm._v(_vm._s(_vm.msg)+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue, { PropType } from 'vue';\n\ninterface Badge {\n stateBackground: string;\n stateDisplay: string;\n}\n\n/**\n * Badge state component.\n *

    Represents a badge whose label and color is either taken from the value property or\n * from the label and color properties. The state property takes precedence.

    \n */\nexport default Vue.extend({\n props: {\n /**\n * A value having the properties `stateBackground` and `stateDisplay`\n */\n value: {\n type: Object as PropType,\n default: null\n },\n\n /**\n * Badge color. `stateBackground` of the value property takes precedence if supplied\n */\n color: {\n type: String,\n default: null\n },\n\n /**\n * Optional icon to be shown before the label\n */\n icon: {\n type: String,\n default: null\n },\n\n /**\n * Label to display in the badge. `stateDisplay` of the value property takes precedence if supplied\n */\n label: {\n type: String,\n default: null\n }\n },\n\n computed: {\n bg(): string | null {\n return this.value?.stateBackground || this.color;\n },\n\n msg(): string | null {\n return this.value?.stateDisplay || this.label;\n }\n }\n});\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--15-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../ts-loader/index.js??ref--15-3!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BadgeState.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--15-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../ts-loader/index.js??ref--15-3!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BadgeState.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BadgeState.vue?vue&type=template&id=70e48e16&scoped=true\"\nimport script from \"./BadgeState.vue?vue&type=script&lang=ts\"\nexport * from \"./BadgeState.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BadgeState.vue?vue&type=style&index=0&id=70e48e16&prod&lang=scss&scoped=true\"\nimport style1 from \"./BadgeState.vue?vue&type=style&index=1&id=70e48e16&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70e48e16\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Masthead.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Masthead.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Masthead.vue?vue&type=template&id=78de509a&scoped=true\"\nimport script from \"./Masthead.vue?vue&type=script&lang=js\"\nexport * from \"./Masthead.vue?vue&type=script&lang=js\"\nimport style0 from \"./Masthead.vue?vue&type=style&index=0&id=78de509a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78de509a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"detail-top\",class:{empty: _vm.isEmpty}},[(_vm.hasNamespaces)?_c('div',{staticClass:\"labels\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.t('resourceDetail.detailTop.namespaces'))+\": \")]),_c('span',_vm._l((_vm.namespaces),function(namespace){return _c('nuxt-link',{key:namespace.name,staticClass:\"namespaceLinkList\",attrs:{\"to\":namespace.detailLocation}},[_vm._v(\" \"+_vm._s(namespace.name)+\" \")])}),1)]):_vm._e(),(_vm.description)?_c('div',{staticClass:\"description\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.t('resourceDetail.detailTop.description'))+\": \")]),_c('span',{staticClass:\"content\"},[_vm._v(_vm._s(_vm.description))])]):_vm._e(),(_vm.hasDetails)?_c('div',_vm._l((_vm.details),function(group,index){return _c('div',{key:index,staticClass:\"details\"},_vm._l((group),function(detail){return _c('div',{key:detail.label || detail.slotName,staticClass:\"detail\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(detail.label)+\": \")]),(detail.formatter)?_c(detail.formatter,_vm._b({tag:\"component\",attrs:{\"value\":detail.content}},'component',detail.formatterOpts,false)):_c('span',[_vm._v(_vm._s(detail.content))])],1)}),0)}),0):_vm._e(),(_vm.hasLabels)?_c('div',{staticClass:\"labels\"},[_c('div',{staticClass:\"tags\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.t('resourceDetail.detailTop.labels'))+\": \")]),_vm._l((_vm.labels),function(prop,key){return _c('Tag',{key:key + prop},[(_vm.internalIcons[key])?_c('i',{staticClass:\"icon\",class:_vm.internalIcons[key]}):_vm._e(),(_vm.internalTooltips[key])?_c('span',{directives:[{name:\"clean-tooltip\",rawName:\"v-clean-tooltip\",value:(prop ? `${key} : ${prop}` : key),expression:\"prop ? `${key} : ${prop}` : key\"}]},[_c('span',[_vm._v(_vm._s(_vm.internalTooltips[key] ? _vm.internalTooltips[key] : key))]),(_vm.showAllLabels)?_c('span',[_vm._v(\": \"+_vm._s(key))]):_vm._e()]):_c('span',[_vm._v(_vm._s(prop ? `${key} : ${prop}` : key))])])}),(_vm.showFilteredSystemLabels)?_c('a',{staticClass:\"detail-top__label-button\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleLabels.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.t(`resourceDetail.detailTop.${_vm.showAllLabels? 'hideLabels' : 'showLabels'}`))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.hasAnnotations)?_c('div',{staticClass:\"annotations\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.t('resourceDetail.detailTop.annotations'))+\": \")]),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleAnnotations.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.t(`resourceDetail.detailTop.${_vm.annotationsVisible? 'hideAnnotations' : 'showAnnotations'}`, {annotations: _vm.annotationCount}))+\" \")]),(_vm.annotationsVisible)?_c('div',_vm._l((_vm.annotations),function(val,key){return _c('DetailText',{key:key,staticClass:\"annotation\",attrs:{\"value\":val,\"label\":key}})}),1):_vm._e()]):_vm._e(),_c('ExtensionPanel',{attrs:{\"resource\":_vm.value,\"type\":_vm.extensionType,\"location\":_vm.extensionLocation}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"tag\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=0d281a35&scoped=true\"\nimport script from \"./Tag.vue?vue&type=script&lang=js\"\nexport * from \"./Tag.vue?vue&type=script&lang=js\"\nimport style0 from \"./Tag.vue?vue&type=style&index=0&id=0d281a35&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d281a35\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailTop.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailTop.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DetailTop.vue?vue&type=template&id=ab4e0560\"\nimport script from \"./DetailTop.vue?vue&type=script&lang=js\"\nexport * from \"./DetailTop.vue?vue&type=script&lang=js\"\nimport style0 from \"./DetailTop.vue?vue&type=style&index=0&id=ab4e0560&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"chart-container\"},[(!_vm.isChartFirstRenderAnimationFinished)?_c('div',{staticClass:\"loading-container\"},[_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isChartFirstRendered),expression:\"!isChartFirstRendered\"}]},[_vm._v(\" \"+_vm._s(_vm.t('fleet.fdc.loadingChart'))+\" \")]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isChartFirstRendered && !_vm.isChartFirstRenderAnimationFinished),expression:\"isChartFirstRendered && !isChartFirstRenderAnimationFinished\"}]},[_vm._v(\" \"+_vm._s(_vm.t('fleet.fdc.renderingChart'))+\" \")]),_c('i',{staticClass:\"mt-10 icon-spinner icon-spin\"})]):_vm._e(),_c('div',{attrs:{\"id\":\"tree\"}}),_c('div',{staticClass:\"more-info-container\"},[_c('div',{staticClass:\"more-info\"},[_c('table',_vm._l((_vm.moreInfo),function(item,i){return _c('tr',{key:i},[(item.type !== 'single-error')?_c('td',{class:{'align-middle': item.type === 'state-badge'}},[_c('span',{staticClass:\"more-info-item-label\"},[_vm._v(_vm._s(_vm.t(item.labelKey))+\":\")])]):_vm._e(),(item.type === 'title-link')?_c('td',[(item.valueObj.detailLocation)?_c('span',[_c('n-link',{attrs:{\"to\":item.valueObj.detailLocation}},[_vm._v(\" \"+_vm._s(item.valueObj.id)+\" \")])],1):_c('span',[_vm._v(_vm._s(item.valueObj.id))])]):(item.type === 'state-badge')?_c('td',{staticClass:\"align-middle\"},[_c('span',[_c('BadgeState',{staticClass:\"state-bagde\",attrs:{\"color\":`bg-${item.valueObj.stateColor}`,\"label\":item.valueObj.stateLabel}})],1)]):_vm._e(),(item.type === 'single-error')?_c('td',{staticClass:\"single-error\",attrs:{\"colspan\":\"2\"}},[_c('p',[_vm._v(_vm._s(item.value))])]):_c('td',[_vm._v(\" \"+_vm._s(item.value)+\" \")])])}),0)])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection, event) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start(event).brush(event).end(event);\n });\n }\n };\n\n brush.clear = function(group, event) {\n brush.move(group, null, event);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move(event);\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move(event);\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move(event);\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move(event);\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default x => () => x;\n","export default function DragEvent(type, {\n sourceEvent,\n subject,\n target,\n identifier,\n active,\n x, y, dx, dy,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n subject: {value: subject, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n identifier: {value: identifier, enumerable: true, configurable: true},\n active: {value: active, enumerable: true, configurable: true},\n x: {value: x, enumerable: true, configurable: true},\n y: {value: y, enumerable: true, configurable: true},\n dx: {value: dx, enumerable: true, configurable: true},\n dy: {value: dy, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {select, pointer} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag.js\";\nimport noevent, {nonpassive, nonpassivecapture, nopropagation} from \"./noevent.js\";\nimport constant from \"./constant.js\";\nimport DragEvent from \"./event.js\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(event, d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved, nonpassive)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned(event, d) {\n if (touchending || !filter.call(this, event, d)) return;\n var gesture = beforestart(this, container.call(this, event, d), event, d, \"mouse\");\n if (!gesture) return;\n select(event.view)\n .on(\"mousemove.drag\", mousemoved, nonpassivecapture)\n .on(\"mouseup.drag\", mouseupped, nonpassivecapture);\n nodrag(event.view);\n nopropagation(event);\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\", event);\n }\n\n function mousemoved(event) {\n noevent(event);\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\", event);\n }\n\n function mouseupped(event) {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent(event);\n gestures.mouse(\"end\", event);\n }\n\n function touchstarted(event, d) {\n if (!filter.call(this, event, d)) return;\n var touches = event.changedTouches,\n c = container.call(this, event, d),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(this, c, event, d, touches[i].identifier, touches[i])) {\n nopropagation(event);\n gesture(\"start\", event, touches[i]);\n }\n }\n }\n\n function touchmoved(event) {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent(event);\n gesture(\"drag\", event, touches[i]);\n }\n }\n }\n\n function touchended(event) {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation(event);\n gesture(\"end\", event, touches[i]);\n }\n }\n }\n\n function beforestart(that, container, event, d, identifier, touch) {\n var dispatch = listeners.copy(),\n p = pointer(touch || event, container), dx, dy,\n s;\n\n if ((s = subject.call(that, new DragEvent(\"beforestart\", {\n sourceEvent: event,\n target: drag,\n identifier,\n active,\n x: p[0],\n y: p[1],\n dx: 0,\n dy: 0,\n dispatch\n }), d)) == null) return;\n\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n\n return function gesture(type, event, touch) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[identifier] = gesture, n = active++; break;\n case \"end\": delete gestures[identifier], --active; // falls through\n case \"drag\": p = pointer(touch || event, container), n = active; break;\n }\n dispatch.call(\n type,\n that,\n new DragEvent(type, {\n sourceEvent: event,\n subject: s,\n target: drag,\n identifier,\n active: n,\n x: p[0] + dx,\n y: p[1] + dy,\n dx: p[0] - p0[0],\n dy: p[1] - p0[1],\n dispatch\n }),\n d\n );\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export default function(x, y) {\n var nodes, strength = 1;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = (sx / n - x) * strength, sy = (sy / n - y) * strength, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n return force;\n}\n","export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"node not found: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n random,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle(random);\n y = target.y + target.vy - source.y - source.vy || jiggle(random);\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d])),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\nimport {x, y} from \"./simulation.js\";\n\nexport default function() {\n var nodes,\n node,\n random,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","// This is to mitigate an issue where the SVG icons being imported from the project weren't being rendered on Firefox\n// To know more about this technique, check this doc: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs\nexport const getChartIcon = (type) => `\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\n","\n\n\n\n\n","import mod from \"-!../../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../../thread-loader/dist/cjs.js!../../../../../babel-loader/lib/index.js!../../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../../thread-loader/dist/cjs.js!../../../../../babel-loader/lib/index.js!../../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4cb4c59b\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=4cb4c59b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4c999873&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=4c999873&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c999873\",\n null\n \n)\n\nexport default component.exports","\nimport ResourceDetail from '@shell/components/ResourceDetail/index.vue';\n\nexport default {\n name: 'CreateElementalResource',\n components: { ResourceDetail },\n};\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./create.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./create.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./create.vue?vue&type=template&id=058bdc93\"\nimport script from \"./create.vue?vue&type=script&lang=ts\"\nexport * from \"./create.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ResourceDetail')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport ResourceDetail from '@shell/components/ResourceDetail/index.vue';\n\nexport default {\n name: 'ElementalResourceDetails',\n components: { ResourceDetail },\n};\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./_id.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./_id.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./_id.vue?vue&type=template&id=061540d1\"\nimport script from \"./_id.vue?vue&type=script&lang=ts\"\nexport * from \"./_id.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ELEMENTAL_PRODUCT_NAME } from '../config/elemental-types';\nimport Dashboard from '../pages/index.vue';\nimport ListElementalResource from '../pages/_resource/index.vue';\nimport CreateElementalResource from '../pages/_resource/create.vue';\nimport ElementalResourceDetails from '../pages/_resource/_id.vue';\n\nconst BLANK_CLUSTER = '_';\n\nconst routes = [\n {\n name: `${ ELEMENTAL_PRODUCT_NAME }-c-cluster`,\n path: `/${ ELEMENTAL_PRODUCT_NAME }/c/:cluster/dashboard`,\n component: Dashboard,\n meta: {\n product: ELEMENTAL_PRODUCT_NAME,\n cluster: BLANK_CLUSTER,\n pkg: ELEMENTAL_PRODUCT_NAME\n }\n },\n {\n name: `${ ELEMENTAL_PRODUCT_NAME }-c-cluster-resource`,\n path: `/${ ELEMENTAL_PRODUCT_NAME }/c/:cluster/:resource`,\n component: ListElementalResource,\n meta: {\n product: ELEMENTAL_PRODUCT_NAME,\n cluster: BLANK_CLUSTER,\n pkg: ELEMENTAL_PRODUCT_NAME\n }\n },\n {\n name: `${ ELEMENTAL_PRODUCT_NAME }-c-cluster-resource-create`,\n path: `/${ ELEMENTAL_PRODUCT_NAME }/c/:cluster/:resource/create`,\n component: CreateElementalResource,\n meta: {\n product: ELEMENTAL_PRODUCT_NAME,\n cluster: BLANK_CLUSTER,\n pkg: ELEMENTAL_PRODUCT_NAME\n }\n },\n {\n name: `${ ELEMENTAL_PRODUCT_NAME }-c-cluster-resource-id`,\n path: `/${ ELEMENTAL_PRODUCT_NAME }/c/:cluster/:resource/:id`,\n component: ElementalResourceDetails,\n meta: {\n product: ELEMENTAL_PRODUCT_NAME,\n cluster: BLANK_CLUSTER,\n pkg: ELEMENTAL_PRODUCT_NAME\n }\n },\n {\n name: `${ ELEMENTAL_PRODUCT_NAME }-c-cluster-resource-namespace-id`,\n path: `/${ ELEMENTAL_PRODUCT_NAME }/c/:cluster/:resource/:namespace/:id`,\n component: ElementalResourceDetails,\n meta: {\n product: ELEMENTAL_PRODUCT_NAME,\n cluster: BLANK_CLUSTER,\n pkg: ELEMENTAL_PRODUCT_NAME\n }\n },\n];\n\nexport default routes;\n","export default { createClusterElements: (state: any) => state.createClusterElements };\n","export default {\n updateCreateClusterElements(state: any, val: any) {\n state.createClusterElements = val;\n },\n\n};\n","export default {\n updateCreateClusterElements({ commit }: any, val: any) {\n commit('updateCreateClusterElements', val);\n }\n};\n","import { CoreStoreSpecifics, CoreStoreConfig } from '@shell/core/types';\n\nimport { ELEMENTAL_STORE } from '../../types';\n\nimport getters from './getters';\nimport mutations from './mutations';\nimport actions from './actions';\n\nconst elementalFactory = (): CoreStoreSpecifics => {\n return {\n state() {\n return { createClusterElements: [] };\n },\n\n getters: { ...getters },\n\n mutations: { ...mutations },\n\n actions: { ...actions },\n };\n};\nconst config: CoreStoreConfig = { namespace: ELEMENTAL_STORE };\n\nexport default {\n specifics: elementalFactory(),\n config\n};\n","import DOMPurify from 'dompurify';\nimport { uniq } from '@shell/utils/array';\n\nconst ALLOWED_TAGS = [\n 'code',\n 'li',\n 'a',\n 'p',\n 'b',\n 'br',\n 'ul',\n 'pre',\n 'span',\n 'div',\n 'i',\n 'em',\n 'strong',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'table',\n 'thead',\n 'tr',\n 'th',\n 'tbody',\n 'td',\n 'blockquote'\n];\n\n// Allow 'A' tags to keep the target=_blank attribute if they have it\nDOMPurify.addHook('uponSanitizeAttribute', (node, data) => {\n if (node.tagName === 'A' && data.attrName === 'target' && data.attrValue === '_blank') {\n data.forceKeepAttr = true;\n }\n});\n\n// Ensure if an 'A' tag has target=_blank that we add noopener, noreferrer and nofollow to the 'rel' attribute\nDOMPurify.addHook('afterSanitizeAttributes', (node) => {\n if (node.tagName === 'A' && node?.target === '_blank') {\n const rel = ['noopener', 'noreferrer', 'nofollow'];\n const existingRel = node.rel?.length ? node.rel.split(' ') : [];\n const combined = uniq([...rel, ...existingRel]);\n\n node.setAttribute('rel', combined.join(' '));\n }\n});\n\nexport const purifyHTML = (value, options = { ALLOWED_TAGS }) => {\n return DOMPurify.sanitize(value, options);\n};\n","import Vue from 'vue';\nimport { VTooltip } from 'v-tooltip';\nimport { purifyHTML } from './clean-html';\n\nfunction purifyContent(value) {\n const type = typeof value;\n\n if (type === 'string') {\n return purifyHTML(value);\n } else if (value && type === 'object' && typeof value.content === 'string') {\n return { ...value, content: purifyHTML(value.content) };\n } else {\n return value;\n }\n}\n\nfunction bind(el, { value, oldValue, modifiers }) {\n const purifiedValue = purifyContent(value);\n\n VTooltip.bind(\n el,\n {\n value: purifiedValue, oldValue, modifiers\n });\n}\n\nexport const VCleanTooltip = {\n ...VTooltip,\n bind,\n update: bind,\n};\n\nVue.directive('clean-tooltip', VCleanTooltip);\n","import Vue from 'vue';\nimport { purifyHTML } from './clean-html';\n\nexport const cleanHtmlDirective = {\n inserted(el, binding) {\n el.innerHTML = purifyHTML(binding.value);\n },\n componentUpdated(el, binding) {\n el.innerHTML = purifyHTML(binding.value);\n },\n unbind(el) {\n el.innerHTML = '';\n }\n};\n\nVue.directive('clean-html', cleanHtmlDirective);\n","import { importTypes } from '@rancher/auto-import';\nimport { IPlugin } from '@shell/core/types';\nimport elementalRouting from './routing/elemental-routing';\nimport elementalStore from './store/elemental-store';\n\n// fix missing directives on dashboard v2.7.2\n// doesn't seem to have any side effect while runnning on v2.7-head\n// where the directive is already present\nimport '@shell/plugins/clean-tooltip-directive';\nimport '@shell/plugins/clean-html-directive';\n\n// Init the package\nexport default function($plugin: IPlugin) {\n // Auto-import model, detail, edit from the folders\n importTypes($plugin);\n\n // Provide plugin metadata from package.json\n $plugin.metadata = require('./package.json');\n\n // Load a product\n $plugin.addProduct(require('./elemental-config'));\n\n // Add Vuex store\n $plugin.addDashboardStore(elementalStore.config.namespace, elementalStore.specifics, elementalStore.config);\n\n // Add Vue Routes\n $plugin.addRoutes(elementalRouting);\n}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","import { get } from './object';\nimport { strPad } from './string';\n\n// Based on https://github.com/emberjs/ember.js/blob/master/packages/@ember/-internals/runtime/lib/type-of.js\n// and https://github.com/emberjs/ember.js/blob/master/packages/@ember/-internals/runtime/lib/mixins/array.js\n/*\nCopyright (c) 2019 Yehuda Katz, Tom Dale and Ember.js contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n// ........................................\n// TYPING & ARRAY MESSAGING\n//\nconst TYPE_MAP = {\n '[object Boolean]': 'boolean',\n '[object Number]': 'number',\n '[object String]': 'string',\n '[object Function]': 'function',\n '[object Array]': 'array',\n '[object Date]': 'date',\n '[object RegExp]': 'regexp',\n '[object Object]': 'object',\n '[object FileList]': 'filelist',\n};\n\nconst { toString } = Object.prototype;\n\n/**\n Returns a consistent type for the passed object.\n\n Use this instead of the built-in `typeof` to get the type of an item.\n It will return the same result across all browsers and includes a bit\n more detail. Here is what will be returned:\n\n | Return Value | Meaning |\n |---------------|------------------------------------------------------|\n | 'string' | String primitive or String object. |\n | 'number' | Number primitive or Number object. |\n | 'boolean' | Boolean primitive or Boolean object. |\n | 'null' | Null value |\n | 'undefined' | Undefined value |\n | 'function' | A function |\n | 'array' | An instance of Array |\n | 'regexp' | An instance of RegExp |\n | 'date' | An instance of Date |\n | 'filelist' | An instance of FileList |\n | 'error' | An instance of the Error object |\n | 'object' | A JavaScript object |\n\n Examples:\n\n import { typeOf } from '@shell/utils/type-of';\n\n typeOf(); // 'undefined'\n typeOf(null); // 'null'\n typeOf(undefined); // 'undefined'\n typeOf('michael'); // 'string'\n typeOf(new String('michael')); // 'string'\n typeOf(101); // 'number'\n typeOf(new Number(101)); // 'number'\n typeOf(true); // 'boolean'\n typeOf(new Boolean(true)); // 'boolean'\n typeOf(A); // 'function'\n typeOf([1, 2, 90]); // 'array'\n typeOf(/abc/); // 'regexp'\n typeOf(new Date()); // 'date'\n typeOf(event.target.files); // 'filelist'\n typeOf(new Error('teamocil')); // 'error'\n\n // 'normal' JavaScript object\n typeOf({ a: 'b' }); // 'object'\n*/\nexport function typeOf(item) {\n if (item === null) {\n return 'null';\n }\n if (item === undefined) {\n return 'undefined';\n }\n let ret = TYPE_MAP[toString.call(item)] || 'object';\n\n if (ret === 'object') {\n if (item instanceof Error) {\n ret = 'error';\n } else if (item instanceof Date) {\n ret = 'date';\n }\n }\n\n return ret;\n}\n\nexport function spaceship(a, b) {\n const diff = a - b;\n\n return (diff > 0) - (diff < 0);\n}\n\nconst TYPE_ORDER = {\n undefined: 0,\n null: 1,\n boolean: 2,\n number: 3,\n string: 4,\n array: 5,\n object: 6,\n instance: 7,\n function: 8,\n class: 9,\n date: 10,\n};\n\nexport function compare(a, b) {\n const typeA = typeOf(a);\n const typeB = typeOf(b);\n\n const res = spaceship(TYPE_ORDER[typeA], TYPE_ORDER[typeB]);\n\n if ( res ) {\n return res;\n }\n\n switch (typeA) {\n case 'boolean':\n case 'number':\n return spaceship(a, b);\n\n case 'string':\n return spaceship(a.localeCompare(b), 0);\n\n case 'array': {\n const aLen = a.length;\n const bLen = b.length;\n const len = Math.min(aLen, bLen);\n\n for (let i = 0; i < len; i++) {\n const r = compare(a[i], b[i]);\n\n if (r !== 0) {\n return r;\n }\n }\n\n // all elements are equal now\n // shorter array should be ordered first\n return spaceship(aLen, bLen);\n }\n case 'date':\n return spaceship(a.getTime(), b.getTime());\n }\n\n return 0;\n}\n\nexport function parseField(str) {\n const parts = str.split(/:/);\n\n if ( parts.length === 2 && parts[1] === 'desc' ) {\n return { field: parts[0], reverse: true };\n } else {\n return { field: str, reverse: false };\n }\n}\n\nexport function sortBy(ary, keys, desc) {\n if ( !Array.isArray(keys) ) {\n keys = [keys];\n }\n\n return (ary || []).slice().sort((objA, objB) => {\n for ( let i = 0 ; i < keys.length ; i++ ) {\n const parsed = parseField(keys[i]);\n const a = get(objA, parsed.field);\n const b = get(objB, parsed.field);\n let res = compare(a, b);\n\n if ( res ) {\n if ( desc ) {\n res *= -1;\n }\n\n if ( parsed.reverse ) {\n res *= -1;\n }\n\n return res;\n }\n }\n\n return 0;\n });\n}\n\n// Turn foo1-bar2 into foo0000000001-bar0000000002 so that the numbers sort numerically\nconst splitRegex = /([^\\d]+)/;\nconst notNumericRegex = /^[0-9]+$/;\n\nexport function sortableNumericSuffix(str) {\n if ( typeof str !== 'string' ) {\n return str;\n }\n\n return str.split(splitRegex).map((x) => x.match(notNumericRegex) ? strPad(x, 10, '0') : x).join('').trim();\n}\n\nexport function isNumeric(num) {\n return !!`${ num }`.match(notNumericRegex);\n}\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LabeledSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LabeledSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LabeledSelect.vue?vue&type=template&id=529406d8&scoped=true\"\nimport script from \"./LabeledSelect.vue?vue&type=script&lang=js\"\nexport * from \"./LabeledSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./LabeledSelect.vue?vue&type=style&index=0&id=529406d8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"529406d8\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=23723280&prod&lang=scss&scoped=true\"","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","/**\n * Sets the width of a DOM element. Adapted from [youmightnotneedjquery.com](https://youmightnotneedjquery.com/#set_width)\n * @param {Element} el - The target DOM element\n * @param {function | string | number} val - The desired width represented as a Number\n */\nexport function setWidth(el, val) {\n if (!el) {\n return;\n }\n\n if (typeof val === 'function') {\n val = val();\n }\n\n if (typeof val === 'string') {\n el.style.width = val;\n\n return;\n }\n\n el.style.width = `${ val }px`;\n}\n\n/**\n * Gets the width of a DOM element. Adapted from [youmightnotneedjquery.com](https://youmightnotneedjquery.com/#get_width)\n * @param {Element} el - The target DOM element\n * @returns Number representing the width for the provided element\n */\nexport function getWidth(el) {\n if (!el || !el.length) {\n return;\n }\n\n if (el.length) {\n return parseFloat(getComputedStyle(el[0]).width.replace('px', ''));\n } else {\n return parseFloat(getComputedStyle(el).width.replace('px', ''));\n }\n}\n","import Vue from 'vue';\nimport { _EDIT, _VIEW } from '@shell/config/query-params';\nimport { getWidth, setWidth } from '@shell/utils/width';\n\ninterface LabeledFormElement {\n raised: boolean;\n focused: boolean;\n blurred: number | null;\n}\n\nexport default Vue.extend({\n inheritAttrs: false,\n\n props: {\n mode: {\n type: String,\n default: _EDIT,\n },\n\n label: {\n type: String,\n default: null\n },\n\n labelKey: {\n type: String,\n default: null\n },\n\n placeholderKey: {\n type: String,\n default: null\n },\n\n tooltip: {\n type: [String, Object],\n default: null\n },\n\n hoverTooltip: {\n type: Boolean,\n default: true,\n },\n\n tooltipKey: {\n type: String,\n default: null\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n placeholder: {\n type: [String, Number],\n default: ''\n },\n\n value: {\n type: [String, Number, Object],\n default: ''\n },\n\n options: {\n default: null,\n type: Array\n },\n\n searchable: {\n default: false,\n type: Boolean\n },\n\n rules: {\n default: () => [],\n type: Array,\n // we only want functions in the rules array\n validator: (rules: any) => rules.every((rule: any) => ['function'].includes(typeof rule))\n },\n\n requireDirty: {\n default: true,\n type: Boolean\n }\n },\n\n data(): LabeledFormElement {\n return {\n raised: this.mode === _VIEW || !!`${ this.value }`,\n focused: false,\n blurred: null,\n };\n },\n\n computed: {\n requiredField(): boolean {\n // using \"any\" for a type on \"rule\" here is dirty but the use of the optional chaining operator makes it safe for what we're doing here.\n return (this.required || this.rules.some((rule: any): boolean => rule?.name === 'required'));\n },\n empty(): boolean {\n return !!`${ this.value }`;\n },\n\n isView(): boolean {\n return this.mode === _VIEW;\n },\n\n isDisabled(): boolean {\n return this.disabled || this.isView;\n },\n\n isSearchable(): boolean {\n const { searchable } = this;\n const options = ( this.options || [] );\n\n if (searchable || options.length >= 10) {\n return true;\n }\n\n return false;\n },\n validationMessage(): string | undefined {\n // we want to grab the required rule passed in if we can but if it's not there then we can just grab it from the formRulesGenerator\n const requiredRule = this.rules.find((rule: any) => rule?.name === 'required') as Function;\n const ruleMessages = [];\n const value = this?.value;\n\n if (requiredRule && this.blurred && !this.focused) {\n const message = requiredRule(value);\n\n if (!!message) {\n return message;\n }\n }\n\n for (const rule of this.rules as Function[]) {\n const message = rule(value);\n\n if (!!message && rule.name !== 'required') { // we're catching 'required' above so we can ignore it here\n ruleMessages.push(message);\n }\n }\n if (ruleMessages.length > 0 && (this.blurred || this.focused || !this.requireDirty)) {\n return ruleMessages.join(', ');\n } else {\n return undefined;\n }\n }\n },\n\n methods: {\n resizeHandler() {\n // since the DD is positioned there is no way to 'inherit' the size of the input, this calcs the size of the parent and set the dd width if it is smaller. If not let it grow with the regular styles\n this.$nextTick(() => {\n const DD = (this.$refs.select as HTMLElement).querySelector('ul.vs__dropdown-menu');\n\n const selectWidth = getWidth(this.$refs.select as Element) || 0;\n const dropWidth = getWidth(DD as Element) || 0;\n\n if (dropWidth < selectWidth) {\n setWidth(DD as Element, selectWidth);\n }\n });\n },\n onFocus() {\n this.$emit('on-focus');\n\n return this.onFocusLabeled();\n },\n\n onFocusLabeled() {\n this.raised = true;\n this.focused = true;\n },\n\n onBlur() {\n this.$emit('on-blur');\n\n return this.onBlurLabeled();\n },\n\n onBlurLabeled() {\n this.focused = false;\n\n if ( !this.value ) {\n this.raised = false;\n }\n\n this.blurred = Date.now();\n }\n }\n});\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.project.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.project.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./management.cattle.io.project.vue?vue&type=template&id=3a26ac99&scoped=true\"\nimport script from \"./management.cattle.io.project.vue?vue&type=script&lang=js\"\nexport * from \"./management.cattle.io.project.vue?vue&type=script&lang=js\"\nimport style0 from \"./management.cattle.io.project.vue?vue&type=style&index=0&id=3a26ac99&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a26ac99\",\n null\n \n)\n\nexport default component.exports","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov \n Website: https://kotlinlang.org\n Category: common\n */\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline '\n + 'crossinline dynamic final enum if else do while for when throw try catch finally '\n + 'import package is in fun override companion reified inline lateinit init '\n + 'interface annotation data sealed internal infix operator out by constructor super '\n + 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: { contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ] }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.inherit(STRING, { className: 'string' }),\n \"self\"\n ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n { contains: [ hljs.C_BLOCK_COMMENT_MODE ] }\n );\n const KOTLIN_PAREN_TYPE = { variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ] };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [\n 'kt',\n 'kts'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: //,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n begin: [\n /class|interface|trait/,\n /\\s+/,\n hljs.UNDERSCORE_IDENT_RE\n ],\n beginScope: {\n 3: \"title.class\"\n },\n keywords: 'class interface trait',\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n { beginKeywords: 'public protected internal private constructor' },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: //,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,){\\s]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = kotlin;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mt-10\"},[_c('div',{staticClass:\"mb-30\"},[_vm._v(\" \"+_vm._s(_vm.t('promptRemove.attemptingToRemove', { type: _vm.type }))+\" \"),_c('span',{directives:[{name:\"clean-html\",rawName:\"v-clean-html\",value:(_vm.podNames),expression:\"podNames\"}],staticClass:\"machine-name\"})]),_c('div',{staticClass:\"mb-30\"},[_c('Checkbox',{attrs:{\"label\":_vm.t('promptForceRemove.forceDelete')},model:{value:(_vm.forceDelete),callback:function ($$v) {_vm.forceDelete=$$v},expression:\"forceDelete\"}})],1),_c('Banner',{attrs:{\"color\":\"warning\",\"label-key\":\"promptForceRemove.podRemoveWarning\"}}),_vm._l((_vm.errors),function(error,i){return _c('Banner',{key:i,attrs:{\"color\":\"error\",\"label\":error}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./pod.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./pod.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./pod.vue?vue&type=template&id=db441fb2&scoped=true\"\nimport script from \"./pod.vue?vue&type=script&lang=js\"\nexport * from \"./pod.vue?vue&type=script&lang=js\"\nimport style0 from \"./pod.vue?vue&type=style&index=0&id=db441fb2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"db441fb2\",\n null\n \n)\n\nexport default component.exports","module.exports = __WEBPACK_EXTERNAL_MODULE__5877__;","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\"-!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!./node_modules/diff2html/bundles/css/diff2html.min.css\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nexports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\nexports.push([module.id, \"[data-v-0137ea75] .d2h-wrapper .d2h-file-header{display:none}[data-v-0137ea75] .d2h-wrapper .d2h-file-wrapper{border-color:var(--diff-border)}[data-v-0137ea75] .d2h-wrapper .d2h-diff-table{font-family:Menlo,Consolas,monospace;font-size:13px}[data-v-0137ea75] .d2h-wrapper .d2h-code-side-emptyplaceholder,[data-v-0137ea75] .d2h-wrapper .d2h-emptyplaceholder{border-color:var(--diff-linenum-border);background-color:var(--diff-empty-placeholder)}[data-v-0137ea75] .d2h-wrapper .d2h-code-linenumber,[data-v-0137ea75] .d2h-wrapper .d2h-code-side-linenumber{background-color:var(--diff-linenum-bg);color:var(--diff-linenum);border-color:var(--diff-linenum-border);border-left:0}[data-v-0137ea75] .d2h-wrapper .d2h-code-line del,[data-v-0137ea75] .d2h-wrapper .d2h-code-side-line del{background-color:var(--diff-line-del-bg)}[data-v-0137ea75] .d2h-wrapper .d2h-code-line ins,[data-v-0137ea75] .d2h-wrapper .d2h-code-side-line ins{background-color:var(--diff-line-ins-bg)}[data-v-0137ea75] .d2h-wrapper .d2h-del{background-color:var(--diff-del-bg);border-color:var(--diff-del-border);color:var(--body-text)}[data-v-0137ea75] .d2h-wrapper .d2h-ins{background-color:var(--diff-ins-bg);border-color:var(--diff-ins-border);color:var(--body-text)}[data-v-0137ea75] .d2h-wrapper .d2h-info{background-color:var(--diff-header-bg);color:var(--diff-header);border-color:var(--diff-header-border)}[data-v-0137ea75] .d2h-wrapper .d2h-file-diff .d2h-del.d2h-change{background-color:var(--diff-chg-del)}[data-v-0137ea75] .d2h-wrapper .d2h-file-diff .d2h-ins.d2h-change{background-color:var(--diff-chg-ins)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./YamlEditor.vue?vue&type=style&index=0&id=cf2bae46&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".tag[data-v-0d281a35]{border-radius:var(--border-radius);color:var(--tag-primary);background-color:var(--tag-bg);padding:4px 6px 3px 6px;font-size:12px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".root[data-v-0137ea75]{max-width:100%;position:relative;overflow:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","export * from \"-!../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BadgeState.vue?vue&type=style&index=1&id=70e48e16&prod&lang=scss\"","/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n className: '',\n begin: /\\\\\"/\n\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ARITHMETIC = {\n begin: /\\$\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"for\",\n \"while\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"function\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [ 'sh' ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n hljs.HASH_COMMENT_MODE,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n VAR\n ]\n };\n}\n\nmodule.exports = bash;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","import { ANNOTATIONS_TO_IGNORE_REGEX, LABELS_TO_IGNORE_REGEX } from '@shell/config/labels-annotations';\nimport omitBy from 'lodash/omitBy';\nimport pickBy from 'lodash/pickBy';\nimport Vue from 'vue';\nimport { matchesSomeRegex } from '@shell/utils/string';\nimport Resource from '@shell/plugins/dashboard-store/resource-class';\n\n// these are defined elsewhere in Steve models and will cause the error \"Cannot set property of [object Object] which has only a getter\" if defined at top-level\nexport function cleanHybridResources(data) {\n const potentialNormanHoldovers = ['state', 'name', 'description', 'labels', 'annotations'];\n\n potentialNormanHoldovers.forEach((key) => delete data[key]);\n\n return data;\n}\n\nexport default class HybridModel extends Resource {\n constructor(data, ctx, rehydrateNamespace = null, setClone = false) {\n const cleanedData = cleanHybridResources(data);\n\n super(cleanedData, ctx, rehydrateNamespace, setClone);\n }\n\n get labels() {\n const all = this.metadata?.labels || {};\n\n return omitBy(all, (value, key) => {\n return matchesSomeRegex(key, LABELS_TO_IGNORE_REGEX);\n });\n }\n\n setLabels(val) {\n if ( !this.metadata ) {\n this.metadata = {};\n }\n\n const all = this.metadata.labels || {};\n const wasIgnored = pickBy(all, (value, key) => {\n return matchesSomeRegex(key, LABELS_TO_IGNORE_REGEX);\n });\n\n Vue.set(this.metadata, 'labels', { ...wasIgnored, ...val });\n }\n\n setLabel(key, val) {\n if ( val ) {\n if ( !this.metadata ) {\n this.metadata = {};\n }\n\n if ( !this.metadata.labels ) {\n this.metadata.labels = {};\n }\n\n Vue.set(this.metadata.labels, key, val);\n } else if ( this.metadata?.labels ) {\n Vue.set(this.metadata.labels, key, undefined);\n delete this.metadata.labels[key];\n }\n }\n\n get annotations() {\n const all = this.metadata?.annotations || {};\n\n return omitBy(all, (value, key) => {\n return matchesSomeRegex(key, ANNOTATIONS_TO_IGNORE_REGEX);\n });\n }\n\n setAnnotations(val) {\n if ( !this.metadata ) {\n this.metadata = {};\n }\n\n const all = this.metadata.annotations || {};\n const wasIgnored = pickBy(all, (value, key) => {\n return matchesSomeRegex(key, ANNOTATIONS_TO_IGNORE_REGEX);\n });\n\n Vue.set(this.metadata, 'annotations', { ...wasIgnored, ...val });\n }\n\n setAnnotation(key, val) {\n if ( val ) {\n if ( !this.metadata ) {\n this.metadata = {};\n }\n\n if ( !this.metadata.annotations ) {\n this.metadata.annotations = {};\n }\n\n Vue.set(this.metadata.annotations, key, val);\n } else if ( this.metadata?.annotations ) {\n Vue.set(this.metadata.annotations, key, undefined);\n delete this.metadata.annotations[key];\n }\n }\n\n get state() {\n return this.stateObj?.name || 'unknown';\n }\n}\n","import { DESCRIPTION } from '@shell/config/labels-annotations';\nimport HybridModel from './hybrid-class';\nimport { NEVER_ADD } from '@shell/utils/create-yaml';\nimport { deleteProperty } from '@shell/utils/object';\n\n// Some fields that are removed for YAML (NEVER_ADD) are required via API\nconst STEVE_ADD = [\n 'metadata.resourceVersion',\n 'metadata.fields',\n 'metadata.clusterName',\n 'metadata.deletionGracePeriodSeconds',\n 'metadata.generateName',\n];\nconst STEVE_NEVER_SAVE = NEVER_ADD.filter((na) => !STEVE_ADD.includes(na));\n\nexport default class SteveModel extends HybridModel {\n get name() {\n return this.metadata?.name || this._name;\n }\n\n get namespace() {\n return this.metadata?.namespace;\n }\n\n get description() {\n return this.metadata?.annotations?.[DESCRIPTION] || this.spec?.description || this._description;\n }\n\n /**\n * Set description based on the type of model available with private fallback\n */\n set description(value) {\n if (this.metadata?.annotations) {\n this.metadata.annotations[DESCRIPTION] = value;\n }\n\n if (this.spec) {\n this.spec.description = value;\n }\n\n this._description = value;\n }\n\n cleanForSave(data, forNew) {\n const val = super.cleanForSave(data);\n\n for (const field of STEVE_NEVER_SAVE) {\n deleteProperty(val, field);\n }\n\n return val;\n }\n}\n","export { default as Banner } from './Banner.vue';\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h3',{staticClass:\"build-iso-title\"},[_vm._v(\" \"+_vm._s(_vm.t('elemental.machineRegistration.edit.buildMediaTitle'))+\" \")]),_c('div',{staticClass:\"row mb-10\"},[(_vm.displayRegEndpoints)?_c('div',{staticClass:\"col span-2\"},[_c('LabeledSelect',{staticClass:\"mr-20\",attrs:{\"data-testid\":\"select-registration-endpoint-build-media\",\"label\":_vm.t('elemental.machineRegistration.create.machineReg'),\"placeholder\":_vm.t('elemental.dashboard.regEndpointPlaceholder'),\"options\":_vm.registrationEndpointsOptions},model:{value:(_vm.registrationEndpointSelected),callback:function ($$v) {_vm.registrationEndpointSelected=$$v},expression:\"registrationEndpointSelected\"}})],1):_vm._e(),_c('div',{staticClass:\"col span-3\"},[_c('LabeledSelect',{staticClass:\"mr-20\",attrs:{\"data-testid\":\"select-os-version-build-media\",\"label\":_vm.t('elemental.machineRegistration.edit.osVersion'),\"disabled\":!_vm.buildMediaTypeSelected,\"placeholder\":_vm.t('elemental.machineRegistration.edit.osVersionPlaceholder'),\"options\":_vm.buildMediaOsVersions,\"option-key\":\"value\"},model:{value:(_vm.buildMediaOsVersionSelected),callback:function ($$v) {_vm.buildMediaOsVersionSelected=$$v},expression:\"buildMediaOsVersionSelected\"}})],1),_c('div',{staticClass:\"col mt-10 span-5 flex\"},[_c('AsyncButton',{staticClass:\"mr-20\",attrs:{\"mode\":\"buildMedia\",\"data-testid\":\"build-media-btn\",\"disabled\":!_vm.isBuildMediaBtnEnabled || _vm.isMediaBuilt},on:{\"click\":_vm.buildMedia}}),_c('a',{staticClass:\"btn role-primary\",attrs:{\"disabled\":!_vm.isMediaBuilt,\"data-testid\":\"download-media-btn\"},on:{\"click\":$event => _vm.downloadMedia($event)}},[_vm._v(\" \"+_vm._s(_vm.t('elemental.machineRegistration.edit.downloadMedia'))+\" \")])],1)]),(_vm.mediaBuildTriggerError || _vm.mediaBuildProcessError)?_c('Banner',{attrs:{\"color\":\"error\",\"data-testid\":\"build-media-banner\"}},[_c('div',{directives:[{name:\"clean-html\",rawName:\"v-clean-html\",value:(_vm.mediaBuildTriggerError || _vm.mediaBuildProcessError),expression:\"mediaBuildTriggerError || mediaBuildProcessError\"}]})]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildMedia.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--2-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildMedia.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BuildMedia.vue?vue&type=template&id=8039e214&scoped=true\"\nimport script from \"./BuildMedia.vue?vue&type=script&lang=js\"\nexport * from \"./BuildMedia.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8039e214\",\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.globalrole.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.globalrole.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./management.cattle.io.globalrole.vue?vue&type=template&id=effd72b0&scoped=true\"\nimport script from \"./management.cattle.io.globalrole.vue?vue&type=script&lang=js\"\nexport * from \"./management.cattle.io.globalrole.vue?vue&type=script&lang=js\"\nimport style0 from \"./management.cattle.io.globalrole.vue?vue&type=style&index=0&id=effd72b0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"effd72b0\",\n null\n \n)\n\nexport default component.exports","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","// We use this file when building libraries - we don't want the dynamic code from the shell\n// to be imported again, so we substitute this file which does not have any requires\n\nexport function importCloudCredential(name) {\n return () => undefined;\n}\n\nexport function importMachineConfig(name) {\n return () => undefined;\n}\n\nexport function importLogin(name) {\n return () => undefined;\n}\n\nexport function importChart(name) {\n return () => undefined;\n}\n\nexport function importList(name) {\n return () => undefined;\n}\n\nexport function importDetail(name) {\n return () => undefined;\n}\n\nexport function importEdit(name) {\n return () => undefined;\n}\n\nexport function importDialog(name) {\n return () => undefined;\n}\n\nexport function listProducts() {\n return [];\n}\n\nexport function loadProduct(name, $plugin) {\n return () => undefined;\n}\n\nexport function loadTranslation(name) {\n return () => undefined;\n}\n\nexport function importCustomPromptRemove(name) {\n return () => undefined;\n}\n\nexport function resolveList(key) {\n return undefined;\n}\n\nexport function resolveChart(key) {\n return undefined;\n}\n\nexport function resolveEdit(key) {\n return undefined;\n}\n\nexport function resolveDetail(key) {\n return undefined;\n}\n\nexport function importWindowComponent(name) {\n return () => undefined;\n}\n\nexport function resolveWindowComponent(key) {\n return undefined;\n}\n\nexport function resolveMachineConfigComponent(key) {\n return undefined;\n}\n\nexport function resolveCloudCredentialComponent(key) {\n return undefined;\n}\n","// This file has 2 sections that control getting and using specializations of particular types\n// over the generic info that is specified or generated from schemas.\n//\n// 1) Getting info about types\n//\n// labelFor(schema, count) Get the display label for a schema. Count is (in English) 1 or not-1 for pluralizing\n// groupLabelFor(schema) Get the label for the API group of this schema's type\n// isIgnored(schema) Returns true if this type should be hidden from the tree\n// groupForBasicType(schema) Returns the group a type should be shown in basic view, or false-y if it shouldn't be shown.\n// typeWeightFor(type, forBasic) Get the weight value for a particular type label\n// groupWeightFor(group, forBasic) Get the weight value for a particular group\n// headersFor(schema) Returns the column definitions for a type to give to SortableTable\n// activeProducts() Returns the list of products that are installed and should be shown\n//\n// 2) Detecting and using custom list/detail/edit/header components\n//\n// hasCustomList(type) Does type have a custom list implementation?\n// hasCustomDetail(type[,subType]) Does type have a custom detail implementation?\n// hasCustomEdit(type[,subType]) Does type have a custom edit implementation?\n// importList(type) Returns a promise that resolves to the list component for type\n// importDetail(type[,subType]) Returns a promise that resolves to the detail component for type\n// importEdit(type[,subType]) Returns a promise that resolves to the edit component for type\n// optionsFor(schemaOrType) Return the configured options for a type (from configureType)\n//\n// 3) Changing specialization info about a type\n// For all:\n// let { thingYouWant } = DSL(instanceOfTheStore, 'product');\n//\n// product( Add a product into the nav\n// removable, -- Is the product removable (true) or built-in (false).\n// weight, -- Sort order and divider sections in the product menu. 3=global (fleet, ecm), 2=always on (apps, explorer) 1=other\n// showClusterSwitcher, -- Show the cluster switcher in the header (default true)\n// showNamespaceFilter, -- Show the namespace filter in the header (default false)\n// showWorkspaceSwitcher, -- Show the workspace switcher in the header (conflicts with namespace) (default false)\n// ifHave, -- Show this product only if the given capability is available\n// ifHaveGroup, -- Show this product only if the given group exists in the store [inStore]\n// ifHaveType, -- Show this product only if the given type exists in the store [inStore], This can also be specified as an object { type: TYPE, store: 'management' } if the type isn't in the current [inStore]\n// ifHaveVerb, -- In combination with ifHaveTYpe, show it only if the type also has this collectionMethod\n// inStore, -- Which store to look at for if* above and the left-nav, defaults to \"cluster\"\n// inExplorer, -- Determines if the product is to be scoped to the explorer\n// public, -- If true, show to all users. If false, only show when the Developer Tools pref is on (default true)\n// category, -- Group to show the product in for the nav hamburger menu\n// typeStoreMap, -- An object mapping types to the store that should be used to retrieve information about the type\n// hideSystemResources -- Hide resources in namespaces where namespace.isSystem === true, or a namespace managed by fleet (per its annotation) and hide those namespaces from ns/project list and nsfilter (default false)\n// hideNamespaceLocation -- Hide the namespace link in the ResourceDetail masthead of namespaced resources and hide the ExplorerProjectsNamespaces namespace link (default false)\n// })\n//\n// externalLink(stringOrFn) The product has an external page (function gets context object\n//\n// virtualType(obj) Add an item to the tree that goes to a route instead of an actual type.\n// -- obj can contain anything in the objects getTree returns.\n// -- obj must have a `name` that is unique among all virtual types.\n// -- `cluster` is automatically added to route.params if it exists.\n//\n// spoofedType(obj) Create a fake type that can be treated like a normal type\n//\n// basicType( Mark type(s) as always shown in the top of the nav\n// type(s), -- Type name or array of type names\n// group -- Group to show the type(s) under; false-y for top-level.\n// )\n// basicType( Mark all types in group as always shown in the top of the nav\n// group, -- Group to show\n// asLabel -- Label to display the group as; false-y for top-level.\n// )\n// ignoreType(type) Never show type\n// weightType( Set the weight (sorting) order of one or more types\n// typeOrArrayOfTypes,\n// weight, -- Higher numbers are shown first/higher up on the nav tree\n// forBasic -- Apply to basic type instead of regular type tree\n// )\n// mapType( Remap a type id to a display name\n// matchRegexOrString, -- Type to match, or regex that matches types\n// replacementStringOrFn, -- String to replace the type with, or\n// -- sync function: (type, capturedString, schemaObj => { return 'new-type'; }\n// mapWeight, -- Priority for apply this mapping (higher numbers applied first)\n// continueOnMatch -- If true, continue applying to hit other rules that might match the new type.\n// )\n// moveType( Change the group a type is in\n// matchRegexOrString, -- Type to match, or regex that matches types\n// newGroup, -- Group to move the type into\n// mapWeight, -- Priority for apply this mapping (higher numbers applied first)\n// )\n// componentForType( Map matching types to a single component name\n// ( (this is helpful if multiple types should be rendered by a single component)\n// matchRegexOrString, -- Type to match, or regex that matches types\n// replacementString -- String to replace the type with\n// )\n// configureType( Display options for a particular type\n// type, -- Type to apply to\n// options -- Object of options. Defaults/Supported: {\n// isCreatable: true, -- If false, disable create even if schema says it's allowed\n// isEditable: true, -- Ditto, for edit\n// isRemovable: true, -- Ditto, for remove/delete\n// showState: true, -- If false, hide state in columns and masthead\n// showAge: true, -- If false, hide age in columns and masthead\n// showConfigView: true -- If false, hide masthead config button in view mode\n// showListMasthead: true, -- If false, hide masthead in list view\n// canYaml: true,\n// resource: undefined -- Use this resource in ResourceDetails instead\n// resourceDetail: undefined -- Use this resource specifically for ResourceDetail's detail component\n// resourceEdit: undefined -- Use this resource specifically for ResourceDetail's edit component\n// depaginate: undefined -- Use this to depaginate requests for this type\n// resourceEditMasthead: true -- Show the Masthead in the edit resource component\n// customRoute: undefined,\n// hasGraph: undefined -- If true, render ForceDirectedTreeChart graph (ATTENTION: option graphConfig is needed also!!!)\n// graphConfig: undefined -- Use this to pass along the graph configuration\n// notFilterNamespace: undefined -- Define namespaces that do not need to be filtered\n// localOnly: False -- Hide this type from the nav/search bar on downstream clusters\n// }\n// )\n// ignoreGroup(group): Never show group or any types in it\n// weightGroup( Set the weight (sorting) of one or more groups\n// groupOrArrayOfGroups, -- see weightType...\n// weight\n// )\n// setGroupDefaultType( Set the default child type to show when the group is expanded\n// groupOrArrayOfGroups, -- see setGroupDefaultType...\n// defaultType\n// )\n// mapGroup( Remap a group name to a display name\n// matchRegexOrString, -- see mapType...\n// replacementString,\n// mapWeight,\n// continueOnMatch\n// )\nimport { AGE, NAME, NAMESPACE as NAMESPACE_COL, STATE } from '@shell/config/table-headers';\nimport {\n CATALOG,\n COUNT,\n SCHEMA,\n MANAGEMENT,\n NAMESPACE\n} from '@shell/config/types';\nimport { VIEW_IN_API, EXPANDED_GROUPS, FAVORITE_TYPES } from '@shell/store/prefs';\nimport {\n addObject, findBy, insertAt, isArray, removeObject, filterBy\n} from '@shell/utils/array';\nimport { clone, get } from '@shell/utils/object';\nimport {\n ensureRegex, escapeHtml, escapeRegex, ucFirst, pluralize\n} from '@shell/utils/string';\nimport {\n importChart, importList, importDetail, importEdit, listProducts, loadProduct, importCustomPromptRemove, resolveList, resolveEdit, resolveWindowComponent, importWindowComponent, importLogin, resolveChart, resolveDetail, importDialog, importMachineConfig, resolveMachineConfigComponent, resolveCloudCredentialComponent, importCloudCredential\n} from '@shell/utils/dynamic-importer';\n\nimport { NAME as EXPLORER } from '@shell/config/product/explorer';\nimport isObject from 'lodash/isObject';\nimport { normalizeType } from '@shell/plugins/dashboard-store/normalize';\nimport { sortBy } from '@shell/utils/sort';\n\nimport { haveV1Monitoring, haveV2Monitoring } from '@shell/utils/monitoring';\nimport { NEU_VECTOR_NAMESPACE } from '@shell/config/product/neuvector';\n\nexport const NAMESPACED = 'namespaced';\nexport const CLUSTER_LEVEL = 'cluster';\nexport const BOTH = 'both';\n\nexport const ALL = 'all';\nexport const BASIC = 'basic';\nexport const FAVORITE = 'favorite';\nexport const USED = 'used';\n\nexport const ROOT = 'root';\n\nexport const SPOOFED_PREFIX = '__[[spoofed]]__';\nexport const SPOOFED_API_PREFIX = '__[[spoofedapi]]__';\n\nconst instanceMethods = {};\nconst graphConfigMap = {};\n\nconst FIELD_REGEX = /^\\$\\.metadata\\.fields\\[([0-9]*)\\]/;\n\nexport const IF_HAVE = {\n V1_MONITORING: 'v1-monitoring',\n V2_MONITORING: 'v2-monitoring',\n PROJECT: 'project',\n NO_PROJECT: 'no-project',\n NOT_V1_ISTIO: 'not-v1-istio',\n MULTI_CLUSTER: 'multi-cluster',\n NEUVECTOR_NAMESPACE: 'neuvector-namespace',\n ADMIN: 'admin-user',\n MCM_DISABLED: 'mcm-disabled',\n NOT_STANDALONE_HARVESTER: 'not-standalone-harvester',\n};\n\nexport function DSL(store, product, module = 'type-map') {\n // store.commit(`${ module }/product`, { name: product });\n\n return {\n product(inOpt) {\n const opt = {\n name: product,\n weight: 1,\n inStore: 'cluster',\n inExplorer: false,\n removable: true,\n showClusterSwitcher: true,\n showNamespaceFilter: false,\n public: true,\n filterMode: 'namespaces',\n ...inOpt\n };\n\n for ( const k of ['ifHaveGroup', 'ifHaveType'] ) {\n if ( opt[k] ) {\n opt[k] = regexToString(ensureRegex(opt[k]));\n }\n }\n\n store.commit(`${ module }/product`, opt);\n },\n\n basicType(types, group) {\n // Support passing in a map of types and using just the values\n if ( !isArray(types) && types && isObject(types) ) {\n types = Object.values(types);\n }\n\n store.commit(`${ module }/basicType`, {\n product, types, group\n });\n },\n\n // Type- and Group-dependent\n groupBy(type, field) {\n store.commit(`${ module }/groupBy`, { type, field });\n },\n\n headers(type, headers) {\n headers.forEach((header) => {\n // If on the client, then use the value getter if there is one\n if (header.getValue) {\n // we need to store the .value prop for the advanced filtering\n header.valueProp = header.value;\n header.value = header.getValue;\n }\n\n delete header.getValue;\n });\n\n store.commit(`${ module }/headers`, { type, headers });\n },\n\n hideBulkActions(type, field) {\n store.commit(`${ module }/hideBulkActions`, { type, field });\n },\n\n configureType(match, options) {\n if (options.graphConfig) {\n graphConfigMap[match] = options.graphConfig;\n delete options.graphConfig;\n }\n store.commit(`${ module }/configureType`, { ...options, match });\n },\n\n componentForType(match, replace) {\n store.commit(`${ module }/componentForType`, { match, replace });\n },\n\n ignoreType(regexOrString) {\n store.commit(`${ module }/ignoreType`, regexOrString);\n },\n\n ignoreGroup(regexOrString, cb) {\n store.commit(`${ module }/ignoreGroup`, { regexOrString, cb });\n },\n\n weightGroup(input, weight, forBasic) {\n if ( isArray(input) ) {\n store.commit(`${ module }/weightGroup`, {\n groups: input, weight, forBasic\n });\n } else {\n store.commit(`${ module }/weightGroup`, {\n group: input, weight, forBasic\n });\n }\n },\n\n setGroupDefaultType(input, defaultType) {\n if ( isArray(input) ) {\n store.commit(`${ module }/setGroupDefaultType`, { groups: input, defaultType });\n } else {\n store.commit(`${ module }/setGroupDefaultType`, { group: input, defaultType });\n }\n },\n\n weightType(input, weight, forBasic) {\n if ( isArray(input) ) {\n store.commit(`${ module }/weightType`, {\n types: input, weight, forBasic\n });\n } else {\n store.commit(`${ module }/weightType`, {\n type: input, weight, forBasic\n });\n }\n },\n\n mapGroup(match, replace, weight = 5, continueOnMatch = false) {\n store.commit(`${ module }/mapGroup`, {\n match, replace, weight, continueOnMatch\n });\n },\n\n mapType(match, replace, weight = 5, continueOnMatch = false) {\n store.commit(`${ module }/mapType`, {\n match, replace, weight, continueOnMatch\n });\n },\n\n moveType(match, group, weight = 5, continueOnMatch = false) {\n store.commit(`${ module }/moveType`, {\n match, group, weight,\n });\n },\n\n virtualType(obj) {\n store.commit(`${ module }/virtualType`, { product, obj });\n },\n\n spoofedType(obj) {\n store.commit(`${ module }/spoofedType`, { product, obj });\n }\n };\n}\n\nlet called = false;\n\nexport async function applyProducts(store, $plugin) {\n if (called) {\n return;\n }\n\n called = true;\n for ( const product of listProducts() ) {\n const impl = await loadProduct(product);\n\n if ( impl?.init ) {\n impl.init(store);\n }\n }\n // Load the products from all plugins\n $plugin.loadProducts();\n}\n\nexport function productsLoaded() {\n return called;\n}\n\nexport const state = function() {\n return {\n products: [],\n virtualTypes: {},\n spoofedTypes: {},\n basicTypes: {},\n groupIgnore: [],\n groupWeights: {},\n groupDefaultTypes: {},\n basicGroupWeights: { [ROOT]: 1000 },\n groupMappings: [],\n typeIgnore: [],\n basicTypeWeights: {},\n typeWeights: {},\n typeMappings: [],\n typeMoveMappings: [],\n typeToComponentMappings: [],\n typeOptions: [],\n groupBy: {},\n headers: {},\n hideBulkActions: {},\n schemaGeneration: 1,\n cache: {\n typeMove: {},\n groupLabel: {},\n ignore: {},\n list: {},\n chart: {},\n detail: {},\n edit: {},\n componentFor: {},\n promptRemove: {},\n windowComponents: {},\n 'machine-config': {},\n 'cloud-credential': {}\n\n },\n };\n};\n\nexport const getters = {\n // ----------------------------------------------------------------------------\n // 1 ) Getting info\n // ----------------------------------------------------------------------------\n // Turns a type name into a display label (e.g. management.cattle.io.cluster -> Cluster)\n labelFor(state, getters, rootState, rootGetters) {\n return (schema, count = 1, language = null) => {\n return _applyMapping(schema, state.typeMappings, 'id', false, () => {\n const key = `typeLabel.\"${ schema.id.toLowerCase() }\"`;\n\n if ( rootGetters['i18n/exists'](key, language) ) {\n return rootGetters['i18n/t'](key, { count }, language).trim();\n }\n\n const out = schema?.attributes?.kind || schema.id || '?';\n\n // Add spaces, but breaks typing names into jump menu naturally\n // out = ucFirst(out.replace(/([a-z])([A-Z])/g,'$1 $2'));\n\n if ( count === 1 ) {\n return out;\n }\n\n // This works for most things... if you don't like it, put in a typeLabel translation for above.\n return pluralize(out);\n });\n };\n },\n\n // Turns a group name into a display label (e.g. management.cattle.io.v3.cluster -> Cluster)\n groupLabelFor(state) {\n return (schemaOrName) => {\n let group = schemaOrName;\n\n if ( typeof schemaOrName === 'object' ) {\n let moved = false;\n\n for ( const rule of state.typeMoveMappings ) {\n const re = stringToRegex(rule.match);\n\n if ( schemaOrName.id.match(re) ) {\n moved = true;\n group = rule.replace;\n }\n }\n\n if ( !moved ) {\n group = group.attributes.group;\n }\n }\n\n if ( typeof group !== 'string' ) {\n return null;\n }\n\n const out = _applyMapping(group, state.groupMappings, null, state.cache.groupLabel, (group) => {\n const match = group.match(/^(.*)\\.k8s\\.io$/);\n\n if ( match ) {\n return match[1].split(/\\./).map((x) => ucFirst(x)).join('.');\n }\n\n return group;\n });\n\n return out;\n };\n },\n\n groupForBasicType(state) {\n return (product, schemaId) => {\n return state.basicTypes?.[product]?.[schemaId];\n };\n },\n\n optionsFor(state) {\n const def = {\n isCreatable: true,\n isEditable: true,\n isRemovable: true,\n showState: true,\n showAge: true,\n canYaml: true,\n namespaced: null,\n listGroups: [],\n depaginate: false,\n customRoute: undefined,\n resourceEditMasthead: true,\n };\n\n return (schemaOrType) => {\n if (!schemaOrType) {\n return {};\n }\n\n const type = (typeof schemaOrType === 'object' ? schemaOrType.id : schemaOrType);\n const found = state.typeOptions.find((entry) => {\n const re = stringToRegex(entry.match);\n\n return re.test(type);\n });\n\n const opts = Object.assign({}, def, found || {});\n\n return opts;\n };\n },\n\n isFavorite(state, getters, rootState, rootGetters) {\n return (schemaId) => {\n return rootGetters['prefs/get'](FAVORITE_TYPES).includes(schemaId) || false;\n };\n },\n\n typeWeightFor(state) {\n return (type, forBasic) => {\n type = type?.toLowerCase();\n\n if ( forBasic ) {\n return state.basicTypeWeights[type] || 0;\n } else {\n return state.typeWeights[type] || 0;\n }\n };\n },\n\n groupWeightFor(state) {\n return (group, forBasic) => {\n group = group.toLowerCase();\n\n if ( forBasic ) {\n return state.basicGroupWeights[group] || 0;\n } else {\n return state.groupWeights[group] || 0;\n }\n };\n },\n\n groupDefaultTypeFor(state) {\n return (group) => {\n group = group.toLowerCase();\n\n return state.groupDefaultTypes[group];\n };\n },\n\n getTree(state, getters, rootState, rootGetters) {\n return (productId, mode, allTypes, clusterId, namespaceMode, namespaces, currentType, search) => {\n // getTree has four modes:\n // - `basic` matches data types that should always be shown even if there\n // are 0 of them.\n // - `used` matches the data types where there are more than 0 of them\n // in the current set of namespaces.\n // - `all` matches all types.\n // - `favorite` matches starred types.\n // namespaceMode: 'namespaced', 'cluster', or 'both'\n // namespaces: null means all, otherwise it will be an array of specific namespaces to include\n const isBasic = mode === BASIC;\n\n let searchRegex;\n\n if ( search ) {\n searchRegex = new RegExp(`^(.*)(${ escapeRegex(search) })(.*)$`, 'i');\n }\n\n const root = { children: [] };\n\n // Add types from shortest to longest so that parents\n // get added before children\n const keys = Object.keys(allTypes).sort((a, b) => a.length - b.length);\n\n // Set these for later\n const currentLocal = rootGetters['i18n/current']();\n const defaultLocal = rootGetters['i18n/default']();\n\n for ( const type of keys ) {\n const typeObj = allTypes[type];\n\n if ( typeObj.schema && getters.isIgnored(typeObj.schema) ) {\n // Skip ignored groups & types\n continue;\n }\n\n const namespaced = typeObj.namespaced;\n\n if ( (namespaceMode === NAMESPACED && !namespaced ) || (namespaceMode === CLUSTER_LEVEL && namespaced) ) {\n // Skip types that are not the right namespace mode\n continue;\n }\n\n const count = _matchingCounts(typeObj, namespaces);\n const groupForBasicType = getters.groupForBasicType(productId, typeObj.name);\n\n if ( typeObj.id === currentType ) {\n // If this is the type currently being shown, always show it\n } else if ( isBasic && !groupForBasicType ) {\n // If we want the basic tree only return basic types;\n continue;\n } else if ( mode === USED && count <= 0 ) {\n // If there's none of this type, ignore this entry when viewing only in-use types\n // Note: count is sometimes null, which is <= 0.\n continue;\n }\n\n const label = typeObj.labelKey ? rootGetters['i18n/t'](typeObj.labelKey) || typeObj.label : typeObj.label;\n\n const labelDisplay = highlightLabel(label, typeObj.count, typeObj.schema);\n\n if ( !labelDisplay ) {\n // Search happens in highlight and returns null if not found\n continue;\n }\n\n let group;\n\n if ( isBasic ) {\n group = _ensureGroup(root, groupForBasicType, true);\n } else if ( mode === FAVORITE ) {\n group = _ensureGroup(root, 'starred');\n group.weight = 1000;\n } else if ( mode === USED ) {\n group = _ensureGroup(root, `inUse::${ getters.groupLabelFor(typeObj.schema) }`);\n } else {\n group = _ensureGroup(root, typeObj.schema || typeObj.group || ROOT);\n }\n\n let route = typeObj.route;\n\n // Make the default route if one isn't set\n if (!route ) {\n route = {\n name: 'c-cluster-product-resource',\n params: {\n product: productId,\n cluster: clusterId,\n resource: typeObj.name,\n }\n };\n\n typeObj.route = route;\n }\n\n // Cluster ID and Product should always be set\n if ( route && typeof route === 'object' ) {\n route.params = route.params || {};\n route.params.cluster = clusterId;\n route.params.product = productId;\n }\n\n group.children.push({\n label,\n labelDisplay,\n mode: typeObj.mode,\n count,\n exact: typeObj.exact || false,\n namespaced,\n route,\n name: typeObj.name,\n weight: typeObj.weight || getters.typeWeightFor(typeObj.schema?.id || label, isBasic),\n overview: !!typeObj.overview,\n });\n }\n\n // Recursively sort the groups\n _sortGroup(root, mode);\n\n return root.children;\n\n // ----------------------\n\n function _ensureGroup(tree, schemaOrName, forBasic = false) {\n let name = getters.groupLabelFor(schemaOrName);\n const isRoot = ( name === ROOT || name.startsWith(`${ ROOT }::`) );\n\n if ( name && name.includes('::') ) {\n let parent;\n\n [parent, name] = name.split('::', 2);\n tree = _ensureGroup(tree, parent);\n }\n\n // Translate if an entry exists\n let label = name;\n const key = `nav.group.\"${ name }\"`;\n\n if ( rootGetters['i18n/exists'](key) ) {\n label = rootGetters['i18n/t'](key);\n }\n\n let group = findBy(tree.children, 'name', name);\n\n if ( !group ) {\n group = {\n name,\n label,\n weight: getters.groupWeightFor(name, forBasic),\n defaultType: getters.groupDefaultTypeFor(name),\n };\n\n tree.children.push(group);\n }\n\n if ( isRoot ) {\n group.isRoot = true;\n }\n\n if ( !group.children ) {\n group.children = [];\n }\n\n return group;\n }\n\n function highlightLabel(original, count, schema) {\n let label = escapeHtml(original);\n\n if ( searchRegex ) {\n let match = label.match(searchRegex);\n\n if (!match) {\n if ( currentLocal !== defaultLocal && schema ) {\n const defaultLabel = getters.labelFor(schema, count, defaultLocal);\n\n if (defaultLabel && defaultLabel !== label ) {\n label += ` (${ defaultLabel })`;\n match = label.match(searchRegex);\n }\n }\n }\n\n if ( match ) {\n label = `${ escapeHtml(match[1]) }${ escapeHtml(match[2]) }${ escapeHtml(match[3]) }`;\n } else {\n return null;\n }\n }\n\n return label;\n }\n };\n },\n\n isSpoofed(state, getters, rootState, rootGetters) {\n return (type, product) => {\n product = product || rootGetters['productId'];\n const productSpoofedTypes = state.spoofedTypes[product] || [];\n\n return productSpoofedTypes.some((st) => st.type === type);\n };\n },\n\n isVirtual(state, getters, rootState, rootGetters) {\n return (name, product) => {\n product = product || rootGetters['productId'];\n const productVirtualTypes = state.virtualTypes[product] || [];\n\n return productVirtualTypes.some((st) => st.name === name);\n };\n },\n\n getSpoofedInstances(state, getters, rootState, rootGetters) {\n return async(type, product) => {\n product = product || rootGetters['productId'];\n const getInstances = instanceMethods[product]?.[type] || (() => []);\n const instances = await getInstances();\n\n instances.forEach((instance) => {\n const type = instance.type;\n const id = instance.id;\n const link = `/${ SPOOFED_PREFIX }/${ type }/${ id }`;\n const apiLink = `/${ SPOOFED_API_PREFIX }/${ type }/${ id }`;\n\n instance.links = {\n remove: instance.links?.remove || link,\n self: instance.links?.self || link,\n update: instance.links?.update || link,\n view: instance.links?.view || apiLink,\n };\n instance.isSpoofed = true;\n });\n\n return instances;\n };\n },\n\n getSpoofedInstance(state, getters, rootState, rootGetters) {\n return async(type, product, id) => {\n const productInstances = await getters.getSpoofedInstances(type, product);\n\n return productInstances.find( (instance) => instance.id === id);\n };\n },\n\n allSpoofedTypes(state, getters, rootState, rootGetters) {\n return Object.values(state.spoofedTypes).flat();\n },\n\n spoofedSchemas(state, getters, rootState, rootGetters) {\n return (product) => {\n const types = state.spoofedTypes[product] || [];\n\n return types.flatMap((type) => {\n const schemas = type.schemas || [];\n\n return schemas.map((schema) => ({\n ...schema,\n isSpoofed: true\n }));\n });\n };\n },\n\n allSpoofedSchemas(state, getters, rootState, rootGetters) {\n return getters.allSpoofedTypes.flatMap((type) => {\n const schemas = type.schemas || [];\n\n return schemas.map((schema) => ({\n ...schema,\n isSpoofed: true\n }));\n });\n },\n\n allTypes(state, getters, rootState, rootGetters) {\n return (product, mode = ALL) => {\n const module = findBy(state.products, 'name', product)?.inStore;\n const schemas = rootGetters[`${ module }/all`](SCHEMA);\n const counts = rootGetters[`${ module }/all`](COUNT)?.[0]?.counts || {};\n const isDev = rootGetters['prefs/get'](VIEW_IN_API);\n const isBasic = mode === BASIC;\n\n const out = {};\n\n for ( const schema of schemas ) {\n const attrs = schema.attributes || {};\n const count = counts[schema.id];\n const label = getters.labelFor(schema, count);\n const weight = getters.typeWeightFor(schema?.id || label, isBasic);\n const typeOptions = getters['optionsFor'](schema);\n\n if ( isBasic ) {\n // These are separate ifs so that things with no kind can still be basic\n if ( !getters.groupForBasicType(product, schema.id) ) {\n continue;\n }\n } else if ( mode === FAVORITE && !getters.isFavorite(schema.id) ) {\n continue;\n } else if ( !attrs.kind ) {\n // Skip the schemas that aren't top-level types\n continue;\n } else if ( typeof typeOptions.ifRancherCluster !== 'undefined' && typeOptions.ifRancherCluster !== rootGetters.isRancher ) {\n continue;\n } else if (typeOptions.localOnly && !rootGetters.currentCluster?.isLocal) {\n continue;\n }\n\n out[schema.id] = {\n label,\n mode,\n weight,\n schema,\n name: schema.id,\n namespaced: typeOptions.namespaced === null ? attrs.namespaced : typeOptions.namespaced,\n count: count ? count.summary.count || 0 : null,\n byNamespace: count ? count.namespaces : {},\n revision: count ? count.revision : null,\n route: typeOptions.customRoute\n };\n }\n\n // Add virtual and spoofed types\n if ( mode !== USED ) {\n const virtualTypes = state.virtualTypes[product] || [];\n const spoofedTypes = state.spoofedTypes[product] || [];\n const allTypes = [...virtualTypes, ...spoofedTypes];\n\n for ( const type of allTypes ) {\n const item = clone(type);\n const id = item.name;\n const weight = type.weight || getters.typeWeightFor(item.label, isBasic);\n\n // Is there a virtual/spoofed type override for schema type?\n // Currently used by harvester, this should be investigated and removed if possible\n if (out[id]) {\n delete out[id];\n }\n\n if ( item['public'] === false && !isDev ) {\n continue;\n }\n\n if (item.ifHave && !ifHave(rootGetters, item.ifHave)) {\n continue;\n }\n\n if ( item.ifHaveType ) {\n const targetedSchemas = typeof item.ifHaveType === 'string' ? schemas : rootGetters[`${ item.ifHaveType.store }/all`](SCHEMA);\n const type = typeof item.ifHaveType === 'string' ? item.ifHaveType : item.ifHaveType?.type;\n\n const haveIds = filterBy(targetedSchemas, 'id', normalizeType(type)).map((s) => s.id);\n\n if (!haveIds.length) {\n continue;\n }\n\n if (item.ifHaveVerb && !ifHaveVerb(rootGetters, module, item.ifHaveVerb, haveIds)) {\n continue;\n }\n }\n\n if ( item.ifHaveSubTypes ) {\n const hasSome = (item.ifHaveSubTypes || []).some((type) => {\n return !!findBy(schemas, 'id', normalizeType(type));\n });\n\n if (!hasSome) {\n continue;\n }\n }\n\n if ( typeof item.ifRancherCluster !== 'undefined' && item.ifRancherCluster !== rootGetters.isRancher ) {\n continue;\n }\n\n if (item.ifFeature && !rootGetters['features/get'](item.ifFeature)) {\n continue;\n }\n\n if ( isBasic && !getters.groupForBasicType(product, id) ) {\n continue;\n } else if ( mode === FAVORITE && !getters.isFavorite(id) ) {\n continue;\n }\n\n item.mode = mode;\n item.weight = weight;\n\n // Ensure labelKey is taken into account... with a mock count\n // This is harmless if the translation doesn't require count\n if (item.labelKey && rootGetters['i18n/exists'](item.labelKey)) {\n item.label = rootGetters['i18n/t'](item.labelKey, { count: 2 }).trim();\n delete item.labelKey; // Label should really take precedence over labelKey, but it doesn't, so remove it\n } else {\n item.label = item.label || item.name;\n }\n\n out[id] = item;\n }\n }\n\n return out;\n };\n },\n\n groupByFor(state) {\n return (schema) => {\n return state.groupBy[schema?.id];\n };\n },\n\n hideBulkActionsFor(state) {\n return (schema) => {\n return state.hideBulkActions[schema.id];\n };\n },\n\n headersFor(state, getters, rootState, rootGetters) {\n return (schema) => {\n const attributes = schema.attributes || {};\n const columns = attributes.columns || [];\n const typeOptions = getters['optionsFor'](schema);\n\n // A specific list has been provided\n if ( state.headers[schema.id] ) {\n return state.headers[schema.id].map((entry) => {\n if ( typeof entry === 'string' ) {\n const col = findBy(columns, 'name', entry);\n\n if ( col ) {\n return fromSchema(col, rootGetters);\n } else {\n return null;\n }\n } else {\n return entry;\n }\n }).filter((col) => !!col);\n }\n\n // Otherwise make one up from schema\n const out = typeOptions.showState ? [STATE] : [];\n const namespaced = attributes.namespaced || false;\n let hasName = false;\n\n for ( const col of columns ) {\n if ( col.format === 'name' ) {\n hasName = true;\n out.push(NAME);\n if ( namespaced ) {\n out.push(NAMESPACE_COL);\n }\n } else {\n out.push(fromSchema(col, rootGetters));\n }\n }\n\n if ( !hasName ) {\n insertAt(out, 1, NAME);\n if ( namespaced ) {\n insertAt(out, 2, NAMESPACE_COL);\n }\n }\n\n // Age always goes last\n if ( out.includes(AGE) ) {\n removeObject(out, AGE);\n if ( typeOptions.showAge ) {\n out.push(AGE);\n }\n }\n\n return out;\n\n function fromSchema(col, rootGetters) {\n let formatter, width, formatterOpts;\n\n if ( (col.format === '' || col.format === 'date') && col.name === 'Age' ) {\n return AGE;\n }\n\n if ( col.format === 'date' || col.type === 'date' ) {\n formatter = 'Date';\n width = 120;\n formatterOpts = { multiline: true };\n }\n\n if ( col.type === 'number' || col.type === 'int' ) {\n formatter = 'Number';\n }\n\n const colName = col.name.includes(' ') ? col.name.split(' ').map((word) => word.charAt(0).toUpperCase() + word.substring(1) ).join('') : col.name;\n\n const exists = rootGetters['i18n/exists'];\n const t = rootGetters['i18n/t'];\n const labelKey = `tableHeaders.${ colName.charAt(0).toLowerCase() + colName.slice(1) }`;\n const description = col.description || '';\n const tooltip = description && description[description.length - 1] === '.' ? description.slice(0, -1) : description;\n\n return {\n name: col.name.toLowerCase(),\n label: exists(labelKey) ? t(labelKey) : col.name,\n value: _rowValueGetter(col),\n sort: [col.field],\n formatter,\n formatterOpts,\n width,\n tooltip\n };\n }\n };\n },\n\n // ------------------------------------\n // Custom list/detail/edit/header component detection\n //\n // Note: you can't refactor these into one function that does `@/${kind}/${type}`,\n // because babel needs some hardcoded idea where to look for the dependency.\n //\n // Note 2: Yes these are editing state in a getter for caching... it's ok, probably.\n // ------------------------------------\n hasCustomList(state, getters, rootState) {\n return (rawType) => {\n const key = getters.componentFor(rawType);\n\n return hasCustom(state, rootState, 'list', key, (key) => resolveList(key));\n };\n },\n\n hasCustomChart(state, getters, rootState) {\n return (rawType) => {\n const key = getters.componentFor(rawType);\n\n return hasCustom(state, rootState, 'chart', key, (key) => resolveChart(key));\n };\n },\n\n hasCustomDetail(state, getters, rootState) {\n return (rawType, subType) => {\n const key = getters.componentFor(rawType, subType);\n\n return hasCustom(state, rootState, 'detail', key, (key) => resolveDetail(key));\n };\n },\n\n hasGraph(state, getters) {\n return (resource) => {\n const typeOptions = getters['optionsFor'](resource);\n\n if (typeOptions && typeOptions.hasGraph) {\n return graphConfigMap[resource];\n }\n\n return null;\n };\n },\n\n hasCustomEdit(state, getters, rootState) {\n return (rawType, subType) => {\n const key = getters.componentFor(rawType, subType);\n\n return hasCustom(state, rootState, 'edit', key, (key) => resolveEdit(key));\n };\n },\n\n hasComponent(state, getters, rootState) {\n return (path) => {\n return hasCustom(state, rootState, 'edit', path, (path) => resolveEdit(path));\n };\n },\n\n hasCustomPromptRemove(state, getters, rootState) {\n return (rawType, subType) => {\n const key = getters.componentFor(rawType, subType);\n\n return hasCustom(state, rootState, 'promptRemove', key, () => require.resolve(`@shell/promptRemove/${ key }`));\n };\n },\n\n hasCustomWindowComponent(state, getters, rootState) {\n return (rawType, subType) => {\n const key = getters.componentFor(rawType, subType);\n\n return hasCustom(state, rootState, 'windowComponents', key, (key) => resolveWindowComponent(key));\n };\n },\n\n hasCustomMachineConfigComponent(state, getters, rootState) {\n return (rawType, subType) => {\n const key = getters.componentFor(rawType, subType);\n\n return hasCustom(state, rootState, 'machine-config', key, (key) => resolveMachineConfigComponent(key));\n };\n },\n\n hasCustomCloudCredentialComponent(state, getters, rootState) {\n return (rawType, subType) => {\n const key = getters.componentFor(rawType, subType);\n\n return hasCustom(state, rootState, 'cloud-credential', key, (key) => resolveCloudCredentialComponent(key));\n };\n },\n\n importComponent(state, getters) {\n return (path) => {\n return importEdit(path);\n };\n },\n\n importDialog(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'dialog', getters.componentFor(rawType, subType), importDialog);\n };\n },\n\n importList(state, getters, rootState) {\n return (rawType) => {\n return loadExtension(rootState, 'list', getters.componentFor(rawType), importList);\n };\n },\n\n importChart(state, getters, rootState) {\n return (rawType) => {\n return loadExtension(rootState, 'chart', getters.componentFor(rawType), importChart);\n };\n },\n\n importDetail(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'detail', getters.componentFor(rawType, subType), importDetail);\n };\n },\n\n importEdit(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'edit', getters.componentFor(rawType, subType), importEdit);\n };\n },\n\n importCustomPromptRemove(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'promptRemove', getters.componentFor(rawType, subType), importCustomPromptRemove);\n };\n },\n\n importWindowComponent(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'windowComponents', getters.componentFor(rawType, subType), importWindowComponent);\n };\n },\n\n importLogin(state, getters, rootState) {\n return (authType) => {\n return loadExtension(rootState, 'login', authType, importLogin);\n };\n },\n\n importMachineConfig(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'machine-config', getters.componentFor(rawType, subType), importMachineConfig);\n };\n },\n\n importCloudCredential(state, getters, rootState) {\n return (rawType, subType) => {\n return loadExtension(rootState, 'cloud-credential', getters.componentFor(rawType, subType), importCloudCredential);\n };\n },\n\n componentFor(state, getters) {\n return (type, subType) => {\n let key = type;\n\n if ( subType ) {\n key = `${ type }/${ subType }`;\n }\n\n if ( state.cache.componentFor[key] !== undefined ) {\n return state.cache.componentFor[key];\n }\n\n let out = type;\n\n const mapping = state.typeToComponentMappings.find((mapping) => {\n const re = stringToRegex(mapping.match);\n\n return re.test(key);\n });\n\n if ( mapping ) {\n out = mapping.replace;\n } else if ( subType ) {\n // Try again without the subType\n out = getters.componentFor(type);\n }\n\n state.cache.componentFor[key] = out;\n\n return out;\n };\n },\n\n isIgnored(state, getters, rootState, rootGetters) {\n return (schema) => {\n let out = false;\n\n for ( const rule of state.groupIgnore ) {\n const group = schema?.attributes?.group;\n\n if (group && group.match(stringToRegex(rule.type) && isObject(rule) && rule.type)) {\n out = rule.cb(rootGetters);\n break;\n }\n\n if ( group && typeof rule === 'string' && group.match(stringToRegex(rule)) ) {\n out = true;\n break;\n }\n }\n\n if ( !out ) {\n for ( const rule of state.typeIgnore ) {\n if ( schema.id.match(stringToRegex(rule)) ) {\n out = true;\n break;\n }\n }\n }\n\n state.cache.ignore[schema.id] = out;\n\n return out;\n };\n },\n\n activeProducts(state, getters, rootState, rootGetters) {\n const knownTypes = {};\n const knownGroups = {};\n const isDev = rootGetters['prefs/get'](VIEW_IN_API);\n\n if ( state.schemaGeneration < 0 ) {\n // This does nothing, but makes activeProducts depend on schemaGeneration\n // so that it can be used to update the product list on schema change.\n return;\n }\n\n return state.products.filter((p) => {\n const module = p.inStore;\n\n if ( p['public'] === false && !isDev ) {\n return false;\n }\n\n if ( p.ifGetter && !rootGetters[p.ifGetter] ) {\n return false;\n }\n\n if ( !knownTypes[module] ) {\n const schemas = rootGetters[`${ module }/all`](SCHEMA);\n\n knownTypes[module] = [];\n knownGroups[module] = [];\n\n for ( const s of schemas ) {\n knownTypes[module].push(s._id);\n\n if ( s._group ) {\n addObject(knownGroups[module], s._group);\n }\n }\n }\n\n if ( p.ifFeature) {\n const features = Array.isArray(p.ifFeature) ? p.ifFeature : [p.ifFeature];\n\n for (const f of features) {\n if (!rootGetters['features/get'](f)) {\n return false;\n }\n }\n }\n\n if ( p.ifHave && !ifHave(rootGetters, p.ifHave)) {\n return false;\n }\n\n if ( p.ifHaveType ) {\n const haveIds = knownTypes[module].filter((t) => t.match(stringToRegex(p.ifHaveType)) );\n\n if ( !haveIds.length ) {\n return false;\n }\n\n if ( p.ifHaveVerb && !ifHaveVerb(rootGetters, module, p.ifHaveVerb, haveIds)) {\n return false;\n }\n }\n\n if ( p.ifHaveGroup && !knownGroups[module].find((t) => t.match(stringToRegex(p.ifHaveGroup)) ) ) {\n return false;\n }\n\n return true;\n });\n },\n\n isProductActive(state, getters) {\n return (name) => {\n if ( findBy(getters['activeProducts'], 'name', name) ) {\n return true;\n }\n\n return false;\n };\n },\n\n rowValueGetter(state) {\n return (schema, colName) => {\n const col = _findColumnByName(schema, colName);\n\n return _rowValueGetter(col);\n };\n },\n\n isProductRegistered(state) {\n return (productName) => {\n const prod = state.products.find((p) => p.name === productName);\n\n return !!prod;\n };\n },\n};\n\nexport const mutations = {\n schemaChanged(state) {\n state.schemaGeneration = state.schemaGeneration + 1;\n },\n\n // Remove the specified product\n remove(state, { product, plugin }) {\n const existing = state.products.findIndex((p) => p.name === product);\n\n // Remove the product\n if (existing !== -1) {\n state.products.splice(existing, 1);\n }\n\n // Go through the basic types and remove the headers\n if (state.virtualTypes[product]) {\n delete state.virtualTypes[product];\n }\n\n if (state.basicTypes[product]) {\n // Remove table header configuration\n Object.keys(state.basicTypes[product]).forEach((type) => {\n delete state.headers[type];\n delete state.basicTypeWeights[type];\n delete state.cache.ignore[type];\n // These track whether the type has a custom component\n delete state.cache.detail[type];\n delete state.cache.edit[type];\n delete state.cache.list[type];\n\n // Delete all of the entries from the componentFor cache where the valye is the type\n // Can do this more efficiently\n Object.keys(state.cache.componentFor).forEach((k) => {\n const v = state.cache.componentFor[k];\n\n if (v === type) {\n delete state.cache.componentFor[k];\n }\n });\n });\n\n delete state.basicTypes[product];\n }\n\n if (plugin) {\n // kind is list, edit, detail etc\n Object.keys(plugin.types).forEach((kind) => {\n if (state.cache[kind]) {\n Object.keys(plugin.types[kind]).forEach((type) => {\n delete state.cache[kind][type];\n });\n }\n });\n }\n },\n\n product(state, obj) {\n const existing = findBy(state.products, 'name', obj.name);\n\n if ( existing ) {\n Object.assign(existing, obj);\n } else {\n addObject(state.products, obj);\n }\n },\n\n virtualType(state, { product, obj }) {\n if ( !state.virtualTypes[product] ) {\n state.virtualTypes[product] = [];\n }\n\n const copy = clone(obj);\n\n copy.virtual = true;\n\n const existing = findBy(state.virtualTypes[product], 'name', copy.name);\n\n if ( existing ) {\n Object.assign(existing, copy);\n } else {\n addObject(state.virtualTypes[product], copy);\n }\n },\n\n spoofedType(state, { product, obj }) {\n if ( !state.spoofedTypes[product] ) {\n state.spoofedTypes[product] = [];\n }\n\n const copy = clone(obj);\n\n instanceMethods[product] = instanceMethods[product] || {};\n instanceMethods[product][copy.type] = copy.getInstances;\n delete copy.getInstances;\n\n copy.name = copy.type;\n copy.isSpoofed = true;\n copy.virtual = true;\n copy.schemas.forEach((schema) => {\n schema.links = {\n collection: `/${ SPOOFED_PREFIX }/${ schema.id }`,\n ...(schema.links || {})\n };\n });\n\n const existing = findBy(state.spoofedTypes[product], 'type', copy.type);\n\n if ( existing ) {\n Object.assign(existing, copy);\n } else {\n addObject(state.spoofedTypes[product], copy);\n }\n },\n\n basicType(state, { product, group, types }) {\n if ( !product ) {\n product = EXPLORER;\n }\n\n if ( !group ) {\n group = ROOT;\n }\n\n if ( !isArray(types) ) {\n types = [types];\n }\n\n if ( !state.basicTypes[product] ) {\n state.basicTypes[product] = {};\n }\n\n for ( const t of types ) {\n state.basicTypes[product][t] = group;\n }\n },\n\n ignoreGroup(state, { regexOrString: match, cb }) {\n match = ensureRegex(match);\n // State shouldn't contain actual RegExp objects, because they don't serialize\n cb ? state.groupIgnore.push({\n type: regexToString(match),\n cb\n }) : state.groupIgnore.push(regexToString(match));\n },\n\n ignoreType(state, match) {\n match = ensureRegex(match);\n state.typeIgnore.push(regexToString(match));\n },\n\n groupBy(state, { type, field }) {\n state.groupBy[type] = field;\n },\n\n headers(state, { type, headers }) {\n state.headers[type] = headers;\n },\n\n hideBulkActions(state, { type, field }) {\n state.hideBulkActions[type] = field;\n },\n\n // weightGroup({group: 'core', weight: 99}); -- higher groups are shown first\n // These operate on group names *after* mapping but *before* translation\n weightGroup(state, {\n group, groups, weight, forBasic\n }) {\n if ( !groups ) {\n groups = [];\n }\n\n if ( group ) {\n groups.push(group);\n }\n\n const map = forBasic ? state.basicGroupWeights : state.groupWeights;\n\n for ( const g of groups ) {\n map[g.toLowerCase()] = weight;\n }\n },\n\n // setGroupDefaultType({group: 'core', defaultType: 'name'});\n // By default when a group is clicked, the first item is selected - this allows\n // this behaviour to be changed and a named child type can be chosen\n // These operate on group names *after* mapping but *before* translation\n setGroupDefaultType(state, { group, groups, defaultType }) {\n if ( !groups ) {\n groups = [];\n }\n\n if ( group ) {\n groups.push(group);\n }\n\n for ( const g of groups ) {\n state.groupDefaultTypes[g.toLowerCase()] = defaultType;\n }\n },\n\n // weightType('Cluster' 99); -- higher groups are shown first\n // These operate on *schema* type names, before mapping\n weightType(state, {\n type, types, weight, forBasic\n }) {\n if ( !types ) {\n types = [];\n }\n\n if ( type ) {\n types.push(type);\n }\n\n const map = forBasic ? state.basicTypeWeights : state.typeWeights;\n\n for ( const t of types ) {\n map[t.toLowerCase()] = weight;\n }\n },\n\n // mapGroup('ugly.thing', 'Nice Thing', 1);\n // mapGroup(/ugly.thing.(stuff)', '$1', 2);\n // mapGroup(/ugly.thing.(stuff)', function(groupStr, ruleObj, regexMatch, typeObj) { return ucFirst(group.id) } , 2);\n mapGroup(state, {\n match, replace, weight = 5, continueOnMatch = false\n }) {\n _addMapping(state.groupMappings, match, replace, weight, continueOnMatch);\n },\n\n mapType(state, {\n match, replace, weight = 5, continueOnMatch = false\n }) {\n _addMapping(state.typeMappings, match, replace, weight, continueOnMatch);\n },\n\n // moveType('apps.deployment', 'Core');\n moveType(state, { match, group, weight = 5 }) {\n _addMapping(state.typeMoveMappings, match, group, weight);\n },\n\n componentForType(state, { match, replace }) {\n match = ensureRegex(match);\n match = regexToString(match);\n state.typeToComponentMappings.push({ match, replace });\n },\n\n configureType(state, options) {\n const match = regexToString(ensureRegex(options.match));\n\n const idx = state.typeOptions.findIndex((obj) => obj.match === match);\n let obj = { ...options, match };\n\n if ( idx >= 0 ) {\n obj = Object.assign(state.typeOptions[idx], obj);\n state.typeOptions.splice(idx, 1, obj);\n } else {\n const obj = Object.assign({}, options, { match });\n\n state.typeOptions.push(obj);\n }\n },\n\n};\n\nexport const actions = {\n removeProduct({ commit }, metadata) {\n commit('remove', metadata);\n },\n\n addFavorite({ dispatch, rootGetters }, type) {\n const types = rootGetters['prefs/get'](FAVORITE_TYPES) || [];\n\n addObject(types, type);\n\n dispatch('prefs/set', { key: FAVORITE_TYPES, value: types }, { root: true });\n },\n\n removeFavorite({ dispatch, rootGetters }, type) {\n const types = rootGetters['prefs/get'](FAVORITE_TYPES) || [];\n\n removeObject(types, type);\n\n dispatch('prefs/set', { key: FAVORITE_TYPES, value: types }, { root: true });\n },\n\n toggleGroup({ dispatch, rootGetters }, { group, expanded }) {\n const groups = rootGetters['prefs/get'](EXPANDED_GROUPS);\n\n if ( expanded ) {\n addObject(groups, group);\n } else {\n removeObject(groups, group);\n }\n\n dispatch('prefs/set', { key: EXPANDED_GROUPS, value: groups }, { root: true });\n },\n\n configureType({ commit }, options) {\n commit('configureType', options);\n }\n};\n\nfunction _sortGroup(tree, mode) {\n const by = ['weight:desc', 'namespaced', 'label'];\n\n tree.children = sortBy(tree.children, by);\n\n for (const entry of tree.children ) {\n if ( entry.children ) {\n _sortGroup(entry, mode);\n }\n }\n}\n\nfunction _matchingCounts(typeObj, namespaces) {\n // That was easy\n if ( !typeObj.namespaced || !typeObj.byNamespace || namespaces === null || typeObj.count === null) {\n return typeObj.count;\n }\n\n let out = 0;\n\n // Otherwise start with 0 and count up\n for ( const namespace of namespaces ) {\n out += typeObj.byNamespace[namespace]?.count || 0;\n }\n\n return out;\n}\n\nfunction _applyMapping(objOrValue, mappings, keyField, cache, defaultFn) {\n let key = objOrValue;\n let found = false;\n\n if ( keyField ) {\n if ( typeof objOrValue !== 'object' ) {\n return objOrValue;\n }\n\n key = get(objOrValue, keyField);\n\n if ( typeof key !== 'string' ) {\n return null;\n }\n }\n\n if ( key && cache && cache[key] ) {\n return cache[key];\n }\n\n let out = `${ key }`;\n\n for ( const rule of mappings ) {\n const re = stringToRegex(rule.match);\n const captured = out.match(re);\n\n if ( captured && rule.replace ) {\n out = out.replace(re, rule.replace);\n\n found = true;\n if ( !rule.continueOnMatch ) {\n break;\n }\n }\n }\n\n if ( !found && defaultFn ) {\n out = defaultFn(out, objOrValue);\n }\n\n if ( cache ) {\n cache[key] = out;\n }\n\n return out;\n}\n\nfunction _addMapping(mappings, match, replace, weight, continueOnMatch) {\n match = regexToString(ensureRegex(match));\n\n mappings.push({\n match,\n replace,\n weight,\n continueOnMatch,\n insertIndex: mappings.length,\n });\n\n // Re-sort the list by weight (highest first) and insert time (oldest first)\n mappings.sort((a, b) => {\n const pri = b.weight - a.weight;\n\n if ( pri ) {\n return pri;\n }\n\n return a.insertIndex - b.insertIndex;\n });\n}\n\n// Regexes can't be represented in state because they don't serialize to JSON..\nconst regexCache = {};\n\nfunction regexToString(regex) {\n return regex.source;\n}\n\nfunction stringToRegex(str) {\n let out = regexCache[str];\n\n if ( !out ) {\n out = new RegExp(str);\n regexCache[str] = out;\n }\n\n return out;\n}\n\nfunction ifHave(getters, option) {\n switch (option) {\n case IF_HAVE.V2_MONITORING: {\n return haveV2Monitoring(getters);\n }\n case IF_HAVE.V1_MONITORING: {\n return haveV1Monitoring(getters);\n }\n case IF_HAVE.PROJECT: {\n return !!project(getters);\n }\n case IF_HAVE.NO_PROJECT: {\n return !project(getters);\n }\n case IF_HAVE.NOT_V1_ISTIO: {\n return !isV1Istio(getters);\n }\n case IF_HAVE.MULTI_CLUSTER: {\n return getters.isMultiCluster;\n }\n case IF_HAVE.NEUVECTOR_NAMESPACE: {\n return getters[`cluster/all`](NAMESPACE).find((n) => n.metadata.name === NEU_VECTOR_NAMESPACE);\n }\n case IF_HAVE.ADMIN: {\n return isAdminUser(getters);\n }\n case IF_HAVE.MCM_DISABLED: {\n return !getters['isRancherInHarvester'];\n }\n case IF_HAVE.NOT_STANDALONE_HARVESTER: {\n return !getters['isStandaloneHarvester'];\n }\n default:\n return false;\n }\n}\n\n// Could list a larger set of resources that typically only an admin user would have\nexport function isAdminUser(getters) {\n const canEditSettings = (getters['management/schemaFor'](MANAGEMENT.SETTING)?.resourceMethods || []).includes('PUT');\n const canEditFeatureFlags = (getters['management/schemaFor'](MANAGEMENT.FEATURE)?.resourceMethods || []).includes('PUT');\n const canInstallApps = (getters['management/schemaFor'](CATALOG.APP)?.resourceMethods || []).includes('PUT');\n const canAddRepos = (getters['management/schemaFor'](CATALOG.CLUSTER_REPO)?.resourceMethods || []).includes('PUT');\n const canPutHelmOperations = (getters['management/schemaFor'](CATALOG.OPERATION)?.resourceMethods || []).includes('PUT');\n\n return canEditSettings && canEditFeatureFlags && canInstallApps && canAddRepos && canPutHelmOperations;\n}\n\nfunction _findColumnByName(schema, colName) {\n const attributes = schema.attributes || {};\n const columns = attributes.columns || [];\n\n return findBy(columns, 'name', colName);\n}\n\nfunction _rowValueGetter(col) {\n // 'field' comes from the schema - typically it is of the form $.metadata.field[N]\n // We will use JsonPath to look up this value, which is costly - so if we can detect this format\n // Use a more efficient function to get the value\n const value = col.field.startsWith('.') ? `$${ col.field }` : col.field;\n const found = value.match(FIELD_REGEX);\n\n if (found && found.length === 2) {\n const fieldIndex = parseInt(found[1], 10);\n\n return (row) => row.metadata?.fields?.[fieldIndex];\n }\n\n return value;\n}\n\n// Is V1 Istio installed?\nfunction isV1Istio(getters) {\n const cluster = getters['currentCluster'];\n\n return !!cluster?.status?.istioEnabled;\n}\n\nfunction ifHaveVerb(rootGetters, module, verb, haveIds) {\n for ( const haveId of haveIds ) {\n const schema = rootGetters[`${ module }/schemaFor`](haveId);\n const want = verb.toLowerCase();\n const collectionMethods = schema.collectionMethods || [];\n const resourceMethods = schema.resourceMethods || [];\n const have = [...collectionMethods, ...resourceMethods].map((x) => x.toLowerCase());\n\n if ( !have.includes(want) && !have.includes(`blocked-${ want }`) ) {\n return false;\n }\n }\n\n return true;\n}\n\n// Look at the namespace filters to determine if a project is selected\nexport function project(getters) {\n const clusterId = getters['currentCluster']?.id;\n\n if ( !clusterId ) {\n return null;\n }\n\n const filters = getters['namespaceFilters'];\n const namespaces = [];\n let projectName = null;\n\n for (const filter of filters) {\n const [type, id] = filter.split('://', 2);\n\n if (type === 'project') {\n if (projectName !== null) {\n // More than one project selected\n return null;\n }\n projectName = id;\n } else if (type === 'ns') {\n namespaces.push(id);\n } else {\n // Something other than project or namespace\n return null;\n }\n }\n\n // No project found?\n if (!projectName) {\n return null;\n }\n\n // We have one project and a set of namespaces\n // Check that all of the namespaces belong to the project\n const project = getters['management/byId'](MANAGEMENT.PROJECT, `${ clusterId }/${ projectName }`);\n\n // No additional namespaces means just the project is selected\n if (namespaces.length === 0) {\n return project;\n }\n\n // Convert the project namespaces into a map so we can check existence easily\n const prjNamespaceMap = project.namespaces.reduce((m, ns) => {\n m[ns.metadata.name] = true;\n\n return m;\n }, {});\n\n // All of the namespace filters must belong to the project\n const found = namespaces.reduce((total, ns) => {\n return prjNamespaceMap[ns] ? total + 1 : 0;\n }, 0);\n\n if (found !== namespaces.length) {\n return null;\n }\n\n return project;\n}\n\nfunction hasCustom(state, rootState, kind, key, fallback) {\n const cache = state.cache[kind];\n\n if ( cache[key] !== undefined ) {\n return cache[key];\n }\n\n // Check to see if the custom kind is provided by a plugin\n if (!!rootState.$plugin.getDynamic(kind, key)) {\n cache[key] = true;\n\n return cache[key];\n }\n\n // Fallback\n try {\n fallback(key);\n cache[key] = true;\n } catch (e) {\n cache[key] = false;\n }\n\n return cache[key];\n}\n\nfunction loadExtension(rootState, kind, key, fallback) {\n const ext = rootState.$plugin.getDynamic(kind, key);\n\n if (ext) {\n if (typeof ext === 'function') {\n return ext;\n }\n\n return () => ext;\n }\n\n return fallback(key);\n}\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\nfunction escape(value) {\n return new RegExp(value.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'm');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/*\nLanguage: F#\nAuthor: Jonas Follesø \nContributors: Troy Kershaw , Henrik Feldt , Melvyn Laïly \nWebsite: https://docs.microsoft.com/en-us/dotnet/fsharp/\nCategory: functional\n*/\n\n/** @type LanguageFn */\nfunction fsharp(hljs) {\n const KEYWORDS = [\n \"abstract\",\n \"and\",\n \"as\",\n \"assert\",\n \"base\",\n \"begin\",\n \"class\",\n \"default\",\n \"delegate\",\n \"do\",\n \"done\",\n \"downcast\",\n \"downto\",\n \"elif\",\n \"else\",\n \"end\",\n \"exception\",\n \"extern\",\n // \"false\", // literal\n \"finally\",\n \"fixed\",\n \"for\",\n \"fun\",\n \"function\",\n \"global\",\n \"if\",\n \"in\",\n \"inherit\",\n \"inline\",\n \"interface\",\n \"internal\",\n \"lazy\",\n \"let\",\n \"match\",\n \"member\",\n \"module\",\n \"mutable\",\n \"namespace\",\n \"new\",\n // \"not\", // built_in\n // \"null\", // literal\n \"of\",\n \"open\",\n \"or\",\n \"override\",\n \"private\",\n \"public\",\n \"rec\",\n \"return\",\n \"static\",\n \"struct\",\n \"then\",\n \"to\",\n // \"true\", // literal\n \"try\",\n \"type\",\n \"upcast\",\n \"use\",\n \"val\",\n \"void\",\n \"when\",\n \"while\",\n \"with\",\n \"yield\"\n ];\n\n const BANG_KEYWORD_MODE = {\n // monad builder keywords (matches before non-bang keywords)\n scope: 'keyword',\n match: /\\b(yield|return|let|do|match|use)!/\n };\n\n const PREPROCESSOR_KEYWORDS = [\n \"if\",\n \"else\",\n \"endif\",\n \"line\",\n \"nowarn\",\n \"light\",\n \"r\",\n \"i\",\n \"I\",\n \"load\",\n \"time\",\n \"help\",\n \"quit\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Error\",\n \"infinity\",\n \"infinityf\",\n \"nan\",\n \"nanf\"\n ];\n\n const SPECIAL_IDENTIFIERS = [\n \"__LINE__\",\n \"__SOURCE_DIRECTORY__\",\n \"__SOURCE_FILE__\"\n ];\n\n // Since it's possible to re-bind/shadow names (e.g. let char = 'c'),\n // these builtin types should only be matched when a type name is expected.\n const KNOWN_TYPES = [\n // basic types\n \"bool\",\n \"byte\",\n \"sbyte\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"int\",\n \"uint\",\n \"int64\",\n \"uint64\",\n \"nativeint\",\n \"unativeint\",\n \"decimal\",\n \"float\",\n \"double\",\n \"float32\",\n \"single\",\n \"char\",\n \"string\",\n \"unit\",\n \"bigint\",\n // other native types or lowercase aliases\n \"option\",\n \"voption\",\n \"list\",\n \"array\",\n \"seq\",\n \"byref\",\n \"exn\",\n \"inref\",\n \"nativeptr\",\n \"obj\",\n \"outref\",\n \"voidptr\",\n // other important FSharp types\n \"Result\"\n ];\n\n const BUILTINS = [\n // Somewhat arbitrary list of builtin functions and values.\n // Most of them are declared in Microsoft.FSharp.Core\n // I tried to stay relevant by adding only the most idiomatic\n // and most used symbols that are not already declared as types.\n \"not\",\n \"ref\",\n \"raise\",\n \"reraise\",\n \"dict\",\n \"readOnlyDict\",\n \"set\",\n \"get\",\n \"enum\",\n \"sizeof\",\n \"typeof\",\n \"typedefof\",\n \"nameof\",\n \"nullArg\",\n \"invalidArg\",\n \"invalidOp\",\n \"id\",\n \"fst\",\n \"snd\",\n \"ignore\",\n \"lock\",\n \"using\",\n \"box\",\n \"unbox\",\n \"tryUnbox\",\n \"printf\",\n \"printfn\",\n \"sprintf\",\n \"eprintf\",\n \"eprintfn\",\n \"fprintf\",\n \"fprintfn\",\n \"failwith\",\n \"failwithf\"\n ];\n\n const ALL_KEYWORDS = {\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS,\n 'variable.constant': SPECIAL_IDENTIFIERS\n };\n\n // (* potentially multi-line Meta Language style comment *)\n const ML_COMMENT =\n hljs.COMMENT(/\\(\\*(?!\\))/, /\\*\\)/, {\n contains: [\"self\"]\n });\n // Either a multi-line (* Meta Language style comment *) or a single line // C style comment.\n const COMMENT = {\n variants: [\n ML_COMMENT,\n hljs.C_LINE_COMMENT_MODE,\n ]\n };\n\n // Most identifiers can contain apostrophes\n const IDENTIFIER_RE = /[a-zA-Z_](\\w|')*/;\n\n const QUOTED_IDENTIFIER = {\n scope: 'variable',\n begin: /``/,\n end: /``/\n };\n\n // 'a or ^a where a can be a ``quoted identifier``\n const BEGIN_GENERIC_TYPE_SYMBOL_RE = /\\B('|\\^)/;\n const GENERIC_TYPE_SYMBOL = {\n scope: 'symbol',\n variants: [\n // the type name is a quoted identifier:\n { match: concat(BEGIN_GENERIC_TYPE_SYMBOL_RE, /``.*?``/) },\n // the type name is a normal identifier (we don't use IDENTIFIER_RE because there cannot be another apostrophe here):\n { match: concat(BEGIN_GENERIC_TYPE_SYMBOL_RE, hljs.UNDERSCORE_IDENT_RE) }\n ],\n relevance: 0\n };\n\n const makeOperatorMode = function({ includeEqual }) {\n // List or symbolic operator characters from the FSharp Spec 4.1, minus the dot, and with `?` added, used for nullable operators.\n let allOperatorChars;\n if (includeEqual)\n allOperatorChars = \"!%&*+-/<=>@^|~?\";\n else\n allOperatorChars = \"!%&*+-/<>@^|~?\";\n const OPERATOR_CHARS = Array.from(allOperatorChars);\n const OPERATOR_CHAR_RE = concat('[', ...OPERATOR_CHARS.map(escape), ']');\n // The lone dot operator is special. It cannot be redefined, and we don't want to highlight it. It can be used as part of a multi-chars operator though.\n const OPERATOR_CHAR_OR_DOT_RE = either(OPERATOR_CHAR_RE, /\\./);\n // When a dot is present, it must be followed by another operator char:\n const OPERATOR_FIRST_CHAR_OF_MULTIPLE_RE = concat(OPERATOR_CHAR_OR_DOT_RE, lookahead(OPERATOR_CHAR_OR_DOT_RE));\n const SYMBOLIC_OPERATOR_RE = either(\n concat(OPERATOR_FIRST_CHAR_OF_MULTIPLE_RE, OPERATOR_CHAR_OR_DOT_RE, '*'), // Matches at least 2 chars operators\n concat(OPERATOR_CHAR_RE, '+'), // Matches at least one char operators\n );\n return {\n scope: 'operator',\n match: either(\n // symbolic operators:\n SYMBOLIC_OPERATOR_RE,\n // other symbolic keywords:\n // Type casting and conversion operators:\n /:\\?>/,\n /:\\?/,\n /:>/,\n /:=/, // Reference cell assignment\n /::?/, // : or ::\n /\\$/), // A single $ can be used as an operator\n relevance: 0\n };\n };\n\n const OPERATOR = makeOperatorMode({ includeEqual: true });\n // This variant is used when matching '=' should end a parent mode:\n const OPERATOR_WITHOUT_EQUAL = makeOperatorMode({ includeEqual: false });\n\n const makeTypeAnnotationMode = function(prefix, prefixScope) {\n return {\n begin: concat( // a type annotation is a\n prefix, // should be a colon or the 'of' keyword\n lookahead( // that has to be followed by\n concat(\n /\\s*/, // optional space\n either( // then either of:\n /\\w/, // word\n /'/, // generic type name\n /\\^/, // generic type name\n /#/, // flexible type name\n /``/, // quoted type name\n /\\(/, // parens type expression\n /{\\|/, // anonymous type annotation\n )))),\n beginScope: prefixScope,\n // BUG: because ending with \\n is necessary for some cases, multi-line type annotations are not properly supported.\n // Examples where \\n is required at the end:\n // - abstract member definitions in classes: abstract Property : int * string\n // - return type annotations: let f f' = f' () : returnTypeAnnotation\n // - record fields definitions: { A : int \\n B : string }\n end: lookahead(\n either(\n /\\n/,\n /=/)),\n relevance: 0,\n // we need the known types, and we need the type constraint keywords and literals. e.g.: when 'a : null\n keywords: hljs.inherit(ALL_KEYWORDS, { type: KNOWN_TYPES }),\n contains: [\n COMMENT,\n GENERIC_TYPE_SYMBOL,\n hljs.inherit(QUOTED_IDENTIFIER, { scope: null }), // match to avoid strange patterns inside that may break the parsing\n OPERATOR_WITHOUT_EQUAL\n ]\n };\n };\n\n const TYPE_ANNOTATION = makeTypeAnnotationMode(/:/, 'operator');\n const DISCRIMINATED_UNION_TYPE_ANNOTATION = makeTypeAnnotationMode(/\\bof\\b/, 'keyword');\n\n // type MyType<'a> = ...\n const TYPE_DECLARATION = {\n begin: [\n /(^|\\s+)/, // prevents matching the following: `match s.stype with`\n /type/,\n /\\s+/,\n IDENTIFIER_RE\n ],\n beginScope: {\n 2: 'keyword',\n 4: 'title.class'\n },\n end: lookahead(/\\(|=|$/),\n keywords: ALL_KEYWORDS, // match keywords in type constraints. e.g.: when 'a : null\n contains: [\n COMMENT,\n hljs.inherit(QUOTED_IDENTIFIER, { scope: null }), // match to avoid strange patterns inside that may break the parsing\n GENERIC_TYPE_SYMBOL,\n {\n // For visual consistency, highlight type brackets as operators.\n scope: 'operator',\n match: /<|>/\n },\n TYPE_ANNOTATION // generic types can have constraints, which are type annotations. e.g. type MyType<'T when 'T : delegate> =\n ]\n };\n\n const COMPUTATION_EXPRESSION = {\n // computation expressions:\n scope: 'computation-expression',\n // BUG: might conflict with record deconstruction. e.g. let f { Name = name } = name // will highlight f\n match: /\\b[_a-z]\\w*(?=\\s*\\{)/\n };\n\n const PREPROCESSOR = {\n // preprocessor directives and fsi commands:\n begin: [\n /^\\s*/,\n concat(/#/, either(...PREPROCESSOR_KEYWORDS)),\n /\\b/\n ],\n beginScope: { 2: 'meta' },\n end: lookahead(/\\s|$/)\n };\n\n // TODO: this definition is missing support for type suffixes and octal notation.\n // BUG: range operator without any space is wrongly interpreted as a single number (e.g. 1..10 )\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n // All the following string definitions are potentially multi-line.\n // BUG: these definitions are missing support for byte strings (suffixed with B)\n\n // \"...\"\n const QUOTED_STRING = {\n scope: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE\n ]\n };\n // @\"...\"\n const VERBATIM_STRING = {\n scope: 'string',\n begin: /@\"/,\n end: /\"/,\n contains: [\n {\n match: /\"\"/ // escaped \"\n },\n hljs.BACKSLASH_ESCAPE\n ]\n };\n // \"\"\"...\"\"\"\n const TRIPLE_QUOTED_STRING = {\n scope: 'string',\n begin: /\"\"\"/,\n end: /\"\"\"/,\n relevance: 2\n };\n const SUBST = {\n scope: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: ALL_KEYWORDS\n };\n // $\"...{1+1}...\"\n const INTERPOLATED_STRING = {\n scope: 'string',\n begin: /\\$\"/,\n end: /\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n // $@\"...{1+1}...\"\n const INTERPOLATED_VERBATIM_STRING = {\n scope: 'string',\n begin: /(\\$@|@\\$)\"/,\n end: /\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n {\n match: /\"\"/\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n // $\"\"\"...{1+1}...\"\"\"\n const INTERPOLATED_TRIPLE_QUOTED_STRING = {\n scope: 'string',\n begin: /\\$\"\"\"/,\n end: /\"\"\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n SUBST\n ],\n relevance: 2\n };\n // '.'\n const CHAR_LITERAL = {\n scope: 'string',\n match: concat(\n /'/,\n either(\n /[^\\\\']/, // either a single non escaped char...\n /\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8})/ // ...or an escape sequence\n ),\n /'/\n )\n };\n // F# allows a lot of things inside string placeholders.\n // Things that don't currently seem allowed by the compiler: types definition, attributes usage.\n // (Strictly speaking, some of the followings are only allowed inside triple quoted interpolated strings...)\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL,\n BANG_KEYWORD_MODE,\n COMMENT,\n QUOTED_IDENTIFIER,\n TYPE_ANNOTATION,\n COMPUTATION_EXPRESSION,\n PREPROCESSOR,\n NUMBER,\n GENERIC_TYPE_SYMBOL,\n OPERATOR\n ];\n const STRING = {\n variants: [\n INTERPOLATED_TRIPLE_QUOTED_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n TRIPLE_QUOTED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL\n ]\n };\n\n return {\n name: 'F#',\n aliases: [\n 'fs',\n 'f#'\n ],\n keywords: ALL_KEYWORDS,\n illegal: /\\/\\*/,\n classNameAliases: {\n 'computation-expression': 'keyword'\n },\n contains: [\n BANG_KEYWORD_MODE,\n STRING,\n COMMENT,\n QUOTED_IDENTIFIER,\n TYPE_DECLARATION,\n {\n // e.g. [] or [<``module``: MyCustomAttributeThatWorksOnModules>]\n // or []\n scope: 'meta',\n begin: /\\[\\]/,\n relevance: 2,\n contains: [\n QUOTED_IDENTIFIER,\n // can contain any constant value\n TRIPLE_QUOTED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL,\n NUMBER\n ]\n },\n DISCRIMINATED_UNION_TYPE_ANNOTATION,\n TYPE_ANNOTATION,\n COMPUTATION_EXPRESSION,\n PREPROCESSOR,\n NUMBER,\n GENERIC_TYPE_SYMBOL,\n OPERATOR\n ]\n };\n}\n\nmodule.exports = fsharp;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.roletemplate.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.roletemplate.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./management.cattle.io.roletemplate.vue?vue&type=template&id=5050d908&scoped=true\"\nimport script from \"./management.cattle.io.roletemplate.vue?vue&type=script&lang=js\"\nexport * from \"./management.cattle.io.roletemplate.vue?vue&type=script&lang=js\"\nimport style0 from \"./management.cattle.io.roletemplate.vue?vue&type=style&index=0&id=5050d908&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5050d908\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport { _CREATE } from '@shell/config/query-params';\nimport { ELEMENTAL_DEFAULT_NAMESPACE } from '../types';\nimport ElementalResource from './elemental-resource';\n\nexport default class ManagedOsVersionChannel extends ElementalResource {\n applyDefaults(vm, mode) {\n if ( !this.spec ) {\n Vue.set(this, 'spec', { options: { image: '' }, type: 'custom' });\n }\n if ( !this.metadata || mode === _CREATE ) {\n Vue.set(this, 'metadata', { namespace: ELEMENTAL_DEFAULT_NAMESPACE });\n }\n }\n}\n","/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal128\",\n // modifiers\n \"const\",\n \"static\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nmodule.exports = c;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"yaml-editor\"},[_c('div',{staticClass:\"text-right\"},[(_vm.isPreview && !_vm.hidePreviewButtons)?_c('span',{directives:[{name:\"trim-whitespace\",rawName:\"v-trim-whitespace\"}],staticClass:\"btn-group btn-sm diff-mode\"},[_c('button',{staticClass:\"btn btn-sm bg-default\",class:{'active': _vm.diffMode !== 'split'},attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.diffMode='unified'}}},[_vm._v(\"Unified\")]),_c('button',{staticClass:\"btn btn-sm bg-default\",class:{'active': _vm.diffMode === 'split'},attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.diffMode='split'}}},[_vm._v(\"Split\")])]):_vm._e()]),(_vm.showCodeEditor)?_c('CodeMirror',{ref:\"cm\",class:{fill: true, scrolling: _vm.scrolling},attrs:{\"value\":_vm.curValue,\"options\":_vm.codeMirrorOptions,\"data-testid\":_vm.componentTestid + '-code-mirror'},on:{\"onInput\":_vm.onInput,\"onReady\":_vm.onReady,\"onChanges\":_vm.onChanges}}):_c('FileDiff',{class:{fill: true, scrolling: _vm.scrolling},attrs:{\"filename\":'.yaml',\"side-by-side\":_vm.diffMode === 'split',\"orig\":_vm.original,\"neu\":_vm.curValue,\"footer-space\":80}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('resize-observer',{on:{\"notify\":_vm.fit}}),_c('div',{ref:\"root\",staticClass:\"root\",attrs:{\"id\":\"diffElement\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiff.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FileDiff.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileDiff.vue?vue&type=template&id=0137ea75&scoped=true\"\nimport script from \"./FileDiff.vue?vue&type=script&lang=js\"\nexport * from \"./FileDiff.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileDiff.vue?vue&type=style&index=0&id=0137ea75&prod&lang=scss&scoped=true\"\nimport style1 from \"./FileDiff.vue?vue&type=style&index=1&id=0137ea75&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0137ea75\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./YamlEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./YamlEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./YamlEditor.vue?vue&type=template&id=cf2bae46&scoped=true\"\nimport script from \"./YamlEditor.vue?vue&type=script&lang=js\"\nexport * from \"./YamlEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./YamlEditor.vue?vue&type=style&index=0&id=cf2bae46&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cf2bae46\",\n null\n \n)\n\nexport default component.exports","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./management.cattle.io.project.vue?vue&type=style&index=0&id=3a26ac99&prod&lang=scss&scoped=true\"","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMirror.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMirror.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CodeMirror.vue?vue&type=template&id=96a77c9c\"\nimport script from \"./CodeMirror.vue?vue&type=script&lang=js\"\nexport * from \"./CodeMirror.vue?vue&type=script&lang=js\"\nimport style0 from \"./CodeMirror.vue?vue&type=style&index=0&id=96a77c9c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailTop.vue?vue&type=style&index=0&id=ab4e0560&prod&lang=scss\"","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=style&index=0&id=0d281a35&prod&lang=scss&scoped=true\"","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","var baseIteratee = require('./_baseIteratee'),\n negate = require('./negate'),\n pickBy = require('./pickBy');\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return pickBy(object, negate(baseIteratee(predicate)));\n}\n\nmodule.exports = omitBy;\n","// style-loader: Adds some css to the DOM by adding a \n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceYaml.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceYaml.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ResourceYaml.vue?vue&type=template&id=89b69562&scoped=true\"\nimport script from \"./ResourceYaml.vue?vue&type=script&lang=js\"\nexport * from \"./ResourceYaml.vue?vue&type=script&lang=js\"\nimport style0 from \"./ResourceYaml.vue?vue&type=style&index=0&id=89b69562&prod&lang=scss&scoped=true\"\nimport style1 from \"./ResourceYaml.vue?vue&type=style&index=1&id=89b69562&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"89b69562\",\n null\n \n)\n\nexport default component.exports","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-select .vs__selected-options .vs__selected{text-align:left}.sortable-table{border-collapse:collapse;min-width:400px;border-radius:5px 5px 0 0;outline:1px solid var(--border);overflow:hidden;background:var(--sortable-table-bg);border-radius:4px}.sortable-table.overflow-x{overflow-x:visible}.sortable-table.overflow-y{overflow-y:visible}.sortable-table td{padding:8px 5px;border:0}.sortable-table td:first-child{padding-left:10px}.sortable-table td:last-child{padding-right:10px}.sortable-table td.row-check{padding-top:12px}.sortable-table tbody tr{border-bottom:1px solid var(--sortable-table-top-divider);background-color:var(--sortable-table-row-bg)}.sortable-table tbody tr.main-row.has-sub-row{border-bottom:0}.sortable-table tbody tr.main-row:not(.row-selected):hover+.sub-row{background-color:var(--sortable-table-hover-bg)}.sortable-table tbody tr:last-of-type{border-bottom:0}.sortable-table tbody tr.sub-row-hovered,.sortable-table tbody tr:hover{background-color:var(--sortable-table-hover-bg)}.sortable-table tbody tr.state-description>td{font-size:13px;padding-top:0;overflow-wrap:anywhere}.sortable-table tbody tr.active-row{color:var(--sortable-table-header-bg)}.sortable-table tbody tr.row-selected{background:var(--sortable-table-selected-bg)}.sortable-table tbody .no-rows td{padding:30px 0;text-align:center}.sortable-table tbody .no-results:hover,.sortable-table tbody .no-rows:hover{background-color:var(--body-bg)}.sortable-table tbody.group:before{content:\\\"\\\";display:block;height:20px;background-color:transparent}.sortable-table tbody tr.group-row{background-color:initial}.sortable-table tbody tr.group-row:first-child{border-bottom:2px solid var(--sortable-table-row-bg)}.sortable-table tbody tr.group-row:not(:first-child){margin-top:20px}.sortable-table tbody tr.group-row td{padding:0}.sortable-table tbody tr.group-row td:first-of-type{border-left:1px solid var(--sortable-table-accent-bg)}.sortable-table tbody tr.group-row .group-tab{height:40px;line-height:40px;padding:0 10px;border-radius:4px 4px 0 0;background-color:var(--sortable-table-row-bg);position:relative;top:1px;display:inline-block;z-index:10;min-width:72px}.sortable-table tbody tr.group-row .group-tab:after,.sortable-table tbody tr.group-row .group-tab:before{content:\\\" \\\";display:table}.sortable-table tbody tr.group-row .group-tab:after{clear:both}.sortable-table tbody tr.group-row .group-tab>SPAN{color:var(--sortable-table-group-label)}.sortable-table tbody tr.group-row .group-tab:after{height:40px;width:70px;border-radius:5px 5px 0 0;background-color:var(--sortable-table-row-bg);content:\\\"\\\";position:absolute;right:-15px;top:0;transform:skewX(40deg);z-index:-1}.for-inputs TABLE.sortable-table{width:100%;border-collapse:collapse;margin-bottom:10px}.for-inputs TABLE.sortable-table>TBODY>TR>TD,.for-inputs TABLE.sortable-table>THEAD>TR>TH{padding-right:10px;padding-bottom:10px}.for-inputs TABLE.sortable-table>TBODY>TR>TD:last-of-type,.for-inputs TABLE.sortable-table>THEAD>TR>TH:last-of-type{padding-right:0}.for-inputs TABLE.sortable-table>TBODY>TR:first-of-type>TD{padding-top:10px}.for-inputs TABLE.sortable-table>TBODY>TR:last-of-type>TD{padding-bottom:0}.for-inputs.clone TABLE.sortable-table>THEAD>TR>TH,.for-inputs.create TABLE.sortable-table>THEAD>TR>TH,.for-inputs.edit TABLE.sortable-table>THEAD>TR>TH{border-color:transparent}.sortable-table-header{position:relative;z-index:11}.sortable-table-header.titled{display:flex;align-items:center}.fixed-header-actions.button{grid-template-columns:[bulk] auto [middle] min-content [search] minmax(min-content,350px)}.fixed-header-actions{padding:0 0 20px 0;width:100%;z-index:11;background:transparent;display:grid;grid-template-columns:[bulk] auto [middle] min-content [search] minmax(min-content,200px);grid-column-gap:10px}.fixed-header-actions.advanced-filtering{grid-template-columns:[bulk] auto [middle] minmax(min-content,auto) [search] minmax(min-content,auto)}.fixed-header-actions .bulk{grid-area:bulk}.fixed-header-actions .bulk>BUTTON{display:none}.fixed-header-actions .bulk>BUTTON:not(:last-of-type){margin-right:10px}.fixed-header-actions .bulk .action-availability{display:none;margin-left:10px;vertical-align:middle;margin-top:2px}.fixed-header-actions .bulk .dropdown-button li.disabled{color:var(--disabled-text);cursor:not-allowed}.fixed-header-actions .bulk .dropdown-button li.disabled:hover{color:var(--disabled-text);background-color:unset;cursor:not-allowed}.fixed-header-actions .bulk .bulk-action .icon{vertical-align:-10%}.fixed-header-actions .middle{grid-area:middle;white-space:nowrap}.fixed-header-actions .middle .icon.icon-backup.animate{animation-name:spin;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fixed-header-actions .search{grid-area:search;text-align:right;justify-content:flex-end}.fixed-header-actions .bulk-actions-dropdown{display:none}.fixed-header-actions .bulk-actions-dropdown .dropdown-button{background-color:var(--primary)}.fixed-header-actions .bulk-actions-dropdown .dropdown-button:hover{background-color:var(--primary-hover-bg);color:var(--primary-hover-text)}.fixed-header-actions .bulk-actions-dropdown .dropdown-button .icon-chevron-down,.fixed-header-actions .bulk-actions-dropdown .dropdown-button>*{color:var(--primary-text)}.fixed-header-actions .bulk-actions-dropdown .dropdown-button .button-divider{border-color:var(--primary-text)}.fixed-header-actions .bulk-actions-dropdown .dropdown-button.disabled{border-color:var(--disabled-bg)}.fixed-header-actions .bulk-actions-dropdown .dropdown-button.disabled .icon-chevron-down{color:var(--disabled-text)!important}.fixed-header-actions .bulk-actions-dropdown .dropdown-button.disabled .button-divider{border-color:var(--disabled-text)}.paging{margin-top:10px;text-align:center}.paging SPAN{display:inline-block;min-width:200px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PercentageBar.vue?vue&type=style&index=0&id=620caa7e&prod&lang=scss&scoped=true\"","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailText.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailText.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DetailText.vue?vue&type=template&id=348d5cf1&scoped=true\"\nimport script from \"./DetailText.vue?vue&type=script&lang=js\"\nexport * from \"./DetailText.vue?vue&type=script&lang=js\"\nimport style0 from \"./DetailText.vue?vue&type=style&index=0&id=348d5cf1&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"348d5cf1\",\n null\n \n)\n\nexport default component.exports","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","export * from \"-!../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./IconMessage.vue?vue&type=style&index=0&id=01996ade&prod&lang=scss&scoped=true\"","import Popper from 'popper.js';\nimport { ResizeObserver } from 'vue-resize';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nvar _listCacheClear = listCacheClear;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nvar eq_1 = eq;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq_1(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nvar _assocIndexOf = assocIndexOf;\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nvar _listCacheDelete = listCacheDelete;\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nvar _listCacheGet = listCacheGet;\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return _assocIndexOf(this.__data__, key) > -1;\n}\n\nvar _listCacheHas = listCacheHas;\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nvar _listCacheSet = listCacheSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = _listCacheClear;\nListCache.prototype['delete'] = _listCacheDelete;\nListCache.prototype.get = _listCacheGet;\nListCache.prototype.has = _listCacheHas;\nListCache.prototype.set = _listCacheSet;\n\nvar _ListCache = ListCache;\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new _ListCache;\n this.size = 0;\n}\n\nvar _stackClear = stackClear;\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nvar _stackDelete = stackDelete;\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nvar _stackGet = stackGet;\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nvar _stackHas = stackHas;\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\nvar _freeGlobal = freeGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = _freeGlobal || freeSelf || Function('return this')();\n\nvar _root = root;\n\n/** Built-in value references. */\nvar Symbol$1 = _root.Symbol;\n\nvar _Symbol = Symbol$1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nvar _getRawTag = getRawTag;\n\n/** Used for built-in method references. */\nvar objectProto$1 = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString$1 = objectProto$1.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString$1.call(value);\n}\n\nvar _objectToString = objectToString;\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag$1 && symToStringTag$1 in Object(value))\n ? _getRawTag(value)\n : _objectToString(value);\n}\n\nvar _baseGetTag = baseGetTag;\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nvar isObject_1 = isObject;\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject_1(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = _baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nvar isFunction_1 = isFunction;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = _root['__core-js_shared__'];\n\nvar _coreJsData = coreJsData;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nvar _isMasked = isMasked;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nvar _toSource = toSource;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto$1 = Function.prototype,\n objectProto$2 = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString$1 = funcProto$1.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$1 = objectProto$2.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString$1.call(hasOwnProperty$1).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject_1(value) || _isMasked(value)) {\n return false;\n }\n var pattern = isFunction_1(value) ? reIsNative : reIsHostCtor;\n return pattern.test(_toSource(value));\n}\n\nvar _baseIsNative = baseIsNative;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nvar _getValue = getValue;\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = _getValue(object, key);\n return _baseIsNative(value) ? value : undefined;\n}\n\nvar _getNative = getNative;\n\n/* Built-in method references that are verified to be native. */\nvar Map = _getNative(_root, 'Map');\n\nvar _Map = Map;\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = _getNative(Object, 'create');\n\nvar _nativeCreate = nativeCreate;\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = _nativeCreate ? _nativeCreate(null) : {};\n this.size = 0;\n}\n\nvar _hashClear = hashClear;\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nvar _hashDelete = hashDelete;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto$3 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$2 = objectProto$3.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (_nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty$2.call(data, key) ? data[key] : undefined;\n}\n\nvar _hashGet = hashGet;\n\n/** Used for built-in method references. */\nvar objectProto$4 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$3 = objectProto$4.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$3.call(data, key);\n}\n\nvar _hashHas = hashHas;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED$1 = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (_nativeCreate && value === undefined) ? HASH_UNDEFINED$1 : value;\n return this;\n}\n\nvar _hashSet = hashSet;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = _hashClear;\nHash.prototype['delete'] = _hashDelete;\nHash.prototype.get = _hashGet;\nHash.prototype.has = _hashHas;\nHash.prototype.set = _hashSet;\n\nvar _Hash = Hash;\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new _Hash,\n 'map': new (_Map || _ListCache),\n 'string': new _Hash\n };\n}\n\nvar _mapCacheClear = mapCacheClear;\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nvar _isKeyable = isKeyable;\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return _isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nvar _getMapData = getMapData;\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = _getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nvar _mapCacheDelete = mapCacheDelete;\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return _getMapData(this, key).get(key);\n}\n\nvar _mapCacheGet = mapCacheGet;\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return _getMapData(this, key).has(key);\n}\n\nvar _mapCacheHas = mapCacheHas;\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = _getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nvar _mapCacheSet = mapCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = _mapCacheClear;\nMapCache.prototype['delete'] = _mapCacheDelete;\nMapCache.prototype.get = _mapCacheGet;\nMapCache.prototype.has = _mapCacheHas;\nMapCache.prototype.set = _mapCacheSet;\n\nvar _MapCache = MapCache;\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof _ListCache) {\n var pairs = data.__data__;\n if (!_Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new _MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nvar _stackSet = stackSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new _ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = _stackClear;\nStack.prototype['delete'] = _stackDelete;\nStack.prototype.get = _stackGet;\nStack.prototype.has = _stackHas;\nStack.prototype.set = _stackSet;\n\nvar _Stack = Stack;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED$2 = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED$2);\n return this;\n}\n\nvar _setCacheAdd = setCacheAdd;\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nvar _setCacheHas = setCacheHas;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new _MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = _setCacheAdd;\nSetCache.prototype.has = _setCacheHas;\n\nvar _SetCache = SetCache;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nvar _arraySome = arraySome;\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nvar _cacheHas = cacheHas;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!_arraySome(other, function(othValue, othIndex) {\n if (!_cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nvar _equalArrays = equalArrays;\n\n/** Built-in value references. */\nvar Uint8Array = _root.Uint8Array;\n\nvar _Uint8Array = Uint8Array;\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nvar _mapToArray = mapToArray;\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nvar _setToArray = setToArray;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$1 = 1,\n COMPARE_UNORDERED_FLAG$1 = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol ? _Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq_1(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = _mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1;\n convert || (convert = _setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG$1;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nvar _equalByTag = equalByTag;\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nvar _arrayPush = arrayPush;\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nvar isArray_1 = isArray;\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray_1(object) ? result : _arrayPush(result, symbolsFunc(object));\n}\n\nvar _baseGetAllKeys = baseGetAllKeys;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nvar _arrayFilter = arrayFilter;\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nvar stubArray_1 = stubArray;\n\n/** Used for built-in method references. */\nvar objectProto$5 = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto$5.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray_1 : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return _arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nvar _getSymbols = getSymbols;\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nvar _baseTimes = baseTimes;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nvar isObjectLike_1 = isObjectLike;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike_1(value) && _baseGetTag(value) == argsTag;\n}\n\nvar _baseIsArguments = baseIsArguments;\n\n/** Used for built-in method references. */\nvar objectProto$6 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$4 = objectProto$6.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = _baseIsArguments(function() { return arguments; }()) ? _baseIsArguments : function(value) {\n return isObjectLike_1(value) && hasOwnProperty$4.call(value, 'callee') &&\n !propertyIsEnumerable$1.call(value, 'callee');\n};\n\nvar isArguments_1 = isArguments;\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nvar stubFalse_1 = stubFalse;\n\nvar isBuffer_1 = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse_1;\n\nmodule.exports = isBuffer;\n});\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nvar _isIndex = isIndex;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER$1 = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;\n}\n\nvar isLength_1 = isLength;\n\n/** `Object#toString` result references. */\nvar argsTag$1 = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag$1 = '[object Boolean]',\n dateTag$1 = '[object Date]',\n errorTag$1 = '[object Error]',\n funcTag$1 = '[object Function]',\n mapTag$1 = '[object Map]',\n numberTag$1 = '[object Number]',\n objectTag = '[object Object]',\n regexpTag$1 = '[object RegExp]',\n setTag$1 = '[object Set]',\n stringTag$1 = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag$1 = '[object ArrayBuffer]',\n dataViewTag$1 = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag$1] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] =\ntypedArrayTags[dataViewTag$1] = typedArrayTags[dateTag$1] =\ntypedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] =\ntypedArrayTags[mapTag$1] = typedArrayTags[numberTag$1] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag$1] =\ntypedArrayTags[setTag$1] = typedArrayTags[stringTag$1] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike_1(value) &&\n isLength_1(value.length) && !!typedArrayTags[_baseGetTag(value)];\n}\n\nvar _baseIsTypedArray = baseIsTypedArray;\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nvar _baseUnary = baseUnary;\n\nvar _nodeUtil = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && _freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n});\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = _nodeUtil && _nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsTypedArray;\n\nvar isTypedArray_1 = isTypedArray;\n\n/** Used for built-in method references. */\nvar objectProto$7 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$5 = objectProto$7.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray_1(value),\n isArg = !isArr && isArguments_1(value),\n isBuff = !isArr && !isArg && isBuffer_1(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray_1(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? _baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty$5.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n _isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _arrayLikeKeys = arrayLikeKeys;\n\n/** Used for built-in method references. */\nvar objectProto$8 = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$8;\n\n return value === proto;\n}\n\nvar _isPrototype = isPrototype;\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nvar _overArg = overArg;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = _overArg(Object.keys, Object);\n\nvar _nativeKeys = nativeKeys;\n\n/** Used for built-in method references. */\nvar objectProto$9 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$6 = objectProto$9.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!_isPrototype(object)) {\n return _nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty$6.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _baseKeys = baseKeys;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength_1(value.length) && !isFunction_1(value);\n}\n\nvar isArrayLike_1 = isArrayLike;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike_1(object) ? _arrayLikeKeys(object) : _baseKeys(object);\n}\n\nvar keys_1 = keys;\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return _baseGetAllKeys(object, keys_1, _getSymbols);\n}\n\nvar _getAllKeys = getAllKeys;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$2 = 1;\n\n/** Used for built-in method references. */\nvar objectProto$a = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$7 = objectProto$a.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2,\n objProps = _getAllKeys(object),\n objLength = objProps.length,\n othProps = _getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty$7.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nvar _equalObjects = equalObjects;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = _getNative(_root, 'DataView');\n\nvar _DataView = DataView;\n\n/* Built-in method references that are verified to be native. */\nvar Promise$1 = _getNative(_root, 'Promise');\n\nvar _Promise = Promise$1;\n\n/* Built-in method references that are verified to be native. */\nvar Set = _getNative(_root, 'Set');\n\nvar _Set = Set;\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = _getNative(_root, 'WeakMap');\n\nvar _WeakMap = WeakMap;\n\n/** `Object#toString` result references. */\nvar mapTag$2 = '[object Map]',\n objectTag$1 = '[object Object]',\n promiseTag = '[object Promise]',\n setTag$2 = '[object Set]',\n weakMapTag$1 = '[object WeakMap]';\n\nvar dataViewTag$2 = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = _toSource(_DataView),\n mapCtorString = _toSource(_Map),\n promiseCtorString = _toSource(_Promise),\n setCtorString = _toSource(_Set),\n weakMapCtorString = _toSource(_WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = _baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2) ||\n (_Map && getTag(new _Map) != mapTag$2) ||\n (_Promise && getTag(_Promise.resolve()) != promiseTag) ||\n (_Set && getTag(new _Set) != setTag$2) ||\n (_WeakMap && getTag(new _WeakMap) != weakMapTag$1)) {\n getTag = function(value) {\n var result = _baseGetTag(value),\n Ctor = result == objectTag$1 ? value.constructor : undefined,\n ctorString = Ctor ? _toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag$2;\n case mapCtorString: return mapTag$2;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag$2;\n case weakMapCtorString: return weakMapTag$1;\n }\n }\n return result;\n };\n}\n\nvar _getTag = getTag;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$3 = 1;\n\n/** `Object#toString` result references. */\nvar argsTag$2 = '[object Arguments]',\n arrayTag$1 = '[object Array]',\n objectTag$2 = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto$b = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$8 = objectProto$b.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray_1(object),\n othIsArr = isArray_1(other),\n objTag = objIsArr ? arrayTag$1 : _getTag(object),\n othTag = othIsArr ? arrayTag$1 : _getTag(other);\n\n objTag = objTag == argsTag$2 ? objectTag$2 : objTag;\n othTag = othTag == argsTag$2 ? objectTag$2 : othTag;\n\n var objIsObj = objTag == objectTag$2,\n othIsObj = othTag == objectTag$2,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer_1(object)) {\n if (!isBuffer_1(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new _Stack);\n return (objIsArr || isTypedArray_1(object))\n ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) {\n var objIsWrapped = objIsObj && hasOwnProperty$8.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty$8.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new _Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new _Stack);\n return _equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nvar _baseIsEqualDeep = baseIsEqualDeep;\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike_1(value) && !isObjectLike_1(other))) {\n return value !== value && other !== other;\n }\n return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nvar _baseIsEqual = baseIsEqual;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return _baseIsEqual(value, other);\n}\n\nvar isEqual_1 = isEqual;\n\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
    ',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
    ']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread2({}, DEFAULT_OPTIONS, {}, _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual_1(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', this.hide);\n tooltipNode.addEventListener('click', this.hide);\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this2 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n _this2.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this3._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this3.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this3.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this3._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this3._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this3._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this4 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread2({}, options.popperOptions, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread2({}, popperOptions.modifiers, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this4._isDisposed && _this4.popperInstance) {\n _this4.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this4._isDisposed) {\n _this4._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this4.dispose();\n }\n });\n } else {\n _this4.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this5 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n this.popperInstance.disableEventListeners();\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this5._tooltipNode) {\n _this5._tooltipNode.removeEventListener('mouseenter', _this5.hide);\n\n _this5._tooltipNode.removeEventListener('click', _this5.hide); // Don't remove popper instance, just the HTML element\n\n\n _this5._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this6 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this6.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this7 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this7.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this7.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this7._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this7._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this7._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this7._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this7._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this8 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this8._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this9._isOpen === false) {\n return;\n }\n\n if (!_this9._tooltipNode.ownerDocument.body.contains(_this9._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this9._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this9._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
    ',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread2({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread2({\n title: content\n }, getOptions(_objectSpread2({}, value, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value,\n oldValue = _ref.oldValue,\n modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread2({}, value, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event,\n _ref2$skipDelay = _ref2.skipDelay,\n _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event,\n _ref3$skipDelay = _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread2({}, this.popperOptions, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread2({}, popperOptions.modifiers, {\n arrow: _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.popoverId,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nvar defineProperty = (function() {\n try {\n var func = _getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nvar _defineProperty$1 = defineProperty;\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && _defineProperty$1) {\n _defineProperty$1(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nvar _baseAssignValue = baseAssignValue;\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq_1(object[key], value)) ||\n (value === undefined && !(key in object))) {\n _baseAssignValue(object, key, value);\n }\n}\n\nvar _assignMergeValue = assignMergeValue;\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nvar _createBaseFor = createBaseFor;\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = _createBaseFor();\n\nvar _baseFor = baseFor;\n\nvar _cloneBuffer = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n});\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new _Uint8Array(result).set(new _Uint8Array(arrayBuffer));\n return result;\n}\n\nvar _cloneArrayBuffer = cloneArrayBuffer;\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? _cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nvar _cloneTypedArray = cloneTypedArray;\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nvar _copyArray = copyArray;\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject_1(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nvar _baseCreate = baseCreate;\n\n/** Built-in value references. */\nvar getPrototype = _overArg(Object.getPrototypeOf, Object);\n\nvar _getPrototype = getPrototype;\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !_isPrototype(object))\n ? _baseCreate(_getPrototype(object))\n : {};\n}\n\nvar _initCloneObject = initCloneObject;\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike_1(value) && isArrayLike_1(value);\n}\n\nvar isArrayLikeObject_1 = isArrayLikeObject;\n\n/** `Object#toString` result references. */\nvar objectTag$3 = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto$2 = Function.prototype,\n objectProto$c = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString$2 = funcProto$2.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$9 = objectProto$c.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString$2.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike_1(value) || _baseGetTag(value) != objectTag$3) {\n return false;\n }\n var proto = _getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty$9.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString$2.call(Ctor) == objectCtorString;\n}\n\nvar isPlainObject_1 = isPlainObject;\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nvar _safeGet = safeGet;\n\n/** Used for built-in method references. */\nvar objectProto$d = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$a = objectProto$d.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty$a.call(object, key) && eq_1(objValue, value)) ||\n (value === undefined && !(key in object))) {\n _baseAssignValue(object, key, value);\n }\n}\n\nvar _assignValue = assignValue;\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n _baseAssignValue(object, key, newValue);\n } else {\n _assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nvar _copyObject = copyObject;\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _nativeKeysIn = nativeKeysIn;\n\n/** Used for built-in method references. */\nvar objectProto$e = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$b = objectProto$e.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject_1(object)) {\n return _nativeKeysIn(object);\n }\n var isProto = _isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty$b.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _baseKeysIn = baseKeysIn;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike_1(object) ? _arrayLikeKeys(object, true) : _baseKeysIn(object);\n}\n\nvar keysIn_1 = keysIn;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return _copyObject(value, keysIn_1(value));\n}\n\nvar toPlainObject_1 = toPlainObject;\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = _safeGet(object, key),\n srcValue = _safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n _assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray_1(srcValue),\n isBuff = !isArr && isBuffer_1(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray_1(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray_1(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject_1(objValue)) {\n newValue = _copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = _cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = _cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject_1(srcValue) || isArguments_1(srcValue)) {\n newValue = objValue;\n if (isArguments_1(objValue)) {\n newValue = toPlainObject_1(objValue);\n }\n else if (!isObject_1(objValue) || isFunction_1(objValue)) {\n newValue = _initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n _assignMergeValue(object, key, newValue);\n}\n\nvar _baseMergeDeep = baseMergeDeep;\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n _baseFor(source, function(srcValue, key) {\n stack || (stack = new _Stack);\n if (isObject_1(srcValue)) {\n _baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(_safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n _assignMergeValue(object, key, newValue);\n }\n }, keysIn_1);\n}\n\nvar _baseMerge = baseMerge;\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nvar identity_1 = identity;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nvar _apply = apply;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return _apply(func, this, otherArgs);\n };\n}\n\nvar _overRest = overRest;\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nvar constant_1 = constant;\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !_defineProperty$1 ? identity_1 : function(func, string) {\n return _defineProperty$1(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant_1(string),\n 'writable': true\n });\n};\n\nvar _baseSetToString = baseSetToString;\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nvar _shortOut = shortOut;\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = _shortOut(_baseSetToString);\n\nvar _setToString = setToString;\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return _setToString(_overRest(func, start, identity_1), func + '');\n}\n\nvar _baseRest = baseRest;\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject_1(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike_1(object) && _isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq_1(object[index], value);\n }\n return false;\n}\n\nvar _isIterateeCall = isIterateeCall;\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return _baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && _isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nvar _createAssigner = createAssigner;\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = _createAssigner(function(object, source, srcIndex) {\n _baseMerge(object, source, srcIndex);\n});\n\nvar merge_1 = merge;\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css = \".resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge_1(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('v-popover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCancelModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCancelModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ResourceCancelModal.vue?vue&type=template&id=7090e1b4&scoped=true\"\nimport script from \"./ResourceCancelModal.vue?vue&type=script&lang=js\"\nexport * from \"./ResourceCancelModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ResourceCancelModal.vue?vue&type=style&index=0&id=7090e1b4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7090e1b4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CruResourceFooter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CruResourceFooter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CruResourceFooter.vue?vue&type=template&id=3e3d0b47\"\nimport script from \"./CruResourceFooter.vue?vue&type=script&lang=js\"\nexport * from \"./CruResourceFooter.vue?vue&type=script&lang=js\"\nimport style0 from \"./CruResourceFooter.vue?vue&type=style&index=0&id=3e3d0b47&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"wizard\",staticClass:\"outer-container\"},[(!_vm.stepsLoaded)?_c('Loading',{attrs:{\"mode\":\"relative\"}}):_vm._e(),_c('div',{staticClass:\"outer-container\",class:{'hide': !_vm.stepsLoaded}},[_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"title\"},[(_vm.showBanner)?_c('div',{staticClass:\"top choice-banner\"},[(!!_vm.bannerImage || !!_vm.bannerTitle)?_vm._t(\"bannerTitle\",function(){return [_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.initialTitle || _vm.activeStepIndex > 0),expression:\"initialTitle || activeStepIndex > 0\"}],staticClass:\"title\"},[_vm._t(\"bannerTitleImage\",function(){return [(_vm.bannerImage)?_c('div',{staticClass:\"round-image\"},[_c('LazyImage',{staticClass:\"logo\",attrs:{\"src\":_vm.bannerImage}})],1):_vm._e()]}),_c('div',{staticClass:\"subtitle\"},[(_vm.bannerTitle)?_c('h2',[_vm._v(\" \"+_vm._s(_vm.bannerTitle)+\" \")]):_vm._e(),(_vm.bannerTitleSubtext)?_c('span',{staticClass:\"subtext\"},[_vm._v(_vm._s(_vm.bannerTitleSubtext))]):_vm._e()])],2)]}):_vm._e(),(_vm.activeStep && _vm.showSteps)?_c('div',{staticClass:\"subtitle\"},[_c('h2',[_vm._v(_vm._s(!!_vm.headerMode ? _vm.t(`wizard.${_vm.headerMode}`) : _vm.t(`asyncButton.${_vm.finishMode}.action`))+\": \"+_vm._s(_vm.t('wizard.step', {number:_vm.activeStepIndex+1})))]),_vm._t(\"bannerSubtext\",function(){return [(_vm.activeStep.subtext !== null)?_c('span',{staticClass:\"subtext\"},[_vm._v(_vm._s(_vm.activeStep.subtext || _vm.activeStep.label))]):_vm._e()]})],2):_vm._e()],2):_vm._e(),_c('div',{staticClass:\"step-sequence\"},[(_vm.showSteps)?_c('ul',{staticClass:\"steps\",attrs:{\"tabindex\":\"0\"},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;$event.stopPropagation();return _vm.selectNext(1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;$event.stopPropagation();return _vm.selectNext(-1)}]}},[_vm._l((_vm.visibleSteps),function(step,idx){return [_c('li',{key:step.name+'li',class:{step: true, active: step.name === _vm.activeStep.name, disabled: !_vm.isAvailable(step)},attrs:{\"id\":step.name,\"role\":\"presentation\"}},[_c('span',{staticClass:\"controls\",attrs:{\"aria-controls\":'step' + idx+1,\"aria-selected\":step.name === _vm.activeStep.name,\"role\":\"tab\"},on:{\"click\":function($event){$event.preventDefault();return _vm.goToStep(idx+1, true)}}},[_c('span',{staticClass:\"icon icon-lg\",class:{'icon-dot': step.name === _vm.activeStep.name, 'icon-dot-open':step.name !== _vm.activeStep.name}}),_c('span',[_vm._v(\" \"+_vm._s(step.label)+\" \")])])]),(idx!==_vm.visibleSteps.length-1)?_c('div',{key:step.name,staticClass:\"divider\"}):_vm._e()]})],2):_vm._e()])])]),_vm._t(\"stepContainer\",function(){return [_vm._l((_vm.steps),function(step){return [(step.name === _vm.activeStep.name || step.hidden)?_c('div',{key:step.name,staticClass:\"step-container__step\",class:{'hide': step.name !== _vm.activeStep.name && step.hidden}},[_vm._t(step.name,null,{\"step\":step})],2):_vm._e()]})]},{\"activeStep\":_vm.activeStep}),_vm._t(\"controlsContainer\",function(){return [_vm._l((_vm.errorStrings),function(err,idx){return _c('div',{key:idx},[_c('Banner',{staticClass:\"footer-error\",attrs:{\"color\":\"error\",\"label\":err,\"closable\":true},on:{\"close\":function($event){return _vm.errors.splice(idx, 1)}}})],1)}),_c('div',{staticClass:\"controls-row pt-20\",attrs:{\"id\":\"wizard-footer-controls\"}},[_vm._t(\"cancel\",function(){return [_c('button',{staticClass:\"btn role-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_c('t',{attrs:{\"k\":\"generic.cancel\"}})],1)]},{\"cancel\":_vm.cancel}),_c('div',{staticClass:\"controls-steps\"},[(_vm.showPrevious)?_vm._t(\"back\",function(){return [_c('button',{staticClass:\"btn role-secondary\",attrs:{\"disabled\":!_vm.canPrevious || (!_vm.editFirstStep && _vm.activeStepIndex===1),\"type\":\"button\"},on:{\"click\":function($event){return _vm.back()}}},[_c('t',{attrs:{\"k\":\"wizard.previous\"}})],1)]},{\"back\":_vm.back}):_vm._e(),(_vm.activeStepIndex === _vm.visibleSteps.length-1)?_vm._t(\"finish\",function(){return [_c('AsyncButton',{attrs:{\"disabled\":!_vm.activeStep.ready,\"mode\":_vm.finishMode},on:{\"click\":_vm.finish}})]},{\"finish\":_vm.finish}):_vm._t(\"next\",function(){return [_c('button',{class:_vm.nextButtonStyle,attrs:{\"disabled\":!_vm.canNext,\"type\":\"button\"},on:{\"click\":function($event){return _vm.next()}}},[_c('t',{attrs:{\"k\":_vm.nextButtonLabel}})],1)]},{\"next\":_vm.next})],2)],2)]},{\"showPrevious\":_vm.showPrevious,\"next\":_vm.next,\"back\":_vm.back,\"canNext\":_vm.canNext,\"activeStepIndex\":_vm.activeStepIndex,\"visibleSteps\":_vm.visibleSteps,\"errorStrings\":_vm.errorStrings,\"finish\":_vm.finish,\"cancel\":_vm.cancel,\"activeStep\":_vm.activeStep})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Wizard.vue?vue&type=template&id=41c6a168&scoped=true\"\nimport script from \"./Wizard.vue?vue&type=script&lang=js\"\nexport * from \"./Wizard.vue?vue&type=script&lang=js\"\nimport style0 from \"./Wizard.vue?vue&type=style&index=0&id=41c6a168&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41c6a168\",\n null\n \n)\n\nexport default component.exports","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n $emit('error', e)\"\n >\n \n \n \n \n \n\n\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CruResource.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--14-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--2-0!../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CruResource.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CruResource.vue?vue&type=template&id=8082eba2&scoped=true\"\nimport script from \"./CruResource.vue?vue&type=script&lang=js\"\nexport * from \"./CruResource.vue?vue&type=script&lang=js\"\nimport style0 from \"./CruResource.vue?vue&type=style&index=0&id=8082eba2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8082eba2\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.vendors~edit.js b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.vendors~edit.js new file mode 100644 index 0000000..1511001 --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.vendors~edit.js @@ -0,0 +1,2 @@ +(("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]=("undefined"!==typeof self?self:this)["webpackJsonpelemental_1_3_0"]||[]).push([[5],{"04b6":function(e,t,a){"use strict";a("ea3f")},"086b":function(e,t,a){"use strict";a("72ab")},"0cb2":function(e,t,a){"use strict";var i=function(){var e=this,t=e._self._c;return t("div",{class:{"side-tabs":!!e.sideTabs,"tabs-only":e.tabsOnly}},[e.hideTabs?e._e():t("ul",{ref:"tablist",staticClass:"tabs",class:{clearfix:!e.sideTabs,vertical:e.sideTabs,horizontal:!e.sideTabs},attrs:{role:"tablist",tabindex:"0","data-testid":"tabbed-block"},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:(t.preventDefault(),e.selectNext(1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:(t.preventDefault(),e.selectNext(-1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.selectNext(1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.selectNext(-1))}]}},[e._l(e.sortedTabs,(function(a){return t("li",{key:a.name,class:{tab:!0,active:a.active,disabled:a.disabled,error:a.error},attrs:{id:a.name,"data-testid":a.name,role:"presentation"}},[t("a",{attrs:{"data-testid":"btn-"+a.name,"aria-controls":"#"+a.name,"aria-selected":a.active,role:"tab"},on:{click:function(t){return t.preventDefault(),e.select(a.name,t)}}},[t("span",[e._v(e._s(a.labelDisplay))]),a.badge?t("span",{staticClass:"tab-badge"},[e._v(e._s(a.badge))]):e._e(),e.hasIcon(a)?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.t("validation.tab"),expression:"t('validation.tab')"}],staticClass:"conditions-alert-icon icon-error"}):e._e()])])})),e.sideTabs&&!e.sortedTabs.length?t("li",{staticClass:"tab disabled"},[t("a",{attrs:{href:"#"},on:{click:function(e){e.preventDefault()}}},[e._v("(None)")])]):e._e(),e.sideTabs&&e.showTabsAddRemove?t("ul",{staticClass:"tab-list-footer"},[t("li",[t("button",{staticClass:"btn bg-transparent",attrs:{type:"button"},on:{click:e.tabAddClicked}},[t("i",{staticClass:"icon icon-plus"})]),t("button",{staticClass:"btn bg-transparent",attrs:{type:"button",disabled:!e.sortedTabs.length},on:{click:e.tabRemoveClicked}},[t("i",{staticClass:"icon icon-minus"})])])]):e._e(),e._t("tab-row-extras")],2),t("div",{class:{"tab-container":!!e.tabs.length||!!e.sideTabs,"no-content":e.noContent,"tab-container--flat":!!e.flat}},[e._t("default")],2)])},s=[],l=a("a1d8"),n=a.n(l),o=a("330a"),r=a.n(o),d=a("bddd"),c=a("1d19"),u=a("1659"),p=a.n(u),h={name:"Tabbed",props:{defaultTab:{type:String,default:null},sideTabs:{type:Boolean,default:!1},hideSingleTab:{type:Boolean,default:!1},showTabsAddRemove:{type:Boolean,default:!1},scrollOnChange:{type:Boolean,default:!1},useHash:{type:Boolean,default:!0},noContent:{type:Boolean,default:!1},flat:{type:Boolean,default:!1},tabsOnly:{type:Boolean,default:!1}},provide(){const e=this.tabs;return{sideTabs:this.sideTabs,addTab(t){const a=Object(d["e"])(e,"name",t.name);a&&Object(d["i"])(e,a),Object(d["a"])(e,t)},removeTab(t){Object(d["i"])(e,t)}}},data(){return{tabs:[],activeTabName:null}},computed:{sortedTabs(){return Object(c["a"])(this.tabs,["weight:desc","labelDisplay","name"])},hideTabs(){return this.hideSingleTab&&1===this.sortedTabs.length}},watch:{sortedTabs(e){const{defaultTab:t,useHash:a}=this,i=e.find(e=>e.active),s=a?this.$route.hash:void 0,l=a?s.slice(1):void 0,o=e.find(e=>e.name===l&&!e.active),d=n()(e)||null;r()(i)?a&&!r()(o)?this.select(o.name):r()(t)||r()(e.find(e=>e.name===t))?null!==d&&void 0!==d&&d.name&&this.select(d.name):this.select(t):a&&(null===i||void 0===i?void 0:i.name)===l&&this.select(i.name)}},mounted(){this.useHash&&window.addEventListener("hashchange",this.hashChange)},unmounted(){this.useHash&&window.removeEventListener("hashchange",this.hashChange)},methods:{hasIcon(e){return e.displayAlertIcon||e.error&&!e.active},hashChange(){if(!this.scrollOnChange){const e=document.getElementsByTagName("main")[0];e&&(e.scrollTop=0)}this.select(this.$route.hash)},find(e){return this.sortedTabs.find(t=>t.name===e)},select(e){const{sortedTabs:t}=this,a=this.find(e),i="#"+e;if(a&&!a.disabled){if(this.useHash){const{$route:{hash:e},$router:{currentRoute:t}}=this;if(this.useHash&&e!==i){const e={...t};e.hash=i,this.$router.replace(e)}}for(const e of t)e.active=e.name===a.name;this.$emit("changed",{tab:a,selectedName:a.name}),this.activeTabName=a.name}},selectNext(e){const{sortedTabs:t}=this,a=t.findIndex(e=>e.active),i=l(a,e,t.length),s=t[i].name;function l(e,t,a){const i=e+t;return i>=a?0:i<=0?a-1:i}this.select(s),this.$nextTick(()=>{this.$refs.tablist.focus()})},tabAddClicked(){const e=p()(this.tabs,e=>e.active);this.$emit("addTab",e)},tabRemoveClicked(){const e=p()(this.tabs,e=>e.active);this.$emit("removeTab",e)}}},b=h,f=(a("297a"),a("d802")),v=Object(f["a"])(b,i,s,!1,null,"2a058e46",null);t["a"]=v.exports},"0e6f":function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".labeled-input.view input[data-v-387a3779]{text-overflow:ellipsis}.hideArrows input[data-v-387a3779]::-webkit-inner-spin-button,.hideArrows input[data-v-387a3779]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hideArrows input[type=number][data-v-387a3779]{-moz-appearance:textfield}",""]),e.exports=t},1659:function(e,t,a){var i=a("0ee5"),s=a("4b7a"),l=a("9b66"),n=Math.max;function o(e,t,a){var o=null==e?0:e.length;if(!o)return-1;var r=null==a?0:l(a);return r<0&&(r=n(o+r,0)),i(e,s(t,3),r)}e.exports=o},"1a5f":function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a=t&&e<=a},r=function(e,t,a){var i=e.split("-");switch(i.length){case 1:return l(e)||o(s(e),t,a);case 2:var n=i.map((function(e){return s(e)})),r=n[0],d=n[1];return r<=d&&o(r,t,a)&&o(d,t,a);default:return!1}},d=function(e){return void 0===e||-1===e.search(/[^\d]/)},c=function(e,t,a){if(-1!==e.search(/[^\d-,\/*]/))return!1;var i=e.split(",");return i.every((function(e){var i=e.split("/");if(e.trim().endsWith("/"))return!1;if(i.length>2)return!1;var s=i[0],l=i[1];return r(s,t,a)&&d(l)}))},u=function(e){return c(e,0,59)},p=function(e){return c(e,0,59)},h=function(e){return c(e,0,23)},b=function(e,t){return t&&n(e)||c(e,1,31)},f={jan:"1",feb:"2",mar:"3",apr:"4",may:"5",jun:"6",jul:"7",aug:"8",sep:"9",oct:"10",nov:"11",dec:"12"},v=function(e,t){if(-1!==e.search(/\/[a-zA-Z]/))return!1;if(t){var a=e.toLowerCase().replace(/[a-z]{3}/g,(function(e){return void 0===f[e]?e:f[e]}));return c(a,1,12)}return c(e,1,12)},m={sun:"0",mon:"1",tue:"2",wed:"3",thu:"4",fri:"5",sat:"6"},y=function(e,t,a,i){if(a&&n(e))return!0;if(!a&&n(e))return!1;if(-1!==e.search(/\/[a-zA-Z]/))return!1;if(t){var s=e.toLowerCase().replace(/[a-z]{3}/g,(function(e){return void 0===m[e]?e:m[e]}));return c(s,0,i?7:6)}return c(e,0,i?7:6)},g=function(e,t,a){return!(a&&n(e)&&n(t))},x=function(e){return e.trim().split(/\s+/)},k={alias:!1,seconds:!1,allowBlankDay:!1,allowSevenAsSunday:!1};t.isValidCron=function(e,t){t=i(i({},k),t);var a=x(e);if(a.length>(t.seconds?6:5)||a.length<5)return!1;var s=[];if(6===a.length){var l=a.shift();l&&s.push(u(l))}var n=a[0],o=a[1],r=a[2],d=a[3],c=a[4];return s.push(p(n)),s.push(h(o)),s.push(b(r,t.allowBlankDay)),s.push(v(d,t.alias)),s.push(y(c,t.alias,t.allowBlankDay,t.allowSevenAsSunday)),s.push(g(r,c,t.allowBlankDay)),s.every(Boolean)}},"1e30":function(e,t,a){"use strict";a("6d9b")},"22e2":function(e,t,a){"use strict";a("8d05")},2780:function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".validation-message{padding:5px;position:absolute;bottom:-35px}",""]),e.exports=t},"297a":function(e,t,a){"use strict";a("ad6a")},"2bf5":function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".tab-header[data-v-667bdd63]{display:flex;justify-content:space-between;margin-bottom:15px;align-items:center}.tab-header h2[data-v-667bdd63]{margin:0}",""]),e.exports=t},3673:function(e,t,a){var i=a("6b14");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("0884dad8",i,!0,{sourceMap:!1,shadowMode:!1})},"38de":function(e,t,a){"use strict";var i=function(){var e=this,t=e._self._c;return t("section",{directives:[{name:"show",rawName:"v-show",value:e.active,expression:"active"}],attrs:{id:e.name,"aria-hidden":!e.active,role:"tabpanel"}},[e.shouldShowHeader?t("div",{staticClass:"tab-header"},[t("h2",[e._v(" "+e._s(e.labelDisplay)+" "),e.tooltip?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.tooltip,expression:"tooltip"}],staticClass:"icon icon-info icon-lg"}):e._e()]),e._t("tab-header-right")],2):e._e(),e._t("default",null,null,{active:e.active})],2)},s=[],l={inject:["addTab","removeTab","sideTabs"],props:{label:{default:null,type:String},labelKey:{default:null,type:String},name:{required:!0,type:String},tooltip:{default:null,type:[String,Object]},weight:{default:0,required:!1,type:Number},showHeader:{type:Boolean,default:null},displayAlertIcon:{type:Boolean,default:null},error:{type:Boolean,default:!1},badge:{default:0,required:!1,type:Number}},data(){return{active:null}},computed:{labelDisplay(){return this.labelKey?this.$store.getters["i18n/t"](this.labelKey):this.label?this.label:this.name},shouldShowHeader(){return null!==this.showHeader?this.showHeader:this.sideTabs||!1}},watch:{active(e){e&&this.$emit("active")}},mounted(){this.addTab(this)},beforeDestroy(){this.removeTab(this)}},n=l,o=(a("d6d6"),a("d802")),r=Object(o["a"])(n,i,s,!1,null,"667bdd63",null);t["a"]=r.exports},"3c8c":function(e,t,a){"use strict";var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"row mb-20"},[e.namespaced&&!e.nameNsHidden&&e.createNamespace?t("div",{staticClass:"col span-3",attrs:{"data-testid":e.componentTestid+"-namespace-create"}},[t("LabeledInput",{ref:"namespace",attrs:{label:e.t("namespace.label"),placeholder:e.t("namespace.createNamespace"),disabled:e.namespaceReallyDisabled,mode:e.mode,"min-height":30,required:e.nameRequired,rules:e.rules.namespace},model:{value:e.namespace,callback:function(t){e.namespace=t},expression:"namespace"}}),t("button",{attrs:{aria:"Cancel create"},on:{click:e.cancelCreateNamespace}},[t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.t("generic.cancel"),expression:"t('generic.cancel')"}],staticClass:"icon icon-close align-value"})])],1):e._e(),!e.namespaced||e.nameNsHidden||e.createNamespace?e._e():t("div",{staticClass:"col span-3",attrs:{"data-testid":e.componentTestid+"-namespace"}},[t("LabeledSelect",{directives:[{name:"show",rawName:"v-show",value:!e.createNamespace,expression:"!createNamespace"}],attrs:{clearable:!0,options:e.options,disabled:e.namespaceReallyDisabled,searchable:!0,mode:e.mode,multiple:!1,label:e.t("namespace.label"),placeholder:e.t("namespace.selectOrCreate"),rules:e.rules.namespace,required:""},on:{selecting:e.selectNamespace},model:{value:e.namespace,callback:function(t){e.namespace=t},expression:"namespace"}})],1),e.nameNsHidden?e._e():t("div",{staticClass:"col span-3",attrs:{"data-testid":e.componentTestid+"-name"}},[t("LabeledInput",{key:"name",ref:"name",attrs:{label:e.t(e.nameLabel),placeholder:e.t(e.namePlaceholder),disabled:e.nameReallyDisabled,mode:e.mode,"min-height":30,required:e.nameRequired,rules:e.rules.name},model:{value:e.name,callback:function(t){e.name=t},expression:"name"}})],1),t("div",{directives:[{name:"show",rawName:"v-show",value:!e.descriptionHidden,expression:"!descriptionHidden"}],class:["col",e.extraColumns.length>0?"span-3":"span-6"],attrs:{"data-testid":e.componentTestid+"-description"}},[t("LabeledInput",{key:"description",attrs:{mode:e.mode,disabled:e.descriptionDisabled,label:e.t(e.descriptionLabel),placeholder:e.t(e.descriptionPlaceholder),"min-height":30,rules:e.rules.description},model:{value:e.description,callback:function(t){e.description=t},expression:"description"}})],1),e._l(e.extraColumns,(function(a){return t("div",{key:a,class:{col:!0,[e.colSpan]:!0}},[e._t(a)],2)})),e.showSpacer?t("div",{staticClass:"spacer"}):e._e()],2)},s=[],l=a("8bbf"),n=a.n(l),o=a("9ce4"),r=a("e24b"),d=a("1d19"),c=a("907c"),u=a("4ac6"),p=a("da25"),h=a("8e93"),b=a("466b");function f(e){return(e||"").trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}var v={name:"NameNsDescription",components:{LabeledInput:h["a"],LabeledSelect:b["a"]},props:{value:{type:Object,required:!0},mode:{type:String,required:!0},nameNsHidden:{type:Boolean,default:!1},descriptionHidden:{type:Boolean,default:!1},extraColumns:{type:Array,default:()=>[]},nameLabel:{type:String,default:"nameNsDescription.name.label"},nameEditable:{type:Boolean,default:!1},namePlaceholder:{type:String,default:"nameNsDescription.name.placeholder"},nameDisabled:{type:Boolean,default:!1},nameRequired:{type:Boolean,default:!0},nameNormalized:{type:Boolean,default:!0},namespaced:{type:Boolean,default:!0},namespaceFilter:{type:Function,default:null},namespaceMapper:{type:Function,default:null},namespaceType:{type:String,default:c["o"]},namespaceLabel:{type:String,default:"nameNsDescription.namespace.label"},namespacePlaceholder:{type:String,default:"nameNsDescription.namespace.placeholder"},namespaceDisabled:{type:Boolean,default:!1},namespaceNewAllowed:{type:Boolean,default:!1},noDefaultNamespace:{type:Boolean,default:!1},namespacesOverride:{type:Array,default:null},namespaceOptions:{type:Array,default:null},createNamespaceOverride:{type:Boolean,default:!1},descriptionLabel:{type:String,default:"nameNsDescription.description.label"},descriptionPlaceholder:{type:String,default:"nameNsDescription.description.placeholder"},descriptionDisabled:{type:Boolean,default:!1},nameKey:{type:String,default:null},namespaceKey:{type:String,default:null},descriptionKey:{type:String,default:null},forceNamespace:{type:String,default:null},showSpacer:{type:Boolean,default:!0},horizontal:{type:Boolean,default:!0},rules:{default:()=>({namespace:[],name:[],description:[]}),type:Object},componentTestid:{type:String,default:"name-ns-description"}},data(){const e=this.value,t=e.metadata;let a,i,s;var l;(i=this.nameKey?Object(r["h"])(e,this.nameKey):null===t||void 0===t?void 0:t.name,this.namespaced&&(this.forceNamespace?(a=this.forceNamespace,this.updateNamespace(a)):a=this.namespaceKey?Object(r["h"])(e,this.namespaceKey):null===t||void 0===t?void 0:t.namespace,a||this.noDefaultNamespace||(a=this.$store.getters["defaultNamespace"],t&&(t.namespace=a))),this.descriptionKey)?s=Object(r["h"])(e,this.descriptionKey):s=null===t||void 0===t||null===(l=t.annotations)||void 0===l?void 0:l[u["d"]];const n=this.$store.getters["currentStore"](),o=this.$store.getters[n+"/schemaFor"](c["o"]);return{namespace:a,name:i,description:s,createNamespace:!1,nsSchema:o}},computed:{...Object(o["a"])(["currentProduct","currentCluster","namespaces","allowedNamespaces"]),namespaceReallyDisabled(){return!!this.forceNamespace||this.namespaceDisabled||this.mode===p["s"]},nameReallyDisabled(){return this.nameDisabled||this.mode===p["s"]&&!this.nameEditable},options(){let e;if(this.namespacesOverride)e=this.namespacesOverride;else if(this.namespaceOptions)e=(this.namespaceOptions.map(e=>e.name)||[]).sort();else{const t=this.isCreate?this.allowedNamespaces():this.namespaces();e=Object.keys(t)}const t=e.map(e=>({nameDisplay:e,id:e})).map(this.namespaceMapper||(e=>({label:e.nameDisplay,value:e.id}))),a=Object(d["a"])(t,"label");this.forceNamespace&&a.unshift({label:this.forceNamespace,value:this.forceNamespace});const i={label:this.t("namespace.createNamespace"),value:"",kind:"highlighted"},s={label:"divider",disabled:!0,kind:"divider"},l=this.canCreateNamespace||this.createNamespaceOverride?[i,s]:[];return[...l,...a]},isView(){return this.mode===p["z"]},isCreate(){return this.mode===p["q"]},colSpan(){if(!this.horizontal)return"span-8";let e=(this.nameNsHidden?0:2)+(this.descriptionHidden?0:1)+this.extraColumns.length;e=Math.max(2,e);const t=12/e;return"span-"+t},canCreateNamespace(){var e,t;return((null===(e=this.nsSchema)||void 0===e?void 0:e.collectionMethods)||[]).includes("POST")&&(null===(t=this.currentCluster)||void 0===t?void 0:t.canUpdate)}},watch:{name(e){this.normalizeName&&(e=f(e)),this.nameKey?Object(r["k"])(this.value,this.nameKey,e):this.$set(this.value.metadata,"name",e),this.$emit("change")},namespace(e){this.updateNamespace(e),this.$emit("change")},description(e){this.descriptionKey?Object(r["k"])(this.value,this.descriptionKey,e):this.value.setAnnotation(u["d"],e),this.$emit("change")}},mounted(){this.$nextTick(()=>{this.$refs.name&&this.$refs.name.focus()})},methods:{updateNamespace(e){this.forceNamespace&&(e=this.forceNamespace),this.namespaced&&this.$emit("isNamespaceNew",!e||this.options&&!this.options.find(t=>t.value===e)),this.namespaceKey?Object(r["k"])(this.value,this.namespaceKey,e):this.value.metadata.namespace=e},changeNameAndNamespace(e){this.name=(e.text||"").toLowerCase(),this.namespace=e.selected},cancelCreateNamespace(e){var t;this.createNamespace=!1,this.$parent.$emit("createNamespace",!1),this.namespace=this.$store.getters["defaultNamespace"]||(null===(t=this.options.find(e=>!!e.value))||void 0===t?void 0:t.value)},selectNamespace(e){e&&""!==e.value?(this.createNamespace=!1,this.$parent.$emit("createNamespace",!1),this.$emit("isNamespaceNew",!1)):(this.createNamespace=!0,this.$parent.$emit("createNamespace",!0),this.$emit("isNamespaceNew",!0),n.a.nextTick(()=>this.$refs.namespace.focus()))}}},m=v,y=(a("22e2"),a("d802")),g=Object(y["a"])(m,i,s,!1,null,"08979412",null);t["a"]=g.exports},"47ab":function(e,t,a){"use strict";var i=function(){var e=this,t=e._self._c;return t("div",{ref:"select",staticClass:"unlabeled-select",class:{disabled:e.disabled&&!e.isView,focused:e.focused,[e.mode]:!0,[e.status]:e.status,taggable:e.$attrs.taggable,taggable:e.$attrs.multiple},on:{focus:e.focusSearch}},[t("v-select",e._g(e._b({ref:"select-input",staticClass:"inline",class:{"select-input-view":"view"===e.mode},attrs:{autoscroll:!0,"append-to-body":e.appendToBody,"calculate-position":e.positionDropdown,disabled:e.isView||e.disabled,"get-option-key":t=>e.getOptionKey(t),"get-option-label":t=>e.getOptionLabel(t),label:e.optionLabel,options:e.options,"close-on-select":e.closeOnSelect,"map-keydown":e.mappedKeys,placeholder:e.placeholder,reduce:t=>e.reduce(t),searchable:e.isSearchable,selectable:e.selectable,value:null!=e.value?e.value:""},on:{"search:blur":e.onBlur,"search:focus":e.onFocus,open:e.resizeHandler,"option:created":t=>e.$emit("createdListItem",t)},scopedSlots:e._u([{key:"option",fn:function(a){return[t("div",{on:{mousedown:t=>e.onClickOption(a,t)}},[e._v(" "+e._s(a.label)+" ")])]}},e._l(e.$scopedSlots,(function(t,a){return{key:a,fn:function(t){return[e._t(a,null,null,t)]}}}))],null,!0)},"v-select",e.$attrs,!1),e.$listeners)),e.tooltip&&!e.focused?t("LabeledTooltip",{attrs:{hover:e.hoverTooltip,value:e.tooltip,status:e.status}}):e._e(),e.validationMessage?t("LabeledTooltip",{attrs:{hover:e.hoverTooltip,value:e.validationMessage}}):e._e()],1)},s=[],l=a("e24b"),n=a("480e"),o=a("9f16"),r=a("d174"),d=a("e8f0"),c={components:{LabeledTooltip:r["a"]},mixins:[n["a"],o["a"]],props:{appendToBody:{default:!0,type:Boolean},disabled:{default:!1,type:Boolean},getKeyForOption:{default:null,type:Function},mode:{default:"edit",type:String},optionKey:{default:null,type:String},optionLabel:{default:"label",type:String},placement:{default:null,type:String},placeholder:{type:String,default:""},popperOverride:{type:Function,default:null},reduce:{default:e=>e&&"object"===typeof e&&void 0!==e.value?e.value:e,type:Function},tooltip:{type:String,default:null},hoverTooltip:{type:Boolean,default:!0},status:{type:String,default:null},value:{default:null,type:[String,Object,Number,Array,Boolean]},closeOnSelect:{type:Boolean,default:!0}},methods:{getOptionLabel(e){return this.$attrs["get-option-label"]?this.$attrs["get-option-label"](e):Object(l["h"])(e,this.optionLabel)?this.localizedLabel?this.$store.getters["i18n/t"](Object(l["h"])(e,this.optionLabel)):Object(l["h"])(e,this.optionLabel):e},positionDropdown(e,t,{width:a}){if(this.popperOverride)return this.popperOverride(e,t,{width:a});Object(d["a"])(e,t,a,this.placement)},focus(){this.focusSearch()},focusSearch(){this.$nextTick(()=>{var e;const t=null===(e=this.$refs["select-input"])||void 0===e?void 0:e.searchEl;t&&t.focus()})},get:l["h"],onClickOption(e,t){d["b"].call(this,e,t)},selectable(e){return!e||!e.disabled&&"group"!==e.kind&&"divider"!==e.kind&&!e.loading},getOptionKey(e){if(e&&this.optionKey)return Object(l["h"])(e,this.optionKey);if(null!==e&&void 0!==e&&e.optionKey)return Object(l["h"])(e,e.optionKey);const t=this.getOptionLabel(e);return"string"===typeof t||"number"===typeof t?t:Math.random(1e5)},report(e){alert(e)}},computed:{requiredField(){return this.required||this.rules.some(e=>"required"===(null===e||void 0===e?void 0:e.name))},validationMessage(){const e=this.rules.find(e=>"required"===(null===e||void 0===e?void 0:e.name)),t=[],a=null===this||void 0===this?void 0:this.value;if(e&&this.blurred&&!this.focused){const t=e(a);if(t)return t}for(const i of this.rules){const e=i(a);e&&"required"!==i.name&&t.push(e)}return t.length>0&&(this.blurred||this.focused)?t.join(", "):void 0}}},u=c,p=(a("1e30"),a("d802")),h=Object(p["a"])(u,i,s,!1,null,"55a8f708",null);t["a"]=h.exports},"57b4":function(e,t,a){"use strict";a("3673")},"6b14":function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".radio-view{display:flex;flex-direction:column}.radio-view LABEL{color:var(--input-label)}.radio-group .text-label{display:block;padding-bottom:5px}.radio-container{position:relative;display:inline-flex;align-items:flex-start;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--border-radius);padding-bottom:5px}.radio-container,.radio-container .radio-button-outer-container-description,.radio-container .radio-label{cursor:pointer}.radio-container.disabled,.radio-container.disabled .radio-button-outer-container-description,.radio-container.disabled .radio-label{cursor:not-allowed}.radio-container .radio-custom{height:14px;width:14px;min-height:14px;min-width:14px;background-color:var(--input-bg);border-radius:50%;transition:all .3s ease-out;border:1.5px solid var(--border);margin-top:5px}.radio-container .radio-custom:focus{outline:none;border-radius:50%}.radio-container input{display:none}.radio-container .radio-custom[aria-checked=true]{background-color:var(--primary);transform:rotate(0deg) scale(1);opacity:1;border:1.5px solid var(--primary)}.radio-container .radio-custom[aria-checked=true].text-muted{opacity:.25}.radio-container input:disabled~.radio-custom:not([aria-checked=true]){background-color:var(--disabled-bg);opacity:.25}.radio-container .radio-button-outer-container-description{color:var(--input-label);font-size:11px;margin-top:5px}.radio-container .labeling{display:inline-flex;flex-direction:column;margin:3px 10px 0 5px}",""]),e.exports=t},"6c74":function(e,t,a){"use strict";a("c0d0")},"6d9b":function(e,t,a){var i=a("7a91");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("6c4ac168",i,!0,{sourceMap:!1,shadowMode:!1})},"72ab":function(e,t,a){var i=a("0e6f");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("a62d4020",i,!0,{sourceMap:!1,shadowMode:!1})},"7a91":function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".unlabeled-select[data-v-55a8f708]{position:relative}.unlabeled-select[data-v-55a8f708] .v-select.select-input-view .vs__actions{visibility:hidden}.unlabeled-select .vs--multiple[data-v-55a8f708] .vs__selected-options .vs__selected{width:auto}.unlabeled-select[data-v-55a8f708] .labeled-tooltip.error .status-icon{top:7px;right:2px}.unlabeled-select[data-v-55a8f708] .vs__selected-options{display:flex;margin:3px}.unlabeled-select[data-v-55a8f708] .vs__selected-options .vs__selected{width:auto}.unlabeled-select[data-v-55a8f708] .v-select.vs--open .vs__dropdown-toggle{color:var(--outline)!important}.unlabeled-select.focused.success[data-v-55a8f708],.unlabeled-select.success[data-v-55a8f708]{border:solid 1px var(--success)}.unlabeled-select.focused.success .selected[data-v-55a8f708],.unlabeled-select.focused.success .vs__actions[data-v-55a8f708]:after,.unlabeled-select.focused.success input[data-v-55a8f708],.unlabeled-select.success .selected[data-v-55a8f708],.unlabeled-select.success .vs__actions[data-v-55a8f708]:after,.unlabeled-select.success input[data-v-55a8f708]{color:var(--success)}.unlabeled-select.focused.warning[data-v-55a8f708],.unlabeled-select.warning[data-v-55a8f708]{border:solid 1px var(--warning)}.unlabeled-select.focused.warning .selected[data-v-55a8f708],.unlabeled-select.focused.warning .vs__actions[data-v-55a8f708]:after,.unlabeled-select.focused.warning input[data-v-55a8f708],.unlabeled-select.warning .selected[data-v-55a8f708],.unlabeled-select.warning .vs__actions[data-v-55a8f708]:after,.unlabeled-select.warning input[data-v-55a8f708]{color:var(--warning)}.unlabeled-select.error[data-v-55a8f708],.unlabeled-select.focused.error[data-v-55a8f708]{border:solid 1px var(--error)}.unlabeled-select.error .vs__actions[data-v-55a8f708]:after,.unlabeled-select.error>label[data-v-55a8f708],.unlabeled-select.focused.error .vs__actions[data-v-55a8f708]:after,.unlabeled-select.focused.error>label[data-v-55a8f708]{color:var(--error)}",""]),e.exports=t},"7c88":function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".radio-group:focus{border:none;outline:none}.radio-group h3{position:relative}.radio-group.row{display:flex}.radio-group.row .radio-container{margin-right:10px}.radio-group .label{font-size:14px!important}",""]),e.exports=t},"7d6c":function(e,t,a){var i=a("9ef5"),s=1/0,l=17976931348623157e292;function n(e){if(!e)return 0===e?e:0;if(e=i(e),e===s||e===-s){var t=e<0?-1:1;return t*l}return e===e?e:0}e.exports=n},"8d05":function(e,t,a){var i=a("9902");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("199c2c00",i,!0,{sourceMap:!1,shadowMode:!1})},"8e93":function(e,t,a){"use strict";a.d(t,"a",(function(){return x}));var i=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{class:{"labeled-input":!0,focused:e.focused,[e.mode]:!0,disabled:e.isDisabled,[e.status]:e.status,suffix:e.hasSuffix,"has-tooltip":e.hasTooltip,"compact-input":e.isCompact,hideArrows:e.hideArrows}},[e._t("label",(function(){return[e.hasLabel?t("label",[e.labelKey?t("t",{attrs:{k:e.labelKey}}):e.label?[e._v(e._s(e.label))]:e._e(),e.requiredField?t("span",{staticClass:"required"},[e._v("*")]):e._e()],2):e._e()]})),e._t("prefix"),e._t("field",(function(){return["multiline"===e.type||"multiline-password"===e.type?t("TextAreaAutoGrow",e._b({ref:"value",class:{conceal:"multiline-password"===e.type},attrs:{maxlength:e._maxlength,disabled:e.isDisabled,value:e.value,placeholder:e._placeholder,autocapitalize:"off"},on:{input:function(t){return e.onInput(t)},focus:e.onFocus,blur:e.onBlur}},"TextAreaAutoGrow",e.$attrs,!1)):t("input",e._b({ref:"value",class:{"no-label":!e.hasLabel},attrs:{maxlength:e._maxlength,disabled:e.isDisabled,type:"cron"===e.type?"text":e.type,placeholder:e._placeholder,autocomplete:"off",autocapitalize:"off","data-lpignore":e.ignorePasswordManagers},domProps:{value:e.value},on:{input:function(t){return e.onInput(t.target.value)},focus:e.onFocus,blur:e.onBlur,change:e.onChange}},"input",e.$attrs,!1))]})),e._t("suffix"),e.hasTooltip&&!e.focused?t("LabeledTooltip",{attrs:{hover:e.hoverTooltip,value:e.tooltipValue,status:e.status}}):e._e(),e.validationMessage?t("LabeledTooltip",{attrs:{hover:e.hoverTooltip,value:e.validationMessage}}):e._e(),e.cronHint?t("label",{staticClass:"cron-label"},[e._v(e._s(e.cronHint))]):e._e(),e.subLabel?t("label",{staticClass:"sub-label"},[e._v(e._s(e.subLabel))]):e._e()],2)},s=[],l=a("8bbf"),n=a.n(l),o=a("df7c"),r=a("480e"),d=a("c230"),c=a("e1bc"),u=a("2cb5"),p=a("2105"),h=a.n(p),b=a("1a5f"),f=a("9ec3"),v=n.a.extend({components:{LabeledTooltip:c["a"],TextAreaAutoGrow:d["a"]},mixins:[r["a"],o["a"]],props:{type:{type:String,default:"text"},status:{type:String,default:null},subLabel:{type:String,default:null},tooltip:{default:null,type:[String,Object]},hoverTooltip:{type:Boolean,default:!0},ignorePasswordManagers:{default:!1,type:Boolean},maxlength:{type:Number,default:null},hideArrows:{type:Boolean,default:!1},delay:{type:Number,default:0}},data(){return{updated:!1,validationErrors:""}},computed:{onInput(){return this.delay?Object(f["debounce"])(this.delayInput,this.delay):this.delayInput},hasLabel(){return!this.isCompact&&(!!this.label||!!this.labelKey||!!this.$slots.label)},hasTooltip(){return!!this.tooltip||!!this.tooltipKey},tooltipValue(){if(this.hasTooltip)return this.tooltipKey?this.t(this.tooltipKey):this.tooltip},hasSuffix(){return!!this.$slots.suffix},cronHint(){if("cron"===this.type&&this.value){if(!Object(b["isValidCron"])(this.value))return this.t("generic.invalidCron");try{const e=h.a.toString(this.value);return e}catch(e){return this.t("generic.invalidCron")}}},_placeholder(){return this.placeholder?this.placeholder.toString():this.placeholderKey?this.t(this.placeholderKey):""},_maxlength(){return"text"===this.type&&this.maxlength?this.maxlength:null}},methods:{focus(){const e=this.$refs.value;e&&e.focus()},select(){const e=this.$refs.value;e&&e.select()},onChange(e){this.$emit("change",e)},delayInput(e){this.$emit("input",e)},onFocus(){this.onFocusLabeled()},onBlur(e){this.$emit("blur",e),this.onBlurLabeled()},escapeHtml:u["g"]}}),m=v,y=(a("086b"),a("04b6"),a("d802")),g=Object(y["a"])(m,i,s,!1,null,"387a3779",null),x=g.exports},9902:function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,"button[data-v-08979412]{all:unset;height:0;position:relative;top:-35px;float:right;margin-right:7px;cursor:pointer}button .align-value[data-v-08979412]{padding-top:7px}.row.name-ns-description[data-v-08979412]{max-height:61px}.row .namespace-select[data-v-08979412] .labeled-select{min-width:40%}.row .namespace-select[data-v-08979412] .labeled-select .v-select.inline.vs--single{padding-bottom:2px}.row.flip-direction[data-v-08979412]{flex-direction:column}.row.flip-direction.name-ns-description[data-v-08979412]{max-height:none}.row.flip-direction>div>*[data-v-08979412]{margin-bottom:20px}",""]),e.exports=t},"9b66":function(e,t,a){var i=a("7d6c");function s(e){var t=i(e),a=t%1;return t===t?a?t-a:t:0}e.exports=s},a1d8:function(e,t){function a(e){return e&&e.length?e[0]:void 0}e.exports=a},a232:function(e,t,a){"use strict";var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"key-value"},[e.title||e.$slots.title?t("div",{staticClass:"clearfix"},[e._t("title",(function(){return[t("h3",[e._v(" "+e._s(e.title)+" "),e.titleProtip?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.titleProtip,expression:"titleProtip"}],staticClass:"icon icon-info"}):e._e()])]}))],2):e._e(),t("div",{staticClass:"kv-container",style:e.containerStyle},[e.rows.length||e.isView?[t("label",{staticClass:"text-label"},[e._v(" "+e._s(e.keyLabel)+" "),e.protip&&!e.isView&&e.addAllowed?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.protip,expression:"protip"}],staticClass:"icon icon-info"}):e._e()]),t("label",{staticClass:"text-label"},[e._v(" "+e._s(e.valueLabel)+" ")]),e._l(e.extraColumns,(function(a){return t("label",{key:a},[e._t("label:"+a,(function(){return[e._v(e._s(a))]}))],2)})),e.canRemove?e._t("remove",(function(){return[t("span")]})):e._e()]:e._e(),!e.rows.length&&e.isView?[t("div",{staticClass:"kv-item key text-muted"},[e._v(" — ")]),t("div",{staticClass:"kv-item key text-muted"},[e._v(" — ")])]:e._l(e.filteredRows,(function(a,i){return[t("div",{key:i+"key",staticClass:"kv-item key"},[e._t("key",(function(){return[e.keyOptions?t("Select",{ref:"key",refInFor:!0,attrs:{searchable:!0,disabled:e.disabled||e.isProtected(a.key),clearable:!1,taggable:e.keyTaggable,options:e.calculateOptions(a[e.keyName]),"data-testid":"select-kv-item-key-"+i},on:{input:e.queueUpdate},model:{value:a[e.keyName],callback:function(t){e.$set(a,e.keyName,t)},expression:"row[keyName]"}}):t("input",{directives:[{name:"model",rawName:"v-model",value:a[e.keyName],expression:"row[keyName]"}],ref:"key",refInFor:!0,attrs:{disabled:e.isView||e.disabled||!e.keyEditable||e.isProtected(a.key),placeholder:e.keyPlaceholder,"data-testid":"input-kv-item-key-"+i},domProps:{value:a[e.keyName]},on:{input:[function(t){t.target.composing||e.$set(a,e.keyName,t.target.value)},e.queueUpdate],paste:function(t){return e.onPaste(i,t)}}})]}),{row:a,mode:e.mode,keyName:e.keyName,valueName:e.valueName,queueUpdate:e.queueUpdate,disabled:e.disabled})],2),t("div",{key:i+"value",staticClass:"kv-item value",attrs:{"data-testid":"kv-item-value-"+i}},[e._t("value",(function(){return[a.supported?a.binary?t("div",[e._v(" "+e._s(e.binaryTextSize(a.value))+" ")]):t("div",{staticClass:"value-container",class:{"upload-button":e.parseValueFromFile}},[e.valueMarkdownMultiline?t("CodeMirror",{ref:"cm",refInFor:!0,class:{["focus"]:e.codeMirrorFocus[i]},attrs:{"data-testid":"code-mirror-multiline-field",value:a[e.valueName],"as-text-area":!0,mode:e.mode},on:{onInput:function(t){return e.onInputMarkdownMultiline(i,t)},onFocus:function(t){return e.onFocusMarkdownMultiline(i,t)}}}):e.valueMultiline?t("TextAreaAutoGrow",{class:{conceal:e.valueConcealed},attrs:{"data-testid":"value-multiline",disabled:e.disabled||e.isProtected(a.key),mode:e.mode,placeholder:e.valuePlaceholder,"min-height":40,spellcheck:!1},on:{input:e.queueUpdate},model:{value:a[e.valueName],callback:function(t){e.$set(a,e.valueName,t)},expression:"row[valueName]"}}):"checkbox"===(e.valueConcealed?"password":"text")?t("input",{directives:[{name:"model",rawName:"v-model",value:a[e.valueName],expression:"row[valueName]"}],attrs:{disabled:e.isView||e.disabled||e.isProtected(a.key),placeholder:e.valuePlaceholder,autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:"checkbox"},domProps:{checked:Array.isArray(a[e.valueName])?e._i(a[e.valueName],null)>-1:a[e.valueName]},on:{input:e.queueUpdate,change:function(t){var i=a[e.valueName],s=t.target,l=!!s.checked;if(Array.isArray(i)){var n=null,o=e._i(i,n);s.checked?o<0&&e.$set(a,e.valueName,i.concat([n])):o>-1&&e.$set(a,e.valueName,i.slice(0,o).concat(i.slice(o+1)))}else e.$set(a,e.valueName,l)}}}):"radio"===(e.valueConcealed?"password":"text")?t("input",{directives:[{name:"model",rawName:"v-model",value:a[e.valueName],expression:"row[valueName]"}],attrs:{disabled:e.isView||e.disabled||e.isProtected(a.key),placeholder:e.valuePlaceholder,autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:"radio"},domProps:{checked:e._q(a[e.valueName],null)},on:{input:e.queueUpdate,change:function(t){return e.$set(a,e.valueName,null)}}}):t("input",{directives:[{name:"model",rawName:"v-model",value:a[e.valueName],expression:"row[valueName]"}],attrs:{disabled:e.isView||e.disabled||e.isProtected(a.key),placeholder:e.valuePlaceholder,autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:e.valueConcealed?"password":"text"},domProps:{value:a[e.valueName]},on:{input:[function(t){t.target.composing||e.$set(a,e.valueName,t.target.value)},e.queueUpdate]}}),e.parseValueFromFile&&e.readAllowed&&!e.isView&&e.isValueFieldEmpty(a[e.valueName])?t("FileSelector",{staticClass:"btn btn-sm role-secondary file-selector",attrs:{label:e.t("generic.upload"),"include-file-name":!0},on:{selected:function(t){return e.onValueFileSelected(i,t)}}}):e._e()],1):t("div",[e._v(" "+e._s(e.t("detailText.unsupported",null,!0))+" ")])]}),{row:a,mode:e.mode,keyName:e.keyName,valueName:e.valueName,queueUpdate:e.queueUpdate})],2),e._l(e.extraColumns,(function(s){return t("div",{key:i+s,staticClass:"kv-item extra"},[e._t("col:"+s,null,{row:a,queueUpdate:e.queueUpdate})],2)})),e.canRemove?t("div",{key:i,staticClass:"kv-item remove",attrs:{"data-testid":"remove-column-"+i}},[e._t("removeButton",(function(){return[t("button",{staticClass:"btn role-link",attrs:{type:"button",disabled:e.isView||e.isProtected(a.key)||e.disabled},on:{click:function(t){return e.remove(i)}}},[e._v(" "+e._s(e.removeLabel||e.t("generic.remove"))+" ")])]}),{remove:e.remove,row:a,i:i})],2):e._e()]}))],2),!e.addAllowed&&!e.readAllowed||e.isView?e._e():t("div",{staticClass:"footer mt-20"},[e._t("add",(function(){return[e.addAllowed?t("button",{staticClass:"btn role-tertiary add",attrs:{type:"button",disabled:e.loading||e.disabled||e.keyOptions&&0===e.filteredKeyOptions.length},on:{click:function(t){return e.add()}}},[e.loading?t("i",{staticClass:"mr-5 icon icon-spinner icon-spin icon-lg"}):e._e(),e._v(" "+e._s(e.addLabel)+" ")]):e._e(),e.readAllowed?t("FileSelector",{staticClass:"role-tertiary",attrs:{disabled:e.isView,label:e.t("generic.readFromFile"),"include-file-name":!0},on:{selected:e.onFileSelected}}):e._e()]}),{add:e.add})],2)])},s=[],l=a("44db"),n=a.n(l),o=a("1d19"),r=a("bddd"),d=a("0f81"),c=a("c87d"),u=a("c230"),p=a("e24b"),h=a("47ab"),b=a("8b2c"),f=a("da25"),v=a("2cb5"),m=a("8c26"),y={name:"KeyValue",components:{CodeMirror:m["a"],Select:h["a"],TextAreaAutoGrow:u["a"],FileSelector:b["a"]},props:{value:{type:[Array,Object],default:null},defaultValue:{type:[Array,Object],default:null},binaryValueKeys:{type:[Array,Object],default:null},mode:{type:String,default:f["s"]},asMap:{type:Boolean,default:!0},initialEmptyRow:{type:Boolean,default:!1},title:{type:String,default:""},titleProtip:{type:String,default:""},protip:{type:[String,Boolean],default(){return this.$store.getters["i18n/t"]("keyValue.protip",null,!0)}},keyName:{type:String,default:"key"},keyLabel:{type:String,default(){return this.$store.getters["i18n/t"]("generic.key")}},keyEditable:{type:Boolean,default:!0},keyOptions:{type:Array,default:null},keyTaggable:{type:Boolean,default:!0},keyOptionUnique:{type:Boolean,default:!1},keyPlaceholder:{type:String,default(){return this.$store.getters["i18n/t"]("keyValue.keyPlaceholder")}},protectedKeys:{type:Array,default:()=>[]},toggleFilter:{type:Boolean,default:!1},separatorLabel:{type:String,default:""},valueName:{type:String,default:"value"},valueLabel:{type:String,default(){return this.$store.getters["i18n/t"]("generic.value")}},valuePlaceholder:{type:String,default(){return this.$store.getters["i18n/t"]("keyValue.valuePlaceholder")}},valueCanBeEmpty:{type:Boolean,default:!1},displayValuesAsBinary:{type:Boolean,default:!1},valueMarkdownMultiline:{type:Boolean,default:!1},valueMultiline:{type:Boolean,default:!0},valueTrim:{type:Boolean,default:!0},handleBase64:{type:Boolean,default:!1},valueConcealed:{type:Boolean,default:!1},supported:{type:Function,default:e=>!0},preserveKeys:{type:Array,default:null},extraColumns:{type:Array,default:()=>[]},defaultAddData:{type:Object,default:()=>{}},addLabel:{type:String,default(){return this.$store.getters["i18n/t"]("generic.add")}},addIcon:{type:String,default:"icon-plus"},addAllowed:{type:Boolean,default:!0},readLabel:{type:String,default(){return this.$store.getters["i18n/t"]("generic.readFromFile")}},readIcon:{type:String,default:"icon-upload"},readAllowed:{type:Boolean,default:!0},readAccept:{type:String,default:"*"},readMultiple:{type:Boolean,default:!1},removeLabel:{type:String,default:""},removeIcon:{type:String,default:"icon-minus"},removeAllowed:{type:Boolean,default:!0},fileModifier:{type:Function,default:(e,t)=>({name:e,value:t})},parserSeparators:{type:Array,default:()=>[": ","="]},loading:{default:!1,type:Boolean},parseLinesFromFile:{default:!1,type:Boolean},parseValueFromFile:{default:!1,type:Boolean},disabled:{default:!1,type:Boolean}},data(){const e=this.getRows(this.value);return{rows:e,codeMirrorFocus:{}}},computed:{isView(){return this.mode===f["z"]},containerStyle(){const e=this.canRemove?" 50px":"",t=2+this.extraColumns.length;return`grid-template-columns: repeat(${t}, 1fr)${e};`},usedKeyOptions(){return this.rows.map(e=>e[this.keyName])},filteredKeyOptions(){return this.keyOptionUnique?this.keyOptions.filter(e=>!this.usedKeyOptions.includes(e.value)):this.keyOptions},canRemove(){return!this.isView&&this.removeAllowed},filteredRows(){return this.rows.filter(e=>!(this.isProtected(e.key)&&!this.toggleFilter))}},created(){this.queueUpdate=n()(this.update,500)},watch:{defaultValue(e){Array.isArray(e)&&(this.rows=this.getRows(e),this.$emit("input",e))}},methods:{isProtected(e){return this.protectedKeys&&this.protectedKeys.includes(e)},getRows(e){const t=[];if(this.asMap){const a=e||{};Object.keys(a).forEach(e=>{let i=a[e];const s=Object(d["a"])(a[e]),l=Object(v["b"])(s);this.handleBase64&&l&&(i=Object(d["a"])(i)),t.push({key:e,value:i,binary:this.displayValuesAsBinary||this.handleBase64&&!l,canEncode:this.handleBase64&&l,supported:!0})})}else{const i=e||[];for(const e of i){var a;let i=e[this.valueName]||"";const s=Object(d["a"])(e[this.valueName]),l=Object(v["b"])(s);this.handleBase64&&l&&(i=Object(d["a"])(i));const n={[this.keyName]:e[this.keyName]||"",[this.valueName]:i,binary:this.displayValuesAsBinary||this.handleBase64&&!l,canEncode:this.handleBase64&&l,supported:this.supported(e)};null===(a=this.preserveKeys)||void 0===a||a.map(t=>{"undefined"!==typeof e[t]&&(n[t]=e[t])}),t.push(n)}}return t&&!t.length&&this.initialEmptyRow&&t.push({[this.keyName]:"",[this.valueName]:"",binary:!1,canEncode:this.handleBase64,supported:!0}),t},add(e="",t=""){const a={...this.defaultAddData,[this.keyName]:e,[this.valueName]:t};a.binary=!1,a.canEncode=this.handleBase64,a.supported=!0,this.rows.push(a),this.queueUpdate(),this.$nextTick(()=>{if(this.$refs.key){const e=this.$refs.key,t=e[e.length-1];t.focus()}else this.$emit("focusKey")})},remove(e){Object(r["h"])(this.rows,e),this.queueUpdate()},removeEmptyRows(){const e=this.rows.filter(e=>e.value.length||e.key.length);this.$set(this,"rows",e)},onFileSelected(e){const{name:t,value:a}=this.fileModifier(e.name,e.value);if(this.parseLinesFromFile){const e=a.split("\n");e.forEach(e=>{if(e.length){const[t,a]=e.split("=");this.add(t,a)}}),e.length>0&&this.removeEmptyRows()}else this.add(t,a,this.displayValuesAsBinary)},download(e,t){const a=this.rows[e],i=a[this.keyName],s=a[this.valueName];Object(c["a"])(i,s,"application/octet-stream")},update(){let e;if(this.asMap){e={};const t=this.keyName,a=this.valueName;for(const i of this.rows){let s=i[a]||"";const l=(i[t]||"").trim();s&&"object"===Object(o["c"])(s)?e[l]=JSON.parse(JSON.stringify(s)):(s=s||"",this.valueTrim&&Object(v["b"])(s)&&(s=s.trim()),i.canEncode&&(s=Object(d["b"])(s)),l&&(s||this.valueCanBeEmpty)&&(e[l]=s))}}else{const t=this.preserveKeys||[];Object(r["i"])(t,this.keyName),Object(r["i"])(t,this.valueName),e=this.rows.map(e=>{let a=e[this.valueName];e.canEncode&&(a=Object(d["b"])(a));const i={[this.keyName]:e[this.keyName],[this.valueName]:a};for(const s of t)"undefined"!==typeof e[s]&&(i[s]=e[s]);return i})}this.$emit("input",e)},onPaste(e,t,a){const i=t.clipboardData.getData("text/plain"),s=i.split("\n"),l=s.map(e=>{const t=!e.includes(":")||e.indexOf("=")({[this.keyName]:(e[0]||"").trim(),[this.valueName]:(e[1]||"").trim(),supported:!0,canEncode:this.handleBase64,binary:this.displayValuesAsBinary}));this.rows.splice(e,1,...n),this.queueUpdate()},calculateOptions(e){const t=this.keyOptions.find(t=>t.value===e);return t?[t,...this.filteredKeyOptions]:this.filteredKeyOptions},binaryTextSize(e){const t=this.handleBase64?Object(d["a"])(e):e,a=e.length?Object(d["c"])(t):0;return this.t("detailText.binary",{n:a},!0)},get:p["h"],onInputMarkdownMultiline(e,t){this.rows=this.rows.map((a,i)=>i===e?{...a,value:t}:a),this.queueUpdate()},onFocusMarkdownMultiline(e,t){this.$set(this.codeMirrorFocus,e,t)},onValueFileSelected(e,t){const{name:a,value:i}=t;this.rows[e][this.keyName]||(this.rows[e][this.keyName]=a),this.rows[e][this.valueName]=i},isValueFieldEmpty(e){return!e||0===e.trim().length}}},g=y,x=(a("6c74"),a("d802")),k=Object(x["a"])(g,i,s,!1,null,null,null);t["a"]=k.exports},ad6a:function(e,t,a){var i=a("be00");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("79830113",i,!0,{sourceMap:!1,shadowMode:!1})},bbc2:function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".key-value{width:100%}.key-value .file-selector.role-link{text-transform:none;padding:0}.key-value .kv-container{display:grid;align-items:center;-moz-column-gap:20px;column-gap:20px}.key-value .kv-container label{margin-bottom:0}.key-value .kv-container .kv-item{width:100%;margin:10px 0 10px 0}.key-value .kv-container .kv-item.extra,.key-value .kv-container .kv-item.key{align-self:flex-start}.key-value .kv-container .kv-item.value .value-container.upload-button{position:relative;display:flex;justify-content:right;align-items:center}.key-value .kv-container .kv-item.value .value-container .file-selector{position:absolute;margin-right:5px}.key-value .kv-container .kv-item.value textarea{padding:10px 10px 10px 10px}.key-value .kv-container .kv-item .text-monospace:not(.conceal){font-family:monospace,monospace}.key-value .remove{text-align:center}.key-value .remove BUTTON{padding:0}.key-value .title{margin-bottom:10px}.key-value .title .read-from-file{float:right}.key-value input{height:40px;line-height:1}.key-value .footer .protip{float:right;padding:5px 0}.key-value .download{text-align:right}.key-value .copy-value{padding:0 0 0 10px}",""]),e.exports=t},bcc0:function(e,t,a){"use strict";a("cbb6")},be00:function(e,t,a){var i=a("5eaa");t=i(!1),t.push([e.i,".tabs[data-v-2a058e46]{list-style-type:none;margin:0;padding:0}.tabs.horizontal[data-v-2a058e46]{border:solid thin var(--border);border-bottom:0;display:flex;flex-direction:row}.tabs.horizontal+.tab-container[data-v-2a058e46]{border:solid thin var(--border)}.tabs.horizontal .tab.active[data-v-2a058e46]{border-bottom:solid 2px var(--primary)}.tabs[data-v-2a058e46]:focus{outline:none}.tabs:focus .tab.active a span[data-v-2a058e46]{text-decoration:underline}.tabs .tab[data-v-2a058e46]{position:relative;float:left;padding:0 8px 0 0;cursor:pointer}.tabs .tab A[data-v-2a058e46]{display:flex;align-items:center;padding:10px 15px}.tabs .tab A[data-v-2a058e46]:hover{text-decoration:none}.tabs .tab A:hover span[data-v-2a058e46]{text-decoration:underline}.tabs .tab .conditions-alert-icon[data-v-2a058e46]{color:var(--error);padding-left:4px}.tabs .tab[data-v-2a058e46]:last-child{padding-right:0}.tabs .tab.active>A[data-v-2a058e46]{color:var(--primary);text-decoration:none}.tabs .tab.error A>i[data-v-2a058e46]{color:var(--error)}.tabs .tab .tab-badge[data-v-2a058e46]{margin-left:5px;background-color:var(--link);color:#fff;border-radius:6px;padding:1px 7px;font-size:11px}.tab-container[data-v-2a058e46]{padding:20px}.tab-container.no-content[data-v-2a058e46]{padding:0 0 3px 0}.tab-container--flat[data-v-2a058e46]{padding:0}.tab-container--flat .side-tabs[data-v-2a058e46]{box-shadow:unset}.tabs-only[data-v-2a058e46]{margin-bottom:20px}.tabs-only .tab-container[data-v-2a058e46]{display:none}.tabs-only .tabs[data-v-2a058e46]{border:0;border-bottom:2px solid var(--border)}.side-tabs[data-v-2a058e46]{display:flex;box-shadow:0 0 20px var(--shadow);border-radius:calc(var(--border-radius)*2);background-color:var(--tabbed-sidebar-bg)}.side-tabs .tab-container[data-v-2a058e46]{padding:20px}.side-tabs .tabs[data-v-2a058e46]{width:200px;min-width:200px;display:flex;flex:1 0;flex-direction:column}.side-tabs .tabs .tab[data-v-2a058e46]{width:100%;border-left:5px solid transparent}.side-tabs .tabs .tab.toggle A[data-v-2a058e46],.side-tabs .tabs .tab A[data-v-2a058e46]{color:var(--primary)}.side-tabs .tabs .tab.active[data-v-2a058e46]{background-color:var(--body-bg);border-left:solid 5px var(--primary)}.side-tabs .tabs .tab.active A[data-v-2a058e46]{color:var(--input-label)}.side-tabs .tabs .tab.disabled[data-v-2a058e46]{background-color:var(--disabled-bg)}.side-tabs .tabs .tab.disabled A[data-v-2a058e46]{color:var(--disabled-text);text-decoration:none}.side-tabs .tabs .tab-list-footer[data-v-2a058e46]{list-style:none;padding:0;margin-top:auto}.side-tabs .tabs .tab-list-footer li[data-v-2a058e46]{display:flex;flex:1}.side-tabs .tabs .tab-list-footer li .btn[data-v-2a058e46]{flex:1 1;display:flex;justify-content:center}.side-tabs .tabs .tab-list-footer li button[data-v-2a058e46]:first-of-type{border-top:solid 1px var(--border);border-right:solid 1px var(--border);border-top-right-radius:0}.side-tabs .tabs .tab-list-footer li button[data-v-2a058e46]:last-of-type{border-top:solid 1px var(--border);border-top-left-radius:0}.side-tabs .tab-container[data-v-2a058e46]{width:calc(100% - 200px);flex-grow:1;background-color:var(--body-bg)}",""]),e.exports=t},c0d0:function(e,t,a){var i=a("bbc2");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("43b65561",i,!0,{sourceMap:!1,shadowMode:!1})},c230:function(e,t,a){"use strict";var i=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("textarea",e._b({ref:"ta",staticClass:"no-resize no-ease",style:e.style,attrs:{"data-testid":"text-area-auto-grow",disabled:e.isDisabled,placeholder:e.placeholder,spellcheck:e.spellcheck},on:{paste:function(t){return e.$emit("paste",t)},input:function(t){return e.onInput(t.target.value)},focus:function(t){return e.$emit("focus",t)},blur:function(t){return e.$emit("blur",t)}}},"textarea",e.$attrs,!1))},s=[],l=a("8bbf"),n=a.n(l),o=a("44db"),r=a.n(o),d=a("da25"),c=n.a.extend({inheritAttrs:!1,props:{mode:{type:String,default:d["s"]},minHeight:{type:Number,default:25},maxHeight:{type:Number,default:200},placeholder:{type:String,default:""},spellcheck:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},data(){return{curHeight:this.minHeight,overflow:"hidden"}},computed:{isDisabled(){return this.disabled||this.mode===d["z"]},style(){return`height: ${this.curHeight}px; overflow: ${this.overflow};`}},watch:{$attrs:{deep:!0,handler(){this.queueResize()}}},created(){this.queueResize=r()(this.autoSize,100)},mounted(){this.$refs.ta.style.height=this.curHeight+"px",this.$nextTick(()=>{this.autoSize()})},methods:{onInput(e){this.$emit("input",e),this.queueResize()},focus(){var e;(null===(e=this.$refs)||void 0===e?void 0:e.ta).focus()},autoSize(){const e=this.$refs.ta;if(!e)return;e.style.height="1px";const t=parseInt(getComputedStyle(e).getPropertyValue("borderTopWidth"),10)||0+parseInt(getComputedStyle(e).getPropertyValue("borderBottomWidth"),10)||0,a=Math.max(this.minHeight,Math.min(e.scrollHeight+t,this.maxHeight));e.style.overflowY=e.scrollHeight>a?"auto":"hidden",e.style.height=a+"px",this.curHeight=a}}}),u=c,p=a("d802"),h=Object(p["a"])(u,i,s,!1,null,null,null);t["a"]=h.exports},cbb6:function(e,t,a){var i=a("7c88");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("06aa86c0",i,!0,{sourceMap:!1,shadowMode:!1})},d6d6:function(e,t,a){"use strict";a("df6e")},df6e:function(e,t,a){var i=a("2bf5");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("7d186214",i,!0,{sourceMap:!1,shadowMode:!1})},e143:function(e,t,a){"use strict";a.d(t,"a",(function(){return y}));var i=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("label",{class:{disabled:e.isDisabled,"radio-container":!0},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.clicked(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:e.clicked(t)}],click:function(t){return t.stopPropagation(),e.clicked(t)}}},[t("input",{attrs:{id:e._uid+"-radio",disabled:e.isDisabled,name:e.name,type:"radio",tabindex:-1},domProps:{value:""+e.val,checked:e.isChecked},on:{click:function(e){e.stopPropagation(),e.preventDefault()}}}),t("span",{ref:"custom",class:[e.isDisabled?"text-muted":"","radio-custom"],attrs:{tabindex:e.isDisabled?-1:0,"aria-label":e.label,"aria-checked":e.isChecked,role:"radio"}}),t("div",{staticClass:"labeling"},[t("label",{class:[e.muteLabel?"text-muted":"","radio-label","m-0"],attrs:{for:e.name}},[e.hasLabelSlot?e._t("label"):e.label?t("span",{directives:[{name:"clean-html",rawName:"v-clean-html",value:e.label,expression:"label"}]}):e._e()],2),e.descriptionKey||e.description?t("div",{staticClass:"radio-button-outer-container-description"},[e.descriptionKey?t("t",{attrs:{k:e.descriptionKey}}):e.description?[e._v(" "+e._s(e.description)+" ")]:e._e()],2):e.hasDescriptionSlot?t("div",{staticClass:"radio-button-outer-container-description"},[e._t("description")],2):e._e()])])},s=[],l=a("8bbf"),n=a.n(l),o=a("da25"),r=n.a.extend({props:{name:{type:String,default:""},val:{required:!0,validator:()=>!0},value:{required:!0,validator:()=>!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},mode:{type:String,default:"edit"},descriptionKey:{type:String,default:null},description:{type:String,default:null}},data(){return{isChecked:this.value===this.val}},computed:{isDisabled(){return this.mode===o["z"]||this.disabled},muteLabel(){return this.disabled&&!(this.mode===o["z"]&&this.isChecked)},hasDescriptionSlot(){return!!this.$slots.description},hasLabelSlot(){return!!this.$slots.label||!!this.$scopedSlots.label}},watch:{value(e){this.isChecked=this.val===e,this.isChecked&&this.$refs.custom.focus()}},methods:{clicked({target:e}){this.isDisabled||"A"===(null===e||void 0===e?void 0:e.tagName)||this.$emit("input",this.val)}}}),d=r,c=(a("57b4"),a("d802")),u=Object(c["a"])(d,i,s,!1,null,null,null),p=u.exports,h=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",[e.label||e.labelKey||e.tooltip||e.tooltipKey||e.$slots.label?t("div",{staticClass:"radio-group label"},[e._t("label",(function(){return[t("h3",[e.labelKey?t("t",{attrs:{k:e.labelKey}}):e.label?[e._v(" "+e._s(e.label)+" ")]:e._e(),e.tooltipKey?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.t(e.tooltipKey),expression:"t(tooltipKey)"}],staticClass:"icon icon-info icon-lg"}):e.tooltip?t("i",{directives:[{name:"clean-tooltip",rawName:"v-clean-tooltip",value:e.tooltip,expression:"tooltip"}],staticClass:"icon icon-info icon-lg"}):e._e()],2)]}))],2):e._e(),t("div",{staticClass:"radio-group",class:{row:e.row},attrs:{tabindex:"0"},on:{keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.stopPropagation(),e.clickNext(1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.stopPropagation(),e.clickNext(-1))}]}},e._l(e.normalizedOptions,(function(a,i){return t("div",{key:e.name+"-"+i},[e._t(i,(function(){return[t("RadioButton",e._g({key:e.name+"-"+i,attrs:{name:e.name,value:e.value,label:a.label,description:a.description,val:a.value,disabled:e.isDisabled,mode:e.mode}},e.$listeners))]}),{listeners:e.$listeners,option:a,isDisabled:e.isDisabled})],2)})),0)])},b=[],f=n.a.extend({components:{RadioButton:p},props:{name:{type:String,required:!0},options:{type:Array,required:!0},labels:{type:Array,default:null},value:{type:[Boolean,String,Object],default:null},disabled:{type:Boolean,default:!1},mode:{type:String,default:"edit"},label:{type:String,default:null},labelKey:{type:String,default:null},tooltip:{type:[String,Object],default:null},tooltipKey:{type:String,default:null},row:{type:Boolean,default:!1}},computed:{normalizedOptions(){const e=[];for(let t=0;te.value===this.value);let i=(a?t.indexOf(a):-1)+e;i>=t.length?i=t.length-1:i<0&&(i=0),this.$emit("input",t[i].value)}}}),v=f,m=(a("bcc0"),Object(c["a"])(v,h,b,!1,null,null,null)),y=m.exports},ea3f:function(e,t,a){var i=a("2780");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var s=a("0ed3").default;s("68d873a4",i,!0,{sourceMap:!1,shadowMode:!1})}}]); +//# sourceMappingURL=elemental-1.3.0.umd.min.vendors~edit.js.map \ No newline at end of file diff --git a/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.vendors~edit.js.map b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.vendors~edit.js.map new file mode 100644 index 0000000..8a4c0ad --- /dev/null +++ b/extensions/elemental/1.3.0/plugin/elemental-1.3.0.umd.min.vendors~edit.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?8c85","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?db7b","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/index.vue","webpack://elemental-1.3.0/../../node_modules/@rancher/shell/components/Tabbed/index.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/index.vue?59d5","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/index.vue?ab18","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?4a78","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/lodash/findIndex.js","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/cron-validator/lib/index.js","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/Select.vue?5337","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/NameNsDescription.vue?2fc8","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?96f0","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/index.vue?21a4","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/Tab.vue?9b12","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue?9396","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/Tab.vue","webpack://elemental-1.3.0/../../node_modules/@rancher/shell/components/Tabbed/Tab.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/Tab.vue?0bab","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/Tab.vue?25d6","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/NameNsDescription.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/utils/kube.js","webpack://elemental-1.3.0/../../node_modules/@rancher/shell/components/form/NameNsDescription.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/NameNsDescription.vue?3944","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/NameNsDescription.vue?1857","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/Select.vue","webpack://elemental-1.3.0/../../node_modules/@rancher/shell/components/form/Select.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/Select.vue?b3e3","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/Select.vue?8ecd","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue?5f7c","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue?d98c","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/KeyValue.vue?88cf","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/Select.vue?12d7","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?9481","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/Select.vue?e4dc","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue?b190","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/lodash/toFinite.js","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/NameNsDescription.vue?77a5","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?fe5a","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?5a79","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?3631","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/NameNsDescription.vue?e212","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/lodash/toInteger.js","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/lodash/head.js","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/KeyValue.vue","webpack://elemental-1.3.0/../../node_modules/@rancher/shell/components/form/KeyValue.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/KeyValue.vue?211d","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/KeyValue.vue?7dae","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/index.vue?bbe2","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/KeyValue.vue?5877","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue?bd1f","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/index.vue?7ace","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/form/KeyValue.vue?3606","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/TextArea/TextAreaAutoGrow.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/TextArea/TextAreaAutoGrow.vue?1262","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/TextArea/TextAreaAutoGrow.vue?3b00","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/TextArea/TextAreaAutoGrow.vue?a4c8","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue?5f3a","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/Tab.vue?9494","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/components/Tabbed/Tab.vue?78fd","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue?2d39","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue?c972","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioButton.vue?21d7","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue?fc1a","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue?17f5","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/Radio/RadioGroup.vue?edd5","webpack://elemental-1.3.0//Users/aalves/Desktop/PROJECTS/alex-elemental/node_modules/@rancher/shell/rancher-components/Form/LabeledInput/LabeledInput.vue?b0db"],"names":["render","_vm","this","_c","_self","class","sideTabs","tabsOnly","hideTabs","_e","ref","staticClass","attrs","on","$event","type","indexOf","_k","keyCode","key","button","preventDefault","selectNext","_l","sortedTabs","tab","name","active","disabled","error","select","_v","_s","labelDisplay","badge","hasIcon","directives","rawName","value","t","expression","length","showTabsAddRemove","tabAddClicked","tabRemoveClicked","_t","tabs","noContent","flat","staticRenderFns","props","defaultTab","String","default","Boolean","hideSingleTab","scrollOnChange","useHash","provide","addTab","existing","findBy","removeObject","addObject","removeTab","data","activeTabName","computed","sortBy","watch","activeTab","find","hash","$route","undefined","windowHash","slice","windowHashTabMatch","firstTab","head","isEmpty","mounted","window","addEventListener","hashChange","unmounted","removeEventListener","methods","displayAlertIcon","scrollable","document","getElementsByTagName","scrollTop","x","selected","hashName","routeHash","$router","currentRoute","kurrentRoute","replace","$emit","selectedName","direction","currentIdx","findIndex","nextIdx","getCyclicalIdx","nextName","tabsLength","nxt","$nextTick","$refs","tablist","focus","activeTabIndex","component","___CSS_LOADER_API_IMPORT___","exports","push","module","i","baseFindIndex","baseIteratee","toInteger","nativeMax","Math","max","array","predicate","fromIndex","index","__assign","Object","assign","s","n","arguments","p","prototype","hasOwnProperty","call","apply","defineProperty","isValidCron","safeParseInt","test","Number","NaN","isWildcard","isQuestionMark","isInRange","start","stop","isValidRange","sides","split","_a","map","side","small","big","isValidStep","search","validateForRange","list","every","condition","splits","trim","endsWith","left","right","hasValidSeconds","seconds","hasValidMinutes","minutes","hasValidHours","hours","hasValidDays","days","allowBlankDay","monthAlias","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","hasValidMonths","months","alias","remappedMonths","toLowerCase","match","weekdaysAlias","sun","mon","tue","wed","thu","fri","sat","hasValidWeekdays","weekdays","allowSevenAsSunday","remappedWeekdays","hasCompatibleDayFormat","cron","defaultOptions","options","checks","shift","content","__esModule","locals","add","shouldShowHeader","tooltip","inject","label","labelKey","required","weight","showHeader","$store","getters","neu","beforeDestroy","namespaced","nameNsHidden","createNamespace","componentTestid","namespaceReallyDisabled","mode","nameRequired","rules","namespace","model","callback","$$v","cancelCreateNamespace","selectNamespace","nameLabel","namePlaceholder","nameReallyDisabled","descriptionHidden","extraColumns","descriptionDisabled","descriptionLabel","descriptionPlaceholder","description","slot","col","colSpan","showSpacer","normalizeName","str","components","LabeledInput","LabeledSelect","Array","nameEditable","nameDisabled","nameNormalized","namespaceFilter","Function","namespaceMapper","namespaceType","NAMESPACE","namespaceLabel","namespacePlaceholder","namespaceDisabled","namespaceNewAllowed","noDefaultNamespace","namespacesOverride","namespaceOptions","createNamespaceOverride","nameKey","namespaceKey","descriptionKey","forceNamespace","horizontal","v","metadata","_metadata$annotations","get","updateNamespace","annotations","DESCRIPTION","inStore","nsSchema","mapGetters","_EDIT","namespaces","ns","sort","namespaceObjs","isCreate","allowedNamespaces","keys","nameDisplay","id","obj","sortedByLabel","unshift","createButton","kind","divider","createOverhead","canCreateNamespace","isView","_VIEW","_CREATE","cols","span","_this$nsSchema","_this$currentCluster","collectionMethods","includes","currentCluster","canUpdate","val","set","$set","setAnnotation","changeNameAndNamespace","e","text","_this$options$find","$parent","o","Vue","nextTick","focused","status","taggable","$attrs","multiple","focusSearch","_g","_b","appendToBody","positionDropdown","opt","getOptionKey","getOptionLabel","optionLabel","closeOnSelect","mappedKeys","placeholder","reduce","isSearchable","selectable","onBlur","onFocus","resizeHandler","scopedSlots","_u","fn","option","onClickOption","$scopedSlots","_","scope","$listeners","hoverTooltip","validationMessage","LabeledTooltip","mixins","LabeledFormElement","VueSelectOverrides","getKeyForOption","optionKey","placement","popperOverride","localizedLabel","dropdownList","width","calculatePosition","_this$$refs$selectIn","el","searchEl","event","loading","random","report","alert","requiredField","some","rule","requiredRule","ruleMessages","blurred","message","join","toNumber","INFINITY","MAX_INTEGER","toFinite","sign","_setupProxy","isDisabled","suffix","hasSuffix","hasTooltip","isCompact","hideArrows","hasLabel","conceal","_maxlength","_placeholder","onInput","ignorePasswordManagers","domProps","target","onChange","tooltipValue","cronHint","subLabel","extend","TextAreaAutoGrow","CompactInput","maxlength","delay","updated","validationErrors","debounce","delayInput","$slots","tooltipKey","hint","cronstrue","toString","placeholderKey","comp","onFocusLabeled","onBlurLabeled","escapeHtml","result","remainder","title","titleProtip","style","containerStyle","rows","keyLabel","protip","addAllowed","valueLabel","c","canRemove","filteredRows","row","keyOptions","refInFor","isProtected","keyTaggable","calculateOptions","keyName","queueUpdate","keyEditable","keyPlaceholder","composing","onPaste","valueName","supported","binary","binaryTextSize","parseValueFromFile","valueMarkdownMultiline","codeMirrorFocus","onInputMarkdownMultiline","onFocusMarkdownMultiline","valueMultiline","valueConcealed","valuePlaceholder","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","_q","readAllowed","isValueFieldEmpty","onValueFileSelected","remove","removeLabel","filteredKeyOptions","addLabel","onFileSelected","CodeMirror","Select","FileSelector","defaultValue","binaryValueKeys","asMap","initialEmptyRow","keyOptionUnique","protectedKeys","toggleFilter","separatorLabel","valueCanBeEmpty","displayValuesAsBinary","valueTrim","handleBase64","preserveKeys","defaultAddData","addIcon","readLabel","readIcon","readAccept","readMultiple","removeIcon","removeAllowed","fileModifier","parserSeparators","parseLinesFromFile","getRows","gap","size","usedKeyOptions","filter","created","update","input","forEach","decodedValue","base64Decode","asciiValue","asciiLike","canEncode","_this$preserveKeys","entry","k","lastKey","idx","removeAt","removeEmptyRows","cleaned","file","lines","line","download","ev","downloadFile","out","typeOf","JSON","parse","stringify","base64Encode","pastedValue","clipboardData","getData","splitter","keyValues","splice","valueOption","handledValue","binarySize","spellcheck","inheritAttrs","minHeight","maxHeight","curHeight","overflow","deep","handler","queueResize","autoSize","ta","height","border","parseInt","getComputedStyle","getPropertyValue","min","scrollHeight","overflowY","clicked","stopPropagation","_uid","isChecked","muteLabel","hasLabelSlot","hasDescriptionSlot","validator","custom","tagName","clickNext","normalizedOptions","RadioButton","labels","opts","newIndex"],"mappings":"+LAAA,W,oCCAA,W,oCCAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,MAAM,CAAC,cAAeJ,EAAIK,SAAU,YAAaL,EAAIM,WAAY,CAAGN,EAAIO,SAA66EP,EAAIQ,KAAv6EN,EAAG,KAAK,CAACO,IAAI,UAAUC,YAAY,OAAON,MAAM,CAAC,UAAYJ,EAAIK,SAAU,SAAYL,EAAIK,SAAU,YAAeL,EAAIK,UAAUM,MAAM,CAAC,KAAO,UAAU,SAAW,IAAI,cAAc,gBAAgBC,GAAG,CAAC,QAAU,CAAC,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOK,IAAI,CAAC,QAAQ,gBAA8B,WAAYL,GAA4B,IAAlBA,EAAOM,OAArC,MAA8DN,EAAOO,iBAAwBpB,EAAIqB,WAAW,KAAI,SAASR,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,OAAO,GAAGJ,EAAOK,IAAI,CAAC,OAAO,eAA6B,WAAYL,GAA4B,IAAlBA,EAAOM,OAArC,MAA8DN,EAAOO,iBAAwBpB,EAAIqB,YAAY,KAAI,SAASR,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,OAAO,GAAGJ,EAAOK,IAAI,CAAC,OAAO,cAAqB,MAAKL,EAAOO,iBAAwBpB,EAAIqB,WAAW,KAAI,SAASR,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,KAAK,GAAGJ,EAAOK,IAAI,CAAC,KAAK,YAAmB,MAAKL,EAAOO,iBAAwBpB,EAAIqB,YAAY,QAAO,CAACrB,EAAIsB,GAAItB,EAAIuB,YAAY,SAASC,GAAK,OAAOtB,EAAG,KAAK,CAACgB,IAAIM,EAAIC,KAAKrB,MAAM,CAACoB,KAAK,EAAME,OAAQF,EAAIE,OAAQC,SAAUH,EAAIG,SAAUC,MAAQJ,EAAII,OAAQjB,MAAM,CAAC,GAAKa,EAAIC,KAAK,cAAcD,EAAIC,KAAK,KAAO,iBAAiB,CAACvB,EAAG,IAAI,CAACS,MAAM,CAAC,cAAe,OAAMa,EAAIC,KAAO,gBAAgB,IAAMD,EAAIC,KAAK,gBAAgBD,EAAIE,OAAO,KAAO,OAAOd,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOO,iBAAwBpB,EAAI6B,OAAOL,EAAIC,KAAMZ,MAAW,CAACX,EAAG,OAAO,CAACF,EAAI8B,GAAG9B,EAAI+B,GAAGP,EAAIQ,iBAAkBR,EAAIS,MAAO/B,EAAG,OAAO,CAACQ,YAAY,aAAa,CAACV,EAAI8B,GAAG9B,EAAI+B,GAAGP,EAAIS,UAAUjC,EAAIQ,KAAMR,EAAIkC,QAAQV,GAAMtB,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAIsC,EAAE,kBAAmBC,WAAW,wBAAwB7B,YAAY,qCAAqCV,EAAIQ,YAAYR,EAAIK,WAAaL,EAAIuB,WAAWiB,OAAQtC,EAAG,KAAK,CAACQ,YAAY,gBAAgB,CAACR,EAAG,IAAI,CAACS,MAAM,CAAC,KAAO,KAAKC,GAAG,CAAC,MAAQ,SAASC,GAAQA,EAAOO,oBAAqB,CAACpB,EAAI8B,GAAG,cAAc9B,EAAIQ,KAAMR,EAAIK,UAAYL,EAAIyC,kBAAmBvC,EAAG,KAAK,CAACQ,YAAY,mBAAmB,CAACR,EAAG,KAAK,CAACA,EAAG,SAAS,CAACQ,YAAY,qBAAqBC,MAAM,CAAC,KAAO,UAAUC,GAAG,CAAC,MAAQZ,EAAI0C,gBAAgB,CAACxC,EAAG,IAAI,CAACQ,YAAY,qBAAqBR,EAAG,SAAS,CAACQ,YAAY,qBAAqBC,MAAM,CAAC,KAAO,SAAS,UAAYX,EAAIuB,WAAWiB,QAAQ5B,GAAG,CAAC,MAAQZ,EAAI2C,mBAAmB,CAACzC,EAAG,IAAI,CAACQ,YAAY,0BAA0BV,EAAIQ,KAAKR,EAAI4C,GAAG,mBAAmB,GAAY1C,EAAG,MAAM,CAACE,MAAM,CACrlF,kBAAmBJ,EAAI6C,KAAKL,UAAYxC,EAAIK,SAC5C,aAAcL,EAAI8C,UAClB,wBAAyB9C,EAAI+C,OAC5B,CAAC/C,EAAI4C,GAAG,YAAY,MAEvBI,EAAkB,G,uFCCP,GACfvB,KAAA,SAEAwB,MAAA,CACAC,WAAA,CACApC,KAAAqC,OACAC,QAAA,MAGA/C,SAAA,CACAS,KAAAuC,QACAD,SAAA,GAGAE,cAAA,CACAxC,KAAAuC,QACAD,SAAA,GAGAX,kBAAA,CACA3B,KAAAuC,QACAD,SAAA,GAIAG,eAAA,CACAzC,KAAAuC,QACAD,SAAA,GAGAI,QAAA,CACA1C,KAAAuC,QACAD,SAAA,GAGAN,UAAA,CACAhC,KAAAuC,QACAD,SAAA,GAIAL,KAAA,CACAjC,KAAAuC,QACAD,SAAA,GAGA9C,SAAA,CACAQ,KAAAuC,QACAD,SAAA,IAIAK,UACA,MAAAZ,EAAA,KAAAA,KAEA,OACAxC,SAAA,KAAAA,SAEAqD,OAAAlC,GACA,MAAAmC,EAAAC,eAAAf,EAAA,OAAArB,EAAAC,MAEAkC,GACAE,eAAAhB,EAAAc,GAGAG,eAAAjB,EAAArB,IAGAuC,UAAAvC,GACAqC,eAAAhB,EAAArB,MAKAwC,OACA,OACAnB,KAAA,GACAoB,cAAA,OAIAC,SAAA,CAEA3C,aACA,OAAA4C,eAAA,KAAAtB,KAAA,wCAIAtC,WACA,YAAA+C,eAAA,SAAA/B,WAAAiB,SAIA4B,MAAA,CACA7C,WAAAsB,GACA,iBACAK,EAAA,QACAM,GACA,KACAa,EAAAxB,EAAAyB,KAAAhC,KAAAZ,QAEA6C,EAAAf,EAAA,KAAAgB,OAAAD,UAAAE,EACAC,EAAAlB,EAAAe,EAAAI,MAAA,QAAAF,EACAG,EAAA/B,EAAAyB,KAAAhC,KAAAb,OAAAiD,IAAApC,EAAAZ,QACAmD,EAAAC,IAAAjC,IAAA,KAEAkC,IAAAV,GACAb,IAAAuB,IAAAH,GACA,KAAA/C,OAAA+C,EAAAnD,MACAsD,IAAA7B,IAAA6B,IAAAlC,EAAAyB,KAAAhC,KAAAb,OAAAyB,IAEA,OAAA2B,QAAA,IAAAA,KAAApD,MACA,KAAAI,OAAAgD,EAAApD,MAFA,KAAAI,OAAAqB,GAIAM,IAAA,OAAAa,QAAA,IAAAA,OAAA,EAAAA,EAAA5C,QAAAiD,GACA,KAAA7C,OAAAwC,EAAA5C,QAKAuD,UACA,KAAAxB,SACAyB,OAAAC,iBAAA,kBAAAC,aAIAC,YACA,KAAA5B,SACAyB,OAAAI,oBAAA,kBAAAF,aAIAG,QAAA,CACApD,QAAAV,GACA,OAAAA,EAAA+D,kBAAA/D,EAAAI,QAAAJ,EAAAE,QAEAyD,aACA,SAAA5B,eAAA,CACA,MAAAiC,EAAAC,SAAAC,qBAAA,WAEAF,IACAA,EAAAG,UAAA,GAIA,KAAA9D,OAAA,KAAA2C,OAAAD,OAGAD,KAAA7C,GACA,YAAAF,WAAA+C,KAAAsB,KAAAnE,WAGAI,OAAAJ,GACA,iBAAAF,GAAA,KAEAsE,EAAA,KAAAvB,KAAA7C,GACAqE,EAAA,IAAArE,EAEA,GAAAoE,MAAAlE,SAAA,CAMA,QAAA6B,QAAA,CACA,MACAgB,QAAAD,KAAAwB,GACAC,SAAA,aAAAC,IACA,KAEA,QAAAzC,SAAAuC,IAAAD,EAAA,CACA,MAAAI,EAAA,IAAAD,GAEAC,EAAA3B,KAAAuB,EAEA,KAAAE,QAAAG,QAAAD,IAIA,UAAA1E,KAAAD,EACAC,EAAAE,OAAAF,EAAAC,OAAAoE,EAAApE,KAGA,KAAA2E,MAAA,WAAA5E,IAAAqE,EAAAQ,aAAAR,EAAApE,OACA,KAAAwC,cAAA4B,EAAApE,OAGAJ,WAAAiF,GACA,iBAAA/E,GAAA,KACAgF,EAAAhF,EAAAiF,UAAAZ,KAAAlE,QACA+E,EAAAC,EAAAH,EAAAD,EAAA/E,EAAAiB,QACAmE,EAAApF,EAAAkF,GAAAhF,KAQA,SAAAiF,EAAAH,EAAAD,EAAAM,GACA,MAAAC,EAAAN,EAAAD,EAEA,OAAAO,GAAAD,EACA,EACAC,GAAA,EACAD,EAAA,EAEAC,EAdA,KAAAhF,OAAA8E,GAEA,KAAAG,UAAA,KACA,KAAAC,MAAAC,QAAAC,WAgBAvE,gBACA,MAAAwE,EAAAV,IAAA,KAAA3D,KAAArB,KAAAE,QAEA,KAAA0E,MAAA,SAAAc,IAGAvE,mBACA,MAAAuE,EAAAV,IAAA,KAAA3D,KAAArB,KAAAE,QAEA,KAAA0E,MAAA,YAAAc,MCpOyU,I,wBCQrUC,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,WACA,MAIa,OAAAmE,E,gCClBf,IAAIC,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,4SAA6S,KAEtUD,EAAOF,QAAUA,G,qBCNjB,IAAII,EAAgB,EAAQ,QACxBC,EAAe,EAAQ,QACvBC,EAAY,EAAQ,QAGpBC,EAAYC,KAAKC,IAqCrB,SAAStB,EAAUuB,EAAOC,EAAWC,GACnC,IAAIzF,EAAkB,MAATuF,EAAgB,EAAIA,EAAMvF,OACvC,IAAKA,EACH,OAAQ,EAEV,IAAI0F,EAAqB,MAAbD,EAAoB,EAAIN,EAAUM,GAI9C,OAHIC,EAAQ,IACVA,EAAQN,EAAUpF,EAAS0F,EAAO,IAE7BT,EAAcM,EAAOL,EAAaM,EAAW,GAAIE,GAG1DX,EAAOF,QAAUb,G,oCCrDjB,IAAI2B,EAAYlI,MAAQA,KAAKkI,UAAa,WAStC,OARAA,EAAWC,OAAOC,QAAU,SAAS/F,GACjC,IAAK,IAAIgG,EAAGd,EAAI,EAAGe,EAAIC,UAAUhG,OAAQgF,EAAIe,EAAGf,IAE5C,IAAK,IAAIiB,KADTH,EAAIE,UAAUhB,GACAc,EAAOF,OAAOM,UAAUC,eAAeC,KAAKN,EAAGG,KACzDnG,EAAEmG,GAAKH,EAAEG,IAEjB,OAAOnG,GAEJ6F,EAASU,MAAM5I,KAAMuI,YAEhCJ,OAAOU,eAAezB,EAAS,aAAc,CAAEhF,OAAO,IACtDgF,EAAQ0B,iBAAc,EAGtB,IAAIC,EAAe,SAAU3G,GACzB,MAAI,QAAQ4G,KAAK5G,GACN6G,OAAO7G,GAGP8G,KAGXC,EAAa,SAAU/G,GACvB,MAAiB,MAAVA,GAEPgH,EAAiB,SAAUhH,GAC3B,MAAiB,MAAVA,GAEPiH,EAAY,SAAUjH,EAAOkH,EAAOC,GACpC,OAAOnH,GAASkH,GAASlH,GAASmH,GAElCC,EAAe,SAAUpH,EAAOkH,EAAOC,GACvC,IAAIE,EAAQrH,EAAMsH,MAAM,KACxB,OAAQD,EAAMlH,QACV,KAAK,EACD,OAAO4G,EAAW/G,IAAUiH,EAAUN,EAAa3G,GAAQkH,EAAOC,GACtE,KAAK,EACD,IAAII,EAAKF,EAAMG,KAAI,SAAUC,GAAQ,OAAOd,EAAac,MAAWC,EAAQH,EAAG,GAAII,EAAMJ,EAAG,GAC5F,OAAOG,GAASC,GAAOV,EAAUS,EAAOR,EAAOC,IAASF,EAAUU,EAAKT,EAAOC,GAClF,QACI,OAAO,IAGfS,EAAc,SAAU5H,GACxB,YAAiBoC,IAAVpC,IAAkD,IAA3BA,EAAM6H,OAAO,UAE3CC,EAAmB,SAAU9H,EAAOkH,EAAOC,GAC3C,IAAoC,IAAhCnH,EAAM6H,OAAO,cACb,OAAO,EAEX,IAAIE,EAAO/H,EAAMsH,MAAM,KACvB,OAAOS,EAAKC,OAAM,SAAUC,GACxB,IAAIC,EAASD,EAAUX,MAAM,KAE7B,GAAIW,EAAUE,OAAOC,SAAS,KAC1B,OAAO,EAGX,GAAIF,EAAO/H,OAAS,EAChB,OAAO,EAGX,IAAIkI,EAAOH,EAAO,GAAII,EAAQJ,EAAO,GACrC,OAAOd,EAAaiB,EAAMnB,EAAOC,IAASS,EAAYU,OAG1DC,EAAkB,SAAUC,GAC5B,OAAOV,EAAiBU,EAAS,EAAG,KAEpCC,EAAkB,SAAUC,GAC5B,OAAOZ,EAAiBY,EAAS,EAAG,KAEpCC,EAAgB,SAAUC,GAC1B,OAAOd,EAAiBc,EAAO,EAAG,KAElCC,EAAe,SAAUC,EAAMC,GAC/B,OAAQA,GAAiB/B,EAAe8B,IAAUhB,EAAiBgB,EAAM,EAAG,KAE5EE,EAAa,CACbC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,MAELC,EAAiB,SAAUC,EAAQC,GAEnC,IAAqC,IAAjCD,EAAOjC,OAAO,cACd,OAAO,EAEX,GAAIkC,EAAO,CACP,IAAIC,EAAiBF,EAAOG,cAAcnG,QAAQ,aAAa,SAAUoG,GACrE,YAA6B9H,IAAtB4G,EAAWkB,GAAuBA,EAAQlB,EAAWkB,MAGhE,OAAOpC,EAAiBkC,EAAgB,EAAG,IAE/C,OAAOlC,EAAiBgC,EAAQ,EAAG,KAEnCK,EAAgB,CAChBC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KAELC,EAAmB,SAAUC,EAAUb,EAAOhB,EAAe8B,GAE7D,GAAI9B,GAAiB/B,EAAe4D,GAChC,OAAO,EAEN,IAAK7B,GAAiB/B,EAAe4D,GACtC,OAAO,EAGX,IAAuC,IAAnCA,EAAS/C,OAAO,cAChB,OAAO,EAEX,GAAIkC,EAAO,CACP,IAAIe,EAAmBF,EAASX,cAAcnG,QAAQ,aAAa,SAAUoG,GACzE,YAAgC9H,IAAzB+H,EAAcD,GAAuBA,EAAQC,EAAcD,MAGtE,OAAOpC,EAAiBgD,EAAkB,EAAGD,EAAqB,EAAI,GAE1E,OAAO/C,EAAiB8C,EAAU,EAAGC,EAAqB,EAAI,IAE9DE,EAAyB,SAAUjC,EAAM8B,EAAU7B,GACnD,QAASA,GAAiB/B,EAAe8B,IAAS9B,EAAe4D,KAEjEtD,EAAQ,SAAU0D,GAClB,OAAOA,EAAK7C,OAAOb,MAAM,QAEzB2D,EAAiB,CACjBlB,OAAO,EACPvB,SAAS,EACTO,eAAe,EACf8B,oBAAoB,GAExB7F,EAAQ0B,YAAc,SAAUsE,EAAME,GAClCA,EAAUpF,EAASA,EAAS,GAAImF,GAAiBC,GACjD,IAAIhD,EAASZ,EAAM0D,GACnB,GAAI9C,EAAO/H,QAAU+K,EAAQ1C,QAAU,EAAI,IAAMN,EAAO/H,OAAS,EAC7D,OAAO,EAEX,IAAIgL,EAAS,GACb,GAAsB,IAAlBjD,EAAO/H,OAAc,CACrB,IAAIqI,EAAUN,EAAOkD,QACjB5C,GACA2C,EAAOlG,KAAKsD,EAAgBC,IAKpC,IAAIE,EAAUR,EAAO,GAAIU,EAAQV,EAAO,GAAIY,EAAOZ,EAAO,GAAI4B,EAAS5B,EAAO,GAAI0C,EAAW1C,EAAO,GAOpG,OANAiD,EAAOlG,KAAKwD,EAAgBC,IAC5ByC,EAAOlG,KAAK0D,EAAcC,IAC1BuC,EAAOlG,KAAK4D,EAAaC,EAAMoC,EAAQnC,gBACvCoC,EAAOlG,KAAK4E,EAAeC,EAAQoB,EAAQnB,QAC3CoB,EAAOlG,KAAK0F,EAAiBC,EAAUM,EAAQnB,MAAOmB,EAAQnC,cAAemC,EAAQL,qBACrFM,EAAOlG,KAAK8F,EAAuBjC,EAAM8B,EAAUM,EAAQnC,gBACpDoC,EAAOnD,MAAMhH,W,oCC5KxB,W,oCCAA,W,qBCCA,IAAI+D,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,kEAAmE,KAE5FD,EAAOF,QAAUA,G,oCCNjB,W,uBCCA,IAAID,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,0JAA2J,KAEpLD,EAAOF,QAAUA,G,qBCHjB,IAAIqG,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA2DzK,QAChEyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCT5E,IAAI3N,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,UAAU,CAACiC,WAAW,CAAC,CAACV,KAAK,OAAOW,QAAQ,SAASC,MAAOrC,EAAI0B,OAAQa,WAAW,WAAW5B,MAAM,CAAC,GAAKX,EAAIyB,KAAK,eAAezB,EAAI0B,OAAO,KAAO,aAAa,CAAE1B,EAAI8N,iBAAkB5N,EAAG,MAAM,CAACQ,YAAY,cAAc,CAACR,EAAG,KAAK,CAACF,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIgC,cAAc,KAAMhC,EAAI+N,QAAS7N,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAI+N,QAASxL,WAAW,YAAY7B,YAAY,2BAA2BV,EAAIQ,OAAOR,EAAI4C,GAAG,qBAAqB,GAAG5C,EAAIQ,KAAKR,EAAI4C,GAAG,UAAU,KAAK,KAAK,CAAClB,OAAQ1B,EAAI0B,UAAU,IAE3lBsB,EAAkB,GCDP,GACfgL,OAAA,kCAEA/K,MAAA,CACAgL,MAAA,CACA7K,QAAA,KACAtC,KAAAqC,QAEA+K,SAAA,CACA9K,QAAA,KACAtC,KAAAqC,QAEA1B,KAAA,CACA0M,UAAA,EACArN,KAAAqC,QAEA4K,QAAA,CACA3K,QAAA,KACAtC,KAAA,CAAAqC,OAAAiF,SAEAgG,OAAA,CACAhL,QAAA,EACA+K,UAAA,EACArN,KAAAoI,QAEAmF,WAAA,CACAvN,KAAAuC,QACAD,QAAA,MAEAmC,iBAAA,CACAzE,KAAAuC,QACAD,QAAA,MAEAxB,MAAA,CACAd,KAAAuC,QACAD,SAAA,GAEAnB,MAAA,CACAmB,QAAA,EACA+K,UAAA,EACArN,KAAAoI,SAIAlF,OACA,OAAAtC,OAAA,OAGAwC,SAAA,CACAlC,eACA,YAAAkM,SACA,KAAAI,OAAAC,QAAA,eAAAL,UAGA,KAAAD,MACA,KAAAA,MAGA,KAAAxM,MAGAqM,mBACA,mBAAAO,WACA,KAAAA,WAGA,KAAAhO,WAAA,IAIA+D,MAAA,CACA1C,OAAA8M,GACAA,GACA,KAAApI,MAAA,YAKApB,UACA,KAAAtB,OAAA,OAGA+K,gBACA,KAAA1K,UAAA,QCpFuU,I,wBCQnUoD,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,WACA,MAIa,OAAAmE,E,6CCnBf,IAAIpH,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACQ,YAAY,aAAa,CAAEV,EAAI0O,aAAe1O,EAAI2O,cAAgB3O,EAAI4O,gBAAiB1O,EAAG,MAAM,CAACQ,YAAY,aAAaC,MAAM,CAAC,cAAcX,EAAI6O,gBAAkB,sBAAsB,CAAC3O,EAAG,eAAe,CAACO,IAAI,YAAYE,MAAM,CAAC,MAAQX,EAAIsC,EAAE,mBAAmB,YAActC,EAAIsC,EAAE,6BAA6B,SAAWtC,EAAI8O,wBAAwB,KAAO9O,EAAI+O,KAAK,aAAa,GAAG,SAAW/O,EAAIgP,aAAa,MAAQhP,EAAIiP,MAAMC,WAAWC,MAAM,CAAC9M,MAAOrC,EAAIkP,UAAWE,SAAS,SAAUC,GAAMrP,EAAIkP,UAAUG,GAAK9M,WAAW,eAAerC,EAAG,SAAS,CAACS,MAAM,CAAC,KAAO,iBAAiBC,GAAG,CAAC,MAAQZ,EAAIsP,wBAAwB,CAACpP,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAIsC,EAAE,kBAAmBC,WAAW,wBAAwB7B,YAAY,mCAAmC,GAAGV,EAAIQ,MAAMR,EAAI0O,YAAe1O,EAAI2O,cAAiB3O,EAAI4O,gBAA0nB5O,EAAIQ,KAA7mBN,EAAG,MAAM,CAACQ,YAAY,aAAaC,MAAM,CAAC,cAAcX,EAAI6O,gBAAkB,eAAe,CAAC3O,EAAG,gBAAgB,CAACiC,WAAW,CAAC,CAACV,KAAK,OAAOW,QAAQ,SAASC,OAAQrC,EAAI4O,gBAAiBrM,WAAW,qBAAqB5B,MAAM,CAAC,WAAY,EAAK,QAAUX,EAAIuN,QAAQ,SAAWvN,EAAI8O,wBAAwB,YAAa,EAAK,KAAO9O,EAAI+O,KAAK,UAAW,EAAM,MAAQ/O,EAAIsC,EAAE,mBAAmB,YAActC,EAAIsC,EAAE,4BAA4B,MAAQtC,EAAIiP,MAAMC,UAAU,SAAW,IAAItO,GAAG,CAAC,UAAYZ,EAAIuP,iBAAiBJ,MAAM,CAAC9M,MAAOrC,EAAIkP,UAAWE,SAAS,SAAUC,GAAMrP,EAAIkP,UAAUG,GAAK9M,WAAW,gBAAgB,GAAcvC,EAAI2O,aAA2a3O,EAAIQ,KAAjaN,EAAG,MAAM,CAACQ,YAAY,aAAaC,MAAM,CAAC,cAAcX,EAAI6O,gBAAkB,UAAU,CAAC3O,EAAG,eAAe,CAACgB,IAAI,OAAOT,IAAI,OAAOE,MAAM,CAAC,MAAQX,EAAIsC,EAAEtC,EAAIwP,WAAW,YAAcxP,EAAIsC,EAAEtC,EAAIyP,iBAAiB,SAAWzP,EAAI0P,mBAAmB,KAAO1P,EAAI+O,KAAK,aAAa,GAAG,SAAW/O,EAAIgP,aAAa,MAAQhP,EAAIiP,MAAMxN,MAAM0N,MAAM,CAAC9M,MAAOrC,EAAIyB,KAAM2N,SAAS,SAAUC,GAAMrP,EAAIyB,KAAK4N,GAAK9M,WAAW,WAAW,GAAYrC,EAAG,MAAM,CAACiC,WAAW,CAAC,CAACV,KAAK,OAAOW,QAAQ,SAASC,OAAQrC,EAAI2P,kBAAmBpN,WAAW,uBAAuBnC,MAAM,CAAC,MAAOJ,EAAI4P,aAAapN,OAAS,EAAI,SAAW,UAAU7B,MAAM,CAAC,cAAcX,EAAI6O,gBAAkB,iBAAiB,CAAC3O,EAAG,eAAe,CAACgB,IAAI,cAAcP,MAAM,CAAC,KAAOX,EAAI+O,KAAK,SAAW/O,EAAI6P,oBAAoB,MAAQ7P,EAAIsC,EAAEtC,EAAI8P,kBAAkB,YAAc9P,EAAIsC,EAAEtC,EAAI+P,wBAAwB,aAAa,GAAG,MAAQ/P,EAAIiP,MAAMe,aAAab,MAAM,CAAC9M,MAAOrC,EAAIgQ,YAAaZ,SAAS,SAAUC,GAAMrP,EAAIgQ,YAAYX,GAAK9M,WAAW,kBAAkB,GAAGvC,EAAIsB,GAAItB,EAAI4P,cAAc,SAASK,GAAM,OAAO/P,EAAG,MAAM,CAACgB,IAAI+O,EAAK7P,MAAM,CAAE8P,KAAK,EAAM,CAAClQ,EAAImQ,UAAU,IAAQ,CAACnQ,EAAI4C,GAAGqN,IAAO,MAAMjQ,EAAIoQ,WAAYlQ,EAAG,MAAM,CAACQ,YAAY,WAAWV,EAAIQ,MAAM,IAEpuFwC,EAAkB,G,qHCFf,SAASqN,EAAcC,GAC5B,OAAQA,GAAO,IACZ9F,OACA8B,cACAnG,QAAQ,OAAQ,KAChBA,QAAQ,MAAO,KACfA,QAAQ,MAAO,IACfA,QAAQ,MAAO,ICKL,OACf1E,KAAA,oBACA8O,WAAA,CACAC,oBACAC,sBAGAxN,MAAA,CACAZ,MAAA,CACAvB,KAAAsH,OACA+F,UAAA,GAEAY,KAAA,CACAjO,KAAAqC,OACAgL,UAAA,GAEAQ,aAAA,CACA7N,KAAAuC,QACAD,SAAA,GAEAuM,kBAAA,CACA7O,KAAAuC,QACAD,SAAA,GAEAwM,aAAA,CACA9O,KAAA4P,MACAtN,YAAA,IAEAoM,UAAA,CACA1O,KAAAqC,OACAC,QAAA,gCAEAuN,aAAA,CACA7P,KAAAuC,QACAD,SAAA,GAEAqM,gBAAA,CACA3O,KAAAqC,OACAC,QAAA,sCAEAwN,aAAA,CACA9P,KAAAuC,QACAD,SAAA,GAEA4L,aAAA,CACAlO,KAAAuC,QACAD,SAAA,GAEAyN,eAAA,CACA/P,KAAAuC,QACAD,SAAA,GAEAsL,WAAA,CACA5N,KAAAuC,QACAD,SAAA,GAEA0N,gBAAA,CAAAhQ,KAAAiQ,SAAA3N,QAAA,MACA4N,gBAAA,CAAAlQ,KAAAiQ,SAAA3N,QAAA,MACA6N,cAAA,CACAnQ,KAAAqC,OACAC,QAAA8N,QAEAC,eAAA,CACArQ,KAAAqC,OACAC,QAAA,qCAEAgO,qBAAA,CACAtQ,KAAAqC,OACAC,QAAA,2CAEAiO,kBAAA,CACAvQ,KAAAuC,QACAD,SAAA,GAEAkO,oBAAA,CACAxQ,KAAAuC,QACAD,SAAA,GAEAmO,mBAAA,CACAzQ,KAAAuC,QACAD,SAAA,GAKAoO,mBAAA,CACA1Q,KAAA4P,MACAtN,QAAA,MAKAqO,iBAAA,CACA3Q,KAAA4P,MACAtN,QAAA,MAEAsO,wBAAA,CACA5Q,KAAAuC,QACAD,SAAA,GAEA0M,iBAAA,CACAhP,KAAAqC,OACAC,QAAA,uCAEA2M,uBAAA,CACAjP,KAAAqC,OACAC,QAAA,6CAEAyM,oBAAA,CACA/O,KAAAuC,QACAD,SAAA,GAGAuO,QAAA,CACA7Q,KAAAqC,OACAC,QAAA,MAEAwO,aAAA,CACA9Q,KAAAqC,OACAC,QAAA,MAEAyO,eAAA,CACA/Q,KAAAqC,OACAC,QAAA,MAEA0O,eAAA,CACAhR,KAAAqC,OACAC,QAAA,MAEAgN,WAAA,CACAtP,KAAAuC,QACAD,SAAA,GAEA2O,WAAA,CACAjR,KAAAuC,QACAD,SAAA,GAEA6L,MAAA,CACA7L,aAAA,CACA8L,UAAA,GACAzN,KAAA,GACAuO,YAAA,KAEAlP,KAAAsH,QAOAyG,gBAAA,CACA/N,KAAAqC,OACAC,QAAA,wBAIAY,OACA,MAAAgO,EAAA,KAAA3P,MACA4P,EAAAD,EAAAC,SACA,IAAA/C,EAAAzN,EAAAuO,EA4BA,IAAAkC,GAzBAzQ,EADA,KAAAkQ,QACAQ,eAAAH,EAAA,KAAAL,SAEA,OAAAM,QAAA,IAAAA,OAAA,EAAAA,EAAAxQ,KAGA,KAAAiN,aACA,KAAAoD,gBACA5C,EAAA,KAAA4C,eACA,KAAAM,gBAAAlD,IAEAA,EADA,KAAA0C,aACAO,eAAAH,EAAA,KAAAJ,cAEA,OAAAK,QAAA,IAAAA,OAAA,EAAAA,EAAA/C,UAGAA,GAAA,KAAAqC,qBACArC,EAAA,KAAAZ,OAAAC,QAAA,oBACA0D,IACAA,EAAA/C,eAKA,KAAA2C,gBACA7B,EAAAmC,eAAAH,EAAA,KAAAH,gBAEA7B,EAAA,OAAAiC,QAAA,IAAAA,GAAA,QAAAC,EAAAD,EAAAI,mBAAA,IAAAH,OAAA,EAAAA,EAAAI,QAGA,MAAAC,EAAA,KAAAjE,OAAAC,QAAA,kBACAiE,EAAA,KAAAlE,OAAAC,QAAAgE,EAAA,cAAArB,QAEA,OACAhC,YACAzN,OACAuO,cACApB,iBAAA,EACA4D,aAIAtO,SAAA,IACAuO,eAAA,sEACA3D,0BACA,QACA,KAAAgD,gBAAA,KAAAT,mBAAA,KAAAtC,OAAA2D,QAIAhD,qBACA,YAAAkB,cAAA,KAAA7B,OAAA2D,SAAA,KAAA/B,cAMApD,UACA,IAAAoF,EAEA,QAAAnB,mBAEAmB,EAAA,KAAAnB,wBAEA,QAAAC,iBAEAkB,GAAA,KAAAlB,iBAAA5H,IAAA+I,KAAAnR,OAAA,IAAAoR,WACA,CAEA,MAAAC,EAAA,KAAAC,SAAA,KAAAC,oBAAA,KAAAL,aAEAA,EAAAvK,OAAA6K,KAAAH,GAIA,MAAAvF,EAAAoF,EACA9I,IAAAqF,IAAA,CAAAgE,YAAAhE,EAAAiE,GAAAjE,KACArF,IAAA,KAAAmH,iBAAA,CAAAoC,IAAA,CACAnF,MAAAmF,EAAAF,YACA7Q,MAAA+Q,EAAAD,OAGAE,EAAAlP,eAAAoJ,EAAA,SAEA,KAAAuE,gBACAuB,EAAAC,QAAA,CACArF,MAAA,KAAA6D,eACAzP,MAAA,KAAAyP,iBAIA,MAAAyB,EAAA,CACAtF,MAAA,KAAA3L,EAAA,6BACAD,MAAA,GACAmR,KAAA,eAEAC,EAAA,CACAxF,MAAA,UACAtM,UAAA,EACA6R,KAAA,WAGAE,EAAA,KAAAC,oBAAA,KAAAjC,wBAAA,CAAA6B,EAAAE,GAAA,GAEA,UACAC,KACAL,IAIAO,SACA,YAAA7E,OAAA8E,QAGAd,WACA,YAAAhE,OAAA+E,QAGA3D,UACA,SAAA4B,WACA,eAGA,IAAAgC,GAAA,KAAApF,aAAA,WAAAgB,kBAAA,UAAAC,aAAApN,OAEAuR,EAAAlM,KAAAC,IAAA,EAAAiM,GACA,MAAAC,EAAA,GAAAD,EAEA,cAAAC,GAGAL,qBAAA,IAAAM,EAAAC,EAEA,gBAAAD,EAAA,KAAAzB,gBAAA,IAAAyB,OAAA,EAAAA,EAAAE,oBAAA,IAAAC,SAAA,kBAAAF,EAAA,KAAAG,sBAAA,IAAAH,OAAA,EAAAA,EAAAI,aAIAlQ,MAAA,CACA3C,KAAA8S,GACA,KAAAlE,gBACAkE,EAAAlE,EAAAkE,IAGA,KAAA5C,QACA6C,eAAA,KAAAnS,MAAA,KAAAsP,QAAA4C,GAEA,KAAAE,KAAA,KAAApS,MAAA4P,SAAA,OAAAsC,GAEA,KAAAnO,MAAA,WAGA8I,UAAAqF,GACA,KAAAnC,gBAAAmC,GACA,KAAAnO,MAAA,WAGA4J,YAAAuE,GACA,KAAA1C,eACA2C,eAAA,KAAAnS,MAAA,KAAAwP,eAAA0C,GAEA,KAAAlS,MAAAqS,cAAApC,OAAAiC,GAEA,KAAAnO,MAAA,YAIApB,UACA,KAAA8B,UAAA,KACA,KAAAC,MAAAtF,MACA,KAAAsF,MAAAtF,KAAAwF,WAKA3B,QAAA,CACA8M,gBAAAmC,GACA,KAAAzC,iBACAyC,EAAA,KAAAzC,gBAGA,KAAApD,YACA,KAAAtI,MAAA,kBAAAmO,GAAA,KAAAhH,UAAA,KAAAA,QAAAjJ,KAAAiE,KAAAlG,QAAAkS,IAGA,KAAA3C,aACA4C,eAAA,KAAAnS,MAAA,KAAAuP,aAAA2C,GAEA,KAAAlS,MAAA4P,SAAA/C,UAAAqF,GAIAI,uBAAAC,GACA,KAAAnT,MAAAmT,EAAAC,MAAA,IAAAvI,cACA,KAAA4C,UAAA0F,EAAA/O,UAGAyJ,sBAAAsF,GAAA,IAAAE,EACA,KAAAlG,iBAAA,EACA,KAAAmG,QAAA3O,MAAA,sBAEA,KAAA8I,UAAA,KAAAZ,OAAAC,QAAA,8BAAAuG,EAAA,KAAAvH,QAAAjJ,KAAA0Q,OAAA3S,cAAA,IAAAyS,OAAA,EAAAA,EAAAzS,QAGAkN,gBAAAqF,GACAA,GAAA,KAAAA,EAAAvS,OAMA,KAAAuM,iBAAA,EACA,KAAAmG,QAAA3O,MAAA,sBACA,KAAAA,MAAA,uBAPA,KAAAwI,iBAAA,EACA,KAAAmG,QAAA3O,MAAA,sBACA,KAAAA,MAAA,qBACA6O,IAAAC,SAAA,SAAAnO,MAAAmI,UAAAjI,aC7XqV,I,wBCQjVE,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,WACA,MAIa,OAAAmE,E,6CCnBf,IAAIpH,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACO,IAAI,SAASC,YAAY,mBAAmBN,MAAM,CAC3HuB,SAAU3B,EAAI2B,WAAa3B,EAAI4T,OAC/BuB,QAASnV,EAAImV,QACb,CAACnV,EAAI+O,OAAO,EACZ,CAAC/O,EAAIoV,QAASpV,EAAIoV,OAClBC,SAAUrV,EAAIsV,OAAOD,SACrBA,SAAUrV,EAAIsV,OAAOC,UACrB3U,GAAG,CAAC,MAAQZ,EAAIwV,cAAc,CAACtV,EAAG,WAAWF,EAAIyV,GAAGzV,EAAI0V,GAAG,CAACjV,IAAI,eAAeC,YAAY,SAASN,MAAM,CAAC,oBAAkC,SAAbJ,EAAI+O,MAAiBpO,MAAM,CAAC,YAAa,EAAK,iBAAiBX,EAAI2V,aAAa,qBAAqB3V,EAAI4V,iBAAiB,SAAW5V,EAAI4T,QAAU5T,EAAI2B,SAAS,iBAAkBkU,GAAQ7V,EAAI8V,aAAaD,GAAK,mBAAoBA,GAAQ7V,EAAI+V,eAAeF,GAAK,MAAQ7V,EAAIgW,YAAY,QAAUhW,EAAIuN,QAAQ,kBAAkBvN,EAAIiW,cAAc,cAAcjW,EAAIkW,WAAW,YAAclW,EAAImW,YAAY,OAAUvQ,GAAM5F,EAAIoW,OAAOxQ,GAAG,WAAa5F,EAAIqW,aAAa,WAAarW,EAAIsW,WAAW,MAAqB,MAAbtW,EAAIqC,MAAgBrC,EAAIqC,MAAQ,IAAIzB,GAAG,CAAC,cAAcZ,EAAIuW,OAAO,eAAevW,EAAIwW,QAAQ,KAAOxW,EAAIyW,cAAc,iBAAkB7B,GAAM5U,EAAIoG,MAAM,kBAAmBwO,IAAI8B,YAAY1W,EAAI2W,GAAG,CAAC,CAACzV,IAAI,SAAS0V,GAAG,SAASC,GAAQ,MAAO,CAAC3W,EAAG,MAAM,CAACU,GAAG,CAAC,UAAagU,GAAM5U,EAAI8W,cAAcD,EAAQjC,KAAK,CAAC5U,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG8U,EAAO5I,OAAO,UAAUjO,EAAIsB,GAAItB,EAAI+W,cAAc,SAASC,EAAE/G,GAAM,MAAO,CAAC/O,IAAI+O,EAAK2G,GAAG,SAASK,GAAO,MAAO,CAACjX,EAAI4C,GAAGqN,EAAK,KAAK,KAAKgH,UAAa,MAAK,IAAO,WAAWjX,EAAIsV,QAAO,GAAOtV,EAAIkX,aAAclX,EAAI+N,UAAY/N,EAAImV,QAASjV,EAAG,iBAAiB,CAACS,MAAM,CAAC,MAAQX,EAAImX,aAAa,MAAQnX,EAAI+N,QAAQ,OAAS/N,EAAIoV,UAAUpV,EAAIQ,KAAQR,EAAIoX,kBAAmBlX,EAAG,iBAAiB,CAACS,MAAM,CAAC,MAAQX,EAAImX,aAAa,MAAQnX,EAAIoX,qBAAqBpX,EAAIQ,MAAM,IAE73CwC,EAAkB,G,4DCFP,GACfuN,WAAA,CAAA8G,uBACAC,OAAA,CAAAC,OAAAC,QACAvU,MAAA,CACA0S,aAAA,CACAvS,SAAA,EACAtC,KAAAuC,SAEA1B,SAAA,CACAyB,SAAA,EACAtC,KAAAuC,SAEAoU,gBAAA,CACArU,QAAA,KACAtC,KAAAiQ,UAEAhC,KAAA,CACA3L,QAAA,OACAtC,KAAAqC,QAEAuU,UAAA,CACAtU,QAAA,KACAtC,KAAAqC,QAEA6S,YAAA,CACA5S,QAAA,QACAtC,KAAAqC,QAEAwU,UAAA,CACAvU,QAAA,KACAtC,KAAAqC,QAEAgT,YAAA,CACArV,KAAAqC,OACAC,QAAA,IAEAwU,eAAA,CACA9W,KAAAiQ,SACA3N,QAAA,MAEAgT,OAAA,CACAhT,QAAAwR,GACAA,GAAA,kBAAAA,QAAAnQ,IAAAmQ,EAAAvS,MACAuS,EAAAvS,MAGAuS,EAEA9T,KAAAiQ,UAEAhD,QAAA,CACAjN,KAAAqC,OACAC,QAAA,MAGA+T,aAAA,CACArW,KAAAuC,QACAD,SAAA,GAGAgS,OAAA,CACAtU,KAAAqC,OACAC,QAAA,MAEAf,MAAA,CACAe,QAAA,KACAtC,KAAA,CAAAqC,OAAAiF,OAAAc,OAAAwH,MAAArN,UAEA4S,cAAA,CACAnV,KAAAuC,QACAD,SAAA,IAIAkC,QAAA,CAEAyQ,eAAAc,GACA,YAAAvB,OAAA,oBACA,KAAAA,OAAA,oBAAAuB,GAEA1E,eAAA0E,EAAA,KAAAb,aACA,KAAA6B,eACA,KAAAvJ,OAAAC,QAAA,UAAA4D,eAAA0E,EAAA,KAAAb,cAEA7D,eAAA0E,EAAA,KAAAb,aAGAa,GAIAjB,iBAAAkC,EAAA3Q,GAAA,MAAA4Q,IACA,QAAAH,eACA,YAAAA,eAAAE,EAAA3Q,EAAA,CAAA4Q,UAGAC,eAAAF,EAAA3Q,EAAA4Q,EAAA,KAAAJ,YAGA1Q,QACA,KAAAuO,eAGAA,cACA,KAAA1O,UAAA,SAAAmR,EACA,MAAAC,EAAA,QAAAD,EAAA,KAAAlR,MAAA,2BAAAkR,OAAA,EAAAA,EAAAE,SAEAD,GACAA,EAAAjR,WAKAkL,WAEA2E,cAAAD,EAAAuB,GACAtB,OAAAlO,KAAA,KAAAiO,EAAAuB,IAEA9B,WAAAT,GAGA,OAAAA,IACAA,EAAAlU,UAAA,UAAAkU,EAAArC,MAAA,YAAAqC,EAAArC,OAAAqC,EAAAwC,SAUAvC,aAAAD,GAEA,GAAAA,GAAA,KAAA6B,UACA,OAAAvF,eAAA0D,EAAA,KAAA6B,WAMA,UAAA7B,QAAA,IAAAA,KAAA6B,UAEA,OAAAvF,eAAA0D,IAAA6B,WAOA,MAAAzJ,EAAA,KAAA8H,eAAAF,GAGA,wBAAA5H,GAAA,kBAAAA,EACAA,EAEApG,KAAAyQ,OAAA,MAGAC,OAAA3D,GACA4D,MAAA5D,KAGA1Q,SAAA,CACAuU,gBAEA,YAAAtK,UAAA,KAAAc,MAAAyJ,KAAAC,GAAA,qBAAAA,QAAA,IAAAA,OAAA,EAAAA,EAAAlX,QAEA2V,oBAEA,MAAAwB,EAAA,KAAA3J,MAAA3K,KAAAqU,GAAA,qBAAAA,QAAA,IAAAA,OAAA,EAAAA,EAAAlX,OACAoX,EAAA,GACAxW,EAAA,uCAAAA,MAEA,GAAAuW,GAAA,KAAAE,UAAA,KAAA3D,QAAA,CACA,MAAA4D,EAAAH,EAAAvW,GAEA,GAAA0W,EACA,OAAAA,EAIA,UAAAJ,KAAA,KAAA1J,MAAA,CACA,MAAA8J,EAAAJ,EAAAtW,GAEA0W,GAAA,aAAAJ,EAAAlX,MACAoX,EAAAvR,KAAAyR,GAGA,OAAAF,EAAArW,OAAA,SAAAsW,SAAA,KAAA3D,SACA0D,EAAAG,KAAA,WAEA,KCvM0U,I,wBCQtU,EAAY,eACd,EACAjZ,EACAiD,GACA,EACA,KACA,WACA,MAIa,S,6CCnBf,W,uBCCA,IAAIoE,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,49CAA69C,KAEt/CD,EAAOF,QAAUA,G,oCCNjB,W,uBCGA,IAAIqG,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwDzK,QAC7DyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCN5E,IAAIA,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA2DzK,QAChEyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCR5E,IAAItG,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,m7DAAo7D,KAE78DD,EAAOF,QAAUA,G,uBCLjB,IAAID,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,gNAAiN,KAE1OD,EAAOF,QAAUA,G,uBCNjB,IAAI4R,EAAW,EAAQ,QAGnBC,EAAW,IACXC,EAAc,sBAyBlB,SAASC,EAAS/W,GAChB,IAAKA,EACH,OAAiB,IAAVA,EAAcA,EAAQ,EAG/B,GADAA,EAAQ4W,EAAS5W,GACbA,IAAU6W,GAAY7W,KAAW6W,EAAU,CAC7C,IAAIG,EAAQhX,EAAQ,GAAK,EAAI,EAC7B,OAAOgX,EAAOF,EAEhB,OAAO9W,IAAUA,EAAQA,EAAQ,EAGnCkF,EAAOF,QAAU+R,G,uBCtCjB,IAAI1L,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwDzK,QAC7DyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,sECT5E,IAAI3N,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMmZ,YAAY,OAAOpZ,EAAG,MAAM,CAACE,MAAM,CAC5G,iBAAiB,EACjB+U,QAASnV,EAAImV,QACb,CAACnV,EAAI+O,OAAO,EACZpN,SAAU3B,EAAIuZ,WACd,CAACvZ,EAAIoV,QAASpV,EAAIoV,OAClBoE,OAAQxZ,EAAIyZ,UACZ,cAAezZ,EAAI0Z,WACnB,gBAAiB1Z,EAAI2Z,UACrBC,WAAY5Z,EAAI4Z,aACf,CAAC5Z,EAAI4C,GAAG,SAAQ,WAAW,MAAO,CAAE5C,EAAI6Z,SAAU3Z,EAAG,QAAQ,CAAEF,EAAIkO,SAAUhO,EAAG,IAAI,CAACS,MAAM,CAAC,EAAIX,EAAIkO,YAAalO,EAAIiO,MAAO,CAACjO,EAAI8B,GAAG9B,EAAI+B,GAAG/B,EAAIiO,SAASjO,EAAIQ,KAAMR,EAAIyY,cAAevY,EAAG,OAAO,CAACQ,YAAY,YAAY,CAACV,EAAI8B,GAAG,OAAO9B,EAAIQ,MAAM,GAAGR,EAAIQ,SAAQR,EAAI4C,GAAG,UAAU5C,EAAI4C,GAAG,SAAQ,WAAW,MAAO,CAAe,cAAb5C,EAAIc,MAAqC,uBAAbd,EAAIc,KAA+BZ,EAAG,mBAAmBF,EAAI0V,GAAG,CAACjV,IAAI,QAAQL,MAAM,CAAE0Z,QAAsB,uBAAb9Z,EAAIc,MAAgCH,MAAM,CAAC,UAAYX,EAAI+Z,WAAW,SAAW/Z,EAAIuZ,WAAW,MAAQvZ,EAAIqC,MAAM,YAAcrC,EAAIga,aAAa,eAAiB,OAAOpZ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOb,EAAIia,QAAQpZ,IAAS,MAAQb,EAAIwW,QAAQ,KAAOxW,EAAIuW,SAAS,mBAAmBvW,EAAIsV,QAAO,IAAQpV,EAAG,QAAQF,EAAI0V,GAAG,CAACjV,IAAI,QAAQL,MAAM,CAAE,YAAaJ,EAAI6Z,UAAWlZ,MAAM,CAAC,UAAYX,EAAI+Z,WAAW,SAAW/Z,EAAIuZ,WAAW,KAAoB,SAAbvZ,EAAIc,KAAkB,OAASd,EAAIc,KAAK,YAAcd,EAAIga,aAAa,aAAe,MAAM,eAAiB,MAAM,gBAAgBha,EAAIka,wBAAwBC,SAAS,CAAC,MAAQna,EAAIqC,OAAOzB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOb,EAAIia,QAAQpZ,EAAOuZ,OAAO/X,QAAQ,MAAQrC,EAAIwW,QAAQ,KAAOxW,EAAIuW,OAAO,OAASvW,EAAIqa,WAAW,QAAQra,EAAIsV,QAAO,QAAWtV,EAAI4C,GAAG,UAAW5C,EAAI0Z,aAAe1Z,EAAImV,QAASjV,EAAG,iBAAiB,CAACS,MAAM,CAAC,MAAQX,EAAImX,aAAa,MAAQnX,EAAIsa,aAAa,OAASta,EAAIoV,UAAUpV,EAAIQ,KAAQR,EAAIoX,kBAAmBlX,EAAG,iBAAiB,CAACS,MAAM,CAAC,MAAQX,EAAImX,aAAa,MAAQnX,EAAIoX,qBAAqBpX,EAAIQ,KAAMR,EAAIua,SAAUra,EAAG,QAAQ,CAACQ,YAAY,cAAc,CAACV,EAAI8B,GAAG9B,EAAI+B,GAAG/B,EAAIua,aAAava,EAAIQ,KAAMR,EAAIwa,SAAUta,EAAG,QAAQ,CAACQ,YAAY,aAAa,CAACV,EAAI8B,GAAG9B,EAAI+B,GAAG/B,EAAIwa,aAAaxa,EAAIQ,MAAM,IAExpDwC,EAAkB,G,8HCApBiS,MACAwF,OAAO,CACPlK,WAAY,CAAE8G,sBAAgBqD,yBAC9BpD,OAAY,CAACC,OAAoBoD,QAEjC1X,MAAO,CAKLnC,KAAM,CACJA,KAASqC,OACTC,QAAS,QAOXgS,OAAQ,CACNtU,KAASqC,OACTC,QAAS,MAMXoX,SAAU,CACR1Z,KAASqC,OACTC,QAAS,MAMX2K,QAAS,CACP3K,QAAS,KACTtC,KAAS,CAACqC,OAAQiF,SAMpB+O,aAAc,CACZrW,KAASuC,QACTD,SAAS,GAOX8W,uBAAwB,CACtB9W,SAAS,EACTtC,KAASuC,SAMXuX,UAAW,CACT9Z,KAASoI,OACT9F,QAAS,MAOXwW,WAAY,CACV9Y,KAASuC,QACTD,SAAS,GAMXyX,MAAO,CACL/Z,KAASoI,OACT9F,QAAS,IAIbY,OACE,MAAO,CACL8W,SAAkB,EAClBC,iBAAkB,KAItB7W,SAAU,CAIR+V,UACE,OAAOha,KAAK4a,MAAQG,sBAAS/a,KAAKgb,WAAYhb,KAAK4a,OAAS5a,KAAKgb,YAMnEpB,WACE,OAAO5Z,KAAK0Z,cAAsB1Z,KAAKgO,SAAWhO,KAAKiO,YAAcjO,KAAKib,OAAOjN,QAMnFyL,aACE,QAASzZ,KAAK8N,WAAa9N,KAAKkb,YAGlCb,eACE,GAAIra,KAAKyZ,WACP,OAAOzZ,KAAKkb,WAAalb,KAAKqC,EAAErC,KAAKkb,YAAclb,KAAK8N,SAS5D0L,YACE,QAASxZ,KAAKib,OAAO1B,QAMvBe,WACE,GAAkB,SAAdta,KAAKa,MAAoBb,KAAKoC,MAAlC,CAGA,IAAK0G,yBAAY9I,KAAKoC,OACpB,OAAOpC,KAAKqC,EAAE,uBAEhB,IACE,MAAM8Y,EAAOC,IAAUC,SAASrb,KAAKoC,OAErC,OAAO+Y,EACP,MAAOxG,GACP,OAAO3U,KAAKqC,EAAE,0BAOlB0X,eACE,OAAI/Z,KAAKkW,YACAlW,KAAKkW,YAAYmF,WAEtBrb,KAAKsb,eACAtb,KAAKqC,EAAErC,KAAKsb,gBAGd,IAMTxB,aACE,MAAkB,SAAd9Z,KAAKa,MAAmBb,KAAK2a,UACxB3a,KAAK2a,UAGP,OAIXtV,QAAS,CAIP2B,QACE,MAAMuU,EAAOvb,KAAK8G,MAAM1E,MAEpBmZ,GACFA,EAAKvU,SAQTpF,SACE,MAAM2Z,EAAOvb,KAAK8G,MAAM1E,MAEpBmZ,GACFA,EAAK3Z,UAOTwY,SAASjC,GACPnY,KAAKmG,MAAM,SAAUgS,IAUvB6C,WAAW5Y,GACTpC,KAAKmG,MAAM,QAAS/D,IAOtBmU,UACEvW,KAAKwb,kBAQPlF,OAAO6B,GACLnY,KAAKmG,MAAM,OAAQgS,GACnBnY,KAAKyb,iBAGPC,qBCpPwY,I,kCCSxYxU,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,WACA,MAIa,EAAAmE,E,8BCnBf,IAAIC,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,olBAAqlB,KAE9mBD,EAAOF,QAAUA,G,uBCNjB,IAAI+R,EAAW,EAAQ,QA4BvB,SAASzR,EAAUtF,GACjB,IAAIuZ,EAASxC,EAAS/W,GAClBwZ,EAAYD,EAAS,EAEzB,OAAOA,IAAWA,EAAUC,EAAYD,EAASC,EAAYD,EAAU,EAGzErU,EAAOF,QAAUM,G,mBCjBjB,SAAS7C,EAAKiD,GACZ,OAAQA,GAASA,EAAMvF,OAAUuF,EAAM,QAAKtD,EAG9C8C,EAAOF,QAAUvC,G,kCCtBjB,IAAI/E,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACQ,YAAY,aAAa,CAAEV,EAAI8b,OAAS9b,EAAIkb,OAAOY,MAAO5b,EAAG,MAAM,CAACQ,YAAY,YAAY,CAACV,EAAI4C,GAAG,SAAQ,WAAW,MAAO,CAAC1C,EAAG,KAAK,CAACF,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAI8b,OAAO,KAAM9b,EAAI+b,YAAa7b,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAI+b,YAAaxZ,WAAW,gBAAgB7B,YAAY,mBAAmBV,EAAIQ,YAAW,GAAGR,EAAIQ,KAAKN,EAAG,MAAM,CAACQ,YAAY,eAAesb,MAAOhc,EAAIic,gBAAiB,CAAEjc,EAAIkc,KAAK1Z,QAAUxC,EAAI4T,OAAQ,CAAC1T,EAAG,QAAQ,CAACQ,YAAY,cAAc,CAACV,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAImc,UAAU,KAAMnc,EAAIoc,SAAWpc,EAAI4T,QAAU5T,EAAIqc,WAAYnc,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAIoc,OAAQ7Z,WAAW,WAAW7B,YAAY,mBAAmBV,EAAIQ,OAAON,EAAG,QAAQ,CAACQ,YAAY,cAAc,CAACV,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIsc,YAAY,OAAOtc,EAAIsB,GAAItB,EAAI4P,cAAc,SAAS2M,GAAG,OAAOrc,EAAG,QAAQ,CAACgB,IAAIqb,GAAG,CAACvc,EAAI4C,GAAG,SAAS2Z,GAAE,WAAW,MAAO,CAACvc,EAAI8B,GAAG9B,EAAI+B,GAAGwa,SAAQ,MAAMvc,EAAIwc,UAAWxc,EAAI4C,GAAG,UAAS,WAAW,MAAO,CAAC1C,EAAG,YAAWF,EAAIQ,MAAMR,EAAIQ,MAAOR,EAAIkc,KAAK1Z,QAAUxC,EAAI4T,OAAQ,CAAC1T,EAAG,MAAM,CAACQ,YAAY,0BAA0B,CAACV,EAAI8B,GAAG,SAAS5B,EAAG,MAAM,CAACQ,YAAY,0BAA0B,CAACV,EAAI8B,GAAG,UAAU9B,EAAIsB,GAAItB,EAAIyc,cAAc,SAASC,EAAIlV,GAAG,MAAO,CAACtH,EAAG,MAAM,CAACgB,IAAIsG,EAAE,MAAM9G,YAAY,eAAe,CAACV,EAAI4C,GAAG,OAAM,WAAW,MAAO,CAAE5C,EAAI2c,WAAYzc,EAAG,SAAS,CAACO,IAAI,MAAMmc,UAAS,EAAKjc,MAAM,CAAC,YAAa,EAAK,SAAWX,EAAI2B,UAAY3B,EAAI6c,YAAYH,EAAIxb,KAAK,WAAY,EAAM,SAAWlB,EAAI8c,YAAY,QAAU9c,EAAI+c,iBAAiBL,EAAI1c,EAAIgd,UAAU,cAAe,sBAAqBxV,GAAK5G,GAAG,CAAC,MAAQZ,EAAIid,aAAa9N,MAAM,CAAC9M,MAAOqa,EAAI1c,EAAIgd,SAAU5N,SAAS,SAAUC,GAAMrP,EAAIyU,KAAKiI,EAAK1c,EAAIgd,QAAS3N,IAAM9M,WAAW,kBAAkBrC,EAAG,QAAQ,CAACiC,WAAW,CAAC,CAACV,KAAK,QAAQW,QAAQ,UAAUC,MAAOqa,EAAI1c,EAAIgd,SAAUza,WAAW,iBAAiB9B,IAAI,MAAMmc,UAAS,EAAKjc,MAAM,CAAC,SAAWX,EAAI4T,QAAU5T,EAAI2B,WAAa3B,EAAIkd,aAAeld,EAAI6c,YAAYH,EAAIxb,KAAK,YAAclB,EAAImd,eAAe,cAAe,qBAAoB3V,GAAK2S,SAAS,CAAC,MAASuC,EAAI1c,EAAIgd,UAAWpc,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAWA,EAAOuZ,OAAOgD,WAAiBpd,EAAIyU,KAAKiI,EAAK1c,EAAIgd,QAASnc,EAAOuZ,OAAO/X,QAAQrC,EAAIid,aAAa,MAAQ,SAASpc,GAAQ,OAAOb,EAAIqd,QAAQ7V,EAAG3G,UAAc,CAAC,IAAM6b,EAAI,KAAO1c,EAAI+O,KAAK,QAAU/O,EAAIgd,QAAQ,UAAYhd,EAAIsd,UAAU,YAActd,EAAIid,YAAY,SAAWjd,EAAI2B,YAAY,GAAGzB,EAAG,MAAM,CAACgB,IAAIsG,EAAE,QAAQ9G,YAAY,gBAAgBC,MAAM,CAAC,cAAe,iBAAgB6G,IAAM,CAACxH,EAAI4C,GAAG,SAAQ,WAAW,MAAO,CAAG8Z,EAAIa,UAA4Fb,EAAIc,OAAQtd,EAAG,MAAM,CAACF,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIyd,eAAef,EAAIra,QAAQ,OAAOnC,EAAG,MAAM,CAACQ,YAAY,kBAAkBN,MAAM,CAAE,gBAAiBJ,EAAI0d,qBAAsB,CAAE1d,EAAI2d,uBAAwBzd,EAAG,aAAa,CAACO,IAAI,KAAKmc,UAAS,EAAKxc,MAAM,CAAC,CAAC,SAAUJ,EAAI4d,gBAAgBpW,IAAI7G,MAAM,CAAC,cAAc,8BAA8B,MAAQ+b,EAAI1c,EAAIsd,WAAW,gBAAe,EAAK,KAAOtd,EAAI+O,MAAMnO,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOb,EAAI6d,yBAAyBrW,EAAG3G,IAAS,QAAU,SAASA,GAAQ,OAAOb,EAAI8d,yBAAyBtW,EAAG3G,OAAab,EAAI+d,eAAgB7d,EAAG,mBAAmB,CAACE,MAAM,CAAC,QAAWJ,EAAIge,gBAAgBrd,MAAM,CAAC,cAAc,kBAAkB,SAAWX,EAAI2B,UAAY3B,EAAI6c,YAAYH,EAAIxb,KAAK,KAAOlB,EAAI+O,KAAK,YAAc/O,EAAIie,iBAAiB,aAAa,GAAG,YAAa,GAAOrd,GAAG,CAAC,MAAQZ,EAAIid,aAAa9N,MAAM,CAAC9M,MAAOqa,EAAI1c,EAAIsd,WAAYlO,SAAS,SAAUC,GAAMrP,EAAIyU,KAAKiI,EAAK1c,EAAIsd,UAAWjO,IAAM9M,WAAW,oBAAkE,cAA5CvC,EAAIge,eAAiB,WAAa,QAAsB9d,EAAG,QAAQ,CAACiC,WAAW,CAAC,CAACV,KAAK,QAAQW,QAAQ,UAAUC,MAAOqa,EAAI1c,EAAIsd,WAAY/a,WAAW,mBAAmB5B,MAAM,CAAC,SAAWX,EAAI4T,QAAU5T,EAAI2B,UAAY3B,EAAI6c,YAAYH,EAAIxb,KAAK,YAAclB,EAAIie,iBAAiB,YAAc,MAAM,eAAiB,MAAM,WAAa,QAAQ,KAAO,YAAY9D,SAAS,CAAC,QAAUzJ,MAAMwN,QAAQxB,EAAI1c,EAAIsd,YAAYtd,EAAIme,GAAGzB,EAAI1c,EAAIsd,WAAW,OAAO,EAAGZ,EAAI1c,EAAIsd,YAAa1c,GAAG,CAAC,MAAQZ,EAAIid,YAAY,OAAS,SAASpc,GAAQ,IAAIud,EAAI1B,EAAI1c,EAAIsd,WAAWe,EAAKxd,EAAOuZ,OAAOkE,IAAID,EAAKE,QAAuB,GAAG7N,MAAMwN,QAAQE,GAAK,CAAC,IAAI/O,EAAI,KAAKmP,EAAIxe,EAAIme,GAAGC,EAAI/O,GAAQgP,EAAKE,QAASC,EAAI,GAAIxe,EAAIyU,KAAKiI,EAAK1c,EAAIsd,UAAWc,EAAIK,OAAO,CAACpP,KAAamP,GAAK,GAAIxe,EAAIyU,KAAKiI,EAAK1c,EAAIsd,UAAWc,EAAIzZ,MAAM,EAAE6Z,GAAKC,OAAOL,EAAIzZ,MAAM6Z,EAAI,UAAYxe,EAAIyU,KAAKiI,EAAK1c,EAAIsd,UAAWgB,OAAwD,WAA5Cte,EAAIge,eAAiB,WAAa,QAAmB9d,EAAG,QAAQ,CAACiC,WAAW,CAAC,CAACV,KAAK,QAAQW,QAAQ,UAAUC,MAAOqa,EAAI1c,EAAIsd,WAAY/a,WAAW,mBAAmB5B,MAAM,CAAC,SAAWX,EAAI4T,QAAU5T,EAAI2B,UAAY3B,EAAI6c,YAAYH,EAAIxb,KAAK,YAAclB,EAAIie,iBAAiB,YAAc,MAAM,eAAiB,MAAM,WAAa,QAAQ,KAAO,SAAS9D,SAAS,CAAC,QAAUna,EAAI0e,GAAGhC,EAAI1c,EAAIsd,WAAW,OAAO1c,GAAG,CAAC,MAAQZ,EAAIid,YAAY,OAAS,SAASpc,GAAQ,OAAOb,EAAIyU,KAAKiI,EAAK1c,EAAIsd,UAAW,UAAUpd,EAAG,QAAQ,CAACiC,WAAW,CAAC,CAACV,KAAK,QAAQW,QAAQ,UAAUC,MAAOqa,EAAI1c,EAAIsd,WAAY/a,WAAW,mBAAmB5B,MAAM,CAAC,SAAWX,EAAI4T,QAAU5T,EAAI2B,UAAY3B,EAAI6c,YAAYH,EAAIxb,KAAK,YAAclB,EAAIie,iBAAiB,YAAc,MAAM,eAAiB,MAAM,WAAa,QAAQ,KAAOje,EAAIge,eAAiB,WAAa,QAAQ7D,SAAS,CAAC,MAASuC,EAAI1c,EAAIsd,YAAa1c,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAWA,EAAOuZ,OAAOgD,WAAiBpd,EAAIyU,KAAKiI,EAAK1c,EAAIsd,UAAWzc,EAAOuZ,OAAO/X,QAAQrC,EAAIid,gBAAiBjd,EAAI0d,oBAAsB1d,EAAI2e,cAAgB3e,EAAI4T,QAAU5T,EAAI4e,kBAAkBlC,EAAI1c,EAAIsd,YAAapd,EAAG,eAAe,CAACQ,YAAY,0CAA0CC,MAAM,CAAC,MAAQX,EAAIsC,EAAE,kBAAkB,qBAAoB,GAAM1B,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAOb,EAAI6e,oBAAoBrX,EAAG3G,OAAYb,EAAIQ,MAAM,GAA/rGN,EAAG,MAAM,CAACF,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIsC,EAAE,yBAA0B,MAAM,IAAO,UAA2nG,CAAC,IAAMoa,EAAI,KAAO1c,EAAI+O,KAAK,QAAU/O,EAAIgd,QAAQ,UAAYhd,EAAIsd,UAAU,YAActd,EAAIid,eAAe,GAAGjd,EAAIsB,GAAItB,EAAI4P,cAAc,SAAS2M,GAAG,OAAOrc,EAAG,MAAM,CAACgB,IAAIsG,EAAI+U,EAAE7b,YAAY,iBAAiB,CAACV,EAAI4C,GAAG,OAAS2Z,EAAE,KAAK,CAAC,IAAMG,EAAI,YAAc1c,EAAIid,eAAe,MAAMjd,EAAIwc,UAAWtc,EAAG,MAAM,CAACgB,IAAIsG,EAAE9G,YAAY,iBAAiBC,MAAM,CAAC,cAAe,iBAAgB6G,IAAM,CAACxH,EAAI4C,GAAG,gBAAe,WAAW,MAAO,CAAC1C,EAAG,SAAS,CAACQ,YAAY,gBAAgBC,MAAM,CAAC,KAAO,SAAS,SAAWX,EAAI4T,QAAU5T,EAAI6c,YAAYH,EAAIxb,MAAQlB,EAAI2B,UAAUf,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOb,EAAI8e,OAAOtX,MAAM,CAACxH,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAI+e,aAAe/e,EAAIsC,EAAE,mBAAmB,UAAS,CAAC,OAAStC,EAAI8e,OAAO,IAAMpC,EAAI,EAAIlV,KAAK,GAAGxH,EAAIQ,UAAS,IAAKR,EAAIqc,aAAcrc,EAAI2e,aAAiB3e,EAAI4T,OAAwqB5T,EAAIQ,KAApqBN,EAAG,MAAM,CAACQ,YAAY,gBAAgB,CAACV,EAAI4C,GAAG,OAAM,WAAW,MAAO,CAAE5C,EAAIqc,WAAYnc,EAAG,SAAS,CAACQ,YAAY,wBAAwBC,MAAM,CAAC,KAAO,SAAS,SAAWX,EAAIqY,SAAWrY,EAAI2B,UAAa3B,EAAI2c,YAAgD,IAAlC3c,EAAIgf,mBAAmBxc,QAAe5B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOb,EAAI6N,SAAS,CAAE7N,EAAIqY,QAASnY,EAAG,IAAI,CAACQ,YAAY,6CAA6CV,EAAIQ,KAAKR,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIif,UAAU,OAAOjf,EAAIQ,KAAMR,EAAI2e,YAAaze,EAAG,eAAe,CAACQ,YAAY,gBAAgBC,MAAM,CAAC,SAAWX,EAAI4T,OAAO,MAAQ5T,EAAIsC,EAAE,wBAAwB,qBAAoB,GAAM1B,GAAG,CAAC,SAAWZ,EAAIkf,kBAAkBlf,EAAIQ,QAAO,CAAC,IAAMR,EAAI6N,OAAO,MAE3rO7K,EAAkB,G,yJCYP,GACfvB,KAAA,WAEA8O,WAAA,CACA4O,kBACAC,cACA1E,wBACA2E,qBAEApc,MAAA,CACAZ,MAAA,CACAvB,KAAA,CAAA4P,MAAAtI,QACAhF,QAAA,MAEAkc,aAAA,CACAxe,KAAA,CAAA4P,MAAAtI,QACAhF,QAAA,MAGAmc,gBAAA,CACAze,KAAA,CAAA4P,MAAAtI,QACAhF,QAAA,MAEA2L,KAAA,CACAjO,KAAAqC,OACAC,QAAAsP,QAEA8M,MAAA,CACA1e,KAAAuC,QACAD,SAAA,GAEAqc,gBAAA,CACA3e,KAAAuC,QACAD,SAAA,GAEA0Y,MAAA,CACAhb,KAAAqC,OACAC,QAAA,IAGA2Y,YAAA,CACAjb,KAAAqC,OACAC,QAAA,IAGAgZ,OAAA,CACAtb,KAAA,CAAAqC,OAAAE,SACAD,UACA,YAAAkL,OAAAC,QAAA,uCAIAyO,QAAA,CACAlc,KAAAqC,OACAC,QAAA,OAEA+Y,SAAA,CACArb,KAAAqC,OACAC,UACA,YAAAkL,OAAAC,QAAA,2BAGA2O,YAAA,CACApc,KAAAuC,QACAD,SAAA,GAGAuZ,WAAA,CACA7b,KAAA4P,MACAtN,QAAA,MAGA0Z,YAAA,CACAhc,KAAAuC,QACAD,SAAA,GAEAsc,gBAAA,CACA5e,KAAAuC,QACAD,SAAA,GAEA+Z,eAAA,CACArc,KAAAqC,OACAC,UACA,YAAAkL,OAAAC,QAAA,uCAMAoR,cAAA,CACA7e,KAAA4P,MACAtN,YAAA,IAKAwc,aAAA,CACA9e,KAAAuC,QACAD,SAAA,GAEAyc,eAAA,CACA/e,KAAAqC,OACAC,QAAA,IAGAka,UAAA,CACAxc,KAAAqC,OACAC,QAAA,SAEAkZ,WAAA,CACAxb,KAAAqC,OACAC,UACA,YAAAkL,OAAAC,QAAA,6BAGA0P,iBAAA,CACAnd,KAAAqC,OACAC,UACA,YAAAkL,OAAAC,QAAA,yCAGAuR,gBAAA,CACAhf,KAAAuC,QACAD,SAAA,GAEA2c,sBAAA,CACAjf,KAAAuC,QACAD,SAAA,GAEAua,uBAAA,CACA7c,KAAAuC,QACAD,SAAA,GAEA2a,eAAA,CACAjd,KAAAuC,QACAD,SAAA,GAEA4c,UAAA,CACAlf,KAAAuC,QACAD,SAAA,GAEA6c,aAAA,CACAnf,KAAAuC,QACAD,SAAA,GAEA4a,eAAA,CACAld,KAAAuC,QACAD,SAAA,GAMAma,UAAA,CACAzc,KAAAiQ,SACA3N,QAAA4O,IAAA,GAIAkO,aAAA,CACApf,KAAA4P,MACAtN,QAAA,MAEAwM,aAAA,CACA9O,KAAA4P,MACAtN,YAAA,IAEA+c,eAAA,CACArf,KAAAsH,OACAhF,gBAEA6b,SAAA,CACAne,KAAAqC,OACAC,UACA,YAAAkL,OAAAC,QAAA,2BAGA6R,QAAA,CACAtf,KAAAqC,OACAC,QAAA,aAEAiZ,WAAA,CACAvb,KAAAuC,QACAD,SAAA,GAEAid,UAAA,CACAvf,KAAAqC,OACAC,UACA,YAAAkL,OAAAC,QAAA,oCAGA+R,SAAA,CACAxf,KAAAqC,OACAC,QAAA,eAEAub,YAAA,CACA7d,KAAAuC,QACAD,SAAA,GAEAmd,WAAA,CACAzf,KAAAqC,OACAC,QAAA,KAEAod,aAAA,CACA1f,KAAAuC,QACAD,SAAA,GAEA2b,YAAA,CACAje,KAAAqC,OACAC,QAAA,IAEAqd,WAAA,CACA3f,KAAAqC,OACAC,QAAA,cAEAsd,cAAA,CACA5f,KAAAuC,QACAD,SAAA,GAEAud,aAAA,CACA7f,KAAAiQ,SACA3N,SAAA3B,EAAAY,KAAA,CAAAZ,OAAAY,WAEAue,iBAAA,CACA9f,KAAA4P,MACAtN,YAAA,YAEAiV,QAAA,CACAjV,SAAA,EACAtC,KAAAuC,SAEAwd,mBAAA,CACAzd,SAAA,EACAtC,KAAAuC,SAEAqa,mBAAA,CACAta,SAAA,EACAtC,KAAAuC,SAEA1B,SAAA,CACAyB,SAAA,EACAtC,KAAAuC,UAGAW,OACA,MAAAkY,EAAA,KAAA4E,QAAA,KAAAze,OAEA,OACA6Z,OACA0B,gBAAA,KAIA1Z,SAAA,CACA0P,SACA,YAAA7E,OAAA8E,QAEAoI,iBACA,MAAA8E,EAAA,KAAAvE,UAAA,WACAwE,EAAA,OAAApR,aAAApN,OAEA,uCAAAwe,UAAAD,MAEAE,iBACA,YAAA/E,KAAArS,IAAA6S,KAAA,KAAAM,WAEAgC,qBACA,YAAAU,gBACA,KAAA/C,WACAuE,OAAArK,IAAA,KAAAoK,eAAA7M,SAAAyC,EAAAxU,QAGA,KAAAsa,YAKAH,YACA,YAAA5I,QAAA,KAAA8M,eAKAjE,eACA,YAAAP,KAAAgF,OAAAxE,KAAA,KAAAG,YAAAH,EAAAxb,OAAA,KAAA0e,iBAGAuB,UACA,KAAAlE,YAAAjC,IAAA,KAAAoG,OAAA,MAEAhd,MAAA,CACAkb,aAAA9Q,GACAkC,MAAAwN,QAAA1P,KACA,KAAA0N,KAAA,KAAA4E,QAAAtS,GACA,KAAApI,MAAA,QAAAoI,MAIAlJ,QAAA,CACAuX,YAAA3b,GACA,YAAAye,eAAA,KAAAA,cAAAvL,SAAAlT,IAGA4f,QAAAze,GACA,MAAA6Z,EAAA,GAEA,QAAAsD,MAAA,CACA,MAAA6B,EAAAhf,GAAA,GAEA+F,OAAA6K,KAAAoO,GAAAC,QAAApgB,IACA,IAAAmB,EAAAgf,EAAAngB,GACA,MAAAqgB,EAAAC,eAAAH,EAAAngB,IACAugB,EAAAC,eAAAH,GAEA,KAAAtB,cAAAwB,IACApf,EAAAmf,eAAAnf,IAGA6Z,EAAA5U,KAAA,CACApG,MACAmB,QACAmb,OAAA,KAAAuC,uBAAA,KAAAE,eAAAwB,EACAE,UAAA,KAAA1B,cAAAwB,EACAlE,WAAA,UAGA,CACA,MAAA8D,EAAAhf,GAAA,GAEA,UAAAqa,KAAA2E,EAAA,KAAAO,EACA,IAAAvf,EAAAqa,EAAA,KAAAY,YAAA,GAEA,MAAAiE,EAAAC,eAAA9E,EAAA,KAAAY,YACAmE,EAAAC,eAAAH,GAEA,KAAAtB,cAAAwB,IACApf,EAAAmf,eAAAnf,IAEA,MAAAwf,EAAA,CACA,MAAA7E,SAAAN,EAAA,KAAAM,UAAA,GACA,MAAAM,WAAAjb,EACAmb,OAAA,KAAAuC,uBAAA,KAAAE,eAAAwB,EACAE,UAAA,KAAA1B,cAAAwB,EACAlE,UAAA,KAAAA,UAAAb,IAGA,QAAAkF,EAAA,KAAA1B,oBAAA,IAAA0B,KAAA/X,IAAAiY,IACA,qBAAApF,EAAAoF,KACAD,EAAAC,GAAApF,EAAAoF,MAGA5F,EAAA5U,KAAAua,IAaA,OAVA3F,MAAA1Z,QAAA,KAAAid,iBACAvD,EAAA5U,KAAA,CACA,MAAA0V,SAAA,GACA,MAAAM,WAAA,GACAE,QAAA,EACAmE,UAAA,KAAA1B,aACA1C,WAAA,IAIArB,GAGArO,IAAA3M,EAAA,GAAAmB,EAAA,IACA,MAAA+Q,EAAA,IACA,KAAA+M,eACA,MAAAnD,SAAA9b,EACA,MAAAoc,WAAAjb,GAGA+Q,EAAAoK,QAAA,EACApK,EAAAuO,UAAA,KAAA1B,aACA7M,EAAAmK,WAAA,EACA,KAAArB,KAAA5U,KAAA8L,GACA,KAAA6J,cACA,KAAAnW,UAAA,KACA,QAAAC,MAAA7F,IAAA,CACA,MAAA+R,EAAA,KAAAlM,MAAA7F,IAEA6gB,EAAA9O,IAAAzQ,OAAA,GAEAuf,EAAA9a,aAEA,KAAAb,MAAA,eAIA0Y,OAAAkD,GACAC,eAAA,KAAA/F,KAAA8F,GACA,KAAA/E,eAEAiF,kBACA,MAAAC,EAAA,KAAAjG,KAAAgF,OAAAxE,GACAA,EAAAra,MAAAG,QAAAka,EAAAxb,IAAAsB,QAGA,KAAAiS,KAAA,YAAA0N,IAEAjD,eAAAkD,GACA,WAAA3gB,EAAA,MAAAY,GAAA,KAAAse,aAAAyB,EAAA3gB,KAAA2gB,EAAA/f,OAEA,QAAAwe,mBAEA,CACA,MAAAwB,EAAAhgB,EAAAsH,MAAA,MAEA0Y,EAAAf,QAAAgB,IAEA,GAAAA,EAAA9f,OAAA,CACA,MAAAtB,EAAAmB,GAAAigB,EAAA3Y,MAAA,KAEA,KAAAkE,IAAA3M,EAAAmB,MAIAggB,EAAA7f,OAAA,GACA,KAAA0f,uBAdA,KAAArU,IAAApM,EAAAY,EAAA,KAAA0d,wBAkBAwC,SAAAP,EAAAQ,GACA,MAAA9F,EAAA,KAAAR,KAAA8F,GACAvgB,EAAAib,EAAA,KAAAM,SACA3a,EAAAqa,EAAA,KAAAY,WAEAmF,eAAAhhB,EAAAY,EAAA,6BAEA+e,SACA,IAAAsB,EAEA,QAAAlD,MAAA,CACAkD,EAAA,GACA,MAAA1F,EAAA,KAAAA,QACAM,EAAA,KAAAA,UAEA,UAAAZ,KAAA,KAAAR,KAAA,CACA,IAAA7Z,EAAAqa,EAAAY,IAAA,GACA,MAAApc,GAAAwb,EAAAM,IAAA,IAAAxS,OAEAnI,GAAA,WAAAsgB,eAAAtgB,GACAqgB,EAAAxhB,GAAA0hB,KAAAC,MAAAD,KAAAE,UAAAzgB,KAEAA,KAAA,GACA,KAAA2d,WAAA0B,eAAArf,KACAA,IAAAmI,QAEAkS,EAAAiF,YACAtf,EAAA0gB,eAAA1gB,IAEAnB,IAAAmB,GAAA,KAAAyd,mBACA4C,EAAAxhB,GAAAmB,SAIA,CACA,MAAA6d,EAAA,KAAAA,cAAA,GAEArc,eAAAqc,EAAA,KAAAlD,SACAnZ,eAAAqc,EAAA,KAAA5C,WACAoF,EAAA,KAAAxG,KAAArS,IAAA6S,IACA,IAAAra,EAAAqa,EAAA,KAAAY,WAEAZ,EAAAiF,YACAtf,EAAA0gB,eAAA1gB,IAEA,MAAAwf,EAAA,CACA,MAAA7E,SAAAN,EAAA,KAAAM,SACA,MAAAM,WAAAjb,GAGA,UAAAyf,KAAA5B,EACA,qBAAAxD,EAAAoF,KACAD,EAAAC,GAAApF,EAAAoF,IAIA,OAAAD,IAGA,KAAAzb,MAAA,QAAAsc,IAEArF,QAAAnV,EAAAkQ,EAAA4K,GACA,MAAAnO,EAAAuD,EAAA6K,cAAAC,QAAA,cACAb,EAAAxN,EAAAlL,MAAA,MACAY,EAAA8X,EAAAxY,IAAAyY,IACA,MAAAa,GAAAb,EAAAlO,SAAA,MAAAkO,EAAAvhB,QAAA,KAAAuhB,EAAAvhB,QAAA,MAAAuhB,EAAAlO,SAAA,aAEA,OAAAkO,EAAA3Y,MAAAwZ,KAGA,OAAA5Y,EAAA/H,QAAA,IAAA+H,EAAA/H,QAAA+H,EAAA,GAAA/H,OAAA,EACA,OAEA4V,EAAAhX,iBACA,MAAAgiB,EAAA7Y,EAAAV,IAAAF,IAAA,CACA,MAAAqT,UAAArT,EAAA,QAAAa,OACA,MAAA8S,YAAA3T,EAAA,QAAAa,OACA+S,WAAA,EACAoE,UAAA,KAAA1B,aACAzC,OAAA,KAAAuC,yBAGA,KAAA7D,KAAAmH,OAAAnb,EAAA,KAAAkb,GACA,KAAAnG,eAEAF,iBAAA1a,GACA,MAAAihB,EAAA,KAAA3G,WAAArY,KAAA0Q,KAAA3S,WAEA,OAAAihB,EACA,CAAAA,KAAA,KAAAtE,oBAGA,KAAAA,oBAEAvB,eAAAlJ,GACA,MAAAgP,EAAA,KAAAtD,aAAAuB,eAAAjN,KACAhM,EAAAgM,EAAA/R,OAAAghB,eAAAD,GAAA,EAEA,YAAAjhB,EAAA,qBAAAiG,MAAA,IAEA4J,WAIA0L,yBAAAmE,EAAA3f,GACA,KAAA6Z,KAAA,KAAAA,KAAArS,IAAA,CAAA6S,EAAAlV,QAAAwa,EAAA,IAAAtF,EAAAra,SAAAqa,GACA,KAAAO,eAKAa,yBAAAkE,EAAA3f,GACA,KAAAoS,KAAA,KAAAmJ,gBAAAoE,EAAA3f,IAEAwc,oBAAAmD,EAAAI,GACA,WAAA3gB,EAAA,MAAAY,GAAA+f,EAEA,KAAAlG,KAAA8F,GAAA,KAAAhF,WACA,KAAAd,KAAA8F,GAAA,KAAAhF,SAAAvb,GAEA,KAAAya,KAAA8F,GAAA,KAAA1E,WAAAjb,GAEAuc,kBAAAvc,GACA,OAAAA,GAAA,IAAAA,EAAAmI,OAAAhI,UCjjB4U,I,wBCQxU2E,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,KACA,MAIa,OAAAmE,E,8BChBf,IAAIuG,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwDzK,QAC7DyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCR5E,IAAItG,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,ioCAAkoC,KAE3pCD,EAAOF,QAAUA,G,kCCNjB,W,qBCCA,IAAID,EAA8B,EAAQ,QAC1CC,EAAUD,GAA4B,GAEtCC,EAAQC,KAAK,CAACC,EAAOC,EAAI,slGAAulG,KAEhnGD,EAAOF,QAAUA,G,qBCHjB,IAAIqG,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwDzK,QAC7DyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,IAAI3N,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMmZ,YAAY,OAAOpZ,EAAG,WAAWF,EAAI0V,GAAG,CAACjV,IAAI,KAAKC,YAAY,oBAAoBsb,MAAOhc,EAAIgc,MAAOrb,MAAM,CAAC,cAAc,sBAAsB,SAAWX,EAAIuZ,WAAW,YAAcvZ,EAAImW,YAAY,WAAanW,EAAIyjB,YAAY7iB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOb,EAAIoG,MAAM,QAASvF,IAAS,MAAQ,SAASA,GAAQ,OAAOb,EAAIia,QAAQpZ,EAAOuZ,OAAO/X,QAAQ,MAAQ,SAASxB,GAAQ,OAAOb,EAAIoG,MAAM,QAASvF,IAAS,KAAO,SAASA,GAAQ,OAAOb,EAAIoG,MAAM,OAAQvF,MAAW,WAAWb,EAAIsV,QAAO,KAE7jBtS,EAAkB,G,sDCUPiS,MAAIwF,OAAO,CACxBiJ,cAAc,EAEdzgB,MAAO,CAKL8L,KAAM,CACJjO,KAASqC,OACTC,QAASsP,QAOXiR,UAAW,CACT7iB,KAASoI,OACT9F,QAAS,IAOXwgB,UAAW,CACT9iB,KAASoI,OACT9F,QAAS,KAMX+S,YAAa,CACXrV,KAASqC,OACTC,QAAS,IAOXqgB,WAAY,CACV3iB,KAASuC,QACTD,SAAS,GAMXzB,SAAU,CACRb,KAASuC,QACTD,SAAS,IAIbY,OACE,MAAO,CACL6f,UAAW5jB,KAAK0jB,UAChBG,SAAW,WAIf5f,SAAU,CAIRqV,aACE,OAAOtZ,KAAK0B,UAAY1B,KAAK8O,OAAS8E,QAOxCmI,QACE,MAAO,WAAY/b,KAAK4jB,0BAA4B5jB,KAAK6jB,cAI7D1f,MAAO,CACLkR,OAAQ,CACNyO,MAAM,EACNC,UACE/jB,KAAKgkB,iBAKX9C,UACElhB,KAAKgkB,YAAcjJ,IAAS/a,KAAKikB,SAAU,MAG7Clf,UACG/E,KAAK8G,MAAMod,GAAmBnI,MAAMoI,OAAankB,KAAK4jB,UAAT,KAC9C5jB,KAAK6G,UAAU,KACb7G,KAAKikB,cAIT5e,QAAS,CAIP2U,QAAQ1F,GACNtU,KAAKmG,MAAM,QAASmO,GACpBtU,KAAKgkB,eAMPhd,Q,OACa,QAAV2C,EAAA3J,KAAK8G,aAAK,IAAA6C,OAAA,EAAAA,EAAEua,IAAmBld,SAOlCid,WACE,MAAMhM,EAAKjY,KAAK8G,MAAMod,GAEtB,IAAKjM,EACH,OAGFA,EAAG8D,MAAMoI,OAAS,MAElB,MAAMC,EAASC,SAASC,iBAAiBrM,GAAIsM,iBAAiB,kBAAmB,KAAO,EAAIF,SAASC,iBAAiBrM,GAAIsM,iBAAiB,qBAAsB,KAAO,EAClKhW,EAAM3G,KAAKC,IAAI7H,KAAK0jB,UAAW9b,KAAK4c,IAAIvM,EAAGwM,aAAeL,EAAQpkB,KAAK2jB,YAE7E1L,EAAG8D,MAAM2I,UAAYzM,EAAGwM,aAAelW,EAAM,OAAS,SACtD0J,EAAG8D,MAAMoI,OAAa5V,EAAJ,KAElBvO,KAAK4jB,UAAYrV,MCpJyX,I,YCO5YrH,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,KACA,MAIa,OAAAmE,E,8BCff,IAAIuG,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA2DzK,QAChEyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,qBCGA,IAAIA,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwDzK,QAC7DyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oECT5E,IAAI3N,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMmZ,YAAY,OAAOpZ,EAAG,QAAQ,CAACE,MAAM,CAAC,SAAYJ,EAAIuZ,WAAY,mBAAmB,GAAM3Y,GAAG,CAAC,QAAU,CAAC,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOK,IAAI,SAAgB,KAAYlB,EAAI4kB,QAAQ/jB,IAAS,SAASA,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOK,IAAI,CAAC,IAAI,aAAoB,KAAYlB,EAAI4kB,QAAQ/jB,KAAU,MAAQ,SAASA,GAAiC,OAAzBA,EAAOgkB,kBAAyB7kB,EAAI4kB,QAAQ/jB,MAAW,CAACX,EAAG,QAAQ,CAACS,MAAM,CAAC,GAAKX,EAAI8kB,KAAK,SAAS,SAAW9kB,EAAIuZ,WAAW,KAAOvZ,EAAIyB,KAAK,KAAO,QAAQ,UAAY,GAAG0Y,SAAS,CAAC,MAAQ,GAAGna,EAAIuU,IAAI,QAAUvU,EAAI+kB,WAAWnkB,GAAG,CAAC,MAAQ,SAASC,GAAQA,EAAOgkB,kBAAkBhkB,EAAOO,qBAAsBlB,EAAG,OAAO,CAACO,IAAI,SAASL,MAAM,CAAEJ,EAAIuZ,WAAa,aAAe,GAAI,gBAAgB5Y,MAAM,CAAC,SAAWX,EAAIuZ,YAAc,EAAI,EAAE,aAAavZ,EAAIiO,MAAM,eAAejO,EAAI+kB,UAAU,KAAO,WAAW7kB,EAAG,MAAM,CAACQ,YAAY,YAAY,CAACR,EAAG,QAAQ,CAACE,MAAM,CAAEJ,EAAIglB,UAAY,aAAe,GAAI,cAAe,OAAOrkB,MAAM,CAAC,IAAMX,EAAIyB,OAAO,CAAEzB,EAAIilB,aAAcjlB,EAAI4C,GAAG,SAAU5C,EAAIiO,MAAO/N,EAAG,OAAO,CAACiC,WAAW,CAAC,CAACV,KAAK,aAAaW,QAAQ,eAAeC,MAAOrC,EAAIiO,MAAO1L,WAAW,YAAYvC,EAAIQ,MAAM,GAAIR,EAAI6R,gBAAkB7R,EAAIgQ,YAAa9P,EAAG,MAAM,CAACQ,YAAY,4CAA4C,CAAEV,EAAI6R,eAAgB3R,EAAG,IAAI,CAACS,MAAM,CAAC,EAAIX,EAAI6R,kBAAmB7R,EAAIgQ,YAAa,CAAChQ,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIgQ,aAAa,MAAMhQ,EAAIQ,MAAM,GAAIR,EAAIklB,mBAAoBhlB,EAAG,MAAM,CAACQ,YAAY,4CAA4C,CAACV,EAAI4C,GAAG,gBAAgB,GAAG5C,EAAIQ,UAEpoDwC,EAAkB,G,iCCEPiS,MAAIwF,OAAO,CACxBxX,MAAO,CAILxB,KAAM,CACJX,KAASqC,OACTC,QAAS,IAMXmR,IAAK,CACHpG,UAAW,EACXgX,UAAWA,KAAM,GAMnB9iB,MAAO,CACL8L,UAAW,EACXgX,UAAWA,KAAM,GAMnBlX,MAAO,CACLnN,KAASqC,OACTC,QAAS,IAMXzB,SAAU,CACRb,KAASuC,QACTD,SAAS,GAOX2L,KAAM,CACJjO,KAASqC,OACTC,QAAS,QAMXyO,eAAgB,CACd/Q,KAASqC,OACTC,QAAS,MAMX4M,YAAa,CACXlP,KAASqC,OACTC,QAAS,OAIbY,OACE,MAAO,CAAE+gB,UAAW9kB,KAAKoC,QAAUpC,KAAKsU,MAG1CrQ,SAAU,CAIRqV,aACE,OAAOtZ,KAAK8O,OAAS8E,QAAS5T,KAAK0B,UAMrCqjB,YAEE,OAAO/kB,KAAK0B,YAAc1B,KAAK8O,OAAS8E,QAAS5T,KAAK8kB,YAMxDG,qBACE,QAASjlB,KAAKib,OAAOlL,aAGvBiV,eACE,QAAShlB,KAAKib,OAAOjN,SAAWhO,KAAK8W,aAAa9I,QAItD7J,MAAO,CACL/B,MAAMmM,GACJvO,KAAK8kB,UAAY9kB,KAAKsU,MAAQ/F,EAC1BvO,KAAK8kB,WACN9kB,KAAK8G,MAAMqe,OAAuBne,UAKzC3B,QAAS,CAIPsf,SAAQ,OAAExK,IACJna,KAAKsZ,YAAkC,OAAd,OAANa,QAAM,IAANA,OAAM,EAANA,EAAQiL,UAI/BplB,KAAKmG,MAAM,QAASnG,KAAKsU,SC1H4W,I,wBCQvYpN,EAAY,eACd,EACApH,EACAiD,GACA,EACA,KACA,KACA,MAIa,EAAAmE,E,QCnBXpH,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMmZ,YAAY,OAAOpZ,EAAG,MAAM,CAAEF,EAAIiO,OAASjO,EAAIkO,UAAYlO,EAAI+N,SAAW/N,EAAImb,YAAcnb,EAAIkb,OAAOjN,MAAO/N,EAAG,MAAM,CAACQ,YAAY,qBAAqB,CAACV,EAAI4C,GAAG,SAAQ,WAAW,MAAO,CAAC1C,EAAG,KAAK,CAAEF,EAAIkO,SAAUhO,EAAG,IAAI,CAACS,MAAM,CAAC,EAAIX,EAAIkO,YAAalO,EAAIiO,MAAO,CAACjO,EAAI8B,GAAG,IAAI9B,EAAI+B,GAAG/B,EAAIiO,OAAO,MAAMjO,EAAIQ,KAAMR,EAAImb,WAAYjb,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAIsC,EAAEtC,EAAImb,YAAa5Y,WAAW,kBAAkB7B,YAAY,2BAA4BV,EAAI+N,QAAS7N,EAAG,IAAI,CAACiC,WAAW,CAAC,CAACV,KAAK,gBAAgBW,QAAQ,kBAAkBC,MAAOrC,EAAI+N,QAASxL,WAAW,YAAY7B,YAAY,2BAA2BV,EAAIQ,MAAM,QAAO,GAAGR,EAAIQ,KAAKN,EAAG,MAAM,CAACQ,YAAY,cAAcN,MAAM,CAAC,IAAMJ,EAAI0c,KAAK/b,MAAM,CAAC,SAAW,KAAKC,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,OAAO,GAAGJ,EAAOK,IAAI,CAAC,OAAO,cAAqB,MAAKL,EAAOgkB,kBAAyB7kB,EAAIslB,UAAU,KAAI,SAASzkB,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQf,EAAIgB,GAAGH,EAAOI,QAAQ,KAAK,GAAGJ,EAAOK,IAAI,CAAC,KAAK,YAAmB,MAAKL,EAAOgkB,kBAAyB7kB,EAAIslB,WAAW,QAAOtlB,EAAIsB,GAAItB,EAAIulB,mBAAmB,SAAS1O,EAAOrP,GAAG,OAAOtH,EAAG,MAAM,CAACgB,IAAIlB,EAAIyB,KAAK,IAAI+F,GAAG,CAACxH,EAAI4C,GAAG4E,GAAE,WAAW,MAAO,CAACtH,EAAG,cAAcF,EAAIyV,GAAG,CAACvU,IAAIlB,EAAIyB,KAAK,IAAI+F,EAAE7G,MAAM,CAAC,KAAOX,EAAIyB,KAAK,MAAQzB,EAAIqC,MAAM,MAAQwU,EAAO5I,MAAM,YAAc4I,EAAO7G,YAAY,IAAM6G,EAAOxU,MAAM,SAAWrC,EAAIuZ,WAAW,KAAOvZ,EAAI+O,OAAO/O,EAAIkX,gBAAe,CAAC,UAAYlX,EAAIkX,WAAW,OAASL,EAAO,WAAa7W,EAAIuZ,cAAc,MAAK,MAE9kDvW,EAAkB,GCQPiS,MAAIwF,OAAO,CACxBlK,WAAY,CAAEiV,eACdviB,MAAY,CAIVxB,KAAM,CACJX,KAAUqC,OACVgL,UAAU,GAMZZ,QAAS,CACPzM,KAAU4P,MACVvC,UAAU,GAOZsX,OAAQ,CACN3kB,KAAS4P,MACTtN,QAAS,MAMXf,MAAO,CACLvB,KAAS,CAACuC,QAASF,OAAQiF,QAC3BhF,QAAS,MAMXzB,SAAU,CACRb,KAASuC,QACTD,SAAS,GAOX2L,KAAM,CACJjO,KAASqC,OACTC,QAAS,QAMX6K,MAAO,CACLnN,KAASqC,OACTC,QAAS,MAMX8K,SAAU,CACRpN,KAASqC,OACTC,QAAS,MAMX2K,QAAS,CACPjN,KAAS,CAACqC,OAAQiF,QAClBhF,QAAS,MAMX+X,WAAY,CACVra,KAASqC,OACTC,QAAS,MAMXsZ,IAAK,CACH5b,KAASuC,QACTD,SAAS,IAIbc,SAAU,CAIRqhB,oBACE,MAAM7C,EAAgB,GAEtB,IAAK,IAAIlb,EAAI,EAAGA,EAAIvH,KAAKsN,QAAQ/K,OAAQgF,IAAK,CAC5C,MAAMqO,EAAM5V,KAAKsN,QAAQ/F,GAEN,kBAARqO,GAAoBA,EAC7B6M,EAAIpb,KAAKuO,GACA5V,KAAKwlB,OACd/C,EAAIpb,KAAK,CACP2G,MAAOhO,KAAKwlB,OAAOje,GACnBnF,MAAOwT,IAGT6M,EAAIpb,KAAK,CACP2G,MAAO4H,EACPxT,MAAOwT,IAKb,OAAO6M,GAMT9O,SACE,OAAO3T,KAAK8O,OAAS8E,QAMvB0F,aACE,OAAQtZ,KAAK0B,UAAY1B,KAAK2T,SAIlCtO,QAAS,CAKPggB,UAAUhf,GACR,MAAMof,EAAOzlB,KAAKslB,kBACZ1f,EAAW6f,EAAKphB,KAAMsB,GAAMA,EAAEvD,QAAUpC,KAAKoC,OACnD,IAAIsjB,GAAY9f,EAAW6f,EAAK3kB,QAAQ8E,IAAa,GAAKS,EAEtDqf,GAAYD,EAAKljB,OACnBmjB,EAAWD,EAAKljB,OAAS,EAChBmjB,EAAW,IACpBA,EAAW,GAGb1lB,KAAKmG,MAAM,QAASsf,EAAKC,GAAUtjB,WCnKiW,ICQtY,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,I,8BChBf,IAAIqL,EAAU,EAAQ,QACnBA,EAAQC,aAAYD,EAAUA,EAAQtK,SACnB,kBAAZsK,IAAsBA,EAAU,CAAC,CAACnG,EAAOC,EAAIkG,EAAS,MAC7DA,EAAQE,SAAQrG,EAAOF,QAAUqG,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA2DzK,QAChEyK,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa","file":"elemental-1.3.0.umd.min.vendors~edit.js","sourcesContent":["export * from \"-!../../../../../vue-style-loader/index.js??ref--8-oneOf-1-0!../../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LabeledInput.vue?vue&type=style&index=1&id=387a3779&prod&lang=css\"","export * from \"-!../../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LabeledInput.vue?vue&type=style&index=0&id=387a3779&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{'side-tabs': !!_vm.sideTabs, 'tabs-only': _vm.tabsOnly }},[(!_vm.hideTabs)?_c('ul',{ref:\"tablist\",staticClass:\"tabs\",class:{'clearfix':!_vm.sideTabs, 'vertical': _vm.sideTabs, 'horizontal': !_vm.sideTabs},attrs:{\"role\":\"tablist\",\"tabindex\":\"0\",\"data-testid\":\"tabbed-block\"},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;$event.preventDefault();return _vm.selectNext(1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;$event.preventDefault();return _vm.selectNext(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.selectNext(1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.selectNext(-1)}]}},[_vm._l((_vm.sortedTabs),function(tab){return _c('li',{key:tab.name,class:{tab: true, active: tab.active, disabled: tab.disabled, error: (tab.error)},attrs:{\"id\":tab.name,\"data-testid\":tab.name,\"role\":\"presentation\"}},[_c('a',{attrs:{\"data-testid\":`btn-${tab.name}`,\"aria-controls\":'#' + tab.name,\"aria-selected\":tab.active,\"role\":\"tab\"},on:{\"click\":function($event){$event.preventDefault();return _vm.select(tab.name, $event)}}},[_c('span',[_vm._v(_vm._s(tab.labelDisplay))]),(tab.badge)?_c('span',{staticClass:\"tab-badge\"},[_vm._v(_vm._s(tab.badge))]):_vm._e(),(_vm.hasIcon(tab))?_c('i',{directives:[{name:\"clean-tooltip\",rawName:\"v-clean-tooltip\",value:(_vm.t('validation.tab')),expression:\"t('validation.tab')\"}],staticClass:\"conditions-alert-icon icon-error\"}):_vm._e()])])}),(_vm.sideTabs && !_vm.sortedTabs.length)?_c('li',{staticClass:\"tab disabled\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"(None)\")])]):_vm._e(),(_vm.sideTabs && _vm.showTabsAddRemove)?_c('ul',{staticClass:\"tab-list-footer\"},[_c('li',[_c('button',{staticClass:\"btn bg-transparent\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.tabAddClicked}},[_c('i',{staticClass:\"icon icon-plus\"})]),_c('button',{staticClass:\"btn bg-transparent\",attrs:{\"type\":\"button\",\"disabled\":!_vm.sortedTabs.length},on:{\"click\":_vm.tabRemoveClicked}},[_c('i',{staticClass:\"icon icon-minus\"})])])]):_vm._e(),_vm._t(\"tab-row-extras\")],2):_vm._e(),_c('div',{class:{\n 'tab-container': !!_vm.tabs.length || !!_vm.sideTabs,\n 'no-content': _vm.noContent,\n 'tab-container--flat': !!_vm.flat,\n }},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2a058e46&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2a058e46&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a058e46\",\n null\n \n)\n\nexport default component.exports","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".labeled-input.view input[data-v-387a3779]{text-overflow:ellipsis}.hideArrows input[data-v-387a3779]::-webkit-inner-spin-button,.hideArrows input[data-v-387a3779]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hideArrows input[type=number][data-v-387a3779]{-moz-appearance:textfield}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidCron = void 0;\n// This comes from the fact that parseInt trims characters coming\n// after digits and consider it a valid int, so `1*` becomes `1`.\nvar safeParseInt = function (value) {\n if (/^\\d+$/.test(value)) {\n return Number(value);\n }\n else {\n return NaN;\n }\n};\nvar isWildcard = function (value) {\n return value === '*';\n};\nvar isQuestionMark = function (value) {\n return value === '?';\n};\nvar isInRange = function (value, start, stop) {\n return value >= start && value <= stop;\n};\nvar isValidRange = function (value, start, stop) {\n var sides = value.split('-');\n switch (sides.length) {\n case 1:\n return isWildcard(value) || isInRange(safeParseInt(value), start, stop);\n case 2:\n var _a = sides.map(function (side) { return safeParseInt(side); }), small = _a[0], big = _a[1];\n return small <= big && isInRange(small, start, stop) && isInRange(big, start, stop);\n default:\n return false;\n }\n};\nvar isValidStep = function (value) {\n return value === undefined || value.search(/[^\\d]/) === -1;\n};\nvar validateForRange = function (value, start, stop) {\n if (value.search(/[^\\d-,\\/*]/) !== -1) {\n return false;\n }\n var list = value.split(',');\n return list.every(function (condition) {\n var splits = condition.split('/');\n // Prevents `*/ * * * *` from being accepted.\n if (condition.trim().endsWith('/')) {\n return false;\n }\n // Prevents `*/*/* * * * *` from being accepted\n if (splits.length > 2) {\n return false;\n }\n // If we don't have a `/`, right will be undefined which is considered a valid step if we don't a `/`.\n var left = splits[0], right = splits[1];\n return isValidRange(left, start, stop) && isValidStep(right);\n });\n};\nvar hasValidSeconds = function (seconds) {\n return validateForRange(seconds, 0, 59);\n};\nvar hasValidMinutes = function (minutes) {\n return validateForRange(minutes, 0, 59);\n};\nvar hasValidHours = function (hours) {\n return validateForRange(hours, 0, 23);\n};\nvar hasValidDays = function (days, allowBlankDay) {\n return (allowBlankDay && isQuestionMark(days)) || validateForRange(days, 1, 31);\n};\nvar monthAlias = {\n jan: '1',\n feb: '2',\n mar: '3',\n apr: '4',\n may: '5',\n jun: '6',\n jul: '7',\n aug: '8',\n sep: '9',\n oct: '10',\n nov: '11',\n dec: '12'\n};\nvar hasValidMonths = function (months, alias) {\n // Prevents alias to be used as steps\n if (months.search(/\\/[a-zA-Z]/) !== -1) {\n return false;\n }\n if (alias) {\n var remappedMonths = months.toLowerCase().replace(/[a-z]{3}/g, function (match) {\n return monthAlias[match] === undefined ? match : monthAlias[match];\n });\n // If any invalid alias was used, it won't pass the other checks as there will be non-numeric values in the months\n return validateForRange(remappedMonths, 1, 12);\n }\n return validateForRange(months, 1, 12);\n};\nvar weekdaysAlias = {\n sun: '0',\n mon: '1',\n tue: '2',\n wed: '3',\n thu: '4',\n fri: '5',\n sat: '6'\n};\nvar hasValidWeekdays = function (weekdays, alias, allowBlankDay, allowSevenAsSunday) {\n // If there is a question mark, checks if the allowBlankDay flag is set\n if (allowBlankDay && isQuestionMark(weekdays)) {\n return true;\n }\n else if (!allowBlankDay && isQuestionMark(weekdays)) {\n return false;\n }\n // Prevents alias to be used as steps\n if (weekdays.search(/\\/[a-zA-Z]/) !== -1) {\n return false;\n }\n if (alias) {\n var remappedWeekdays = weekdays.toLowerCase().replace(/[a-z]{3}/g, function (match) {\n return weekdaysAlias[match] === undefined ? match : weekdaysAlias[match];\n });\n // If any invalid alias was used, it won't pass the other checks as there will be non-numeric values in the weekdays\n return validateForRange(remappedWeekdays, 0, allowSevenAsSunday ? 7 : 6);\n }\n return validateForRange(weekdays, 0, allowSevenAsSunday ? 7 : 6);\n};\nvar hasCompatibleDayFormat = function (days, weekdays, allowBlankDay) {\n return !(allowBlankDay && isQuestionMark(days) && isQuestionMark(weekdays));\n};\nvar split = function (cron) {\n return cron.trim().split(/\\s+/);\n};\nvar defaultOptions = {\n alias: false,\n seconds: false,\n allowBlankDay: false,\n allowSevenAsSunday: false\n};\nexports.isValidCron = function (cron, options) {\n options = __assign(__assign({}, defaultOptions), options);\n var splits = split(cron);\n if (splits.length > (options.seconds ? 6 : 5) || splits.length < 5) {\n return false;\n }\n var checks = [];\n if (splits.length === 6) {\n var seconds = splits.shift();\n if (seconds) {\n checks.push(hasValidSeconds(seconds));\n }\n }\n // We could only check the steps gradually and return false on the first invalid block,\n // However, this won't have any performance impact so why bother for now.\n var minutes = splits[0], hours = splits[1], days = splits[2], months = splits[3], weekdays = splits[4];\n checks.push(hasValidMinutes(minutes));\n checks.push(hasValidHours(hours));\n checks.push(hasValidDays(days, options.allowBlankDay));\n checks.push(hasValidMonths(months, options.alias));\n checks.push(hasValidWeekdays(weekdays, options.alias, options.allowBlankDay, options.allowSevenAsSunday));\n checks.push(hasCompatibleDayFormat(days, weekdays, options.allowBlankDay));\n return checks.every(Boolean);\n};\n//# sourceMappingURL=index.js.map","export * from \"-!../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=style&index=0&id=55a8f708&prod&lang=scss&scoped=true\"","export * from \"-!../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./NameNsDescription.vue?vue&type=style&index=0&id=08979412&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".validation-message{padding:5px;position:absolute;bottom:-35px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2a058e46&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".tab-header[data-v-667bdd63]{display:flex;justify-content:space-between;margin-bottom:15px;align-items:center}.tab-header h2[data-v-667bdd63]{margin:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Tab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Tab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tab.vue?vue&type=template&id=667bdd63&scoped=true\"\nimport script from \"./Tab.vue?vue&type=script&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&lang=js\"\nimport style0 from \"./Tab.vue?vue&type=style&index=0&id=667bdd63&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"667bdd63\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row mb-20\"},[(_vm.namespaced && !_vm.nameNsHidden && _vm.createNamespace)?_c('div',{staticClass:\"col span-3\",attrs:{\"data-testid\":_vm.componentTestid + '-namespace-create'}},[_c('LabeledInput',{ref:\"namespace\",attrs:{\"label\":_vm.t('namespace.label'),\"placeholder\":_vm.t('namespace.createNamespace'),\"disabled\":_vm.namespaceReallyDisabled,\"mode\":_vm.mode,\"min-height\":30,\"required\":_vm.nameRequired,\"rules\":_vm.rules.namespace},model:{value:(_vm.namespace),callback:function ($$v) {_vm.namespace=$$v},expression:\"namespace\"}}),_c('button',{attrs:{\"aria\":\"Cancel create\"},on:{\"click\":_vm.cancelCreateNamespace}},[_c('i',{directives:[{name:\"clean-tooltip\",rawName:\"v-clean-tooltip\",value:(_vm.t('generic.cancel')),expression:\"t('generic.cancel')\"}],staticClass:\"icon icon-close align-value\"})])],1):_vm._e(),(_vm.namespaced && !_vm.nameNsHidden && !_vm.createNamespace)?_c('div',{staticClass:\"col span-3\",attrs:{\"data-testid\":_vm.componentTestid + '-namespace'}},[_c('LabeledSelect',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.createNamespace),expression:\"!createNamespace\"}],attrs:{\"clearable\":true,\"options\":_vm.options,\"disabled\":_vm.namespaceReallyDisabled,\"searchable\":true,\"mode\":_vm.mode,\"multiple\":false,\"label\":_vm.t('namespace.label'),\"placeholder\":_vm.t('namespace.selectOrCreate'),\"rules\":_vm.rules.namespace,\"required\":\"\"},on:{\"selecting\":_vm.selectNamespace},model:{value:(_vm.namespace),callback:function ($$v) {_vm.namespace=$$v},expression:\"namespace\"}})],1):_vm._e(),(!_vm.nameNsHidden)?_c('div',{staticClass:\"col span-3\",attrs:{\"data-testid\":_vm.componentTestid + '-name'}},[_c('LabeledInput',{key:\"name\",ref:\"name\",attrs:{\"label\":_vm.t(_vm.nameLabel),\"placeholder\":_vm.t(_vm.namePlaceholder),\"disabled\":_vm.nameReallyDisabled,\"mode\":_vm.mode,\"min-height\":30,\"required\":_vm.nameRequired,\"rules\":_vm.rules.name},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.descriptionHidden),expression:\"!descriptionHidden\"}],class:['col', _vm.extraColumns.length > 0 ? 'span-3' : 'span-6'],attrs:{\"data-testid\":_vm.componentTestid + '-description'}},[_c('LabeledInput',{key:\"description\",attrs:{\"mode\":_vm.mode,\"disabled\":_vm.descriptionDisabled,\"label\":_vm.t(_vm.descriptionLabel),\"placeholder\":_vm.t(_vm.descriptionPlaceholder),\"min-height\":30,\"rules\":_vm.rules.description},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1),_vm._l((_vm.extraColumns),function(slot){return _c('div',{key:slot,class:{ col: true, [_vm.colSpan]: true }},[_vm._t(slot)],2)}),(_vm.showSpacer)?_c('div',{staticClass:\"spacer\"}):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function normalizeName(str) {\n return (str || '')\n .trim()\n .toLowerCase()\n .replace(/\\s+/g, '-')\n .replace(/-+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '');\n}\n","\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./NameNsDescription.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./NameNsDescription.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NameNsDescription.vue?vue&type=template&id=08979412&scoped=true\"\nimport script from \"./NameNsDescription.vue?vue&type=script&lang=js\"\nexport * from \"./NameNsDescription.vue?vue&type=script&lang=js\"\nimport style0 from \"./NameNsDescription.vue?vue&type=style&index=0&id=08979412&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08979412\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"select\",staticClass:\"unlabeled-select\",class:{\n disabled: _vm.disabled && !_vm.isView,\n focused: _vm.focused,\n [_vm.mode]: true,\n [_vm.status]: _vm.status,\n taggable: _vm.$attrs.taggable,\n taggable: _vm.$attrs.multiple,\n },on:{\"focus\":_vm.focusSearch}},[_c('v-select',_vm._g(_vm._b({ref:\"select-input\",staticClass:\"inline\",class:{'select-input-view': _vm.mode === 'view'},attrs:{\"autoscroll\":true,\"append-to-body\":_vm.appendToBody,\"calculate-position\":_vm.positionDropdown,\"disabled\":_vm.isView || _vm.disabled,\"get-option-key\":(opt) => _vm.getOptionKey(opt),\"get-option-label\":(opt) => _vm.getOptionLabel(opt),\"label\":_vm.optionLabel,\"options\":_vm.options,\"close-on-select\":_vm.closeOnSelect,\"map-keydown\":_vm.mappedKeys,\"placeholder\":_vm.placeholder,\"reduce\":(x) => _vm.reduce(x),\"searchable\":_vm.isSearchable,\"selectable\":_vm.selectable,\"value\":_vm.value != null ? _vm.value : ''},on:{\"search:blur\":_vm.onBlur,\"search:focus\":_vm.onFocus,\"open\":_vm.resizeHandler,\"option:created\":(e) => _vm.$emit('createdListItem', e)},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('div',{on:{\"mousedown\":(e) => _vm.onClickOption(option, e)}},[_vm._v(\" \"+_vm._s(option.label)+\" \")])]}},_vm._l((_vm.$scopedSlots),function(_,slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},'v-select',_vm.$attrs,false),_vm.$listeners)),(_vm.tooltip && !_vm.focused)?_c('LabeledTooltip',{attrs:{\"hover\":_vm.hoverTooltip,\"value\":_vm.tooltip,\"status\":_vm.status}}):_vm._e(),(!!_vm.validationMessage)?_c('LabeledTooltip',{attrs:{\"hover\":_vm.hoverTooltip,\"value\":_vm.validationMessage}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n \n \n \n \n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Select.vue?vue&type=template&id=55a8f708&scoped=true\"\nimport script from \"./Select.vue?vue&type=script&lang=js\"\nexport * from \"./Select.vue?vue&type=script&lang=js\"\nimport style0 from \"./Select.vue?vue&type=style&index=0&id=55a8f708&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55a8f708\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioButton.vue?vue&type=style&index=0&id=402b20ec&prod&lang=scss\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".radio-view{display:flex;flex-direction:column}.radio-view LABEL{color:var(--input-label)}.radio-group .text-label{display:block;padding-bottom:5px}.radio-container{position:relative;display:inline-flex;align-items:flex-start;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--border-radius);padding-bottom:5px}.radio-container,.radio-container .radio-button-outer-container-description,.radio-container .radio-label{cursor:pointer}.radio-container.disabled,.radio-container.disabled .radio-button-outer-container-description,.radio-container.disabled .radio-label{cursor:not-allowed}.radio-container .radio-custom{height:14px;width:14px;min-height:14px;min-width:14px;background-color:var(--input-bg);border-radius:50%;transition:all .3s ease-out;border:1.5px solid var(--border);margin-top:5px}.radio-container .radio-custom:focus{outline:none;border-radius:50%}.radio-container input{display:none}.radio-container .radio-custom[aria-checked=true]{background-color:var(--primary);transform:rotate(0deg) scale(1);opacity:1;border:1.5px solid var(--primary)}.radio-container .radio-custom[aria-checked=true].text-muted{opacity:.25}.radio-container input:disabled~.radio-custom:not([aria-checked=true]){background-color:var(--disabled-bg);opacity:.25}.radio-container .radio-button-outer-container-description{color:var(--input-label);font-size:11px;margin-top:5px}.radio-container .labeling{display:inline-flex;flex-direction:column;margin:3px 10px 0 5px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValue.vue?vue&type=style&index=0&id=2c476369&prod&lang=scss\"","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./KeyValue.vue?vue&type=template&id=2c476369\"\nimport script from \"./KeyValue.vue?vue&type=script&lang=js\"\nexport * from \"./KeyValue.vue?vue&type=script&lang=js\"\nimport style0 from \"./KeyValue.vue?vue&type=style&index=0&id=2c476369&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Select.vue?vue&type=template&id=55a8f708&scoped=true\"\nimport script from \"./Select.vue?vue&type=script&lang=js\"\nexport * from \"./Select.vue?vue&type=script&lang=js\"\nimport style0 from \"./Select.vue?vue&type=style&index=0&id=55a8f708&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55a8f708\",\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MatchExpressions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--2-0!../../../../@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MatchExpressions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MatchExpressions.vue?vue&type=template&id=3512fedb&scoped=true\"\nimport script from \"./MatchExpressions.vue?vue&type=script&lang=js\"\nexport * from \"./MatchExpressions.vue?vue&type=script&lang=js\"\nimport style0 from \"./MatchExpressions.vue?vue&type=style&index=0&id=3512fedb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3512fedb\",\n null\n \n)\n\nexport default component.exports","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".operator .vs__dropdown-option[data-v-3512fedb]{padding:3px 6px 3px 6px!important}.remove-expression[data-v-3512fedb]{padding:8px;position:absolute;margin-bottom:10px;right:0;top:0;z-index:2}.remove-expression i[data-v-3512fedb]{font-size:2em}.remove-container[data-v-3512fedb]{display:flex;justify-content:center}.match-expression-header[data-v-3512fedb],.match-expression-row[data-v-3512fedb]{display:grid;grid-template-columns:1fr 1fr 1fr;margin:5px 0;grid-gap:1.75%}.match-expression-header>LABEL[data-v-3512fedb],.match-expression-row>LABEL[data-v-3512fedb]{margin:0}.match-expression-header[data-v-3512fedb]:not(.view),.match-expression-row[data-v-3512fedb]:not(.view){grid-template-columns:repeat(3,1fr) 50px}.match-expression-row>div>input[data-v-3512fedb]{min-height:40px!important}.match-expression-header-matching[data-v-3512fedb],.match-expression-row-matching[data-v-3512fedb]{grid-template-columns:1fr 1fr 1fr 1fr}.match-expression-header-matching[data-v-3512fedb]:not(.view),.match-expression-row-matching[data-v-3512fedb]:not(.view){grid-template-columns:1fr 1fr 1fr 1fr 100px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".unlabeled-select[data-v-55a8f708]{position:relative}.unlabeled-select[data-v-55a8f708] .v-select.select-input-view .vs__actions{visibility:hidden}.unlabeled-select .vs--multiple[data-v-55a8f708] .vs__selected-options .vs__selected{width:auto}.unlabeled-select[data-v-55a8f708] .labeled-tooltip.error .status-icon{top:7px;right:2px}.unlabeled-select[data-v-55a8f708] .vs__selected-options{display:flex;margin:3px}.unlabeled-select[data-v-55a8f708] .vs__selected-options .vs__selected{width:auto}.unlabeled-select[data-v-55a8f708] .v-select.vs--open .vs__dropdown-toggle{color:var(--outline)!important}.unlabeled-select.focused.success[data-v-55a8f708],.unlabeled-select.success[data-v-55a8f708]{border:solid 1px var(--success)}.unlabeled-select.focused.success .selected[data-v-55a8f708],.unlabeled-select.focused.success .vs__actions[data-v-55a8f708]:after,.unlabeled-select.focused.success input[data-v-55a8f708],.unlabeled-select.success .selected[data-v-55a8f708],.unlabeled-select.success .vs__actions[data-v-55a8f708]:after,.unlabeled-select.success input[data-v-55a8f708]{color:var(--success)}.unlabeled-select.focused.warning[data-v-55a8f708],.unlabeled-select.warning[data-v-55a8f708]{border:solid 1px var(--warning)}.unlabeled-select.focused.warning .selected[data-v-55a8f708],.unlabeled-select.focused.warning .vs__actions[data-v-55a8f708]:after,.unlabeled-select.focused.warning input[data-v-55a8f708],.unlabeled-select.warning .selected[data-v-55a8f708],.unlabeled-select.warning .vs__actions[data-v-55a8f708]:after,.unlabeled-select.warning input[data-v-55a8f708]{color:var(--warning)}.unlabeled-select.error[data-v-55a8f708],.unlabeled-select.focused.error[data-v-55a8f708]{border:solid 1px var(--error)}.unlabeled-select.error .vs__actions[data-v-55a8f708]:after,.unlabeled-select.error>label[data-v-55a8f708],.unlabeled-select.focused.error .vs__actions[data-v-55a8f708]:after,.unlabeled-select.focused.error>label[data-v-55a8f708]{color:var(--error)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a