@k8slens/extensions 5.4.0-git.e950d3a77e.0 → 5.4.0-git.ed91ef2d03.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43,7 +43,7 @@ export interface KubernetesClusterMetadata extends CatalogEntityMetadata {
43
43
  export declare type KubernetesClusterStatusPhase = "connected" | "connecting" | "disconnected" | "deleting";
44
44
  export interface KubernetesClusterStatus extends CatalogEntityStatus {
45
45
  }
46
- export declare class KubernetesCluster extends CatalogEntity<KubernetesClusterMetadata, KubernetesClusterStatus, KubernetesClusterSpec> {
46
+ export declare class KubernetesCluster<Metadata extends KubernetesClusterMetadata = KubernetesClusterMetadata, Status extends KubernetesClusterStatus = KubernetesClusterStatus, Spec extends KubernetesClusterSpec = KubernetesClusterSpec> extends CatalogEntity<Metadata, Status, Spec> {
47
47
  static readonly apiVersion: string;
48
48
  static readonly kind: string;
49
49
  readonly apiVersion: string;
@@ -3,7 +3,7 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import { BaseStore } from "../base-store";
6
- import { EditorConfiguration, ExtensionRegistry, KubeconfigSyncValue, UserPreferencesModel, TerminalConfig } from "./preferences-helpers";
6
+ import type { EditorConfiguration, ExtensionRegistry, KubeconfigSyncValue, UserPreferencesModel, TerminalConfig } from "./preferences-helpers";
7
7
  export interface UserStoreModel {
8
8
  lastSeenAppVersion: string;
9
9
  preferences: UserPreferencesModel;
@@ -6,6 +6,5 @@
6
6
  * A better typed version of `Object.fromEntries` where the keys are known to
7
7
  * be a specific subset
8
8
  */
9
- export declare function fromEntries<T, Key extends string>(entries: Iterable<readonly [Key, T]>): {
10
- [k in Key]: T;
11
- };
9
+ export declare function fromEntries<T, Key extends string>(entries: Iterable<readonly [Key, T]>): Record<Key, T>;
10
+ export declare function entries<T extends Record<string, any>>(obj: T): [keyof T, T[keyof T]][];
@@ -11,3 +11,4 @@ export type { PageRegistration, RegisteredPage, PageParams, PageComponentProps,
11
11
  export type { ClusterPageMenuRegistration, ClusterPageMenuComponents } from "../registries/page-menu-registry";
12
12
  export type { ProtocolHandlerRegistration, RouteParams as ProtocolRouteParams, RouteHandler as ProtocolRouteHandler } from "../registries/protocol-handler";
13
13
  export type { CustomCategoryViewProps, CustomCategoryViewComponents, CustomCategoryViewRegistration } from "../../renderer/components/+catalog/custom-views";
14
+ export type { ShellEnvModifier, ShellEnvContext } from "../../main/shell-session/shell-env-modifier/shell-env-modifier-registration";
@@ -38508,7 +38508,7 @@ eval("class Node {\n\t/// value;\n\t/// next;\n\n\tconstructor(value) {\n\t\tthi
38508
38508
  /*! exports provided: name, productName, description, homepage, version, main, copyright, license, author, scripts, config, engines, jest, build, dependencies, devDependencies, default */
38509
38509
  /***/ (function(module) {
38510
38510
 
38511
- eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"open-lens\\\",\\\"productName\\\":\\\"OpenLens\\\",\\\"description\\\":\\\"OpenLens - Open Source IDE for Kubernetes\\\",\\\"homepage\\\":\\\"https://github.com/lensapp/lens\\\",\\\"version\\\":\\\"5.4.0-beta.1\\\",\\\"main\\\":\\\"static/build/main.js\\\",\\\"copyright\\\":\\\"© 2021 OpenLens Authors\\\",\\\"license\\\":\\\"MIT\\\",\\\"author\\\":{\\\"name\\\":\\\"OpenLens Authors\\\",\\\"email\\\":\\\"info@k8slens.dev\\\"},\\\"scripts\\\":{\\\"dev\\\":\\\"concurrently -i -k \\\\\\\"yarn run dev-run -C\\\\\\\" yarn:dev:*\\\",\\\"dev-build\\\":\\\"concurrently yarn:compile:*\\\",\\\"debug-build\\\":\\\"concurrently yarn:compile:main yarn:compile:extension-types\\\",\\\"dev-run\\\":\\\"nodemon --watch static/build/main.js --exec \\\\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\\\"\\\",\\\"dev:main\\\":\\\"yarn run compile:main --watch\\\",\\\"dev:renderer\\\":\\\"yarn run webpack-dev-server --config webpack.renderer.ts\\\",\\\"dev:extension-types\\\":\\\"yarn run compile:extension-types --watch\\\",\\\"compile\\\":\\\"env NODE_ENV=production concurrently yarn:compile:*\\\",\\\"compile:main\\\":\\\"yarn run webpack --config webpack.main.ts\\\",\\\"compile:renderer\\\":\\\"yarn run webpack --config webpack.renderer.ts\\\",\\\"compile:extension-types\\\":\\\"yarn run webpack --config webpack.extensions.ts\\\",\\\"npm:fix-build-version\\\":\\\"yarn run ts-node build/set_build_version.ts\\\",\\\"npm:fix-package-version\\\":\\\"yarn run ts-node build/set_npm_version.ts\\\",\\\"build:linux\\\":\\\"yarn run compile && electron-builder --linux --dir\\\",\\\"build:mac\\\":\\\"yarn run compile && electron-builder --mac --dir\\\",\\\"build:win\\\":\\\"yarn run compile && electron-builder --win --dir\\\",\\\"integration\\\":\\\"jest --runInBand --detectOpenHandles --forceExit integration\\\",\\\"dist\\\":\\\"yarn run compile && electron-builder --publish onTag\\\",\\\"dist:dir\\\":\\\"yarn run dist --dir -c.compression=store -c.mac.identity=null\\\",\\\"download-bins\\\":\\\"concurrently yarn:download:*\\\",\\\"download:kubectl\\\":\\\"yarn run ts-node build/download_kubectl.ts\\\",\\\"download:helm\\\":\\\"yarn run ts-node build/download_helm.ts\\\",\\\"build:tray-icons\\\":\\\"yarn run ts-node build/build_tray_icon.ts\\\",\\\"build:theme-vars\\\":\\\"yarn run ts-node build/build_theme_vars.ts\\\",\\\"lint\\\":\\\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\\\",\\\"lint:fix\\\":\\\"yarn run lint --fix\\\",\\\"mkdocs-serve-local\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\\\",\\\"verify-docs\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\\\",\\\"typedocs-extensions-api\\\":\\\"yarn run typedoc src/extensions/extension-api.ts\\\",\\\"version-checkout\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release/v%s\\\\\\\" | xargs git checkout -b\\\",\\\"version-commit\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release v%s\\\\\\\" | git commit --no-edit -s -F -\\\",\\\"version\\\":\\\"yarn run version-checkout && git add package.json && yarn run version-commit\\\",\\\"postversion\\\":\\\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\\\"},\\\"config\\\":{\\\"bundledKubectlVersion\\\":\\\"1.23.3\\\",\\\"bundledHelmVersion\\\":\\\"3.7.2\\\",\\\"sentryDsn\\\":\\\"\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14 <15\\\"},\\\"jest\\\":{\\\"collectCoverage\\\":false,\\\"verbose\\\":true,\\\"transform\\\":{\\\"^.+\\\\\\\\.tsx?$\\\":\\\"ts-jest\\\"},\\\"moduleNameMapper\\\":{\\\"\\\\\\\\.(css|scss)$\\\":\\\"<rootDir>/__mocks__/styleMock.ts\\\",\\\"\\\\\\\\.(svg)$\\\":\\\"<rootDir>/__mocks__/imageMock.ts\\\"},\\\"modulePathIgnorePatterns\\\":[\\\"<rootDir>/dist\\\",\\\"<rootDir>/src/extensions/npm\\\"],\\\"setupFiles\\\":[\\\"<rootDir>/src/jest.setup.ts\\\",\\\"jest-canvas-mock\\\"],\\\"globals\\\":{\\\"ts-jest\\\":{\\\"isolatedModules\\\":true}}},\\\"build\\\":{\\\"generateUpdatesFilesForAllChannels\\\":true,\\\"files\\\":[\\\"static/build/main.js\\\"],\\\"afterSign\\\":\\\"build/notarize.js\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"locales/\\\",\\\"to\\\":\\\"locales/\\\",\\\"filter\\\":\\\"**/*.js\\\"},{\\\"from\\\":\\\"static/\\\",\\\"to\\\":\\\"static/\\\",\\\"filter\\\":\\\"!**/main.js\\\"},{\\\"from\\\":\\\"build/tray\\\",\\\"to\\\":\\\"static/icons\\\",\\\"filter\\\":\\\"*.png\\\"},{\\\"from\\\":\\\"extensions/\\\",\\\"to\\\":\\\"./extensions/\\\",\\\"filter\\\":[\\\"**/*.tgz\\\",\\\"**/package.json\\\",\\\"!**/node_modules\\\"]},{\\\"from\\\":\\\"templates/\\\",\\\"to\\\":\\\"./templates/\\\",\\\"filter\\\":\\\"**/*.yaml\\\"},\\\"LICENSE\\\"],\\\"linux\\\":{\\\"category\\\":\\\"Network\\\",\\\"artifactName\\\":\\\"${productName}-${version}.${arch}.${ext}\\\",\\\"target\\\":[\\\"deb\\\",\\\"rpm\\\",\\\"AppImage\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/linux/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"rpm\\\":{\\\"fpm\\\":[\\\"--rpm-rpmbuild-define=%define _build_id_links none\\\"]},\\\"mac\\\":{\\\"hardenedRuntime\\\":true,\\\"gatekeeperAssess\\\":false,\\\"entitlements\\\":\\\"build/entitlements.mac.plist\\\",\\\"entitlementsInherit\\\":\\\"build/entitlements.mac.plist\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/darwin/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"win\\\":{\\\"target\\\":[\\\"nsis\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/windows/x64/kubectl.exe\\\",\\\"to\\\":\\\"./x64/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/windows/ia32/kubectl.exe\\\",\\\"to\\\":\\\"./ia32/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/x64/helm3/helm3.exe\\\",\\\"to\\\":\\\"./helm3/helm3.exe\\\"}]},\\\"nsis\\\":{\\\"include\\\":\\\"build/installer.nsh\\\",\\\"oneClick\\\":false,\\\"allowElevation\\\":true,\\\"createStartMenuShortcut\\\":true,\\\"allowToChangeInstallationDirectory\\\":true},\\\"protocols\\\":{\\\"name\\\":\\\"Lens Protocol Handler\\\",\\\"schemes\\\":[\\\"lens\\\"],\\\"role\\\":\\\"Viewer\\\"}},\\\"dependencies\\\":{\\\"@hapi/call\\\":\\\"^8.0.1\\\",\\\"@hapi/subtext\\\":\\\"^7.0.3\\\",\\\"@kubernetes/client-node\\\":\\\"^0.16.1\\\",\\\"@ogre-tools/injectable\\\":\\\"3.2.1\\\",\\\"@ogre-tools/injectable-react\\\":\\\"3.2.1\\\",\\\"@sentry/electron\\\":\\\"^2.5.4\\\",\\\"@sentry/integrations\\\":\\\"^6.15.0\\\",\\\"@types/circular-dependency-plugin\\\":\\\"5.0.4\\\",\\\"abort-controller\\\":\\\"^3.0.0\\\",\\\"auto-bind\\\":\\\"^4.0.0\\\",\\\"autobind-decorator\\\":\\\"^2.4.0\\\",\\\"await-lock\\\":\\\"^2.1.0\\\",\\\"byline\\\":\\\"^5.0.0\\\",\\\"chokidar\\\":\\\"^3.4.3\\\",\\\"conf\\\":\\\"^7.1.2\\\",\\\"crypto-js\\\":\\\"^4.1.1\\\",\\\"electron-devtools-installer\\\":\\\"^3.2.0\\\",\\\"electron-updater\\\":\\\"^4.6.1\\\",\\\"electron-window-state\\\":\\\"^5.0.3\\\",\\\"filehound\\\":\\\"^1.17.5\\\",\\\"fs-extra\\\":\\\"^9.0.1\\\",\\\"glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"got\\\":\\\"^11.8.3\\\",\\\"grapheme-splitter\\\":\\\"^1.0.4\\\",\\\"handlebars\\\":\\\"^4.7.7\\\",\\\"http-proxy\\\":\\\"^1.18.1\\\",\\\"immer\\\":\\\"^9.0.6\\\",\\\"joi\\\":\\\"^17.5.0\\\",\\\"js-yaml\\\":\\\"^4.1.0\\\",\\\"jsdom\\\":\\\"^16.7.0\\\",\\\"jsonpath\\\":\\\"^1.1.1\\\",\\\"lodash\\\":\\\"^4.17.15\\\",\\\"mac-ca\\\":\\\"^1.0.6\\\",\\\"marked\\\":\\\"^4.0.10\\\",\\\"md5-file\\\":\\\"^5.0.0\\\",\\\"mobx\\\":\\\"^6.3.7\\\",\\\"mobx-observable-history\\\":\\\"^2.0.3\\\",\\\"mobx-react\\\":\\\"^7.2.1\\\",\\\"mock-fs\\\":\\\"^5.1.2\\\",\\\"moment\\\":\\\"^2.29.1\\\",\\\"moment-timezone\\\":\\\"^0.5.34\\\",\\\"monaco-editor\\\":\\\"^0.29.1\\\",\\\"monaco-editor-webpack-plugin\\\":\\\"^5.0.0\\\",\\\"node-fetch\\\":\\\"lensapp/node-fetch#2.x\\\",\\\"node-pty\\\":\\\"^0.10.1\\\",\\\"npm\\\":\\\"^6.14.15\\\",\\\"p-limit\\\":\\\"^3.1.0\\\",\\\"path-to-regexp\\\":\\\"^6.2.0\\\",\\\"proper-lockfile\\\":\\\"^4.1.2\\\",\\\"react\\\":\\\"^17.0.2\\\",\\\"react-dom\\\":\\\"^17.0.2\\\",\\\"react-material-ui-carousel\\\":\\\"^2.3.8\\\",\\\"react-router\\\":\\\"^5.2.0\\\",\\\"react-virtualized-auto-sizer\\\":\\\"^1.0.6\\\",\\\"readable-stream\\\":\\\"^3.6.0\\\",\\\"request\\\":\\\"^2.88.2\\\",\\\"request-promise-native\\\":\\\"^1.0.9\\\",\\\"rfc6902\\\":\\\"^4.0.2\\\",\\\"semver\\\":\\\"^7.3.2\\\",\\\"shell-env\\\":\\\"^3.0.1\\\",\\\"spdy\\\":\\\"^4.0.2\\\",\\\"tar\\\":\\\"^6.1.11\\\",\\\"tcp-port-used\\\":\\\"^1.0.2\\\",\\\"tempy\\\":\\\"1.0.1\\\",\\\"url-parse\\\":\\\"^1.5.3\\\",\\\"uuid\\\":\\\"^8.3.2\\\",\\\"win-ca\\\":\\\"^3.4.5\\\",\\\"winston\\\":\\\"^3.3.3\\\",\\\"winston-console-format\\\":\\\"^1.0.8\\\",\\\"winston-transport-browserconsole\\\":\\\"^1.0.5\\\",\\\"ws\\\":\\\"^7.5.5\\\"},\\\"devDependencies\\\":{\\\"@async-fn/jest\\\":\\\"1.5.3\\\",\\\"@material-ui/core\\\":\\\"^4.12.3\\\",\\\"@material-ui/icons\\\":\\\"^4.11.2\\\",\\\"@material-ui/lab\\\":\\\"^4.0.0-alpha.60\\\",\\\"@pmmmwh/react-refresh-webpack-plugin\\\":\\\"^0.4.3\\\",\\\"@sentry/types\\\":\\\"^6.14.1\\\",\\\"@testing-library/jest-dom\\\":\\\"^5.16.1\\\",\\\"@testing-library/react\\\":\\\"^11.2.7\\\",\\\"@testing-library/user-event\\\":\\\"^13.5.0\\\",\\\"@types/byline\\\":\\\"^4.2.33\\\",\\\"@types/chart.js\\\":\\\"^2.9.34\\\",\\\"@types/color\\\":\\\"^3.0.2\\\",\\\"@types/crypto-js\\\":\\\"^3.1.47\\\",\\\"@types/dompurify\\\":\\\"^2.3.1\\\",\\\"@types/electron-devtools-installer\\\":\\\"^2.2.0\\\",\\\"@types/fs-extra\\\":\\\"^9.0.13\\\",\\\"@types/glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"@types/hoist-non-react-statics\\\":\\\"^3.3.1\\\",\\\"@types/html-webpack-plugin\\\":\\\"^3.2.6\\\",\\\"@types/http-proxy\\\":\\\"^1.17.7\\\",\\\"@types/jest\\\":\\\"^26.0.24\\\",\\\"@types/js-yaml\\\":\\\"^4.0.5\\\",\\\"@types/jsdom\\\":\\\"^16.2.13\\\",\\\"@types/jsonpath\\\":\\\"^0.2.0\\\",\\\"@types/lodash\\\":\\\"^4.14.177\\\",\\\"@types/marked\\\":\\\"^4.0.1\\\",\\\"@types/md5-file\\\":\\\"^4.0.2\\\",\\\"@types/mini-css-extract-plugin\\\":\\\"^0.9.1\\\",\\\"@types/mock-fs\\\":\\\"^4.13.1\\\",\\\"@types/node\\\":\\\"14.17.33\\\",\\\"@types/node-fetch\\\":\\\"^2.5.12\\\",\\\"@types/npm\\\":\\\"^2.0.32\\\",\\\"@types/progress-bar-webpack-plugin\\\":\\\"^2.1.2\\\",\\\"@types/proper-lockfile\\\":\\\"^4.1.2\\\",\\\"@types/randomcolor\\\":\\\"^0.5.6\\\",\\\"@types/react\\\":\\\"^17.0.34\\\",\\\"@types/react-beautiful-dnd\\\":\\\"^13.1.2\\\",\\\"@types/react-dom\\\":\\\"^17.0.11\\\",\\\"@types/react-router-dom\\\":\\\"^5.3.2\\\",\\\"@types/react-select\\\":\\\"3.1.2\\\",\\\"@types/react-table\\\":\\\"^7.7.9\\\",\\\"@types/react-virtualized-auto-sizer\\\":\\\"^1.0.1\\\",\\\"@types/react-window\\\":\\\"^1.8.5\\\",\\\"@types/readable-stream\\\":\\\"^2.3.12\\\",\\\"@types/request\\\":\\\"^2.48.7\\\",\\\"@types/request-promise-native\\\":\\\"^1.0.18\\\",\\\"@types/semver\\\":\\\"^7.3.9\\\",\\\"@types/sharp\\\":\\\"^0.29.4\\\",\\\"@types/spdy\\\":\\\"^3.4.5\\\",\\\"@types/tar\\\":\\\"^4.0.5\\\",\\\"@types/tcp-port-used\\\":\\\"^1.0.0\\\",\\\"@types/tempy\\\":\\\"^0.3.0\\\",\\\"@types/triple-beam\\\":\\\"^1.3.2\\\",\\\"@types/url-parse\\\":\\\"^1.4.5\\\",\\\"@types/uuid\\\":\\\"^8.3.3\\\",\\\"@types/webpack\\\":\\\"^4.41.32\\\",\\\"@types/webpack-dev-server\\\":\\\"^3.11.6\\\",\\\"@types/webpack-env\\\":\\\"^1.16.3\\\",\\\"@types/webpack-node-externals\\\":\\\"^1.7.1\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^5.10.1\\\",\\\"@typescript-eslint/parser\\\":\\\"^5.10.1\\\",\\\"ansi_up\\\":\\\"^5.1.0\\\",\\\"chart.js\\\":\\\"^2.9.4\\\",\\\"circular-dependency-plugin\\\":\\\"^5.2.2\\\",\\\"color\\\":\\\"^3.2.1\\\",\\\"concurrently\\\":\\\"^5.3.0\\\",\\\"css-loader\\\":\\\"^5.2.7\\\",\\\"deepdash\\\":\\\"^5.3.9\\\",\\\"dompurify\\\":\\\"^2.3.4\\\",\\\"electron\\\":\\\"^14.2.4\\\",\\\"electron-builder\\\":\\\"^22.14.5\\\",\\\"electron-notarize\\\":\\\"^0.3.0\\\",\\\"esbuild\\\":\\\"^0.13.15\\\",\\\"esbuild-loader\\\":\\\"^2.16.0\\\",\\\"eslint\\\":\\\"^8.7.0\\\",\\\"eslint-plugin-header\\\":\\\"^3.1.1\\\",\\\"eslint-plugin-import\\\":\\\"^2.25.4\\\",\\\"eslint-plugin-react\\\":\\\"^7.28.0\\\",\\\"eslint-plugin-react-hooks\\\":\\\"^4.3.0\\\",\\\"eslint-plugin-unused-imports\\\":\\\"^2.0.0\\\",\\\"file-loader\\\":\\\"^6.2.0\\\",\\\"flex.box\\\":\\\"^3.4.4\\\",\\\"fork-ts-checker-webpack-plugin\\\":\\\"^5.2.1\\\",\\\"hoist-non-react-statics\\\":\\\"^3.3.2\\\",\\\"html-webpack-plugin\\\":\\\"^4.5.2\\\",\\\"ignore-loader\\\":\\\"^0.1.2\\\",\\\"include-media\\\":\\\"^1.4.9\\\",\\\"jest\\\":\\\"26.6.3\\\",\\\"jest-canvas-mock\\\":\\\"^2.3.1\\\",\\\"jest-fetch-mock\\\":\\\"^3.0.3\\\",\\\"jest-mock-extended\\\":\\\"^1.0.18\\\",\\\"make-plural\\\":\\\"^6.2.2\\\",\\\"mini-css-extract-plugin\\\":\\\"^1.6.2\\\",\\\"node-gyp\\\":\\\"7.1.2\\\",\\\"node-loader\\\":\\\"^1.0.3\\\",\\\"nodemon\\\":\\\"^2.0.15\\\",\\\"playwright\\\":\\\"^1.17.1\\\",\\\"postcss\\\":\\\"^8.4.5\\\",\\\"postcss-loader\\\":\\\"^4.3.0\\\",\\\"progress-bar-webpack-plugin\\\":\\\"^2.1.0\\\",\\\"randomcolor\\\":\\\"^0.6.2\\\",\\\"raw-loader\\\":\\\"^4.0.2\\\",\\\"react-beautiful-dnd\\\":\\\"^13.1.0\\\",\\\"react-refresh\\\":\\\"^0.9.0\\\",\\\"react-router-dom\\\":\\\"^5.3.0\\\",\\\"react-select\\\":\\\"3.2.0\\\",\\\"react-select-event\\\":\\\"^5.1.0\\\",\\\"react-table\\\":\\\"^7.7.0\\\",\\\"react-window\\\":\\\"^1.8.6\\\",\\\"sass\\\":\\\"^1.45.1\\\",\\\"sass-loader\\\":\\\"^10.2.0\\\",\\\"sharp\\\":\\\"^0.29.3\\\",\\\"style-loader\\\":\\\"^2.0.0\\\",\\\"tailwindcss\\\":\\\"^3.0.7\\\",\\\"ts-jest\\\":\\\"26.5.6\\\",\\\"ts-loader\\\":\\\"^7.0.5\\\",\\\"ts-node\\\":\\\"^10.4.0\\\",\\\"type-fest\\\":\\\"^1.0.2\\\",\\\"typed-emitter\\\":\\\"^1.4.0\\\",\\\"typedoc\\\":\\\"0.22.10\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.11.3\\\",\\\"typeface-roboto\\\":\\\"^1.1.13\\\",\\\"typescript\\\":\\\"^4.5.2\\\",\\\"typescript-plugin-css-modules\\\":\\\"^3.4.0\\\",\\\"url-loader\\\":\\\"^4.1.1\\\",\\\"webpack\\\":\\\"^4.46.0\\\",\\\"webpack-cli\\\":\\\"^3.3.12\\\",\\\"webpack-dev-server\\\":\\\"^3.11.3\\\",\\\"webpack-node-externals\\\":\\\"^1.7.2\\\",\\\"xterm\\\":\\\"^4.15.0\\\",\\\"xterm-addon-fit\\\":\\\"^0.5.0\\\"}}\");\n\n//# sourceURL=webpack:///./package.json?");
38511
+ eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"open-lens\\\",\\\"productName\\\":\\\"OpenLens\\\",\\\"description\\\":\\\"OpenLens - Open Source IDE for Kubernetes\\\",\\\"homepage\\\":\\\"https://github.com/lensapp/lens\\\",\\\"version\\\":\\\"5.4.0-beta.2\\\",\\\"main\\\":\\\"static/build/main.js\\\",\\\"copyright\\\":\\\"© 2021 OpenLens Authors\\\",\\\"license\\\":\\\"MIT\\\",\\\"author\\\":{\\\"name\\\":\\\"OpenLens Authors\\\",\\\"email\\\":\\\"info@k8slens.dev\\\"},\\\"scripts\\\":{\\\"dev\\\":\\\"concurrently -i -k \\\\\\\"yarn run dev-run -C\\\\\\\" yarn:dev:*\\\",\\\"dev-build\\\":\\\"concurrently yarn:compile:*\\\",\\\"debug-build\\\":\\\"concurrently yarn:compile:main yarn:compile:extension-types\\\",\\\"dev-run\\\":\\\"nodemon --watch static/build/main.js --exec \\\\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\\\"\\\",\\\"dev:main\\\":\\\"yarn run compile:main --watch\\\",\\\"dev:renderer\\\":\\\"yarn run webpack-dev-server --config webpack.renderer.ts\\\",\\\"dev:extension-types\\\":\\\"yarn run compile:extension-types --watch\\\",\\\"compile\\\":\\\"env NODE_ENV=production concurrently yarn:compile:*\\\",\\\"compile:main\\\":\\\"yarn run webpack --config webpack.main.ts\\\",\\\"compile:renderer\\\":\\\"yarn run webpack --config webpack.renderer.ts\\\",\\\"compile:extension-types\\\":\\\"yarn run webpack --config webpack.extensions.ts\\\",\\\"npm:fix-build-version\\\":\\\"yarn run ts-node build/set_build_version.ts\\\",\\\"npm:fix-package-version\\\":\\\"yarn run ts-node build/set_npm_version.ts\\\",\\\"build:linux\\\":\\\"yarn run compile && electron-builder --linux --dir\\\",\\\"build:mac\\\":\\\"yarn run compile && electron-builder --mac --dir\\\",\\\"build:win\\\":\\\"yarn run compile && electron-builder --win --dir\\\",\\\"integration\\\":\\\"jest --runInBand --detectOpenHandles --forceExit integration\\\",\\\"dist\\\":\\\"yarn run compile && electron-builder --publish onTag\\\",\\\"dist:dir\\\":\\\"yarn run dist --dir -c.compression=store -c.mac.identity=null\\\",\\\"download-bins\\\":\\\"concurrently yarn:download:*\\\",\\\"download:kubectl\\\":\\\"yarn run ts-node build/download_kubectl.ts\\\",\\\"download:helm\\\":\\\"yarn run ts-node build/download_helm.ts\\\",\\\"build:tray-icons\\\":\\\"yarn run ts-node build/build_tray_icon.ts\\\",\\\"build:theme-vars\\\":\\\"yarn run ts-node build/build_theme_vars.ts\\\",\\\"lint\\\":\\\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\\\",\\\"lint:fix\\\":\\\"yarn run lint --fix\\\",\\\"mkdocs-serve-local\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\\\",\\\"verify-docs\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\\\",\\\"typedocs-extensions-api\\\":\\\"yarn run typedoc src/extensions/extension-api.ts\\\",\\\"version-checkout\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release/v%s\\\\\\\" | xargs git checkout -b\\\",\\\"version-commit\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release v%s\\\\\\\" | git commit --no-edit -s -F -\\\",\\\"version\\\":\\\"yarn run version-checkout && git add package.json && yarn run version-commit\\\",\\\"postversion\\\":\\\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\\\"},\\\"config\\\":{\\\"bundledKubectlVersion\\\":\\\"1.23.3\\\",\\\"bundledHelmVersion\\\":\\\"3.7.2\\\",\\\"sentryDsn\\\":\\\"\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14 <15\\\"},\\\"jest\\\":{\\\"collectCoverage\\\":false,\\\"verbose\\\":true,\\\"transform\\\":{\\\"^.+\\\\\\\\.tsx?$\\\":\\\"ts-jest\\\"},\\\"moduleNameMapper\\\":{\\\"\\\\\\\\.(css|scss)$\\\":\\\"<rootDir>/__mocks__/styleMock.ts\\\",\\\"\\\\\\\\.(svg)$\\\":\\\"<rootDir>/__mocks__/imageMock.ts\\\"},\\\"modulePathIgnorePatterns\\\":[\\\"<rootDir>/dist\\\",\\\"<rootDir>/src/extensions/npm\\\"],\\\"setupFiles\\\":[\\\"<rootDir>/src/jest.setup.ts\\\",\\\"jest-canvas-mock\\\"],\\\"globals\\\":{\\\"ts-jest\\\":{\\\"isolatedModules\\\":true}}},\\\"build\\\":{\\\"generateUpdatesFilesForAllChannels\\\":true,\\\"files\\\":[\\\"static/build/main.js\\\"],\\\"afterSign\\\":\\\"build/notarize.js\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"locales/\\\",\\\"to\\\":\\\"locales/\\\",\\\"filter\\\":\\\"**/*.js\\\"},{\\\"from\\\":\\\"static/\\\",\\\"to\\\":\\\"static/\\\",\\\"filter\\\":\\\"!**/main.js\\\"},{\\\"from\\\":\\\"build/tray\\\",\\\"to\\\":\\\"static/icons\\\",\\\"filter\\\":\\\"*.png\\\"},{\\\"from\\\":\\\"extensions/\\\",\\\"to\\\":\\\"./extensions/\\\",\\\"filter\\\":[\\\"**/*.tgz\\\",\\\"**/package.json\\\",\\\"!**/node_modules\\\"]},{\\\"from\\\":\\\"templates/\\\",\\\"to\\\":\\\"./templates/\\\",\\\"filter\\\":\\\"**/*.yaml\\\"},\\\"LICENSE\\\"],\\\"linux\\\":{\\\"category\\\":\\\"Network\\\",\\\"artifactName\\\":\\\"${productName}-${version}.${arch}.${ext}\\\",\\\"target\\\":[\\\"deb\\\",\\\"rpm\\\",\\\"AppImage\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/linux/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"rpm\\\":{\\\"fpm\\\":[\\\"--rpm-rpmbuild-define=%define _build_id_links none\\\"]},\\\"mac\\\":{\\\"hardenedRuntime\\\":true,\\\"gatekeeperAssess\\\":false,\\\"entitlements\\\":\\\"build/entitlements.mac.plist\\\",\\\"entitlementsInherit\\\":\\\"build/entitlements.mac.plist\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/darwin/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"win\\\":{\\\"target\\\":[\\\"nsis\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/windows/x64/kubectl.exe\\\",\\\"to\\\":\\\"./x64/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/windows/ia32/kubectl.exe\\\",\\\"to\\\":\\\"./ia32/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/x64/helm3/helm3.exe\\\",\\\"to\\\":\\\"./helm3/helm3.exe\\\"}]},\\\"nsis\\\":{\\\"include\\\":\\\"build/installer.nsh\\\",\\\"oneClick\\\":false,\\\"allowElevation\\\":true,\\\"createStartMenuShortcut\\\":true,\\\"allowToChangeInstallationDirectory\\\":true},\\\"protocols\\\":{\\\"name\\\":\\\"Lens Protocol Handler\\\",\\\"schemes\\\":[\\\"lens\\\"],\\\"role\\\":\\\"Viewer\\\"}},\\\"dependencies\\\":{\\\"@hapi/call\\\":\\\"^8.0.1\\\",\\\"@hapi/subtext\\\":\\\"^7.0.3\\\",\\\"@kubernetes/client-node\\\":\\\"^0.16.1\\\",\\\"@ogre-tools/injectable\\\":\\\"3.2.1\\\",\\\"@ogre-tools/injectable-react\\\":\\\"3.2.1\\\",\\\"@sentry/electron\\\":\\\"^2.5.4\\\",\\\"@sentry/integrations\\\":\\\"^6.15.0\\\",\\\"@types/circular-dependency-plugin\\\":\\\"5.0.4\\\",\\\"abort-controller\\\":\\\"^3.0.0\\\",\\\"auto-bind\\\":\\\"^4.0.0\\\",\\\"autobind-decorator\\\":\\\"^2.4.0\\\",\\\"await-lock\\\":\\\"^2.1.0\\\",\\\"byline\\\":\\\"^5.0.0\\\",\\\"chokidar\\\":\\\"^3.4.3\\\",\\\"conf\\\":\\\"^7.1.2\\\",\\\"crypto-js\\\":\\\"^4.1.1\\\",\\\"electron-devtools-installer\\\":\\\"^3.2.0\\\",\\\"electron-updater\\\":\\\"^4.6.1\\\",\\\"electron-window-state\\\":\\\"^5.0.3\\\",\\\"filehound\\\":\\\"^1.17.5\\\",\\\"fs-extra\\\":\\\"^9.0.1\\\",\\\"glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"got\\\":\\\"^11.8.3\\\",\\\"grapheme-splitter\\\":\\\"^1.0.4\\\",\\\"handlebars\\\":\\\"^4.7.7\\\",\\\"http-proxy\\\":\\\"^1.18.1\\\",\\\"immer\\\":\\\"^9.0.6\\\",\\\"joi\\\":\\\"^17.5.0\\\",\\\"js-yaml\\\":\\\"^4.1.0\\\",\\\"jsdom\\\":\\\"^16.7.0\\\",\\\"jsonpath\\\":\\\"^1.1.1\\\",\\\"lodash\\\":\\\"^4.17.15\\\",\\\"mac-ca\\\":\\\"^1.0.6\\\",\\\"marked\\\":\\\"^4.0.10\\\",\\\"md5-file\\\":\\\"^5.0.0\\\",\\\"mobx\\\":\\\"^6.3.7\\\",\\\"mobx-observable-history\\\":\\\"^2.0.3\\\",\\\"mobx-react\\\":\\\"^7.2.1\\\",\\\"mock-fs\\\":\\\"^5.1.2\\\",\\\"moment\\\":\\\"^2.29.1\\\",\\\"moment-timezone\\\":\\\"^0.5.34\\\",\\\"monaco-editor\\\":\\\"^0.29.1\\\",\\\"monaco-editor-webpack-plugin\\\":\\\"^5.0.0\\\",\\\"node-fetch\\\":\\\"lensapp/node-fetch#2.x\\\",\\\"node-pty\\\":\\\"^0.10.1\\\",\\\"npm\\\":\\\"^6.14.15\\\",\\\"p-limit\\\":\\\"^3.1.0\\\",\\\"path-to-regexp\\\":\\\"^6.2.0\\\",\\\"proper-lockfile\\\":\\\"^4.1.2\\\",\\\"react\\\":\\\"^17.0.2\\\",\\\"react-dom\\\":\\\"^17.0.2\\\",\\\"react-material-ui-carousel\\\":\\\"^2.3.8\\\",\\\"react-router\\\":\\\"^5.2.0\\\",\\\"react-virtualized-auto-sizer\\\":\\\"^1.0.6\\\",\\\"readable-stream\\\":\\\"^3.6.0\\\",\\\"request\\\":\\\"^2.88.2\\\",\\\"request-promise-native\\\":\\\"^1.0.9\\\",\\\"rfc6902\\\":\\\"^4.0.2\\\",\\\"semver\\\":\\\"^7.3.2\\\",\\\"shell-env\\\":\\\"^3.0.1\\\",\\\"spdy\\\":\\\"^4.0.2\\\",\\\"tar\\\":\\\"^6.1.11\\\",\\\"tcp-port-used\\\":\\\"^1.0.2\\\",\\\"tempy\\\":\\\"1.0.1\\\",\\\"url-parse\\\":\\\"^1.5.3\\\",\\\"uuid\\\":\\\"^8.3.2\\\",\\\"win-ca\\\":\\\"^3.4.5\\\",\\\"winston\\\":\\\"^3.3.3\\\",\\\"winston-console-format\\\":\\\"^1.0.8\\\",\\\"winston-transport-browserconsole\\\":\\\"^1.0.5\\\",\\\"ws\\\":\\\"^7.5.5\\\"},\\\"devDependencies\\\":{\\\"@async-fn/jest\\\":\\\"1.5.3\\\",\\\"@material-ui/core\\\":\\\"^4.12.3\\\",\\\"@material-ui/icons\\\":\\\"^4.11.2\\\",\\\"@material-ui/lab\\\":\\\"^4.0.0-alpha.60\\\",\\\"@pmmmwh/react-refresh-webpack-plugin\\\":\\\"^0.4.3\\\",\\\"@sentry/types\\\":\\\"^6.14.1\\\",\\\"@testing-library/jest-dom\\\":\\\"^5.16.1\\\",\\\"@testing-library/react\\\":\\\"^11.2.7\\\",\\\"@testing-library/user-event\\\":\\\"^13.5.0\\\",\\\"@types/byline\\\":\\\"^4.2.33\\\",\\\"@types/chart.js\\\":\\\"^2.9.34\\\",\\\"@types/color\\\":\\\"^3.0.2\\\",\\\"@types/crypto-js\\\":\\\"^3.1.47\\\",\\\"@types/dompurify\\\":\\\"^2.3.1\\\",\\\"@types/electron-devtools-installer\\\":\\\"^2.2.0\\\",\\\"@types/fs-extra\\\":\\\"^9.0.13\\\",\\\"@types/glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"@types/hoist-non-react-statics\\\":\\\"^3.3.1\\\",\\\"@types/html-webpack-plugin\\\":\\\"^3.2.6\\\",\\\"@types/http-proxy\\\":\\\"^1.17.7\\\",\\\"@types/jest\\\":\\\"^26.0.24\\\",\\\"@types/js-yaml\\\":\\\"^4.0.5\\\",\\\"@types/jsdom\\\":\\\"^16.2.13\\\",\\\"@types/jsonpath\\\":\\\"^0.2.0\\\",\\\"@types/lodash\\\":\\\"^4.14.177\\\",\\\"@types/marked\\\":\\\"^4.0.1\\\",\\\"@types/md5-file\\\":\\\"^4.0.2\\\",\\\"@types/mini-css-extract-plugin\\\":\\\"^0.9.1\\\",\\\"@types/mock-fs\\\":\\\"^4.13.1\\\",\\\"@types/node\\\":\\\"14.17.33\\\",\\\"@types/node-fetch\\\":\\\"^2.5.12\\\",\\\"@types/npm\\\":\\\"^2.0.32\\\",\\\"@types/progress-bar-webpack-plugin\\\":\\\"^2.1.2\\\",\\\"@types/proper-lockfile\\\":\\\"^4.1.2\\\",\\\"@types/randomcolor\\\":\\\"^0.5.6\\\",\\\"@types/react\\\":\\\"^17.0.34\\\",\\\"@types/react-beautiful-dnd\\\":\\\"^13.1.2\\\",\\\"@types/react-dom\\\":\\\"^17.0.11\\\",\\\"@types/react-router-dom\\\":\\\"^5.3.2\\\",\\\"@types/react-select\\\":\\\"3.1.2\\\",\\\"@types/react-table\\\":\\\"^7.7.9\\\",\\\"@types/react-virtualized-auto-sizer\\\":\\\"^1.0.1\\\",\\\"@types/react-window\\\":\\\"^1.8.5\\\",\\\"@types/readable-stream\\\":\\\"^2.3.12\\\",\\\"@types/request\\\":\\\"^2.48.7\\\",\\\"@types/request-promise-native\\\":\\\"^1.0.18\\\",\\\"@types/semver\\\":\\\"^7.3.9\\\",\\\"@types/sharp\\\":\\\"^0.29.4\\\",\\\"@types/spdy\\\":\\\"^3.4.5\\\",\\\"@types/tar\\\":\\\"^4.0.5\\\",\\\"@types/tcp-port-used\\\":\\\"^1.0.0\\\",\\\"@types/tempy\\\":\\\"^0.3.0\\\",\\\"@types/triple-beam\\\":\\\"^1.3.2\\\",\\\"@types/url-parse\\\":\\\"^1.4.5\\\",\\\"@types/uuid\\\":\\\"^8.3.3\\\",\\\"@types/webpack\\\":\\\"^4.41.32\\\",\\\"@types/webpack-dev-server\\\":\\\"^3.11.6\\\",\\\"@types/webpack-env\\\":\\\"^1.16.3\\\",\\\"@types/webpack-node-externals\\\":\\\"^1.7.1\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^5.10.1\\\",\\\"@typescript-eslint/parser\\\":\\\"^5.10.1\\\",\\\"ansi_up\\\":\\\"^5.1.0\\\",\\\"chart.js\\\":\\\"^2.9.4\\\",\\\"circular-dependency-plugin\\\":\\\"^5.2.2\\\",\\\"color\\\":\\\"^3.2.1\\\",\\\"concurrently\\\":\\\"^5.3.0\\\",\\\"css-loader\\\":\\\"^5.2.7\\\",\\\"deepdash\\\":\\\"^5.3.9\\\",\\\"dompurify\\\":\\\"^2.3.4\\\",\\\"electron\\\":\\\"^14.2.4\\\",\\\"electron-builder\\\":\\\"^22.14.5\\\",\\\"electron-notarize\\\":\\\"^0.3.0\\\",\\\"esbuild\\\":\\\"^0.13.15\\\",\\\"esbuild-loader\\\":\\\"^2.16.0\\\",\\\"eslint\\\":\\\"^8.7.0\\\",\\\"eslint-plugin-header\\\":\\\"^3.1.1\\\",\\\"eslint-plugin-import\\\":\\\"^2.25.4\\\",\\\"eslint-plugin-react\\\":\\\"^7.28.0\\\",\\\"eslint-plugin-react-hooks\\\":\\\"^4.3.0\\\",\\\"eslint-plugin-unused-imports\\\":\\\"^2.0.0\\\",\\\"file-loader\\\":\\\"^6.2.0\\\",\\\"flex.box\\\":\\\"^3.4.4\\\",\\\"fork-ts-checker-webpack-plugin\\\":\\\"^5.2.1\\\",\\\"hoist-non-react-statics\\\":\\\"^3.3.2\\\",\\\"html-webpack-plugin\\\":\\\"^4.5.2\\\",\\\"ignore-loader\\\":\\\"^0.1.2\\\",\\\"include-media\\\":\\\"^1.4.9\\\",\\\"jest\\\":\\\"26.6.3\\\",\\\"jest-canvas-mock\\\":\\\"^2.3.1\\\",\\\"jest-fetch-mock\\\":\\\"^3.0.3\\\",\\\"jest-mock-extended\\\":\\\"^1.0.18\\\",\\\"make-plural\\\":\\\"^6.2.2\\\",\\\"mini-css-extract-plugin\\\":\\\"^1.6.2\\\",\\\"node-gyp\\\":\\\"7.1.2\\\",\\\"node-loader\\\":\\\"^1.0.3\\\",\\\"nodemon\\\":\\\"^2.0.15\\\",\\\"playwright\\\":\\\"^1.17.1\\\",\\\"postcss\\\":\\\"^8.4.5\\\",\\\"postcss-loader\\\":\\\"^4.3.0\\\",\\\"progress-bar-webpack-plugin\\\":\\\"^2.1.0\\\",\\\"randomcolor\\\":\\\"^0.6.2\\\",\\\"raw-loader\\\":\\\"^4.0.2\\\",\\\"react-beautiful-dnd\\\":\\\"^13.1.0\\\",\\\"react-refresh\\\":\\\"^0.9.0\\\",\\\"react-router-dom\\\":\\\"^5.3.0\\\",\\\"react-select\\\":\\\"3.2.0\\\",\\\"react-select-event\\\":\\\"^5.1.0\\\",\\\"react-table\\\":\\\"^7.7.0\\\",\\\"react-window\\\":\\\"^1.8.6\\\",\\\"sass\\\":\\\"^1.45.1\\\",\\\"sass-loader\\\":\\\"^10.2.0\\\",\\\"sharp\\\":\\\"^0.29.3\\\",\\\"style-loader\\\":\\\"^2.0.0\\\",\\\"tailwindcss\\\":\\\"^3.0.7\\\",\\\"ts-jest\\\":\\\"26.5.6\\\",\\\"ts-loader\\\":\\\"^7.0.5\\\",\\\"ts-node\\\":\\\"^10.4.0\\\",\\\"type-fest\\\":\\\"^1.0.2\\\",\\\"typed-emitter\\\":\\\"^1.4.0\\\",\\\"typedoc\\\":\\\"0.22.10\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.11.3\\\",\\\"typeface-roboto\\\":\\\"^1.1.13\\\",\\\"typescript\\\":\\\"^4.5.2\\\",\\\"typescript-plugin-css-modules\\\":\\\"^3.4.0\\\",\\\"url-loader\\\":\\\"^4.1.1\\\",\\\"webpack\\\":\\\"^4.46.0\\\",\\\"webpack-cli\\\":\\\"^3.3.12\\\",\\\"webpack-dev-server\\\":\\\"^3.11.3\\\",\\\"webpack-node-externals\\\":\\\"^1.7.2\\\",\\\"xterm\\\":\\\"^4.15.0\\\",\\\"xterm-addon-fit\\\":\\\"^0.5.0\\\"}}\");\n\n//# sourceURL=webpack:///./package.json?");
38512
38512
 
38513
38513
  /***/ }),
38514
38514
 
@@ -40044,7 +40044,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40044
40044
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40045
40045
 
40046
40046
  "use strict";
40047
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UserStore\", function() { return UserStore; });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(semver__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _base_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base-store */ \"./src/common/base-store.ts\");\n/* harmony import */ var _migrations_user_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../migrations/user-store */ \"./src/migrations/user-store/index.ts\");\n/* harmony import */ var _utils_app_version__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/app-version */ \"./src/common/utils/app-version.ts\");\n/* harmony import */ var _kube_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../kube-helpers */ \"./src/common/kube-helpers.ts\");\n/* harmony import */ var _app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../app-event-bus/event-bus */ \"./src/common/app-event-bus/event-bus.ts\");\n/* harmony import */ var _renderer_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../renderer/utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./preferences-helpers */ \"./src/common/user-store/preferences-helpers.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nclass UserStore extends _base_store__WEBPACK_IMPORTED_MODULE_3__[\"BaseStore\"] /* implements UserStoreFlatModel (when strict null is enabled) */ {\n constructor() {\n super({\n configName: \"lens-user-store\",\n migrations: _migrations_user_store__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n });\n Object.defineProperty(this, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"UserStore\"\n });\n Object.defineProperty(this, \"lastSeenAppVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"0.0.0\"\n });\n /**\n * used in add-cluster page for providing context\n */\n Object.defineProperty(this, \"kubeConfigPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _kube_helpers__WEBPACK_IMPORTED_MODULE_6__[\"kubeConfigDefaultPath\"]\n });\n Object.defineProperty(this, \"seenContexts\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].set()\n });\n Object.defineProperty(this, \"newContexts\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].set()\n });\n Object.defineProperty(this, \"allowTelemetry\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"allowErrorReporting\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"allowUntrustedCAs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"colorTheme\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"terminalTheme\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"localeTimezone\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"downloadMirror\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"httpsProxy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shell\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"downloadBinariesPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"kubectlBinariesPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"terminalCopyOnSelect\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"terminalConfig\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"updateChannel\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"extensionRegistryUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Download kubectl binaries matching cluster version\n */\n Object.defineProperty(this, \"downloadKubectlBinaries\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"openAtLogin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * The column IDs under each configurable table ID that have been configured\n * to not be shown\n */\n Object.defineProperty(this, \"hiddenTableColumns\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].map()\n });\n /**\n * Monaco editor configs\n */\n Object.defineProperty(this, \"editorConfiguration\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * The set of file/folder paths to be synced\n */\n Object.defineProperty(this, \"syncKubeconfigEntries\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].map()\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"makeObservable\"])(this);\n if (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcMain\"]) {\n Object(_migrations_user_store__WEBPACK_IMPORTED_MODULE_4__[\"fileNameMigration\"])();\n }\n this.load();\n }\n get isNewVersion() {\n return semver__WEBPACK_IMPORTED_MODULE_1___default.a.gt(Object(_utils_app_version__WEBPACK_IMPORTED_MODULE_5__[\"getAppVersion\"])(), this.lastSeenAppVersion);\n }\n get resolvedShell() {\n return this.shell || process.env.SHELL || process.env.PTYSHELL;\n }\n get isAllowedToDowngrade() {\n return new semver__WEBPACK_IMPORTED_MODULE_1__[\"SemVer\"](Object(_utils_app_version__WEBPACK_IMPORTED_MODULE_5__[\"getAppVersion\"])()).prerelease[0] !== this.updateChannel;\n }\n startMainReactions() {\n // track telemetry availability\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"reaction\"])(() => this.allowTelemetry, allowed => {\n _app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_7__[\"appEventBus\"].emit({ name: \"telemetry\", action: allowed ? \"enabled\" : \"disabled\" });\n });\n // open at system start-up\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"reaction\"])(() => this.openAtLogin, openAtLogin => {\n electron__WEBPACK_IMPORTED_MODULE_0__[\"app\"].setLoginItemSettings({\n openAtLogin,\n openAsHidden: true,\n args: [\"--hidden\"],\n });\n }, {\n fireImmediately: true,\n });\n }\n /**\n * Checks if a column (by ID) for a table (by ID) is configured to be hidden\n * @param tableId The ID of the table to be checked against\n * @param columnIds The list of IDs the check if one is hidden\n * @returns true if at least one column under the table is set to hidden\n */\n isTableColumnHidden(tableId, ...columnIds) {\n if (columnIds.length === 0) {\n return false;\n }\n const config = this.hiddenTableColumns.get(tableId);\n if (!config) {\n return false;\n }\n return columnIds.some(columnId => config.has(columnId));\n }\n /**\n * Toggles the hidden configuration of a table's column\n */\n toggleTableColumnVisibility(tableId, columnId) {\n Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"toggle\"])(Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"getOrInsertSet\"])(this.hiddenTableColumns, tableId), columnId);\n }\n resetTheme() {\n this.colorTheme = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].colorTheme.fromStore(undefined);\n }\n saveLastSeenAppVersion() {\n _app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_7__[\"appEventBus\"].emit({ name: \"app\", action: \"whats-new-seen\" });\n this.lastSeenAppVersion = Object(_utils_app_version__WEBPACK_IMPORTED_MODULE_5__[\"getAppVersion\"])();\n }\n setLocaleTimezone(tz) {\n this.localeTimezone = tz;\n }\n fromStore({ lastSeenAppVersion, preferences } = {}) {\n _main_logger__WEBPACK_IMPORTED_MODULE_10__[\"default\"].debug(\"UserStore.fromStore()\", { lastSeenAppVersion, preferences });\n if (lastSeenAppVersion) {\n this.lastSeenAppVersion = lastSeenAppVersion;\n }\n this.httpsProxy = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].httpsProxy.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.httpsProxy);\n this.shell = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].shell.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.shell);\n this.colorTheme = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].colorTheme.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.colorTheme);\n this.terminalTheme = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].terminalTheme.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.terminalTheme);\n this.localeTimezone = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].localeTimezone.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.localeTimezone);\n this.allowUntrustedCAs = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].allowUntrustedCAs.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.allowUntrustedCAs);\n this.allowTelemetry = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].allowTelemetry.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.allowTelemetry);\n this.allowErrorReporting = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].allowErrorReporting.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.allowErrorReporting);\n this.downloadMirror = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].downloadMirror.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.downloadMirror);\n this.downloadKubectlBinaries = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].downloadKubectlBinaries.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.downloadKubectlBinaries);\n this.downloadBinariesPath = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].downloadBinariesPath.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.downloadBinariesPath);\n this.kubectlBinariesPath = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].kubectlBinariesPath.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.kubectlBinariesPath);\n this.openAtLogin = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].openAtLogin.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.openAtLogin);\n this.hiddenTableColumns.replace(_preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].hiddenTableColumns.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.hiddenTableColumns));\n this.syncKubeconfigEntries.replace(_preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].syncKubeconfigEntries.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.syncKubeconfigEntries));\n this.editorConfiguration = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].editorConfiguration.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.editorConfiguration);\n this.terminalCopyOnSelect = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].terminalCopyOnSelect.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.terminalCopyOnSelect);\n this.terminalConfig = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].terminalConfig.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.terminalConfig);\n this.updateChannel = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].updateChannel.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.updateChannel);\n this.extensionRegistryUrl = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].extensionRegistryUrl.fromStore(preferences === null || preferences === void 0 ? void 0 : preferences.extensionRegistryUrl);\n }\n toJSON() {\n const model = {\n lastSeenAppVersion: this.lastSeenAppVersion,\n preferences: {\n httpsProxy: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].httpsProxy.toStore(this.httpsProxy),\n shell: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].shell.toStore(this.shell),\n colorTheme: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].colorTheme.toStore(this.colorTheme),\n terminalTheme: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].terminalTheme.toStore(this.terminalTheme),\n localeTimezone: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].localeTimezone.toStore(this.localeTimezone),\n allowUntrustedCAs: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].allowUntrustedCAs.toStore(this.allowUntrustedCAs),\n allowTelemetry: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].allowTelemetry.toStore(this.allowTelemetry),\n allowErrorReporting: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].allowErrorReporting.toStore(this.allowErrorReporting),\n downloadMirror: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].downloadMirror.toStore(this.downloadMirror),\n downloadKubectlBinaries: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].downloadKubectlBinaries.toStore(this.downloadKubectlBinaries),\n downloadBinariesPath: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].downloadBinariesPath.toStore(this.downloadBinariesPath),\n kubectlBinariesPath: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].kubectlBinariesPath.toStore(this.kubectlBinariesPath),\n openAtLogin: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].openAtLogin.toStore(this.openAtLogin),\n hiddenTableColumns: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].hiddenTableColumns.toStore(this.hiddenTableColumns),\n syncKubeconfigEntries: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].syncKubeconfigEntries.toStore(this.syncKubeconfigEntries),\n editorConfiguration: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].editorConfiguration.toStore(this.editorConfiguration),\n terminalCopyOnSelect: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].terminalCopyOnSelect.toStore(this.terminalCopyOnSelect),\n terminalConfig: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].terminalConfig.toStore(this.terminalConfig),\n updateChannel: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].updateChannel.toStore(this.updateChannel),\n extensionRegistryUrl: _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].extensionRegistryUrl.toStore(this.extensionRegistryUrl),\n },\n };\n return Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"toJS\"])(model);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"lastSeenAppVersion\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"kubeConfigPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"seenContexts\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"newContexts\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"allowTelemetry\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"allowErrorReporting\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"allowUntrustedCAs\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"colorTheme\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"terminalTheme\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"localeTimezone\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"downloadMirror\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"httpsProxy\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"shell\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"downloadBinariesPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"kubectlBinariesPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"terminalCopyOnSelect\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"terminalConfig\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"updateChannel\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"extensionRegistryUrl\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"downloadKubectlBinaries\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"openAtLogin\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"editorConfiguration\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], UserStore.prototype, \"isNewVersion\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], UserStore.prototype, \"resolvedShell\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], UserStore.prototype, \"isAllowedToDowngrade\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"resetTheme\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"saveLastSeenAppVersion\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"setLocaleTimezone\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"fromStore\", null);\n\n\n//# sourceURL=webpack:///./src/common/user-store/user-store.ts?");
40047
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UserStore\", function() { return UserStore; });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(semver__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _base_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base-store */ \"./src/common/base-store.ts\");\n/* harmony import */ var _migrations_user_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../migrations/user-store */ \"./src/migrations/user-store/index.ts\");\n/* harmony import */ var _utils_app_version__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/app-version */ \"./src/common/utils/app-version.ts\");\n/* harmony import */ var _kube_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../kube-helpers */ \"./src/common/kube-helpers.ts\");\n/* harmony import */ var _app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../app-event-bus/event-bus */ \"./src/common/app-event-bus/event-bus.ts\");\n/* harmony import */ var _renderer_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../renderer/utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./preferences-helpers */ \"./src/common/user-store/preferences-helpers.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nclass UserStore extends _base_store__WEBPACK_IMPORTED_MODULE_3__[\"BaseStore\"] /* implements UserStoreFlatModel (when strict null is enabled) */ {\n constructor() {\n super({\n configName: \"lens-user-store\",\n migrations: _migrations_user_store__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n });\n Object.defineProperty(this, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"UserStore\"\n });\n Object.defineProperty(this, \"lastSeenAppVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"0.0.0\"\n });\n /**\n * used in add-cluster page for providing context\n */\n Object.defineProperty(this, \"kubeConfigPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _kube_helpers__WEBPACK_IMPORTED_MODULE_6__[\"kubeConfigDefaultPath\"]\n });\n Object.defineProperty(this, \"seenContexts\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].set()\n });\n Object.defineProperty(this, \"newContexts\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].set()\n });\n Object.defineProperty(this, \"allowTelemetry\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"allowErrorReporting\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"allowUntrustedCAs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"colorTheme\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"terminalTheme\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"localeTimezone\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"downloadMirror\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"httpsProxy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shell\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"downloadBinariesPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"kubectlBinariesPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"terminalCopyOnSelect\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"terminalConfig\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"updateChannel\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"extensionRegistryUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Download kubectl binaries matching cluster version\n */\n Object.defineProperty(this, \"downloadKubectlBinaries\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"openAtLogin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * The column IDs under each configurable table ID that have been configured\n * to not be shown\n */\n Object.defineProperty(this, \"hiddenTableColumns\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].map()\n });\n /**\n * Monaco editor configs\n */\n Object.defineProperty(this, \"editorConfiguration\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * The set of file/folder paths to be synced\n */\n Object.defineProperty(this, \"syncKubeconfigEntries\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"].map()\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"makeObservable\"])(this);\n if (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcMain\"]) {\n Object(_migrations_user_store__WEBPACK_IMPORTED_MODULE_4__[\"fileNameMigration\"])();\n }\n this.load();\n }\n get isNewVersion() {\n return semver__WEBPACK_IMPORTED_MODULE_1___default.a.gt(Object(_utils_app_version__WEBPACK_IMPORTED_MODULE_5__[\"getAppVersion\"])(), this.lastSeenAppVersion);\n }\n get resolvedShell() {\n return this.shell || process.env.SHELL || process.env.PTYSHELL;\n }\n get isAllowedToDowngrade() {\n return new semver__WEBPACK_IMPORTED_MODULE_1__[\"SemVer\"](Object(_utils_app_version__WEBPACK_IMPORTED_MODULE_5__[\"getAppVersion\"])()).prerelease[0] !== this.updateChannel;\n }\n startMainReactions() {\n // track telemetry availability\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"reaction\"])(() => this.allowTelemetry, allowed => {\n _app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_7__[\"appEventBus\"].emit({ name: \"telemetry\", action: allowed ? \"enabled\" : \"disabled\" });\n });\n // open at system start-up\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"reaction\"])(() => this.openAtLogin, openAtLogin => {\n electron__WEBPACK_IMPORTED_MODULE_0__[\"app\"].setLoginItemSettings({\n openAtLogin,\n openAsHidden: true,\n args: [\"--hidden\"],\n });\n }, {\n fireImmediately: true,\n });\n }\n /**\n * Checks if a column (by ID) for a table (by ID) is configured to be hidden\n * @param tableId The ID of the table to be checked against\n * @param columnIds The list of IDs the check if one is hidden\n * @returns true if at least one column under the table is set to hidden\n */\n isTableColumnHidden(tableId, ...columnIds) {\n if (columnIds.length === 0) {\n return false;\n }\n const config = this.hiddenTableColumns.get(tableId);\n if (!config) {\n return false;\n }\n return columnIds.some(columnId => config.has(columnId));\n }\n /**\n * Toggles the hidden configuration of a table's column\n */\n toggleTableColumnVisibility(tableId, columnId) {\n Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"toggle\"])(Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"getOrInsertSet\"])(this.hiddenTableColumns, tableId), columnId);\n }\n resetTheme() {\n this.colorTheme = _preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"].colorTheme.fromStore(undefined);\n }\n saveLastSeenAppVersion() {\n _app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_7__[\"appEventBus\"].emit({ name: \"app\", action: \"whats-new-seen\" });\n this.lastSeenAppVersion = Object(_utils_app_version__WEBPACK_IMPORTED_MODULE_5__[\"getAppVersion\"])();\n }\n setLocaleTimezone(tz) {\n this.localeTimezone = tz;\n }\n fromStore({ lastSeenAppVersion, preferences } = {}) {\n var _a;\n _main_logger__WEBPACK_IMPORTED_MODULE_10__[\"default\"].debug(\"UserStore.fromStore()\", { lastSeenAppVersion, preferences });\n if (lastSeenAppVersion) {\n this.lastSeenAppVersion = lastSeenAppVersion;\n }\n for (const [key, { fromStore }] of Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"entries\"])(_preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"])) {\n const curVal = this[key];\n const newVal = fromStore((_a = (preferences)) === null || _a === void 0 ? void 0 : _a[key]);\n if (Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"isObservableArray\"])(curVal)\n || Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"isObservableSet\"])(curVal)\n || Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"isObservableMap\"])(curVal)) {\n curVal.replace(newVal);\n }\n else {\n this[key] = newVal;\n }\n }\n }\n toJSON() {\n const preferences = Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"fromEntries\"])(Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"entries\"])(_preferences_helpers__WEBPACK_IMPORTED_MODULE_9__[\"DESCRIPTORS\"])\n .map(([key, { toStore }]) => [key, toStore(this[key])]));\n return Object(_renderer_utils__WEBPACK_IMPORTED_MODULE_8__[\"toJS\"])({\n lastSeenAppVersion: this.lastSeenAppVersion,\n preferences,\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"lastSeenAppVersion\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"kubeConfigPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"seenContexts\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"newContexts\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"allowTelemetry\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"allowErrorReporting\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"allowUntrustedCAs\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"colorTheme\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"terminalTheme\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"localeTimezone\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"downloadMirror\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"httpsProxy\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"shell\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"downloadBinariesPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"kubectlBinariesPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"terminalCopyOnSelect\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"terminalConfig\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", String)\n], UserStore.prototype, \"updateChannel\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"extensionRegistryUrl\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"downloadKubectlBinaries\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Boolean)\n], UserStore.prototype, \"openAtLogin\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"observable\"],\n __metadata(\"design:type\", Object)\n], UserStore.prototype, \"editorConfiguration\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], UserStore.prototype, \"isNewVersion\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], UserStore.prototype, \"resolvedShell\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], UserStore.prototype, \"isAllowedToDowngrade\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"resetTheme\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"saveLastSeenAppVersion\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"setLocaleTimezone\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], UserStore.prototype, \"fromStore\", null);\n\n\n//# sourceURL=webpack:///./src/common/user-store/user-store.ts?");
40048
40048
 
40049
40049
  /***/ }),
40050
40050
 
@@ -40316,11 +40316,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40316
40316
  /*!***********************************!*\
40317
40317
  !*** ./src/common/utils/index.ts ***!
40318
40318
  \***********************************/
40319
- /*! exports provided: noop, WrappedAbortController, getAppVersion, getBundledKubectlVersion, getAppVersionFromProxyServer, autoBind, boundClass, boundMethod, toCamelCase, cloneJsonObject, getClusterIdFromHost, getClusterFrameUrl, getHostedClusterId, isClusterPageContext, getOrInsert, getOrInsertMap, getOrInsertSet, getOrInsertWith, toggle, cpuUnitsToNumber, unitsToBytes, bytesToUnits, debouncePromise, defineGlobal, delay, disposer, downloadFile, downloadJson, escapeRegExp, multiSet, ExtendedMap, ExtendedObservableMap, formatDuration, getRandId, makeIterableIterator, HashSet, ObservableHashSet, nFircate, fromEntries, openExternal, resolveTilde, resolvePath, isLogicalChildPath, promiseExecFile, rejectPromiseBy, Singleton, Ordering, rectifyOrdering, sortCompare, sortCompareChartVersions, sortCharts, splitArray, bifurcateArray, readFileFromTar, listTarEntries, extractTar, toJS, hasOwnProperty, hasOwnProperties, hasTypedProperty, hasOptionalProperty, isRecord, isTypedArray, isString, isObject, bindPredicate, waitForPath, iter, array, tuple, base64 */
40319
+ /*! exports provided: noop, WrappedAbortController, getAppVersion, getBundledKubectlVersion, getAppVersionFromProxyServer, autoBind, boundClass, boundMethod, toCamelCase, cloneJsonObject, getClusterIdFromHost, getClusterFrameUrl, getHostedClusterId, isClusterPageContext, getOrInsert, getOrInsertMap, getOrInsertSet, getOrInsertWith, toggle, cpuUnitsToNumber, unitsToBytes, bytesToUnits, debouncePromise, defineGlobal, delay, disposer, downloadFile, downloadJson, escapeRegExp, multiSet, ExtendedMap, ExtendedObservableMap, formatDuration, getRandId, makeIterableIterator, HashSet, ObservableHashSet, nFircate, fromEntries, entries, openExternal, resolveTilde, resolvePath, isLogicalChildPath, promiseExecFile, rejectPromiseBy, Singleton, Ordering, rectifyOrdering, sortCompare, sortCompareChartVersions, sortCharts, splitArray, bifurcateArray, readFileFromTar, listTarEntries, extractTar, toJS, hasOwnProperty, hasOwnProperties, hasTypedProperty, hasOptionalProperty, isRecord, isTypedArray, isString, isObject, bindPredicate, waitForPath, iter, array, tuple, base64 */
40320
40320
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40321
40321
 
40322
40322
  "use strict";
40323
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return noop; });\n/* harmony import */ var _abort_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abort-controller */ \"./src/common/utils/abort-controller.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WrappedAbortController\", function() { return _abort_controller__WEBPACK_IMPORTED_MODULE_0__[\"WrappedAbortController\"]; });\n\n/* harmony import */ var _app_version__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-version */ \"./src/common/utils/app-version.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersion\", function() { return _app_version__WEBPACK_IMPORTED_MODULE_1__[\"getAppVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBundledKubectlVersion\", function() { return _app_version__WEBPACK_IMPORTED_MODULE_1__[\"getBundledKubectlVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersionFromProxyServer\", function() { return _app_version__WEBPACK_IMPORTED_MODULE_1__[\"getAppVersionFromProxyServer\"]; });\n\n/* harmony import */ var _autobind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./autobind */ \"./src/common/utils/autobind.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"autoBind\", function() { return _autobind__WEBPACK_IMPORTED_MODULE_2__[\"autoBind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundClass\", function() { return _autobind__WEBPACK_IMPORTED_MODULE_2__[\"boundClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundMethod\", function() { return _autobind__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"]; });\n\n/* harmony import */ var _camelCase__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./camelCase */ \"./src/common/utils/camelCase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _camelCase__WEBPACK_IMPORTED_MODULE_3__[\"toCamelCase\"]; });\n\n/* harmony import */ var _cloneJson__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloneJson */ \"./src/common/utils/cloneJson.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneJsonObject\", function() { return _cloneJson__WEBPACK_IMPORTED_MODULE_4__[\"cloneJsonObject\"]; });\n\n/* harmony import */ var _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterIdFromHost\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"getClusterIdFromHost\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterFrameUrl\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"getClusterFrameUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHostedClusterId\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"getHostedClusterId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isClusterPageContext\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"isClusterPageContext\"]; });\n\n/* harmony import */ var _collection_functions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./collection-functions */ \"./src/common/utils/collection-functions.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsert\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsert\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertMap\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsertMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertSet\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsertSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertWith\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsertWith\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toggle\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"toggle\"]; });\n\n/* harmony import */ var _convertCpu__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./convertCpu */ \"./src/common/utils/convertCpu.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuUnitsToNumber\", function() { return _convertCpu__WEBPACK_IMPORTED_MODULE_7__[\"cpuUnitsToNumber\"]; });\n\n/* harmony import */ var _convertMemory__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./convertMemory */ \"./src/common/utils/convertMemory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unitsToBytes\", function() { return _convertMemory__WEBPACK_IMPORTED_MODULE_8__[\"unitsToBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesToUnits\", function() { return _convertMemory__WEBPACK_IMPORTED_MODULE_8__[\"bytesToUnits\"]; });\n\n/* harmony import */ var _debouncePromise__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./debouncePromise */ \"./src/common/utils/debouncePromise.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debouncePromise\", function() { return _debouncePromise__WEBPACK_IMPORTED_MODULE_9__[\"debouncePromise\"]; });\n\n/* harmony import */ var _defineGlobal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./defineGlobal */ \"./src/common/utils/defineGlobal.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defineGlobal\", function() { return _defineGlobal__WEBPACK_IMPORTED_MODULE_10__[\"defineGlobal\"]; });\n\n/* harmony import */ var _delay__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./delay */ \"./src/common/utils/delay.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _delay__WEBPACK_IMPORTED_MODULE_11__[\"delay\"]; });\n\n/* harmony import */ var _disposer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./disposer */ \"./src/common/utils/disposer.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disposer\", function() { return _disposer__WEBPACK_IMPORTED_MODULE_12__[\"disposer\"]; });\n\n/* harmony import */ var _downloadFile__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./downloadFile */ \"./src/common/utils/downloadFile.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return _downloadFile__WEBPACK_IMPORTED_MODULE_13__[\"downloadFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadJson\", function() { return _downloadFile__WEBPACK_IMPORTED_MODULE_13__[\"downloadJson\"]; });\n\n/* harmony import */ var _escapeRegExp__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./escapeRegExp */ \"./src/common/utils/escapeRegExp.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _escapeRegExp__WEBPACK_IMPORTED_MODULE_14__[\"escapeRegExp\"]; });\n\n/* harmony import */ var _extended_map__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./extended-map */ \"./src/common/utils/extended-map.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiSet\", function() { return _extended_map__WEBPACK_IMPORTED_MODULE_15__[\"multiSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedMap\", function() { return _extended_map__WEBPACK_IMPORTED_MODULE_15__[\"ExtendedMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedObservableMap\", function() { return _extended_map__WEBPACK_IMPORTED_MODULE_15__[\"ExtendedObservableMap\"]; });\n\n/* harmony import */ var _formatDuration__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./formatDuration */ \"./src/common/utils/formatDuration.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDuration\", function() { return _formatDuration__WEBPACK_IMPORTED_MODULE_16__[\"formatDuration\"]; });\n\n/* harmony import */ var _getRandId__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./getRandId */ \"./src/common/utils/getRandId.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getRandId\", function() { return _getRandId__WEBPACK_IMPORTED_MODULE_17__[\"getRandId\"]; });\n\n/* harmony import */ var _hash_set__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./hash-set */ \"./src/common/utils/hash-set.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeIterableIterator\", function() { return _hash_set__WEBPACK_IMPORTED_MODULE_18__[\"makeIterableIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HashSet\", function() { return _hash_set__WEBPACK_IMPORTED_MODULE_18__[\"HashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableHashSet\", function() { return _hash_set__WEBPACK_IMPORTED_MODULE_18__[\"ObservableHashSet\"]; });\n\n/* harmony import */ var _n_fircate__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./n-fircate */ \"./src/common/utils/n-fircate.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nFircate\", function() { return _n_fircate__WEBPACK_IMPORTED_MODULE_19__[\"nFircate\"]; });\n\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./objects */ \"./src/common/utils/objects.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return _objects__WEBPACK_IMPORTED_MODULE_20__[\"fromEntries\"]; });\n\n/* harmony import */ var _openExternal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./openExternal */ \"./src/common/utils/openExternal.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"openExternal\", function() { return _openExternal__WEBPACK_IMPORTED_MODULE_21__[\"openExternal\"]; });\n\n/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./paths */ \"./src/common/utils/paths.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolveTilde\", function() { return _paths__WEBPACK_IMPORTED_MODULE_22__[\"resolveTilde\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolvePath\", function() { return _paths__WEBPACK_IMPORTED_MODULE_22__[\"resolvePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLogicalChildPath\", function() { return _paths__WEBPACK_IMPORTED_MODULE_22__[\"isLogicalChildPath\"]; });\n\n/* harmony import */ var _promise_exec__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./promise-exec */ \"./src/common/utils/promise-exec.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"promiseExecFile\", function() { return _promise_exec__WEBPACK_IMPORTED_MODULE_23__[\"promiseExecFile\"]; });\n\n/* harmony import */ var _reject_promise__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./reject-promise */ \"./src/common/utils/reject-promise.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rejectPromiseBy\", function() { return _reject_promise__WEBPACK_IMPORTED_MODULE_24__[\"rejectPromiseBy\"]; });\n\n/* harmony import */ var _singleton__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./singleton */ \"./src/common/utils/singleton.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Singleton\", function() { return _singleton__WEBPACK_IMPORTED_MODULE_25__[\"Singleton\"]; });\n\n/* harmony import */ var _sort_compare__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./sort-compare */ \"./src/common/utils/sort-compare.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ordering\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"Ordering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectifyOrdering\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"rectifyOrdering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompare\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"sortCompare\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompareChartVersions\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"sortCompareChartVersions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCharts\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"sortCharts\"]; });\n\n/* harmony import */ var _splitArray__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./splitArray */ \"./src/common/utils/splitArray.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitArray\", function() { return _splitArray__WEBPACK_IMPORTED_MODULE_27__[\"splitArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bifurcateArray\", function() { return _splitArray__WEBPACK_IMPORTED_MODULE_27__[\"bifurcateArray\"]; });\n\n/* harmony import */ var _tar__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./tar */ \"./src/common/utils/tar.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"readFileFromTar\", function() { return _tar__WEBPACK_IMPORTED_MODULE_28__[\"readFileFromTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"listTarEntries\", function() { return _tar__WEBPACK_IMPORTED_MODULE_28__[\"listTarEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extractTar\", function() { return _tar__WEBPACK_IMPORTED_MODULE_28__[\"extractTar\"]; });\n\n/* harmony import */ var _toJS__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./toJS */ \"./src/common/utils/toJS.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return _toJS__WEBPACK_IMPORTED_MODULE_29__[\"toJS\"]; });\n\n/* harmony import */ var _type_narrowing__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./type-narrowing */ \"./src/common/utils/type-narrowing.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperty\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasOwnProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperties\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasOwnProperties\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasTypedProperty\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasTypedProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOptionalProperty\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasOptionalProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isRecord\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindPredicate\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"bindPredicate\"]; });\n\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./types */ \"./src/common/utils/types.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _wait_for_path__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./wait-for-path */ \"./src/common/utils/wait-for-path.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForPath\", function() { return _wait_for_path__WEBPACK_IMPORTED_MODULE_32__[\"waitForPath\"]; });\n\n/* harmony import */ var _iter__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./iter */ \"./src/common/utils/iter.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"iter\", function() { return _iter__WEBPACK_IMPORTED_MODULE_33__; });\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./array */ \"./src/common/utils/array.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return _array__WEBPACK_IMPORTED_MODULE_34__; });\n/* harmony import */ var _tuple__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./tuple */ \"./src/common/utils/tuple.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"tuple\", function() { return _tuple__WEBPACK_IMPORTED_MODULE_35__; });\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./base64 */ \"./src/common/utils/base64.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"base64\", function() { return _base64__WEBPACK_IMPORTED_MODULE_36__; });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * A function that does nothing\n */\nfunction noop(...args) {\n return void args;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/common/utils/index.ts?");
40323
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return noop; });\n/* harmony import */ var _abort_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abort-controller */ \"./src/common/utils/abort-controller.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WrappedAbortController\", function() { return _abort_controller__WEBPACK_IMPORTED_MODULE_0__[\"WrappedAbortController\"]; });\n\n/* harmony import */ var _app_version__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-version */ \"./src/common/utils/app-version.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersion\", function() { return _app_version__WEBPACK_IMPORTED_MODULE_1__[\"getAppVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBundledKubectlVersion\", function() { return _app_version__WEBPACK_IMPORTED_MODULE_1__[\"getBundledKubectlVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersionFromProxyServer\", function() { return _app_version__WEBPACK_IMPORTED_MODULE_1__[\"getAppVersionFromProxyServer\"]; });\n\n/* harmony import */ var _autobind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./autobind */ \"./src/common/utils/autobind.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"autoBind\", function() { return _autobind__WEBPACK_IMPORTED_MODULE_2__[\"autoBind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundClass\", function() { return _autobind__WEBPACK_IMPORTED_MODULE_2__[\"boundClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundMethod\", function() { return _autobind__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"]; });\n\n/* harmony import */ var _camelCase__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./camelCase */ \"./src/common/utils/camelCase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _camelCase__WEBPACK_IMPORTED_MODULE_3__[\"toCamelCase\"]; });\n\n/* harmony import */ var _cloneJson__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloneJson */ \"./src/common/utils/cloneJson.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneJsonObject\", function() { return _cloneJson__WEBPACK_IMPORTED_MODULE_4__[\"cloneJsonObject\"]; });\n\n/* harmony import */ var _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterIdFromHost\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"getClusterIdFromHost\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterFrameUrl\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"getClusterFrameUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHostedClusterId\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"getHostedClusterId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isClusterPageContext\", function() { return _cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_5__[\"isClusterPageContext\"]; });\n\n/* harmony import */ var _collection_functions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./collection-functions */ \"./src/common/utils/collection-functions.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsert\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsert\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertMap\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsertMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertSet\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsertSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertWith\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"getOrInsertWith\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toggle\", function() { return _collection_functions__WEBPACK_IMPORTED_MODULE_6__[\"toggle\"]; });\n\n/* harmony import */ var _convertCpu__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./convertCpu */ \"./src/common/utils/convertCpu.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuUnitsToNumber\", function() { return _convertCpu__WEBPACK_IMPORTED_MODULE_7__[\"cpuUnitsToNumber\"]; });\n\n/* harmony import */ var _convertMemory__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./convertMemory */ \"./src/common/utils/convertMemory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unitsToBytes\", function() { return _convertMemory__WEBPACK_IMPORTED_MODULE_8__[\"unitsToBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesToUnits\", function() { return _convertMemory__WEBPACK_IMPORTED_MODULE_8__[\"bytesToUnits\"]; });\n\n/* harmony import */ var _debouncePromise__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./debouncePromise */ \"./src/common/utils/debouncePromise.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debouncePromise\", function() { return _debouncePromise__WEBPACK_IMPORTED_MODULE_9__[\"debouncePromise\"]; });\n\n/* harmony import */ var _defineGlobal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./defineGlobal */ \"./src/common/utils/defineGlobal.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defineGlobal\", function() { return _defineGlobal__WEBPACK_IMPORTED_MODULE_10__[\"defineGlobal\"]; });\n\n/* harmony import */ var _delay__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./delay */ \"./src/common/utils/delay.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _delay__WEBPACK_IMPORTED_MODULE_11__[\"delay\"]; });\n\n/* harmony import */ var _disposer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./disposer */ \"./src/common/utils/disposer.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disposer\", function() { return _disposer__WEBPACK_IMPORTED_MODULE_12__[\"disposer\"]; });\n\n/* harmony import */ var _downloadFile__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./downloadFile */ \"./src/common/utils/downloadFile.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return _downloadFile__WEBPACK_IMPORTED_MODULE_13__[\"downloadFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadJson\", function() { return _downloadFile__WEBPACK_IMPORTED_MODULE_13__[\"downloadJson\"]; });\n\n/* harmony import */ var _escapeRegExp__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./escapeRegExp */ \"./src/common/utils/escapeRegExp.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _escapeRegExp__WEBPACK_IMPORTED_MODULE_14__[\"escapeRegExp\"]; });\n\n/* harmony import */ var _extended_map__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./extended-map */ \"./src/common/utils/extended-map.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiSet\", function() { return _extended_map__WEBPACK_IMPORTED_MODULE_15__[\"multiSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedMap\", function() { return _extended_map__WEBPACK_IMPORTED_MODULE_15__[\"ExtendedMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedObservableMap\", function() { return _extended_map__WEBPACK_IMPORTED_MODULE_15__[\"ExtendedObservableMap\"]; });\n\n/* harmony import */ var _formatDuration__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./formatDuration */ \"./src/common/utils/formatDuration.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDuration\", function() { return _formatDuration__WEBPACK_IMPORTED_MODULE_16__[\"formatDuration\"]; });\n\n/* harmony import */ var _getRandId__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./getRandId */ \"./src/common/utils/getRandId.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getRandId\", function() { return _getRandId__WEBPACK_IMPORTED_MODULE_17__[\"getRandId\"]; });\n\n/* harmony import */ var _hash_set__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./hash-set */ \"./src/common/utils/hash-set.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeIterableIterator\", function() { return _hash_set__WEBPACK_IMPORTED_MODULE_18__[\"makeIterableIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HashSet\", function() { return _hash_set__WEBPACK_IMPORTED_MODULE_18__[\"HashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableHashSet\", function() { return _hash_set__WEBPACK_IMPORTED_MODULE_18__[\"ObservableHashSet\"]; });\n\n/* harmony import */ var _n_fircate__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./n-fircate */ \"./src/common/utils/n-fircate.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nFircate\", function() { return _n_fircate__WEBPACK_IMPORTED_MODULE_19__[\"nFircate\"]; });\n\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./objects */ \"./src/common/utils/objects.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return _objects__WEBPACK_IMPORTED_MODULE_20__[\"fromEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _objects__WEBPACK_IMPORTED_MODULE_20__[\"entries\"]; });\n\n/* harmony import */ var _openExternal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./openExternal */ \"./src/common/utils/openExternal.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"openExternal\", function() { return _openExternal__WEBPACK_IMPORTED_MODULE_21__[\"openExternal\"]; });\n\n/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./paths */ \"./src/common/utils/paths.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolveTilde\", function() { return _paths__WEBPACK_IMPORTED_MODULE_22__[\"resolveTilde\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolvePath\", function() { return _paths__WEBPACK_IMPORTED_MODULE_22__[\"resolvePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLogicalChildPath\", function() { return _paths__WEBPACK_IMPORTED_MODULE_22__[\"isLogicalChildPath\"]; });\n\n/* harmony import */ var _promise_exec__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./promise-exec */ \"./src/common/utils/promise-exec.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"promiseExecFile\", function() { return _promise_exec__WEBPACK_IMPORTED_MODULE_23__[\"promiseExecFile\"]; });\n\n/* harmony import */ var _reject_promise__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./reject-promise */ \"./src/common/utils/reject-promise.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rejectPromiseBy\", function() { return _reject_promise__WEBPACK_IMPORTED_MODULE_24__[\"rejectPromiseBy\"]; });\n\n/* harmony import */ var _singleton__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./singleton */ \"./src/common/utils/singleton.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Singleton\", function() { return _singleton__WEBPACK_IMPORTED_MODULE_25__[\"Singleton\"]; });\n\n/* harmony import */ var _sort_compare__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./sort-compare */ \"./src/common/utils/sort-compare.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ordering\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"Ordering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectifyOrdering\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"rectifyOrdering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompare\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"sortCompare\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompareChartVersions\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"sortCompareChartVersions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCharts\", function() { return _sort_compare__WEBPACK_IMPORTED_MODULE_26__[\"sortCharts\"]; });\n\n/* harmony import */ var _splitArray__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./splitArray */ \"./src/common/utils/splitArray.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitArray\", function() { return _splitArray__WEBPACK_IMPORTED_MODULE_27__[\"splitArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bifurcateArray\", function() { return _splitArray__WEBPACK_IMPORTED_MODULE_27__[\"bifurcateArray\"]; });\n\n/* harmony import */ var _tar__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./tar */ \"./src/common/utils/tar.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"readFileFromTar\", function() { return _tar__WEBPACK_IMPORTED_MODULE_28__[\"readFileFromTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"listTarEntries\", function() { return _tar__WEBPACK_IMPORTED_MODULE_28__[\"listTarEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extractTar\", function() { return _tar__WEBPACK_IMPORTED_MODULE_28__[\"extractTar\"]; });\n\n/* harmony import */ var _toJS__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./toJS */ \"./src/common/utils/toJS.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return _toJS__WEBPACK_IMPORTED_MODULE_29__[\"toJS\"]; });\n\n/* harmony import */ var _type_narrowing__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./type-narrowing */ \"./src/common/utils/type-narrowing.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperty\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasOwnProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperties\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasOwnProperties\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasTypedProperty\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasTypedProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOptionalProperty\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"hasOptionalProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isRecord\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindPredicate\", function() { return _type_narrowing__WEBPACK_IMPORTED_MODULE_30__[\"bindPredicate\"]; });\n\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./types */ \"./src/common/utils/types.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _wait_for_path__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./wait-for-path */ \"./src/common/utils/wait-for-path.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForPath\", function() { return _wait_for_path__WEBPACK_IMPORTED_MODULE_32__[\"waitForPath\"]; });\n\n/* harmony import */ var _iter__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./iter */ \"./src/common/utils/iter.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"iter\", function() { return _iter__WEBPACK_IMPORTED_MODULE_33__; });\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./array */ \"./src/common/utils/array.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return _array__WEBPACK_IMPORTED_MODULE_34__; });\n/* harmony import */ var _tuple__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./tuple */ \"./src/common/utils/tuple.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"tuple\", function() { return _tuple__WEBPACK_IMPORTED_MODULE_35__; });\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./base64 */ \"./src/common/utils/base64.ts\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"base64\", function() { return _base64__WEBPACK_IMPORTED_MODULE_36__; });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * A function that does nothing\n */\nfunction noop(...args) {\n return void args;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/common/utils/index.ts?");
40324
40324
 
40325
40325
  /***/ }),
40326
40326
 
@@ -40364,11 +40364,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40364
40364
  /*!*************************************!*\
40365
40365
  !*** ./src/common/utils/objects.ts ***!
40366
40366
  \*************************************/
40367
- /*! exports provided: fromEntries */
40367
+ /*! exports provided: fromEntries, entries */
40368
40368
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40369
40369
 
40370
40370
  "use strict";
40371
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return fromEntries; });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * A better typed version of `Object.fromEntries` where the keys are known to\n * be a specific subset\n */\nfunction fromEntries(entries) {\n return Object.fromEntries(entries);\n}\n\n\n//# sourceURL=webpack:///./src/common/utils/objects.ts?");
40371
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return fromEntries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return entries; });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * A better typed version of `Object.fromEntries` where the keys are known to\n * be a specific subset\n */\nfunction fromEntries(entries) {\n return Object.fromEntries(entries);\n}\nfunction entries(obj) {\n return Object.entries(obj);\n}\n\n\n//# sourceURL=webpack:///./src/common/utils/objects.ts?");
40372
40372
 
40373
40373
  /***/ }),
40374
40374
 
@@ -40812,7 +40812,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ogr
40812
40812
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40813
40813
 
40814
40814
  "use strict";
40815
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExtensionLoader\", function() { return ExtensionLoader; });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _registries__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../registries */ \"./src/extensions/registries/index.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nconst logModule = \"[EXTENSIONS-LOADER]\";\n/**\n * Loads installed extensions to the Lens application\n */\nclass ExtensionLoader {\n constructor(dependencies) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"extensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].map()\n });\n Object.defineProperty(this, \"instances\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].map()\n });\n /**\n * This is the set of extensions that don't come with either\n * - Main.LensExtension when running in the main process\n * - Renderer.LensExtension when running in the renderer process\n */\n Object.defineProperty(this, \"nonInstancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].set()\n });\n /**\n * This is updated by the `observe` in the constructor. DO NOT write directly to it\n */\n Object.defineProperty(this, \"instancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].map()\n });\n // emits event \"remove\" of type LensExtension when the extension is removed\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new events__WEBPACK_IMPORTED_MODULE_1__[\"EventEmitter\"]()\n });\n Object.defineProperty(this, \"isLoaded\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadOnClusterManagerRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(`${logModule}: load on main renderer (cluster manager)`);\n return this.autoInitExtensions(async (extension) => {\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"GlobalPageRegistry\"].getInstance().add(extension.globalPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"EntitySettingRegistry\"].getInstance().add(extension.entitySettings),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"CatalogEntityDetailRegistry\"].getInstance().add(extension.catalogEntityDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object.defineProperty(this, \"loadOnClusterRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (getCluster) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(`${logModule}: load on cluster renderer (dashboard)`);\n this.autoInitExtensions(async (extension) => {\n // getCluster must be a callback, as the entity might be available only after an extension has been loaded\n if ((await extension.isEnabledForCluster(getCluster())) === false) {\n return [];\n }\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"ClusterPageRegistry\"].getInstance().add(extension.clusterPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"ClusterPageMenuRegistry\"].getInstance().add(extension.clusterPageMenus, extension),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"KubeObjectDetailRegistry\"].getInstance().add(extension.kubeObjectDetailItems),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"KubeObjectStatusRegistry\"].getInstance().add(extension.kubeObjectStatusTexts),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"WorkloadsOverviewDetailRegistry\"].getInstance().add(extension.kubeWorkloadsOverviewItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"makeObservable\"])(this);\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"observe\"])(this.instances, change => {\n switch (change.type) {\n case \"add\":\n if (this.instancesByName.has(change.newValue.name)) {\n throw new TypeError(\"Extension names must be unique\");\n }\n this.instancesByName.set(change.newValue.name, change.newValue);\n break;\n case \"delete\":\n this.instancesByName.delete(change.oldValue.name);\n break;\n case \"update\":\n throw new Error(\"Extension instances shouldn't be updated\");\n }\n });\n }\n get whenLoaded() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"when\"])(() => this.isLoaded);\n }\n get enabledExtensionInstances() {\n return [...this.instances.values()].filter(extension => extension.isEnabled);\n }\n get userExtensions() {\n const extensions = this.toJSON();\n extensions.forEach((ext, extId) => {\n if (ext.isBundled) {\n extensions.delete(extId);\n }\n });\n return extensions;\n }\n /**\n * Get the extension instance by its manifest name\n * @param name The name of the extension\n * @returns one of the following:\n * - the instance of `Main.LensExtension` on the main process if created\n * - the instance of `Renderer.LensExtension` on the renderer process if created\n * - `null` if no class definition is provided for the current process\n * - `undefined` if the name is not known about\n */\n getInstanceByName(name) {\n if (this.nonInstancesByName.has(name)) {\n return null;\n }\n return this.instancesByName.get(name);\n }\n // Transform userExtensions to a state object for storing into ExtensionsStore\n get storeState() {\n return Object.fromEntries(Array.from(this.userExtensions)\n .map(([extId, extension]) => [extId, {\n enabled: extension.isEnabled,\n name: extension.manifest.name,\n }]));\n }\n async init() {\n if (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"]) {\n await this.initRenderer();\n }\n else {\n await this.initMain();\n }\n await Promise.all([this.whenLoaded]);\n // broadcasting extensions between main/renderer processes\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"reaction\"])(() => this.toJSON(), () => this.broadcastExtensions(), {\n fireImmediately: true,\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"reaction\"])(() => this.storeState, (state) => {\n this.dependencies.updateExtensionsState(state);\n });\n }\n initExtensions(extensions) {\n this.extensions.replace(extensions);\n }\n addExtension(extension) {\n this.extensions.set(extension.id, extension);\n }\n removeInstance(lensExtensionId) {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(`${logModule} deleting extension instance ${lensExtensionId}`);\n const instance = this.instances.get(lensExtensionId);\n if (!instance) {\n return;\n }\n try {\n instance.disable();\n this.events.emit(\"remove\", instance);\n this.instances.delete(lensExtensionId);\n this.nonInstancesByName.delete(instance.name);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: deactivation extension error`, { lensExtensionId, error });\n }\n }\n removeExtension(lensExtensionId) {\n this.removeInstance(lensExtensionId);\n if (!this.extensions.delete(lensExtensionId)) {\n throw new Error(`Can't remove extension ${lensExtensionId}, doesn't exist.`);\n }\n }\n setIsEnabled(lensExtensionId, isEnabled) {\n this.extensions.get(lensExtensionId).isEnabled = isEnabled;\n }\n async initMain() {\n this.isLoaded = true;\n this.loadOnMain();\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"ipcMainHandle\"])(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromMainChannel\"], () => {\n return Array.from(this.toJSON());\n });\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"ipcMainOn\"])(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromRendererChannel\"], (event, extensions) => {\n this.syncExtensions(extensions);\n });\n }\n async initRenderer() {\n const extensionListHandler = (extensions) => {\n this.isLoaded = true;\n this.syncExtensions(extensions);\n const receivedExtensionIds = extensions.map(([lensExtensionId]) => lensExtensionId);\n // Remove deleted extensions in renderer side only\n this.extensions.forEach((_, lensExtensionId) => {\n if (!receivedExtensionIds.includes(lensExtensionId)) {\n this.removeExtension(lensExtensionId);\n }\n });\n };\n Object(_renderer_ipc__WEBPACK_IMPORTED_MODULE_10__[\"requestExtensionLoaderInitialState\"])().then(extensionListHandler);\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"ipcRendererOn\"])(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromMainChannel\"], (event, extensions) => {\n extensionListHandler(extensions);\n });\n }\n broadcastExtensions() {\n const channel = electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"]\n ? _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromRendererChannel\"]\n : _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromMainChannel\"];\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"broadcastMessage\"])(channel, Array.from(this.extensions));\n }\n syncExtensions(extensions) {\n extensions.forEach(([lensExtensionId, extension]) => {\n if (!Object(lodash__WEBPACK_IMPORTED_MODULE_2__[\"isEqual\"])(this.extensions.get(lensExtensionId), extension)) {\n this.extensions.set(lensExtensionId, extension);\n }\n });\n }\n loadOnMain() {\n this.autoInitExtensions(() => Promise.resolve([]));\n }\n async loadExtensions(installedExtensions, register) {\n // Steps of the function:\n // 1. require and call .activate for each Extension\n // 2. Wait until every extension's onActivate has been resolved\n // 3. Call .enable for each extension\n // 4. Return ExtensionLoading[]\n const extensions = [...installedExtensions.entries()]\n .map(([extId, extension]) => {\n const alreadyInit = this.instances.has(extId) || this.nonInstancesByName.has(extension.manifest.name);\n if (extension.isCompatible && extension.isEnabled && !alreadyInit) {\n try {\n const LensExtensionClass = this.requireExtension(extension);\n if (!LensExtensionClass) {\n this.nonInstancesByName.add(extension.manifest.name);\n return null;\n }\n const instance = this.dependencies.createExtensionInstance(LensExtensionClass, extension);\n this.instances.set(extId, instance);\n return {\n extId,\n instance,\n isBundled: extension.isBundled,\n activated: instance.activate(),\n };\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: activation extension error`, { ext: extension, err });\n }\n }\n else if (!extension.isEnabled && alreadyInit) {\n this.removeInstance(extId);\n }\n return null;\n })\n // Remove null values\n .filter(extension => Boolean(extension));\n // We first need to wait until each extension's `onActivate` is resolved,\n // as this might register new catalog categories. Afterwards we can safely .enable the extension.\n await Promise.all(extensions.map(extension => extension.activated));\n // Return ExtensionLoading[]\n return extensions.map(extension => {\n const loaded = extension.instance.enable(register).catch((err) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: failed to enable`, { ext: extension, err });\n });\n return {\n isBundled: extension.isBundled,\n loaded,\n };\n });\n }\n autoInitExtensions(register) {\n // Setup reaction to load extensions on JSON changes\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"reaction\"])(() => this.toJSON(), installedExtensions => this.loadExtensions(installedExtensions, register));\n // Load initial extensions\n return this.loadExtensions(this.toJSON(), register);\n }\n requireExtension(extension) {\n const entryPointName = electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"] ? \"renderer\" : \"main\";\n const extRelativePath = extension.manifest[entryPointName];\n if (!extRelativePath) {\n return null;\n }\n const extAbsolutePath = path__WEBPACK_IMPORTED_MODULE_4___default.a.resolve(path__WEBPACK_IMPORTED_MODULE_4___default.a.join(path__WEBPACK_IMPORTED_MODULE_4___default.a.dirname(extension.manifestPath), extRelativePath));\n try {\n return require(extAbsolutePath).default;\n }\n catch (error) {\n if (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"]) {\n console.error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error.stack || error}`, extension);\n }\n else {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error}`, { extension });\n }\n }\n return null;\n }\n getExtension(extId) {\n return this.extensions.get(extId);\n }\n getInstanceById(extId) {\n return this.instances.get(extId);\n }\n toJSON() {\n return Object(_common_utils__WEBPACK_IMPORTED_MODULE_6__[\"toJS\"])(this.extensions);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"],\n __metadata(\"design:type\", Object)\n], ExtensionLoader.prototype, \"isLoaded\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"computed\"],\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"enabledExtensionInstances\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"computed\"],\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"userExtensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"storeState\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ExtensionLoader.prototype, \"init\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], ExtensionLoader.prototype, \"removeInstance\", null);\n\n\n//# sourceURL=webpack:///./src/extensions/extension-loader/extension-loader.ts?");
40815
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExtensionLoader\", function() { return ExtensionLoader; });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _registries__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../registries */ \"./src/extensions/registries/index.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nconst logModule = \"[EXTENSIONS-LOADER]\";\n/**\n * Loads installed extensions to the Lens application\n */\nclass ExtensionLoader {\n constructor(dependencies) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"extensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].map()\n });\n Object.defineProperty(this, \"instances\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].map()\n });\n /**\n * This is the set of extensions that don't come with either\n * - Main.LensExtension when running in the main process\n * - Renderer.LensExtension when running in the renderer process\n */\n Object.defineProperty(this, \"nonInstancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].set()\n });\n /**\n * This is updated by the `observe` in the constructor. DO NOT write directly to it\n */\n Object.defineProperty(this, \"instancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"].map()\n });\n // emits event \"remove\" of type LensExtension when the extension is removed\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new events__WEBPACK_IMPORTED_MODULE_1__[\"EventEmitter\"]()\n });\n Object.defineProperty(this, \"isLoaded\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadOnClusterManagerRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(`${logModule}: load on main renderer (cluster manager)`);\n return this.autoInitExtensions(async (extension) => {\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"GlobalPageRegistry\"].getInstance().add(extension.globalPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"EntitySettingRegistry\"].getInstance().add(extension.entitySettings),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"CatalogEntityDetailRegistry\"].getInstance().add(extension.catalogEntityDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object.defineProperty(this, \"loadOnClusterRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (getCluster) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(`${logModule}: load on cluster renderer (dashboard)`);\n this.autoInitExtensions(async (extension) => {\n // getCluster must be a callback, as the entity might be available only after an extension has been loaded\n if ((await extension.isEnabledForCluster(getCluster())) === false) {\n return [];\n }\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"ClusterPageRegistry\"].getInstance().add(extension.clusterPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"ClusterPageMenuRegistry\"].getInstance().add(extension.clusterPageMenus, extension),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"KubeObjectDetailRegistry\"].getInstance().add(extension.kubeObjectDetailItems),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"KubeObjectStatusRegistry\"].getInstance().add(extension.kubeObjectStatusTexts),\n _registries__WEBPACK_IMPORTED_MODULE_8__[\"WorkloadsOverviewDetailRegistry\"].getInstance().add(extension.kubeWorkloadsOverviewItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"makeObservable\"])(this);\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"observe\"])(this.instances, change => {\n switch (change.type) {\n case \"add\":\n if (this.instancesByName.has(change.newValue.name)) {\n throw new TypeError(\"Extension names must be unique\");\n }\n this.instancesByName.set(change.newValue.name, change.newValue);\n break;\n case \"delete\":\n this.instancesByName.delete(change.oldValue.name);\n break;\n case \"update\":\n throw new Error(\"Extension instances shouldn't be updated\");\n }\n });\n }\n get whenLoaded() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"when\"])(() => this.isLoaded);\n }\n get enabledExtensionInstances() {\n return [...this.instances.values()].filter(extension => extension.isEnabled);\n }\n get userExtensions() {\n const extensions = this.toJSON();\n extensions.forEach((ext, extId) => {\n if (ext.isBundled) {\n extensions.delete(extId);\n }\n });\n return extensions;\n }\n /**\n * Get the extension instance by its manifest name\n * @param name The name of the extension\n * @returns one of the following:\n * - the instance of `Main.LensExtension` on the main process if created\n * - the instance of `Renderer.LensExtension` on the renderer process if created\n * - `null` if no class definition is provided for the current process\n * - `undefined` if the name is not known about\n */\n getInstanceByName(name) {\n if (this.nonInstancesByName.has(name)) {\n return null;\n }\n return this.instancesByName.get(name);\n }\n // Transform userExtensions to a state object for storing into ExtensionsStore\n get storeState() {\n return Object.fromEntries(Array.from(this.userExtensions)\n .map(([extId, extension]) => [extId, {\n enabled: extension.isEnabled,\n name: extension.manifest.name,\n }]));\n }\n async init() {\n if (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"]) {\n await this.initRenderer();\n }\n else {\n await this.initMain();\n }\n await Promise.all([this.whenLoaded]);\n // broadcasting extensions between main/renderer processes\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"reaction\"])(() => this.toJSON(), () => this.broadcastExtensions(), {\n fireImmediately: true,\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"reaction\"])(() => this.storeState, (state) => {\n this.dependencies.updateExtensionsState(state);\n });\n }\n initExtensions(extensions) {\n this.extensions.replace(extensions);\n }\n addExtension(extension) {\n this.extensions.set(extension.id, extension);\n }\n removeInstance(lensExtensionId) {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(`${logModule} deleting extension instance ${lensExtensionId}`);\n const instance = this.instances.get(lensExtensionId);\n if (!instance) {\n return;\n }\n try {\n instance.disable();\n this.events.emit(\"remove\", instance);\n this.instances.delete(lensExtensionId);\n this.nonInstancesByName.delete(instance.name);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: deactivation extension error`, { lensExtensionId, error });\n }\n }\n removeExtension(lensExtensionId) {\n this.removeInstance(lensExtensionId);\n if (!this.extensions.delete(lensExtensionId)) {\n throw new Error(`Can't remove extension ${lensExtensionId}, doesn't exist.`);\n }\n }\n setIsEnabled(lensExtensionId, isEnabled) {\n this.extensions.get(lensExtensionId).isEnabled = isEnabled;\n }\n async initMain() {\n this.isLoaded = true;\n this.loadOnMain();\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"ipcMainHandle\"])(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromMainChannel\"], () => {\n return Array.from(this.toJSON());\n });\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"ipcMainOn\"])(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromRendererChannel\"], (event, extensions) => {\n this.syncExtensions(extensions);\n });\n }\n async initRenderer() {\n const extensionListHandler = (extensions) => {\n this.isLoaded = true;\n this.syncExtensions(extensions);\n const receivedExtensionIds = extensions.map(([lensExtensionId]) => lensExtensionId);\n // Remove deleted extensions in renderer side only\n this.extensions.forEach((_, lensExtensionId) => {\n if (!receivedExtensionIds.includes(lensExtensionId)) {\n this.removeExtension(lensExtensionId);\n }\n });\n };\n Object(_renderer_ipc__WEBPACK_IMPORTED_MODULE_10__[\"requestExtensionLoaderInitialState\"])().then(extensionListHandler);\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"ipcRendererOn\"])(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromMainChannel\"], (event, extensions) => {\n extensionListHandler(extensions);\n });\n }\n broadcastExtensions() {\n const channel = electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"]\n ? _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromRendererChannel\"]\n : _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_9__[\"extensionLoaderFromMainChannel\"];\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_5__[\"broadcastMessage\"])(channel, Array.from(this.extensions));\n }\n syncExtensions(extensions) {\n extensions.forEach(([lensExtensionId, extension]) => {\n if (!Object(lodash__WEBPACK_IMPORTED_MODULE_2__[\"isEqual\"])(this.extensions.get(lensExtensionId), extension)) {\n this.extensions.set(lensExtensionId, extension);\n }\n });\n }\n loadOnMain() {\n this.autoInitExtensions(() => Promise.resolve([]));\n }\n async loadExtensions(installedExtensions, register) {\n // Steps of the function:\n // 1. require and call .activate for each Extension\n // 2. Wait until every extension's onActivate has been resolved\n // 3. Call .enable for each extension\n // 4. Return ExtensionLoading[]\n const extensions = [...installedExtensions.entries()]\n .map(([extId, extension]) => {\n const alreadyInit = this.instances.has(extId) || this.nonInstancesByName.has(extension.manifest.name);\n if (extension.isCompatible && extension.isEnabled && !alreadyInit) {\n try {\n const LensExtensionClass = this.requireExtension(extension);\n if (!LensExtensionClass) {\n this.nonInstancesByName.add(extension.manifest.name);\n return null;\n }\n const instance = this.dependencies.createExtensionInstance(LensExtensionClass, extension);\n this.instances.set(extId, instance);\n return {\n instance,\n installedExtension: extension,\n activated: instance.activate(),\n };\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: error loading extension`, { ext: extension, err });\n }\n }\n else if (!extension.isEnabled && alreadyInit) {\n this.removeInstance(extId);\n }\n return null;\n })\n // Remove null values\n .filter(extension => Boolean(extension));\n // We first need to wait until each extension's `onActivate` is resolved or rejected,\n // as this might register new catalog categories. Afterwards we can safely .enable the extension.\n await Promise.all(extensions.map(extension => \n // If extension activation fails, log error\n extension.activated.catch((error) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: activation extension error`, { ext: extension.installedExtension, error });\n })));\n // Return ExtensionLoading[]\n return extensions.map(extension => {\n const loaded = extension.instance.enable(register).catch((err) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: failed to enable`, { ext: extension, err });\n });\n return {\n isBundled: extension.installedExtension.isBundled,\n loaded,\n };\n });\n }\n autoInitExtensions(register) {\n // Setup reaction to load extensions on JSON changes\n Object(mobx__WEBPACK_IMPORTED_MODULE_3__[\"reaction\"])(() => this.toJSON(), installedExtensions => this.loadExtensions(installedExtensions, register));\n // Load initial extensions\n return this.loadExtensions(this.toJSON(), register);\n }\n requireExtension(extension) {\n const entryPointName = electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"] ? \"renderer\" : \"main\";\n const extRelativePath = extension.manifest[entryPointName];\n if (!extRelativePath) {\n return null;\n }\n const extAbsolutePath = path__WEBPACK_IMPORTED_MODULE_4___default.a.resolve(path__WEBPACK_IMPORTED_MODULE_4___default.a.join(path__WEBPACK_IMPORTED_MODULE_4___default.a.dirname(extension.manifestPath), extRelativePath));\n try {\n return require(extAbsolutePath).default;\n }\n catch (error) {\n if (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcRenderer\"]) {\n console.error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error.stack || error}`, extension);\n }\n else {\n _main_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error}`, { extension });\n }\n }\n return null;\n }\n getExtension(extId) {\n return this.extensions.get(extId);\n }\n getInstanceById(extId) {\n return this.instances.get(extId);\n }\n toJSON() {\n return Object(_common_utils__WEBPACK_IMPORTED_MODULE_6__[\"toJS\"])(this.extensions);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"observable\"],\n __metadata(\"design:type\", Object)\n], ExtensionLoader.prototype, \"isLoaded\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"computed\"],\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"enabledExtensionInstances\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"computed\"],\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"userExtensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"storeState\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ExtensionLoader.prototype, \"init\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], ExtensionLoader.prototype, \"removeInstance\", null);\n\n\n//# sourceURL=webpack:///./src/extensions/extension-loader/extension-loader.ts?");
40816
40816
 
40817
40817
  /***/ }),
40818
40818
 
@@ -40932,7 +40932,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40932
40932
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40933
40933
 
40934
40934
  "use strict";
40935
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Disposers\", function() { return Disposers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensExtension\", function() { return LensExtension; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sanitizeExtensionName\", function() { return sanitizeExtensionName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extensionDisplayName\", function() { return extensionDisplayName; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lens-extension-set-dependencies */ \"./src/extensions/lens-extension-set-dependencies.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar _a, _b;\n\n\n\n\nconst Disposers = Symbol();\nclass LensExtension {\n constructor({ id, manifest, manifestPath, isBundled }) {\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifest\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifestPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isBundled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"protocolHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"_isEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, _a, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object(_common_utils__WEBPACK_IMPORTED_MODULE_2__[\"disposer\"])()\n });\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _b, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (dependencies) => {\n this.dependencies = dependencies;\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n this.id = id;\n this.manifest = manifest;\n this.manifestPath = manifestPath;\n this.isBundled = !!isBundled;\n }\n get isEnabled() {\n return this._isEnabled;\n }\n get name() {\n return this.manifest.name;\n }\n get version() {\n return this.manifest.version;\n }\n get description() {\n return this.manifest.description;\n }\n /**\n * getExtensionFileFolder returns the path to an already created folder. This\n * folder is for the sole use of this extension.\n *\n * Note: there is no security done on this folder, only obfuscation of the\n * folder name.\n */\n async getExtensionFileFolder() {\n return this.dependencies.fileSystemProvisionerStore.requestDirectory(this.id);\n }\n async enable(register) {\n if (this._isEnabled) {\n return;\n }\n try {\n this._isEnabled = true;\n this[Disposers].push(...await register(this));\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].info(`[EXTENSION]: enabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(`[EXTENSION]: failed to activate ${this.name}@${this.version}: ${error}`);\n }\n }\n async disable() {\n if (!this._isEnabled) {\n return;\n }\n this._isEnabled = false;\n try {\n await this.onDeactivate();\n this[Disposers]();\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].info(`[EXTENSION]: disabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(`[EXTENSION]: disabling ${this.name}@${this.version} threw an error: ${error}`);\n }\n }\n activate() {\n return this.onActivate();\n }\n onActivate() {\n return;\n }\n onDeactivate() {\n return;\n }\n}\n_a = Disposers, _b = _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_3__[\"setLensExtensionDependencies\"];\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", Object)\n], LensExtension.prototype, \"_isEnabled\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], LensExtension.prototype, \"isEnabled\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Function]),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"enable\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"disable\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], LensExtension.prototype, \"activate\", null);\nfunction sanitizeExtensionName(name) {\n return name.replace(\"@\", \"\").replace(\"/\", \"--\");\n}\nfunction extensionDisplayName(name, version) {\n return `${name}@${version}`;\n}\n\n\n//# sourceURL=webpack:///./src/extensions/lens-extension.ts?");
40935
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Disposers\", function() { return Disposers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensExtension\", function() { return LensExtension; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sanitizeExtensionName\", function() { return sanitizeExtensionName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extensionDisplayName\", function() { return extensionDisplayName; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lens-extension-set-dependencies */ \"./src/extensions/lens-extension-set-dependencies.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar _a, _b;\n\n\n\n\nconst Disposers = Symbol();\nclass LensExtension {\n constructor({ id, manifest, manifestPath, isBundled }) {\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifest\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifestPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isBundled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"protocolHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"_isEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, _a, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object(_common_utils__WEBPACK_IMPORTED_MODULE_2__[\"disposer\"])()\n });\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _b, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (dependencies) => {\n this.dependencies = dependencies;\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n this.id = id;\n this.manifest = manifest;\n this.manifestPath = manifestPath;\n this.isBundled = !!isBundled;\n }\n get isEnabled() {\n return this._isEnabled;\n }\n get name() {\n return this.manifest.name;\n }\n get version() {\n return this.manifest.version;\n }\n get description() {\n return this.manifest.description;\n }\n /**\n * getExtensionFileFolder returns the path to an already created folder. This\n * folder is for the sole use of this extension.\n *\n * Note: there is no security done on this folder, only obfuscation of the\n * folder name.\n */\n async getExtensionFileFolder() {\n return this.dependencies.fileSystemProvisionerStore.requestDirectory(this.id);\n }\n async enable(register) {\n if (this._isEnabled) {\n return;\n }\n try {\n this._isEnabled = true;\n this[Disposers].push(...await register(this));\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].info(`[EXTENSION]: enabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(`[EXTENSION]: failed to activate ${this.name}@${this.version}: ${error}`);\n }\n }\n async disable() {\n if (!this._isEnabled) {\n return;\n }\n this._isEnabled = false;\n try {\n await this.onDeactivate();\n this[Disposers]();\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].info(`[EXTENSION]: disabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(`[EXTENSION]: disabling ${this.name}@${this.version} threw an error: ${error}`);\n }\n }\n async activate() {\n return this.onActivate();\n }\n onActivate() {\n return;\n }\n onDeactivate() {\n return;\n }\n}\n_a = Disposers, _b = _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_3__[\"setLensExtensionDependencies\"];\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", Object)\n], LensExtension.prototype, \"_isEnabled\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], LensExtension.prototype, \"isEnabled\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Function]),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"enable\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"disable\", null);\nfunction sanitizeExtensionName(name) {\n return name.replace(\"@\", \"\").replace(\"/\", \"--\");\n}\nfunction extensionDisplayName(name, version) {\n return `${name}@${version}`;\n}\n\n\n//# sourceURL=webpack:///./src/extensions/lens-extension.ts?");
40936
40936
 
40937
40937
  /***/ }),
40938
40938
 
@@ -40944,7 +40944,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40944
40944
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40945
40945
 
40946
40946
  "use strict";
40947
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensMainExtension\", function() { return LensMainExtension; });\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _main_window_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../main/window-manager */ \"./src/main/window-manager.ts\");\n/* harmony import */ var _main_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../main/catalog */ \"./src/main/catalog/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nclass LensMainExtension extends _lens_extension__WEBPACK_IMPORTED_MODULE_0__[\"LensExtension\"] {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"appMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"trayMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n async navigate(pageId, params, frameId) {\n return _main_window_manager__WEBPACK_IMPORTED_MODULE_1__[\"WindowManager\"].getInstance().navigateExtension(this.id, pageId, params, frameId);\n }\n addCatalogSource(id, source) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].addObservableSource(`${this.name}:${id}`, source);\n }\n removeCatalogSource(id) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].removeSource(`${this.name}:${id}`);\n }\n}\n\n\n//# sourceURL=webpack:///./src/extensions/lens-main-extension.ts?");
40947
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensMainExtension\", function() { return LensMainExtension; });\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _main_window_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../main/window-manager */ \"./src/main/window-manager.ts\");\n/* harmony import */ var _main_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../main/catalog */ \"./src/main/catalog/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nclass LensMainExtension extends _lens_extension__WEBPACK_IMPORTED_MODULE_0__[\"LensExtension\"] {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"appMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"trayMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * implement this to modify the shell environment that Lens terminals are opened with. The ShellEnvModifier type has the signature\n *\n * (ctx: ShellEnvContext, env: Record<string, string | undefined>) => Record<string, string | undefined>\n *\n * @param ctx the shell environment context, specifically the relevant catalog entity for the terminal. This can be used, for example, to get\n * cluster-specific information that can be made available in the shell environment by the implementation of terminalShellEnvModifier\n *\n * @param env the current shell environment that the terminal will be opened with. The implementation should modify this as desired.\n *\n * @returns the modified shell environment that the terminal will be opened with. The implementation must return env as passed in, if it\n * does not modify the shell environment\n */\n Object.defineProperty(this, \"terminalShellEnvModifier\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n async navigate(pageId, params, frameId) {\n return _main_window_manager__WEBPACK_IMPORTED_MODULE_1__[\"WindowManager\"].getInstance().navigateExtension(this.id, pageId, params, frameId);\n }\n addCatalogSource(id, source) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].addObservableSource(`${this.name}:${id}`, source);\n }\n removeCatalogSource(id) {\n _main_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogEntityRegistry\"].removeSource(`${this.name}:${id}`);\n }\n}\n\n\n//# sourceURL=webpack:///./src/extensions/lens-main-extension.ts?");
40948
40948
 
40949
40949
  /***/ }),
40950
40950
 
@@ -41604,7 +41604,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
41604
41604
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
41605
41605
 
41606
41606
  "use strict";
41607
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebSocketApiState\", function() { return WebSocketApiState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebSocketApi\", function() { return WebSocketApi; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/vars */ \"./src/common/vars.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\nvar WebSocketApiState;\n(function (WebSocketApiState) {\n WebSocketApiState[\"PENDING\"] = \"pending\";\n WebSocketApiState[\"OPEN\"] = \"open\";\n WebSocketApiState[\"CONNECTING\"] = \"connecting\";\n WebSocketApiState[\"RECONNECTING\"] = \"reconnecting\";\n WebSocketApiState[\"CLOSED\"] = \"closed\";\n})(WebSocketApiState || (WebSocketApiState = {}));\nclass WebSocketApi extends events__WEBPACK_IMPORTED_MODULE_1___default.a {\n constructor(params) {\n super();\n Object.defineProperty(this, \"socket\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pendingCommands\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"reconnectTimer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pingTimer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"readyState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: WebSocketApiState.PENDING\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n this.params = Object.assign({}, WebSocketApi.defaultParams, params);\n const { pingInterval } = this.params;\n if (pingInterval) {\n this.pingTimer = setInterval(() => this.ping(), pingInterval * 1000);\n }\n }\n get isConnected() {\n var _a;\n return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN && this.isOnline;\n }\n get isOnline() {\n return navigator.onLine;\n }\n connect(url) {\n var _a;\n // close previous connection first\n (_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();\n // start new connection\n this.socket = new WebSocket(url);\n this.socket.addEventListener(\"open\", ev => this._onOpen(ev));\n this.socket.addEventListener(\"message\", ev => this._onMessage(ev));\n this.socket.addEventListener(\"error\", ev => this._onError(ev));\n this.socket.addEventListener(\"close\", ev => this._onClose(ev));\n this.readyState = WebSocketApiState.CONNECTING;\n }\n ping() {\n if (this.isConnected) {\n this.send(this.params.pingMessage);\n }\n }\n reconnect() {\n if (!this.socket) {\n return void console.error(\"[WEBSOCKET-API]: cannot reconnect to a socket that is not connected\");\n }\n this.connect(this.socket.url);\n }\n destroy() {\n if (!this.socket)\n return;\n this.socket.close();\n this.socket = null;\n this.pendingCommands = [];\n this.clearAllListeners();\n clearTimeout(this.reconnectTimer);\n clearInterval(this.pingTimer);\n this.readyState = WebSocketApiState.PENDING;\n }\n clearAllListeners() {\n for (const name of this.eventNames()) {\n this.removeAllListeners(name);\n }\n }\n send(command) {\n if (this.isConnected) {\n this.socket.send(command);\n }\n else {\n this.pendingCommands.push(command);\n }\n }\n flush() {\n for (const command of this.pendingCommands) {\n this.send(command);\n }\n this.pendingCommands.length = 0;\n }\n _onOpen(evt) {\n this.emit(\"open\", ...[]);\n if (this.params.flushOnOpen)\n this.flush();\n this.readyState = WebSocketApiState.OPEN;\n this.writeLog(\"%cOPEN\", \"color:green;font-weight:bold;\", evt);\n }\n _onMessage({ data }) {\n this.emit(\"data\", ...[data]);\n this.writeLog(\"%cMESSAGE\", \"color:black;font-weight:bold;\", data);\n }\n _onError(evt) {\n this.writeLog(\"%cERROR\", \"color:red;font-weight:bold;\", evt);\n }\n _onClose(evt) {\n const error = evt.code !== 1000 || !evt.wasClean;\n if (error) {\n const { reconnectDelay } = this.params;\n if (reconnectDelay) {\n const url = this.socket.url;\n this.writeLog(\"will reconnect in\", `${reconnectDelay}s`);\n this.reconnectTimer = setTimeout(() => this.connect(url), reconnectDelay * 1000);\n this.readyState = WebSocketApiState.RECONNECTING;\n }\n }\n else {\n this.readyState = WebSocketApiState.CLOSED;\n this.emit(\"close\", ...[]);\n }\n this.writeLog(\"%cCLOSE\", `color:${error ? \"red\" : \"black\"};font-weight:bold;`, evt);\n }\n writeLog(...data) {\n if (this.params.logging) {\n console.debug(...data);\n }\n }\n}\nObject.defineProperty(WebSocketApi, \"defaultParams\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n logging: _common_vars__WEBPACK_IMPORTED_MODULE_2__[\"isDevelopment\"],\n reconnectDelay: 10,\n flushOnOpen: true,\n pingMessage: \"PING\",\n }\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", Object)\n], WebSocketApi.prototype, \"readyState\", void 0);\n\n\n//# sourceURL=webpack:///./src/renderer/api/websocket-api.ts?");
41607
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebSocketApiState\", function() { return WebSocketApiState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebSocketApi\", function() { return WebSocketApi; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/vars */ \"./src/common/vars.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\nvar WebSocketApiState;\n(function (WebSocketApiState) {\n WebSocketApiState[\"PENDING\"] = \"pending\";\n WebSocketApiState[\"OPEN\"] = \"open\";\n WebSocketApiState[\"CONNECTING\"] = \"connecting\";\n WebSocketApiState[\"RECONNECTING\"] = \"reconnecting\";\n WebSocketApiState[\"CLOSED\"] = \"closed\";\n})(WebSocketApiState || (WebSocketApiState = {}));\nclass WebSocketApi extends events__WEBPACK_IMPORTED_MODULE_1___default.a {\n constructor(params) {\n super();\n Object.defineProperty(this, \"socket\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pendingCommands\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"reconnectTimer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pingTimer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"readyState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: WebSocketApiState.PENDING\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n this.params = Object.assign({}, WebSocketApi.defaultParams, params);\n const { pingInterval } = this.params;\n if (pingInterval) {\n this.pingTimer = setInterval(() => this.ping(), pingInterval * 1000);\n }\n }\n get isConnected() {\n var _a;\n return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN && this.isOnline;\n }\n get isOnline() {\n return navigator.onLine;\n }\n connect(url) {\n var _a;\n // close previous connection first\n (_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();\n // start new connection\n this.socket = new WebSocket(url);\n this.socket.addEventListener(\"open\", ev => this._onOpen(ev));\n this.socket.addEventListener(\"message\", ev => this._onMessage(ev));\n this.socket.addEventListener(\"error\", ev => this._onError(ev));\n this.socket.addEventListener(\"close\", ev => this._onClose(ev));\n this.readyState = WebSocketApiState.CONNECTING;\n }\n ping() {\n if (this.isConnected) {\n this.send(this.params.pingMessage);\n }\n }\n reconnect() {\n if (!this.socket) {\n return void console.error(\"[WEBSOCKET-API]: cannot reconnect to a socket that is not connected\");\n }\n this.connect(this.socket.url);\n }\n destroy() {\n if (!this.socket)\n return;\n this.socket.close();\n this.socket = null;\n this.pendingCommands = [];\n this.clearAllListeners();\n clearTimeout(this.reconnectTimer);\n clearInterval(this.pingTimer);\n this.readyState = WebSocketApiState.PENDING;\n }\n clearAllListeners() {\n for (const name of this.eventNames()) {\n this.removeAllListeners(name);\n }\n }\n send(command) {\n if (this.isConnected) {\n this.socket.send(command);\n }\n else {\n this.pendingCommands.push(command);\n }\n }\n flush() {\n for (const command of this.pendingCommands) {\n this.send(command);\n }\n this.pendingCommands.length = 0;\n }\n _onOpen(evt) {\n this.emit(\"open\", ...[]);\n if (this.params.flushOnOpen)\n this.flush();\n this.readyState = WebSocketApiState.OPEN;\n this.writeLog(\"%cOPEN\", \"color:green;font-weight:bold;\", evt);\n }\n _onMessage({ data }) {\n this.emit(\"data\", ...[data]);\n this.writeLog(\"%cMESSAGE\", \"color:black;font-weight:bold;\", data);\n }\n _onError(evt) {\n this.writeLog(\"%cERROR\", \"color:red;font-weight:bold;\", evt);\n }\n _onClose(evt) {\n const error = evt.code !== 1000 || !evt.wasClean;\n if (error) {\n const { reconnectDelay } = this.params;\n if (reconnectDelay && this.socket) {\n const url = this.socket.url;\n this.writeLog(\"will reconnect in\", `${reconnectDelay}s`);\n this.reconnectTimer = setTimeout(() => this.connect(url), reconnectDelay * 1000);\n this.readyState = WebSocketApiState.RECONNECTING;\n }\n }\n else {\n this.readyState = WebSocketApiState.CLOSED;\n this.emit(\"close\", ...[]);\n }\n this.writeLog(\"%cCLOSE\", `color:${error ? \"red\" : \"black\"};font-weight:bold;`, evt);\n }\n writeLog(...data) {\n if (this.params.logging) {\n console.debug(...data);\n }\n }\n}\nObject.defineProperty(WebSocketApi, \"defaultParams\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n logging: _common_vars__WEBPACK_IMPORTED_MODULE_2__[\"isDevelopment\"],\n reconnectDelay: 10,\n flushOnOpen: true,\n pingMessage: \"PING\",\n }\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", Object)\n], WebSocketApi.prototype, \"readyState\", void 0);\n\n\n//# sourceURL=webpack:///./src/renderer/api/websocket-api.ts?");
41608
41608
 
41609
41609
  /***/ }),
41610
41610
 
@@ -43307,7 +43307,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
43307
43307
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
43308
43308
 
43309
43309
  "use strict";
43310
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemListLayout\", function() { return ItemListLayout; });\n/* harmony import */ var _item_list_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./item-list-layout.scss */ \"./src/renderer/components/item-object-list/item-list-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _page_filters_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./page-filters.store */ \"./src/renderer/components/item-object-list/page-filters.store.ts\");\n/* harmony import */ var _page_filters_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./page-filters-list */ \"./src/renderer/components/item-object-list/page-filters-list.tsx\");\n/* harmony import */ var _namespaces_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../+namespaces/namespace-store/namespace-store.injectable */ \"./src/renderer/components/+namespaces/namespace-store/namespace-store.injectable.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _storage_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./storage.injectable */ \"./src/renderer/components/item-object-list/storage.injectable.ts\");\n/* harmony import */ var _content__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./content */ \"./src/renderer/components/item-object-list/content.tsx\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./header */ \"./src/renderer/components/item-object-list/header.tsx\");\n/* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lodash/groupBy */ \"./node_modules/lodash/groupBy.js\");\n/* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash_groupBy__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _filters__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./filters */ \"./src/renderer/components/item-object-list/filters.tsx\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n showHeader: true,\n isSelectable: true,\n isConfigurable: false,\n copyClassNameFromHeadCells: true,\n preloadStores: true,\n dependentStores: [],\n searchFilters: [],\n customizeHeader: [],\n filterItems: [],\n hasDetailsView: true,\n onDetails: _utils__WEBPACK_IMPORTED_MODULE_3__[\"noop\"],\n virtual: true,\n customizeTableRowProps: () => ({}),\n failedToLoadMessage: \"Failed to load items\",\n};\nlet NonInjectedItemListLayout = class NonInjectedItemListLayout extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"filterCallbacks\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n [_page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"FilterType\"].SEARCH]: items => {\n const { searchFilters } = this.props;\n const search = _page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"pageFilters\"].getValues(_page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"FilterType\"].SEARCH)[0] || \"\";\n if (search && searchFilters.length) {\n const normalizeText = (text) => String(text).toLowerCase();\n const searchTexts = [search].map(normalizeText);\n return items.filter(item => {\n return searchFilters.some(getTexts => {\n const sourceTexts = [getTexts(item)].flat().map(normalizeText);\n return sourceTexts.some(source => searchTexts.some(search => source.includes(search)));\n });\n });\n }\n return items;\n },\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"makeObservable\"])(this);\n }\n async componentDidMount() {\n const { isConfigurable, tableId, preloadStores } = this.props;\n if (isConfigurable && !tableId) {\n throw new Error(\"[ItemListLayout]: configurable list require props.tableId to be specified\");\n }\n if (preloadStores) {\n this.loadStores();\n }\n }\n loadStores() {\n const { store, dependentStores } = this.props;\n const stores = Array.from(new Set([store, ...dependentStores]));\n stores.forEach(store => store.loadAll(this.props.namespaceStore.contextNamespaces));\n }\n get showFilters() {\n return this.props.itemListLayoutStorage.get().showFilters;\n }\n set showFilters(showFilters) {\n this.props.itemListLayoutStorage.merge({ showFilters });\n }\n get filters() {\n let { activeFilters } = _page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"pageFilters\"];\n const { searchFilters } = this.props;\n if (searchFilters.length === 0) {\n activeFilters = activeFilters.filter(({ type }) => type !== _page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"FilterType\"].SEARCH);\n }\n return activeFilters;\n }\n toggleFilters() {\n this.showFilters = !this.showFilters;\n }\n get isReady() {\n var _a;\n return (_a = this.props.isReady) !== null && _a !== void 0 ? _a : this.props.store.isLoaded;\n }\n renderFilters() {\n const { hideFilters } = this.props;\n const { isReady, filters } = this;\n if (!isReady || !filters.length || hideFilters || !this.showFilters) {\n return null;\n }\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_page_filters_list__WEBPACK_IMPORTED_MODULE_5__[\"PageFiltersList\"], { filters: filters });\n }\n get items() {\n var _a, _b, _c, _d, _e, _f;\n const filterGroups = lodash_groupBy__WEBPACK_IMPORTED_MODULE_11___default()(this.filters, ({ type }) => type);\n const filterItems = [];\n for (const [type, filtersGroup] of Object.entries(filterGroups)) {\n const filterCallback = (_a = this.filterCallbacks[type]) !== null && _a !== void 0 ? _a : (_b = this.props.filterCallbacks) === null || _b === void 0 ? void 0 : _b[type];\n if (filterCallback && filtersGroup.length > 0) {\n filterItems.push(filterCallback);\n }\n }\n const items = (_f = (_e = (_d = (_c = this.props).getItems) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.props.items) !== null && _f !== void 0 ? _f : this.props.store.items;\n return applyFilters(filterItems.concat(this.props.filterItems), items);\n }\n render() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"untracked\"])(() => {\n var _a, _b;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"ItemListLayout flex column\", this.props.className) },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_header__WEBPACK_IMPORTED_MODULE_10__[\"ItemListLayoutHeader\"], { getItems: () => this.items, getFilters: () => this.filters, toggleFilters: this.toggleFilters, store: this.props.store, searchFilters: this.props.searchFilters, showHeader: this.props.showHeader, headerClassName: this.props.headerClassName, renderHeaderTitle: this.props.renderHeaderTitle, customizeHeader: this.props.customizeHeader }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_filters__WEBPACK_IMPORTED_MODULE_12__[\"ItemListLayoutFilters\"], { getIsReady: () => this.isReady, getFilters: () => this.filters, getFiltersAreShown: () => this.showFilters, hideFilters: this.props.hideFilters }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_content__WEBPACK_IMPORTED_MODULE_9__[\"ItemListLayoutContent\"], { getItems: () => this.items, getFilters: () => this.filters, tableId: this.props.tableId, className: this.props.className, store: this.props.store, getIsReady: () => this.isReady, isSelectable: this.props.isSelectable, isConfigurable: this.props.isConfigurable, copyClassNameFromHeadCells: this.props.copyClassNameFromHeadCells, sortingCallbacks: this.props.sortingCallbacks, tableProps: this.props.tableProps, renderTableHeader: this.props.renderTableHeader, renderTableContents: this.props.renderTableContents, renderItemMenu: this.props.renderItemMenu, customizeTableRowProps: this.props.customizeTableRowProps, addRemoveButtons: this.props.addRemoveButtons, virtual: this.props.virtual, hasDetailsView: this.props.hasDetailsView, detailsItem: this.props.detailsItem, onDetails: this.props.onDetails, customizeRemoveDialog: this.props.customizeRemoveDialog, failedToLoadMessage: this.props.failedToLoadMessage }), (_b = (_a = this.props).renderFooter) === null || _b === void 0 ? void 0 :\n _b.call(_a, this)));\n });\n }\n};\nObject.defineProperty(NonInjectedItemListLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedItemListLayout.prototype, \"filters\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], NonInjectedItemListLayout.prototype, \"toggleFilters\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedItemListLayout.prototype, \"isReady\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedItemListLayout.prototype, \"items\", null);\nNonInjectedItemListLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_13__[\"observer\"],\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedItemListLayout);\nconst InjectedItemListLayout = Object(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__[\"withInjectables\"])(NonInjectedItemListLayout, {\n getProps: (di, props) => (Object.assign({ namespaceStore: di.inject(_namespaces_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]), itemListLayoutStorage: di.inject(_storage_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) }, props)),\n});\nfunction ItemListLayout(props) {\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(InjectedItemListLayout, Object.assign({}, props));\n}\nfunction applyFilters(filters, items) {\n if (!filters || !filters.length) {\n return items;\n }\n return filters.reduce((items, filter) => filter(items), items);\n}\n\n\n//# sourceURL=webpack:///./src/renderer/components/item-object-list/list-layout.tsx?");
43310
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemListLayout\", function() { return ItemListLayout; });\n/* harmony import */ var _item_list_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./item-list-layout.scss */ \"./src/renderer/components/item-object-list/item-list-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _page_filters_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./page-filters.store */ \"./src/renderer/components/item-object-list/page-filters.store.ts\");\n/* harmony import */ var _page_filters_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./page-filters-list */ \"./src/renderer/components/item-object-list/page-filters-list.tsx\");\n/* harmony import */ var _namespaces_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../+namespaces/namespace-store/namespace-store.injectable */ \"./src/renderer/components/+namespaces/namespace-store/namespace-store.injectable.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _storage_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./storage.injectable */ \"./src/renderer/components/item-object-list/storage.injectable.ts\");\n/* harmony import */ var _content__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./content */ \"./src/renderer/components/item-object-list/content.tsx\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./header */ \"./src/renderer/components/item-object-list/header.tsx\");\n/* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lodash/groupBy */ \"./node_modules/lodash/groupBy.js\");\n/* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash_groupBy__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _filters__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./filters */ \"./src/renderer/components/item-object-list/filters.tsx\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n showHeader: true,\n isSelectable: true,\n isConfigurable: false,\n copyClassNameFromHeadCells: true,\n preloadStores: true,\n dependentStores: [],\n searchFilters: [],\n customizeHeader: [],\n filterItems: [],\n hasDetailsView: true,\n onDetails: _utils__WEBPACK_IMPORTED_MODULE_3__[\"noop\"],\n virtual: true,\n customizeTableRowProps: () => ({}),\n failedToLoadMessage: \"Failed to load items\",\n};\nlet NonInjectedItemListLayout = class NonInjectedItemListLayout extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"filterCallbacks\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n [_page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"FilterType\"].SEARCH]: items => {\n const { searchFilters } = this.props;\n const search = _page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"pageFilters\"].getValues(_page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"FilterType\"].SEARCH)[0] || \"\";\n if (search && searchFilters.length) {\n const normalizeText = (text) => String(text).toLowerCase();\n const searchTexts = [search].map(normalizeText);\n return items.filter(item => {\n return searchFilters.some(getTexts => {\n const sourceTexts = [getTexts(item)].flat().map(normalizeText);\n return sourceTexts.some(source => searchTexts.some(search => source.includes(search)));\n });\n });\n }\n return items;\n },\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"makeObservable\"])(this);\n }\n async componentDidMount() {\n const { isConfigurable, tableId, preloadStores } = this.props;\n if (isConfigurable && !tableId) {\n throw new Error(\"[ItemListLayout]: configurable list require props.tableId to be specified\");\n }\n if (preloadStores) {\n this.loadStores();\n }\n }\n loadStores() {\n const { store, dependentStores } = this.props;\n const stores = Array.from(new Set([store, ...dependentStores]));\n stores.forEach(store => store.loadAll(this.props.namespaceStore.contextNamespaces));\n }\n get showFilters() {\n return this.props.itemListLayoutStorage.get().showFilters;\n }\n set showFilters(showFilters) {\n this.props.itemListLayoutStorage.merge({ showFilters });\n }\n get filters() {\n let { activeFilters } = _page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"pageFilters\"];\n const { searchFilters } = this.props;\n if (searchFilters.length === 0) {\n activeFilters = activeFilters.filter(({ type }) => type !== _page_filters_store__WEBPACK_IMPORTED_MODULE_4__[\"FilterType\"].SEARCH);\n }\n return activeFilters;\n }\n toggleFilters() {\n this.showFilters = !this.showFilters;\n }\n get isReady() {\n var _a;\n return (_a = this.props.isReady) !== null && _a !== void 0 ? _a : this.props.store.isLoaded;\n }\n renderFilters() {\n const { hideFilters } = this.props;\n const { isReady, filters } = this;\n if (!isReady || !filters.length || hideFilters || !this.showFilters) {\n return null;\n }\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_page_filters_list__WEBPACK_IMPORTED_MODULE_5__[\"PageFiltersList\"], { filters: filters });\n }\n get items() {\n var _a, _b;\n const filterGroups = lodash_groupBy__WEBPACK_IMPORTED_MODULE_11___default()(this.filters, ({ type }) => type);\n const filterItems = [];\n for (const [type, filtersGroup] of Object.entries(filterGroups)) {\n const filterCallback = (_a = this.filterCallbacks[type]) !== null && _a !== void 0 ? _a : (_b = this.props.filterCallbacks) === null || _b === void 0 ? void 0 : _b[type];\n if (filterCallback && filtersGroup.length > 0) {\n filterItems.push(filterCallback);\n }\n }\n const items = this.props.getItems();\n return applyFilters(filterItems.concat(this.props.filterItems), items);\n }\n render() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_2__[\"untracked\"])(() => {\n var _a, _b;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"ItemListLayout flex column\", this.props.className) },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_header__WEBPACK_IMPORTED_MODULE_10__[\"ItemListLayoutHeader\"], { getItems: () => this.items, getFilters: () => this.filters, toggleFilters: this.toggleFilters, store: this.props.store, searchFilters: this.props.searchFilters, showHeader: this.props.showHeader, headerClassName: this.props.headerClassName, renderHeaderTitle: this.props.renderHeaderTitle, customizeHeader: this.props.customizeHeader }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_filters__WEBPACK_IMPORTED_MODULE_12__[\"ItemListLayoutFilters\"], { getIsReady: () => this.isReady, getFilters: () => this.filters, getFiltersAreShown: () => this.showFilters, hideFilters: this.props.hideFilters }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_content__WEBPACK_IMPORTED_MODULE_9__[\"ItemListLayoutContent\"], { getItems: () => this.items, getFilters: () => this.filters, tableId: this.props.tableId, className: this.props.className, store: this.props.store, getIsReady: () => this.isReady, isSelectable: this.props.isSelectable, isConfigurable: this.props.isConfigurable, copyClassNameFromHeadCells: this.props.copyClassNameFromHeadCells, sortingCallbacks: this.props.sortingCallbacks, tableProps: this.props.tableProps, renderTableHeader: this.props.renderTableHeader, renderTableContents: this.props.renderTableContents, renderItemMenu: this.props.renderItemMenu, customizeTableRowProps: this.props.customizeTableRowProps, addRemoveButtons: this.props.addRemoveButtons, virtual: this.props.virtual, hasDetailsView: this.props.hasDetailsView, detailsItem: this.props.detailsItem, onDetails: this.props.onDetails, customizeRemoveDialog: this.props.customizeRemoveDialog, failedToLoadMessage: this.props.failedToLoadMessage }), (_b = (_a = this.props).renderFooter) === null || _b === void 0 ? void 0 :\n _b.call(_a, this)));\n });\n }\n};\nObject.defineProperty(NonInjectedItemListLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedItemListLayout.prototype, \"filters\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_3__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], NonInjectedItemListLayout.prototype, \"toggleFilters\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedItemListLayout.prototype, \"isReady\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_2__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedItemListLayout.prototype, \"items\", null);\nNonInjectedItemListLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_13__[\"observer\"],\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedItemListLayout);\nconst InjectedItemListLayout = Object(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_7__[\"withInjectables\"])(NonInjectedItemListLayout, {\n getProps: (di, props) => (Object.assign({ namespaceStore: di.inject(_namespaces_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]), itemListLayoutStorage: di.inject(_storage_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) }, props)),\n});\nfunction ItemListLayout(props) {\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(InjectedItemListLayout, Object.assign({}, props));\n}\nfunction applyFilters(filters, items) {\n if (!filters || !filters.length) {\n return items;\n }\n return filters.reduce((items, filter) => filter(items), items);\n}\n\n\n//# sourceURL=webpack:///./src/renderer/components/item-object-list/list-layout.tsx?");
43311
43311
 
43312
43312
  /***/ }),
43313
43313
 
@@ -44943,11 +44943,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
44943
44943
  /*!*************************************!*\
44944
44944
  !*** ./src/renderer/utils/index.ts ***!
44945
44945
  \*************************************/
44946
- /*! exports provided: noop, WrappedAbortController, getAppVersion, getBundledKubectlVersion, getAppVersionFromProxyServer, autoBind, boundClass, boundMethod, toCamelCase, cloneJsonObject, getClusterIdFromHost, getClusterFrameUrl, getHostedClusterId, isClusterPageContext, getOrInsert, getOrInsertMap, getOrInsertSet, getOrInsertWith, toggle, cpuUnitsToNumber, unitsToBytes, bytesToUnits, debouncePromise, defineGlobal, delay, disposer, downloadFile, downloadJson, escapeRegExp, multiSet, ExtendedMap, ExtendedObservableMap, formatDuration, getRandId, makeIterableIterator, HashSet, ObservableHashSet, nFircate, fromEntries, openExternal, resolveTilde, resolvePath, isLogicalChildPath, promiseExecFile, rejectPromiseBy, Singleton, Ordering, rectifyOrdering, sortCompare, sortCompareChartVersions, sortCharts, splitArray, bifurcateArray, readFileFromTar, listTarEntries, extractTar, toJS, hasOwnProperty, hasOwnProperties, hasTypedProperty, hasOptionalProperty, isRecord, isTypedArray, isString, isObject, bindPredicate, waitForPath, iter, array, tuple, base64, EventEmitter, cssNames, cssVar, displayBooleans, interval, isMiddleClick, isReactNode, metricUnitsToNumber, getConvertedParts, prevDefault, stopPropagation, saveFileDialog, StorageHelper */
44946
+ /*! exports provided: noop, WrappedAbortController, getAppVersion, getBundledKubectlVersion, getAppVersionFromProxyServer, autoBind, boundClass, boundMethod, toCamelCase, cloneJsonObject, getClusterIdFromHost, getClusterFrameUrl, getHostedClusterId, isClusterPageContext, getOrInsert, getOrInsertMap, getOrInsertSet, getOrInsertWith, toggle, cpuUnitsToNumber, unitsToBytes, bytesToUnits, debouncePromise, defineGlobal, delay, disposer, downloadFile, downloadJson, escapeRegExp, multiSet, ExtendedMap, ExtendedObservableMap, formatDuration, getRandId, makeIterableIterator, HashSet, ObservableHashSet, nFircate, fromEntries, entries, openExternal, resolveTilde, resolvePath, isLogicalChildPath, promiseExecFile, rejectPromiseBy, Singleton, Ordering, rectifyOrdering, sortCompare, sortCompareChartVersions, sortCharts, splitArray, bifurcateArray, readFileFromTar, listTarEntries, extractTar, toJS, hasOwnProperty, hasOwnProperties, hasTypedProperty, hasOptionalProperty, isRecord, isTypedArray, isString, isObject, bindPredicate, waitForPath, iter, array, tuple, base64, EventEmitter, cssNames, cssVar, displayBooleans, interval, isMiddleClick, isReactNode, metricUnitsToNumber, getConvertedParts, prevDefault, stopPropagation, saveFileDialog, StorageHelper */
44947
44947
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
44948
44948
 
44949
44949
  "use strict";
44950
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"noop\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WrappedAbortController\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"WrappedAbortController\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBundledKubectlVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getBundledKubectlVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersionFromProxyServer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersionFromProxyServer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"autoBind\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"autoBind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundClass\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundMethod\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundMethod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toCamelCase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneJsonObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cloneJsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterIdFromHost\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterIdFromHost\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterFrameUrl\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterFrameUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHostedClusterId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHostedClusterId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isClusterPageContext\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isClusterPageContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsert\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsert\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsertMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsertSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertWith\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsertWith\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toggle\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toggle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuUnitsToNumber\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cpuUnitsToNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unitsToBytes\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"unitsToBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesToUnits\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bytesToUnits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debouncePromise\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"debouncePromise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defineGlobal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"defineGlobal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"delay\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disposer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"disposer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadJson\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadJson\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"multiSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedObservableMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedObservableMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDuration\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"formatDuration\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getRandId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getRandId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeIterableIterator\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"makeIterableIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"HashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableHashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ObservableHashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nFircate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"nFircate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"fromEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"openExternal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"openExternal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolveTilde\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolveTilde\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolvePath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolvePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLogicalChildPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isLogicalChildPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"promiseExecFile\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"promiseExecFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rejectPromiseBy\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rejectPromiseBy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Singleton\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Singleton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ordering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Ordering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectifyOrdering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rectifyOrdering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompare\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompare\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompareChartVersions\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompareChartVersions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCharts\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCharts\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"splitArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bifurcateArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bifurcateArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"readFileFromTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"readFileFromTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"listTarEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"listTarEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extractTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"extractTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toJS\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperties\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperties\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasTypedProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasTypedProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOptionalProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOptionalProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isRecord\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindPredicate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bindPredicate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"waitForPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"iter\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"iter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tuple\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"tuple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"base64\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"]; });\n\n/* harmony import */ var _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/event-emitter */ \"./src/common/event-emitter.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventEmitter\", function() { return _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__[\"EventEmitter\"]; });\n\n/* harmony import */ var _cssNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssNames\", function() { return _cssNames__WEBPACK_IMPORTED_MODULE_2__[\"cssNames\"]; });\n\n/* harmony import */ var _cssVar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cssVar */ \"./src/renderer/utils/cssVar.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssVar\", function() { return _cssVar__WEBPACK_IMPORTED_MODULE_3__[\"cssVar\"]; });\n\n/* harmony import */ var _display_booleans__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./display-booleans */ \"./src/renderer/utils/display-booleans.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"displayBooleans\", function() { return _display_booleans__WEBPACK_IMPORTED_MODULE_4__[\"displayBooleans\"]; });\n\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./interval */ \"./src/renderer/utils/interval.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interval\", function() { return _interval__WEBPACK_IMPORTED_MODULE_5__[\"interval\"]; });\n\n/* harmony import */ var _isMiddleClick__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isMiddleClick */ \"./src/renderer/utils/isMiddleClick.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMiddleClick\", function() { return _isMiddleClick__WEBPACK_IMPORTED_MODULE_6__[\"isMiddleClick\"]; });\n\n/* harmony import */ var _isReactNode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isReactNode\", function() { return _isReactNode__WEBPACK_IMPORTED_MODULE_7__[\"isReactNode\"]; });\n\n/* harmony import */ var _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./metricUnitsToNumber */ \"./src/renderer/utils/metricUnitsToNumber.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"metricUnitsToNumber\", function() { return _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_8__[\"metricUnitsToNumber\"]; });\n\n/* harmony import */ var _name_parts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./name-parts */ \"./src/renderer/utils/name-parts.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getConvertedParts\", function() { return _name_parts__WEBPACK_IMPORTED_MODULE_9__[\"getConvertedParts\"]; });\n\n/* harmony import */ var _prevDefault__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./prevDefault */ \"./src/renderer/utils/prevDefault.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prevDefault\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_10__[\"prevDefault\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stopPropagation\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_10__[\"stopPropagation\"]; });\n\n/* harmony import */ var _saveFile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./saveFile */ \"./src/renderer/utils/saveFile.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"saveFileDialog\", function() { return _saveFile__WEBPACK_IMPORTED_MODULE_11__[\"saveFileDialog\"]; });\n\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageHelper\", function() { return _storageHelper__WEBPACK_IMPORTED_MODULE_12__[\"StorageHelper\"]; });\n\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Common usage utils & helpers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/renderer/utils/index.ts?");
44950
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"noop\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WrappedAbortController\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"WrappedAbortController\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBundledKubectlVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getBundledKubectlVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersionFromProxyServer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersionFromProxyServer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"autoBind\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"autoBind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundClass\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundMethod\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundMethod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toCamelCase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneJsonObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cloneJsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterIdFromHost\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterIdFromHost\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterFrameUrl\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterFrameUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHostedClusterId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHostedClusterId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isClusterPageContext\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isClusterPageContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsert\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsert\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsertMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsertSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOrInsertWith\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getOrInsertWith\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toggle\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toggle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuUnitsToNumber\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cpuUnitsToNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unitsToBytes\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"unitsToBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesToUnits\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bytesToUnits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debouncePromise\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"debouncePromise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defineGlobal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"defineGlobal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"delay\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disposer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"disposer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadJson\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadJson\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"multiSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedObservableMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedObservableMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDuration\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"formatDuration\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getRandId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getRandId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeIterableIterator\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"makeIterableIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"HashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableHashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ObservableHashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nFircate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"nFircate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"fromEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"entries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"openExternal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"openExternal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolveTilde\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolveTilde\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolvePath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolvePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLogicalChildPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isLogicalChildPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"promiseExecFile\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"promiseExecFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rejectPromiseBy\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rejectPromiseBy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Singleton\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Singleton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ordering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Ordering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectifyOrdering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rectifyOrdering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompare\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompare\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompareChartVersions\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompareChartVersions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCharts\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCharts\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"splitArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bifurcateArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bifurcateArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"readFileFromTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"readFileFromTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"listTarEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"listTarEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extractTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"extractTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toJS\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperties\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperties\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasTypedProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasTypedProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOptionalProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOptionalProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isRecord\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindPredicate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bindPredicate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"waitForPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"iter\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"iter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tuple\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"tuple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"base64\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"]; });\n\n/* harmony import */ var _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/event-emitter */ \"./src/common/event-emitter.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventEmitter\", function() { return _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__[\"EventEmitter\"]; });\n\n/* harmony import */ var _cssNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssNames\", function() { return _cssNames__WEBPACK_IMPORTED_MODULE_2__[\"cssNames\"]; });\n\n/* harmony import */ var _cssVar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cssVar */ \"./src/renderer/utils/cssVar.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssVar\", function() { return _cssVar__WEBPACK_IMPORTED_MODULE_3__[\"cssVar\"]; });\n\n/* harmony import */ var _display_booleans__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./display-booleans */ \"./src/renderer/utils/display-booleans.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"displayBooleans\", function() { return _display_booleans__WEBPACK_IMPORTED_MODULE_4__[\"displayBooleans\"]; });\n\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./interval */ \"./src/renderer/utils/interval.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interval\", function() { return _interval__WEBPACK_IMPORTED_MODULE_5__[\"interval\"]; });\n\n/* harmony import */ var _isMiddleClick__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isMiddleClick */ \"./src/renderer/utils/isMiddleClick.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMiddleClick\", function() { return _isMiddleClick__WEBPACK_IMPORTED_MODULE_6__[\"isMiddleClick\"]; });\n\n/* harmony import */ var _isReactNode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isReactNode\", function() { return _isReactNode__WEBPACK_IMPORTED_MODULE_7__[\"isReactNode\"]; });\n\n/* harmony import */ var _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./metricUnitsToNumber */ \"./src/renderer/utils/metricUnitsToNumber.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"metricUnitsToNumber\", function() { return _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_8__[\"metricUnitsToNumber\"]; });\n\n/* harmony import */ var _name_parts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./name-parts */ \"./src/renderer/utils/name-parts.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getConvertedParts\", function() { return _name_parts__WEBPACK_IMPORTED_MODULE_9__[\"getConvertedParts\"]; });\n\n/* harmony import */ var _prevDefault__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./prevDefault */ \"./src/renderer/utils/prevDefault.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prevDefault\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_10__[\"prevDefault\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stopPropagation\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_10__[\"stopPropagation\"]; });\n\n/* harmony import */ var _saveFile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./saveFile */ \"./src/renderer/utils/saveFile.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"saveFileDialog\", function() { return _saveFile__WEBPACK_IMPORTED_MODULE_11__[\"saveFileDialog\"]; });\n\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageHelper\", function() { return _storageHelper__WEBPACK_IMPORTED_MODULE_12__[\"StorageHelper\"]; });\n\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Common usage utils & helpers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/renderer/utils/index.ts?");
44951
44951
 
44952
44952
  /***/ }),
44953
44953
 
@@ -41,7 +41,7 @@ export declare class LensExtension {
41
41
  getExtensionFileFolder(): Promise<string>;
42
42
  enable(register: (ext: LensExtension) => Promise<Disposer[]>): Promise<void>;
43
43
  disable(): Promise<void>;
44
- activate(): void | Promise<void>;
44
+ activate(): Promise<void>;
45
45
  protected onActivate(): Promise<void> | void;
46
46
  protected onDeactivate(): Promise<void> | void;
47
47
  }
@@ -7,9 +7,24 @@ import type { CatalogEntity } from "../common/catalog";
7
7
  import type { IObservableArray } from "mobx";
8
8
  import type { MenuRegistration } from "../main/menu/menu-registration";
9
9
  import type { TrayMenuRegistration } from "../main/tray/tray-menu-registration";
10
+ import type { ShellEnvModifier } from "../main/shell-session/shell-env-modifier/shell-env-modifier-registration";
10
11
  export declare class LensMainExtension extends LensExtension {
11
12
  appMenus: MenuRegistration[];
12
13
  trayMenus: TrayMenuRegistration[];
14
+ /**
15
+ * implement this to modify the shell environment that Lens terminals are opened with. The ShellEnvModifier type has the signature
16
+ *
17
+ * (ctx: ShellEnvContext, env: Record<string, string | undefined>) => Record<string, string | undefined>
18
+ *
19
+ * @param ctx the shell environment context, specifically the relevant catalog entity for the terminal. This can be used, for example, to get
20
+ * cluster-specific information that can be made available in the shell environment by the implementation of terminalShellEnvModifier
21
+ *
22
+ * @param env the current shell environment that the terminal will be opened with. The implementation should modify this as desired.
23
+ *
24
+ * @returns the modified shell environment that the terminal will be opened with. The implementation must return env as passed in, if it
25
+ * does not modify the shell environment
26
+ */
27
+ terminalShellEnvModifier?: ShellEnvModifier;
13
28
  navigate(pageId?: string, params?: Record<string, any>, frameId?: number): Promise<void>;
14
29
  addCatalogSource(id: string, source: IObservableArray<CatalogEntity>): void;
15
30
  removeCatalogSource(id: string): void;
@@ -7,7 +7,7 @@ import "../common/ipc/cluster";
7
7
  import type http from "http";
8
8
  import { Cluster } from "../common/cluster/cluster";
9
9
  import { Singleton } from "../common/utils";
10
- import { KubernetesCluster } from "../common/catalog-entities/kubernetes-cluster";
10
+ import { KubernetesCluster, LensKubernetesClusterStatus } from "../common/catalog-entities/kubernetes-cluster";
11
11
  import type { ClusterId } from "../common/cluster-types";
12
12
  export declare class ClusterManager extends Singleton {
13
13
  private store;
@@ -24,4 +24,22 @@ export declare class ClusterManager extends Singleton {
24
24
  stop(): void;
25
25
  getClusterForRequest(req: http.IncomingMessage): Cluster;
26
26
  }
27
- export declare function catalogEntityFromCluster(cluster: Cluster): KubernetesCluster;
27
+ export declare function catalogEntityFromCluster(cluster: Cluster): KubernetesCluster<{
28
+ uid: string;
29
+ name: string;
30
+ source: string;
31
+ labels: {
32
+ [x: string]: string;
33
+ };
34
+ distro: string;
35
+ kubeVersion: string;
36
+ }, {
37
+ phase: LensKubernetesClusterStatus;
38
+ reason: string;
39
+ message: string;
40
+ active: boolean;
41
+ }, {
42
+ kubeconfigPath: string;
43
+ kubeconfigContext: string;
44
+ icon: {};
45
+ }>;
@@ -24,15 +24,14 @@ export interface HelmRepo {
24
24
  export declare class HelmRepoManager extends Singleton {
25
25
  protected repos: HelmRepo[];
26
26
  protected helmEnv: HelmEnv;
27
- protected initialized: boolean;
28
- static loadAvailableRepos(): Promise<HelmRepo[]>;
29
- private init;
30
- protected static parseHelmEnv(): Promise<HelmEnv>;
27
+ protected didUpdateOnce: boolean;
28
+ loadAvailableRepos(): Promise<HelmRepo[]>;
29
+ private ensureInitialized;
30
+ protected parseHelmEnv(): Promise<HelmEnv>;
31
31
  repo(name: string): Promise<HelmRepo>;
32
- private readConfig;
32
+ private list;
33
33
  repositories(): Promise<HelmRepo[]>;
34
- static update(): Promise<string>;
35
- static addRepo({ name, url }: HelmRepo): Promise<string>;
36
- static addCustomRepo({ name, url, insecureSkipTlsVerify, username, password, caFile, keyFile, certFile }: HelmRepo): Promise<string>;
37
- static removeRepo({ name, url }: HelmRepo): Promise<string>;
34
+ update(): Promise<string>;
35
+ addRepo({ name, url, insecureSkipTlsVerify, username, password, caFile, keyFile, certFile }: HelmRepo): Promise<string>;
36
+ removeRepo({ name, url }: HelmRepo): Promise<string>;
38
37
  }
@@ -2,9 +2,15 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
+ import type WebSocket from "ws";
6
+ import type { Cluster } from "../../../common/cluster/cluster";
7
+ import type { ClusterId } from "../../../common/cluster-types";
5
8
  import { ShellSession } from "../shell-session";
9
+ import type { Kubectl } from "../../kubectl/kubectl";
6
10
  export declare class LocalShellSession extends ShellSession {
11
+ protected shellEnvModify: (clusterId: ClusterId, env: Record<string, string>) => Record<string, string>;
7
12
  ShellType: string;
13
+ constructor(shellEnvModify: (clusterId: ClusterId, env: Record<string, string>) => Record<string, string>, kubectl: Kubectl, websocket: WebSocket, cluster: Cluster, terminalId: string);
8
14
  protected getPathEntries(): string[];
9
15
  protected get cwd(): string | undefined;
10
16
  open(): Promise<void>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import type { CatalogEntity } from "../../../common/catalog";
6
+ export interface ShellEnvContext {
7
+ catalogEntity: CatalogEntity;
8
+ }
9
+ export declare type ShellEnvModifier = (ctx: ShellEnvContext, env: Record<string, string | undefined>) => Record<string, string | undefined>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import { IComputedValue } from "mobx";
6
+ import type { ClusterId } from "../../../common/cluster-types";
7
+ import type { LensMainExtension } from "../../../extensions/lens-main-extension";
8
+ interface Dependencies {
9
+ extensions: IComputedValue<LensMainExtension[]>;
10
+ }
11
+ export declare const terminalShellEnvModify: ({ extensions }: Dependencies) => (clusterId: ClusterId, env: Record<string, string>) => Record<string, string>;
12
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ /// <reference types="@ogre-tools/injectable" />
6
+ declare const terminalShellEnvModifyInjectable: import("@ogre-tools/injectable").Injectable<import("@ogre-tools/injectable").InjectionToken<(clusterId: string, env: Record<string, string>) => Record<string, string>, unknown>, (clusterId: string, env: Record<string, string>) => Record<string, string>, unknown>;
7
+ export default terminalShellEnvModifyInjectable;
@@ -52,7 +52,7 @@ export interface WebSocketEvents {
52
52
  declare type Defaulted<Params, DefaultParams extends keyof Params> = Required<Pick<Params, DefaultParams>> & Omit<Params, DefaultParams>;
53
53
  declare const WebSocketApi_base: new <T>() => TypedEventEmitter<T>;
54
54
  export declare class WebSocketApi<Events extends WebSocketEvents> extends WebSocketApi_base<Events> {
55
- protected socket: WebSocket;
55
+ protected socket?: WebSocket | null;
56
56
  protected pendingCommands: (string | ArrayBufferLike | Blob | ArrayBufferView)[];
57
57
  protected reconnectTimer?: any;
58
58
  protected pingTimer?: any;
@@ -16,7 +16,6 @@ declare enum FileType {
16
16
  CertFile = "certFile"
17
17
  }
18
18
  export declare class AddHelmRepoDialog extends React.Component<Props> {
19
- private emptyRepo;
20
19
  private static keyExtensions;
21
20
  private static certExtensions;
22
21
  constructor(props: Props);
@@ -6,12 +6,14 @@ import React from "react";
6
6
  import { HelmRepo } from "../../../main/helm/helm-repo-manager";
7
7
  import { SelectOption } from "../select";
8
8
  export declare class HelmCharts extends React.Component {
9
- loading: boolean;
9
+ loadingRepos: boolean;
10
+ loadingAvailableRepos: boolean;
10
11
  repos: HelmRepo[];
11
12
  addedRepos: import("mobx").ObservableMap<string, HelmRepo>;
12
13
  constructor(props: {});
13
14
  get options(): SelectOption<HelmRepo>[];
14
- componentDidMount(): Promise<void>;
15
+ componentDidMount(): void;
16
+ loadAvailableRepos(): Promise<void>;
15
17
  loadRepos(): Promise<void>;
16
18
  addRepo(repo: HelmRepo): Promise<void>;
17
19
  removeRepo(repo: HelmRepo): Promise<void>;
@@ -25,8 +25,7 @@ export declare type HeaderCustomizer = (placeholders: HeaderPlaceholders) => Hea
25
25
  export interface ItemListLayoutProps<I extends ItemObject> {
26
26
  tableId?: string;
27
27
  className: IClassName;
28
- items?: I[];
29
- getItems?: () => I[];
28
+ getItems: () => I[];
30
29
  store: ItemStore<I>;
31
30
  dependentStores?: ItemStore<ItemObject>[];
32
31
  preloadStores?: boolean;
@@ -6,9 +6,13 @@ import "./kube-object-list-layout.scss";
6
6
  import type { KubeObject } from "../../../common/k8s-api/kube-object";
7
7
  import { ItemListLayoutProps } from "../item-object-list/list-layout";
8
8
  import type { KubeObjectStore } from "../../../common/k8s-api/kube-object.store";
9
- export interface KubeObjectListLayoutProps<K extends KubeObject> extends ItemListLayoutProps<K> {
9
+ declare type ItemListLayoutPropsWithoutGetItems<K extends KubeObject> = Omit<ItemListLayoutProps<K>, "getItems">;
10
+ export interface KubeObjectListLayoutProps<K extends KubeObject> extends ItemListLayoutPropsWithoutGetItems<K> {
11
+ items?: K[];
12
+ getItems?: () => K[];
10
13
  store: KubeObjectStore<K>;
11
14
  dependentStores?: KubeObjectStore<KubeObject>[];
12
15
  subscribeStores?: boolean;
13
16
  }
14
17
  export declare function KubeObjectListLayout<K extends KubeObject>(props: KubeObjectListLayoutProps<K>): JSX.Element;
18
+ export {};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@k8slens/extensions",
3
3
  "productName": "OpenLens extensions",
4
4
  "description": "OpenLens - Open Source Kubernetes IDE: extensions",
5
- "version": "5.4.0-git.e950d3a77e.0",
5
+ "version": "5.4.0-git.ed91ef2d03.0",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",